:root{color-scheme:light dark;--color-bg: #FFFFFF;--color-ink: #1E1A22;--color-muted: #5E5865;--color-accent: #5A2D6F;--color-on-accent: #FFFFFF;--color-accent-soft: #EFE5F4;--color-danger: #B42318;--color-on-danger: #FFFFFF;--color-danger-soft: #FCE9E7;--color-attention-bg: #FFEFCC;--color-attention-ink: #6E4500;--color-inverse: #2A2330;--color-on-inverse: #FFFFFF;--color-danger-on-inverse: #FF8A7E;--color-scrim: rgba(20, 12, 26, .45);--shadow-float: 0 1px 2px rgba(30, 20, 40, .08), 0 6px 20px rgba(30, 20, 40, .12);--shadow-toast: 0 8px 24px rgba(0, 0, 0, .25);--ctx-page-surface: #FFFFFF;--ctx-page-well: #F4F2F5;--ctx-page-hair: #E6E2E9;--ctx-sheet-surface: #FFFFFF;--ctx-sheet-well: #F4F2F5;--ctx-sheet-hair: #DCD7E0;--ctx-dialog-surface: #FFFFFF;--ctx-dialog-well: #F4F2F5;--ctx-dialog-hair: #DCD7E0;--font-sans: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--type-display: 700 34px/1.15 var(--font-sans);--type-item: 700 32px/1.15 var(--font-sans);--type-hero: 700 30px/1.1 var(--font-sans);--type-title-1: 700 28px/1.2 var(--font-sans);--type-title-2: 700 24px/1.25 var(--font-sans);--type-title-3: 700 22px/1.25 var(--font-sans);--type-headline: 700 18px/1.3 var(--font-sans);--type-lead: 400 18px/1.45 var(--font-sans);--type-list-item: 600 18px/1.3 var(--font-sans);--type-row: 700 17px/1.3 var(--font-sans);--type-input: 400 17px/1.3 var(--font-sans);--type-body: 400 16px/1.4 var(--font-sans);--type-button: 700 16px/1.2 var(--font-sans);--type-label: 700 15px/1.2 var(--font-sans);--type-note: 400 15px/1.35 var(--font-sans);--type-meta: 400 14px/1.35 var(--font-sans);--type-field: 600 14px/1.3 var(--font-sans);--type-badge: 700 13px/1 var(--font-sans);--type-badge-date:600 13px/1 var(--font-sans);--type-micro: 700 12px/1 var(--font-sans);--tracking-tight: -.02em;--tracking-snug: -.01em;--tracking-eyebrow: .06em;--space-2: 2px;--space-4: 4px;--space-6: 6px;--space-8: 8px;--space-10: 10px;--space-12: 12px;--space-14: 14px;--space-16: 16px;--space-18: 18px;--space-20: 20px;--space-22: 22px;--space-24: 24px;--gutter: 20px;--radius-pill: 999px;--radius-sheet: 28px;--radius-hero: 24px;--radius-card: 20px;--radius-toast: 18px;--radius-field: 16px;--radius-tile: 12px;--size-tap: 44px;--size-control: 48px;--size-control-lg: 52px;--size-control-xl: 56px;--size-badge: 28px;--size-nav: 64px;--size-row: 56px;--size-row-tall: 62px;--dur-fast: .12s;--dur-base: .2s;--dur-sheet: .24s;--ease-out: cubic-bezier(.2, .8, .2, 1);--toast-hold: 4s;--changed-hold: 4s}@media(prefers-color-scheme:dark){:root{--color-bg: #141117;--color-ink: #EFEAF2;--color-muted: #A8A0AF;--color-accent: #D5AEEA;--color-on-accent: #22122B;--color-accent-soft: #3A2B44;--color-danger: #FF8A7E;--color-on-danger: #2B0906;--color-danger-soft: #3D1C19;--color-attention-bg: #3B2C0E;--color-attention-ink: #FFD27A;--color-inverse: #EFEAF2;--color-on-inverse: #1E1A22;--color-danger-on-inverse: #B42318;--color-scrim: rgba(0, 0, 0, .6);--shadow-float: 0 1px 2px rgba(0, 0, 0, .5), 0 6px 20px rgba(0, 0, 0, .45);--ctx-page-surface: #26202B;--ctx-page-well: #211C25;--ctx-page-hair: #2F2935;--ctx-sheet-surface: #211C25;--ctx-sheet-well: #2C2531;--ctx-sheet-hair: #3A3340;--ctx-dialog-surface: #2C2531;--ctx-dialog-well: #211C25;--ctx-dialog-hair: #3A3340}}:root{--color-surface: var(--ctx-page-surface);--color-well: var(--ctx-page-well);--color-hair: var(--ctx-page-hair)}[data-elev=sheet]{--color-surface: var(--ctx-sheet-surface);--color-well: var(--ctx-sheet-well);--color-hair: var(--ctx-sheet-hair);background:var(--color-surface)}[data-elev=dialog]{--color-surface: var(--ctx-dialog-surface);--color-well: var(--ctx-dialog-well);--color-hair: var(--ctx-dialog-hair);background:var(--color-surface)}@media(prefers-reduced-motion:reduce){:root{--dur-fast: 0ms;--dur-base: 0ms;--dur-sheet: 0ms}}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{background:var(--color-bg);color:var(--color-ink);font:var(--type-body);-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}#app{max-width:480px;margin:0 auto;min-height:100dvh;position:relative}h1,h2,p{margin:0}button,input,select{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}ul{list-style:none;margin:0;padding:0}svg{display:block}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.screen{padding:calc(env(safe-area-inset-top) + 8px) var(--gutter) calc(110px + env(safe-area-inset-bottom))}.screen.tab{padding-top:calc(env(safe-area-inset-top) + 16px);display:flex;flex-direction:column;gap:var(--space-18)}.screen.sub{padding-left:0;padding-right:0}.sub-header{padding:0 12px;display:flex;align-items:center;gap:var(--space-4)}.sub-header h1{font:var(--type-title-2);letter-spacing:var(--tracking-snug)}.sub-body{padding:var(--space-8) var(--gutter) 0;display:flex;flex-direction:column;gap:var(--space-22)}.eyebrow{font:var(--type-field);color:var(--color-muted)}.title-1{font:var(--type-title-1);letter-spacing:var(--tracking-tight)}.tab-header{display:flex;align-items:center;gap:var(--space-8)}.tab-header>div{flex:1;display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.section{display:flex;flex-direction:column}.section-head{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:var(--space-4)}.section-head h2{font:var(--type-headline)}.group-head{font:var(--type-label);color:var(--color-muted)}.muted{color:var(--color-muted)}.meta{font:var(--type-meta);color:var(--color-muted)}.press{transition:transform var(--dur-fast) var(--ease-out),filter var(--dur-fast) var(--ease-out)}.press:active{transform:scale(.97);filter:brightness(.96)}.btn-primary,.btn-danger{height:var(--size-control-xl);border-radius:var(--radius-pill);border:0;width:100%;font:var(--type-row);display:flex;align-items:center;justify-content:center;gap:var(--space-8)}.btn-primary{background:var(--color-accent);color:var(--color-on-accent)}.btn-danger{background:var(--color-danger);color:var(--color-on-danger)}.btn-primary:focus-visible{outline-color:var(--color-on-accent);box-shadow:0 0 0 4px var(--color-accent)}.btn-danger:focus-visible{outline-color:var(--color-on-danger);box-shadow:0 0 0 4px var(--color-danger)}.btn-secondary{height:var(--size-control);border-radius:var(--radius-pill);border:0;background:var(--color-well);color:var(--color-ink);font:600 15px/1.2 var(--font-sans);display:grid;place-items:center;width:100%}.btn-soft,.btn-soft-danger{flex:none;height:var(--size-tap);padding:0 var(--space-16);border-radius:var(--radius-pill);border:0;font:var(--type-label);display:inline-flex;align-items:center}.btn-soft{background:var(--color-accent-soft);color:var(--color-accent)}.btn-soft-danger{background:var(--color-danger-soft);color:var(--color-danger)}.btn-text{height:var(--size-tap);padding:0 var(--space-12);border:0;background:transparent;color:var(--color-accent);font:var(--type-label);display:inline-flex;align-items:center}.icon-btn{flex:none;width:var(--size-tap);height:var(--size-tap);border-radius:var(--radius-pill);border:0;padding:0;background:transparent;color:var(--color-ink);display:grid;place-items:center}.icon-btn.well{background:var(--color-well)}[disabled]{opacity:.4;pointer-events:none}.busy{pointer-events:none}.spinner{width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.badge{flex:none;height:var(--size-badge);border-radius:var(--radius-pill);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-4);padding:0 10px;white-space:nowrap}.badge.fixed{width:76px;padding:0}.badge.wide{width:84px;padding:0}.badge.expired{background:var(--color-danger);color:var(--color-on-danger);font:var(--type-badge)}.badge.today{background:var(--color-attention-bg);color:var(--color-attention-ink);font:var(--type-badge)}.badge.date{background:var(--color-well);color:var(--color-ink);font:var(--type-badge-date)}.row{display:flex;align-items:center;gap:var(--space-12);min-height:var(--size-row-tall);border-bottom:1px solid var(--color-hair);position:relative}.row-main{flex:1;min-width:0;display:flex;flex-direction:column;color:var(--color-ink);background:none;border:0;padding:0;text-align:left}.row-title{font:var(--type-row);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.row-button{width:100%;background:transparent;border:0;border-bottom:1px solid var(--color-hair);padding:0;color:var(--color-ink);text-align:left;min-height:64px}.chev{flex:none;display:flex;color:var(--color-muted)}.changed{box-shadow:inset 0 0 0 2px var(--color-accent);border-radius:var(--radius-field);padding-left:8px;padding-right:8px}.chip-link.changed{box-shadow:0 0 0 2px var(--color-accent);border-radius:var(--radius-pill);padding:0 14px}.just-now{font:var(--type-micro);color:var(--color-accent);white-space:nowrap;flex:none}.triage{background:var(--color-accent);color:var(--color-on-accent);border-radius:var(--radius-hero);padding:18px 20px 20px;display:flex;flex-direction:column;gap:var(--space-12)}.triage-top{display:flex;justify-content:space-between;align-items:center}.triage-eyebrow{display:inline-flex;align-items:center;gap:6px;font:700 13px/1 var(--font-sans);letter-spacing:var(--tracking-eyebrow)}.triage-count{font:600 13px/1 var(--font-sans);opacity:.8}.triage-name{font:var(--type-hero);letter-spacing:var(--tracking-tight)}.triage-meta{font-size:16px;opacity:.85}.triage-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-10)}.triage-actions button{height:50px;border-radius:var(--radius-pill);font:var(--type-button)}.triage-toss{border:0;background:var(--color-on-accent);color:var(--color-accent)}.triage-good{border:2px solid var(--color-on-accent);background:transparent;color:var(--color-on-accent)}.triage :focus-visible{outline-color:var(--color-on-accent)}.card{background:var(--color-well);border-radius:var(--radius-card);padding:14px 16px;display:flex;flex-direction:column;gap:var(--space-8)}.chip-wrap{display:flex;flex-wrap:wrap;gap:var(--space-8)}.chip-link{height:var(--size-tap);padding:0 14px;border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-ink);display:inline-flex;align-items:center;gap:6px;font:var(--type-label)}.chip-link span.count{color:var(--color-muted);font-weight:500}.empty-card{border-radius:var(--radius-hero);display:flex;flex-direction:column}.empty-good{background:var(--color-accent-soft);padding:22px 20px;gap:var(--space-10)}.empty-fresh{background:var(--color-well);padding:24px 20px;gap:var(--space-12)}.empty-title{font:var(--type-title-2);letter-spacing:var(--tracking-snug)}.empty-tile{width:48px;height:48px;border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-on-accent);display:grid;place-items:center}.empty-cta{align-self:flex-start;height:var(--size-control-lg);padding:0 22px;border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-on-accent);font:var(--type-row);display:inline-flex;align-items:center;gap:6px;border:0}.empty-center{padding:64px 12px 0;display:flex;flex-direction:column;align-items:center;gap:var(--space-10);text-align:center}.empty-center .t{font:700 20px/1.3 var(--font-sans)}.empty-center .b{color:var(--color-muted)}.nav-fade{position:fixed;left:0;right:0;bottom:0;height:calc(110px + env(safe-area-inset-bottom));background:linear-gradient(to bottom,transparent,var(--color-bg) 60%);pointer-events:none;z-index:5}.nav{position:fixed;left:max(16px,calc(50% - 224px));right:max(16px,calc(50% - 224px));bottom:calc(20px + env(safe-area-inset-bottom));height:var(--size-nav);border-radius:var(--radius-pill);background:var(--color-surface);box-shadow:var(--shadow-float);display:grid;grid-template-columns:1fr 56px 1fr;align-items:center;padding:0 8px;gap:8px;z-index:6}.nav-item{height:var(--size-control);border-radius:var(--radius-pill);display:flex;align-items:center;justify-content:center;gap:8px;color:var(--color-muted);font:var(--type-button)}.nav-item.active{background:var(--color-accent-soft);color:var(--color-accent)}.nav-fab{width:56px;height:56px;border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-on-accent);display:grid;place-items:center;border:0;padding:0}.nav-fab:focus-visible{outline-color:var(--color-on-accent);box-shadow:0 0 0 4px var(--color-accent)}.nav-badge{min-width:22px;height:22px;padding:0 4px;border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-on-accent);font:700 13px/1 var(--font-sans);display:inline-grid;place-items:center;font-variant-numeric:tabular-nums}.field-pill{display:flex;align-items:center;gap:var(--space-10);border-radius:var(--radius-pill);background:var(--color-well);color:var(--color-muted)}.field-pill input{flex:1;min-width:0;border:0;background:transparent;color:var(--color-ink);font:var(--type-input);outline:none}.field-pill input::placeholder{color:var(--color-muted)}.field-pill:focus-within{box-shadow:inset 0 0 0 2px var(--color-accent)}.field-box{display:flex;align-items:center;gap:var(--space-10);min-height:var(--size-control-lg);padding:0 14px;border-radius:var(--radius-field);background:var(--color-well)}.field-box:focus-within{box-shadow:inset 0 0 0 2px var(--color-accent)}.field-box input{flex:1;min-width:0;border:0;background:transparent;color:var(--color-ink);font:var(--type-input);outline:none}.field-box input.strong{font:600 18px/1.3 var(--font-sans)}.field-context{font:600 13px/1.3 var(--font-sans);color:var(--color-muted);white-space:nowrap}.field-label{font:var(--type-field);color:var(--color-muted);display:block}.stack-6{display:flex;flex-direction:column;gap:var(--space-6)}.stack-10{display:flex;flex-direction:column;gap:var(--space-10)}.suggest{display:flex;flex-direction:column;background:var(--color-well);border-radius:var(--radius-field);overflow:hidden}.suggest button{min-height:var(--size-tap);padding:8px 14px;background:transparent;border:0;border-top:1px solid var(--color-hair);text-align:left;display:flex;justify-content:space-between;gap:12px;color:var(--color-ink);font:600 16px/1.3 var(--font-sans)}.suggest button:first-child{border-top:0}.suggest small{font:var(--type-meta);color:var(--color-muted)}.chip{flex:none;height:var(--size-tap);padding:0 var(--space-16);border-radius:var(--radius-pill);border:0;background:var(--color-well);color:var(--color-ink);font:var(--type-label);white-space:nowrap}.chip[aria-checked=true],.chip[aria-selected=true]{background:var(--color-accent);color:var(--color-on-accent)}.chip:focus-visible[aria-checked=true],.chip:focus-visible[aria-selected=true]{outline-color:var(--color-on-accent);box-shadow:0 0 0 4px var(--color-accent)}.chip-outline{flex:none;height:var(--size-tap);padding:0 var(--space-16);border-radius:var(--radius-pill);border:1.5px solid var(--color-hair);background:transparent;color:var(--color-ink);font:600 15px/1.2 var(--font-sans)}.chips-scroll{display:flex;gap:var(--space-8);overflow-x:auto;margin:0 calc(-1 * var(--gutter));padding:0 var(--gutter);scrollbar-width:none}.chips-scroll::-webkit-scrollbar{display:none}.chips-wrap{display:flex;flex-wrap:wrap;gap:var(--space-8)}.added-chip{height:32px;padding:0 12px 0 8px;border-radius:var(--radius-pill);background:var(--color-accent-soft);color:var(--color-accent);font:700 14px/1 var(--font-sans);display:inline-flex;align-items:center;gap:5px}.date-input{height:var(--size-tap);padding:0 var(--space-12);border-radius:var(--radius-pill);border:0;background:var(--color-well);color:var(--color-ink);font:var(--type-label)}.radio-row{display:flex;align-items:center;gap:var(--space-12);min-height:var(--size-row);padding:0 14px;width:100%;border-radius:var(--radius-field);border:0;background:var(--color-well);color:var(--color-ink);text-align:left}.radio-ring{flex:none;width:22px;height:22px;border-radius:50%;border:2px solid var(--color-muted)}.radio-row[aria-checked=true]{box-shadow:inset 0 0 0 2px var(--color-accent)}.radio-row[aria-checked=true] .radio-ring{border:7px solid var(--color-accent)}.radio-row.danger[aria-checked=true]{box-shadow:inset 0 0 0 2px var(--color-danger)}.radio-row.danger[aria-checked=true] .radio-ring{border-color:var(--color-danger)}.radio-label{flex:1;font:600 16px/1.3 var(--font-sans)}.stepper{display:grid;align-items:center;background:var(--color-well);border-radius:var(--radius-pill);padding:var(--space-4)}.stepper.lg{grid-template-columns:64px 1fr 64px}.stepper.md{grid-template-columns:56px 1fr 56px}.stepper button.step{margin:0 4px;border-radius:var(--radius-pill);border:0;background:var(--color-surface);color:var(--color-ink);display:grid;place-items:center;padding:0}.stepper.lg button.step{width:56px;height:56px}.stepper.md button.step{width:48px;height:48px}.stepper .value{background:none;border:0;padding:0;text-align:center;font-variant-numeric:tabular-nums;color:var(--color-ink);min-height:var(--size-tap)}.stepper.lg .value{font:var(--type-hero)}.stepper.md .value{font:var(--type-title-2)}.stepper .unit{font:600 17px/1 var(--font-sans);color:var(--color-muted)}.stepper.md .unit{font:600 16px/1 var(--font-sans)}.stepper input.exact{width:100%;border:0;background:transparent;text-align:center;font:var(--type-title-2);color:var(--color-ink);outline:none}.stepper-sm{display:flex;align-items:center;gap:var(--space-4);background:var(--color-surface);border-radius:var(--radius-pill);padding:var(--space-4)}.stepper-sm button.step{width:44px;height:44px;border-radius:var(--radius-pill);border:0;background:var(--color-well);color:var(--color-ink);display:grid;place-items:center;padding:0}.stepper-sm .value{min-width:88px;min-height:44px;background:none;border:0;text-align:center;font:var(--type-headline);font-variant-numeric:tabular-nums;color:var(--color-ink)}.stepper-sm input.exact{width:88px;border:0;background:transparent;text-align:center;font:var(--type-headline);color:var(--color-ink);outline:none}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-scrim);z-index:20}.sheet{position:fixed;left:max(0px,calc(50% - 240px));right:max(0px,calc(50% - 240px));bottom:0;z-index:21;border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;padding:10px var(--gutter) calc(34px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:var(--space-18);max-height:94dvh;overflow-y:auto;outline:none;overscroll-behavior:contain;touch-action:pan-y}.sheet.tall{top:calc(env(safe-area-inset-top) + 52px);gap:var(--space-16);padding-bottom:calc(28px + env(safe-area-inset-bottom));max-height:none}.grabber{align-self:center;width:40px;height:5px;border-radius:3px;background:var(--color-hair);flex:none}.grab-area{display:flex;justify-content:center;padding:10px 0 6px;margin:-10px 0 -6px;touch-action:none;cursor:grab;flex:none}.sheet h2{font:var(--type-title-2);letter-spacing:var(--tracking-snug)}.sheet-head{display:flex;flex-direction:column;gap:var(--space-2)}.sheet-sub{font:400 15px/1.35 var(--font-sans);color:var(--color-muted)}.sheet-q{font:600 15px/1.3 var(--font-sans);color:var(--color-muted)}.sheet-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-10);margin-top:-6px}.done-btn{height:var(--size-tap);padding:0 18px;border-radius:var(--radius-pill);background:var(--color-well);color:var(--color-ink);font:var(--type-button);border:0}.notice{display:flex;gap:var(--space-10);align-items:flex-start;background:var(--color-attention-bg);color:var(--color-attention-ink);border-radius:var(--radius-field);padding:12px 14px;font:var(--type-note)}.consequence{display:flex;gap:var(--space-10);align-items:flex-start;font:var(--type-note);color:var(--color-muted)}.helper{font:var(--type-meta);color:var(--color-muted)}.dialog-wrap{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-scrim);display:flex;align-items:center;justify-content:center;padding:var(--space-24);z-index:30}.dialog{width:100%;max-width:432px;border-radius:var(--radius-sheet);padding:24px 20px 20px;display:flex;flex-direction:column;gap:var(--space-10)}.dialog h2{font:var(--type-title-3)}.dialog p{margin-bottom:var(--space-8);color:var(--color-muted)}.dialog button{height:var(--size-control-lg);border-radius:var(--radius-pill);border:0;font:var(--type-row)}.dialog .danger{background:var(--color-danger);color:var(--color-on-danger)}.dialog .keep{background:var(--color-well);color:var(--color-ink)}.toast,.banner{position:fixed;left:max(16px,calc(50% - 224px));right:max(16px,calc(50% - 224px));bottom:calc(28px + env(safe-area-inset-bottom));z-index:40;border-radius:var(--radius-toast);box-shadow:var(--shadow-toast);animation:rise var(--dur-base) var(--ease-out)}.toast.with-nav,.banner.with-nav,.banner.above-toast{bottom:calc(96px + env(safe-area-inset-bottom))}.banner.with-nav.above-toast{bottom:calc(164px + env(safe-area-inset-bottom))}.toast{min-height:56px;padding:10px 18px;background:var(--color-inverse);color:var(--color-on-inverse);display:flex;align-items:center;gap:var(--space-12);font:var(--type-note);font-size:16px}.toast span{flex:1}.toast.fail{padding:6px 6px 6px 16px;font-size:15px}.toast.fail .ic{color:var(--color-danger-on-inverse)}.toast button{flex:none;height:var(--size-tap);padding:0 14px;border-radius:var(--radius-pill);border:0;background:var(--color-on-inverse);color:var(--color-inverse);font:var(--type-label)}.banner{padding:12px 14px;background:var(--color-attention-bg);color:var(--color-attention-ink);display:flex;gap:var(--space-10);align-items:flex-start;font:var(--type-note);z-index:39}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}.skel{background:var(--color-well);opacity:.6;border-radius:var(--radius-field)}.skel-row{height:62px;border-bottom:1px solid var(--color-hair);display:flex;align-items:center;gap:var(--space-12)}.skel-pill{width:76px;height:28px;border-radius:var(--radius-pill)}.skel-lines{flex:1;display:flex;flex-direction:column;gap:6px}.skel-line{height:14px;border-radius:7px}.gate{min-height:100dvh;display:flex;flex-direction:column;padding:env(safe-area-inset-top) 24px calc(44px + env(safe-area-inset-bottom))}.gate-main{flex:1;display:flex;flex-direction:column;justify-content:center;gap:var(--space-16)}.gate-main img{width:72px;height:72px;border-radius:var(--radius-field)}.gate-main h1{font:var(--type-display);letter-spacing:var(--tracking-tight)}.gate-main p{font:var(--type-lead);color:var(--color-muted)}.group{background:var(--color-well);border-radius:var(--radius-card);overflow:hidden}.group-row{width:100%;display:flex;align-items:center;gap:var(--space-12);min-height:var(--size-row);padding:0 12px 0 16px;border:0;border-top:1px solid var(--color-hair);background:transparent;color:var(--color-ink);text-align:left}.group-row:first-child{border-top:0}.group-row .n{flex:1;font:600 17px/1.3 var(--font-sans);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-row .c{font:400 15px/1 var(--font-sans);color:var(--color-muted)}.group-row.action{color:var(--color-accent);font:var(--type-row);gap:var(--space-10);padding:0 16px}.solo-row{display:flex;align-items:center;gap:var(--space-12);min-height:var(--size-row);padding:0 12px 0 16px;border-radius:var(--radius-card);background:var(--color-well);color:var(--color-ink)}.solo-col{flex:1;min-width:0;display:flex;flex-direction:column;padding:8px 0}.solo-col .n{font:600 17px/1.3 var(--font-sans)}.surface-btn{flex:none;height:var(--size-tap);padding:0 14px;border-radius:var(--radius-pill);border:0;background:var(--color-surface);color:var(--color-ink);font:var(--type-label)}.client{background:var(--color-well);border-radius:var(--radius-card);padding:14px 12px 14px 16px;display:flex;align-items:center;gap:var(--space-12);position:relative}.client-tile{flex:none;width:40px;height:40px;border-radius:var(--radius-tile);background:var(--color-surface);display:grid;place-items:center;color:var(--color-muted)}.addr{display:flex;align-items:center;gap:var(--space-8);background:var(--color-well);border-radius:var(--radius-field);padding:6px 6px 6px 14px;font:var(--type-meta)}.addr code{flex:1;min-width:0;font:inherit;overflow-wrap:anywhere;color:var(--color-ink)}.check-row{width:100%;min-height:54px;display:flex;align-items:center;gap:14px;border:0;background:transparent;color:var(--color-ink);text-align:left;padding:0}.check-ring{flex:none;width:26px;height:26px;border-radius:50%;border:2px solid var(--color-muted)}.check-name{flex:1;min-width:0;font:var(--type-list-item);overflow-wrap:anywhere}.check-note{display:inline-flex;align-items:center;gap:4px;font:600 13px/1.2 var(--font-sans);color:var(--color-muted);flex:none}.list-row{display:flex;align-items:center;gap:var(--space-4)}.list-row .check-row{flex:1;min-width:0}.row-remove{flex:none;width:var(--size-tap);height:var(--size-tap);display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--color-muted)}li.bordered{border-bottom:1px solid var(--color-hair);position:relative}.item-head{display:flex;flex-direction:column;gap:var(--space-4)}.item-head h1{font:var(--type-item);letter-spacing:var(--tracking-tight);overflow-wrap:anywhere}.item-summary{font:400 18px/1.35 var(--font-sans)}.item-summary strong{font-variant-numeric:tabular-nums}.action-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--space-8)}.action-grid button{height:var(--size-control-lg);border-radius:var(--radius-pill);border:0}.action-use{background:var(--color-accent);color:var(--color-on-accent);font:var(--type-button)}.action-use:focus-visible{outline-color:var(--color-on-accent);box-shadow:0 0 0 4px var(--color-accent)}.action-more{background:var(--color-well);color:var(--color-ink);font:600 15px/1.2 var(--font-sans)}.restock-card{padding:var(--space-16);gap:var(--space-12)}.restock-row{display:flex;align-items:center;justify-content:space-between}.cook-bar{min-height:var(--size-control-xl);padding:10px 14px 10px 10px;border-radius:var(--radius-toast);background:var(--color-accent-soft);color:var(--color-accent);display:flex;align-items:center;gap:var(--space-12)}.cook-bar-icon{flex:none;width:36px;height:36px;border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-on-accent);display:grid;place-items:center}.cook-bar-text{flex:1;min-width:0;display:flex;flex-direction:column}.cook-bar-title{font:700 16px/1.3 var(--font-sans)}.cook-bar-detail{font:500 14px/1.3 var(--font-sans);color:var(--color-muted)}.cook-chips{padding-top:var(--space-4);padding-bottom:var(--space-4)}.cook-group-head{margin:var(--space-12) 0 var(--space-2);font:var(--type-headline);display:flex;align-items:center;gap:var(--space-8)}.cook-group-head .count{font-weight:500;color:var(--color-muted)}.cook-group-head.ready>span:first-child{color:var(--color-accent)}.cook-group-head.one>span:first-child{color:var(--color-muted)}.cook-row{display:flex;align-items:center;gap:var(--space-12);padding:var(--space-12) 0;border-bottom:1px solid var(--color-hair)}.cook-row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-8);color:var(--color-ink)}.cook-row-text{display:flex;flex-direction:column}.cook-row-title{font:var(--type-row)}.cook-row .meta strong{color:var(--color-ink);font-weight:600}.cook-pills{display:flex;flex-wrap:wrap;gap:var(--space-6)}.cook-pill{height:var(--size-badge);padding:0 10px 0 3px;border-radius:var(--radius-pill);background:var(--color-well);display:inline-flex;align-items:center;gap:var(--space-6);font:600 13px/1 var(--font-sans)}.cook-pill-when{height:22px;padding:0 var(--space-8);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-ink);font:var(--type-micro);display:inline-flex;align-items:center}.cook-pill-when.today{background:var(--color-attention-bg);color:var(--color-attention-ink)}.cook-on-list{flex:none;align-self:flex-start;min-height:var(--size-tap);font:600 14px/1.2 var(--font-sans);color:var(--color-muted);display:inline-flex;align-items:center;gap:var(--space-4)}.cook-row>.btn-soft{align-self:flex-start;padding:0 14px}.cook-more{width:100%;min-height:var(--size-control-xl);margin-top:var(--space-4);padding:0 14px 0 16px;border:0;border-radius:var(--radius-card);background:var(--color-well);color:var(--color-ink);display:flex;align-items:center;gap:var(--space-12);text-align:left}.cook-more-label{flex:1;font:600 16px/1.3 var(--font-sans)}.cook-more-label .count{color:var(--color-muted);font-weight:500}.cook-more-chev{display:flex;color:var(--color-muted);transition:transform var(--dur-fast) var(--ease-out)}.cook-more[aria-expanded=true] .cook-more-chev{transform:rotate(90deg)}.recipe-header{justify-content:space-between}.recipe-serves{padding-right:var(--space-8);font:var(--type-label);color:var(--color-muted)}.recipe-head{display:flex;flex-direction:column;gap:var(--space-4)}.recipe-head h1{font:var(--type-item);letter-spacing:var(--tracking-tight)}.recipe-sub{color:var(--color-muted)}.recipe-ing{display:flex;align-items:center;gap:var(--space-12);min-height:var(--size-row-tall);padding:var(--space-6) 0;border-bottom:1px solid var(--color-hair)}.recipe-ing-icon{flex:none;width:24px;height:24px;display:grid;place-items:center;color:var(--color-muted)}.recipe-ing-icon.have{color:var(--color-accent)}.recipe-ing-text{flex:1;min-width:0;display:flex;flex-direction:column}.recipe-ing-name{font:500 17px/1.3 var(--font-sans)}.recipe-ing-name strong{font-weight:700}.recipe-ing .badge{flex:none}.recipe-steps{margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-12);list-style:none}.recipe-steps li{display:flex;gap:var(--space-12);font:400 16px/1.45 var(--font-sans)}.recipe-step-n{flex:none;width:28px;height:28px;border-radius:var(--radius-pill);background:var(--color-well);font:700 14px/1 var(--font-sans);display:grid;place-items:center}.recipe-footer{position:fixed;left:max(0px,calc(50% - 240px));right:max(0px,calc(50% - 240px));bottom:0;z-index:5;padding:28px var(--gutter) calc(30px + env(safe-area-inset-bottom));background:linear-gradient(to bottom,transparent,var(--color-bg) 30%)}.recipe-footer .btn-primary{text-decoration:none}.made-list{display:flex;flex-direction:column;list-style:none}.made-row{display:flex;align-items:center;gap:var(--space-10);min-height:64px;padding:var(--space-4) 0;border-bottom:1px solid var(--color-hair)}.made-text{flex:1;min-width:0;display:flex;flex-direction:column}.made-note{font:400 13px/1.3 var(--font-sans);color:var(--color-muted)}.made-switch{flex:none;display:flex;gap:var(--space-2);padding:3px;border-radius:var(--radius-pill);background:var(--color-well)}.made-switch button{height:40px;padding:0 var(--space-12);border:0;border-radius:var(--radius-pill);background:transparent;color:var(--color-muted);font:700 14px/1 var(--font-sans);white-space:nowrap}.made-switch button.leave[aria-checked=true]{background:var(--color-surface);color:var(--color-ink);box-shadow:var(--shadow-float)}.made-switch button.take[aria-checked=true]{background:var(--color-accent);color:var(--color-on-accent)}.made-switch button.take[aria-checked=true]:focus-visible{outline-color:var(--color-on-accent);box-shadow:0 0 0 4px var(--color-accent)}.made-skip{align-self:center;margin-top:-6px}.places{background:var(--color-well);border-radius:var(--radius-card);overflow:hidden}.place{display:flex;align-items:center;gap:var(--space-10);min-height:64px;padding:8px 12px 8px 16px}.place+.place{border-top:1px solid var(--color-hair)}.place-main{flex:1;min-width:0;display:flex;flex-direction:column}.place-name{font:var(--type-row)}.place-cats{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.place-n{font:var(--type-headline);font-variant-numeric:tabular-nums}.inv{display:flex;flex-direction:column;gap:var(--space-8)}.inv-place{font:var(--type-headline);margin-top:var(--space-14)}.inv-cat{margin:var(--space-12) 0 0}a.row.inv-row{min-height:50px}.inv-name{font:var(--type-row);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inv-qty{flex:none;font:var(--type-meta);color:var(--color-muted);font-variant-numeric:tabular-nums}.ask{background:var(--color-well);border-radius:var(--radius-hero);padding:16px 18px 8px;display:flex;flex-direction:column;gap:var(--space-10)}.ask-top{display:flex;justify-content:space-between;align-items:center}.ask-eyebrow{font:700 13px/1 var(--font-sans);letter-spacing:var(--tracking-eyebrow);color:var(--color-accent)}.ask-name{display:block;font:var(--type-title-2);letter-spacing:var(--tracking-snug)}.ask-q{font:var(--type-body)}.ask-actions{display:flex;flex-wrap:wrap;gap:var(--space-8)}.ask-actions .chip,.ask-actions .date-input{background:var(--color-surface)}.ask-later{align-self:center}
