@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-normal-CnvboYUG.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-normal-Ca2vKHc0.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-normal-ukD16Tqj.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/instrument-sans-latin-ext-wght-normal-B5bTHO_g.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/instrument-sans-latin-wght-normal-BbzFLZTg.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--radius-control:12px;--radius-card:18px;--radius-hero:22px;--radius-sheet:26px;--text-display:32px;--text-h1:28px;--text-h2:22px;--text-h3:19px;--text-body:16px;--text-small:14px;--text-micro:12px;--ok:var(--moss);--warn:#7a6500;--info:var(--mute);--cream:#f7f1e6;--forest:#12392b;--moss:#2f7a55;--butter:#f9ec9a;--coral:#d9645a;--card:#fffdf8;--mute:#52645b;--danger:#b3443b;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--tabbar-h:calc(71px + var(--safe-bottom));--line:#12392b1a;--serif:"Fraunces Variable", Georgia, serif;--sans:"Instrument Sans Variable", system-ui, sans-serif}*{box-sizing:border-box;margin:0}html{background:var(--cream)}html.native{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent;touch-action:manipulation;overscroll-behavior:none}html.native body{overscroll-behavior:none}html.native input,html.native textarea,html.native select{font-size:16px}html.native .login,html.native .status{padding-bottom:env(safe-area-inset-bottom)}html.native .sheet{max-height:min(92dvh, calc(100dvh - var(--safe-top)));overscroll-behavior:contain;overflow-y:auto}body{font-family:var(--sans);color:var(--forest);background:var(--cream);-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}button:focus-visible{outline:3px solid var(--moss);outline-offset:2px}ul{padding:0;list-style:none}small{color:var(--mute);font-size:.6em;font-weight:500}h1,h2,h3,.big,.huge{font-family:var(--serif);letter-spacing:-.01em;font-weight:600}.app{max-width:440px;min-height:100dvh;padding:var(--safe-top) 16px calc(112px + env(safe-area-inset-bottom));margin:0 auto}main{flex-direction:column;gap:14px;display:flex}.head{align-items:center;gap:10px;padding:14px 2px 4px;display:flex}.head-mark{width:38px;height:auto}.head h1{flex:1;font-size:28px}.pill{border:1.5px solid var(--line);background:var(--card);border-radius:14px;align-items:center;gap:8px;padding:8px 14px;font-weight:600;display:inline-flex}.hero{background:var(--butter);border-radius:22px;min-height:196px;padding:20px;position:relative;overflow:hidden}.hero-text{z-index:1;flex-direction:column;gap:6px;max-width:54%;display:flex;position:relative}.hero-text p:not(.eyebrow){color:#3f5a4d;font-size:15px}.eyebrow{letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:700}.hero h2{font-size:32px;line-height:1.05}.hero-art{width:42%;height:auto;position:absolute;bottom:0;right:0}.btn{background:var(--card);box-shadow:0 1px 0 var(--line);border-radius:14px;align-self:flex-start;align-items:center;gap:8px;margin-top:10px;padding:12px 18px;font-weight:600;display:inline-flex}.btn.full{background:var(--forest);width:100%;color:var(--cream);justify-content:center;margin-top:18px;padding:15px;display:flex}.hero-text p.huge{color:var(--forest);font-size:54px;line-height:1}.huge small{font-size:.5em}.card{background:var(--card);box-shadow:0 1px 0 var(--line);border-radius:20px;padding:18px}.card-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.card h3{align-items:center;gap:8px;font-size:19px;display:flex}.card h3 svg{color:var(--mute)}.chip{color:var(--moss);background:#d9eadf;border-radius:10px;padding:7px 12px;font-size:14px;font-weight:600}.big{margin:6px 0 10px;font-size:44px;line-height:1.1}.big small{font-size:.5em}.bar{background:#e8e5d9;border-radius:99px;height:12px;overflow:hidden}.bar i{background:var(--moss);border-radius:99px;min-width:6px;height:100%;display:block}.bar.on-yellow{background:#ffffffb3}.row-meta{color:var(--mute);justify-content:space-between;margin-top:10px;font-size:14px;display:flex}.trio{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.mini{font:inherit;background:var(--card);box-shadow:0 1px 0 var(--line);border-radius:18px;flex-direction:column;align-items:center;gap:4px;padding:14px 8px;display:flex}.mini b{font-family:var(--serif);font-size:20px;font-weight:600}.mini span{color:var(--mute);font-size:13px}.week{text-align:center;padding-top:6px;line-height:1.3}.week b{font-family:var(--serif);font-size:20px;display:block}.week span{color:var(--mute);font-size:14px}.tiles{grid-auto-columns:1fr;grid-auto-flow:column;gap:10px;display:grid}.tile{background:var(--card);box-shadow:0 1px 0 var(--line);border-radius:16px;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;display:flex}.tile span{color:var(--mute);font-size:13px}.tile b{font-family:var(--serif);font-size:19px;font-weight:600}.tile i{background:#e8e5d9;border-radius:9px;width:70%;height:6px;overflow:hidden}.tile u{background:var(--moss);height:100%;display:block}.section{margin-top:6px;font-size:22px}.plan{flex-direction:column;gap:8px;display:flex}.plan li{background:var(--card);box-shadow:0 1px 0 var(--line);border-radius:16px}.plan li button{text-align:left;grid-template-columns:44px 28px 1fr 20px;align-items:center;gap:10px;width:100%;padding:14px;display:grid}.plan li.now{background:var(--butter)}.plan .day{color:var(--forest);flex-direction:column;gap:4px;font-size:14px;font-weight:700;display:flex}.plan .done .day svg{color:var(--moss);background:#d9eadf;border-radius:99px;width:22px;height:22px;padding:2px}.plan .what{flex-direction:column;display:flex}.plan .what b{font-size:16px}.plan .what small{color:var(--mute);font-size:14px;font-weight:400}.plan li>svg:last-child{color:var(--mute)}.metrics{grid-template-columns:1fr 1fr;gap:12px;display:grid}.metric{background:var(--card);box-shadow:0 1px 0 var(--line);text-align:left;border-radius:18px;flex-direction:column;align-items:stretch;gap:2px;padding:16px;display:flex}.metric p{align-items:center;gap:8px;font-size:15px;font-weight:600;display:flex}.metric .chev{color:var(--mute);margin-left:auto}.metric b{font-family:var(--serif);margin-top:6px;font-size:32px;font-weight:600}.metric .note{color:var(--mute);font-size:13px}.spark{width:100%;height:26px;color:var(--moss);margin-top:8px}.center{text-align:center;flex-direction:column;align-items:center;gap:16px;padding:28px 18px;display:flex}.logo{width:220px;height:auto}.muted{color:var(--mute);font-size:14px}.tabbar{z-index:5;height:var(--tabbar-h);width:min(440px,100%);padding:4px 8px calc(4px + var(--safe-bottom));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;background:#f7f1e6eb;grid-template-columns:repeat(2,1fr) 52px repeat(3,1fr);align-items:center;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.tabbar .tab{width:100%;min-width:0;height:62px;color:var(--mute);flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:0;font-size:12px;display:flex;position:relative}.tabbar .tab svg{flex:none}.tabbar .tab span{overflow-wrap:anywhere;text-align:center;max-width:100%;line-height:1}.tabbar .tab.on{color:var(--moss);font-weight:700}.tabbar .tab.on:after{content:"";background:var(--moss);border-radius:2px;width:16px;height:3px;position:absolute;bottom:0;left:calc(50% - 8px)}.tabbar .plus{background:var(--butter);width:52px;height:52px;color:var(--forest);border-radius:99px;place-items:center;margin:-14px auto 0;display:grid;box-shadow:0 6px 16px #12392b2e}.scrim{z-index:10;background:#12392b66;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--cream);width:min(440px,100%);padding:20px 16px calc(20px + env(safe-area-inset-bottom));border-radius:26px 26px 0 0;animation:.22s ease-out rise}@keyframes rise{0%{opacity:0;transform:translateY(40px)}}.sheet-top{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.sheet h2{font-size:24px}.icon-btn{background:var(--card);border-radius:99px;place-items:center;width:40px;height:40px;display:grid}.presets{flex-direction:column;gap:8px;display:flex}.presets button{text-align:left;background:var(--card);border:2px solid #0000;border-radius:14px;align-items:center;gap:14px;width:100%;padding:13px 14px;display:flex}.presets button.on{border-color:var(--moss);background:#eef6ef}.presets span{flex-direction:column;display:flex}.presets small{font-size:14px;font-weight:400}.days{grid-template-columns:repeat(7,1fr);gap:6px;margin-top:16px;display:grid}.days button{background:var(--card);border-radius:12px;padding:11px 0;font-size:14px;font-weight:600}.days button.on{background:var(--forest);color:var(--cream)}@media (prefers-reduced-motion:reduce){.sheet{animation:none}}.status{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:18px;min-height:100dvh;padding-bottom:0;display:flex}.login{flex-direction:column;justify-content:center;gap:28px;min-height:100dvh;padding-bottom:0;display:flex}.login .logo{align-self:center}.login form{background:var(--card);box-shadow:0 1px 0 var(--line);border-radius:22px;flex-direction:column;gap:14px;padding:22px;display:flex}.login h1{font-size:26px}.login label{flex-direction:column;gap:6px;font-size:14px;font-weight:600;display:flex}.login input{font:inherit;border:1.5px solid var(--line);background:var(--cream);color:var(--forest);border-radius:12px;padding:13px 14px;font-size:16px}.login input:focus-visible{outline:3px solid var(--moss);outline-offset:1px}.error{color:var(--danger);font-size:14px;font-weight:600}.btn:disabled{opacity:.6;cursor:default}.center-title{text-align:center;padding-right:40px;font-size:22px!important}.hero.pas{min-height:170px}.hero.pas .hero-text{max-width:56%}.hero.pas h2{font-size:34px}.hero.pas .hero-art{width:auto;max-width:40%;height:auto;max-height:150px;bottom:6px;right:10px}.facts{background:var(--card);box-shadow:0 1px 0 var(--line);border-radius:18px;grid-template-columns:repeat(3,1fr);display:grid}.facts div{text-align:center;flex-direction:column;align-items:center;gap:2px;padding:14px 6px;display:flex}.facts div+div{border-left:1px solid var(--line)}.facts b{font-size:16px}.facts span{color:var(--mute);font-size:13px}.steps{flex-direction:column;gap:8px;padding-left:18px;display:flex;position:relative}.steps:before{content:"";background:var(--line);width:2px;position:absolute;top:18px;bottom:18px;left:5px}.steps li{background:var(--card);box-shadow:0 1px 0 var(--line);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:13px 14px;display:flex;position:relative}.steps li:before{content:"";background:var(--cream);border:2px solid var(--moss);border-radius:99px;width:10px;height:10px;margin-top:-5px;position:absolute;top:50%;left:-17px}.steps li.key{background:var(--butter)}.steps li.key:before{background:var(--butter);border-color:var(--forest)}.steps span{flex-direction:column;display:flex}.steps small{color:var(--mute);font-size:14px;font-weight:400}.steps em{font-style:normal;font-weight:700}.zone{color:var(--mute);margin:8px 0 12px}.zone b{color:var(--forest)}.points{flex-direction:column;gap:10px;display:flex}.points li{align-items:flex-start;gap:10px;font-size:15px;display:flex}.points svg{color:var(--moss);flex:none;margin-top:2px}.seg{background:#ebe5d6;border-radius:14px;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;display:grid}.seg button{color:var(--mute);border-radius:11px;padding:10px 0;font-weight:600}.seg button[aria-selected=true]{background:var(--forest);color:var(--cream)}.hero.balance{min-height:0}.hero.balance .hero-text{max-width:66%}.hero.balance h2{font-size:26px}.hero.balance .hero-art{width:28%;bottom:14px;right:14px}.gauge-card{text-align:center;flex-direction:column;align-items:center;gap:6px;display:flex}.gauge{fill:none;stroke-width:16px;stroke-linecap:butt;width:230px;height:auto}.gauge-card h3{justify-content:center;font-size:28px}.nums{color:var(--mute);gap:18px;margin-top:6px;font-size:13px;display:flex}.nums b{color:var(--forest);font-size:15px}.states{flex-direction:column;gap:8px;display:flex}.states li{background:var(--card);box-shadow:0 1px 0 var(--line);border:2px solid #0000;border-radius:16px;align-items:flex-start;gap:14px;padding:14px;display:flex}.states li>span{flex-direction:column;gap:2px;display:flex}.states small{color:var(--mute);font-size:14px;font-weight:400}.states .balance svg{color:var(--moss)}.states .under svg{color:#a98a00}.states .over svg{color:var(--coral)}.states .active{border-color:var(--moss);background:#eef6ef}.states .active.under{background:#fbf3c4;border-color:#d9b800}.states .active.over{border-color:var(--coral);background:#fbe9e6}.focus{flex-direction:column;gap:16px;display:flex}.focus p{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.focus .chip{padding:4px 10px;font-size:12px}.focus .chip.under{color:#7a6500;background:#fbf3c4}.focus .chip.over{color:#a8423a;background:#fbe9e6}.range{background:#e8e5d9;border-radius:99px;height:12px;position:relative;overflow:hidden}.range i{background:var(--moss);height:100%;display:block}.range u{background:var(--forest);width:3px;position:absolute;top:0;bottom:0}.focus small{margin-top:6px;font-size:13px;display:block}.hero.race-card{flex-direction:column;gap:16px;min-height:0;display:flex}.hero.race-card .hero-text{max-width:52%}.hero.race-card .hero-art{width:44%;top:58px;bottom:auto;right:14px}.rings{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px;display:grid}.rings>div{flex-direction:column;align-items:center;gap:2px;display:flex;position:relative}.rings .ring{width:84px;height:84px}.rings circle{fill:none;stroke-width:8px}.rings .track{stroke:#e8e5d9}.rings .fill{stroke:var(--moss);stroke-linecap:round}.ring-icon{color:var(--forest);position:absolute;top:32px}.rings b{font-family:var(--serif);margin-top:2px;font-size:20px}.rings span{font-size:14px;font-weight:600}.rings small{font-size:13px}.insight{background:var(--butter);border-radius:18px;flex-direction:column;gap:6px;padding:16px 18px;display:flex}.insight p{color:#3f5a4d;font-size:15px}.icon-btn.small{width:34px;height:34px;box-shadow:0 1px 0 var(--line);background:#fffdf8cc}.card .icon-btn.small{background:var(--cream)}.hero.race-card .pencil{z-index:2;position:absolute;top:14px;right:14px}.date-note{margin-top:8px}.hero-text p.date-line{font-size:13px}.field{flex-direction:column;gap:6px;margin-top:14px;font-size:14px;font-weight:600;display:flex}.field input{font:inherit;border:1.5px solid var(--line);background:var(--card);color:var(--forest);border-radius:12px;padding:12px 14px;font-size:16px}.sheet .muted{margin-bottom:4px}.card.tap{position:relative}.card-link{border-radius:20px;position:absolute;inset:0}.card.tap .card-top,.card.tap .big,.card.tap .bar{pointer-events:none;position:relative}.metric-hero{justify-content:space-between;align-items:flex-start;gap:12px;min-height:0;display:flex}.metric-hero .hero-text{max-width:none}.chip.warn{color:#a8423a;background:#fbe9e6}.chip.info{color:var(--mute);background:#ebe5d6}.metric-hero .chip{flex:none}.chart-card{padding:14px 12px 12px}.chart{touch-action:pan-y;outline-offset:4px;position:relative}.chart svg{-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.chart .grid{stroke:var(--line);stroke-width:1px}.chart .axis{fill:var(--mute);font-size:11px;font-family:var(--sans)}.chart .axis.base{fill:#a8423a}.chart .baseline{stroke:var(--coral);stroke-width:1.5px;stroke-dasharray:5 4}.chart .trace{fill:none;stroke:var(--moss);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}.chart .dot{fill:var(--card);stroke:var(--moss);stroke-width:2px}.chart .cursor{stroke:var(--forest);stroke-width:1px;opacity:.35}.chart .focus-dot{fill:var(--forest);stroke:var(--cream);stroke-width:3px}.tip{z-index:1;background:var(--forest);color:var(--cream);pointer-events:none;white-space:nowrap;border-radius:10px;flex-direction:column;align-items:center;padding:5px 10px;line-height:1.2;display:flex;position:absolute;top:-4px;transform:translate(-50%)}.tip b{font-size:14px}.tip span{opacity:.8;font-size:11px}.chart .tip+svg{margin-top:38px}.chart-empty{text-align:center;padding:28px 8px}.small-print{margin-top:6px;padding:0 4px;font-size:12px}.facts b small{font-size:.7em}.facts span{font-size:12px}.note{color:var(--mute);align-items:flex-start;gap:10px;padding:0 4px;font-size:14px;display:flex}.note svg{flex:none;margin-top:1px}.explain{font-size:15px;line-height:1.5}.factors{flex-direction:column;gap:10px;padding-left:34px;font-size:15px;list-style:outside;display:flex}.banner{border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;font-size:14px;display:flex}.banner.stale{color:var(--forest);background:#ebe5d6}.banner.down{color:#a8423a;background:#fbe9e6}.banner button{background:var(--card);color:var(--forest);border-radius:10px;flex:none;padding:8px 14px;font-weight:700}.banner button:disabled{opacity:.6}.why{background:var(--card);box-shadow:0 1px 0 var(--line);border-radius:16px;padding:14px 16px}.why summary{cursor:pointer;justify-content:space-between;align-items:center;font-weight:600;list-style:none;display:flex}.why summary::-webkit-details-marker{display:none}.why summary:after{content:"+";color:var(--mute);font-size:22px;line-height:1}.why[open] summary:after{content:"−"}.why ul{flex-direction:column;margin:12px 0 8px;display:flex}.why li{border-top:1px solid var(--line);grid-template-columns:1fr auto;column-gap:12px;padding:9px 0;font-size:15px;display:grid}.why li span{color:var(--mute)}.why li small{text-align:right;grid-column:1/-1;font-size:13px}.sync{text-align:left;flex-direction:column;width:100%;display:flex}.sync li{border-top:1px solid var(--line);justify-content:space-between;gap:12px;padding:10px 0;font-size:14px;display:flex}.sync li span{color:var(--mute)}.sync b.fresh{color:var(--moss)}.sync b.stale{color:#7a6500}.sync b.down{color:#a8423a}.actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.actions .btn{background:var(--cream);margin-top:0}.score{flex-direction:column;flex:none;align-items:flex-end;gap:6px;display:flex}.score b{font-family:var(--serif);font-size:44px;line-height:1}.seg.two{grid-template-columns:1fr 1fr}.stages{gap:3px;height:16px;margin:12px 0 14px;display:flex}.stages i{border-radius:99px;min-width:4px;display:block}.legend{flex-direction:column;display:flex}.legend li{border-top:1px solid var(--line);grid-template-columns:1fr auto 52px;align-items:center;gap:10px;padding:9px 0;font-size:15px;display:grid}.legend li span{align-items:center;gap:10px;display:flex}.legend li span i{border-radius:99px;flex:none;width:12px;height:12px}.legend li small{text-align:right}.rhythm h3{margin-bottom:4px}.card .sync{margin-top:6px}.insight p+p{margin-top:4px}.chips{scrollbar-width:none;gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chips button{background:var(--card);box-shadow:0 1px 0 var(--line);border-radius:99px;flex:none;padding:9px 14px;font-size:14px;font-weight:600}.chips button[aria-selected=true]{background:var(--forest);color:var(--cream)}.chips small{color:inherit;opacity:.65;font-size:12px}.day-head{margin:6px 2px 8px;font-size:17px}.day-head:first-letter{text-transform:uppercase}.acts{flex-direction:column;gap:8px;display:flex}.acts li{background:var(--card);box-shadow:0 1px 0 var(--line);border-radius:16px}.acts li button{text-align:left;grid-template-columns:28px 1fr auto 20px;align-items:center;gap:12px;width:100%;padding:14px;display:grid}.acts .what{flex-direction:column;min-width:0;display:flex}.acts .what b{font-size:16px}.acts .what small{color:var(--mute);font-size:13px;font-weight:400}.acts .te{color:var(--moss);background:#d9eadf;border-radius:99px;padding:4px 9px;font-size:12px;font-weight:700}.acts li>button>svg:last-child{color:var(--mute)}.hero.pas .huge{font-size:40px}.zones{flex-direction:column;gap:12px;display:flex}.zone-row{grid-template-columns:78px 1fr 64px;align-items:center;gap:12px;display:grid}.zl,.zt{flex-direction:column;line-height:1.2;display:flex}.zt{text-align:right}.zl small,.zt small{color:var(--mute);font-size:12px;font-weight:400}.zbar{background:#e8e5d9;border-radius:99px;height:12px;overflow:hidden}.zbar i{border-radius:99px;height:100%;display:block}.zbar .z1{background:#b8d8c4}.zbar .z2{background:#7fbf9a}.zbar .z3{background:#f2d95c}.zbar .z4{background:#ee9b5a}.zbar .z5{background:var(--coral)}.ivs{flex-direction:column;gap:6px;display:flex}.ivs li{background:var(--card);border-radius:12px;grid-template-columns:24px 1fr 1fr auto;align-items:center;gap:10px;padding:11px 14px;font-size:14px;display:grid}.ivs li>b{color:var(--mute)}.ivs li>span{flex-direction:column;font-weight:600;line-height:1.25;display:flex}.ivs li small{color:var(--mute);font-size:12px;font-weight:400}.weeknav{grid-template-columns:34px 1fr 34px;align-items:center;gap:8px;display:grid}.weeknav .week{padding-top:0}.linkish{color:var(--moss);align-self:center;padding:4px 8px;font-size:14px;font-weight:600;text-decoration:underline}.plan .day small{color:var(--mute);font-size:12px;font-weight:500}.card.empty{flex-direction:column;gap:8px;display:flex}.btn.wide{background:var(--card);justify-content:center;align-self:stretch;margin-top:0}.btn.danger{color:#a8423a;background:#fbe9e6}.when{text-transform:capitalize;align-items:center;gap:10px;padding:0 2px;font-weight:600;display:flex}.when .chip{text-transform:none}.when small{text-transform:none;font-size:13px}.note-line{background:var(--card);color:var(--mute);border-radius:14px;padding:12px 14px;font-size:14px}.edit{flex-direction:column;gap:12px;display:flex}.lbl{font-size:14px;font-weight:600}.days button{flex-direction:column;align-items:center;gap:1px;display:flex}.days button small{opacity:.7;font-size:11px;font-weight:500}.days button:disabled{opacity:.5}.field textarea{font:inherit;border:1.5px solid var(--line);background:var(--cream);color:var(--forest);resize:vertical;border-radius:12px;padding:12px 14px;font-size:16px}.edit .actions{justify-content:flex-start}.edit .actions .btn{margin-top:0}.sheet.tall{flex-direction:column;gap:10px;max-height:92dvh;display:flex;overflow-y:auto}.sheet.tall .btn.full{flex:none;margin-top:8px}.section-row{justify-content:space-between;align-items:baseline;display:flex}.weeknav.inline{margin-bottom:2px}.days.four{grid-template-columns:repeat(4,1fr)}.toggle{background:var(--card);cursor:pointer;border-radius:14px;align-items:flex-start;gap:12px;padding:14px;display:flex}.toggle input{width:22px;height:22px;accent-color:var(--moss);flex:none;margin-top:2px}.toggle span{flex-direction:column;gap:2px;display:flex}.toggle small{color:var(--mute);font-size:13px;font-weight:400}.gen-week h3{text-transform:capitalize;align-items:center;gap:10px;font-size:18px;display:flex}.gen-week h3 .chip{text-transform:none;padding:3px 9px;font-size:12px}.gen-list{flex-direction:column;gap:6px;margin-top:8px;display:flex}.gen-list li{background:var(--card);border-radius:12px;grid-template-columns:40px 22px 1fr auto;align-items:center;gap:10px;padding:10px 12px;font-size:14px;display:grid}.gen-list .d{flex-direction:column;font-weight:700;line-height:1.15;display:flex}.gen-list .d small{color:var(--mute);font-size:11px;font-weight:500}.gen-list .w{flex-direction:column;line-height:1.25;display:flex}.gen-list .w small{color:var(--mute);font-size:12px;font-weight:400}.gen-list .chip{padding:3px 8px;font-size:11px}.plain{flex-direction:column;gap:8px;margin:12px 0 8px;padding-left:20px;font-size:14px;list-style:outside;display:flex}.actions.split{flex-wrap:nowrap;justify-content:space-between}.actions.split .btn{flex:1;justify-content:center;margin-top:0}.btn.primary{background:var(--forest);color:var(--cream)}.btn.primary:disabled{opacity:.5}.ms{flex-direction:column;gap:8px;display:flex}.ms li{background:var(--card);box-shadow:0 1px 0 var(--line);border-radius:16px;grid-template-columns:30px 1fr auto;align-items:center;gap:12px;padding:12px 14px;display:grid}.ms .check{border:2px solid var(--moss);width:26px;height:26px;color:var(--cream);border-radius:99px;place-items:center;display:grid}.ms .check[aria-pressed=true]{background:var(--moss)}.ms .body{text-align:left;flex-direction:column;gap:1px;min-width:0;display:flex}.ms .body b{font-size:16px}.ms .body small{color:var(--mute);font-size:13px;font-weight:400}.ms .body .note{font-style:italic}.ms li.done .body b{color:var(--mute);text-decoration:line-through}.ms li.past{background:#f5efe0}.ms li.past .body small:first-of-type{color:#a8423a}.ms .chip{padding:4px 9px;font-size:12px}.ms-next{color:var(--forest);font-size:14px}.days.three{grid-template-columns:repeat(3,1fr)}.gen-list li.pick{padding:0;display:block}.gen-list li.pick label{cursor:pointer;align-items:flex-start;gap:12px;padding:12px;display:flex}.gen-list li.pick input{width:22px;height:22px;accent-color:var(--moss);flex:none;margin-top:1px}.field input{font:inherit}.nutri{text-align:left;flex-direction:column;gap:10px;width:100%;display:flex}.nutri .card-top svg{color:var(--mute)}.nrow{grid-template-columns:70px 1fr auto;align-items:center;gap:10px;font-size:14px;display:grid}.nrow span{color:var(--mute)}.nrow i{background:#e8e5d9;border-radius:99px;height:8px;overflow:hidden}.nrow u{background:var(--moss);border-radius:99px;height:100%;display:block}.nrow b{font-size:13px}.hero.food{flex-direction:column;gap:8px;min-height:0;display:flex;position:relative}.hero.food .huge{font-size:46px}.hero.food .huge small{color:#3f5a4d;font-size:.4em;font-weight:500}.hero-sub{font-size:15px;font-weight:600}.hero.food .pencil{position:absolute;top:14px;right:14px}.seg.four{grid-template-columns:repeat(4,1fr)}.seg.four button{padding:9px 0;font-size:13px}.inline-form{gap:8px;display:flex}.inline-form input{min-width:0;font:inherit;border:1.5px solid var(--line);background:var(--card);color:var(--forest);border-radius:12px;flex:1;padding:12px 14px;font-size:16px}.inline-form .btn{margin-top:0}.grid4{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.preview{margin-top:8px;font-size:15px}.fuel{flex-direction:column;gap:10px;margin:8px 0;display:flex}.fuel li{grid-template-columns:54px 1fr;gap:10px;font-size:14px;display:grid}.fuel li b{color:var(--moss)}.meal-head{justify-content:space-between;margin:4px 2px 8px;font-size:15px;display:flex}.meal-head span{color:var(--mute)}.mini-x{color:#a8423a;margin-left:6px;padding:0 4px;font-size:18px;line-height:1}.gen-list li.pick button{text-align:left;width:100%;padding:12px}.days.four button small{font-size:11px;display:block}.acts li button>span:first-child:empty{display:none}.acts li button:has(>span:first-child:empty){grid-template-columns:1fr auto 20px}.coach-link{text-align:left;background:var(--card);box-shadow:0 1px 0 var(--line);border-radius:16px;grid-template-columns:24px 1fr 20px;align-items:center;gap:14px;padding:14px 16px;display:grid}.coach-link span{flex-direction:column;display:flex}.coach-link small{color:var(--mute);font-size:13px;font-weight:400}.coach-link svg:first-child{color:var(--moss)}.coach-link svg:last-child{color:var(--mute)}.thread{flex-direction:column;gap:8px;display:flex}.bubble{border-radius:16px;max-width:92%;padding:12px 14px;font-size:15px;line-height:1.45}.bubble.q{background:var(--forest);color:var(--cream);border-radius:22px 22px 6px;align-self:flex-end;padding:12px 18px;font-size:16px}.bubble.a{background:var(--card);box-shadow:0 1px 0 var(--line);flex-direction:column;align-self:flex-start;gap:8px;display:flex}.warn-line{color:#7a6500;background:#fbf3c4;border-radius:10px;padding:8px 10px;font-size:13px}.ask{z-index:2;bottom:var(--tabbar-h);gap:8px;display:flex;position:sticky}.ask input{min-width:0;font:inherit;border:1.5px solid var(--line);background:var(--card);color:var(--forest);border-radius:99px;flex:1;padding:13px 16px;font-size:16px;box-shadow:0 4px 14px #12392b1a}.send{background:var(--forest);width:48px;height:48px;color:var(--cream);border-radius:99px;flex:none;place-items:center;display:grid}.send:disabled{opacity:.5}.error .detail{color:var(--mute);word-break:break-word;margin-top:4px;font-weight:400;display:block}.coach-hero{aspect-ratio:846/604;object-fit:cover;border-radius:22px;width:100%;height:auto;display:block}.coach-advice{background:var(--butter);border-radius:18px;flex-direction:column;gap:4px;padding:16px 18px;display:flex}.coach-advice h2{font-size:24px;line-height:1.1}.coach-advice p:not(.eyebrow){color:#3f5a4d;font-size:15px}.coach-stats{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.coach-stats button{background:var(--card);text-align:left;box-shadow:0 1px 0 var(--line);border-radius:18px;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;padding:12px;display:flex}.coach-stats svg{color:var(--moss)}.coach-stats .k{color:var(--mute);margin-top:4px;font-size:12px}.coach-stats b{font-family:var(--serif);white-space:nowrap;font-size:20px;font-weight:600;line-height:1.1}.coach-stats .of{color:var(--mute);font-size:12px;font-family:var(--sans);font-weight:500}.coach-stats small{font-size:12px;font-weight:600}.coach-stats small.up{color:var(--moss)}.coach-stats small.dn{color:#a8423a}.mini-bar{background:#e8e5d9;border-radius:99px;width:100%;height:6px;margin-top:6px;display:block;overflow:hidden}.mini-bar u{background:var(--moss);border-radius:99px;height:100%;display:block}.ask-list{flex-direction:column;gap:8px;display:flex}.ask-list button{text-align:left;background:var(--card);width:100%;box-shadow:0 1px 0 var(--line);border-radius:16px;grid-template-columns:26px 1fr 20px;align-items:center;gap:14px;padding:14px 16px;font-size:15px;display:grid}.ask-list button:disabled{opacity:.55}.ask-list svg:first-child{color:var(--moss)}.ask-list svg:last-child{color:var(--mute)}.more summary{color:var(--moss);cursor:pointer;padding:4px 2px 10px;font-size:14px;font-weight:600;list-style:none}.more summary::-webkit-details-marker{display:none}.more summary:after{content:" +"}.more[open] summary:after{content:" −"}.lookups{flex-wrap:wrap;gap:6px;display:flex}.lookup{color:var(--moss);background:#e6f1e9;border-radius:99px;align-items:center;gap:4px;padding:3px 9px;font-size:12px;font-weight:600;display:inline-flex}.typing{gap:5px;padding:14px 16px;display:flex}.typing i{background:var(--mute);opacity:.5;border-radius:99px;width:8px;height:8px;animation:1.1s ease-in-out infinite dot}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}@keyframes dot{0%,80%,to{opacity:.4;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){.typing i{animation:none}}.ask{background:linear-gradient(to top, var(--cream) 70%, transparent);padding-top:8px}.head .coach-back-space{flex:none;width:40px;height:40px}.center-title.balanced{padding-right:0}.coach-stats div{background:var(--card);border:1px solid var(--line);border-radius:16px;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;padding:12px;display:flex}.answer{background:var(--card);border-radius:26px 26px 26px 8px;flex-direction:column;gap:14px;padding:18px;display:flex;box-shadow:0 6px 20px #12392b14}.coach-who{align-items:center;gap:12px;display:flex}.coach-who img{background:var(--butter);border-radius:99px;flex:none;width:44px;height:44px}.coach-who span{flex-direction:column;line-height:1.2;display:flex}.coach-who b{font-size:18px;font-family:var(--serif)}.coach-who small{color:var(--mute);font-size:13px;font-weight:400}.answer-text{flex-direction:column;gap:10px;font-size:16px;line-height:1.5;display:flex}.answer-text p{white-space:pre-line}.answer .coach-stats{gap:8px}.answer-actions{gap:10px;display:flex}.go{border:1.5px solid var(--forest);color:var(--forest);background:0 0;border-radius:99px;flex:1;justify-content:space-between;align-items:center;gap:6px;padding:13px 16px;font-size:15px;font-weight:600;display:flex}.go.primary{background:var(--forest);color:var(--cream)}.typing{padding:4px 2px}.ask.pill{align-items:center;gap:10px}.ask.pill .field-wrap{background:var(--card);border-radius:99px;flex:1;align-items:center;gap:4px;min-width:0;padding:5px 6px;display:flex;box-shadow:0 4px 14px #12392b1a}.ask.pill .field-wrap input{min-width:0;box-shadow:none;border:0;border-left:1px solid var(--line);background:0 0;border-radius:0;flex:1;min-height:44px;margin-left:4px;padding:10px 10px 10px 12px}.ask.pill .field-wrap input:focus-visible{outline:none}.ask.pill .field-wrap:focus-within{outline:3px solid var(--moss);outline-offset:2px}.plus-btn{background:var(--cream);border-radius:99px;flex:none;place-items:center;width:40px;height:40px;display:grid}.today-card{background:var(--butter-soft,#fbf4c6);flex-direction:column;gap:6px;display:flex}.today-card .section{margin:0 0 4px}.today-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.today-open{text-align:left;background:var(--card);border-radius:16px;grid-template-columns:30px 1fr 20px;align-items:center;gap:12px;width:100%;padding:14px;display:grid}.today-list li.done .today-open{box-shadow:inset 4px 0 0 var(--moss)}.today-list .actions{margin-top:8px}.btn.primary{background:var(--forest);color:var(--cream);border-color:var(--forest)}.missed-card{background:#fff9e0;border:1.5px solid #e3c25b}.missed-card p{margin:0 0 4px}.week-count,.week-hint{margin:-4px 0 8px;font-size:14px}ul.plan li.skipped .what{opacity:.55;text-decoration:line-through}.today-open .what{flex-direction:column;gap:2px;min-width:0;display:flex}.today-open .what small{color:var(--mute);font-size:13px}.missed-card .actions{margin-top:10px}.week-link{text-align:left;background:var(--card);width:100%;box-shadow:0 1px 0 var(--line);border-radius:16px;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.week-link small{color:var(--mute);margin-top:2px;font-size:13px;font-weight:400;display:block}.review-hero h2{font-size:30px}.review-rows{gap:10px;padding:16px;list-style:none;display:grid}.review-rows li{grid-template-columns:1fr auto;align-items:baseline;gap:2px 12px;display:grid}.review-rows small{color:var(--mute);grid-column:1/-1}.brief{flex-direction:column;gap:8px;display:flex}.brief h2{font-family:var(--serif);margin:0;font-size:22px}.brief dl{gap:6px;margin:0;display:grid}.brief dl div{justify-content:space-between;gap:12px;display:flex}.brief dt{color:var(--mute)}.brief dd{text-align:right;margin:0;font-weight:600}.brief p{margin:0}.garmin-extras dl{gap:8px;margin:12px 0 0;display:grid}.garmin-extras dl div{justify-content:space-between;gap:12px;display:flex}.garmin-extras dt{color:var(--mute)}.garmin-extras dd{text-align:right;margin:0;font-weight:600}.garmin-extras .chip{white-space:normal}.session-zone{color:var(--mute);font-size:13px;display:block}html.native body:before{content:"";height:var(--safe-top);background:var(--cream);z-index:9;pointer-events:none;position:fixed;inset:0 0 auto}.icon-btn{position:relative}.icon-btn:before{content:"";width:44px;height:44px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.linkish{position:relative}.linkish:before{content:"";position:absolute;inset:-9px 0}.why summary{position:relative}.why summary:before{content:"";position:absolute;inset:-11px 0}.more summary{min-height:44px;position:relative}.seg button{position:relative}.seg button:before{content:"";height:max(100%,44px);position:absolute;inset:50% 0 auto;transform:translateY(-50%)}.seg.four button{min-height:44px}.banner button{position:relative}.banner button:before{content:"";position:absolute;inset:-5px 0}.plus-btn{position:relative}.plus-btn:before{content:"";position:absolute;inset:-2px}.plus{position:relative}.plus:before{content:"";width:44px;height:44px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.send{position:relative}.send:before{content:"";width:44px;height:44px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.days:not(.four):not(.three){gap:clamp(0px,10vw - 34px,6px)}.days button{min-height:44px;position:relative}.days button:before{content:"";width:44px;height:44px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ms li{grid-template-columns:36px 1fr auto}.ms .check{position:relative}.ms .check:before{content:"";width:44px;height:44px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ms .body{justify-content:center;min-height:44px}.chips button{min-height:44px;position:relative}.chips button:before{content:"";width:44px;height:44px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.mini-x{min-width:44px;min-height:44px}.weights li{align-items:center;min-height:44px;padding-block:0}.weights li b{align-items:center;display:inline-flex}.days button small,.days.four button small,.gen-list .d small,.gen-list .chip,.tip span,.facts b small,.tile b small,.review-rows small,.water-total small,.legend li small{font-size:12px}.water-actions .btn{padding-inline:10px}.edit .days{gap:0}@media (width<=379px){.edit .days{margin-inline:-18px}}@media (width<=340px){.edit .days{margin-inline:-28px}.sheet .days:not(.four):not(.three){gap:0;margin-inline:-10px}}.sheet{overscroll-behavior:contain}
