:root{--brand-primary: #26247b;--brand-primary-strong: #1b195d;--brand-accent: #88b83e;--brand-warm: #b58a3c;--surface-page: #faf8f4;--surface-card: #ffffff;--surface-subtle: #f1eee7;--text-primary: #1f2430;--text-muted: #606778;--border-subtle: #ded9cf;--state-success: #237a4b;--state-warning: #9a6500;--state-danger: #b42318;--on-brand: #ffffff;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--tap-min: 48px;--font-brand: "Helvetica Neue LT Pro", "Helvetica Neue", Arial, sans-serif;--font-ui: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--ink: var(--text-primary);--muted: var(--text-muted);--line: var(--border-subtle);--bg: var(--surface-page);--card: var(--surface-card);--accent: var(--brand-primary);--accent-ink: var(--on-brand);--gold: var(--brand-warm);--ok: var(--state-success);--warn: var(--state-warning);--bad: var(--state-danger);--radius: var(--radius-md);--tap: var(--tap-min)}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;background:var(--surface-page);color:var(--text-primary);font:16px/1.5 var(--font-ui)}#app{min-height:100vh}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--brand-primary);outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.shell{width:min(100%,720px);margin:0 auto;padding:0 16px 120px}.topbar{position:sticky;top:0;z-index:10;background:var(--brand-primary-strong);color:var(--on-brand);display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:76px;padding:10px max(16px,calc((100vw - 720px)/2 + 16px));box-shadow:0 1px #ffffff24}.topbar-copy{min-width:0;display:grid;gap:2px}.topbar h1{margin:0;overflow-wrap:anywhere;font:600 clamp(1.05rem,3.6vw,1.3rem)/1.2 var(--font-brand);letter-spacing:-.01em}.eyebrow{color:#dcdaf8;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.location-pill{width:fit-content;margin-top:4px;padding:3px 9px;border:1px solid rgb(255 255 255 / 32%);border-radius:999px;color:#f6f5ff;font-size:.78rem;font-weight:650}.linkbtn{flex:0 0 auto;background:none;border:0;color:inherit;text-decoration:underline;text-underline-offset:3px;min-height:var(--tap-min);padding:0 8px;cursor:pointer}.tabs{display:flex;gap:8px;margin:16px 0}.tabs button{flex:1;min-height:var(--tap);border-radius:999px;border:1px solid var(--line);background:var(--card);cursor:pointer}.tabs button[aria-selected=true]{background:var(--brand-primary);color:var(--on-brand);border-color:var(--brand-primary)}h2{font:600 1.2rem/1.3 var(--font-brand);margin:20px 0 8px}h3{font:650 1.05rem/1.3 var(--font-brand);margin:22px 0 10px;color:var(--brand-primary);letter-spacing:-.01em}.menu-tools{position:sticky;top:76px;z-index:8;margin:0 -16px 14px;padding:10px 16px 8px;border-bottom:1px solid var(--border-subtle);background:#faf8f4f5;backdrop-filter:blur(10px)}.menu-search{position:relative}.menu-search input{width:100%;min-height:var(--tap-min);padding:10px 48px 10px 15px;border:1px solid #bdb7aa;border-radius:var(--radius-md);background:var(--surface-card);appearance:none}.menu-search input::-webkit-search-cancel-button{appearance:none}.menu-search input:focus{border-color:var(--brand-primary)}.clear-search{position:absolute;inset-block:0;inset-inline-end:0;width:var(--tap-min);min-height:var(--tap-min);border:0;color:var(--text-muted);background:transparent;font-size:1.55rem;cursor:pointer}.category-rail{display:flex;gap:8px;margin-top:8px;padding-bottom:2px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none}.category-rail::-webkit-scrollbar{display:none}.category-rail button{flex:0 0 auto;min-height:var(--tap-min);padding:0 16px;border:1px solid var(--border-subtle);border-radius:999px;color:var(--text-primary);background:var(--surface-card);font-weight:650;cursor:pointer}.category-rail button.active{border-color:var(--brand-primary);color:var(--on-brand);background:var(--brand-primary)}.menu-category{scroll-margin-top:198px}.menu-category:focus{outline:0}.menu-no-results{display:grid;justify-items:start;gap:7px;margin:28px 0;padding:22px;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-card)}.menu-no-results span{color:var(--text-muted)}.menu-no-results .btn{margin-top:8px}.card{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:14px;margin-bottom:10px}.item{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"copy image" "action image" "variants variants";gap:10px 14px;align-items:start;min-height:116px}.item-copy{grid-area:copy;display:grid;align-content:start;gap:4px;min-width:0}.item-image{grid-area:image;width:112px;aspect-ratio:4 / 3;border-radius:var(--radius-sm);object-fit:cover;background:var(--surface-subtle)}.item .name{font:650 1rem/1.3 var(--font-brand)}.item .desc{display:-webkit-box;overflow:hidden;color:var(--text-muted);font-size:.9rem;-webkit-box-orient:vertical;-webkit-line-clamp:2}.item .price{margin-top:2px;color:var(--brand-primary-strong);font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.item-action{grid-area:action;align-self:end}.variants{grid-area:variants;display:grid;gap:8px;padding-top:10px;border-top:1px solid var(--border-subtle)}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.btn{min-height:var(--tap-min);padding:0 18px;border-radius:999px;border:1px solid var(--brand-primary);background:var(--brand-primary);color:var(--on-brand);font-weight:700;cursor:pointer}.btn:hover:not([disabled]){background:var(--brand-primary-strong)}.btn.secondary{background:var(--surface-card);color:var(--brand-primary)}.btn.secondary:hover:not([disabled]){color:var(--on-brand)}.btn.small{padding:0 14px}.btn[disabled]{opacity:.55;cursor:not-allowed}.btn.block{width:100%}.qty{display:inline-flex;align-items:center;gap:4px}.qty button{width:var(--tap);height:var(--tap);border-radius:50%;border:1px solid var(--line);background:var(--card);font-size:1.2rem;cursor:pointer}.qty output{min-width:28px;text-align:center;font-variant-numeric:tabular-nums}.bar{position:fixed;left:0;right:0;bottom:0;background:var(--surface-card);border-top:1px solid var(--border-subtle);padding:10px 16px calc(10px + env(safe-area-inset-bottom));z-index:12;box-shadow:0 -10px 30px #1f243014}.bar .inner{max-width:720px;margin:0 auto}.bar .inner>span{font-weight:700;font-variant-numeric:tabular-nums}.field{display:grid;gap:4px;margin:12px 0}.field label{font-weight:600}.field input,.field select,.field textarea{min-height:var(--tap);padding:8px 12px;border:1px solid #b8b4a8;border-radius:8px;background:#fff}.field .hint{color:var(--muted);font-size:.9rem}.field .error{color:var(--bad);font-size:.9rem}.choice{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);margin-bottom:10px;cursor:pointer}.choice input{margin-top:4px;width:20px;height:20px}.choice[aria-disabled=true]{opacity:.6;cursor:not-allowed}.choice .t{font-weight:600;display:block}.choice .d{color:var(--muted);font-size:.9rem}.banner{border-radius:var(--radius);padding:12px 14px;margin:12px 0;border:1px solid}.banner.error{background:#fdecea;border-color:#f2b8b5;color:#601410}.banner.info{background:#eef3ff;border-color:#c5d3f7}.banner .row{margin-top:8px;justify-content:flex-start}.badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.85rem;font-weight:600;background:#eee}.badge.ok{background:#dff3e8;color:var(--ok)}.badge.warn{background:#fdf0d5;color:var(--warn)}.badge.bad{background:#fdecea;color:var(--bad)}.center{text-align:center;padding:64px 8px}.muted{color:var(--muted)}.mono{font-family:ui-monospace,Menlo,monospace;letter-spacing:.04em;font-size:1.1rem}ul.plain{list-style:none;margin:0;padding:0}.lines li{display:flex;justify-content:space-between;gap:12px;padding:4px 0;font-size:.95rem}@media(prefers-reduced-motion:no-preference){.btn,.category-rail button,.tabs button{transition:color .16s ease,background-color .16s ease,border-color .16s ease}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.tight{margin:6px 0 0}.spaced{margin-top:16px}fieldset.bare{border:0;padding:0;margin:0}a.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.center-text{text-align:center}.qr{display:block;width:min(280px,100%);height:auto;margin:12px auto;border:1px solid var(--line);border-radius:8px}.share{margin-top:16px}.plain-h{margin:0 0 6px;color:var(--ink);text-transform:none;letter-spacing:0}.powered-by{padding:8px 16px 96px;color:var(--text-muted);font-size:.75rem;text-align:center}.safety-dialog{width:min(520px,calc(100% - 32px));padding:20px;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:calc(var(--radius) + 4px);box-shadow:0 20px 60px #16203a47}.safety-dialog::backdrop{background:#16203a9e}.safety-dialog h2{margin-top:0}.safety-dialog .row{flex-wrap:wrap}.safety-dialog .btn{flex:1 1 180px}@media(max-width:380px){.topbar{align-items:flex-start}.linkbtn{padding-inline:4px;font-size:.88rem}.item{grid-template-columns:minmax(0,1fr) 88px}.item-image{width:88px}.bar .inner{align-items:stretch;flex-direction:column;gap:8px}.bar .btn{width:100%}}@media(min-width:768px){.shell{padding-inline:24px}.menu-tools{margin-inline:-24px;padding-inline:24px}.item{min-height:132px;padding:16px}.item-image{width:136px}}
