:root{--bg:#fff;--surface:#fff;--surface-2:#f7f7f7;--surface-3:#ebebeb;--text:#222;--muted:#6a6a6a;--faint:#929292;--border:#ddd;--border-soft:#ebebeb;--border-strong:#b0b0b0;--ink:#222;--ink-hover:#000;--on-ink:#fff;--accent:#d9472b;--accent-2:#b8321c;--accent-soft:#fdf1ee;--accent-ink:#7a2a18;--accent-gradient:linear-gradient(90deg, #e2563a 0%, #c9361f 100%);--on-accent:#fff;--ok:#008a05;--ok-hover:#006e04;--on-ok:#fff;--ok-bg:#ebf7ec;--warn:#b35a00;--warn-bg:#fff5e6;--warn-ink:#7a3e00;--bad:#c13515;--bad-bg:#fff0ed;--info:#1b5fa8;--info-bg:#edf4fc;--info-ink:#0e3d6e;--skeleton-a:#f0f0f0;--skeleton-b:#f7f7f7;--backdrop:#00000080;--radius-sm:8px;--radius:12px;--radius-lg:16px;--radius-xl:24px;--shadow-sm:0 1px 2px #00000014;--shadow:0 6px 16px #0000001f;--shadow-lg:0 8px 28px #0000002e;--ring:0 0 0 2px var(--ink);--font:"DM Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#141414;--surface:#1c1c1c;--surface-2:#242424;--surface-3:#323232;--text:#f2f2f2;--muted:#a8a8a8;--faint:#777;--border:#3a3a3a;--border-soft:#2a2a2a;--border-strong:#5c5c5c;--ink:#f2f2f2;--ink-hover:#fff;--on-ink:#141414;--accent:#ef6a4c;--accent-2:#f5836a;--accent-soft:#33201b;--accent-ink:#ffb8a6;--accent-gradient:linear-gradient(90deg, #ec5e40 0%, #d8452a 100%);--on-accent:#fff;--ok:#4cc06f;--ok-hover:#63cf83;--on-ok:#0b2413;--ok-bg:#15291b;--warn:#f0a54a;--warn-bg:#33260f;--warn-ink:#ffd199;--bad:#ff7b63;--bad-bg:#3a1a14;--info:#72b3f7;--info-bg:#14253a;--info-ink:#b3d6ff;--skeleton-a:#222;--skeleton-b:#2c2c2c;--backdrop:#000000b3;--shadow-sm:0 1px 2px #0006;--shadow:0 6px 16px #00000073;--shadow-lg:0 10px 32px #0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#141414;--surface:#1c1c1c;--surface-2:#242424;--surface-3:#323232;--text:#f2f2f2;--muted:#a8a8a8;--faint:#777;--border:#3a3a3a;--border-soft:#2a2a2a;--border-strong:#5c5c5c;--ink:#f2f2f2;--ink-hover:#fff;--on-ink:#141414;--accent:#ef6a4c;--accent-2:#f5836a;--accent-soft:#33201b;--accent-ink:#ffb8a6;--accent-gradient:linear-gradient(90deg, #ec5e40 0%, #d8452a 100%);--on-accent:#fff;--ok:#4cc06f;--ok-hover:#63cf83;--on-ok:#0b2413;--ok-bg:#15291b;--warn:#f0a54a;--warn-bg:#33260f;--warn-ink:#ffd199;--bad:#ff7b63;--bad-bg:#3a1a14;--info:#72b3f7;--info-bg:#14253a;--info-ink:#b3d6ff;--skeleton-a:#222;--skeleton-b:#2c2c2c;--backdrop:#000000b3;--shadow-sm:0 1px 2px #0006;--shadow:0 6px 16px #00000073;--shadow-lg:0 10px 32px #0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;font-size:15px;line-height:1.45}h1,h2,h3{letter-spacing:-.01em;margin:0 0 .5rem;font-weight:600;line-height:1.2}h1{font-size:1.75rem}h2{font-size:1.3rem}h3{font-size:1.05rem}p{margin:0 0 .75rem}a{color:var(--text);text-underline-offset:2px;font-weight:600;text-decoration:underline}hr{border:0;border-top:1px solid var(--border-soft);margin:1.5rem 0}.muted{color:var(--muted)}.faint{color:var(--faint)}.small{font-size:.875rem}.xs{font-size:.78rem}.money{font-variant-numeric:tabular-nums;white-space:nowrap}.row{align-items:center;gap:.5rem;display:flex}.row.wrap{flex-wrap:wrap}.spread{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.stack{gap:1rem;display:grid}.grow{flex:1;min-width:0}.right{text-align:right}.hidden{display:none!important}.mono{letter-spacing:.02em;font-family:ui-monospace,SF Mono,Menlo,monospace}.nowrap{white-space:nowrap}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem}.card.flush{padding:0;overflow:hidden}.card.soft{border-color:var(--border-soft);background:var(--surface-2)}.card.raised{border-color:var(--border-soft);box-shadow:var(--shadow)}.btn{appearance:none;border:1px solid var(--ink);background:var(--surface);color:var(--text);border-radius:var(--radius-sm);font:inherit;cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:.5rem;min-height:48px;padding:.7rem 1.25rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:transform 80ms,background .15s,box-shadow .15s;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-2)}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{cursor:not-allowed;background:var(--surface-3);border-color:var(--surface-3);color:var(--faint)}.btn-primary{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}.btn-primary:hover:not(:disabled){background:var(--ink-hover)}.btn-brand{background:var(--accent-gradient);color:var(--on-accent);border:0}.btn-brand:hover:not(:disabled){background:var(--accent-2)}.btn-ok{background:var(--ok);border-color:var(--ok);color:var(--on-ok)}.btn-ok:hover:not(:disabled){background:var(--ok-hover)}.btn-danger{background:var(--surface);border-color:var(--bad);color:var(--bad)}.btn-danger:hover:not(:disabled){background:var(--bad-bg)}.btn-ghost{text-underline-offset:2px;background:0 0;border-color:#0000;text-decoration:underline}.btn-ghost:hover:not(:disabled){background:var(--surface-2)}.btn-light{border-color:var(--border)}.btn-sm{min-height:36px;padding:.35rem .85rem;font-size:.875rem}.btn-lg{min-height:56px;padding:.8rem 1.5rem;font-size:1.05rem}.btn-block{width:100%}.btn-round{border-radius:999px}.icon-btn{cursor:pointer;width:36px;height:36px;color:var(--text);background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:inline-grid}.icon-btn:hover{background:var(--surface-2)}.circle-btn{border:1px solid var(--border);background:var(--surface);cursor:pointer;width:32px;height:32px;color:var(--text);font:inherit;border-radius:50%;place-items:center;padding:0;display:inline-grid}.circle-btn:hover:not(:disabled){border-color:var(--ink)}.circle-btn:disabled{opacity:.35;cursor:not-allowed}.link{color:var(--text);font:inherit;text-underline-offset:2px;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.field{gap:.4rem;margin-bottom:1rem;display:grid}.field>span{font-size:.875rem;font-weight:600}input,select,textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;min-height:48px;padding:.7rem .85rem;transition:border-color .15s,box-shadow .15s}input::placeholder,textarea::placeholder{color:var(--faint)}textarea{resize:vertical;min-height:96px}input:hover,select:hover,textarea:hover{border-color:var(--border-strong)}input:focus,select:focus,textarea:focus{border-color:var(--ink);box-shadow:var(--ring);outline:none}.btn:focus-visible,.icon-btn:focus-visible,.circle-btn:focus-visible,a:focus-visible{outline:2px solid var(--ink);outline-offset:2px}input[type=checkbox],input[type=radio]{width:1.25rem;height:1.25rem;min-height:0;accent-color:var(--ink);cursor:pointer;flex:none}input[type=checkbox]:focus,input[type=radio]:focus{box-shadow:none}.check{cursor:pointer;align-items:center;gap:.75rem;padding:.4rem 0;display:flex}.error{color:var(--bad);background:var(--bad-bg);border-radius:var(--radius-sm);margin:.5rem 0;padding:.65rem .9rem;font-size:.9rem}.notice{background:var(--surface-2);color:var(--text);border-radius:var(--radius);padding:.9rem 1rem;font-size:.925rem}.notice.warn{background:var(--warn-bg);color:var(--warn-ink)}.notice.info{background:var(--info-bg);color:var(--info-ink)}.pill{white-space:nowrap;border-radius:999px;align-items:center;gap:.3rem;padding:.2rem .6rem;font-size:.78rem;font-weight:600;display:inline-flex}.pill:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.pill-ok{background:var(--ok-bg);color:var(--ok)}.pill-warn{background:var(--warn-bg);color:var(--warn)}.pill-bad{background:var(--bad-bg);color:var(--bad)}.pill-info{background:var(--info-bg);color:var(--info)}.pill-muted{background:var(--surface-2);color:var(--muted)}.countdown,.elapsed{font-variant-numeric:tabular-nums;font-weight:600}.late{color:var(--bad)}.offline-banner{z-index:200;background:var(--bad);color:var(--on-ink);text-align:center;padding:.6rem 1rem;font-size:.9rem;font-weight:600;position:sticky;top:0}.empty{text-align:center;color:var(--muted);padding:3rem 1rem}.modal-backdrop{background:var(--backdrop);z-index:100;place-items:end center;animation:.18s fade;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-width:568px;max-height:94vh;box-shadow:var(--shadow-lg);animation:.24s cubic-bezier(.2,.8,.2,1) rise;overflow:auto}.modal-wide{max-width:960px}@media (width>=744px){.modal-backdrop{place-items:center;padding:1.5rem}.modal{border-radius:var(--radius-lg)}}.modal-head{border-bottom:1px solid var(--border-soft);background:var(--surface);z-index:2;grid-template-columns:36px 1fr 36px;align-items:center;padding:.9rem 1.25rem;display:grid;position:sticky;top:0}.modal-head h2{text-align:center;margin:0;font-size:1rem}.modal-body{padding:1.5rem}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(24px)}}.login-wrap{background:var(--surface-2);place-items:center;min-height:100vh;padding:1.5rem;display:grid;position:relative}.login-theme{position:absolute;top:1rem;right:1rem}.login{background:var(--surface);width:100%;max-width:420px;box-shadow:var(--shadow);border:0;padding:2rem}.login h1{margin-bottom:.25rem;font-size:1.5rem}.login-brand{align-items:center;gap:.5rem;margin-bottom:1.5rem;font-weight:700;display:flex}table.table{border-collapse:collapse;width:100%;font-size:.925rem}.table th,.table td{text-align:left;border-bottom:1px solid var(--border-soft);vertical-align:middle;padding:.85rem 1rem}.table th{color:var(--muted);background:var(--surface);font-size:.8rem;font-weight:600}.table tr:last-child td{border-bottom:0}.table td.num,.table th.num{text-align:right}.table tr.clickable{cursor:pointer}.table tr.clickable:hover td{background:var(--surface-2)}.table-wrap{overflow-x:auto}.kv{grid-template-columns:max-content 1fr;gap:.5rem 1.5rem;margin:0;font-size:.95rem;display:grid}.kv dt{color:var(--muted)}.kv dd{margin:0}.lines{margin:0;padding:0;list-style:none}.lines li{padding:.35rem 0}.lines .mods{color:var(--muted);font-size:.875rem}.brand-mark{background:var(--accent-gradient);width:32px;height:32px;color:var(--on-accent);border-radius:10px;place-items:center;display:inline-grid}.theme-switch{border:1px solid var(--border);border-radius:999px;gap:2px;padding:4px;display:inline-flex}.theme-switch button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;align-items:center;gap:6px;padding:.45rem .9rem;font-size:.875rem;font-weight:500;display:inline-flex}.theme-switch button:hover{color:var(--text)}.theme-switch button.on{background:var(--ink);color:var(--on-ink)}.shell{min-height:100vh;padding-bottom:calc(96px + env(safe-area-inset-bottom))}.shell.no-tabs{padding-bottom:calc(110px + env(safe-area-inset-bottom))}.page{max-width:1280px;margin:0 auto;padding:0 24px}@media (width>=1128px){.page{padding:0 40px}}.topbar{z-index:40;background:var(--bg);border-bottom:1px solid var(--border-soft);position:sticky;top:0}.topbar-inner{align-items:center;gap:1rem;max-width:1280px;height:72px;margin:0 auto;padding:0 24px;display:flex}@media (width>=1128px){.topbar-inner{height:80px;padding:0 40px}}.brand{color:var(--accent);letter-spacing:-.02em;align-items:center;gap:.6rem;font-size:1.15rem;font-weight:700;text-decoration:none;display:flex}.store-chip{border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:999px;align-items:center;gap:.5rem;margin:0 auto;padding:.55rem 1.1rem;font-size:.875rem;font-weight:500;display:none}@media (width>=744px){.store-chip{display:inline-flex}}.dot{background:var(--faint);border-radius:50%;width:8px;height:8px}.dot.on{background:var(--ok);box-shadow:0 0 0 3px var(--ok-bg)}.top-actions{align-items:center;gap:.5rem;margin-left:auto;display:flex}.top-link{border-radius:999px;padding:.7rem .9rem;font-size:.925rem;font-weight:500;text-decoration:none;display:none}.top-link:hover{background:var(--surface-2)}@media (width>=744px){.top-link{display:inline-block}}.cart-btn{width:42px;height:42px;color:var(--text);border-radius:50%;place-items:center;display:grid;position:relative}.cart-btn:hover{background:var(--surface-2)}.cart-badge{background:var(--accent);color:#fff;border:2px solid var(--bg);border-radius:999px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:.7rem;font-weight:700;display:grid;position:absolute;top:2px;right:0}.account-pill{border:1px solid var(--border);color:var(--text);border-radius:999px;align-items:center;gap:.6rem;padding:5px 5px 5px 12px;text-decoration:none;transition:box-shadow .2s;display:none}.account-pill:hover{box-shadow:var(--shadow-sm), 0 2px 8px #00000014}@media (width>=744px){.account-pill{display:inline-flex}}.avatar{background:var(--muted);width:30px;height:30px;color:var(--bg);border-radius:50%;place-items:center;font-size:.8rem;font-weight:600;display:grid}.tabbar{z-index:45;background:var(--bg);border-top:1px solid var(--border-soft);padding:8px 0 calc(8px + env(safe-area-inset-bottom));justify-content:center;gap:2.5rem;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar a{color:var(--faint);justify-items:center;gap:2px;min-width:56px;font-size:.7rem;font-weight:500;text-decoration:none;display:grid}.tabbar a.on{color:var(--accent);font-weight:600}@media (width>=744px){.tabbar{display:none}.shell{padding-bottom:96px}}.cart-bar{left:50%;bottom:calc(76px + env(safe-area-inset-bottom));z-index:44;background:var(--ink);width:min(560px,100% - 32px);color:var(--on-ink);box-shadow:var(--shadow-lg);border-radius:999px;align-items:center;gap:.9rem;padding:.95rem 1.25rem;font-weight:600;text-decoration:none;animation:.25s rise;display:flex;position:fixed;transform:translate(-50%)}.cart-bar span:nth-child(2){flex:1}.cart-bar-count{background:var(--on-ink);color:var(--ink);border-radius:999px;place-items:center;min-width:26px;height:26px;font-size:.85rem;display:grid}@media (width>=744px){.cart-bar{bottom:28px}}.install-card{left:50%;bottom:calc(80px + env(safe-area-inset-bottom));z-index:46;background:var(--surface);border:1px solid var(--border-soft);width:min(560px,100% - 32px);box-shadow:var(--shadow-lg);border-radius:18px;align-items:center;gap:.85rem;padding:.85rem .85rem .85rem 1rem;animation:.3s install-rise;display:flex;position:fixed;transform:translate(-50%)}@keyframes install-rise{0%{opacity:0;transform:translate(-50%,24px)}}.install-card.raised{bottom:calc(148px + env(safe-area-inset-bottom))}.install-card .brand-mark{flex:none}.install-text{min-width:0;color:var(--muted);flex:1;gap:2px;font-size:.875rem;display:grid}.install-text strong{color:var(--text);font-size:.95rem}.install-inline-icon{vertical-align:-2px;color:var(--info)}.install-close{width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;display:grid}.install-close:hover{background:var(--surface-2)}@media (width>=744px){.install-card{bottom:28px}.install-card.raised{bottom:96px}}.cat-bar{z-index:30;background:var(--bg);box-shadow:0 1px 0 var(--border-soft);margin:0 -24px;padding:0 24px;position:sticky;top:72px}@media (width>=1128px){.cat-bar{margin:0 -40px;padding:0 40px;top:80px}}.cat-bar-inner{scrollbar-width:none;gap:2rem;padding-top:14px;display:flex;overflow-x:auto}.cat-bar-inner::-webkit-scrollbar{display:none}.cat{font:inherit;cursor:pointer;color:var(--muted);opacity:.8;background:0 0;border:0;border-bottom:2px solid #0000;flex:none;justify-items:center;gap:6px;padding:4px 0 12px;font-size:.8rem;font-weight:600;transition:color .15s,border-color .15s;display:grid}.cat:hover{color:var(--text);border-bottom-color:var(--border);opacity:1}.cat.on{color:var(--text);border-bottom-color:var(--ink);opacity:1}.banner{align-items:center;gap:.75rem;margin-top:1.5rem;display:flex}.table-banner{background:var(--accent-soft);color:var(--accent-ink)}.block{padding-top:2rem;scroll-margin-top:140px}.block-title{margin-bottom:1rem;font-size:1.35rem;font-weight:600}.page-title{margin:2rem 0 .5rem;font-size:2rem}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px;display:grid}@media (width>=744px){.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px}}@media (width>=1128px){.grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width>=1440px){.grid{grid-template-columns:repeat(5,minmax(0,1fr))}}.tile{text-align:left;font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;gap:10px;padding:0;display:grid}.tile:disabled{cursor:not-allowed}.tile-media{aspect-ratio:1;border-radius:var(--radius);position:relative;overflow:hidden}.tile-media .food-art{width:100%;height:100%;transition:transform .35s}.tile:hover:not(:disabled) .food-art{transform:scale(1.04)}.tile.sold-out .tile-media{filter:grayscale();opacity:.6}.tile-flag{background:var(--surface);box-shadow:var(--shadow-sm);border-radius:999px;padding:4px 10px;font-size:.78rem;font-weight:600;position:absolute;top:12px;left:12px}.tile-add{background:var(--surface);width:34px;height:34px;box-shadow:var(--shadow);border-radius:50%;place-items:center;transition:transform .15s;display:grid;position:absolute;bottom:10px;right:10px}.tile:hover .tile-add{transform:scale(1.08)}.tile-body{gap:2px;display:grid}.tile-name{font-size:.95rem;font-weight:600}.tile-desc{color:var(--muted);-webkit-line-clamp:1;-webkit-box-orient:vertical;font-size:.875rem;display:-webkit-box;overflow:hidden}.tile-price{margin-top:4px;font-size:.925rem}.tile-price .money{font-weight:600}.food-art{object-fit:cover;background:var(--art-bg);width:100%;height:100%;color:var(--art-fg);place-items:center;display:grid}:root[data-theme=dark] div.food-art{background:color-mix(in srgb, var(--art-fg) 24%, var(--surface));color:color-mix(in srgb, var(--art-fg) 40%, #fff)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) div.food-art{background:color-mix(in srgb, var(--art-fg) 24%, var(--surface));color:color-mix(in srgb, var(--art-fg) 40%, #fff)}}.tile-media .food-art svg{width:30%;height:30%}.sheet-media .food-art svg{width:22%;height:40%}.skeleton-grid{padding-top:2rem}.skeleton{background:linear-gradient(90deg, var(--skeleton-a) 25%, var(--skeleton-b) 50%, var(--skeleton-a) 75%);border-radius:var(--radius);background-size:200% 100%;animation:1.2s infinite shimmer}.skeleton.line{border-radius:6px;height:14px}.skeleton.short{width:50%}@keyframes shimmer{to{background-position:-200% 0}}.fav-strip{scrollbar-width:none;grid-auto-columns:minmax(260px,320px);grid-auto-flow:column;gap:16px;margin:0 -24px;padding:4px 24px 8px;display:grid;overflow-x:auto}.fav-strip::-webkit-scrollbar{display:none}.fav{text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);font:inherit;color:inherit;cursor:pointer;align-items:center;gap:12px;padding:10px 14px 10px 10px;transition:box-shadow .2s;display:flex}.fav:hover{box-shadow:var(--shadow);border-color:#0000}.fav-art{border-radius:var(--radius-sm);flex:none;width:56px;height:56px}.fav-name{font-weight:600}.clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.slider{margin-top:1.25rem;position:relative}.slider-track{scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;border-radius:var(--radius-lg);aspect-ratio:16/7;background:var(--surface-2);display:flex;overflow-x:auto}.slider-track::-webkit-scrollbar{display:none}.slide{scroll-snap-align:start;scroll-snap-stop:always;flex:0 0 100%;position:relative}.slide-hit{width:100%;height:100%;font:inherit;color:inherit;text-align:left;background:0 0;border:0;padding:0;display:block;position:relative}button.slide-hit{cursor:pointer}.slide img{object-fit:cover;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.slide-text{color:#fff;background:linear-gradient(#0000,#0009);padding:2.5rem 1.25rem 2rem;position:absolute;inset:auto 0 0}.slide-title{letter-spacing:-.01em;font-size:1.15rem;font-weight:700}.slide-sub{opacity:.9;margin-top:2px;font-size:.875rem}@media (width>=744px){.slide-text{padding:4rem 2rem 2.5rem}.slide-title{font-size:1.75rem}.slide-sub{font-size:1rem}}.slider-dots{pointer-events:none;justify-content:center;gap:6px;display:flex;position:absolute;bottom:10px;left:0;right:0}.slider-dots button{pointer-events:auto;cursor:pointer;background:#ffffff8c;border:0;border-radius:999px;width:8px;height:8px;padding:0;transition:width .2s,background .2s;box-shadow:0 0 2px #0006}.slider-dots button.on{background:#fff;width:20px}.best-sellers .block-title{align-items:center;gap:.4rem;display:flex}.best-sellers .block-title svg{color:var(--accent)}.best-seller-strip{scrollbar-width:none;scroll-snap-type:x proximity;grid-auto-columns:minmax(150px,46%);grid-auto-flow:column;gap:16px;margin:0 -24px;padding:0 24px 8px;scroll-padding:0 24px;display:grid;overflow-x:auto}.best-seller-strip::-webkit-scrollbar{display:none}.best-seller-strip .tile{scroll-snap-align:start}@media (width>=744px){.best-seller-strip{grid-auto-columns:calc(30.303% - 14.5455px);gap:24px}}@media (width>=1128px){.best-seller-strip{grid-auto-columns:calc(23.2558% - 16.7442px);margin:0 -40px;padding:0 40px 8px;scroll-padding:0 40px}}.sheet{flex-direction:column;max-width:568px;display:flex;overflow:hidden}.sheet-media{flex:none;height:240px;position:relative}.sheet-media .food-art{border-radius:0}.sheet-close{background:var(--surface);width:32px;height:32px;box-shadow:var(--shadow-sm);cursor:pointer;border:0;border-radius:50%;place-items:center;display:grid;position:absolute;top:16px;left:16px}.sheet-close:hover{transform:scale(1.05)}.sheet-body{flex:1;padding:24px;overflow-y:auto}.sheet-title{margin-bottom:4px;font-size:1.6rem}.sheet-price{margin-bottom:12px;font-size:1.05rem}.opt-group{border-top:1px solid var(--border-soft);margin-top:8px;padding:24px 0 4px}.opt-head{justify-content:space-between;align-items:flex-start;margin-bottom:4px;display:flex}.opt-head strong{font-size:1.05rem}.opt-head>span:first-child{gap:2px;display:grid}.req{background:var(--surface-2);color:var(--muted);border-radius:999px;align-items:center;padding:3px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.req.need{background:var(--surface-3);color:var(--text)}.req.done{background:var(--ok-bg);color:var(--ok)}.opt{cursor:pointer;border-bottom:1px solid var(--border-soft);align-items:center;gap:12px;padding:14px 0;display:flex}.opt:last-child{border-bottom:0}.opt.sold-out{opacity:.45;cursor:not-allowed}.note-field{margin-top:16px}.sheet-foot{padding:16px 24px calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--border-soft);background:var(--surface);align-items:center;gap:16px;display:flex}.stepper{align-items:center;gap:12px;display:inline-flex}.stepper>span{text-align:center;min-width:1.25rem;font-weight:500}.small-stepper{gap:10px;margin-top:8px}.small-stepper .circle-btn{width:26px;height:26px}.small-stepper>span{font-size:.875rem}.checkout{max-width:1120px;margin:0 auto}.checkout-head{align-items:center;gap:8px;margin:2rem 0 1.5rem -8px;display:flex}.checkout-head h1{margin:0;font-size:1.75rem}@media (width>=744px){.checkout-head h1{font-size:2rem}}.checkout-grid{gap:2rem;display:grid}@media (width>=950px){.checkout-grid{grid-template-columns:minmax(0,1fr) 420px;align-items:start;gap:5rem}}.section{border-bottom:1px solid var(--border-soft);padding:1.75rem 0}.section:first-child{padding-top:0}.section:last-child{border-bottom:0}.section h2{margin-bottom:1.25rem;font-size:1.3rem}.choice-grid{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:12px;margin-bottom:1rem;display:grid}.choice{text-align:left;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);font:inherit;color:inherit;cursor:pointer;justify-items:start;gap:4px;padding:16px;transition:border-color .15s,box-shadow .15s;display:grid}.choice svg{margin-bottom:10px}.choice:hover{border-color:var(--ink)}.choice.on{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);background:var(--surface-2)}.radio-rows{display:grid}.radio-row{border-bottom:1px solid var(--border-soft);cursor:pointer;align-items:center;gap:14px;padding:16px 0;display:flex}.radio-row:last-of-type{border-bottom:0}.radio-row .grow{gap:2px;display:grid}.method-icon{border-radius:var(--radius-sm);border:1px solid var(--border);flex:none;place-items:center;width:44px;height:44px;display:grid}.address{margin-top:.5rem}.summary{position:sticky;top:104px}.summary-card{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);background:var(--surface);padding:24px}.summary-lines{border-bottom:1px solid var(--border-soft);gap:16px;max-height:46vh;padding-bottom:20px;display:grid;overflow-y:auto}.summary-line{align-items:flex-start;gap:14px;display:flex}.thumb{border-radius:var(--radius-sm);flex:none;width:64px;height:64px}.line-name{font-size:.95rem;font-weight:600}.price-rows{gap:10px;padding:20px 0 16px;display:grid}.price-rows h3{margin-bottom:4px;font-size:1.1rem}.total-row{border-top:1px solid var(--border-soft);margin-top:6px;padding-top:16px;font-weight:600}.place-btn{margin-top:4px}.center{text-align:center}.error-text{color:var(--bad)}.mobile-cta{z-index:45;padding:14px 24px calc(14px + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--border-soft);justify-content:space-between;align-items:center;gap:1rem;display:flex;position:fixed;bottom:0;left:0;right:0}.total-mini{font-size:1.05rem;font-weight:600}@media (width>=950px){.mobile-cta{display:none}}@media (width<=949px){.place-btn{display:none}.summary{position:static}.summary-card{box-shadow:none}}.auth-card{border:1px solid var(--border);border-radius:var(--radius);max-width:568px;margin:2rem auto;padding:0 24px 24px}.auth-title{text-align:center;border-bottom:1px solid var(--border-soft);margin:0 -24px 24px;padding:20px 0;font-size:1rem}.auth-card h2{margin-bottom:1.25rem;font-size:1.35rem}.stacked-inputs{border:1px solid var(--border-strong);border-radius:var(--radius-sm);margin-bottom:12px;display:grid}.stacked-inputs.two{grid-template-columns:1fr 1fr;margin-top:16px}.stacked{gap:2px;padding:10px 12px;display:grid}.stacked+.stacked{border-top:1px solid var(--border-strong)}.stacked-inputs.two .stacked+.stacked{border-top:0;border-left:1px solid var(--border-strong)}.stacked>span{color:var(--muted);font-size:.75rem}.stacked input{border:0;border-radius:0;min-height:26px;padding:0;box-shadow:none!important}.stacked:focus-within{box-shadow:var(--ring);border-radius:var(--radius-sm);z-index:1;position:relative}.code-input{letter-spacing:.4em;text-align:center;font-size:1.4rem}.order-page{max-width:720px;margin:0 auto;padding-bottom:2rem}.order-hero{padding:2rem 0 1.25rem}.order-hero h1{margin:1rem 0 .35rem;font-size:1.9rem}.order-ref{color:var(--muted);letter-spacing:.04em;font-weight:600}.steps{grid-auto-columns:1fr;grid-auto-flow:column;gap:6px;margin:0 0 1rem;padding:0;list-style:none;display:grid}.steps li{color:var(--faint);gap:8px;font-size:.78rem;font-weight:500;display:grid}.steps li:before{content:"";background:var(--surface-3);border-radius:4px;height:4px}.steps li.done:before{background:var(--ink)}.steps li.now:before{background:linear-gradient(90deg, var(--accent) 50%, var(--surface-3) 50%);background-size:200% 100%;animation:1.6s ease-in-out infinite alternate progress}.steps li.done,.steps li.now{color:var(--text)}.steps li.now{font-weight:600}.step-dot{display:none}@keyframes progress{0%{background-position:100% 0}to{background-position:0 0}}.info-row{border-bottom:1px solid var(--border-soft);align-items:flex-start;gap:16px;padding:18px 0;display:flex}.info-row.as-button{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border-top:0;border-left:0;border-right:0;align-items:center}.slip h2{margin:.5rem 0 1rem;font-size:1.15rem}.bank-card{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1.75rem;padding:4px 18px}.bank-row{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;gap:1rem;min-height:56px;padding:12px 0;display:flex}.bank-row:last-child{border-bottom:0}.dropzone{border:1.5px dashed var(--border-strong);border-radius:var(--radius);cursor:pointer;text-align:center;justify-items:center;gap:6px;padding:28px 16px;transition:border-color .15s,background .15s;display:grid;position:relative}.dropzone:hover{border-color:var(--ink);background:var(--surface-2)}.dropzone.has-file{border-style:solid;border-color:var(--ok);background:var(--ok-bg);color:var(--ok)}.dropzone.has-file strong{color:var(--text)}.dropzone input{opacity:0;cursor:pointer;min-height:0;position:absolute;inset:0}.receipt-meta{gap:10px;margin-bottom:20px;display:grid}.receipt-meta>div{color:var(--muted);align-items:center;gap:12px;display:flex}.receipt .summary-line{padding:8px 0}.order-actions{gap:12px;padding-top:1rem}.confirm-box{border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}.orders-page,.profile{max-width:720px;margin:0 auto}.order-cards{gap:12px;display:grid}.order-card{border-radius:var(--radius);box-shadow:var(--shadow);color:inherit;align-items:center;gap:16px;padding:12px 16px 12px 12px;font-weight:400;text-decoration:none;display:flex}.order-card .line-name{margin-top:6px}.order-art{border-radius:var(--radius-sm);flex:none;width:72px;height:72px}.order-list{display:grid}.order-row{border-bottom:1px solid var(--border-soft);align-items:center;gap:12px;padding:14px 0;display:flex}.order-row-main{min-width:0;color:inherit;flex:1;align-items:center;gap:14px;font-weight:400;text-decoration:none;display:flex}.order-row-main .thumb{width:56px;height:56px}.empty-state h2{margin:.75rem 0 0}.profile-card{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);align-items:center;gap:20px;margin:1.5rem 0 .75rem;padding:24px;display:flex}.avatar-lg{background:var(--ink);width:88px;height:88px;color:var(--on-ink);border-radius:50%;flex:none;place-items:center;font-size:2.2rem;font-weight:600;display:grid}.profile-name{font-size:1.5rem;font-weight:600}.points-block{text-align:right;margin-left:auto}.points{color:var(--accent);font-size:1.75rem;font-weight:700}.edit-name{gap:10px;margin-top:12px;display:grid}.list-row{border-bottom:1px solid var(--border-soft);padding:12px 0}.list-row:last-child{border-bottom:0}.menu-rows{margin-top:.5rem;display:grid}.menu-row{border:0;border-bottom:1px solid var(--border-soft);font:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;align-items:center;gap:16px;width:100%;padding:20px 0;font-weight:400;text-decoration:none;display:flex}.receipt{border-bottom:0}.appearance-out{max-width:568px;margin:0 auto 2rem}.wrap-sm{flex-wrap:wrap}.table-banner.as-link{font-weight:400;text-decoration:none}.table-banner .grow{flex:1}.table-banner .btn{flex:none}.empty-state{text-align:center;justify-items:center;gap:.75rem;padding:3.5rem 1rem 2rem;display:grid}.empty-state h1{margin:.5rem 0 0;font-size:1.6rem}.empty-state p{max-width:36ch}.tab-order{border-bottom:1px solid var(--border-soft);gap:.35rem;padding:.9rem 0;display:grid}.tab-line.voided{color:var(--faint);text-decoration:line-through}.tab-status{color:var(--muted);font-weight:600}.tab-status.status-ready{color:var(--ok)}.tab-status.status-collected,.tab-status.status-completed{color:var(--text)}.called{color:var(--ok);align-items:center;gap:.4rem;font-size:.925rem;font-weight:600;display:inline-flex}.loyalty .stack{max-width:360px}.table-checkout{max-width:560px}.table-checkout>.muted{margin-bottom:1.5rem}
