:root{--space-3xs:2px;--space-2xs:4px;--space-xs:8px;--space-sm:12px;--space-md:16px;--space-lg:24px;--space-xl:40px;--text-xs:.8125rem;--text-sm:.875rem;--text-md:1rem;--text-lg:1.0625rem;--text-xl:1.25rem;--text-2xl:1.75rem;--text-3xl:2.5rem;--text-mega:4.25rem;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-spring:cubic-bezier(.34, 1.7, .5, 1);--dur-micro:.12s;--dur-short:.22s;--dur-long:.42s;--color-paper:oklch(96.5% .012 95);--color-paper-2:oklch(99.5% .006 95);--color-ink:oklch(19% .02 280);--color-ink-2:oklch(34% .02 280);--color-muted:oklch(44% .015 280);--color-accent:oklch(64% .21 33);--color-accent-ink:oklch(17% .03 33);--color-focus:oklch(52% .2 260);--color-on-ink:oklch(98% .01 95);--color-danger:oklch(55% .2 25);--cat-ink:oklch(19% .02 280);--cat-l:86%;--cat-c:.12;--sticker:oklch(100% 0 0/.6);--font-display:ui-rounded, "SF Pro Rounded", -apple-system, system-ui, sans-serif;--font-body:-apple-system, system-ui, "Segoe UI", Roboto, sans-serif;--radius-card:26px;--radius-row:16px;--radius-pill:999px;--border:2.5px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}:root:not([data-theme=light]){--color-paper:oklch(17% .015 280);--color-paper-2:oklch(24% .018 280);--color-ink:oklch(96% .01 95);--color-ink-2:oklch(84% .01 95);--color-muted:oklch(76% .012 95);--color-accent:oklch(70% .19 33);--color-focus:oklch(78% .14 250);--color-on-ink:oklch(17% .015 280);--color-danger:oklch(70% .17 25);--cat-l:79%;--sticker:oklch(100% 0 0/.5)}}:root[data-theme=dark]{--color-paper:oklch(17% .015 280);--color-paper-2:oklch(24% .018 280);--color-ink:oklch(96% .01 95);--color-ink-2:oklch(84% .01 95);--color-muted:oklch(76% .012 95);--color-accent:oklch(70% .19 33);--color-focus:oklch(78% .14 250);--color-on-ink:oklch(17% .015 280);--color-danger:oklch(70% .17 25);--cat-l:79%;--sticker:oklch(100% 0 0/.5)}*,:before,:after{box-sizing:border-box}html,body{overflow-x:clip}html{background:var(--color-paper);-webkit-text-size-adjust:100%}body{background:var(--color-paper);min-height:100dvh;color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-md);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;caret-color:var(--color-accent);margin:0;line-height:1.45}::selection{background:color-mix(in oklab, var(--color-accent) 30%, transparent);color:var(--color-ink)}h1,h2,h3{font-family:var(--font-display);overflow-wrap:break-word;text-wrap:balance;min-width:0;margin:0;font-weight:800}p{margin:0}button,input,select{font:inherit;color:inherit}button{-webkit-user-select:none;user-select:none;touch-action:manipulation}svg{display:block}:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.screen{max-width:560px;padding:calc(env(safe-area-inset-top) + var(--space-lg)) max(var(--space-md), env(safe-area-inset-right)) calc(env(safe-area-inset-bottom) + 132px) max(var(--space-md), env(safe-area-inset-left));margin-inline:auto}.top{padding:0 var(--space-xs) var(--space-sm);justify-content:space-between;align-items:baseline;display:flex}.wordmark{font-size:var(--text-3xl);letter-spacing:-.035em;line-height:1}.top time{font-size:var(--text-sm);color:var(--color-muted)}.stores{z-index:1;gap:var(--space-2xs);scrollbar-width:none;padding:calc(env(safe-area-inset-top) + var(--space-xs)) var(--space-md) var(--space-md);margin:calc(-1 * env(safe-area-inset-top) - var(--space-xs)) calc(-1 * var(--space-md)) 0;background:linear-gradient(to bottom, var(--color-paper) 80%, transparent);display:flex;position:sticky;top:0;overflow-x:auto}.stores::-webkit-scrollbar{display:none}.store{align-items:center;gap:var(--space-xs);min-height:46px;padding:0 var(--space-2xs) 0 var(--space-sm);border:var(--border) solid var(--color-ink);border-radius:var(--radius-pill);background:var(--color-paper);color:var(--color-ink);font-weight:700;font-size:var(--text-sm);cursor:pointer;transition:background-color var(--dur-short) var(--ease-out), transform var(--dur-micro) var(--ease-out);flex:none;text-decoration:none;display:inline-flex}.store:active{transform:scale(.96)}.store[aria-current=page]{background:var(--color-ink);color:var(--color-on-ink)}.store .count{min-width:28px;height:28px;padding:0 var(--space-xs);border-radius:var(--radius-pill);background:var(--color-ink);color:var(--color-on-ink);font-size:var(--text-sm);font-variant-numeric:tabular-nums;place-items:center;font-weight:700;display:grid}.store[aria-current=page] .count{background:var(--color-accent);color:var(--color-accent-ink)}.aisles{gap:var(--space-sm);display:grid}.aisle{--c:oklch(var(--cat-l) var(--cat-c) var(--hue,100));background:var(--c);color:var(--cat-ink);border-radius:var(--radius-card);padding:var(--space-sm) var(--space-xs) var(--space-xs)}.aisle-head{align-items:center;gap:var(--space-sm);padding:0 var(--space-xs) var(--space-xs);display:flex}.emoji{background:var(--sticker);border-radius:50%;flex:none;place-items:center;width:48px;height:48px;font-size:28px;line-height:1;display:grid;transform:rotate(-8deg)}.aisle-head h2{font-size:var(--text-xl);letter-spacing:-.015em;flex:1;line-height:1.1}.aisle-head .n{font-family:var(--font-display);font-weight:800;font-size:var(--text-xl);font-variant-numeric:tabular-nums}.items{gap:var(--space-2xs);margin:0;padding:0;list-style:none;display:grid}.item{align-items:center;gap:var(--space-sm);width:100%;min-height:56px;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-row);background:var(--sticker);color:var(--cat-ink);text-align:left;cursor:pointer;-webkit-touch-callout:none;transition:background-color var(--dur-short) var(--ease-out), opacity var(--dur-long) var(--ease-out);border:0;display:flex}.item:active .tick{transform:scale(.88)}.tick{border:var(--border) solid var(--cat-ink);width:30px;height:30px;transition:transform var(--dur-short) var(--ease-spring), background-color var(--dur-micro) linear;border-radius:50%;flex:none;place-items:center;display:grid}.tick svg{width:18px;height:18px;transition:transform var(--dur-long) var(--ease-spring), opacity var(--dur-micro) linear}.label{align-items:center;gap:var(--space-xs);flex-wrap:wrap;flex:1;min-width:0;display:flex}.name{font-weight:700;font-size:var(--text-lg);line-height:1.2;position:relative}.name:after{content:"";background:var(--cat-ink);transform-origin:0;height:2.5px;transition:transform var(--dur-short) var(--ease-out);border-radius:2px;position:absolute;top:52%;left:-3px;right:-3px;transform:scaleX(0)}.note{font-size:var(--text-sm);padding:var(--space-3xs) var(--space-xs);border-radius:var(--radius-pill);border:1.5px solid var(--cat-ink);font-variant-numeric:tabular-nums;font-weight:600}.item[aria-pressed=false] .tick svg{opacity:0;transform:scale(.3)rotate(-20deg)}.item[aria-pressed=true]{opacity:.5}.item[aria-pressed=true] .tick{background:var(--cat-ink)}.item[aria-pressed=true] .tick svg{opacity:1;color:var(--c);transform:none}.item[aria-pressed=true] .name:after{transform:scaleX(1)}.item.pop .tick{animation:pop var(--dur-long) var(--ease-spring)}@keyframes pop{0%{transform:scale(.6)}60%{transform:scale(1.18)}to{transform:scale(1)}}.empty{padding:var(--space-xl) var(--space-xs);text-align:center}.empty h2{font-size:var(--text-2xl);letter-spacing:-.025em}.empty p{color:var(--color-muted);margin-top:var(--space-xs)}.recent{margin-top:var(--space-xl);padding:0 var(--space-xs)}.recent h2{font-size:var(--text-2xl);letter-spacing:-.025em;margin-bottom:var(--space-md);line-height:1}.chips{gap:var(--space-xs);flex-wrap:wrap;display:flex}.chip{align-items:center;gap:var(--space-xs);min-height:46px;padding:0 var(--space-md) 0 var(--space-xs);border:var(--border) solid var(--color-ink);border-radius:var(--radius-pill);background:var(--color-paper-2);cursor:pointer;box-shadow:3px 3px 0 var(--color-ink);transition:transform var(--dur-micro) var(--ease-out), box-shadow var(--dur-micro) var(--ease-out);font-weight:700;display:inline-flex}.chip:active{box-shadow:0 0 0 var(--color-ink);transform:translate(3px,3px)}.chip .plus{background:var(--color-ink);width:28px;height:28px;color:var(--color-on-ink);border-radius:50%;place-items:center;display:grid}.chip .plus svg{width:14px;height:14px}.dock{z-index:2;padding:var(--space-sm) max(var(--space-md), env(safe-area-inset-right)) calc(env(safe-area-inset-bottom) + var(--space-sm)) max(var(--space-md), env(safe-area-inset-left));background:linear-gradient(to top, var(--color-paper) 70%, transparent);position:fixed;bottom:0;left:0;right:0}.dock>*{max-width:528px;margin-inline:auto}.add{gap:var(--space-xs);display:flex}.field{min-width:0;min-height:58px;padding:0 var(--space-lg);border:var(--border) solid var(--color-ink);border-radius:var(--radius-pill);background:var(--color-paper-2);flex:1;align-items:center;display:flex}.field input,.field select{width:100%;font-size:var(--text-lg);background:0 0;border:0;outline:none;font-weight:600}.field input::placeholder{color:var(--color-muted);font-weight:500}.field:focus-within{box-shadow:0 0 0 3px var(--color-focus)}.go{border:var(--border) solid var(--color-ink);background:var(--color-accent);width:58px;height:58px;color:var(--color-accent-ink);cursor:pointer;transition:transform var(--dur-micro) var(--ease-out);border-radius:50%;flex:none;place-items:center;display:grid}.go:active{transform:scale(.92)}.go:disabled{opacity:.55}.go svg{width:24px;height:24px}.suggest{margin:0 auto var(--space-sm);padding:var(--space-xs);border:var(--border) solid var(--color-ink);background:var(--color-paper-2);box-shadow:4px 4px 0 var(--color-ink);gap:var(--space-3xs);border-radius:24px;list-style:none;display:grid}.suggest button{align-items:center;gap:var(--space-sm);width:100%;min-height:52px;padding:0 var(--space-sm) 0 var(--space-md);font-size:var(--text-lg);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:18px;display:flex}.suggest button[aria-selected=true],.suggest button:active{background:color-mix(in oklab, var(--color-accent) 18%, var(--color-paper-2))}.suggest .s-name{flex:1}.suggest mark{color:inherit;background:0 0;font-weight:800}.suggest .times{font-size:var(--text-sm);font-variant-numeric:tabular-nums;padding:var(--space-2xs) var(--space-sm);border-radius:var(--radius-pill);background:var(--color-ink);color:var(--color-on-ink);font-weight:700}.suggest .new{font-size:var(--text-sm);color:var(--color-muted);font-weight:700}.suggest .hint{font-size:var(--text-xs);color:var(--color-muted);padding:var(--space-xs) var(--space-md) var(--space-3xs)}.sheet{width:100%;max-width:560px;padding:var(--space-lg) var(--space-md) calc(env(safe-area-inset-bottom) + var(--space-lg));border:var(--border) solid var(--color-ink);background:var(--color-paper);color:var(--color-ink);border-bottom:0;border-radius:28px 28px 0 0;margin:auto auto 0}.sheet::backdrop{background:oklch(19% .02 280/.4)}.sheet[open]{animation:rise var(--dur-short) var(--ease-out)}@keyframes rise{0%{opacity:0;transform:translateY(40px)}}.sheet h2{font-size:var(--text-2xl);letter-spacing:-.025em;margin-bottom:var(--space-md)}.sheet form{gap:var(--space-sm);display:grid}.sheet label{font-size:var(--text-sm);padding-left:var(--space-md);font-weight:600}.sheet .row{gap:var(--space-xs);margin-top:var(--space-xs);display:flex}.sheet .row>*{flex:1}.secondary{border:var(--border) solid var(--color-ink);border-radius:var(--radius-pill);background:var(--color-paper-2);cursor:pointer;min-height:52px;font-weight:700}.danger{color:var(--color-danger);border-color:var(--color-danger)}.login{max-width:480px;min-height:100dvh;padding:calc(env(safe-area-inset-top) + 56px) var(--space-lg) calc(env(safe-area-inset-bottom) + var(--space-xl));flex-direction:column;margin-inline:auto;display:flex}.login-art{align-content:center;gap:var(--space-sm);padding-bottom:var(--space-xl);flex:1;display:grid}.bar{border-radius:var(--radius-pill);background:oklch(var(--cat-l) var(--cat-c) var(--hue));height:64px}.bar:first-child{--hue:132;width:78%;transform:rotate(-5deg)}.bar:nth-child(2){--hue:70;width:56%;margin-left:34%;transform:rotate(4deg)}.bar:nth-child(3){--hue:230;width:88%;margin-left:4%;transform:rotate(-2deg)}.bar:nth-child(4){--hue:350;width:46%;margin-left:12%;transform:rotate(6deg)}.bar:nth-child(5){--hue:100;width:64%;margin-left:30%;transform:rotate(-3deg)}.login h1{margin-bottom:var(--space-lg);letter-spacing:-.045em;white-space:nowrap;font-size:min(3.75rem,12.5vw);line-height:.92}.login form{gap:var(--space-sm);display:grid}.login label{font-size:var(--text-sm);padding-left:var(--space-md);font-weight:600}.error{color:var(--color-danger);padding-left:var(--space-md);font-weight:600}.primary{border:var(--border) solid var(--color-ink);border-radius:var(--radius-pill);background:var(--color-ink);min-height:58px;color:var(--color-on-ink);font-family:var(--font-display);font-weight:800;font-size:var(--text-xl);cursor:pointer;box-shadow:4px 4px 0 var(--color-accent);transition:transform var(--dur-micro) var(--ease-out), box-shadow var(--dur-micro) var(--ease-out)}.primary:active{box-shadow:0 0 0 var(--color-accent);transform:translate(4px,4px)}.primary:disabled{opacity:.55;cursor:not-allowed}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.sheet:focus{outline:none}
