@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Lora:wght@400;600;700&family=Montserrat:wght@400;600;700&family=Playfair+Display:wght@400;600;700&family=Poppins:wght@400;600;700&display=swap";*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0e0e13;--surface:#17171d;--surface-2:#1b1b22;--text:#f4f4f6;--muted:#8b8b93;--border:#ffffff12;--accent:#e7b96b;--accent-ink:#1a140a;--brand:var(--accent);--menu-bg:var(--bg);--menu-text:var(--text);--menu-font:Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--dur-1:.18s;--dur-2:.4s;--dur-3:.7s;--ease:cubic-bezier(.4, .12, .2, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--content-max:100%;--gut:16px}html{-webkit-text-size-adjust:100%}body{font-family:var(--menu-font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}::selection{background:var(--accent);color:var(--accent-ink)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cat-tile:focus-visible,.card:focus-visible,.cartbar:focus-visible,.addbtn:focus-visible,.promoapply:focus-visible{outline-offset:3px}.fld input:focus-visible,.fld textarea:focus-visible,.fld select:focus-visible,.promorow input:focus-visible{outline:none}h1,h2,h3{letter-spacing:-.02em;font-weight:700;line-height:1.2}.section{letter-spacing:-.01em}.header{z-index:10;-webkit-backdrop-filter:saturate(140%)blur(14px);border-bottom:1px solid var(--border);padding:calc(12px + env(safe-area-inset-top,0px)) var(--gut) 12px;background:#0e0e13d1;position:sticky;top:0}.header-row{width:100%;max-width:var(--content-max);align-items:center;gap:10px;margin-inline:auto;display:flex}.logo{object-fit:contain;object-position:center;mix-blend-mode:screen;background:0 0;border:0;border-radius:0;flex:none;width:clamp(58px,18vw,92px);height:46px}.header-titles{min-width:0}.header-org{letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.header-titles .muted{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.header-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.hicon{border:1px solid var(--border);background:var(--surface);width:44px;height:44px;color:var(--text);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background var(--dur-1) var(--ease), color var(--dur-1) var(--ease), border-color var(--dur-1) var(--ease), transform var(--dur-1) var(--ease);border-radius:12px;flex:none;place-items:center;display:grid;position:relative}.hicon:hover{background:var(--surface-2);border-color:#ffffff29}.hicon:active{transform:scale(.94)}.hicon.is-open{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.hicon-game{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 55%, var(--border))}.hicon-game:hover{border-color:var(--accent);background:var(--surface-2)}.hicon-pulse{pointer-events:none;border:1px solid var(--accent);animation:hpulse 2.2s var(--ease) infinite;border-radius:12px;position:absolute;inset:-1px}@keyframes hpulse{0%{opacity:.55;transform:scale(1)}70%{opacity:0;transform:scale(1.28)}to{opacity:0;transform:scale(1.28)}}.lang-wrap{position:relative}.lang-pop{z-index:30;background:var(--surface);border:1px solid var(--border);transform-origin:100% 0;min-width:132px;animation:popIn var(--dur-1) var(--ease-out) both;border-radius:14px;padding:6px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 12px 30px #00000080}@keyframes popIn{0%{opacity:0;transform:translateY(-6px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.lang-opt{width:100%;color:var(--text);cursor:pointer;transition:background var(--dur-1) var(--ease), color var(--dur-1) var(--ease);background:0 0;border:none;border-radius:9px;align-items:center;gap:8px;padding:9px 10px;font-size:14px;font-weight:600;display:flex}.lang-opt:hover{background:var(--surface-2)}.lang-opt.on{color:var(--accent)}.lang-check{color:var(--accent);margin-left:auto;font-weight:700}.game-hint{z-index:30;background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:999px;padding:5px 12px;font-size:12px;font-weight:600;position:absolute;top:calc(100% + 6px);right:16px;box-shadow:0 8px 22px #00000073}.banner-wrap{padding:0 var(--gut) 12px;width:100%;max-width:var(--content-max);margin-inline:auto}.cat-nav-stack{top:calc(68px + env(safe-area-inset-top,0px));z-index:9;-webkit-backdrop-filter:saturate(140%)blur(14px);border-bottom:1px solid var(--border);transition:background var(--dur-1) var(--ease), box-shadow var(--dur-1) var(--ease);background:#0e0e13d1;position:sticky;overflow:hidden}.cat-nav-stack.is-compact{background:#0e0e13f0;box-shadow:0 10px 22px #0000003d}.cats{padding:12px var(--cats-gut,var(--gut));scrollbar-width:none;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;opacity:1;transition:padding var(--dur-2) var(--ease-out), gap var(--dur-2) var(--ease-out);gap:10px;display:flex;overflow-x:auto;transform:translateY(0)}.cats::-webkit-scrollbar{display:none}.cat-nav-stack.is-compact .cats{gap:8px;padding-top:8px;padding-bottom:8px}.cat-tile{scroll-snap-align:start;aspect-ratio:3/4;border:1px solid var(--border);background:var(--surface-2);cursor:pointer;-webkit-tap-highlight-color:transparent;width:100px;transition:transform var(--dur-1) var(--ease), border-color var(--dur-1) var(--ease), box-shadow var(--dur-1) var(--ease), filter var(--dur-1) var(--ease), width var(--dur-2) var(--ease-out), min-height var(--dur-2) var(--ease-out), padding var(--dur-2) var(--ease-out), border-radius var(--dur-2) var(--ease-out), background var(--dur-1) var(--ease);border-radius:16px;flex:none;padding:0;position:relative;overflow:hidden}.cat-tile:hover{border-color:#ffffff29;transform:translateY(-2px);box-shadow:0 8px 22px #00000073}.cat-tile:active{transform:translateY(0)scale(.97)}.cat-nav-stack.is-compact .cat-tile{aspect-ratio:auto;width:auto;max-width:min(52vw,220px);min-height:34px;box-shadow:none;background:#ffffff0e;border-radius:999px;padding:7px 12px}.cat-nav-stack.is-compact .cat-tile:hover{box-shadow:none;transform:none}.cat-tile-img{object-fit:cover;width:100%;height:100%;transition:transform var(--dur-2) var(--ease), opacity var(--dur-1) var(--ease);display:block;position:absolute;inset:0}.cat-tile:hover .cat-tile-img{transform:scale(1.05)}.cat-nav-stack.is-compact .cat-tile-img{opacity:0;transform:translateY(-10px)scale(.98)}.cat-tile-ph{color:var(--accent);background:radial-gradient(circle at 50% 35%, var(--surface-2), var(--surface));text-transform:uppercase;transition:opacity var(--dur-1) var(--ease), transform var(--dur-2) var(--ease);place-items:center;font-size:34px;font-weight:800;line-height:1;display:grid;position:absolute;inset:0}.cat-nav-stack.is-compact .cat-tile-ph{opacity:0;transform:translateY(-10px)scale(.98)}.cat-tile-scrim{pointer-events:none;transition:opacity var(--dur-1) var(--ease);background:linear-gradient(#0000 36%,#00000047 62%,#000000bd 100%),linear-gradient(#00000038 0%,#0000 30%);position:absolute;inset:0}.cat-nav-stack.is-compact .cat-tile-scrim{opacity:0}.cat-tile-name{z-index:1;color:#fff;letter-spacing:-.01em;text-align:left;text-shadow:0 1px 4px #0000008c;-webkit-line-clamp:2;transition:color var(--dur-1) var(--ease), text-shadow var(--dur-1) var(--ease), font-size var(--dur-2) var(--ease-out), transform var(--dur-2) var(--ease-out);-webkit-box-orient:vertical;font-size:12px;font-weight:600;line-height:1.2;display:-webkit-box;position:absolute;bottom:8px;left:8px;right:8px;overflow:hidden}.cat-nav-stack.is-compact .cat-tile-name{max-width:min(46vw,190px);color:var(--text);white-space:nowrap;text-overflow:ellipsis;text-align:center;text-shadow:none;font-size:13px;font-weight:700;line-height:1;display:block;position:relative;bottom:auto;left:auto;right:auto}.cat-tile.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent), 0 8px 22px #00000080}.cat-tile.on .cat-tile-img{filter:brightness(1.08)saturate(1.05)}.cat-tile.on .cat-tile-ph{filter:brightness(1.12)}.cat-tile.on .cat-tile-name{color:#fff}.cat-nav-stack.is-compact .cat-tile.on{background:var(--accent);border-color:var(--accent);box-shadow:none}.cat-nav-stack.is-compact .cat-tile.on .cat-tile-name{color:var(--accent-ink)}@keyframes catIn{0%{opacity:0;transform:translateY(10px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.anim-cat-in{animation:catIn var(--dur-2) var(--ease-out) both}section[id^=cat-]{scroll-margin-top:calc(228px + env(safe-area-inset-top,0px))}.section{padding:8px var(--gut) 4px;color:var(--text);width:100%;max-width:var(--content-max);margin-inline:auto;font-size:18px;font-weight:700}.grid{grid-template-columns:repeat(auto-fill, minmax(var(--card-min,160px), 1fr));padding:8px var(--gut) 24px;width:100%;max-width:var(--content-max);gap:12px;margin-inline:auto;display:grid}.card{background:var(--surface);cursor:pointer;border:1px solid var(--border);-webkit-tap-highlight-color:transparent;transition:transform var(--dur-1) var(--ease), border-color var(--dur-1) var(--ease), box-shadow var(--dur-1) var(--ease);border-radius:16px;position:relative;overflow:hidden}.card:hover{border-color:color-mix(in srgb, var(--accent) 38%, var(--border));box-shadow:0 12px 28px #00000080, 0 0 0 1px color-mix(in srgb, var(--accent) 22%, transparent), 0 0 26px -6px color-mix(in srgb, var(--accent) 45%, transparent);transform:translateY(-4px)}.card:active{border-color:color-mix(in srgb, var(--accent) 50%, var(--border));box-shadow:0 6px 16px #00000073, 0 0 22px -6px color-mix(in srgb, var(--accent) 55%, transparent);transform:translateY(-1px)scale(.985)}.card-media{position:relative;overflow:hidden}.card-media img{aspect-ratio:4/3;object-fit:cover;background:var(--surface-2);width:100%;transition:transform var(--dur-2) var(--ease);display:block}.card:hover .card-media img{transform:scale(1.045)}.card-media .noimg{aspect-ratio:4/3;background:radial-gradient(circle at 50% 38%, var(--surface-2), var(--surface));place-items:center;width:100%;display:grid}.card-media .noimg span{text-transform:uppercase;color:color-mix(in srgb, var(--accent) 70%, var(--muted));opacity:.55;font-size:38px;font-weight:800;line-height:1}.sticker-tag{color:#fff;white-space:nowrap;text-overflow:ellipsis;letter-spacing:.01em;border-radius:999px;max-width:calc(100% - 16px);padding:3px 9px;font-size:11px;font-weight:600;position:absolute;top:8px;left:8px;overflow:hidden;box-shadow:0 1px 6px #0000008c,inset 0 0 0 1px #0000002e}.card-body{padding:10px 11px 12px}.price{color:var(--accent);letter-spacing:-.01em;font-weight:700}.dish-name{color:var(--text);opacity:.82;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:3px;font-size:13px;line-height:1.3;display:-webkit-box;overflow:hidden}.stock-left{letter-spacing:.01em;color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent);border:1px solid color-mix(in srgb, var(--accent) 28%, transparent);border-radius:999px;margin-top:6px;padding:3px 8px;font-size:10.5px;font-weight:600;line-height:1;display:inline-block}.card.reveal{opacity:0}.card.reveal.is-in{opacity:1;animation:cardReveal var(--dur-2) var(--ease-out) var(--rd,0s) backwards}@keyframes cardReveal{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.card.reveal{opacity:1}}.modal-bg{z-index:50;animation:fadeIn var(--dur-2) var(--ease);background:#0000009e;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.modal{background:var(--surface);color:var(--text);border:1px solid var(--border);width:100%;max-width:560px;max-height:88vh;animation:slideUp var(--dur-2) var(--ease-out);border-bottom:none;border-radius:20px 20px 0 0;overflow-y:auto}.dish-sheet{transition:transform var(--dur-2) var(--ease-out);will-change:transform;position:relative}.dish-sheet.is-dragging{transition:none}.dish-grab-zone{touch-action:none;position:relative}.sheet-grabber{z-index:3;background:#ffffff47;border-radius:999px;width:40px;height:4px;position:absolute;top:8px;left:50%;transform:translate(-50%)}.dish-hero{border-radius:20px 20px 0 0;position:relative;overflow:hidden}.dish-hero img{aspect-ratio:4/3;object-fit:cover;background:var(--surface-2);width:100%;display:block}.dish-hero-video{aspect-ratio:4/3;background:#000}.dish-hero-video iframe,.dish-hero-video video{object-fit:cover;pointer-events:none;background:#000;border:0;display:block;position:absolute;top:50%;left:50%}.dish-hero-video video{width:100%;height:100%;transform:translate(-50%,-50%)}.dish-hero-video iframe{opacity:0;width:122%;height:122%;animation:.2s 1.2s forwards dishVideoReveal;transform:translate(-50%,-50%)}@keyframes dishVideoReveal{to{opacity:1}}.dish-hero-ph{aspect-ratio:16/9;background:radial-gradient(circle at 50% 38%, var(--surface-2), var(--surface));place-items:center;display:grid}.dish-hero-ph span{text-transform:uppercase;color:color-mix(in srgb, var(--accent) 70%, var(--muted));opacity:.55;font-size:56px;font-weight:800;line-height:1}.dish-hero .sticker-tag{padding:4px 11px;font-size:12px;top:14px;left:14px}.modal-body{padding:16px}.muted{color:var(--muted);font-size:13px}.dish-title{letter-spacing:-.01em;font-size:21px;font-weight:700;line-height:1.2}.dish-price{color:var(--accent);letter-spacing:-.01em;margin:8px 0 2px;font-size:18px;font-weight:700}.dish-price .muted{font-weight:500}.dish-desc{color:var(--muted);margin-top:6px;font-size:14px;line-height:1.5}.close{z-index:3;border:1px solid var(--border);color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(8px);width:34px;height:34px;transition:background var(--dur-1) var(--ease), transform var(--dur-1) var(--ease);background:#0e0e138c;border-radius:999px;place-items:center;font-size:15px;display:grid;position:absolute;top:12px;right:12px}.close:hover{background:#000000b3}.close:active{transform:scale(.92)}.footer{text-align:center;color:var(--muted);opacity:.6;padding:16px var(--gut) calc(96px + env(safe-area-inset-bottom,0px));max-width:var(--content-max);margin-inline:auto;font-size:12px}.opt-group{margin-top:18px}.opt-group-head{align-items:center;gap:8px;margin-bottom:8px;display:flex}.opt-group-head strong{letter-spacing:-.01em;font-size:15px;font-weight:700}.req{color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent);border:1px solid color-mix(in srgb, var(--accent) 32%, transparent);letter-spacing:.01em;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}.optpick{cursor:pointer;background:var(--surface-2);border:1px solid var(--border);-webkit-tap-highlight-color:transparent;transition:background var(--dur-1) var(--ease), border-color var(--dur-1) var(--ease), box-shadow var(--dur-1) var(--ease);border-radius:12px;align-items:center;gap:11px;margin-top:7px;padding:11px 12px;font-size:14px;display:flex}.optpick:first-of-type{margin-top:0}.optpick input{accent-color:var(--accent);cursor:pointer;flex:none;width:18px;height:18px}.optpick-name{min-width:0}.optpick .delta{color:var(--muted);white-space:nowrap;margin-left:auto;font-weight:600}.optpick.on{background:color-mix(in srgb, var(--accent) 12%, var(--surface-2));border-color:color-mix(in srgb, var(--accent) 45%, var(--border));box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 30%, transparent)}.optpick.on .delta{color:var(--accent)}.rec-row{text-align:left;cursor:pointer;width:100%;color:var(--text);background:var(--surface-2);border:1px solid var(--border);-webkit-tap-highlight-color:transparent;transition:background var(--dur-1) var(--ease), border-color var(--dur-1) var(--ease), transform var(--dur-1) var(--ease);border-radius:12px;align-items:center;gap:11px;margin-top:7px;padding:8px 10px;font-size:14px;display:flex}.rec-row:first-of-type{margin-top:0}.rec-row:hover{border-color:color-mix(in srgb, var(--accent) 38%, var(--border));background:var(--surface)}.rec-row:active{transform:scale(.99)}.rec-thumb{object-fit:cover;background:var(--surface);border-radius:10px;flex:none;width:42px;height:42px}.rec-thumb-ph{text-transform:uppercase;color:color-mix(in srgb, var(--accent) 70%, var(--muted));background:radial-gradient(circle at 50% 38%, var(--surface), var(--surface-2));place-items:center;font-size:18px;font-weight:800;display:grid}.rec-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.rec-price{color:var(--accent);white-space:nowrap;margin-left:auto;font-weight:700}.qtyrow{align-items:center;gap:12px;margin-top:20px;display:flex}.qtystep{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;flex:none;align-items:center;gap:4px;padding:4px;display:flex}.qtybtn{width:38px;height:38px;color:var(--text);cursor:pointer;transition:background var(--dur-1) var(--ease), color var(--dur-1) var(--ease), transform var(--dur-1) var(--ease);background:0 0;border:none;border-radius:999px;place-items:center;font-size:20px;line-height:1;display:grid}.qtybtn:hover{background:color-mix(in srgb, var(--accent) 20%, transparent);color:var(--accent)}.qtybtn:active{transform:scale(.9)}.qtyval{text-align:center;min-width:28px;font-size:16px;font-weight:700}.addbtn{background:var(--accent);color:var(--accent-ink);cursor:pointer;letter-spacing:-.01em;box-shadow:0 8px 22px -8px color-mix(in srgb, var(--accent) 70%, transparent);transition:filter var(--dur-1) var(--ease), transform var(--dur-1) var(--ease), box-shadow var(--dur-1) var(--ease);border:none;border-radius:999px;flex:1;padding:14px 16px;font-size:15px;font-weight:700}.addbtn:hover{filter:brightness(1.06);box-shadow:0 10px 26px -8px color-mix(in srgb, var(--accent) 80%, transparent)}.addbtn:active{transform:scale(.98)}.addbtn:disabled{background:var(--surface-2);color:var(--muted);box-shadow:none;filter:none;cursor:not-allowed;transform:none}.fly-to-cart{z-index:60;pointer-events:none;background:var(--accent);border:2px solid color-mix(in srgb, var(--accent) 70%, #fff);width:52px;height:52px;box-shadow:0 8px 24px #00000080, 0 0 0 4px color-mix(in srgb, var(--accent) 28%, transparent);border-radius:999px;transition:transform .62s cubic-bezier(.5,-.2,.2,1),opacity .62s ease-in;position:fixed;overflow:hidden;transform:translate(-50%,-50%)}.fly-to-cart img{object-fit:cover;width:100%;height:100%;display:block}.cartbar{left:var(--gut);right:var(--gut);bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:40;width:auto;max-width:var(--content-max);background:var(--accent);min-height:52px;color:var(--accent-ink);cursor:pointer;letter-spacing:-.01em;box-shadow:0 10px 30px -6px #0000008c, 0 0 28px -6px color-mix(in srgb, var(--accent) 55%, transparent), 0 0 0 1px #ffffff14 inset;animation:slideUp var(--dur-2) var(--ease-out);transition:filter var(--dur-1) var(--ease), transform var(--dur-1) var(--ease), box-shadow var(--dur-1) var(--ease);border:none;border-radius:16px;margin-inline:auto;padding:14px 18px;font-size:15px;font-weight:700;position:fixed}.cartbar:hover{filter:brightness(1.06);box-shadow:0 12px 34px -6px #0009, 0 0 36px -4px color-mix(in srgb, var(--accent) 70%, transparent), 0 0 0 1px #ffffff1a inset}.cartbar:active{transform:scale(.99)}.cartbar.bump{animation:cartBump .52s var(--ease-out)}@keyframes cartBump{0%{transform:scale(1)}35%{box-shadow:0 12px 30px #00000080, 0 0 0 4px color-mix(in srgb, var(--accent) 35%, transparent);transform:scale(1.06)}to{transform:scale(1)}}.sheet-bg{z-index:50;animation:fadeIn var(--dur-2) var(--ease);background:#0000009e;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--surface);color:var(--text);border:1px solid var(--border);width:100%;max-width:560px;max-height:92vh;animation:slideUp var(--dur-2) var(--ease-out);border-bottom:none;border-radius:20px 20px 0 0;padding:16px;position:relative;overflow-y:auto}.sheet>.sheet-grabber{top:8px}.sheet-head{align-items:baseline;gap:8px;margin:8px 0 12px;display:flex}.sheet-title{letter-spacing:-.01em;font-size:20px;font-weight:700}.sheet-count{color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent);border:1px solid color-mix(in srgb, var(--accent) 28%, transparent);border-radius:999px;padding:2px 9px;font-size:12px;font-weight:600;line-height:1}.cline{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:11px 0;font-size:14px;display:flex}.cline .grow{flex:1;min-width:0}.cline .mods{color:var(--muted);margin-top:2px;font-size:12px}.cline-name{letter-spacing:-.005em;line-height:1.3}.cline-thumb{object-fit:cover;background:var(--surface-2);border:1px solid var(--border);border-radius:11px;flex:none;width:46px;height:46px}.cline-thumb-ph{text-transform:uppercase;color:color-mix(in srgb, var(--accent) 70%, var(--muted));background:radial-gradient(circle at 50% 38%, var(--surface-2), var(--surface));place-items:center;font-size:17px;font-weight:800;display:grid}.cline-sum{text-align:right;min-width:72px;color:var(--text);white-space:nowrap;letter-spacing:-.01em;font-weight:700}.cline-qty{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;flex:none;align-items:center;gap:2px;padding:3px;display:flex}.cline-qty .qtybtn{width:30px;height:30px;font-size:18px}.cline-qty .qtynum{text-align:center;min-width:22px;font-size:14px;font-weight:700}.fld{margin-top:10px}.fld input,.fld textarea,.fld select{border:1px solid var(--border);background:var(--surface-2);width:100%;color:var(--text);transition:border-color var(--dur-1) var(--ease), box-shadow var(--dur-1) var(--ease);border-radius:10px;padding:10px;font-family:inherit;font-size:14px}.fld input::placeholder,.fld textarea::placeholder{color:var(--muted)}.fld input:focus,.fld textarea:focus,.fld select:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #e7b96b2e}.typesrow{background:var(--surface-2);border:1px solid var(--border);border-radius:14px;gap:4px;margin-top:16px;padding:4px;display:flex}.typesrow button{min-height:44px;color:var(--muted);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background var(--dur-1) var(--ease), color var(--dur-1) var(--ease), border-color var(--dur-1) var(--ease), box-shadow var(--dur-1) var(--ease), transform var(--dur-1) var(--ease);background:0 0;border:1px solid #0000;border-radius:11px;flex:1;padding:8px 4px;font-size:13px;font-weight:600}.typesrow button:active{transform:scale(.97)}.typesrow button.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);box-shadow:0 6px 16px -6px color-mix(in srgb, var(--accent) 70%, transparent);font-weight:700}.payrow{flex-direction:column;gap:8px;margin-top:14px;display:flex}.payopt{cursor:pointer;min-height:44px;color:var(--text);background:var(--surface-2);border:1px solid var(--border);-webkit-tap-highlight-color:transparent;transition:background var(--dur-1) var(--ease), border-color var(--dur-1) var(--ease), box-shadow var(--dur-1) var(--ease);border-radius:12px;align-items:center;gap:11px;padding:11px 12px;font-size:14px;display:flex}.payopt input{accent-color:var(--accent);cursor:pointer;flex:none;width:18px;height:18px}.payopt.on{background:color-mix(in srgb, var(--accent) 12%, var(--surface-2));border-color:color-mix(in srgb, var(--accent) 45%, var(--border));box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 30%, transparent)}.errline{color:#fb7185;margin-top:10px;font-size:13px;line-height:1.4}.promorow{gap:8px;margin-top:12px;display:flex}.promorow input{border:1px solid var(--border);text-transform:uppercase;background:var(--surface-2);color:var(--text);transition:border-color var(--dur-1) var(--ease), box-shadow var(--dur-1) var(--ease);border-radius:10px;flex:1;padding:10px;font-family:inherit;font-size:14px}.promorow input::placeholder{color:var(--muted)}.promorow input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #e7b96b2e}.promoapply{border:1px solid var(--accent);color:var(--accent);cursor:pointer;white-space:nowrap;transition:background var(--dur-1) var(--ease), color var(--dur-1) var(--ease);background:0 0;border-radius:10px;padding:10px 14px;font-size:14px;font-weight:600}.promoapply:hover{background:var(--accent);color:var(--accent-ink)}.promoapply:disabled{opacity:.45;cursor:default;color:var(--accent);background:0 0}.promoapplied{color:#6ee7b7;background:#34d3991f;border:1px solid #34d3994d;border-radius:10px;align-items:center;gap:8px;margin-top:12px;padding:10px 12px;font-size:14px;font-weight:600;display:flex}.promoapplied .grow{flex:1}.promoremove{color:#6ee7b7;cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;font-weight:600;text-decoration:underline}.sumrow{color:var(--muted);justify-content:space-between;margin-top:8px;font-size:14px;display:flex}.sumrow.disc{color:#6ee7b7;font-weight:600}.totalrow{border-top:1px solid var(--border);color:var(--text);justify-content:space-between;align-items:baseline;margin-top:12px;padding-top:12px;font-size:16px;font-weight:700;display:flex}.totalrow span:last-child{color:var(--accent);letter-spacing:-.01em;font-size:20px}.cartpage{background:var(--bg);min-height:100dvh;animation:fadeIn var(--dur-2) var(--ease)}.cartpage-head{z-index:30;padding:calc(12px + env(safe-area-inset-top,0px)) var(--cart-head-gut,var(--gut)) 12px;background:color-mix(in srgb, var(--bg) 86%, transparent);-webkit-backdrop-filter:saturate(160%)blur(12px);border-bottom:1px solid var(--border);align-items:center;gap:10px;display:flex;position:sticky;top:0}.cartpage-back{border:1px solid var(--border);background:var(--surface-2);width:44px;height:44px;color:var(--text);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background var(--dur-1) var(--ease), border-color var(--dur-1) var(--ease), transform var(--dur-1) var(--ease);border-radius:50%;flex:none;place-items:center;display:grid}.cartpage-back:hover{background:var(--surface);border-color:color-mix(in srgb, var(--accent) 40%, var(--border))}.cartpage-back:active{transform:scale(.94)}.cartpage-title{letter-spacing:-.01em;font-size:20px;font-weight:700}.cartpage-head .sheet-count{margin-left:auto}.cartpage-body{width:100%;max-width:560px;padding:16px 16px calc(28px + env(safe-area-inset-bottom,0px));margin:0 auto}.cartpage-submit{width:100%;min-height:52px;margin-top:14px}.cart-notable{text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:16px;flex-direction:column;align-items:center;gap:6px;margin-top:18px;padding:22px 16px;display:flex}.cart-notable .state-icon{margin-bottom:4px}.cart-notable-title{color:var(--text);letter-spacing:-.01em;font-size:16px;font-weight:700}@media (width>=768px){.cartpage-body{max-width:620px;padding-top:24px}:root{--content-max:760px;--card-min:200px;--cats-gut:max(16px, calc((100vw - var(--content-max)) / 2 + 16px));--cart-head-gut:max(16px, calc((100vw - 620px) / 2 + 16px))}}@media (width>=1024px){:root{--content-max:900px;--card-min:200px}}@media (height<=480px) and (orientation:landscape) and (width<=932px){.cat-tile{border-radius:13px;width:72px}.cat-tile-name{font-size:11px}.menu-skel-cat{width:72px}section[id^=cat-]{scroll-margin-top:calc(192px + env(safe-area-inset-top,0px))}.modal{max-height:94vh}.sheet{max-height:96vh}}.about-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.about-close{margin:0;position:static}.about-hero{text-align:center;padding:18px 8px 6px}.about-logo{object-fit:contain;width:min(180px,70vw);height:92px;box-shadow:none;mix-blend-mode:screen;background:0 0;border:0;border-radius:0;margin:0 auto 12px;display:block}.about-logo-ph{width:84px;height:84px;color:var(--accent);background:radial-gradient(circle at 50% 35%, var(--surface-2), var(--surface));text-transform:uppercase;border-radius:22px;place-items:center;margin:0 auto 12px;font-size:34px;font-weight:800;display:grid}.about-name{letter-spacing:-.01em;font-size:20px;font-weight:700}.about-note{text-align:center;padding:14px 8px 4px}.about-desc{margin-top:8px;padding:0 4px;font-size:14px;line-height:1.55}.about-info{flex-direction:column;gap:10px;margin:16px 0 0;display:flex}.about-info-row{color:var(--text);align-items:flex-start;gap:10px;font-size:14px;display:flex}.about-info-icon{flex-shrink:0;font-size:17px;line-height:1.3}.about-action-link{color:var(--accent);font-weight:600;text-decoration:none}.about-action-link:hover{text-decoration:underline}.about-socials{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.about-social-btn{background:var(--surface-2);border:1px solid var(--border);color:var(--text);transition:background var(--dur-1) var(--ease), border-color var(--dur-1) var(--ease), color var(--dur-1) var(--ease);border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.about-social-btn:hover{background:var(--surface);border-color:var(--accent);color:var(--accent)}.about-social-icon{font-size:15px;line-height:1}.track{gap:6px;margin:18px 0 4px;display:flex}.track .step{background:var(--surface-2);height:6px;transition:background var(--dur-2) var(--ease), box-shadow var(--dur-2) var(--ease);border-radius:999px;flex:1}.track .step.on{background:var(--accent)}.track .step.now{box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 45%, transparent), 0 0 12px -1px color-mix(in srgb, var(--accent) 70%, transparent)}@keyframes trackPulse{0%,to{opacity:1}50%{opacity:.62}}.track .step.now{animation:trackPulse 1.8s var(--ease) infinite}.status-big{color:var(--text);letter-spacing:-.015em;margin-top:8px;font-size:24px;font-weight:700}.status-big.done{color:#86efac}.status-big.cancel{color:#fca5a5}.ord-num{color:var(--muted);letter-spacing:.01em;font-size:13px}.ordcard{background:var(--surface);border:1px solid var(--border);margin:calc(16px + env(safe-area-inset-top,0px)) auto 16px;max-width:560px;width:calc(100% - 2 * var(--gut));border-radius:18px;padding:18px;box-shadow:0 14px 34px -16px #000000b3}.ord-items{margin-top:8px}.skel,.ord-skel-line{background:linear-gradient(100deg, var(--surface-2) 30%, color-mix(in srgb, var(--surface-2) 60%, var(--border)) 50%, var(--surface-2) 70%);background-size:200% 100%;border-radius:10px;animation:1.3s linear infinite skelShimmer}@keyframes skelShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.menu-skel{animation:fadeIn var(--dur-2) var(--ease) both}.menu-skel-banner{width:calc(100% - 2 * var(--gut));max-width:calc(var(--content-max) - 2 * var(--gut));aspect-ratio:16/9;border:1px solid var(--border);border-radius:16px;margin:0 auto 12px}.menu-skel-cats{padding:12px var(--cats-gut,var(--gut));gap:10px;display:flex;overflow:hidden}.menu-skel-cat{aspect-ratio:3/4;border-radius:16px;flex:none;width:100px}.menu-skel-section{width:38%;max-width:180px;height:18px;margin:8px var(--gut) 4px;border-radius:8px}.menu-skel-grid{grid-template-columns:repeat(auto-fill, minmax(var(--card-min,160px), 1fr));padding:8px var(--gut) 24px;width:100%;max-width:var(--content-max);gap:12px;margin-inline:auto;display:grid}.menu-skel-card{border:1px solid var(--border);background:var(--surface);border-radius:16px;overflow:hidden}.menu-skel-card .ph-media{aspect-ratio:4/3;border-radius:0}.menu-skel-card .ph-body{flex-direction:column;gap:7px;padding:10px 11px 12px;display:flex}.menu-skel-card .ph-line{border-radius:6px;height:12px}.menu-skel-card .ph-line.w-40{width:40%}.menu-skel-card .ph-line.w-85{width:85%}.menu-skel-card .ph-line.w-60{width:60%}.badge-pay-pending{color:#fde047;background:#facc1524;border:1px solid #facc1559;border-radius:999px;padding:3px 10px;font-size:13px}.badge-pay-paid{color:#86efac;background:#22c55e24;border:1px solid #22c55e59;border-radius:999px;padding:3px 10px;font-size:13px}.badge-pay-failed{color:#fca5a5;background:#ef444424;border:1px solid #ef444459;border-radius:999px;padding:3px 10px;font-size:13px}.badge-pay-refunded{background:var(--surface-2);color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:3px 10px;font-size:13px}.state-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:60vh;padding:40px 24px;display:flex}.state-icon{width:56px;height:56px;color:var(--accent);background:radial-gradient(circle at 50% 35%, var(--surface-2), var(--surface));border:1px solid color-mix(in srgb, var(--accent) 28%, var(--border));border-radius:18px;place-items:center;margin-bottom:10px;display:grid;box-shadow:0 10px 28px -12px #0009}.state-title{letter-spacing:-.01em;color:var(--text);font-size:20px;font-weight:700}.state-sub{color:var(--muted);font-size:14px;line-height:1.5}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.anim-fade-in{animation:fadeIn var(--dur-2) var(--ease) both}.anim-fade-up{animation:fadeUp var(--dur-2) var(--ease-out) both}.anim-slide-up{animation:slideUp var(--dur-2) var(--ease-out) both}.anim-scale-in{animation:scaleIn var(--dur-2) var(--ease-out) both}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.guest-card{background:var(--surface);border:1px solid var(--border);transition:border-color var(--dur-1) var(--ease), box-shadow var(--dur-1) var(--ease);border-radius:18px;margin-bottom:12px;padding:14px}.guest-card--active{border-color:color-mix(in srgb, var(--accent) 45%, var(--border));box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 20%, transparent)}.guest-card-head{align-items:center;gap:8px;margin-bottom:10px;display:flex}.guest-name-input{border:none;border-bottom:1px solid var(--border);min-height:36px;color:var(--text);transition:border-color var(--dur-1) var(--ease);background:0 0;flex:1;padding:2px 4px;font-family:inherit;font-size:15px;font-weight:700}.guest-name-input:focus{border-bottom-color:var(--accent);outline:none}.guest-card-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.guest-action-btn{border:1px solid var(--border);background:var(--surface-2);cursor:pointer;width:36px;height:36px;color:var(--muted);-webkit-tap-highlight-color:transparent;transition:background var(--dur-1) var(--ease), border-color var(--dur-1) var(--ease), color var(--dur-1) var(--ease);border-radius:50%;place-items:center;display:grid}.guest-action-active:hover{border-color:var(--accent);color:var(--accent)}.guest-action-remove:hover{color:#fca5a5;border-color:#fca5a5}.guest-active-badge{width:28px;height:28px;color:var(--accent);place-items:center;display:grid}.guest-card-empty{color:var(--muted);padding:6px 4px;font-size:13px}.guest-subtotal{color:var(--muted);border-top:1px solid var(--border);justify-content:space-between;margin-top:10px;padding-top:8px;font-size:14px;font-weight:600;display:flex}.cline-assign{margin-top:4px}.guest-assign-select{background:var(--surface-2);border:1px solid var(--border);color:var(--muted);cursor:pointer;max-width:150px;transition:border-color var(--dur-1) var(--ease);border-radius:8px;padding:3px 8px;font-family:inherit;font-size:12px}.guest-assign-select:focus{border-color:var(--accent);outline:none}.cart-add-guest{border:1px dashed var(--border);width:100%;min-height:44px;color:var(--muted);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:border-color var(--dur-1) var(--ease), color var(--dur-1) var(--ease), background var(--dur-1) var(--ease);background:0 0;border-radius:14px;justify-content:center;align-items:center;gap:8px;margin-bottom:18px;font-family:inherit;font-size:14px;font-weight:600;display:flex}.cart-add-guest:hover{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb, var(--accent) 6%, transparent)}.cart-promo-disabled{color:var(--muted);background:var(--surface-2);border:1px solid var(--border);border-radius:10px;margin-top:12px;padding:8px 12px;font-size:13px}.cart-orders-done{text-align:center;flex-direction:column;align-items:center;gap:6px;padding:24px 0 20px;display:flex}.cart-orders-done .state-icon{color:#86efac;border-color:#34d39959}.guest-orders-list{flex-direction:column;gap:12px;display:flex}.guest-order-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:14px 16px}.guest-order-head{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:4px;display:flex}.guest-order-name{color:var(--text);font-size:15px;font-weight:700}.guest-order-sum{color:var(--accent);font-size:17px;font-weight:700}.guest-order-id{color:var(--muted);margin-bottom:10px;font-size:12px}.guest-order-actions{margin-top:10px}.guest-order-actions .addbtn{width:100%;min-height:44px}.cart-status-link{color:var(--accent);align-items:center;padding:6px 0;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.cart-status-link:hover{text-decoration:underline}
