:root{color-scheme:light dark;--h: 152;--ph: 330;--bg: light-dark(oklch(.976 .006 80), oklch(.165 .007 285));--surface: light-dark(oklch(1 0 0), oklch(.212 .008 285));--surface-2: light-dark(oklch(.956 .006 80), oklch(.255 .009 285));--surface-3: light-dark(oklch(.93 .007 80), oklch(.3 .01 285));--line: light-dark(oklch(.915 .006 80), oklch(.29 .009 285));--text: light-dark(oklch(.22 .012 285), oklch(.965 .004 80));--text-2: light-dark(oklch(.48 .012 285), oklch(.74 .01 285));--text-3: light-dark(oklch(.64 .01 285), oklch(.56 .01 285));--danger: light-dark(oklch(.6 .2 25), oklch(.68 .18 25));--season: light-dark(oklch(.62 .15 140), oklch(.76 .15 140));--season-soft: light-dark(oklch(.95 .04 140), oklch(.28 .05 140));--urgent: light-dark(oklch(.66 .19 45), oklch(.75 .17 50));--urgent-soft: light-dark(oklch(.95 .045 50), oklch(.3 .06 50));--shadow-1: 0 1px 2px light-dark(oklch(.3 .02 285 / .06), oklch(0 0 0 / .3)), 0 0 0 .5px light-dark(oklch(.3 .02 285 / .05), oklch(1 0 0 / .04));--shadow-2: 0 10px 30px -8px light-dark(oklch(.3 .03 285 / .18), oklch(0 0 0 / .55)), 0 2px 6px light-dark(oklch(.3 .03 285 / .06), oklch(0 0 0 / .3));--glass: light-dark(oklch(.99 .004 80 / .78), oklch(.22 .008 285 / .72));--r: 18px;--r-sm: 12px;--font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Inter", "Segoe UI Variable", system-ui, sans-serif;--font-d: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Inter", system-ui, sans-serif;--spring: linear(0, .006, .025 2.8%, .101 6.1%, .539 18.9%, .721 25.3%, .849 31.5%, .937 38.1%, .968 41.8%, .991 45.7%, 1.006 50.1%, 1.015 55%, 1.017 63.9%, 1.001 85.9%, 1);--spring-pop: linear(0, .012, .048 3.1%, .199 6.6%, .773 17%, .966 21.8%, 1.072 26.6%, 1.117 31%, 1.12 35.5%, 1.087 41.3%, 1.012 53.1%, .991 60.6%, .994 74.9%, 1);--out: cubic-bezier(.22, .8, .24, 1);--in: cubic-bezier(.5, 0, .75, 0);--kb: 0px}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}:root,.hue{--accent: light-dark(oklch(.6 .15 var(--h)), oklch(.72 .14 var(--h)));--accent-strong: light-dark(oklch(.54 .16 var(--h)), oklch(.78 .13 var(--h)));--accent-soft: light-dark(oklch(.95 .035 var(--h)), oklch(.29 .05 var(--h)));--accent-ink: light-dark(oklch(.42 .12 var(--h)), oklch(.86 .09 var(--h)));--on-accent: light-dark(oklch(1 0 0), oklch(.18 .03 var(--h)))}:root,.row,.aisle-cell,.item-sheet,.ac-row{--tint: light-dark(oklch(.955 .03 var(--ah, 270)), oklch(.285 .035 var(--ah, 270)))}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;background:var(--bg)}body{margin:0;min-height:100dvh;font:400 17px/1.35 var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none;font-feature-settings:"ss01"}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;-webkit-user-select:none;user-select:none}input{font:inherit;color:inherit}input::placeholder{color:var(--text-3)}::selection{background:var(--accent-soft)}:focus-visible{outline:2.5px solid var(--accent);outline-offset:2px;border-radius:8px}.tnum{font-variant-numeric:tabular-nums}.muted{color:var(--text-3)}.emoji{display:block;flex:none}.emoji-ph{border-radius:30%;background:var(--surface-3)}.ic{display:block;flex:none;fill:currentColor}.screen{max-width:680px;margin:0 auto;min-height:100dvh;padding-bottom:calc(env(safe-area-inset-bottom) + 96px)}.screen{--c: 0;--tbh: calc(env(safe-area-inset-top) + 54px) }.topbar{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:minmax(max-content,1fr) minmax(0,auto) minmax(max-content,1fr);align-items:center;gap:6px;height:var(--tbh);padding:env(safe-area-inset-top) 8px 0;isolation:isolate}.topbar:before{content:"";position:absolute;inset:0;z-index:-1;background:light-dark(oklch(.976 .006 80 / .94),oklch(.165 .007 285 / .92));-webkit-backdrop-filter:saturate(1.8) blur(20px);backdrop-filter:saturate(1.8) blur(20px);box-shadow:0 .5px color-mix(in oklch,var(--line) calc(var(--c) * 100%),transparent);opacity:var(--c)}.overview .topbar:before{opacity:0}.tb-mini{display:flex;align-items:center;gap:8px;min-width:0;max-width:100%;opacity:clamp(0,calc((var(--c) - .55) * 2.4),1);transform:translateY(calc((1 - var(--c)) * 8px));pointer-events:none}.tb-text{display:flex;flex-direction:column;min-width:0;line-height:1.1}.tb-title{font:650 15.5px/1.15 var(--font);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tb-sub{font:500 12px/1.2 var(--font);color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tb-bar{position:absolute;left:0;right:0;bottom:0;height:2.5px;background:color-mix(in oklch,var(--accent) 16%,transparent);opacity:clamp(0,calc((var(--c) - .5) * 2),1)}.tb-bar i{display:block;height:100%;background:var(--accent);transform-origin:left;border-radius:0 2px 2px 0;transition:transform .6s var(--spring)}.topbar-actions{display:flex;gap:4px;justify-content:flex-end;align-items:center;grid-column:3}.topbar-actions>*{flex:none}.nav-back{display:inline-flex;align-items:center;gap:1px;height:40px;padding:0 8px 0 2px;color:var(--accent-strong);font-size:17px;justify-self:start;border-radius:10px}.nav-back:active{opacity:.5}.icon-btn{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:var(--text-2);transition:background-color .15s,transform .2s var(--spring-pop)}.icon-btn:hover{background:var(--surface-2)}.icon-btn:active{transform:scale(.9)}.icon-btn.accent{color:var(--accent-strong);background:var(--accent-soft)}.pill-btn{height:34px;padding:0 16px;border-radius:999px;font-weight:600;font-size:15px}.pill-btn.accent{background:var(--accent);color:var(--on-accent)}.pill-btn{display:inline-flex;align-items:center;gap:6px;transition:transform .2s var(--spring-pop)}.pill-btn.soft{background:var(--accent-soft);color:var(--accent-ink);padding:0 14px 0 12px}.pill-btn.soft span{font-size:14.5px}.pill-btn:active{transform:scale(.96)}.avatars{display:flex;padding-left:8px}.avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font:650 13px/1 var(--font);color:#fff;background:oklch(.68 .13 var(--mh));box-shadow:0 0 0 2.5px var(--bg)}.avatar+.avatar{margin-left:-7px}.hero{display:flex;align-items:center;gap:14px;padding:6px 20px 18px;opacity:calc(1 - var(--c) * 1.15);transform:translateY(calc(var(--c) * -6px)) scale(calc(1 - var(--c) * .035));transform-origin:20px 50%}.hero-ic{flex:none;width:60px;height:60px;border-radius:19px;display:grid;place-items:center;background:var(--accent-soft);box-shadow:inset 0 0 0 .5px color-mix(in oklch,var(--accent) 25%,transparent)}.hero-text{min-width:0;display:flex;flex-direction:column;gap:6px}.hero h1{font:700 30px/1.08 var(--font-d);letter-spacing:-.022em;margin:0;width:fit-content;max-width:100%;overflow-wrap:anywhere}.hero-sub{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px;color:var(--text-2);font-size:14.5px}.badge{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;border-radius:999px;background:var(--surface-2);color:var(--text-2);font:600 12px/1 var(--font);white-space:nowrap}.badge.hot{background:var(--urgent-soft);color:var(--urgent)}.badge.late{background:var(--urgent);color:#fff}.badge.store{background:var(--accent-soft);color:var(--accent-ink)}.badge.partner{background:light-dark(oklch(.95 .035 var(--mh)),oklch(.3 .05 var(--mh)));color:light-dark(oklch(.45 .13 var(--mh)),oklch(.85 .09 var(--mh)));animation:pop-in .5s var(--spring-pop) .3s backwards}.ring{transform:rotate(-90deg);flex:none}.ring-bg{fill:none;stroke:var(--surface-3)}.ring-fg{fill:none;stroke:var(--accent);stroke-linecap:round;transition:stroke-dashoffset .6s var(--spring)}.sections{padding:0 12px}.empty{color:var(--text-2);text-align:center;padding:40px 28px;font-size:15px;line-height:1.5;text-wrap:balance}.sec{margin-bottom:10px}.sec-h{position:sticky;top:var(--tbh);z-index:6;margin:0 -12px;padding:0 12px;font:inherit;pointer-events:none}.sec-in{display:flex;align-items:center;gap:9px;padding:12px 8px 8px;pointer-events:auto}.sec-h:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(var(--bg) calc(100% - 8px),color-mix(in oklch,var(--bg) 0%,transparent))}.sec-ic{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:var(--tint);flex:none}.sec-ic.done{background:var(--surface-3);color:var(--text-2)}.sec-t{font:650 15px/1.1 var(--font);letter-spacing:-.005em;color:var(--text)}.sec-n{font:600 12px/1 var(--font);color:var(--text-2);background:var(--surface-2);padding:4px 7px;border-radius:999px;min-width:22px;text-align:center}.sec{--tint: light-dark(oklch(.94 .04 var(--ah, 270)), oklch(.3 .045 var(--ah, 270)))}.link-btn{margin-left:auto;color:var(--accent-strong);font:600 14px/1 var(--font);padding:6px 4px}.sec-rows{background:var(--surface);border-radius:var(--r);box-shadow:var(--shadow-1);overflow:clip}.row-wrap{position:relative}.row-wrap+.row-wrap:before{content:"";position:absolute;top:0;left:64px;right:0;height:.5px;background:var(--line);z-index:2}.sec-ask .sec-rows{box-shadow:0 0 0 1.5px var(--accent-soft),var(--shadow-1)}.swipe{position:relative;overflow:clip;--p: 0;--q: 0}.swipe-under{position:absolute;inset:0;display:flex;align-items:center;opacity:0}.swipe[data-dir=r] .swipe-main{opacity:1}.swipe-main{background:var(--accent);color:var(--on-accent);padding-left:26px}.swipe.done .swipe-main{background:var(--text-3)}.swipe-main-ic{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#ffffff38;transform:scale(calc(.55 + min(var(--p),1)*.45));opacity:min(1,calc(var(--p) * 1.6))}.swipe.armed .swipe-main-ic{transform:scale(1.18);background:#ffffff52;transition:transform .35s var(--spring-pop)}.swipe-actions{left:auto;right:0;justify-content:flex-end;z-index:3;opacity:1;box-shadow:-10px 0 18px -8px oklch(0 0 0 / calc(var(--q) * .25))}.swipe-main{inset:1px 0}.swipe-act{width:76px;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font:600 12px/1 var(--font);color:#fff}.swipe-act.neutral{background:light-dark(oklch(.6 .09 250),oklch(.46 .08 250))}.swipe-act.danger{background:var(--danger)}.swipe-act.accent{background:var(--accent)}.swipe-content{position:relative;background:var(--surface);touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;will-change:transform}.swipe.committing .swipe-content{transition:none}.row{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:0 12px;min-height:58px;padding:6px 14px 6px 12px;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;transition:background-color .2s}.row:active{background:var(--surface-2)}.check{width:44px;height:44px;display:grid;place-items:center}.check svg{width:25px;height:25px;overflow:visible}.check circle{fill:transparent;stroke:var(--text-3);stroke-width:1.6;transition:fill .25s,stroke .25s,transform .4s var(--spring-pop);transform-origin:center;transform-box:fill-box}.check path{fill:none;stroke:var(--on-accent);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:16;stroke-dashoffset:16;transition:stroke-dashoffset .3s var(--out) .05s}.check:active circle{transform:scale(.85)}.check.on circle{fill:var(--accent);stroke:var(--accent)}.check.on path{stroke-dashoffset:0}.row-ic{position:relative;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--tint)}.row-ic.has-photo{background:var(--surface-3)}.row-ic img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}.rb{position:absolute;width:17px;height:17px;border-radius:50%;display:grid;place-items:center;box-shadow:0 0 0 2px var(--surface);animation:pop-in .45s var(--spring-pop) .15s backwards}.rb-season{right:-4px;bottom:-4px;background:var(--season-soft);color:var(--season)}.rb-season.peak{background:var(--season);color:#fff}.rb-urgent{right:-4px;top:-4px;background:var(--urgent);color:#fff}.rb-done{right:-4px;bottom:-4px;background:var(--accent);color:var(--on-accent)}.row-ic{border:0;padding:0;cursor:pointer;transition:transform .25s var(--spring-pop)}.row-ic:active{transform:scale(.9)}.row.checked .row-ic{filter:none;opacity:1}.row.checked .row-ic>.emoji,.row.checked .row-ic>img{filter:saturate(.2);opacity:.5}.swipe.pressed .row{background:var(--surface-2);transition:background-color 0s}.hint{display:flex;align-items:center;gap:6px;margin:8px 2px 0;font:500 12.5px/1.3 var(--font);color:var(--text-3)}.row-main{min-width:0;display:flex;flex-direction:column;gap:2px}.row-name{display:block;font-weight:500;letter-spacing:-.005em;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-decoration:line-through transparent 1.5px;transition:color .3s,text-decoration-color .3s}.row-note{font-size:13.5px;color:var(--text-2);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.who-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:currentColor;margin:0 5px 1px 0;vertical-align:middle}.who-note{color:light-dark(oklch(.52 .13 var(--ph)),oklch(.8 .1 var(--ph)));font-weight:600}.season-ic{color:var(--season);opacity:.55}.season-ic.peak{opacity:1}.urgent{color:var(--urgent)}.qty{font:500 14px/1 var(--font);font-variant-numeric:tabular-nums;color:var(--text-2);background:var(--surface-2);padding:5px 9px;border-radius:999px;white-space:nowrap}.row.checked .row-name{color:var(--text-3);text-decoration-color:var(--text-3)}.row.checked .row-ic{filter:saturate(.2);opacity:.55}.row.checked .qty{opacity:.5}.row.fresh{animation:fresh 2.6s var(--out) .25s backwards}@keyframes fresh{0%,12%{background:light-dark(oklch(.93 .06 var(--ph)),oklch(.33 .07 var(--ph)))}to{background:transparent}}.row.big{min-height:70px}.row.big .row-name{font-size:19px}.row.big .row-ic{width:46px;height:46px;border-radius:14px}.row.big .rb{width:19px;height:19px}.row.big{grid-template-columns:46px 1fr auto}.sec-rows:has(.row.big) .row-wrap+.row-wrap:before{left:70px}.ask{padding:0 12px 14px 64px;animation:rise .45s var(--spring) .15s backwards}.ask-q{font:500 13.5px/1.2 var(--font);color:var(--text-2);margin-bottom:8px}.ask-chips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin-right:-12px;padding-right:12px;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 22px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 22px),transparent)}.ask-chips::-webkit-scrollbar{display:none}.ask-chips>*{flex:none}.ask-q{overflow-wrap:anywhere}.ask-more{padding:0 12px 12px 64px;font:500 13px/1.3 var(--font);color:var(--text-3, var(--text-2))}.reset-btn{display:flex;align-items:center;gap:8px;margin:14px auto;padding:10px 16px;color:var(--accent-strong);font-weight:600;font-size:15px;border-radius:999px;background:var(--accent-soft)}.bottom-space{height:40px}.chips{display:flex;gap:7px;flex-wrap:wrap}.chips.scroll{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:2px 16px 4px;scroll-padding:16px}.chips.scroll::-webkit-scrollbar{display:none}.chip{display:inline-flex;align-items:center;gap:6px;flex:none;height:38px;padding:0 13px;border-radius:999px;background:var(--surface-2);font:500 15px/1 var(--font);white-space:nowrap;transition:background-color .2s,color .2s,transform .3s var(--spring-pop),box-shadow .2s}.chip:active{transform:scale(.94)}.chip:focus-visible{outline:2px dashed var(--text-3);outline-offset:2px;border-radius:999px}.chip.sm{height:34px;padding:0 12px;font-size:14px}.chip.sel{background:var(--accent);color:var(--on-accent)}.chip.ghost{background:transparent;box-shadow:inset 0 0 0 1px var(--line);color:var(--text-2)}.chip.icon-only{width:38px;padding:0;justify-content:center}.chip.sugg{background:var(--surface);box-shadow:var(--shadow-1),inset 0 0 0 .5px var(--line);padding-left:9px}.chip.sugg.added,.strip.season .chip.sugg.added{background:var(--accent-soft);box-shadow:none;color:var(--accent-strong)}.chip-added{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:var(--on-accent, #fff);animation:pop-in .35s var(--spring-pop)}.chip-two{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.chip-two small{font-size:11px;color:var(--text-3);font-weight:500}.chip.sugg:has(.chip-two){height:46px;border-radius:16px}.composer-scrim{position:fixed;inset:0;z-index:30;background:light-dark(oklch(.25 .02 285 / .16),oklch(0 0 0 / .45));opacity:0;pointer-events:none;transition:opacity .3s}.composer-scrim.on{opacity:1;pointer-events:auto}.composer{position:fixed;z-index:31;left:0;right:0;bottom:0;max-width:680px;margin:0 auto;padding:8px 12px calc(env(safe-area-inset-bottom) + 10px);transform:translateY(calc(-1 * var(--kb)));display:flex;flex-direction:column;gap:8px;pointer-events:none}.composer>*{pointer-events:auto}html.kb-open .composer{padding-bottom:8px}.composer-bar{display:flex;align-items:center;gap:10px;height:54px;padding:0 7px 0 8px;border-radius:27px;background:var(--glass);-webkit-backdrop-filter:saturate(1.8) blur(24px);backdrop-filter:saturate(1.8) blur(24px);box-shadow:var(--shadow-2),inset 0 0 0 .5px var(--line);transition:box-shadow .3s}.composer.open .composer-bar{background:var(--surface)}.composer-plus{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:var(--on-accent);flex:none;transition:transform .4s var(--spring-pop)}.composer.open .composer-plus{transform:rotate(90deg) scale(.9)}.composer-bar input{flex:1;min-width:0;border:0;outline:0;background:transparent;font-size:17px;height:100%}.composer-done{height:40px;min-width:40px;padding:0 14px;border-radius:20px;background:var(--accent-soft);color:var(--accent-ink);font:600 15px/1 var(--font);display:grid;place-items:center;animation:pop-in .35s var(--spring-pop)}.composer-panel{background:var(--surface);border-radius:24px;box-shadow:var(--shadow-2),inset 0 0 0 .5px var(--line);max-height:calc(100dvh - var(--kb) - env(safe-area-inset-top) - 110px);overflow:auto;overscroll-behavior:contain;padding:6px 0;transform-origin:50% 100%;transition:opacity .25s,transform .4s var(--spring)}@starting-style{.composer-panel{opacity:0;transform:translateY(14px) scale(.97)}}.strips{display:flex;flex-direction:column;gap:4px;padding:6px 0}.strip{padding:6px 16px 4px}.strip-title{display:flex;align-items:center;gap:5px;font:650 12px/1 var(--font);text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);margin-bottom:9px}.strip.season .strip-title{color:var(--season)}.strip.season .chip.sugg{background:var(--season-soft);box-shadow:none}.preview{display:flex;flex-wrap:wrap;gap:6px;padding:8px 14px 6px}.pchip{display:inline-flex;gap:5px;align-items:baseline;padding:6px 10px;border-radius:10px;background:var(--accent-soft);color:var(--accent-ink);font-size:14.5px;font-weight:500;animation:pop-in .3s var(--spring-pop)}.pchip b{font-weight:700;font-variant-numeric:tabular-nums}.ac{display:flex;flex-direction:column}.ac-row{display:flex;align-items:center;gap:12px;min-height:50px;padding:0 16px;text-align:left;transition:background-color .15s}.ac-row:active,.ac-row.active{background:var(--surface-2)}.ac-row.active .ac-plus{color:var(--accent-ink)}.ac-row.active{box-shadow:none;background:color-mix(in oklch,var(--accent) 11%,var(--surface))}.ac-name{flex:1;display:flex;align-items:baseline;gap:8px;min-width:0}.ac-name mark{background:none;color:var(--accent-ink);font-weight:700}.ac-hint{font-size:13px;color:var(--text-3)}.ac-plus{color:var(--text-3)}.ac-on{font:700 12px/1 var(--font);color:var(--accent-ink);background:var(--accent-soft);padding:4px 7px;border-radius:8px}.toast{position:fixed;z-index:60;left:0;right:0;margin-inline:auto;width:max-content;bottom:calc(var(--kb) + env(safe-area-inset-bottom) + 82px);display:flex;align-items:center;gap:10px;max-width:min(92vw,440px);padding:11px 12px 11px 16px;border-radius:16px;background:light-dark(oklch(.25 .012 285),oklch(.93 .005 80));color:light-dark(oklch(.98 0 0),oklch(.2 .01 285));box-shadow:var(--shadow-2);font:500 15px/1.25 var(--font);transition:opacity .22s,transform .4s var(--spring)}@starting-style{.toast{opacity:0;transform:translateY(16px) scale(.96)}}body:has(.sheet-root) .toast{bottom:auto;top:calc(env(safe-area-inset-top) + 10px)}.toast-text{animation:pop-in .25s var(--spring-pop)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.toast.leaving{opacity:0;transform:translateY(8px) scale(.97)}.toast-text{flex:1;min-width:0}.toast-undo{font-weight:700;color:light-dark(oklch(.8 .13 var(--h)),oklch(.5 .15 var(--h)));padding:6px 8px;border-radius:8px}.sheet-root{position:fixed;inset:0;z-index:50}.sheet-backdrop{position:absolute;inset:0;background:light-dark(oklch(.2 .02 285 / .3),oklch(0 0 0 / .55));transition:opacity .3s}@starting-style{.sheet-backdrop{opacity:0}}.sheet{position:absolute;left:0;right:0;bottom:var(--kb);margin:0 auto;max-width:560px;max-height:calc(100dvh - var(--kb) - env(safe-area-inset-top) - 24px);display:flex;flex-direction:column;--sheet-bg: light-dark(var(--surface), oklch(.235 .009 285));background:var(--sheet-bg);border-radius:28px 28px 0 0;padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -10px 40px -10px #00000040;transition:transform .5s var(--spring),bottom .25s var(--out)}@starting-style{.sheet{transform:translateY(100%)}}.sheet.tall{height:calc(88dvh - var(--kb))}.sheet-root.closing .sheet{transform:translateY(105%);transition:transform .24s var(--in)}.sheet-root.closing .sheet-backdrop{opacity:0}.sheet-grab{flex:none;height:26px;display:grid;place-items:center;cursor:grab;touch-action:none}.sheet-grab span{width:38px;height:5px;border-radius:3px;background:var(--surface-3)}.sheet-title{font:650 17px/1.2 var(--font);text-align:center;padding:0 20px 10px}.sheet-body{overflow:auto;overscroll-behavior:contain;padding:4px 18px 20px;flex:1}@media(min-width:720px)and (min-height:620px){.sheet{bottom:auto;top:50%;border-radius:28px;translate:0 -50%;max-height:min(760px,86dvh);padding-bottom:8px;box-shadow:var(--shadow-2)}@starting-style{.sheet{transform:scale(.94);opacity:0}}.sheet.tall{height:min(760px,86dvh)}.sheet-root.closing .sheet{transform:scale(.96);opacity:0;transition:transform .2s var(--in),opacity .2s}}.lbl,.field>label{display:block;font:650 12px/1 var(--font);text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);margin:18px 2px 9px}.field{display:block}.input{width:100%;height:48px;border:0;outline:0;border-radius:var(--r-sm);background:var(--surface-2);padding:0 14px;font-size:17px}.input:focus{box-shadow:inset 0 0 0 2px var(--accent)}.is-head,.nl-head{display:flex;gap:14px;align-items:center;margin-top:4px}.is-icon,.nl-icon{position:relative;width:70px;height:70px;border-radius:22px;display:grid;place-items:center;background:var(--tint);flex:none;transition:transform .3s var(--spring-pop)}.nl-icon{background:var(--accent-soft)}.is-icon:active,.nl-icon:active{transform:scale(.93)}.is-icon-edit{position:absolute;right:-3px;bottom:-3px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--surface);color:var(--text-2);box-shadow:var(--shadow-1)}.is-name{flex:1;min-width:0;border:0;outline:0;background:transparent;font:700 25px/1.15 var(--font-d);letter-spacing:-.015em;padding:6px 0;border-bottom:1.5px solid transparent}.is-name:focus{border-bottom-color:var(--accent)}.qty-row{display:flex;gap:12px;align-items:center}.stepper{display:inline-flex;align-items:center;border-radius:14px;background:var(--surface-2);flex:none}.stepper button{width:40px;height:44px;display:grid;place-items:center;color:var(--accent-strong);border-radius:14px}.stepper button:active{background:var(--surface-3)}.stepper span{min-width:40px;text-align:center;font:600 18px/1 var(--font)}.field-btn{margin-top:18px;width:100%;display:flex;align-items:center;gap:10px;min-height:54px;padding:0 14px;border-radius:14px;background:var(--surface-2)}.fb-label{color:var(--text-2);font-size:15px}.fb-val{margin-left:auto;display:flex;gap:8px;align-items:center;font-weight:600}.field-btn>.ic:last-child{color:var(--text-3)}.field-switch{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:54px;margin-top:12px;padding:0 14px;border-radius:14px;background:var(--surface-2)}.field-switch>span{display:flex;align-items:center;gap:8px;font-size:16px}.star{color:#ecaa0b}input[type=checkbox][switch]{accent-color:var(--accent)}html:not(.has-switch) input[type=checkbox][switch]{appearance:none;width:51px;height:31px;border-radius:16px;background:var(--surface-3);position:relative;cursor:pointer;transition:background-color .25s;flex:none}html:not(.has-switch) input[type=checkbox][switch]:after{content:"";position:absolute;top:2px;left:2px;width:27px;height:27px;border-radius:50%;background:#fff;box-shadow:0 2px 5px #0003;transition:transform .35s var(--spring-pop)}html:not(.has-switch) input[type=checkbox][switch]:checked{background:var(--accent)}html:not(.has-switch) input[type=checkbox][switch]:checked:after{transform:translate(20px)}.date{border:0;background:transparent;font:500 16px/1 var(--font);color:var(--accent-ink);text-align:right;min-width:0}.season-bar{display:grid;grid-template-columns:repeat(12,1fr);gap:4px;align-items:end;height:46px}.sb-m{display:flex;flex-direction:column;align-items:center;gap:5px;justify-content:flex-end;height:100%}.sb-m i{display:block;width:100%;border-radius:4px;background:var(--season);transform-origin:bottom;animation:grow .6s var(--spring) backwards}.sb-m:nth-child(n) i{animation-delay:calc(var(--d, 0) * 1ms)}.sb-m.l0 i{height:3px;opacity:.18}.sb-m.l1 i{height:9px;opacity:.45}.sb-m.l2 i{height:17px;opacity:.75}.sb-m.l3 i{height:26px}.sb-m small{font:600 10px/1 var(--font);color:var(--text-3)}.sb-m.now small{color:var(--season)}.sb-m.now i{box-shadow:0 0 0 2px var(--surface),0 0 0 3.5px var(--season)}@keyframes grow{0%{transform:scaleY(0)}}.food-link{margin-top:14px;display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:14px;background:var(--season-soft);color:light-dark(oklch(.42 .11 140),oklch(.85 .1 140));font:500 14.5px/1.3 var(--font);text-decoration:none}.food-link>span:not(.emoji){flex:1}.is-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.btn{height:48px;border-radius:14px;background:var(--surface-2);display:inline-flex;align-items:center;justify-content:center;gap:8px;font:600 15px/1 var(--font);transition:transform .25s var(--spring-pop),background-color .2s}.btn:active{transform:scale(.97)}.btn.danger{color:var(--danger)}.btn.primary{background:var(--accent);color:var(--on-accent)}.btn.soft{background:var(--accent-soft);color:var(--accent-strong)}.btn.wide{width:100%;height:54px;margin-top:22px;font-size:17px;border-radius:16px}.aisle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.aisle-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:92px;padding:10px 6px;border-radius:18px;background:var(--tint);font:550 13px/1.15 var(--font);text-align:center;transition:transform .25s var(--spring-pop),box-shadow .2s;animation:pop-in .4s var(--spring-pop) backwards}.aisle-cell:nth-child(3n+2){animation-delay:30ms}.aisle-cell:nth-child(3n){animation-delay:60ms}.aisle-cell:active{transform:scale(.95)}.aisle-cell.sel{box-shadow:0 0 0 2.5px var(--accent)}.icon-picker{display:flex;flex-direction:column;gap:12px}.search{display:flex;align-items:center;gap:8px;height:44px;padding:0 12px;border-radius:13px;background:var(--surface-2);color:var(--text-3)}.search input{flex:1;border:0;outline:0;background:transparent;font-size:16px;color:var(--text);min-width:0}.chips.tabs{margin-top:-2px}.icon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(54px,1fr));gap:4px}.icon-cell{aspect-ratio:1;border-radius:16px;display:grid;place-items:center;transition:background-color .15s,transform .3s var(--spring-pop);animation:pop-in .38s var(--spring-pop) backwards;animation-delay:calc(var(--i) * 9ms)}.icon-cell:hover{background:var(--surface-2)}.icon-cell:active{transform:scale(.88)}.icon-cell.sel{background:var(--accent-soft);box-shadow:inset 0 0 0 2px var(--accent)}.ov-title{font:700 34px/1.1 var(--font-d);letter-spacing:-.022em;margin:2px 20px 16px}.cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 16px}@media(min-width:620px){.cards{grid-template-columns:repeat(3,1fr)}}.card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-height:140px;padding:14px 14px 24px;border-radius:22px;background:var(--surface);box-shadow:var(--shadow-1);text-align:left;overflow:clip;transition:transform .35s var(--spring-pop),box-shadow .2s;animation:rise .5s var(--spring) backwards}.card:nth-child(2){animation-delay:30ms}.card:nth-child(3){animation-delay:60ms}.card:nth-child(4){animation-delay:90ms}.card:nth-child(5){animation-delay:.12s}.card:nth-child(n+6){animation-delay:.15s}.card:active{transform:scale(.97)}.card-ic{width:54px;height:54px;border-radius:17px;display:grid;place-items:center;background:var(--accent-soft)}.card-title{font:650 17px/1.2 var(--font);letter-spacing:-.01em;margin-top:12px}.card-meta{display:flex;align-items:center;gap:5px;font-size:13.5px;color:var(--text-2)}.card .badge{margin-top:2px}.card-bar{position:absolute;left:14px;right:14px;bottom:12px;height:4px;border-radius:4px;overflow:clip;background:var(--accent-soft)}.card-bar i{display:block;height:100%;background:var(--accent);transform-origin:left;transition:transform .6s var(--spring)}.card.default{grid-column:1 / -1;min-height:0;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:14px;row-gap:4px;align-items:center;padding:16px;background:linear-gradient(135deg,var(--surface) 40%,var(--accent-soft) 170%)}.card.default .card-ic{grid-row:1 / 3;width:64px;height:64px;border-radius:20px;margin:0}.card.default .card-title{margin:0;align-self:end;font-size:20px}.card.default .card-meta{align-self:start}.card.new{background:transparent;box-shadow:inset 0 0 0 1.5px var(--line);color:var(--text-2)}.card.new .card-ic{background:var(--surface-2);color:var(--text-2)}.tpl-row{margin-top:-2px}.tpl{flex:none;width:96px;min-height:96px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:10px 6px;border-radius:18px;background:var(--surface-2);font:550 12.5px/1.15 var(--font);text-align:center;transition:transform .25s var(--spring-pop),box-shadow .2s,background-color .2s}.tpl:active{transform:scale(.95)}.tpl.sel{background:var(--accent-soft);box-shadow:inset 0 0 0 2px var(--accent);color:var(--accent-ink)}.swatches{display:grid;grid-template-columns:repeat(10,1fr);gap:7px}.swatch{aspect-ratio:1;max-width:40px;border-radius:50%;background:oklch(.68 .15 var(--h));transition:transform .3s var(--spring-pop),box-shadow .2s}.swatch:active{transform:scale(.88)}.swatch.sel{box-shadow:0 0 0 3px var(--surface),0 0 0 5px oklch(.68 .15 var(--h));transform:scale(1.05)}.seg{display:flex;gap:2px;padding:3px;border-radius:13px;background:var(--surface-2);margin-top:18px}.settings .seg{margin-top:0}.seg button{flex:1;height:38px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font:600 14px/1 var(--font);color:var(--text-2);transition:background-color .2s,color .2s,box-shadow .2s}.seg button.sel{background:light-dark(var(--surface),var(--surface-3));color:var(--text);box-shadow:var(--shadow-1)}.pick-list{display:flex;flex-direction:column;border-radius:16px;overflow:clip;background:var(--surface-2)}.pick-row{display:flex;align-items:center;gap:12px;min-height:56px;padding:0 14px;text-align:left;font-size:16px;transition:background-color .15s}.pick-row+.pick-row{box-shadow:inset 0 .5px 0 var(--line)}.pick-row:active{background:var(--surface-3)}.pick-row>span:nth-child(2){flex:1}.pick-row small{color:var(--text-3);font-size:13px}.pick-row>.ic:last-child{color:var(--text-3)}.pick-ic{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-ink)}.store-dot{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:oklch(.62 .17 var(--h));color:#fff;font:700 15px/1 var(--font)}.radio-dot{width:22px;height:22px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--text-3);transition:box-shadow .25s var(--spring-pop)}.pick-row.sel .radio-dot{box-shadow:inset 0 0 0 7px var(--accent)}.list-screen.shopping .topbar:before{background:color-mix(in oklch,var(--accent) 9%,var(--bg))}.list-screen.shopping .sec-t{font-size:16.5px}@keyframes pop-in{0%{opacity:0;transform:scale(.8)}}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}@keyframes vt-in{0%{opacity:0;transform:translateY(-6px) scale(.98)}}@keyframes vt-out{to{opacity:0;transform:scale(.96)}}@keyframes slide-from-right{0%{transform:translate(100%)}}@keyframes slide-to-left{to{transform:translate(-28%);opacity:.4}}@keyframes slide-from-left{0%{transform:translate(-28%);opacity:.4}}@keyframes slide-to-right{to{transform:translate(100%)}}@keyframes fade-in{0%{opacity:0}}@keyframes reveal{0%{clip-path:circle(0 at 92% 4%)}to{clip-path:circle(150% at 92% 4%)}}::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}::view-transition-group(*){animation-duration:.42s;animation-timing-function:var(--spring)}::view-transition-old(*),::view-transition-new(*){animation-duration:.22s;height:100%;object-fit:none;object-position:left top}::view-transition-new(*):only-child{animation:vt-in .36s var(--spring)}::view-transition-old(*):only-child{animation:vt-out .2s var(--in) forwards}html:not([data-vt])::view-transition-old(root){display:none}.sec-rows{view-transition-class:card}::view-transition-group(.card){animation-duration:.42s}::view-transition-old(.card){display:none}::view-transition-new(.card){animation:none;height:100%;width:100%;object-fit:fill}.row-wrap{view-transition-class:row}::view-transition-old(.row):only-child{animation:row-out .3s var(--in) forwards}@keyframes row-out{to{opacity:0;transform:translate(28%)}}.sec-h{view-transition-class:head}::view-transition-group(.head){z-index:20}.toast{view-transition-name:toast}::view-transition-group(toast){z-index:110}.list-screen>.topbar{view-transition-name:topbar}.composer{view-transition-name:composer}::view-transition-group(topbar),::view-transition-group(composer){z-index:100;animation:none}::view-transition-old(topbar),::view-transition-old(composer){display:none}::view-transition-new(topbar),::view-transition-new(composer){animation:none}html[data-vt^=nav] .row-wrap,html[data-vt^=nav] .sec-rows,html[data-vt^=nav] .list-screen>.topbar,html[data-vt^=nav] .composer,html[data-vt^=nav] .sec-h{view-transition-name:none!important}html[data-vt=nav-fwd]::view-transition-old(root){animation:slide-to-left .38s var(--out) both}html[data-vt=nav-fwd]::view-transition-new(root){animation:slide-from-right .46s var(--spring) both}html[data-vt=nav-back]::view-transition-old(root){animation:slide-to-right .36s var(--out) both;z-index:2}html[data-vt=nav-back]::view-transition-new(root){animation:slide-from-left .42s var(--spring) both}html[data-vt^=nav]::view-transition-group(*){animation-duration:.46s}html[data-vt=theme]::view-transition-new(root){animation:reveal .6s var(--out)}html[data-vt=shop]::view-transition-new(root){animation:fade-in .3s ease}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.12s!important}}.deadline-date{margin-top:8px;animation:rise .35s var(--spring)}.deadline-date .input{font-weight:600;color:var(--accent-ink)}.photo-add{width:100%;height:54px;border-radius:14px;display:flex;align-items:center;justify-content:center;gap:9px;font:600 15px/1 var(--font);color:var(--accent-ink);background:transparent;box-shadow:inset 0 0 0 1.5px var(--line);border:0}.photo-add:active{background:var(--surface-2)}.photo-add.busy{opacity:.5}.photo-field{display:flex;gap:14px;align-items:center}.photo-thumb{width:96px;height:96px;border-radius:18px;overflow:hidden;flex:none;box-shadow:var(--shadow-1)}.photo-thumb img{width:100%;height:100%;object-fit:cover;display:block}.photo-actions{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.photo-meta{font:500 12px/1 var(--font);color:var(--text-3)}.btn.sm{height:36px;padding:0 12px;font-size:14px;border-radius:11px}.is-photo{width:100%;height:100%;object-fit:cover;border-radius:inherit}.viewer{position:fixed;inset:0;z-index:80;display:grid;place-items:center;background:#000000eb;padding:calc(env(safe-area-inset-top) + 16px) 12px calc(env(safe-area-inset-bottom) + 16px);transition:opacity .25s}@starting-style{.viewer{opacity:0}}.viewer img{max-width:100%;max-height:100%;border-radius:14px;transition:transform .45s var(--spring),filter .3s}@starting-style{.viewer img{transform:scale(.88)}}.viewer img.blur{filter:blur(8px)}.viewer.closing{opacity:0}.viewer.closing img{transform:scale(.94)}.viewer-x{position:absolute;top:calc(env(safe-area-inset-top) + 12px);right:14px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:#fff;background:#ffffff29}.item-sheet .is-head{align-items:center;gap:12px}.item-sheet .is-icon{width:60px;height:60px;border-radius:19px;overflow:hidden}.is-busy{position:absolute;inset:0;background:color-mix(in oklch,var(--surface) 55%,transparent);animation:pulse 1s ease-in-out infinite alternate}@keyframes pulse{to{opacity:.3}}.is-title{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.item-sheet .is-name{font-size:23px;padding:2px 0}.is-sub{display:flex;align-items:center;gap:8px;min-height:22px;flex-wrap:wrap}.is-aisle{display:inline-flex;align-items:center;gap:4px;margin-left:-6px;padding:3px 6px;border-radius:8px;font:550 14px/1.1 var(--font);color:var(--text-2)}.is-aisle .ic{opacity:.6}.is-aisle:hover,.is-aisle:active{background:var(--surface-2)}.is-aisle.static{margin-left:0;padding:0}.is-urgent{display:inline-flex;align-items:center;gap:3px;font:650 12px/1 var(--font);color:var(--urgent);animation:pop-in .35s var(--spring-pop)}.is-tools{display:flex;gap:2px;align-self:flex-start;margin:-2px -4px 0 0;padding:3px}.icon-btn.flame{color:var(--text-3)}.icon-btn.flame.on{color:var(--urgent);background:var(--urgent-soft)}.icon-btn.flame.on .ic{animation:pop-in .4s var(--spring-pop)}.icon-btn.active{background:var(--surface-2);color:var(--text)}.is-ask .ask-chip{background:light-dark(oklch(.94 .04 var(--ah)),oklch(.32 .045 var(--ah)));gap:7px;animation:pop-in .35s var(--spring-pop) backwards;animation-delay:calc(var(--i) * 30ms)}.is-ask{padding:14px;margin-left:-4px;margin-right:-4px;border-radius:18px;background:var(--surface-2)}.is-ask>label{color:var(--text)}.aisle-grid.compact{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:6px}.aisle-grid.compact .aisle-cell{min-height:64px;gap:4px;border-radius:14px;font-size:12px}.stepper .qty-in{width:auto;min-width:2ch;max-width:5ch;border:0;outline:0;background:transparent;text-align:right;font:650 18px/1 var(--font);color:var(--text);padding:0;field-sizing:content}.stepper .qty-u{font:500 16px/1 var(--font);color:var(--text-2);padding:0 4px 0 5px;min-width:2ch}.stepper:has(.qty-in:focus){outline:2px solid var(--accent);outline-offset:-2px}.stepper button{margin:3px;width:36px;height:38px;border-radius:11px}.qty-row .qty-chips{margin:-6px -2px -6px -6px;padding:6px;flex:1;min-width:0;flex-wrap:nowrap}.qty-more{flex:none}.qty-more.on{background:var(--surface-2);box-shadow:none}.qty-row{gap:8px}.qty-row .qty-chips{-webkit-mask:linear-gradient(90deg,#000 calc(100% - 14px),transparent);mask:linear-gradient(90deg,#000 calc(100% - 14px),transparent)}.qty-all{margin-top:10px;padding:10px;border-radius:16px;background:var(--surface-2);animation:rise .3s var(--spring)}.qty-all .chip{background:var(--surface);animation:pop-in .28s var(--spring-pop) backwards;animation-delay:calc(var(--i, 0) * 14ms)}.qty-all .chip.sel{background:var(--accent)}.sheet-body,.item-sheet{overflow-x:clip}.season-bar{padding:0 3px}.qty-chips .chip{animation:pop-in .28s var(--spring-pop) backwards;animation-delay:calc(var(--i, 0) * 14ms)}.chip.static{pointer-events:none}.menu{position:fixed;z-index:70;min-width:232px;max-width:calc(100vw - 20px);padding:6px;border-radius:16px;background:light-dark(oklch(.995 .002 80 / .97),oklch(.25 .008 285 / .97));-webkit-backdrop-filter:saturate(1.8) blur(24px);backdrop-filter:saturate(1.8) blur(24px);box-shadow:0 12px 40px #0000002e,0 0 0 .5px var(--line);transform-origin:top right;animation:menu-in .32s var(--spring-pop)}.menu.up{transform-origin:bottom right}.menu.leaving{animation:menu-out .16s var(--out) forwards}@keyframes menu-in{0%{opacity:0;transform:scale(.86)}}@keyframes menu-out{to{opacity:0;transform:scale(.94)}}.menu-i{width:100%;display:flex;align-items:center;gap:10px;min-height:44px;padding:0 12px;border-radius:10px;font:500 15.5px/1.2 var(--font);color:var(--text);text-align:left}.menu-i>span{flex:1}.menu-i small{color:var(--text-3);font:500 13px/1 var(--font)}.menu-i .ic{color:var(--text-2)}.menu-i:hover,.menu-i:active{background:var(--surface-2)}.menu-i.danger,.menu-i.danger .ic{color:var(--danger)}.menu-i.sep{margin-top:6px;position:relative}.menu-i.sep:before{content:"";position:absolute;left:8px;right:8px;top:-3.5px;height:.5px;background:var(--line)}.pill-btn.soft span{display:inline-block;max-width:80px;overflow:hidden;white-space:nowrap;transition:max-width .3s var(--spring),opacity .2s}.list-screen.scrolled .pill-btn.soft{padding:0 10px}.list-screen.scrolled .pill-btn.soft span{max-width:0;opacity:0}.swipe.peek{--p: .55}.swipe.peek .swipe-main{opacity:1;animation:peek-bg 1.5s var(--out)}.swipe.peek .swipe-content{animation:peek 1.5s var(--spring)}@keyframes peek{0%,to{transform:none}25%,55%{transform:translate3d(64px,0,0)}}@keyframes peek-bg{0%,to{opacity:0}15%,70%{opacity:1}}@media(prefers-reduced-motion:reduce){.swipe.peek .swipe-content{animation-duration:.01s}}textarea.input.note{display:block;width:100%;height:auto;min-height:48px;max-height:40vh;padding:13px 14px;resize:none;font:400 17px/1.4 var(--font);field-sizing:content;border:0}.ip-head{position:sticky;top:-4px;z-index:4;margin:-4px -18px 0;padding:4px 18px 10px;background:var(--sheet-bg, var(--surface));display:flex;flex-direction:column;gap:10px;box-shadow:0 1px 0 var(--line)}.ip-tabs{margin:0 -18px;padding:4px 18px;scroll-padding:0 40px;-webkit-mask:linear-gradient(90deg,transparent,#000 18px,#000 calc(100% - 28px),transparent);mask:linear-gradient(90deg,transparent,#000 18px,#000 calc(100% - 28px),transparent)}.ip-tabs .chip{flex:none}.ip-group{scroll-margin-top:112px}.ip-gt{font:650 12px/1 var(--font);text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);margin:18px 4px 8px}.ip-group:first-child .ip-gt{margin-top:8px}.empty-sugg{margin:-18px 4px 0;animation:rise .5s var(--spring) .1s backwards}.empty-sugg .strip-title{justify-content:center}.empty-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:10px}.empty-chips .chip{animation:pop-in .35s var(--spring-pop) backwards;animation-delay:calc(var(--i) * 25ms)}.card-new{display:inline-flex;align-items:center;gap:6px;font:600 12.5px/1.2 var(--font);color:light-dark(oklch(.48 .14 var(--mh)),oklch(.85 .09 var(--mh)))}.card-new i{width:7px;height:7px;border-radius:50%;background:oklch(.65 .17 var(--mh));animation:card-dot 2.4s var(--out) infinite}@keyframes card-dot{0%{box-shadow:0 0 oklch(.65 .17 var(--mh) / .5)}70%,to{box-shadow:0 0 0 7px oklch(.65 .17 var(--mh) / 0)}}button.badge.partner{gap:5px;cursor:pointer}.composer-row{display:flex;gap:8px;align-items:center}.composer-row>.composer-bar{flex:1;min-width:0}.shop-done{flex:none;display:inline-flex;align-items:center;gap:7px;height:54px;padding:0 20px 0 17px;border-radius:27px;background:var(--accent);color:var(--on-accent, #fff);font:650 16px/1 var(--font);box-shadow:var(--shadow-2);animation:pop-in .4s var(--spring-pop) backwards;transition:transform .3s var(--spring-pop)}.shop-done:active{transform:scale(.95)}.shop-done.ready{animation:pop-in .4s var(--spring-pop) backwards,ready-glow 2.2s var(--out) .4s infinite}@keyframes ready-glow{0%{box-shadow:var(--shadow-2),0 0 color-mix(in oklch,var(--accent) 55%,transparent)}70%,to{box-shadow:var(--shadow-2),0 0 0 12px color-mix(in oklch,var(--accent) 0%,transparent)}}.nl-twin{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:14px 0 -4px;padding:11px 14px;border-radius:14px;background:var(--accent-soft);font:500 14.5px/1.3 var(--font);animation:rise .35s var(--spring)}.nl-twin .link-btn{flex:none;font-weight:650}.strip .chips.scroll,.tpl-row{-webkit-mask-image:linear-gradient(90deg,transparent,#000 14px,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,transparent,#000 14px,#000 calc(100% - 28px),transparent)}.swatches{padding:4px;margin:-4px}@media(min-width:700px){.sheet-grab span{opacity:0}.sheet-grab{height:14px;cursor:default}}.pill-btn,.toast-undo,.stepper button,.chip.sm,.ask-chips .icon-only{position:relative}.pill-btn:after,.toast-undo:after,.stepper button:after,.chip.sm:after,.ask-chips .icon-only:after{content:"";position:absolute;inset:-6px -3px}.season-card{grid-column:1 / -1;display:flex;align-items:center;gap:14px;padding:12px 14px 12px 12px;border-radius:20px;background:linear-gradient(100deg,var(--season-soft),color-mix(in oklch,var(--season-soft) 35%,var(--surface)));box-shadow:var(--shadow-1);text-align:left;animation:rise .5s var(--spring) 40ms backwards;transition:transform .35s var(--spring-pop)}.season-card:active{transform:scale(.98)}.sc-faces{display:flex;flex:none;padding-left:6px}.sc-face{width:32px;height:32px;margin-left:-10px;border-radius:50%;display:grid;place-items:center;background:var(--surface);box-shadow:0 0 0 2.5px color-mix(in oklch,var(--season-soft) 70%,var(--surface)),var(--shadow-1);animation:pop-in .45s var(--spring-pop) backwards;animation-delay:calc(.12s + var(--i) * 45ms)}.sc-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.sc-title{display:flex;align-items:center;gap:6px;font:650 15.5px/1.2 var(--font);white-space:nowrap}.sc-title .ic,.sc-title svg{color:var(--season)}.sc-sub{font:500 13px/1.25 var(--font);color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sc-chev{color:var(--text-3);flex:none}.season-sheet{padding-bottom:12px}.ss-months{display:grid;grid-template-columns:repeat(12,1fr);gap:4px;margin:2px 0 12px}.ss-months span{height:26px;border-radius:8px;display:grid;place-items:center;font:650 11.5px/1 var(--font);color:var(--text-3);background:var(--surface-2)}.ss-months .now{background:var(--season);color:#fff;transform:scale(1.08);box-shadow:0 4px 12px -4px var(--season)}.ss-months .next{background:var(--season-soft);color:var(--text-2)}.ss-tabs{margin:0 0 10px}.ss-tabs button{gap:6px}.ss-n{font-weight:600;font-size:12px;color:var(--text-3)}.ss-tabs button.sel .ss-n{color:var(--text-2)}.ss-hint{margin:0 0 4px;font:500 13px/1.35 var(--font);color:var(--text-2);display:flex;flex-wrap:wrap;align-items:center;gap:0 4px}.ss-group{margin-top:16px}.ss-h{display:flex;align-items:center;gap:8px;margin:0 0 9px;font:650 14px/1.2 var(--font);color:var(--text-2)}.ss-h .sec-n{margin-left:0}.ss-dot{width:8px;height:8px;border-radius:50%;flex:none}.ss-dot.l3{background:var(--season)}.ss-dot.l2{background:color-mix(in oklch,var(--season) 45%,var(--surface-3))}.ss-dot.next{background:transparent;box-shadow:inset 0 0 0 1.5px var(--season)}.ss-chips{display:flex;flex-wrap:wrap;gap:7px}.ss-chips .chip{animation:pop-in .35s var(--spring-pop) backwards;animation-delay:calc(var(--i) * 12ms)}.season-chip{position:relative}.sc-last{position:absolute;top:3px;right:5px;width:7px;height:7px;border-radius:50%;background:var(--warn, oklch(.75 .15 70));box-shadow:0 0 0 2px var(--surface)}.sc-last.inline{position:static;display:inline-block;box-shadow:none}.toggle-row>span:nth-child(2){flex:1}.toggle-row input{flex:none}.inline-ic{display:inline-block;vertical-align:-3px;color:var(--accent-strong);margin-left:2px}.voice,.install{padding-bottom:10px}.v-hero{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:6px 8px 4px}.v-hero p{margin:0;font:500 15px/1.45 var(--font);color:var(--text-2);text-wrap:balance}.v-mic{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:var(--on-accent);box-shadow:0 10px 28px -10px var(--accent);animation:pop-in .5s var(--spring-pop),mic-pulse 2.4s var(--out) .6s infinite}@keyframes mic-pulse{0%{box-shadow:0 10px 28px -10px var(--accent),0 0 color-mix(in oklch,var(--accent) 45%,transparent)}70%,to{box-shadow:0 10px 28px -10px var(--accent),0 0 0 16px color-mix(in oklch,var(--accent) 0%,transparent)}}.v-say{font:600 17px/1.3 var(--font);padding:10px 16px;border-radius:16px 16px 16px 6px;background:var(--accent-soft);color:var(--accent-strong)}.v-steps{list-style:none;padding:0;margin:18px 0 0;display:flex;flex-direction:column;gap:2px}.v-steps li{display:flex;gap:12px;align-items:flex-start;padding:9px 2px;font:500 15.5px/1.4 var(--font);animation:rise .4s var(--spring) backwards;animation-delay:calc(80ms + var(--i) * 50ms)}.v-n{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--surface-2);font:700 13px/1 var(--font);color:var(--text-2);margin-top:-1px}.v-url{display:flex;gap:8px;align-items:center;margin-top:12px;padding:8px 8px 8px 14px;border-radius:14px;background:var(--surface-2)}.v-url code{flex:1;min-width:0;font:500 13px/1.3 ui-monospace,SF Mono,monospace;overflow-wrap:anywhere;color:var(--text-2)}.v-url .btn{flex:none;height:38px;padding:0 12px;border-radius:11px;font-size:14px}.v-note{font:500 13.5px/1.45 var(--font);color:var(--text-2);margin:12px 2px 0}.install-card{display:flex;align-items:center;gap:12px;margin:-4px 16px 14px;padding:10px 6px 10px 12px;border-radius:18px;background:var(--surface);box-shadow:var(--shadow-1),inset 0 0 0 1px color-mix(in oklch,var(--accent) 22%,transparent);animation:rise .5s var(--spring) .2s backwards}.ic-bell{flex:none;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-strong)}.ic-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;text-align:left}.ic-text b{font:650 15px/1.25 var(--font)}.ic-text span{font:500 13px/1.3 var(--font);color:var(--text-2)}.icon-btn.sm{width:36px;height:36px;flex:none;color:var(--text-3)}.pr-two{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0}.pr-two small{font:500 13px/1.25 var(--font);color:var(--text-2)}.sync-badge{display:inline-flex;align-items:center;gap:5px;height:30px;padding:0 10px;border-radius:99px;font:600 12.5px/1 var(--font);color:var(--text-2);background:var(--surface-2);animation:pop-in .35s var(--spring-pop)}.sync-badge.off{color:oklch(.55 .13 60);background:oklch(.95 .05 80 / .9)}[data-theme=dark] .sync-badge.off,:root:not([data-theme=light]) .sync-badge.off{background:light-dark(oklch(.95 .05 80 / .9),oklch(.32 .05 70));color:light-dark(oklch(.55 .13 60),oklch(.85 .1 80))}.sync-badge.login{color:#fff;background:var(--urgent, oklch(.6 .2 25))}.sync-dots{width:18px;height:6px;background:radial-gradient(circle,currentColor 2px,transparent 2.5px) 0 50% / 6px 6px repeat-x;animation:sync-dots 1s steps(3) infinite}@keyframes sync-dots{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}.login{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:calc(env(safe-area-inset-top) + 32px) 28px calc(env(safe-area-inset-bottom) + 32px);background:radial-gradient(120% 70% at 50% 0%,light-dark(oklch(.95 .04 152),oklch(.27 .04 152)),transparent 70%),var(--bg)}.login-faces{display:flex;gap:10px;margin-bottom:30px}.lf{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:var(--surface);box-shadow:var(--shadow-1);animation:login-float .7s var(--spring-pop) backwards,login-bob 4s ease-in-out infinite;animation-delay:calc(var(--i) * 70ms),calc(.8s + var(--i) * .35s);rotate:calc((var(--i) - 2.5) * 4deg)}@keyframes login-float{0%{opacity:0;transform:translateY(18px) scale(.6)}}@keyframes login-bob{50%{translate:0 -5px}}.login-icon{border-radius:22px;box-shadow:var(--shadow-2, var(--shadow-1));animation:pop-in .5s var(--spring-pop) .25s backwards}.login h1{margin:18px 0 6px;font:750 38px/1 var(--font);letter-spacing:-.03em}.login-sub{margin:0 0 30px;max-width:30ch;font:500 16px/1.4 var(--font);color:var(--text-2)}.login-btn{max-width:340px;height:54px;font-size:16.5px}.login-err{display:flex;gap:7px;align-items:flex-start;max-width:340px;margin:16px 0 0;padding:11px 14px;border-radius:14px;text-align:left;font:500 14px/1.35 var(--font);color:light-dark(oklch(.45 .16 25),oklch(.85 .1 25));background:light-dark(oklch(.96 .03 25),oklch(.3 .05 25))}.login-err .ic,.login-err svg{flex:none;margin-top:2px}.login-fine{margin:22px 0 0;font:500 12.5px/1.4 var(--font);color:var(--text-3)}.spinner{width:18px;height:18px;border-radius:50%;border:2.5px solid currentColor;border-right-color:transparent;animation:spin .7s linear infinite}@keyframes spin{to{rotate:1turn}}.pick-row.static{cursor:default}@media(prefers-reduced-motion:reduce){.lf{animation:none}}.login-dev{display:flex;gap:8px;margin-top:14px;opacity:.7}
