.consent-banner.svelte-czeok0{z-index:1200;border:1px solid var(--border-subtle);background:var(--bg-elevated);border-radius:14px;justify-content:space-between;align-items:center;gap:18px;max-width:920px;margin:0 auto;padding:16px;display:flex;position:fixed;bottom:16px;left:16px;right:16px;box-shadow:0 16px 50px #00000047}.copy.svelte-czeok0{color:var(--text-primary);gap:4px;display:grid}.copy.svelte-czeok0 span:where(.svelte-czeok0){color:var(--text-secondary);font-size:13px;line-height:1.45}a.svelte-czeok0{color:var(--accent);font-weight:700}.choices.svelte-czeok0{flex-shrink:0;gap:10px;display:flex}.choice-button.svelte-czeok0{border:1px solid var(--accent);min-height:40px;color:var(--text-primary);cursor:pointer;background:0 0;border-radius:10px;padding:8px 14px;font-weight:700}.choice-button.svelte-czeok0:hover{background:color-mix(in srgb, var(--accent) 14%, transparent)}.choice-button.svelte-czeok0:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (width<=650px){.consent-banner.svelte-czeok0{flex-direction:column;align-items:stretch}.choices.svelte-czeok0{grid-template-columns:1fr 1fr;display:grid}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--canvas:#101513;--surface:#171d1a;--surface-raised:#202823;--surface-soft:#1b221e;--ink:#f5f6f2;--ink-secondary:#c8cfca;--muted:#a9b2ac;--muted-strong:#8e9992;--border:#303a34;--border-strong:#46524b;--primary:#ff8a62;--primary-hover:#ff9d7d;--primary-active:#e97651;--primary-ink:#24110a;--primary-soft:#ff8a6221;--primary-soft-strong:#ff8a6233;--success:#65c47d;--success-soft:#65c47d21;--warning:#efb85b;--warning-soft:#efb85b24;--error:#ff7c75;--error-soft:#ff7c7524;--info:#73aef5;--info-soft:#73aef524;--metric-power:#ff8a62;--metric-heart-rate:#f16f78;--metric-duration:#73aef5;--metric-distance:#65c47d;--metric-elevation:#b794e8;--metric-load:#efb85b;--metric-intensity:#5dc9c2;--metric-cadence:#9ea9a2;--chart-grid:#a9b2ac29;--chart-tooltip:#273029;--chart-series-1:#ff8a62;--chart-series-2:#73aef5;--chart-series-3:#65c47d;--chart-series-4:#b794e8;--chart-series-5:#efb85b;--zone-1:#8e9992;--zone-2:#73aef5;--zone-3:#65c47d;--zone-4:#efb85b;--zone-5:#ff8a62;--zone-6:#f16f78;--zone-7:#b794e8;--font-sans:"DM Sans", "DM Sans Fallback", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "SFMono-Regular", Consolas, monospace;--text-xs:.8125rem;--text-sm:.9375rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:clamp(1.45rem, 2vw, 1.75rem);--text-3xl:clamp(1.85rem, 3vw, 2.5rem);--text-4xl:clamp(2.4rem, 5vw, 4.5rem);--spacing-2xs:.125rem;--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--spacing-xxl:var(--spacing-2xl);--spacing-3xl:4.5rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-xl:24px;--radius-2xl:32px;--radius-full:9999px;--shadow-sm:0 1px 2px #0000002e, 0 8px 24px #00000014;--shadow-xs:0 1px 2px #0000001f;--shadow-md:0 12px 34px #0000002e;--shadow-lg:0 22px 60px #00000047;--shadow-xl:0 32px 84px #00000057;--ease-standard:cubic-bezier(.2, 0, 0, 1);--transition-fast:.16s var(--ease-standard);--transition-normal:.2s var(--ease-standard);--transition-slow:.22s var(--ease-standard);--focus-ring:0 0 0 3px #ff8a6252;--modal-backdrop:#060a08b8;--z-mobile-nav:1000;--z-modal:1200;--page-wide:1600px;--page-width-wide:var(--page-wide);--page-standard:1200px;--page-reading:760px;--page-gutter:clamp(16px, 2.4vw, 36px);--rail-expanded:248px;--rail-collapsed:72px;--mobile-topbar-height:64px;--mobile-nav-height:68px;--bg-default:var(--canvas);--bg-surface:var(--surface);--bg-elevated:var(--surface-raised);--bg-secondary:var(--surface-raised);--bg-tertiary:var(--surface-soft);--bg-header:var(--surface);--bg-card:var(--surface);--surface-2:var(--surface-raised);--surface-elevated:var(--surface-raised);--surface-hover:var(--surface-raised);--input-bg:var(--surface-raised);--text-primary:var(--ink);--text-secondary:var(--ink-secondary);--text-muted:var(--muted);--text-disabled:var(--muted-strong);--text:var(--ink);--font-sm:var(--text-sm);--text-md:var(--text-base);--border-subtle:var(--border);--divider:var(--border);--accent:var(--primary);--accent-hover:var(--primary-hover);--accent-color:var(--primary);--accent-rgb:255, 138, 98;--accent-bg:var(--primary-soft);--accent-subtle:color-mix(in srgb, var(--primary) 28%, var(--border));--primary-dark:var(--primary-active);--secondary:var(--surface-raised);--secondary-hover:#2a342e;--danger:#d95953;--danger-soft:var(--error-soft);--danger-hover:#ed6962;--library:#a783d9;--library-hover:#b99be2;--btn-primary-text:var(--primary-ink);--on-primary:var(--primary-ink);--btn-secondary-text:var(--ink);--btn-accent-text:var(--primary-ink);--btn-danger-text:#fff;--btn-library-text:#fff;--header-text-primary:var(--ink);--header-text-secondary:var(--muted);--sign-out-color:var(--error);--sign-out-color-hover:#ff9690;--card-bg:var(--surface);--card-bg-gradient:linear-gradient(145deg, var(--surface-raised), var(--surface));--card-border-color:var(--border);--card-shadow:var(--shadow-sm);--transition-smooth:var(--transition-normal);--authenticated-shell-width:var(--page-wide);--authenticated-shell-gutter:var(--page-gutter);--header-height:var(--mobile-topbar-height);--power:var(--metric-power);--power-dark:#dc6f4d;--heart-rate:var(--metric-heart-rate);--heart-rate-dark:#d35661;--duration:var(--metric-duration);--distance:var(--metric-distance);--elevation:var(--metric-elevation);--load:var(--metric-load);--intensity:var(--metric-intensity);--cadence:var(--metric-cadence);--work:var(--metric-heart-rate);--recovery:var(--metric-distance);--fitness:var(--metric-duration);--fatigue:var(--metric-elevation);--form-optimal:var(--success);--form-fresh:var(--info);--form-tired:var(--error);--form-transition:var(--warning);--rhr:var(--metric-heart-rate);--hrv:var(--metric-distance);--sleep:var(--metric-elevation);--readiness-good:var(--success);--readiness-ok:var(--warning);--readiness-low:var(--error);--chat-user:var(--surface-raised);--chat-coach:var(--primary-soft-strong)}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--canvas:#f5f3ee;--surface:#fff;--surface-raised:#f0eee8;--surface-soft:#faf9f6;--ink:#18201c;--ink-secondary:#465149;--muted:#647068;--muted-strong:#7f8982;--border:#dde2dc;--border-strong:#c1cac2;--primary:#b94f31;--primary-hover:#a54228;--primary-active:#8e361f;--primary-ink:#fff;--primary-soft:#b94f3117;--primary-soft-strong:#b94f3126;--success:#287a43;--success-soft:#287a431a;--warning:#95600b;--warning-soft:#95600b1a;--error:#b93c37;--error-soft:#b93c371a;--info:#2469a8;--info-soft:#2469a81a;--metric-power:#b94f31;--metric-heart-rate:#c2434f;--metric-duration:#2469a8;--metric-distance:#287a43;--metric-elevation:#7650a5;--metric-load:#95600b;--metric-intensity:#147a74;--metric-cadence:#647068;--chart-grid:#6470682e;--chart-tooltip:#fff;--chart-series-1:#b94f31;--chart-series-2:#2469a8;--chart-series-3:#287a43;--chart-series-4:#7650a5;--chart-series-5:#95600b;--zone-1:#7f8982;--zone-2:#3678b4;--zone-3:#368451;--zone-4:#a66a0c;--zone-5:#c45a38;--zone-6:#c2434f;--zone-7:#7650a5;--shadow-sm:0 1px 2px #18201c0a, 0 8px 24px #18201c09;--shadow-md:0 16px 42px #18201c14;--shadow-lg:0 24px 64px #18201c1f;--shadow-xl:0 34px 90px #18201c26;--focus-ring:0 0 0 3px #b94f313d;--modal-backdrop:#18201c85;--accent-rgb:185, 79, 49;--secondary-hover:#e5e2dc;--danger:#b93c37;--danger-hover:#a32e2a;--library:#7650a5;--library-hover:#633d92}@font-face{font-family:DM Sans Fallback;src:local(Arial);size-adjust:104%;ascent-override:92%;descent-override:22%;line-gap-override:0%}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--canvas);min-width:320px;font-size:16px}body{min-width:320px;min-height:100vh;font-family:var(--font-sans);color:var(--ink);background:radial-gradient(circle at 84% -15%, var(--primary-soft), transparent 32rem), var(--canvas);margin:0;line-height:1.55;overflow-x:hidden}body:has(.base-modal-overlay) .mobile-tab-bar{visibility:hidden;pointer-events:none}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}img,svg{max-width:100%}h1,h2,h3,h4,h5,h6{margin:0 0 var(--spacing-sm);color:var(--ink);letter-spacing:-.025em;text-wrap:balance;font-weight:650;line-height:1.15}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}h4{font-size:var(--text-lg)}p{margin:0 0 var(--spacing-md)}a{color:var(--primary);transition:color var(--transition-fast), background-color var(--transition-fast), border-color var(--transition-fast);text-decoration:none}a:not(.btn):hover{color:var(--primary-hover)}button{color:inherit}::selection{color:var(--ink);background:var(--primary-soft-strong)}:focus-visible{outline:2px solid var(--primary);outline-offset:3px;box-shadow:var(--focus-ring)}.btn{border-radius:var(--radius-md);min-height:44px;font-size:var(--text-sm);cursor:pointer;transition:transform var(--transition-fast), color var(--transition-fast), background-color var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);border:1px solid #0000;justify-content:center;align-items:center;gap:.55rem;padding:.65rem 1rem;font-weight:700;line-height:1.15;text-decoration:none;display:inline-flex}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled,.btn[aria-disabled=true]{opacity:.52;cursor:not-allowed;transform:none}.btn-primary,.btn-accent{color:var(--primary-ink);background:var(--primary);box-shadow:0 7px 20px var(--primary-soft-strong)}.btn-primary:hover:not(:disabled),.btn-accent:hover:not(:disabled){color:var(--primary-ink);background:var(--primary-hover)}.btn-secondary{color:var(--ink);background:var(--surface-raised);border-color:var(--border)}.btn-secondary:hover:not(:disabled){color:var(--ink);background:var(--secondary-hover);border-color:var(--border-strong)}.btn-ghost{color:var(--ink-secondary);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){color:var(--ink);background:var(--surface-raised)}.btn-danger{color:#fff;background:var(--danger)}.btn-danger:hover:not(:disabled){color:#fff;background:var(--danger-hover)}.icon-button,.btn-icon{width:44px;min-width:44px;height:44px;color:var(--ink-secondary);border-radius:var(--radius-md);cursor:pointer;transition:color var(--transition-fast), background-color var(--transition-fast), border-color var(--transition-fast);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-button:hover,.btn-icon:hover{color:var(--ink);background:var(--surface-raised);border-color:var(--border)}label{margin-bottom:var(--spacing-xs);color:var(--ink-secondary);font-size:var(--text-sm);font-weight:650;display:block}input,textarea,select{width:100%;min-height:44px;color:var(--ink);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color var(--transition-fast), box-shadow var(--transition-fast), background-color var(--transition-fast);padding:.65rem .8rem}textarea{resize:vertical;min-height:112px}input[type=checkbox],input[type=radio]{width:18px;min-height:18px;accent-color:var(--primary)}input:hover,textarea:hover,select:hover{border-color:var(--border-strong)}input:focus,textarea:focus,select:focus{border-color:var(--primary);box-shadow:var(--focus-ring);outline:0}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.86}.container{width:min(100%, var(--page-standard));padding-inline:var(--page-gutter);margin-inline:auto}.page-frame{width:min(100%, var(--page-standard));padding:clamp(20px, 3vw, 40px) var(--page-gutter) clamp(44px, 5vw, 72px);margin-inline:auto}.page-frame--wide{max-width:var(--page-wide)}.page-frame--reading{max-width:var(--page-reading)}.page-frame--flush{padding-top:0}.card,.surface,.section-card{color:var(--ink);background:color-mix(in srgb, var(--surface) 97%, transparent);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card,.section-card{padding:clamp(16px,2vw,24px)}.card-header,.section-card__header{justify-content:space-between;align-items:flex-start;gap:var(--spacing-md);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border);display:flex}.card-title{font-size:var(--text-lg);margin:0;font-weight:700}.eyebrow{margin:0 0 var(--spacing-sm);color:var(--primary);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.4rem;font-weight:700;display:inline-flex}.supporting-copy{color:var(--muted);font-size:var(--text-sm)}.badge{min-height:24px;color:var(--ink-secondary);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-full);font-size:var(--text-xs);white-space:nowrap;align-items:center;gap:.35rem;padding:.2rem .55rem;font-weight:700;line-height:1;display:inline-flex}.badge--success{color:var(--success);background:var(--success-soft);border-color:color-mix(in srgb, var(--success) 30%, transparent)}.badge--warning{color:var(--warning);background:var(--warning-soft);border-color:color-mix(in srgb, var(--warning) 30%, transparent)}.badge--error{color:var(--error);background:var(--error-soft);border-color:color-mix(in srgb, var(--error) 30%, transparent)}.badge--info{color:var(--info);background:var(--info-soft);border-color:color-mix(in srgb, var(--info) 30%, transparent)}.segmented-control{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-md);align-items:center;gap:3px;padding:3px;display:inline-flex}.segmented-control>button,.segmented-control>a{min-height:36px;color:var(--muted);font-size:var(--text-sm);cursor:pointer;background:0 0;border:0;border-radius:9px;justify-content:center;align-items:center;padding:.45rem .75rem;font-weight:700;display:inline-flex}.segmented-control>.active,.segmented-control>[aria-selected=true],.segmented-control>[aria-current=page]{color:var(--ink);background:var(--surface);box-shadow:var(--shadow-sm)}.metric,.metric-tile{flex-direction:column;gap:.2rem;display:flex}.metric-tile{min-height:104px;padding:var(--spacing-md);background:var(--surface-soft);border:1px solid var(--border);border-radius:var(--radius-md);justify-content:space-between}.metric-label{color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.045em;text-transform:uppercase;font-weight:600}.metric-value{color:var(--ink);font-family:var(--font-mono);font-size:var(--text-xl);letter-spacing:-.035em;font-weight:700}.metric-power{color:var(--metric-power)}.metric-hr{color:var(--metric-heart-rate)}.metric-duration{color:var(--metric-duration)}.metric-distance{color:var(--metric-distance)}.metric-elevation{color:var(--metric-elevation)}.metric-load{color:var(--metric-load)}.metric-intensity{color:var(--metric-intensity)}.alert{align-items:flex-start;gap:var(--spacing-sm);color:var(--ink-secondary);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-md);padding:.9rem 1rem;display:flex}.alert--error{background:var(--error-soft);border-color:color-mix(in srgb, var(--error) 28%, var(--border))}.alert--warning{background:var(--warning-soft);border-color:color-mix(in srgb, var(--warning) 28%, var(--border))}.alert--info{background:var(--info-soft);border-color:color-mix(in srgb, var(--info) 28%, var(--border))}.alert--success{background:var(--success-soft);border-color:color-mix(in srgb, var(--success) 28%, var(--border))}.empty-state{text-align:center;min-height:220px;color:var(--muted);background:var(--surface-soft);border:1px dashed var(--border-strong);border-radius:var(--radius-lg);place-items:center;padding:clamp(28px,6vw,64px);display:grid}.empty-state>*{max-width:34rem}.skeleton,.skeleton-line,.skeleton-block{background:var(--surface-raised);border-radius:var(--radius-sm);position:relative;overflow:hidden}.skeleton:after,.skeleton-line:after,.skeleton-block:after{content:"";background:linear-gradient(100deg, transparent 20%, color-mix(in srgb, var(--ink) 7%, transparent) 50%, transparent 80%);animation:1.4s infinite skeleton-shimmer;position:absolute;inset:0;transform:translate(-100%)}.skeleton-line{height:.8rem}.skeleton-block{min-height:120px}table{border-collapse:collapse;width:100%}th{color:var(--muted);font-size:var(--text-xs);letter-spacing:.045em;text-align:left;text-transform:uppercase;font-weight:700}th,td{border-bottom:1px solid var(--border);padding:.8rem .9rem}tbody tr{transition:background-color var(--transition-fast)}tbody tr:hover{background:var(--surface-soft)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes skeleton-shimmer{to{transform:translate(100%)}}@keyframes icon-spin{to{transform:rotate(360deg)}}.icon.spinning{animation:.8s linear infinite icon-spin}.animate-fade-in,.animate-slide-up{animation:fade-in var(--transition-normal) both}.animate-pulse{animation:1.5s infinite skeleton-shimmer}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-full);background-clip:padding-box;border:2px solid #0000}::-webkit-scrollbar-thumb:hover{background-color:var(--muted)}@media (width<=767px){.page-frame{padding-top:20px;padding-bottom:calc(34px + env(safe-area-inset-bottom,0px))}.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:minmax(0,1fr)}.segmented-control{max-width:100%;overflow-x:auto}th,td{padding-inline:.7rem}}@media (hover:none) and (pointer:coarse){.hover-only{display:none!important}}@media (hover:hover) and (pointer:fine){.touch-only{display:none!important}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
