*{margin:0;padding:0;box-sizing:border-box}html,body{overscroll-behavior:none}html{background:var(--bg-body);scroll-behavior:smooth;-webkit-overflow-scrolling:touch}body{font-family:Inter,sans-serif;color:var(--text-primary);background:var(--bg-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"kern" 1;text-rendering:optimizeLegibility}button,a,[role=button]{touch-action:manipulation;-webkit-user-drag:none;-webkit-tap-highlight-color:transparent}.is-static-page{overscroll-behavior:none}.tt-stat-num,.tt-weight-num,.tt-body-value,.cbc-master-count,.ct-ring-hours,.ct-ring-minutes,.ht-weekly-ring-text,[class*=-count],[class*=-num],[class*=-stat]{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}#root{min-height:100vh;min-height:100dvh;background:var(--bg-body);--safe-area-top: env(safe-area-inset-top, 0px);--safe-area-bottom: env(safe-area-inset-bottom, 0px);--safe-bottom: var(--safe-area-bottom);--nav-clearance: calc(80px + var(--safe-area-bottom))}@keyframes app-fade-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes app-spin{to{transform:rotate(360deg)}}@keyframes page-enter{0%{opacity:0}to{opacity:1}}.scroll-reveal,.scroll-reveal.revealed{opacity:1;transform:none}@keyframes ht-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes ws-wobble{0%{transform:rotate(-1deg)}to{transform:rotate(1deg)}}@keyframes ht-dot-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.85)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ringFillIn{0%{stroke-dashoffset:238.76}}@keyframes metricCompleteGlow{0%{filter:drop-shadow(0 0 0 transparent)}40%{filter:drop-shadow(0 0 10px rgba(var(--color-primary-rgb, 161, 47, 58),.5))}to{filter:drop-shadow(0 0 4px rgba(var(--color-primary-rgb, 161, 47, 58),.3))}}@keyframes water-bubble{0%{transform:translate(0) scale(.8);opacity:0}15%{opacity:.9}50%{transform:translate(3px,-40px) scale(1);opacity:.7}to{transform:translate(-3px,-80px) scale(.9);opacity:0}}@keyframes water-filled-pulse{0%,to{box-shadow:0 4px 20px #2e6faf61,0 0 22px #b4dcfa73}50%{box-shadow:0 6px 28px #2e6faf99,0 0 44px #b4dcfad9}}.water-filled{animation:water-filled-pulse 2.6s ease-in-out infinite}:root{--color-bg-base: #0F0F11;--color-bg-raised: #1A1A1D;--color-bg-elevated: #222226;--color-bg-sunken: #141416;--color-bg-active: #2C2B32;--color-bg-input: #17161A;--color-bg-glass: rgba(26, 26, 29, .6);--color-bg-glass-heavy: rgba(26, 26, 29, .8);--color-text-primary: #EEEEF0;--color-text-secondary: #B0B0B8;--color-text-muted: #6E6E78;--color-text-on-accent: #ffffff;--color-accent: #99313C;--color-accent-dark: #7A2430;--color-accent-hover: #B84050;--color-accent-soft: rgba(153, 49, 60, .12);--color-accent-rgb: 153, 49, 60;--color-accent-gradient-start: #99313C;--color-accent-gradient-end: #7A2430;--color-success: #4CAF6A;--color-success-soft: rgba(76, 175, 106, .12);--color-warning: #E8843C;--color-warning-soft: rgba(232, 132, 60, .12);--color-info: #4A90D9;--color-info-soft: rgba(74, 144, 217, .12);--color-gold: #D4A843;--plate-protein: var(--color-accent);--plate-water: var(--color-info);--plate-veg: var(--color-success);--color-border: #2C2B32;--color-border-subtle: rgba(255, 255, 255, .04);--color-border-highlight: rgba(255, 255, 255, .08);--space-0: 0;--space-px: 1px;--space-0\.5: .125rem;--space-1: .25rem;--space-1\.5: .375rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--content-max-width: 440px;--font-sans: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--font-body: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--font-size-hero: 3rem;--font-size-display: 3.75rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--font-weight-black: 900;--leading-none: 1;--leading-tight: 1.15;--leading-snug: 1.3;--leading-normal: 1.5;--tracking-tight: -.03em;--tracking-tighter: -.05em;--tracking-normal: 0;--tracking-wide: .05em;--tracking-caps: .1em;--letter-spacing-tight: -.03em;--letter-spacing-tighter: -.05em;--radius-sm: .5rem;--radius-md: .875rem;--radius-lg: 1.25rem;--radius-xl: 1.75rem;--radius-2xl: 2rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0,0,0,.3), 0 1px 1px rgba(0,0,0,.15);--shadow-md: 0 4px 12px rgba(0,0,0,.25), 0 2px 4px rgba(0,0,0,.15);--shadow-lg: 0 12px 32px rgba(0,0,0,.35), 0 4px 8px rgba(0,0,0,.2);--shadow-xl: 0 24px 48px rgba(0,0,0,.4), 0 8px 16px rgba(0,0,0,.25);--shadow-card: 0 2px 12px rgba(0,0,0,.3);--shadow-accent: 0 4px 20px rgba(var(--color-accent-rgb), .35);--shadow-ring-glow: drop-shadow(0 0 6px rgba(var(--color-accent-rgb), .4));--glow-crimson: 0 4px 20px rgba(var(--color-accent-rgb), .25), 0 1px 6px rgba(var(--color-accent-rgb), .18);--glow-accent-strong: var(--glow-crimson);--glow-success: 0 4px 20px rgba(76, 175, 106, .22), 0 1px 6px rgba(76, 175, 106, .14);--glow-warning: 0 4px 20px rgba(232, 132, 60, .22), 0 1px 6px rgba(232, 132, 60, .14);--glow-info: 0 4px 20px rgba(74, 144, 217, .22), 0 1px 6px rgba(74, 144, 217, .14);--glow-gold: 0 4px 20px rgba(212, 168, 67, .22), 0 1px 6px rgba(212, 168, 67, .14);--glow-accent: 0 0 24px rgba(var(--color-accent-rgb), .28), 0 0 48px rgba(var(--color-accent-rgb), .12);--glow-streak: var(--glow-warning);--tile-crimson: linear-gradient(135deg, var(--color-accent-gradient-start, #C93B4C) 0%, var(--color-accent-gradient-end, #8F2933) 100%);--tile-accent: linear-gradient(135deg, var(--color-accent-gradient-start, #C93B4C) 0%, var(--color-accent-gradient-end, #8F2933) 100%);--tile-orange: linear-gradient(135deg, var(--color-accent-gradient-start, #C93B4C) 0%, var(--color-accent-gradient-end, #8F2933) 100%);--tile-blue: linear-gradient(135deg, var(--color-accent-gradient-start, #C93B4C) 0%, var(--color-accent-gradient-end, #8F2933) 100%);--tile-green: linear-gradient(135deg, var(--color-accent-gradient-start, #C93B4C) 0%, var(--color-accent-gradient-end, #8F2933) 100%);--tile-gold: linear-gradient(135deg, var(--color-accent-gradient-start, #C93B4C) 0%, var(--color-accent-gradient-end, #8F2933) 100%);--tile-dark: rgba(0, 0, 0, .4);--ambient-crimson: radial-gradient(circle at 20% 30%, rgba(var(--color-accent-rgb), .15) 0%, transparent 50%);--ambient-accent: radial-gradient(circle at 20% 30%, rgba(var(--color-accent-rgb), .15) 0%, transparent 50%);--ambient-blue: radial-gradient(circle at 80% 70%, rgba(74, 144, 217, .08) 0%, transparent 50%);--ambient-warm: radial-gradient(circle at 50% 90%, rgba(232, 132, 60, .06) 0%, transparent 40%);--nav-bar-bg: rgba(15, 15, 17, .85);--nav-bar-border: 1px solid rgba(255, 255, 255, .06);--glass-bg: rgba(255, 255, 255, .05);--glass-bg-heavy: rgba(26, 26, 29, .82);--glass-blur: blur(14px);--glass-border: 1px solid rgba(255, 255, 255, .08);--glass-highlight: linear-gradient(180deg, rgba(255,255,255,.15) 0%, rgba(255,255,255,0) 1px), linear-gradient(180deg, rgba(255,255,255,.05) 0%, rgba(255,255,255,0) 40%);--glass-shadow: 0 6px 28px rgba(0, 0, 0, .18), 0 2px 4px rgba(0, 0, 0, .1), inset 0 1px 0 rgba(255, 255, 255, .08);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-standard: cubic-bezier(.4, 0, .2, 1);--ease-spring-bounce: cubic-bezier(.34, 1.56, .64, 1);--ease-spring-smooth: cubic-bezier(.22, 1, .36, 1);--ease-spring-sharp: cubic-bezier(.68, -.6, .32, 1.6);--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .4s;--duration-entrance: .5s;--z-base: 0;--z-elevated: 10;--z-sticky: 100;--z-nav: 900;--z-fab: 1000;--z-overlay: 1000;--z-modal: 2000;--z-toast: 3000;--overlay-bg: rgba(0, 0, 0, .75);--overlay-bg-heavy: rgba(0, 0, 0, .88);--time-morning: rgba(255, 248, 225, .05);--time-afternoon: rgba(227, 242, 253, .05);--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 20px;--space-2xl: 24px;--space-3xl: 32px;--space-4xl: 40px;--space-5xl: 48px;--font-xs: .65rem;--font-sm: .75rem;--font-base: .85rem;--font-md: .95rem;--font-lg: 1.1rem;--font-xl: 1.3rem;--font-2xl: 1.6rem;--font-3xl: 2rem;--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--spring-bounce: cubic-bezier(.34, 1.56, .64, 1);--spring-smooth: cubic-bezier(.22, 1, .36, 1);--spring-sharp: cubic-bezier(.68, -.6, .32, 1.6);--color-primary: var(--color-accent);--color-primary-dark: var(--color-accent-dark);--color-primary-light: var(--color-accent-soft);--color-primary-rgb: var(--color-accent-rgb);--color-primary-hover: var(--color-accent-hover);--bg-body: #121214;--bg-secondary: #141416;--bg-card: #1C1B1F;--bg-card-elevated: #24232A;--bg-card-active: #2C2B32;--bg-header: #1C1B1F;--bg-input: #17161A;--bg-skeleton: linear-gradient(90deg, #1C1B1F 25%, #28272E 50%, #1C1B1F 75%);--text-primary: #FFFFFF;--text-secondary: #B0B0B8;--text-tertiary: #6E6E78;--text-on-primary: #ffffff;--text-on-header: #ffffff;--border-color: #2C2B32;--border-light: rgba(255, 255, 255, .04);--border-highlight: rgba(255, 255, 255, .06);--color-success-bg: rgba(76, 175, 106, .12);--success-bg: rgba(76, 175, 106, .12);--success-text: #4CAF6A;--color-streak: #E8843C;--color-info-bg: rgba(74, 144, 217, .12);--color-error: #E8843C;--color-error-bg: rgba(232, 132, 60, .12);--color-warning-bg: rgba(232, 132, 60, .12);--accent-dim: rgba(var(--color-accent-rgb), .1);--accent-glow: rgba(var(--color-accent-rgb), .2);--shadow-primary: 0 4px 20px rgba(var(--color-accent-rgb), .35);--shadow-glow: 0 0 24px rgba(var(--color-accent-rgb), .15)}@media(min-width:768px){:root{--content-max-width: 720px}}@media(min-width:1024px){:root{--content-max-width: 900px}}[data-theme=light]{--color-bg-base: #F8F8FA;--color-bg-raised: #FFFFFF;--color-bg-elevated: #FFFFFF;--color-bg-sunken: #F0F0F3;--color-bg-active: #E8E8EC;--color-bg-input: #FFFFFF;--color-bg-glass: rgba(255, 255, 255, .75);--color-bg-glass-heavy: rgba(255, 255, 255, .9);--color-text-primary: #17161A;--color-text-secondary: #52525B;--color-text-muted: #8A8A94;--color-text-on-accent: #FFFFFF;--color-border: rgba(0, 0, 0, .08);--color-border-subtle: rgba(0, 0, 0, .04);--color-border-highlight: rgba(0, 0, 0, .06);--overlay-bg: rgba(15, 15, 17, .55);--overlay-bg-heavy: rgba(15, 15, 17, .72);--glass-bg: rgba(255, 255, 255, .65);--glass-bg-heavy: rgba(255, 255, 255, .88);--glass-border: 1px solid rgba(0, 0, 0, .06);--glass-highlight: linear-gradient(180deg, rgba(255,255,255,.6) 0%, rgba(255,255,255,0) 1px), linear-gradient(180deg, rgba(255,255,255,.15) 0%, rgba(255,255,255,0) 40%);--glass-shadow: 0 6px 28px rgba(0, 0, 0, .08), 0 2px 4px rgba(0, 0, 0, .04), inset 0 1px 0 rgba(255, 255, 255, .6);--shadow-sm: 0 1px 2px rgba(0,0,0,.06), 0 1px 1px rgba(0,0,0,.03);--shadow-md: 0 4px 12px rgba(0,0,0,.08), 0 2px 4px rgba(0,0,0,.04);--shadow-lg: 0 12px 32px rgba(0,0,0,.12), 0 4px 8px rgba(0,0,0,.06);--shadow-xl: 0 24px 48px rgba(0,0,0,.15), 0 8px 16px rgba(0,0,0,.08);--shadow-card: 0 2px 10px rgba(0,0,0,.06);--ambient-crimson: radial-gradient(circle at 20% 30%, rgba(var(--color-accent-rgb), .08) 0%, transparent 50%);--ambient-accent: radial-gradient(circle at 20% 30%, rgba(var(--color-accent-rgb), .08) 0%, transparent 50%);--ambient-blue: radial-gradient(circle at 80% 70%, rgba(74, 144, 217, .05) 0%, transparent 50%);--ambient-warm: radial-gradient(circle at 50% 90%, rgba(232, 132, 60, .04) 0%, transparent 40%);--nav-bar-bg: rgba(255, 255, 255, .88);--nav-bar-border: 1px solid rgba(0, 0, 0, .06);--bg-body: #F8F8FA;--bg-secondary: #F0F0F3;--bg-card: #FFFFFF;--bg-card-elevated: #FFFFFF;--bg-card-active: #E8E8EC;--bg-header: #FFFFFF;--bg-input: #FFFFFF;--bg-skeleton: linear-gradient(90deg, #F0F0F3 25%, #E8E8EC 50%, #F0F0F3 75%);--text-primary: #17161A;--text-secondary: #52525B;--text-tertiary: #8A8A94;--border-color: rgba(0, 0, 0, .08);--border-light: rgba(0, 0, 0, .04);--border-highlight: rgba(0, 0, 0, .06)}[data-mono=true]{--color-accent: #E8E8EC;--color-accent-dark: #B0B0B8;--color-accent-hover: #F0F0F3;--color-accent-soft: rgba(176, 176, 184, .14);--color-accent-rgb: 176, 176, 184;--color-accent-gradient-start: #E8E8EC;--color-accent-gradient-end: #B0B0B8;--color-text-on-accent: #17161A;--text-on-primary: #17161A;--text-on-header: #17161A;--ambient-crimson: radial-gradient(circle at 20% 30%, rgba(255, 255, 255, .04) 0%, transparent 50%);--ambient-accent: radial-gradient(circle at 20% 30%, rgba(255, 255, 255, .04) 0%, transparent 50%);--ambient-blue: radial-gradient(circle at 80% 70%, rgba(255, 255, 255, .03) 0%, transparent 50%);--ambient-warm: radial-gradient(circle at 50% 90%, rgba(255, 255, 255, .02) 0%, transparent 40%);--color-success: var(--color-text-primary);--color-success-soft: color-mix(in srgb, var(--color-text-primary) 8%, transparent);--color-warning: var(--color-text-primary);--color-warning-soft: color-mix(in srgb, var(--color-text-primary) 8%, transparent);--color-info: var(--color-text-primary);--color-info-soft: color-mix(in srgb, var(--color-text-primary) 8%, transparent);--color-gold: var(--color-text-primary);--tile-crimson: linear-gradient(135deg, var(--color-accent-gradient-start) 0%, var(--color-accent-gradient-end) 100%);--tile-accent: linear-gradient(135deg, var(--color-accent-gradient-start) 0%, var(--color-accent-gradient-end) 100%);--tile-orange: linear-gradient(135deg, var(--color-accent-gradient-start) 0%, var(--color-accent-gradient-end) 100%);--tile-blue: linear-gradient(135deg, var(--color-accent-gradient-start) 0%, var(--color-accent-gradient-end) 100%);--tile-green: linear-gradient(135deg, var(--color-accent-gradient-start) 0%, var(--color-accent-gradient-end) 100%);--tile-gold: linear-gradient(135deg, var(--color-accent-gradient-start) 0%, var(--color-accent-gradient-end) 100%);--glow-crimson: 0 4px 20px rgba(var(--color-accent-rgb), .22), 0 1px 6px rgba(var(--color-accent-rgb), .14);--glow-success: 0 4px 20px rgba(var(--color-accent-rgb), .22), 0 1px 6px rgba(var(--color-accent-rgb), .14);--glow-warning: 0 4px 20px rgba(var(--color-accent-rgb), .22), 0 1px 6px rgba(var(--color-accent-rgb), .14);--glow-info: 0 4px 20px rgba(var(--color-accent-rgb), .22), 0 1px 6px rgba(var(--color-accent-rgb), .14);--glow-gold: 0 4px 20px rgba(var(--color-accent-rgb), .22), 0 1px 6px rgba(var(--color-accent-rgb), .14);--glow-streak: 0 4px 20px rgba(var(--color-accent-rgb), .22), 0 1px 6px rgba(var(--color-accent-rgb), .14)}[data-mono=true][data-theme=light]{--color-accent: #2C2B32;--color-accent-dark: #17161A;--color-accent-hover: #52525B;--color-accent-soft: rgba(44, 43, 50, .08);--color-accent-rgb: 44, 43, 50;--color-accent-gradient-start: #2C2B32;--color-accent-gradient-end: #17161A;--color-text-on-accent: #FFFFFF;--text-on-primary: #FFFFFF;--text-on-header: #FFFFFF}[data-mono=true][data-theme=dark]{--glass-bg: rgba(28, 27, 31, .92);--glass-bg-heavy: rgba(28, 27, 31, .96);--glass-border: 1px solid rgba(255, 255, 255, .1)}[data-mono=true][data-theme=light]{--glass-bg: rgba(255, 255, 255, .95);--glass-bg-heavy: rgba(255, 255, 255, .98);--glass-border: 1px solid rgba(0, 0, 0, .08)}[data-mono=true][data-theme=dark] .cb-card,[data-mono=true][data-theme=dark] [data-glass]{background:#1c1b1feb;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}[data-mono=true][data-theme=light] .cb-card,[data-mono=true][data-theme=light] [data-glass]{background:#fffffff2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.cb-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:14px;padding:16px;box-shadow:var(--shadow-card)}.cb-page{min-height:100dvh;background:var(--bg-body);padding-bottom:calc(100px + var(--safe-area-bottom))}.cb-page-content{max-width:440px;margin:0 auto;padding:calc(20px + var(--safe-area-top)) 20px 24px;display:flex;flex-direction:column;gap:12px}.cb-loading{display:flex;align-items:center;justify-content:center;min-height:100dvh}.cb-loading-logo{width:80px;height:80px;border-radius:50%;border:2px solid var(--color-primary);object-fit:cover;animation:cb-pulse 1.5s ease-in-out infinite}@keyframes cb-pulse{0%,to{opacity:.5}50%{opacity:1}}@keyframes cb-spin{to{transform:rotate(360deg)}}.cb-overlay{position:fixed;inset:0;background:var(--overlay-bg);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:2050;padding:20px}.cb-modal{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:28px 24px;max-width:340px;width:100%;box-shadow:var(--shadow-lg)}.cb-toast{position:fixed;bottom:calc(80px + var(--safe-area-bottom, 0px));left:50%;transform:translate(-50%);padding:12px 24px;border-radius:var(--radius-md);font-family:Inter,sans-serif;font-size:.9rem;font-weight:500;color:var(--text-on-primary);background:var(--bg-card-elevated);z-index:2050;display:flex;align-items:center;gap:8px;box-shadow:var(--shadow-lg);animation:fade-up .3s var(--ease-out);max-width:85%;white-space:nowrap}.cb-toast.success{background:var(--color-success)}.cb-toast.error{background:var(--color-error)}.cb-toast.info{background:var(--color-info)}.cb-section-header{display:flex;align-items:center;justify-content:space-between}.cb-section-title{font-family:Plus Jakarta Sans,sans-serif;font-size:1rem;font-weight:700;color:var(--text-primary);margin:0;letter-spacing:-.01em}.cb-section-link{background:none;border:none;font-family:Inter,sans-serif;font-size:.78rem;font-weight:600;color:var(--color-primary);cursor:pointer;padding:0}.skeleton{background:var(--bg-skeleton);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-md)}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.pressable{transition:transform var(--duration-fast) var(--ease-out);-webkit-tap-highlight-color:transparent;cursor:pointer}.pressable:active{transform:scale(.97)}@keyframes fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.success-checkmark{width:80px;height:80px;margin:0 auto 20px}.success-checkmark .circle{fill:none;stroke:var(--color-success);stroke-width:3;stroke-dasharray:166;stroke-dashoffset:0}.success-checkmark .check{fill:none;stroke:var(--color-success);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:50;stroke-dashoffset:0}.session-card.today-session{border-color:var(--color-primary);background:var(--color-primary-light)}.session-card.today-session .session-date{color:var(--color-primary)}.empty-state{text-align:center;padding:var(--space-4xl) var(--space-xl)}.empty-state-icon{width:80px;height:80px;margin:0 auto 20px;opacity:.6;background:var(--accent-dim);border-radius:20px;display:flex;align-items:center;justify-content:center}.empty-state-icon svg{width:40px;height:40px;color:var(--color-primary)}.empty-state h4{font-family:Plus Jakarta Sans,sans-serif;font-size:1.1rem;font-weight:800;color:var(--text-primary);margin:0 0 6px;letter-spacing:-.02em}.empty-state p{font-family:Inter,sans-serif;font-size:.88rem;color:var(--text-tertiary);margin:0;line-height:1.5}.pull-refresh-indicator{display:flex;align-items:center;justify-content:center;background:var(--bg-body);overflow:hidden;transition:height .15s ease-out;opacity:0}.pull-refresh-indicator.visible{opacity:1}.pull-refresh-indicator.refreshing{height:60px!important}.pull-refresh-logo{width:36px;height:36px;border-radius:50%;transition:transform .15s ease-out;will-change:transform}.pull-refresh-logo img{width:100%;height:100%;border-radius:50%;object-fit:cover}.pull-refresh-pumping{animation:pull-pump .8s ease-in-out infinite}@keyframes pull-pump{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.cb-card-content h3,.cb-nudge-title-text,.cb-journey-title,.cb-coach-msg,.cb-celebration-title,.cb-weekly-celebration-card h4,.cb-metric-rings-title,.cb-target-picker h4,.prf-section-title,.prf-name,.bdg-title,.bdg-category-title,.cbc-section-title,.cbm-title,.cbm-section-title,.cbm-banner-title,.cbm-setup-heading,.bldr-title,.bldr-section-title,.wk-section-header h2,.wk-hub-heading h2,.wk-hub-card-body h3,.wk-menu-heading h2,.wk-hero-bottom h3,.wk-prog-hero-bottom h3,.wk-muscle-hero-name,.wk-landing-card-body h3,.mg-sessions-header h2,.mg-session-info h3,.mg-overview-title-row h2,.mg-overview-section h3,.pg-overview-name,.pg-browse-name,.pg-dash-name,.pg-next-session h3,.pg-week-label,.nut-setup-intro h2,.nut-meal-card-title,.nut-add-picker-title,.nut-calc-results h3,.nut-modal-header h3,.nut-log-section h3,.pb-intro h2,.pb-trend-section h4,.pb-target-section-title,.pb-metrics-card h3,.pb-edit-header h3,.lb-title,.lb-optin-title,.ch-title,.ch-card-body h3,.ch-completed-heading,.welcome-section h2,.block-info-card h3,.daily-quote-label,.daily-quote-cta-title,.core-buddy-cta-title,.completed-section h3,.modal-header h3,.confirm-modal h3,.header-left h1,.view-header h2,.page-header h1,.acb-header h1,.acb-main h2,.tools-intro h2,.forms-intro h2,.form-header h2,.today-summary h3,.calendar-header h3,.availability-header h3,.client-section-header,.client-name-text h3,.cb-header h1,.cb-class-info h2,.locked-feature-card h2{font-weight:800!important}.cb-timer-digit,.cb-timer-colon,.cb-ring-countdown,.bldr-timer-digit,.bldr-timer-colon,.bldr-countdown,.timer-digit,.timer-colon,.ring-timer-countdown{font-weight:900!important}@keyframes page-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}button,[role=button],a{touch-action:manipulation;-webkit-touch-callout:none}.cb-scroll-hidden::-webkit-scrollbar{display:none}.cb-scroll-hidden{scrollbar-width:none;-ms-overflow-style:none}button,[role=button],.cb-btn,.obv2-cta{transition:transform .12s ease,opacity .12s ease;-webkit-tap-highlight-color:transparent}button:active:not(:disabled),[role=button]:active,.cb-btn:active,.obv2-cta:active{transform:scale(.96);opacity:.85}[class*=-card]:active,[class*=-item]:active{transform:scale(.98);transition:transform .1s ease}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--bg-card) 25%,rgba(255,255,255,.06) 50%,var(--bg-card) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.8s ease-in-out infinite;border-radius:14px}@keyframes confetti-pop{0%{transform:scale(0) rotate(0);opacity:1}50%{transform:scale(1.2) rotate(180deg);opacity:1}to{transform:scale(0) rotate(360deg);opacity:0}}@keyframes celebration-glow{0%{box-shadow:0 0 #4caf6a66}50%{box-shadow:0 0 20px 10px #4caf6a33}to{box-shadow:0 0 #4caf6a00}}@keyframes success-check{0%{transform:scale(0);opacity:0}50%{transform:scale(1.3)}to{transform:scale(1);opacity:1}}@keyframes count-up{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes stagger-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes ring-fill{0%{stroke-dashoffset:var(--ring-circumference, 283)}to{stroke-dashoffset:var(--ring-target, 0)}}@keyframes slide-up{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slide-down-out{0%{transform:translateY(0);opacity:1}to{transform:translateY(20px);opacity:0}}@keyframes gentle-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}@keyframes toast-in{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes toast-out{0%{transform:translateY(0);opacity:1}to{transform:translateY(-100%);opacity:0}}@keyframes num-tick{0%{transform:translateY(0)}50%{transform:translateY(-3px)}to{transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.toast-notification{animation:toast-in .3s cubic-bezier(.4,0,.2,1)}@keyframes spinRing{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulseBorder{0%,to{transform:scale(1);box-shadow:var(--glow-crimson)}50%{transform:scale(1.06);box-shadow:0 0 36px color-mix(in srgb,var(--color-accent) 55%,transparent)}}@media(prefers-reduced-motion:reduce){:root{--glass-blur: none}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){:root{--glass-bg: rgba(26, 26, 29, .9);--glass-bg-heavy: rgba(26, 26, 29, .96);--glass-blur: none}}@media(hover:none)and (pointer:coarse){input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]):not([type=submit]):not([type=button]):not([type=reset]),textarea,select{font-size:16px!important}}.cb-nav-tab:focus{outline:none}.cb-nav-tab:focus-visible{outline:2px solid var(--color-accent);outline-offset:-4px;border-radius:8px}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.hidden{display:none}.flex{display:flex}.inline-flex{display:inline-flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1 1 0%}.flex-none{flex:none}.flex-shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.items-baseline{align-items:baseline}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.self-start{align-self:flex-start}.self-center{align-self:center}.self-end{align-self:flex-end}.gap-0{gap:0}.gap-1{gap:var(--space-1)}.gap-1\.5{gap:var(--space-1\.5)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-5{gap:var(--space-5)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.p-0{padding:0}.p-1{padding:var(--space-1)}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.p-5{padding:var(--space-5)}.p-6{padding:var(--space-6)}.p-8{padding:var(--space-8)}.px-0{padding-inline:0}.px-2{padding-inline:var(--space-2)}.px-3{padding-inline:var(--space-3)}.px-4{padding-inline:var(--space-4)}.px-5{padding-inline:var(--space-5)}.px-6{padding-inline:var(--space-6)}.py-0{padding-block:0}.py-1{padding-block:var(--space-1)}.py-2{padding-block:var(--space-2)}.py-3{padding-block:var(--space-3)}.py-4{padding-block:var(--space-4)}.py-5{padding-block:var(--space-5)}.pt-0{padding-top:0}.pt-2{padding-top:var(--space-2)}.pt-4{padding-top:var(--space-4)}.pb-0{padding-bottom:0}.pb-2{padding-bottom:var(--space-2)}.pb-4{padding-bottom:var(--space-4)}.m-0{margin:0}.m-auto{margin:auto}.mx-auto{margin-inline:auto}.mt-0{margin-top:0}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.ml-auto{margin-left:auto}.mr-auto{margin-right:auto}.w-full{width:100%}.w-auto{width:auto}.max-w-sm{max-width:24rem}.max-w-md{max-width:28rem}.max-w-lg{max-width:32rem}.max-w-page{max-width:440px}.min-h-screen{min-height:100dvh}.h-full{height:100%}.font-sans{font-family:var(--font-sans)}.font-body{font-family:var(--font-body)}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.text-3xl{font-size:var(--font-size-3xl)}.text-4xl{font-size:var(--font-size-4xl)}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.leading-none{line-height:var(--leading-none)}.leading-tight{line-height:var(--leading-tight)}.leading-snug{line-height:var(--leading-snug)}.leading-normal{line-height:var(--leading-normal)}.tracking-tight{letter-spacing:var(--tracking-tight)}.tracking-normal{letter-spacing:var(--tracking-normal)}.tracking-wide{letter-spacing:var(--tracking-wide)}.tracking-caps{letter-spacing:var(--tracking-caps);text-transform:uppercase}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.tabular-nums{font-variant-numeric:tabular-nums}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.text-accent{color:var(--color-accent)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-on-accent{color:var(--color-text-on-accent)}.bg-base{background:var(--color-bg-base)}.bg-raised{background:var(--color-bg-raised)}.bg-elevated{background:var(--color-bg-elevated)}.bg-glass{background:var(--color-bg-glass);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.bg-accent{background:var(--color-accent)}.bg-accent-soft{background:var(--color-accent-soft)}.bg-success-soft{background:var(--color-success-soft)}.bg-warning-soft{background:var(--color-warning-soft)}.border{border:1px solid var(--color-border)}.border-subtle{border:1px solid var(--color-border-subtle)}.border-highlight{border:var(--glass-border)}.border-accent{border:1px solid rgba(var(--color-accent-rgb),.2)}.border-none{border:none}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:var(--radius-full)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.shadow-card{box-shadow:var(--shadow-card)}.shadow-none{box-shadow:none}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.inset-0{inset:0}.top-0{top:0}.bottom-0{bottom:0}.left-0{left:0}.right-0{right:0}.z-base{z-index:var(--z-base)}.z-elevated{z-index:var(--z-elevated)}.z-sticky{z-index:var(--z-sticky)}.z-overlay{z-index:var(--z-overlay)}.z-modal{z-index:var(--z-modal)}.z-toast{z-index:var(--z-toast)}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.cursor-pointer{cursor:pointer}.select-none{user-select:none}.pointer-events-none{pointer-events:none}.no-tap-highlight{-webkit-tap-highlight-color:transparent}.appearance-none{appearance:none}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}.invisible{visibility:hidden}.transition-fast{transition:all var(--duration-fast) var(--ease-out)}.transition-normal{transition:all var(--duration-normal) var(--ease-out)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}
