:root{--bg:#fff;--fg:#111827;--muted:#6b7280;--line:#e5e7eb;--surface:#f9fafb;--primary:#1f2937;--primary-fg:#fff;--accent:#2563eb;--accent-on-primary:#93c5fd;--warn-bg:#fef3c7;--warn-fg:#92400e;--ok-bg:#d1fae5;--ok-fg:#065f46;--danger:#dc2626;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--tap:2.75rem;--tap-lg:3.5rem;--chip-h:2.25rem;--radius:.625rem;--page-max:35rem;--gutter:var(--space-4);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);-webkit-tap-highlight-color:transparent;margin:0;font:100%/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}main{max-width:var(--page-max);padding:0 var(--gutter) calc(var(--space-6) + env(safe-area-inset-bottom));margin:0 auto}h1{margin:0;font-size:1.25rem}button{font:inherit;border:1px solid var(--line);background:var(--bg);color:var(--fg);border-radius:var(--radius);padding:0 var(--space-4);min-height:var(--tap);cursor:pointer}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--primary);color:var(--primary-fg);border-color:var(--primary)}button.secondary{background:var(--surface)}button.link{color:var(--accent);padding:var(--space-1) var(--space-2);background:0 0;border:0;min-height:0;text-decoration:underline}button.icon{padding:0 var(--space-3);min-width:var(--tap);color:var(--muted)}button.big{width:100%;min-height:var(--tap-lg);font-size:1.1rem}input[type=text],input[type=number],select{font:inherit;border:1px solid var(--line);border-radius:var(--radius);padding:0 var(--space-3);min-height:var(--tap);background:var(--bg);width:100%;color:var(--fg)}.navbar{z-index:1;align-items:center;gap:var(--space-2);padding:var(--space-3) 0;background:var(--bg);border-bottom:1px solid var(--line);margin-bottom:var(--space-4);grid-template-columns:1fr auto 1fr;display:grid;position:sticky;top:0}.navbar h1{text-align:center}.navbar button:last-child{justify-self:end}.navbar button:first-child{justify-self:start}.start{gap:var(--space-4);text-align:center;padding-top:25vh;display:grid}.start h1{margin-bottom:var(--space-3);font-size:1.75rem}.badge{border-radius:var(--radius);padding:var(--space-3);margin:var(--space-3) 0;font-size:.95rem}.badge.warn{background:var(--warn-bg);color:var(--warn-fg)}.badge.ok{background:var(--ok-bg);color:var(--ok-fg)}.hint{color:var(--muted)}.items{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.add-item{margin-top:var(--space-3)}.swipe-row{border-radius:var(--radius);position:relative;overflow:hidden}.swipe-row:has(>[data-swiping]){background:var(--danger)}.swipe-row:has(>[data-swiping]):after{content:"Delete";inset:0 var(--space-4) 0 auto;color:var(--primary-fg);align-items:center;font-weight:600;display:flex;position:absolute}.item-row{--pad:var(--space-2);--col-qty:calc(3ch + 2 * var(--space-1));--col-price:calc(7ch + 2 * var(--pad));--col-total:calc(9ch * .9);z-index:1;grid-template-columns:minmax(0, 1fr) var(--col-qty) var(--col-price) var(--col-total);gap:var(--space-1);background:var(--bg);touch-action:pan-y;align-items:center;display:grid;position:relative}.item-row input[type=text],.item-row input[type=number]{padding:0 var(--pad)}.item-row .qty{padding:0 var(--space-1);text-align:center;appearance:textfield}.item-row .qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.item-row .qty::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.item-row button.qty{padding:0 var(--space-1);font-variant-numeric:tabular-nums}.item-row .line-total{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;overflow:hidden}.item-row .remove{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;min-width:0;height:1px;min-height:0;padding:0;position:absolute;overflow:hidden}@media (pointer:fine){.item-row{--col-qty:calc(4ch + 2 * var(--pad));--col-price:calc(8ch + 2 * var(--pad));--col-total:calc(10ch * .9);grid-template-columns:minmax(0, 1fr) var(--col-qty) var(--col-price) var(--col-total) var(--tap);gap:var(--space-2)}.item-row .remove{width:auto;height:auto;min-width:var(--tap);min-height:var(--tap);padding:0 var(--space-3);clip-path:none;border:1px solid var(--line);position:static}}.undo-bar{z-index:2;left:var(--gutter);right:var(--gutter);bottom:calc(var(--space-4) + env(safe-area-inset-bottom));max-width:calc(var(--page-max) - 2 * var(--gutter));justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-1) var(--space-2) var(--space-1) var(--space-4);border-radius:var(--radius);background:var(--primary);color:var(--primary-fg);margin:0 auto;display:flex;position:fixed}.undo-bar button.link{color:var(--accent-on-primary);min-height:var(--tap);font-weight:600}.sheet-backdrop{z-index:3;background:#0000004d;position:fixed;inset:0}.sheet{--wheel-row:var(--tap);z-index:4;max-width:var(--page-max);padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom));border-radius:var(--radius) var(--radius) 0 0;background:var(--bg);margin:0 auto;animation:.2s ease-out sheet-up;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 24px #00000026}@keyframes sheet-up{0%{transform:translateY(100%)}}.sheet-head{padding:var(--space-1) var(--space-2);border-bottom:1px solid var(--line);grid-template-columns:1fr auto 1fr;align-items:center;font-weight:600;display:grid}.sheet-head button.link{min-height:var(--tap);justify-self:start;text-decoration:none}.sheet-head button.done{justify-self:end;font-weight:600}.wheel-frame{margin:var(--space-2) var(--space-4) 0;position:relative}.wheel-frame:before{content:"";inset:calc(2 * var(--wheel-row)) 0 auto;height:var(--wheel-row);border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);pointer-events:none;position:absolute}.wheel{height:calc(5 * var(--wheel-row));padding:calc(2 * var(--wheel-row)) 0;overscroll-behavior:contain;scroll-snap-type:y mandatory;scrollbar-width:none;outline:none;position:relative;overflow-y:auto;-webkit-mask-image:linear-gradient(#0000,#000 35% 65%,#0000);mask-image:linear-gradient(#0000,#000 35% 65%,#0000)}.wheel::-webkit-scrollbar{display:none}.wheel [role=option]{height:var(--wheel-row);scroll-snap-align:center;font-variant-numeric:tabular-nums;color:var(--muted);cursor:pointer;justify-content:center;align-items:center;font-size:1.4rem;display:flex}.wheel [role=option][aria-selected=true]{color:var(--fg);font-weight:600}.totals{grid-template-columns:1fr calc(12ch + 2 * var(--space-3));gap:var(--space-2) var(--space-3);margin:var(--space-5) 0 0;align-items:center;display:grid}.totals dt{color:var(--muted)}.totals select{text-align-last:right}.totals dd{text-align:right;font-variant-numeric:tabular-nums;margin:0}.chip{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);min-height:var(--chip-h);border:1px solid var(--line);background:var(--surface);border-radius:999px;font-size:.95rem;display:inline-flex}.chip.on{background:var(--primary);color:var(--primary-fg);border-color:var(--primary)}.chip.everyone{border-style:dashed}.chip button{min-height:0;color:inherit;background:0 0;border:0;padding:0}.people{gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;align-items:center;display:flex}.people input{flex:12ch;width:auto}.assign-row{border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-3);gap:var(--space-2);display:grid}.assign-row.unassigned{border-color:var(--warn-fg);background:var(--warn-bg)}.assign-row .head{justify-content:space-between;gap:var(--space-2);display:flex}.assign-row .who{gap:var(--space-2);flex-wrap:wrap;display:flex}.cards{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.card-head{width:100%;padding:var(--space-4);border:0;border-radius:0;justify-content:space-between;font-size:1.05rem;display:flex}.card-head .total{font-variant-numeric:tabular-nums;font-weight:600}.breakdown{gap:var(--space-1) var(--space-3);padding:0 var(--space-4) var(--space-3);color:var(--muted);grid-template-columns:1fr auto;margin:0;font-size:.95rem;display:grid}.breakdown dd{text-align:right;font-variant-numeric:tabular-nums;margin:0}.actions{gap:var(--space-3);margin-top:var(--space-5);display:grid}
