@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-vietnamese-400-normal-Dpl4UHAZ.woff2)format("woff2"),url(/assets/barlow-vietnamese-400-normal-BFeobeCK.woff)format("woff");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:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-latin-ext-400-normal-HxX4XjxC.woff2)format("woff2"),url(/assets/barlow-latin-ext-400-normal-CvBsJvxq.woff)format("woff");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:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-latin-400-normal-qiz4-Cze.woff2)format("woff2"),url(/assets/barlow-latin-400-normal-fsAxiSwU.woff)format("woff");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:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-vietnamese-500-normal-zTViEIzf.woff2)format("woff2"),url(/assets/barlow-vietnamese-500-normal-GNfB7rCE.woff)format("woff");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:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-latin-ext-500-normal-DOaysfXq.woff2)format("woff2"),url(/assets/barlow-latin-ext-500-normal-CJPcKP2Q.woff)format("woff");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:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-latin-500-normal-BPAOfeC8.woff2)format("woff2"),url(/assets/barlow-latin-500-normal-C1h8hMer.woff)format("woff");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:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-vietnamese-600-normal-DcjprdFV.woff2)format("woff2"),url(/assets/barlow-vietnamese-600-normal-CA_GiK2e.woff)format("woff");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:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-latin-ext-600-normal-B8NK_A3D.woff2)format("woff2"),url(/assets/barlow-latin-ext-600-normal-DMVRjfRT.woff)format("woff");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:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-latin-600-normal-DILqtrty.woff2)format("woff2"),url(/assets/barlow-latin-600-normal-CNwfPWQD.woff)format("woff");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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-condensed-vietnamese-500-normal-DjeaNLFD.woff2)format("woff2"),url(/assets/barlow-condensed-vietnamese-500-normal-CsrJDWc5.woff)format("woff");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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-condensed-latin-ext-500-normal-yA5ONLQ9.woff2)format("woff2"),url(/assets/barlow-condensed-latin-ext-500-normal-B1RE8WP7.woff)format("woff");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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-condensed-latin-500-normal-BgYH2mbd.woff2)format("woff2"),url(/assets/barlow-condensed-latin-500-normal-HIEiP5Ov.woff)format("woff");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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-vietnamese-600-normal-A5AYRdjN.woff2)format("woff2"),url(/assets/barlow-condensed-vietnamese-600-normal-CNlPk46_.woff)format("woff");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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-ext-600-normal-18ESti3H.woff2)format("woff2"),url(/assets/barlow-condensed-latin-ext-600-normal-Clv9cIcR.woff)format("woff");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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-600-normal-DepVgxBB.woff2)format("woff2"),url(/assets/barlow-condensed-latin-600-normal-BFJEwTuo.woff)format("woff");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{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a0b0d;--surface:#121418;--raised:#1b1e24;--line:#272b33;--line-strong:#414753;--text:#f1f2f4;--text-2:#adb3be;--text-3:#868e9b;--steady:#4fd68b;--drifting:#f2bd3c;--off:#ff6257;--accent:#8cc8ff;--font:"Barlow", system-ui, -apple-system, "Segoe UI", sans-serif;--display:"Barlow Condensed", "Barlow", system-ui, sans-serif;--radius:12px;--ease:cubic-bezier(.16, 1, .3, 1);--nav-h:64px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scrollbar-color:var(--line-strong) var(--bg)}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0;font-size:1rem;line-height:1.5}::selection{background:var(--accent);color:var(--bg)}h1,h2,h3,p,ul,ol,dl,dd,fieldset{margin:0;padding:0}fieldset{border:0;min-width:0}ul,ol{list-style:none}a{color:var(--accent);text-underline-offset:3px;text-decoration-thickness:1px}button,input{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{z-index:20;background:var(--text);color:var(--bg);border-radius:8px;padding:10px 14px;position:absolute;top:-60px;left:12px}.skip:focus{top:12px}.num{font-family:var(--display);font-variant-numeric:tabular-nums;letter-spacing:.01em;font-weight:600}.unit{color:var(--text-2);font-size:.875rem}.app{min-height:100dvh;padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 68px)}.topbar{padding:calc(14px + env(safe-area-inset-top)) 20px 10px;justify-content:space-between;align-items:center;gap:12px;display:flex}.topbar a{color:var(--text);text-decoration:none}.logo{align-items:center;gap:8px;display:inline-flex}.logo-word{font-family:var(--display);letter-spacing:.14em;text-transform:uppercase;font-size:1.375rem;font-weight:600}.topbar .mission-chip{color:var(--text-2);border:1px solid var(--line);white-space:nowrap;border-radius:999px;padding:6px 12px;font-size:.875rem}.nav{z-index:10;height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid;position:fixed;inset:auto 0 0}.nav a{color:var(--text-3);flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:.75rem;font-weight:500;text-decoration:none;transition:color .15s;display:flex}.nav a[aria-current=page]{color:var(--text)}.main{max-width:560px;margin:0 auto;padding:8px 20px 40px}@media (width>=960px){.app{grid-template-rows:auto 1fr;grid-template-columns:216px minmax(0,1fr);padding-bottom:0;display:grid}.topbar{flex-direction:column;grid-area:1/1;align-items:flex-start;gap:18px;padding:28px 24px 20px}.nav{background:0 0;border:0;flex-direction:column;grid-area:2/1;align-self:start;gap:2px;height:auto;padding:0 12px;display:flex;position:sticky;top:0}.nav a{border-radius:8px;flex-direction:row;justify-content:flex-start;gap:12px;padding:10px 12px;font-size:1rem}.nav a:hover{color:var(--text)}.nav a[aria-current=page]{background:var(--raised)}.main{border-left:1px solid var(--line);grid-area:1/2/span 2;width:100%;max-width:1080px;min-height:100dvh;margin:0;padding:36px 48px 64px}}.page-head{margin-bottom:24px}.page-head h1{letter-spacing:-.01em;font-size:1.75rem;font-weight:600;line-height:1.15}.page-head p{color:var(--text-2);max-width:60ch;margin-top:4px}.page-head-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}h2,h3,.stat-label,.plan-meta dt,.hazard span{font-family:var(--display);letter-spacing:.09em;text-transform:uppercase;color:var(--text-2);font-size:.875rem;font-weight:600}.status{white-space:nowrap;align-items:center;gap:7px;font-size:.875rem;font-weight:500;display:inline-flex}.status svg{flex:none}.status-steady{--tone:var(--steady)}.status-drifting{--tone:var(--drifting)}.status-off{--tone:var(--off)}.status.status-steady,.status.status-drifting,.status.status-off{color:var(--tone)}.btn{min-height:48px;transition:background-color .15s, border-color .15s, transform .15s var(--ease);border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 22px;font-weight:600;text-decoration:none;display:inline-flex}.btn:active{transform:scale(.98)}.btn-primary{background:var(--text);color:var(--bg)}.btn-primary:hover{background:#fff}.btn-secondary{border-color:var(--line-strong);color:var(--text);background:0 0}.btn-secondary:hover{border-color:var(--text-2)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-row{flex-wrap:wrap;gap:10px;display:flex}.btn-quiet{min-height:44px;color:var(--text-2);background:0 0;border:0;align-items:center;gap:6px;padding:0;text-decoration:none;display:inline-flex}.btn-quiet:hover{color:var(--text)}.segmented{background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:3px;display:inline-flex}.segmented button{min-height:36px;color:var(--text-2);background:0 0;border:0;border-radius:999px;padding:0 14px;font-size:.875rem;font-weight:500}.segmented button[aria-pressed=true]{background:var(--raised);color:var(--text)}.steps{counter-reset:step;gap:10px;display:grid}.steps li{counter-increment:step;grid-template-columns:26px 1fr;gap:10px;display:grid}.steps li:before{content:counter(step);font-family:var(--display);border:1px solid var(--line-strong);width:26px;height:26px;color:var(--text-2);border-radius:50%;place-items:center;margin-top:-1px;font-size:.875rem;font-weight:600;display:grid}.note{color:var(--text-2);max-width:65ch;font-size:.9375rem}.group-head{justify-content:space-between;align-items:center;gap:12px;padding-bottom:8px;display:flex}.row{border-top:1px solid var(--line);color:var(--text);grid-template-columns:14px minmax(0,1fr) auto 18px;align-items:center;gap:12px;padding:12px 0;text-decoration:none;display:grid}.body-panel .rows{border-bottom:1px solid var(--line)}.row:hover .row-chev{color:var(--text);transform:translate(2px)}.row-name{font-weight:500;display:grid}.row-sub{color:var(--text-3);font-size:.875rem;font-weight:400}.row-value{align-items:baseline;gap:5px;display:flex}.row-value .num{font-size:1.5rem;line-height:1}.row-chev{color:var(--text-3);transition:transform .2s var(--ease), color .15s}.disc{border-bottom:1px solid var(--line)}.disc-group{border-top:1px solid var(--line);margin-top:28px}.disc-btn{width:100%;min-height:56px;color:var(--text);text-align:left;background:0 0;border:0;align-items:center;gap:12px;padding:0;display:flex}.disc-summary{flex:1;align-items:center;gap:12px;min-width:0;font-weight:500;display:flex}.disc-aside{color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;margin-left:auto;font-size:.9375rem;font-weight:400;overflow:hidden}.disc-aside.num{letter-spacing:.02em;font-size:1.0625rem;font-weight:500}.disc-chev{color:var(--text-3);transition:transform .36s var(--ease), color .15s;flex:none}.disc-btn:hover .disc-chev{color:var(--text)}.is-open>.disc-btn .disc-chev{transform:rotate(180deg)}.disc-body{transition:grid-template-rows .36s var(--ease);grid-template-rows:0fr;display:grid}.is-open>.disc-body{grid-template-rows:1fr}.disc-inner{opacity:0;min-height:0;transition:opacity .2s, transform .36s var(--ease);overflow:hidden;transform:translateY(-6px)}.is-open>.disc-body>.disc-inner{opacity:1;transition-delay:60ms,0s;transform:none}.disc-text{max-width:65ch;color:var(--text-2);justify-items:start;gap:14px;padding:0 0 20px;display:grid}.today-main{text-align:center}.ring{width:min(100%,256px);margin:12px auto 28px;position:relative}.ring>svg{width:100%;height:auto;display:block}.ring circle{fill:none;stroke-width:9px}.ring-track{stroke:var(--raised)}.ring-value{stroke:var(--tone);stroke-linecap:round;transition:stroke .4s}.ring-center{flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex;position:absolute;inset:0}.ring-score{font-family:var(--display);font-variant-numeric:tabular-nums;font-size:5.75rem;font-weight:600;line-height:.9}.headline h1{letter-spacing:-.01em;text-wrap:balance;font-size:1.5rem;font-weight:600;line-height:1.2}.headline p{max-width:38ch;color:var(--text-2);text-wrap:pretty;margin:8px auto 0}.checkin-due{gap:10px;margin-top:24px;display:grid}.checkin-due p,.checkin-done{color:var(--text-3);font-size:.875rem}.checkin-done{justify-content:center;align-items:center;gap:8px;margin-top:20px;display:flex}.checkin-done svg{color:var(--steady);flex:none}.disc-plan{border-top:1px solid var(--line);text-align:left;margin-top:24px}.plan-detail{padding-bottom:20px}.plan-detail .steps{margin-bottom:18px}.plan-meta{gap:12px;display:grid}.plan-meta dd{color:var(--text-2);margin-top:2px}.today-side{margin-top:32px}.list-title{border-bottom:1px solid var(--line);padding-bottom:10px}@media (width>=1100px){.today{grid-template-columns:minmax(0,380px) minmax(0,1fr);align-items:start;gap:72px;display:grid}.today-main{position:sticky;top:36px}.today-side{margin-top:12px}.checkin-due .btn{justify-self:center;min-width:260px}}.checkin{max-width:480px;margin:0 auto}.checkin-top{justify-content:space-between;align-items:center;display:flex}.checkin-count{color:var(--text-2);font-size:.875rem}.progress{background:var(--raised);border-radius:2px;height:4px;margin:6px 0 28px;overflow:hidden}.progress span{background:var(--text);height:100%;transition:width .3s var(--ease);border-radius:2px;display:block}.checkin h1{letter-spacing:-.01em;text-wrap:balance;margin-bottom:24px;font-size:1.75rem;font-weight:600;line-height:1.15}.fields{gap:20px;display:grid}.field label{color:var(--text-2);margin-bottom:8px;font-size:.9375rem;display:block}.stepper{grid-template-columns:56px 1fr 56px;align-items:center;gap:10px;display:grid}.stepper button{background:var(--raised);border:1px solid var(--line);width:56px;height:56px;transition:background-color .15s, transform .15s var(--ease);border-radius:50%;place-items:center;display:grid}.stepper button:hover{border-color:var(--line-strong)}.stepper button:active{transform:scale(.94)}.stepper-value{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);justify-content:center;align-items:baseline;gap:8px;padding:6px 12px;display:flex}.stepper-value:focus-within{border-color:var(--accent)}.stepper-value input{width:4.2ch;min-width:0;font-family:var(--display);text-align:right;font-variant-numeric:tabular-nums;caret-color:var(--accent);background:0 0;border:0;outline:0;padding:0;font-size:3.25rem;font-weight:600;line-height:1.1}.stepper-value input[aria-invalid=true]{color:var(--off)}.field-error{color:var(--off);margin-top:8px;font-size:.9375rem}.mood{gap:8px;display:grid}.mood label{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;grid-template-columns:28px 1fr;align-items:center;gap:12px;min-height:56px;padding:0 18px;transition:border-color .15s,background-color .15s;display:grid}.mood label:hover{border-color:var(--line-strong)}.mood input{opacity:0;position:absolute}.mood .num{color:var(--text-2);font-size:1.5rem}.mood label:has(input:checked){background:var(--text);border-color:var(--text);color:var(--bg)}.mood label:has(input:checked) .num{color:var(--bg)}.mood label:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.sensor-inline{color:var(--text-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;font-size:.9375rem;display:flex}.sensor-inline strong{color:var(--text);font-size:1.25rem}.live-dot{background:var(--steady);border-radius:50%;width:8px;height:8px;margin-right:8px;animation:1.6s ease-in-out infinite pulse;display:inline-block}@keyframes pulse{50%{opacity:.35}}.disc-hint{border-top:1px solid var(--line);margin-top:28px}.hint{color:var(--text-2);padding-bottom:20px}.hint h2{margin:16px 0 4px}.step-fwd{animation:step-fwd .4s var(--ease)}.step-back{animation:step-back .4s var(--ease)}@keyframes step-fwd{0%{opacity:0;transform:translate(28px)}}@keyframes step-back{0%{opacity:0;transform:translate(-28px)}}.checkin-actions{bottom:calc(var(--nav-h) + env(safe-area-inset-bottom));z-index:2;background:linear-gradient(to top, var(--bg) 70%, transparent);margin-top:16px;padding:16px 0;position:sticky}.checkin-actions .btn{width:100%}@media (width>=960px){.checkin-actions{bottom:0}}.body-layout{gap:28px;display:grid}.body-figure{grid-template-columns:minmax(0,46%) minmax(0,1fr);align-items:center;gap:16px;display:grid}.figure{aspect-ratio:1/2;width:100%;max-width:220px;position:relative}.figure svg{width:100%;height:100%;display:block}.figure-body{fill:var(--raised)}.figure-limb{fill:none;stroke:var(--raised);stroke-linecap:round}.figure-arm{stroke-width:19px}.figure-leg{stroke-width:27px}.spot{background:0 0;border:0;border-radius:50%;place-items:center;width:44px;height:44px;margin:-22px 0 0 -22px;display:grid;position:absolute}.spot-dot{background:var(--tone);width:12px;height:12px;box-shadow:0 0 0 3px var(--raised);transition:transform .2s var(--ease);border-radius:50%}.spot:hover .spot-dot{transform:scale(1.2)}.spot[aria-pressed=true] .spot-dot{box-shadow:0 0 0 3px var(--raised), 0 0 0 5px var(--text)}.spot.status-drifting .spot-dot,.spot.status-off .spot-dot{animation:1.8s ease-in-out infinite pulse}.system-list{gap:2px;display:grid}.system-list button{text-align:left;width:100%;min-height:44px;color:var(--text-2);background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:0 12px;display:flex}.system-list button:hover{color:var(--text)}.system-list button[aria-pressed=true]{background:var(--raised);color:var(--text)}.body-panel h2.panel-title{font-family:var(--font);letter-spacing:0;text-transform:none;color:var(--text);font-size:1.375rem}.body-panel h3{margin:22px 0 10px}.lede{color:var(--text-2);max-width:60ch}.hazard{margin:12px 0 18px}.hazard span{margin-right:8px}.dose{border-top:1px solid var(--line);margin-top:32px;padding-top:20px}.dose h3{margin:0}.dose-value{align-items:baseline;gap:8px;display:flex}.dose-value .num{font-size:2.5rem;line-height:1.1}.bar{background:var(--raised);border-radius:4px;height:8px;margin:10px 0;overflow:hidden}.bar span{background:var(--accent);transform-origin:0;height:100%;transition:width .5s var(--ease);animation:grow 1s var(--ease);border-radius:4px;display:block}@keyframes grow{0%{transform:scaleX(0)}}@media (width>=960px){.body-layout{grid-template-columns:minmax(0,380px) minmax(0,1fr);align-items:start;gap:56px}.body-figure{grid-template-columns:minmax(0,190px) minmax(0,1fr);gap:24px}}.trend-grid{gap:12px;display:grid}@media (width>=560px){.trend-grid{grid-template-columns:1fr 1fr}}.trend{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:var(--text);transition:border-color .15s, transform .2s var(--ease);gap:8px;padding:16px;text-decoration:none;display:grid}.trend:hover{border-color:var(--line-strong)}.trend:active{transform:scale(.99)}.trend-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.trend-name{align-items:center;gap:9px;font-weight:500;display:flex}.trend-value{align-items:baseline;gap:5px;display:flex}.trend-value .num{font-size:1.5rem;line-height:1}.chart{width:100%;min-height:1px}.chart svg{display:block}.chart-band{fill:var(--text);opacity:.06;animation:.6s fade-band}@keyframes fade-band{0%{opacity:0}}.chart-base{stroke:var(--text-3);stroke-width:1px;stroke-dasharray:3 4}.chart-line{fill:none;stroke:var(--text);stroke-width:1.75px;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:1;animation:draw 1.2s var(--ease)}@keyframes draw{0%{stroke-dashoffset:1px}}.chart-dot{fill:var(--tone);stroke:var(--surface);stroke-width:2px;transform-box:fill-box;transform-origin:50%;animation:pop .45s var(--ease) .75s backwards}@keyframes pop{0%{opacity:0;transform:scale(0)}}.chart-tick{fill:var(--text-3);font-variant-numeric:tabular-nums;font-size:11px}.chart-tick-base{fill:var(--text-2)}.detail-stats{border-block:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:16px 0;display:grid}.stat{flex-wrap:wrap;align-items:baseline;gap:4px 6px;display:flex}.stat .num,.stat-text{font-family:var(--display);font-variant-numeric:tabular-nums;font-size:2rem;font-weight:600;line-height:1.2}.detail-chart{justify-items:start;gap:12px;margin:24px 0 8px;display:grid}.detail-chart .chart-dot{stroke:var(--bg)}.prose{max-width:65ch;margin-top:20px}.guidance{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-top:24px;padding:18px 20px 20px}.guidance h2{color:var(--text);margin-bottom:12px}.sources{gap:12px;font-size:.9375rem;display:grid}.mission{max-width:720px}.section{border-top:1px solid var(--line);padding:24px 0}.section>h2{margin-bottom:14px}.mission .disc-group{margin-top:0}.choices{gap:8px;margin-bottom:14px;display:grid}@media (width>=620px){.choices{grid-template-columns:1fr 1fr}}.choice{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;gap:2px;padding:14px 16px;transition:border-color .15s;display:grid;position:relative}.choice:hover{border-color:var(--line-strong)}.choice input{opacity:0;position:absolute}.choice-name{font-weight:600}.choice-facts{color:var(--text-2);font-size:.875rem}.choice:has(input:checked){border-color:var(--text);background:var(--raised)}.choice:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.sensor{justify-items:start;gap:14px;display:grid}.sensor-reading{align-items:baseline;gap:8px;display:flex}.sensor-reading .live-dot{align-self:center;margin-right:2px}.sensor-reading .num{font-size:3rem;line-height:1}.table{border-collapse:collapse;width:100%;font-size:.9375rem}.table th,.table td{border-bottom:1px solid var(--line);text-align:left;padding:10px 0;font-weight:400}.table thead th{color:var(--text-3);font-size:.875rem}.table td{font-size:1.125rem}.table td .unit{font-family:var(--font);font-weight:400}.welcome{min-height:100dvh;padding:calc(24px + env(safe-area-inset-top)) 20px calc(24px + env(safe-area-inset-bottom));display:grid}.welcome-inner{place-self:center;width:100%;max-width:440px}.welcome-inner h1{letter-spacing:-.02em;text-wrap:balance;margin:40px 0 12px;font-size:2.25rem;font-weight:600;line-height:1.1}.welcome-inner>p{color:var(--text-2);max-width:44ch}.welcome-actions{gap:10px;margin:32px 0 20px;display:grid}.welcome-inner .welcome-note,.welcome-inner .welcome-saved{color:var(--text-3);font-size:.875rem}.welcome-inner .welcome-saved{color:var(--text-2);margin-bottom:8px}.link{color:var(--accent);text-underline-offset:3px;background:0 0;border:0;padding:0;text-decoration:underline;text-decoration-thickness:1px}.setup{align-self:start;width:100%}.setup .checkin-actions{bottom:0}.setup-lede{color:var(--text-2);margin:-12px 0 20px}.text-field label{color:var(--text-2);margin-bottom:8px;font-size:.9375rem;display:block}.text-field input,.base-input{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);width:100%;min-height:52px;caret-color:var(--accent);padding:0 16px;transition:border-color .15s}.text-field input::placeholder{color:var(--text-3)}.text-field input:focus-visible,.base-input:focus-within{border-color:var(--accent);outline:0}.text-field-short{max-width:200px;margin-top:20px}.choices-stack{grid-template-columns:1fr}.base-list li{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:8px 0;display:flex}.base-list label{font-weight:500}.base-input{align-items:baseline;gap:6px;width:148px;min-height:44px;padding:0 12px;display:flex}.base-input input{width:100%;min-width:0;font-family:var(--display);font-variant-numeric:tabular-nums;text-align:right;background:0 0;border:0;outline:0;padding:10px 0;font-size:1.25rem;font-weight:600}.base-input .unit{flex:none;min-width:44px}.empty{color:var(--text-2);padding:20px 0}.ring-empty .ring-score{color:var(--text-3)}.today-empty{max-width:440px;margin:0 auto;display:block}.screen{animation:enter .45s var(--ease)}.body-panel{animation:enter .35s var(--ease)}@keyframes enter{0%{opacity:0;transform:translateY(10px)}}.icon-btn{width:44px;height:44px;color:var(--text-2);background:0 0;border:0;border-radius:50%;place-items:center;transition:background-color .15s,color .15s;display:grid}.icon-btn:hover{background:var(--raised);color:var(--text)}.coach-dock{left:16px;right:16px;bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 12px);z-index:9;background:var(--raised);border:1px solid var(--line-strong);min-height:52px;color:var(--text);text-align:left;transition:border-color .15s, transform .2s var(--ease);animation:dock .6s var(--ease) .25s backwards;border-radius:999px;align-items:center;gap:12px;padding:0 20px;display:flex;position:fixed;box-shadow:0 10px 28px #00000080}.coach-dock:hover{border-color:var(--text-3)}.coach-dock:active{transform:scale(.985)}.coach-dock svg{flex:none}.coach-dock-text{align-items:baseline;gap:10px;min-width:0;display:flex}.coach-dock-text>span:first-child{white-space:nowrap;font-weight:600}.coach-dock-tip{color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;font-size:.9375rem;overflow:hidden}@keyframes dock{0%{opacity:0;transform:translateY(16px)}}.coach-layer{z-index:30;position:fixed;inset:0}.coach-scrim{background:#0000009e;animation:.3s fade;position:absolute;inset:0}@keyframes fade{0%{opacity:0}}.coach{height:min(86dvh,720px);padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border:1px solid var(--line);animation:sheet .45s var(--ease);border-bottom:0;border-radius:22px 22px 0 0;grid-template-rows:auto minmax(0,1fr) auto;display:grid;position:absolute;inset:auto 0 0;box-shadow:0 -12px 40px #00000080}@keyframes sheet{0%{opacity:0;transform:translateY(48px)}}.coach-head{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:14px 12px 14px 20px;display:flex}.coach-head div{flex:1}.coach-head h2{font-family:var(--font);letter-spacing:0;text-transform:none;color:var(--text);font-size:1.0625rem}.coach-head p{color:var(--text-3);font-size:.8125rem}.coach-body{overscroll-behavior:contain;flex-direction:column;gap:14px;padding:20px;display:flex;overflow-y:auto}.msg{white-space:pre-wrap;max-width:90%;animation:msg .4s var(--ease)}.msg-coach{align-self:flex-start}.msg-user{background:var(--raised);border-radius:20px 20px 6px;align-self:flex-end;padding:10px 16px}@keyframes msg{0%{opacity:0;transform:translateY(8px)}}.typing{gap:5px;padding:8px 0;display:flex}.typing span{background:var(--text-2);border-radius:50%;width:7px;height:7px;animation:1.1s ease-in-out infinite dot}.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}@keyframes dot{0%,60%,to{opacity:.3;transform:none}30%{opacity:1;transform:translateY(-3px)}}.chips{justify-items:start;gap:8px;margin-top:6px;display:grid}.chips li{animation:msg .45s var(--ease) backwards}.chips li:nth-child(2){animation-delay:60ms}.chips li:nth-child(3){animation-delay:.12s}.chips li:nth-child(4){animation-delay:.18s}.chips button{border:1px solid var(--line-strong);min-height:44px;color:var(--text);text-align:left;transition:background-color .15s, border-color .15s, transform .15s var(--ease);background:0 0;border-radius:999px;padding:8px 16px;font-size:.9375rem}.chips button:hover{background:var(--raised);border-color:var(--text-3)}.chips button:active{transform:scale(.98)}.coach-form{border-top:1px solid var(--line);gap:8px;padding:12px 16px 16px;display:flex}.coach-form input{background:var(--bg);border:1px solid var(--line);min-width:0;min-height:48px;caret-color:var(--accent);border-radius:999px;flex:1;padding:0 18px}.coach-form input::placeholder{color:var(--text-3)}.coach-form input:focus-visible{border-color:var(--accent);outline:0}.send{background:var(--text);width:48px;height:48px;color:var(--bg);transition:opacity .15s, transform .15s var(--ease);border:0;border-radius:50%;flex:none;place-items:center;display:grid}.send:active{transform:scale(.94)}.send:disabled{opacity:.3;cursor:not-allowed}@media (width>=960px){.coach-dock{max-width:400px;bottom:28px;left:auto;right:32px}.coach-scrim{background:#0006}.coach{border-bottom:1px solid var(--line);border-radius:22px;width:420px;height:min(640px,100dvh - 56px);padding-bottom:0;inset:auto 32px 28px auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation:none!important}}
