:root{--bg-color: rgb(5, 5, 5);--card-bg: rgba(10, 10, 15, .4);--text-primary: rgb(255, 255, 255);--text-secondary: rgb(203, 213, 225);--accent: rgb(109, 40, 217);--accent-glow: rgb(139, 92, 246);--success: rgb(16, 185, 129);--error: rgb(239, 68, 68);--warning: rgb(245, 158, 11);--font-main: "Outfit", sans-serif;--color-gold: #ffd700;--color-silver: #e2e8f0;--color-bronze: #cd9b6a;--color-amber: #fbbf24;--color-orange: #f97316;--color-pink: #ec4899;--color-blue: #3b82f6;--color-indigo: #6366f1;--color-indigo-light: #818cf8;--color-cyan: #06b6d4;--color-violet: #a78bfa;--color-emerald: #34d399;--text-xs: .7rem;--text-sm: .8rem;--text-md: .9rem;--touch-min: 40px;--exercise-btn-min-height: clamp(62px, 9.2vh, 80px);--bottom-btn-size: clamp(96px, 16vh, 145px);--category-title-size: clamp(.95rem, 2.2vh, 1.15rem);--ease-panel-in: cubic-bezier(.16, 1, .3, 1);--motion-fast: 90ms;--motion-panel: .12s;--gradient-primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--gradient-accent: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);--gradient-success: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);--gradient-glow: linear-gradient(135deg, #6d28d9 0%, #8b5cf6 50%, #0ea5e9 100%);--gradient-rainbow: linear-gradient(135deg, #667eea 0%, #764ba2 25%, #f093fb 50%, #f5576c 75%, #4facfe 100%);--gradient-gold: linear-gradient(135deg, #ffd700, #fdb931, #ffd700);--gradient-gold-trans: linear-gradient(135deg, rgba(255, 215, 0, .25), rgba(251, 191, 36, .15));--glow-primary: 0 4px 20px rgba(102, 126, 234, .4);--glow-success: 0 4px 20px rgba(16, 185, 129, .4);--glow-accent: 0 6px 24px rgba(245, 87, 108, .45);--glow-gold: 0 4px 15px rgba(255, 215, 0, .3);--glow-error: 0 4px 16px rgba(239, 68, 68, .3);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .2);--shadow-md: 0 4px 12px rgba(0, 0, 0, .3);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .4);--shadow-xl: 0 16px 40px rgba(0, 0, 0, .5);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--page-padding: var(--space-4);--radius-xs: 4px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--text-tertiary: rgba(255, 255, 255, .65);--text-disabled: rgba(255, 255, 255, .4);--tracking-tight: -.02em;--tracking-wide: .02em;--line-height-tight: 1.25;--line-height-relaxed: 1.6;--z-behind: -1;--z-base: 0;--z-elevated: 10;--z-dropdown: 50;--z-sticky: 100;--z-modal-overlay: 999;--z-modal-content: 1000;--z-toast: 9999;--overlay-bg: rgb(5, 5, 5);--overlay-bg-heavy: rgba(0, 0, 0, .88);--overlay-backdrop: rgba(0, 0, 0, .7);--surface-elevated: linear-gradient(135deg, rgba(15, 15, 20, .6), rgba(25, 25, 35, .6));--surface-section: linear-gradient(135deg, rgba(15, 15, 20, .8), rgba(25, 25, 35, .8));--surface-subtle: rgba(255, 255, 255, .03);--surface-muted: rgba(255, 255, 255, .05);--surface-dim: rgba(255, 255, 255, .08);--surface-hover: rgba(255, 255, 255, .1);--border-default: rgba(255, 255, 255, .1);--border-strong: rgba(255, 255, 255, .15);--text-on-surface: #ffffff;--select-option-bg: #1a1a2e;--sheet-bg: rgba(10, 10, 15, .97);--sheet-handle: rgba(255, 255, 255, .15);--progress-track: rgba(255, 255, 255, .15);--progress-track-thin: rgba(255, 255, 255, .1);--shimmer-color: rgba(255, 255, 255, .1);--ripple-color: rgba(255, 255, 255, .3);--divider: rgba(255, 255, 255, .04);--body-bg: linear-gradient(180deg, #050505 0%, #0a0a0f 100%);--body-glow-1: rgba(109, 40, 217, .1);--body-glow-2: rgba(139, 92, 246, .08);--tooltip-bg: rgba(18, 18, 20, .95);color-scheme:dark}[data-theme=ocean]{--body-bg: linear-gradient(180deg, rgb(4, 5, 7) 0%, rgb(2, 3, 4) 100%);--bg-color: rgb(2, 3, 4);--surface-muted: rgba(6, 182, 212, .05);--surface-subtle: rgba(6, 182, 212, .03);--surface-dim: rgba(6, 182, 212, .08);--card-bg: rgba(10, 16, 22, .4);--surface-section: linear-gradient(135deg, rgba(15, 22, 30, .8), rgba(20, 32, 45, .8));--surface-elevated: linear-gradient(135deg, rgba(15, 22, 30, .6), rgba(20, 32, 45, .6));--sheet-bg: rgba(10, 16, 22, .97);--overlay-bg: rgb(5, 8, 12);--border-default: rgba(6, 182, 212, .1);--border-strong: rgba(6, 182, 212, .15);--surface-hover: rgba(6, 182, 212, .1);--accent: rgb(6, 182, 212);--accent-glow: rgb(34, 211, 238);--body-glow-1: rgba(6, 182, 212, .1);--body-glow-2: rgba(14, 116, 144, .05);--gradient-primary: linear-gradient(135deg, rgb(14, 165, 233) 0%, rgb(6, 182, 212) 100%);--gradient-accent: linear-gradient(135deg, rgb(56, 189, 248) 0%, rgb(34, 211, 238) 100%);--gradient-glow: linear-gradient(135deg, rgb(2, 132, 199) 0%, rgb(6, 182, 212) 50%, rgb(34, 211, 238) 100%);--glow-primary: 0 4px 20px rgba(14, 165, 233, .4);--glow-accent: 0 6px 24px rgba(6, 182, 212, .45)}[data-theme=sunset]{--body-bg: linear-gradient(180deg, rgb(8, 5, 4) 0%, rgb(4, 3, 2) 100%);--bg-color: rgb(4, 3, 2);--surface-muted: rgba(249, 115, 22, .05);--surface-subtle: rgba(249, 115, 22, .03);--surface-dim: rgba(249, 115, 22, .08);--card-bg: rgba(22, 14, 10, .4);--surface-section: linear-gradient(135deg, rgba(30, 18, 15, .8), rgba(45, 24, 20, .8));--surface-elevated: linear-gradient(135deg, rgba(30, 18, 15, .6), rgba(45, 24, 20, .6));--sheet-bg: rgba(22, 14, 10, .97);--overlay-bg: rgb(12, 8, 5);--border-default: rgba(249, 115, 22, .1);--border-strong: rgba(249, 115, 22, .15);--surface-hover: rgba(249, 115, 22, .1);--accent: rgb(249, 115, 22);--accent-glow: rgb(251, 146, 60);--body-glow-1: rgba(249, 115, 22, .1);--body-glow-2: rgba(220, 38, 38, .05);--gradient-primary: linear-gradient(135deg, rgb(239, 68, 68) 0%, rgb(249, 115, 22) 100%);--gradient-accent: linear-gradient(135deg, rgb(248, 113, 113) 0%, rgb(251, 146, 60) 100%);--gradient-glow: linear-gradient(135deg, rgb(220, 38, 38) 0%, rgb(249, 115, 22) 50%, rgb(251, 146, 60) 100%);--glow-primary: 0 4px 20px rgba(239, 68, 68, .4);--glow-accent: 0 6px 24px rgba(249, 115, 22, .45)}[data-theme=forest]{--body-bg: linear-gradient(180deg, rgb(4, 6, 5) 0%, rgb(2, 3, 2) 100%);--bg-color: rgb(2, 3, 2);--surface-muted: rgba(34, 197, 94, .05);--surface-subtle: rgba(34, 197, 94, .03);--surface-dim: rgba(34, 197, 94, .08);--card-bg: rgba(10, 18, 12, .4);--surface-section: linear-gradient(135deg, rgba(15, 25, 18, .8), rgba(22, 38, 25, .8));--surface-elevated: linear-gradient(135deg, rgba(15, 25, 18, .6), rgba(22, 38, 25, .6));--sheet-bg: rgba(10, 18, 12, .97);--overlay-bg: rgb(5, 10, 6);--border-default: rgba(34, 197, 94, .1);--border-strong: rgba(34, 197, 94, .15);--surface-hover: rgba(34, 197, 94, .1);--accent: rgb(34, 197, 94);--accent-glow: rgb(74, 222, 128);--body-glow-1: rgba(34, 197, 94, .1);--body-glow-2: rgba(20, 83, 45, .05);--gradient-primary: linear-gradient(135deg, rgb(16, 185, 129) 0%, rgb(34, 197, 94) 100%);--gradient-accent: linear-gradient(135deg, rgb(52, 211, 153) 0%, rgb(74, 222, 128) 100%);--gradient-glow: linear-gradient(135deg, rgb(5, 150, 105) 0%, rgb(34, 197, 94) 50%, rgb(74, 222, 128) 100%);--glow-primary: 0 4px 20px rgba(16, 185, 129, .4);--glow-accent: 0 6px 24px rgba(34, 197, 94, .45)}[data-theme=purple]{--body-bg: linear-gradient(180deg, rgb(6, 4, 8) 0%, rgb(3, 2, 4) 100%);--bg-color: rgb(3, 2, 4);--surface-muted: rgba(168, 85, 247, .05);--surface-subtle: rgba(168, 85, 247, .03);--surface-dim: rgba(168, 85, 247, .08);--card-bg: rgba(16, 10, 22, .4);--surface-section: linear-gradient(135deg, rgba(22, 15, 30, .8), rgba(35, 22, 45, .8));--surface-elevated: linear-gradient(135deg, rgba(22, 15, 30, .6), rgba(35, 22, 45, .6));--sheet-bg: rgba(16, 10, 22, .97);--overlay-bg: rgb(8, 5, 12);--border-default: rgba(168, 85, 247, .1);--border-strong: rgba(168, 85, 247, .15);--surface-hover: rgba(168, 85, 247, .1);--accent: rgb(168, 85, 247);--accent-glow: rgb(192, 132, 252);--body-glow-1: rgba(168, 85, 247, .1);--body-glow-2: rgba(126, 34, 206, .08);--gradient-primary: linear-gradient(135deg, rgb(139, 92, 246) 0%, rgb(168, 85, 247) 100%);--gradient-accent: linear-gradient(135deg, rgb(167, 139, 250) 0%, rgb(192, 132, 252) 100%);--gradient-glow: linear-gradient(135deg, rgb(124, 58, 237) 0%, rgb(168, 85, 247) 50%, rgb(192, 132, 252) 100%);--glow-primary: 0 4px 20px rgba(139, 92, 246, .4);--glow-accent: 0 6px 24px rgba(168, 85, 247, .45)}[data-theme=flamingo]{--body-bg: linear-gradient(180deg, rgb(10, 5, 7) 0%, rgb(5, 3, 3) 100%);--bg-color: rgb(5, 3, 3);--surface-muted: rgba(236, 72, 153, .05);--surface-subtle: rgba(236, 72, 153, .03);--surface-dim: rgba(236, 72, 153, .08);--card-bg: rgba(20, 12, 15, .4);--surface-section: linear-gradient(135deg, rgba(30, 16, 22, .8), rgba(40, 26, 18, .8));--surface-elevated: linear-gradient(135deg, rgba(30, 16, 22, .6), rgba(40, 26, 18, .6));--sheet-bg: rgba(20, 12, 15, .97);--overlay-bg: rgb(12, 6, 8);--border-default: rgba(236, 72, 153, .1);--border-strong: rgba(236, 72, 153, .15);--surface-hover: rgba(236, 72, 153, .1);--accent: rgb(236, 72, 153);--accent-glow: rgb(251, 146, 60);--body-glow-1: rgba(236, 72, 153, .1);--body-glow-2: rgba(251, 146, 60, .06);--gradient-primary: linear-gradient(135deg, rgb(236, 72, 153) 0%, rgb(251, 146, 60) 100%);--gradient-accent: linear-gradient(135deg, rgb(244, 114, 182) 0%, rgb(253, 186, 116) 100%);--gradient-glow: linear-gradient(135deg, rgb(236, 72, 153) 0%, rgb(249, 115, 22) 50%, rgb(251, 146, 60) 100%);--glow-primary: 0 4px 20px rgba(236, 72, 153, .4);--glow-accent: 0 6px 24px rgba(236, 72, 153, .45)}[data-theme=cosmic]{--body-bg: linear-gradient(180deg, rgb(5, 6, 12) 0%, rgb(3, 3, 6) 100%);--bg-color: rgb(3, 3, 6);--surface-muted: rgba(59, 130, 246, .05);--surface-subtle: rgba(59, 130, 246, .03);--surface-dim: rgba(59, 130, 246, .08);--card-bg: rgba(12, 14, 24, .4);--surface-section: linear-gradient(135deg, rgba(16, 20, 34, .8), rgba(30, 18, 40, .8));--surface-elevated: linear-gradient(135deg, rgba(16, 20, 34, .6), rgba(30, 18, 40, .6));--sheet-bg: rgba(12, 14, 24, .97);--overlay-bg: rgb(6, 7, 14);--border-default: rgba(59, 130, 246, .1);--border-strong: rgba(59, 130, 246, .15);--surface-hover: rgba(59, 130, 246, .1);--accent: rgb(59, 130, 246);--accent-glow: rgb(217, 70, 239);--body-glow-1: rgba(59, 130, 246, .1);--body-glow-2: rgba(217, 70, 239, .06);--gradient-primary: linear-gradient(135deg, rgb(59, 130, 246) 0%, rgb(217, 70, 239) 100%);--gradient-accent: linear-gradient(135deg, rgb(96, 165, 250) 0%, rgb(232, 121, 249) 100%);--gradient-glow: linear-gradient(135deg, rgb(59, 130, 246) 0%, rgb(139, 92, 246) 50%, rgb(217, 70, 239) 100%);--glow-primary: 0 4px 20px rgba(59, 130, 246, .4);--glow-accent: 0 6px 24px rgba(217, 70, 239, .45)}[data-theme=lagoon]{--body-bg: linear-gradient(180deg, rgb(4, 8, 8) 0%, rgb(2, 4, 5) 100%);--bg-color: rgb(2, 4, 5);--surface-muted: rgba(20, 184, 166, .05);--surface-subtle: rgba(20, 184, 166, .03);--surface-dim: rgba(20, 184, 166, .08);--card-bg: rgba(10, 18, 20, .4);--surface-section: linear-gradient(135deg, rgba(14, 26, 28, .8), rgba(16, 24, 40, .8));--surface-elevated: linear-gradient(135deg, rgba(14, 26, 28, .6), rgba(20, 32, 45, .6));--sheet-bg: rgba(10, 18, 20, .97);--overlay-bg: rgb(5, 10, 11);--border-default: rgba(20, 184, 166, .1);--border-strong: rgba(20, 184, 166, .15);--surface-hover: rgba(20, 184, 166, .1);--accent: rgb(20, 184, 166);--accent-glow: rgb(59, 130, 246);--body-glow-1: rgba(20, 184, 166, .1);--body-glow-2: rgba(59, 130, 246, .06);--gradient-primary: linear-gradient(135deg, rgb(20, 184, 166) 0%, rgb(59, 130, 246) 100%);--gradient-accent: linear-gradient(135deg, rgb(45, 212, 191) 0%, rgb(96, 165, 250) 100%);--gradient-glow: linear-gradient(135deg, rgb(20, 184, 166) 0%, rgb(14, 165, 233) 50%, rgb(59, 130, 246) 100%);--glow-primary: 0 4px 20px rgba(20, 184, 166, .4);--glow-accent: 0 6px 24px rgba(59, 130, 246, .45)}.no-scrollbar::-webkit-scrollbar{display:none}@media(hover:hover)and (pointer:fine){*{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}*::-webkit-scrollbar{width:6px;height:6px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:10px;border:2px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background-color:#ffffff40}}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;touch-action:manipulation}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;appearance:textfield}html{overscroll-behavior:none;background:var(--bg-color);height:100%;width:100%}body{font-family:var(--font-main);background:var(--body-bg);color:var(--text-primary);line-height:1.5;overflow:hidden;overscroll-behavior:none;height:100%;width:100%;display:flex;flex-direction:column;position:fixed;inset:0;transition:background .5s ease;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 20% 50%,var(--body-glow-1) 0%,transparent 50%),radial-gradient(circle at 80% 80%,var(--body-glow-2) 0%,transparent 50%);pointer-events:none;z-index:0;animation:backgroundPulse 10s ease-in-out infinite}@keyframes backgroundPulse{0%,to{opacity:.5}50%{opacity:1}}#root{width:100%;height:100%;padding:var(--page-padding);display:flex;flex-direction:column;position:relative;z-index:1}button{font-family:inherit;border:none;cursor:pointer;transition:transform var(--motion-fast) ease,background var(--motion-fast) ease,border-color var(--motion-fast) ease,box-shadow var(--motion-fast) ease,color var(--motion-fast) ease,opacity var(--motion-fast) ease}button:active{transform:scale(.97)}.glass{background:var(--surface-muted);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-default);box-shadow:var(--shadow-md)}.glass-premium{background:var(--surface-dim);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-strong);box-shadow:var(--shadow-lg),inset 0 1px 0 var(--border-default)}.rainbow-gradient{background:var(--gradient-rainbow);background-size:200% 200%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:rainbowFlow 6s ease infinite}.gold-text{background:var(--gradient-gold);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;background-size:200% 200%;animation:gradientShift 4s ease infinite}.text-gradient-primary{background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.text-gradient-accent{background:var(--gradient-accent);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.surface-elevated{background:var(--surface-elevated);border:1px solid var(--border-default);box-shadow:var(--shadow-lg);border-radius:var(--radius-lg)}.surface-section{background:var(--surface-section);border:1px solid var(--border-default);border-radius:var(--radius-lg)}.flex-col{display:flex;flex-direction:column}.flex-row{display:flex;flex-direction:row}.flex-center{display:flex;align-items:center;justify-content:center}.flex-align-center{display:flex;align-items:center}.flex-justify-center{display:flex;justify-content:center}.flex-1{flex:1}.flex-wrap{flex-wrap:wrap}.full-height{height:100%}.full-width{width:100%}.pos-relative{position:relative}.gap-responsive{gap:clamp(4px,1vh,10px)}.gap-4{gap:var(--space-1)}.gap-8{gap:var(--space-2)}.gap-12{gap:var(--space-3)}.flex-1-min0{flex:1;min-width:0}.section-label{display:block;font-size:var(--text-sm);font-weight:800;color:var(--text-secondary);margin:0;text-transform:uppercase;letter-spacing:1px}.hint-text{font-size:var(--text-xs);color:var(--text-secondary)}.section-stack{display:flex;flex-direction:column;gap:var(--space-6)}.tab-view-content{display:flex;flex-direction:column;flex:1;overflow:hidden}.custom-flame{margin-top:10px}.dashboard-slide-container{flex:0 0 100%;scroll-snap-align:start;height:100%;display:flex;flex-direction:column;padding-bottom:16px}.dashboard-slide-pod-spacer{height:var(--day-pod-space);flex-shrink:0}.dashboard-main{min-height:0}.app-logo-text{font-weight:800;font-size:clamp(1.1rem,2.5vh,1.5rem);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.exercise-grid{gap:var(--exercise-btn-gap, clamp(4px, 1vh, 8px));width:100%;max-width:640px;padding:2px}.cardio-container{width:100%;height:100%;padding:clamp(8px,1.4vh,18px);gap:clamp(6px,1vh,10px);position:relative;overflow:hidden;box-sizing:border-box}#root:has(.dashboard-wrapper){--page-padding: var(--space-2)}.dashboard-wrapper{--day-pod-space: calc(clamp(.7rem, 1.5vh, .85rem)*1.2 + clamp(2rem, 6.5vh, 4.5rem)*1.1 + 20px) }.day-number-container{min-height:var(--day-num-height, clamp(2.2rem, 7vh, 4.8rem));padding:2px 12px 0;margin-bottom:0;overflow:visible}.onboarding-title{font-size:clamp(2.4rem,7vw,3.5rem);margin-bottom:var(--space-2);font-weight:800;letter-spacing:-1px}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-sizing:border-box;font-weight:700;border-radius:var(--radius-md);border:none;background-origin:border-box;background-clip:border-box;background-repeat:no-repeat;background-size:100% 100%;cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;touch-action:manipulation;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;backface-visibility:hidden;transition:background var(--motion-fast) ease,box-shadow var(--motion-fast) ease,opacity var(--motion-fast) ease,transform var(--motion-fast) ease}.btn:focus-visible{outline:2px solid var(--accent-glow);outline-offset:2px}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.btn--full{width:100%}.btn--sm{padding:6px 14px;font-size:var(--text-sm);min-height:36px;border-radius:var(--radius-sm)}.btn--md{padding:10px 18px;font-size:var(--text-md);min-height:var(--touch-min);border-radius:var(--radius-md)}.btn--lg{padding:14px 24px;font-size:1rem;min-height:50px;border-radius:var(--radius-lg)}.btn--primary{background:var(--gradient-primary);color:var(--text-on-surface, white);box-shadow:0 4px 14px color-mix(in srgb,var(--accent) 28%,transparent),inset 0 0 0 1px #fff3,inset 0 1px #ffffff40}.btn--primary:hover:not(:disabled){opacity:.94;box-shadow:0 6px 18px color-mix(in srgb,var(--accent) 40%,transparent),inset 0 0 0 1px #ffffff59,inset 0 1px #ffffff59}.btn--secondary{background:var(--surface-muted);color:var(--text-primary);box-shadow:inset 0 0 0 1px var(--border-default);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.btn--secondary:hover:not(:disabled){background:var(--surface-hover);box-shadow:inset 0 0 0 1px var(--border-strong);color:var(--text-primary)}.btn--success{background:linear-gradient(135deg,var(--success),color-mix(in srgb,var(--success) 70%,black));color:#fff;box-shadow:0 4px 14px color-mix(in srgb,var(--success) 28%,transparent),inset 0 0 0 1px #fff3,inset 0 1px #ffffff40}.btn--success:hover:not(:disabled){opacity:.94;box-shadow:0 6px 18px color-mix(in srgb,var(--success) 40%,transparent),inset 0 0 0 1px #ffffff59,inset 0 1px #ffffff59}.btn--danger{background:linear-gradient(135deg,var(--error),color-mix(in srgb,var(--error) 70%,black));color:#fff;box-shadow:0 4px 14px color-mix(in srgb,var(--error) 28%,transparent),inset 0 0 0 1px #fff3,inset 0 1px #ffffff40}.btn--danger:hover:not(:disabled){opacity:.94;box-shadow:0 6px 18px color-mix(in srgb,var(--error) 40%,transparent),inset 0 0 0 1px #ffffff59,inset 0 1px #ffffff59}.btn--premium{background:var(--gradient-gold-trans);color:var(--color-gold);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-gold) 40%,transparent);border-radius:var(--radius-full);letter-spacing:.5px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.btn--premium:hover:not(:disabled){box-shadow:var(--glow-gold),inset 0 0 0 1px color-mix(in srgb,var(--color-gold) 65%,transparent);opacity:.94}.btn--ghost{background:transparent;color:var(--text-secondary)}.btn--ghost:hover:not(:disabled){background:var(--surface-subtle);color:var(--text-primary)}.btn--danger-ghost{background:transparent;color:var(--error);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--error) 25%,transparent)}.btn--danger-ghost:hover:not(:disabled){background:color-mix(in srgb,var(--error) 12%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--error) 45%,transparent);color:var(--error)}.btn--surface{background:var(--surface-muted);color:var(--text-primary);box-shadow:0 2px 4px #0003,inset 0 0 0 1px var(--border-default)}.btn--surface:hover:not(:disabled){background:var(--surface-hover);box-shadow:0 4px 8px #00000040,inset 0 0 0 1px var(--border-strong);color:var(--text-primary)}.btn--glass{background:var(--surface-hover);color:var(--text-primary);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:inset 0 0 0 1px #ffffff1a}.btn--glass:hover:not(:disabled){background:var(--surface-dim);box-shadow:inset 0 0 0 1px #fff3;color:var(--text-primary)}.btn--icon-only{padding:0;border-radius:var(--radius-full);aspect-ratio:1 / 1;justify-content:center;flex-shrink:0}.btn--icon-only.btn--sm{width:34px;height:34px;min-height:34px}.btn--icon-only.btn--md{width:var(--touch-min);height:var(--touch-min);min-height:var(--touch-min)}.btn--icon-only.btn--lg{width:48px;height:48px;min-height:48px}.btn--link{background:none;border:none;color:var(--text-secondary);text-decoration:underline;text-underline-offset:2px;padding:4px 8px;font-weight:inherit;font-size:inherit;font-family:inherit;min-height:auto;white-space:normal;display:inline;gap:0}.btn--link:hover:not(:disabled){color:var(--text-primary)}.btn--link:active:not(:disabled){transform:none}.input-group{display:flex;flex-direction:column;gap:var(--space-2);position:relative}.input-label{font-size:var(--text-sm);font-weight:700;color:var(--text-secondary);letter-spacing:var(--tracking-wide);text-transform:uppercase}.input-wrapper{position:relative;display:flex;align-items:center;background:var(--surface-muted);border:1px solid var(--border-default);border-radius:var(--radius-md);transition:border-color var(--motion-fast) ease,box-shadow var(--motion-fast) ease,background var(--motion-fast) ease}.input-wrapper:focus-within{background:var(--surface-dim);border-color:var(--accent-glow);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent-glow) 20%,transparent)}.input-wrapper--error{border-color:var(--error);box-shadow:0 0 0 1px color-mix(in srgb,var(--error) 20%,transparent)}.input-wrapper--error:focus-within{border-color:var(--error);box-shadow:0 0 0 2px color-mix(in srgb,var(--error) 40%,transparent)}.input-wrapper--disabled{opacity:.5;cursor:not-allowed}.input-field{width:100%;border:none;background:transparent;color:var(--text-primary);font-family:inherit;font-size:var(--text-md);outline:none}.input-field::placeholder{color:var(--text-disabled)}.input-field:disabled{cursor:not-allowed}.input-wrapper--sm .input-field{padding:6px 12px;min-height:36px;font-size:var(--text-sm)}.input-wrapper--md .input-field{padding:10px 14px;min-height:var(--touch-min)}.input-wrapper--lg .input-field{padding:14px 18px;min-height:50px;font-size:1rem}.input-icon--left{margin-left:12px}.input-icon--right{margin-right:12px}.input-icon--left~.input-field{padding-left:8px}.input-field:has(~.input-icon--right){padding-right:8px}.input-field--select{appearance:none;cursor:pointer}.input-field--select:disabled{cursor:not-allowed}.input-error{font-size:var(--text-xs);color:var(--error);font-weight:600}.input-helper{font-size:var(--text-xs);color:var(--text-secondary)}@keyframes rainbowFlow{0%,to{filter:hue-rotate(0deg)}50%{filter:hue-rotate(45deg)}}@keyframes numberRoll{0%{transform:translateY(8px) scale(.96);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes heroLabelSlide{0%{transform:translateY(-6px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes headerUnfold{0%{opacity:.6;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes headerAuraPulse{0%{box-shadow:0 0 #a855f733;border-color:#a855f740}50%{box-shadow:0 0 20px 4px #a855f733;border-color:#a855f759}to{box-shadow:0 0 #a855f700}}@keyframes headerGlowEntrance{0%{box-shadow:none}50%{box-shadow:0 1px 8px var(--glow-c1, rgba(168, 85, 247, .2)),0 0 15px var(--glow-c2, rgba(236, 72, 153, .15))}to{box-shadow:0 1px 4px var(--glow-c1, rgba(168, 85, 247, .1)),0 0 8px var(--glow-c2, rgba(236, 72, 153, .08))}}@keyframes dayPodGlowEntrance{0%{box-shadow:none}50%{box-shadow:0 0 10px var(--glow-c1, rgba(168, 85, 247, .2)),0 0 20px var(--glow-c2, rgba(236, 72, 153, .1))}to{box-shadow:0 0 5px var(--glow-c1, rgba(168, 85, 247, .1)),0 0 10px var(--glow-c2, rgba(236, 72, 153, .05))}}@keyframes heroSectionExpand{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes sparkle{0%,to{opacity:0;transform:scale(0) rotate(0)}50%{opacity:.8;transform:scale(1) rotate(180deg)}}@keyframes goldShimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.perfect-day-row{position:relative;overflow:hidden}.perfect-day-row:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,215,0,.03),rgba(255,215,0,.05),rgba(255,215,0,.03),transparent);background-size:200% 100%;animation:goldShimmer 10s infinite linear;pointer-events:none;z-index:0}.sparkle-icon{position:absolute;color:var(--color-gold);animation:sparkle 5s infinite ease-in-out;pointer-events:none;z-index:1}@keyframes counterSlideUp{0%{transform:translateY(150%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes counterSlideDown{0%{transform:translateY(0);opacity:1}to{transform:translateY(-150%);opacity:0}}.fade-in{animation:fadeIn var(--motion-panel) var(--ease-panel-in)}@keyframes fadeIn{0%{opacity:0;transform:translate3d(0,8px,0) scale(.99)}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes tooltipPop{0%{opacity:0;transform:translate(-50%) translateY(-4px) scale(.96)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}@keyframes overlayFadeOut{0%{opacity:1}to{opacity:0}}@keyframes dialogPop{0%{opacity:0;transform:scale(.85) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes panelEnter{0%{opacity:0;transform:translate3d(0,14px,0) scale(.985)}70%{opacity:1}to{opacity:1;transform:translateZ(0) scale(1)}}.slide-up{animation:slideUp .4s cubic-bezier(.4,0,.2,1)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.scale-in{animation:scaleIn .3s cubic-bezier(.34,1.56,.64,1)}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.shimmer{position:relative;overflow:hidden}.shimmer:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,var(--shimmer-color),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.bounce-on-hover{transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.bounce-on-hover:hover{transform:translateY(-4px)}.micro-scale-hover{transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s cubic-bezier(.16,1,.3,1),filter .2s ease}@media(hover:hover){.micro-scale-hover:hover{transform:scale(1.02);filter:brightness(1.1)}}.micro-scale-hover:active{transform:scale(.97)}.flip-enter{animation:flipIn .6s cubic-bezier(.4,0,.2,1)}@keyframes flipIn{0%{opacity:0;transform:rotateY(-90deg)}to{opacity:1;transform:rotateY(0)}}.ripple{position:relative;overflow:hidden}.ripple:after{content:"";position:absolute;top:50%;left:50%;width:300px;height:300px;border-radius:50%;background:var(--ripple-color);transform:translate(-50%,-50%) scale(0);transition:transform .6s cubic-bezier(.4,0,.2,1);will-change:transform}.ripple:active:after{transform:translate(-50%,-50%) scale(1)}.counter-button{border-radius:60% 40% 55% 45%/50% 52% 48% 50%;animation:counterBlobMorph 15s ease-in-out infinite;transition:box-shadow .35s ease,transform .25s cubic-bezier(.34,1.56,.64,1)}@keyframes counterBlobMorph{0%,to{border-radius:60% 40% 55% 45%/50% 52% 48% 50%}14%{border-radius:48% 52% 64% 36%/55% 44% 56% 45%}28%{border-radius:42% 58% 46% 54%/60% 40% 58% 42%}42%{border-radius:54% 46% 52% 48%/45% 58% 42% 55%}57%{border-radius:46% 54% 38% 62%/52% 48% 55% 45%}71%{border-radius:58% 42% 52% 48%/40% 60% 42% 58%}85%{border-radius:50% 50% 62% 38%/56% 44% 55% 45%}}.counter-button:active{transform:scale(.94)!important}@keyframes blobHaloPulse{0%,to{transform:scale(1);opacity:.7}50%{transform:scale(1.08);opacity:.95}}.counter-ring{position:absolute;inset:0;z-index:2;pointer-events:none;border-radius:inherit;padding:4px;background:conic-gradient(from 0deg,var(--ring-c1, var(--accent)) 0deg,var(--ring-c2, var(--accent-glow)) var(--ring-progress, 0%),var(--ring-track, rgba(255, 255, 255, .12)) var(--ring-progress, 0%) 360deg);filter:drop-shadow(0 0 6px rgba(0,0,0,.3));-webkit-mask:linear-gradient(white 0 0) content-box,linear-gradient(white 0 0);-webkit-mask-composite:xor;mask:linear-gradient(white 0 0) content-box,linear-gradient(white 0 0);mask-composite:exclude}[data-perf=low] .counter-button{animation:none!important}.progress-ring{transform:rotate(-90deg)}.hover-lift{transition:transform .3s ease,box-shadow .3s ease}@media(hover:hover){.hover-lift:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}}@keyframes gradientShift{0%,to{opacity:.9}50%{opacity:1}}@keyframes completeFlash{0%{transform:scale(1);box-shadow:none}25%{transform:scale(1.08)}50%{transform:scale(.96)}75%{transform:scale(1.03)}to{transform:scale(1)}}.complete-flash{animation:completeFlash .5s cubic-bezier(.34,1.56,.64,1)}@keyframes successGlow{0%{box-shadow:0 0 #10b98180}70%{box-shadow:0 0 0 12px #10b98100}to{box-shadow:0 0 #10b98100}}.success-glow{animation:successGlow .8s ease-out}.exercise-done{animation:doneGlow .6s ease-in-out forwards}[data-perf=low] .exercise-done{animation:none!important}@keyframes doneGlow{0%,to{box-shadow:0 0 6px var(--done-color, rgba(16, 185, 129, .3)),inset 0 0 8px var(--done-color-dim, rgba(16, 185, 129, .06))}50%{box-shadow:0 0 14px var(--done-color, rgba(16, 185, 129, .5)),inset 0 0 12px var(--done-color-dim, rgba(16, 185, 129, .1))}}@keyframes donePulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}@keyframes bump{0%{transform:scale(1)}50%{transform:scale(1.04)}to{transform:scale(1)}}.bump{animation:bump .3s cubic-bezier(.34,1.56,.64,1)}@keyframes checkPop{0%{transform:scale(0) rotate(-45deg);opacity:0}50%{transform:scale(1.3) rotate(0);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes cal-slide-left{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-40px)}}@keyframes cal-slide-right{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(40px)}}@keyframes dropletSquish{0%{transform:scale(1)}25%{transform:scale(1.28,.74)}50%{transform:scale(.8,1.22)}72%{transform:scale(1.1,.92)}88%{transform:scale(.96,1.04)}to{transform:scale(1)}}@keyframes badgeHighlightPulse{0%{transform:scale(1)}30%{transform:scale(1.06)}60%{transform:scale(.99)}to{transform:scale(1)}}@keyframes toastSheen{0%{transform:translate(-130%) skew(-18deg);opacity:0}18%{opacity:.55}to{transform:translate(240%) skew(-18deg);opacity:0}}@keyframes toastCountdown{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes skeletonShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.hide-scrollbar::-webkit-scrollbar{display:none}@media(min-width:500px){.exercise-grid>button{flex:1 1 calc(25% - 10px)!important}}[data-perf=low] body:before{animation:none!important;opacity:.5}[data-perf=low] .glass,[data-perf=low] .glass-premium,[data-perf=low] .btn--secondary,[data-perf=low] .btn--premium,[data-perf=low] .btn--glass,[data-perf=low] .cardio-login-wall,[data-perf=low] .cardio-login-card{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}[data-perf=low] .glass,[data-perf=low] .glass-premium{background-color:var(--card-bg)!important}[data-perf=low] .rainbow-gradient{animation:none!important;filter:none!important}[data-perf=low] .shimmer:after{animation:none!important;display:none!important}[data-perf=low] .hover-lift,[data-perf=low] .hover-lift:hover{transition:none!important;transform:none!important}[data-perf=low] button{transition:none!important}[data-perf=low] .ripple:after{display:none!important}[data-perf=low] .gold-text,[data-perf=low] .cardio-wall-glow,[data-perf=low] .sparkle-icon,[data-perf=low] .perfect-day-row:before,[data-perf=low] .ann-ring,[data-perf=low] .ann-cta-shine{animation:none!important}@media(min-width:768px){#root{max-width:1000px;margin:0 auto}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:focus-visible{outline:2px solid var(--accent-glow);outline-offset:2px}button:focus:not(:focus-visible){outline:none}.panel-title{font-size:clamp(1.4rem,4vw,1.8rem);font-weight:800;letter-spacing:-.02em;margin:0;text-align:center;background:var(--gradient-glow);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--accent-glow)}.modal-overlay{position:fixed;inset:0;background:var(--overlay-bg);z-index:var(--z-modal-overlay);display:flex;flex-direction:column;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:none;touch-action:auto;padding:0;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.modal-overlay .modal-content{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;width:100%;max-width:var(--panel-max-width, 640px);margin:0 auto;padding:var(--page-padding)}@property --modal-glow-color{syntax: "<color>"; inherits: true; initial-value: transparent;}.modal-ambient-glow{position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(120% 50% at 50% -8%,var(--modal-glow-color, color-mix(in srgb, var(--accent-glow) 16%, transparent)) 0%,transparent 60%);opacity:.85;transition:--modal-glow-color var(--motion-panel, .4s) cubic-bezier(.16,1,.3,1),opacity var(--motion-fast, .2s) ease}.modal-overlay.fade-in{animation:overlayFadeIn var(--motion-fast) ease-out}.modal-overlay.no-fade-in,.dialog-backdrop.no-fade-in,.no-fade-in{animation:none!important}.modal-overlay.fade-in>.modal-content{animation:panelEnter var(--motion-panel) var(--ease-panel-in);transform-origin:top center}@media(min-width:600px){.modal-overlay{align-items:center;justify-content:flex-start}}@media(min-width:768px){:root{--panel-max-width: 860px}}.modal-overlay .glass,.modal-overlay .glass-premium{backdrop-filter:none;-webkit-backdrop-filter:none}.dialog-backdrop{position:fixed;inset:0;z-index:var(--z-modal-overlay);display:flex;align-items:center;justify-content:center;padding:var(--space-6);background:#000000d9;animation:overlayFadeIn .2s ease-out}.toggle{position:relative;width:50px;height:28px;flex-shrink:0;display:flex;align-items:center;padding:0 4px;border:none;border-radius:var(--radius-full);background-origin:border-box;background-clip:border-box;background-repeat:no-repeat;cursor:pointer;background:var(--surface-hover);box-shadow:inset 0 1px 3px #00000059;transition:background .3s ease,box-shadow .3s ease}.toggle--on{box-shadow:inset 0 0 0 1px #fff3,inset 0 1px #ffffff40,0 2px 10px #0003}.toggle-knob{position:absolute;left:4px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 2px 6px #00000059;transition:left .35s cubic-bezier(.34,1.56,.64,1)}.toggle--on .toggle-knob{left:calc(100% - 26px)}.toggle-knob--squish{animation:dropletSquish .6s cubic-bezier(.34,1.56,.64,1)}[data-perf=low] .toggle-knob{animation:none!important;border-radius:50%}.chart-card{padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);display:flex;flex-direction:column;align-items:center}.chart-title{margin-bottom:var(--space-4);font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--text-secondary);text-align:center;width:100%}.svg-chart{position:relative;width:100%;touch-action:pan-y;-webkit-tap-highlight-color:transparent}.svg-chart svg{display:block;overflow:visible}.svg-chart-line{clip-path:inset(0 0 0 0);animation:svg-chart-reveal-line .85s cubic-bezier(.25,1,.5,1) both}@keyframes svg-chart-reveal-line{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}.svg-chart-area{clip-path:inset(0 0 0 0);animation:svg-chart-reveal-area .85s cubic-bezier(.25,1,.5,1) both}@keyframes svg-chart-reveal-area{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}.svg-radar-line{stroke-dasharray:1000;stroke-dashoffset:0;animation:svg-radar-draw-line .7s cubic-bezier(.25,1,.5,1) both}@keyframes svg-radar-draw-line{0%{stroke-dashoffset:1000}to{stroke-dashoffset:0}}.svg-radar-area{animation:svg-radar-fade-area .4s ease-out .7s both}@keyframes svg-radar-fade-area{0%{opacity:0}to{opacity:1}}.svg-chart-dot,.svg-radar-dot{transform-origin:center;transform-box:fill-box;animation:svg-chart-dot-pop .3s cubic-bezier(.34,1.56,.64,1) both}@keyframes svg-chart-dot-pop{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@media(prefers-reduced-motion:reduce){.svg-chart-line,.svg-chart-area{clip-path:none;animation:none}.svg-radar-line{stroke-dasharray:none;stroke-dashoffset:0;animation:none}.svg-radar-area{opacity:1;animation:none}.svg-chart-dot,.svg-radar-dot{transform:none;animation:none}}.svg-chart-tooltip{position:absolute;top:0;z-index:2;pointer-events:none;background:var(--tooltip-bg);border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:var(--space-2);min-width:90px;box-shadow:0 6px 18px #00000059}.svg-chart-tooltip-label{font-size:.65rem;font-weight:600;color:var(--text-secondary);margin-bottom:4px}.svg-chart-tooltip-row{display:flex;align-items:center;gap:5px;font-size:.7rem;line-height:1.5}.svg-chart-tooltip-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.svg-chart-tooltip-name{color:var(--text-secondary);max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.svg-chart-tooltip-val{margin-left:auto;font-weight:800;padding-left:6px;white-space:nowrap}.svg-donut{width:100%;display:flex;flex-direction:column;align-items:center}.svg-donut svg{width:100%;max-width:220px;display:block}.svg-donut-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2) var(--space-3);margin-top:var(--space-2)}.svg-donut-legend-item{display:inline-flex;align-items:center;gap:5px;background:none;border:none;padding:2px 4px;cursor:pointer;font-size:.75rem;font-weight:600;color:var(--text-secondary);transition:opacity .2s ease}.svg-donut-legend-dot{width:9px;height:9px;border-radius:50%}.svg-radar{position:relative;width:100%;display:flex;justify-content:center}.svg-radar svg{width:100%;max-width:380px;display:block}.svg-chart svg,.svg-donut svg,.svg-radar svg{animation:svg-chart-fade-premium .4s cubic-bezier(.16,1,.3,1) both;transform-origin:center}@keyframes svg-chart-fade-premium{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.svg-chart-line,.svg-chart-area{transition:d .35s cubic-bezier(.16,1,.3,1),opacity .3s ease}.svg-chart circle{transition:cx .35s cubic-bezier(.16,1,.3,1),cy .35s cubic-bezier(.16,1,.3,1),r .2s ease,opacity .2s ease}.svg-chart line,.svg-chart text{transition:x1 .35s cubic-bezier(.16,1,.3,1),x2 .35s cubic-bezier(.16,1,.3,1),y1 .35s cubic-bezier(.16,1,.3,1),y2 .35s cubic-bezier(.16,1,.3,1),x .35s cubic-bezier(.16,1,.3,1),y .35s cubic-bezier(.16,1,.3,1),opacity .3s ease}.premium-slider{-webkit-appearance:none;appearance:none;width:100%;height:8px;border-radius:var(--radius-full);outline:none;cursor:pointer;touch-action:pan-y;pointer-events:none;box-shadow:inset 0 1px 2px #00000059}.premium-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.55),transparent 60%),var(--slider-color, var(--accent));cursor:grab;box-shadow:var(--shadow-sm);border:2px solid var(--bg-color);transition:transform .15s ease,box-shadow .2s ease;pointer-events:auto}.premium-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.premium-slider:active::-webkit-slider-thumb{cursor:grabbing;transform:scale(1.3);box-shadow:0 0 18px var(--slider-color, var(--accent))}.premium-slider::-moz-range-thumb{width:20px;height:20px;border:2px solid var(--bg-color);border-radius:50%;background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.55),transparent 60%),var(--slider-color, var(--accent));cursor:grab;box-shadow:var(--shadow-sm);transition:transform .15s ease,box-shadow .2s ease;pointer-events:auto}.premium-slider::-moz-range-thumb:hover{transform:scale(1.2)}.premium-slider:active::-moz-range-thumb{cursor:grabbing;transform:scale(1.3);box-shadow:0 0 18px var(--slider-color, var(--accent))}[data-perf=low] .premium-slider::-webkit-slider-thumb{animation:none!important;border-radius:50%}[data-perf=low] .premium-slider::-moz-range-thumb{animation:none!important;border-radius:50%}@keyframes streak-float{0%{transform:translate(-50%,-50%) scale(.5) rotate(0);opacity:1;filter:drop-shadow(0 0 5px rgba(249,115,22,.8))}50%{opacity:1;filter:drop-shadow(0 0 15px rgba(249,115,22,1))}to{transform:translate(calc(-50% + var(--tx)),calc(-50% + var(--ty))) scale(1.8) rotate(var(--rot));opacity:0;filter:drop-shadow(0 0 5px rgba(249,115,22,0))}}.streak-particle{position:absolute;pointer-events:none;opacity:0;animation:streak-float 1s cubic-bezier(.25,1,.5,1) forwards;z-index:9999}.dashboard-slide-bg,.cardio-module{border-radius:var(--radius-xl)}.cardio-module{background:#0a0a0f99}.cardio-progress-fill{position:relative;overflow:hidden}.cardio-progress-fill:after{content:"";position:absolute;top:0;left:0;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transform:translate(-200%);animation:cardioShimmer 2.5s ease-in-out infinite}@keyframes cardioShimmer{0%{transform:translate(-200%)}to{transform:translate(400%)}}.leaflet-control-attribution{background:#0a0a0fcc!important;color:var(--text-secondary)!important}.leaflet-control-attribution a{color:var(--color-cyan)!important}.category-nav-container{display:flex;flex-direction:column;position:absolute;right:6px;top:50%;transform:translateY(-50%);gap:var(--space-2);z-index:100;padding:var(--space-3) 6px;background:#0a0a0f66;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:20px;border:1px solid var(--border-default);cursor:pointer;pointer-events:auto;user-select:none;-webkit-user-select:none;touch-action:pan-y;box-shadow:0 4px 12px #0003;transition:background .4s cubic-bezier(.34,1.56,.64,1),box-shadow .4s cubic-bezier(.34,1.56,.64,1),border-color .4s cubic-bezier(.34,1.56,.64,1)}.category-nav-container.discovery-pulse{box-shadow:0 0 8px color-mix(in srgb,var(--accent) 40%,transparent)}.category-nav-hint-tooltip{position:absolute;right:calc(100% + 12px);top:50%;transform:translateY(-50%);background:#0f172aeb;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(99,102,241,.4);color:var(--text-primary);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:.75rem;font-weight:600;white-space:nowrap;pointer-events:none;box-shadow:0 4px 16px #0000004d}.category-nav-container:before{content:"";position:absolute;inset:-20px;pointer-events:none}.category-nav-container.expanded{background:#141419b3;box-shadow:0 8px 24px #0006;border:1px solid var(--border-default)}.category-nav-dot{width:5px;height:5px;border-radius:10px;background:var(--text-secondary);opacity:.35;transition:width .4s cubic-bezier(.34,1.56,.64,1),height .4s cubic-bezier(.34,1.56,.64,1),opacity .4s cubic-bezier(.34,1.56,.64,1),background .4s cubic-bezier(.34,1.56,.64,1),box-shadow .4s cubic-bezier(.34,1.56,.64,1);position:relative;display:flex;align-items:center;justify-content:flex-end;margin:0 auto}.category-nav-dot.active{height:20px;opacity:1;background:var(--text-primary);width:5px}.category-nav-container.expanded .category-nav-dot{width:14px;opacity:.6}@media(hover:hover){.category-nav-container:hover .category-nav-dot{width:14px;opacity:.6}}.category-nav-container.expanded .category-nav-dot.active{width:22px;height:24px;opacity:1;box-shadow:0 0 15px #ffffff26}@media(hover:hover){.category-nav-container:hover .category-nav-dot.active{width:22px;height:24px;opacity:1;box-shadow:0 0 15px #ffffff26}}.category-nav-dot.drag-over{width:28px!important;opacity:1!important;background:var(--text-primary)!important}@media(hover:hover){.category-nav-dot:hover{width:28px!important;opacity:1!important;background:var(--text-primary)!important}}.category-nav-label{position:absolute;right:36px;background:var(--overlay-bg-heavy);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:6px 12px;border-radius:12px;font-size:12px;font-weight:800;color:var(--text-primary);white-space:nowrap;opacity:0;transform:translate(10px) scale(.9);pointer-events:none;transition:opacity .3s cubic-bezier(.34,1.56,.64,1),transform .3s cubic-bezier(.34,1.56,.64,1);border:1px solid var(--border-default);box-shadow:var(--shadow-lg);letter-spacing:.5px}.category-nav-dot.drag-over .category-nav-label,.category-nav-container.expanded .category-nav-dot.active .category-nav-label{opacity:1;transform:translate(0) scale(1)}@media(hover:hover){.category-nav-dot:hover .category-nav-label{opacity:1;transform:translate(0) scale(1)}}@media(min-width:768px){.category-nav-container{right:24px;padding:16px 10px;gap:16px;border-radius:24px}.category-nav-container:before{left:-30px;right:-30px}.category-nav-dot{width:6px;height:6px}.category-nav-dot.active{height:28px;width:6px}.category-nav-container.expanded .category-nav-dot,.category-nav-container:hover .category-nav-dot{width:18px}.category-nav-container.expanded .category-nav-dot.active,.category-nav-container:hover .category-nav-dot.active{width:26px;height:30px}.category-nav-dot.drag-over,.category-nav-dot:hover{width:32px!important}}.input-group{display:flex;flex-direction:column;gap:var(--space-1)}.input-group--full{width:100%}.input-label{font-size:.78rem;font-weight:600;color:var(--text-secondary);letter-spacing:.02em}.input-wrapper{position:relative;display:flex;align-items:center;width:100%;background:var(--surface-muted);border:1px solid var(--border-default);border-radius:var(--radius-md);transition:border-color var(--motion-fast) ease,box-shadow var(--motion-fast) ease,background var(--motion-fast) ease}.input-wrapper:focus-within{border-color:var(--accent-glow);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-glow) 20%,transparent);background:var(--surface-hover)}.input-wrapper--error{border-color:var(--error)!important}.input-wrapper--error:focus-within{box-shadow:0 0 0 3px color-mix(in srgb,var(--error) 25%,transparent)!important}.input-wrapper--disabled{opacity:.6;pointer-events:none}.input-wrapper--sm{min-height:36px;padding:0 10px}.input-wrapper--md{min-height:42px;padding:0 14px}.input-wrapper--lg{min-height:50px;padding:0 16px}.input-field{width:100%;height:100%;background:transparent;border:none;outline:none;color:var(--text-primary);font-family:inherit;font-size:.9rem}.input-field::placeholder{color:var(--text-tertiary)}.input-field--select{cursor:pointer;appearance:none;padding-right:20px}.input-field--select option{background:var(--select-option-bg, rgba(26, 26, 46, 1));color:var(--text-primary)}.input-icon{color:var(--text-secondary);flex-shrink:0}.input-icon--left{margin-right:8px}.input-icon--right{margin-left:8px}.input-error{font-size:.75rem;color:var(--error);font-weight:500;margin-top:2px}.input-helper{font-size:.75rem;color:var(--text-tertiary);margin-top:2px}.badge{display:inline-flex;align-items:center;gap:6px;font-weight:600;border-radius:var(--radius-full);white-space:nowrap;letter-spacing:.02em;border:1px solid transparent}.badge--sm{padding:2px 8px;font-size:.72rem}.badge--md{padding:4px 12px;font-size:.8rem}.badge--default{background:var(--surface-muted);color:var(--text-secondary);border-color:var(--border-default)}.badge--primary{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent-glow);border-color:color-mix(in srgb,var(--accent) 35%,transparent)}.badge--success{background:color-mix(in srgb,var(--success) 18%,transparent);color:var(--success);border-color:color-mix(in srgb,var(--success) 35%,transparent)}.badge--warning{background:color-mix(in srgb,var(--warning) 18%,transparent);color:var(--warning);border-color:color-mix(in srgb,var(--warning) 35%,transparent)}.badge--error{background:color-mix(in srgb,var(--error) 18%,transparent);color:var(--error);border-color:color-mix(in srgb,var(--error) 35%,transparent)}.badge--info{background:color-mix(in srgb,var(--color-blue) 18%,transparent);color:var(--color-blue);border-color:color-mix(in srgb,var(--color-blue) 35%,transparent)}.badge--gold{background:var(--gradient-gold-trans);color:var(--color-gold);border-color:color-mix(in srgb,var(--color-gold) 35%,transparent)}.badge--pro,.badge--purple{background:color-mix(in srgb,var(--color-violet) 20%,transparent);color:var(--color-violet);border-color:color-mix(in srgb,var(--color-violet) 40%,transparent)}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);width:100%;min-width:0;box-sizing:border-box}.modal-header-title-group{display:flex;align-items:center;gap:var(--space-3);min-width:0;flex:1}.modal-header-icon{width:var(--touch-min, 44px);height:var(--touch-min, 44px);min-width:var(--touch-min, 44px);min-height:var(--touch-min, 44px);aspect-ratio:1 / 1;border-radius:var(--radius-md);background:color-mix(in srgb,var(--accent) 15%,transparent);border:none;color:var(--accent-glow);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-sizing:border-box}.modal-header-icon svg{width:20px;height:20px}.modal-header-text{min-width:0;flex:1;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;text-align:left}.modal-header-title,.modal-header .panel-title{margin:0;text-align:left;font-size:clamp(1.35rem,4vw,1.8rem);line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.015em;max-width:100%}.modal-header-title--multiline{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:break-word;word-break:break-word}.modal-header-subtitle{font-size:.82rem;color:var(--text-secondary);margin:2px 0 0;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.modal-header-actions{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0;margin-left:auto}@media(max-width:480px){.modal-header,.modal-header-title-group{gap:var(--space-2)}.modal-header-subtitle{font-size:.76rem}}@media(max-width:360px){.modal-header,.modal-header-title-group{gap:6px}}body.exercise-panel-active:before{display:none!important}.cloud-sync-panel{margin-top:4px}.cloud-sync-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.cloud-sync-icon{width:48px;height:48px;flex-shrink:0;border-radius:14px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--accent),var(--accent-glow));box-shadow:var(--glow-accent)}.cloud-sync-icon:has(.disconnected){background:var(--surface-hover);box-shadow:none}.icon-cloud{width:24px;height:24px;color:#fff}.icon-cloud.disconnected{color:var(--text-secondary)}.cloud-sync-title h3{font-size:17px;font-weight:700;margin:0 0 2px;color:var(--text-primary)}.cloud-sync-subtitle{margin:0;font-size:13px;color:var(--text-secondary);font-weight:500}.cloud-sync-subtitle.connected{color:var(--success)}.cloud-sync-loading{display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-10) var(--space-5);color:var(--text-secondary)}.cloud-sync-content{display:flex;flex-direction:column;gap:var(--space-5)}.cloud-user-info{display:flex;align-items:center;gap:14px;padding:14px;background:var(--surface-muted);border-radius:14px;border:1px solid var(--border-default);flex-wrap:wrap}.user-details{flex:1;min-width:0;overflow:hidden}.user-name{margin:0 0 4px;font-size:16px;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-email{margin:0;font-size:13px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-conflict{display:flex;align-items:center;gap:16px;padding:16px;border:none;border-radius:12px;font-family:var(--font-primary);cursor:pointer;transition:transform var(--motion-fast) ease,box-shadow var(--motion-fast) ease,border-color var(--motion-fast) ease,background var(--motion-fast) ease;text-align:left;white-space:normal}.btn-conflict svg{width:24px;height:24px;flex-shrink:0}.btn-conflict div{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.btn-conflict strong{font-size:15px;font-weight:600}.btn-conflict span{font-size:13px;opacity:.8}.btn-merge{background:linear-gradient(135deg,var(--success),color-mix(in srgb,var(--success) 80%,black))!important;color:#fff!important;border:2px solid rgba(255,255,255,.1)}.btn-merge:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 12px 32px #10b98166;border-color:#ffffff4d}.btn-conflict:disabled{opacity:.5;cursor:not-allowed}.auto-sync-info{display:flex;align-items:center;gap:12px;padding:14px;background:#10b9811a;border-radius:12px;border:1px solid rgba(16,185,129,.2)}.info-icon{width:20px;height:20px;color:var(--success)}.auto-sync-info span{font-size:14px;color:var(--text-primary);font-weight:500}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.cloud-account-actions{display:flex;flex-direction:column;gap:10px;padding-top:16px;border-top:1px solid var(--border-default)}.cloud-promo{text-align:center}.cloud-promo-text{color:var(--text-secondary);font-size:14px;line-height:1.6;margin:0 0 24px}.cloud-benefits{list-style:none;padding:0;margin:0 0 24px;display:flex;flex-direction:column;gap:10px;text-align:left}.cloud-benefits li{display:flex;align-items:center;gap:12px;padding:12px 14px;font-size:14px;color:var(--text-primary);font-weight:500;background:var(--surface-muted);border:1px solid var(--border-default);border-radius:12px}.icon-check{width:34px;height:34px;padding:7px;flex-shrink:0;color:var(--accent);background:var(--surface-hover);border-radius:10px}.btn-cloud-signin{width:100%;padding:16px 24px;border:none;border-radius:12px;background:#fff;color:#1f1f1f;font-size:15px;font-weight:600;font-family:var(--font-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:12px;transition:transform var(--motion-fast) ease,box-shadow var(--motion-fast) ease,opacity var(--motion-fast) ease;box-shadow:0 4px 16px #0000001a}.btn-cloud-signin:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 32px #0003}.btn-cloud-signin:active:not(:disabled){transform:translateY(0)}.btn-cloud-signin:disabled{opacity:.6;cursor:not-allowed}.google-icon{width:20px;height:20px}.sync-message{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:12px;font-size:13px;font-weight:500}.sync-message.error{background:color-mix(in srgb,var(--error) 15%,transparent);color:var(--error);border:1px solid color-mix(in srgb,var(--error) 30%,transparent)}.sync-message svg{width:18px;height:18px}.btn-restore{background:linear-gradient(135deg,var(--color-blue),color-mix(in srgb,var(--color-blue) 80%,black))!important;color:#fff!important}.btn-restore.confirming{background:linear-gradient(135deg,var(--error),color-mix(in srgb,var(--error) 80%,black))!important}.btn-restore:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 12px 32px #3b82f680}.btn-conflict:active:not(:disabled){transform:translateY(0)}.admin-user-card{position:relative;display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding:14px 16px;border-radius:var(--radius-lg);background:var(--card-bg);border:1px solid var(--border-default);cursor:pointer;text-align:left;width:100%;box-sizing:border-box;transition:transform var(--motion-fast) ease,border-color var(--motion-fast) ease,background var(--motion-fast) ease,box-shadow var(--motion-fast) ease;-webkit-user-select:none;user-select:none}.admin-user-card:hover{background:var(--surface-hover);border-color:color-mix(in srgb,var(--accent) 40%,var(--border-default));transform:translateY(-2px);box-shadow:0 8px 24px #00000040}.admin-user-card:active{transform:scale(.99)}.admin-user-card:focus-visible{outline:2px solid var(--accent-glow);outline-offset:2px}.admin-user-card-left{display:flex;align-items:center;gap:14px;min-width:0;flex:1}.admin-user-avatar-wrap{position:relative;flex-shrink:0}.admin-user-pro-crown{position:absolute;top:-4px;right:-4px;width:18px;height:18px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--color-amber),var(--color-orange));color:var(--bg-color);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #fbbf2466}.admin-user-info{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.admin-user-name-row{display:flex;align-items:center;gap:8px;min-width:0}.admin-user-name{font-weight:800;font-size:1.02rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.01em}.admin-user-email{font-size:.78rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-user-meta-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px}.admin-user-uid-pill{font-size:.65rem;font-family:var(--font-mono, monospace);color:var(--text-tertiary);background:var(--surface-muted);padding:2px 6px;border-radius:var(--radius-sm);border:1px solid var(--border-subtle, rgba(255, 255, 255, .06));letter-spacing:.2px}.admin-user-card-right{display:flex;align-items:center;gap:12px;flex-shrink:0}.admin-user-stats-col{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.admin-user-badges-top{display:flex;align-items:center;gap:4px}.admin-stat-pills{display:flex;align-items:center;gap:6px}.admin-stat-pill{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:var(--radius-full);background:var(--surface-muted);border:1px solid var(--border-default);font-size:.74rem;color:var(--text-secondary);font-weight:600;white-space:nowrap}.admin-stat-pill strong{color:var(--text-primary);font-weight:800}.admin-last-seen{font-size:.68rem;color:var(--text-tertiary);display:inline-flex;align-items:center;gap:4px}.admin-user-chevron{color:var(--text-tertiary);transition:transform var(--motion-fast) ease,color var(--motion-fast) ease}.admin-user-card:hover .admin-user-chevron{color:var(--accent-glow);transform:translate(3px)}@media(max-width:520px){.admin-user-card{flex-direction:column;align-items:stretch;gap:10px;padding:12px}.admin-user-card-right{justify-content:space-between;width:100%;border-top:1px solid var(--border-subtle, rgba(255, 255, 255, .06));padding-top:8px}.admin-user-stats-col{flex-flow:row wrap;align-items:center;gap:6px;width:100%;justify-content:space-between}}.spin{animation:spin 1s linear infinite}.ann-card{position:relative;width:100%;max-width:380px;max-height:90vh;overflow:hidden;overflow-y:auto;padding:30px 24px 24px;text-align:center;border-radius:26px;border:1px solid rgba(255,255,255,.1);background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 14%,transparent),transparent 38%),linear-gradient(135deg,#101018f5,#08080efa);box-shadow:var(--shadow-lg)}.ann-hero{position:relative;display:flex;align-items:center;justify-content:center;width:92px;height:92px;margin:4px auto 14px}.ann-ring{position:absolute;inset:0;border-radius:50%;border:1.5px solid color-mix(in srgb,var(--accent-glow) 55%,transparent);opacity:0}.ann-ring-1{animation:ann-ring-pulse 2.8s ease-out .8s infinite}.ann-ring-2{animation:ann-ring-pulse 2.8s ease-out 1.6s infinite}.ann-emoji{position:relative;display:flex;align-items:center;justify-content:center;width:76px;height:76px;font-size:40px;border-radius:50%;background:color-mix(in srgb,var(--accent) 12%,transparent);border:1px solid color-mix(in srgb,var(--accent-glow) 25%,transparent);box-shadow:var(--shadow-md);animation:ann-emoji-bounce .6s cubic-bezier(.34,1.56,.64,1) .25s backwards}.ann-badge{position:relative;display:inline-block;margin-bottom:12px;padding:4px 14px;font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-primary);border-radius:999px;background:var(--gradient-glow);box-shadow:var(--shadow-sm);animation:ann-emoji-bounce .6s cubic-bezier(.34,1.56,.64,1) .4s backwards}.ann-title{position:relative;margin:0 0 10px;animation:ann-text-in .5s ease .35s backwards}.ann-body{position:relative;margin:0 0 18px;font-size:13px;line-height:1.6;color:#ffffff9e;animation:ann-text-in .5s ease .45s backwards}.ann-highlights{position:relative;list-style:none;margin:0 0 22px;padding:0;display:flex;flex-direction:column;gap:10px;text-align:left}.ann-highlight{display:flex;align-items:center;gap:12px;padding:11px 13px;border-radius:14px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);animation:ann-text-in .5s ease backwards}.ann-highlight-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:36px;height:36px;font-size:18px;border-radius:11px;background:color-mix(in srgb,var(--accent) 18%,transparent);border:1px solid color-mix(in srgb,var(--accent-glow) 28%,transparent)}.ann-highlight-text{font-size:12.5px;line-height:1.45;font-weight:500;color:#ffffffd1}.ann-images{position:relative;display:flex;flex-direction:column;gap:12px;margin-bottom:22px;animation:ann-text-in .6s ease .55s backwards}.ann-image-frame{display:flex;justify-content:center;border-radius:14px;overflow:hidden}.ann-image{max-width:100%;height:auto;border-radius:10px;filter:drop-shadow(0 4px 16px rgba(0,0,0,.4))}.ann-cta{position:relative;width:100%;padding:15px 24px;border:none;border-radius:15px;overflow:hidden;color:var(--text-primary);font-size:15px;font-weight:700;cursor:pointer;background:var(--gradient-glow);box-shadow:var(--shadow-md);transition:transform .18s ease,box-shadow .18s ease;animation:ann-text-in .5s ease .7s backwards}.ann-cta-shine{position:absolute;top:0;left:-60%;width:50%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);transform:skew(-20deg);animation:ann-cta-shine 3.2s ease-in-out 1.2s infinite}.ann-cta-label{position:relative}@keyframes ann-card-in{0%{opacity:0;transform:scale(.85) translateY(30px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes ann-card-out{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.9) translateY(20px)}}@keyframes ann-emoji-bounce{0%{opacity:0;transform:scale(0) rotate(-15deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes ann-text-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes ann-ring-pulse{0%{opacity:.6;transform:scale(.78)}to{opacity:0;transform:scale(1.35)}}@keyframes ann-cta-shine{0%{left:-60%}55%,to{left:130%}}.cardio-login-wall{position:absolute;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;padding:clamp(18px,4vw,30px);border-radius:inherit;overflow:hidden;-webkit-backdrop-filter:blur(16px) saturate(125%);backdrop-filter:blur(16px) saturate(125%);background:radial-gradient(135% 90% at 50% 0%,var(--cardio-accent-glow, rgba(66,133,244,.16)) 0%,transparent 55%),linear-gradient(180deg,#0000004d,#00000075 45%,#0000009e)}.cardio-login-card{position:relative;z-index:1;width:100%;max-width:320px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:clamp(8px,1.4vh,13px);padding:clamp(20px,3.4vh,30px) clamp(18px,4vw,26px);border-radius:var(--radius-lg);background:var(--surface-elevated);border:1px solid var(--border-default);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:var(--shadow-lg),0 0 0 1px #ffffff05 inset,0 1px #ffffff0f inset}.cardio-login-card:before{content:"";position:absolute;top:0;left:18%;right:18%;height:1px;background:linear-gradient(90deg,transparent,var(--cardio-accent, var(--color-blue)),transparent);opacity:.6}.cardio-wall-icon{width:clamp(58px,9vh,70px);height:clamp(58px,9vh,70px);border-radius:20px;display:flex;align-items:center;justify-content:center;position:relative;background:linear-gradient(145deg,var(--cardio-accent-soft, rgba(66,133,244,.18)),transparent);border:1px solid var(--cardio-accent-border, rgba(66,133,244,.32));box-shadow:0 10px 30px var(--cardio-accent-shadow, rgba(66,133,244,.22))}.cardio-wall-title{margin:0;font-size:clamp(1.12rem,2.6vh,1.4rem);font-weight:800;letter-spacing:-.01em;color:var(--text-primary)}.cardio-wall-desc{margin:0;max-width:250px;color:var(--text-secondary);font-size:clamp(.76rem,1.45vh,.88rem);line-height:1.55}.cardio-wall-glow{position:absolute;border-radius:50%;pointer-events:none;filter:blur(2px);animation:cardioGlowFloat 7s ease-in-out infinite}@keyframes cardioGlowFloat{0%,to{transform:translate(0) scale(1);opacity:.85}50%{transform:translateY(14px) scale(1.08);opacity:1}}.cardio-hist-summary{display:flex;align-items:stretch;gap:1px;padding:2px;margin-bottom:var(--space-4);border-radius:var(--radius-lg);background:var(--surface-elevated);border:1px solid var(--border-default);box-shadow:var(--shadow-md);overflow:hidden;flex-shrink:0}.cardio-hist-summary-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:clamp(10px,1.6vh,15px) 6px;text-align:center}.cardio-hist-summary-value{font-size:clamp(1.05rem,2.4vh,1.5rem);font-weight:800;line-height:1.05;color:var(--text-primary)}.cardio-hist-summary-value>span{font-size:.62em;font-weight:700;color:var(--text-secondary);margin-left:2px}.cardio-hist-summary-label{font-size:clamp(.55rem,1.1vh,.68rem);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);opacity:.8}.cardio-hist-summary-divider{width:1px;align-self:center;height:56%;background:var(--border-default)}.cardio-hist-month{display:flex;align-items:center;gap:8px;margin:4px 2px 2px;font-size:clamp(.62rem,1.2vh,.74rem);font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}.cardio-hist-month:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--border-default),transparent)}.cardio-session-card{position:relative;background:var(--surface-subtle);border:1px solid var(--border-default);border-radius:var(--radius-lg);overflow:hidden;flex-shrink:0;transition:border-color .2s ease,background-color .2s ease}.cardio-session-card.is-tappable{cursor:pointer}.cardio-session-card.is-tappable:hover{border-color:var(--border-strong)}.cardio-stat-chip{display:flex;flex-direction:column;gap:2px;min-width:0}.cardio-stat-chip-label{display:flex;align-items:center;gap:4px;font-size:clamp(.55rem,1.05vh,.66rem);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary);white-space:nowrap}.cardio-stat-chip-value{font-size:clamp(.84rem,1.7vh,1.05rem);font-weight:800;color:var(--text-primary);line-height:1.1;white-space:nowrap}.cardio-session-chevron{display:flex;align-items:center;justify-content:center;width:30px;height:30px;flex-shrink:0;border-radius:50%;color:var(--text-secondary);background:var(--surface-muted);border:1px solid var(--border-default);transition:transform .25s var(--ease-panel-in),color .2s ease,background-color .2s ease}.cardio-session-card.is-open .cardio-session-chevron{transform:rotate(180deg);color:var(--text-primary);background:var(--surface-hover)}.camera-mode-bar{display:flex;gap:8px;margin-bottom:4px;flex-wrap:wrap;justify-content:center}.camera-mode-toggle{display:inline-flex;align-items:center;gap:9px;padding:9px 18px 9px 9px;border-radius:999px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--text-primary);cursor:pointer;font-size:.82rem;font-weight:700;letter-spacing:.01em;transition:background .2s ease,border-color .2s ease,color .2s ease;min-height:var(--touch-min)}.camera-mode-toggle-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#ffffff14;transition:background .2s ease,box-shadow .2s ease}.camera-mode-toggle.is-active{background:color-mix(in srgb,var(--exercise-color) 16%,transparent);border-color:color-mix(in srgb,var(--exercise-color) 55%,transparent);color:var(--exercise-color)}.camera-mode-toggle.is-active .camera-mode-toggle-icon{background:color-mix(in srgb,var(--exercise-color) 28%,transparent);box-shadow:0 0 10px color-mix(in srgb,var(--exercise-color) 45%,transparent)}.camera-recal-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:999px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--text-secondary);cursor:pointer;font-size:.8rem;font-weight:700;transition:background .2s ease,color .2s ease;min-height:var(--touch-min)}.camera-mode-hint{font-size:.75rem;color:var(--text-secondary);margin:-4px 0 4px;text-align:center;max-width:280px;line-height:1.4;opacity:.75}.camera-video-wrapper{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:calc(100% - 24px);height:calc(100% - 24px);border-radius:50%;overflow:hidden;background:var(--surface-dark, rgb(13, 13, 19));box-shadow:inset 0 0 24px #000000d9;display:flex;align-items:center;justify-content:center;animation:cameraVideoEnter .4s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes cameraVideoEnter{0%{transform:translate(-50%,-50%) scale(.6);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}.camera-video-feed{width:100%;height:100%;object-fit:cover;transform:scaleX(-1);opacity:.9}.camera-video-rim{position:absolute;inset:0;border-radius:50%;pointer-events:none;border:2px solid color-mix(in srgb,var(--exercise-color) 30%,transparent);box-shadow:inset 0 0 12px #0006;transition:border-color .22s ease,box-shadow .22s ease;z-index:5}.camera-video-wrapper.is-down .camera-video-rim{border-color:var(--exercise-color);box-shadow:inset 0 0 16px color-mix(in srgb,var(--exercise-color) 25%,transparent),0 0 8px color-mix(in srgb,var(--exercise-color) 35%,transparent)}.camera-scanning-line{position:absolute;left:8%;right:8%;top:0;height:2px;border-radius:2px;background:linear-gradient(90deg,transparent,var(--exercise-color, var(--color-indigo-light)),transparent);box-shadow:0 0 10px var(--exercise-color, var(--color-indigo-light));animation:cameraScan 2.2s infinite ease-in-out;pointer-events:none;z-index:10;will-change:transform}@keyframes cameraScan{0%,to{transform:translateY(18px);opacity:.3}50%{transform:translateY(120px);opacity:1}}.camera-calibration-overlay{position:absolute;inset:0;background:radial-gradient(circle at center,#0000008c,#000000c7);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:16px;z-index:20}.camera-countdown-num{font-size:4.5rem;font-weight:800;line-height:1;color:var(--text-primary);text-shadow:0 0 24px color-mix(in srgb,var(--exercise-color) 70%,transparent);animation:countdownPop 1s infinite ease-out}@keyframes countdownPop{0%{transform:scale(1.15);opacity:1}70%{transform:scale(.9);opacity:.55}to{transform:scale(.9);opacity:.55}}.camera-overlay-hint{font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#ffffffd1}.camera-overlay-error{font-size:.82rem;font-weight:700;color:var(--error)}.camera-spinner{width:22px;height:22px;border-radius:50%;border:2.5px solid rgba(255,255,255,.18);border-top-color:var(--exercise-color, var(--color-indigo-light));animation:spin .8s linear infinite}.camera-live-card{display:flex;flex-direction:column;gap:10px;width:100%;max-width:300px;min-height:52px;padding:12px 16px;border-radius:18px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08)}.camera-live-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.camera-state-pill{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;border-radius:999px;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);background:#ffffff0f;border:1px solid rgba(255,255,255,.08);transition:background .2s ease,color .2s ease,border-color .2s ease}.camera-state-pill.is-down{color:var(--exercise-color);background:color-mix(in srgb,var(--exercise-color) 18%,transparent);border-color:color-mix(in srgb,var(--exercise-color) 45%,transparent)}.camera-live-reps{display:inline-flex;align-items:baseline;gap:4px}.camera-live-reps-num{font-size:2rem;font-weight:800;line-height:.9;color:var(--exercise-color);font-variant-numeric:tabular-nums}.camera-live-reps-goal{font-size:1rem;font-weight:600;color:var(--text-secondary)}.camera-depth{display:flex;align-items:center;gap:9px}.camera-depth-label{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);opacity:.7;flex-shrink:0}.camera-depth-track{position:relative;flex:1;height:8px;border-radius:999px;background:#ffffff14;border:1px solid rgba(255,255,255,.05);overflow:hidden}.camera-depth-fill{position:absolute;inset:0;border-radius:999px;transform-origin:left center;transform:scaleX(0);background:linear-gradient(90deg,color-mix(in srgb,var(--exercise-color) 35%,transparent),var(--exercise-color));transition:transform .08s linear}.camera-live-status{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;font-size:.78rem;font-style:italic;color:var(--text-secondary)}@media(prefers-reduced-motion:reduce){.ann-ring,.ann-cta-shine,.cardio-wall-glow{animation:none}}@media(max-height:660px){#root{padding:4px!important}.gap-responsive{gap:2px!important}header.glass{padding:0!important}}.dashboard-slide-container{container-type:size}@supports (height: 1cqh){.dashboard-slide-container{--dashboard-slide-padding-top: clamp(4px, 1.2cqh, 12px);--day-label-size: clamp(.7rem, 2.1cqh, 1rem);--day-num-height: clamp(2rem, 9.6cqh, 6.5rem);--day-num-font-size: clamp(1.9rem, 8.8cqh, 6rem);--exercise-btn-gap: clamp(4px, 1cqh, 8px);--exercise-btn-padding: clamp(8px, 1.4cqh, 14px) clamp(6px, .9vw, 12px);--exercise-btn-min-height: clamp(58px, 10.5cqh, 78px);--bottom-btn-size: clamp(80px, 14.5cqh, 125px);--done-text-margin: clamp(3px, .9cqh, 7px);--done-text-size: clamp(.65rem, 2.5vw, .85rem);--cardio-map-height: clamp(60px, 12cqh, 95px);--tile-icon-size: clamp(27px, 4.2cqh, 35px);--tile-label-size: clamp(.68rem, 1.8cqh, .86rem);--tile-count-size: clamp(.72rem, 1.9cqh, .9rem)}.dashboard-slide-container .gap-responsive{gap:clamp(3px,1cqh,10px)}}
