.sl-share-screen{background:var(--bg);min-height:100dvh;color:var(--ink);font-family:IBM Plex Sans,system-ui,sans-serif;position:relative}.sl-share-head{padding:18px 20px 10px;font-size:22px;font-weight:600}.sl-share-rows,.sl-share-diff{margin:0;padding:0;list-style:none}.sl-share-row{align-items:center;gap:10px;min-height:44px;padding:0 20px 0 30px;font-size:16px;display:flex;position:relative}.sl-share-bar{background:var(--no-group);border-radius:3px;width:5px;position:absolute;top:8px;bottom:8px;left:12px}.sl-share-bar[style]{background:oklch(.64 .15 var(--h))}.sl-share-name{overflow-wrap:anywhere;flex:1;min-width:0}.sl-share-qty{color:var(--muted);white-space:nowrap;font-size:14px}.sl-share-bought{opacity:.45}.sl-share-bought .sl-share-name,.sl-share-removed .sl-share-name{color:var(--muted);text-decoration:line-through}.sl-share-scrim{z-index:15;background:#0a0c1057;position:fixed;inset:0}.sl-share-dialog{z-index:20;box-sizing:border-box;background:var(--surface);max-width:480px;max-height:calc(100dvh - 76px);color:var(--ink);border-radius:28px;flex-direction:column;gap:16px;margin:0 auto;padding:20px;display:flex;position:fixed;top:56px;left:10px;right:10px;overflow:auto;box-shadow:0 24px 60px #00000047}.sl-share-dhead{flex-direction:column;gap:4px;display:flex}.sl-share-diff{margin:0 -20px}.sl-share-mark{width:18px;color:var(--muted);flex:none;font-weight:600}.sl-share-add{color:oklch(55% .14 150)}.sl-share-chg{color:oklch(56% .14 58)}.sl-share-title{text-wrap:balance;font-size:18px;font-weight:600}.sl-share-muted{color:var(--muted);font-size:14px}.sl-share-note{color:var(--muted);font-size:13px}.sl-share-pre{white-space:pre-line;font-size:15px;line-height:1.45}.sl-share-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.sl-share-btn{box-sizing:border-box;height:44px;font:inherit;cursor:pointer;border-radius:999px;font-weight:600}.sl-share-btn:disabled{opacity:.6}.sl-share-secondary{border:1px solid var(--line);background:var(--bg);color:var(--ink);margin-right:auto;padding:0 18px;font-size:15px}.sl-share-primary{background:var(--accent);color:var(--on-accent);border:0;padding:0 24px;font-size:16px}.sl-share-center{box-sizing:border-box;text-align:center;background:var(--bg);min-height:100dvh;color:var(--ink);flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:0 40px 80px;font-family:IBM Plex Sans,system-ui,sans-serif;display:flex}.sl-share-dot{background:var(--danger);border-radius:50%;width:10px;height:10px;margin-bottom:10px}@media (prefers-color-scheme:dark){.sl-share-bar[style]{background:oklch(.74 .13 var(--h))}.sl-share-chg{color:var(--accent)}.sl-share-add{color:oklch(78% .13 150)}}:root{--bg:oklch(98.5% .004 250);--surface:oklch(100% 0 0);--alt:oklch(92% .006 250);--ink:oklch(22% .012 250);--muted:oklch(50% .012 250);--line:oklch(92% .008 250);--accent:oklch(75% .14 58);--on-accent:oklch(27% .05 45);--accent-shadow:oklch(75% .14 58/.4);--undo-ink:oklch(56% .14 58);--toast-bg:oklch(100% 0 0);--danger:oklch(55% .18 25);--no-group:oklch(87% .004 250);--g-l:.64;--g-c:.15;--scrim:#0a0c1057;--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:oklch(29% .01 250);--surface:oklch(33% .01 250);--alt:oklch(40% .01 250);--ink:oklch(95% .004 250);--muted:oklch(76% .01 250);--line:oklch(40% .01 250);--accent:oklch(82% .12 58);--on-accent:oklch(22% .04 45);--accent-shadow:oklch(82% .12 58/.4);--undo-ink:oklch(82% .12 58);--toast-bg:oklch(37% .01 250);--danger:oklch(78% .13 25);--no-group:oklch(52% .01 250);--g-l:.74;--g-c:.13}}@property --fl{syntax:"<number>";inherits:false;initial-value:1}@property --fr{syntax:"<number>";inherits:false;initial-value:1}@keyframes slDotRing{0%{opacity:.55;transform:scale(1)}70%{opacity:0;transform:scale(3.4)}to{opacity:0;transform:scale(3.4)}}@keyframes slDotCore{0%,to{transform:scale(1)}50%{transform:scale(1.18)}}@keyframes slFade{0%{opacity:0}to{opacity:1}}@keyframes slFormIn{0%{opacity:0;transform:translateY(-10px)scale(.98)}to{opacity:1;transform:none}}@keyframes slToastIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--ink);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0;font-family:IBM Plex Sans,system-ui,-apple-system,Segoe UI,sans-serif;overflow-x:hidden}#app{height:100%}input,button{font:inherit;color:inherit}input::placeholder{color:currentColor;opacity:.25}button{cursor:pointer;background:0 0;border:0;padding:0}.screen{background:var(--bg);max-width:560px;height:100dvh;padding-left:var(--safe-l);padding-right:var(--safe-r);flex-direction:column;margin:0 auto;display:flex;position:relative;overflow:hidden}.head{min-height:calc(72px + var(--safe-t));padding:calc(14px + var(--safe-t)) 8px 14px 30px;flex:none;justify-content:space-between;align-items:center;gap:12px;display:flex;position:relative}.head-dot{left:12px;top:calc(50% + var(--safe-t) / 2);width:5px;height:5px;margin-top:-2.5px;position:absolute}.head-dot:before,.head-dot:after{content:"";background:var(--accent);border-radius:50%;position:absolute;inset:0}.head-dot:before{animation:2.8s cubic-bezier(.2,.6,.3,1) infinite slDotRing}.head-dot:after{box-shadow:0 0 6px var(--accent);animation:2.8s ease-in-out infinite slDotCore}.title{letter-spacing:-.01em;white-space:nowrap;flex:1;min-width:0;font-size:22px;font-weight:600;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000)}.head-tools{align-items:center;gap:4px;display:flex;position:relative}.round-btn{border:1px solid var(--line);background:var(--surface);width:44px;height:44px;color:var(--ink);border-radius:50%;justify-content:center;align-items:center;display:flex}.dots-btn{border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:3px;width:36px;height:44px;display:flex}.dots-btn span{background:var(--ink);border-radius:2px;width:4px;height:4px}.menu-scrim{z-index:11;position:fixed;inset:0}.menu{z-index:12;background:var(--surface);border:1px solid var(--line);border-radius:14px;flex-direction:column;min-width:200px;padding:6px;animation:.15s ease-out slFade;display:flex;position:absolute;top:46px;right:0;box-shadow:0 12px 30px #0000002e}.menu button{text-align:left;border-radius:10px;justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;font-size:16px;display:flex}.menu button:active{background:var(--line)}.menu .danger{color:var(--danger)}.scroll{scrollbar-width:none;overscroll-behavior:contain;flex-direction:column;flex:1;display:flex;overflow:hidden auto}.scroll::-webkit-scrollbar{display:none}.scroll.pad-fab{padding-bottom:calc(96px + var(--safe-b))}.swipe{flex:none;position:relative;overflow:hidden}.swipe-actions{display:flex;position:absolute;top:0;bottom:0;right:0}.swipe-actions button{flex:1;justify-content:center;align-items:center;font-size:15px;font-weight:600;display:flex}.swipe-actions button:first-child{border-radius:12px 0 0 12px}.act-danger{background:var(--danger);color:var(--bg)}.act-alt{background:var(--alt);color:var(--ink)}.row{background:var(--bg);cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:pan-y;flex:none;align-items:center;gap:12px;min-height:52px;padding:0 20px 0 30px;display:flex;position:relative}.row-name{text-wrap:pretty;overflow-wrap:anywhere;flex:1;min-width:0;padding:14px 0;font-size:17px;line-height:1.3}.row-qty{color:var(--muted);white-space:nowrap;font-size:15px}.bar{width:5px;position:absolute;top:0;bottom:0;left:12px}.bar.first{border-top-left-radius:3px;border-top-right-radius:3px;top:8px}.bar.last{border-bottom-right-radius:3px;border-bottom-left-radius:3px;bottom:8px}.row.is-bought .row-name{color:var(--muted);text-decoration:line-through}.list-row{min-height:66px}.list-row .lr-main{flex-direction:column;flex:1;gap:2px;min-width:0;padding:12px 0;display:flex}.fade-end{white-space:nowrap;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000)}.lr-name{font-size:17px}.lr-meta{color:var(--muted);font-size:14px}.section-label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);flex:none;padding:22px 20px 8px 30px;font-size:13px;font-weight:600}.bought-row{min-height:50px;color:var(--muted);flex:none;align-items:stretch;padding:0 0 0 30px;display:flex;position:relative}.bought-row .bar{opacity:.45}.bought-name{text-wrap:pretty;overflow-wrap:anywhere;cursor:pointer;text-align:left;flex:1;min-width:0;padding:14px 12px 14px 0;font-size:16px;line-height:1.3;text-decoration:line-through}.bought-name small{opacity:.8;font-size:14px}.bought-price{white-space:nowrap;min-width:64px;color:var(--ink);flex:none;justify-content:flex-end;align-items:center;padding:0 20px 0 12px;font-size:15px;display:flex}.bought-price.none{color:var(--muted)}.empty{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:6px;padding:0 40px 120px;display:flex}.empty-line{text-wrap:balance;font-size:18px;font-weight:600}.empty-hint{color:var(--muted);font-size:15px}.done{text-align:center;text-wrap:balance;flex-direction:column;flex:none;align-items:center;padding:52px 40px 30px;font-size:18px;font-weight:600;display:flex}.fab{background:var(--accent);width:56px;height:56px;color:var(--on-accent);box-shadow:0 8px 22px var(--accent-shadow);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:30px;font-weight:400;line-height:1;display:flex}.fab.float{right:calc(20px + var(--safe-r));bottom:calc(22px + var(--safe-b));z-index:9;position:absolute}.footer{padding:14px 20px calc(22px + var(--safe-b)) 24px;border-top:1px solid var(--line);background:var(--surface);flex:none;justify-content:space-between;align-items:center;gap:12px;display:flex}.footer-sum{align-items:baseline;gap:8px;min-width:0;display:flex}.footer-total{font-size:22px;font-weight:600}.footer-partial{color:var(--muted);white-space:nowrap;font-size:16px}.toast{left:max(10px,50% - 270px);right:max(10px,50% - 270px);top:calc(8px + var(--safe-t));background:var(--toast-bg);border:1px solid var(--line);height:56px;color:var(--ink);z-index:30;border-radius:16px;justify-content:space-between;align-items:center;gap:10px;padding:0 6px 0 18px;animation:.2s ease-out slToastIn;display:flex;position:fixed;box-shadow:0 8px 24px #0000001a}.toast-text{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:15px;overflow:hidden}.toast-undo{color:var(--undo-ink);border-radius:10px;padding:10px 12px;font-size:15px;font-weight:600}.scrim{z-index:15;background:var(--scrim);animation:.24s ease-out slFade;position:absolute;inset:0}.sheet{left:10px;right:10px;top:calc(20px + var(--safe-t));z-index:20;flex-direction:column;gap:8px;display:flex;position:absolute}.card{background:var(--surface);border-radius:28px;flex-direction:column;gap:18px;padding:12px 20px 20px;animation:.26s cubic-bezier(.2,.7,.3,1) slFormIn;display:flex;position:relative;box-shadow:0 24px 60px #00000047}.card-close-row{justify-content:flex-end;margin:0 -10px -14px 0;display:flex}.x-btn{width:36px;height:36px;color:var(--muted);border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.fields{flex-direction:column;gap:6px;display:flex}.labels{color:var(--muted);font-size:12px;font-weight:600;display:grid}.labels span{white-space:nowrap;overflow:hidden}.field-row{border:1.5px solid var(--line);background:var(--bg);border-radius:14px;height:52px;display:grid;overflow:hidden}.cols-2{grid-template-columns:minmax(0,1fr) 96px}.cols-3{grid-template-columns:minmax(0,1fr) 96px minmax(0,1fr)}.field-cell{min-width:0;display:flex;position:relative}.field{width:100%;min-width:0;height:100%;box-shadow:none;color:var(--ink);appearance:none;background-color:#0000;background-position:bottom;background-repeat:no-repeat;background-size:100% 2px;border:0;border-radius:0;outline:none;flex:1;font-size:17px;font-weight:500}.field.computed{color:var(--muted)}.ring-l:focus{background-image:linear-gradient(to right, transparent 0, transparent 10px, var(--accent) 14px, var(--accent) calc(100% - 5px), transparent 100%)}.ring-r:focus{background-image:linear-gradient(to right, transparent 0, var(--accent) 5px, var(--accent) calc(100% - 14px), transparent calc(100% - 10px), transparent 100%)}.ring-m:focus{background-image:linear-gradient(to right, transparent 0, var(--accent) 5px, var(--accent) calc(100% - 5px), transparent 100%)}.picker-open .field:focus{background-image:none}.sep{color:var(--muted);pointer-events:none;z-index:1;font-size:17px;font-weight:600;position:absolute;top:50%}.sep-colon{font-size:19px;left:-3px;transform:translateY(-54%)}.sep-x{left:-5px;transform:translateY(-52%)}.sep-eq{right:-5px;transform:translateY(-52%)}.actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.btn-accent{background:var(--accent);height:44px;color:var(--on-accent);border-radius:999px;justify-content:center;align-items:center;padding:0 24px;font-size:16px;font-weight:600;display:flex}.btn-outline{border:1px solid var(--line);background-color:var(--bg);background-position:bottom;background-repeat:no-repeat;background-size:100% 2px;border-radius:999px;align-items:center;gap:10px;height:44px;margin-right:auto;padding:0 18px;font-size:15px;font-weight:600;display:flex;overflow:hidden}.btn-group{padding:0 18px 0 16px}.btn-group.on{background-image:linear-gradient(to right, transparent 0, transparent 18px, var(--accent) 23px, var(--accent) calc(100% - 23px), transparent calc(100% - 18px), transparent 100%)}.swatch{border-radius:3px;flex:none;width:5px;height:22px}.panel{z-index:1;background:var(--surface);border-radius:22px;animation:.26s cubic-bezier(.2,.7,.3,1) slFormIn;position:relative;box-shadow:0 12px 36px #0000002e}.panel-sugg{flex-direction:column;padding:4px 0;display:flex;overflow:hidden}.sugg{text-align:left;align-items:center;gap:12px;width:100%;height:50px;padding:0 20px 0 30px;display:flex;position:relative}.sugg .bar{border-radius:3px;top:8px;bottom:8px}.sugg-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:16px;overflow:hidden}.panel-chips{flex-wrap:wrap;gap:8px;padding:10px;display:flex}.chip{border:1px solid var(--line);background:var(--bg);white-space:nowrap;border-radius:999px;flex:1;justify-content:center;align-items:center;min-width:0;height:44px;padding:0 12px;font-size:16px;font-weight:500;display:flex}.chip.on{border:1.5px solid var(--accent)}.panel-pal{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;padding:14px;display:grid}.pal{outline-offset:2px;border-radius:12px;outline:2px solid #0000;height:44px}.pal.on{outline-color:var(--ink)}.price-head{align-items:center;gap:12px;margin-bottom:-6px;margin-right:-10px;display:flex}.price-name{flex:1;align-items:center;min-width:0;min-height:36px;padding-left:15.5px;font-size:17px;font-weight:600;display:flex;position:relative}.price-name .bar{border-radius:3px;top:5px;bottom:5px;left:3px}.price-name span:last-child{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.name-sheet{left:10px;right:10px;top:calc(2px + var(--safe-t));z-index:20;background:var(--surface);border-radius:22px;flex-direction:column;gap:14px;padding:12px 20px 16px;animation:.2s ease-out slFade;display:flex;position:absolute;box-shadow:0 24px 60px #00000047}.name-row{align-items:center;gap:8px;display:flex}.name-row .x-btn{margin-right:-10px}.name-input{letter-spacing:-.01em;width:auto;min-width:0;height:44px;color:var(--ink);background-color:#0000;background-image:linear-gradient(to right, transparent 0, var(--accent) 5px, var(--accent) calc(100% - 5px), transparent 100%);-webkit-mask-image:linear-gradient(to right, rgba(0, 0, 0, var(--fl)), #000 28px, #000 calc(100% - 28px), rgba(0, 0, 0, var(--fr)));-webkit-mask-image:linear-gradient(to right, rgba(0, 0, 0, var(--fl)), #000 28px, #000 calc(100% - 28px), rgba(0, 0, 0, var(--fr)));mask-image:linear-gradient(to right, rgba(0, 0, 0, var(--fl)), #000 28px, #000 calc(100% - 28px), rgba(0, 0, 0, var(--fr)));background-position:bottom;background-repeat:no-repeat;background-size:100% 2px;border:0;outline:none;flex:1;padding:0;font-size:22px;font-weight:600;transition:--fl .3s,--fr .3s}.name-sheet .btn-accent{align-self:flex-end}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}
