@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/fonts/source-sans-3-latin-wght-normal.woff2) format("woff2-variations");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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/fonts/source-sans-3-latin-ext-wght-normal.woff2) format("woff2-variations");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--paper: #faf7f2;--surface: #fffcf7;--sunken: #f1ebe1;--ink: #23201c;--ink-2: #5a5248;--ink-3: #6e655a;--hairline: #e3dbcf;--accent: #9c5539;--accent-text: #8a4227;--on-accent: #faf7f2;--accent-wash: #f6ece6;--attention: #8a2d2d;--attention-wash: #f8e8e8;--focus: #005f94;--series-spoons: #9c5539;--series-energy: #005f94;--series-sleep: #17784a;--series-pain: #8e4a8e;--series-fatigue: #b4551a;--font: "Source Sans 3 Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--text-display: 3.25rem;--lh-display: 1.05;--text-xl: 1.5rem;--text-lg: 1.25rem;--text-md: 1.0625rem;--text-sm: .9375rem;--text-xs: .8125rem;--weight-body: 400;--weight-label: 500;--weight-heading: 600;--s-1: .25rem;--s-2: .5rem;--s-3: .75rem;--s-4: 1rem;--s-5: 1.25rem;--s-6: 1.5rem;--s-8: 2rem;--s-10: 2.5rem;--s-14: 3.5rem;--s-18: 4.5rem;--radius-control: 8px;--radius-card: 12px;--radius-pill: 999px;--shadow-raised: 0 1px 2px rgb(35 32 28 / .04), 0 8px 24px -8px rgb(35 32 28 / .1);--shadow-sheet: 0 -1px 2px rgb(35 32 28 / .04), 0 -16px 40px -12px rgb(35 32 28 / .18);--gutter: 1rem;--column: 34rem;--nav-height: 4rem;--nav-clearance: calc(var(--nav-height) + 1.5rem + env(safe-area-inset-bottom, 0px));--ease: cubic-bezier(.2, 0, 0, 1);--duration-fast: .12s;--duration: .18s;--min-target: 44px;color-scheme:light dark}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--paper: #17140f;--surface: #201c16;--sunken: #100e0a;--ink: #efe9df;--ink-2: #b7ae9f;--ink-3: #948b7c;--hairline: #332d25;--accent: #c9805f;--accent-text: #d9906e;--on-accent: #17140f;--accent-wash: #2b231c;--attention: #f08a8a;--attention-wash: #2e1e1e;--focus: #6fb1dc;--series-spoons: #c9805f;--series-energy: #3e93c8;--series-sleep: #2f9c58;--series-pain: #af6baf;--series-fatigue: #ce7434;--shadow-raised: 0 1px 2px rgb(0 0 0 / .4), 0 8px 24px -8px rgb(0 0 0 / .6);--shadow-sheet: 0 -1px 2px rgb(0 0 0 / .4), 0 -16px 40px -12px rgb(0 0 0 / .7)}}:root[data-theme=dark]{--paper: #17140f;--surface: #201c16;--sunken: #100e0a;--ink: #efe9df;--ink-2: #b7ae9f;--ink-3: #948b7c;--hairline: #332d25;--accent: #c9805f;--accent-text: #d9906e;--on-accent: #17140f;--accent-wash: #2b231c;--attention: #f08a8a;--attention-wash: #2e1e1e;--focus: #6fb1dc;--series-spoons: #c9805f;--series-energy: #3e93c8;--series-sleep: #2f9c58;--series-pain: #af6baf;--series-fatigue: #ce7434;--shadow-raised: 0 1px 2px rgb(0 0 0 / .4), 0 8px 24px -8px rgb(0 0 0 / .6);--shadow-sheet: 0 -1px 2px rgb(0 0 0 / .4), 0 -16px 40px -12px rgb(0 0 0 / .7);color-scheme:dark}:root[data-theme=light]{color-scheme:light}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;height:100%}body{min-height:100%;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:var(--text-md);font-weight:var(--weight-body);line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-variant-numeric:tabular-nums;overscroll-behavior-y:none}img,svg,video{display:block;max-width:100%}button,input,select,textarea{font:inherit;color:inherit;font-variant-numeric:inherit}button{background:none;border:none;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent}input,textarea,select{font-size:max(16px,var(--text-md))}textarea{resize:vertical;min-height:6rem}ul,ol{list-style:none;padding:0}h1,h2,h3,h4{font-weight:var(--weight-heading);line-height:1.25;text-wrap:balance}h1{font-size:var(--text-xl)}h2{font-size:var(--text-lg)}h3{font-size:var(--text-md)}p{max-width:68ch;text-wrap:pretty}a{color:var(--accent-text);text-decoration-thickness:1px;text-underline-offset:.2em}a:hover{text-decoration-thickness:2px}:focus{outline:none}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--radius-control)}::selection{background:var(--accent-wash);color:var(--ink)}:root{caret-color:var(--accent);scrollbar-color:var(--hairline) transparent;scrollbar-width:thin}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--hairline);border-radius:var(--radius-pill);border:3px solid var(--paper)}::placeholder{color:var(--ink-3);opacity:1}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}}@media (forced-colors: active){.btn,.field,.sheet,.card,.cost-option{border:1px solid CanvasText}:focus-visible{outline:3px solid Highlight}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:focus-visible{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal}.stack>*+*{margin-top:var(--stack-gap, var(--s-4))}.app{min-height:100dvh;display:flex;flex-direction:column}.screen{flex:1;width:100%;max-width:var(--column);margin-inline:auto;padding-inline:max(var(--gutter),env(safe-area-inset-left,0px));padding-block-start:max(var(--s-4),env(safe-area-inset-top,0px));padding-block-end:var(--nav-clearance)}.screen__header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-3);padding-block:var(--s-3) var(--s-5)}.screen__eyebrow{color:var(--ink-2);font-size:var(--text-sm)}.screen__title{font-size:var(--text-xl);letter-spacing:-.008em}.screen__title:focus,.screen__title:focus-visible{outline:none}.screen__section{margin-block-start:var(--s-8)}.screen__section-title{font-size:var(--text-lg);margin-block-end:var(--s-3)}.screen__section-hint{color:var(--ink-2);font-size:var(--text-sm);margin-block-end:var(--s-4)}.skip-link{position:absolute;inset-inline-start:var(--s-4);inset-block-start:var(--s-2);z-index:60;padding:var(--s-2) var(--s-3);background:var(--surface);color:var(--ink);border-radius:var(--radius-control);box-shadow:var(--shadow-raised)}.nav{position:fixed;inset-inline:0;inset-block-end:0;z-index:40;background:var(--surface);border-block-start:1px solid var(--hairline);padding-block-end:env(safe-area-inset-bottom,0px);overflow:visible}.nav__inner{max-width:var(--column);margin-inline:auto;height:var(--nav-height);display:grid;grid-template-columns:repeat(5,1fr);align-items:center}.nav__link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;height:100%;min-height:var(--min-target);color:var(--ink-2);font-size:var(--text-xs);font-weight:var(--weight-label);text-decoration:none;transition:color var(--duration-fast) var(--ease)}.nav__link:hover{color:var(--ink)}.nav__link[aria-current=page]{color:var(--accent-text)}.nav__link[aria-current=page]:before{content:"";position:absolute;inset-block-start:0;width:1.75rem;height:2px;border-radius:var(--radius-pill);background:var(--accent)}.nav__link{position:relative}.nav__add{display:grid;place-items:center;justify-self:center;width:64px;height:64px;margin-block-start:-1.5rem;border-radius:var(--radius-pill);background:var(--accent);color:var(--on-accent);box-shadow:var(--shadow-raised);transition:transform var(--duration-fast) var(--ease),background var(--duration-fast) var(--ease)}.nav__add:hover{transform:translateY(-1px)}.nav__add:active{transform:translateY(0) scale(.97)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);min-height:var(--min-target);padding:var(--s-3) var(--s-5);border-radius:var(--radius-control);font-size:var(--text-md);font-weight:var(--weight-label);line-height:1.2;text-align:center;text-decoration:none;transition:background var(--duration-fast) var(--ease),border-color var(--duration-fast) var(--ease),transform var(--duration-fast) var(--ease)}.btn:active:not(:disabled){transform:scale(.985)}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed;transform:none}.btn--primary{background:var(--accent);color:var(--on-accent)}.btn--primary:hover:not(:disabled){background:color-mix(in oklab,var(--accent) 88%,black)}.btn--secondary{background:var(--surface);color:var(--ink);border:1px solid var(--hairline)}.btn--secondary:hover:not(:disabled){border-color:var(--ink-3)}.btn--quiet{background:transparent;color:var(--accent-text);padding-inline:var(--s-2)}.btn--quiet:hover:not(:disabled){background:var(--accent-wash)}.btn--danger{background:var(--attention);color:var(--on-accent)}.btn--danger:hover:not(:disabled){background:color-mix(in oklab,var(--attention) 88%,black)}.btn--block{width:100%}.btn--large{min-height:56px;font-size:var(--text-lg)}.btn__spinner{width:1em;height:1em;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.btn-row{display:flex;gap:var(--s-3);flex-wrap:wrap}.btn-row--end{justify-content:flex-end}.card{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-card);padding:var(--s-5)}.card--flat{background:transparent;border:none;padding:0}.card__title{font-size:var(--text-md);font-weight:var(--weight-heading);margin-block-end:var(--s-2)}.sheet{position:fixed;inset:auto 0 0;width:100%;max-width:var(--column);max-height:92dvh;margin:0 auto;padding:0;border:none;border-start-start-radius:20px;border-start-end-radius:20px;background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sheet);overflow:hidden}.sheet[open]{display:flex;flex-direction:column}.sheet::backdrop{background:#23201c6b;backdrop-filter:blur(2px)}.sheet[open]{animation:sheet-in var(--duration) var(--ease)}@keyframes sheet-in{0%{transform:translateY(1.5rem);opacity:0}}.sheet__header{flex:none;display:flex;align-items:center;gap:var(--s-3);padding:var(--s-4) var(--s-4) var(--s-3);border-block-end:1px solid var(--hairline)}.sheet__title{flex:1;font-size:var(--text-lg)}.sheet__body{flex:1 1 auto;min-height:0;padding:var(--s-5) var(--s-4) var(--s-6);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}.sheet__body:last-child{padding-block-end:calc(var(--s-6) + env(safe-area-inset-bottom,0px))}.sheet__footer{flex:none;background:var(--surface);border-block-start:1px solid var(--hairline);padding:var(--s-3) var(--s-4) calc(var(--s-3) + env(safe-area-inset-bottom,0px))}.icon-button{display:grid;place-items:center;width:var(--min-target);height:var(--min-target);border-radius:var(--radius-control);color:var(--ink-2);transition:background var(--duration-fast) var(--ease),color var(--duration-fast) var(--ease)}.icon-button:hover{background:var(--sunken);color:var(--ink)}.hero{display:flex;align-items:flex-end;gap:var(--s-5);padding-block:var(--s-2) var(--s-5)}.hero__value{font-size:var(--text-display);line-height:var(--lh-display);font-weight:600;letter-spacing:-.011em}.hero__scale{font-size:var(--text-lg);color:var(--ink-2);font-weight:var(--weight-body)}.hero__label{color:var(--ink-2);font-size:var(--text-sm);padding-block-end:.35rem}.hero__empty{font-size:var(--text-lg);color:var(--ink-3)}.spoon-row{display:flex;align-items:flex-end;gap:5px;flex-wrap:wrap}.spoon{flex:none;stroke:currentColor;stroke-width:1.2;overflow:visible}.spoon--spent{color:var(--accent);fill:var(--accent)}.spoon--available{color:var(--ink-3);fill:none}.spoon--over{color:var(--attention);fill:var(--attention)}.spoon-limit{flex:none;align-self:stretch;width:2px;min-height:28px;margin-inline:5px 3px;border-radius:var(--radius-pill);background:var(--ink-3)}.meter{width:100%}.meter__track{display:flex;height:12px;background:var(--sunken);border-radius:var(--radius-pill);overflow:hidden}.meter__spent{background:var(--accent)}.meter__over{background:var(--attention);box-shadow:inset 2px 0 0 var(--surface)}.spoon-cost{display:inline-flex;align-items:center;gap:3px;color:var(--accent-text);font-weight:var(--weight-label);font-variant-numeric:tabular-nums}.spoon-cost__value{font-size:var(--text-md)}.spoon-cost .spoon{width:9px;height:21px;color:var(--accent);fill:var(--accent)}.balance{display:inline-flex;align-items:center;gap:var(--s-2);font-size:var(--text-sm);color:var(--ink-2)}.balance--over{color:var(--attention);font-weight:var(--weight-label)}.balance--unknown{color:var(--ink-3)}.balance__glyph{flex:none}.list{border-block-start:1px solid var(--hairline)}.list__item{display:flex;align-items:center;gap:var(--s-3);width:100%;min-height:60px;padding-block:var(--s-3);border-block-end:1px solid var(--hairline);text-align:start}.list__item--button{transition:background var(--duration-fast) var(--ease)}.list__item--button:hover{background:var(--sunken)}.list__icon{flex:none;display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:var(--radius-control);background:var(--sunken);font-size:1.15rem;line-height:1}.list__main{flex:1;min-width:0}.list__name{font-weight:var(--weight-label);overflow-wrap:anywhere}.list__meta{color:var(--ink-2);font-size:var(--text-sm);display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap}.list__aside{flex:none;display:flex;align-items:center;gap:var(--s-2)}.pending-dot{display:inline-flex;align-items:center;gap:4px;font-size:var(--text-xs);color:var(--ink-3)}.pending-dot:before{content:"";width:6px;height:6px;border-radius:50%;border:1.5px solid currentColor}.field{display:block}.field__label{display:block;font-size:var(--text-sm);font-weight:var(--weight-label);color:var(--ink);margin-block-end:var(--s-2)}.field__optional{color:var(--ink-3);font-weight:var(--weight-body)}.field__hint{font-size:var(--text-sm);color:var(--ink-2);margin-block-start:var(--s-2)}.field__error{display:flex;align-items:center;gap:var(--s-1);font-size:var(--text-sm);color:var(--attention);font-weight:var(--weight-label);margin-block-start:var(--s-2)}.input,.textarea,.select{width:100%;min-height:var(--min-target);padding:var(--s-3);background:var(--surface);color:var(--ink);border:1px solid var(--hairline);border-radius:var(--radius-control);transition:border-color var(--duration-fast) var(--ease)}.input:hover,.textarea:hover,.select:hover{border-color:var(--ink-3)}.input[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--attention);border-width:2px}.textarea{min-height:7rem;line-height:1.55}.select{appearance:none;padding-inline-end:var(--s-8);background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 20px) calc(50% + 2px),calc(100% - 14px) calc(50% + 2px);background-size:6px 6px;background-repeat:no-repeat}.checkbox-row{display:flex;align-items:flex-start;gap:var(--s-3);min-height:var(--min-target);padding-block:var(--s-2);cursor:pointer}.checkbox-row input[type=checkbox]{flex:none;width:1.5rem;height:1.5rem;margin-block-start:.15rem;accent-color:var(--accent)}.checkbox-row__text{font-size:var(--text-sm);line-height:1.5}.scale{display:block}.scale__head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2);margin-block-end:var(--s-2);min-height:var(--min-target)}.scale__head-value{display:flex;align-items:center;gap:var(--s-1)}.scale__label{font-size:var(--text-md);font-weight:var(--weight-label)}.scale__value{font-size:var(--text-md);color:var(--accent-text);font-weight:var(--weight-label)}.scale__value--empty{color:var(--ink-3);font-weight:var(--weight-body);font-size:var(--text-sm)}.scale__options{display:grid;grid-template-columns:repeat(11,1fr);gap:3px}.scale__option{min-height:var(--min-target);display:grid;place-items:center;border:1px solid var(--hairline);border-radius:6px;background:var(--surface);color:var(--ink-2);font-size:var(--text-xs);font-weight:var(--weight-label);transition:background var(--duration-fast) var(--ease),color var(--duration-fast) var(--ease)}.scale__option:hover{background:var(--sunken);color:var(--ink)}.scale__option[aria-checked=true]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.scale__ends{display:flex;justify-content:space-between;gap:var(--s-2);margin-block-start:var(--s-2);font-size:var(--text-xs);color:var(--ink-3)}.scale__clear{display:grid;place-items:center;width:var(--min-target);height:var(--min-target);border-radius:var(--radius-control);color:var(--ink-3);transition:background var(--duration-fast) var(--ease),color var(--duration-fast) var(--ease)}.scale__clear:hover{background:var(--sunken);color:var(--ink)}.cost{display:block}.cost__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-2)}.cost-option{display:grid;place-items:center;gap:2px;min-height:72px;padding:var(--s-2);border:1px solid var(--hairline);border-radius:var(--radius-card);background:var(--surface);transition:background var(--duration-fast) var(--ease),border-color var(--duration-fast) var(--ease)}.cost-option:hover{background:var(--sunken)}.cost-option[aria-checked=true]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.cost-option__value{font-size:1.6rem;font-weight:600;line-height:1}.cost-option__unit{font-size:var(--text-xs);color:var(--ink-3)}.cost-option[aria-checked=true] .cost-option__unit{color:var(--on-accent);opacity:.85}.cost__description{min-height:3.25rem;margin-block-start:var(--s-4);padding:var(--s-3) var(--s-4);background:var(--sunken);border-radius:var(--radius-control)}.cost__description-value{font-weight:var(--weight-heading)}.cost__description-empty{color:var(--ink-2);font-size:var(--text-sm)}.cost__note{margin-block-start:var(--s-3);font-size:var(--text-sm);color:var(--ink-2)}.chips{display:flex;flex-wrap:wrap;gap:var(--s-2)}.chip{display:inline-flex;align-items:center;gap:var(--s-1);min-height:var(--min-target);padding:var(--s-2) var(--s-4);border:1px solid var(--hairline);border-radius:var(--radius-pill);background:var(--surface);color:var(--ink);font-size:var(--text-sm);font-weight:var(--weight-label);transition:background var(--duration-fast) var(--ease),border-color var(--duration-fast) var(--ease)}.chip:hover{background:var(--sunken)}.chip[aria-pressed=true],.chip[aria-selected=true]{background:var(--accent-wash);border-color:var(--accent);color:var(--accent-text)}.chip[aria-pressed=true]:before,.chip[aria-selected=true]:before{content:"";width:.7em;height:.4em;border-inline-start:2px solid currentColor;border-block-end:2px solid currentColor;transform:rotate(-45deg) translateY(-.12em)}.chips--scroll{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-block-end:var(--s-1);max-width:100%}.chips--bleed{margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter);max-width:none}.chips--scroll::-webkit-scrollbar{display:none}.chips--scroll .chip{flex:none}.banner{display:flex;align-items:flex-start;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-radius:var(--radius-card);background:var(--sunken);font-size:var(--text-sm)}.banner--attention{background:var(--attention-wash);color:var(--ink)}.banner--attention .banner__icon{color:var(--attention)}.banner__icon{flex:none;margin-block-start:.1rem;color:var(--ink-2)}.banner__body{flex:1;min-width:0}.banner__title{font-weight:var(--weight-label)}.status-bar{position:sticky;inset-block-start:0;z-index:30;display:flex;align-items:center;justify-content:center;gap:var(--s-2);padding:var(--s-2) var(--s-4);background:var(--sunken);color:var(--ink-2);font-size:var(--text-xs);font-weight:var(--weight-label);border-block-end:1px solid var(--hairline)}.empty{padding:var(--s-8) var(--s-4);text-align:center}.empty__title{font-size:var(--text-lg);margin-block-end:var(--s-2)}.empty__body{color:var(--ink-2);max-width:34ch;margin-inline:auto;margin-block-end:var(--s-5)}.skeleton{background:var(--sunken);border-radius:var(--radius-control);animation:pulse 1.4s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.55}}.picker{display:block}.picker__readout{display:flex;align-items:baseline;gap:var(--s-2);margin-block-end:var(--s-3)}.picker__readout-value{font-size:var(--text-display);line-height:var(--lh-display);font-weight:600;letter-spacing:-.011em;color:var(--accent-text)}.picker__readout-unit{font-size:var(--text-lg);color:var(--ink-2)}.picker__track{display:flex;gap:var(--s-2);overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:40%;padding-block:var(--s-1);margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter);scrollbar-width:none;-webkit-overflow-scrolling:touch;mask-image:linear-gradient(to right,transparent,#000 32px,#000 calc(100% - 32px),transparent)}.picker__track::-webkit-scrollbar{display:none}.picker__option{flex:none;scroll-snap-align:center;display:grid;place-items:center;width:56px;height:56px;border:1px solid var(--hairline);border-radius:var(--radius-card);background:var(--surface);color:var(--ink-2);font-size:var(--text-lg);font-weight:var(--weight-label);transition:background var(--duration-fast) var(--ease),color var(--duration-fast) var(--ease),border-color var(--duration-fast) var(--ease)}.picker__option:hover{background:var(--sunken);color:var(--ink)}.picker__option[aria-checked=true]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.picker__hint{margin-block-start:var(--s-2);font-size:var(--text-sm);color:var(--ink-3)}.chart{position:relative;width:100%}.chart__svg{width:100%;height:auto;display:block;overflow:visible;touch-action:pan-y}.chart__grid{stroke:var(--hairline);stroke-width:1}.chart__axis-label{fill:var(--ink-3);font-size:11px}.chart__line{fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.chart__marker{stroke:var(--surface);stroke-width:2}.chart__bar{rx:4}.chart__reference{stroke:var(--ink-3);stroke-width:1.5;stroke-dasharray:5 4}.chart__crosshair{stroke:var(--ink-3);stroke-width:1}.chart__tooltip{position:absolute;z-index:10;pointer-events:none;padding:var(--s-2) var(--s-3);background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-control);box-shadow:var(--shadow-raised);font-size:var(--text-sm);white-space:nowrap}.chart__tooltip-date{color:var(--ink-2);font-size:var(--text-xs)}.chart__tooltip-value{font-weight:var(--weight-heading)}.chart__legend{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s-2) var(--s-4);font-size:var(--text-sm);color:var(--ink-2);margin-block-start:var(--s-2)}.chart__legend-item{display:inline-flex;align-items:center;gap:var(--s-2);white-space:nowrap}.chart__swatch{width:14px;height:3px;border-radius:2px;flex:none}.chart__swatch--dashed{height:0;border-block-start:2px dashed currentColor;border-radius:0}.chart__empty{padding:var(--s-8) var(--s-4);text-align:center;color:var(--ink-2)}.table-wrap{overflow-x:auto;border:1px solid var(--hairline);border-radius:var(--radius-card)}.table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.table th,.table td{padding:var(--s-2) var(--s-3);text-align:start;border-block-end:1px solid var(--hairline);white-space:nowrap}.table th{background:var(--sunken);font-weight:var(--weight-label);color:var(--ink-2);position:sticky;inset-block-start:0}.table tbody tr:last-child td{border-block-end:none}.table td--numeric{text-align:end;font-variant-numeric:tabular-nums}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr));gap:1px;background:var(--hairline);border:1px solid var(--hairline);border-radius:var(--radius-card);overflow:hidden}.metric{background:var(--surface);padding:var(--s-4)}.metric__label{font-size:var(--text-xs);color:var(--ink-2);margin-block-end:var(--s-1)}.metric__value{font-size:var(--text-lg);font-weight:var(--weight-heading)}.metric__value--empty{color:var(--ink-3);font-weight:var(--weight-body)}.observation{padding-block:var(--s-4);border-block-end:1px solid var(--hairline)}.observation:last-child{border-block-end:none}.observation__title{font-weight:var(--weight-label);margin-block-end:var(--s-2)}.observation__groups{display:grid;gap:var(--s-2)}.observation__group{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-3);font-size:var(--text-sm)}.observation__group-label{color:var(--ink-2)}.observation__group-value{font-weight:var(--weight-label);font-variant-numeric:tabular-nums}.observation__n{color:var(--ink-3);font-size:var(--text-xs)}.onboarding{min-height:100dvh;display:flex;flex-direction:column;max-width:var(--column);margin-inline:auto;padding:max(var(--s-6),env(safe-area-inset-top,0px)) var(--gutter) calc(var(--s-6) + env(safe-area-inset-bottom,0px))}.onboarding__progress{display:flex;gap:var(--s-1);margin-block-end:var(--s-8)}.onboarding__step{height:3px;flex:1;border-radius:var(--radius-pill);background:var(--sunken)}.onboarding__step--done{background:var(--accent)}.onboarding__body{flex:1}.onboarding__title{font-size:1.75rem;line-height:1.2;margin-block-end:var(--s-4)}.onboarding__text{font-size:var(--text-md);color:var(--ink-2);line-height:1.6}.auth{min-height:100dvh;display:grid;place-items:center;padding:max(var(--s-6),env(safe-area-inset-top,0px)) var(--gutter) calc(var(--s-6) + env(safe-area-inset-bottom,0px))}.auth__panel{width:100%;max-width:24rem}.auth__brand{text-align:center;margin-block-end:var(--s-8)}.auth__name{font-size:1.75rem;font-weight:600;letter-spacing:-.01em}.auth__tagline{color:var(--ink-2);font-size:var(--text-sm);margin-block-start:var(--s-1)}.auth__switch{text-align:center;margin-block-start:var(--s-6);font-size:var(--text-sm)}.toast{position:fixed;inset-inline:var(--gutter);inset-block-end:calc(var(--nav-clearance) + var(--s-2));z-index:50;max-width:calc(var(--column) - var(--gutter) * 2);margin-inline:auto;padding:var(--s-3) var(--s-4);background:var(--ink);color:var(--paper);border-radius:var(--radius-card);box-shadow:var(--shadow-raised);font-size:var(--text-sm);font-weight:var(--weight-label);display:flex;align-items:center;gap:var(--s-2);animation:toast-in var(--duration) var(--ease)}@keyframes toast-in{0%{transform:translateY(.5rem);opacity:0}}.rows{border:1px solid var(--hairline);border-radius:var(--radius-card);overflow:hidden;background:var(--surface)}.row{display:flex;align-items:center;gap:var(--s-3);width:100%;min-height:56px;padding:var(--s-3) var(--s-4);border-block-end:1px solid var(--hairline);text-align:start}.row:last-child{border-block-end:none}.rows a.row{color:inherit;text-decoration:none}.row--button{transition:background var(--duration-fast) var(--ease)}.row--button:hover{background:var(--sunken)}.row__label{flex:1 1 auto;min-width:8ch}.row__value{flex:0 1 auto;min-width:0;color:var(--ink-2);font-size:var(--text-sm);text-align:end;overflow-wrap:anywhere}.row__chevron{flex:none;color:var(--ink-3)}.row--danger .row__label{color:var(--attention);font-weight:var(--weight-label)}.segmented{display:inline-flex;padding:3px;background:var(--sunken);border-radius:var(--radius-pill);gap:2px}.segmented__option{min-height:38px;padding-inline:var(--s-4);border-radius:var(--radius-pill);font-size:var(--text-sm);font-weight:var(--weight-label);color:var(--ink-2);transition:background var(--duration-fast) var(--ease),color var(--duration-fast) var(--ease)}.segmented__option:hover{color:var(--ink)}.segmented__option[aria-checked=true],.segmented__option[aria-selected=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #23201c14}.segmented--block{display:flex;width:100%}.segmented--block .segmented__option{flex:1;padding-inline:var(--s-2)}@media (min-width: 768px){.screen{padding-block-end:var(--s-10)}.nav{position:sticky;inset-block-start:0;inset-block-end:auto;border-block-start:none;border-block-end:1px solid var(--hairline);padding-block-end:0}.nav__add{margin-block-start:0;width:48px;height:48px}.nav__link[aria-current=page]:before{inset-block-start:auto;inset-block-end:0}.toast{inset-block-end:var(--s-6)}.sheet{inset:50% auto auto 50%;transform:translate(-50%,-50%);border-radius:20px;max-height:86dvh}.sheet[open]{display:flex}@keyframes sheet-in{0%{transform:translate(-50%,calc(-50% + .75rem));opacity:0}}}.sheet__context{display:flex;align-items:center;gap:var(--s-2);margin-block-end:var(--s-4);padding:var(--s-2) var(--s-3);border-radius:var(--radius-control);background:var(--accent-wash);color:var(--accent-text);font-size:var(--text-sm);font-weight:var(--weight-label)}
