@font-face{font-family:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/figtree-latin-ext-wght-normal-DCwSJGxG.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/figtree-latin-wght-normal-D_ZTVpCC.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#e6f0ea;--card:#fff;--ink:#10261b;--muted:#5b7366;--faint:#b0c4b8;--off:#eff5f1;--edge:#10261b17;--line:#e5efe9;--shade:#0a5a3c33;--press:#0d86570f;--accent:#0d8657;--accent-soft:#d6f1e3;--accent-hover:#0b744b;--accent-soft-hover:#c4eed8;--on-accent:#fff;--glow:#0d865780;--urgent:#d43f2e;--urgent-soft:#fde3de;--scrim:#10261b66;--font:"Figtree Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--text-micro:.75rem;--text-sm:.9375rem;--text-lg:1.0625rem;--text-xl:1.5rem;--radius-card:14px;--radius-panel:18px;--radius-btn:15px;--radius-ctrl:11px;--sheet-in:.32s cubic-bezier(.32, .72, 0, 1);--sheet-out:.2s cubic-bezier(.4, 0, 1, 1);--tap:2.75rem;--gutter:.875rem;--column:34rem}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--font);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.4}.screen{min-height:100dvh;max-width:var(--column);flex-direction:column;margin:0 auto;display:flex}.topbar{z-index:10;align-items:center;gap:var(--space-3);grid-template-columns:auto 1fr;grid-auto-rows:minmax(var(--tap), auto);padding:var(--space-4) calc(var(--gutter) + 4px) var(--space-3);background:var(--bg);display:grid;position:sticky;top:0}.titles{grid-column:2;min-width:0}.title{font-size:var(--text-xl);letter-spacing:-.01em;margin:0;font-weight:800;line-height:1.15}.title.brand:after{content:".";color:var(--accent)}.subtitle{color:var(--muted);margin:0;font-size:.8125rem;font-weight:500}.content{padding:var(--space-1) var(--gutter) var(--space-5);flex:1}.actions{z-index:10;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--gutter);padding-bottom:calc(var(--space-3) + env(safe-area-inset-bottom));background:var(--card);border-top:1px solid var(--line);display:flex;position:sticky;bottom:0}.actions .btn{flex:1}.actions .btn-icon,.actions .btn-quiet{flex:none}.btn{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-btn);background:var(--accent-soft);min-height:3.125rem;color:var(--accent);font-family:inherit;font-size:var(--text-sm);cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;padding:0 1.125rem;font-weight:700;transition:transform 90ms,background-color .12s,color .12s,box-shadow .12s,opacity .12s;display:inline-flex}.btn:active:not(:disabled){transform:scale(.96)}.btn:disabled{background:var(--off);color:var(--faint);cursor:default}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-primary{background:var(--accent);color:var(--on-accent);box-shadow:0 6px 14px -6px var(--glow)}.btn-primary:disabled{background:var(--faint);color:var(--on-accent);box-shadow:none}.btn-quiet{color:var(--muted);background:0 0}.btn-danger{color:var(--urgent);background:0 0}.btn-quiet:disabled,.btn-danger:disabled{background:0 0}.btn-icon{width:3.125rem;padding:0}.btn-icon svg{width:1.25rem;height:1.25rem}.btn svg{flex:none;width:1.1em;height:1.1em}.topbar .btn-icon{border-radius:var(--radius-ctrl);background:var(--card);width:2.25rem;min-height:2.25rem;color:var(--ink);border:1px solid var(--edge);box-shadow:0 1px 2px #0000000f}.topbar .btn-icon svg{width:1.125rem;height:1.125rem}@media (hover:hover){.btn:hover:not(:disabled){background:var(--accent-soft-hover)}.btn-primary:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 8px 18px -6px var(--glow)}.btn-primary:hover:not(:disabled):not(:active){transform:translateY(-1px)}.btn-quiet:hover:not(:disabled){background:var(--press);color:var(--ink)}.btn-danger:hover:not(:disabled){background:var(--urgent-soft)}.topbar .btn-icon:hover:not(:disabled){background:var(--card);color:var(--accent);border-color:#0d865759}}.cards{gap:var(--space-2);flex-direction:column;display:flex}.card{gap:var(--space-3);width:100%;min-height:3.375rem;padding:var(--space-3) var(--space-3) var(--space-3) 14px;border:1px solid var(--edge);border-radius:var(--radius-card);background:var(--card);box-shadow:0 1px 2px #0000000d, 0 4px 12px -6px var(--shade);color:inherit;font:inherit;text-align:left;grid-template-columns:1fr auto;align-items:center;display:grid}.card-tap{cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color .12s}.card-tap:active{background:linear-gradient(var(--press), var(--press)), var(--card)}.card-tap:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.card .body{min-width:0}.card .name{font-size:var(--text-sm);overflow-wrap:anywhere;font-weight:500;line-height:1.3;display:block}.card .note{font-size:var(--text-micro);color:var(--muted);font-variant-numeric:tabular-nums;margin-top:3px;display:block}.card .target{background:var(--accent-soft);color:var(--accent);white-space:nowrap;font-variant-numeric:tabular-nums;border-radius:99px;padding:4px 10px;font-size:.8125rem;font-weight:700}.card .target small{font-size:inherit;opacity:.75;font-weight:500}.badge{background:var(--urgent-soft);color:var(--urgent);font-size:var(--text-sm);white-space:nowrap;font-variant-numeric:tabular-nums;border-radius:99px;padding:5px 12px;font-weight:800}.group+.group{margin-top:var(--space-5)}.group-head{align-items:center;gap:var(--space-2);min-height:1.75rem;margin:0 0 var(--space-2);letter-spacing:.06em;text-transform:uppercase;color:var(--accent);padding:0 6px;font-size:.8125rem;font-weight:800;display:flex}.group-count{background:var(--accent-soft);letter-spacing:0;font-variant-numeric:tabular-nums;border-radius:99px;padding:1px 7px;font-size:.6875rem}.group-none .group-head{color:var(--muted)}.group-none .group-count{background:var(--off)}.group-edit{width:2rem;height:2rem;color:var(--muted);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:9px;place-items:center;margin:-4px -4px -4px auto;transition:background-color .12s,color .12s;display:inline-grid}.group-edit:hover{background:var(--accent-soft);color:var(--accent)}.group-edit:focus-visible{outline:2px solid var(--accent);outline-offset:0}.group-edit svg{width:1rem;height:1rem}.group-empty{padding:var(--space-2) 6px;color:var(--faint);margin:0;font-size:.8125rem;font-style:italic}.chips{margin-bottom:var(--space-4);flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--edge);background:var(--card);min-height:2.25rem;color:var(--ink);font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:99px;padding:0 14px;font-size:.875rem;font-weight:600;transition:background-color .12s,border-color .12s,color .12s}@media (hover:hover){.chip:hover:not([aria-pressed=true]){background:var(--accent-soft);border-color:#0d865759}.chip-add:hover:not([aria-pressed=true]){border-color:var(--accent)}}.chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chip[aria-pressed=true]{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.chip-none{color:var(--muted)}.chip-none[aria-pressed=true]{border-color:var(--ink);background:var(--ink)}.chip-add{border-style:dashed;border-color:var(--accent);color:var(--accent);background:0 0}.new-category{margin-bottom:var(--space-4);gap:6px;display:flex}.sheet .new-category input{flex:1;margin:0}.new-category .btn{min-height:3rem}.order-layout{flex-direction:column;display:flex}.summary{gap:var(--space-3);margin:0 0 var(--space-3);grid-template-columns:1fr 1fr;display:grid}.summary div{padding:var(--space-3) 14px;border:1px solid var(--edge);border-radius:var(--radius-panel);background:var(--card);display:grid;box-shadow:0 1px 2px #0000000d}.summary dt{color:var(--muted);order:2;font-size:.8125rem;font-weight:500}.summary dd{font-variant-numeric:tabular-nums;margin:0;font-size:1.75rem;font-weight:800;line-height:1.1}.summary .pieces dd{color:var(--urgent)}.stepper{align-items:center;gap:6px;display:inline-flex}.stepper .btn-icon{border-radius:var(--radius-ctrl);width:2.125rem;min-height:2.125rem;font-size:1.1875rem;line-height:1}.stepper output{text-align:center;min-width:1.75rem;font-size:var(--text-lg);color:var(--faint);font-variant-numeric:tabular-nums;font-weight:800}.stepper output.on{color:var(--ink)}.stepper .count{border:1px solid var(--line);background:var(--bg);text-align:center;width:2.875rem;height:2.125rem;font:inherit;font-size:var(--text-lg);color:var(--faint);font-variant-numeric:tabular-nums;border-radius:10px;font-weight:800}.stepper .count.on{color:var(--ink)}.stepper .count:focus{border-color:var(--accent);background:var(--card);color:var(--ink);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.preview{border:1px solid var(--edge);border-radius:var(--radius-card);background:var(--card);margin:0}.preview figcaption{padding:var(--space-2) 14px;border-bottom:1px solid var(--line);color:var(--muted);justify-content:space-between;font-size:.8125rem;font-weight:600;display:flex}.preview pre{padding:var(--space-2) 14px var(--space-3);white-space:pre-wrap;max-height:min(21rem,50vh);color:var(--ink);margin:0;font:.78rem/1.6 ui-monospace,SF Mono,Menlo,monospace;overflow:auto}.wide-only{display:none}.notice{margin:0 0 var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--edge);border-radius:var(--radius-ctrl);background:var(--card);color:var(--muted);font-size:.8125rem;line-height:1.5}.notice-error{border-color:var(--urgent-soft);background:var(--urgent-soft);color:var(--urgent)}.empty{margin:var(--space-5) 0;font-size:var(--text-sm);color:var(--muted);text-align:center}.backdrop{z-index:30;background:var(--scrim);animation:scrim-in var(--sheet-in);justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.backdrop[data-closing]{animation:scrim-out var(--sheet-out) forwards}.sheet{animation:rise var(--sheet-in)}.backdrop[data-closing] .sheet{animation:sink var(--sheet-out) forwards}@keyframes scrim-in{0%{background-color:#0000}}@keyframes scrim-out{to{background-color:#0000}}@keyframes rise{0%{transform:translateY(100%)}}@keyframes sink{to{transform:translateY(100%)}}@keyframes slide-in{0%{transform:translate(100%)}}@keyframes slide-out{to{transform:translate(100%)}}.sheet{width:100%;max-width:var(--column);padding:var(--space-5) calc(var(--gutter) + 4px);padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom));background:var(--card);box-shadow:0 -10px 30px -12px var(--shade);border-radius:24px 24px 0 0}.sheet-title{margin:0 0 var(--space-4);font-size:1.25rem;font-weight:800}.sheet-head{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.sheet-head .sheet-title{margin:0}.sheet-close{width:var(--tap);min-height:var(--tap);border-radius:var(--radius-ctrl);color:var(--ink);margin:-6px -10px -6px 0}.sheet label,.sheet .label{color:var(--muted);margin-bottom:6px;font-size:.8125rem;font-weight:600;display:block}.sheet input{width:100%;min-height:3rem;margin-bottom:var(--space-4);padding:0 var(--space-3);border:1px solid var(--edge);border-radius:var(--radius-ctrl);background:var(--bg);color:var(--ink);font:inherit;font-size:16px}.sheet input:focus-visible{outline:2px solid var(--accent);outline-offset:0;background:var(--card)}.sheet-actions{align-items:center;gap:var(--space-2);display:flex}.sheet-actions .btn-primary{flex:1}.sheet-actions .btn-danger{margin-left:auto}.sheet-note{margin:var(--space-3) 0 0;color:var(--muted);font-size:.8125rem}.sheet-confirm{font-size:var(--text-sm);flex:1;margin:0;font-weight:600}.prompt-backdrop{z-index:40;padding:var(--gutter);background:var(--scrim);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.prompt{width:100%;max-width:20rem;padding:var(--space-5);border-radius:var(--radius-panel);background:var(--card);box-shadow:0 20px 40px -16px var(--shade)}.prompt-title{margin:0 0 var(--space-2);font-size:1.125rem;font-weight:800}.prompt-text{margin:0 0 var(--space-5);font-size:var(--text-sm);color:var(--muted)}.prompt-actions{gap:var(--space-2);display:flex}.prompt-actions .btn:first-child{flex:1}@media (width>=900px){:root{--wide-column:77.5rem;--panel:23.75rem;--open-gap:max(0px, calc((100% - var(--panel) - var(--wide-column)) / 2))}.screen{--closed-gap:max(0px, calc((100% - var(--wide-column)) / 2));margin-left:var(--closed-gap);margin-right:var(--closed-gap);transition:margin-left var(--sheet-in), margin-right var(--sheet-in);max-width:var(--wide-column);grid-template-rows:auto 1fr;grid-template-columns:1fr auto;align-content:start;display:grid}.topbar{border-bottom:1px solid var(--edge);grid-area:1/1;gap:14px;padding:18px 0 18px 32px}.titles{align-items:baseline;column-gap:var(--space-3);flex-wrap:wrap;display:flex}.title{font-size:1.625rem}.subtitle{font-size:.875rem}.topbar .btn-icon{width:2.5rem;min-height:2.5rem}.actions{background:var(--bg);border-top:none;border-bottom:1px solid var(--edge);flex-direction:row-reverse;grid-area:1/2;gap:10px;padding:18px 32px 18px 14px;top:0;bottom:auto}.actions .btn{flex:none;min-height:2.625rem}.actions .btn-add{width:auto;padding:0 18px}.wide-only{display:inline}.content{grid-area:2/1/auto/-1;padding:18px 32px 32px}.cards{grid-template-columns:repeat(auto-fill,minmax(18.75rem,1fr));gap:10px;display:grid}.card{min-height:3.625rem}.card-tap:hover{border-color:#0d865759}.card.selected,.card:not(.card-tap):focus-within{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent), 0 4px 12px -6px var(--shade)}.backdrop{pointer-events:none;background:0 0;justify-content:flex-end;align-items:stretch}.sheet{pointer-events:auto;width:var(--panel);border-left:1px solid var(--edge);max-width:none;height:100%;box-shadow:-12px 0 30px -18px var(--shade);border-radius:0;padding:24px;animation-name:slide-in;overflow-y:auto}.backdrop[data-closing] .sheet{animation-name:slide-out}.screen:has(+.backdrop:not([data-closing])){margin-left:var(--open-gap);margin-right:calc(var(--panel) + var(--open-gap))}.order-layout{gap:var(--space-5);grid-template-columns:1fr 22.5rem;align-items:start;display:grid}.order-list{grid-area:1/1}.order-side{gap:var(--space-3);grid-area:1/2;display:grid;position:sticky;top:6.5rem}.order-side .summary{margin:0}.order-side .btn{min-height:3.25rem;font-size:1rem}}@media (prefers-reduced-motion:reduce){.btn,.card-tap,.chip,.group-edit,.screen{transition:none}.backdrop,.sheet,.backdrop[data-closing],.backdrop[data-closing] .sheet{animation:none}.btn:active:not(:disabled),.btn-primary:hover:not(:disabled):not(:active){transform:none}}
