:root{--tg-bg: #ffffff;--tg-text: #1a1a1a;--tg-hint: #8b8b8b;--tg-link: #c2410c;--tg-button: #c2410c;--tg-button-text: #ffffff;--tg-secondary-bg: #f4f2ef;--tg-section-bg: #ffffff;--border: color-mix(in srgb, var(--tg-text) 12%, transparent)}:root[data-tg-theme=dark]{--border: color-mix(in srgb, var(--tg-text) 18%, transparent)}*{box-sizing:border-box}body{margin:0;background:var(--tg-secondary-bg);color:var(--tg-text);font:15px/1.55 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow-x:hidden}.shell{max-width:560px;margin:0 auto;padding:24px 16px 40px;display:flex;flex-direction:column;gap:20px}header h1{margin:0 0 4px;font-size:24px;letter-spacing:-.02em}.sub{margin:0;color:var(--tg-hint);font-size:14px}.card{background:var(--tg-section-bg);border:1px solid var(--border);border-radius:14px;padding:18px}.card h2{margin:0 0 12px;font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--tg-hint);font-weight:600}.card p{margin:0 0 12px}.card p:last-child{margin-bottom:0}.card.center{display:grid;place-items:center;gap:12px;padding:40px 18px}.row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--border)}.row:first-of-type{border-top:0}.row code{font-size:13px;color:var(--tg-hint);text-align:right;word-break:break-word}button,.button{font:inherit;font-weight:600;display:inline-block;padding:11px 18px;border-radius:10px;border:0;background:var(--tg-button);color:var(--tg-button-text);text-decoration:none;cursor:pointer;min-height:44px}button:active,.button:active{opacity:.85}.spinner{width:26px;height:26px;border:2.5px solid var(--border);border-top-color:var(--tg-button);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation-duration:2s}}footer{font-size:13px;color:var(--tg-hint)}footer p{margin:4px 0}.muted{color:var(--tg-hint)}.shell.menu{padding-top:0;gap:0}.menu-head{position:sticky;top:0;z-index:10;background:var(--tg-secondary-bg);padding:16px 0 10px;box-shadow:0 8px 12px -12px #0009}.menu-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.menu-title h1{margin:0;font-size:20px}.lang{display:flex;gap:2px;background:var(--tg-section-bg);border:1px solid var(--border);border-radius:9px;padding:2px}.lang button{background:transparent;color:var(--tg-hint);min-height:32px;padding:4px 10px;border-radius:7px;font-size:12px;font-weight:700;letter-spacing:.04em}.lang button.on{background:var(--tg-button);color:var(--tg-button-text)}.search{width:100%;font:inherit;padding:11px 14px;min-height:44px;border-radius:11px;border:1px solid var(--border);background:var(--tg-section-bg);color:var(--tg-text)}.search::placeholder{color:var(--tg-hint)}.search:focus{outline:2px solid var(--tg-button);outline-offset:-1px}.banner{display:flex;flex-direction:column;gap:2px;margin:10px 0 2px;padding:12px 14px;border-radius:11px;background:color-mix(in srgb,var(--tg-button) 14%,var(--tg-section-bg));border:1px solid color-mix(in srgb,var(--tg-button) 35%,transparent);font-size:14px}.banner span{color:var(--tg-hint)}.tabs{position:sticky;top:104px;z-index:9;display:flex;gap:8px;margin:10px -16px 0;padding:8px 16px;overflow-x:auto;background:var(--tg-secondary-bg);scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{flex:0 0 auto;background:var(--tg-section-bg);color:var(--tg-text);border:1px solid var(--border);border-radius:999px;padding:8px 14px;min-height:38px;font-size:14px;font-weight:500}.tab.on{background:var(--tg-button);color:var(--tg-button-text);border-color:transparent}.section{padding:18px 0 2px;scroll-margin-top:150px}.section h2{margin:0 0 12px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--tg-hint)}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}@media(min-width:480px){.grid{grid-template-columns:repeat(3,1fr)}}.item{display:flex;flex-direction:column;gap:0;padding:0;overflow:hidden;text-align:left;background:var(--tg-section-bg);border:1px solid var(--border);border-radius:13px;color:var(--tg-text)}.item.out{opacity:.55}.item-img{position:relative;aspect-ratio:4 / 3;display:grid;place-items:center;background:color-mix(in srgb,var(--tg-text) 6%,transparent)}.item-img img{width:100%;height:100%;object-fit:cover;display:block}.placeholder{font-size:30px;opacity:.4}.out-badge{position:absolute;inset-inline:8px;bottom:8px;text-align:center;padding:3px 8px;border-radius:7px;background:#000000b8;color:#fff;font-size:11px;font-weight:700;text-transform:uppercase}.item-text{display:flex;flex-direction:column;gap:3px;padding:10px 11px 12px}.item-name{font-size:14px;font-weight:600;line-height:1.3}.item-price{font-size:13px;color:var(--tg-hint)}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#0000008c;display:flex;align-items:flex-end;justify-content:center;animation:fade .16s ease-out}.sheet{width:100%;max-width:560px;max-height:92vh;overflow-y:auto;-webkit-overflow-scrolling:touch;background:var(--tg-bg);border-radius:18px 18px 0 0;animation:rise .22s cubic-bezier(.2,.8,.3,1)}.sheet-grip{width:38px;height:4px;border-radius:99px;background:var(--tg-hint);opacity:.4;margin:9px auto 4px}.sheet-image{width:100%;aspect-ratio:16 / 10;object-fit:cover;display:block}.sheet-body{padding:16px 16px calc(20px + env(safe-area-inset-bottom))}.sheet-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.sheet-head h2{margin:0;font-size:20px;text-transform:none;letter-spacing:-.01em;color:var(--tg-text)}.price{font-size:16px;font-weight:700;white-space:nowrap}.desc{margin:8px 0 0;color:var(--tg-hint)}.meta{margin-top:8px;font-size:13px;color:var(--tg-hint);display:flex;gap:6px;flex-wrap:wrap}.notice{margin-top:12px;padding:10px 12px;border-radius:10px;font-size:14px;background:color-mix(in srgb,var(--tg-button) 14%,transparent)}.group{margin-top:20px}.group h3{margin:0 0 8px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--tg-hint)}.group h3 em{font-style:normal;font-weight:500;text-transform:none;letter-spacing:0}.group ul{list-style:none;margin:0;padding:0}.group li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--border);font-size:15px}.group li:first-child{border-top:0}.group li.dim{opacity:.45}.delta{color:var(--tg-hint);font-size:14px;white-space:nowrap}.wide{width:100%;margin-top:18px}.small{font-size:13px}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{transform:translateY(14px)}}@media(prefers-reduced-motion:reduce){.sheet-backdrop,.sheet{animation:none}}button.primary{background:var(--tg-button);color:var(--tg-button-text)}button:disabled{opacity:.45}button.grow{flex:1}button.link{background:none;color:var(--tg-link);padding:2px 0;min-height:0;font-size:13px;text-decoration:underline}button.back{background:none;color:var(--tg-text);font-size:26px;line-height:1;padding:0 8px;min-height:36px}.opt{display:flex;align-items:center;gap:10px;flex:1;cursor:pointer}.opt input{width:20px;height:20px;accent-color:var(--tg-button);flex:0 0 auto}.qty-row{display:flex;align-items:center;gap:12px;margin-top:20px}.qty{display:flex;align-items:center;gap:2px;border:1px solid var(--border);border-radius:10px;overflow:hidden}.qty button{background:var(--tg-section-bg);color:var(--tg-text);min-width:42px;min-height:44px;border-radius:0;font-size:19px}.qty span{min-width:34px;text-align:center;font-weight:600}.small-qty button{min-width:34px;min-height:34px;font-size:16px}.small-qty span{min-width:26px;font-size:14px}.cart-bar{position:sticky;bottom:0;z-index:20;padding:10px 0 calc(12px + env(safe-area-inset-bottom));background:linear-gradient(to top,var(--tg-secondary-bg) 72%,transparent)}.cart-bar button{display:flex;align-items:center;gap:10px;justify-content:center}.badge-count{background:#ffffff3d;min-width:22px;padding:1px 6px;border-radius:99px;font-size:13px;font-weight:700}.bar-total{margin-left:auto;font-variant-numeric:tabular-nums}.shell.cart{gap:14px;padding-bottom:24px}.shell.cart .menu-title{justify-content:space-between}.shell.cart .menu-title h1{font-size:18px}.seg{display:flex;gap:6px}.seg button{flex:1;background:var(--tg-section-bg);color:var(--tg-text);border:1px solid var(--border);font-size:14px;font-weight:600}.seg button.on{background:var(--tg-button);color:var(--tg-button-text);border-color:transparent}.zones{display:flex;flex-direction:column;gap:8px;margin-top:12px}.zone{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--tg-section-bg);color:var(--tg-text);border:1px solid var(--border);text-align:left;font-weight:500}.zone.on{border-color:var(--tg-button);box-shadow:inset 0 0 0 1px var(--tg-button)}.cart-line{display:flex;gap:12px;justify-content:space-between;padding:12px 0;border-top:1px solid var(--border)}.cart-line:first-of-type{border-top:0}.cart-line-main{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.cart-line-side{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.issue{color:var(--tg-link);font-size:13px}.row.grand{border-top:1px solid var(--border);padding-top:12px;font-size:16px}.row.grand strong{font-size:18px}.checkout-bar{position:sticky;bottom:0;padding-bottom:env(safe-area-inset-bottom)}.center-text{text-align:center}.diag{margin-top:16px;border-top:1px solid var(--border);padding-top:12px}.diag summary{cursor:pointer;font-size:13px;color:var(--tg-hint);list-style:none;padding:6px 0;min-height:32px}.diag summary::-webkit-details-marker{display:none}.diag summary:before{content:"▸ "}.diag[open] summary:before{content:"▾ "}.diag dl{margin:8px 0 0}.diag .row{padding:7px 0;font-size:13px}.diag code{word-break:break-all;max-width:60%;text-align:right}.head-actions{display:flex;align-items:center;gap:8px}.icon-btn{background:var(--tg-section-bg);color:var(--tg-text);border:1px solid var(--border);border-radius:9px;min-width:38px;min-height:36px;padding:0 10px;font-size:15px}.ok-pill{font-size:12px;font-weight:700;padding:2px 9px;border-radius:999px;background:color-mix(in srgb,var(--tg-button) 18%,transparent);color:var(--tg-button)}.default-pill{margin-left:8px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:1px 7px;border-radius:999px;background:color-mix(in srgb,var(--tg-button) 18%,transparent);color:var(--tg-button)}.field{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}.field-label{font-size:13px;color:var(--tg-hint)}.field-label em{font-style:normal;color:var(--tg-button)}.field-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.field-row .field{margin-bottom:12px}.check{display:flex;align-items:center;gap:10px;padding:10px 0;cursor:pointer;min-height:44px}.check input{width:20px;height:20px;accent-color:var(--tg-button)}.code-input{font-size:30px;letter-spacing:.5em;text-align:center;padding-left:.5em;font-variant-numeric:tabular-nums}.addr-main{display:flex;flex-direction:column;gap:2px;text-align:left}.zone{align-items:flex-start}.map-wrap{position:relative;height:260px;margin:12px 0;border-radius:12px;overflow:hidden;border:1px solid var(--border)}.map{position:absolute;top:0;right:0;bottom:0;left:0}.crosshair{position:absolute;left:50%;top:50%;transform:translate(-50%,-100%);color:var(--tg-button);pointer-events:none;z-index:500;filter:drop-shadow(0 2px 3px rgba(0,0,0,.4))}.locate{position:absolute;right:10px;bottom:10px;z-index:500;width:42px;height:42px;min-height:42px;padding:0;border-radius:50%;background:var(--tg-bg);color:var(--tg-text);border:1px solid var(--border);font-size:19px;box-shadow:0 1px 4px #00000040}.leaflet-control-attribution{font-size:10px;background:color-mix(in srgb,var(--tg-bg) 85%,transparent)!important;color:var(--tg-hint)!important}.leaflet-control-attribution a{color:var(--tg-link)!important}.leaflet-control-zoom a{background:var(--tg-bg)!important;color:var(--tg-text)!important;border-color:var(--border)!important}.map-loading{display:grid;place-items:center;background:var(--tg-section-bg)}.confirm-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:11px 0;border-top:1px solid var(--border)}.confirm-row:first-of-type{border-top:0}.confirm-main{display:flex;flex-direction:column;gap:3px;min-width:0}.success{gap:14px;padding:36px 20px;text-align:center}.success h2{margin:0;font-size:20px;text-transform:none;letter-spacing:-.01em;color:var(--tg-text)}.tick{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;font-size:28px;background:var(--tg-button);color:var(--tg-button-text)}.order-code{font-size:26px;letter-spacing:.04em}.code-card{text-align:center}.big-code{font-size:44px;font-weight:700;letter-spacing:.22em;font-variant-numeric:tabular-nums;margin:6px 0 10px;padding-left:.22em;color:var(--tg-button)}.steps{list-style:none;margin:0;padding:0}.step{display:flex;align-items:center;gap:12px;padding:9px 0;color:var(--tg-hint);position:relative}.step .dot{width:11px;height:11px;border-radius:50%;flex:0 0 auto;background:var(--border);border:2px solid var(--border)}.step:not(:first-child):before{content:"";position:absolute;left:5px;top:-9px;height:18px;width:1px;background:var(--border)}.step.done{color:var(--tg-text)}.step.done .dot{background:var(--tg-button);border-color:var(--tg-button)}.step.now{color:var(--tg-text);font-weight:600}.step.now .dot{background:var(--tg-button);border-color:var(--tg-button);box-shadow:0 0 0 4px color-mix(in srgb,var(--tg-button) 25%,transparent)}.live-order{display:flex;align-items:center;gap:11px;width:100%;margin-top:10px;padding:12px 14px;background:var(--tg-section-bg);color:var(--tg-text);border:1px solid var(--tg-button);border-radius:12px;text-align:left}.live-main{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.live-dot{width:9px;height:9px;border-radius:50%;flex:0 0 auto;background:var(--tg-button);animation:pulse 1.8s ease-in-out infinite}@keyframes pulse{50%{opacity:.3}}@media(prefers-reduced-motion:reduce){.live-dot{animation:none}}.order-row{width:100%;background:none;border:0;padding:12px 0}.landing{max-width:680px;margin:0 auto;padding:36px 20px 60px}.landing h2{margin:36px 0 14px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--tg-hint)}.hero{text-align:center;padding:8px 0 4px}.hero h1{margin:0 0 10px;font-size:32px;letter-spacing:-.02em}.tagline{margin:0 auto 18px;max-width:30em;color:var(--tg-hint);font-size:16px}.open-now,.closed-now{display:inline-flex;align-items:center;gap:8px;margin:0 0 20px;padding:5px 13px;border-radius:999px;font-size:13px;font-weight:600}.open-now{background:color-mix(in srgb,#15803d 14%,transparent);color:#15803d}.closed-now{background:color-mix(in srgb,var(--tg-hint) 16%,transparent);color:var(--tg-hint)}.open-now .dot,.closed-now .dot{width:8px;height:8px;border-radius:50%;background:currentColor}.cta{font-size:16px;font-weight:700;padding:15px 30px;min-height:52px;border-radius:12px;border:0;background:var(--tg-button);color:var(--tg-button-text);cursor:pointer}.cta:hover{opacity:.92}.how ol{list-style:none;margin:0;padding:0;counter-reset:step}.how li{display:grid;grid-template-columns:30px 1fr;gap:4px 14px;padding:13px 0;border-top:1px solid var(--border);grid-template-areas:"num title" ". body"}.how li:first-child{border-top:0}.how li:before{counter-increment:step;content:counter(step);grid-area:num;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:700;background:color-mix(in srgb,var(--tg-button) 16%,transparent);color:var(--tg-button)}.how li strong{grid-area:title}.how li span{grid-area:body;color:var(--tg-hint);font-size:14px}.how code{background:color-mix(in srgb,var(--tg-text) 8%,transparent);padding:1px 5px;border-radius:5px;font-size:13px}.preview-group{margin-bottom:22px}.preview-group h3{margin:0 0 8px;font-size:15px;font-weight:600;text-transform:none;letter-spacing:0;color:var(--tg-text)}.preview-group ul,.zones-public ul{list-style:none;margin:0;padding:0}.preview-group li,.zones-public li{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:7px 0;border-top:1px solid var(--border)}.preview-group li:first-child,.zones-public li:first-child{border-top:0}.dish-price{color:var(--tg-hint);white-space:nowrap;font-variant-numeric:tabular-nums}.sold-out{color:var(--tg-hint);font-size:13px}.zones-public li{flex-direction:column;align-items:flex-start;gap:2px}.visit p{margin:4px 0}.visit a{color:var(--tg-link)}.landing-foot{margin-top:40px;padding-top:28px;text-align:center;border-top:1px solid var(--border)}
