275 lines
14 KiB
HTML
275 lines
14 KiB
HTML
<!DOCTYPE html>
|
|
|
|
<html lang="en"><head>
|
|
<meta charset="utf-8"/>
|
|
<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" name="viewport"/>
|
|
<title>GreenLens - Progress</title>
|
|
<!-- Material Symbols -->
|
|
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:wght,FILL@100..700,0..1&display=swap" rel="stylesheet"/>
|
|
<!-- Google Fonts -->
|
|
<link href="https://fonts.googleapis.com" rel="preconnect"/>
|
|
<link crossorigin="" href="https://fonts.gstatic.com" rel="preconnect"/>
|
|
<link href="https://fonts.googleapis.com/css2?family=Epilogue:wght@500;600;700&family=JetBrains+Mono:wght@500&family=Manrope:wght@400&display=swap" rel="stylesheet"/>
|
|
<!-- Tailwind CSS -->
|
|
<script src="https://cdn.tailwindcss.com?plugins=forms,container-queries"></script>
|
|
<script id="tailwind-config">
|
|
tailwind.config = {
|
|
darkMode: "class",
|
|
theme: {
|
|
extend: {
|
|
"colors": {
|
|
"on-primary-fixed-variant": "#2e4f00",
|
|
"inverse-primary": "#41690c",
|
|
"surface": "#0c160d",
|
|
"on-tertiary-fixed": "#171d15",
|
|
"primary-container": "#a6d66f",
|
|
"on-error-container": "#ffdad6",
|
|
"surface-dim": "#0c160d",
|
|
"surface-container-lowest": "#071008",
|
|
"secondary-fixed-dim": "#b7ccb5",
|
|
"secondary": "#b7ccb5",
|
|
"secondary-container": "#394b39",
|
|
"on-surface": "#dae6d6",
|
|
"primary-fixed": "#c0f287",
|
|
"primary": "#c1f388",
|
|
"on-primary": "#1e3700",
|
|
"surface-bright": "#313c31",
|
|
"tertiary-fixed": "#dee5d6",
|
|
"error-container": "#93000a",
|
|
"background": "#0c160d",
|
|
"on-tertiary-fixed-variant": "#42493e",
|
|
"on-tertiary": "#2c3229",
|
|
"on-surface-variant": "#c3c9b6",
|
|
"inverse-surface": "#dae6d6",
|
|
"on-secondary": "#233424",
|
|
"on-primary-container": "#365d00",
|
|
"inverse-on-surface": "#283328",
|
|
"surface-variant": "#2d372d",
|
|
"surface-container-low": "#141e14",
|
|
"surface-container-highest": "#2d372d",
|
|
"surface-container-high": "#222d22",
|
|
"tertiary-fixed-dim": "#c2c9bb",
|
|
"tertiary-container": "#c3cabc",
|
|
"outline": "#8d9382",
|
|
"on-background": "#dae6d6",
|
|
"on-secondary-fixed": "#0f1f10",
|
|
"on-error": "#690005",
|
|
"secondary-fixed": "#d3e8d0",
|
|
"outline-variant": "#43493a",
|
|
"error": "#ffb4ab",
|
|
"on-secondary-fixed-variant": "#394b39",
|
|
"on-tertiary-container": "#4e554a",
|
|
"surface-tint": "#a5d56e",
|
|
"tertiary": "#dfe6d8",
|
|
"surface-container": "#182218",
|
|
"on-secondary-container": "#a6bba4",
|
|
"primary-fixed-dim": "#a5d56e",
|
|
"on-primary-fixed": "#0f2000"
|
|
},
|
|
"borderRadius": {
|
|
"DEFAULT": "0.25rem",
|
|
"lg": "0.5rem",
|
|
"xl": "0.75rem",
|
|
"full": "9999px"
|
|
},
|
|
"spacing": {
|
|
"unit": "8px",
|
|
"gutter": "24px",
|
|
"margin-mobile": "16px",
|
|
"margin-desktop": "64px",
|
|
"container-max": "1280px",
|
|
"xs": "8px",
|
|
"xl": "32px",
|
|
"base": "4px",
|
|
"sm": "12px",
|
|
"md": "16px",
|
|
"lg": "24px",
|
|
"container-margin": "20px"
|
|
},
|
|
"fontFamily": {
|
|
"display": [
|
|
"Epilogue"
|
|
],
|
|
"headline-md": [
|
|
"Epilogue"
|
|
],
|
|
"body-lg": [
|
|
"Manrope"
|
|
],
|
|
"headline-lg": [
|
|
"Epilogue"
|
|
],
|
|
"label-sm": [
|
|
"JetBrains Mono"
|
|
],
|
|
"headline-lg-mobile": [
|
|
"Epilogue"
|
|
],
|
|
"body-md": [
|
|
"Manrope"
|
|
]
|
|
},
|
|
"fontSize": {
|
|
"display": [
|
|
"64px",
|
|
{
|
|
"lineHeight": "1.1",
|
|
"letterSpacing": "-0.02em",
|
|
"fontWeight": "700"
|
|
}
|
|
],
|
|
"headline-md": [
|
|
"28px",
|
|
{
|
|
"lineHeight": "1.3",
|
|
"fontWeight": "500"
|
|
}
|
|
],
|
|
"body-lg": [
|
|
"18px",
|
|
{
|
|
"lineHeight": "1.6",
|
|
"fontWeight": "400"
|
|
}
|
|
],
|
|
"headline-lg": [
|
|
"40px",
|
|
{
|
|
"lineHeight": "1.2",
|
|
"letterSpacing": "-0.01em",
|
|
"fontWeight": "600"
|
|
}
|
|
],
|
|
"label-sm": [
|
|
"12px",
|
|
{
|
|
"lineHeight": "1.0",
|
|
"letterSpacing": "0.05em",
|
|
"fontWeight": "500"
|
|
}
|
|
],
|
|
"headline-lg-mobile": [
|
|
"32px",
|
|
{
|
|
"lineHeight": "1.2",
|
|
"fontWeight": "600"
|
|
}
|
|
],
|
|
"body-md": [
|
|
"16px",
|
|
{
|
|
"lineHeight": "1.6",
|
|
"fontWeight": "400"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
},
|
|
}
|
|
</script>
|
|
<style>
|
|
/* Custom animations to enhance the "Gentle Precision" feel */
|
|
@keyframes subtle-pulse {
|
|
0%, 100% { transform: scale(1); opacity: 1; }
|
|
50% { transform: scale(1.02); opacity: 0.95; }
|
|
}
|
|
.animate-subtle-pulse {
|
|
animation: subtle-pulse 3s ease-in-out infinite;
|
|
}
|
|
|
|
@keyframes float-up {
|
|
from { transform: translateY(20px); opacity: 0; }
|
|
to { transform: translateY(0); opacity: 1; }
|
|
}
|
|
.animate-float-up {
|
|
animation: float-up 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
|
|
}
|
|
</style>
|
|
<style>
|
|
body {
|
|
min-height: max(884px, 100dvh);
|
|
}
|
|
</style>
|
|
</head>
|
|
<body class="bg-surface text-on-surface antialiased min-h-screen flex flex-col font-sans overflow-x-hidden selection:bg-primary selection:text-on-primary">
|
|
<!-- Main Canvas Content -->
|
|
<main class="flex-1 flex flex-col px-gutter pt-16 pb-12 w-full max-w-md mx-auto relative h-screen max-h-[900px]">
|
|
<!-- Top Section: Progress Display -->
|
|
<section class="flex flex-col items-center mt-4 mb-12 animate-float-up" style="animation-delay: 0.1s;">
|
|
<div class="animate-subtle-pulse flex flex-col items-center">
|
|
<h1 class="font-display text-display text-primary mb-8">73%</h1>
|
|
<div class="relative w-40 h-40 flex items-center justify-center mb-8">
|
|
<!-- Progress Ring Background -->
|
|
<svg class="absolute inset-0 w-full h-full transform -rotate-90" viewbox="0 0 120 120">
|
|
<circle class="stroke-surface-variant" cx="60" cy="60" fill="none" r="54" stroke-width="6"></circle>
|
|
<!-- Progress Ring Active (73% of 339.29 circumference = 247.6) -->
|
|
<circle class="stroke-primary transition-all duration-[2000ms] ease-out" cx="60" cy="60" fill="none" r="54" stroke-dasharray="339.29" stroke-dashoffset="91.6" stroke-linecap="round" stroke-width="6"></circle>
|
|
</svg>
|
|
<!-- Center Image -->
|
|
<div class="w-28 h-28 rounded-full overflow-hidden shadow-[0px_4px_20px_rgba(16,28,18,0.06)] relative z-10 border-4 border-surface-container-lowest bg-surface-container-low">
|
|
<img class="w-full h-full object-cover" data-alt="A beautifully lit, highly detailed macro photograph of a fresh, healthy Monstera Deliciosa leaf node emerging. The setting is bright, featuring soft, diffused natural daylight synonymous with premium lifestyle indoor plant photography. The background is a clean, minimal cream wall softly out of focus, allowing the lush green textures to command attention." src="https://lh3.googleusercontent.com/aida-public/AB6AXuDD8Ij49YnpXP0wrHVlraHqQPLHbq5nMP0HJHT-VhpkShra9HVYXZZa0OupKWUhBvR9N4-GIVlLrO55A41z_t3WZQBIupmEkYcnZj9OTKrDeZ5ZAwm1ONH4ZZila5Pww-Njw8Hn0oFBgAtnUZQb0VQi70qgX6xtUzNCLyIUX3OQopUcYBAfEMVKyPExSWfr1X2Kj4YWyP57xnqG5_672eJ2OzoAnrZPMDSBCLx0gqvmmBLurrxksL5O0fTM2afAEQOy-fReEwPLZCM"/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- Status Pill -->
|
|
<div class="bg-surface-variant/60 backdrop-blur-md rounded-full px-5 py-2.5 flex items-center gap-3 shadow-sm">
|
|
<span class="material-symbols-outlined text-on-surface-variant text-[18px] animate-spin" style="animation-duration: 3s;">sync</span>
|
|
<span class="font-label-sm text-label-sm text-on-surface-variant">Personalizing your care plan…</span>
|
|
</div>
|
|
</section>
|
|
<!-- Middle Section: Vertical Checklist -->
|
|
<section class="flex-1 w-full max-w-[280px] mx-auto flex flex-col justify-center gap-5 animate-float-up" style="animation-delay: 0.3s;">
|
|
<div class="flex items-center gap-4">
|
|
<span class="material-symbols-outlined text-primary text-[24px]" style="font-variation-settings: 'FILL' 1;">check_circle</span>
|
|
<span class="font-body-md text-body-md text-on-surface">Analyzing your answers</span>
|
|
</div>
|
|
<div class="flex items-center gap-4">
|
|
<span class="material-symbols-outlined text-primary text-[24px]" style="font-variation-settings: 'FILL' 1;">check_circle</span>
|
|
<span class="font-body-md text-body-md text-on-surface">Building your care plan</span>
|
|
</div>
|
|
<div class="flex items-center gap-4">
|
|
<span class="material-symbols-outlined text-primary text-[24px]" style="font-variation-settings: 'FILL' 1;">check_circle</span>
|
|
<span class="font-body-md text-body-md text-on-surface">Preparing your scan credits</span>
|
|
</div>
|
|
<div class="flex items-center gap-4">
|
|
<div class="relative flex items-center justify-center w-6 h-6">
|
|
<span class="material-symbols-outlined text-outline-variant text-[24px] absolute">radio_button_unchecked</span>
|
|
<span class="w-1.5 h-1.5 bg-outline-variant rounded-full animate-pulse"></span>
|
|
</div>
|
|
<span class="font-body-md text-body-md text-on-surface-variant opacity-80">Finalizing your plan</span>
|
|
</div>
|
|
</section>
|
|
<!-- Bottom Section: Social Proof & Badge -->
|
|
<section class="mt-auto flex flex-col items-center animate-float-up w-full" style="animation-delay: 0.5s;">
|
|
<!-- Overlapping Testimonial Cards -->
|
|
<div class="relative w-full h-[140px] mb-6">
|
|
<!-- Background Card (Muted) -->
|
|
<div class="absolute top-0 left-1/2 -translate-x-1/2 w-[90%] bg-surface-container-highest rounded-xl h-24 shadow-[0px_4px_20px_rgba(16,28,18,0.06)] transform -translate-y-3 scale-95 opacity-50 z-0"></div>
|
|
<!-- Foreground Card (Active) -->
|
|
<div class="absolute top-0 left-0 w-full bg-surface-container-lowest rounded-xl shadow-[0px_8px_30px_rgba(16,28,18,0.08)] p-4 flex flex-col gap-2 z-10 border border-surface-variant/50">
|
|
<div class="flex items-center gap-3 mb-1">
|
|
<img class="w-10 h-10 rounded-full object-cover bg-surface-variant" data-alt="A bright, professional headshot of a smiling woman in her early thirties, bathed in warm, soft natural sunlight. The aesthetic is clean, approachable, and highly polished, fitting a premium digital service. She is framed intimately against a gently blurred background of subtle green foliage." src="https://lh3.googleusercontent.com/aida-public/AB6AXuCwP_g6-fpeohdJjnhG1R_yA-RypkiO6-NENOC640_fORV6ygSF9wlJvjXnQwnUzWnNyLN3AnOErHziNl_el3scfiHFQ0MjcJbOruxYdE0bhxkrPIGHNrH4Dl0nS0WxfeiNPSSiZpuSMM4D-0ZnTZRd5hR6-DnM04dT_mc3beAjFEYeedIrFrSKhi5IsZvK8gTu0x6k5UN627ijnpIaO3WBSeJ1waNUMaZ2OD_tj2pbPohgmE92SunvsOw8qVTP8zPPm79KJgIuniY"/>
|
|
<div class="flex flex-col">
|
|
<span class="font-label-sm text-label-sm text-on-surface flex items-center gap-1">Elena R. <span class="text-lg">🇺🇸</span></span>
|
|
<div class="flex text-tertiary-fixed-dim">
|
|
<span class="material-symbols-outlined text-[14px]" style="font-variation-settings: 'FILL' 1;">star</span>
|
|
<span class="material-symbols-outlined text-[14px]" style="font-variation-settings: 'FILL' 1;">star</span>
|
|
<span class="material-symbols-outlined text-[14px]" style="font-variation-settings: 'FILL' 1;">star</span>
|
|
<span class="material-symbols-outlined text-[14px]" style="font-variation-settings: 'FILL' 1;">star</span>
|
|
<span class="material-symbols-outlined text-[14px]" style="font-variation-settings: 'FILL' 1;">star</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<p class="font-body-md text-body-md text-on-surface-variant leading-relaxed line-clamp-2 italic">
|
|
"GreenLens completely saved my Fiddle Leaf Fig. The daily routines feel incredibly precise and easy."
|
|
</p>
|
|
</div>
|
|
</div>
|
|
<!-- Store Badge -->
|
|
<div class="flex items-center justify-center gap-2 text-primary bg-surface-container-low px-4 py-2 rounded-full border border-primary/20">
|
|
<span class="material-symbols-outlined text-[20px]" style="font-variation-settings: 'FILL' 1;">workspace_premium</span>
|
|
<span class="font-label-sm text-label-sm uppercase tracking-widest">4.8 App Store Rating</span>
|
|
</div>
|
|
</section>
|
|
</main>
|
|
</body></html> |