.ws-screen{position:relative;isolation:isolate;display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;max-width:var(--shell-max);margin:0 auto;padding:0 var(--gutter);padding-top:max(var(--space-6),env(safe-area-inset-top));padding-bottom:max(var(--space-6),env(safe-area-inset-bottom));background:var(--bg);overflow-x:hidden;justify-content:center}.ws-wash{position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(115% 70% at 50% -8%,var(--accent-dim) 0%,transparent 62%),radial-gradient(90% 55% at 8% 104%,var(--mood-4-soft) 0%,transparent 70%)}@media(prefers-color-scheme:dark){.ws-wash{opacity:.45}}:root[data-theme=dark] .ws-wash{opacity:.45}:root[data-theme=light] .ws-wash{opacity:1}.ws-stage{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:0;padding-block:var(--space-8)}.ws-mark{position:relative;display:grid;place-items:center;width:96px;height:96px;margin-bottom:var(--space-7)}.ws-mark-aura{position:absolute;inset:-24%;border-radius:var(--radius-circle);background:radial-gradient(circle,var(--accent-glow) 0%,transparent 62%),radial-gradient(circle,var(--accent-dim) 0%,transparent 78%)}.ws-mark-glyph{position:relative;display:grid;place-items:center;color:var(--accent)}.ws-wordmark{font-size:var(--text-lg);font-weight:var(--weight-light);letter-spacing:var(--tracking-widest);line-height:1;color:var(--text2);margin:0}.ws-hero{margin:var(--space-8) 0 0;font-size:var(--text-2xl);font-weight:var(--weight-light);line-height:var(--leading-snug);letter-spacing:var(--tracking-tighter);color:var(--text);text-wrap:balance;max-width:15ch}.ws-hero-sub{margin:var(--stack) 0 0;font-size:var(--text-base);line-height:var(--leading-loose);color:var(--text2);max-width:30ch;text-wrap:pretty}.ws-actions{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-3);width:100%;padding-top:var(--space-6)}.ws-legal{margin:var(--space-5) auto 0;max-width:300px;font-size:var(--text-2xs);line-height:var(--leading-relaxed);color:var(--text3);text-align:center;text-wrap:pretty}.ws-legal b{font-weight:var(--weight-medium);color:var(--text2)}.ws-auth{flex:1;display:flex;flex-direction:column;justify-content:center;width:100%;padding-block:var(--space-8)}.ws-auth-head{margin-bottom:var(--stack-lg)}.ws-auth-title{margin:0;font-size:var(--text-xl);font-weight:var(--weight-light);line-height:var(--leading-snug);letter-spacing:var(--tracking-tight);color:var(--text)}.ws-auth-sub{margin:var(--space-2) 0 0;font-size:var(--text-xs);line-height:var(--leading-relaxed);color:var(--text2);max-width:32ch}.ws-segment{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-1);padding:var(--space-1);margin-bottom:var(--stack-lg);background:var(--surface2);border-radius:var(--radius)}.ws-segment-btn{min-height:var(--tap);padding:var(--space-2) var(--space-3);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text2);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-regular);cursor:pointer;transition:background var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}@media(hover:hover)and (pointer:fine){.ws-segment-btn:hover{color:var(--text)}}.ws-segment-btn[aria-pressed=true]{background:var(--surface);color:var(--text);font-weight:var(--weight-medium);box-shadow:var(--shadow-xs)}@media(prefers-color-scheme:dark){.ws-segment-btn[aria-pressed=true]{background:var(--surface3)}}:root[data-theme=dark] .ws-segment-btn[aria-pressed=true]{background:var(--surface3)}:root[data-theme=light] .ws-segment-btn[aria-pressed=true]{background:var(--surface)}.ws-field+.ws-field{margin-top:var(--stack)}.ws-field label{margin-bottom:var(--stack-xs)}.ws-label-text{display:block;margin-bottom:var(--stack-xs);font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--text2)}.ws-pair{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.ws-field-hint{margin-top:var(--space-2);font-size:var(--text-2xs);line-height:var(--leading-normal);color:var(--text3)}.ws-input-wrap{position:relative}.ws-input-wrap input{padding-right:var(--space-9)}.ws-unit{position:absolute;top:50%;right:var(--space-4);transform:translateY(-50%);font-size:var(--text-xs);color:var(--text3);pointer-events:none}.ws-notice{display:flex;gap:var(--space-3);margin-top:var(--stack);padding:var(--space-4);border-radius:var(--radius);background:var(--surface2);font-size:var(--text-xs);line-height:var(--leading-relaxed);color:var(--text);animation:ds-rise-in var(--dur-slow) var(--ease-out) both}.ws-notice:before{content:"";flex:0 0 2px;border-radius:var(--radius-pill);background:var(--border-strong)}.ws-notice--good{background:var(--accent-soft)}.ws-notice--good:before{background:var(--accent)}.ws-auth-actions{margin-top:var(--stack-lg)}.ws-auth-actions .ws-need{margin-bottom:var(--space-3)}.ws-auth-alt{display:flex;justify-content:center;margin-top:var(--space-2)}.ws-ob-head{display:flex;align-items:center;gap:var(--space-3);min-height:var(--tap);padding-block:var(--space-2)}.ws-back{display:inline-flex;align-items:center;justify-content:center;width:var(--tap);height:var(--tap);margin-left:calc(var(--space-3) * -1);border:0;border-radius:var(--radius-circle);background:transparent;color:var(--text2);cursor:pointer;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),opacity var(--dur-instant) var(--ease-out)}@media(hover:hover)and (pointer:fine){.ws-back:hover{background:var(--surface2);color:var(--text)}}.ws-back:active{opacity:.6}.ws-back:disabled{opacity:.35;cursor:not-allowed}.ws-steps{display:flex;flex:1;gap:var(--space-2)}.ws-head-mark{display:flex;flex:1;justify-content:center;color:var(--accent)}.ws-head-spacer{width:var(--tap);flex-shrink:0;margin-right:calc(var(--space-3) * -1)}.ws-step{flex:1;height:3px;border-radius:var(--radius-pill);background:var(--surface3);transition:background var(--dur-slower) var(--ease-gentle),opacity var(--dur-slower) var(--ease-gentle)}.ws-step[data-state=done]{background:var(--accent);opacity:.45}.ws-step[data-state=current]{background:var(--accent)}.ws-step-count{flex-shrink:0;font-size:var(--text-2xs);color:var(--text3);font-variant-numeric:tabular-nums}.ws-ob-body{flex:1;display:flex;flex-direction:column;justify-content:center;padding-top:var(--space-7);padding-bottom:var(--space-6)}.ws-q{margin:0;font-size:var(--text-xl);font-weight:var(--weight-light);line-height:var(--leading-snug);letter-spacing:var(--tracking-tight);color:var(--text);text-wrap:balance}.ws-q--sub{font-size:var(--text-md);margin-top:var(--section)}.ws-hint{margin:var(--space-3) 0 0;font-size:var(--text-xs);line-height:var(--leading-relaxed);color:var(--text2);max-width:34ch}.ws-group{margin-top:var(--stack-lg)}.ws-ob-foot{position:sticky;bottom:0;display:flex;flex-direction:column;gap:var(--space-3);padding-top:var(--space-6);padding-bottom:var(--space-2);background:linear-gradient(to bottom,transparent,var(--bg) 38%)}.ws-need{margin:0;font-size:var(--text-2xs);line-height:var(--leading-normal);color:var(--text2);text-align:center}.ws-need:empty{display:none}.ws-options{display:flex;flex-direction:column;gap:var(--space-3)}.ws-option{display:flex;align-items:flex-start;gap:var(--space-4);width:100%;min-height:64px;padding:var(--space-4) var(--space-5);border:1px solid transparent;border-radius:var(--radius-md);background:var(--surface2);color:var(--text);font-family:var(--font-sans);text-align:left;cursor:pointer;transition:background var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out),transform var(--dur-instant) var(--ease-out)}@media(hover:hover)and (pointer:fine){.ws-option:hover{background:var(--surface3)}}.ws-option:active{transform:scale(.99)}.ws-option[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent-line)}.ws-option-ordinal{flex-shrink:0;padding-top:1px;font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--text3);font-variant-numeric:tabular-nums;transition:color var(--dur-base) var(--ease-out)}.ws-option[aria-pressed=true] .ws-option-ordinal{color:var(--accent)}.ws-option-label{display:block;font-size:var(--text-base);line-height:var(--leading-normal);color:var(--text)}.ws-option-desc{display:block;margin-top:var(--space-1);font-size:var(--text-xs);line-height:var(--leading-normal);color:var(--text2)}.ws-choices{display:grid;gap:var(--space-2)}.ws-choices--days{grid-template-columns:repeat(6,1fr)}.ws-choices--pair{grid-template-columns:1fr 1fr}.ws-choice{display:inline-flex;align-items:center;justify-content:center;min-height:var(--tap);padding:var(--space-2) var(--space-3);border:1px solid transparent;border-radius:var(--radius);background:var(--surface2);color:var(--text2);font-family:var(--font-sans);font-size:var(--text-sm);line-height:1.2;cursor:pointer;transition:background var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out),transform var(--dur-instant) var(--ease-out)}@media(hover:hover)and (pointer:fine){.ws-choice:hover{background:var(--surface3);color:var(--text)}}.ws-choice:active{transform:scale(.98)}.ws-choice[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent)}.ws-chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.ws-chip{display:inline-flex;align-items:center;min-height:var(--tap);padding:var(--space-2) var(--space-4);border:1px solid transparent;border-radius:var(--radius-pill);background:var(--surface2);color:var(--text2);font-family:var(--font-sans);font-size:var(--text-sm);cursor:pointer;transition:background var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out),transform var(--dur-instant) var(--ease-out)}@media(hover:hover)and (pointer:fine){.ws-chip:hover{background:var(--surface3);color:var(--text)}}.ws-chip:active{transform:scale(.98)}.ws-chip[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent)}.ws-chip-tick{width:0;height:6px;border-radius:var(--radius-circle);background:var(--accent);opacity:0;transform:scale(.4);transition:width var(--dur-base) var(--ease-out),margin-right var(--dur-base) var(--ease-out),opacity var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-soft-spring)}.ws-chip[aria-pressed=true] .ws-chip-tick{width:6px;margin-right:var(--space-2);opacity:1;transform:scale(1)}.ws-fields{display:grid;grid-template-columns:1fr 1fr;gap:var(--stack-sm) var(--space-3)}.ws-fields>.ws-field--wide{grid-column:1 / -1}.ws-seal{position:relative;display:grid;place-items:center;width:84px;height:84px;margin-bottom:var(--space-6);color:var(--accent)}@keyframes ws-draw{0%{stroke-dashoffset:var(--ws-dash, 200)}to{stroke-dashoffset:0}}.ws-seal-circle{stroke-dasharray:188;--ws-dash: 188;animation:ws-draw var(--dur-slower) var(--ease-gentle) both}.ws-seal-tick{stroke-dasharray:40;--ws-dash: 40;animation:ws-draw var(--dur-slow) var(--ease-out) both;animation-delay:var(--dur-slow)}.ws-summary{width:100%;margin-top:var(--stack-lg);padding:var(--card-pad-sm) var(--card-pad);border-radius:var(--radius-lg);background:var(--surface2);text-align:left}.ws-summary-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);padding-block:var(--space-3)}.ws-summary-row+.ws-summary-row{border-top:1px solid var(--border)}.ws-summary-key{flex-shrink:0;font-size:var(--text-xs);color:var(--text3)}.ws-summary-val{font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--text);text-align:right}.ws-nutrition{width:100%;margin-top:var(--stack-lg);padding:var(--card-pad-sm) var(--card-pad);border-radius:var(--radius-lg);background:var(--surface2)}.ws-nutrition-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding-block:var(--space-3)}.ws-nutrition-row+.ws-nutrition-row{border-top:1px solid var(--border)}.ws-nutrition-key{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-xs);color:var(--text2)}.ws-dot{width:6px;height:6px;border-radius:var(--radius-circle);background:var(--border-strong);flex-shrink:0}.ws-nutrition-val{font-family:var(--font-mono);font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:var(--text)}.ws-nutrition-val--quiet{color:var(--text2)}.ws-footnote{margin:var(--stack) 0 0;font-size:var(--text-2xs);line-height:var(--leading-relaxed);color:var(--text3);max-width:38ch}.ws-footnote+.ws-footnote{margin-top:var(--stack-sm)}.ws-auth-head .section-label{margin-bottom:var(--space-2)}.ws-auth-head .ws-q+.ws-hint{margin-top:var(--stack-sm)}.ws-enter{animation:ds-rise-in var(--dur-slow) var(--ease-gentle) both}.ws-spinner{width:14px;height:14px;border:2px solid currentColor;border-top-color:transparent;border-radius:var(--radius-circle);opacity:.8;animation:ws-spin .7s linear infinite}@keyframes ws-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.ws-spinner{animation-duration:1.6s}}.hs-home{padding-bottom:var(--space-8)}.hs-section+.hs-section{margin-top:var(--section)}.hs-section--quiet{margin-top:var(--section-lg)!important}.hs-section>*+*{margin-top:var(--stack-lg)}.hs-greeting{padding-top:var(--space-6);padding-bottom:var(--space-2)}.hs-greeting-date{margin-bottom:var(--space-2)}.hs-greeting-title{font-size:var(--text-2xl);font-weight:var(--weight-light);line-height:var(--leading-snug);letter-spacing:var(--tracking-tighter);color:var(--text);margin:0}.hs-checkin-intro{margin-bottom:var(--stack-lg)}.hs-checkin-question{margin:0 0 var(--space-2)}.hs-scale-group+.hs-scale-group{margin-top:var(--stack-lg)}.hs-field-label{display:block;margin-bottom:var(--stack-xs)}.hs-scale-label{display:block;margin-bottom:var(--stack-sm);font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--text2)}.hs-key{display:block;margin:0 0 var(--stack-xs);font-size:var(--text-2xs);font-weight:var(--weight-medium);line-height:var(--leading-normal);letter-spacing:var(--tracking-normal);text-transform:none;color:var(--text3)}.hs-key--flush{margin-bottom:0}.hs-scale{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--space-2)}.hs-opt{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:var(--space-3);min-height:var(--tap);padding:var(--space-4) var(--space-1) var(--space-3);background:var(--surface2);border:1px solid transparent;border-radius:var(--radius-md);color:var(--text3);font-family:var(--font-sans);font-size:var(--text-2xs);font-weight:var(--weight-regular);line-height:var(--leading-normal);text-align:center;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out),transform var(--dur-instant) var(--ease-out)}.hs-opt:hover{background:var(--surface3)}.hs-opt:active{transform:scale(.965)}.hs-opt-label{display:block;transition:color var(--dur-base) var(--ease-out)}.hs-opt[aria-pressed=true] .hs-opt-label{font-weight:var(--weight-medium)}.hs-mood-scale .hs-opt{min-height:94px}.hs-orb{width:30px;height:30px;border-radius:var(--radius-circle);background:var(--mood-3);opacity:.72;transform:scale(.66);transition:transform var(--dur-base) var(--ease-soft-spring),opacity var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}.hs-orb[data-mood="1"]{background:var(--mood-1)}.hs-orb[data-mood="2"]{background:var(--mood-2)}.hs-orb[data-mood="3"]{background:var(--mood-3)}.hs-orb[data-mood="4"]{background:var(--mood-4)}.hs-orb[data-mood="5"]{background:var(--mood-5)}.hs-opt:hover .hs-orb{opacity:.88;transform:scale(.78)}.hs-opt[aria-pressed=true] .hs-orb,.hs-opt[aria-pressed=true]:hover .hs-orb{opacity:1;transform:scale(1);box-shadow:var(--shadow)}.hs-opt[aria-pressed=true][data-mood="1"]{background:var(--mood-1-soft);border-color:var(--mood-1);color:var(--mood-1-ink)}.hs-opt[aria-pressed=true][data-mood="2"]{background:var(--mood-2-soft);border-color:var(--mood-2);color:var(--mood-2-ink)}.hs-opt[aria-pressed=true][data-mood="3"]{background:var(--mood-3-soft);border-color:var(--mood-3);color:var(--mood-3-ink)}.hs-opt[aria-pressed=true][data-mood="4"]{background:var(--mood-4-soft);border-color:var(--mood-4);color:var(--mood-4-ink)}.hs-opt[aria-pressed=true][data-mood="5"]{background:var(--mood-5-soft);border-color:var(--mood-5);color:var(--mood-5-ink)}.hs-energy-scale .hs-opt{min-height:88px;justify-content:flex-end;gap:var(--space-3)}.hs-bar{width:100%;max-width:var(--space-2);border-radius:var(--radius-pill);background:var(--border-strong);transition:background var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-soft-spring);transform-origin:bottom}.hs-bar[data-step="1"]{height:var(--space-3)}.hs-bar[data-step="2"]{height:var(--space-4)}.hs-bar[data-step="3"]{height:var(--space-5)}.hs-bar[data-step="4"]{height:var(--space-6)}.hs-bar[data-step="5"]{height:var(--space-7)}.hs-energy-scale[data-level="1"] .hs-opt[data-filled=true] .hs-bar{background:var(--energy-1)}.hs-energy-scale[data-level="2"] .hs-opt[data-filled=true] .hs-bar{background:var(--energy-2)}.hs-energy-scale[data-level="3"] .hs-opt[data-filled=true] .hs-bar{background:var(--energy-3)}.hs-energy-scale[data-level="4"] .hs-opt[data-filled=true] .hs-bar{background:var(--energy-4)}.hs-energy-scale[data-level="5"] .hs-opt[data-filled=true] .hs-bar{background:var(--energy-5)}.hs-opt[aria-pressed=true] .hs-bar{transform:scaleY(1.12);box-shadow:var(--shadow)}.hs-energy-scale .hs-opt[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent-line);color:var(--text)}.hs-prescription{animation:ds-rise-in var(--dur-slow) var(--ease-out) both}.hs-prescription-what{font-size:var(--text-base);font-weight:var(--weight-medium);line-height:var(--leading-normal);color:var(--text);margin:0 0 var(--space-1)}.hs-prescription-why{font-size:var(--text-xs);line-height:var(--leading-relaxed);color:var(--text2);margin:0}.hs-readback{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4) var(--space-5)}.hs-readback-item{display:flex;flex-direction:column;gap:var(--stack-xs);min-width:0}.hs-readback-value{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-lg);font-weight:var(--weight-light);line-height:var(--leading-snug);letter-spacing:var(--tracking-tight);color:var(--text)}.hs-readback-item .hs-orb{width:20px;height:20px;flex-shrink:0;opacity:1;transform:none}.hs-readback-item .hs-bar{width:5px;max-width:5px;height:var(--space-5);flex-shrink:0}.hs-readback[data-energy="1"] .hs-bar{background:var(--energy-1)}.hs-readback[data-energy="2"] .hs-bar{background:var(--energy-2)}.hs-readback[data-energy="3"] .hs-bar{background:var(--energy-3)}.hs-readback[data-energy="4"] .hs-bar{background:var(--energy-4)}.hs-readback[data-energy="5"] .hs-bar{background:var(--energy-5)}.hs-readback-key{font-size:var(--text-2xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-widest);text-transform:uppercase;line-height:var(--leading-normal);color:var(--text3)}.hs-commit-time-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);align-items:start}.hs-commit-time,.hs-commit-what{min-width:0;background:var(--surface2);border:1px solid var(--border-strong);cursor:text}.hs-commit-time:hover,.hs-commit-what:hover{background:var(--surface2);border-color:var(--text4)}.hs-commit-time:focus,.hs-commit-what:focus{background:var(--surface);border-color:var(--accent)}.hs-commit-time{font-variant-numeric:tabular-nums}.hs-commit-when{margin:0 0 var(--space-1)}.hs-commit-plan{margin:0}.hs-commit-plan--done{color:var(--text2)}.hs-commit-actions{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:var(--space-3)}.hs-commit-actions>.btn{min-width:0}.hs-commit--now{background:var(--accent-soft);border-color:var(--accent-line)}.hs-commit-done{display:flex;align-items:center;gap:var(--space-3)}.hs-commit-check{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;flex-shrink:0;border-radius:var(--radius-circle);background:var(--accent);color:var(--accent-ink)}.hs-evidence-figure{display:flex;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-4)}.hs-evidence-value{font-size:var(--text-3xl);font-weight:var(--weight-light);line-height:var(--leading-tight);letter-spacing:var(--tracking-tighter);font-variant-numeric:tabular-nums;color:var(--text);animation:ds-rise-in var(--dur-slower) var(--ease-gentle) both}.hs-evidence-unit{font-size:var(--text-md);font-weight:var(--weight-regular);letter-spacing:var(--tracking-normal);color:var(--text3)}.hs-evidence-note{padding-top:var(--stack);margin-top:var(--stack);border-top:1px solid var(--border)}.hs-evidence-dots{display:flex;gap:var(--space-2);margin-top:var(--stack)}.hs-evidence-dot{width:10px;height:10px;border-radius:var(--radius-circle);background:var(--surface3);transition:background var(--dur-base) var(--ease-out)}.hs-evidence-dot[data-filled=true]{background:var(--accent)}.hs-quote{margin:0;padding-left:var(--space-4);border-left:2px solid var(--accent);font-style:italic;color:var(--text);max-width:34ch}.hs-session-toggle{display:block;width:100%;padding:0;background:none;border:0;text-align:left;color:inherit;font-family:inherit;cursor:pointer}.hs-session-name{margin:0 0 var(--space-1)}.hs-session-detail{display:flex;align-items:center;gap:var(--space-2)}.hs-session-body{margin-top:var(--stack);animation:ds-fade-in var(--dur-base) var(--ease-out) both}.hs-exercise{padding:var(--space-3) 0;border-bottom:1px solid var(--border)}.hs-exercise:last-child{border-bottom:0}.hs-exercise-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.hs-done-note{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) 0;color:var(--accent);font-size:var(--text-sm)}.hs-quiet-links{display:flex;flex-wrap:wrap;justify-content:center;gap:0 var(--space-6);margin-top:var(--space-2)}.hs-shortcuts{display:flex;flex-wrap:wrap;gap:var(--space-2)}.hs-gen-steps{min-height:var(--space-5);text-align:center;animation:ds-fade-in var(--dur-base) var(--ease-out) both}.hs-week-row{display:flex;gap:var(--space-1)}.hs-week-day{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);min-height:var(--tap);padding:var(--space-2) 0;background:none;border:0;border-radius:var(--radius);color:var(--text3);font-family:var(--font-sans);font-size:var(--text-2xs);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.hs-week-day:hover{background:var(--surface2)}.hs-week-day[data-today=true]{color:var(--text);font-weight:var(--weight-medium)}.hs-week-dot{width:10px;height:10px;border-radius:var(--radius-circle);background:var(--surface3);transition:background var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-soft-spring),box-shadow var(--dur-base) var(--ease-out)}.hs-week-dot[data-state=quiet]{background:var(--surface3)}.hs-week-dot[data-state=moved]{background:var(--accent)}.hs-week-dot[data-state=logged]{background:var(--text4)}.hs-week-day[data-today=true] .hs-week-dot{box-shadow:0 0 0 2px var(--bg),0 0 0 3.5px var(--border-strong)}.hs-week-day[data-today=true] .hs-week-dot[data-state=moved]{box-shadow:0 0 0 2px var(--bg),0 0 0 3.5px var(--accent-line)}.hs-week-day[aria-expanded=true] .hs-week-dot{transform:scale(1.35)}.hs-day-detail{margin-top:var(--stack-sm);padding:var(--space-4);background:var(--surface2);border-radius:var(--radius);animation:ds-rise-in var(--dur-base) var(--ease-out) both}.hs-day-detail-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.hs-day-line+.hs-day-line{margin-top:var(--space-2)}.hs-streak{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-top:var(--stack)}.hs-also-rows{display:flex;flex-direction:column;gap:var(--space-3);list-style:none}.hs-also-row{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-xs);color:var(--text2)}.hs-tick{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;flex-shrink:0;border-radius:var(--radius-circle);border:1px solid var(--border-strong);background:transparent;color:transparent;transition:background var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out)}.hs-tick[data-done=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.hs-macro+.hs-macro{margin-top:var(--space-3)}.hs-macro-meta{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-2)}.hs-macro-label{font-size:var(--text-2xs);color:var(--text3)}.hs-macro-value{font-family:var(--font-mono);font-size:var(--text-2xs);font-variant-numeric:tabular-nums;color:var(--text3)}.hs-more{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);width:100%;min-height:var(--tap);padding:var(--space-3) var(--space-4);background:none;border:1px solid var(--border);border-radius:var(--radius);color:var(--text2);font-family:var(--font-sans);font-size:var(--text-xs);line-height:var(--leading-normal);text-align:left;cursor:pointer;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.hs-more:hover{background:var(--surface2);color:var(--text)}.hs-more-chev{display:flex;flex-shrink:0;color:var(--text3);transition:transform var(--dur-base) var(--ease-out)}.hs-more[aria-expanded=true] .hs-more-chev{transform:rotate(180deg)}.hs-more-body{margin-top:var(--stack);animation:ds-rise-in var(--dur-slow) var(--ease-out) both}.hs-more-body>*+*{margin-top:var(--stack-lg)}@media(prefers-reduced-motion:reduce){.hs-prescription,.hs-evidence-value,.hs-session-body,.hs-day-detail,.hs-more-body,.hs-gen-steps{animation:none}}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/inter-latin-var-Dx4kXJAl.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/dm-mono-latin-400-4GdczIuU.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/dm-mono-latin-500-DRMDZjhP.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local("Helvetica Neue"),local("Arial"),local("Roboto"),local("sans-serif");size-adjust:107%;ascent-override:90%;descent-override:22.43%;line-gap-override:0%}@font-face{font-family:DM Mono Fallback;src:local("Menlo"),local("Consolas"),local("Roboto Mono"),local("monospace");size-adjust:102%;ascent-override:96%;descent-override:24%;line-gap-override:0%}:root{color-scheme:light;--bg: #f6f3ee;--surface: #fffdfa;--surface2: #efebe3;--surface3: #e5e0d6;--surface-sunk: #eae5dc;--scrim: rgba(38, 35, 31, .32);--border: #e4dfd5;--border-strong: #d3ccc0;--text: #26231f;--text2: #625c55;--text3: #706a61;--text4: #a9a29a;--text-on-dark: #fffdfa;--accent: #3e7f6c;--accent-hover: #35705e;--accent-press: #2c6250;--accent-ink: #ffffff;--accent-soft: #e4efea;--accent-dim: rgba(62, 127, 108, .08);--accent-line: rgba(62, 127, 108, .22);--accent-glow: rgba(62, 127, 108, .18);--success: #3e7f6c;--success-soft: #e4efea;--danger: #a8443c;--danger-hover: #94382f;--danger-ink: #ffffff;--danger-soft: #f7e9e7;--danger-line: rgba(168, 68, 60, .24);--focus: #2c6250;--mood-1: #465878;--mood-1-ink: #4a6289;--mood-1-soft: #e9edf5;--mood-2: #6f7c95;--mood-2-ink: #5c6880;--mood-2-soft: #eceef3;--mood-3: #a39b92;--mood-3-ink: #6e6355;--mood-3-soft: #f0eeea;--mood-4: #c0a277;--mood-4-ink: #7a6034;--mood-4-soft: #f6efe3;--mood-5: #d4a45f;--mood-5-ink: #7d5a1f;--mood-5-soft: #f9efde;--mood-low: var(--mood-1);--mood-mid: var(--mood-3);--mood-high: var(--mood-5);--energy-1: #c9c3b9;--energy-2: #b0b5a9;--energy-3: #94a99a;--energy-4: #6e9c86;--energy-5: #3e7f6c;--macro-protein: #6e8f7e;--macro-carbs: #a99266;--macro-fat: #a98698;--font-sans: "Inter", "Inter Fallback", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "DM Mono", "DM Mono Fallback", ui-monospace, SFMono-Regular, Menlo, monospace;--text-micro: 11px;--text-2xs: 12px;--text-xs: 13px;--text-sm: 14px;--text-base: 15px;--text-md: 17px;--text-lg: 20px;--text-xl: 24px;--text-2xl: 30px;--text-3xl: 38px;--text-display: 46px;--leading-tight: 1.12;--leading-snug: 1.28;--leading-normal: 1.45;--leading-relaxed: 1.6;--leading-loose: 1.75;--weight-light: 300;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--tracking-tighter: -.03em;--tracking-tight: -.015em;--tracking-normal: 0;--tracking-wide: .02em;--tracking-wider: .06em;--tracking-widest: .12em;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 40px;--space-9: 48px;--space-10: 56px;--space-11: 72px;--space-12: 96px;--gutter: 24px;--card-pad: 24px;--card-pad-lg: 28px;--card-pad-sm: 18px;--stack-xs: 8px;--stack-sm: 12px;--stack: 20px;--stack-lg: 28px;--section: 44px;--section-lg: 64px;--tap: 44px;--control-h: 52px;--shell-max: 430px;--radius-xs: 8px;--radius-sm: 10px;--radius: 14px;--radius-md: 18px;--radius-lg: 22px;--radius-xl: 28px;--radius-2xl: 34px;--radius-pill: 999px;--radius-circle: 50%;--shadow-none: none;--shadow-xs: 0 1px 2px rgba(38, 35, 31, .04);--shadow: 0 1px 3px rgba(38, 35, 31, .05), 0 1px 2px rgba(38, 35, 31, .03);--shadow-sm: var(--shadow);--shadow-md: 0 4px 16px rgba(38, 35, 31, .06), 0 1px 3px rgba(38, 35, 31, .04);--shadow-lg: 0 12px 40px rgba(38, 35, 31, .1), 0 2px 8px rgba(38, 35, 31, .05);--shadow-sheet: 0 -8px 40px rgba(38, 35, 31, .12);--shadow-accent: 0 2px 12px var(--accent-glow);--hairline: inset 0 0 0 1px var(--border);--ease: cubic-bezier(.22, .61, .36, 1);--ease-out: cubic-bezier(.22, .61, .36, 1);--ease-gentle: cubic-bezier(.32, .72, 0, 1);--ease-breath: cubic-bezier(.37, 0, .63, 1);--ease-soft-spring: cubic-bezier(.34, 1.15, .64, 1);--dur-instant: 90ms;--dur-fast: .18s;--dur-base: .28s;--dur-slow: .46s;--dur-slower: .72s;--dur-breath: 5.4s;--stagger: 45ms;--z-base: 1;--z-sticky: 100;--z-nav: 100;--z-overlay: 200;--z-modal: 300;--z-toast: 400}@media(prefers-color-scheme:dark){:root{color-scheme:dark;--bg: #131416;--surface: #1b1d20;--surface2: #24272a;--surface3: #2d3135;--surface-sunk: #0f1113;--scrim: rgba(0, 0, 0, .62);--border: #2b2e32;--border-strong: #3a3e43;--text: #edeae5;--text2: #a6a29b;--text3: #9a958d;--text4: #6b6862;--text-on-dark: #edeae5;--accent: #7fc0a8;--accent-hover: #93cdb8;--accent-press: #6bb199;--accent-ink: #10201a;--accent-soft: #1e2e28;--accent-dim: rgba(127, 192, 168, .12);--accent-line: rgba(127, 192, 168, .28);--accent-glow: rgba(127, 192, 168, .16);--success: #7fc0a8;--success-soft: #1e2e28;--danger: #e08a82;--danger-hover: #ec978f;--danger-ink: #21100e;--danger-soft: #2e1e1d;--danger-line: rgba(224, 138, 130, .28);--focus: #93cdb8;--mood-1: #5a6e99;--mood-1-ink: #8098c2;--mood-1-soft: #1e2430;--mood-2: #808da9;--mood-2-ink: #98a2b8;--mood-2-soft: #22252c;--mood-3: #b5aca0;--mood-3-ink: #b5aca0;--mood-3-soft: #2a2823;--mood-4: #d2b482;--mood-4-ink: #d2b482;--mood-4-soft: #2e2820;--mood-5: #e3b36c;--mood-5-ink: #e3b36c;--mood-5-soft: #302719;--energy-1: #4e504c;--energy-2: #5c6459;--energy-3: #6e8677;--energy-4: #71a48d;--energy-5: #7fc0a8;--macro-protein: #7fa793;--macro-carbs: #c0a87b;--macro-fat: #bf9aab;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .4);--shadow: 0 1px 3px rgba(0, 0, 0, .45), 0 1px 2px rgba(0, 0, 0, .3);--shadow-sm: var(--shadow);--shadow-md: 0 4px 16px rgba(0, 0, 0, .5), 0 1px 3px rgba(0, 0, 0, .35);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .6), 0 2px 8px rgba(0, 0, 0, .4);--shadow-sheet: 0 -8px 40px rgba(0, 0, 0, .55)}}:root[data-theme=dark]{color-scheme:dark;--bg: #131416;--surface: #1b1d20;--surface2: #24272a;--surface3: #2d3135;--surface-sunk: #0f1113;--scrim: rgba(0, 0, 0, .62);--border: #2b2e32;--border-strong: #3a3e43;--text: #edeae5;--text2: #a6a29b;--text3: #9a958d;--text4: #6b6862;--text-on-dark: #edeae5;--accent: #7fc0a8;--accent-hover: #93cdb8;--accent-press: #6bb199;--accent-ink: #10201a;--accent-soft: #1e2e28;--accent-dim: rgba(127, 192, 168, .12);--accent-line: rgba(127, 192, 168, .28);--accent-glow: rgba(127, 192, 168, .16);--success: #7fc0a8;--success-soft: #1e2e28;--danger: #e08a82;--danger-hover: #ec978f;--danger-ink: #21100e;--danger-soft: #2e1e1d;--danger-line: rgba(224, 138, 130, .28);--focus: #93cdb8;--mood-1: #5a6e99;--mood-1-ink: #8098c2;--mood-1-soft: #1e2430;--mood-2: #808da9;--mood-2-ink: #98a2b8;--mood-2-soft: #22252c;--mood-3: #b5aca0;--mood-3-ink: #b5aca0;--mood-3-soft: #2a2823;--mood-4: #d2b482;--mood-4-ink: #d2b482;--mood-4-soft: #2e2820;--mood-5: #e3b36c;--mood-5-ink: #e3b36c;--mood-5-soft: #302719;--energy-1: #4e504c;--energy-2: #5c6459;--energy-3: #6e8677;--energy-4: #71a48d;--energy-5: #7fc0a8;--macro-protein: #7fa793;--macro-carbs: #c0a87b;--macro-fat: #bf9aab;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .4);--shadow: 0 1px 3px rgba(0, 0, 0, .45), 0 1px 2px rgba(0, 0, 0, .3);--shadow-sm: var(--shadow);--shadow-md: 0 4px 16px rgba(0, 0, 0, .5), 0 1px 3px rgba(0, 0, 0, .35);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .6), 0 2px 8px rgba(0, 0, 0, .4);--shadow-sheet: 0 -8px 40px rgba(0, 0, 0, .55)}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--weight-regular);line-height:var(--leading-relaxed);letter-spacing:var(--tracking-normal);color:var(--text);background:var(--bg)}::selection{background:var(--accent-dim);color:var(--text)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--radius-xs)}.focus-ring:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[role=button]:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--focus);outline-offset:2px}button:focus:not(:focus-visible),a:focus:not(:focus-visible),input:focus:not(:focus-visible),select:focus:not(:focus-visible),textarea:focus:not(:focus-visible){outline:none}.ds-display{font-size:var(--text-display);font-weight:var(--weight-light);line-height:var(--leading-tight);letter-spacing:var(--tracking-tighter);color:var(--text)}.ds-title{font-size:var(--text-xl);font-weight:var(--weight-light);line-height:var(--leading-snug);letter-spacing:var(--tracking-tight);color:var(--text)}.ds-heading{font-size:var(--text-lg);font-weight:var(--weight-regular);line-height:var(--leading-snug);letter-spacing:var(--tracking-tight);color:var(--text)}.ds-lead{font-size:var(--text-md);font-weight:var(--weight-regular);line-height:var(--leading-normal);color:var(--text)}.ds-body{font-size:var(--text-base);font-weight:var(--weight-regular);line-height:var(--leading-relaxed);color:var(--text)}.ds-prose{font-size:var(--text-base);line-height:var(--leading-loose);color:var(--text2);max-width:34ch}.ds-support{font-size:var(--text-xs);line-height:var(--leading-relaxed);color:var(--text2)}.ds-meta{font-size:var(--text-2xs);line-height:var(--leading-normal);color:var(--text3)}.section-label,.ds-eyebrow{font-size:var(--text-micro);font-weight:var(--weight-medium);line-height:var(--leading-normal);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--text3);margin-bottom:var(--stack-sm)}.ds-numeral{font-family:var(--font-mono);font-weight:var(--weight-regular);font-variant-numeric:tabular-nums;letter-spacing:var(--tracking-tight);color:var(--text)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--card-pad);box-shadow:var(--shadow-xs)}.card--hero{padding:var(--card-pad-lg);border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}.card--quiet{background:var(--surface2);border-color:transparent;box-shadow:none}.card--bare{background:transparent;border-color:transparent;box-shadow:none;padding:0}.card--compact{padding:var(--card-pad-sm)}.ds-well{background:var(--surface2);border-radius:var(--radius);padding:var(--space-4) var(--space-4)}.ds-well--accent{background:var(--accent-soft);border-radius:var(--radius);padding:var(--space-4)}.ds-divider{height:1px;background:var(--border);border:0;margin:var(--stack-lg) 0}.ds-stack>*+*{margin-top:var(--stack)}.ds-stack-xs>*+*{margin-top:var(--stack-xs)}.ds-stack-sm>*+*{margin-top:var(--stack-sm)}.ds-stack-lg>*+*{margin-top:var(--stack-lg)}.ds-section+.ds-section{margin-top:var(--section)}.ds-row{display:flex;align-items:center;gap:var(--space-3)}.ds-row-between{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.ds-quiet-space{padding-block:var(--section-lg)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--control-h);padding:var(--space-3) var(--space-5);border:1px solid transparent;border-radius:var(--radius);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:1.2;letter-spacing:var(--tracking-wide);text-align:center;white-space:nowrap;cursor:pointer;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),opacity var(--dur-instant) var(--ease-out),transform var(--dur-instant) var(--ease-out)}.btn:disabled,.btn[aria-disabled=true]{cursor:not-allowed;box-shadow:none;background:var(--surface3);color:var(--text2);border-color:transparent}.btn-primary{background:var(--accent);color:var(--accent-ink);box-shadow:var(--shadow-xs)}@media(hover:hover)and (pointer:fine){.btn-primary:hover:not(:disabled){background:var(--accent-hover)}}.btn-primary:active:not(:disabled){background:var(--accent-press);transform:scale(.985)}.btn-secondary{background:var(--surface);color:var(--text);border-color:var(--border-strong)}@media(hover:hover)and (pointer:fine){.btn-secondary:hover:not(:disabled){background:var(--surface2)}}.btn-secondary:active:not(:disabled){transform:scale(.985);opacity:.9}.btn-quiet{background:var(--surface2);color:var(--text2);border-color:transparent}@media(hover:hover)and (pointer:fine){.btn-quiet:hover:not(:disabled){background:var(--surface3);color:var(--text)}}.btn-quiet:active:not(:disabled){transform:scale(.985)}.btn-ghost{background:transparent;color:var(--text2);min-height:var(--tap);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm)}@media(hover:hover)and (pointer:fine){.btn-ghost:hover:not(:disabled){background:var(--surface2);color:var(--text)}}.btn-ghost:active:not(:disabled){opacity:.7}.btn-ghost:disabled,.btn-ghost[aria-disabled=true]{background:transparent;color:var(--text3)}.btn-danger{background:var(--danger-soft);color:var(--danger);border-color:var(--danger-line)}@media(hover:hover)and (pointer:fine){.btn-danger:hover:not(:disabled){background:var(--danger);color:var(--danger-ink);border-color:var(--danger)}}.btn-danger:active:not(:disabled){transform:scale(.985)}.btn-green{background:var(--accent);color:var(--accent-ink);box-shadow:var(--shadow-xs)}@media(hover:hover)and (pointer:fine){.btn-green:hover:not(:disabled){background:var(--accent-hover)}}.btn-green:active:not(:disabled){background:var(--accent-press);transform:scale(.985)}.btn-full{width:100%}.btn-lg{min-height:56px;font-size:var(--text-base)}.btn-sm{min-height:var(--tap);padding:var(--space-2) var(--space-4);font-size:var(--text-xs)}.ds-link{background:none;border:0;padding:var(--space-2) 0;min-height:var(--tap);font-family:var(--font-sans);font-size:var(--text-xs);color:var(--text2);cursor:pointer;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px;text-decoration-color:var(--border-strong)}@media(hover:hover)and (pointer:fine){.ds-link:hover{color:var(--text);text-decoration-color:currentColor}}input,select,textarea{width:100%;min-height:var(--control-h);padding:var(--space-3) var(--space-4);background:var(--surface2);border:1px solid transparent;border-radius:var(--radius);color:var(--text);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);outline:none;appearance:none;-webkit-appearance:none;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}@media(hover:hover)and (pointer:fine){input:hover,select:hover,textarea:hover{background:var(--surface3)}}input:focus,select:focus,textarea:focus{background:var(--surface);border-color:var(--accent-line)}input::placeholder,textarea::placeholder{color:var(--text4);opacity:1}textarea{min-height:96px;line-height:var(--leading-relaxed);resize:vertical}select{padding-right:var(--space-8);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23706A61' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-4) center}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}label{display:block;margin-bottom:var(--stack-xs);font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-normal);text-transform:none;color:var(--text2)}.field{margin-bottom:var(--stack)}.ds-help{margin-top:var(--space-2);font-size:var(--text-2xs);color:var(--text3);line-height:var(--leading-normal)}.ds-mood-dot{width:12px;height:12px;border-radius:var(--radius-circle);background:var(--mood-3);flex-shrink:0;transition:background var(--dur-base) var(--ease-out)}.ds-mood-dot[data-mood="1"]{background:var(--mood-1)}.ds-mood-dot[data-mood="2"]{background:var(--mood-2)}.ds-mood-dot[data-mood="3"]{background:var(--mood-3)}.ds-mood-dot[data-mood="4"]{background:var(--mood-4)}.ds-mood-dot[data-mood="5"]{background:var(--mood-5)}.ds-scale{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--space-2)}.ds-scale-option{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);min-height:68px;padding:var(--space-3) var(--space-1);background:var(--surface2);border:1px solid transparent;border-radius:var(--radius);color:var(--text2);font-family:var(--font-sans);font-size:var(--text-2xs);line-height:var(--leading-normal);cursor:pointer;transition:background var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out)}@media(hover:hover)and (pointer:fine){.ds-scale-option:hover{background:var(--surface3)}}.ds-scale-option[aria-pressed=true]{color:var(--text);border-color:var(--accent-line);background:var(--accent-soft)}.ds-scale-option[aria-pressed=true][data-mood="1"]{background:var(--mood-1-soft);border-color:var(--mood-1);color:var(--mood-1-ink)}.ds-scale-option[aria-pressed=true][data-mood="2"]{background:var(--mood-2-soft);border-color:var(--mood-2);color:var(--mood-2-ink)}.ds-scale-option[aria-pressed=true][data-mood="3"]{background:var(--mood-3-soft);border-color:var(--mood-3);color:var(--mood-3-ink)}.ds-scale-option[aria-pressed=true][data-mood="4"]{background:var(--mood-4-soft);border-color:var(--mood-4);color:var(--mood-4-ink)}.ds-scale-option[aria-pressed=true][data-mood="5"]{background:var(--mood-5-soft);border-color:var(--mood-5);color:var(--mood-5-ink)}.ds-energy-dot{width:12px;height:12px;border-radius:var(--radius-circle);background:var(--energy-3);flex-shrink:0}.ds-energy-dot[data-energy="1"]{background:var(--energy-1)}.ds-energy-dot[data-energy="2"]{background:var(--energy-2)}.ds-energy-dot[data-energy="3"]{background:var(--energy-3)}.ds-energy-dot[data-energy="4"]{background:var(--energy-4)}.ds-energy-dot[data-energy="5"]{background:var(--energy-5)}.ds-metric{display:flex;flex-direction:column;gap:var(--space-2)}.ds-metric-value{font-size:var(--text-3xl);font-weight:var(--weight-light);line-height:var(--leading-tight);letter-spacing:var(--tracking-tighter);font-variant-numeric:tabular-nums;color:var(--text)}.ds-metric-unit{font-size:var(--text-md);font-weight:var(--weight-regular);color:var(--text3);letter-spacing:var(--tracking-normal)}.ds-metric-label{font-size:var(--text-xs);color:var(--text2);line-height:var(--leading-normal)}.ds-chip{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--tap);padding:var(--space-2) var(--space-4);background:var(--surface2);border:1px solid transparent;border-radius:var(--radius-pill);color:var(--text2);font-family:var(--font-sans);font-size:var(--text-xs);font-weight:var(--weight-regular);cursor:pointer;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}@media(hover:hover)and (pointer:fine){.ds-chip:hover{background:var(--surface3);color:var(--text)}}.ds-chip[aria-pressed=true],.ds-chip--active{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent)}.ds-tag{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:var(--surface2);color:var(--text2);font-size:var(--text-2xs);font-weight:var(--weight-regular);letter-spacing:var(--tracking-normal);text-transform:none}.ds-tag--accent{background:var(--accent-soft);color:var(--accent)}.ds-track{height:4px;border-radius:var(--radius-pill);background:var(--surface-sunk);overflow:hidden}.ds-track-fill{height:100%;border-radius:var(--radius-pill);background:var(--accent);transition:width var(--dur-slower) var(--ease-gentle)}@keyframes ds-fade-in{0%{opacity:0}to{opacity:1}}@keyframes ds-rise-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes ds-settle-in{0%{opacity:0;transform:translateY(14px) scale(.995)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes ds-breathe{0%,to{transform:scale(1);opacity:.75}50%{transform:scale(1.045);opacity:1}}@keyframes ds-drift{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.ds-fade-in{animation:ds-fade-in var(--dur-slow) var(--ease-out) both}.ds-rise-in{animation:ds-rise-in var(--dur-slow) var(--ease-out) both}.ds-settle-in{animation:ds-settle-in var(--dur-slower) var(--ease-gentle) both}.ds-breathe{animation:ds-breathe var(--dur-breath) var(--ease-breath) infinite}.ds-enter>*{animation:ds-rise-in var(--dur-slow) var(--ease-out) both}.ds-enter>*:nth-child(1){animation-delay:0ms}.ds-enter>*:nth-child(2){animation-delay:calc(var(--stagger) * 1)}.ds-enter>*:nth-child(3){animation-delay:calc(var(--stagger) * 2)}.ds-enter>*:nth-child(4){animation-delay:calc(var(--stagger) * 3)}.ds-enter>*:nth-child(5){animation-delay:calc(var(--stagger) * 4)}.ds-enter>*:nth-child(6){animation-delay:calc(var(--stagger) * 5)}.ds-enter>*:nth-child(n+7){animation-delay:calc(var(--stagger) * 6)}.ds-sr-only,.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.ds-tap-target{min-width:var(--tap);min-height:var(--tap);display:inline-flex;align-items:center;justify-content:center}@media(prefers-reduced-motion:reduce){:root{--dur-instant: 1ms;--dur-fast: 1ms;--dur-base: 1ms;--dur-slow: 1ms;--dur-slower: 1ms;--stagger: 0ms}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.ds-breathe,.ds-drift{animation:none!important;opacity:1;transform:none}}@media(prefers-contrast:more){:root{--border: var(--border-strong);--text2: var(--text);--text3: var(--text2)}}:root{--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--shell-nav-h: 64px}body .app-shell{padding-bottom:calc(var(--shell-nav-h) + var(--safe-bottom) + var(--space-4))}.shell-header{position:sticky;top:0;z-index:var(--z-sticky);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:calc(var(--safe-top) + var(--space-5)) var(--gutter) var(--space-4);background:color-mix(in srgb,var(--bg) 78%,transparent);backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4)}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.shell-header{background:var(--bg)}}@media(prefers-reduced-transparency:reduce){.shell-header{background:var(--bg);backdrop-filter:none;-webkit-backdrop-filter:none}}.shell-header:after{content:"";position:absolute;inset:auto 0 -14px;height:15px;background:linear-gradient(to bottom,var(--border) 0 1px,transparent 1px),linear-gradient(to bottom,color-mix(in srgb,var(--bg) 62%,transparent),transparent);opacity:0;transition:opacity var(--dur-base) var(--ease-out);pointer-events:none}.shell-header[data-scrolled=true]:after{opacity:1}.shell-brand{display:inline-flex;align-items:center;gap:var(--space-2)}.shell-brand-mark{display:inline-flex;color:var(--accent);flex-shrink:0;margin-top:1px}.shell-brand-word{font-size:var(--text-base);font-weight:var(--weight-light);letter-spacing:.06em;line-height:1;color:var(--text)}.shell-header-right{display:flex;align-items:center;gap:var(--space-2)}.shell-account{position:relative}.shell-avatar{display:inline-flex;align-items:center;justify-content:center;width:var(--tap);height:var(--tap);margin-right:calc((var(--tap) - 32px) / -2);padding:0;background:none;border:0;border-radius:var(--radius-circle);cursor:pointer;color:var(--text2);font-family:var(--font-sans);transition:color var(--dur-fast) var(--ease-out)}.shell-avatar-disc{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-circle);background:var(--surface2);font-size:var(--text-xs);font-weight:var(--weight-medium);line-height:1;text-transform:uppercase;transition:background var(--dur-fast) var(--ease-out),transform var(--dur-instant) var(--ease-out)}@media(hover:hover)and (pointer:fine){.shell-avatar:hover .shell-avatar-disc{background:var(--surface3)}}.shell-avatar:active .shell-avatar-disc{transform:scale(.94)}.shell-avatar[aria-expanded=true] .shell-avatar-disc{background:var(--accent-soft);color:var(--accent)}.shell-menu{position:absolute;top:calc(100% + var(--space-1));right:0;min-width:180px;padding:var(--space-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:var(--z-overlay);animation:ds-rise-in var(--dur-fast) var(--ease-out) both}.shell-menu-who{padding:var(--space-2) var(--space-3) var(--space-3);font-size:var(--text-2xs);line-height:var(--leading-normal);color:var(--text3);border-bottom:1px solid var(--border);margin-bottom:var(--space-2);word-break:break-word}.shell-menu-item{display:flex;align-items:center;width:100%;min-height:var(--tap);padding:var(--space-2) var(--space-3);background:none;border:0;border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--text-sm);color:var(--text2);text-align:left;cursor:pointer;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}@media(hover:hover)and (pointer:fine){.shell-menu-item:hover{background:var(--surface2);color:var(--text)}}.shell-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:var(--shell-max);display:flex;align-items:stretch;z-index:var(--z-nav);padding:var(--space-2) var(--space-1) calc(var(--safe-bottom) + var(--space-2));background:color-mix(in srgb,var(--surface) 90%,transparent);backdrop-filter:blur(26px) saturate(1.4);-webkit-backdrop-filter:blur(26px) saturate(1.4);border-top:1px solid color-mix(in srgb,var(--border) 70%,transparent)}.shell-nav:before{content:"";position:absolute;left:0;right:0;bottom:100%;height:16px;background:linear-gradient(to top,var(--bg),transparent);pointer-events:none}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.shell-nav{background:var(--surface);border-top-color:var(--border)}}@media(prefers-reduced-transparency:reduce){.shell-nav{background:var(--surface);border-top-color:var(--border);backdrop-filter:none;-webkit-backdrop-filter:none}}.shell-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);min-height:48px;padding:0;background:none;border:0;border-radius:var(--radius);cursor:pointer;color:var(--text3);font-family:var(--font-sans);font-size:var(--text-micro);font-weight:var(--weight-regular);letter-spacing:var(--tracking-normal);line-height:1;transition:color var(--dur-base) var(--ease-out)}@media(hover:hover)and (pointer:fine){.shell-nav-item:hover{color:var(--text2)}}.shell-nav-item[aria-current=page]{color:var(--accent)}.shell-nav-glyph{display:flex;align-items:center;justify-content:center;width:44px;height:32px;border-radius:var(--radius-pill);background:transparent;box-shadow:none;transition:background var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),transform var(--dur-instant) var(--ease-out)}.shell-nav-glyph svg{width:22px;height:22px;stroke-width:1.5}.shell-nav-label{line-height:1;transition:color var(--dur-base) var(--ease-out)}.shell-nav-item:focus-visible{outline-offset:-3px}.shell-nav-item[aria-current=page] .shell-nav-glyph{background:var(--accent-soft)}.shell-nav-item:active .shell-nav-glyph{transform:scale(.9)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .shell-nav-item[aria-current=page] .shell-nav-glyph{background:color-mix(in srgb,var(--accent) 16%,var(--surface));box-shadow:inset 0 0 0 1px var(--accent-line)}}:root[data-theme=dark] .shell-nav-item[aria-current=page] .shell-nav-glyph{background:color-mix(in srgb,var(--accent) 16%,var(--surface));box-shadow:inset 0 0 0 1px var(--accent-line)}@keyframes shell-toast-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes shell-toast-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-6px)}}.shell-toast-container{position:fixed;top:calc(var(--safe-top) + var(--space-3) + var(--net-offset, 0px));transition:top var(--dur-base) var(--ease-out);left:50%;transform:translate(-50%);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-2);width:calc(100% - var(--space-7));max-width:380px;pointer-events:none}.shell-toast{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);color:var(--text);font-size:var(--text-sm);line-height:var(--leading-normal);pointer-events:auto;animation:shell-toast-in var(--dur-slow) var(--ease-gentle) both}.shell-toast--exiting{animation:shell-toast-out var(--dur-base) var(--ease-out) both}.shell-toast-icon{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:var(--radius-circle);flex-shrink:0;background:var(--surface2);color:var(--text2)}.shell-toast--success .shell-toast-icon{background:var(--accent-soft);color:var(--accent)}.shell-toast--info .shell-toast-icon{background:var(--accent-dim);color:var(--accent)}.shell-toast--error .shell-toast-icon{background:var(--danger-soft);color:var(--danger)}.shell-toast-message{flex:1;min-width:0;padding-block:var(--space-2)}.shell-toast-close{display:flex;align-items:center;justify-content:center;width:var(--tap);height:var(--tap);margin-right:calc(var(--space-2) * -1);flex-shrink:0;background:none;border:0;border-radius:var(--radius-sm);color:var(--text3);cursor:pointer;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}@media(hover:hover)and (pointer:fine){.shell-toast-close:hover{background:var(--surface2);color:var(--text)}}.shell-net{position:fixed;top:calc(var(--safe-top) + var(--space-3));left:50%;transform:translate(-50%);z-index:var(--z-overlay);width:calc(100% - var(--space-7));max-width:380px;display:flex;justify-content:center;pointer-events:none;animation:ds-rise-in var(--dur-slow) var(--ease-gentle) both}.shell-net-pill{display:inline-flex;align-items:center;gap:var(--space-2);max-width:100%;padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-md);color:var(--text2);font-size:var(--text-2xs);line-height:var(--leading-normal)}.shell-net-icon{color:var(--text3);flex-shrink:0;display:flex}.shell-net-count{color:var(--text3);flex-shrink:0}.shell-net--online .shell-net-pill{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent)}.shell-net--online .shell-net-icon{color:var(--accent)}@keyframes shell-skeleton{0%,to{opacity:.55}50%{opacity:.9}}.shell-skel{background:var(--surface3);border-radius:var(--radius-sm);animation:shell-skeleton 2.6s var(--ease-breath) infinite}.shell-skel-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--card-pad)}.shell-skel-hero{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);padding:var(--card-pad-lg);box-shadow:var(--shadow-xs)}.shell-skel-plan{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.shell-skel-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4)}.shell-skel-row+.shell-skel-row{border-top:1px solid var(--border)}.shell-skel-row-lines{flex:1;min-width:0}.shell-skel-weekhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--stack)}.shell-skel-week{display:flex;align-items:flex-end;gap:var(--space-1)}.shell-skel-week>*{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.shell-support{position:relative;margin-bottom:var(--stack);padding:var(--card-pad-lg);background:var(--surface);border:1px solid var(--accent-line);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);animation:ds-settle-in var(--dur-slower) var(--ease-gentle) both}.shell-support-mark{display:flex;align-items:center;justify-content:center;width:34px;height:34px;margin-bottom:var(--stack);border-radius:var(--radius-circle);background:var(--accent-dim)}.shell-support-mark:after{content:"";width:12px;height:12px;border-radius:var(--radius-circle);background:var(--accent);animation:ds-breathe var(--dur-breath) var(--ease-breath) infinite}.shell-support-title{font-size:var(--text-md);scroll-margin-top:var(--space-6);font-weight:var(--weight-regular);line-height:var(--leading-snug);letter-spacing:var(--tracking-tight);color:var(--text)}.shell-support-title:focus,.shell-support-title:focus-visible{outline:none}.shell-support-body{margin-top:var(--stack-sm);font-size:var(--text-sm);line-height:var(--leading-loose);color:var(--text2)}.shell-support-lines{margin-top:var(--stack);display:flex;flex-direction:column;gap:var(--space-2)}.shell-support-line{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:60px;padding:var(--space-3) var(--space-4);border-radius:var(--radius);background:var(--surface2);border:1px solid transparent;color:var(--text);text-decoration:none;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),transform var(--dur-instant) var(--ease-out)}@media(hover:hover)and (pointer:fine){.shell-support-line:hover{background:var(--surface3);border-color:var(--accent-line)}}.shell-support-line:active{transform:scale(.99)}.shell-support-line-label{display:block;font-size:var(--text-base);font-weight:var(--weight-medium);line-height:var(--leading-snug)}.shell-support-line-detail{display:block;margin-top:var(--space-1);font-size:var(--text-2xs);line-height:var(--leading-normal);color:var(--text3)}.shell-support-line-go{color:var(--accent);flex-shrink:0;display:flex}.shell-support-foot{margin-top:var(--stack);padding-top:var(--stack-sm);border-top:1px solid var(--border);font-size:var(--text-2xs);line-height:var(--leading-relaxed);color:var(--text3)}.shell-support-dismiss{margin-top:var(--space-3)}.shell-nudge{margin:var(--section) var(--gutter) var(--stack);padding:var(--card-pad-sm);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);animation:ds-rise-in var(--dur-slow) var(--ease-out) both}.shell-nudge-head{display:flex;align-items:flex-start;gap:var(--space-3)}.shell-nudge-mark{display:flex;align-items:center;justify-content:center;width:34px;height:34px;flex-shrink:0;border-radius:var(--radius-circle);background:var(--accent-dim);color:var(--accent)}.shell-nudge-text{flex:1;min-width:0}.shell-nudge-title{font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:var(--leading-snug);color:var(--text)}.shell-nudge-body{margin-top:var(--space-1);font-size:var(--text-xs);line-height:var(--leading-relaxed);color:var(--text2)}.shell-nudge-dismiss{display:flex;align-items:center;justify-content:center;width:var(--tap);height:var(--tap);margin:calc(var(--space-2) * -1) calc(var(--space-3) * -1) 0 0;flex-shrink:0;background:none;border:0;border-radius:var(--radius-sm);color:var(--text3);cursor:pointer;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}@media(hover:hover)and (pointer:fine){.shell-nudge-dismiss:hover{background:var(--surface2);color:var(--text)}}.shell-nudge-actions{display:flex;gap:var(--space-2);margin-top:var(--stack-sm)}.shell-nudge-actions .btn{flex:1;min-width:0}.shell-fab-wrap{position:fixed;left:50%;transform:translate(-50%);bottom:calc(var(--shell-nav-h) + var(--safe-bottom) + var(--space-4));width:100%;max-width:var(--shell-max);padding-inline:var(--gutter);display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);z-index:var(--z-sticky);pointer-events:none}.shell-fab-label{padding:var(--space-2) var(--space-3);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--surface) 84%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border);box-shadow:var(--shadow-xs);font-size:var(--text-2xs);font-weight:var(--weight-regular);line-height:1;color:var(--text3);white-space:nowrap;pointer-events:none;animation:ds-fade-in var(--dur-slow) var(--ease-out) both}.shell-fab{display:flex;align-items:center;justify-content:center;width:48px;height:48px;flex-shrink:0;padding:0;border:0;border-radius:var(--radius-circle);background:var(--accent);color:var(--accent-ink);box-shadow:var(--shadow);cursor:pointer;pointer-events:auto;transition:transform var(--dur-instant) var(--ease-out),background var(--dur-fast) var(--ease-out)}@media(hover:hover)and (pointer:fine){.shell-fab:hover{background:var(--accent-hover)}}.shell-fab:active{transform:scale(.94)}@media(prefers-reduced-motion:reduce){.shell-skel{animation:none!important;opacity:.7}.shell-support-mark:after{animation:none!important;transform:none;opacity:1}}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--weight-regular);line-height:var(--leading-relaxed);max-width:var(--shell-max);margin:0 auto;min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app-shell{display:flex;flex-direction:column;min-height:100vh;padding-bottom:80px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes prPop{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}@keyframes subtlePulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes coachPulse{0%,to{box-shadow:0 4px 12px #00000026,0 0 #5daf8766}50%{box-shadow:0 4px 12px #00000026,0 0 0 8px #5daf8700}}.coach-fab-pulse{animation:coachPulse 3s ease-in-out infinite}.stagger-item{animation:fadeIn .3s ease both}.stagger-item:nth-child(1){animation-delay:0ms}.stagger-item:nth-child(2){animation-delay:30ms}.stagger-item:nth-child(3){animation-delay:60ms}.stagger-item:nth-child(4){animation-delay:90ms}.stagger-item:nth-child(5){animation-delay:.12s}.stagger-item:nth-child(6){animation-delay:.15s}.brand-logo{display:inline-flex;align-items:center;gap:8px}.brand-mark{display:inline-flex;align-items:center;justify-content:center;color:var(--accent);flex-shrink:0}.brand-text{font-family:Inter,sans-serif;font-weight:300;letter-spacing:1px;color:var(--text);line-height:1}.brand-text--sm{font-size:15px}.brand-text--md{font-size:24px}.brand-text--lg{font-size:28px}.header{padding:20px 24px 16px;position:sticky;top:0;z-index:100;background:var(--bg)}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:430px;background:var(--surface);border-top:1px solid var(--border);box-shadow:0 -2px 8px #0000000a;display:flex;z-index:100;padding-bottom:env(safe-area-inset-bottom,0)}.nav-item{flex:1;display:flex;flex-direction:column;align-items:center;padding:10px 0;gap:5px;min-height:var(--tap);cursor:pointer;border:none;background:none;color:var(--text3);font-size:10px;font-family:var(--font-sans);font-weight:var(--weight-medium);letter-spacing:var(--tracking-wider);text-transform:uppercase;transition:color var(--dur-base) var(--ease-out)}.nav-item.active{color:var(--accent)}.nav-item svg{width:20px;height:20px;stroke-width:1.5}.card{margin-bottom:var(--stack-sm)}select option{background:var(--surface);color:var(--text)}.page{padding:8px 24px 0;animation:fadeIn .2s ease}.page-title{font-size:24px;font-weight:300;letter-spacing:.5px;margin-bottom:4px;line-height:1.2;color:var(--text)}.page-subtitle{font-size:13px;color:var(--text3);margin-bottom:32px;font-weight:400}.stats-row{display:flex;gap:0;margin-bottom:32px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:24px 0}.stat-card{flex:1;text-align:center;border-right:1px solid var(--border)}.stat-card:last-child{border-right:none}.stat-val{font-size:32px;font-weight:300;color:var(--text);line-height:1;letter-spacing:-.5px}.stat-label{font-size:10px;font-weight:500;letter-spacing:1px;text-transform:uppercase;color:var(--text3);margin-top:6px}.macro-bar-wrap{margin-bottom:14px}.macro-bar-wrap:last-child{margin-bottom:0}.macro-bar-label{display:flex;justify-content:space-between;font-size:13px;font-weight:400;margin-bottom:6px}.macro-bar-track{height:2px;background:var(--surface-sunk);border-radius:1px;overflow:hidden}.macro-bar-fill{height:100%;border-radius:1px;transition:width .6s var(--ease)}.meal-card{padding:24px 8px;margin:0 -8px;border-bottom:1px solid var(--border);cursor:pointer;border-radius:12px;transition:background .15s var(--ease)}.meal-card:last-child{border-bottom:none}.meal-card:hover{background:var(--surface2)}.meal-name{font-weight:400;font-size:16px;margin-bottom:4px}.meal-desc{font-size:13px;color:var(--text2);margin-bottom:14px;line-height:1.6}.macros-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-bottom:12px}.macro-cell{text-align:center;padding:10px 4px}.macro-val{font-family:DM Mono,monospace;font-size:14px;font-weight:400;color:var(--text)}.macro-key{font-size:9px;font-weight:500;letter-spacing:1px;text-transform:uppercase;color:var(--text3);margin-top:3px}.day-ring-wrap{display:flex;align-items:center;gap:24px;margin-bottom:24px}.ring-svg{transform:rotate(-90deg)}.ring-track{fill:none;stroke:var(--surface-sunk);stroke-width:2}.ring-fill{fill:none;stroke-width:2;stroke-linecap:round;transition:stroke-dashoffset .8s var(--ease)}.ring-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.ring-wrap{position:relative;width:100px;height:100px;flex-shrink:0}.ring-cals{font-size:20px;font-weight:300;color:var(--text);line-height:1;letter-spacing:-.5px}.ring-sub{font-size:9px;font-weight:500;color:var(--text3);letter-spacing:1px;text-transform:uppercase;margin-top:4px}.pr-trophy-card{padding:24px 0;border-bottom:1px solid var(--border)}.pr-trophy-card:last-child{border-bottom:none}.pr-shimmer{font-size:28px;font-weight:300;color:var(--text);letter-spacing:-.5px}.pr-badge-new{display:inline-flex;align-items:center;gap:3px;background:var(--accent);color:var(--accent-ink);font-size:9px;font-weight:500;letter-spacing:1px;text-transform:uppercase;padding:3px 8px;border-radius:4px}.active-workout{position:fixed;inset:0;background:var(--bg);z-index:200;display:flex;flex-direction:column;max-width:430px;margin:0 auto;animation:fadeIn .2s ease}.active-header{padding:16px 24px;display:flex;justify-content:space-between;align-items:center;flex-shrink:0;border-bottom:1px solid var(--border)}.timer{font-family:DM Mono,monospace;font-size:18px;font-weight:400;color:var(--text);letter-spacing:1px}.active-scroll{flex:1;overflow-y:auto;padding:24px 24px 32px;-webkit-overflow-scrolling:touch}.exercise-block{margin-bottom:32px}.exercise-block-header{padding:0 0 16px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);margin-bottom:16px}.exercise-block-name{font-weight:400;font-size:16px}.exercise-block-cat{font-size:10px;font-weight:500;letter-spacing:1px;text-transform:uppercase;color:var(--text3)}.exercise-block-body{padding:0}.set-input-row{display:grid;grid-template-columns:28px 1fr 1fr auto;gap:10px;align-items:center;margin-bottom:8px;padding:6px 0}.set-input-row.set-completed{opacity:.5}.set-num{font-size:13px;font-weight:400;color:var(--text3);text-align:center}.set-input{padding:10px 8px;min-height:44px;font-size:15px;text-align:center;font-family:DM Mono,monospace;border-radius:var(--radius)}.set-done{width:32px;height:32px;border-radius:50%;border:1.5px solid var(--border-strong);background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s var(--ease);flex-shrink:0}.set-done:hover{border-color:#999;background:var(--surface2)}.set-done.checked{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);box-shadow:0 1px 3px #7eb8a433}.progress-bar{height:2px;background:var(--surface-sunk);border-radius:1px;overflow:hidden;margin-bottom:16px}.progress-fill{height:100%;background:var(--accent);border-radius:1px;transition:width .3s ease}.finish-btn{position:sticky;bottom:0;background:var(--bg);padding:16px 24px 20px;border-top:1px solid var(--border);flex-shrink:0}.rest-timer-overlay{position:fixed;bottom:0;left:0;right:0;z-index:200;display:flex;justify-content:center;padding:0 16px 24px;pointer-events:none;animation:slideUp .25s ease-out}.rest-timer-card{pointer-events:auto;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:20px 24px 16px;width:100%;max-width:400px;text-align:center;box-shadow:0 -4px 24px #0000001f}.rest-timer-label{font-size:11px;font-weight:500;letter-spacing:1px;text-transform:uppercase;color:var(--text3);margin-bottom:4px}.rest-timer-countdown{font-family:DM Mono,monospace;font-size:48px;font-weight:500;color:var(--accent);line-height:1.1;margin-bottom:12px}.rest-timer-progress-track{width:100%;height:4px;background:var(--surface2);border-radius:2px;overflow:hidden;margin-bottom:10px}.rest-timer-progress-fill{height:100%;background:var(--accent);border-radius:2px;transition:width 1s linear}.rest-timer-exercise{font-size:12px;color:var(--text2);margin-bottom:14px}.rest-timer-actions{display:flex;gap:10px;justify-content:center}.rest-timer-btn{font-family:Inter,sans-serif;font-size:13px;font-weight:500;padding:8px 20px;border-radius:8px;border:1px solid var(--border);background:var(--surface2);color:var(--text);cursor:pointer}.rest-timer-skip{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.add-exercise-btn{border:1.5px dashed var(--border-strong);background:transparent;border-radius:var(--radius);color:var(--text2);padding:16px;width:100%;font-family:Inter,sans-serif;font-size:13px;font-weight:400;letter-spacing:.5px;cursor:pointer;transition:all .2s var(--ease)}.add-exercise-btn:hover{background:var(--surface2);border-color:var(--border-strong);color:var(--text)}.add-exercise-btn:active{transform:scale(.99);opacity:.7}.modal-overlay{position:fixed;inset:0;background:#00000047;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);z-index:300;display:flex;align-items:flex-end;animation:fadeIn .15s}.modal{background:var(--surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:28px 28px 44px;width:100%;max-width:430px;margin:0 auto;animation:slideUp .25s var(--ease);max-height:88vh;overflow-y:auto}.modal-handle{width:32px;height:3px;background:var(--surface3);border-radius:2px;margin:0 auto 24px}.modal-title{font-size:20px;font-weight:300;letter-spacing:.3px;margin-bottom:20px;color:var(--text)}.tabs{display:flex;gap:0;margin-bottom:32px;border-bottom:1px solid var(--border)}.tab{flex:1;padding:12px 8px;text-align:center;font-size:13px;font-weight:400;letter-spacing:.3px;cursor:pointer;transition:all .2s var(--ease);color:var(--text2);border:none;background:none;font-family:Inter,sans-serif;border-bottom:2px solid transparent;margin-bottom:-1px}.tab:hover{color:var(--text)}.tab.active{color:var(--text);font-weight:500;border-bottom-color:var(--accent)}.filter-row{display:flex;gap:8px;overflow-x:auto;margin-bottom:20px;padding-bottom:2px;scrollbar-width:none}.filter-row::-webkit-scrollbar{display:none}.filter-chip{flex-shrink:0;padding:8px 16px;border-radius:24px;font-size:12px;font-weight:400;cursor:pointer;border:1.5px solid #C8C8C4;background:var(--surface);color:var(--text);transition:all .2s var(--ease);font-family:Inter,sans-serif;letter-spacing:.3px;box-shadow:0 1px 2px #00000008}.filter-chip:hover{border-color:var(--border-strong);background:var(--surface2)}.filter-chip.active{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);box-shadow:0 1px 3px #7eb8a426}.empty-state{text-align:center;padding:64px 24px}.empty-icon{width:48px;height:48px;margin:0 auto 16px;color:var(--text3);opacity:.5}.empty-icon svg{width:100%;height:100%}.empty-cta{margin-top:16px}.empty-title{font-weight:400;font-size:16px;margin-bottom:8px;color:var(--text)}.empty-sub{font-size:13px;color:var(--text3);line-height:1.65;max-width:240px;margin:0 auto}.sets-table{width:100%;border-collapse:collapse;font-size:13px;font-family:DM Mono,monospace}.sets-table th{text-align:left;padding:10px 6px;font-size:10px;font-weight:500;letter-spacing:1px;text-transform:uppercase;color:var(--text3);border-bottom:1px solid var(--border)}.sets-table td{padding:10px 6px;border-bottom:1px solid var(--border)}.sets-table tr:last-child td{border-bottom:none}.divider{height:1px;background:var(--border);margin:24px 0}.row-between{display:flex;justify-content:space-between;align-items:center}.text-accent{color:var(--text)}.text-green{color:var(--success)}.text-muted{color:var(--text2);font-size:13px}.section-label{font-size:var(--text-micro);font-weight:var(--weight-medium);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--text3);margin-bottom:var(--stack-sm)}.note-area{resize:none;height:78px;font-size:14px}.flex-center{display:flex;align-items:center}.flex-col{display:flex;flex-direction:column}.flex-center-gap-4{display:flex;align-items:center;gap:4px}.flex-center-gap-6{display:flex;align-items:center;gap:6px}.flex-center-gap-8{display:flex;align-items:center;gap:8px}.flex-center-gap-12{display:flex;align-items:center;gap:12px}.flex-center-gap-16{display:flex;align-items:center;gap:16px}.flex-wrap-gap-8{display:flex;flex-wrap:wrap;gap:8px}.text-center{text-align:center}.text-right{text-align:right}.cursor-pointer{cursor:pointer}.gap-4{gap:4px}.gap-6{gap:6px}.gap-8{gap:8px}.gap-12{gap:12px}.gap-14{gap:14px}.gap-16{gap:16px}.mb-2{margin-bottom:2px}.mb-4{margin-bottom:4px}.mb-6{margin-bottom:6px}.mb-8{margin-bottom:8px}.mb-12{margin-bottom:12px}.mb-14{margin-bottom:14px}.mb-16{margin-bottom:16px}.mb-20{margin-bottom:20px}.mb-24{margin-bottom:24px}.mb-28{margin-bottom:28px}.mb-32{margin-bottom:32px}.mt-4{margin-top:4px}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mt-20{margin-top:20px}.pt-12{padding-top:12px}.mono{font-family:DM Mono,monospace}.mono-sm{font-family:DM Mono,monospace;font-size:12px;color:var(--text3)}.mono-md{font-family:DM Mono,monospace;font-size:14px}.mono-lg{font-family:DM Mono,monospace;font-size:15px}.label-sm{font-size:11px;font-weight:500;letter-spacing:1px;text-transform:uppercase;color:var(--text3)}.label-xs{font-size:10px;font-weight:500;letter-spacing:.5px;text-transform:uppercase;color:var(--text3)}.text-sm{font-size:13px;color:var(--text2)}.text-xs{font-size:12px;color:var(--text3)}.text-body{font-size:14px;font-weight:400}.font-400{font-weight:400}.font-500{font-weight:500}.btn-reset{background:none;border:none;padding:0;cursor:pointer;font-family:Inter,sans-serif;color:inherit}.link-btn{background:none;border:none;color:var(--text3);font-size:12px;cursor:pointer;font-family:Inter,sans-serif;text-decoration:underline;text-underline-offset:3px}.flex-1{flex:1}.flex-1-min0{flex:1;min-width:0}.flex-shrink-0{flex-shrink:0}.flex-gap-6{display:flex;gap:6px}.flex-wrap-gap-6{display:flex;flex-wrap:wrap;gap:6px}.mb-0{margin-bottom:0}.mb-10{margin-bottom:10px}.mb-44{margin-bottom:44px}.mt-6{margin-top:6px}.pt-16{padding-top:16px}.w-full{width:100%}.text-11-muted{font-size:11px;color:var(--text3)}.text-10-muted{font-size:10px;color:var(--text3)}.text-9-muted{font-size:9px;color:var(--text3)}.text-danger{color:var(--danger)}.text-truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.italic{font-style:italic}.lh-15{line-height:1.5}.lh-165{line-height:1.65}.btn-h44{height:44px}.coach-hero{margin-bottom:28px;padding:28px 24px 24px;background:var(--surface2);border-radius:16px;border:1px solid var(--border)}.coach-hero-label{font-size:13px;font-weight:500;letter-spacing:1.2px;text-transform:uppercase;color:var(--accent)}.coach-hero-streak{font-size:11px;font-family:DM Mono,monospace;color:var(--text2);background:var(--surface3);padding:2px 8px;border-radius:20px;letter-spacing:.3px;white-space:nowrap}.coach-hero-message{font-size:20px;font-weight:400;line-height:1.65;color:var(--text);letter-spacing:-.2px}.coach-hero-nudge{font-size:13px;line-height:1.5;color:var(--text2);margin-top:12px;font-style:italic}.check-circle{width:28px;height:28px;border-radius:50%;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0;background:transparent;cursor:pointer;padding:0;transition:all .2s ease}.check-circle[aria-checked=true],.check-circle--checked{border-color:var(--success);background:var(--success)}.selector-chip{height:36px;border:1px solid var(--border);background:transparent;color:var(--text2);border-radius:8px;font-size:13px;font-weight:400;cursor:pointer;transition:all .15s ease}.selector-chip[aria-pressed=true],.selector-chip--active{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.focus-chip{height:32px;padding:0 12px;border:1px solid var(--border);background:transparent;color:var(--text2);border-radius:8px;font-size:12px;font-weight:400;cursor:pointer;transition:all .15s ease}.focus-chip[aria-pressed=true],.focus-chip--active{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.energy-dot{width:36px;height:36px;border-radius:50%;border:1px solid var(--border);background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;padding:0}.energy-dot[aria-pressed=true],.energy-dot--active{border-color:var(--accent);background:var(--accent)}.energy-dot-label{font-size:12px;font-weight:500;color:var(--text3)}.energy-dot[aria-pressed=true] .energy-dot-label,.energy-dot--active .energy-dot-label{color:var(--accent-ink)}.plan-card{border:1px solid var(--border);border-radius:14px;overflow:hidden;background:var(--surface)}.plan-row{display:flex;align-items:center;gap:14px;padding:14px 16px;border-bottom:1px solid var(--border);cursor:pointer;transition:opacity .2s ease}.plan-row:last-child{border-bottom:none}.plan-row--logged{opacity:.5;cursor:default}.notif-card{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;margin-bottom:8px;border-radius:12px;border:1px solid var(--border);background:var(--surface);animation:fadeIn .3s ease}.notif-card--priority{background:var(--surface2)}.notif-icon{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}.notif-title{font-size:13px;font-weight:500;margin-bottom:2px;line-height:1.3}.notif-body{font-size:12px;color:var(--text2);line-height:1.5}.notif-action-btn{margin-top:8px;padding:5px 12px;font-size:11px;font-weight:500;letter-spacing:.3px;background:var(--accent);color:var(--accent-ink);border:none;border-radius:6px;cursor:pointer}.notif-dismiss{padding:4px;color:var(--text3);font-size:16px;line-height:1;flex-shrink:0}.notif-enable-push{width:100%;padding:10px 0;font-size:12px;font-weight:400;color:var(--text3);background:none;border:1px dashed var(--border);border-radius:10px;cursor:pointer;margin-top:4px}.water-btn{width:var(--tap);height:var(--tap);border-radius:var(--radius-circle);font-size:var(--text-md);line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.water-btn--minus{border:1px solid var(--border);background:var(--surface2);color:var(--text)}.water-btn--minus:disabled{color:var(--text3);cursor:default}.water-btn--plus{border:1px solid var(--border);background:var(--surface3);color:var(--text);transition:background var(--dur-fast) var(--ease-out)}.water-btn--plus:hover{background:var(--surface2)}.water-btn--plus-done{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent)}.swap-panel{padding:8px 16px 12px;background:var(--surface2);border-bottom:1px solid var(--border);animation:fadeIn .2s ease}.swap-option{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;margin-bottom:4px;border-radius:8px;background:var(--surface);border:1px solid var(--border);cursor:pointer;transition:border-color .15s ease}.swap-option--custom{background:transparent;border-style:dashed}.swap-pick{font-size:11px;color:var(--accent);font-weight:500;flex-shrink:0;margin-left:8px}.check-circle:focus-visible,.selector-chip:focus-visible,.focus-chip:focus-visible,.energy-dot:focus-visible,.water-btn:focus-visible,.swap-option:focus-visible,.notif-action-btn:focus-visible,.notif-dismiss:focus-visible,.notif-enable-push:focus-visible,.activity-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.skip-link{position:absolute;top:-40px;left:0;background:var(--accent);color:var(--accent-ink);padding:8px 16px;z-index:100;font-size:14px;border-radius:0 0 var(--radius) 0;transition:top .2s ease}.skip-link:focus{top:0}.loading-dots-inline{display:flex;gap:6px;justify-content:center;padding:32px 0}.loading-dot{width:6px;height:6px;border-radius:50%;background:var(--text3);animation:pulse 1.2s ease-in-out infinite}.loading-dot:nth-child(2){animation-delay:.15s}.loading-dot:nth-child(3){animation-delay:.3s}.spinner-sm{width:14px;height:14px;border:1.5px solid #fff;border-top-color:transparent;border-radius:50%;display:inline-block;animation:subtlePulse .7s linear infinite}.dropdown-menu{position:absolute;top:calc(100% + 8px);right:0;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:4px;min-width:120px;z-index:100;box-shadow:var(--shadow)}.dropdown-item{width:100%;padding:10px 14px;font-size:13px;font-weight:400;background:none;border:none;cursor:pointer;text-align:left;border-radius:8px;font-family:Inter,sans-serif}.dropdown-item--danger{color:var(--danger)}.alert{font-size:13px;margin-bottom:16px;padding:10px 14px;border-radius:8px;line-height:1.5}.alert-error{color:var(--danger);background:#b5564e0f;border:1px solid rgba(181,86,78,.12)}.alert-success{color:var(--success);background:#7d8b6a0f;border:1px solid rgba(125,139,106,.12)}.auth-screen{position:fixed;inset:0;background:var(--bg);z-index:600;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;animation:fadeIn .3s}.auth-heading{color:var(--text2);font-size:13px;margin-bottom:40px;text-align:center;max-width:260px;line-height:1.65}.auth-form{width:100%;max-width:320px}.auth-tabs{display:flex;margin-bottom:28px;width:100%;max-width:320px;border-bottom:1px solid var(--border)}.auth-tab{flex:1;padding:12px 0;font-size:13px;font-weight:400;letter-spacing:.3px;cursor:pointer;color:var(--text3);border:none;border-bottom:2px solid transparent;background:transparent;font-family:Inter,sans-serif;transition:all .15s;margin-bottom:-1px}.auth-tab.active{color:var(--text);border-bottom-color:var(--text)}.post-workout-overlay{position:fixed;inset:0;z-index:400;background:var(--bg);display:flex;flex-direction:column;max-width:430px;margin:0 auto;overflow-y:auto;-webkit-overflow-scrolling:touch}.activity-name{font-size:var(--text-sm);font-weight:var(--weight-regular);margin-bottom:2px}.activity-meta{font-size:var(--text-2xs);color:var(--text3);font-family:var(--font-sans)}.tag-chip{font-size:11px;color:var(--text3);background:var(--surface2);padding:2px 8px;border-radius:6px;font-weight:600}.ob-logo-glow{position:absolute;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,var(--accent-dim) 0%,transparent 70%);top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none}.border-top{border-top:1px solid var(--border)}.chat-msg{max-width:85%;padding:14px 18px;border-radius:18px;font-size:14px;line-height:1.65;white-space:pre-wrap;word-break:break-word}.chat-msg--user{background:var(--accent);color:var(--accent-ink);border-bottom-right-radius:6px;margin-left:auto}.chat-msg--assistant{background:var(--surface2);color:var(--text);border-bottom-left-radius:6px}.coach-chat{position:fixed;inset:0;z-index:9999;background:var(--bg);display:flex;flex-direction:column;animation:slideUp .3s var(--ease)}.cc-header{padding:14px 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0}.cc-header-left{display:flex;flex-direction:column;gap:4px}.cc-brand{font-size:11px;font-weight:500;letter-spacing:1.2px;text-transform:uppercase;color:var(--accent)}.cc-status-bar{display:flex;align-items:center;gap:6px}.cc-status-dot{width:6px;height:6px;border-radius:50%;background:var(--surface3);flex-shrink:0;transition:background .2s ease}.cc-status-dot--on{background:var(--success)}.cc-status-text{font-size:11px;font-family:DM Mono,monospace;color:var(--text3)}.cc-status-sep{width:1px;height:10px;background:var(--border)}.cc-close{background:none;border:none;font-size:14px;color:var(--text2);cursor:pointer;padding:8px 12px;font-family:inherit}.cc-messages{flex:1;overflow-y:auto;padding:20px 20px 12px;-webkit-overflow-scrolling:touch}.cc-coach-msg{margin-bottom:20px}.cc-coach-label{font-size:10px;font-weight:500;letter-spacing:1px;text-transform:uppercase;color:var(--accent);margin-bottom:6px}.cc-coach-text{font-size:15px;line-height:1.7;color:var(--text);font-weight:400;letter-spacing:-.1px}.cc-user-msg{display:flex;justify-content:flex-end;margin-bottom:20px}.cc-user-bubble{max-width:78%;padding:10px 16px;border-radius:16px 16px 4px;background:var(--accent);color:var(--accent-ink);font-size:14px;line-height:1.55;white-space:pre-wrap;word-break:break-word}.cc-actions{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.cc-action-card{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:12px;border:1px solid var(--border);background:var(--surface);cursor:pointer;transition:all .15s ease;text-align:left;font-family:inherit}.cc-action-card:active{background:var(--surface2);border-color:var(--accent)}.cc-action-icon{width:32px;height:32px;border-radius:8px;background:var(--surface2);display:flex;align-items:center;justify-content:center;color:var(--accent);flex-shrink:0}.cc-action-label{font-size:14px;font-weight:500;color:var(--text)}.cc-thinking{opacity:.8}.cc-thinking-text{font-size:13px;color:var(--text3);display:flex;align-items:center;gap:8px;font-style:italic}.cc-thinking-dots{display:flex;gap:3px}.cc-thinking-dots span{width:4px;height:4px;border-radius:50%;background:var(--accent);animation:pulse 1.2s ease-in-out infinite}.cc-thinking-dots span:nth-child(2){animation-delay:.15s}.cc-thinking-dots span:nth-child(3){animation-delay:.3s}.cc-input-area{padding:12px 16px;padding-bottom:max(12px,env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--surface);display:flex;gap:10px;align-items:flex-end;flex-shrink:0}.cc-textarea{flex:1;resize:none;border:1px solid var(--border);border-radius:20px;padding:10px 16px;font-size:14px;font-family:inherit;line-height:1.5;background:var(--bg);color:var(--text);outline:none;max-height:120px;overflow-y:auto}.cc-textarea:focus{border-color:var(--accent)}.cc-send{width:40px;height:40px;border-radius:50%;border:none;background:var(--surface3);color:var(--text3);cursor:default;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s ease}.cc-send--active{background:var(--accent);color:var(--accent-ink);cursor:pointer}.cc-eye{margin:4px 0 20px;padding:14px 16px;border-radius:12px;background:var(--surface);border:1px solid var(--border)}.cc-eye-label{font-size:10px;font-weight:500;letter-spacing:1px;text-transform:uppercase;color:var(--text3);margin-bottom:10px}.cc-eye-row{display:flex;align-items:baseline;gap:8px;padding:4px 0;font-size:13px;line-height:1.4}.cc-eye-arrow{font-size:13px;font-weight:600;flex-shrink:0;width:14px;text-align:center}.cc-eye-arrow--up{color:var(--success)}.cc-eye-arrow--down{color:var(--danger)}.cc-eye-arrow--stall,.cc-eye-arrow--neutral{color:var(--text3)}.cc-eye-name{font-weight:500;color:var(--text);flex-shrink:0}.cc-eye-detail{color:var(--text2);font-family:DM Mono,monospace;font-size:11px}.cc-eye-take{margin-top:12px;padding-top:12px;border-top:1px solid var(--border);font-size:14px;line-height:1.6;color:var(--text);font-style:italic}.coach-card{max-width:82%;width:100%;border-radius:16px;overflow:hidden;animation:fadeIn .3s ease}.coach-card-header{padding:10px 14px;display:flex;align-items:center;gap:8px}.coach-card-body{padding:8px 14px;background:var(--surface)}.coach-card-action{padding:10px 14px;background:var(--surface)}.coach-card-row{display:flex;justify-content:space-between;align-items:center;padding:7px 0}.workout-name{font-weight:400;font-size:15px}.workout-date{font-size:12px;color:var(--text3);font-family:DM Mono,monospace;margin-top:2px}.workout-meta{display:flex;gap:16px;flex-wrap:wrap;margin-top:8px}.meta-chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:400;color:var(--text3);font-family:DM Mono,monospace}.meta-chip .dot{width:3px;height:3px;border-radius:50%;background:var(--text3)}.log-entry{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--border)}.log-entry:last-child{border-bottom:none}.log-entry-emoji{display:none}.log-entry-name{font-weight:400;font-size:14px}.log-entry-macros{font-size:12px;color:var(--text3);font-family:DM Mono,monospace;margin-top:2px}.log-remove{background:none;border:none;color:var(--text3);font-size:18px;cursor:pointer;padding:4px;line-height:1;transition:opacity .15s var(--ease)}.log-remove:active{opacity:.5}.custom-label{display:inline-flex;align-items:center;gap:3px;font-size:9px;font-weight:500;letter-spacing:1px;text-transform:uppercase;padding:2px 8px;border-radius:4px;background:var(--accent-dim);color:var(--text2)}.ob-slide-in-right,.ob-slide-in-left{animation:fadeIn .2s ease}.ob-container{position:fixed;inset:0;background:var(--bg);z-index:500;display:flex;flex-direction:column;max-width:430px;margin:0 auto;overflow-y:auto;-webkit-overflow-scrolling:touch}.ob-progress-wrap{display:flex;align-items:center;gap:12px;padding:20px 24px 0;flex-shrink:0}.ob-back{background:none;border:none;color:var(--text3);cursor:pointer;padding:4px;display:flex;align-items:center;flex-shrink:0;transition:opacity .15s var(--ease)}.ob-back:active{opacity:.5}.ob-progress-track{flex:1;height:2px;background:var(--surface-sunk);border-radius:1px;overflow:hidden}.ob-progress-fill{height:100%;background:var(--accent);border-radius:1px;transition:width .35s ease}.ob-screen{flex:1;display:flex;flex-direction:column;padding:32px 24px 44px}.ob-step-label{font-size:10px;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;color:var(--text3);margin-bottom:12px}.ob-question{font-family:Inter,sans-serif;font-size:22px;font-weight:300;line-height:1.4;color:var(--text);margin-bottom:28px;letter-spacing:.2px}.ob-hint{font-size:13px;color:var(--text3);margin-top:-8px;margin-bottom:20px}.ob-field-label{display:block;font-size:11px;font-weight:500;letter-spacing:.5px;text-transform:uppercase;color:var(--text3);margin-bottom:6px;line-height:1.6}.ob-cta{margin-top:auto;height:52px;font-size:13px;font-weight:400;letter-spacing:.5px;flex-shrink:0;border-radius:var(--radius)}.ob-cta:disabled{opacity:.3;cursor:not-allowed}.ob-welcome{align-items:center;justify-content:center;text-align:center;padding-top:0}.ob-logo-wrap{margin-bottom:32px;position:relative;display:flex;align-items:center;justify-content:center}.ob-logo{font-family:Inter,sans-serif;font-size:28px;font-weight:300;letter-spacing:1px;color:var(--text)}.ob-welcome-hi{font-size:14px;color:var(--text2);margin-bottom:8px}.ob-headline{font-size:24px;font-weight:300;letter-spacing:.3px;line-height:1.4;margin-bottom:12px;color:var(--text)}.ob-subtitle{font-size:14px;color:var(--text2);line-height:1.65;max-width:300px;margin:0 auto 36px}.ob-goal-grid{display:flex;flex-direction:column;gap:8px;margin-bottom:28px}.ob-goal-card{display:flex;align-items:center;gap:16px;background:transparent;border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;cursor:pointer;text-align:left;font-family:Inter,sans-serif;transition:all .15s var(--ease)}.ob-goal-card:active{opacity:.7}.ob-goal-card.selected{border-color:var(--accent);background:var(--accent-dim)}.ob-goal-icon{font-size:18px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--surface2);border-radius:10px;flex-shrink:0;color:var(--text2)}.ob-goal-label{font-weight:400;font-size:15px;color:var(--text);margin-bottom:2px}.ob-goal-desc{font-size:12px;color:var(--text3)}.ob-exp-list{display:flex;flex-direction:column;gap:8px;margin-bottom:28px}.ob-exp-card{display:flex;align-items:center;gap:14px;background:transparent;border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;cursor:pointer;text-align:left;font-family:Inter,sans-serif;transition:all .15s var(--ease);position:relative}.ob-exp-card:active{opacity:.7}.ob-exp-card.selected{border-color:var(--accent);background:var(--accent-dim)}.ob-exp-label{font-weight:400;font-size:15px;color:var(--text)}.ob-exp-sub{font-size:13px;color:var(--text3)}.ob-check{position:absolute;right:16px;top:50%;transform:translateY(-50%);width:22px;height:22px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center}.ob-days-row{display:flex;gap:8px;margin-bottom:8px}.ob-day-btn{flex:1;height:50px;border-radius:var(--radius);border:1px solid var(--border);background:transparent;color:var(--text);font-family:Inter,sans-serif;font-size:16px;font-weight:400;cursor:pointer;transition:all .15s var(--ease)}.ob-day-btn:active{opacity:.7}.ob-day-btn.selected{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.ob-duration-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:28px}.ob-dur-btn{padding:18px;border-radius:var(--radius);border:1px solid var(--border);background:transparent;color:var(--text);font-family:Inter,sans-serif;font-size:14px;font-weight:400;cursor:pointer;transition:all .15s var(--ease);text-align:center}.ob-dur-btn:active{opacity:.7}.ob-dur-btn.selected{border-color:var(--accent);background:var(--accent-dim)}.ob-chips-wrap{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}.ob-chip{padding:10px 18px;border-radius:24px;border:1px solid var(--border);background:transparent;color:var(--text);font-family:Inter,sans-serif;font-size:13px;font-weight:400;cursor:pointer;transition:all .15s var(--ease)}.ob-chip:active{opacity:.7}.ob-chip.selected{border-color:var(--accent);background:var(--accent-dim)}.ob-detail-section{margin-bottom:20px}.ob-sex-row{display:flex;gap:8px}.ob-sex-btn{flex:1;padding:16px;border-radius:var(--radius);border:1px solid var(--border);background:transparent;color:var(--text);font-family:Inter,sans-serif;font-size:14px;font-weight:400;cursor:pointer;transition:all .15s var(--ease);text-align:center}.ob-sex-btn:active{opacity:.7}.ob-sex-btn.selected{border-color:var(--accent);background:var(--accent-dim)}.ob-confirm{align-items:center;text-align:center;justify-content:center;padding-top:0}.ob-confirm-check{margin-bottom:0}.ob-circle-draw{animation:fadeIn .4s ease-out forwards}.ob-tick-draw{animation:fadeIn .3s ease-out .3s forwards;opacity:0}.ob-summary-card{border:1px solid var(--border);border-radius:var(--radius);padding:20px 24px;width:100%;max-width:320px;text-align:left}.ob-summary-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0}.ob-summary-row+.ob-summary-row{border-top:1px solid var(--border)}.ob-summary-label{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:1px;color:var(--text3)}.ob-summary-val{font-size:13px;font-weight:400;color:var(--text)}.loading-screen{display:flex;align-items:center;justify-content:center;flex-direction:column;height:100vh;gap:24px;background:var(--bg)}.loading-logo{font-family:Inter,sans-serif;font-size:24px;font-weight:300;letter-spacing:1px;color:var(--text)}.loading-dots{display:flex;gap:6px}.loading-dots span{width:4px;height:4px;border-radius:50%;background:var(--text3);animation:subtlePulse 1.2s ease-in-out infinite}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}.greeting-card{margin-bottom:32px}.action-btn-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:32px}.action-btn{height:48px;border-radius:var(--radius);font-size:13px;font-weight:400;letter-spacing:.5px;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;border:none;transition:all .2s var(--ease);font-family:Inter,sans-serif}.action-btn-primary{background:var(--accent);color:var(--accent-ink);box-shadow:0 1px 3px #7eb8a433}.action-btn-primary:hover{background:var(--accent-hover);box-shadow:0 2px 6px #7eb8a440}.action-btn-primary:active{transform:scale(.98);opacity:.85}.action-btn-secondary{background:var(--surface);color:var(--text);border:1.5px solid var(--border-strong);box-shadow:0 1px 2px #0000000a}.action-btn-secondary:hover{background:var(--surface2);border-color:var(--border-strong)}.action-btn-secondary:active{transform:scale(.98);opacity:.85}.activity-card{padding:18px 4px;margin:0 -4px;border-bottom:1px solid var(--border);cursor:pointer;transition:all .15s var(--ease);border-radius:8px}.activity-card:first-child{padding-top:4px}.activity-card:last-child{border-bottom:none}.activity-card:hover{background:var(--surface2)}.activity-card:active{opacity:.6}@media(prefers-color-scheme:dark){input,select,textarea{color-scheme:dark}.action-btn-secondary{border-color:var(--border-strong)}.btn-primary,.btn-green,.action-btn-primary{color:var(--accent-ink)}.select-arrow-dark select,select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238E8A83' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E")}}.skeleton{background:linear-gradient(90deg,var(--surface2) 25%,var(--surface3) 50%,var(--surface2) 75%);background-size:200% 100%;animation:shimmer 1.4s ease-in-out infinite;border-radius:var(--radius);color:transparent!important;pointer-events:none;user-select:none}.skeleton-text{height:14px;border-radius:4px}.skeleton-title{height:22px;border-radius:4px}.skeleton-card{height:80px;border-radius:var(--radius-lg)}.skeleton-avatar{width:40px;height:40px;border-radius:50%}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(min-width:431px){body{border-left:1px solid var(--border);border-right:1px solid var(--border)}}@media(min-width:768px){body{box-shadow:0 0 40px #0000000f}.modal{border-radius:var(--radius-lg);max-height:80vh;margin-bottom:5vh}}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:focus:not(:focus-visible),input:focus:not(:focus-visible),select:focus:not(:focus-visible){outline:none}.briefing-card{padding:20px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;transition:box-shadow .2s ease}.briefing-card:active{box-shadow:inset 0 1px 3px #0000000f}.briefing-greeting{font-size:17px;font-weight:400;line-height:1.5;margin-bottom:14px;color:var(--text)}.briefing-streak{display:inline-flex;align-items:center;gap:8px;padding:4px 12px;background:var(--accent-dim);border-radius:20px;margin-bottom:16px}.briefing-streak-count{font-family:DM Mono,monospace;font-size:12px;font-weight:500;color:var(--accent)}.briefing-streak-msg{font-size:12px;color:var(--text2)}.briefing-section{padding:12px 0;border-top:1px solid var(--border)}.briefing-section-label{font-size:10px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--text3);margin-bottom:6px}.briefing-section-body{font-size:14px;line-height:1.6;color:var(--text)}.briefing-meta{font-family:DM Mono,monospace;font-size:11px;color:var(--text3);margin-top:4px}.briefing-recovery{padding:12px 16px;margin-top:12px;background:#b5564e0f;border-radius:10px;border:1px solid rgba(181,86,78,.12)}.briefing-expand-hint{text-align:center;font-size:11px;color:var(--text3);margin-top:12px;letter-spacing:.3px}.briefing-loading{cursor:default}.briefing-loading-bar{height:14px;background:var(--surface2);border-radius:6px;margin-bottom:10px;animation:briefingPulse 1.5s ease-in-out infinite}.briefing-loading-bar--short{width:60%}.briefing-loading-bar--med{width:80%}@keyframes briefingPulse{0%,to{opacity:.4}50%{opacity:.8}}.review-card{transition:box-shadow .2s ease}.review-summary{margin-bottom:8px}.review-summary-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:12px}.review-stat{text-align:center}.review-stat-value{font-family:DM Mono,monospace;font-size:20px;font-weight:400;letter-spacing:-.5px;color:var(--text)}.review-stat-label{font-size:10px;font-weight:500;letter-spacing:1px;text-transform:uppercase;color:var(--text3);margin-top:4px}.review-highlight{font-size:13px;line-height:1.6;color:var(--text2);text-align:center;padding:8px 0}.review-section{padding:14px 0;border-top:1px solid var(--border)}.review-section-title{font-size:10px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--text3);margin-bottom:10px}.review-trend-row{display:flex;align-items:flex-start;gap:10px;padding:6px 0}.review-trend-icon{font-size:16px;font-weight:600;width:20px;text-align:center;flex-shrink:0;margin-top:1px}.review-trend-name{font-size:13px;font-weight:500;color:var(--text)}.review-trend-detail{font-size:12px;color:var(--text2);line-height:1.5;margin-top:2px}.review-nutrition-grid{display:flex;gap:20px;margin-bottom:10px}.review-nutrition-item{display:flex;align-items:baseline;gap:4px}.review-nutrition-value{font-family:DM Mono,monospace;font-size:18px;font-weight:400;color:var(--text)}.review-nutrition-label{font-size:11px;color:var(--text3)}.review-insight-text{font-size:13px;line-height:1.6;color:var(--text2)}.review-patterns{background:#7eb8a40a;margin-left:-20px;margin-right:-20px;padding-left:20px;padding-right:20px;border-radius:0}.review-pattern-item{display:flex;align-items:flex-start;gap:8px;padding:6px 0;font-size:13px;line-height:1.6;color:var(--text)}.review-pattern-icon{font-size:14px;flex-shrink:0;margin-top:2px}.review-meta{font-family:DM Mono,monospace;font-size:11px;color:var(--text3);margin-bottom:6px}.review-targets{font-size:13px;line-height:1.6;color:var(--text);margin-top:6px}.review-targets-label{font-weight:500}.review-next-week{background:var(--surface2);margin-left:-20px;margin-right:-20px;margin-bottom:-20px;padding:16px 20px 20px;border-radius:0 0 var(--radius-lg) var(--radius-lg)}.review-prompt-card{border:1px dashed var(--border);background:var(--surface)}.recent-meals-grid{display:flex;flex-wrap:wrap;gap:6px}.recent-meal-chip{padding:8px 12px;background:var(--surface);border:1px solid var(--border);border-radius:10px;cursor:pointer;text-align:left;transition:background .15s ease,border-color .15s ease;max-width:calc(50% - 3px);flex:1 0 calc(50% - 3px);min-width:0}.recent-meal-chip:active{background:var(--accent-dim);border-color:var(--accent)}.recent-meal-name{font-size:12px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recent-meal-meta{font-family:DM Mono,monospace;font-size:10px;color:var(--text3);margin-top:2px}.same-yesterday-btn{width:100%;padding:10px 14px;margin-bottom:8px;background:var(--accent-dim);border:1px solid rgba(126,184,164,.2);border-radius:10px;cursor:pointer;text-align:left;transition:background .15s ease}.same-yesterday-btn:active{background:#7eb8a426}.same-yesterday-label{display:block;font-size:12px;font-weight:500;color:var(--accent);margin-bottom:2px}.same-yesterday-detail{display:block;font-size:11px;color:var(--text2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@keyframes skeletonPulse{0%,to{opacity:.4}50%{opacity:.8}}.skeleton-pulse{animation:skeletonPulse 1.5s ease-in-out infinite}.pull-to-refresh{display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;transition:height .2s ease}.pull-to-refresh-icon{display:flex;align-items:center;justify-content:center}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pull-to-refresh-icon--spinning{animation:spin 1s linear infinite}.activity-card-wrap{position:relative;display:flex;align-items:stretch}.activity-card-wrap .activity-card{flex:1;min-width:0}.activity-repeat-btn{display:flex;align-items:center;justify-content:center;width:40px;flex-shrink:0;background:none;border:none;border-left:1px solid var(--border);cursor:pointer;color:var(--text3);transition:color .15s ease,background .15s ease;border-radius:0 var(--radius) var(--radius) 0}.activity-repeat-btn:active{background:var(--accent-dim);color:var(--accent)}@keyframes toastSlideIn{0%{transform:translateY(20px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes toastSlideOut{0%{transform:translateY(0) scale(1);opacity:1}to{transform:translateY(-10px) scale(.95);opacity:0}}.toast-container{position:fixed;top:env(safe-area-inset-top,12px);left:50%;transform:translate(-50%);z-index:9999;display:flex;flex-direction:column;gap:8px;width:calc(100% - 32px);max-width:400px;pointer-events:none;padding-top:12px}.toast{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:12px;background:var(--surface);border:1px solid var(--border);box-shadow:0 4px 16px #0000001a,0 1px 4px #0000000f;font-size:13px;font-weight:400;color:var(--text);pointer-events:auto;cursor:pointer;animation:toastSlideIn .3s var(--ease) both;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.toast--exiting{animation:toastSlideOut .3s var(--ease) both}.toast-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;flex-shrink:0}.toast--success .toast-icon{background:#4caf821f;color:var(--success)}.toast--error .toast-icon{background:#b5564e1f;color:var(--danger)}.toast--warning .toast-icon{background:#d4a04a1f;color:var(--macro-carbs)}.toast--info .toast-icon{background:#7eb8a414;color:var(--accent)}.toast-message{flex:1;line-height:1.4}.offline-banner{position:fixed;top:0;left:50%;transform:translate(-50%);z-index:9998;width:100%;max-width:430px;animation:fadeIn .3s ease}.offline-banner-content{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#b5564ef2;color:#fff;font-size:12px;font-weight:400;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.offline-banner--online .offline-banner-content{background:#4caf82f2}.offline-badge{margin-left:auto;background:#fff3;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:500}.share-card-overlay{position:fixed;inset:0;z-index:600;background:#00000080;display:flex;align-items:flex-end;justify-content:center;animation:fadeIn .2s ease}.share-card-modal{background:var(--surface);border-radius:20px 20px 0 0;padding:24px;width:100%;max-width:430px;max-height:85vh;overflow:auto}.share-card-preview{margin-bottom:20px;border-radius:16px;overflow:hidden;box-shadow:0 4px 20px #00000026}.share-card-actions{padding-bottom:env(safe-area-inset-bottom,16px)}@keyframes streakPulse{0%,to{border-color:var(--macro-carbs);box-shadow:0 0 #d4a04a4d}50%{border-color:var(--macro-carbs);box-shadow:0 0 0 6px #d4a04a00}}@keyframes streakPulseCritical{0%,to{border-color:var(--danger);box-shadow:0 0 #b5564e4d}50%{border-color:var(--danger);box-shadow:0 0 0 6px #b5564e00}}.streak-danger{margin:0 16px 16px;padding:16px;border-radius:14px;border:1.5px solid var(--macro-carbs);background:#d4a04a0f;animation:fadeIn .4s ease}.streak-danger--pulsing{animation:streakPulse 2.5s ease-in-out infinite}.streak-danger--critical{border-color:var(--danger);background:#b5564e0f}.streak-danger--critical.streak-danger--pulsing{animation:streakPulseCritical 2s ease-in-out infinite}.streak-danger-content{display:flex;align-items:flex-start;gap:12px}.streak-danger-icon{flex-shrink:0;color:var(--macro-carbs);margin-top:1px}.streak-danger--critical .streak-danger-icon{color:var(--danger)}.streak-danger-text{flex:1}.streak-danger-title{font-size:14px;font-weight:500;color:var(--text);margin-bottom:2px}.streak-danger-subtitle{font-size:12px;color:var(--text2)}.streak-danger-dismiss{background:none;border:none;cursor:pointer;color:var(--text3);padding:4px;flex-shrink:0}.streak-danger-actions{display:flex;gap:8px;margin-top:12px;padding-left:32px}@keyframes setComplete{0%{transform:scale(1)}40%{transform:scale(1.15)}70%{transform:scale(.95)}to{transform:scale(1)}}@keyframes prBurst{0%{transform:scale(.5);opacity:1}to{transform:scale(2);opacity:0}}@keyframes streakBounce{0%,to{transform:translateY(0)}30%{transform:translateY(-4px)}60%{transform:translateY(-2px)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.set-complete-pop{animation:setComplete .35s var(--ease)}.pr-burst{position:absolute;inset:-4px;border-radius:50%;border:2px solid var(--accent);animation:prBurst .6s ease-out forwards;pointer-events:none}.streak-bounce{animation:streakBounce .5s var(--ease)}.btn-share-shimmer{background:linear-gradient(90deg,var(--accent) 25%,var(--accent-hover) 50%,var(--accent) 75%);background-size:200% 100%;animation:shimmer 2s ease-in-out infinite}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.toast{animation:none!important;opacity:1}.streak-danger--pulsing,.streak-danger--critical.streak-danger--pulsing,.coach-fab-pulse{animation:none!important}.stagger-item{animation:none!important;opacity:1}}.daily-status{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:20px;margin-bottom:24px}.daily-status-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.daily-status-label{font-size:11px;font-weight:500;color:var(--text3);text-transform:uppercase;letter-spacing:1.2px}.daily-status-checks-row{display:flex;gap:10px;margin-bottom:16px}.daily-status-checks{display:flex;flex-direction:column;gap:6px;flex:1}.daily-status-chip{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text3);transition:color .2s ease}.daily-status-chip--done{color:var(--text)}.daily-status-dot{width:16px;height:16px;border-radius:50%;background:var(--surface3);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s ease}.daily-status-dot--done{background:var(--accent)}.daily-status-fraction{font-size:11px;color:var(--text3);font-family:DM Mono,monospace;margin-top:2px}.daily-status-macros{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.macro-bar-row{display:flex;flex-direction:column;gap:4px}.macro-bar-meta{display:flex;justify-content:space-between;align-items:baseline}.macro-bar-label{font-size:12px;color:var(--text2)}.macro-bar-nums{font-size:11px;font-family:DM Mono,monospace;color:var(--text3)}.macro-bar-track{height:5px;background:var(--surface3);border-radius:3px;overflow:hidden}.macro-bar-fill{height:100%;border-radius:3px;transition:width .5s var(--ease);min-width:2px}.daily-status-burn{display:flex;align-items:baseline;gap:6px;padding:10px 0;font-size:12px;color:var(--text3);border-top:1px solid var(--border)}.daily-status-burn-val{font-family:DM Mono,monospace;font-size:14px;color:var(--text2);font-weight:500}.daily-status-burn-unit{color:var(--text3)}.daily-status-burn-detail{margin-left:auto;font-size:11px}.daily-status-action{padding-top:14px;border-top:1px solid var(--border)}.daily-status-action-btn{background:none;border:1px solid var(--accent);border-radius:10px;padding:10px 16px;font-size:13px;font-weight:500;color:var(--accent);cursor:pointer;width:100%;transition:all .15s ease;text-align:center}.daily-status-action-btn:active{background:var(--accent);color:var(--accent-ink)}.daily-status-action-text{font-size:13px;color:var(--text2);text-align:center;display:block}.daily-status-narration{font-size:13px;line-height:1.5;color:var(--text2);font-style:italic;padding:12px 0;border-top:1px solid var(--border)}.daily-status-perfect{text-align:center;font-size:13px;color:var(--accent);font-weight:500;letter-spacing:.3px;padding-top:14px;border-top:1px solid var(--border)}.quest-xp-badge{font-size:10px;font-weight:500;letter-spacing:.3px;padding:2px 7px;border-radius:10px;background:#7eb8a426;color:var(--accent)}.quest-item{display:flex;align-items:center;gap:12px;padding:14px 20px;transition:opacity .2s var(--ease)}.quest-item--done{opacity:.65}.quest-emoji{font-size:22px;line-height:1;flex-shrink:0;width:28px;text-align:center}.quest-body{flex:1;min-width:0}.quest-title{font-size:13px;font-weight:500;color:var(--text);line-height:1.3}.quest-item--done .quest-title{text-decoration:line-through;color:var(--text2)}.quest-desc{font-size:11px;color:var(--text3);margin-top:2px;line-height:1.4}.quest-progress-bar{height:3px;background:var(--surface3);border-radius:2px;margin-top:7px;overflow:hidden}.quest-progress-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .4s var(--ease)}.quest-right{flex-shrink:0}.quest-check-icon{width:24px;height:24px;border-radius:50%;background:var(--accent);color:var(--accent-ink);display:flex;align-items:center;justify-content:center}.quest-xp{font-size:11px;font-weight:500;color:var(--text3);letter-spacing:.3px}.achievements-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:24px}.achievement-badge{display:flex;flex-direction:column;align-items:center;gap:5px;padding:12px 6px;border-radius:14px;background:var(--surface);border:1px solid var(--border);filter:grayscale(1);opacity:.35;transition:all .2s var(--ease);cursor:default;text-align:center}.achievement-badge--unlocked{filter:none;opacity:1;border-color:#7eb8a44d;background:#7eb8a40f}.achievement-badge-emoji{font-size:24px;line-height:1}.achievement-badge-name{font-size:9px;font-weight:500;color:var(--text2);letter-spacing:.2px;line-height:1.2}.achievement-badge--unlocked .achievement-badge-name{color:var(--text)}
