@font-face{font-family:__Bricolage_Grotesque_ac3583;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/93a6e477e1480c92-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Bricolage_Grotesque_ac3583;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c7e0cf6c760983e7-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:__Bricolage_Grotesque_ac3583;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/9d5a263311222317-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Bricolage_Grotesque_ac3583;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/93a6e477e1480c92-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Bricolage_Grotesque_ac3583;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c7e0cf6c760983e7-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:__Bricolage_Grotesque_ac3583;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/9d5a263311222317-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Bricolage_Grotesque_Fallback_ac3583;src:local("Arial");ascent-override:88.21%;descent-override:25.61%;line-gap-override:0.00%;size-adjust:105.43%}.__className_ac3583{font-family:__Bricolage_Grotesque_ac3583,__Bricolage_Grotesque_Fallback_ac3583;font-style:normal}.__variable_ac3583{--font-display:"__Bricolage_Grotesque_ac3583","__Bricolage_Grotesque_Fallback_ac3583"}@font-face{font-family:__Figtree_b52a90;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d9fef5bf2f64cf9a-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:__Figtree_b52a90;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/de42cfb9a3b980ae-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Figtree_b52a90;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/d9fef5bf2f64cf9a-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:__Figtree_b52a90;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/de42cfb9a3b980ae-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Figtree_b52a90;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/d9fef5bf2f64cf9a-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:__Figtree_b52a90;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/de42cfb9a3b980ae-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Figtree_Fallback_b52a90;src:local("Arial");ascent-override:94.32%;descent-override:24.82%;line-gap-override:0.00%;size-adjust:100.72%}.__className_b52a90{font-family:__Figtree_b52a90,__Figtree_Fallback_b52a90;font-style:normal}.__variable_b52a90{--font-body:"__Figtree_b52a90","__Figtree_Fallback_b52a90"}:root{--ground:#eef2ec;--surface:#fff;--ink:#1c2321;--muted:#4a5650;--line:#cbd3cd;--green:#1f6b4a;--green-dark:#164d35;--green-tint:#e3efe7;--urgent:#c2410c;--urgent-ink:#9a3412;--urgent-tint:#fbe7dc;--soon:#9a6408;--soon-tint:#fff3e3;--keeps:#2563a8;--photo:#d7dfd3;--radius-card:22px;--radius-ctl:12px}*{box-sizing:border-box}body,html{margin:0}body{background:var(--ground);color:var(--ink);font-family:var(--font-body),"Helvetica Neue",sans-serif;font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased}a{color:var(--green)}a:hover{color:var(--green-dark)}:focus-visible{outline:3px solid var(--keeps);outline-offset:2px}.display{font-family:var(--font-display),Georgia,serif;letter-spacing:-.015em}.muted{color:var(--muted)}.small{font-size:14px}.center{min-height:100vh;display:flex;flex-direction:column;gap:16px;align-items:center;justify-content:center;padding:24px;text-align:center}.note{background:var(--urgent-tint);color:var(--urgent-ink);border-radius:var(--radius-ctl);padding:10px 14px;margin:0}.btn{font:inherit;font-weight:600;font-size:15px;min-height:44px;padding:10px 16px;border-radius:999px;border:1px solid transparent;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:var(--green);color:#fff}.btn.primary:hover{background:var(--green-dark);color:#fff}.btn.outline{background:var(--surface);color:var(--green);border-color:var(--green)}.btn.dark{background:var(--ink);color:#fff}.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line)}.btn.danger{background:var(--urgent-ink);color:#fff}.btn.store{border-color:var(--line);border-radius:10px;flex:1 1}.btn.pill,.btn.store{background:var(--surface);color:var(--ink)}.btn.pill{border-color:var(--line)}.btn.pill.on{background:var(--ink);color:#fff;border-color:var(--ink)}.btn.wide{width:100%;border-radius:var(--radius-ctl);margin-top:4px}.small-btn{font-size:14px;padding:8px 12px}.login{min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{width:min(380px,100%);background:var(--surface);border-radius:var(--radius-card);padding:28px;display:flex;flex-direction:column;gap:10px}.login-card h1{margin:0;font-size:34px}.login-card p{margin:0 0 8px}.login-card label{font-weight:600;font-size:14px}.login-card input{font:inherit;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:10px}.app{max-width:1360px;margin:0 auto;padding:20px 16px 48px;flex-direction:column;gap:16px}.app,.top{display:flex}.top{align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap}.page-title{margin:0;font-size:clamp(28px,4vw,44px);line-height:1.05}.top p{margin:4px 0 0}.top-actions{align-items:center}.panel,.top-actions{display:flex;gap:8px}.panel{background:var(--surface);border-radius:18px;padding:14px 16px;flex-direction:column}.panel-title{margin:0;font-size:14px;font-weight:600;color:var(--muted)}.shop-items{margin:0;font-weight:600;font-size:17px}.shop p{margin:0}.strips{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));grid-gap:16px;gap:16px}.all-view,.short-view{display:flex;flex-direction:column;gap:16px}.all-view[hidden]{display:none}.short-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.short-title{margin:0;font-size:26px;line-height:1.1}.short-title:focus{outline:none}.short-title:focus-visible{outline:3px solid var(--keeps)}.confirm{background:var(--urgent-tint);border-radius:18px;padding:14px 16px;display:flex;flex-direction:column;gap:10px}.confirm p{margin:0;color:var(--urgent-ink);font-weight:600}.confirm-actions,.filters{display:flex;gap:8px;flex-wrap:wrap}.filters{align-items:center}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:18px;gap:18px;align-items:start}.card{background:var(--surface);border-radius:var(--radius-card);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 24px rgba(28,35,33,.08)}.photo{position:relative;height:200px;background:var(--photo);flex-shrink:0}.compact .photo{height:170px}.photo img{width:100%;height:100%;object-fit:cover;display:block;-webkit-user-select:none;-moz-user-select:none;user-select:none}.photo-empty{height:100%;display:grid;place-items:center;color:var(--muted);font-size:14px}.badge{position:absolute;top:12px;left:12px;color:#fff;font-size:13px;font-weight:600;border-radius:999px;padding:5px 11px}.badge.urgent{background:var(--urgent)}.badge.soon{background:var(--soon)}.badge.keeps{background:var(--keeps)}.credit{position:absolute;bottom:8px;right:8px;font-size:11px;background:hsla(0,0%,100%,.9);border-radius:6px;padding:2px 6px}.credit,.credit a{color:var(--ink)}.card-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:10px}.meta{margin:0;display:flex;gap:12px;flex-wrap:wrap;font-size:13px;color:var(--muted);font-weight:500}.card-title{margin:0;font-size:21px;line-height:1.18}.compact .card-title{font-size:19px}.actions{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.actions li{background:var(--ink);color:#fff;border-radius:6px;padding:3px 8px;font-size:12px;font-weight:600}.chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.chip{border-radius:999px;padding:4px 10px;font-size:13px;font-weight:500}.chip.have{background:var(--green-tint);color:var(--green-dark)}.chip.missing{background:var(--urgent-tint);color:var(--urgent-ink);border:1px dashed var(--urgent);font-weight:600}.chip.soon{background:var(--soon-tint);color:#7a4a06;font-weight:600}.need{background:#fff6ef;border-radius:14px;padding:10px 12px;display:flex;flex-direction:column;gap:8px}.need p{margin:0;color:var(--urgent-ink);font-size:14px}.stores{display:flex;gap:8px}.ready{margin:0;color:var(--green-dark);font-weight:600;font-size:14px}.method h3{margin:4px 0;font-size:14px;color:var(--muted)}.method p{margin:0;font-size:15px;line-height:1.55}.deck{display:flex;flex-direction:column;gap:12px}.deck-count{margin:0;font-size:13px}.deck-stack{position:relative}.deck-under{position:absolute;inset:8px 8px auto 8px;transform:scale(.97);opacity:.6;pointer-events:none;max-height:100%;overflow:hidden}.deck-top{position:relative;touch-action:pan-y;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:-webkit-grab;cursor:grab}.deck-top.settle{transition:transform .2s ease}.deck-top.leaving{transition:transform .22s ease-in,opacity .22s ease-in;opacity:0}.swipe-hint{position:absolute;z-index:2;top:18px;right:18px;font-weight:700;font-size:15px;padding:6px 12px;border-radius:999px;background:#fff}.swipe-hint.keep{color:var(--green);box-shadow:0 0 0 2px var(--green)}.swipe-hint.skip{color:var(--urgent-ink);box-shadow:0 0 0 2px var(--urgent);left:18px;right:auto}.deck-buttons{display:flex;justify-content:center;gap:28px;padding:4px 0 8px}.round{width:64px;height:64px;border-radius:999px;display:grid;place-items:center;cursor:pointer}.round.skip{background:var(--surface);color:var(--muted);border:1px solid var(--line)}.round.keep{background:var(--green);color:#fff;border:none}.deck-done{background:var(--surface);border-radius:var(--radius-card);padding:32px 20px;text-align:center;display:flex;flex-direction:column;gap:10px;align-items:center}.deck-done h2,.deck-done h3,.deck-done p{margin:0}@media (prefers-reduced-motion:reduce){.deck-top.leaving,.deck-top.settle{transition:none}}