@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/13bf9871fe164e7f-s.3bz3aq452sydg.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/cc545e633e20c56d-s.2sb9jzhmrh7ny.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/71b036adf157cdcf-s.343obqi851wr5.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/89b21bb081cb7469-s.40kcwrf1wub16.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/3fe682a82f50d426-s.p.200l3jur7oygh.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/70bc3e132a0a741e-s.p.269kn9uafm0ti.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_7aaa0660-module__PgTfuG__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_7aaa0660-module__PgTfuG__variable{--font-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--hue:240;--sat:8%;--l-background:9%;--l-card:10%;--l-border:13%;--l-shadow:6%;--l-text-highlight:85%;--l-text:73%;--l-text-subdue:58%;--l-text-muted:55%;--l-text-faint:35%;--accent-hsl:43 50% 70%;--negative-hsl:0 70% 70%;--backdrop:hsl(var(--hue) var(--sat) 3% / .7);--color-background:hsl(var(--hue) var(--sat) var(--l-background));--color-card:hsl(var(--hue) 10% var(--l-card));--color-border:hsl(var(--hue) 9% var(--l-border));--color-shadow:hsl(var(--hue) var(--sat) var(--l-shadow));--color-text-highlight:hsl(var(--hue) var(--sat) var(--l-text-highlight));--color-text:hsl(var(--hue) var(--sat) var(--l-text));--color-text-subdue:hsl(var(--hue) var(--sat) var(--l-text-subdue));--color-text-muted:hsl(var(--hue) var(--sat) var(--l-text-muted));--color-text-faint:hsl(var(--hue) var(--sat) var(--l-text-faint));--color-accent:hsl(var(--accent-hsl));--color-accent-contrast:hsl(var(--hue) var(--sat) var(--l-background));--color-negative:hsl(var(--negative-hsl));--radius:5px;--row-height:3rem;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:light){:root:not([data-theme]){--sat:12%;--l-background:95%;--l-card:98%;--l-border:85%;--l-shadow:86%;--l-text-highlight:12%;--l-text:24%;--l-text-subdue:36%;--l-text-muted:42%;--l-text-faint:64%;--accent-hsl:43 65% 30%;--negative-hsl:0 65% 42%;--backdrop:hsl(var(--hue) var(--sat) 10% / .45);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}:root[data-theme=light]{--sat:12%;--l-background:95%;--l-card:98%;--l-border:85%;--l-shadow:86%;--l-text-highlight:12%;--l-text:24%;--l-text-subdue:36%;--l-text-muted:42%;--l-text-faint:64%;--accent-hsl:43 65% 30%;--negative-hsl:0 65% 42%;--backdrop:hsl(var(--hue) var(--sat) 10% / .45);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box;margin:0;padding:0}html,body{max-width:100vw;overflow-x:clip}body{min-height:100dvh;color:var(--color-text);background:var(--color-background);font-family:var(--font-mono), ui-monospace, monospace;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font-size:1rem;line-height:1.5}h1,h2{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-highlight);font-weight:400}h1{font-size:1.125rem}h2{color:var(--color-text-subdue);font-size:.875rem}button,input{font:inherit;color:inherit}.card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:0 3px 0 0 var(--color-shadow)}.shopping{flex-direction:column;min-height:100dvh;display:flex}.top-bar{border-bottom:1px solid var(--color-border);color:var(--color-text-muted);justify-content:space-between;align-items:center;gap:.5rem;padding:0 .25rem 0 1rem;font-size:.8125rem;display:flex}.top-bar-user{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.top-bar-menu{width:2.75rem;height:2.75rem;color:var(--color-text-subdue);cursor:pointer;touch-action:manipulation;background:0 0;border:none;flex:none;font-size:1.125rem}.top-bar-menu:focus-visible{outline:1px solid var(--color-accent);outline-offset:-2px}.menu{min-width:12rem;max-width:calc(100vw - 1rem);color:var(--color-text);background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:0 3px 0 0 var(--color-shadow);max-height:calc(100dvh - 3.25rem);margin:0;padding:0;position:fixed;inset:2.75rem .5rem auto auto;overflow-y:auto}.menu::backdrop{background:var(--backdrop,#070708b3)}.menu-list{list-style:none}.menu-list li+li{border-top:1px solid var(--color-border)}.menu-item{width:100%;min-height:var(--row-height);text-align:left;color:var(--color-text-highlight);cursor:pointer;touch-action:manipulation;background:0 0;border:none;padding:.6rem 1rem;display:block}.menu-section+.menu-section{border-top:1px solid var(--color-border)}.menu-heading{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);padding:.6rem 1rem .25rem;font-size:.75rem}.menu-item[aria-pressed]{align-items:center;gap:.5rem;padding-left:.75rem;display:flex}.menu-item[aria-pressed=true]{color:var(--color-accent)}.menu-check{text-align:center;flex:none;width:1rem}.menu-switch{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.menu-switch-text{flex-direction:column;gap:.15rem;display:flex}.menu-hint{max-width:16rem;color:var(--color-text-muted);font-size:.8125rem}.menu-switch-state{border:1px solid var(--color-border);border-radius:var(--radius);text-align:center;min-width:2.25rem;color:var(--color-text-muted);flex:none;padding:.1rem .4rem;font-size:.8125rem}.menu-switch[aria-checked=true] .menu-switch-state{border-color:var(--color-accent);color:var(--color-accent)}.menu-item:focus-visible{outline:1px solid var(--color-accent);outline-offset:-2px}.shopping-header{padding:.5rem 1rem}.list-title{max-width:100%;min-height:2.75rem;font:inherit;text-transform:inherit;letter-spacing:inherit;text-align:left;color:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:none;align-items:center;gap:.6rem;display:flex}.list-title-text{overflow-wrap:anywhere;min-width:0}.list-title-more{color:var(--color-text-muted);flex:none}.list-title[aria-busy=true]{opacity:.6}.list-title:focus-visible{outline:1px solid var(--color-accent);outline-offset:2px}.shopping-main{flex-direction:column;flex:1;gap:1.5rem;padding:.25rem 1rem 4rem;display:flex}.cart,.past,.area{flex-direction:column;gap:.6rem;display:flex}.open-areas{flex-direction:column;gap:1rem;display:flex}.empty-hint{color:var(--color-text-subdue);padding:1rem}.entry-list{list-style:none;overflow:hidden}.entry-list li+li{border-top:1px solid var(--color-border)}.entry-row{align-items:stretch;display:flex}.entry{min-width:0;min-height:var(--row-height);text-align:left;color:var(--color-text-highlight);cursor:pointer;touch-action:manipulation;background:0 0;border:none;flex:1;align-items:center;gap:.85rem;padding:.6rem 0 .6rem 1rem;font-size:1.0625rem;display:flex}.entry:focus-visible,.entry-details:focus-visible{outline:1px solid var(--color-accent);outline-offset:-2px}.entry-details{width:3rem;min-height:var(--row-height);color:var(--color-text-muted);letter-spacing:.05em;cursor:pointer;touch-action:manipulation;background:0 0;border:none;flex:none;font-size:1.125rem}.entry-box{border:2px solid var(--color-text-muted);border-radius:2px;flex:none;width:1.1rem;height:1.1rem}.entry-text{flex-direction:column;flex:1;min-width:0;display:flex}.entry-name,.entry-note{overflow-wrap:anywhere}.entry-note{color:var(--color-text-muted);font-size:.8125rem;line-height:1.35}.entry-amount{color:var(--color-text-subdue);flex:none}.entry-by{text-overflow:ellipsis;white-space:nowrap;max-width:7rem;color:var(--color-text-muted);flex:none;font-size:.8125rem;overflow:hidden}.entry-details:disabled{color:var(--color-text-faint);cursor:default}.entry[aria-checked=true] .entry-box{border-color:var(--color-accent);background:var(--color-accent)}.entry[aria-checked=true] .entry-name,.entry[aria-checked=true] .entry-amount{color:var(--color-text-faint);text-decoration:line-through}.entry[aria-checked=true] .entry-note{color:var(--color-text-faint)}.past-entry{color:var(--color-text)}.past-plus{text-align:center;width:1.1rem;color:var(--color-accent);flex:none}.shopping-footer{z-index:1;padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom));background:var(--color-background);border-top:1px solid var(--color-border);flex-direction:column;gap:.6rem;display:flex;position:sticky;bottom:0}.footer-float{pointer-events:none;flex-direction:column;align-items:center;gap:.4rem;display:flex;position:absolute;bottom:calc(100% + .5rem);left:1rem;right:1rem}.footer-float>*{pointer-events:auto;box-shadow:0 3px 0 0 var(--color-shadow)}.footer-float:empty{display:none}.offline-hint{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-card);color:var(--color-text-muted);padding:.2rem .75rem;font-size:.8125rem}.notice{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-card);color:var(--color-accent);padding:.35rem .85rem;font-size:.9375rem}.suggestions{list-style:none;overflow:hidden}.suggestions li+li{border-top:1px solid var(--color-border)}.suggestion{text-align:left;width:100%;min-height:2.75rem;color:var(--color-text-highlight);cursor:pointer;touch-action:manipulation;background:0 0;border:none;align-items:center;gap:.85rem;padding:.5rem .85rem;font-size:1.0625rem;display:flex}.suggestion-status{color:var(--color-text-muted);flex:none;font-size:.875rem}.undo-bar{min-height:var(--row-height);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-card);color:var(--color-text-highlight);justify-content:space-between;align-self:stretch;align-items:center;gap:.85rem;padding:0 0 0 1rem;display:flex}.undo-button{border:none;border-left:1px solid var(--color-border);min-height:2.75rem;color:var(--color-accent);text-transform:uppercase;letter-spacing:.06em;cursor:pointer;touch-action:manipulation;background:0 0;align-self:stretch;padding:0 1rem;font-size:.9375rem}.store-suggest{text-align:left;min-height:2.75rem;color:var(--color-accent);cursor:pointer;touch-action:manipulation;background:0 0;border:none;flex:1;align-self:stretch;padding:.5rem 0}.add-form{gap:.6rem;display:flex}.add-input{min-width:0;min-height:var(--row-height);color:var(--color-text-highlight);background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);flex:1;padding:.6rem .85rem;font-size:1.0625rem}.add-input::placeholder{color:var(--color-text-muted)}.add-input:focus{border-color:var(--color-accent);outline:none}.bar-tile{min-height:var(--row-height);border-radius:var(--radius);color:var(--color-accent-contrast);background:var(--color-accent);white-space:nowrap;cursor:pointer;touch-action:manipulation;border:none;flex:none;padding:0 .85rem}.bar-tile:disabled{opacity:.6;cursor:default}.bar-tile:focus-visible{outline:1px solid var(--color-accent);outline-offset:2px}.sheet{overscroll-behavior:contain;width:100%;max-width:40rem;max-height:100dvh;color:var(--color-text);background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius) var(--radius) 0 0;border-bottom:none;margin:0 auto;padding:0;position:fixed;inset:auto 0 0;overflow-y:auto}.sheet::backdrop{background:var(--backdrop,#070708b3)}.sheet-body{padding:.5rem 1rem calc(1rem + env(safe-area-inset-bottom));flex-direction:column;gap:1rem;display:flex}.sheet-head{align-items:center;gap:.5rem;display:flex}.sheet-head h2{overflow-wrap:anywhere;min-width:0;color:var(--color-text-highlight);flex:1}.sheet-close{width:2.75rem;height:2.75rem;color:var(--color-text-muted);cursor:pointer;touch-action:manipulation;background:0 0;border:none;flex:none;margin-right:-.75rem;font-size:1.125rem}.sheet-field{color:var(--color-text-subdue);border:none;flex-direction:column;gap:.35rem;font-size:.875rem;display:flex}.sheet-field legend{margin-bottom:.35rem}.sheet-field input[type=text]{width:100%;min-height:2.75rem;color:var(--color-text-highlight);background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius);padding:.5rem .75rem;font-size:1.0625rem}.sheet-field input[type=text]:focus{border-color:var(--color-accent);outline:none}.sheet-field input::placeholder{color:var(--color-text-muted)}.sheet-quantity{align-items:center;gap:.75rem;display:flex}.sheet-quantity input[type=text]{width:8rem}.sheet-unit{color:var(--color-text);font-size:1.0625rem}.unit-choices{grid-template-columns:repeat(3,1fr);gap:.4rem;display:grid}.unit-choice{position:relative}.unit-choice input{opacity:0;pointer-events:none;position:absolute}.unit-choice span{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-background);min-height:2.75rem;color:var(--color-text);cursor:pointer;justify-content:center;align-items:center;padding:0 .25rem;font-size:.9375rem;display:flex}.unit-choice input:checked+span{border-color:var(--color-accent);color:var(--color-accent)}.unit-choice input:focus-visible+span{outline:1px solid var(--color-accent);outline-offset:1px}.area-choices{grid-template-columns:repeat(2,1fr)}.area-choices .unit-choice span{text-align:center;overflow-wrap:anywhere;padding:.25rem .5rem;font-size:.875rem;line-height:1.25}.sheet-section{flex-direction:column;gap:1rem;display:flex}.sheet-section-divided{border-top:1px solid var(--color-border);padding-top:1rem}.theme-choices .unit-choice span{font-size:.875rem}.list-choices{grid-template-columns:repeat(2,1fr);gap:.4rem;list-style:none;display:grid}.list-choice{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-background);width:100%;min-height:2.75rem;color:var(--color-text);font:inherit;text-align:left;cursor:pointer;touch-action:manipulation;align-items:center;gap:.4rem;padding:.25rem .5rem;font-size:.9375rem;line-height:1.25;display:flex}.list-choice[aria-pressed=true]{border-color:var(--color-accent);color:var(--color-accent)}.list-choice:disabled{opacity:.6}.list-choice:focus-visible{outline:1px solid var(--color-accent);outline-offset:1px}.list-choice-check{text-align:center;flex:none;width:1rem}.list-choice-name{overflow-wrap:anywhere;min-width:0}.sheet-inline{gap:.6rem;display:flex}.sheet-inline input[type=text]{flex:1;min-width:0}.sheet-inline .sheet-button{flex:none}.sheet-hint{color:var(--color-negative);font-size:.9375rem}.sheet-confirm{color:var(--color-text-highlight);flex-direction:column;gap:.75rem;display:flex}.sheet-actions{gap:.6rem;display:flex}.sheet-button{min-height:var(--row-height);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text-highlight);cursor:pointer;touch-action:manipulation;background:0 0;flex:1;padding:.6rem 1rem}.sheet-button:disabled{opacity:.6;cursor:progress}.sheet-button-quiet{color:var(--color-negative);flex:none}.sheet-button-primary{color:var(--color-accent-contrast);background:var(--color-accent);border:none}.sheet-button-danger{border-color:var(--color-negative);color:var(--color-negative)}.sheet-note{color:var(--color-text-subdue);font-size:.875rem}.area-admin{list-style:none;overflow:hidden}.area-admin>li+li{border-top:1px solid var(--color-border)}.area-admin-row{align-items:stretch;display:flex}.area-admin-name{min-width:0;min-height:var(--row-height);text-align:left;overflow-wrap:anywhere;color:var(--color-text-highlight);cursor:pointer;touch-action:manipulation;background:0 0;border:none;flex:1;padding:.6rem .5rem .6rem 1rem}.area-admin-name[aria-expanded=true]{color:var(--color-accent)}.area-move{width:3rem;min-height:var(--row-height);color:var(--color-text-subdue);cursor:pointer;touch-action:manipulation;background:0 0;border:none;flex:none;font-size:1.125rem}.area-move:disabled{color:var(--color-text-faint);cursor:default}.area-admin-name:focus-visible,.area-move:focus-visible{outline:1px solid var(--color-accent);outline-offset:-2px}.area-admin-edit{flex-direction:column;gap:.75rem;padding:.25rem 1rem 1rem;display:flex}.area-admin-label{overflow-wrap:anywhere;min-width:0;color:var(--color-text-highlight);flex:1;align-items:center;padding:.6rem .5rem .6rem 1rem;display:flex}.store-open{justify-content:space-between;align-items:center;gap:.5rem;width:100%;padding-right:1rem;display:flex}.store-open-arrow{color:var(--color-text-subdue);flex:none;font-size:1.25rem}.store-open-text{flex-direction:column;gap:.15rem;min-width:0;display:flex}.store-open-meta{color:var(--color-text-subdue);font-size:.8125rem}.store-location{flex-direction:column;gap:.35rem;display:flex}.store-location-title{color:var(--color-text-subdue);font-size:.875rem;font-weight:400}.store-location-state{color:var(--color-text-highlight)}.sheet-back{width:2.75rem;height:2.75rem;color:var(--color-text-muted);cursor:pointer;touch-action:manipulation;background:0 0;border:none;flex:none;margin-left:-.75rem;font-size:1.125rem}.sheet-back:focus-visible{outline:1px solid var(--color-accent);outline-offset:-2px}.area-admin-fixed{min-height:var(--row-height);color:var(--color-text-muted);justify-content:space-between;align-items:center;gap:.5rem;padding:.6rem 1rem;display:flex}.area-admin-fixed-note{font-size:.8125rem}.login{min-height:100dvh;padding:2rem 1rem calc(1.5rem + env(safe-area-inset-bottom));flex-direction:column;justify-content:space-between;gap:2rem;display:flex}.login-intro{flex-direction:column;gap:.75rem;display:flex}.login-action{flex-direction:column;gap:1rem;display:flex}.login-error{border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-negative);background:var(--color-card);padding:.75rem 1rem}.login-button{width:100%;min-height:var(--row-height);border-radius:var(--radius);color:var(--color-accent-contrast);background:var(--color-accent);cursor:pointer;border:none;padding:.75rem 1rem}.login-button:disabled{opacity:.7;cursor:progress}
