@font-face{font-family:Digital-7;src:url(/static/fonts/digital-7-italic.woff2)format("woff2");font-style:italic;font-weight:400;font-display:block}@font-face{font-family:Figtree;src:url(/static/fonts/figtree-latin-wght-normal.woff2)format("woff2");font-style:normal;font-weight:400 700;font-display:swap}@font-face{font-family:Figtree;src:url(/static/fonts/figtree-latin-wght-italic.woff2)format("woff2");font-style:italic;font-weight:400 700;font-display:swap}@font-face{font-family:Montserrat;src:url(/static/fonts/montserrat-latin-800-italic.woff2)format("woff2");font-style:italic;font-weight:800;font-display:swap}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;interpolate-size:allow-keywords;--bg:#07080b;--surface:#0e1014;--surface-2:#14171d;--surface-3:#1c2028;--line:#1c2027;--line-2:#2a2f39;--text:#f2f4f7;--text-2:#a4aab6;--muted:#6c7380;--accent:#d2ff00;--accent-hover:#e0ff4d;--accent-ink:#0b0c00;--accent-wash:#d2ff0017;--accent-line:#d2ff0052;--accent-glow:0 0 16px #d2ff0073;--blue:#4d8dff;--gray-mark:#4e5562;--gray-mark-2:#2e343e;--z1:#9aa1ad;--z2:#3d9bff;--z3:#38c760;--z4:#ffa31a;--z5:#f0483e;--good:#22c55e;--warning:#fab219;--serious:#ec835a;--critical:#d03b3b;--fs-xs:12px;--fs-sm:14px;--fs-base:16px;--fs-lg:20px;--fs-xl:28px;--fs-2xl:40px;--fs-display:clamp(28px, 4vw, 40px);--fs-hero:clamp(40px, 6vw, 64px);--r-lg:22px;--r:16px;--r-sm:12px;--r-xs:8px;--font:"Figtree", system-ui, -apple-system, "Segoe UI", sans-serif;--font-clock:"Digital-7", var(--font);--ease:cubic-bezier(.2, .7, .2, 1);--spring:cubic-bezier(.3, 1.3, .5, 1);--topbar:64px;--tabbar:64px;--lift:inset 0 1px 0 #ffffff0d, 0 24px 48px -28px #000000e6}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{color:var(--text);font:400 var(--fs-base)/1.55 var(--font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(1000px 520px at 88% -160px, #d2ff0013, transparent 62%), radial-gradient(800px 420px at -10% -120px, #4d8dff0f, transparent 65%), var(--bg);background-repeat:no-repeat;min-height:100vh;margin:0}.track{z-index:-1;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1100 620' fill='none' stroke='%23fff'%3E%3Cg stroke-opacity='.045'%3E%3Ccircle cx='1180' cy='-40' r='420'/%3E%3Ccircle cx='1180' cy='-40' r='458'/%3E%3Ccircle cx='1180' cy='-40' r='496'/%3E%3Ccircle cx='1180' cy='-40' r='534'/%3E%3Ccircle cx='1180' cy='-40' r='572'/%3E%3Ccircle cx='1180' cy='-40' r='610'/%3E%3Ccircle cx='1180' cy='-40' r='648'/%3E%3Ccircle cx='1180' cy='-40' r='686'/%3E%3C/g%3E%3Ccircle cx='1180' cy='-40' r='420' stroke='%23d2ff00' stroke-opacity='.12'/%3E%3C/svg%3E") 100% 0/1100px 620px no-repeat;width:min(1100px,100%);height:620px;position:absolute;top:0;right:0;overflow:hidden;-webkit-mask-image:linear-gradient(#000 30%,#0000);mask-image:linear-gradient(#000 30%,#0000)}.track-hub{width:0;height:0;position:absolute;top:-40px;right:-80px}.orbit{will-change:transform;width:0;height:0;animation:lap var(--lap) linear infinite;animation-delay:calc(var(--clock,0) * -1s - var(--lap) * var(--phase));position:absolute;top:0;left:0}@keyframes lap{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}.streak{position:absolute;overflow:visible}.streak--white{color:#c1c1c1;opacity:.25}.streak--volt{color:var(--accent);opacity:.9}body:after{content:"";z-index:100;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .6 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}.defs{width:0;height:0;position:absolute;overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}svg{display:block}::selection{background:var(--accent);color:var(--accent-ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.num{font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.dim{color:var(--text-2)}.accent{color:var(--accent)}.nowrap{white-space:nowrap}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.lcd{isolation:isolate;font-family:var(--font-clock);letter-spacing:.01em;color:var(--accent);white-space:nowrap;text-shadow:0 0 2px #d2ff008c,0 0 22px #d2ff0061;font-style:italic;font-weight:400;line-height:.92;display:inline-block;position:relative}.lcd-d{text-align:right;width:.473em;display:inline-block;position:relative}.lcd-d:before{content:"8";z-index:-1;color:#d2ff0009;text-shadow:none;pointer-events:none;position:absolute;top:0;right:0}.lcd.is-settled{animation:lcd-flash .7s var(--ease)}@keyframes lcd-flash{0%{text-shadow:0 0 2px #d2ff00cc,0 0 42px #d2ff00cc}to{text-shadow:0 0 2px #d2ff008c,0 0 22px #d2ff0061}}.topbar{z-index:30;padding-top:env(safe-area-inset-top);height:calc(var(--topbar) + env(safe-area-inset-top));box-sizing:border-box;-webkit-backdrop-filter:saturate(160%)blur(18px);view-transition-name:topbar;background:#07080bb8;border-bottom:1px solid #ffffff0f;position:fixed;top:0;left:0;right:0}.topbar:before{content:"";background:inherit;pointer-events:none;height:240px;position:absolute;bottom:100%;left:0;right:0}.topbar-inner{align-items:center;gap:28px;max-width:1160px;height:100%;margin:0 auto;padding:0 24px;display:flex}.brand{align-items:center;gap:11px;display:flex}.brand-name{font-family:"Montserrat", var(--font);letter-spacing:-.03em;font-size:18px;font-style:italic;font-weight:800}.brand-mark{filter:drop-shadow(0 0 14px #befb3459);width:auto;height:22px;display:block}.nav{background:#ffffff06;border:1px solid #ffffff0f;border-radius:999px;gap:2px;padding:4px;display:flex}.nav a{color:var(--text-2);font-weight:500;font-size:var(--fs-sm);transition:color .2s var(--ease);border-radius:999px;align-items:center;gap:8px;padding:7px 14px;display:flex;position:relative}.nav a>:not(.nav-pill){z-index:1;position:relative}.nav a svg{width:16px;height:16px}.nav a:hover,.nav a[aria-current=page]{color:var(--text)}.nav a[aria-current=page] svg{color:var(--accent);filter:drop-shadow(0 0 6px #d2ff0099)}.nav-pill{border-radius:inherit;view-transition-name:nav-pill;background:linear-gradient(#ffffff1c,#ffffff0d);position:absolute;inset:0;box-shadow:inset 0 1px #ffffff1a,inset 0 0 0 1px #ffffff0f,0 2px 10px #0006}.topbar-end{align-items:center;gap:8px;margin-left:auto;display:flex}.icon-btn{width:38px;height:38px;color:var(--text-2);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;place-items:center;transition:color .2s,background .2s,border-color .2s;display:grid}.icon-btn:hover{color:var(--text);background:#ffffff0d;border-color:#ffffff0f}.icon-btn[aria-current=page]{color:var(--accent);background:#ffffff0f;border-color:#ffffff14}.icon-btn svg{width:18px;height:18px;transition:transform .5s var(--ease)}.topbar-end .icon-btn:hover svg{transform:rotate(60deg)}main{max-width:1160px;margin:calc(var(--topbar) + env(safe-area-inset-top)) auto 0;padding:40px 24px 96px}::view-transition-group(nav-pill){animation-duration:.42s;animation-timing-function:cubic-bezier(.3,.9,.25,1)}::view-transition-old(root){animation:.14s ease-in both vt-out}::view-transition-new(root){animation:vt-in .32s var(--ease) both}@keyframes vt-out{to{opacity:0}}@keyframes vt-in{0%{opacity:0;transform:translateY(8px)}}@media (max-width:760px){.topbar{-webkit-backdrop-filter:none;view-transition-name:none;background:#07080b}.topbar:before{background:#07080b}.topbar-inner{padding:0 16px}.nav{z-index:40;left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));height:var(--tabbar);-webkit-backdrop-filter:blur(20px)saturate(160%);view-transition-name:tabbar;background:#14171dc7;border:1px solid #ffffff14;border-radius:24px;justify-content:space-around;gap:0;padding:6px;position:fixed;box-shadow:inset 0 1px #ffffff0f,0 16px 40px #0009}.nav a{font-size:var(--fs-xs);border-radius:18px;flex-direction:column;flex:1;justify-content:center;gap:3px;padding:6px 4px}.nav a svg{width:21px;height:21px}.nav a[aria-current=page]{color:var(--accent)}main{padding:24px 16px calc(var(--tabbar) + 48px)}}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:28px;display:flex}.eyebrow{font-size:var(--fs-sm);color:var(--text-2);align-items:center;gap:8px;font-weight:500;display:inline-flex}.eyebrow svg{width:15px;height:15px;color:var(--muted);flex:none}h1{font-size:var(--fs-display);letter-spacing:-.03em;text-wrap:balance;margin:0;font-weight:700;line-height:1.02}.eyebrow+h1{margin-top:10px}h2{font-size:var(--fs-lg);letter-spacing:-.015em;margin:0;font-weight:600}h3{font-size:var(--fs-sm);color:var(--text-2);margin:0;font-weight:600}.sub{color:var(--text-2);margin:8px 0 0}.stack{gap:16px;display:grid}.grid-2{grid-template-columns:1fr 1fr;gap:16px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.grid-4{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.today-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.today-layout{grid-template-columns:minmax(0,7fr) minmax(0,5fr);grid-template-areas:"session goal""week week""insights digest";gap:16px;display:grid}.today-layout.no-digest{grid-template-areas:"session goal""week week""insights insights"}.area-session{grid-area:session}.area-goal{grid-area:goal}.area-week{grid-area:week}.area-insights{grid-area:insights}.area-digest{grid-area:digest}.today-layout>*{min-width:0}@media (max-width:860px){.today-layout,.today-layout.no-digest{grid-template-columns:minmax(0,1fr);grid-template-areas:"session""goal""week""insights""digest"}}.week-card{grid-template-columns:minmax(220px,280px) minmax(0,1fr);align-items:stretch;gap:36px;display:grid}.week-summary{flex-direction:column;gap:18px;display:flex}.week-summary .card-head{margin-bottom:0!important}.week-progress{margin-top:auto}.week-summary .figure{align-items:baseline;gap:8px;display:flex}.week-summary .figure small{margin:0}.week-summary .figure .planned{color:var(--text-2);font-weight:600}html.scroll-locked,html.scroll-locked body{overscroll-behavior:none;overflow:hidden}@media (max-width:860px){.week-card{grid-template-columns:minmax(0,1fr);gap:20px}}.grid-2>*,.grid-3>*,.grid-4>*,.today-grid>*{min-width:0}@media (max-width:980px){.grid-4{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:1fr 1fr}}@media (max-width:860px){.today-grid,.grid-2{grid-template-columns:1fr}}@media (max-width:560px){.grid-3{grid-template-columns:1fr}}.section-title{justify-content:space-between;align-items:baseline;gap:12px;margin:48px 0 16px;display:flex}.section-title h2{font-size:var(--fs-lg);letter-spacing:-.03em;font-weight:700}.section-title:first-child{margin-top:0}.card{background:linear-gradient(180deg, #ffffff08, #fff0 140px), var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--lift);padding:24px;position:relative}.card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.card--hero{background:radial-gradient(120% 100% at 100% 0%, #d2ff001a, transparent 55%), linear-gradient(180deg, #ffffff09, #fff0 160px), var(--surface);border-color:#d2ff0029;box-shadow:inset 0 1px #d2ff001f,0 30px 60px -30px #000000e6,0 0 80px -40px #d2ff0040}.card--flush{padding:0}.card--quiet{border-style:dashed;border-color:var(--line-2);box-shadow:none;background:0 0}@media (max-width:560px){.card{border-radius:20px;padding:18px}}.btn{background:linear-gradient(180deg, #e3ff5a, var(--accent) 55%);height:40px;color:var(--accent-ink);font-weight:600;font-size:var(--fs-sm);cursor:pointer;white-space:nowrap;transition:box-shadow .25s var(--ease), transform .15s var(--ease), background .2s, border-color .2s, color .2s;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 18px;display:inline-flex;box-shadow:inset 0 1px #ffffff8c,0 0 0 1px #d2ff0059,0 8px 24px -10px #d2ff00b3}.btn:hover{box-shadow:inset 0 1px #fff9,0 0 0 1px #d2ff008c,0 10px 32px -8px #d2ff00d9}.btn:active{transform:scale(.97)}.btn svg{width:16px;height:16px;transition:transform .25s var(--spring)}.btn:hover svg:last-child:not(:first-child),.arrow-link:hover svg{transform:translate(3px)}.btn--ghost{color:var(--text);background:#ffffff0b;border-color:#ffffff17;box-shadow:inset 0 1px #ffffff0f}.btn--ghost:hover{background:#ffffff14;border-color:#ffffff29;box-shadow:inset 0 1px #ffffff14}.btn--text{color:var(--text-2);box-shadow:none;background:0 0;padding:0 10px}.btn--text:hover{color:var(--text);box-shadow:none;background:#ffffff0d}.btn--sm{height:32px;font-size:var(--fs-sm);padding:0 13px}.btn--lg{height:50px;font-size:var(--fs-base);padding:0 26px}.btn--danger{color:var(--serious);box-shadow:none;background:0 0;border-color:#ec835a59}.btn--danger:hover{box-shadow:none;background:#ec835a1a}.btn[disabled],.htmx-request .btn[type=submit]{opacity:.55;pointer-events:none}.btn--sync .sync-busy{display:none}.htmx-request .btn--sync[type=submit],.btn--sync[disabled]{opacity:1;cursor:progress}.htmx-request .btn--ghost.btn--sync{border-color:var(--accent-line);color:var(--accent)}.htmx-request .btn--sync .sync-idle{display:none}.htmx-request .btn--sync .sync-busy{display:inline}.htmx-request .btn--sync .sync-icon{animation:.8s linear infinite spin}.link{color:var(--text);border-bottom:1px solid var(--line-2);transition:border-color .2s}.link:hover{border-color:var(--accent)}.arrow-link{color:var(--text-2);font-weight:500;font-size:var(--fs-sm);align-items:center;gap:6px;transition:color .2s;display:inline-flex}.arrow-link:hover{color:var(--accent)}.arrow-link svg{width:15px;height:15px;transition:transform .25s var(--spring)}.chip{height:28px;font-size:var(--fs-xs);white-space:nowrap;color:var(--text-2);background:#ffffff0d;border:1px solid #ffffff0f;border-radius:999px;align-items:center;gap:6px;padding:0 11px;font-weight:600;display:inline-flex}.chip svg{width:13px;height:13px}.chip--accent{background:var(--accent-wash);color:var(--accent);border-color:#d2ff002e}.chip--outline{border:1px solid var(--accent-line);color:var(--accent);background:0 0}.chip--quiet{border:1px solid var(--line-2);color:var(--muted);background:0 0}.status{align-items:center;gap:8px;font-weight:600;display:inline-flex}.status-dot{background:var(--muted);border-radius:50%;flex:none;width:9px;height:9px}.lvl-good .status-dot,.status-dot.lvl-good{background:var(--good);box-shadow:0 0 10px #22c55e99}.lvl-warning .status-dot,.status-dot.lvl-warning{background:var(--warning);box-shadow:0 0 10px #fab2198c}.lvl-serious .status-dot,.status-dot.lvl-serious{background:var(--serious);box-shadow:0 0 10px #ec835a99}.lvl-info .status-dot,.status-dot.lvl-info{background:var(--blue);box-shadow:0 0 10px #4d8dff8c}.status-icon{flex:none;width:20px;height:20px}.lvl-good .status-icon{color:var(--good)}.lvl-warning .status-icon{color:var(--warning)}.lvl-serious .status-icon{color:var(--serious)}.lvl-info .status-icon{color:var(--blue)}.ready{height:32px;font-size:var(--fs-sm);background:#ffffff0d;border:1px solid #ffffff14;border-radius:999px;align-items:center;gap:9px;padding:0 12px 0 11px;font-weight:600;display:inline-flex}.ready.lvl-good{background:#22c55e14;border-color:#22c55e38}.ready.lvl-warning{background:#fab21914;border-color:#fab21938}.ready.lvl-serious{background:#ec835a17;border-color:#ec835a42}.pips{align-items:flex-end;gap:2px;height:13px;margin-left:2px;display:inline-flex}.pips i{background:var(--gray-mark);border-radius:2px;width:3px;height:13px}.pips i.lvl-good{background:var(--good)}.pips i.lvl-warning{background:var(--warning)}.pips i.lvl-serious{background:var(--serious)}.pips i.lvl-info{background:var(--blue)}.kind{font-size:var(--fs-xs);color:var(--text-2);align-items:center;gap:8px;font-weight:600;display:inline-flex}.kind-bars{align-items:flex-end;gap:2px;height:12px;display:inline-flex}.kind-bars i{background:var(--gray-mark-2);border-radius:1px;width:3px}.kind-bars i:first-child{height:4px}.kind-bars i:nth-child(2){height:6px}.kind-bars i:nth-child(3){height:8px}.kind-bars i:nth-child(4){height:10px}.kind-bars i:nth-child(5){height:12px}.kind-bars i.on{background:var(--text-2)}.kind--quality{color:var(--accent)}.kind--quality .kind-bars i.on{background:var(--accent);box-shadow:0 0 6px #d2ff0080}.hero-figure,.figure,.kpi-value{font-variant-numeric:tabular-nums}.hero-figure{letter-spacing:-.03em;font-size:56px;font-weight:700;line-height:1}.hero-figure small{font-size:var(--fs-lg);color:var(--text-2);letter-spacing:-.01em;margin-left:6px;font-weight:500}@media (max-width:560px){.hero-figure{font-size:44px}}.figure{font-size:var(--fs-xl);letter-spacing:-.025em;font-weight:700;line-height:1.05}.figure small{font-size:var(--fs-sm);color:var(--text-2);letter-spacing:0;margin-left:4px;font-weight:500}.stat-label{font-size:var(--fs-sm);color:var(--text-2);font-weight:500}.stat-note{font-size:var(--fs-xs);color:var(--muted);margin-top:4px}.kpis{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.kpis>div{min-width:0}.kpi-value{font-size:var(--fs-lg);letter-spacing:-.025em;margin-top:3px;font-weight:700}.kpi-value small{font-size:var(--fs-xs);color:var(--text-2);margin-left:2px;font-weight:500}.tile{align-content:start;gap:6px;display:grid}.tile .spark{clip-path:inset(-14px 0 0 round 0 0 21px 21px);width:calc(100% + 48px);margin:10px -24px -24px}@media (max-width:560px){.tile .spark{clip-path:inset(-14px 0 0 round 0 0 19px 19px);width:calc(100% + 36px);margin:10px -18px -18px}}.delta{font-size:var(--fs-xs);font-weight:600}.delta--good{color:#4ade80}.delta--bad{color:var(--serious)}.delta--flat{color:var(--muted)}.meter{background:#d2ff001a;border-radius:999px;height:8px;position:relative}.meter>span{background:linear-gradient(90deg, #d2ff008c, var(--accent));animation:meter-reveal 1.1s var(--ease) .15s both;border-radius:999px;position:absolute;inset:0 auto 0 0;box-shadow:0 0 14px #d2ff0073}.meter>span:after{content:"";background:#f4ffc2;border-radius:50%;width:12px;height:12px;margin-top:-6px;position:absolute;top:50%;right:-1px;box-shadow:0 0 0 3px #d2ff0040,0 0 12px #d2ff00e6}.meter>span[style*=width\:0]:after,.meter>span[style*="width: 0"]:after{display:none}@keyframes meter-in{0%{transform:scaleX(0)}}@keyframes meter-reveal{0%{clip-path:inset(-12px 100% -12px -12px)}to{clip-path:inset(-12px)}}.meter-scale{font-size:var(--fs-xs);color:var(--muted);justify-content:space-between;margin-top:10px;display:flex}.session-hero .title{font-size:var(--fs-display);letter-spacing:-.03em;text-wrap:balance;margin:14px 0 4px;font-weight:700;line-height:1.05}.session-hero .details{color:var(--text-2);max-width:60ch;margin:12px 0 0}.session-metrics{border-top:1px solid #ffffff0f;flex-wrap:wrap;gap:32px;margin-top:24px;padding-top:20px;display:flex}.session-metrics .figure{font-size:var(--fs-xl);margin-top:2px}@media (max-width:560px){.session-metrics{gap:16px 24px}.session-metrics .figure{font-size:var(--fs-xl)}}.session-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:24px;display:flex}.done-banner{border-radius:var(--r-sm);background:var(--accent-wash);color:var(--accent);font-weight:600;font-size:var(--fs-sm);border:1px solid #d2ff0033;align-items:center;gap:10px;margin-top:20px;padding:12px 14px;display:flex}.done-banner svg{width:18px;height:18px}.done-badge{background:var(--accent-wash);color:var(--accent);font-weight:600;font-size:var(--fs-sm);border:1px solid #d2ff0033;border-radius:999px;align-self:flex-end;align-items:center;gap:7px;margin-left:auto;padding:6px 12px;display:inline-flex}.done-badge svg{width:15px;height:15px}.readiness-title{font-size:var(--fs-lg);letter-spacing:-.015em;align-items:center;gap:10px;font-weight:600;display:flex}.readiness-chips{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.reason-list{gap:0;margin-top:12px;display:grid}.reason{border-top:1px solid var(--line);grid-template-columns:18px 1fr auto;align-items:baseline;gap:10px;padding:10px 0;display:grid}.reason .status-dot{width:8px;height:8px;transform:translateY(-1px)}.reason-detail{font-size:var(--fs-sm);color:var(--muted);grid-column:2/-1;margin-top:-4px}.scoreboard .lcd{margin:4px 0 2px;font-size:clamp(58px,4vw + 27px,80px)}.scoreboard{flex-direction:column;display:flex}.pred-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:16px;display:flex}.pred-foot .pred-note{white-space:nowrap;align-self:center;align-items:center;gap:6px;line-height:1;display:inline-flex;margin:0!important;padding:0!important}.pred-foot .pred-note svg{flex:none;width:14px;height:14px}.pred-row{padding:4px 0 0}.scoreboard .pred-row:not([hidden]){flex-direction:column;flex:1;justify-content:center;padding:0;display:flex}.scoreboard .pred-row .lcd{margin:0}.pred-row .clock-row{flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:16px}.pred-change{font-size:var(--fs-base);text-align:right;font-variant-numeric:tabular-nums;max-width:12ch;color:var(--text);font-weight:600;line-height:1.3}.pred-goal{font-size:var(--fs-sm);color:var(--text-2);font-variant-numeric:tabular-nums;margin:8px 0 0}.pred-note{text-align:right;font-size:var(--fs-sm);color:var(--muted);margin:auto 0 0;padding-top:16px}.clock-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px;display:flex}.clock-side{font-size:var(--fs-sm);color:var(--muted);justify-items:end;gap:4px;padding-bottom:8px;display:grid}.clock-side b{font-size:var(--fs-lg);color:var(--text);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-weight:700}@media (max-width:400px){.clock-side{justify-items:start}}.weekstrip{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.wday{font-size:var(--fs-xs);color:var(--muted);border-radius:14px;align-content:start;justify-items:center;gap:8px;padding:10px 0;font-weight:600;transition:background .2s;display:grid}a.wday:hover{background:#ffffff09}.wday-letter{font-size:var(--fs-xs)}.wday.is-today .wday-letter{color:var(--accent)}.wday-col{background:#ffffff09;border-radius:7px;width:14px;height:76px;position:relative}.wday-col>span{transform-origin:bottom;animation:col-in .8s var(--ease) both;border-radius:7px;position:absolute;bottom:0;left:0;right:0}.wday:nth-child(2) .wday-col>span{animation-delay:40ms}.wday:nth-child(3) .wday-col>span{animation-delay:80ms}.wday:nth-child(4) .wday-col>span{animation-delay:.12s}.wday:nth-child(5) .wday-col>span{animation-delay:.16s}.wday:nth-child(6) .wday-col>span{animation-delay:.2s}.wday:nth-child(7) .wday-col>span{animation-delay:.24s}@keyframes col-in{0%{transform:scaleY(0)}}.wday-plan{background:#ffffff1a}.wday-done{background:linear-gradient(180deg, var(--accent), #d2ff0099);box-shadow:0 0 14px #d2ff0073}.wday-col>.wday-gym{background:#ffffff24;border-radius:5px;height:14px}.wday-col>.wday-rest{background:#ffffff1a;height:4px;left:3px;right:3px}.wday--done .wday-gym{background:var(--accent);box-shadow:0 0 12px #d2ff0073}.wday--extra .wday-done{background:var(--text-2);box-shadow:none}.wday--missed .wday-plan{background:0 0;box-shadow:inset 0 0 0 1.5px #ec835ab3}.wday--missed .day-kind{color:var(--serious)}.wday--today .wday-plan,.wday--today .wday-gym{box-shadow:inset 0 0 0 1.5px var(--accent), 0 0 16px #d2ff0059;animation:col-in .8s var(--ease) both, today-pulse 2.4s ease-in-out 1s infinite;background:#d2ff001a}@keyframes today-pulse{50%{box-shadow:inset 0 0 0 1.5px var(--accent), 0 0 4px #d2ff001a}}.day-kind{font-size:var(--fs-xs);color:var(--text-2)}.day-km{font-size:var(--fs-xs);color:var(--muted);font-variant-numeric:tabular-nums;margin-top:-5px}.wday.is-today .day-kind{color:var(--text)}.progress-row{font-size:var(--fs-sm);color:var(--text-2);justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:10px;display:flex}.insight{border-top:1px solid var(--line)}.insight:first-of-type{border-top:0}.insight>summary{grid-template-columns:22px 1fr 18px;align-items:center;gap:12px;padding:14px 0;display:grid}.insight>summary:hover .insight-title{color:var(--text)}.insight-title{color:var(--text);font-weight:600}.insight-body{color:var(--text-2);font-size:var(--fs-sm);margin-top:2px}.insight-more{padding:0 0 16px 34px}.coach-head{align-items:center;gap:12px;display:flex}.digest-otto{aspect-ratio:1;filter:drop-shadow(0 10px 14px #00000080);flex:none;width:clamp(84px,14vw,133px);height:auto;margin:-10px -10px -10px -14px}details>summary{cursor:pointer;list-style:none}details>summary::-webkit-details-marker{display:none}.chev{width:18px;height:18px;color:var(--muted);transition:transform .3s var(--ease), color .2s;flex:none}details[open]>summary .chev{color:var(--text-2);transform:rotate(180deg)}:is(.disclosure,.insight,.finding,.log-item,.digest-body)::details-content{opacity:0;block-size:0;transition:block-size .35s var(--ease), opacity .3s var(--ease), content-visibility .35s allow-discrete;overflow-y:clip}:is(.disclosure,.insight,.finding,.log-item,.digest-body)[open]::details-content{opacity:1;block-size:auto}.disclosure{border-top:1px solid var(--line);margin-top:18px}.disclosure>summary{color:var(--text-2);font-size:var(--fs-sm);justify-content:space-between;align-items:center;gap:8px;padding:14px 0 2px;font-weight:500;transition:color .2s;display:flex}.disclosure>summary:hover{color:var(--text)}.disclosure-body{color:var(--text-2);font-size:var(--fs-sm);padding:10px 0 2px}.disclosure-body p{margin:0 0 10px}.disclosure-body p:last-child{margin-bottom:0}.formula{font-size:var(--fs-sm);color:var(--text-2);border:1px solid var(--line);border-left:2px solid var(--accent-line);border-radius:var(--r-xs);background:#ffffff06;padding:10px 12px}.kv{font-size:var(--fs-sm);grid-template-columns:1fr auto;gap:0;display:grid}.kv>div{border-top:1px solid var(--line);padding:10px 0}.kv>div:nth-child(-n+2){border-top:0}.kv>div:nth-child(2n){text-align:right;font-variant-numeric:tabular-nums;color:var(--text);font-weight:500}.kv>div:nth-child(odd){color:var(--text-2)}.table{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.table th{text-align:left;color:var(--muted);font-weight:500;font-size:var(--fs-xs);border-bottom:1px solid var(--line);padding:8px 10px 8px 0}.table td{border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;padding:10px 10px 10px 0}.table tbody tr{transition:background .15s}.table tbody tr:hover{background:#ffffff05}.table tr:last-child td{border-bottom:0}.table .r{text-align:right;padding-right:0}.table-wrap{overflow-x:auto}.chart{border-radius:8px;width:100%;position:relative}.chart svg{display:block;overflow:visible}.card--fill{flex-direction:column;display:flex}.chart--fill{contain:size;flex:1 1 0;min-height:200px}.chart text{fill:var(--muted);font-size:var(--fs-xs);font-family:var(--font);font-variant-numeric:tabular-nums}.chart .label-strong{fill:var(--text);font-weight:600;font-size:var(--fs-xs)}.chart .ref-label,.chart .label-strong{paint-order:stroke;stroke:var(--surface);stroke-width:4px;stroke-linejoin:round}.chart .ref-label{fill:var(--text-2);font-size:var(--fs-xs)}.chart .ln--glow{filter:drop-shadow(0 0 6px #d2ff0080)}.chart .mark-halo{opacity:.22}.chart.draw .ln{stroke-dasharray:1;stroke-dashoffset:1px}.chart.draw .ar,.chart.draw .dot{opacity:0}.chart.draw .ln--proj{stroke-dasharray:2 6;stroke-dashoffset:0;clip-path:inset(0 100% 0 0)}.chart.draw .col{transform-box:fill-box;transform-origin:bottom;transform:scaleY(0)}.chart.draw.in .ln{animation:1.3s cubic-bezier(.35,.6,.2,1) forwards ln-draw}.chart.draw.in .ar{animation:.9s .45s forwards fade-to}.chart.draw.in .dot{animation:.4s .9s forwards fade-to}.chart.draw.in .ln--proj{animation:.9s linear 1.3s forwards proj-wipe}.chart.draw.in .dot--late{animation-delay:2.1s}@keyframes proj-wipe{to{clip-path:inset(0)}}.chart.draw.in .col{animation:col-in-to .8s var(--ease) forwards;animation-delay:calc(var(--i,0) * 22ms)}@keyframes ln-draw{to{stroke-dashoffset:0}}@keyframes fade-to{to{opacity:1}}@keyframes col-in-to{to{transform:scaleY(1)}}.chart-legend{font-size:var(--fs-xs);color:var(--text-2);flex-wrap:wrap;gap:16px;margin:0 0 12px;display:flex}.chart-legend span{align-items:center;gap:7px;display:inline-flex}.chart-legend i{border-radius:2px;width:14px;height:3px;display:inline-block}.chart-legend i.sw{border-radius:3px;width:10px;height:10px}.tooltip{z-index:5;pointer-events:none;-webkit-backdrop-filter:blur(14px)saturate(160%);min-width:128px;font-size:var(--fs-xs);opacity:0;background:#16191fd1;border:1px solid #ffffff1a;border-radius:12px;padding:9px 11px;transition:opacity .12s,transform .12s;position:absolute;transform:translateY(2px);box-shadow:inset 0 1px #ffffff0f,0 12px 32px #0000008c}.tooltip.on{opacity:1;transform:none}.tooltip .tt-head{color:var(--muted);margin-bottom:5px}.tooltip .tt-row{align-items:center;gap:8px;display:flex}.tooltip .tt-row i{border-radius:2px;width:12px;height:3px}.tooltip .tt-row b{color:var(--text);font-variant-numeric:tabular-nums;font-weight:700}.tooltip .tt-row span{color:var(--text-2)}.chart-empty{text-align:center;border:1px dashed var(--line-2);border-radius:var(--r);color:var(--muted);font-size:var(--fs-sm);background:repeating-linear-gradient(135deg,#0000 0 10px,#ffffff03 10px 20px);place-items:center;gap:6px;padding:32px 16px;display:grid}.chart-empty b{color:var(--text-2);font-weight:600}.spark{width:100%;height:44px;display:block;overflow:visible}.spark-area{fill:url(#g-spark)}.spark-line{fill:none;stroke:var(--gray-mark);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.spark-ring{stroke:var(--surface);stroke-width:11px;stroke-linecap:round;vector-effect:non-scaling-stroke}.spark-dot{stroke:var(--accent);stroke-width:7px;stroke-linecap:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 4px #d2ff00cc)}.tile:hover .spark-line{stroke:var(--text-2)}.seg{background:#ffffff06;border:1px solid #ffffff12;border-radius:999px;gap:2px;padding:3px;display:inline-flex}.seg button{cursor:pointer;font:inherit;background:0 0;border:0}.seg a,.seg button{font-size:var(--fs-sm);color:var(--text-2);border-radius:999px;padding:6px 14px;font-weight:600;transition:color .2s,background .2s}.seg a:hover,.seg button:hover{color:var(--text)}.seg a[aria-current=true],.seg button[aria-pressed=true]{color:var(--text);background:linear-gradient(#ffffff1c,#ffffff0d);box-shadow:inset 0 1px #ffffff1a,inset 0 0 0 1px #ffffff0f}.plan-meta{color:var(--text-2);font-size:var(--fs-sm);flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.plan-meta span{background:#ffffff0a;border:1px solid #ffffff0f;border-radius:999px;align-items:center;gap:7px;height:30px;padding:0 12px;font-weight:500;display:inline-flex}.plan-meta svg{width:15px;height:15px;color:var(--muted)}.tl-wrap{max-width:calc(var(--n) * 52px)}.timeline{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;align-items:end;gap:6px;height:150px;padding-top:18px;display:grid}.timeline a{--ph:var(--gray-mark);border-radius:8px;align-items:flex-end;height:100%;display:flex;position:relative}.timeline a.p-base{--ph:var(--z2)}.timeline a.p-build{--ph:var(--z3)}.timeline a.p-peak{--ph:var(--z4)}.timeline a.p-taper{--ph:var(--z1)}.timeline a .bar{background:var(--ph);opacity:.45;transform-origin:bottom;width:100%;animation:col-in .9s var(--ease) both;border-radius:7px 7px 3px 3px;transition:opacity .2s;position:relative;box-shadow:inset 0 1px #ffffff1f}.timeline a.current .bar{opacity:1}.timeline a.past .bar{opacity:.25}.timeline a:not(.past):hover .bar{opacity:.85}.timeline a.selected:after{content:"";background:var(--text);border-radius:50%;width:5px;height:5px;margin-left:-2.5px;position:absolute;bottom:-12px;left:50%;box-shadow:0 0 8px #fff9}.timeline-axis{font-size:var(--fs-xs);color:var(--muted);font-variant-numeric:tabular-nums;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:6px;margin-top:18px;display:grid}.phase-row{gap:6px;margin-top:12px;display:flex}.phase-row div{font-size:var(--fs-xs);color:var(--text-2);text-transform:capitalize;text-overflow:ellipsis;white-space:nowrap;min-width:0;padding-top:8px;font-weight:600;position:relative;overflow:hidden}.phase-row div:before{content:"";background:var(--gray-mark-2);border-radius:2px;height:3px;position:absolute;top:0;left:0;right:0}.phase-row .phase--base:before{background:var(--z2)}.phase-row .phase--build:before{background:var(--z3)}.phase-row .phase--peak:before{background:var(--z4)}.phase-row .phase--taper:before{background:var(--z1)}.week-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.week-head h2{font-size:var(--fs-xl);letter-spacing:-.025em;font-weight:700}.week-nav{gap:6px;display:flex}.week-nav .icon-btn{background:#ffffff0a;border-color:#ffffff12}.struct{align-items:flex-end;gap:2px;max-width:460px;height:56px;margin:4px 0 12px;display:flex}.struct i{background:var(--z1);transform-origin:bottom;min-width:3px;animation:col-in .7s var(--ease) both;border-radius:3px 3px 1px 1px;display:block}.struct i.z1{background:var(--z1);height:24%}.struct i.z2{background:var(--z2);height:40%}.struct i.z3{background:var(--z3);height:58%}.struct i.z4{background:var(--z4);height:80%}.struct i.z5{background:var(--z5);height:100%}.note{border-radius:var(--r);border:1px solid var(--line);color:var(--text-2);font-size:var(--fs-sm);background:linear-gradient(90deg,#d2ff000d,#ffffff05 50%);gap:12px;padding:14px 16px;display:flex}.note svg{width:18px;height:18px;color:var(--accent);flex:none;margin-top:1px}.note b{color:var(--text)}.menu{position:relative}.menu>summary{list-style:none}.menu-panel{z-index:20;border-radius:var(--r);-webkit-backdrop-filter:blur(18px)saturate(160%);transform-origin:100% 0;min-width:210px;animation:pop .18s var(--ease);background:#181b21e0;border:1px solid #ffffff17;padding:6px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:inset 0 1px #ffffff0f,0 20px 50px #0009}@keyframes pop{0%{opacity:0;transform:scale(.96)translateY(-4px)}}.menu-panel a,.menu-panel button{text-align:left;width:100%;font-size:var(--fs-sm);color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding:9px 10px;display:flex}.menu-panel a:hover,.menu-panel button:hover{background:#ffffff12}.menu-panel .danger{color:var(--serious)}.menu-panel svg{width:16px;height:16px;color:var(--muted)}.form{gap:20px;display:grid}.field{gap:8px;display:grid}.field label,.field .label{font-size:var(--fs-sm);color:var(--text-2);font-weight:600}.field .hint{font-size:var(--fs-xs);color:var(--muted)}.input,select.input,textarea.input{height:46px;color:var(--text);background:#ffffff09;border:1px solid #ffffff17;border-radius:12px;outline:none;width:100%;padding:0 14px;transition:border-color .2s,box-shadow .2s,background .2s;box-shadow:inset 0 1px 2px #0000004d}textarea.input{resize:vertical;height:auto;min-height:92px;padding:12px 14px}.input:hover{border-color:#ffffff26}.input:focus{border-color:var(--accent-line);box-shadow:0 0 0 4px var(--accent-wash);background:#ffffff0d}.input::placeholder{color:var(--muted)}.input.mono,.input.num{font-variant-numeric:tabular-nums}.field-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}@media (max-width:560px){.field-row{grid-template-columns:1fr}}.choice{flex-wrap:wrap;gap:6px;display:flex}.choice input{opacity:0;pointer-events:none;position:absolute}.choice label{min-width:50px;height:42px;color:var(--text-2);cursor:pointer;background:#ffffff09;border:1px solid #ffffff17;border-radius:12px;place-items:center;padding:0 15px;font-weight:600;transition:background .2s,border-color .2s,color .2s,box-shadow .2s,transform .15s;display:grid}.choice label:hover{color:var(--text);border-color:#ffffff29}.choice label:active{transform:scale(.96)}.choice input:checked+label{background:var(--accent-wash);border-color:var(--accent-line);color:var(--accent);box-shadow:0 0 18px -6px #d2ff0080}.choice input:focus-visible+label{outline:2px solid var(--accent);outline-offset:2px}.form-status{font-size:var(--fs-sm)}.form-status:empty{display:none}.form-status .ok{color:var(--accent)}.form-status .garmin-ok,.garmin-ok{color:var(--text);align-items:center;line-height:0;display:flex}.garmin-ok svg{width:26px;height:26px}.form-status .err{color:var(--serious)}.filters{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:24px;display:flex}.pager{font-size:var(--fs-sm);color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin-top:18px;display:flex}.log-week-head{font-size:var(--fs-sm);color:var(--muted);justify-content:space-between;align-items:baseline;gap:12px;padding:0 6px 10px;display:flex}.log-week-head b{color:var(--text);font-weight:600}.log-item{border-top:1px solid var(--line)}.log-item:first-child{border-top:0}.log-item:first-child>.log-row{border-radius:var(--r-lg) var(--r-lg) 0 0}.log-item:last-child:not([open])>.log-row{border-radius:0 0 var(--r-lg) var(--r-lg)}.log-row{align-items:stretch;list-style:none;transition:background .2s;display:flex}.log-row::-webkit-details-marker{display:none}.log-link{min-width:0;color:inherit;flex:1;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 4px 12px 18px;display:grid}.log-toggle{cursor:pointer;flex:none;place-items:center;width:48px;display:grid}.log-row:hover{background:#ffffff06}.log-item[open]>.log-row{background:#ffffff08}.log-more{padding:6px 18px 20px 76px}.log-more-grid{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:20px;display:grid}.mini-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 18px;display:grid}.mini-stats>div{gap:2px;min-width:0;display:grid}.mini-stats span{font-size:var(--fs-xs);color:var(--muted)}.mini-stats b{font-size:var(--fs-sm);font-variant-numeric:tabular-nums;font-weight:600}.mini-stats small{font-size:var(--fs-xs);color:var(--muted)}.mini-stats .clip{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.exercises td:first-child{color:var(--text)}.log-icon{width:44px;height:44px;color:var(--text-2);background:#ffffff09;border:1px solid #ffffff0f;border-radius:13px;place-items:center;transition:border-color .2s,background .2s;display:grid}.log-icon svg{width:18px;height:18px}.log-icon .route--glyph{width:30px;height:30px}.log-row:hover .log-icon{border-color:#ffffff1f}.log-row:hover .route--glyph path{stroke:var(--accent);filter:drop-shadow(0 0 3px #d2ff0099)}.log-icon.race{background:var(--accent-wash);color:var(--accent);border-color:#d2ff0038}.log-icon.race .route--glyph path{stroke:var(--accent)}.log-name{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.log-meta{font-size:var(--fs-xs);color:var(--muted);flex-wrap:wrap;gap:8px;margin-top:1px;display:flex}.log-stats{text-align:right;font-variant-numeric:tabular-nums;gap:24px;display:flex}.log-stats div{min-width:54px}.log-stats b{font-weight:700;font-size:var(--fs-base)}.log-stats small{font-size:var(--fs-xs);color:var(--muted);display:block}@media (max-width:560px){.log-link{grid-template-columns:40px minmax(0,1fr) auto;gap:12px;padding:12px 2px 12px 14px}.log-icon{width:40px;height:40px}.log-more{padding:4px 14px 16px}.log-more-grid{grid-template-columns:minmax(0,1fr)}.mini-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.log-stats{gap:12px}.log-stats .hide-sm{display:none}}.empty{text-align:center;padding:60px 24px}.empty h2{font-size:var(--fs-xl);letter-spacing:-.03em;margin-bottom:8px;font-weight:700}.empty p{color:var(--text-2);max-width:46ch;margin:0 auto 24px}.center-card{max-width:540px;margin:8vh auto 0}code{font-family:var(--font);font-weight:500;font-size:var(--fs-xs);border:1px solid var(--line);background:#ffffff0d;border-radius:6px;padding:1px 6px}hr.sep{border:0;border-top:1px solid var(--line);margin:18px 0}.digest p{color:var(--text-2);margin:0 0 12px;line-height:1.65}.digest-body>summary{gap:10px;display:grid}.digest-body .clamp{color:var(--text);font-size:var(--fs-base);-webkit-line-clamp:5;-webkit-box-orient:vertical;margin:0;line-height:1.65;display:-webkit-box;overflow:hidden}.digest-body[open] .clamp{display:block}.digest-body[open] .more{display:none}.digest-body>p:first-of-type{margin-top:12px}.label-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.slider-value{font-family:var(--font-clock);color:var(--accent);text-shadow:0 0 16px #d2ff0066;text-align:right;min-width:1ch;font-size:30px;font-style:italic;line-height:1}.slider{--pct:50%;appearance:none;cursor:pointer;background:0 0;width:100%;height:28px;margin:0}.slider:focus{outline:none}.slider::-webkit-slider-runnable-track{background:linear-gradient(to right, #d2ff0099, var(--accent) var(--pct), #ffffff14 var(--pct) 100%);border-radius:999px;height:6px}.slider::-moz-range-track{background:#ffffff14;border-radius:999px;height:6px}.slider::-moz-range-progress{background:var(--accent);border-radius:999px;height:6px}.slider::-webkit-slider-thumb{-webkit-appearance:none;background:radial-gradient(circle at 35% 30%, #f7ffd0, var(--accent) 60%);width:22px;height:22px;transition:box-shadow .2s, transform .2s var(--spring);border:0;border-radius:50%;margin-top:-8px;box-shadow:0 0 0 5px #d2ff0024,0 0 16px #d2ff0080,0 2px 10px #00000080}.slider::-moz-range-thumb{background:var(--accent);border:0;border-radius:50%;width:22px;height:22px;box-shadow:0 0 0 5px #d2ff0024,0 2px 10px #00000080}.slider:hover::-webkit-slider-thumb{box-shadow:0 0 0 8px #d2ff0033,0 0 22px #d2ff0099,0 2px 10px #00000080}.slider:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 8px #d2ff0033,0 0 22px #d2ff0099,0 2px 10px #00000080}.slider:active::-webkit-slider-thumb{transform:scale(1.12)}.slider:focus-visible::-moz-range-thumb{box-shadow:0 0 0 8px #d2ff0038}.slider-ticks{font-size:var(--fs-xs);color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;margin-top:-2px;padding:0 7px;display:flex}.builder-card{position:relative}.busy{z-index:10;border-radius:inherit;-webkit-backdrop-filter:blur(12px)saturate(120%);opacity:0;visibility:hidden;transition:opacity .3s var(--ease), visibility 0s linear .3s;background:#07080b99;place-items:center;display:grid;position:absolute;inset:0}.busy.htmx-request{opacity:1;visibility:visible;transition:opacity .3s var(--ease)}.busy--page{z-index:60;border-radius:0;position:fixed}.busy-inner{text-align:center;justify-items:center;gap:10px;padding:24px;display:grid}.stopwatch{width:136px;height:136px;margin-bottom:8px;position:relative}.stopwatch svg{width:100%;height:100%;animation:1.6s linear infinite sw-spin;transform:rotate(-90deg)}.sw-track{fill:none;stroke:#ffffff12;stroke-width:5px}.sw-arc{fill:none;stroke:var(--accent);stroke-width:5px;stroke-linecap:round;stroke-dasharray:72 255;filter:drop-shadow(0 0 6px #d2ff00a6)}.sw-time{font-family:var(--font-clock);color:var(--accent);text-shadow:0 0 18px #d2ff0073;font-variant-numeric:tabular-nums;place-items:center;font-size:40px;font-style:italic;display:grid;position:absolute;inset:0}.busy-title{font-size:var(--fs-lg);letter-spacing:-.02em;font-weight:700}.busy-sub{color:var(--text-2);font-size:var(--fs-sm);min-height:1.5em;animation:fade-in .4s var(--ease)}@keyframes sw-spin{to{transform:rotate(270deg)}}@keyframes fade-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}.has-tip{position:relative}.tip-icon{color:var(--muted);vertical-align:-2px;margin-left:5px;display:inline-flex}.tip-icon svg{width:14px;height:14px}.tip{z-index:20;-webkit-backdrop-filter:blur(16px);font-size:var(--fs-sm);color:var(--text-2);opacity:0;visibility:hidden;transition:opacity .18s var(--ease), transform .18s var(--ease), visibility 0s linear .18s;pointer-events:none;background:#181b21e6;border:1px solid #ffffff1a;border-radius:12px;padding:12px 14px;line-height:1.5;position:absolute;top:calc(100% - 6px);left:12px;right:12px;transform:translateY(-4px);box-shadow:0 16px 40px #0000008c}.tip b{color:var(--text);font-weight:600}.has-tip:hover .tip,.has-tip:focus-visible .tip,.has-tip:focus-within .tip{opacity:1;visibility:visible;transition:opacity .18s var(--ease), transform .18s var(--ease);transform:none}.back-link{margin-bottom:16px}.back-link:hover svg{transform:translate(-3px)!important}.act-kpis{grid-template-columns:repeat(6,minmax(0,1fr));gap:18px;display:grid}.act-kpis>div{min-width:0}.act-kpis>div+div{border-left:1px solid #ffffff0f;padding-left:18px}.act-kpis .figure{font-size:var(--fs-xl);margin-top:4px}@media (max-width:980px){.act-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.act-kpis>div:nth-child(3n+1){border-left:0;padding-left:0}}@media (max-width:560px){.act-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.act-kpis>div:nth-child(n){border-left:0;padding-left:0}}.route{display:block}.route path{fill:none;stroke:var(--accent);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 5px #d2ff0066)}.route--lg{width:100%;height:auto}.route--lg path{stroke-dasharray:1;animation:2.2s cubic-bezier(.45,.1,.2,1) .2s both route-draw}@keyframes route-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}.route--lg .route-start,.route--lg .route-end{animation:.4s 2.2s both fade-in}.route-map{border-radius:var(--r);background:radial-gradient(70% 70%,#d2ff000d,#0000 70%),linear-gradient(#ffffff09 1px,#0000 1px) 0 0/28px 28px,linear-gradient(90deg,#ffffff09 1px,#0000 1px) 0 0/28px 28px;padding:6px}.route--sm{border:1px solid var(--line);background:#ffffff08;border-radius:12px;width:176px;height:116px}.route--sm path{stroke-width:2px;filter:none}.route--glyph path{stroke:var(--text-2);stroke-width:1.6px;filter:none;vector-effect:non-scaling-stroke;transition:stroke .2s}.route .route-start{fill:var(--surface);stroke:var(--text);stroke-width:2px}.route .route-end{fill:var(--text);stroke:var(--surface);stroke-width:2px}.route-legend{font-size:var(--fs-xs);color:var(--text-2);gap:16px;margin-top:12px;display:flex}.route-legend span{align-items:center;gap:6px;display:inline-flex}.route-legend i{border-radius:50%;width:10px;height:10px;display:inline-block}.route-legend i.route-start{border:2px solid var(--text)}.route-legend i.route-end{background:var(--text)}@media (max-width:560px){.route--sm{width:100%;height:150px}}.te-row{margin-bottom:16px}.te-head{font-size:var(--fs-sm);color:var(--text-2);justify-content:space-between;gap:10px;margin-bottom:8px;display:flex}.te-head b{color:var(--text);font-weight:700}.planned-vs+.planned-vs{border-top:1px solid var(--line);margin-top:14px;padding-top:14px}.zones{gap:11px;display:grid}.zone-row{font-size:var(--fs-sm);grid-template-columns:124px minmax(0,1fr) 96px;align-items:center;gap:12px;display:grid}.zone-name{color:var(--text);white-space:nowrap;font-weight:600}.zone-bar{background:#ffffff0d;border-radius:999px;height:8px;overflow:hidden}.zone-bar i{background:var(--gray-mark);transform-origin:0;height:100%;animation:meter-in .9s var(--ease) both;border-radius:999px;display:block}.zone-row .zone-bar i{background:var(--zc,var(--gray-mark))}.zone-row.z1{--zc:var(--z1)}.zone-row.z2{--zc:var(--z2)}.zone-row.z3{--zc:var(--z3)}.zone-row.z4{--zc:var(--z4)}.zone-row.z5{--zc:var(--z5)}.zone-row.main .zone-name{color:var(--zc)}.zone-val{text-align:right;color:var(--text)}.zones--mini{gap:6px;width:220px}.zones--mini .zone-row{font-size:var(--fs-xs);grid-template-columns:26px minmax(0,1fr) 38px;gap:8px}.zones--mini .zone-bar{height:6px}@media (max-width:560px){.zones--mini{width:100%}.zone-row{grid-template-columns:96px minmax(0,1fr) 84px}}.dyn-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.dyn-grid>div{outline-offset:4px;min-width:0}@media (max-width:560px){.dyn-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.stream{border-top:1px solid var(--line);margin-top:20px;padding-top:20px}.stream--first{border-top:0;margin-top:0;padding-top:0}.stream h3{margin-bottom:10px}.splits td{padding-top:7px;padding-bottom:7px}.split-bar-col{width:42%}.split-bar{background:#ffffff0d;border-radius:999px;height:8px;display:block;overflow:hidden}.split-bar i{background:var(--gray-mark);transform-origin:0;height:100%;animation:meter-in .9s var(--ease) both;border-radius:999px;display:block}.splits tr.fastest .split-bar i{background:linear-gradient(90deg, #d2ff0099, var(--accent));box-shadow:0 0 10px #d2ff0080}.splits tr.fastest td:first-child,.splits tr.fastest td:nth-child(2){color:var(--accent);font-weight:600}.detail-loading{color:var(--text-2);font-size:var(--fs-sm);align-items:center;gap:12px;display:flex}.spinner-sm{border:2px solid var(--surface-3);border-top-color:var(--accent);border-radius:50%;flex:none;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.page-head-chips{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sync-check{gap:8px}.sync-check:not(.htmx-request){display:none}.sync-check .spinner-sm{border-width:1.5px;width:12px;height:12px}.import-card .import-progress{color:var(--text-2);font-size:var(--fs-sm);align-items:center;gap:12px;display:inline-flex}.import-card .import-progress b{color:var(--text)}.sess-actions{border-top:1px dashed var(--line);flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:14px;padding-top:14px;display:flex}.sess-move{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sess-move label{font-size:var(--fs-sm);color:var(--muted);font-weight:600}.sess-more{gap:4px;display:flex}.sess-actions .form-status{flex-basis:100%}.input--sm,select.input--sm{height:32px;font-size:var(--fs-sm);border-radius:10px;width:auto;padding:0 10px}.session-menu>summary.btn{list-style:none}.session-menu>summary::-webkit-details-marker{display:none}.session-menu{position:static}.menu-panel--wide{transform-origin:0 0;min-width:0;margin-top:8px;padding:12px 14px;top:auto;left:16px;right:16px}.menu-panel--wide .sess-actions{border-top:0;margin-top:0;padding-top:0}.menu-panel--wide .btn{width:auto;display:inline-flex}.session-hero .title.is-skipped,.drow.is-skipped .tt{color:var(--muted);-webkit-text-decoration:line-through #ffffff40;text-decoration:line-through #ffffff40}.skipped-banner{border-radius:var(--r-sm);border:1px dashed var(--line-2);color:var(--text-2);font-size:var(--fs-sm);margin-top:18px;padding:12px 14px}.skipped-banner b{color:var(--text)}.moved-note{font-size:var(--fs-sm);color:var(--muted);margin:6px 0 0}.wday--skipped .wday-plan{background:0 0;box-shadow:inset 0 0 0 1.5px #ffffff2e}.wday--skipped .day-kind{text-decoration:line-through}.felt{color:var(--text-2)}.lvl-missing .status-dot{box-shadow:inset 0 0 0 1.5px var(--muted);background:0 0}.stale{color:var(--warning)}.digest-next{border-radius:var(--r-sm);background:var(--accent-wash);border:1px solid #d2ff0029;align-items:center;gap:12px;padding:14px 16px;display:flex}.digest-next-text{flex:1;min-width:0}.digest-next .stat-label{color:var(--accent)}.digest-next p{color:var(--text);font-size:var(--fs-base);margin:6px 0 0;line-height:1.6}.digest-body>summary{margin-top:14px}.digest-section{margin-top:16px}.digest-section p{margin:6px 0 0}.digest-asof{font-size:var(--fs-xs);color:var(--muted)!important;margin:16px 0 0!important}.source+.source{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}.source-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.source-head b{color:var(--text);margin-right:8px}.source-head .muted{font-size:var(--fs-sm)}.source-when{font-size:var(--fs-sm);color:var(--text);font-variant-numeric:tabular-nums}.source-note{font-size:var(--fs-sm);color:var(--muted);margin:8px 0 0;line-height:1.55}.source-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;display:flex}.band-inputs{flex-wrap:wrap;align-items:center;gap:10px;display:flex}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.orbit{display:none}::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}.chart.draw .ln{stroke-dashoffset:0}.chart.draw .ln--proj{clip-path:none}.chart.draw .ar,.chart.draw .dot{opacity:1}.chart.draw .col{transform:none}}.findings{gap:12px;display:grid}.finding{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--lift);--lc:var(--blue)}.finding.lvl-serious{--lc:var(--critical)}.finding.lvl-warning{--lc:var(--warning)}.finding.lvl-good{--lc:var(--good)}.finding>summary{cursor:pointer;grid-template-columns:44px 72px minmax(0,1fr) auto;align-items:start;gap:6px 16px;padding:20px 22px;display:grid}.finding .rank{font-size:var(--fs-2xl);color:var(--lc);font-weight:700;line-height:1}.finding-otto{filter:drop-shadow(0 8px 10px #00000080);align-self:center;width:72px;height:72px;margin:-12px -6px}.finding-title{font-size:var(--fs-lg);color:var(--text);font-weight:600}.finding-body{color:var(--text-2);font-size:var(--fs-sm);max-width:64ch;margin:5px 0 0}.finding-side{align-items:center;gap:12px;display:flex}.finding-metric{font-size:var(--fs-base);white-space:nowrap;font-weight:700}.finding[open] .chev{transform:rotate(180deg)}.finding-more{padding:0 22px 22px 82px}.finding-cols{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:start;gap:28px;display:grid}.finding-cols--one{grid-template-columns:minmax(0,1fr);max-width:520px}.finding-why{color:var(--text-2);font-size:var(--fs-sm);margin:0 0 14px}.finding-chart{min-width:0}.fix{margin-top:16px}.fix-head{font-size:var(--fs-sm);align-items:center;gap:6px;margin:0 0 8px;display:flex}.fix-done{color:var(--good)}.fix-done svg{width:16px;height:16px}.fix-list{font-size:var(--fs-sm);gap:8px;margin:0 0 12px;padding:0;list-style:none;display:grid}.fix-list li{grid-template-columns:56px minmax(0,1fr);gap:10px;display:grid}.fix-list small{color:var(--text-2);font-size:var(--fs-xs);display:block}.fix-actions{gap:8px;display:flex}@media (max-width:720px){.finding>summary{grid-template-columns:30px 52px minmax(0,1fr) auto;padding:16px}.finding-otto{width:52px;height:52px;margin:-8px -4px}.finding .rank{font-size:var(--fs-xl)}.finding-more{padding:0 16px 18px}.finding-cols{grid-template-columns:minmax(0,1fr);gap:18px}}.session-kind{margin-top:8px}.session-hero .hero-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.hero-top .session-kind{margin-top:8px}button.ready{cursor:pointer;font:inherit;color:inherit}button.ready:hover{filter:brightness(1.2)}.ready-dialog{border:1px solid var(--line-2);background:var(--surface-2);color:var(--text-2);width:min(560px,100vw - 32px);max-height:calc(100dvh - 48px - env(safe-area-inset-top) - env(safe-area-inset-bottom));border-radius:20px;padding:20px 24px 24px}.ready-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009}.ready-dialog-head{justify-content:flex-end;align-items:center;margin-bottom:14px;display:flex}.ready-dialog p{margin:0 0 10px}.plan-head{flex:100%}.plan-meta-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;display:flex}.plan-meta-row .plan-meta{margin-top:0}.plan-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.note{align-items:flex-start;position:relative}.note>div{flex:1;min-width:0}.note-close{width:24px;height:24px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;place-items:center;margin:-2px -4px 0 0;padding:0;display:grid}.note-close:hover{color:var(--text);background:#ffffff12}.note-close svg{width:15px;height:15px;color:inherit;margin:0}.hero-top{align-items:flex-start}.session-hero .hero-top .title{margin-top:0}.session-hero{flex-direction:column;display:flex}.session-hero .session-actions{margin-top:auto;padding-top:24px}html{scroll-padding-top:104px}.wk-title-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.wk-dates{font-size:var(--fs-sm);color:var(--muted);margin-top:4px}.phase-chip{--ph:var(--gray-mark);height:24px;font-size:var(--fs-xs);color:var(--ph);background:color-mix(in srgb, var(--ph) 14%, transparent);border:1px solid color-mix(in srgb, var(--ph) 32%, transparent);border-radius:999px;align-items:center;padding:0 10px;font-weight:600;display:inline-flex}.phase-chip.p-base{--ph:var(--z2)}.phase-chip.p-build{--ph:var(--z3)}.phase-chip.p-peak{--ph:var(--z4)}.phase-chip.p-taper{--ph:var(--z1)}.field-row--goal{grid-template-columns:auto 1fr 1fr;align-items:end}@media (max-width:560px){.field-row--goal{grid-template-columns:1fr}}.pace-input{text-align:center;width:84px}select.input{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239aa1ad' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;padding-right:44px}.chart .ref-label--color{font-weight:600;font-size:var(--fs-xs)}.step-list{font-size:var(--fs-sm);color:var(--text-2);gap:8px;margin:14px 0 0;padding:0;list-style:none;display:grid}.step{align-items:center;gap:12px;display:flex}.step i{background:var(--z2);border-radius:2px;flex:none;width:4px;height:18px}.step i.z1{background:var(--z1)}.step i.z2{background:var(--z2)}.step i.z3{background:var(--z3)}.step i.z4{background:var(--z4)}.step i.z5{background:var(--z5)}.step-rep{border:1px solid var(--line-2);background:#ffffff08;border-radius:14px;padding:12px 14px}.rep-head{font-size:var(--fs-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);align-items:center;gap:8px;margin-bottom:10px;font-weight:600;display:flex}.rep-badge{background:var(--accent-wash);border:1px solid var(--accent-line);color:var(--accent);font-size:var(--fs-sm);letter-spacing:0;font-variant-numeric:tabular-nums;border-radius:999px;padding:2px 9px}.step-rep ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.tl-wrap{max-width:calc(var(--n) * 62px);margin:0 auto}.timeline{height:112px;padding-top:6px}.timeline a.selected:after{background:var(--text);width:auto;height:3px;box-shadow:none;border-radius:2px;margin:0;bottom:-10px;left:0;right:0}.plan-card .week-bar{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:14px;margin-top:26px;padding-top:20px;display:flex}.plan-card .week-nav{gap:6px}.week-id{flex:1;min-width:0}.week-stats{text-align:right;font-size:var(--fs-sm);color:var(--muted);font-variant-numeric:tabular-nums}.week-stats b{color:var(--text)}.plan-card .meter{margin:14px 0 16px}.days{gap:6px;display:grid}.dgroup{border:1px solid var(--line);background:#ffffff05;border-radius:16px;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:20px;padding:6px 16px;transition:border-color .2s,opacity .2s;display:grid}.dgroup:hover{border-color:var(--line-2)}.dgroup.is-today{background:linear-gradient(var(--accent-wash), var(--accent-wash)), #ffffff05;border-color:#d2ff008c}.dgroup:has(.drow.is-open){border-color:var(--accent);box-shadow:0 0 0 1px var(--accent), 0 0 24px -6px #d2ff0073}.dgroup.is-past{opacity:.55}.dgroup.is-past:hover{opacity:.85}.dgroup.is-past .dd b{color:var(--text-2)}.dgroup.rest{opacity:.6;background:0 0;border-style:dashed}.dgroup.is-today .dd{color:var(--accent)}.dsess{min-width:0;display:grid}.drow{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:12px;grid-template-columns:18px 4px minmax(0,1fr) auto 18px;align-items:center;gap:20px;margin:0 -8px;padding:11px 8px;transition:background .2s;display:grid}.drow+.drow{position:relative}.drow+.drow:before{content:"";background:var(--line);height:1px;position:absolute;top:0;left:8px;right:8px}.drow:hover{background:#ffffff0f}.drow.is-open{background:var(--accent-wash)}.drow.rest{cursor:default}.drow.rest:hover{background:0 0}.dgroup .dd{font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);min-height:1px;font-weight:600;line-height:1.4}.dgroup .dd b{font-size:var(--fs-lg);letter-spacing:-.02em;color:var(--text);font-variant-numeric:tabular-nums;font-weight:700;line-height:1.05;display:block}.drow .strip{background:var(--kc,var(--gray-mark-2));border-radius:2px;align-self:stretch}.drow .tt{font-weight:600;font-size:var(--fs-base);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.drow .tg{font-size:var(--fs-xs);color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;margin-top:4px;display:flex}.drow .tg .pace{color:var(--text-2);font-variant-numeric:tabular-nums}.drow .rt{text-align:right;font-variant-numeric:tabular-nums;font-weight:700;font-size:var(--fs-base)}.drow .rt small{font-weight:500;font-size:var(--fs-xs);color:var(--muted);justify-content:flex-end;align-items:center;gap:5px;margin-top:2px;display:flex}.drow .rt small svg{width:13px;height:13px}.drow .rt small.is-done{color:var(--accent)}.drow .rt small.is-missed{color:var(--serious)}.drow .chev{width:16px;height:16px;color:var(--muted);transform:rotate(-90deg)}@media (max-width:560px){.dgroup{grid-template-columns:40px minmax(0,1fr);gap:12px;padding:4px 12px}.drow{grid-template-columns:16px 3px minmax(0,1fr) auto;gap:12px}.drow .chev{display:none}}.layer[hidden]{display:none}.layer .scrim{z-index:50;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;background:#0304069e;transition:opacity .35s;position:fixed;inset:0}.layer .sheet{z-index:51;overscroll-behavior:contain;background:var(--surface-2);border-left:1px solid var(--line-2);width:min(540px,100%);transition:transform .5s var(--ease);padding:22px 26px 40px;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;transform:translate(104%);box-shadow:-30px 0 80px #00000080}.layer.open .scrim{opacity:1}.layer.open .sheet{transform:none}.sheet .x{z-index:2;border:1px solid var(--line-2);background:var(--surface-3);width:34px;height:34px;color:var(--text);cursor:pointer;border-radius:50%;place-items:center;margin-left:auto;display:grid;position:sticky;top:0}.sheet .x svg{width:16px;height:16px}.sheet-title{font-size:var(--fs-display);letter-spacing:-.03em;text-wrap:balance;margin:6px 0 12px;font-weight:700;line-height:1}.sheet-top{justify-content:space-between;align-items:center;gap:16px;display:flex}.sheet-top>div{min-width:0}.sheet-top .btn{flex:none}.sheet-top .btn svg{width:17px;height:17px}.sheet-chips{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sheet-sec{border-top:1px solid var(--line);margin-top:18px;padding:18px 0 4px}.sheet-sec h4{font-size:var(--fs-sm);color:var(--text-2);margin:0 0 12px;font-weight:600}.sheet-sec p{color:var(--text-2);font-size:var(--fs-sm);margin:0 0 8px}.sheet .sess-actions{border-top:0;margin-top:0;padding-top:0}.sheet-done{border-radius:var(--r);background:var(--accent-wash);color:var(--accent);border:1px solid #d2ff0033;align-items:center;gap:10px;padding:14px 16px;font-weight:600;display:flex}.sheet-done svg{width:18px;height:18px}.sheet .struct{max-width:none;height:48px;margin:0 0 14px}.sheet .step-list{margin-top:0}#sheet-body>*{animation:sheet-in .5s var(--ease) both}#sheet-body>:nth-child(2){animation-delay:50ms}#sheet-body>:nth-child(3){animation-delay:.1s}#sheet-body>:nth-child(4){animation-delay:.15s}#sheet-body>:nth-child(5){animation-delay:.2s}#sheet-body>:nth-child(6){animation-delay:.25s}@keyframes sheet-in{0%{opacity:0;transform:translate(18px)}}@media (prefers-reduced-motion:reduce){.layer .sheet,.layer .scrim{transition:none}#sheet-body>*{animation:none}}.hero-top--next{margin-bottom:4px}.icon-btn.is-disabled{opacity:.3;pointer-events:none}.sess-send{flex-basis:100%;align-items:center;gap:12px;margin-bottom:4px;display:flex}.sess-send .btn svg{width:17px;height:17px}.sess-send .form-status{margin:0}.sheet{padding-top:calc(14px + env(safe-area-inset-top));padding-bottom:calc(40px + env(safe-area-inset-bottom))}.sheet .x{top:env(safe-area-inset-top);margin-bottom:-26px}.drow .ico{color:#fff;place-items:center;display:grid}.drow .ico svg{width:16px;height:16px}.btn--danger{color:#f08a8a;box-shadow:none;background:#ec5a5a14;border:1px solid #ec5a5a38}.btn--danger:hover{color:#ff9c9c;background:#ec5a5a29;border-color:#ec5a5a66}.sess-send{flex-wrap:wrap;justify-content:space-between}.sess-send .form-status{flex-basis:100%}.sess-send .form-status:empty{display:none}.sess-send .form-status:has(.garmin-ok){flex-basis:auto;order:1}.sess-send .btn--danger{order:2}.dgroup:has(.drow:only-child:not(.rest)){cursor:pointer}.dgroup:has(.drow:only-child:not(.rest)):hover{background:#ffffff0f}.dgroup.is-today:has(.drow:only-child:not(.rest)):hover{background:linear-gradient(var(--accent-wash), var(--accent-wash)), #ffffff0f}.dgroup:has(.drow:only-child.is-open){background:var(--accent-wash)}.dsess>.drow:only-child{margin:0;padding-left:0;padding-right:0}.dsess>.drow:only-child:hover,.dsess>.drow:only-child.is-open{background:0 0}.sort-by{align-items:center;gap:10px;margin-left:auto;display:flex}.sort-by label{font-size:var(--fs-sm);color:var(--muted);font-weight:600}.sort-by select.input{min-width:130px;height:36px}.sort-dir{justify-content:center;align-items:center;width:36px;height:36px;padding:0;display:inline-flex}.sort-dir svg{width:16px;height:16px}.drow[data-drag]{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;cursor:grab}.drow.is-lifted{opacity:.28;outline:1px dashed var(--line-2);outline-offset:-1px;background:#ffffff0a}.drow.is-landed{animation:landed .9s var(--ease)}@keyframes landed{0%{background:var(--accent-wash);box-shadow:0 0 0 1px var(--accent-line)}to{background:0 0;box-shadow:0 0 0 1px #0000}}.drow.is-new{animation:rest-in .35s var(--ease) both}@keyframes rest-in{0%{opacity:0}}.drag-ghost{z-index:70;pointer-events:none;will-change:transform;background:var(--surface-3);border:1px solid var(--accent-line);transition:scale .2s var(--spring);border-radius:12px;grid-template-columns:18px 4px minmax(0,1fr) auto 18px;align-items:center;gap:20px;margin:0;padding:11px 8px;display:grid;position:fixed;box-shadow:0 18px 44px -10px #000000bf,0 0 0 1px #d2ff002e,0 0 28px -8px #d2ff0073}.drag-ghost.is-up{scale:1.025}@media (max-width:560px){.drag-ghost{grid-template-columns:16px 3px minmax(0,1fr) auto;gap:12px}.drag-ghost .chev{display:none}}html.is-dragging,html.is-dragging *{-webkit-user-select:none;user-select:none;cursor:grabbing!important}html.is-dragging .dgroup{transition:border-color .15s,background .15s,box-shadow .15s,opacity .2s}html.is-dragging .dgroup.is-past{opacity:.28}html.is-dragging .dgroup.rest{opacity:.85}.dgroup.is-drop,html.is-dragging .dgroup.is-drop.rest{border-color:var(--accent);opacity:1;background:linear-gradient(var(--accent-wash), var(--accent-wash)), #ffffff08;box-shadow:0 0 0 1px var(--accent), 0 0 26px -8px #d2ff0080;border-style:solid}@media (prefers-reduced-motion:reduce){.drow.is-landed,.drow.is-new{animation:none}.drag-ghost{transition:none}}.sheet .form{margin-top:18px}.sheet .field-row .field{min-width:0}.wf-actions{justify-content:flex-start;margin-top:4px}.wf-est{font-size:var(--fs-sm);color:var(--text-2);font-variant-numeric:tabular-nums;min-height:1em}.wf-est:empty{display:none}.wf-mode{border-color:var(--accent-line);color:var(--accent);justify-self:start;margin-top:14px}.wf-mode:hover{background:var(--accent-wash);border-color:var(--accent)}.struct--edit{max-width:none;height:44px;margin:4px 0 12px}.steps-edit{gap:10px;display:grid;position:relative}.grip{width:16px;height:28px;color:var(--muted);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;display:inline-flex}.grip:hover{color:var(--text)}.grip svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;width:10px;height:16px}.srow.is-lifted,.blk.is-lifted{opacity:.28;outline:1px dashed var(--line-2);outline-offset:2px;border-radius:8px}.srow.is-landed,.blk.is-landed{animation:landed .9s var(--ease);border-radius:8px}.sort-ghost{z-index:80;pointer-events:none;will-change:transform;transition:scale .2s var(--spring);margin:0;position:fixed}.sort-ghost:before{content:"";z-index:-1;background:var(--surface-3);border:1px solid var(--accent-line);border-radius:12px;position:absolute;inset:-8px;box-shadow:0 18px 44px -10px #000000bf,0 0 0 1px #d2ff002e,0 0 28px -8px #d2ff0073}.sort-ghost.is-up{scale:1.025}.sort-slot{z-index:0;border:1px dashed var(--accent-line);background:var(--accent-wash);pointer-events:none;opacity:0;transition:top .2s var(--ease), left .2s var(--ease), width .2s var(--ease), height .2s var(--ease), opacity .2s, scale .25s var(--spring);border-radius:10px;position:absolute;scale:.97}.sort-slot.on{opacity:1;scale:1}.steps-edit.is-sorting .srow,.steps-edit.is-sorting .blk{transition:margin .22s var(--ease)}@media (prefers-reduced-motion:reduce){.sort-ghost,.sort-slot,.steps-edit.is-sorting .srow,.steps-edit.is-sorting .blk{transition:none}.srow.is-landed,.blk.is-landed{animation:none}}.steps-add{gap:8px;margin-top:10px;display:flex}.blk{border:1px solid var(--line-2);border-radius:var(--r-sm);background:#ffffff05;gap:8px;padding:10px;display:grid}.sort-ghost.blk{background:0 0;border:0}.blk--plain{background:0 0;border:0;padding:0}.blk-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.blk-head label{font-size:var(--fs-sm);color:var(--text-2);align-items:center;gap:8px;margin-right:auto;font-weight:600;display:flex}.blk-head .input{width:64px}.blk-rows{gap:8px;display:grid}.blk>.btn{justify-self:start}.srow{grid-template-columns:16px minmax(0,1.2fr) minmax(0,.8fr) minmax(0,.7fr) minmax(0,1.3fr) minmax(0,1fr) 28px;align-items:center;gap:6px;display:grid}.srow .input{width:100%;padding:0 8px}.srow .icon-btn,.blk-head .icon-btn{width:28px;height:28px;font-size:var(--fs-lg);color:var(--muted);line-height:1}@media (max-width:560px){.srow{grid-template-columns:16px 1fr 1fr 1fr 28px}.srow [data-f=pace]{grid-column:2/4}.srow [data-f=zone]{grid-column:4/5}}.races-beyond{border-top:1px solid var(--line);gap:2px;margin-top:22px;padding-top:18px;display:grid}.races-beyond h4{font-size:var(--fs-sm);color:var(--text-2);margin:0 0 8px;font-weight:600}.races-beyond .drow{margin:0;padding-left:0;padding-right:0}.races-beyond p{font-size:var(--fs-sm);margin:8px 0 0}.field[hidden]{display:none}.card--race{background:radial-gradient(90% 120% at 100% 0%, #d2ff0033, transparent 60%), radial-gradient(70% 90% at 0% 100%, #ffa31a24, transparent 60%), linear-gradient(180deg, #ffffff0a, #fff0 160px), var(--surface);border-color:#d2ff0066;box-shadow:inset 0 1px #d2ff0040,0 30px 60px -30px #000000e6,0 0 100px -30px #d2ff0066}.race-eyebrow{color:var(--accent);font-size:var(--fs-sm);letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:8px;font-weight:700;display:inline-flex}.race-eyebrow svg{width:16px;height:16px}.card--race .title{margin-top:10px;font-size:clamp(34px,5vw,52px)}.race-metrics{align-items:flex-end}.race-lcd{color:var(--accent);text-shadow:0 0 24px #d2ff0059;margin-top:4px;font-size:56px}.adapt-reasons{font-size:var(--fs-sm);color:var(--text-2);gap:10px;margin:4px 0 12px;padding:0;list-style:none;display:grid}.adapt-reasons li{padding-left:14px;position:relative}.adapt-reasons li:before{content:"";background:var(--accent);border-radius:50%;width:5px;height:5px;position:absolute;top:.55em;left:0}.adapt-summary{font-size:var(--fs-sm);margin:0 0 12px}.adapt-summary:empty{display:none}.adapt-opts{font-size:var(--fs-sm);color:var(--text-2);gap:8px;margin:14px 0 6px;display:grid}.adapt-opts label{cursor:pointer;align-items:flex-start;gap:10px;display:flex}.adapt-opts input[type=checkbox],.adapt-week>input{accent-color:var(--accent);flex:none;width:16px;height:16px;margin:2px 0 0}.adapt-pace{font-size:var(--fs-sm);gap:6px;margin:0;padding:0;list-style:none;display:grid}.adapt-pace span{min-width:84px;color:var(--text-2);display:inline-block}.adapt-weeks{gap:8px;display:grid}.adapt-week{border:1px solid var(--line);border-radius:var(--r);grid-template-columns:20px minmax(0,1fr);align-items:start;gap:12px;padding:12px 14px;display:grid}.adapt-week>input{margin-top:3px}.adapt-week summary{cursor:pointer;font-size:var(--fs-sm);justify-content:space-between;gap:12px;list-style:none;display:flex}.adapt-week summary::-webkit-details-marker{display:none}.aw-title{font-weight:600}.aw-km{color:var(--text-2);white-space:nowrap;font-variant-numeric:tabular-nums}.adapt-cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:12px;display:grid}.adapt-cols h5{font-size:var(--fs-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0 0 6px;font-weight:600}.adapt-cols ul{font-size:var(--fs-xs);color:var(--text-2);gap:5px;margin:0;padding:0;list-style:none;display:grid}.adapt-cols .d{width:34px;color:var(--muted);display:inline-block}.adapt-cols p{font-size:var(--fs-xs);margin:0}.adapt-warn{font-size:var(--fs-sm);color:var(--text-2);align-items:center;gap:8px;margin:16px 0 12px;display:flex}.adapt-warn svg{width:15px;height:15px;color:var(--serious);flex:none}.note-actions{margin-top:10px}body.connect-page .track{display:none}body.connect-page main{max-width:none;margin-top:0;padding:0}.connect{z-index:1;background:#010201;position:fixed;inset:0;overflow:hidden}.connect-dots{background-image:radial-gradient(#befb348c 1.2px,#0000 1.6px);background-size:12px 12px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(at 50% 55%,#0000 8%,#000 75%);mask-image:radial-gradient(at 50% 55%,#0000 8%,#000 75%)}.connect canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.connect-shade{pointer-events:none;background:radial-gradient(46% 34%,#010201e0,#0000 100%),linear-gradient(#010201,#0000 18% 80%,#010201);position:absolute;inset:0}.connect-center{padding-top:var(--topbar);place-items:center;display:grid;position:absolute;inset:0}.connect-stack{text-align:center;flex-direction:column;align-items:center;padding:0 24px;display:flex}.nf-code{letter-spacing:-.06em;color:var(--text);font-size:clamp(110px,22vw,230px);font-weight:800;line-height:.85}.nf-otto{aspect-ratio:1;filter:drop-shadow(0 16px 22px #0000008c);width:clamp(150px,22vw,230px);height:auto;margin:10px auto -18px;display:block}.nf-title{letter-spacing:-.02em;text-wrap:balance;max-width:26ch;margin:22px 0 0;font-size:clamp(18px,2.4vw,24px);font-weight:600;line-height:1.3}.nf-body{color:var(--text-2);max-width:44ch;margin:10px 0 0}.nf-title+.connect-btn,.nf-body+.connect-btn{margin-top:32px}.connect-btn{-webkit-backdrop-filter:blur(14px);background:#ffffff06;border:1px solid #ffffff12;border-radius:999px;padding:6px;display:block;box-shadow:0 24px 70px -20px #000000e6}.connect-btn>span{font-weight:500;font-size:var(--fs-base);color:var(--text);transition:background .2s var(--ease), box-shadow .2s var(--ease);background:linear-gradient(#ffffff1c,#ffffff0d);border-radius:999px;align-items:center;gap:10px;padding:14px 28px;display:flex;position:relative;box-shadow:inset 0 1px #ffffff1a,inset 0 0 0 1px #ffffff0f,0 2px 10px #0006}.connect-btn svg{color:#fff;width:auto;height:18px}.connect-btn svg:not([viewBox="0 0 142 199"]){width:18px;color:var(--accent);filter:drop-shadow(0 0 6px #d2ff0099)}.connect-btn:hover>span{background:linear-gradient(#ffffff29,#ffffff14);box-shadow:inset 0 1px #ffffff24,inset 0 0 0 1px #ffffff17,0 2px 14px #d2ff001f}.connect-btn:active>span{transform:scale(.98)}.lifts{gap:2px;margin:8px 0 0;padding:0;list-style:none;display:grid}.lift{grid-template-columns:minmax(0,1fr) auto 112px;align-items:center;gap:10px;padding:7px 0;display:grid}.lift-name{min-width:0}.lift-sets{color:var(--text-2);font-variant-numeric:tabular-nums}.lift-w{font-size:var(--fs-sm);justify-content:flex-end;align-items:center;gap:6px;display:flex}.lift-w .input{text-align:right;width:82px}.muscles{margin:14px 0 0}.muscles-title{font-size:var(--fs-sm);color:var(--muted);margin-bottom:8px}.muscles-figs{justify-content:center;gap:10px;display:flex}.muscles-figs svg{flex:none;width:124px;height:auto;overflow:visible}.muscles polygon{stroke:var(--surface);stroke-width:.5px;stroke-linejoin:round;transition:fill .2s}.muscles .mb{fill:var(--surface-3)}.muscles .mm{fill:#232831}.muscles .mm.m1{fill:#d2ff0061}.muscles .mm.m2{fill:#d2ff00ad}.muscles .mm.m3{fill:var(--accent);filter:drop-shadow(0 0 1.5px #d2ff0066)}.pwa-install{z-index:60;left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));background:var(--surface-2);border:1px solid var(--line-2);max-width:460px;color:var(--text);border-radius:16px;align-items:center;gap:12px;margin:0 auto;padding:12px 14px;font-size:14px;display:flex;position:fixed;box-shadow:0 12px 40px #00000080}.pwa-install[hidden],[data-pwa-install][hidden]{display:none}.pwa-install p{color:var(--text-2);flex:1;margin:0;line-height:1.4}.pwa-install p b{color:var(--text);font-weight:600}.pwa-install-btn{cursor:pointer;font:inherit;background:var(--accent);color:var(--accent-ink);border:0;border-radius:999px;padding:8px 14px;font-weight:600}.pwa-install-btn:hover{background:var(--accent-hover)}.pwa-install-close{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:4px 6px;font-size:20px;line-height:1}.pwa-install-close:hover{color:var(--text)}.toasts{z-index:90;left:50%;bottom:calc(16px + env(safe-area-inset-bottom));pointer-events:none;gap:8px;width:min(440px,100vw - 32px);display:grid;position:fixed;transform:translate(-50%)}@media (max-width:760px){.toasts{bottom:calc(86px + env(safe-area-inset-bottom))}}.toast{pointer-events:auto;background:var(--surface-3);border:1px solid var(--line-2);color:var(--text);font-size:var(--fs-sm);animation:toast-in .28s var(--ease) both;border-radius:12px;align-items:center;gap:10px;padding:11px 8px 11px 14px;line-height:1.4;display:flex;box-shadow:0 10px 30px #00000073}.toast--error{border-color:color-mix(in srgb, var(--serious) 55%, var(--line-2))}.toast--ok{border-color:color-mix(in srgb, var(--good) 55%, var(--line-2))}.toast-text{flex:1;min-width:0}.toast-btn,.toast-x{font:inherit;cursor:pointer;color:var(--text);background:0 0;border:0;border-radius:8px;flex:none}.toast-btn{background:#ffffff1a;padding:6px 10px;font-weight:700}.toast-btn:hover{background:#ffffff2e}.toast-x{width:28px;height:28px;color:var(--text-2);font-size:18px;line-height:1}.toast-x:hover{color:var(--text)}.toast-btn:focus-visible,.toast-x:focus-visible{outline:2px solid var(--text);outline-offset:1px}.toast.is-leaving{animation:.2s ease-in both toast-out}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}}@keyframes toast-out{to{opacity:0;transform:translateY(6px)}}@media (prefers-reduced-motion:reduce){.toast,.toast.is-leaving{animation:none}}html{-webkit-tap-highlight-color:transparent;-moz-text-size-adjust:100%;text-size-adjust:100%}body{overscroll-behavior-y:contain}a,button,summary,label,select,[role=button],[data-open],[data-drag],.btn,.icon-btn,.seg a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.topbar,.nav,.btn,.icon-btn,.seg,.chip,.weekstrip,.log-row,.drow,.log-toggle,summary{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.btn,.icon-btn,.nav a,.seg a,.drow,.wday,.log-link,.arrow-link,a.card,a.tile{transition-property:transform,opacity,background-color,color,border-color,box-shadow}.icon-btn:active,.nav a:active,.seg a:active,.wday:active,.arrow-link:active{opacity:.8;transform:scale(.94)}.nav a:active svg{transform:scale(.9)}.drow:active,a.card:active,a.tile:active{opacity:.9;transform:scale(.985)}.log-link:active,.log-toggle:active{background:#ffffff0d}.icon-btn{width:44px;height:44px}.btn--sm{min-height:36px}.log-toggle{min-width:44px}.seg a{align-items:center;min-height:40px;display:inline-flex}@media (max-width:760px){.nav a{min-width:44px;min-height:48px}.nav a:not([aria-current=page]){color:#b4bac5}.btn--sm{min-height:40px}}.skel{background:linear-gradient(90deg, var(--surface-2) 25%, var(--surface-3) 50%, var(--surface-2) 75%);background-size:200% 100%;border-radius:8px;animation:1.4s linear infinite skel-shimmer;display:block}.skel-line{width:100%;height:12px;margin:10px 0}.skel-block{border-radius:14px;height:140px;margin:14px 0}.skel-card{display:block}.adapt-summary .skel-line{margin:6px 0}.adapt-summary:not(.htmx-request) .skel-line{display:none}@keyframes skel-shimmer{to{background-position:-200% 0}}.sheet-done .arrow-link{color:var(--accent);white-space:nowrap;margin-left:auto}@media (prefers-reduced-motion:reduce){.skel{background:var(--surface-2);animation:none}.btn:active,.icon-btn:active,.nav a:active,.seg a:active,.wday:active,.arrow-link:active,.drow:active,a.card:active,a.tile:active,.nav a:active svg{transform:none}}.ptr{z-index:20;left:50%;top:calc(var(--topbar) + env(safe-area-inset-top) + 10px);opacity:0;pointer-events:none;width:36px;height:36px;color:var(--text-2);background:var(--surface-3);border:1px solid var(--line-2);border-radius:50%;place-items:center;margin-left:-18px;display:grid;position:fixed;box-shadow:0 6px 18px #00000073}.ptr svg{width:18px;height:18px;transform:rotate(calc(var(--ptr-k,0) * 270deg))}.ptr.is-ready{color:var(--accent)}.ptr.is-loading{color:var(--accent);opacity:1!important}.ptr.is-loading svg{animation:.8s linear infinite ptr-spin}@keyframes ptr-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.ptr.is-loading svg{animation-duration:1.6s}}@media (max-width:760px){html.tab-shell,html.tab-shell body{height:100%;overflow:hidden}html.tab-shell main{top:var(--topbar);overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;max-width:none;margin:0;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}}
