:root,html[data-theme=cobalt]{--bg:#0b1120;--bg-elevated:#111827;--bg-card:rgba(30,41,59,.72);--bg-card-solid:#1e293b;--bg-card-2:#334155;--surface:rgba(15,23,42,.6);--border:rgba(148,163,184,.22);--border-strong:rgba(148,163,184,.38);--text:#f8fafc;--text-muted:#94a3b8;--green:#34d399;--green-dim:rgba(52,211,153,.14);--amber:#fbbf24;--amber-dim:rgba(251,191,36,.14);--red:#f87171;--red-dim:hsla(0,91%,71%,.14);--blue:#60a5fa;--blue-dim:rgba(96,165,250,.16);--info:#38bdf8;--accent:#818cf8;--accent-2:#22d3ee;--hover-fill:hsla(0,0%,100%,.05);--nav-active-bg:linear-gradient(135deg,rgba(96,165,250,.22),rgba(129,140,248,.14));--nav-active-ring:rgba(96,165,250,.35);--sidebar-bg:linear-gradient(180deg,rgba(15,23,42,.98),rgba(17,24,39,.95));--bg-glow-1:rgba(96,165,250,.12);--bg-glow-2:rgba(129,140,248,.08);--input-bg:rgba(15,23,42,.55);--bubble-user:rgba(96,165,250,.18);--bubble-assistant:rgba(30,41,59,.85);--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--shadow-sm:0 1px 2px rgba(0,0,0,.25);--shadow-md:0 8px 24px rgba(0,0,0,.28);--shadow-lg:0 16px 48px rgba(0,0,0,.35);--ease-out:cubic-bezier(0.22,1,0.36,1);--radius:var(--radius-md);--surface-muted:rgba(15,23,42,.4);--btn-face:rgba(51,65,85,.65);--btn-face-hover:rgba(71,85,105,.85);--btn-primary-bg:linear-gradient(135deg,#3b82f6,#4f46e5);--btn-primary-bg-hover:linear-gradient(135deg,#2563eb,#4338ca);--btn-primary-shadow:0 4px 14px rgba(59,130,246,.28);--btn-primary-shadow-hover:0 6px 18px rgba(59,130,246,.35);--chrome-sticky:color-mix(in srgb,var(--bg-elevated) 88%,transparent);--selection-bar-bg:linear-gradient(135deg,color-mix(in srgb,var(--accent-2) 16%,transparent) 0%,color-mix(in srgb,var(--bg-elevated) 92%,transparent) 55%);--selection-bar-border:color-mix(in srgb,var(--accent-2) 42%,transparent);--press-scale:0.97;--surface-2:var(--bg-card-2);--overlay-scrim:color-mix(in srgb,var(--bg) 72%,transparent);--chart-tooltip-bg:var(--bg-card-solid);--chart-tooltip-border:var(--border-strong);--chart-tooltip-fg:var(--text);--chart-tooltip-muted:var(--text-muted);--chart-grid:color-mix(in srgb,var(--border) 55%,transparent);--chart-axis:var(--text-muted);--sidebar-w:236px;color-scheme:dark}html[data-theme=dark]{--bg:#121212;--bg-elevated:#1a1a1a;--bg-card:rgba(32,32,32,.88);--bg-card-solid:#242424;--bg-card-2:#333;--surface:hsla(0,0%,8%,.72);--border:hsla(0,0%,100%,.12);--border-strong:hsla(0,0%,100%,.22);--text:#f3f3f3;--text-muted:#a3a3a3;--green:#4ade80;--green-dim:rgba(74,222,128,.14);--amber:#fbbf24;--amber-dim:rgba(251,191,36,.14);--red:#f87171;--red-dim:hsla(0,91%,71%,.14);--blue:#93c5fd;--blue-dim:rgba(147,197,253,.14);--info:#7dd3fc;--accent:#a78bfa;--accent-2:#67e8f9;--hover-fill:hsla(0,0%,100%,.06);--nav-active-bg:linear-gradient(135deg,hsla(0,0%,100%,.12),rgba(167,139,250,.14));--nav-active-ring:hsla(0,0%,100%,.2);--sidebar-bg:linear-gradient(180deg,#161616,#121212);--bg-glow-1:hsla(0,0%,100%,.04);--bg-glow-2:rgba(167,139,250,.06);--input-bg:hsla(0,0%,4%,.65);--bubble-user:hsla(0,0%,100%,.1);--bubble-assistant:rgba(36,36,36,.95);--shadow-sm:0 1px 2px rgba(0,0,0,.4);--shadow-md:0 8px 24px rgba(0,0,0,.45);--surface-muted:hsla(0,0%,100%,.05);--btn-face:hsla(0,0%,100%,.08);--btn-face-hover:hsla(0,0%,100%,.14);--btn-primary-bg:linear-gradient(135deg,#60a5fa,#818cf8);--btn-primary-bg-hover:linear-gradient(135deg,#3b82f6,#6366f1);--btn-primary-shadow:0 4px 14px rgba(0,0,0,.35);--btn-primary-shadow-hover:0 6px 18px rgba(0,0,0,.4);--shadow-lg:0 16px 48px rgba(0,0,0,.55);color-scheme:dark}html[data-theme=oled]{--bg:#000;--bg-elevated:#050505;--bg-card:hsla(0,0%,5%,.96);--bg-card-solid:#0c0c0c;--bg-card-2:#1a1a1a;--surface:rgba(0,0,0,.8);--border:hsla(0,0%,100%,.1);--border-strong:hsla(0,0%,100%,.18);--text:#f5f5f5;--text-muted:#8a8a8a;--green:#34d399;--green-dim:rgba(52,211,153,.12);--amber:#fbbf24;--amber-dim:rgba(251,191,36,.12);--red:#f87171;--red-dim:hsla(0,91%,71%,.12);--blue:#60a5fa;--blue-dim:rgba(96,165,250,.12);--info:#38bdf8;--accent:#818cf8;--accent-2:#22d3ee;--hover-fill:hsla(0,0%,100%,.05);--nav-active-bg:linear-gradient(135deg,rgba(96,165,250,.16),rgba(129,140,248,.1));--nav-active-ring:rgba(96,165,250,.28);--sidebar-bg:#000;--bg-glow-1:transparent;--bg-glow-2:transparent;--input-bg:#050505;--bubble-user:rgba(96,165,250,.14);--bubble-assistant:#0f0f0f;--shadow-sm:none;--shadow-md:none;--surface-muted:hsla(0,0%,100%,.04);--btn-face:hsla(0,0%,100%,.06);--btn-face-hover:hsla(0,0%,100%,.1);--btn-primary-bg:linear-gradient(135deg,#3b82f6,#6366f1);--btn-primary-bg-hover:linear-gradient(135deg,#2563eb,#4f46e5);--btn-primary-shadow:none;--btn-primary-shadow-hover:none;--shadow-lg:none;color-scheme:dark}html[data-theme=light]{--overlay-scrim:color-mix(in srgb,#0f172a 45%,transparent);--chart-tooltip-bg:var(--bg-card-solid);--bg:#f4f7fb;--bg-elevated:#fff;--bg-card:hsla(0,0%,100%,.9);--bg-card-solid:#fff;--bg-card-2:#e8eef6;--surface:hsla(0,0%,100%,.72);--border:rgba(15,23,42,.12);--border-strong:rgba(15,23,42,.22);--text:#0f172a;--text-muted:#64748b;--green:#059669;--green-dim:rgba(5,150,105,.12);--amber:#d97706;--amber-dim:rgba(217,119,6,.12);--red:#dc2626;--red-dim:rgba(220,38,38,.12);--blue:#2563eb;--blue-dim:rgba(37,99,235,.12);--info:#0284c7;--accent:#4f46e5;--accent-2:#0891b2;--hover-fill:rgba(15,23,42,.05);--nav-active-bg:linear-gradient(135deg,rgba(37,99,235,.14),rgba(79,70,229,.1));--nav-active-ring:rgba(37,99,235,.28);--sidebar-bg:linear-gradient(180deg,#fff,#f8fafc);--bg-glow-1:rgba(37,99,235,.08);--bg-glow-2:rgba(79,70,229,.06);--input-bg:#fff;--bubble-user:rgba(37,99,235,.1);--bubble-assistant:#f1f5f9;--shadow-sm:0 1px 2px rgba(15,23,42,.06);--shadow-md:0 8px 24px rgba(15,23,42,.08);--surface-muted:rgba(15,23,42,.04);--btn-face:#e8eef6;--btn-face-hover:#dce6f2;--btn-primary-bg:linear-gradient(135deg,#2563eb,#4f46e5);--btn-primary-bg-hover:linear-gradient(135deg,#1d4ed8,#4338ca);--btn-primary-shadow:0 4px 14px rgba(37,99,235,.22);--btn-primary-shadow-hover:0 6px 18px rgba(37,99,235,.28);--shadow-lg:0 16px 48px rgba(15,23,42,.1);color-scheme:light}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.5}body{background:radial-gradient(ellipse 80% 50% at 50% -20%,var(--bg-glow-1),transparent),radial-gradient(ellipse 60% 40% at 100% 0,var(--bg-glow-2),transparent),var(--bg)}a{color:inherit;text-decoration:none}a.link-accent{color:var(--blue);font-weight:500;transition:color .15s}a.link-accent:hover{color:var(--info)}.app-shell{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-w);flex-shrink:0;background:var(--sidebar-bg);border-right:1px solid var(--border);padding:18px 10px;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:10px;margin-bottom:24px;padding:0 8px}.brand .logo{font-size:1.8rem}.brand .title{font-weight:700;letter-spacing:-.02em}.brand .version{font-size:.75rem;color:var(--text-muted)}.nav-link{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:var(--radius-sm);font-weight:500;font-size:.875rem;color:var(--text-muted);position:relative;transition:background .18s var(--ease-out),color .18s var(--ease-out),transform .12s var(--ease-out),box-shadow .18s var(--ease-out)}.nav-link:active{transform:scale(var(--press-scale))}.nav-icon{width:1.25rem;text-align:center;font-size:.95rem;opacity:.85}.nav-link:hover{background:var(--hover-fill);color:var(--text)}.nav-link.active{background:var(--nav-active-bg);color:var(--text);box-shadow:inset 0 0 0 1px var(--nav-active-ring)}.nav-link.active:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:999px;background:var(--blue)}.nav-link.active .nav-icon{opacity:1}.sidebar-ui-mode{margin:0 8px 16px;padding-bottom:12px;border-bottom:1px solid var(--border)}.ui-mode-toggle{display:flex;flex-direction:column;gap:10px}.ui-mode-toggle-help{margin-bottom:0}.ui-mode-toggle-buttons{display:inline-flex;gap:6px;flex-wrap:wrap}.ui-mode-toggle-compact .ui-mode-toggle-buttons{width:100%}.ui-mode-toggle-compact .ui-mode-toggle-buttons .btn{flex:1 1;justify-content:center}.advanced-only-gate{max-width:36rem;margin:2rem auto;text-align:center}.advanced-only-gate .btn{margin:0 6px}.sidebar-nav{display:flex;flex-direction:column;gap:18px}.nav-group-label{font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);opacity:.75;padding:0 12px 4px}.nav-group{display:flex;flex-direction:column;gap:2px}.content{flex:1 1;padding:16px 20px 40px;max-width:none;width:100%}.content,.page-frame{min-width:0}.page-enter{animation:page-enter .24s var(--ease-out) both}.home-what-changed{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);grid-gap:1rem;gap:1rem;align-items:start}.home-what-changed-impact .prediction-impact{margin-bottom:0}.home-what-changed-run{display:flex;flex-direction:column;gap:.5rem}.home-what-changed-run-meta{font-size:.9rem}.mini-route-preview{display:block;border-radius:10px;border:1px solid var(--border,hsla(0,0%,50%,.28));background:color-mix(in srgb,var(--panel,#0f172a) 88%,transparent);overflow:hidden}.mini-route-preview-loading{display:flex;align-items:center;justify-content:center;min-height:160px;padding:.75rem;text-align:center;font-size:.85rem}.mini-route-preview-map{min-height:var(--mini-route-h,200px)}.mini-route-preview-map .route-map-wrap-preview{margin:0}.preview-route-map-leaflet{width:100%;height:var(--mini-route-h,200px);border-radius:10px;z-index:0}.route-map-wrap-preview{margin:0}@media (max-width:860px){.home-what-changed{grid-template-columns:1fr}.home-what-changed-run{order:-1}}@keyframes page-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.content-fade{animation:content-fade .28s var(--ease-out) both}@keyframes content-fade{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.is-refreshing{opacity:.62;transition:opacity .18s var(--ease-out)}.refresh-bar{height:2px;width:100%;margin:0 0 10px;border-radius:999px;overflow:hidden;background:var(--border)}.refresh-bar>span{display:block;height:100%;width:35%;border-radius:inherit;background:linear-gradient(90deg,var(--blue),var(--accent-2));animation:progress-indeterminate 1.1s ease-in-out infinite}.page-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:8px}.page-header-text h1{margin:0 0 6px}.page-header-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}@media (max-width:860px){.desktop-only{display:none!important}.mobile-only{display:block}.mobile-only-flex{display:flex}.app-shell{flex-direction:column}.sidebar{display:none!important}.content{padding:16px 16px calc(88px + env(safe-area-inset-bottom, 0px));max-width:none}.page-header-mobile .subtitle{margin-bottom:16px;font-size:.88rem}.page-header-mobile h1{font-size:1.45rem}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric-card{padding:12px 14px}.metric-card .value{font-size:1.35rem}.score-ring-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.runner-metrics-detail{display:none}.mobile-sticky-actions{position:fixed;left:0;right:0;bottom:calc(64px + env(safe-area-inset-bottom, 0px));z-index:80;padding:10px 16px;background:linear-gradient(180deg,transparent,var(--chrome-sticky) 28%);display:flex;gap:8px;justify-content:stretch}.mobile-sticky-actions .btn{flex:1 1}.mobile-tab-bar{display:flex}}@media (min-width:861px){.desktop-only{display:block}.mobile-more-backdrop,.mobile-more-sheet,.mobile-only,.mobile-only-flex,.mobile-tab-bar{display:none!important}}.mobile-nav-toggle,.sidebar-backdrop{display:none!important}.pagination-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}.pagination-controls{display:flex;align-items:center;gap:8px}.mobile-tab-bar{position:fixed;left:0;right:0;bottom:0;z-index:100;display:none;align-items:stretch;justify-content:space-around;gap:2px;padding:6px 8px calc(8px + env(safe-area-inset-bottom, 0px));background:var(--chrome-sticky);border-top:1px solid var(--border);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.mobile-tab{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:48px;padding:4px 2px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font:inherit;font-size:.65rem;font-weight:600;text-decoration:none;cursor:pointer;transition:color .16s var(--ease-out),background .16s var(--ease-out),transform .12s var(--ease-out)}.mobile-tab:active{transform:scale(var(--press-scale))}.mobile-tab-icon{font-size:1.1rem;line-height:1;opacity:.85;transition:opacity .16s var(--ease-out)}.mobile-tab.active{color:var(--blue);background:var(--blue-dim)}.mobile-tab.active .mobile-tab-icon{opacity:1}.mobile-more-backdrop{position:fixed;inset:0;z-index:110;border:none;background:color-mix(in srgb,var(--bg) 65%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);cursor:pointer}.mobile-more-sheet{position:fixed;left:0;right:0;bottom:0;z-index:120;max-height:min(70vh,520px);padding:16px 16px calc(80px + env(safe-area-inset-bottom, 0px));background:var(--chrome-sticky);border-top:1px solid var(--border-strong);border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:var(--shadow-lg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);transform:translateY(105%);transition:transform .28s var(--ease-out);overflow-y:auto}.mobile-more-sheet.open{transform:translateY(0)}.mobile-more-sheet-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.mobile-more-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.mobile-more-link{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-card);color:var(--text);font-size:.85rem;font-weight:500;text-decoration:none;transition:background .16s var(--ease-out),border-color .16s var(--ease-out),color .16s var(--ease-out),transform .12s var(--ease-out)}.mobile-more-link:active{transform:scale(var(--press-scale))}.mobile-more-link.active{border-color:var(--nav-active-ring);background:var(--blue-dim);color:var(--text)}.mobile-more-icon{font-size:1rem;opacity:.9}.activity-card-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.activity-card{display:flex;gap:10px;padding:14px 16px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-card);box-shadow:var(--shadow-sm);cursor:pointer;transition:border-color .15s,transform .12s}.activity-card:active{transform:scale(.99)}.activity-card-selected{border-color:var(--nav-active-ring);background:var(--blue-dim);box-shadow:inset 0 0 0 1px var(--blue-dim)}.activity-card-check{padding-top:2px}.activity-card-main{flex:1 1;min-width:0}.activity-card-top{display:flex;justify-content:space-between;gap:8px;font-size:.75rem;margin-bottom:4px}.activity-card-category{color:var(--blue);font-weight:600}.activity-card-title{margin:0 0 2px;font-size:.95rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-card-workout{margin:0 0 8px;font-size:.8rem}.activity-card-stats{display:flex;flex-wrap:wrap;gap:8px 12px;font-size:.82rem;font-weight:500}.activity-card-loc{color:var(--text-muted);font-weight:400}.mobile-session-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.mobile-session-card{padding:12px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-muted)}.mobile-session-card-head{display:flex;justify-content:space-between;gap:8px;font-size:.8rem;margin-bottom:4px}.mobile-session-card-title{font-weight:600;font-size:.9rem}.desktop-only{display:block}.mobile-only{display:none}h1{letter-spacing:-.03em;margin:0 0 4px;font-size:clamp(1.65rem,2.5vw,2rem);font-weight:700;color:var(--text)}h2{font-size:1.05rem;font-weight:600;letter-spacing:-.01em}.subtitle{color:var(--text-muted);margin:0 0 24px;font-size:.95rem;max-width:52ch}.card-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:16px}.card-grid,.two-col{display:grid;gap:16px;margin:16px 0}.two-col{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));grid-gap:16px}.two-col .panel{margin:0}.metric-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px 18px;box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:transform .2s var(--ease-out),box-shadow .2s,border-color .2s;position:relative;overflow:hidden}.metric-card:before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:2px;background:linear-gradient(90deg,var(--blue),var(--accent));opacity:.5}.metric-card-blue:before{background:linear-gradient(90deg,var(--blue),var(--info))}.metric-card-green:before{background:linear-gradient(90deg,var(--green),color-mix(in srgb,var(--green) 55%,#fff))}.metric-card-amber:before{background:linear-gradient(90deg,var(--amber),color-mix(in srgb,var(--amber) 55%,#fff))}.metric-card-red:before{background:linear-gradient(90deg,var(--red),color-mix(in srgb,var(--red) 55%,#fff))}.metric-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--border-strong)}.metric-card-skeleton:before{opacity:0}.metric-card-skeleton:hover{transform:none}.metric-card .label{color:var(--text-muted);font-size:.85rem;margin-bottom:6px}.metric-card .value{font-size:1.7rem;font-weight:700}.metric-card .sub{font-size:.8rem;color:var(--text-muted);margin-top:4px}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:12px}table.data{width:100%;border-collapse:separate;border-spacing:0;margin-top:12px;font-size:.875rem}.table-wrap>table.data{margin-top:0;min-width:520px}table.data td,table.data th{text-align:left;padding:11px 14px;border-bottom:1px solid var(--border)}table.data th{color:var(--text-muted);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;background:var(--surface-muted);position:-webkit-sticky;position:sticky;top:0;z-index:1}.sortable-th{display:inline-flex;align-items:center;gap:.35rem;padding:0;border:none;background:none;color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer}.sortable-th.is-active,.sortable-th:hover{color:var(--text)}.sortable-th-indicator{font-size:.72rem;opacity:.55}.session-suggested-badge{color:var(--blue);background:var(--blue-dim)}.home-session-planned-badge,.session-suggested-badge{display:inline-block;margin-left:.45rem;padding:.1rem .4rem;border-radius:6px;font-size:.65rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;vertical-align:middle}.home-session-planned-badge{color:var(--text-muted,var(--muted));background:var(--hover-fill)}.home-next-session{margin-bottom:.85rem;padding-bottom:.85rem;border-bottom:1px solid var(--border,hsla(0,0%,50%,.25))}.home-next-session-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .65rem;margin-bottom:.35rem;font-size:.9rem}.home-next-session-date{font-weight:650}.home-next-session-body{font-size:.95rem;line-height:1.45}.home-coming-up-title{margin:.25rem 0 .55rem;font-size:.85rem;font-weight:650;letter-spacing:.02em;text-transform:uppercase;color:var(--text-muted,var(--muted))}.mobile-session-card-body{font-size:.9rem;line-height:1.45}table.data tbody tr{transition:background .14s var(--ease-out)}table.data tbody tr:nth-child(2n){background:var(--hover-fill)}table.data tbody tr:hover{background:color-mix(in srgb,var(--blue) 10%,transparent)}.panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:20px 22px;margin:16px 0;box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:border-color .15s var(--ease-out),box-shadow .15s var(--ease-out)}.panel-muted{opacity:.72}.muted{color:var(--text-muted)}.pill{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.75rem;font-weight:600}.form-grid{display:flex;flex-direction:column;gap:14px;max-width:420px}.form-actions label,.form-grid label{display:flex;flex-direction:column;gap:6px;font-size:.85rem;color:var(--text-muted);font-weight:500}.flash-banner{border-radius:var(--radius-md);padding:14px 18px;margin:16px 0;font-size:.9rem;animation:page-enter .3s var(--ease-out) both}.flash-banner.success{background:var(--green-dim);border:1px solid rgba(52,211,153,.45)}.flash-banner.warning{background:var(--amber-dim);border:1px solid rgba(251,191,36,.45)}.flash-banner.error{background:var(--red-dim);border:1px solid hsla(0,91%,71%,.45)}input[type=date],input[type=email],input[type=number],input[type=password],input[type=text],select,textarea{background:var(--input-bg);border:1px solid var(--border);border-radius:8px;padding:10px 12px;color:var(--text);font-size:.95rem;font-family:inherit;transition:border-color .15s var(--ease-out),box-shadow .15s var(--ease-out)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--border-strong)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-dim)}.linkish:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.form-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.btn{border:1px solid var(--border);background:var(--btn-face);color:var(--text);border-radius:var(--radius-sm);padding:9px 16px;font-size:.875rem;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s var(--ease-out),border-color .15s var(--ease-out),transform .1s var(--ease-out),box-shadow .15s var(--ease-out)}.btn:hover:not(:disabled){background:var(--btn-face-hover);border-color:var(--border-strong)}.btn:active:not(:disabled){transform:scale(var(--press-scale))}.btn:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.btn-primary,.btn.primary{background:var(--btn-primary-bg);border-color:transparent;color:#fff;box-shadow:var(--btn-primary-shadow)}.btn-primary:hover:not(:disabled),.btn.primary:hover:not(:disabled){background:var(--btn-primary-bg-hover);box-shadow:var(--btn-primary-shadow-hover)}.btn:disabled{opacity:.5;cursor:not-allowed}.activity-filters{display:flex;flex-direction:column;gap:14px}.activity-filters-primary{display:flex;flex-wrap:wrap;gap:16px 24px;padding:14px 16px;background:var(--input-bg);border:1px solid var(--border);border-radius:12px}.filter-inline{display:flex;flex-wrap:wrap;align-items:center;gap:10px;min-width:min(100%,280px)}.filter-inline-label{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;min-width:4.5rem}.filter-chip-row,.filter-date-presets{display:flex;flex-wrap:wrap;gap:6px}.filter-date-range,.filter-range-pair{display:flex;align-items:center;gap:8px}.filter-date-range input[type=date],.filter-range-pair input[type=number]{width:auto;min-width:7rem;padding:6px 10px;font-size:.85rem;border-radius:8px}.filter-range-pair input[type=number]{width:4.5rem}.activity-filters-more{border:1px solid var(--border);border-radius:12px;padding:0 14px 14px;background:var(--surface-muted)}.activity-filters-more>summary{cursor:pointer;font-weight:600;font-size:.9rem;padding:12px 0;list-style:none;display:flex;align-items:center;gap:8px}.activity-filters-more>summary::-webkit-details-marker{display:none}.filter-active-badge{background:var(--blue);color:#fff;font-size:.72rem;font-weight:700;padding:2px 7px;border-radius:999px}.activity-filters-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:12px;gap:12px;padding:14px 16px;background:var(--surface-muted);border:1px solid var(--border);border-radius:12px}.filter-section-flat .filter-section-head-static{cursor:default;padding-bottom:.35rem}.filter-section-flat .filter-section-head-static:hover{color:inherit}.filter-section{border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--surface)}.filter-section-head{width:100%;display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:transparent;border:none;color:var(--text);font-size:.82rem;font-weight:600;cursor:pointer}.filter-section-body{padding:0 12px 12px}.filter-chip-scroll{display:flex;flex-wrap:wrap;gap:6px;max-height:120px;overflow-y:auto}.filter-chip{border:1px solid var(--border);background:var(--surface-muted);color:var(--text-muted);border-radius:8px;padding:6px 12px;font-size:.8rem;cursor:pointer;transition:background .15s var(--ease-out),color .15s var(--ease-out),border-color .15s var(--ease-out),transform .12s var(--ease-out)}.filter-chip-sm{padding:4px 10px;font-size:.75rem;border-radius:6px}.filter-chip:hover{border-color:var(--blue);color:var(--text)}.filter-chip:active{transform:scale(var(--press-scale))}.filter-chip-active{background:var(--blue-dim);border-color:var(--blue);color:var(--text)}.filter-chevron{color:var(--text-muted);font-size:.75rem}.filters-panel{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:18px;gap:18px;align-items:start}.filter-group{display:flex;flex-direction:column;gap:8px}.filter-group .filter-label{font-size:.78rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.chip-group{display:flex;flex-wrap:wrap;gap:6px}.chip{border:1px solid var(--border);background:transparent;color:var(--text-muted);border-radius:999px;padding:5px 12px;font-size:.8rem;cursor:pointer;transition:background .15s var(--ease-out),color .15s var(--ease-out),border-color .15s var(--ease-out),transform .12s var(--ease-out)}.chip:hover{border-color:var(--blue);color:var(--text)}.chip:active{transform:scale(var(--press-scale))}.chip.chip-active{background:var(--blue);border-color:var(--blue);color:#fff}.source-badge{display:inline-block;padding:2px 8px;border-radius:6px;font-size:.72rem;font-weight:600;margin-right:6px}.source-badge-stryd{background:#6366f1;color:#fff}.source-badge-garmin_rd{background:#0ea5e9;color:#fff}.source-badge-garmin{background:#22c55e;color:#fff}.source-badge-fitbit{background:#00b0b9;color:#fff}.range-row{display:flex;align-items:center;gap:8px}.range-row input[type=number]{width:80px}.filters-footer{display:flex;justify-content:space-between;align-items:center;margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}.muted-row td{opacity:.55}.chart-zoom-frame{width:100%}.chart-zoom-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;flex-wrap:wrap}.btn-sm,.chart-zoom-hint{font-size:.78rem}.btn-sm{padding:4px 10px}.overlay-panel-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.overlay-panel-head h3{margin:0}.overlay-metric-select{display:flex;align-items:center;gap:8px;font-size:.85rem}.overlay-metric-select select{min-width:180px}.route-map-wrap{width:100%}.route-map-leaflet{width:100%;height:420px;border-radius:8px;z-index:0}.route-map-caption{font-size:.78rem;margin-top:6px}.link-row{cursor:pointer;transition:background .14s var(--ease-out)}.link-row:hover{background:var(--blue-dim)}.link-row:active{background:color-mix(in srgb,var(--blue) 18%,transparent)}.setup-overlay{position:fixed;inset:0;background:var(--overlay-scrim);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:100;padding:24px}.setup-modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px;max-width:480px;width:100%;box-shadow:var(--shadow-lg);animation:content-fade .22s var(--ease-out) both}.setup-modal h2{margin-top:0}.setup-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.5rem}.setup-modal-head h2{margin-bottom:0}.setup-modal-close{flex-shrink:0;width:2rem;height:2rem;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--text-muted);font-size:1.35rem;line-height:1;cursor:pointer}.setup-modal-close:hover{color:var(--text);border-color:var(--border-strong)}.explain-modal-close:active,.setup-modal-close:active{transform:scale(var(--press-scale))}.setup-modal-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.25rem}.setup-modal-skip{font-size:.85rem;margin-top:1rem}.explain-modal-overlay{position:fixed;inset:0;background:var(--overlay-scrim);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:120;padding:20px}.explain-modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.1rem 1.25rem 1.25rem;max-width:420px;width:100%;max-height:min(85vh,520px);overflow:auto;box-shadow:var(--shadow-lg);animation:content-fade .22s var(--ease-out) both}.explain-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.65rem}.explain-modal-title{margin:0;font-size:1.05rem}.explain-modal-close{flex-shrink:0;width:2rem;height:2rem;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--text-muted);font-size:1.35rem;line-height:1;cursor:pointer}.explain-modal-close:hover{color:var(--text);border-color:var(--text-muted)}.explain-modal-body .metric-trend-chart,.explain-modal-body .spectrum-sparkline{display:block;width:100%;height:auto;margin-top:.35rem}.getting-started-list{margin:0;padding-left:1.25rem;display:grid;grid-gap:.65rem;gap:.65rem}.getting-started-list li.done{color:var(--text-muted)}.getting-started-list li.done strong{text-decoration:line-through;font-weight:600}.form-row{display:flex;flex-wrap:wrap;gap:1rem;margin:.75rem 0}.form-row label{display:flex;flex-direction:column;gap:.25rem;font-size:.9rem}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:1.25rem;margin-bottom:1rem;box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.overlay-activity-list{display:flex;flex-direction:column;gap:.35rem;max-height:280px;overflow-y:auto}.overlay-activity-row{display:flex;align-items:center;gap:.5rem;font-size:.9rem;cursor:pointer}.overlay-results-grid{display:grid;grid-template-columns:1fr;grid-gap:1rem;gap:1rem}@media (min-width:1100px){.overlay-results-grid{grid-template-columns:1.4fr 1fr;align-items:start}}.overlay-charts{display:flex;flex-direction:column;gap:1rem}.overlay-workspace{display:flex;flex-direction:column;gap:1.25rem;padding-bottom:2rem}.overlay-body-grid{display:grid;grid-template-columns:1fr;grid-gap:1rem;gap:1rem;align-items:start}@media (min-width:960px){.overlay-body-grid{grid-template-columns:minmax(240px,290px) minmax(0,1fr)}}.overlay-sidebar{gap:.85rem;max-height:calc(100vh - 120px);position:-webkit-sticky;position:sticky;top:12px}.overlay-main,.overlay-sidebar{display:flex;flex-direction:column}.overlay-main{gap:1rem;min-width:0}.overlay-run-list-panel{padding:.85rem .75rem;display:flex;flex-direction:column;min-height:0;flex:1 1}.overlay-run-list{display:flex;flex-direction:column;gap:2px;overflow-y:auto;max-height:min(42vh,420px);margin:0 -.25rem;padding:0 .25rem;scrollbar-width:thin}.overlay-run-row{display:flex;align-items:stretch;gap:.35rem;border-radius:8px;border:1px solid transparent;transition:background .15s,border-color .15s}.overlay-run-row:hover{background:rgba(96,165,250,.06)}.overlay-run-row.is-selected{border-color:rgba(34,211,238,.35);background:rgba(34,211,238,.06)}.overlay-run-row.is-focused{box-shadow:inset 2px 0 0 var(--accent-2)}.overlay-run-check{display:flex;align-items:center;padding-left:.35rem}.overlay-run-check input{accent-color:var(--accent-2)}.overlay-run-main{flex:1 1;min-width:0;text-align:left;background:none;border:none;color:inherit;padding:.4rem .45rem .4rem 0;cursor:pointer;font:inherit}.overlay-run-top{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.overlay-run-date{font-size:.72rem;color:var(--text-muted)}.overlay-run-tag{font-size:.6rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-2);padding:1px 5px;border-radius:4px;background:rgba(34,211,238,.12)}.overlay-run-tag.warn{color:var(--amber);background:rgba(251,191,36,.12)}.overlay-run-name{font-size:.82rem;font-weight:600}.overlay-run-meta,.overlay-run-name{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.overlay-run-meta{font-size:.72rem;color:var(--text-muted)}.overlay-similar-panel{padding:.85rem .75rem}.overlay-similar-list{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-direction:column;gap:.35rem;max-height:240px;overflow-y:auto}.overlay-similar-row{display:flex;align-items:center;gap:.5rem;padding:.4rem .35rem;border-radius:8px;border:1px solid var(--border);background:var(--surface-muted);transition:border-color .15s var(--ease-out),background .15s var(--ease-out)}.overlay-similar-score{flex-shrink:0;width:2.5rem;font-size:.78rem;font-weight:700;color:var(--accent-2);text-align:center}.overlay-similar-body{flex:1 1;min-width:0}.overlay-similar-name{font-size:.8rem;font-weight:600}.overlay-similar-meta,.overlay-similar-name,.overlay-similar-reasons{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.overlay-similar-meta,.overlay-similar-reasons{font-size:.68rem;color:var(--text-muted)}.overlay-similar-reasons{color:var(--text-muted);opacity:.9}.overlay-hero-compact{padding:.85rem 1.15rem;align-items:center;min-height:0}.overlay-hero-compact .overlay-title{font-size:clamp(1.35rem,3vw,1.65rem)}.overlay-hero-compact .overlay-subtitle{margin-top:.2rem;font-size:.82rem}.overlay-link{color:var(--accent-2);text-decoration:none}.overlay-link:hover{text-decoration:underline}.overlay-selection-bar{padding:.75rem 1rem}.overlay-selection-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.65rem;margin-bottom:.5rem}.overlay-selection-empty{margin:0;font-size:.88rem}.overlay-selection-chips{display:flex;flex-wrap:wrap;gap:.5rem}.overlay-selection-chip{display:flex;align-items:stretch;border-radius:10px;border:1px solid var(--border);background:var(--surface-muted);max-width:min(260px,100%);transition:border-color .15s var(--ease-out),box-shadow .15s var(--ease-out)}.overlay-selection-chip.is-focused{border-color:color-mix(in srgb,var(--accent-2) 55%,transparent);box-shadow:0 0 0 1px var(--blue-dim)}.overlay-selection-chip-main{flex:1 1;min-width:0;text-align:left;padding:.45rem .55rem;background:none;border:none;color:inherit;cursor:pointer;font:inherit}.overlay-selection-remove{flex-shrink:0;width:2rem;border:none;border-left:1px solid var(--border);background:var(--surface-muted);color:var(--text-muted);cursor:pointer;font-size:1.1rem;line-height:1;border-radius:0 10px 10px 0}.overlay-selection-remove:hover{color:var(--text);background:rgba(239,68,68,.15)}.overlay-similar-strip{padding:.65rem 1rem}.overlay-similar-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem 1rem;margin-bottom:.45rem}.overlay-similar-head .overlay-section-hint{margin:0}.overlay-similar-rail{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.2rem;scrollbar-width:thin}.overlay-similar-chip{flex:0 0 auto;display:flex;align-items:center;gap:.45rem;padding:.4rem .5rem;border-radius:10px;border:1px solid var(--border);background:var(--surface-muted);max-width:280px}.overlay-control-deck-inline{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;padding:.65rem 1rem}.overlay-control-deck-inline .overlay-control-group{margin:0}.overlay-chart-card-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .65rem;min-width:0}.overlay-series-legend-inline{display:flex;flex-wrap:wrap;gap:.35rem;margin:0}.chart-tooltip{padding:.55rem .7rem;border-radius:10px;background:var(--chart-tooltip-bg);border:1px solid var(--chart-tooltip-border);box-shadow:var(--shadow-md);font-size:.8rem;min-width:160px;-webkit-backdrop-filter:none;backdrop-filter:none}.chart-tooltip,.chart-tooltip-head{color:var(--chart-tooltip-fg,var(--text))}.chart-tooltip-head{font-weight:600;margin-bottom:.4rem;padding-bottom:.35rem;border-bottom:1px solid var(--chart-tooltip-border)}.chart-tooltip-row{display:flex;align-items:center;gap:.4rem;margin-top:.25rem}.chart-tooltip-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.chart-tooltip-label{flex:1 1;min-width:0;color:var(--chart-tooltip-muted,var(--text-muted));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.chart-tooltip-value{font-weight:600;color:var(--chart-tooltip-fg,var(--text));font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.chart-tooltip-values{display:flex;flex-direction:column;align-items:flex-end;gap:1px}.chart-tooltip-delta{font-size:.72rem;font-weight:500;color:var(--chart-tooltip-muted,var(--text-muted));font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.recharts-default-tooltip{background-color:var(--chart-tooltip-bg)!important;border:1px solid var(--chart-tooltip-border)!important;border-radius:10px!important;color:var(--chart-tooltip-fg,var(--text))!important;box-shadow:var(--shadow-md)!important;padding:.55rem .7rem!important}.recharts-default-tooltip .recharts-tooltip-label{font-weight:600;margin-bottom:.35rem}.recharts-default-tooltip .recharts-tooltip-item,.recharts-default-tooltip .recharts-tooltip-label{color:var(--chart-tooltip-fg,var(--text))!important}.recharts-default-tooltip .recharts-tooltip-item-name,.recharts-default-tooltip .recharts-tooltip-item-separator{color:var(--chart-tooltip-muted,var(--text-muted))!important}.recharts-default-tooltip .recharts-tooltip-item-value{color:var(--chart-tooltip-fg,var(--text))!important;font-weight:600}.overlay-run-summary{margin:-.35rem 0 0}.overlay-run-summary-rail{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.15rem;scrollbar-width:thin}.overlay-run-summary-card{flex:0 0 auto;display:flex;align-items:center;gap:.55rem;padding:.5rem .65rem;border-radius:10px;border:1px solid var(--border);background:var(--input-bg);cursor:pointer;color:inherit;font:inherit;text-align:left;min-width:min(300px,85vw);transition:border-color .15s var(--ease-out),background .15s var(--ease-out),transform .12s var(--ease-out)}.overlay-run-summary-card:hover{border-color:var(--border-strong);background:var(--blue-dim)}.overlay-run-summary-card.is-focused{border-color:color-mix(in srgb,var(--accent-2) 50%,transparent);box-shadow:0 0 0 1px var(--blue-dim)}.overlay-run-summary-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.overlay-run-summary-main{min-width:0;flex:0 1 auto;max-width:140px}.overlay-run-summary-name{display:block;font-size:.8rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.overlay-run-summary-date{display:block;font-size:.68rem;color:var(--text-muted)}.overlay-run-summary-stats{display:flex;gap:.65rem;margin-left:auto}.overlay-run-summary-stat{display:flex;flex-direction:column;align-items:flex-end;gap:1px;min-width:2.5rem}.overlay-run-summary-stat-k{font-size:.6rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted)}.overlay-run-summary-stat-v{font-size:.82rem;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.overlay-sticky-toolbar{position:-webkit-sticky;position:sticky;top:0;z-index:30;margin:0 0 .75rem;padding:.35rem 0;background:linear-gradient(180deg,var(--bg) 70%,transparent)}.overlay-sticky-toolbar-inner{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;padding:.55rem .85rem}.overlay-sticky-toolbar-zoom{flex:1 1 200px;min-width:0}.overlay-sticky-toolbar-zoom .chart-zoom-toolbar{margin:0;padding:0;background:none;border:none}.overlay-sticky-toolbar-zoom .chart-zoom-hint{font-size:.72rem}.overlay-sticky-status{display:flex;align-items:center;gap:.45rem;font-size:.75rem;color:var(--accent-2);margin-left:auto}.overlay-chart-card.is-refreshing{opacity:.72;transition:opacity .2s}.overlay-chart-card.is-refreshing:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(34,211,238,.04) 50%,transparent);animation:overlay-shimmer 1.2s ease-in-out infinite}@keyframes overlay-shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.overlay-hero{position:relative;overflow:hidden;border-radius:var(--radius-lg);border:1px solid rgba(56,189,248,.22);background:linear-gradient(135deg,var(--bg-elevated) 0,color-mix(in srgb,var(--bg-card) 85%,var(--bg-elevated)) 100%);padding:1.5rem 1.75rem;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1.25rem;box-shadow:inset 0 0 0 1px rgba(129,140,248,.08),0 20px 60px rgba(0,0,0,.35)}.overlay-hero-aurora{position:absolute;inset:-40% -10% auto;height:140%;background:radial-gradient(ellipse 50% 40% at 20% 30%,rgba(34,211,238,.18),transparent 60%),radial-gradient(ellipse 45% 35% at 80% 20%,rgba(129,140,248,.2),transparent 55%);pointer-events:none}.overlay-hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(148,163,184,.06) 1px,transparent 0),linear-gradient(90deg,rgba(148,163,184,.06) 1px,transparent 0);background-size:28px 28px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.5),transparent 85%);mask-image:linear-gradient(180deg,rgba(0,0,0,.5),transparent 85%);pointer-events:none}.overlay-hero-content{position:relative;z-index:1;max-width:560px}.overlay-eyebrow{margin:0 0 .35rem;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-2);font-weight:600}.overlay-title{margin:0;font-size:clamp(1.75rem,4vw,2.35rem);font-weight:700;letter-spacing:-.03em;background:linear-gradient(90deg,#f8fafc,#a5b4fc 55%,#22d3ee);-webkit-background-clip:text;background-clip:text;color:transparent}.overlay-subtitle{margin:.5rem 0 0;color:var(--text-muted);font-size:.92rem;max-width:48ch}.overlay-hero-stats{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:.55rem}.overlay-stat-chip{display:flex;flex-direction:column;gap:2px;padding:.55rem .85rem;border-radius:10px;background:var(--input-bg);border:1px solid rgba(148,163,184,.2);min-width:72px}.overlay-stat-chip-warn .overlay-stat-value{color:var(--amber)}.overlay-stat-chip-live{flex-direction:row;align-items:center;gap:8px;border-color:rgba(34,211,238,.35)}.overlay-stat-value{font-size:1.15rem;font-weight:700;line-height:1;color:var(--text)}.overlay-stat-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.overlay-stat-pulse{width:8px;height:8px;border-radius:50%;background:var(--accent-2);box-shadow:0 0 12px var(--accent-2);animation:overlay-pulse 1.4s ease-in-out infinite}@keyframes overlay-pulse{0%,to{opacity:.5;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}.overlay-glass-panel{background:var(--input-bg);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.1rem 1.25rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow-md)}.overlay-section-title{margin:0;font-size:1rem;font-weight:600;letter-spacing:-.02em}.overlay-section-hint{margin:.25rem 0 0;font-size:.82rem;color:var(--text-muted)}.overlay-deck-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.85rem}.overlay-deck-actions{display:flex;gap:.5rem}.overlay-btn-ghost{background:var(--btn-face);border-color:var(--border)}.overlay-detail-msg{margin:0 0 .75rem;font-size:.85rem;color:var(--green)}.overlay-activity-rail{display:flex;gap:.65rem;overflow-x:auto;padding-bottom:.35rem;scrollbar-width:thin}.overlay-activity-chip{position:relative;flex:0 0 auto;width:min(220px,72vw);text-align:left;padding:.75rem .85rem;border-radius:12px;border:1px solid var(--border);background:var(--surface-muted);color:var(--text);cursor:pointer;transition:border-color .2s var(--ease-out),box-shadow .2s var(--ease-out),transform .15s var(--ease-out),background .2s var(--ease-out)}.overlay-activity-chip:hover{border-color:var(--border-strong);background:var(--blue-dim);transform:translateY(-1px)}.overlay-activity-chip:active{transform:scale(var(--press-scale))}.overlay-activity-chip.is-active{border-color:color-mix(in srgb,var(--accent-2) 55%,transparent);background:color-mix(in srgb,var(--accent-2) 12%,transparent);box-shadow:inset 0 0 0 1px var(--blue-dim)}.overlay-chip-badge{display:inline-block;font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-2);margin-bottom:4px}.overlay-chip-date{display:block;font-size:.78rem;color:var(--text-muted)}.overlay-chip-name{display:block;font-size:.92rem;font-weight:600;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.overlay-chip-meta{display:block;font-size:.75rem;color:var(--text-muted);margin-top:4px}.overlay-chip-glow{position:absolute;inset:auto 12px 8px auto;width:8px;height:8px;border-radius:50%;background:var(--accent-2);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-2) 22%,transparent)}.overlay-selected-legend{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.75rem}.overlay-legend-pill{font-size:.72rem;padding:.2rem .55rem;border-radius:999px;background:color-mix(in srgb,var(--accent) 14%,transparent);border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);color:var(--text)}.overlay-control-deck{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;align-items:flex-end}.overlay-control-group{display:flex;flex-direction:column;gap:.4rem}.overlay-control-group-wide{flex:1 1;min-width:220px}.overlay-control-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-weight:600}.overlay-pill-group{display:flex;flex-wrap:wrap;gap:.35rem}.overlay-pill{padding:.35rem .75rem;border-radius:999px;border:1px solid var(--border);background:var(--surface-muted);color:var(--text-muted);font-size:.82rem;cursor:pointer;transition:background .15s var(--ease-out),border-color .15s var(--ease-out),color .15s var(--ease-out),transform .12s var(--ease-out),box-shadow .15s var(--ease-out)}.overlay-pill-sm{font-size:.75rem;padding:.3rem .6rem}.overlay-pill:hover:not(:disabled){border-color:var(--border-strong);color:var(--text)}.overlay-pill:active:not(:disabled){transform:scale(var(--press-scale))}.overlay-pill.is-active{border-color:color-mix(in srgb,var(--accent-2) 50%,transparent);background:color-mix(in srgb,var(--accent-2) 14%,transparent);color:var(--text);box-shadow:inset 0 0 0 1px var(--blue-dim)}.overlay-pill:disabled{opacity:.45;cursor:not-allowed}.overlay-scatter-picks{display:flex;align-items:center;gap:.5rem}.overlay-scatter-vs{color:var(--text-muted);font-size:.85rem}.overlay-select{background:var(--surface);border:1px solid rgba(148,163,184,.28);border-radius:8px;color:var(--text);padding:.4rem .65rem;font-size:.85rem}.overlay-metric-select{min-width:160px}.overlay-zoom-toolbar{margin-bottom:-.25rem}.overlay-zoom-toolbar .chart-zoom-toolbar{background:var(--surface-muted);border:1px solid rgba(148,163,184,.14);border-radius:10px;padding:.45rem .75rem}.overlay-main-grid{display:grid;grid-template-columns:1fr;grid-gap:1rem;gap:1rem}.overlay-charts-stack-full{width:100%}.overlay-insights-row{display:grid;grid-template-columns:1fr;grid-gap:1rem;gap:1rem;margin-top:.25rem}@media (min-width:1080px){.overlay-insights-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch}.overlay-insights-row .overlay-map-card-wrap,.overlay-insights-row .overlay-scatter-card{min-height:100%}.overlay-insights-row .overlay-route-map{height:min(38vh,420px)!important;min-height:300px}}.overlay-insights-row-map-only{grid-template-columns:1fr}.overlay-insights-stack{display:flex;flex-direction:column;gap:1rem;margin-top:.25rem}.overlay-scatters-duo{display:grid;grid-template-columns:1fr;grid-gap:1rem;gap:1rem}@media (min-width:960px){.overlay-scatters-duo{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch}}.overlay-comparison-panel{margin-top:0}.overlay-source-summary-head{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:0;border:none;background:transparent;color:inherit;cursor:pointer;text-align:left}.overlay-source-summary-chevron{transition:transform .2s ease;color:var(--text-muted);font-size:.85rem}.overlay-source-summary-chevron[data-open=true]{transform:rotate(180deg)}.overlay-source-summary-body{margin-top:.75rem}.overlay-source-notes{display:flex;flex-wrap:wrap;gap:8px 14px}.overlay-source-note{display:inline-flex;align-items:center;gap:6px;font-size:.88rem}.pain-factor-grid{display:flex;flex-wrap:wrap;gap:8px}.pain-factor-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:var(--surface-2);border:1px solid rgba(148,163,184,.2);font-size:.85rem;cursor:pointer}.pain-factor-chip input{margin:0}.pain-diagnosis-block{padding:12px 14px;border-radius:var(--radius-md);background:rgba(148,163,184,.06);border:1px solid rgba(148,163,184,.12)}.overlay-scatter-head-actions{display:flex;align-items:flex-end;gap:.5rem;flex-wrap:wrap}.overlay-maximize-secondary-hint{margin:0 0 .65rem;font-size:.88rem}.overlay-map-frame-expanded{min-height:min(72vh,720px)}.overlay-route-map-expanded{height:min(72vh,720px)!important;min-height:480px}.overlay-charts-stack{display:flex;flex-direction:column;gap:.85rem}@media (min-width:1280px){.overlay-charts-stack{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.75rem;gap:.75rem}.overlay-chart-body{min-height:240px}}.overlay-chart-card{position:relative;border-radius:var(--radius-lg);padding:1rem 1rem .75rem;background:var(--surface);border:1px solid rgba(148,163,184,.16);overflow:hidden}.overlay-chart-card:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(135deg,var(--chart-accent,rgba(96,165,250,.5)),transparent 55%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.overlay-chart-card-cyan{--chart-accent:rgba(34,211,238,.55);box-shadow:0 0 40px rgba(34,211,238,.06)}.overlay-chart-card-violet{--chart-accent:rgba(167,139,250,.55);box-shadow:0 0 40px rgba(167,139,250,.06)}.overlay-chart-card-amber{--chart-accent:rgba(251,191,36,.5);box-shadow:0 0 40px rgba(251,191,36,.05)}.overlay-chart-card-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.65rem;margin-bottom:.5rem}.overlay-chart-slot{display:block;font-size:.65rem;letter-spacing:.12em;color:var(--text-muted);font-weight:700}.overlay-chart-title{margin:.15rem 0 0;font-size:1rem;font-weight:600}.overlay-series-legend{display:flex;flex-wrap:wrap;gap:.35rem .65rem;margin-bottom:.35rem}.overlay-series-pill{display:inline-flex;align-items:center;gap:5px;font-size:.72rem;color:var(--text-muted)}.overlay-series-dot{width:8px;height:8px;border-radius:50%;box-shadow:0 0 8px currentColor}.overlay-chart-body{min-height:min(36vh,340px)}.overlay-chart-empty{display:flex;align-items:center;justify-content:center;min-height:180px;margin:0}.overlay-map-card-wrap{min-width:0}.overlay-map-card{margin-bottom:0}.overlay-map-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.65rem;margin-bottom:.75rem}.overlay-map-frame{border-radius:12px;overflow:hidden;border:1px solid rgba(148,163,184,.16);box-shadow:0 0 32px rgba(34,211,238,.06)}.overlay-map-legend{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.5rem}.activities-overlay-bar{position:-webkit-sticky;position:sticky;top:0;z-index:25;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;margin-bottom:1rem;padding:.65rem 1rem;border-radius:var(--radius-md);border:1px solid var(--selection-bar-border);background:var(--selection-bar-bg);box-shadow:var(--shadow-md);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);animation:content-fade .22s var(--ease-out) both}.activities-overlay-bar-text{display:flex;align-items:baseline;gap:.45rem;font-size:.9rem}.activities-overlay-bar-text strong{font-size:1.25rem;color:var(--accent-2)}.activities-overlay-bar-actions{display:flex;gap:.5rem;flex-wrap:wrap}.overlay-route-map{height:min(42vh,480px)!important;min-height:280px}.overlay-map-loading{padding:2rem;text-align:center}.overlay-scatter-card{margin-top:.25rem}.overlay-scatter-legend{margin-bottom:.5rem}.overlay-scatter-head{margin-bottom:.75rem}.overlay-scatter-head-row{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:.75rem 1rem}.overlay-scatter-picks-inline{display:flex;align-items:flex-end;gap:.5rem;flex-wrap:wrap}.overlay-scatter-field{display:flex;flex-direction:column;gap:.25rem}.overlay-scatter-axis-caption{margin:0 0 .5rem;font-size:.82rem}@media (min-width:1200px){.overlay-charts-stack{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.85rem;gap:.85rem}}.stride-2d-wrap{width:100%}.stride-2d-grid{display:grid;grid-template-columns:1fr;grid-gap:1rem;gap:1rem;width:100%}@media (min-width:900px){.stride-2d-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.stride-2d-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr))}}.stride-2d-panel{margin-bottom:0;min-width:0}.stride-2d-title{margin:0 0 4px;font-size:.95rem}.stride-2d-axes{margin:0 0 8px;font-size:.78rem}.stride-2d-chart{width:100%}.stride-2d-count{margin:6px 0 0;font-size:.72rem}.panel-flush{padding-left:0;padding-right:0;border-left:none;border-right:none;border-radius:0;background:transparent}.overlay-map-card-empty{min-height:200px}.alert-accordion{padding:0;overflow:hidden}.alert-accordion-head{display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px 16px;background:transparent;border:none;color:var(--text);font:inherit;font-weight:600;text-align:left;cursor:pointer}.alert-accordion-chevron{font-size:.75rem;color:var(--text-muted);transition:transform .15s ease}.alert-accordion-chevron[data-open=true]{transform:rotate(180deg)}.alert-accordion-body{display:flex;flex-direction:column;gap:10px;padding:0 16px 16px}.alert-item{padding:12px 14px;border-radius:8px;border:1px solid var(--border);background:var(--surface-muted);transition:border-color .15s var(--ease-out),background .15s var(--ease-out)}.alert-item-info{border-color:color-mix(in srgb,var(--blue) 55%,transparent);background:var(--blue-dim)}.alert-item-success{border-color:color-mix(in srgb,var(--green) 55%,transparent);background:var(--green-dim)}.alert-item-warn{border-color:color-mix(in srgb,var(--amber) 55%,transparent);background:var(--amber-dim)}.alert-item-error{border-color:color-mix(in srgb,var(--red) 55%,transparent);background:var(--red-dim)}.training-calendar-legend{display:flex;flex-wrap:wrap;gap:10px 14px;margin-bottom:12px;font-size:.78rem}.training-calendar-legend-item{display:inline-flex;align-items:center;gap:6px}.training-calendar-swatch{width:10px;height:10px;border-radius:2px;display:inline-block}.training-calendar-grid{display:flex;flex-direction:column;gap:8px}.training-calendar-head-row,.training-calendar-week-row{display:grid;grid-template-columns:72px repeat(7,minmax(0,1fr));grid-gap:6px;gap:6px}.training-calendar-weekday{font-size:.75rem;font-weight:600;text-align:center;color:var(--text-muted)}.training-calendar-week-label{font-size:.72rem;display:flex;align-items:center}.training-calendar-cell{min-height:72px;border:1px solid var(--border);border-radius:8px;padding:4px;background:var(--surface-muted);transition:background .14s var(--ease-out),border-color .14s var(--ease-out)}.training-calendar-cell.today{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue-dim)}.training-calendar-cell.drag-source{outline:2px dashed var(--blue)}.training-calendar-cell.drop-target{background:var(--blue-dim)}.training-calendar-date{font-size:.68rem;text-align:right}.training-calendar-session{margin-top:2px;padding:6px;border-radius:6px;background:hsla(0,0%,100%,.04);border-left:3px solid var(--blue);font-size:.78rem;cursor:-webkit-grab;cursor:grab;position:relative}.training-calendar-session.completed{cursor:default}.training-calendar-session:active{cursor:-webkit-grabbing;cursor:grabbing}.training-calendar-done{position:absolute;top:4px;right:6px;font-size:.75rem;color:var(--green)}.training-calendar-empty{font-size:.8rem;text-align:center;margin-top:20px}.training-calendar-copy-offset{width:100%;font-size:.68rem;padding:2px 4px;border-radius:4px;border:1px solid var(--border);background:var(--bg-card);color:inherit}.race-execution-model-badge{display:inline-block;font-size:.72rem;font-weight:600;padding:2px 8px;border-radius:999px;background:rgba(59,130,246,.15);color:var(--accent);margin-bottom:8px}.race-execution-decay-tag{display:inline-block;font-size:.75rem;padding:2px 8px;border-radius:4px;background:hsla(0,0%,100%,.06);margin-right:6px}.race-telemetry-coverage{display:flex;flex-wrap:wrap;gap:6px}.telemetry-pill{font-size:.72rem;padding:2px 8px;border-radius:999px;border:1px solid var(--border)}.telemetry-pill.ok{color:var(--green);border-color:rgba(34,197,94,.35)}.telemetry-pill.missing{color:var(--muted);opacity:.75}.training-calendar-cell.drop-ok{outline:1px dashed var(--green);outline-offset:-2px}.training-calendar-cell.outside-month{opacity:.45}.training-calendar-session .plan-actual-line{display:block;font-size:.7rem;line-height:1.3}.training-calendar-session .plan-actual-line.actual{color:var(--green)}.training-calendar-compliance{display:inline-block;margin-top:4px;font-size:.68rem;font-weight:600;padding:1px 5px;border-radius:4px;background:hsla(0,0%,100%,.08)}.training-calendar-compliance.good{color:var(--green)}.training-calendar-compliance.ok{color:var(--amber)}.training-calendar-compliance.low{color:var(--red)}@media (max-width:900px){.training-calendar-head-row,.training-calendar-week-row{grid-template-columns:56px repeat(7,minmax(0,1fr));gap:4px}.training-calendar-session{font-size:.68rem;padding:4px}}.progress-track{height:8px;border-radius:999px;background:var(--bg-card-2);overflow:hidden}.progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--blue),var(--info));transition:width .25s ease}.progress-track-indeterminate{overflow:hidden}.progress-fill-indeterminate{width:35%!important;animation:progress-indeterminate 1.2s ease-in-out infinite}@keyframes progress-indeterminate{0%{transform:translateX(-100%)}to{transform:translateX(300%)}}.skeleton{border-radius:6px;background:linear-gradient(90deg,rgba(148,163,184,.08),rgba(148,163,184,.18) 50%,rgba(148,163,184,.08));background-size:200% 100%;animation:skeleton-shimmer 1.2s ease-in-out infinite}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-panel{display:flex;flex-direction:column;gap:12px}.skeleton-metrics .metric-card{gap:10px;display:flex;flex-direction:column}.loading-inline{display:inline-flex;align-items:center;gap:10px;padding:8px 0}.loading-spinner{width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--blue);border-radius:50%;animation:spin .65s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.error-banner{background:var(--red-dim);border:1px solid hsla(0,91%,71%,.45);border-radius:var(--radius-md);padding:14px 18px;margin:12px 0}.error-banner strong{color:var(--red);display:block;margin-bottom:4px}.empty-state{text-align:center;padding:28px 16px}.empty-state-title{margin:0;color:var(--text-muted);font-size:.95rem}.empty-state-body{margin-top:12px}.chart-panel{background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius-md);padding:14px 16px 8px;margin-top:8px}.skeleton-chart{display:flex;flex-direction:column;gap:12px;padding:16px}.skeleton-chart-body{flex:1 1;min-height:0}.score-ring-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:16px;gap:16px;margin:16px 0}.score-ring{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 8px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.score-ring svg{width:96px;height:96px}.score-ring-track{stroke:rgba(148,163,184,.15)}.score-ring-fill{transition:stroke-dashoffset .6s var(--ease-out)}.score-ring-center{position:absolute;top:44px;left:50%;transform:translate(-50%,-50%);text-align:center;line-height:1.1}.score-ring-value{font-size:1.35rem;font-weight:700}.score-ring-sub{font-size:.72rem;color:var(--text-muted)}.score-ring-label{font-size:.82rem;font-weight:600;color:var(--text-muted);text-align:center}.section-stack{display:flex;flex-direction:column;gap:0}.section-stack .panel+.panel{margin-top:12px}.panel h2,.panel h3{margin-top:0}.changelog-pre{white-space:pre-wrap;word-break:break-word;margin:0;font-family:inherit;font-size:.9rem;line-height:1.6;color:var(--text-muted)}.changelog-md{max-height:75vh;overflow-y:auto}.markdown-body{font-size:.92rem;line-height:1.65;color:var(--text)}.plan-session-md{font-size:.88rem;line-height:1.45;margin:0}.plan-session-md p{margin:.15rem 0}.changelog-body{padding:.25rem 0}.markdown-h1{font-size:1.5rem;margin:0 0 1rem;font-weight:700}.markdown-h2{font-size:1.15rem;margin:1.5rem 0 .6rem;font-weight:650;color:var(--text);border-bottom:1px solid rgba(148,163,184,.18);padding-bottom:.35rem}.markdown-h3{font-size:1rem;margin:1.1rem 0 .45rem;font-weight:600;color:#cbd5e1}.markdown-h4{font-size:.95rem;margin:.9rem 0 .35rem;font-weight:600}.markdown-body p{margin:.45rem 0;color:var(--text-muted)}.markdown-list{margin:.35rem 0 .75rem 1.25rem;padding:0;color:var(--text-muted)}.markdown-list li{margin:.25rem 0}.markdown-body code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.86em;background:var(--input-bg);border:1px solid rgba(148,163,184,.2);border-radius:4px;padding:.1em .35em}.markdown-code-block{margin:.75rem 0;padding:.75rem 1rem;border-radius:var(--radius-md);background:var(--input-bg);border:1px solid rgba(148,163,184,.2);overflow-x:auto;font-size:.85rem}.markdown-hr{border:none;border-top:1px solid rgba(148,163,184,.2);margin:1.25rem 0}.markdown-body a{color:var(--blue);text-decoration:none}.markdown-body a:hover{text-decoration:underline}.personality-trait-list{display:flex;flex-direction:column;gap:.85rem}.personality-trait{padding:.75rem .9rem;border-radius:var(--radius-md);border:1px solid rgba(148,163,184,.16);background:var(--surface-muted)}.personality-trait-title{font-weight:600;margin-bottom:.25rem}.personality-trait-desc{margin:0;font-size:.9rem;color:var(--text-muted);line-height:1.5}.getting-started{border-color:var(--nav-active-ring);background:linear-gradient(135deg,var(--blue-dim),color-mix(in srgb,var(--accent) 8%,transparent))}.getting-started-list li:not(.done) strong{color:var(--text)}.dashboard-home{display:flex;flex-direction:column;gap:0}.dashboard-home .dashboard-section.panel,.dashboard-home>.panel{padding:14px 16px;margin:10px 0}.dashboard-home .dashboard-section-head{margin-bottom:8px}.dashboard-home .dashboard-section-sub{margin:2px 0 0;font-size:.8rem}.dashboard-pack{column-count:2;column-gap:14px;margin:12px 0}.dashboard-pack>.dashboard-section,.dashboard-pack>.panel{display:inline-block;width:100%;margin:0 0 12px;break-inside:avoid;page-break-inside:avoid}.dashboard-pack-wide{column-span:all;display:block;width:100%}@media (max-width:900px){.dashboard-pack{column-count:1}.dashboard-pack-wide{column-span:none}}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px;align-items:start}@media (max-width:900px){.dashboard-grid{grid-template-columns:1fr}}.dashboard-home .card-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:8px 0}@media (max-width:900px){.dashboard-home .card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.dashboard-home .metric-card{padding:10px 12px}.dashboard-home .metric-card .label{margin-bottom:2px;font-size:.75rem}.dashboard-home .metric-card .value{font-size:1.25rem}.dashboard-home .quick-link-card{padding:8px 10px;gap:1px}.dashboard-home .quick-link-icon{font-size:1rem}.dashboard-home .quick-link-label{font-size:.85rem}.dashboard-home .quick-link-desc{font-size:.72rem}.dashboard-home .home-condition-summary{margin-top:.65rem;padding-top:.65rem}.dashboard-home .home-condition-summary-list{gap:.35rem}.dashboard-home .home-condition-summary-list li{font-size:.85rem;line-height:1.4}.dashboard-home .state-metric-gauges-summary{margin:.45rem 0 0;font-size:.82rem}.dashboard-home .state-metric-gauges-alerts{margin-top:.45rem}.dashboard-home .post-run-card{padding:10px 12px}.dashboard-home .post-run-adapt,.dashboard-home .post-run-prompt{margin-top:8px!important}.dashboard-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.dashboard-section-head h2{margin:0;font-size:1.05rem}.dashboard-section-sub{margin:4px 0 0;font-size:.85rem}.dashboard-section-link{font-size:.85rem;white-space:nowrap;color:var(--accent);text-decoration:none}.dashboard-section-link:hover{text-decoration:underline}.quick-link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}@media (max-width:700px){.quick-link-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.quick-link-card{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-muted);text-decoration:none;color:inherit;transition:border-color .16s var(--ease-out),transform .16s var(--ease-out),background .16s var(--ease-out),box-shadow .16s var(--ease-out)}.quick-link-card:hover{border-color:var(--border-strong);background:var(--blue-dim);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.quick-link-card:active{transform:scale(var(--press-scale))}.quick-link-icon{font-size:1.05rem;opacity:.9}.quick-link-label{font-weight:600;font-size:.92rem}.quick-link-desc{font-size:.78rem;line-height:1.3}.onboarding-progress-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.onboarding-progress-bar{height:6px;border-radius:999px;background:var(--border);overflow:hidden;margin-bottom:12px}.onboarding-progress-fill{height:100%;background:linear-gradient(90deg,var(--blue),var(--accent));border-radius:999px;transition:width .3s ease}.onboarding-step-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.onboarding-step-list li{display:flex;align-items:center;gap:8px;font-size:.9rem}.onboarding-step-list li.done{opacity:.55}.onboarding-step-check{width:1.2rem;text-align:center;color:var(--accent)}.post-run-card{border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;background:hsla(0,0%,100%,.02)}.post-run-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.post-run-badge{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--accent)}.race-execution-subscores{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px}.race-execution-subscore-tile{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:8px;background:hsla(0,0%,100%,.04);border:1px solid var(--border);font-size:.85rem}.race-execution-insights{margin:1rem 0 0;padding-left:1.2rem;line-height:1.45}.race-execution-insights li+li{margin-top:6px}@media (max-width:640px){.race-execution-subscores{grid-template-columns:repeat(2,minmax(0,1fr))}}.equipment-coverage-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.equip-chip{font-size:.78rem;padding:4px 10px;border-radius:999px;background:hsla(0,0%,100%,.06);border:1px solid var(--border)}.equip-chip-stryd{border-color:rgba(99,102,241,.4);color:#a5b4fc}.equip-chip-rd{border-color:rgba(14,165,233,.4);color:#7dd3fc}.equipment-toggle-grid{display:flex;flex-direction:column;gap:10px}.equipment-toggle{display:flex;gap:10px;align-items:flex-start;cursor:pointer}.equipment-toggle-desc{display:block;font-size:.82rem;margin-top:2px}.equipment-hints{margin:12px 0 0;padding-left:18px;font-size:.85rem}.stride-landscape-wrap{width:100%}.stride-canvas-wrap{position:relative;width:100%;aspect-ratio:1;max-width:min(100%,720px);margin:0 auto}.stride-canvas-wrap-compact{max-width:min(100%,420px)}.stride-axis-title{position:absolute;font-size:.78rem;line-height:1.3;z-index:2;pointer-events:none;display:flex;flex-direction:column;gap:2px}.stride-axis-x{bottom:8px;left:50%;transform:translateX(-50%);text-align:center}.stride-axis-y{left:8px;top:50%;transform:translateY(-50%) rotate(-90deg);transform-origin:left center;text-align:left;max-width:120px}.stride-axis-z{right:8px;top:12px;text-align:right}.stride-color-legend{position:absolute;right:8px;bottom:8px;font-size:.75rem;z-index:2}.stride-zoom-buttons{display:flex;gap:4px}.stride-zoom-buttons .btn{min-width:36px;font-weight:700;font-size:1.1rem;line-height:1;padding:4px 10px}.stride-analysis-list{margin:8px 0 0;padding-left:1.2rem;font-size:.88rem;line-height:1.55;color:var(--text-muted)}.stride-analysis-list li+li{margin-top:6px}.stride-landscape-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:8px}.stride-landscape-note{font-size:.85rem;margin:0 0 8px}.stride-landscape-legend{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:.75rem;margin-bottom:8px}.stride-landscape-canvas{width:100%;height:100%;display:block;border-radius:var(--radius);border:1px solid var(--border);background:rgba(0,0,0,.2);cursor:-webkit-grab;cursor:grab;touch-action:none}.stride-landscape-canvas:active{cursor:-webkit-grabbing;cursor:grabbing}.concept-tip{position:relative;display:inline}.concept-tip-trigger{display:inline-flex;align-items:center;gap:3px;padding:0;margin:0;border:none;background:none;color:inherit;font:inherit;font-weight:600;cursor:help;-webkit-text-decoration:underline dotted rgba(148,163,184,.5);text-decoration:underline dotted rgba(148,163,184,.5);text-underline-offset:2px}.concept-tip-icon{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;font-size:.65rem;font-weight:700;background:rgba(96,165,250,.2);color:var(--accent);text-decoration:none}.concept-tip-popover{display:block;position:absolute;z-index:20;left:0;top:calc(100% + 6px);min-width:220px;max-width:min(360px,90vw);padding:10px 12px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-card-solid);color:var(--text);box-shadow:var(--shadow-md);font-size:.82rem;font-weight:400;line-height:1.45;text-decoration:none}.concept-tip-popover strong{display:block;margin-bottom:4px;font-size:.85rem}.concept-blurb strong{color:var(--text)}.runner-metric-block{display:flex;flex-direction:column;gap:.35rem}.runner-metric-analysis{margin:0;font-size:.82rem;line-height:1.45}.runner-metrics-supplementary{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:1rem}@media (max-width:720px){.runner-metrics-supplementary{grid-template-columns:1fr}}.load-readiness-snapshot{display:flex;flex-direction:column;gap:1rem}.load-readiness-head{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:.75rem;gap:.75rem}.load-readiness-verdict{padding:.85rem 1rem;border-radius:var(--radius-md);border:1px solid var(--border);border-left-width:3px;background:var(--surface-muted)}.load-readiness-verdict-top{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;margin-bottom:.35rem}.load-readiness-verdict-label{font-size:.82rem;font-weight:600;color:var(--text-muted)}.load-readiness-verdict-score{font-size:1.35rem;font-weight:700;line-height:1}.load-readiness-verdict-score .muted{font-size:.75rem;font-weight:500}.load-readiness-verdict-text{margin:0 0 .35rem;font-size:.92rem;font-weight:600}.load-readiness-verdict-detail{margin:0;font-size:.82rem;line-height:1.45}.load-readiness-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:.65rem;gap:.65rem}.load-readiness-footnote{margin:0;font-size:.82rem;line-height:1.5}.coach-overview-grid{display:grid;grid-template-columns:1fr;grid-gap:1.25rem;gap:1.25rem}@media (min-width:960px){.coach-overview-grid{grid-template-columns:1.2fr .8fr;align-items:start}}.coach-overview-head{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem}.coach-overview-metrics{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}.coach-overview-goal{padding-top:.15rem;border-top:1px solid rgba(148,163,184,.14)}@media (min-width:960px){.coach-overview-goal{padding-top:0;border-top:none;padding-left:1.25rem;border-left:1px solid rgba(148,163,184,.14)}}.load-metric-tile{padding:.75rem .85rem;border-radius:var(--radius-md);border:1px solid rgba(148,163,184,.16);background:var(--surface-muted)}.load-metric-tile-blue{border-color:rgba(59,130,246,.28);background:rgba(59,130,246,.06)}.load-metric-tile-amber{border-color:rgba(245,158,11,.28);background:rgba(245,158,11,.06)}.load-metric-tile-green{border-color:rgba(34,197,94,.28);background:rgba(34,197,94,.06)}.load-metric-tile-head{display:flex;flex-direction:column;gap:.15rem;margin-bottom:.35rem}.load-metric-acronym{font-size:.72rem;font-weight:700;letter-spacing:.06em;color:var(--text-muted)}.load-metric-name{font-size:.78rem;color:var(--text-muted);line-height:1.3}.load-metric-value{font-size:1.5rem;font-weight:700;line-height:1.1}.load-readiness-glossary{padding:.75rem .9rem;border-radius:var(--radius-md);border:1px solid rgba(148,163,184,.12);background:var(--surface-muted)}.load-readiness-glossary-title{margin:0 0 .45rem;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.load-readiness-glossary-list{margin:0;padding-left:1.1rem;font-size:.82rem;line-height:1.5}.load-readiness-glossary-list li+li{margin-top:.35rem}@media (max-width:640px){.load-readiness-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}.state-metric-gauges{display:flex;flex-direction:column;gap:.85rem}.state-metric-gauges-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));grid-gap:.75rem;gap:.75rem}.state-metric-gauges-compact .state-metric-gauges-grid{grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:.45rem}@media (max-width:1200px){.state-metric-gauges-compact .state-metric-gauges-grid{grid-template-columns:repeat(auto-fit,minmax(112px,1fr))}}.spectrum-gauge{--spectrum-accent:#94a3b8;padding:.85rem .9rem .75rem;border-radius:var(--radius-md);border:1px solid rgba(148,163,184,.14);background:linear-gradient(165deg,var(--input-bg) 0,var(--surface-muted) 100%);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.04)}.spectrum-gauge-compact{padding:.5rem .55rem .45rem}.spectrum-gauge-head{display:flex;align-items:center;justify-content:space-between;gap:.35rem;margin-bottom:.35rem}.spectrum-gauge-compact .spectrum-gauge-head{margin-bottom:.15rem}.spectrum-gauge-head-actions{display:inline-flex;align-items:center;gap:.25rem;flex-shrink:0}.spectrum-gauge-label{font-size:.8rem;font-weight:600;color:var(--text-muted)}.spectrum-gauge-compact .spectrum-gauge-label{font-size:.72rem}.spectrum-gauge-trend{font-size:.78rem;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.spectrum-gauge-compact .spectrum-gauge-trend{font-size:.7rem}.spectrum-gauge-value-row{display:flex;flex-direction:column;gap:.15rem}.spectrum-gauge-compact .spectrum-gauge-value-row{flex-direction:row;align-items:baseline;justify-content:space-between;gap:.4rem;margin-bottom:.35rem}.spectrum-gauge-value{font-size:1.75rem;font-weight:700;line-height:1;color:var(--spectrum-accent);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.02em}.spectrum-gauge-compact .spectrum-gauge-value{font-size:1.25rem}.spectrum-gauge-suffix{font-size:.95rem;font-weight:500;color:var(--text-muted);margin-left:.1rem}.spectrum-gauge-compact .spectrum-gauge-suffix{font-size:.75rem}.spectrum-gauge-status{margin:.2rem 0 .65rem;font-size:.82rem;font-weight:600;color:var(--spectrum-accent)}.spectrum-gauge-compact .spectrum-gauge-status{margin:0;font-size:.72rem}.spectrum-gauge-track{position:relative;height:8px;border-radius:999px;overflow:visible}.spectrum-gauge-zones{position:absolute;inset:0;border-radius:999px;opacity:.95}.spectrum-gauge-marker{position:absolute;top:50%;width:14px;height:14px;margin-left:-7px;transform:translateY(-50%);border-radius:50%;background:var(--spectrum-accent);border:2px solid rgba(15,23,42,.9);box-shadow:0 0 0 1px hsla(0,0%,100%,.12),0 0 12px color-mix(in srgb,var(--spectrum-accent) 55%,transparent);transition:left .35s ease}.spectrum-gauge-scale{display:flex;justify-content:space-between;font-size:.68rem;margin-top:.35rem;opacity:.75}.spectrum-gauge-compact .spectrum-gauge-track{height:6px}.spectrum-gauge-compact .spectrum-gauge-marker{width:11px;height:11px;margin-left:-5.5px}.spectrum-gauge-compact .spectrum-gauge-scale{margin-top:.2rem;font-size:.62rem}.metric-explain-btn{--explain-accent:var(--spectrum-accent,#94a3b8);display:inline-flex;align-items:center;gap:.35rem;margin-top:.6rem;padding:.32rem .72rem .32rem .58rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--explain-accent) 32%,transparent);background:color-mix(in srgb,var(--explain-accent) 11%,transparent);color:color-mix(in srgb,var(--explain-accent) 88%,#f8fafc);font-size:.72rem;font-weight:600;letter-spacing:.02em;line-height:1;cursor:pointer;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .12s ease;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.05)}.metric-explain-btn-compact{margin-top:0;padding:.2rem;border-radius:999px}.metric-explain-btn:hover{background:color-mix(in srgb,var(--explain-accent) 20%,transparent);border-color:color-mix(in srgb,var(--explain-accent) 48%,transparent);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.07),0 2px 10px color-mix(in srgb,var(--explain-accent) 18%,transparent)}.metric-explain-btn:active{transform:scale(.97)}.metric-explain-btn:focus-visible{outline:2px solid color-mix(in srgb,var(--explain-accent) 55%,transparent);outline-offset:2px}.metric-explain-btn-icon{display:flex;align-items:center;justify-content:center;opacity:.92}.report-metric-head .metric-explain-btn{margin-top:0;flex-shrink:0}.spectrum-gauge-detail{margin-top:.65rem;padding-top:.65rem;border-top:1px solid rgba(148,163,184,.12)}.spectrum-sparkline-label{font-size:.72rem;margin:.5rem 0 .15rem}.spectrum-sparkline{display:block;width:100%;height:56px}.metric-trend-chart{margin:0}.metric-trend-chart-svg{display:block;width:100%;height:auto}.metric-trend-chart-grid{stroke:rgba(148,163,184,.15);stroke-width:1;stroke-dasharray:3 3}.metric-trend-chart-axis{stroke:rgba(148,163,184,.45);stroke-width:1}.metric-trend-chart-x-label,.metric-trend-chart-y-label{fill:var(--text-muted,#94a3b8);font-size:9px;font-family:inherit}.metric-trend-chart-legend{display:flex;flex-wrap:wrap;gap:.5rem .85rem;margin-top:.45rem;font-size:.68rem;color:var(--text-muted,#94a3b8)}.metric-trend-chart-legend-item{display:inline-flex;align-items:center;gap:.3rem}.metric-trend-chart-legend-swatch{width:.65rem;height:.65rem;border-radius:2px;border:1px solid;flex-shrink:0}.state-metric-gauges-summary{margin:0;font-size:.85rem;line-height:1.5}.state-metric-gauges-alerts{display:flex;flex-direction:column;gap:.45rem}.state-metric-gauges-alert{margin:0;padding:.55rem .75rem;border-radius:var(--radius-sm);border-left:3px solid var(--amber);background:rgba(245,158,11,.08);font-size:.82rem;line-height:1.45}.activity-report-card{margin-top:1rem}.activity-report-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:1rem}.activity-report-map-splits{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);grid-gap:1rem;gap:1rem;margin-top:1rem;align-items:start}.activity-report-map-splits-single{grid-template-columns:minmax(0,1fr)}@media (max-width:860px){.activity-report-map-splits{grid-template-columns:minmax(0,1fr)}}.report-route-map-leaflet{width:100%;height:min(42vh,320px);border-radius:8px;z-index:0}@media (min-width:861px){.report-route-map-leaflet{height:min(48vh,380px)}}.route-map-wrap-report .route-map-caption{margin-top:.45rem}.home-condition-summary{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(148,163,184,.12)}.home-condition-summary-title{margin:0 0 .5rem;font-size:.88rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.home-condition-summary-list{margin:0;padding-left:1.15rem;display:grid;grid-gap:.55rem;gap:.55rem}.home-condition-summary-list li{font-size:.9rem;line-height:1.5;color:var(--text)}.plan-section-nav{display:flex;flex-wrap:wrap;gap:.45rem .75rem;margin:0 0 1rem;padding:.55rem .75rem;position:-webkit-sticky;position:sticky;top:0;z-index:5;background:var(--chrome-sticky);border:1px solid var(--border);border-radius:var(--radius-md);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow-sm);font-size:.85rem}.plan-section-nav a{color:var(--text-muted);text-decoration:none;padding:.2rem .45rem;border-radius:6px;transition:color .15s var(--ease-out),background .15s var(--ease-out)}.plan-section-nav a:focus-visible,.plan-section-nav a:hover{color:var(--text);background:var(--hover-fill)}.plan-section-nav a:active{transform:scale(var(--press-scale))}[id^=plan-]{scroll-margin-top:4.5rem}.home-overnight-recovery-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-bottom:.45rem}.home-overnight-recovery-title{margin:0;font-size:.88rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.home-overnight-recovery-metrics{display:flex;flex-wrap:wrap;gap:.45rem;align-items:flex-start}.overnight-metric-pill{display:flex;flex-direction:column;gap:.12rem;min-width:0;flex:1 1 7rem;padding:.45rem .6rem;border-radius:10px;border:1px solid var(--border);background:var(--surface-muted);transition:border-color .15s var(--ease-out),background .15s var(--ease-out),transform .12s var(--ease-out)}.overnight-metric-pill:hover{border-color:var(--border-strong)}.overnight-metric-pill-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.overnight-metric-pill-value{font-size:.98rem;font-weight:600}.overnight-metric-pill-source{margin-top:.1rem}.overnight-context-strip{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem 1rem;margin-top:.35rem}.overnight-context-strip-title{font-size:.82rem;color:var(--text-muted)}.overnight-context-strip-metrics{display:flex;flex-wrap:wrap;gap:.55rem .85rem}.overnight-context-metric{display:inline-flex;align-items:center;gap:.35rem;font-size:.85rem}.overnight-context-metric-label{color:var(--text-muted)}.overnight-context-metric-value{font-weight:600;color:var(--text)}.overnight-metric-good{border-color:color-mix(in srgb,var(--green) 45%,transparent);background:var(--green-dim)}.overnight-metric-moderate{border-color:color-mix(in srgb,var(--amber) 45%,transparent);background:var(--amber-dim)}.overnight-metric-caution{border-color:color-mix(in srgb,var(--red) 50%,transparent);background:var(--red-dim)}.overnight-metric-unknown{border-color:var(--border)}.overnight-band-meter{display:flex;flex-direction:column;gap:.25rem;margin-top:.35rem;min-width:7.5rem}.overnight-band-meter-compact{margin-top:.25rem;min-width:0;gap:.15rem}.overnight-band-meter-track{position:relative;height:7px;border-radius:999px;overflow:visible;background:rgba(148,163,184,.12)}.overnight-band-meter-compact .overnight-band-meter-track{height:6px}.overnight-band-meter-zones{position:absolute;inset:0;border-radius:999px}.overnight-band-meter-marker{position:absolute;top:50%;width:11px;height:11px;margin-left:-5.5px;transform:translateY(-50%);border-radius:50%;background:var(--band-accent,#34d399);border:2px solid var(--bg-elevated);box-shadow:0 0 0 1px hsla(0,0%,100%,.1)}.overnight-band-meter-compact .overnight-band-meter-marker{width:9px;height:9px;margin-left:-4.5px}.overnight-band-meter-meta{display:flex;justify-content:space-between;align-items:center;gap:.35rem;font-size:.68rem;line-height:1.2}.overnight-band-meter-compact .overnight-band-meter-meta{display:block;font-size:.64rem;line-height:1.25}.overnight-band-in{color:#34d399;font-weight:600}.overnight-band-out{color:#fbbf24;font-weight:600}.overnight-band-legend{display:flex;flex-wrap:wrap;gap:.35rem .55rem;margin-top:.4rem}.overnight-band-chip{display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;color:var(--text-muted)}.overnight-band-chip i{display:inline-block;width:.7rem;height:.7rem;border-radius:3px;border:1px solid rgba(148,163,184,.25)}.sleep-page{display:flex;flex-direction:column;gap:1rem}.sleep-profile-kicker{margin:0 0 .25rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.sleep-profile-headline{margin:0;font-size:clamp(1.35rem,2.5vw,1.75rem);font-weight:700}.sleep-profile-hero{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-bottom:1rem}.sleep-profile-last-night{display:flex;flex-direction:column;align-items:flex-end;gap:.15rem;min-width:8rem}.sleep-profile-last-night strong{font-size:1.5rem}.sleep-efficiency-badge{display:inline-block;margin-top:.25rem;padding:.15rem .5rem;border-radius:999px;font-size:.72rem;background:rgba(52,211,153,.15);color:#34d399;border:1px solid rgba(52,211,153,.35)}.sleep-profile-narrative p{margin:0 0 .65rem;font-size:.92rem;line-height:1.55;color:var(--text)}.sleep-profile-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:.75rem;gap:.75rem;margin:1rem 0}.sleep-profile-card{padding:.85rem 1rem;border-radius:10px;border:1px solid rgba(148,163,184,.2)}.sleep-profile-card h4{margin:0 0 .5rem;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em}.sleep-profile-card ul{margin:0;padding-left:1.1rem;font-size:.88rem;line-height:1.45}.sleep-profile-card-good{background:rgba(52,211,153,.08);border-color:rgba(52,211,153,.25)}.sleep-profile-card-caution{background:rgba(251,191,36,.08);border-color:rgba(251,191,36,.28)}.sleep-trait-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:.65rem;gap:.65rem;margin-bottom:1rem}.sleep-trait-card{padding:.7rem .85rem;border-radius:10px;background:var(--surface-muted);border:1px solid rgba(148,163,184,.15)}.sleep-trait-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:.25rem}.sleep-trait-detail{font-size:.85rem;line-height:1.4}.sleep-snapshot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));grid-gap:.65rem;gap:.65rem}.sleep-snapshot{display:flex;flex-direction:column;gap:.15rem;padding:.65rem .75rem;border-radius:10px;border:1px solid rgba(148,163,184,.15);background:var(--surface-muted)}.sleep-snapshot .label{font-size:.72rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.sleep-snapshot .value{font-size:1.05rem;font-weight:600}.sleep-period-comparison{display:grid;grid-gap:1.25rem;gap:1.25rem}@media (min-width:900px){.sleep-period-comparison{grid-template-columns:1fr 1fr}}.sleep-period-title{margin:0 0 .5rem;font-size:.95rem}.sleep-period-table{font-size:.85rem}.sleep-delta-good{color:#34d399}.sleep-delta-bad{color:#f87171}.sleep-delta-neutral,.sleep-stage-legend{color:var(--text-muted)}.sleep-stage-legend{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem;font-size:.78rem}.sleep-stage-legend-item{display:inline-flex;align-items:center;gap:.35rem}.sleep-stage-legend-swatch{width:.65rem;height:.65rem;border-radius:2px}.runner-state-extrapolation-caption{margin:0 0 .65rem;font-size:.85rem}.report-metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:.65rem;gap:.65rem}.report-metrics-secondary{margin-top:.65rem}.report-metric-tile{padding:.65rem .75rem;border-radius:var(--radius-sm);border:1px solid rgba(148,163,184,.12);background:var(--surface-muted)}.report-metric-head{display:flex;align-items:center;justify-content:space-between;gap:.35rem;margin-bottom:.25rem}.report-metric-label{font-size:.78rem;font-weight:600;color:var(--text-muted)}.report-metric-value{font-size:1.15rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.report-metric-explain{margin:.45rem 0 0;font-size:.8rem;line-height:1.45}.report-benefit{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(148,163,184,.12)}.report-benefit-bars{display:grid;grid-gap:.65rem;gap:.65rem}.report-benefit-row-head{display:flex;justify-content:space-between;font-size:.85rem;font-weight:600;margin-bottom:.25rem}.report-benefit-pct{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.report-benefit-track{height:8px;border-radius:999px;background:rgba(148,163,184,.15);overflow:hidden}.report-benefit-fill{height:100%;border-radius:999px;transition:width .35s ease}.report-benefit-details{margin-top:.25rem;font-size:.78rem}.report-coach{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(148,163,184,.12)}.report-coach-list{margin:0;padding-left:1.1rem;font-size:.88rem;line-height:1.5}.report-coach-list li+li{margin-top:.35rem}.activities-location-map{height:420px;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border)}.activities-location-map-leaflet{width:100%;height:100%;background:#0f172a}.leaflet-tooltip{background:var(--chart-tooltip-bg)!important;border:1px solid var(--chart-tooltip-border)!important;color:var(--chart-tooltip-fg,var(--text))!important;box-shadow:var(--shadow-md)!important;border-radius:8px!important;padding:.35rem .55rem!important}.leaflet-tooltip:before{border-top-color:var(--chart-tooltip-bg)!important}.activities-geo-panel{display:flex;flex-direction:column;gap:1.25rem}.activities-geo-metrics{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.activities-geo-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:.65rem}.map-page-map .activities-geo-overlay-tracks .activities-geo-overlay-leaflet,.map-page-map .activities-geo-overlay-tracks .route-map-leaflet,.map-page-map .activities-location-map{height:min(58vh,560px)}@media (min-width:861px){.map-page-map .activities-geo-overlay-tracks .activities-geo-overlay-leaflet,.map-page-map .activities-geo-overlay-tracks .route-map-leaflet,.map-page-map .activities-location-map{height:min(62vh,620px)}}.overlay-focus-nav{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:.65rem}.overlay-focus-nav-btn{width:2.25rem;height:2.25rem;border-radius:8px;border:1px solid rgba(148,163,184,.25);background:var(--surface);color:var(--text);cursor:pointer;font-size:1.1rem;line-height:1}.overlay-focus-nav-btn:hover{border-color:rgba(56,189,248,.45)}.overlay-focus-nav-label{font-size:.85rem;min-width:5.5rem;text-align:center}.overlay-chart-maximize-btn{border:1px solid rgba(148,163,184,.25);background:var(--surface-muted);color:var(--text-muted);border-radius:8px;padding:.35rem .55rem;cursor:pointer;font-size:1rem;line-height:1}.overlay-chart-maximize-btn:hover{color:var(--text);border-color:rgba(56,189,248,.4)}.overlay-chart-maximize-backdrop{position:fixed;inset:0;z-index:200;background:var(--overlay-scrim);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:1rem}.overlay-chart-maximize-modal{width:min(96vw,1480px);max-height:94vh;overflow:auto;padding:1rem 1.15rem 1.25rem}.overlay-chart-maximize-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.overlay-chart-maximize-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem}.page-coach-insight-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem}.page-coach-insight-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem}.page-coach-mode-toggle{display:inline-flex;gap:.35rem}.page-coach-ask-thread{display:flex;flex-direction:column;gap:.65rem;max-height:420px;overflow-y:auto;padding:.5rem 0;margin-bottom:.65rem}.page-coach-ask-form{display:flex;flex-direction:column;gap:.5rem}.page-coach-ask-form textarea{width:100%;resize:vertical;min-height:2.8rem;font:inherit}.coach-chat-fab{position:fixed;right:1.1rem;bottom:calc(1.1rem + env(safe-area-inset-bottom, 0px));z-index:60;border:1px solid var(--border-strong);border-radius:999px;padding:.65rem 1.1rem;background:var(--chrome-sticky);color:var(--text);font-weight:600;font-size:.9rem;cursor:pointer;box-shadow:var(--shadow-md);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:transform .12s var(--ease-out),border-color .15s var(--ease-out),box-shadow .15s var(--ease-out)}.coach-chat-fab:hover{border-color:var(--nav-active-ring);box-shadow:var(--shadow-lg)}.coach-chat-fab:active{transform:scale(var(--press-scale))}@media (max-width:768px){.coach-chat-fab{bottom:calc(4.5rem + env(safe-area-inset-bottom, 0px))}}.coach-chat-drawer{position:fixed;right:1rem;bottom:calc(4.2rem + env(safe-area-inset-bottom, 0px));z-index:61;width:min(420px,calc(100vw - 1.5rem));max-height:min(70vh,640px);display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--chrome-sticky);box-shadow:var(--shadow-lg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);overflow:hidden;animation:content-fade .22s var(--ease-out) both}@media (max-width:768px){.coach-chat-drawer{bottom:calc(7.5rem + env(safe-area-inset-bottom, 0px));right:.75rem;left:.75rem;width:auto}}.coach-chat-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.85rem 1rem;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg-elevated) 70%,transparent)}.coach-chat-drawer-tools{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.coach-chat-drawer-body{flex:1 1;overflow-y:auto;padding:.85rem 1rem;display:flex;flex-direction:column;gap:.65rem;transition:opacity .18s var(--ease-out)}.coach-chat-drawer-body.is-refreshing{opacity:.72}.coach-chat-bubble{padding:.65rem .75rem;border-radius:10px;font-size:.9rem;line-height:1.45}.coach-chat-bubble-user{align-self:flex-end;max-width:92%;background:var(--bubble-user);border:1px solid var(--border-strong)}.coach-chat-bubble-assistant{align-self:stretch;background:var(--bubble-assistant);border:1px solid var(--border)}.coach-chat-drawer-form{display:flex;gap:.5rem;padding:.75rem;border-top:1px solid var(--border);background:color-mix(in srgb,var(--bg-elevated) 70%,transparent)}.coach-chat-drawer-form textarea{flex:1 1;resize:none;min-height:2.6rem;font:inherit}@media (prefers-reduced-motion:reduce){.activities-overlay-bar,.coach-thinking-bars i,.coach-thinking-orbit,.content-fade,.loading-spinner,.page-enter,.progress-fill-indeterminate,.refresh-bar>span,.skeleton{animation:none!important}.content-fade,.page-enter{opacity:1;transform:none}.activity-card:active,.btn:active:not(:disabled),.chip:active,.coach-chat-fab:active,.filter-chip:active,.metric-card:hover,.mobile-more-link:active,.mobile-tab:active,.nav-link:active,.quick-link-card:hover{transform:none}.coach-chat-drawer{animation:none!important}}.theme-picker{display:flex;flex-direction:column;gap:8px}.theme-picker-option{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:8px;border:1px solid var(--border);background:transparent;cursor:pointer;max-width:360px}.theme-picker-option.selected{border-color:var(--accent);background:var(--blue-dim)}.theme-picker-option input{margin:0}.theme-picker-swatch{width:2rem;height:1.35rem;border-radius:6px;border:1px solid var(--border-strong);flex-shrink:0}.theme-picker-hint{margin:4px 0 0;font-size:.85rem}.page-coach-insight-title-row{display:flex;flex-direction:column;gap:.35rem;min-width:0;flex:1 1}.page-coach-collapse-btn{display:inline-flex;align-items:center;gap:.45rem;border:0;background:transparent;color:inherit;padding:0;cursor:pointer;text-align:left}.page-coach-collapse-btn:hover h2{color:var(--blue)}.page-coach-collapsed-preview{margin:0;font-size:.8rem;max-width:42rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-coach-insight.is-collapsed{padding-top:14px;padding-bottom:14px}.page-coach-insight-body.is-refreshing{opacity:.55;transition:opacity .25s var(--ease-out)}.coach-thinking{display:flex;align-items:center;gap:.85rem;margin-top:.85rem;padding:.75rem .9rem;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface)}.coach-thinking-orbit{width:2rem;height:2rem;border-radius:50%;border-left:2px solid var(--border-strong);border-bottom:2px solid var(--border-strong);border-right-color:var(--border-strong);border-top-color:var(--border-strong);border-top:2px solid var(--accent);border-right:2px solid var(--accent-2);animation:coach-spin .9s linear infinite;display:grid;place-items:center;flex-shrink:0}.coach-thinking-core{width:.55rem;height:.55rem;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--accent)}.coach-thinking-copy{display:flex;flex-direction:column;gap:.35rem;min-width:0}.coach-thinking-copy strong{font-size:.9rem;font-weight:600}.coach-thinking-bars{display:flex;gap:4px;height:12px;align-items:flex-end}.coach-thinking-bars i{display:block;width:4px;height:4px;border-radius:2px;background:var(--blue);animation:coach-bar 1.05s ease-in-out infinite}.coach-thinking-bars i:nth-child(2){animation-delay:.12s;background:var(--accent)}.coach-thinking-bars i:nth-child(3){animation-delay:.24s;background:var(--accent-2)}.coach-thinking-bars i:nth-child(4){animation-delay:.36s;background:var(--blue)}@keyframes coach-spin{to{transform:rotate(1turn)}}@keyframes coach-bar{0%,to{height:4px;opacity:.45}50%{height:12px;opacity:1}}.pain-body-map{display:grid;grid-template-columns:minmax(200px,260px) 1fr;grid-gap:1.5rem;gap:1.5rem;align-items:start}@media (max-width:720px){.pain-body-map{grid-template-columns:1fr}}.pain-body-map-figure{display:flex;flex-direction:column;gap:.65rem;align-items:center}.pain-body-view-toggle{display:inline-flex;gap:.35rem}.pain-body-svg{width:100%;max-width:240px;height:auto;display:block;margin:0 auto}.pain-body-svg-interactive .pain-body-zone{cursor:pointer;transition:fill .18s var(--ease-out),stroke .18s var(--ease-out),opacity .18s;outline:none}.pain-body-svg-interactive .pain-body-zone:focus-visible{stroke:var(--accent);stroke-width:2.5}.pain-body-contours path{fill:none;stroke:var(--text-muted);stroke-width:1;opacity:.28;stroke-linecap:round;pointer-events:none}.pain-body-caption{fill:var(--text-muted);font-size:11px;font-weight:600;font-family:inherit}.pain-body-zone-group{margin-bottom:1rem}.pain-body-zone-group-title{font-size:.85rem;margin:0 0 .5rem}.pain-body-zone-grid{display:grid;grid-gap:.5rem;gap:.5rem}.pain-body-zone-btn{text-align:left;padding:.5rem .65rem;border-radius:8px;border:1px solid var(--border);background:var(--hover-fill);cursor:pointer;color:inherit;font-size:.85rem;transition:border-color .15s,background .15s}.pain-body-zone-btn:hover{border-color:var(--border-strong)}.pain-body-zone-btn.is-selected{border-color:var(--amber);background:var(--amber-dim)}.modal-backdrop{position:fixed;inset:0;z-index:80;background:rgba(0,0,0,.55);display:grid;place-items:center;padding:1rem}.modal-card{width:min(420px,100%);margin:0;box-shadow:var(--shadow-lg)}