.app{min-height:100vh;padding-bottom:5.5rem}.boot-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem;text-align:center;color:var(--text-muted)}.boot-screen h1{font-size:1.25rem;color:var(--text)}.boot-icon{font-size:3rem}.boot-spinner{width:38px;height:38px;border-radius:50%;border:3px solid var(--surface-3);border-top-color:var(--brand);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}.app-backdrop img{width:100%;height:100%;object-fit:cover}.app-backdrop:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--photo-tint);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.app.has-backdrop>*:not(.app-backdrop){position:relative;z-index:1}.app.has-backdrop .menu-card,.app.has-backdrop .rail-card-img{background:color-mix(in srgb,var(--surface) 86%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.hero{position:relative;isolation:isolate;overflow:hidden}.hero.has-photos{min-height:clamp(380px,54vw,540px)}.hero.plate{min-height:250px;background:radial-gradient(1100px 380px at 50% -25%,color-mix(in srgb,var(--brand) 32%,transparent),transparent 72%),radial-gradient(820px 320px at 8% 125%,color-mix(in srgb,var(--accent) 24%,transparent),transparent 70%)}.hero.plate .hero-scrim{display:none}.hero-photos{position:absolute;top:0;right:0;bottom:0;left:0}.hero-photo{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.1s ease-in-out}.hero-photo.showing{opacity:1;animation:hero-drift 18s ease-out both}@keyframes hero-drift{0%{transform:scale(1.02)}to{transform:scale(1.11)}}.hero-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--hero-scrim)}.hero-body{position:relative;max-width:720px;margin:0 auto;padding:clamp(9rem,26vw,15rem) 1.25rem 1.75rem;text-align:center}.hero.plate .hero-body{padding-top:clamp(2.5rem,8vw,3.5rem)}.hero-mark{width:66px;height:66px;margin:0 auto .9rem;border-radius:var(--radius);overflow:hidden;display:grid;place-items:center;font-size:2rem;background:linear-gradient(135deg,var(--brand),var(--accent));box-shadow:var(--shadow)}.hero-mark img{width:100%;height:100%;object-fit:cover}.hero-name{font-size:clamp(1.85rem,7vw,3rem);text-transform:var(--head-case);color:var(--text)}.hero-tagline{margin-top:.55rem;font-size:clamp(.85rem,2.6vw,1rem);color:var(--text-muted);max-width:34ch;margin-inline:auto}.hero-meta{margin-top:1rem;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.4rem;font-size:.78rem;color:var(--text-muted)}.hero-meta-sep{color:var(--text-dim)}.hero-status{display:inline-flex;align-items:center;gap:.4rem;font-weight:600}.hero-status.open{color:color-mix(in srgb,var(--green) 82%,var(--text))}.hero-status.shut{color:color-mix(in srgb,var(--red) 82%,var(--text))}.hero-status-dot{width:7px;height:7px;border-radius:50%;background:currentColor}.hero-status.open .hero-status-dot{animation:blink 2.2s ease-in-out infinite}.hero-table{margin-top:1.1rem;display:inline-flex;align-items:center;gap:.55rem;flex-wrap:wrap;justify-content:center;font-size:.78rem;color:var(--text-muted)}.hero-table-badge{background:var(--brand);color:var(--on-brand);font-weight:700;font-size:.75rem;padding:.22rem .6rem;border-radius:var(--radius-sm)}.hero-caption{margin-top:.9rem;font-size:.74rem;color:var(--text-dim);font-style:italic}.hero-dots{position:absolute;top:1rem;right:1rem;display:flex;gap:.35rem}.hero-dot{width:24px;height:4px;border-radius:2px;background:#ffffff59;transition:background-color .2s,width .2s}.hero-dot.active{background:#fff;width:34px}.menu-bar{position:sticky;top:0;z-index:100;background:var(--glass);-webkit-backdrop-filter:blur(16px) saturate(150%);backdrop-filter:blur(16px) saturate(150%);border-bottom:1px solid var(--border);transition:box-shadow .24s ease}.menu-bar.scrolled{box-shadow:var(--shadow-soft)}.menu-bar-tools{display:flex;align-items:center;gap:.6rem;padding:.75rem 1rem .65rem}.table-chip{flex-shrink:0;font-size:.72rem;font-weight:600;padding:.42rem .6rem;background:color-mix(in srgb,var(--brand) 15%,transparent);color:var(--brand-ink);border-radius:var(--radius-sm);white-space:nowrap;border:1px solid color-mix(in srgb,var(--brand) 32%,transparent)}.search-bar{flex:1;min-width:0;display:flex;align-items:center;gap:.6rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.55rem .85rem;transition:border-color .15s,box-shadow .15s}.search-bar:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 18%,transparent)}.search-bar input{flex:1;background:none;border:none;outline:none;color:var(--text);font-size:.9rem;min-width:0}.search-bar input::placeholder{color:var(--text-dim)}.search-bar input::-webkit-search-cancel-button{display:none}.search-clear{color:var(--text-dim);font-size:.85rem;padding:0 .2rem}.btn-cart{flex-shrink:0;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:.55rem .85rem;font-size:.85rem;font-weight:600;display:flex;align-items:center;gap:.4rem;position:relative;transition:background-color .15s,border-color .15s}.btn-cart:hover{background:var(--surface-3);border-color:var(--brand)}.btn-orders{flex-shrink:0;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:.55rem .8rem;font-size:.85rem;font-weight:600;display:flex;align-items:center;gap:.4rem;position:relative;transition:background-color .15s,border-color .15s}.btn-orders:hover{background:var(--surface-3);border-color:var(--brand)}.btn-orders.live{border-color:color-mix(in srgb,var(--brand) 55%,transparent);background:color-mix(in srgb,var(--brand) 12%,var(--surface-2))}.cart-badge,.orders-badge{position:absolute;top:-7px;right:-7px;min-width:20px;height:20px;padding:0 5px;background:var(--brand);color:var(--on-brand);border-radius:10px;font-size:.7rem;font-weight:700;display:flex;align-items:center;justify-content:center}.orders-badge{animation:pulse-badge 2s ease-in-out infinite}@keyframes pulse-badge{0%,to{box-shadow:0 0 color-mix(in srgb,var(--brand) 55%,transparent)}55%{box-shadow:0 0 0 6px transparent}}.closed-banner{background:color-mix(in srgb,var(--red) 14%,transparent);color:color-mix(in srgb,var(--red) 82%,var(--text));border-top:1px solid color-mix(in srgb,var(--red) 28%,transparent);padding:.6rem 1rem;font-size:.82rem;text-align:center;font-weight:500}.category-row{display:flex;gap:.5rem;padding:0 1rem .8rem;overflow-x:auto;scrollbar-width:none}.category-row::-webkit-scrollbar{display:none}.chip{white-space:nowrap;padding:.45rem .85rem;border-radius:20px;background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);font-size:.82rem;font-weight:500;transition:all .15s;flex-shrink:0}.chip:hover{border-color:var(--border-strong);color:var(--text)}.chip.active{background:var(--brand);border-color:var(--brand);color:var(--on-brand);box-shadow:0 3px 12px color-mix(in srgb,var(--brand) 34%,transparent)}.chip-count{opacity:.65;font-size:.75rem;margin-left:.15rem}.main-content{padding:1.5rem 1rem 2rem;max-width:1280px;margin:0 auto}.section-head{display:flex;align-items:center;gap:.7rem;margin-bottom:1.15rem}.section-icon{width:34px;height:34px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;font-size:1rem;background:color-mix(in srgb,var(--brand) 12%,var(--surface));border:1px solid var(--border)}.section-head h2{font-size:clamp(1.05rem,3.2vw,1.32rem);text-transform:var(--head-case);color:var(--text);white-space:nowrap}.section-rule{flex:1;height:1px;min-width:1rem;background:linear-gradient(90deg,var(--border-strong),transparent)}.section-count{font-size:.72rem;color:var(--text-dim);font-weight:600;flex-shrink:0}.rail-section{margin-bottom:2.25rem}.rail{display:flex;gap:.85rem;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:.4rem;scrollbar-width:none}.rail::-webkit-scrollbar{display:none}.rail-card{flex:0 0 168px;scroll-snap-align:start;text-align:left;display:flex;flex-direction:column;gap:.3rem}.rail-card-img{position:relative;aspect-ratio:1;overflow:hidden;border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--border);transition:transform .2s ease,box-shadow .2s ease}.rail-card:hover .rail-card-img{transform:translateY(-3px);box-shadow:var(--shadow-soft)}.rail-card-img img{width:100%;height:100%;object-fit:cover;display:block}.rail-card-emoji{width:100%;height:100%;display:grid;place-items:center;font-size:2.5rem;opacity:.6;background:radial-gradient(circle at 50% 42%,color-mix(in srgb,var(--brand) 10%,transparent),transparent 68%)}.rail-card-price{position:absolute;bottom:.5rem;left:.5rem;background:var(--surface);border:1px solid var(--border);color:var(--text);font-size:.76rem;font-weight:700;padding:.18rem .5rem;border-radius:var(--radius-sm);box-shadow:var(--shadow-soft)}.rail-card-price em{font-style:normal;font-weight:500;color:var(--text-dim)}.rail-card-name{font-size:.85rem;font-weight:600;color:var(--text);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.rail-card-cat{font-size:.7rem;color:var(--text-dim)}.category-section{margin-bottom:2.5rem;scroll-margin-top:9rem}.menu-grid{display:grid;gap:1.15rem;grid-template-columns:repeat(auto-fill,minmax(248px,1fr))}.menu-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;cursor:pointer}.menu-card:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--brand) 45%,var(--border));box-shadow:var(--shadow)}.menu-card.in-cart{border-color:var(--brand)}.menu-card.sold-out{opacity:.6;cursor:default}.menu-card.sold-out:hover{transform:none;box-shadow:none;border-color:var(--border)}.menu-card.sold-out .menu-card-image{filter:grayscale(1)}.menu-card-img-wrap{position:relative;aspect-ratio:4 / 3;background:var(--surface-2);overflow:hidden}.menu-card-image{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}.menu-card:hover .menu-card-image{transform:scale(1.05)}.menu-card-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:2.9rem;opacity:.6;background:radial-gradient(circle at 50% 42%,color-mix(in srgb,var(--brand) 10%,transparent),transparent 68%)}.menu-card-wash{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.28) 0%,transparent 34%,transparent 62%,rgba(0,0,0,.32) 100%)}.menu-card-flags{position:absolute;top:.6rem;left:.6rem;display:flex;align-items:center;gap:.4rem}.veg-dot{width:15px;height:15px;border-radius:3px;display:inline-block;border:2px solid var(--green);position:relative;background:var(--surface);flex-shrink:0}.veg-dot:after{content:"";position:absolute;top:2px;right:2px;bottom:2px;left:2px;border-radius:50%;background:var(--green)}.veg-dot.nonveg{border-color:var(--red)}.veg-dot.nonveg:after{background:var(--red)}.flag-badge{font-size:.65rem;font-weight:700;padding:.16rem .45rem;background:var(--accent);color:var(--on-accent);border-radius:var(--radius-sm)}.menu-card-time{position:absolute;top:.6rem;right:.6rem;font-size:.66rem;font-weight:600;color:#fff;background:#00000073;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:.16rem .45rem;border-radius:var(--radius-sm)}.sold-out-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#00000073}.sold-out-overlay span{font-weight:700;font-size:.78rem;letter-spacing:1.5px;text-transform:uppercase;color:#fff;border:1px solid rgba(255,255,255,.55);padding:.3rem .8rem;border-radius:var(--radius-sm)}.card-tap-hint{position:absolute;bottom:.55rem;right:.55rem;font-size:.62rem;color:#ffffffe6;background:#00000080;padding:.15rem .4rem;border-radius:4px;opacity:0;transition:opacity .18s}.menu-card:hover .card-tap-hint{opacity:1}.menu-card-body{padding:.9rem;display:flex;flex-direction:column;gap:.5rem;flex:1}.menu-card-name{font-size:.98rem;font-weight:600;line-height:1.3;color:var(--text)}.menu-card-desc{font-size:.78rem;color:var(--text-muted);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.menu-card-meta{display:flex;gap:.35rem;flex-wrap:wrap}.meta-pill{font-size:.65rem;color:var(--text-dim);background:var(--surface-2);border:1px solid var(--border);padding:.12rem .4rem;border-radius:5px}.meta-pill.spice{color:color-mix(in srgb,var(--amber) 80%,var(--text))}.variant-selector{display:flex;gap:.4rem}.variant-btn{flex:1;padding:.4rem .3rem;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border);display:flex;flex-direction:column;align-items:center;gap:.1rem;transition:all .15s}.variant-btn:hover{border-color:var(--border-strong)}.variant-btn.active{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 13%,transparent)}.variant-label{font-size:.72rem;font-weight:600}.variant-price{font-size:.68rem;color:var(--text-muted)}.variant-btn.active .variant-price{color:var(--brand-ink)}.menu-card-footer{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:auto;padding-top:.4rem}.menu-card-price{font-family:var(--font-head);font-size:1.05rem;font-weight:700;letter-spacing:var(--head-spacing);color:var(--text)}.menu-card-price em{font-style:normal;font-size:.8em;color:var(--text-muted);margin-right:1px}.unavailable-tag{font-size:.72rem;color:var(--text-dim)}.btn-add-to-cart{background:var(--brand);color:var(--on-brand);padding:.44rem .95rem;border-radius:var(--radius-sm);font-size:.82rem;font-weight:600;transition:filter .15s,box-shadow .15s}.btn-add-to-cart:hover{filter:brightness(1.1);box-shadow:0 4px 14px color-mix(in srgb,var(--brand) 38%,transparent)}.card-qty-control,.cart-item-qty,.sheet-qty-control{display:flex;align-items:center;gap:.1rem;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);overflow:hidden}.card-qty-btn,.qty-btn,.sheet-qty-btn{width:28px;height:28px;font-size:1rem;font-weight:600;color:var(--brand-ink);display:flex;align-items:center;justify-content:center;transition:background-color .12s}.card-qty-btn:hover,.qty-btn:hover,.sheet-qty-btn:hover{background:var(--surface-3)}.card-qty-value,.qty-value,.sheet-qty-value{min-width:26px;text-align:center;font-size:.85rem;font-weight:700}.empty-menu{text-align:center;padding:4rem 1rem;color:var(--text-muted);display:flex;flex-direction:column;align-items:center;gap:.75rem}.empty-icon{font-size:2.5rem;opacity:.5}.btn-text{color:var(--brand-ink);font-size:.85rem;font-weight:600;text-decoration:underline}.menu-footer{text-align:center;padding:3rem 1rem 1rem;margin-top:2.5rem;border-top:1px solid var(--border);color:var(--text-dim);font-size:.78rem;line-height:1.8}.footer-mark{width:46px;height:46px;margin:0 auto .85rem;border-radius:var(--radius-sm);overflow:hidden;display:grid;place-items:center;font-size:1.4rem;background:linear-gradient(135deg,var(--brand),var(--accent))}.footer-mark img{width:100%;height:100%;object-fit:cover}.menu-footer h2{font-size:1.05rem;color:var(--text);text-transform:var(--head-case);margin-bottom:.35rem}.menu-footer a{color:inherit;text-decoration:none}.menu-footer a:hover{color:var(--text-muted)}.menu-footer-hours{margin-top:.4rem}.floating-cart{position:fixed;bottom:1rem;left:1rem;right:1rem;z-index:90;max-width:480px;margin:0 auto;background:var(--brand);color:var(--on-brand);border-radius:var(--radius);padding:.85rem 1rem;display:flex;align-items:center;gap:.75rem;font-size:.92rem;font-weight:600;box-shadow:0 12px 34px color-mix(in srgb,var(--brand) 42%,transparent),var(--shadow);animation:slide-up .25s ease-out}.floating-cart-count{background:color-mix(in srgb,var(--on-brand) 24%,transparent);border-radius:6px;padding:.1rem .5rem;font-size:.82rem}.floating-cart-total{margin-left:auto}@keyframes slide-up{0%{transform:translateY(140%)}to{transform:translateY(0)}}.sheet-overlay,.cart-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:200;opacity:0;transition:opacity .24s;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.sheet-overlay.visible,.cart-overlay{opacity:1}.item-sheet{position:fixed;bottom:0;left:0;right:0;z-index:210;max-width:520px;margin:0 auto;background:var(--surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:92vh;display:flex;flex-direction:column;transform:translateY(100%);transition:transform .26s cubic-bezier(.32,.72,0,1);box-shadow:var(--shadow)}.item-sheet.visible{transform:translateY(0)}.sheet-image-wrap{position:relative;aspect-ratio:16 / 9;background:var(--surface-2);border-radius:var(--radius-lg) var(--radius-lg) 0 0;overflow:hidden;flex-shrink:0}.sheet-image{width:100%;height:100%;object-fit:cover}.sheet-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:4rem;opacity:.3}.sheet-handle{position:absolute;top:.6rem;left:50%;transform:translate(-50%);width:38px;height:4px;border-radius:2px;background:#ffffff73}.sheet-close-btn,.btn-close{width:32px;height:32px;border-radius:50%;background:#00000080;color:#fff;font-size:.85rem;display:flex;align-items:center;justify-content:center}.sheet-close-btn{position:absolute;top:.65rem;right:.65rem}.btn-close{background:var(--surface-3);color:var(--text-muted)}.btn-close:hover{background:var(--border-strong);color:var(--text)}.sheet-content{padding:1.25rem;overflow-y:auto;flex:1}.sheet-name-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.sheet-name-row>div{display:flex;align-items:center;gap:.5rem}.sheet-name{font-size:1.3rem;font-weight:700;color:var(--text)}.sheet-price{font-family:var(--font-head);font-size:1.3rem;font-weight:700;color:var(--brand-ink);white-space:nowrap}.sheet-badges{display:flex;gap:.4rem;flex-wrap:wrap;margin:.75rem 0}.sheet-category-badge{font-size:.72rem;padding:.25rem .6rem;border-radius:20px;background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted)}.sheet-category-badge.spice{color:color-mix(in srgb,var(--amber) 80%,var(--text))}.sheet-desc{font-size:.88rem;color:var(--text-muted);line-height:1.6}.sheet-variants{margin-top:1.25rem}.sheet-variants-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim);font-weight:600;margin-bottom:.6rem}.sheet-variants-row{display:flex;gap:.6rem}.sheet-variant-btn{flex:1;padding:.7rem;border-radius:var(--radius-sm);background:var(--surface-2);border:1.5px solid var(--border);display:flex;flex-direction:column;gap:.2rem;transition:all .15s}.sheet-variant-btn.active{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 13%,transparent)}.sv-label{font-size:.85rem;font-weight:600}.sv-price{font-size:.8rem;color:var(--text-muted)}.sheet-variant-btn.active .sv-price{color:var(--brand-ink)}.sheet-action-bar{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem calc(1rem + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--surface-2);flex-shrink:0}.sheet-qty-btn{width:36px;height:36px;font-size:1.15rem}.sheet-qty-value{min-width:32px;font-size:.95rem}.sheet-add-btn{flex:1;background:var(--brand);color:var(--on-brand);padding:.8rem 1rem;border-radius:var(--radius-sm);font-size:.92rem;font-weight:600}.sheet-add-btn:hover{filter:brightness(1.1)}.cart-sidebar{position:fixed;top:0;right:0;bottom:0;z-index:210;width:min(420px,100%);background:var(--surface);border-left:1px solid var(--border);display:flex;flex-direction:column;animation:slide-in .24s cubic-bezier(.32,.72,0,1)}@keyframes slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.cart-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border);flex-shrink:0}.cart-header h2{font-size:1.05rem;text-transform:var(--head-case);color:var(--text)}.cart-items{flex:1;overflow-y:auto;padding:.75rem 1rem}.cart-empty{text-align:center;padding:4rem 1rem;color:var(--text-muted);display:flex;flex-direction:column;align-items:center;gap:.5rem}.cart-empty-hint{font-size:.8rem;color:var(--text-dim)}.cart-item{display:flex;gap:.75rem;padding:.85rem 0;border-bottom:1px solid var(--border)}.cart-item-icon{width:42px;height:42px;flex-shrink:0;border-radius:var(--radius-sm);background:var(--surface-2);display:flex;align-items:center;justify-content:center;font-size:1.2rem}.cart-item-info{flex:1;min-width:0}.cart-item-name{font-size:.88rem;font-weight:600}.cart-item-meta{font-size:.72rem;color:var(--text-dim);display:flex;align-items:center;gap:.4rem;margin-top:.15rem}.cart-variant-tag{background:var(--surface-3);padding:.05rem .35rem;border-radius:4px;color:var(--text-muted)}.cart-item-price{font-size:.88rem;font-weight:700;margin-top:.3rem}.cart-item-actions{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem}.cart-remove{font-size:.68rem;color:var(--text-dim);text-decoration:underline}.cart-remove:hover{color:var(--red)}.cart-footer{padding:1rem 1.25rem calc(1rem + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--surface-2);flex-shrink:0}.bill-rows{margin-bottom:.6rem}.bill-row{display:flex;justify-content:space-between;align-items:center;font-size:.82rem;padding:.22rem 0;color:var(--text-muted)}.bill-row.muted{color:var(--text-dim);font-size:.78rem}.bill-row.discount{color:color-mix(in srgb,var(--green) 82%,var(--text))}.bill-row.discount em{font-style:normal;opacity:.8}.bill-row.total{font-size:1rem;font-weight:700;color:var(--text);border-top:1px solid var(--border);margin-top:.5rem;padding-top:.6rem}.cart-warning{font-size:.75rem;color:color-mix(in srgb,var(--amber) 80%,var(--text));margin-bottom:.5rem}.cart-total{display:flex;justify-content:space-between;align-items:baseline;padding:.6rem 0;border-top:1px solid var(--border);margin-bottom:.75rem}.cart-total-label{font-size:.8rem;color:var(--text-muted)}.cart-total-value{font-family:var(--font-head);font-size:1.4rem;font-weight:700}.btn-place-order,.btn-confirm-order,.btn-continue{width:100%;background:var(--brand);color:var(--on-brand);padding:.85rem;border-radius:var(--radius-sm);font-size:.95rem;font-weight:600;transition:filter .15s}.btn-place-order:hover,.btn-confirm-order:hover,.btn-continue:hover{filter:brightness(1.1)}.btn-confirm-order:disabled{background:var(--surface-3);color:var(--text-dim);filter:none}.cart-closed-note{text-align:center;font-size:.82rem;padding:.85rem;border-radius:var(--radius-sm);color:color-mix(in srgb,var(--red) 82%,var(--text));background:color-mix(in srgb,var(--red) 11%,transparent)}.cart-pay-note{text-align:center;font-size:.72rem;color:var(--text-dim);margin-top:.6rem}.checkout-sheet{position:fixed;bottom:0;left:0;right:0;z-index:220;max-width:520px;margin:0 auto;background:var(--surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:94vh;display:flex;flex-direction:column;animation:sheet-up .26s cubic-bezier(.32,.72,0,1);box-shadow:var(--shadow)}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.checkout-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1.25rem 1.25rem .85rem;border-bottom:1px solid var(--border);flex-shrink:0}.checkout-header h2{font-size:1.15rem;text-transform:var(--head-case);color:var(--text)}.checkout-header p{font-size:.8rem;color:var(--text-muted);margin-top:.15rem}.checkout-form{padding:1.25rem 1.25rem calc(1.25rem + env(safe-area-inset-bottom));overflow-y:auto}.form-group{margin-bottom:1rem;display:flex;flex-direction:column;gap:.35rem}.form-group label{font-size:.78rem;font-weight:600;color:var(--text-muted);display:flex;align-items:center;gap:.35rem}.req{color:var(--brand-ink)}.optional{font-weight:400;color:var(--text-dim);font-size:.7rem}.form-group input,.form-group select,.form-group textarea,.coupon-row input{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.7rem .85rem;color:var(--text);outline:none;font-size:.9rem;transition:border-color .15s,box-shadow .15s;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus,.coupon-row input:focus{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 16%,transparent)}.form-group textarea{resize:vertical;min-height:60px}.field-hint{font-size:.7rem;color:var(--text-dim)}.field-error{font-size:.72rem;color:color-mix(in srgb,var(--red) 82%,var(--text))}.table-locked{display:flex;align-items:center;gap:.65rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.7rem .85rem;font-size:.8rem;color:var(--text-muted)}.table-locked-badge{background:var(--brand);color:var(--on-brand);font-weight:700;padding:.2rem .6rem;border-radius:6px;font-size:.85rem}.coupon-row{display:flex;gap:.5rem;margin-bottom:.5rem}.btn-coupon{background:var(--surface-3);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:0 1rem;font-size:.82rem;font-weight:600;white-space:nowrap}.btn-coupon:hover{background:var(--border-strong)}.coupon-applied{font-size:.75rem;color:color-mix(in srgb,var(--green) 82%,var(--text));margin-bottom:.75rem}.checkout-bill{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.85rem 1rem;margin:1rem 0}.checkout-error{font-size:.8rem;color:color-mix(in srgb,var(--red) 82%,var(--text));margin-bottom:.75rem;background:color-mix(in srgb,var(--red) 11%,transparent);padding:.6rem .8rem;border-radius:8px}.checkout-footnote{text-align:center;font-size:.72rem;color:var(--text-dim);margin-top:.65rem}.tracker-screen{min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:1.5rem 1rem 3rem}.tracker-card{width:100%;max-width:480px}.tracker-hero{text-align:center;padding:2rem 1.25rem 1.75rem;background:linear-gradient(160deg,color-mix(in srgb,var(--brand) 22%,var(--surface)),var(--surface));border:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0}.tracker-hero.cancelled{background:linear-gradient(160deg,color-mix(in srgb,var(--red) 20%,var(--surface)),var(--surface))}.tracker-hero-icon{font-size:3rem;display:block;margin-bottom:.5rem}.tracker-hero h1{font-size:1.4rem;text-transform:var(--head-case);color:var(--text)}.tracker-order-id{font-size:.85rem;color:var(--text-muted);margin-top:.4rem}.tracker-eta{font-size:.85rem;color:color-mix(in srgb,var(--accent) 78%,var(--text));margin-top:.65rem;font-weight:600}.tracker-cancel-reason{font-size:.82rem;color:var(--text-muted);margin-top:.5rem;font-style:italic}.tracker-steps{list-style:none;padding:1.25rem;background:var(--surface);border:1px solid var(--border);border-top:none}.tracker-step{display:flex;gap:.85rem;position:relative;padding-bottom:1.1rem}.tracker-step:last-child{padding-bottom:0}.tracker-step:not(:last-child):before{content:"";position:absolute;left:15px;top:32px;bottom:4px;width:2px;background:var(--border)}.tracker-step.done:not(:last-child):before{background:var(--green)}.tracker-step-dot{width:32px;height:32px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:.85rem;background:var(--surface-3);border:2px solid var(--border);z-index:1}.tracker-step.done .tracker-step-dot{background:var(--green);border-color:var(--green);color:var(--on-green);font-weight:700}.tracker-step.active .tracker-step-dot{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 25%,var(--surface));animation:pulse 1.8s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--brand) 45%,transparent)}50%{box-shadow:0 0 0 8px transparent}}.tracker-step-body{padding-top:.35rem}.tracker-step-label{font-size:.88rem;font-weight:600;color:var(--text-dim);display:block}.tracker-step.done .tracker-step-label,.tracker-step.active .tracker-step-label{color:var(--text)}.tracker-step-time{font-size:.72rem;color:var(--text-dim)}.tracker-items,.tracker-bill{background:var(--surface);border:1px solid var(--border);border-top:none;padding:1.1rem 1.25rem}.tracker-items h3{font-size:.72rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim);margin-bottom:.75rem}.tracker-item{display:flex;gap:.6rem;align-items:baseline;font-size:.85rem;padding:.3rem 0}.tracker-item-qty{color:var(--brand-ink);font-weight:700;min-width:24px}.tracker-item-name{flex:1}.tracker-item-name em{font-style:normal;color:var(--text-dim);font-size:.78rem}.tracker-item-price{font-weight:600}.tracker-note{font-size:.78rem;color:var(--text-muted);margin-top:.75rem;padding:.5rem .7rem;background:var(--surface-2);border-radius:8px}.tracker-bill{border-radius:0 0 var(--radius) var(--radius)}.tracker-live-hint{display:flex;align-items:center;justify-content:center;gap:.45rem;font-size:.75rem;color:var(--text-dim);margin:1rem 0}.live-dot{width:7px;height:7px;border-radius:50%;background:var(--green);animation:blink 1.6s ease-in-out infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.25}}.tracker-card .btn-continue{margin-top:.5rem}.toast{position:fixed;bottom:5.5rem;left:50%;transform:translate(-50%);z-index:300;padding:.65rem 1.1rem;border-radius:24px;font-size:.82rem;font-weight:500;white-space:nowrap;background:var(--surface-3);border:1px solid var(--border-strong);box-shadow:var(--shadow);animation:toast-in .22s ease-out;max-width:calc(100vw - 2rem);overflow:hidden;text-overflow:ellipsis}.toast.ok{border-color:color-mix(in srgb,var(--green) 45%,transparent)}.toast.warn{border-color:color-mix(in srgb,var(--amber) 45%,transparent);color:color-mix(in srgb,var(--amber) 80%,var(--text))}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}.orders-screen{min-height:100vh;max-width:560px;margin:0 auto;padding:1rem 1rem 3rem}.orders-head{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem}.orders-back{width:36px;height:36px;border-radius:50%;flex-shrink:0;background:var(--surface-2);border:1px solid var(--border);display:grid;place-items:center;font-size:1rem}.orders-back:hover{background:var(--surface-3)}.orders-head h1{font-size:1.25rem;text-transform:var(--head-case);color:var(--text)}.orders-head p{font-size:.8rem;color:var(--text-muted)}.orders-empty{display:flex;flex-direction:column;align-items:center;gap:.85rem;padding:4rem 1rem;text-align:center;color:var(--text-muted)}.orders-empty .btn-continue{max-width:240px}.orders-list{display:flex;flex-direction:column;gap:.75rem}.orders-group{font-size:.7rem;text-transform:uppercase;letter-spacing:.7px;color:var(--text-dim);margin-top:.75rem}.orders-group-row{display:flex;align-items:center;justify-content:space-between}.orders-clear{font-size:.72rem;color:var(--text-dim);text-decoration:underline;margin-top:.75rem}.orders-clear:hover{color:var(--text-muted)}.order-row{display:flex;flex-direction:column;gap:.45rem;width:100%;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.85rem 1rem;transition:border-color .15s,transform .15s}.order-row:hover{border-color:var(--border-strong);transform:translateY(-1px)}.order-row.live{border-left:3px solid var(--brand)}.order-row.done{opacity:.75}.order-row-top{display:flex;align-items:center;gap:.6rem}.order-row-num{font-size:.85rem;font-weight:700;font-family:ui-monospace,monospace}.order-row-status{font-size:.7rem;font-weight:600;padding:.12rem .5rem;border-radius:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.order-row-total{margin-left:auto;font-size:.92rem;font-weight:700;white-space:nowrap}.order-row-items{font-size:.78rem;color:var(--text-muted);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.order-row-foot{display:flex;align-items:center;justify-content:space-between;gap:.75rem;font-size:.71rem;color:var(--text-dim)}.order-row-eta{color:color-mix(in srgb,var(--accent) 78%,var(--text));font-weight:600;white-space:nowrap}.order-row-status{background:color-mix(in srgb,var(--hue) 18%,transparent);color:color-mix(in srgb,var(--hue) 72%,var(--text))}.status-placed{--hue: #3987e5}.status-accepted{--hue: #7b61e8}.status-preparing{--hue: var(--amber)}.status-ready{--hue: var(--green)}.status-completed{--hue: var(--text-muted)}.status-cancelled{--hue: var(--red)}.tracker-back{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;font-weight:600;color:var(--text-muted);padding:.5rem .1rem .85rem}.tracker-back:hover{color:var(--text)}@media (max-width: 640px){.menu-grid{grid-template-columns:repeat(auto-fill,minmax(158px,1fr));gap:.8rem}.menu-card-body{padding:.7rem;gap:.4rem}.menu-card-name{font-size:.86rem}.menu-card-desc{font-size:.72rem}.menu-card-price{font-size:.95rem}.btn-cart-text,.btn-orders-text{display:none}.cart-sidebar{width:100%}.main-content{padding:1.15rem .8rem 2rem}.rail-card{flex-basis:142px}.hero.has-photos{min-height:clamp(340px,78vw,460px)}}@media (max-width: 400px){.table-chip{display:none}}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--brand: #e8552d;--accent: #f5b301;--on-brand: #ffffff;--on-accent: #17130f;--bg: #0c0c10;--bg-tint: #131319;--surface: #17171c;--surface-2: #1e1e25;--surface-3: #26262e;--border: #2a2a33;--border-strong: #3a3a45;--text: #ecedf1;--text-muted: #9b9daa;--text-dim: #6a6c79;--green: #3ecf8e;--red: #f2555a;--amber: #f5b301;--on-green: #08281a;--brand-ink: color-mix(in srgb, var(--brand) 78%, var(--text));--accent-ink: color-mix(in srgb, var(--accent) 78%, var(--text));--radius: 14px;--radius-sm: 10px;--radius-lg: 22px;--shadow: 0 18px 44px rgba(0, 0, 0, .5);--shadow-soft: 0 6px 18px rgba(0, 0, 0, .32);--font-body: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-head: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--head-weight: 700;--head-spacing: -.018em;--head-case: none;--hero-scrim: linear-gradient(180deg, rgba(8,8,11,.2) 0%, rgba(8,8,11,.34) 52%, rgba(12,12,16,.9) 76%, rgba(12,12,16,.995) 100%);--glass: rgba(15, 15, 19, .86);--photo-tint: rgba(10, 10, 14, .74);font-family:var(--font-body);line-height:1.5;color:var(--text);background-color:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}body{min-height:100vh;background-color:var(--bg)}#root{min-height:100vh}h1,h2,h3,h4{font-family:var(--font-head);font-weight:var(--head-weight);letter-spacing:var(--head-spacing);line-height:1.2}button{cursor:pointer;font-family:inherit;color:inherit;border:none;background:none}button:disabled{cursor:not-allowed}input,select,textarea{font-family:inherit;font-size:1rem}a{color:var(--brand)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--surface)}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
