@font-face{font-family:Archivo;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b06b356f834173cc-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:Archivo;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/23d669af23d19c95-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-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Archivo;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/1a4aa50920b5315c-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:Archivo;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b06b356f834173cc-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:Archivo;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/23d669af23d19c95-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-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Archivo;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/1a4aa50920b5315c-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:Archivo;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b06b356f834173cc-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:Archivo;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/23d669af23d19c95-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-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Archivo;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/1a4aa50920b5315c-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:Archivo;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b06b356f834173cc-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:Archivo;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/23d669af23d19c95-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-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Archivo;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/1a4aa50920b5315c-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:Archivo Fallback;src:local("Arial");ascent-override:88.96%;descent-override:21.28%;line-gap-override:0.00%;size-adjust:98.70%}.__className_ef95b1{font-family:Archivo,Archivo Fallback;font-style:normal}.__variable_ef95b1{--font-archivo:"Archivo","Archivo Fallback"}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/58f386aa6b1a2a92-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/011e180705008d6f-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7ba5fb2a8c88521c-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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/92eeb95d069020cc-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-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d3ebbfd689654d3a-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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ef4d5661765d0e49-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/d29838c109ef09b4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e40af3453d7c920a-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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/99dcf268bda04fe5-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-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/98e207f02528a563-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:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/73cb51aac9c97f90-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/d26bbd13d6b70f89-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/20535187d867b7b9-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:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/5356a6a4f2c8c8d8-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-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/db96af6b531dc71f-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:IBM Plex Mono Fallback;src:local("Arial");ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.00%;size-adjust:134.59%}.__className_595324{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.__variable_595324{--font-plex-mono:"IBM Plex Mono","IBM Plex Mono Fallback"}:root{--paper:#F6F5F1;--card:#FFFFFF;--ink:#1A1C1E;--muted:#6E6C63;--faint:#9A988E;--line:#E0DED6;--line-dash:#C9C6BA;--red:#C93A24;--red-dark:#9A2C1B;--red-bg:#F8E2DE;--green:#2F7A4D;--green-bg:#EDF3EC;--amber-text:#8A4A17;--amber-bg:#F7E3D4;--neutral-bg:#ECEAE3;--sunk:#EFEDE7;--blue:#2F5F9E;--blue-bg:#E6EEF8;--stripes-soldout:repeating-linear-gradient(-45deg,#F1EFE9 0 8px,#FAF9F5 8px 16px);--ink-ground:#17181B;--ink-card:#1F2125;--ink-line:#33363B;--ink-text:#F6F5F1;--ink-muted:#A5A8AE;--ink-faint:#8B8E94;--ink-amber:#E8A03C;--ink-green:#7FC79A;--ink-red-bg:#3A211C;--red-ink:#EC7A63;--red-on-ink-soft:#F8B4A8;--ink-sunk:#26282D;--ink-neutral-bg:#2C2F35;--ink-line-strong:#454951;--ink-green-bg:#1E2C24;--ink-amber-bg:#33261A;--ink-blue:#8FB4E8;--ink-blue-bg:#1D2A3C;--text-primary:var(--ink);--text-secondary:var(--muted);--text-label:var(--muted);--text-disabled:var(--faint);--bg:var(--paper);--surface:var(--card);--surface-2:var(--sunk);--surface-3:var(--neutral-bg);--border:var(--line);--border-strong:var(--line-dash);--fill:var(--ink);--on-fill:var(--paper);--accent:var(--red);--accent-soft:var(--red-bg);--accent-text:var(--red-dark);--ok:var(--green);--ok-bg:var(--green-bg);--warn:var(--amber-text);--warn-bg:var(--amber-bg);--bad:var(--red-dark);--bad-bg:var(--red-bg);--info:var(--blue);--info-bg:var(--blue-bg);--focus:var(--ink);--fs-micro:11px;--fs-small:12px;--fs-hint:13px;--fs-body:14px;--fs-section:17px;--fs-lead:20px;--fs-stat:24px;--fs-title:26px;--fs-hero:40px;--fs-display-3:34px;--fs-display-2:44px;--fs-display-1:58px;--leading-tight:1.15;--leading-snug:1.25;--leading-ui:1.45;--leading-prose:1.6;--tracking-caps:0.08em;--tracking-display:-0.02em;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--elev-0:none;--elev-1:0 1px 2px rgba(26,28,30,0.05);--elev-2:0 1px 2px rgba(26,28,30,0.05),0 8px 24px rgba(26,28,30,0.07);--elev-3:0 12px 32px rgba(26,28,30,0.18);--radius-control:6px;--radius-card:10px;--radius-card-sm:8px;--radius-pill:999px;--control-h:38px;--control-h-sm:32px;--control-h-lg:46px;--motion-fast:120ms;--motion-base:200ms;--motion-slow:320ms;--ease-out:cubic-bezier(0.2,0.7,0.3,1);--font-sans:var(--font-archivo,"Archivo"),"Helvetica Neue",Arial,sans-serif;--font-ui:var(--font-plex-sans,"IBM Plex Sans"),"Helvetica Neue",Arial,sans-serif;--font-mono:var(--font-plex-mono,"IBM Plex Mono"),"SFMono-Regular",Consolas,monospace}:root[data-theme=dark]{--bg:var(--ink-ground);--surface:var(--ink-card);--surface-2:var(--ink-sunk);--surface-3:var(--ink-neutral-bg);--border:var(--ink-line);--border-strong:var(--ink-line-strong);--text-primary:var(--ink-text);--text-secondary:var(--ink-muted);--text-label:var(--ink-muted);--text-disabled:var(--ink-faint);--fill:var(--ink-text);--on-fill:var(--ink-ground);--accent:var(--red-ink);--accent-soft:var(--ink-red-bg);--accent-text:var(--red-on-ink-soft);--ok:var(--ink-green);--ok-bg:var(--ink-green-bg);--warn:var(--ink-amber);--warn-bg:var(--ink-amber-bg);--bad:var(--red-on-ink-soft);--bad-bg:var(--ink-red-bg);--info:var(--ink-blue);--info-bg:var(--ink-blue-bg);--focus:var(--ink-text);--elev-1:0 0 0 1px rgba(255,255,255,0.04);--elev-2:0 0 0 1px rgba(255,255,255,0.05),0 12px 32px rgba(0,0,0,0.45);--elev-3:0 0 0 1px rgba(255,255,255,0.06),0 20px 48px rgba(0,0,0,0.6);color-scheme:dark}@media (prefers-color-scheme:dark){:root[data-theme=system]{--bg:var(--ink-ground);--surface:var(--ink-card);--surface-2:var(--ink-sunk);--surface-3:var(--ink-neutral-bg);--border:var(--ink-line);--border-strong:var(--ink-line-strong);--text-primary:var(--ink-text);--text-secondary:var(--ink-muted);--text-label:var(--ink-muted);--text-disabled:var(--ink-faint);--fill:var(--ink-text);--on-fill:var(--ink-ground);--accent:var(--red-ink);--accent-soft:var(--ink-red-bg);--accent-text:var(--red-on-ink-soft);--ok:var(--ink-green);--ok-bg:var(--ink-green-bg);--warn:var(--ink-amber);--warn-bg:var(--ink-amber-bg);--bad:var(--red-on-ink-soft);--bad-bg:var(--ink-red-bg);--info:var(--ink-blue);--info-bg:var(--ink-blue-bg);--focus:var(--ink-text);--elev-1:0 0 0 1px rgba(255,255,255,0.04);--elev-2:0 0 0 1px rgba(255,255,255,0.05),0 12px 32px rgba(0,0,0,0.45);--elev-3:0 0 0 1px rgba(255,255,255,0.06),0 20px 48px rgba(0,0,0,0.6);color-scheme:dark}}:root:root{--radius-control:4px;--radius-card:6px;--control-h:40px;--control-h-sm:34px;--control-h-lg:48px}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--leading-ui);-webkit-font-smoothing:antialiased}body,h1,h2,h3,p,ul{margin:0}ul{padding:0;list-style:none}button{font:inherit;cursor:pointer}button:disabled{cursor:default}.mono{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.shop{--shop-brand:var(--ink);--basket-w:360px;display:grid;grid-template-columns:minmax(0,1fr) var(--basket-w);min-height:100vh}.shop-main{--shop-brand:var(--ink);min-width:0;display:flex;flex-direction:column;padding:0 var(--space-6);max-width:1180px;width:100%;margin:0 auto}.shop .shop-main{--shop-brand:inherit}.shop-header{justify-content:space-between;gap:var(--space-5);padding:var(--space-5) 0 var(--space-4);flex-wrap:wrap}.shop-header,.shop-id{display:flex;align-items:center}.shop-id{gap:var(--space-3);min-width:0;flex:1 1 260px}.shop-logo{width:48px;height:48px;object-fit:contain;border-radius:var(--radius-card);flex-shrink:0;background:var(--card);border:1px solid var(--line)}.shop-name{font-size:var(--fs-title);font-weight:800;letter-spacing:var(--tracking-display);line-height:var(--leading-snug)}.shop-site{font-size:var(--fs-hint);color:var(--muted);margin-top:2px;line-height:var(--leading-ui)}.shop-search{position:relative;display:flex;align-items:center;flex:0 1 320px;min-width:200px}.shop-search svg{position:absolute;left:var(--space-3);color:var(--muted);pointer-events:none}.shop-search input{width:100%;height:44px;padding:0 var(--space-3) 0 var(--space-7);border:1px solid var(--line);border-radius:var(--radius-control);background:var(--card);font:inherit;color:var(--ink)}.shop-search input::placeholder{color:var(--muted)}.shop-search input:focus-visible{outline:2px solid var(--shop-brand);outline-offset:-1px}.search-clear{position:absolute;right:var(--space-2);height:28px;padding:0 var(--space-2);border:0;background:var(--paper);border-radius:var(--radius-control);font-size:var(--fs-hint);font-weight:600;color:var(--muted)}.cat-strip{position:-webkit-sticky;position:sticky;top:0;z-index:5;display:flex;gap:var(--space-2);overflow-x:auto;padding:var(--space-2) 0 var(--space-3);background:var(--paper);scrollbar-width:none}.cat-strip::-webkit-scrollbar{display:none}.cat-chip{display:inline-flex;align-items:center;gap:var(--space-2);height:40px;padding:0 var(--space-3) 0 var(--space-4);border-radius:var(--radius-pill);border:1px solid var(--line);background:var(--card);font-weight:600;font-size:var(--fs-body);color:var(--ink);flex-shrink:0;transition:border-color var(--motion-fast) var(--ease-out)}.cat-chip:hover{border-color:var(--shop-brand)}.cat-count{min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--paper);font-size:var(--fs-small);font-weight:600;color:var(--muted);display:inline-grid;place-items:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cat-chip.active{background:var(--shop-brand);border-color:var(--shop-brand);color:#fff}.cat-chip.active .cat-count{background:rgba(255,255,255,.18);color:#fff}.menu-head{display:flex;align-items:baseline;gap:var(--space-3);padding:var(--space-2) 0 var(--space-3)}.menu-title{font-size:var(--fs-lead);font-weight:800;letter-spacing:var(--tracking-display);line-height:var(--leading-snug)}.menu-count{font-size:var(--fs-hint);color:var(--muted)}.menu-empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-8) var(--space-4);color:var(--muted);text-align:center}.menu-empty p{max-width:36ch;line-height:var(--leading-prose)}.item-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(196px,1fr));grid-gap:var(--space-3);gap:var(--space-3);padding-bottom:var(--space-6);align-items:stretch}.item-card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--elev-1);overflow:hidden;transition:border-color var(--motion-fast) var(--ease-out),box-shadow var(--motion-fast) var(--ease-out)}.item-card:hover{border-color:var(--shop-brand);box-shadow:var(--elev-2)}.item-shot{width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--paper);border-bottom:1px solid var(--line);display:block}.item-shot-empty{display:grid;place-items:center;color:var(--line-dash)}.item-body{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3);flex:1 1}.item-name{font-weight:700;font-size:var(--fs-body);line-height:var(--leading-snug)}.item-desc{font-size:var(--fs-hint);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.item-allergens,.item-desc{color:var(--muted);line-height:var(--leading-ui)}.item-allergens{font-size:var(--fs-small)}.item-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-top:auto;padding-top:var(--space-2)}.item-price{font-size:var(--fs-section);font-weight:600}.item-soldout{font-size:var(--fs-micro);font-weight:700;letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--red)}.add-btn{height:36px;padding:0 var(--space-4);border:1px solid var(--shop-brand);border-radius:var(--radius-control);background:var(--card);color:var(--shop-brand);font-weight:700;font-size:var(--fs-hint);transition:background var(--motion-fast) var(--ease-out),color var(--motion-fast) var(--ease-out)}.add-btn:hover{background:var(--shop-brand);color:#fff}.item-card.off{background:var(--stripes-soldout);border-style:dashed;box-shadow:var(--elev-0)}.item-card.off .item-desc,.item-card.off .item-name{color:var(--muted)}.item-card.off .item-shot{opacity:.45}.stepper{display:inline-flex;align-items:center;height:36px;border:1px solid var(--shop-brand);border-radius:var(--radius-control);overflow:hidden;background:var(--card)}.stepper button{width:36px;height:100%;border:0;background:var(--shop-brand);color:#fff;font-size:var(--fs-section);font-weight:600;line-height:1;display:grid;place-items:center}.stepper span{min-width:34px;text-align:center;font-weight:600;font-size:var(--fs-body)}.stepper-sm{height:32px}.stepper-sm button{width:32px;font-size:var(--fs-body)}.stepper-sm span{min-width:30px}.basket-panel{position:-webkit-sticky;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;background:var(--card);border-left:1px solid var(--line);min-width:0}.basket-head{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-5) var(--space-5) var(--space-3)}.basket-title{font-size:var(--fs-lead);font-weight:800;letter-spacing:var(--tracking-display)}.basket-count{font-size:var(--fs-hint);color:var(--muted)}.basket-close{display:none;margin-left:auto;width:36px;height:36px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--ink);place-items:center}.fulfil{display:flex;align-items:center;gap:var(--space-3);padding:0 var(--space-5) var(--space-3);flex-wrap:wrap}.fulfil-tab{height:32px;padding:0 var(--space-3);border-radius:var(--radius-control);display:inline-flex;align-items:center;font-size:var(--fs-hint);font-weight:700}.fulfil-tab.active{background:var(--shop-brand);color:#fff}.fulfil-hint{font-size:var(--fs-hint);color:var(--muted)}.basket-empty{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-6);text-align:center;color:var(--muted)}.basket-empty p{max-width:26ch;line-height:var(--leading-prose);font-size:var(--fs-hint)}.basket-lines{flex:1 1;overflow-y:auto;padding:0 var(--space-5)}.basket-line{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-top:1px dashed var(--line-dash)}.line-thumb{width:48px;height:48px;border-radius:var(--radius-control);object-fit:cover;flex-shrink:0;background:var(--paper);border:1px solid var(--line)}.line-thumb-empty{display:grid;place-items:center;color:var(--line-dash);border-style:dashed}.line-thumb-empty svg{width:20px;height:20px}.line-main{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:1px}.line-name{font-weight:600;font-size:var(--fs-body);line-height:var(--leading-snug)}.line-mods{font-size:var(--fs-small);color:var(--muted)}.line-price{font-size:var(--fs-hint);color:var(--muted)}.basket-foot{border-top:1px solid var(--line);padding:var(--space-4) var(--space-5) var(--space-5);display:flex;flex-direction:column;gap:var(--space-2);background:var(--card)}.sum-row{display:flex;justify-content:space-between;font-size:var(--fs-hint);color:var(--muted)}.sum-hint{font-size:var(--fs-small)}.sum-total{font-size:var(--fs-section);font-weight:700;color:var(--ink);padding-bottom:var(--space-2)}.shop-field{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--fs-hint);font-weight:600;color:var(--muted)}.shop-field input{height:44px;border:1px solid var(--line);border-radius:var(--radius-control);padding:0 var(--space-3);font:inherit;font-weight:500;color:var(--ink);background:var(--paper)}.shop-field input::placeholder{color:var(--muted);font-weight:400}.shop-field input:focus-visible{outline:2px solid var(--shop-brand);outline-offset:-1px}.shop-error{background:var(--red-bg);color:var(--red-dark);font-size:var(--fs-hint);padding:10px var(--space-3);border-radius:var(--radius-control);line-height:var(--leading-ui)}.place-btn{height:52px;margin-top:var(--space-2);padding:0 var(--space-4);background:var(--shop-brand);color:#fff;border:0;border-radius:var(--radius-control);font-weight:700;font-size:var(--fs-section);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.place-btn:disabled{opacity:.35}.btn-primary{height:52px;padding:0 var(--space-4);background:var(--shop-brand,var(--ink));color:#fff;border:0;border-radius:var(--radius-control);font-weight:700;font-size:var(--fs-section)}.btn-primary:disabled{opacity:.35}.hint-line{font-size:var(--fs-small);color:var(--muted);line-height:var(--leading-ui)}.basket-bar{display:none;position:fixed;left:var(--space-3);right:var(--space-3);bottom:var(--space-3);height:56px;padding:0 var(--space-4);background:var(--shop-brand);color:#fff;border:0;border-radius:var(--radius-card);font-weight:700;font-size:var(--fs-section);align-items:center;justify-content:space-between;gap:var(--space-3);box-shadow:var(--elev-3);z-index:6}.basket-bar-count{min-width:28px;height:28px;padding:0 8px;border-radius:999px;background:rgba(255,255,255,.2);display:inline-grid;place-items:center;font-size:var(--fs-hint)}.overlay{position:fixed;inset:0;background:rgba(26,28,30,.45);display:grid;place-items:center;padding:var(--space-4);z-index:10}.picker-card{width:min(420px,100%);background:var(--card);border-radius:var(--radius-card);box-shadow:var(--elev-3);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3)}.picker-title{font-size:var(--fs-lead);font-weight:800;line-height:var(--leading-snug)}.picker-group{font-size:var(--fs-hint);font-weight:600;color:var(--muted);margin-bottom:var(--space-2)}.picker-options{flex-wrap:wrap}.picker-option,.picker-options{display:flex;gap:var(--space-2)}.picker-option{min-height:var(--control-h-lg);padding:0 var(--space-4);border:1px solid var(--line);border-radius:var(--radius-control);background:var(--card);font-weight:600;font-size:var(--fs-body);align-items:center}.picker-option:hover{background:var(--paper);border-color:var(--shop-brand)}.opt-price{font-size:var(--fs-small);color:var(--muted)}.picker-cancel{height:44px;background:none;border:0;font-weight:600;color:var(--muted)}.confirm-main{justify-content:center;align-items:center;min-height:100vh}.confirm-card{width:min(360px,100%);background:var(--card);border:1px solid var(--line);font-family:var(--font-mono);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-2);box-shadow:var(--elev-1)}.confirm-head{font-weight:600;font-size:var(--fs-body)}.confirm-head,.confirm-sub{text-align:center;letter-spacing:var(--tracking-caps)}.confirm-sub{font-size:var(--fs-micro);color:var(--muted)}.confirm-card hr{border:0;border-top:1px dashed var(--line-dash);margin:var(--space-1) 0;width:100%}.confirm-number{text-align:center;font-size:var(--fs-display-2);font-weight:700;line-height:var(--leading-tight);letter-spacing:.04em}.confirm-row{display:flex;justify-content:space-between;font-size:var(--fs-hint)}.confirm-note{font-size:var(--fs-body);line-height:var(--leading-ui)}.confirm-address,.confirm-note{font-family:var(--font-sans);color:var(--muted);text-align:center}.confirm-address{font-size:var(--fs-hint)}.confirm-card .place-btn{font-family:var(--font-sans);justify-content:center}.powered{margin-top:auto;display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-5) 0;font-size:var(--fs-hint);color:var(--muted);border-top:1px dashed var(--line-dash)}@media (max-width:1023px){.shop{grid-template-columns:1fr}.shop-main{padding-bottom:88px}.basket-panel{position:fixed;inset:0;height:auto;z-index:8;border-left:0;transform:translateY(100%);visibility:hidden;transition:transform var(--motion-base) var(--ease-out),visibility 0s linear var(--motion-base)}.basket-panel.open{transform:none;visibility:visible;transition:transform var(--motion-base) var(--ease-out)}.basket-close{display:grid}.basket-bar{display:flex}.sheet-open .basket-bar{display:none}}@media (max-width:640px){.shop-main{padding-left:var(--space-4);padding-right:var(--space-4)}.shop-header{padding:var(--space-4) 0 var(--space-3);gap:var(--space-3)}.shop-search{flex-basis:100%}.shop-name{font-size:var(--fs-lead)}.item-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.item-body{padding:var(--space-2) var(--space-3) var(--space-3)}}@media (max-width:380px){.item-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}.plain-main{min-height:100vh;display:flex;flex-direction:column}.plain-centre{flex:1 1;display:grid;place-items:center;padding:var(--space-7) var(--space-5)}.plain-copy{text-align:center;max-width:460px}.plain-copy h1{font-size:var(--fs-title);font-weight:800;letter-spacing:var(--tracking-display);line-height:var(--leading-snug);margin:0 0 var(--space-2)}.plain-copy p{color:var(--muted);font-size:var(--fs-body);line-height:var(--leading-prose);margin:0}.plain-foot{border-top:1px dashed var(--line-dash);padding:var(--space-3) 0;display:flex;align-items:center;justify-content:center;gap:var(--space-2);font-size:var(--fs-hint);color:var(--muted)}.join-main{justify-content:flex-start}.join-card{width:min(440px,100%);margin:var(--space-5) auto 0;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--elev-2);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3)}.join-title{font-size:var(--fs-title);font-weight:800;letter-spacing:var(--tracking-display);line-height:var(--leading-snug);margin:0;text-wrap:balance}.join-sub{font-size:var(--fs-body);margin:0}.join-consent,.join-sub{color:var(--muted);line-height:var(--leading-prose)}.join-consent{display:flex;gap:var(--space-2);align-items:flex-start;font-size:var(--fs-hint)}.join-consent input{width:18px;height:18px;flex-shrink:0;margin-top:1px;accent-color:var(--shop-brand,var(--ink))}.join-qr{width:min(260px,70%);align-self:center;border:1px solid var(--line);border-radius:var(--radius-control)}.join-code{align-self:center;font-size:var(--fs-stat);font-weight:700;letter-spacing:.08em;background:var(--paper);border:1px dashed var(--line-dash);border-radius:var(--radius-control);padding:var(--space-2) var(--space-4)}.join-note{font-size:var(--fs-hint);color:var(--muted);text-align:center;margin:0}.join-main .btn-primary,.join-main .place-btn{justify-content:center}