:root{--paper: #f4f3ef;--paper-2: #fbfaf6;--paper-3: #eae8e1;--line: #dedbd3;--line-2: #c7c3b9;--espresso: #262320;--kraft: #635e56;--kraft-dim: #8a857c;--shadow: 38 34 29;--z1: #8a7f76;--z2: #2e6fa8;--z3: #3e8c58;--z4: #b8862b;--z5: #c2652c;--z6: #b84a44;--z7: #7b57b8;--ok: var(--z3);--hold: var(--z4);--back-off: var(--z6);--display: "Big Shoulders Display", "Archivo Narrow", ui-sans-serif, system-ui, sans-serif;--body: "Geist", ui-sans-serif, system-ui, sans-serif;--mono: "Geist Mono", "DM Mono", ui-monospace, monospace;--ease-out: cubic-bezier(.23, 1, .32, 1);--ease-io: cubic-bezier(.77, 0, .175, 1);--grain-op: .028;--grain-mode: multiply;--card-sh-1: .05;--card-sh-2: .05;--r: 12px;--pad: 18px;--tap: 44px;--maxw: 1180px}[data-theme=dark]{--paper: #14171a;--paper-2: #1b2025;--paper-3: #242a30;--line: #272e34;--line-2: #3b444c;--espresso: #ecf1f4;--kraft: #96a3ad;--kraft-dim: #6b7883;--shadow: 0 0 0;--z1: #7c8b96;--z2: #5a97db;--z3: #57c77e;--z4: #e0b44e;--z5: #de8447;--z6: #db6060;--z7: #a984de;--grain-op: .05;--grain-mode: overlay;--card-sh-1: .28;--card-sh-2: .22}@font-face{font-family:Big Shoulders Display;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/BigShouldersDisplay-SemiBold.woff2) format("woff2")}@font-face{font-family:Big Shoulders Display;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/BigShouldersDisplay-ExtraBold.woff2) format("woff2")}@font-face{font-family:Geist;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/Geist-Regular.woff2) format("woff2")}@font-face{font-family:Geist;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/Geist-Medium.woff2) format("woff2")}@font-face{font-family:Geist;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/Geist-SemiBold.woff2) format("woff2")}@font-face{font-family:Geist Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/GeistMono-Regular.woff2) format("woff2")}@font-face{font-family:Geist Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/GeistMono-Medium.woff2) format("woff2")}body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:var(--grain-op);mix-blend-mode:var(--grain-mode);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'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}@media(prefers-reduced-transparency:reduce){body:after{display:none}}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;background:var(--paper)}body{margin:0;background:var(--paper);color:var(--espresso);font-family:var(--body);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}a{color:inherit}button,input,select,textarea{font-family:inherit;color:inherit}.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding-inline:var(--pad)}h1,h2,h3{margin:0;text-wrap:balance}p{margin:0;text-wrap:pretty}.meta{font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--kraft-dim)}.lede{color:var(--kraft);font-size:1rem;max-width:66ch}.muted{color:var(--kraft)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--tap);padding:0 18px;background:var(--espresso);color:var(--paper);text-decoration:none;font-family:var(--body);font-weight:600;font-size:.95rem;border-radius:10px;border:0;cursor:pointer;transition:transform .16s var(--ease-out),box-shadow .16s var(--ease-out)}.btn:active{transform:scale(.97)}.btn.ghost{background:transparent;color:var(--espresso);border:1px solid var(--line-2)}.btn.sm{min-height:38px;padding:0 14px;font-size:.88rem}.btn.block{width:100%}.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;pointer-events:none}:focus-visible{outline:2px solid var(--z2);outline-offset:3px;border-radius:8px}.theme-btn{display:flex;align-items:center;justify-content:center;width:var(--tap);height:var(--tap);flex:none;background:none;border:0;border-radius:10px;cursor:pointer;color:var(--kraft);font-size:1.1rem;line-height:1;transition:color .15s var(--ease-out),background-color .15s var(--ease-out)}.theme-btn .sun{display:none}[data-theme=dark] .theme-btn .sun{display:block}[data-theme=dark] .theme-btn .moon{display:none}@media(hover:hover)and (pointer:fine){.theme-btn:hover{color:var(--espresso);background:var(--paper-3)}}.card{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r);box-shadow:0 1px 2px rgb(var(--shadow) / var(--card-sh-1)),0 8px 24px rgb(var(--shadow) / var(--card-sh-2))}a.card{transition:border-color .15s var(--ease-out)}@media(hover:hover)and (pointer:fine){a.card:hover{border-color:var(--line-2)}a.cv-card:hover{border-color:var(--z2)}}.cv-card{content-visibility:auto}.cv-card-grid{contain-intrinsic-size:auto 268px}.cv-card-list{contain-intrinsic-size:auto 106px}@media(min-width:600px){:root{--pad: 28px}.lede{font-size:1.08rem}}@media(min-width:900px){:root{--pad: 40px}}@media(min-width:1200px){:root{--pad: 48px}}@media(hover:hover)and (pointer:fine){.btn:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgb(var(--shadow) / .18)}.btn.ghost:hover{background:var(--paper-3);box-shadow:none;transform:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn:hover,.btn:active{transform:none}}.surface-marketing h1,.surface-marketing h2,.surface-marketing h3{font-family:var(--display);font-weight:800;letter-spacing:-.005em;line-height:.98}.surface-marketing h1{font-size:2.5rem}.surface-marketing h2{font-size:1.8rem}.surface-marketing h3{font-size:1.1rem;font-weight:600;letter-spacing:0;line-height:1.15;font-family:var(--body)}@media(min-width:600px){.surface-marketing h1{font-size:3.3rem}.surface-marketing h2{font-size:2.3rem}}@media(min-width:900px){.surface-marketing h1{font-size:4.4rem}.surface-marketing h2{font-size:2.9rem}}@media(min-width:1200px){.surface-marketing h1{font-size:5.2rem}}.surface-operate h1,.surface-operate h2,.surface-operate h3{font-family:var(--body);font-weight:600;letter-spacing:-.02em;line-height:1.18}.surface-operate h1{font-size:1.5rem;letter-spacing:-.03em}.surface-operate h2{font-size:1.15rem}.surface-operate h3{font-size:1rem}.operate-main{padding-top:22px;padding-bottom:32px}.topbar-stack+main{margin-top:calc(122px + env(safe-area-inset-top))}@media(min-width:600px){.surface-operate h1{font-size:1.75rem}.surface-operate h2{font-size:1.3rem}}@media(min-width:900px){.operate-main{padding-top:30px;padding-bottom:40px}.topbar-stack+main{margin-top:calc(63px + env(safe-area-inset-top))}}.tabbar{position:fixed;top:calc(57px + env(safe-area-inset-top));left:0;right:0;z-index:70;display:grid;grid-template-columns:repeat(3,1fr);background:color-mix(in srgb,var(--paper-2) 94%,transparent);backdrop-filter:saturate(130%) blur(12px);border-top:1px solid var(--line)}.tabbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:64px;text-decoration:none;font-size:.72rem;color:var(--kraft-dim)}.tabbar a[aria-current]{color:var(--espresso)}.tabbar .glyph{display:flex;gap:2px;align-items:flex-end;height:14px;width:18px}.tabbar .glyph i{flex:1;border-radius:1px;background:currentColor;height:40%;opacity:.55}.tabbar a[aria-current] .glyph i{opacity:1}.tabbar .glyph i:nth-child(2){height:100%}.tabbar .glyph i:nth-child(3){height:65%}@media(min-width:900px){.tabbar{display:none}}.nav{position:fixed;top:0;left:0;right:0;z-index:71;background:color-mix(in srgb,var(--paper) 90%,transparent);backdrop-filter:saturate(130%) blur(12px);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top)}.nav-in{display:flex;align-items:center;gap:8px;min-height:56px}.brand{font-family:var(--display);font-weight:800;text-transform:uppercase;letter-spacing:.005em;font-size:1.02rem;text-decoration:none;margin-right:auto;display:flex;align-items:center;gap:9px}.brand .mark{width:auto;height:34px;aspect-ratio:1131 / 351;flex:none;background:currentColor;-webkit-mask:url(/images/logo.png) left center/contain no-repeat;mask:url(/images/logo.png) left center/contain no-repeat}@media(min-width:900px){.brand .mark{height:38px}}.nav-links{display:none}@media(min-width:900px){.nav-in{min-height:62px}.nav-links{display:flex;align-items:center;gap:2px}.nav-links a{text-decoration:none;color:var(--kraft);font-size:.93rem;padding:9px 12px;border-radius:8px}.nav-links a[aria-current]{color:var(--espresso)}}@media(hover:hover)and (pointer:fine){.nav-links a:hover{color:var(--espresso);background:var(--paper-3)}}.session{padding:16px}.session-top{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:12px}.session-top>div{min-width:0}.chip{display:inline-flex;align-items:center;gap:6px;flex:none;font-family:var(--mono);font-size:.65rem;letter-spacing:.09em;text-transform:uppercase;padding:5px 8px;border-radius:999px;border:1px solid var(--line-2);color:var(--kraft)}.chip .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.chip.hold{color:var(--z4);border-color:color-mix(in srgb,var(--z4) 45%,transparent);background:color-mix(in srgb,var(--z4) 8%,transparent)}.profile{display:flex;align-items:flex-end;gap:1.5px;height:96px;margin-top:16px}.blk{width:var(--w);height:var(--h);background:var(--c);border-radius:2px 2px 0 0;transform-origin:bottom}.surface-marketing .blk{animation:rise .26s var(--ease-out) both;animation-delay:calc(var(--i) * 24ms)}@keyframes rise{0%{transform:scaleY(.08);opacity:0}to{transform:scaleY(1);opacity:1}}.axis{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:8px;font-family:var(--mono);font-size:.7rem;color:var(--kraft-dim)}.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 10px;margin-top:16px}.stat b{display:block;font-family:var(--mono);font-size:1.15rem;font-weight:500;letter-spacing:-.02em}.stat span{font-size:.68rem;color:var(--kraft-dim);letter-spacing:.09em}.swap-note{margin-top:16px;padding:10px 12px;border-left:2px solid var(--z4);background:color-mix(in srgb,var(--z4) 6%,transparent);border-radius:0 6px 6px 0;font-size:.82rem;color:var(--kraft);line-height:1.5}.swap-note strong{color:var(--z4)}@media(min-width:600px){.session{padding:20px}.profile{height:120px}.stats{grid-template-columns:repeat(4,1fr)}}@media(min-width:900px){.profile{height:132px}}.hero{padding:32px 0 40px}.hero h1{margin-bottom:16px;text-transform:uppercase}.hero h1 em{font-style:normal;text-decoration:underline;text-decoration-thickness:.055em;text-underline-offset:.12em}.hero-cta{display:grid;gap:10px;margin-top:22px}.hero-note{font-size:.85rem;color:var(--kraft-dim);margin-top:14px}.hero-card{margin-top:28px}@media(min-width:600px){.hero{padding:48px 0 52px}.hero-cta{grid-auto-flow:column;justify-content:start}}@media(min-width:900px){.hero{padding:68px 0 64px}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center}.hero-card{margin-top:0}}.data{padding:36px 0}.data-rows{margin-top:22px;border-top:1px solid var(--line)}.data-row{padding:20px 0;border-bottom:1px solid var(--line)}.data-row h3{margin-bottom:7px}.data-row p{color:var(--kraft);font-size:.95rem;max-width:62ch}@media(min-width:600px){.data-row{display:grid;grid-template-columns:minmax(0,20ch) 1fr;gap:28px;padding:22px 0}.data-row h3{margin-bottom:0}}@media(min-width:900px){.data{padding:56px 0}}.steps{padding:36px 0}.step-list{display:grid;gap:0;margin-top:22px;counter-reset:s}.step{position:relative;padding:20px 0 20px 44px;border-top:1px solid var(--line)}.step:before{counter-increment:s;content:counter(s,decimal-leading-zero);position:absolute;left:0;top:20px;font-family:var(--mono);font-size:.78rem;color:var(--kraft-dim)}.step h3{margin-bottom:6px}.step p{color:var(--kraft);font-size:.95rem;max-width:60ch}@media(min-width:900px){.steps{padding:56px 0}.step-list{grid-template-columns:repeat(3,1fr);gap:32px;margin-top:38px;align-items:start}.step{padding:20px 0 0;border-top:2px solid var(--line-2)}.step:before{left:auto;right:0;top:-1.75em}.step:nth-child(2){margin-top:38px}.step:nth-child(3){margin-top:76px}}.zones{padding:36px 0}.zone-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.zone{display:inline-flex;align-items:center;gap:8px;text-decoration:none;min-height:var(--tap);background:var(--paper-2);border:1px solid var(--line);padding:0 14px 0 11px;border-radius:999px;font-size:.92rem;transition:border-color .15s var(--ease-out),transform .15s var(--ease-out)}.zone:active{transform:scale(.98)}.zone .bar{width:4px;height:18px;border-radius:2px;background:var(--zc);flex:none}.zone .pct{font-family:var(--mono);font-size:.74rem;color:var(--kraft-dim)}@media(min-width:900px){.zones{padding:56px 0}}@media(hover:hover)and (pointer:fine){.zone:hover{transform:translateY(-2px);border-color:var(--zc)}}.plans{padding:36px 0 48px}.plan-grid{display:grid;gap:12px;margin-top:22px}.plan{padding:18px;display:flex;flex-direction:column;gap:12px;text-decoration:none;transition:border-color .15s var(--ease-out)}.plan:active{border-color:var(--line-2)}.plan-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.plan-head .weeks{font-family:var(--mono);font-size:.76rem;color:var(--kraft-dim);white-space:nowrap}.plan p{color:var(--kraft);font-size:.9rem}.load{display:flex;align-items:flex-end;gap:2px;height:24px}.load i{flex:1;background:var(--paper-3);border-radius:1px;height:var(--h)}.load i.on{background:var(--lc)}.plan-foot{display:flex;flex-wrap:wrap;gap:4px 12px;justify-content:space-between;align-items:center;font-family:var(--mono);font-size:.74rem;color:var(--kraft-dim);border-top:1px solid var(--line);padding-top:11px}.level{font-family:var(--body);font-size:.82rem;color:var(--kraft);letter-spacing:0}@media(min-width:600px){.plan-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:900px){.plans{padding:56px 0 80px}}@media(hover:hover)and (pointer:fine){a.plan:hover{border-color:var(--z2)}}footer{border-top:1px solid var(--line);padding:26px 0;color:var(--kraft-dim);font-size:.86rem;padding-bottom:calc(32px + env(safe-area-inset-bottom))}.foot-in{display:grid;gap:12px}.foot-in a{color:var(--kraft);text-decoration:none;min-height:32px;display:inline-flex;align-items:center}@media(min-width:600px){.foot-in{display:flex;flex-wrap:wrap;gap:18px;align-items:center}.foot-in .sp{margin-left:auto}}@media(hover:hover)and (pointer:fine){.foot-in a:hover{color:var(--espresso)}}@media(prefers-reduced-motion:reduce){.surface-marketing .blk{animation:fade .2s ease both;animation-delay:0ms}@keyframes fade{0%{opacity:0}to{opacity:1}}.zone:hover,.zone:active{transform:none}}.lead-sentence{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px;font-size:1.5rem;font-weight:700;letter-spacing:-.01em}.lead-sentence .pill{font-family:var(--mono);font-size:.68rem;font-weight:600;letter-spacing:.06em;border:1px solid;border-radius:999px;padding:3px 9px;white-space:nowrap;cursor:help}.day-strip{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;padding:2px;margin-bottom:10px}.day-strip::-webkit-scrollbar{display:none}.day-cell{border:0;background:none;font:inherit;color:inherit;cursor:pointer;flex:1 0 44px;min-width:44px;min-height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:6px 2px;border-radius:10px}.day-cell.today{background:var(--paper-3);outline:1px solid var(--line-2)}.day-cell.selected{outline:2px solid var(--z2);outline-offset:-1px}.day-cell .dl{font-family:var(--mono);font-size:.62rem;letter-spacing:.08em;color:var(--kraft-dim);text-transform:uppercase}.day-cell .dn{font-size:.85rem;font-weight:600;color:var(--espresso)}.day-cell .dots{display:flex;gap:3px;min-height:6px}.day-cell .dots i{width:5px;height:5px;border-radius:50%;background:var(--z2)}.day-cell .dots i.open{background:none;border:1px solid var(--z2)}.week-status{font-size:1rem;font-weight:600;color:var(--espresso);margin:0 0 10px}.ready{padding:16px;border-left:1px solid var(--hold)}.ready .big{font-size:1.25rem;font-weight:600;letter-spacing:-.02em;color:var(--hold)}.ready .why{color:var(--kraft);font-size:.93rem;margin-top:6px;max-width:56ch}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px;border-top:1px solid var(--line);padding-top:14px}.metric b{display:block;font-family:var(--mono);font-size:1.1rem;font-weight:500}.metric span{font-size:.66rem;color:var(--kraft-dim);letter-spacing:.1em}.metric.warn b{color:var(--hold)}.gauge-track{position:relative;height:4px;border-radius:2px;background:var(--line);margin-top:6px}.gauge-zone{position:absolute;top:0;bottom:0;left:var(--from);width:calc(var(--to) - var(--from));background:var(--zc);border-radius:2px;opacity:.55}.gauge-marker{position:absolute;top:50%;width:8px;height:8px;border-radius:50%;background:var(--espresso);border:2px solid var(--paper-2);transform:translate(-50%,-50%)}.goal>.sec-head,.collapse-card>.sec-head{padding:16px 16px 0;margin-bottom:2px}.goal details>summary,.collapse-card details>summary{list-style:none;cursor:pointer;padding:10px 16px 14px;display:flex;align-items:center;gap:12px;min-height:var(--tap);font-size:.93rem}.goal details>summary::-webkit-details-marker,.collapse-card details>summary::-webkit-details-marker{display:none}.goal details>summary .summary-text,.collapse-card details>summary .summary-text{min-width:0}.goal details>summary .arrow,.collapse-card details>summary .arrow{margin-left:auto;align-self:flex-start;margin-top:2px;color:var(--kraft-dim);transition:transform .2s var(--ease-io)}.goal details[open]>summary .arrow,.collapse-card details[open]>summary .arrow{transform:rotate(180deg)}.hint-badge{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;border:1px solid var(--line-2);color:var(--kraft-dim);font-size:10px;font-family:var(--mono);margin-right:6px;flex:none}.collapse-body{padding:14px 16px 16px;border-top:1px solid var(--line);color:var(--kraft);font-size:.92rem;display:grid;gap:12px;min-width:0}.collapse-body>*{min-width:0}.field{display:grid;gap:6px}.field label{font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--kraft-dim)}.field input,.field select{background:var(--paper);border:1px solid var(--line-2);color:var(--espresso);border-radius:9px;min-height:var(--tap);padding:0 12px;font-family:var(--body);font-size:16px}.week-confirm{border-left:1px solid var(--z2)}.days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-top:14px}.day{position:relative}.day input{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.day span{display:flex;align-items:center;justify-content:center;min-height:var(--tap);border:1px solid var(--line-2);border-radius:9px;font-family:var(--mono);font-size:.76rem;color:var(--kraft);transition:background-color .15s var(--ease-out),color .15s var(--ease-out),border-color .15s var(--ease-out)}.day input:checked+span{background:color-mix(in srgb,var(--espresso) 78%,var(--paper-2));color:var(--paper);border-color:color-mix(in srgb,var(--espresso) 78%,var(--paper-2))}.day input:focus-visible+span{outline:2px solid var(--z2);outline-offset:2px}.roadmap{padding:16px}.phase-bar{position:relative;display:flex;height:10px;border-radius:5px;overflow:hidden;background:var(--line);gap:1px}.phase-seg{background:var(--pc);opacity:.35}.phase-seg.current{opacity:1}.phase-seg.recovery{background:color-mix(in srgb,var(--pc) 55%,var(--paper-2))}.phase-row{display:flex;gap:6px;margin-top:12px;font-family:var(--mono);font-size:.64rem;color:var(--kraft-dim);letter-spacing:.06em;text-transform:uppercase}.phase{border-top:1px solid var(--line-2);padding-top:6px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.phase-row .phase.current{color:var(--espresso);font-weight:600}.sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}.sec-head h3{margin:0}.meta{font-family:var(--mono);font-size:.78rem;color:var(--kraft-dim);white-space:nowrap}.eftp{padding:16px}.eftp-top{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.eftp-top .val{font-family:var(--mono);font-size:1.7rem;font-weight:500;letter-spacing:-.03em}.eftp-top .delta{font-family:var(--mono);font-size:.85rem;color:var(--ok)}.eftp-sub{margin:4px 0 0;font-size:.86rem;color:var(--kraft)}.rings{display:flex;gap:20px;margin:10px 0 4px}.ring{display:flex;align-items:center;gap:8px}.ring-text{display:flex;flex-direction:column;line-height:1.2}.ring-text b{font-family:var(--mono);font-size:.95rem;font-weight:500}.ring-text span{font-size:.62rem;letter-spacing:.08em;color:var(--kraft-dim)}.chart-wrap{position:relative;margin-top:14px;height:132px;touch-action:pan-y}.chart-wrap .chart{position:absolute;inset:0;width:100%;height:100%;display:block;overflow:visible}.chart-dot{position:absolute;width:11px;height:11px;border-radius:50%;background:var(--z2);border:2px solid var(--paper-2);transform:translate(-50%,-50%);pointer-events:none;transition:left 90ms linear,top 90ms linear}.chart-guide{position:absolute;top:0;bottom:22px;width:1px;background:var(--line-2);transform:translate(-.5px);pointer-events:none;opacity:0;transition:opacity .12s ease}.chart-wrap.active .chart-guide{opacity:1}.chart-hits{position:absolute;inset:0;display:flex}.chart-hit{flex:1;background:none;border:0;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent}.chart-hit:focus-visible{outline:2px solid var(--z2);outline-offset:-2px;border-radius:4px}.eftp-readout{margin:10px 0 0;font-family:var(--mono);font-size:.84rem;color:var(--kraft);min-height:20px}.eftp-readout strong{color:var(--espresso);font-weight:500}.eftp-readout .up{color:var(--ok)}.eftp-legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid var(--line);font-size:.82rem;color:var(--kraft)}.eftp-legend .lg{display:flex;align-items:center;gap:7px}.eftp-legend .lg i{width:10px;height:10px;border-radius:50%;flex:none}.eftp-legend .lg i.dash{width:14px;height:0;border-radius:0;border-top:1px dashed var(--kraft-dim)}@media(prefers-reduced-motion:reduce){.chart-dot{transition:none}}.sessions{overflow:hidden}.srow{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:12px 16px;border-top:1px solid var(--line);font-size:.94rem;min-height:var(--tap);align-content:center}.srow:first-child{border-top:0}.srow .d{font-family:var(--mono);font-size:.72rem;color:var(--kraft-dim);grid-column:1;letter-spacing:.08em;text-transform:uppercase}.srow .name{grid-column:1;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.srow .mini{display:none}.srow .rhs{grid-column:2;grid-row:1 / span 2;align-self:center;font-family:var(--mono);font-size:.8rem;color:var(--kraft-dim);white-space:nowrap}.srow.today-row{background:color-mix(in srgb,var(--espresso) 4%,transparent);box-shadow:inset 1px 0 0 var(--espresso)}.srow.selected-row{outline:2px solid var(--z2);outline-offset:-2px;border-radius:8px}.srow.done .name{color:var(--kraft)}.srow .rhs.tick{color:var(--ok)}.who{font-family:var(--mono);font-size:.72rem;color:var(--kraft-dim)}.danger{margin:26px 0 12px;display:grid;gap:6px}.danger a,.danger button{background:none;border:none;font:inherit;color:var(--kraft-dim);font-size:.85rem;text-decoration:underline;text-underline-offset:3px;min-height:var(--tap);display:inline-flex;align-items:center;cursor:pointer;padding:0}.danger p{color:var(--kraft-dim);font-size:.85rem}@media(min-width:600px){.metrics{margin-top:0;border-top:0;padding-top:0;gap:20px}.roadmap,.eftp{padding:20px}.days{gap:8px}.srow{grid-template-columns:88px 1fr auto;padding:13px 20px}.srow .d{grid-column:1;grid-row:1;align-self:center}.srow .name{grid-column:2;grid-row:1}.srow .rhs{grid-column:3;grid-row:1}.danger{grid-auto-flow:column;justify-content:start;gap:14px;align-items:center;margin-bottom:40px}}@media(min-width:900px){.who{padding-left:12px;border-left:1px solid var(--line);margin-left:6px}.srow .mini{display:flex;align-items:flex-end;gap:1px;height:20px;width:74px;grid-column:3;grid-row:1}.srow .mini i{flex:1;background:var(--mc);border-radius:1px;height:var(--h);opacity:.85}.srow{grid-template-columns:96px 1fr auto auto}.srow .rhs{grid-column:4}}@media(hover:hover)and (pointer:fine){.danger a:hover,.danger button:hover{color:var(--back-off)}}@media(prefers-reduced-motion:reduce){.goal details>summary .arrow,.goal details[open]>summary .arrow,.collapse-card details>summary .arrow,.collapse-card details[open]>summary .arrow{transition:none}}
