:root{--bg:#fafaf7;--surface:#fff;--ink:#17201c;--ink-2:#4a5852;--muted:#7a867f;--line:#dde1dc;--line-strong:#c3cac4;--green:#2e6b4a;--green-ink:#1f4f36;--green-soft:#e4efe8;--gold:#f2c14e;--gold-soft:#fbf0cf;--red:#b8432e;--red-soft:#f8e4df;--focus:#2e6b4a;--font:"Bricolage Grotesque",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--r-sm:6px;--r-md:10px;--r-lg:18px;--shadow-sheet:0 -8px 40px #17201c2e;--max:1200px;--gutter:16px;--nav-h:60px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#141a17;--surface:#1c2420;--ink:#eef2ee;--ink-2:#b9c3bc;--muted:#87938c;--line:#2b352f;--line-strong:#3d4a42;--green:#6fb98f;--green-ink:#9bd4b4;--green-soft:#1f3328;--gold:#e6b53f;--gold-soft:#3a3015;--red:#e3826d;--red-soft:#3c231e;--focus:#6fb98f;--shadow-sheet:0 -8px 40px #00000080}}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{-webkit-font-smoothing:antialiased;background:#fafaf7;background:var(--bg);color:#17201c;color:var(--ink);font-family:Bricolage Grotesque,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-family:var(--font);font-optical-sizing:auto;font-size:16px;line-height:1.45;margin:0}button,input{color:inherit;font:inherit}button{background:none;border:0;cursor:pointer;padding:0}:focus-visible{outline:2px solid #2e6b4a;outline:2px solid var(--focus);outline-offset:2px}a{color:#2e6b4a;color:var(--green);text-decoration-thickness:1px;text-underline-offset:2px}.app{min-height:100vh;padding-bottom:calc(76px + env(safe-area-inset-bottom));padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 16px)}.topbar{align-items:baseline;display:flex;gap:16px;justify-content:space-between;margin:0 auto;max-width:1200px;max-width:var(--max);padding:20px 16px 8px;padding:20px var(--gutter) 8px}.brand{font-size:18px;font-variation-settings:"wdth" 90;font-weight:700;letter-spacing:-.01em}.brand span{color:#7a867f;color:var(--muted);font-weight:500}.brand-row{align-items:center;display:flex;gap:12px}.sync-pill{align-items:center;border:1px solid #dde1dc;border:1px solid var(--line);border-radius:999px;color:#4a5852;color:var(--ink-2);display:inline-flex;font-size:13px;font-weight:500;gap:6px;padding:4px 10px 4px 8px}.sync-pill:hover{border-color:#4a5852;border-color:var(--ink-2)}.sync-pill .dot{background:#c3cac4;background:var(--line-strong);border-radius:50%;height:8px;width:8px}.sync-pill.synced .dot{background:#2e6b4a;background:var(--green)}.sync-pill.connecting .dot,.sync-pill.offline .dot,.sync-pill.signed-out .dot{background:#f2c14e;background:var(--gold)}.sync-pill.error .dot,.sync-pill.missing .dot{background:#b8432e;background:var(--red)}.code-display{font-feature-settings:"tnum";font-size:44px;font-variant-numeric:tabular-nums;font-variation-settings:"wdth" 90;font-weight:800;letter-spacing:.18em;padding:18px 0 6px;text-align:center}.help{color:#4a5852;color:var(--ink-2);font-size:15px;margin:8px 0 0}.link-preview{color:#7a867f;color:var(--muted);font-size:13px;overflow-wrap:anywhere}.google-button{display:flex;justify-content:center;margin:18px 0 4px;min-height:44px}.account-line{align-items:center;display:flex;flex-wrap:wrap;font-size:14px;gap:4px 8px;overflow-wrap:anywhere}.sync-options{grid-gap:18px;display:grid;gap:18px}.sync-option{border:1px solid #dde1dc;border:1px solid var(--line);border-radius:10px;border-radius:var(--r-md);padding:16px}.sync-option h3{font-size:17px;font-weight:700;margin:0}.sync-option .btn,.sync-option form{margin-top:12px}.sync-option input{letter-spacing:.1em;text-transform:uppercase}.tabs{display:flex;gap:2px}.tab{border-radius:999px;color:#4a5852;color:var(--ink-2);font-weight:500;padding:8px 14px;position:relative}.tab[aria-current=page]{background:#17201c;background:var(--ink);color:#fafaf7;color:var(--bg)}.tab .count{font-feature-settings:"tnum";color:#7a867f;color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums;margin-left:6px}.tab[aria-current=page] .count{color:inherit;opacity:.7}@media (max-width:760px){.topbar{padding-top:14px}.tabs{background:#fff;background:var(--surface);border-top:1px solid #dde1dc;border-top:1px solid var(--line);bottom:0;height:calc(60px + env(safe-area-inset-bottom));height:calc(var(--nav-h) + env(safe-area-inset-bottom));justify-content:space-around;left:0;padding:6px 8px env(safe-area-inset-bottom);position:fixed;right:0;z-index:20}.tab{border-radius:10px;border-radius:var(--r-md);flex:1 1;padding:10px 6px;text-align:center}}@media (min-width:761px){.app{padding-bottom:48px}}.view{margin:0 auto;max-width:1200px;max-width:var(--max);padding:8px 16px 0;padding:8px var(--gutter) 0}.weeknav{align-items:flex-end;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin:8px 0 20px}.weeknav h1{font-size:clamp(28px,5vw,40px);font-weight:700;letter-spacing:-.02em;line-height:1;margin:0}.weeknav .sub{color:#7a867f;color:var(--muted);font-size:15px;margin:6px 0 0}.weeknav .controls{display:flex}.btn,.weeknav .controls{align-items:center;gap:6px}.btn{background:#fff;background:var(--surface);border:1px solid #c3cac4;border:1px solid var(--line-strong);border-radius:999px;color:#17201c;color:var(--ink);display:inline-flex;font-weight:500;justify-content:center;min-height:38px;padding:0 14px;white-space:nowrap}.btn:hover{border-color:#4a5852;border-color:var(--ink-2)}.btn.icon{font-size:18px;line-height:1;padding:0;width:38px}.btn.primary{background:#2e6b4a;background:var(--green);border-color:#2e6b4a;border-color:var(--green);color:#fff}.btn.primary:hover{background:#1f4f36;background:var(--green-ink);border-color:#1f4f36;border-color:var(--green-ink)}.btn.quiet{background:#0000;border-color:#0000;color:#4a5852;color:var(--ink-2)}.btn.quiet:hover{background:#e4efe8;background:var(--green-soft);color:#17201c;color:var(--ink)}.btn.danger{background:#0000;border-color:#0000;color:#b8432e;color:var(--red)}.btn.danger:hover{background:#f8e4df;background:var(--red-soft)}.btn:disabled{cursor:default;opacity:.45}.week{border-top:1px solid #c3cac4;border-top:1px solid var(--line-strong);display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.day{border-right:1px solid #dde1dc;border-right:1px solid var(--line);display:flex;flex-direction:column;min-width:0;padding:14px 10px 18px}.day:last-child{border-right:0}.day-head{align-items:baseline;display:flex;gap:8px;margin-bottom:14px}.day-head .num{font-feature-settings:"tnum";border-radius:6px;border-radius:var(--r-sm);font-size:40px;font-variant-numeric:tabular-nums;font-variation-settings:"wdth" 85;font-weight:800;letter-spacing:-.04em;line-height:.9;margin-left:-6px;padding:2px 6px 4px}.day-head .dow{color:#4a5852;color:var(--ink-2);font-size:14px;font-weight:500}.day.today .num{background:#f2c14e;background:var(--gold);color:#17201c}.day.past{opacity:.72}.daycard{background:#fff;background:var(--surface);border:1px solid #dde1dc;border:1px solid var(--line);border-radius:10px;border-radius:var(--r-md);display:flex;flex:1 1;flex-direction:column;overflow:hidden;transition:border-color .12s ease}.daycard:focus-within,.daycard:hover{border-color:#2e6b4a;border-color:var(--green)}.slot{background:#0000;display:flex;flex:1 1;flex-direction:column;justify-content:space-between;min-height:132px;padding:12px 12px 10px;text-align:left;transition:background .12s ease;width:100%}.slot .items{display:flex;flex-direction:column;gap:6px}.slot .name{display:block;font-size:19px;font-weight:700;letter-spacing:-.02em;line-height:1.15;overflow-wrap:anywhere}.slot .items .name+.name{color:#4a5852;color:var(--ink-2);font-size:16px;font-weight:600}.slot .name.note{color:#4a5852;color:var(--ink-2);font-style:italic;font-weight:500}.slot .flags{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.slot .flag{color:#7a867f;color:var(--muted);font-size:12px}.daycard.vacant{background:#0000;border-style:dashed}.daycard.vacant .slot{justify-content:flex-start}.daycard.vacant .name{color:#7a867f;color:var(--muted);font-size:16px;font-weight:500}.extras{border-top:1px dashed #dde1dc;border-top:1px dashed var(--line)}.extra,.extras{display:flex;flex-direction:column}.extra{font-size:13px;gap:1px;line-height:1.3;padding:7px 12px;text-align:left;width:100%}.extra+.extra{border-top:1px dashed #dde1dc;border-top:1px dashed var(--line)}.extra:hover{background:#e4efe8;background:var(--green-soft)}.extra-meal{color:#7a867f;color:var(--muted);font-size:12px}.extra-name{color:#4a5852;color:var(--ink-2);font-weight:600}.slot:hover{background:#e4efe8;background:var(--green-soft)}@media (max-width:760px){.week{border-top:0;grid-template-columns:1fr}.day{grid-gap:12px;align-items:center;border-right:0;border-top:1px solid #dde1dc;border-top:1px solid var(--line);display:grid;gap:12px;grid-template-columns:72px 1fr;padding:10px 0}.day-head{align-items:flex-start;flex-direction:column;gap:0;margin:0}.day-head .num{font-size:34px}.day-head .dow{font-size:13px}.slot{justify-content:center;min-height:68px;padding:10px 12px}.extra{align-items:baseline;flex-direction:row;gap:8px;padding:6px 12px}.extra-meal{min-width:64px}.slot .name{font-size:17px}.slot .flags{margin-top:4px}}.week-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.week-actions .hint{color:#7a867f;color:var(--muted);font-size:14px}.toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin:4px 0 16px}.search{flex:1 1 240px;position:relative}.search input{background:#fff;background:var(--surface);border:1px solid #c3cac4;border:1px solid var(--line-strong);border-radius:999px;min-height:42px;padding:0 14px 0 38px;width:100%}.search .glyph,.search input::placeholder{color:#7a867f;color:var(--muted)}.search .glyph{left:14px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{background:#fff;background:var(--surface);border:1px solid #c3cac4;border:1px solid var(--line-strong);border-radius:999px;color:#4a5852;color:var(--ink-2);font-size:14px;font-weight:500;min-height:34px;padding:0 12px}.chip[aria-pressed=true]{background:#17201c;background:var(--ink);border-color:#17201c;border-color:var(--ink);color:#fafaf7;color:var(--bg)}.chip .count{font-feature-settings:"tnum";color:#7a867f;color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums;margin-left:5px}.chip[aria-pressed=true] .count{color:inherit;opacity:.7}.chips.tags{flex-basis:100%;padding-top:2px}.filter-toggle{font-size:14px;gap:6px;min-height:34px;padding:0 12px 0 10px}.filter-toggle[aria-expanded=true],.filter-toggle[aria-pressed=true]{background:#e4efe8;background:var(--green-soft);border-color:#2e6b4a;border-color:var(--green);color:#1f4f36;color:var(--green-ink)}.filter-toggle .badge{background:#2e6b4a;background:var(--green);border-radius:999px;color:#fff;display:grid;font-size:11px;font-weight:700;height:18px;min-width:18px;padding:0 5px;place-items:center}@media (max-width:400px){.filter-toggle .filter-label{display:none}.filter-toggle{justify-content:center;padding:0;width:34px}}.chip.tag{border-color:#dde1dc;border-color:var(--line);font-size:13px;min-height:30px}.chip.tag[aria-pressed=true]{background:#e4efe8;background:var(--green-soft);border-color:#2e6b4a;border-color:var(--green);color:#1f4f36;color:var(--green-ink)}.chip.clear{border-color:#0000;color:#7a867f;color:var(--muted);font-size:13px;min-height:30px}.tag-pill{display:none}@media (min-width:761px){.tag-pill{display:inline}}.list{border-top:1px solid #c3cac4;border-top:1px solid var(--line-strong);list-style:none;margin:0;padding:0}.row{align-items:center;border-bottom:1px solid #dde1dc;border-bottom:1px solid var(--line);display:flex;gap:12px;padding:14px 4px;text-align:left;width:100%}.row:hover{background:#e4efe8;background:var(--green-soft)}.row .title{flex:1 1;min-width:0}.row .title strong{display:block;font-size:17px;font-weight:600;letter-spacing:-.01em}.row .title small{color:#7a867f;color:var(--muted);display:block;font-size:13px;margin-top:2px}.row .meta{align-items:center;display:flex;flex-shrink:0;gap:6px}.pill{background:#e4efe8;background:var(--green-soft);border-radius:999px;color:#1f4f36;color:var(--green-ink);font-size:12px;font-weight:500;padding:3px 8px;white-space:nowrap}.pill.muted{background:#0000;border:1px solid #dde1dc;border:1px solid var(--line);color:#7a867f;color:var(--muted)}.pill.gold{background:#fbf0cf;background:var(--gold-soft);color:#17201c;color:var(--ink)}.group-head{color:#7a867f;color:var(--muted);font-size:13px;font-weight:600;margin:26px 0 6px}.group-head:first-child{margin-top:0}.hidden-recipes{margin:0 0 18px}.hidden-recipes summary{color:#7a867f;color:var(--muted);cursor:pointer;font-size:14px;padding:6px 0}.hidden-recipes .list{margin-top:6px}.hidden-row{cursor:default}.hidden-row:hover{background:#0000}.empty,.hidden-row .title strong{color:#7a867f;color:var(--muted)}.empty{padding:40px 0;text-align:center}.empty strong{display:block;font-size:18px;margin-bottom:4px}.empty strong,.sheet{color:#17201c;color:var(--ink)}.sheet{align-items:flex-end;background:#17201c73;border:0;bottom:0;display:none;height:100%;left:0;margin:0;padding:0;position:fixed;right:0;top:0;inset:0;justify-content:center;max-height:none;max-width:none;overflow:hidden;width:100%}.sheet[open]{display:flex}.sheet::backdrop{background:#0000}.sheet-inner{animation:rise .22s cubic-bezier(.2,.8,.2,1);background:#fff;background:var(--surface);border-radius:18px 18px 0 0;border-radius:var(--r-lg) var(--r-lg) 0 0;box-shadow:0 -8px 40px #17201c2e;box-shadow:var(--shadow-sheet);display:flex;flex-direction:column;max-height:92vh;max-height:92dvh;overflow:hidden;width:100%}@keyframes rise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.sheet-inner{animation:none}.slot{transition:none}}@media (min-width:761px){.sheet{align-items:center}.sheet-inner{animation:none;border-radius:18px;border-radius:var(--r-lg);max-height:86vh;width:min(640px,calc(100% - 32px))}}.sheet-head{align-items:flex-start;border-bottom:1px solid #dde1dc;border-bottom:1px solid var(--line);display:flex;gap:12px;justify-content:space-between;padding:18px 20px 12px}.sheet-head h2{font-size:24px;font-weight:700;letter-spacing:-.02em;line-height:1.1;margin:0}.sheet-head .sub{color:#7a867f;color:var(--muted);font-size:14px;margin:6px 0 0}.sheet-head-actions{align-items:center;display:flex;flex-shrink:0;gap:2px}.star{color:#7a867f;color:var(--muted);font-size:20px}.btn.quiet.star.on,.btn.quiet.star.on:hover,.btn.quiet.star:hover{color:#f2c14e;color:var(--gold)}.btn.quiet.star:hover{background:#fbf0cf;background:var(--gold-soft)}.fav{color:#f2c14e;color:var(--gold)}.sheet-body{-webkit-overflow-scrolling:touch;flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:16px 20px 24px}.sheet-foot{background:#fff;background:var(--surface);border-top:1px solid #dde1dc;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:8px;padding:12px 20px calc(16px + env(safe-area-inset-bottom))}.sheet-foot .spacer{flex:1 1}.detail h3{color:#4a5852;color:var(--ink-2);font-size:15px;font-weight:600;margin:20px 0 8px}.detail h3:first-child{margin-top:0}.checklist{list-style:none;margin:0;padding:0}.checklist li{border-bottom:1px solid #dde1dc;border-bottom:1px solid var(--line)}.checklist label{align-items:flex-start;cursor:pointer;display:flex;gap:12px;line-height:1.35;padding:10px 2px}.checklist input{accent-color:#2e6b4a;accent-color:var(--green);flex-shrink:0;height:18px;margin:4px 0 0;width:18px}.checklist input:checked+span{color:#7a867f;color:var(--muted);text-decoration:line-through}.steps{counter-reset:step;list-style:none;margin:0;padding-left:0}.steps li{counter-increment:step;line-height:1.5;padding:8px 0 8px 40px;position:relative}.steps li:before{font-feature-settings:"tnum";background:#e4efe8;background:var(--green-soft);border-radius:50%;color:#1f4f36;color:var(--green-ink);content:counter(step);display:grid;font-size:13px;font-variant-numeric:tabular-nums;font-weight:700;height:26px;left:0;place-items:center;position:absolute;top:9px;width:26px}.links a,.steps a{overflow-wrap:anywhere}.links{display:flex;flex-direction:column;gap:6px}.notice{background:#fbf0cf;background:var(--gold-soft);border-radius:10px;border-radius:var(--r-md);color:#17201c;color:var(--ink);font-size:15px;margin:0 0 12px;padding:14px 16px}.day-picker{grid-gap:6px;display:grid;gap:6px;grid-template-columns:1fr}.day-picker .dp-row{grid-gap:6px;align-items:center;display:grid;gap:6px;grid-template-columns:110px 1fr}.dp-meals{display:flex;gap:6px;min-width:0}.dp-meals .dp-slot{flex:1 1;min-width:0}.dp-with{color:#7a867f;color:var(--muted);display:block;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.day-picker .dp-day{font-size:14px;font-weight:600}.day-picker .dp-day small{color:#7a867f;color:var(--muted);display:block;font-size:12px;font-weight:500}.dp-slot{border:1px dashed #c3cac4;border:1px dashed var(--line-strong);border-radius:6px;border-radius:var(--r-sm);color:#4a5852;color:var(--ink-2);font-size:13px;min-height:44px;overflow:hidden;padding:4px 6px;text-align:left;text-overflow:ellipsis;white-space:nowrap}.dp-slot.filled{background:#fafaf7;background:var(--bg);border-style:solid;color:#7a867f;color:var(--muted)}.dp-slot:hover{background:#e4efe8;background:var(--green-soft);border-color:#2e6b4a;border-color:var(--green);color:#17201c;color:var(--ink)}@media (max-width:400px){.day-picker .dp-row{grid-template-columns:80px 1fr}}.recipe-form{grid-gap:16px;display:grid;gap:16px}.field{grid-gap:6px;display:grid;gap:6px}.field>span{color:#4a5852;color:var(--ink-2);font-size:14px;font-weight:600}.field input,.field textarea{background:#fff;background:var(--surface);border:1px solid #c3cac4;border:1px solid var(--line-strong);border-radius:10px;border-radius:var(--r-md);color:inherit;font:inherit;line-height:1.4;min-height:42px;padding:9px 12px;width:100%}.field textarea{resize:vertical}.field input::placeholder,.field textarea::placeholder{color:#7a867f;color:var(--muted)}.routine{list-style:none;margin:0;padding:0}.routine-day{grid-gap:10px;align-items:start;border-bottom:1px solid #dde1dc;border-bottom:1px solid var(--line);display:grid;gap:10px;grid-template-columns:96px 1fr;padding:10px 0}.routine-dow{font-weight:700;padding-top:8px}.routine-meals{display:flex;flex-direction:column;gap:6px;min-width:0}.routine-slot{background:#fff;background:var(--surface);border:1px solid #dde1dc;border:1px solid var(--line);border-radius:10px;border-radius:var(--r-md);font-weight:600;line-height:1.3;padding:8px 12px;text-align:left;width:100%}.routine-slot:hover{background:#e4efe8;background:var(--green-soft);border-color:#2e6b4a;border-color:var(--green)}.routine-slot.vacant{background:#0000;border-style:dashed;color:#7a867f;color:var(--muted);font-weight:500}.routine-slot.extra{color:#4a5852;color:var(--ink-2);font-size:14px;font-weight:500}.routine-slot.extra .extra-meal{margin-right:6px}.routine-add-extra{align-self:flex-start;color:#7a867f;color:var(--muted);font-size:13px;padding:2px 4px}.routine-add-extra:hover{color:#1f4f36;color:var(--green-ink)}@media (max-width:400px){.routine-day{gap:6px;grid-template-columns:1fr}.routine-dow{padding-top:0}}.meal-switch{background:#fafaf7;background:var(--bg);border:1px solid #dde1dc;border:1px solid var(--line);border-radius:999px;display:inline-flex;gap:2px;margin-bottom:14px;padding:3px}.meal-tab{border-radius:999px;color:#4a5852;color:var(--ink-2);font-size:14px;font-weight:500;padding:6px 14px}.meal-tab[aria-selected=true]{background:#17201c;background:var(--ink);color:#fafaf7;color:var(--bg)}.meal-tab .count{background:#e4efe8;background:var(--green-soft);border-radius:999px;color:#1f4f36;color:var(--green-ink);font-size:11px;font-weight:700;margin-left:6px;padding:1px 6px}.meal-tab[aria-selected=true] .count{background:#fff3;color:inherit}.tonight{display:flex;flex-direction:column;gap:6px;list-style:none;margin:0 0 14px;padding:0}.tonight li{align-items:center;background:#e4efe8;background:var(--green-soft);border-radius:10px;border-radius:var(--r-md);display:flex;gap:6px;padding:4px 4px 4px 14px}.tonight .tonight-name{color:#1f4f36;color:var(--green-ink);flex:1 1;font-size:17px;font-weight:500;letter-spacing:-.01em;padding:6px 0;text-align:left}.tonight li:first-child .tonight-name{font-weight:800}.tonight li:first-child{background:#2e6b4a;background:var(--green)}.tonight li:first-child .btn,.tonight li:first-child .grip,.tonight li:first-child .tonight-name{color:#fff}.tonight li:first-child .btn.quiet:hover{background:#ffffff2e;color:#fff}.tonight li.note .tonight-name{font-style:italic;font-weight:500}.tonight li[draggable=true]{cursor:grab}.tonight li.dragging{opacity:.4}.tonight li.over{box-shadow:inset 0 2px 0 #2e6b4a;box-shadow:inset 0 2px 0 var(--green)}.tonight .grip{color:#1f4f36;color:var(--green-ink);font-size:14px;letter-spacing:-3px;margin-right:4px;opacity:.55;-webkit-user-select:none;user-select:none}.tonight .order-btns{display:inline-flex;gap:0}.tonight .order-btns .btn{font-size:15px;min-height:30px;width:30px}.tonight .order-btns .btn:disabled{opacity:.25}.note-row{border-top:1px solid #c3cac4;border-top:1px solid var(--line-strong);color:#1f4f36;color:var(--green-ink)}.picker-list{list-style:none;margin:0;padding:0}.picker-list .row{padding:12px 2px}.quick{align-items:center;display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.quick .filter-toggle{min-height:34px}.shop-summary{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:16px}.progress{background:#dde1dc;background:var(--line);border-radius:999px;flex:1 1 160px;height:6px;overflow:hidden}.progress>div{background:#2e6b4a;background:var(--green);height:100%;transition:width .2s ease}.shop-summary .hint{color:#7a867f;color:var(--muted);font-size:14px}.shop-group{margin-bottom:22px}.checklist .spacer{flex:1 1}.checklist .remove-extra{font-size:16px;min-height:28px;width:28px}.shop-group h2{align-items:baseline;display:flex;font-size:17px;font-weight:700;gap:10px;justify-content:space-between;letter-spacing:-.01em;margin:0 0 4px}.shop-group h2 small{color:#7a867f;color:var(--muted);font-size:13px;font-weight:500}.add-item{display:flex;gap:8px;margin-top:8px}.add-item input{background:#fff;background:var(--surface);border:1px solid #c3cac4;border:1px solid var(--line-strong);border-radius:10px;border-radius:var(--r-md);flex:1 1;min-height:40px;padding:0 12px}.toast{background:#17201c;background:var(--ink);border-radius:999px;bottom:calc(76px + env(safe-area-inset-bottom));bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 16px);color:#fafaf7;color:var(--bg);font-size:14px;left:50%;padding:10px 16px;position:fixed;transform:translateX(-50%);z-index:30}@media (min-width:761px){.toast{bottom:24px}}
/*# sourceMappingURL=main.8d9b8f0e.css.map*/