:root{--bg:#fbf6f1;--surface:#fff;--surface-2:#f4ece4;--text:#2b2118;--muted:#8a7b6e;--line:#eadfd5;--accent:#e0663a;--accent-ink:#fff;--accent-soft:#fbe3d8;--danger:#c43d2f;--warn-bg:#fff4d6;--warn-line:#f0c24b;--shadow:0 10px 30px #502d1429;--radius:16px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#1a1512;--surface:#251e19;--surface-2:#2f2620;--text:#f3eae2;--muted:#a8998c;--line:#3a2f28;--accent:#f07b4f;--accent-ink:#1a1512;--accent-soft:#4a2a1d;--danger:#ff7a6b;--warn-bg:#3a2f12;--warn-line:#a8832a;--shadow:0 10px 30px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#1a1512;--surface:#251e19;--surface-2:#2f2620;--text:#f3eae2;--muted:#a8998c;--line:#3a2f28;--accent:#f07b4f;--accent-ink:#1a1512;--accent-soft:#4a2a1d;--danger:#ff7a6b;--warn-bg:#3a2f12;--warn-line:#a8832a;--shadow:0 10px 30px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-size:16px;line-height:1.45}h1,h2,h3{margin:0;line-height:1.2}button{font:inherit;color:inherit;cursor:pointer}input,textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:12px;outline:none;width:100%;padding:11px 12px;font-size:16px}input:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}textarea{resize:vertical}.muted{color:var(--muted)}.error{color:var(--danger);margin:0;font-weight:500}.btn{border:1px solid var(--line);background:var(--surface);white-space:nowrap;border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:11px 16px;font-weight:600;display:inline-flex}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.danger{color:var(--danger)}.btn.ghost{background:0 0;border-color:#0000}.btn.small{padding:7px 12px;font-size:14px}.btn.block{width:100%}.icon-btn{background:0 0;border:none;border-radius:50%;flex:none;width:40px;height:40px;font-size:18px}.icon-btn:active{background:var(--surface-2)}.link{color:var(--accent);background:0 0;border:none;padding:6px 0;font-weight:600}.segmented{background:var(--surface-2);border-radius:12px;gap:4px;padding:4px;display:flex}.segmented button{color:var(--muted);background:0 0;border:none;border-radius:9px;flex:1;padding:9px 8px;font-weight:600}.segmented button[aria-selected=true]{background:var(--surface);color:var(--text);box-shadow:0 1px 4px #0000001a}.segmented.small button{padding:6px 8px;font-size:14px}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field>span{color:var(--muted);font-size:13px;font-weight:600}.field-row{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:6px 12px;font-size:14px}.chip.selected{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}.splash{place-items:center;height:100%;font-size:48px;display:grid}.auth{max-width:420px;min-height:100%;padding:calc(env(safe-area-inset-top) + 48px) 20px 32px;flex-direction:column;gap:24px;margin:0 auto;display:flex}.auth-brand{text-align:center}.auth-brand img{box-shadow:var(--shadow);border-radius:18px}.auth-brand h1{margin-top:14px;font-size:32px}.auth-brand p{color:var(--muted);margin:6px 0 0}.auth-form{flex-direction:column;gap:14px;display:flex}.code-input{text-transform:uppercase;letter-spacing:.2em;font-weight:700}.library{flex-direction:column;height:100%;display:flex;overflow:hidden}.topbar{padding:calc(env(safe-area-inset-top) + 10px) 16px 0;display:flex}.household-btn{border:1px solid var(--line);background:var(--surface);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;max-width:100%;padding:7px 14px;font-size:15px;font-weight:600;overflow:hidden}.caret{color:var(--muted);font-size:12px}.library-title{padding:16px 16px 0}.library-title h1{letter-spacing:-.02em;font-size:30px}.filter-summary{color:var(--muted);white-space:nowrap;align-items:center;gap:10px;height:30px;margin:4px 0 0;font-size:14px;display:flex}.filter-summary .link{padding:0}.library-main{flex-direction:column;flex:1;min-height:0;display:flex}.empty{text-align:center;color:var(--muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:24px;display:flex}.empty.full{height:100%}.empty p{margin:0}.empty-icon{font-size:48px}.carousel{flex-direction:column;flex:1;min-height:0;display:flex}.carousel-stage{touch-action:pan-y;-webkit-user-select:none;user-select:none;cursor:grab;flex:1;min-height:0;position:relative;overflow:hidden}.carousel-stage:active{cursor:grabbing}.ring{transform-style:preserve-3d;position:absolute;inset:0}.shelf{pointer-events:none;background:radial-gradient(#50280f47,#0000 70%);border-radius:50%;height:34px;position:absolute;left:50%;transform:translate(-50%)}.card{background:var(--surface);box-shadow:var(--shadow);backface-visibility:hidden;border:1px solid var(--line);border-radius:22px;flex-direction:column;display:flex;position:absolute;top:50%;left:50%;overflow:hidden}.card.landed{animation:1.2s ease-out landed}@keyframes landed{0%,to{box-shadow:var(--shadow)}30%{box-shadow:0 0 0 5px var(--accent), var(--shadow)}}.card-img{flex:1;place-items:center;min-height:0;display:grid;position:relative;overflow:hidden}.card-img img{object-fit:cover;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.card-initial{color:#ffffffeb;text-shadow:0 2px 12px #00000026;font-size:72px;font-weight:800}.card-body{padding:12px 14px 14px}.card-body h3{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:18px;display:-webkit-box;overflow:hidden}.card-meta{color:var(--muted);flex-wrap:wrap;gap:4px 10px;margin-top:6px;font-size:13px;display:flex}.carousel-nav{justify-content:center;align-items:center;gap:18px;padding:4px 0 8px;display:flex}.round-btn{border:1px solid var(--line);background:var(--surface);border-radius:50%;width:40px;height:40px;font-size:22px;line-height:1}.round-btn:disabled{opacity:.4}.counter{text-align:center;min-width:64px;color:var(--muted);font-variant-numeric:tabular-nums;font-weight:600}.toolbar{padding:8px 16px calc(env(safe-area-inset-bottom) + 10px);border-top:1px solid var(--line);background:var(--surface);justify-content:space-around;align-items:center;display:flex}.tool{color:var(--muted);background:0 0;border:none;flex-direction:column;align-items:center;gap:2px;min-width:72px;font-size:12px;font-weight:600;display:flex;position:relative}.tool-icon{color:var(--text);font-size:22px;line-height:1.1}.tool:disabled{opacity:.45}.tool.main{background:var(--accent);width:62px;min-width:0;height:62px;color:var(--accent-ink);border:4px solid var(--bg);border-radius:50%;justify-content:center;margin-top:-26px;box-shadow:0 6px 18px #e0663a73}.tool.main:active{transform:scale(.94)}.badge.main-badge{background:var(--text);color:var(--bg);border:2px solid var(--bg);top:-6px;right:-6px}.badge{background:var(--accent);color:var(--accent-ink);border-radius:999px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;display:grid;position:absolute;top:-4px;right:14px}.sheet-backdrop{z-index:50;background:#140a0573;justify-content:center;align-items:flex-end;animation:.2s ease-out fade;display:flex;position:fixed;inset:0}.sheet{background:var(--bg);border-radius:22px 22px 0 0;flex-direction:column;width:100%;max-width:560px;max-height:88%;animation:.25s ease-out slide-up;display:flex}.sheet-head{justify-content:space-between;align-items:center;padding:14px 12px 6px 20px;display:flex}.sheet-head h2{font-size:20px}.sheet-body{flex-direction:column;gap:16px;padding:8px 20px 16px;display:flex;overflow-y:auto}.sheet-foot{padding:12px 16px calc(env(safe-area-inset-bottom) + 12px);border-top:1px solid var(--line);gap:8px;display:flex}.sheet-foot .btn{flex:1;padding-left:8px;padding-right:8px}.sheet-foot .btn.ghost{flex:none}@keyframes fade{0%{opacity:0}}@keyframes slide-up{0%{transform:translateY(100%)}}.code-box{background:var(--surface);border:1px dashed var(--accent);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.code{letter-spacing:.18em;font-variant-numeric:tabular-nums;font-size:28px;font-weight:800}.screen{z-index:20;background:var(--bg);flex-direction:column;animation:.22s ease-out slide-in;display:flex;position:fixed;inset:0}@keyframes slide-in{0%{opacity:0;transform:translate(30%)}}.screen-bar{padding:calc(env(safe-area-inset-top) + 6px) 12px 6px 6px;border-bottom:1px solid var(--line);background:var(--surface);align-items:center;gap:8px;display:flex}.screen-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:700;overflow:hidden}.screen-scroll{-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto}.hero{place-items:center;height:38vh;min-height:200px;max-height:380px;display:grid;overflow:hidden}.hero img{object-fit:cover;width:100%;height:100%}.detail{max-width:680px;padding:20px 16px calc(env(safe-area-inset-bottom) + 32px);flex-direction:column;gap:20px;margin:0 auto;display:flex}.detail h1{letter-spacing:-.01em;font-size:28px}.detail h2{margin-bottom:10px;font-size:19px}.detail section{flex-direction:column;gap:10px;display:flex}.detail section h2{margin-bottom:0}.meta-row{flex-wrap:wrap;gap:8px;margin-top:-8px;display:flex}.pill{background:var(--surface-2);border-radius:999px;padding:5px 12px;font-size:14px;font-weight:500}.notes{background:var(--warn-bg);border-left:4px solid var(--warn-line);border-radius:12px;padding:12px 14px}.notes p{white-space:pre-wrap;margin:4px 0 0}.variant-info{color:var(--muted);margin:0;font-weight:500}.ingredients{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin:0;padding:0;list-style:none}.ingredients li{justify-content:space-between;gap:16px;padding:11px 14px;display:flex}.ingredients li+li{border-top:1px solid var(--line)}.qty{color:var(--muted);text-align:right;font-weight:500}.instructions{white-space:pre-wrap;margin:0}.form{padding:16px 16px calc(env(safe-area-inset-bottom) + 32px);flex-direction:column;gap:16px;display:flex}.form>*{width:100%;max-width:680px;margin-left:auto;margin-right:auto}.form-section{margin-top:8px;font-size:18px}.photo-picker{position:relative}.photo-picker img{object-fit:cover;border-radius:var(--radius);width:100%;height:220px;display:block}.photo-actions{gap:8px;display:flex;position:absolute;bottom:10px;right:10px}.photo-empty{border:2px dashed var(--line);border-radius:var(--radius);background:var(--surface);width:100%;height:130px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:4px;font-weight:600;display:flex}.variant{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);flex-direction:column;gap:8px;min-width:0;margin:0;padding:12px;display:flex}.variant-head{align-items:flex-end;gap:10px;margin-bottom:4px;display:flex}.variant-head .field{flex:1}.ingredient-row{align-items:center;gap:6px;display:flex}.ingredient-row input{flex:1;min-width:0}.ingredient-row .icon-btn{width:34px;height:34px;color:var(--muted);font-size:14px}.variant .link{align-self:flex-start}.topbar{justify-content:space-between;align-items:center;gap:12px}.add-btn{background:var(--accent);width:40px;height:40px;color:var(--accent-ink);border:none;border-radius:50%;flex:none;font-size:22px;font-weight:700;line-height:1;box-shadow:0 4px 12px #e0663a59}.cat-bar{scrollbar-width:none;gap:6px;padding:12px 16px 2px;display:flex;overflow-x:auto}.cat-bar::-webkit-scrollbar{display:none}.cat-bar .chip{flex:none}.card-tags{flex-wrap:wrap;gap:4px;display:flex;position:absolute;top:10px;left:10px;right:10px}.card-tag{color:#2b2118;text-overflow:ellipsis;white-space:nowrap;background:#ffffffeb;border-radius:999px;max-width:100%;padding:3px 10px;font-size:12px;font-weight:700;overflow:hidden;box-shadow:0 2px 6px #00000026}.pill.accent{background:var(--accent-soft);color:var(--accent);font-weight:700}.chip.dashed{color:var(--accent);border-style:dashed;font-weight:600}.inline-add,.cat-add,.cat-edit,.shop-add{align-items:center;gap:6px;display:flex}.inline-add input,.cat-add input,.cat-edit input,.shop-add input{flex:1;min-width:0}.cat-manager{flex-direction:column;gap:10px;display:flex}.cat-manager h3{font-size:17px}.cat-manager p{margin:0}.cat-list{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin:0;padding:0;list-style:none}.cat-list:empty{display:none}.cat-list li{align-items:center;gap:4px;padding:4px 4px 4px 14px;display:flex}.cat-list li+li{border-top:1px solid var(--line)}.cat-list .cat-edit{flex:1;padding:4px 0}.cat-name{text-overflow:ellipsis;flex:1;min-width:0;font-weight:600;overflow:hidden}.cat-count{margin-right:4px;font-size:13px}.tabs{border-bottom:2px solid var(--line);scrollbar-width:none;gap:4px;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tabs button{color:var(--muted);background:0 0;border:none;border-bottom:3px solid #0000;flex:none;margin-bottom:-2px;padding:9px 14px;font-weight:700}.tabs button[aria-selected=true]{color:var(--accent);border-bottom-color:var(--accent)}.tabs .tab-add{color:var(--accent);padding:6px 12px;font-size:18px}.tab-panel{flex-direction:column;gap:10px;display:flex}.shopping{max-width:680px;padding:16px 16px calc(env(safe-area-inset-bottom) + 32px);flex-direction:column;gap:18px;margin:0 auto;display:flex}.shopping section{flex-direction:column;gap:8px;display:flex}.shop-group{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:14px;font-weight:700}.shop-group-row{justify-content:space-between;align-items:center;display:flex}.shop-list{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin:0;padding:0;list-style:none}.shop-list li{align-items:center;padding-right:4px;display:flex}.shop-list li+li{border-top:1px solid var(--line)}.shop-item{cursor:pointer;flex:1;align-items:center;gap:12px;min-width:0;padding:12px 14px;display:flex}.shop-item input{width:22px;height:22px;accent-color:var(--accent);flex:none;margin:0;padding:0}.shop-name{flex:1;min-width:0}.shop-list li.done .shop-name,.shop-list li.done .qty{color:var(--muted);text-decoration:line-through}.icon-btn.small{width:34px;height:34px;color:var(--muted);font-size:14px}.link-row{gap:16px;margin-top:-8px;display:flex}.ac{min-width:0;position:relative}.ac.grow,.ac.ing-name{flex:1}.ac input{width:100%}.ac-list{z-index:30;background:var(--surface);border:1px solid var(--line);min-width:180px;box-shadow:var(--shadow);border-radius:12px;max-height:320px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.ac-list li{border-radius:8px;align-items:center;display:flex}.ac-list li:hover{background:var(--accent-soft)}.ac-option{text-align:left;background:0 0;border:none;flex:1;justify-content:space-between;align-items:baseline;gap:10px;min-width:0;padding:10px 12px;display:flex}.ac-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.ac-detail{color:var(--muted);font-variant-numeric:tabular-nums;flex:none;font-size:14px}.ac-remove{width:32px;height:32px;color:var(--muted);background:0 0;border:none;border-radius:50%;flex:none;margin-right:2px;font-size:12px}.ac-remove:hover,.ac-remove:active{background:var(--surface-2);color:var(--danger)}.ingredient-row{flex-wrap:wrap}.ingredient-row .ing-name{flex:100%}.ingredient-row .qty-input{flex:1 1 0}.ingredient-row .cost-input,.shop-add .cost-input{flex:0 0 76px}.ingredient-row+.ingredient-row{border-top:1px dashed var(--line);padding-top:8px}.hint{color:var(--muted);margin:0;font-size:13px}.ing-cost{color:var(--accent);margin-left:10px;font-weight:600}.shop-total{background:var(--accent-soft);border-radius:var(--radius);flex-direction:column;gap:2px;padding:14px 16px;display:flex}.shop-total>div:first-child{justify-content:space-between;align-items:baseline;display:flex}.shop-total-label{font-weight:700}.shop-total-value{color:var(--accent);font-variant-numeric:tabular-nums;font-size:26px;font-weight:800}.shop-total-sub{font-weight:600}.shop-total-hint{color:var(--muted);font-size:13px}.shop-add{flex-wrap:wrap}.shop-add .ac{flex:100%}.shop-add .qty-input{flex:1 1 0}.shop-text{flex-direction:column;flex:1;min-width:0;display:flex}.shop-qty{color:var(--muted);font-weight:500}.shop-source{color:var(--muted);font-size:12px}.shop-cost{font-variant-numeric:tabular-nums;flex:none;font-weight:700}.shop-list li.done .shop-qty,.shop-list li.done .shop-cost{color:var(--muted);text-decoration:line-through}.shop-group-cost{color:var(--muted);font-size:14px;font-weight:700}.shop-detail{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin:0;padding:0;list-style:none}.shop-detail li{grid-template-columns:auto 1fr auto;gap:10px;padding:10px 14px;font-size:14px;display:grid}.shop-detail li+li{border-top:1px solid var(--line)}.shop-detail li:has(.icon-btn){grid-template-columns:auto 1fr auto auto;align-items:center;padding-right:4px}.shop-detail li.done>span:first-child{color:var(--muted);text-decoration:line-through}.shop-detail li{align-items:center}.shop-detail li.editing{background:var(--accent-soft)}.price-btn{border:1px solid var(--line);background:var(--surface-2);white-space:nowrap;font-variant-numeric:tabular-nums;border-radius:999px;padding:4px 10px;font-size:14px;font-weight:700}.price-btn span{color:var(--accent);margin-left:2px}.price-editor{background:var(--surface);border:1px solid var(--accent);border-radius:var(--radius);flex-direction:column;gap:12px;padding:14px;display:flex}.price-input{align-items:center;gap:8px;font-weight:700;display:flex}.price-input input{flex:1;font-size:20px;font-weight:700}.check-line{align-items:center;gap:10px;font-size:14px;display:flex}.check-line input{width:20px;height:20px;accent-color:var(--accent);flex:none;margin:0}.price-actions{justify-content:flex-end;gap:8px;display:flex}.notice{color:var(--accent);margin:0;font-weight:600}:root{--side-bg:#eef4e6;--side-ink:#4f7a3a}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--side-bg:#26301f;--side-ink:#9cc78a}}:root[data-theme=dark]{--side-bg:#26301f;--side-ink:#9cc78a}.ingredients li.side,.shop-list li.side,.shop-list li.side-head,.ingredients li.side-head{background:var(--side-bg)}.ingredients li.side-head,.shop-list li.side-head{text-transform:uppercase;letter-spacing:.05em;color:var(--side-ink);padding:8px 14px 2px;font-size:12px;font-weight:700}.ingredients li.side+li.side,.ingredients li.side-head+li.side,.shop-list li.side+li.side,.shop-list li.side-head+li.side{border-top:1px dashed color-mix(in srgb, var(--side-ink) 30%, transparent)}.ingredients,.shop-list{overflow:hidden}.shop-list li.side.done .shop-name,.shop-list li.side.done .qty,.shop-list li.side.done .shop-cost{opacity:.6;text-decoration:none}.side-or{color:var(--side-ink);font-style:italic}.shop-list li.side input{accent-color:var(--side-ink)}.sides-block{background:var(--side-bg);border-radius:12px;flex-direction:column;gap:8px;padding:8px 10px 10px;display:flex}.sides-title{text-transform:uppercase;letter-spacing:.05em;color:var(--side-ink);margin:0;font-size:12px;font-weight:700}.sides-block .ingredient-row+.ingredient-row{border-top-color:color-mix(in srgb, var(--side-ink) 30%, transparent)}.line-actions{gap:18px;display:flex}.side-link{color:var(--side-ink)}.toolbar{padding-left:6px;padding-right:6px}.toolbar .tool{flex:1;min-width:0}.toolbar .tool.main{flex:none}.toolbar .badge{right:calc(50% - 22px)}.toolbar .badge.main-badge{right:-6px}.badge.muted-badge{background:var(--surface-2);color:var(--muted);border:1px solid var(--line)}.meal-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.meal-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:10px;padding:14px;display:flex}.meal-main{flex-direction:column;gap:4px;display:flex}.meal-name{text-align:left;font-size:18px;font-weight:700}.link-like{color:var(--text);text-decoration:underline;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);text-underline-offset:3px;background:0 0;border:none;padding:0}.meal-meta{color:var(--muted);font-size:14px}.meal-status{flex-wrap:wrap;gap:6px;display:flex}.meal-status:empty{display:none}.meal-actions{gap:8px;display:flex}.meal-actions .btn.primary{flex:1}.stock-use-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.stock-use{background:var(--surface);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:8px;padding:10px 12px;display:flex}.stock-use.used{border-color:var(--accent)}.stock-use.used .shop-name{text-decoration:line-through;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.stock-count{padding-right:4px;font-size:14px}.stock-tools{flex-direction:column;gap:8px;display:flex}.stock-selects{gap:8px;display:flex}.stock-selects .aisle-select{flex:1;min-width:0}.stock-row{text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:12px;min-width:0;padding:12px 14px;display:flex}.stock-qty{font-variant-numeric:tabular-nums;flex:none;font-weight:700}.in-stock{color:var(--side-ink);font-size:12px;font-weight:600}.topbar-actions{flex:none;gap:8px;display:flex}.leftover-btn{border:1px solid var(--line);background:var(--surface);border-radius:50%;width:40px;height:40px;font-size:20px;line-height:1}.leftover-btn:disabled{opacity:.45}.pick-list{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin:0;padding:0;list-style:none;overflow:hidden}.pick-list li+li{border-top:1px solid var(--line)}.pick-list li.muted{padding:12px 14px}.pick-list button{text-align:left;background:0 0;border:none;width:100%;padding:12px 14px;font-weight:600;display:block}.pick-list button:active{background:var(--accent-soft)}.picked{background:var(--surface);border:1px solid var(--accent);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;font-size:17px;display:flex}.stepper{align-items:center;gap:18px;display:flex}.stepper-value{text-align:center;font-variant-numeric:tabular-nums;min-width:40px;font-size:26px;font-weight:800}.small-text{font-size:13px}.stock-row.leftover .shop-name{font-weight:700}.removal-meals{margin:-8px 0 0;padding:0;font-weight:700;list-style:none}.removal-hint{text-align:center;margin:-10px 0 0;font-size:13px}.finish-bar{padding:10px 16px calc(env(safe-area-inset-bottom) + 10px);border-top:1px solid var(--line);background:var(--surface);flex:none}.shop-item .shop-name{cursor:pointer}.qty-chips{flex-wrap:wrap;gap:6px;margin:6px 0 2px;display:flex}.qty-chip{border:1px solid var(--line);background:var(--surface-2);font-variant-numeric:tabular-nums;border-radius:999px;padding:4px 11px;font-size:14px;font-weight:600}.qty-chip.checked{color:var(--muted);background:0 0;border-style:dashed;text-decoration:line-through}.shop-list li.done .shop-name{color:var(--muted);text-decoration:line-through}.aisle-select{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:12px;width:100%;padding:10px 12px;font-size:16px}.mem-list{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin:0;padding:0;list-style:none}.mem-list li{align-items:center;gap:8px;padding:6px 4px 6px 14px;display:flex}.mem-list li+li{border-top:1px solid var(--line)}.mem-name{text-overflow:ellipsis;flex:1;min-width:0;font-weight:600;overflow:hidden}.mem-list .aisle-select{flex:0 0 46%;width:auto;padding:7px 8px;font-size:14px}@media (prefers-reduced-motion:reduce){*,:before,:after{animation-duration:.01ms!important}}.install{gap:10px;margin:12px 0;display:grid}.auth-install{margin:auto 0 0}.install-help{background:var(--surface-2);border-radius:12px;gap:6px;margin:0;padding:12px 14px 12px 32px;line-height:1.4;display:grid}
