:root{--nav-height:72px;--color-primary:243 75% 59%;--color-pine:239 84% 20%;--neutral-900:240 5.9% 10%;--neutral-800:240 3.7% 15.9%;--neutral-700:240 5.3% 26.1%;--neutral-600:240 5.2% 33.9%;--neutral-500:240 3.8% 46.1%;--neutral-400:240 5% 64.9%;--neutral-300:240 4.9% 83.9%;--neutral-200:240 5.9% 90%;--neutral-100:240 4.8% 95.9%;--background:240 33% 99%;--foreground:249 100% 13%;--card:0 0% 100%;--card-foreground:249 100% 13%;--popover:0 0% 100%;--popover-foreground:249 100% 13%;--primary:243 75% 59%;--primary-foreground:0 0% 100%;--secondary:226 100% 97%;--secondary-foreground:240 5.9% 10%;--muted:226 100% 97%;--muted-foreground:240 3.8% 46.1%;--accent:226 100% 97%;--accent-foreground:240 5.9% 10%;--destructive:0 84.2% 60.2%;--destructive-foreground:0 0% 98%;--border:245 28% 92%;--input:245 28% 92%;--ring:243 75% 59%;--success:142 71% 45%;--success-foreground:0 0% 100%;--warning:45 93% 47%;--warning-foreground:0 0% 100%;--radius:.75rem;--radius-sm:10px;--radius-md:14px;--radius-lg:16px;--radius-xl:20px;--surface:240 33% 99%;--surface-foreground:240 10% 3.9%;--surface-raised:243 100% 97%;--surface-raised-foreground:240 10% 3.9%;--text-primary:249 100% 13%;--text-secondary:215 16% 47%;--text-muted:215 16% 62%;--protein:160 84% 39%;--carbs:217 91% 60%;--fat:38 92% 50%;--chart-1:243 75% 59%;--chart-2:160 84% 39%;--chart-3:217 91% 60%;--chart-4:38 92% 50%;--chart-5:280 68% 60%;--shadow-soft-sm:0 1px 3px #5048e50a;--shadow-soft-md:0 4px 12px #5048e50f;--shadow-soft-lg:0 8px 30px #5048e51a;--shadow-card:0 2px 16px #5048e50f;--shadow-button:0 4px 14px #5048e559;--shadow-glow:0 0 24px #5048e533;--gradient-from:243 75% 59%;--gradient-to:239 84% 67%}.dark{--background:243 15% 10%;--foreground:0 0% 96%;--card:243 12% 14%;--card-foreground:0 0% 96%;--popover:243 12% 14%;--popover-foreground:0 0% 96%;--primary:239 84% 67%;--primary-foreground:0 0% 100%;--secondary:243 15% 18%;--secondary-foreground:0 0% 96%;--muted:243 15% 18%;--muted-foreground:240 5% 64.9%;--accent:243 15% 18%;--accent-foreground:0 0% 96%;--destructive:0 62.8% 30.6%;--destructive-foreground:0 0% 98%;--border:243 12% 26%;--input:243 12% 26%;--ring:239 84% 67%;--success:160 84% 39%;--success-foreground:0 0% 100%;--warning:45 93% 55%;--warning-foreground:0 0% 0%;--surface:243 12% 12%;--surface-foreground:0 0% 96%;--surface-raised:243 12% 16%;--surface-raised-foreground:0 0% 96%;--text-primary:0 0% 96%;--text-secondary:215 16% 62%;--text-muted:215 16% 47%;--protein:160 84% 50%;--carbs:217 91% 65%;--fat:38 92% 55%;--chart-1:239 84% 67%;--chart-2:160 84% 50%;--chart-3:217 91% 65%;--chart-4:38 92% 55%;--chart-5:280 68% 65%;--shadow-soft-sm:0 1px 3px #0000004d;--shadow-soft-md:0 4px 12px #0006;--shadow-soft-lg:0 8px 30px #00000080;--shadow-card:0 2px 16px #0000004d;--shadow-button:0 4px 14px #6467f24d;--shadow-glow:0 0 24px #6467f233;--gradient-from:239 84% 67%;--gradient-to:243 75% 59%}.touch-target{min-height:44px}.h1{font-size:clamp(28px,3vw,32px);font-weight:800}.h2{font-size:clamp(22px,2.5vw,24px);font-weight:700}
.bg-home{background:radial-gradient(ellipse 90% 30% at 50% 55%,#4f46e50d 0%,transparent 70%),linear-gradient(180deg,hsl(var(--background))0%,hsl(var(--background))35%,#6366f108 60%,hsl(var(--background))90%)}.dark .bg-home{background:radial-gradient(ellipse 90% 30% at 50% 55%,#6366f114 0%,transparent 70%),linear-gradient(180deg,hsl(var(--background))0%,hsl(var(--background))25%,#6366f10f 55%,hsl(var(--background))80%)}.bg-home:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(90% 30%,#6366f10a 0%,#0000 70%);position:fixed;inset:0}.dark .bg-home:before{background:radial-gradient(90% 30%,#6366f11a 0%,#0000 70%)}.grain-overlay{pointer-events:none;z-index:0;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-size:200px 200px;position:fixed;inset:0}.dark .grain-overlay{opacity:.04}.bg-nutrition{background:radial-gradient(ellipse 80% 25% at 50% 20%,#10b9810a 0%,transparent 60%),radial-gradient(ellipse 90% 30% at 50% 55%,#4f46e50a 0%,transparent 70%),linear-gradient(180deg,hsl(var(--background))0%,hsl(var(--background))25%,#10b98105 45%,#6366f108 65%,hsl(var(--background))90%)}.dark .bg-nutrition{background:radial-gradient(ellipse 80% 25% at 50% 20%,#10b9810f 0%,transparent 60%),radial-gradient(ellipse 90% 30% at 50% 55%,#4f46e50f 0%,transparent 70%),linear-gradient(180deg,hsl(var(--background))0%,hsl(var(--background))25%,#10b9810a 45%,#6366f10d 65%,hsl(var(--background))90%)}.bg-nutrition-arc{pointer-events:none;opacity:.5;background:radial-gradient(100% 60% at 50% -20%,#4f46e51f 0%,#0000 70%);height:16rem;position:absolute;top:0;left:0;right:0}.dark .bg-nutrition-arc{opacity:.6;background:radial-gradient(100% 60% at 50% -20%,#4f46e51a 0%,#0000 70%)}.bg-workout-active{background:linear-gradient(180deg,#4f46e50a 0%,hsl(var(--background))15%,hsl(var(--background))85%,#4f46e505 100%)}.dark .bg-workout-active{background:linear-gradient(180deg,#4f46e514 0%,hsl(var(--background))15%,hsl(var(--background))85%,#4f46e50a 100%)}.bg-workout-vignette{pointer-events:none;z-index:0;background:radial-gradient(#0000 50%,#0000000f 100%);position:fixed;inset:0}.dark .bg-workout-vignette{background:radial-gradient(#0000 40%,#0003 100%)}.bg-evolution{background:linear-gradient(180deg,#6366f11a 0%,#6366f108 45%,hsl(var(--background))70%)}.dark .bg-evolution{background:linear-gradient(180deg,#6366f124 0%,#6366f10d 45%,hsl(var(--background))70%)}.bg-evolution-arc{pointer-events:none;opacity:.7;background:radial-gradient(100% 60% at 50% -20%,#6366f129 0%,#0000 70%);height:16rem;position:absolute;top:0;left:0;right:0}.dark .bg-evolution-arc{opacity:.8;background:radial-gradient(100% 60% at 50% -20%,#6366f133 0%,#0000 70%)}@keyframes shimmer-sweep{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-shimmer{background:linear-gradient(90deg,#0000 0%,#6366f11a 40%,#818cf829 50%,#6366f11a 60%,#0000 100%) 0 0/200% 100%;animation:2s linear infinite shimmer-sweep;position:absolute;inset:0}
