:root{--bg: #f0f0f2;--surface: #ffffff;--surface-2: #ececef;--text: #0c0c0f;--hint: #66666d;--line: rgba(12, 12, 15, .13);--btn: #0c0c0f;--btn-text: #ffffff;--promo: #9c4a25;--promo-bg: #f6e6dc;--warn-bg: #fbefe2;--radius: 16px;--shadow: 0 0 0 1px var(--line), 0 1px 2px rgba(12, 12, 15, .06), 0 2px 8px rgba(12, 12, 15, .035);--ease: cubic-bezier(.2, .8, .2, 1);color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:17px;line-height:1.4;color:var(--text);background:var(--bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;touch-action:manipulation;scrollbar-gutter:stable;overscroll-behavior-y:none}html[data-editing] .cart-bar{display:none}@media(prefers-color-scheme:dark){:root:not([data-telegram]){color-scheme:dark;--bg: #0b0b0d;--surface: #1c1c1f;--surface-2: #2a2a2f;--text: #f2f2f4;--hint: #a0a0a7;--btn: #f2f2f4;--btn-text: #0c0c0f;--line: rgba(255, 255, 255, .12);--shadow: 0 0 0 1px var(--line), 0 1px 2px rgba(0, 0, 0, .5);--promo: #f0b08c;--promo-bg: rgba(240, 176, 140, .16);--warn-bg: rgba(240, 176, 140, .12)}}:root[data-scheme=dark]{color-scheme:dark;--line: rgba(255, 255, 255, .12);--shadow: 0 0 0 1px var(--line), 0 1px 2px rgba(0, 0, 0, .5);--promo: #f0b08c;--promo-bg: rgba(240, 176, 140, .16);--warn-bg: rgba(240, 176, 140, .12)}*,*:before,*:after{box-sizing:border-box}html.locked,html.locked body{overflow:hidden}body{margin:0;font-variant-numeric:tabular-nums;min-height:100dvh;overscroll-behavior-y:none;background:var(--bg)}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}input,textarea{-webkit-user-select:text;user-select:text}button:disabled{cursor:default;opacity:.45}:focus-visible{outline:2px solid var(--text);outline-offset:2px}h1,h2,h3,p{margin:0}.num{font-variant-numeric:tabular-nums}.muted{color:var(--hint)}.small{font-size:.88rem}.grow{flex:1 1 auto;min-width:0}.line2{display:block;font-size:.9rem}.app{max-width:720px;margin:0 auto;min-height:100dvh;padding-bottom:calc(24px + env(safe-area-inset-bottom))}.app.has-bar{padding-bottom:calc(96px + env(safe-area-inset-bottom))}.top{padding:calc(14px + env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 6px max(16px,env(safe-area-inset-left))}.top-row{display:flex;align-items:flex-start;gap:12px}.venue{font-size:1.6rem;line-height:1.15;letter-spacing:-.02em;font-weight:700;text-wrap:balance}.top-sub{margin-top:4px;font-size:.95rem}.langs{display:flex;padding:3px;border-radius:999px;background:var(--surface-2);flex:none}.langs button{border:0;background:none;min-width:44px;height:44px;padding:0 8px;border-radius:999px;font-size:.82rem;font-weight:600;letter-spacing:.02em;color:var(--hint)}.langs button.on{background:var(--surface);color:var(--text);box-shadow:0 0 0 1px var(--line),0 1px 2px #0c0c0f1a}.content{padding:0 max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left));display:flex;flex-direction:column;gap:14px}.desc{color:var(--hint);font-size:.98rem;white-space:pre-line}.banner{padding:12px 14px;border-radius:12px;background:var(--warn-bg);font-size:.95rem}.banner-soft{background:var(--surface-2)}.calls{display:flex;gap:10px}.calls .btn{flex-direction:column;gap:2px;min-height:64px;padding:8px 10px;line-height:1.2;text-align:center}.top-sub .nw{white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 18px;border-radius:14px;border:0;font-weight:600;font-size:1rem;transition:transform .12s var(--ease),opacity .2s}.btn:active:not(:disabled){transform:scale(.98)}.btn-primary{background:var(--btn);color:var(--btn-text)}.btn-secondary{background:var(--surface);color:var(--text);box-shadow:var(--shadow);font-size:.95rem;padding:0 12px}.btn.block{width:100%}.icon-btn{display:inline-grid;place-items:center;width:44px;height:44px;border:0;border-radius:999px;background:var(--surface-2);flex:none}.link-btn{border:0;background:none;color:var(--hint);font-size:.9rem;min-height:44px;padding:0 4px;text-decoration:underline;text-underline-offset:3px}.input{width:100%;min-height:48px;padding:12px 14px;border-radius:12px;border:1px solid color-mix(in srgb,var(--text) 45%,var(--surface));background:var(--surface);font-size:16px;resize:vertical}.input:focus{outline:2px solid var(--text);outline-offset:-1px}.field{display:flex;flex-direction:column;gap:6px;font-size:.95rem;font-weight:500}.field-row{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:10px}.stepper{display:inline-flex;align-items:center;gap:4px;flex:none}.stepper output{min-width:28px;text-align:center;font-weight:600}.chips{position:sticky;top:0;z-index:5;display:flex;gap:8px;margin:0 calc(-1*max(16px,env(safe-area-inset-left)));padding:10px max(16px,env(safe-area-inset-left));overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain;background:color-mix(in srgb,var(--bg) 92%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.chips::-webkit-scrollbar{display:none}.chip{flex:none;min-height:44px;padding:0 16px;border-radius:999px;border:0;background:var(--surface);box-shadow:var(--shadow);font-size:.95rem;font-weight:500;white-space:nowrap;transition:transform .12s var(--ease)}.chip:active{transform:scale(.96)}.chip.on{background:var(--btn);color:var(--btn-text);box-shadow:none}.chips .chip{display:inline-flex;align-items:center;gap:6px;padding-left:12px}.chip-icon{flex:none}.cat{scroll-margin-top:64px}.cat h2{font-size:1.3rem;letter-spacing:-.01em;margin:10px 0 12px}.grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}@media(min-width:600px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.card{position:relative;display:flex;flex-direction:column;border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.card-open{position:relative;display:block;padding:0;border:0;background:none}.card{transition:transform .12s var(--ease)}.card:has(.card-open:active){transform:scale(.98)}.photo{display:block;aspect-ratio:1 / 1;background:var(--surface-2);overflow:hidden}.photo img{display:block;width:100%;height:100%;object-fit:cover}.photo-ph{display:grid;place-items:center;width:100%;height:100%;font-size:1.6rem;font-weight:600;letter-spacing:.04em;color:color-mix(in srgb,var(--text) 45%,transparent)}.card-body{padding:10px 12px 14px;display:flex;flex-direction:column;gap:4px}.card-name{font-size:1rem;font-weight:600;line-height:1.25;overflow-wrap:anywhere;hyphens:auto;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card-price{display:flex;flex-wrap:wrap;align-items:baseline;align-content:center;column-gap:6px;min-height:44px;padding-right:46px;font-weight:600}.unit{font-weight:400;font-size:.85rem}.old{color:var(--hint);font-weight:400;font-size:.85em;margin-right:6px}.card-price .old{margin-right:0}.promo-badge{display:inline-block;padding:2px 8px;border-radius:999px;background:var(--promo-bg);color:var(--promo);font-size:.8rem;font-weight:700}.promo-badge.on-photo{position:absolute;top:8px;left:8px;background:var(--surface)}.add{position:absolute;right:10px;bottom:10px;display:grid;place-items:center;width:44px;height:44px;border-radius:999px;border:0;background:var(--surface);color:var(--text);box-shadow:var(--shadow);font-weight:700;transition:transform .12s var(--ease)}.add.has{background:var(--btn);color:var(--btn-text)}.add:active{transform:scale(.92)}.empty{padding:40px 0;text-align:center;color:var(--hint)}.order-card{padding:14px 16px 16px;border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:8px}.order-head{display:flex;align-items:center;justify-content:space-between;min-height:24px}.order-status{display:flex;align-items:center;gap:8px;font-size:1.25rem}.st-rejected .order-status{color:var(--promo)}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:2px 0;padding:0;list-style:none}.steps li{height:4px;border-radius:2px;background:var(--surface-2);transition:background .4s var(--ease)}.steps li.on{background:var(--text)}.order-items{font-size:.95rem;color:var(--hint)}.pay-row{display:flex;gap:10px}.totals{margin:4px 0 0;display:flex;flex-direction:column;gap:4px}.totals div{display:flex;justify-content:space-between;gap:12px}.totals dt,.totals dd{margin:0}.totals .grand{font-weight:700;font-size:1.1rem}.cart-bar{position:fixed;left:0;right:0;bottom:0;z-index:10;padding:12px max(16px,env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:linear-gradient(to top,var(--bg) 60%,transparent)}.cart-bar-btn{max-width:688px;margin:0 auto;min-height:56px;text-align:left}.cart-lines{list-style:none;margin:0;padding:0}.cart-line{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.cart-line-side{display:flex;flex-direction:column;align-items:flex-end;gap:6px;text-align:right}.line-issue{color:var(--promo);font-weight:600}.cart-foot{display:flex;flex-direction:column;gap:10px}.notice{padding:10px 12px;border-radius:12px;background:var(--surface-2);font-size:.95rem}.notice-warn{background:var(--warn-bg)}.sheet-wrap{position:fixed;inset:auto 0;top:var(--vvt, 0px);height:var(--vvh, 100dvh);z-index:50;display:flex;align-items:flex-end;justify-content:center}.sheet-backdrop{position:absolute;inset:0;background:#0a0e0c6b;animation:fade .2s ease-out}.sheet{position:relative;width:100%;max-width:720px;max-height:min(calc(100dvh - 24px - env(safe-area-inset-top)),calc(var(--vvh, 100dvh) - 12px));display:flex;flex-direction:column;border-radius:22px 22px 0 0;background:var(--surface);outline:none;animation:rise .32s var(--ease)}.sheet-head{display:flex;align-items:center;gap:12px;padding:14px 16px 8px 20px}.sheet-head h2{flex:1;font-size:1.3rem;line-height:1.2;letter-spacing:-.01em}.sheet-body{overflow-y:auto;overscroll-behavior:contain;padding:4px 20px 16px;display:flex;flex-direction:column;gap:16px}.sheet-foot{padding:12px 20px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line)}.sheet-actions{display:flex;align-items:center;gap:10px}.sheet-actions .btn{padding:0 12px;white-space:nowrap}.ps-photo{margin:0 -20px}.ps-photo .photo{aspect-ratio:4 / 3}.ps-price{display:flex;align-items:center;gap:8px;font-size:1.25rem}.group{border:0;margin:0;padding:0;display:flex;flex-direction:column}.group legend{display:flex;justify-content:space-between;align-items:baseline;gap:8px;width:100%;padding:0 0 6px;font-weight:600}.group-rule{font-size:.85rem;font-weight:500;color:var(--hint)}.group-rule.need{color:var(--promo)}.opt{display:flex;align-items:center;gap:12px;min-height:52px;border-bottom:1px solid var(--line)}.opt input{width:22px;height:22px;margin:0;accent-color:var(--btn);flex:none}.toast{position:fixed;left:50%;top:calc(12px + env(safe-area-inset-top));transform:translate(-50%);z-index:60;max-width:calc(100% - 32px);padding:12px 18px;border-radius:14px;background:var(--btn);color:var(--btn-text);font-size:.95rem;box-shadow:0 8px 24px #0000002e;animation:drop .3s var(--ease)}.screen{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:32px 24px;text-align:center}.screen h1{font-size:1.35rem;max-width:22ch;text-wrap:balance}.foot{display:flex;align-items:center;justify-content:center;gap:6px;padding:28px 0 8px;font-size:.8rem;color:var(--hint)}@keyframes rise{0%{transform:translateY(100%)}}@keyframes fade{0%{opacity:0}}@keyframes drop{0%{opacity:0;transform:translate(-50%,-8px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(hover:hover){.chip:hover:not(.on),.btn-secondary:hover:not(:disabled){background:var(--surface-2)}}[data-tip]{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.tip{position:fixed;z-index:1000;max-width:min(18rem,calc(100vw - 16px));padding:6px 10px;border-radius:8px;background:var(--btn);color:var(--btn-text);font-size:.85rem;font-weight:550;line-height:1.25;pointer-events:none;opacity:0;transform:translateY(2px);transition:opacity .12s var(--ease),transform .12s var(--ease)}.tip.on{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.tip{transition:opacity 1ms;transform:none!important}}
