:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f5f5f2;--surface:#fff;--text:#151816;--muted:#5a605c;--border:#d9dad4;--accent:#1d5c43;--accent-text:#fff;--accent-soft:#e2ede7;--danger:#b3261e;--danger-soft:#fbe9e7;--warning:#8a5300;--focus:#1a5fb4;--shadow:0 6px 24px #00000029;--radius:12px;--row-height:60px;--font:system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#121413;--surface:#1b1e1c;--text:#eef0ed;--muted:#a5aca7;--border:#323834;--accent:#66c497;--accent-text:#08150f;--accent-soft:#1f3329;--danger:#ff8a7f;--danger-soft:#3a1d1a;--warning:#f0b45a;--focus:#8ab4f8;--shadow:0 6px 24px #00000080}}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);font-family:var(--font);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;margin:0;font-size:17px;line-height:1.35}body{overflow:hidden}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}h2,h3,p{margin:0}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.muted{color:var(--muted)}.app{flex-direction:column;max-width:640px;height:100dvh;margin:0 auto;display:flex}.list{overscroll-behavior:contain;padding:0 0 calc(96px + env(safe-area-inset-bottom));flex:1;overflow-y:auto}.summary{padding:calc(12px + env(safe-area-inset-top)) 16px 12px;background:var(--bg);border-bottom:1px solid var(--border)}.summary-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.remaining{flex-direction:column;min-width:0;display:flex}.remaining-label{color:var(--muted);font-size:.82rem}.remaining-amount{letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:1.75rem;font-weight:700}.remaining-amount.is-over{color:var(--danger)}.summary-actions{flex-shrink:0;gap:8px;display:flex}.mode-button{border:1px solid var(--accent);min-width:72px;min-height:44px;color:var(--accent);background:0 0;border-radius:999px;padding:0 16px;font-weight:600}.mode-button.is-on{background:var(--accent);color:var(--accent-text)}.icon-button{border:1px solid var(--border);background:var(--surface);border-radius:999px;place-items:center;width:44px;height:44px;display:grid}.progress{background:var(--border);border-radius:999px;height:6px;margin:10px 0 8px;overflow:hidden}.progress>span{background:var(--accent);height:100%;transition:width .2s ease-out;display:block}.summary-line{font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:space-between;gap:2px 12px;font-size:.9rem;display:flex}.summary-hint{color:var(--muted);margin-top:4px;font-size:.82rem}.summary-hint.is-warning{color:var(--warning)}.stop-heading,.bought-toggle{z-index:1;background:var(--bg);letter-spacing:.04em;text-transform:uppercase;width:100%;color:var(--muted);align-items:center;gap:8px;margin:0;padding:16px 16px 6px;font-size:.8rem;font-weight:600;display:flex;position:sticky;top:0}.count{font-variant-numeric:tabular-nums;font-weight:500}.rows{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin:0 12px;padding:0;list-style:none;overflow:hidden}.row{min-height:var(--row-height);align-items:stretch;display:flex}.row+.row{border-top:1px solid var(--border)}.row-body{text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:12px;min-width:0;padding:10px 4px 10px 16px;display:flex}.row-body:active,.check:active{background:var(--accent-soft)}.row-text{flex-direction:column;flex:1;min-width:0;display:flex}.row-name{overflow-wrap:anywhere}.row-qty{color:var(--muted);white-space:nowrap}.row-note{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;overflow:hidden}.row-price{font-variant-numeric:tabular-nums;color:var(--muted);flex-shrink:0;font-size:.95rem}.check{background:0 0;border:0;flex-shrink:0;place-items:center;width:64px;display:grid}.box{border:2px solid var(--muted);color:#0000;border-radius:8px;place-items:center;width:30px;height:30px;display:grid}.box svg{width:22px;height:22px}.is-bought .box{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.is-bought .row-name{color:var(--muted)}.is-shopping{--row-height:68px}.is-shopping .row-body{padding-right:0;font-size:1.05rem}.is-shopping .row-toggle .check{align-self:stretch}.is-shopping .list{padding-bottom:calc(120px + env(safe-area-inset-bottom))}.bought{margin-top:8px}.bought-toggle{text-align:left;border:0;min-height:52px;padding-top:12px;padding-bottom:12px;position:static}.chevron{margin-left:auto;transition:transform .15s;display:grid}.chevron.is-open{transform:rotate(180deg)}.empty{text-align:center;color:var(--muted);padding:32px 16px 8px}.bar{padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(to top, var(--bg) 70%, transparent);pointer-events:none;position:fixed;bottom:0;left:0;right:0}.add-button{pointer-events:auto;justify-content:center;gap:8px;width:100%;max-width:608px;min-height:52px;margin:0 auto;display:flex}.button{border:1px solid var(--border);background:var(--surface);border-radius:10px;justify-content:center;align-items:center;min-height:44px;padding:0 16px;font-weight:600;display:inline-flex}.button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.button.danger{background:var(--danger);border-color:var(--danger);color:var(--surface)}.button.danger-text{color:var(--danger);background:0 0;border-color:#0000;padding:0 8px}.button:disabled{opacity:.6;cursor:default}.toast-region{left:0;right:0;bottom:calc(76px + env(safe-area-inset-bottom));z-index:5;pointer-events:none;padding:0 12px;position:fixed}.is-shopping .toast-region{bottom:calc(12px + env(safe-area-inset-bottom))}.toast{pointer-events:auto;border-radius:var(--radius);background:var(--text);max-width:616px;color:var(--bg);box-shadow:var(--shadow);flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 auto;padding:12px 12px 12px 16px;display:flex}.toast .button{border-color:color-mix(in srgb, var(--bg) 35%, transparent);color:var(--bg);background:0 0}.toast .button.primary{background:var(--bg);color:var(--text)}.toast-text{flex-direction:column;flex:160px;min-width:0;display:flex}.toast-message{overflow-wrap:anywhere;font-weight:600}.toast-detail{opacity:.8;font-size:.85rem}.toast-actions{gap:8px;margin-left:auto;display:flex}.toast-price{width:100%}.toast-label{margin-bottom:6px;font-size:.9rem;display:block}.toast-price-row{gap:8px;display:flex}.toast-price-row .input{flex:1;min-width:0}.toast-price-row .button{padding:0 12px}.toast .input{background:var(--bg);color:var(--text);border-color:#0000}.toast .field-error{color:inherit;opacity:.9}.banner{border-radius:var(--radius);background:var(--danger-soft);color:var(--text);align-items:center;gap:12px;margin:8px 12px 0;padding:12px;font-size:.9rem;display:flex}.banner p{flex:1}.sheet{background:var(--surface);width:100%;max-width:640px;max-height:92dvh;color:var(--text);box-shadow:var(--shadow);overscroll-behavior:contain;border:0;border-radius:18px 18px 0 0;margin:auto auto 0;padding:0}.sheet::backdrop{background:#00000073}.sheet-inner{padding:20px 16px calc(16px + env(safe-area-inset-bottom))}.sheet-title{outline:none;margin-bottom:16px;font-size:1.15rem}.form{flex-direction:column;gap:14px;display:flex}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field>label{color:var(--muted);font-size:.88rem;font-weight:600}.field-pair{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}.input{border:1px solid var(--border);background:var(--bg);border-radius:10px;width:100%;min-height:48px;padding:10px 12px;font-size:1rem}textarea.input{resize:vertical;min-height:64px}.input[aria-invalid=true],.input.is-invalid{border-color:var(--danger);outline-color:var(--danger)}.field-error{color:var(--danger);font-size:.85rem}.field-hint{color:var(--muted);font-size:.85rem}.stepper{border:1px solid var(--border);background:var(--bg);border-radius:10px;align-items:stretch;display:flex;overflow:hidden}.stepper .input{text-align:center;border:0;border-radius:0;min-width:0;padding:10px 0}.stepper-button{background:0 0;border:0;flex-shrink:0;width:44px;font-size:1.3rem}.toggle-field{align-items:center;gap:12px;min-height:48px;font-weight:600;display:flex}.toggle-field input{width:24px;height:24px;accent-color:var(--accent)}.sheet-actions{align-items:center;gap:8px;margin-top:8px;display:flex}.spacer{flex:1}.inline-field{gap:8px;display:flex}.more-section{border-top:1px solid var(--border);flex-direction:column;gap:12px;margin-top:24px;padding-top:20px;display:flex}.more-section h3{font-size:1rem}.more-section p{font-size:.9rem}.button-stack{flex-direction:column;gap:8px;display:flex}.button-row{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.notice{border-radius:10px;flex-direction:column;gap:8px;padding:12px;font-size:.92rem;display:flex}.notice.is-error{background:var(--danger-soft)}.notice.is-confirm{background:var(--accent-soft)}@media (prefers-reduced-motion:reduce){*{transition:none!important}}
