:root{--bg:#fff;--bg-warm:#fbfaf8;--ink:#2c3e50;--ink-2:#3d4b5c;--ink-soft:#525863;--price:#6b7079;--line:#e6e8ec;--main:#0b75d7;--accent:#0b75d7;--main-dark:color-mix(in srgb, var(--main) 82%, #000);--main-tint:color-mix(in srgb, var(--main) 12%, #fff);--main-glow:color-mix(in srgb, var(--main) 35%, transparent);--accent-dark:color-mix(in srgb, var(--accent) 82%, #000);--add:#c5deb8;--add-mid:#97bd84;--add-ink:#5f8f49;--grey-btn:#d8d8d8;--grey-ink:#3b3b3b;--flame:#f06a2b;--warn:#b45309;--warn-tint:#fdf3e3;--shadow-card:0 1px 2px #0000000d, 0 1px 4px #0000000d, 0 1px 15px #0000000d;--shadow-drop:0 4px 10px #3b3b3b26;--shadow-heavy:0 4px 10px #3b3b3b40;--shadow-modal:0 10px 40px #3b3b3b1a, 0 20px 30px #3b3b3b0d;--ease:cubic-bezier(.22, 1, .36, 1);--tabs-h:50px;--pills-h:68px;--font-system:-apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--font-rounded:ui-rounded, "SF Pro Rounded", "Nunito", "Quicksand", "Varela Round", -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", Helvetica, Arial, sans-serif;--font-serif:ui-serif, "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif;--font:var(--font-system);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;overscroll-behavior-y:contain;font-size:16px;line-height:1.4}body.has-overlay{overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;padding:0}input,textarea{font:inherit;color:inherit}img{display:block}svg{width:1em;height:1em}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.ovl{font-family:var(--font)}.ovl.font-rounded{--font:var(--font-rounded)}.ovl.font-serif{--font:var(--font-serif)}#app{max-width:520px;min-height:100dvh;margin:0 auto;padding-bottom:110px;position:relative}#app,#fabs-root{transition:filter .25s linear}body.has-overlay #app,body.has-overlay #fabs-root{filter:blur(5px)}#app.is-ready{animation:.25s fade}@media (width>=560px){body{background:#f3f4f6}#app{background:var(--bg);box-shadow:0 0 0 1px var(--line)}.ovl.is-gate #app{max-width:640px}.ovl.is-gate .fabs{width:min(640px,100%)}}html.js:not(.no-skel) #app .shell,html.js:not(.no-skel) #fabs-root,html.no-skel .skeleton,html:not(.js) .skeleton{display:none}html.embedded body{background:0 0}html.embedded #app{max-width:none;box-shadow:none;min-height:0;padding-bottom:40px}html.embedded .fabs{width:100%}.preview-banner{color:#7a4d00;text-align:center;background:#fff4d6;padding:8px 12px;font-size:13px;font-weight:700;line-height:1.3}.hdr{background:var(--bg-warm);grid-template-columns:1fr auto 1fr;align-items:center;height:96px;padding:0 15px;display:grid}.hdr .hdr-left{justify-self:start;align-items:center;gap:8px;display:flex}.hdr .lang-wrap{position:relative}.hdr .table-chip{justify-self:end}.logo{object-fit:contain;border-radius:50%;width:72px;height:72px}.logo-text{text-align:center;max-width:132px;min-height:36px;color:var(--ink);letter-spacing:-.01em;place-items:center;padding:0 4px;font-size:17px;font-weight:800;line-height:1.15;display:grid}.chip{height:36px;color:var(--ink);white-space:nowrap;background:0 0;border-radius:6px;align-items:center;gap:6px;padding:0 10px;font-size:15px;display:inline-flex;box-shadow:0 0 0 1px #c7c7c7}.chip b{font-weight:700}.chip-ico svg{width:15px;height:15px;color:var(--ink)}.chip-caret svg{width:14px;height:14px;color:var(--ink);transition:transform .2s var(--ease)}.chip.chip-icon{justify-content:center;width:36px;padding:0}.chip.chip-icon svg{width:18px;height:18px;color:var(--ink)}.lang-btn[aria-expanded=true] .chip-caret svg{transform:rotate(180deg)}.lang-menu{z-index:60;min-width:176px;max-height:min(70vh,460px);box-shadow:var(--shadow-heavy);animation:pop-in .18s var(--ease);background:#fff;border-radius:10px;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 6px);left:0;overflow-y:auto}.lang-menu button{text-align:left;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:10px 12px;font-size:15px;display:flex}.lang-menu button:hover{background:#f4f5f7}.lang-menu button.is-current{color:var(--main);font-weight:700}.lang-menu .tick svg{width:16px;height:16px}.tabs{z-index:30;height:var(--tabs-h);background:var(--bg-warm);scrollbar-width:none;padding:0 10px;display:flex;position:sticky;top:0;overflow-x:auto;box-shadow:inset 0 -1px #0000000f}.tabs::-webkit-scrollbar{display:none}.tab{min-width:max-content;color:var(--ink-soft);white-space:nowrap;border-radius:15px 15px 0 0;flex:1 1 0;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:16px;font-weight:700;transition:color .15s,background .15s;display:inline-flex;position:relative}.tab-ico svg{width:18px;height:18px}.tab-ico.flame{color:var(--flame)}.tab-ico.star{color:#f2a71b}.tab-ico.leaf{color:#4f9d3a}.tab-ico.coffee{color:#8b5a2b}.tab-ico.wine{color:#8e2c48}.tab.is-active{background:var(--bg);color:var(--main);box-shadow:0 -1px 5px #0000000f}.tab.is-active:before,.tab.is-active:after{content:"";background:0 0;width:10px;height:20px;position:absolute;bottom:0}.tab.is-active:before{box-shadow:4px 6px 0 2px var(--bg);border-bottom-right-radius:10px;left:-10px}.tab.is-active:after{box-shadow:-4px 6px 0 2px var(--bg);border-bottom-left-radius:10px;right:-10px}.tab-note{color:var(--ink);margin:0;padding:12px 15px 0;font-size:15px}.tab-note:empty{display:none}.hint{background:var(--main-tint);color:var(--ink);border-radius:6px;align-items:center;gap:9px;margin:12px 15px 0;padding:10px 12px;font-size:14px;line-height:1.35;display:flex}.hint svg{width:18px;height:18px;color:var(--main);flex:none}.hint.warn{background:var(--warn-tint)}.hint.warn svg{color:var(--warn)}.feedback{box-shadow:var(--shadow-card);text-align:center;background:#fff;border-radius:6px;margin:14px 15px 0;padding:16px 16px 14px;position:relative}.feedback .fb-x{position:absolute;top:6px;right:6px}.fb-q{margin:0 0 12px;padding:0 22px;font-size:15px}.fb-row{gap:10px;display:flex}.fb-row .btn{flex:1}.fb-comment{resize:vertical;height:auto;min-height:84px;margin-bottom:10px;line-height:1.4}.menu{padding:0 15px}.pills{top:var(--tabs-h);z-index:25;height:var(--pills-h);scrollbar-width:none;scroll-snap-type:x proximity;background:#fff;align-items:center;gap:14px;margin:0 -15px;padding:0 15px;display:flex;position:sticky;overflow-x:auto}.pills::-webkit-scrollbar{display:none}.pill{color:#444;width:48px;height:48px;transition:background .2s, color .2s, box-shadow .2s, transform .2s var(--ease);scroll-snap-align:start;background:#f8f8f8;border-radius:50%;flex:0 0 48px;place-items:center;display:grid;box-shadow:1px 1px 5px #afafaf3b}.pill svg{width:22px;height:22px}.pill.is-active{background:var(--main);color:#fff;box-shadow:0 4px 10px var(--main-glow)}.sec{margin-top:6px}.sec-title{top:var(--tabs-h);z-index:20;color:var(--ink);-webkit-backdrop-filter:blur(6px);background:#fffffff5;flex-wrap:wrap;align-items:baseline;gap:10px;margin:0 -15px;padding:14px 15px 10px;font-size:27px;font-weight:700;line-height:1.2;display:flex;position:sticky}.menu.has-pills .sec-title{top:calc(var(--tabs-h) + var(--pills-h))}.sec-note{color:var(--ink-soft);font-size:13px;font-weight:500}.cards{flex-direction:column;gap:20px;padding:8px 0 12px;display:flex}.cards>*,.search-results>*{flex-shrink:0}.card{min-height:112px;box-shadow:var(--shadow-card);cursor:pointer;background:#fff;border-radius:6px;outline:none;display:flex;position:relative}.card:focus-visible,.gcard:focus-visible{box-shadow:var(--shadow-card), 0 0 0 3px var(--main-tint)}.card-img{background:#f4f4f4;border-radius:6px 0 0 6px;flex:0 0 80px;overflow:hidden}.card-img img{object-fit:cover;width:100%;height:100%}.card-img.contain{background:#fff}.card-img.contain img{object-fit:contain;padding:10px 2px 10px 10px}.card-body{flex:1;min-width:0;padding:14px 56px 14px 16px}.card.no-img{min-height:84px}.card-name{margin:0 0 3px;font-size:16px;font-weight:700;line-height:1.3}.card-desc{color:var(--ink-2);margin:0 0 6px;font-size:13.5px;line-height:1.4}.card-price{color:var(--price);flex-wrap:wrap;align-items:center;gap:4px 6px;margin:0;font-size:13px;display:flex}.crumb{color:#9aa0aa;margin:0 0 2px;font-size:12px}.fallback{color:var(--ink-soft);vertical-align:1px;margin-left:4px;font-size:11px;font-weight:600}.chip-al{letter-spacing:.04em;color:var(--ink-soft);white-space:nowrap;background:#f1f2f4;border-radius:4px;padding:3px 5px;font-size:11px;font-weight:600;line-height:1;display:inline-block}.chip-tag{background:var(--main-tint);color:var(--main);white-space:nowrap;border-radius:4px;padding:3px 6px;font-size:11px;font-weight:700;line-height:1;display:inline-block}.chip-tag.spicy{color:#c2410c;background:#fdece4}.chip-tag.vegan,.chip-tag.vegetarian{color:#3f7a2a;background:#e9f5e3}.chip-tag.gluten_free{color:#8a5a00;background:#fff3d6}.chip-tag.new{color:#b0225a;background:#fde8f0}.chip-tag.popular,.chip-tag.chef{color:#9a5b00;background:#fff1de}.card.is-soldout .card-img,.card.is-soldout .card-body,.gcard.is-soldout .gcard-img,.gcard.is-soldout .card-name,.gcard.is-soldout .card-price{opacity:.55}.soldout{letter-spacing:.04em;text-transform:uppercase;color:#5b6472;white-space:nowrap;background:#e9ebef;border-radius:4px;padding:5px 7px;font-size:11px;font-weight:700;line-height:1;display:inline-block}.card .soldout{z-index:2;position:absolute;bottom:12px;right:10px}.gcard .soldout{z-index:2;position:absolute;bottom:8px;right:8px}.qty{z-index:2;height:40px;display:flex;position:absolute;bottom:-5px;right:-5px}.qty-btn,.qty-count{width:40px;height:40px;box-shadow:var(--shadow-drop);transition:width .24s var(--ease), opacity .18s, margin .24s var(--ease), background .15s;border-radius:6px;place-items:center;margin-right:2px;display:grid;overflow:hidden}.qty-btn:last-child,.qty-count:last-child{margin-right:0}.qty-btn svg{flex:none;width:16px;height:16px}.qty-minus{background:var(--grey-btn);color:var(--grey-ink)}.qty-count{color:#fff;background:#0000008c;font-size:15px;font-weight:700}.qty-plus{background:var(--add);color:var(--add-ink)}.qty[data-qty="0"] .qty-minus,.qty[data-qty="0"] .qty-count{opacity:0;pointer-events:none;width:0;margin-right:0}.cards.grid{grid-template-columns:1fr 1fr;gap:22px 16px;padding-top:10px;display:grid}.gcard{cursor:pointer;border-radius:6px;outline:none;flex-direction:column;display:flex;position:relative}.gcard-media{margin-bottom:12px;position:relative}.gcard-img{aspect-ratio:1;box-shadow:var(--shadow-drop);background:#f4f4f4;border-radius:6px;overflow:hidden}.gcard-img img{object-fit:cover;width:100%;height:100%}.gcard-img.contain{background:#fff}.gcard-img.contain img{object-fit:contain;padding:10px}.gcard .card-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.6em;margin:0 0 4px;line-height:1.3;display:-webkit-box;overflow:hidden}.end{text-align:center;color:var(--ink);padding:30px 10px 24px;font-size:14.5px;line-height:1.5}.end p{margin:0 0 14px}.privacy{color:var(--main);font-size:14px;text-decoration:none}.legal{color:var(--ink-soft);font-size:12.5px;line-height:1.45;margin:14px 0 0!important}.powered{color:var(--ink-soft);font-size:12px;margin:18px 0 0!important}.powered a{color:var(--main);font-weight:700;text-decoration:none}.fabs{z-index:40;pointer-events:none;justify-content:flex-end;gap:10px;width:min(520px,100%);padding:0 15px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.fab{pointer-events:auto;background:var(--accent);color:#fff;min-width:50px;height:50px;box-shadow:var(--shadow-heavy);transition:transform .15s var(--ease), background .15s;border-radius:25px;justify-content:center;align-items:center;gap:5px;padding:0;display:inline-flex;position:relative}.fab svg{width:22px;height:22px}.fab:active{transform:scale(.94)}.fab:focus-visible{outline:3px solid var(--main-tint);outline-offset:2px}.fab-basket{padding:0 14px 0 12px}.fab .badge{font-size:15px;font-weight:700;line-height:1;display:inline-block}.fab.is-pending:after{content:"";border:3px solid var(--ink);border-radius:50%;animation:1.6s ease-in-out infinite ring;position:absolute;inset:-5px}.overlay{z-index:100;-webkit-overflow-scrolling:touch;background:0 0;justify-content:center;align-items:center;padding:16px;transition:background .22s;display:flex;position:fixed;inset:0;overflow-y:auto}.overlay.is-open{background:#00000047}.overlay-top{align-items:flex-start}.sheet{width:100%;max-width:440px;max-height:calc(100dvh - 32px);box-shadow:var(--shadow-modal);opacity:0;transition:transform .26s var(--ease), opacity .2s;background:#fff;border-radius:15px;outline:none;flex-direction:column;display:flex;overflow:hidden;transform:translateY(26px)scale(.97)}.overlay.is-open .sheet{opacity:1;transform:none}.overlay.is-closing .sheet{opacity:0;transform:translateY(14px)scale(.98)}.modal-head{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:14px 12px 12px 16px;display:flex}.modal-title{flex:1;margin:0;font-size:20px;font-weight:700;line-height:1.25}.modal-title.big{font-size:30px;line-height:1.1}.modal-title .dot{color:var(--ink-soft);font-weight:400}.modal-price{white-space:nowrap}.modal-thumb{object-fit:cover;background:#f4f4f4;border-radius:8px;flex:none;width:56px;height:56px}.modal-thumb.contain{object-fit:contain}.icon-btn{width:36px;height:36px;color:var(--ink);border-radius:8px;flex:none;place-items:center;transition:background .15s;display:grid}.icon-btn svg{width:20px;height:20px}.icon-btn:hover{background:#f2f3f5}.icon-btn:focus-visible,.btn:focus-visible,.chip:focus-visible,.tab:focus-visible,.pill:focus-visible,.qty-btn:focus-visible,.stepper button:focus-visible{outline:3px solid var(--main-tint);outline-offset:1px}.modal-body{-webkit-overflow-scrolling:touch;flex:1;min-height:0;padding:16px;overflow-y:auto}.modal-desc{color:var(--ink-2);margin:0 0 16px;font-size:14.5px;line-height:1.45}.modal-foot{border-top:1px solid var(--line);align-items:center;gap:10px;padding:12px 16px 16px;display:flex}.modal-foot.col{flex-direction:column;align-items:stretch;gap:0}.modal-foot .btn-ghost{margin-left:auto}.modal-foot .btn-add{flex:1;min-width:0}@media (width<=440px){.modal-foot:not(.col) .btn-ghost{display:none}}.m-tags{flex-wrap:wrap;gap:6px;margin:0 0 14px;display:flex}.m-tags .chip-tag{padding:4px 8px;font-size:12px}.m-allergens{margin:0 0 18px}.m-allergens h3{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 8px;font-size:12.5px;font-weight:700}.al-list{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.al-list li{color:var(--ink-2);background:#f4f5f7;border-radius:6px;align-items:center;gap:6px;padding:5px 9px 5px 7px;font-size:13.5px;display:inline-flex}.al-list li svg{width:18px;height:18px;color:var(--ink)}.al-list .n{color:var(--ink-soft);font-size:12px;font-weight:700}.al-none{color:var(--ink-soft);margin:0;font-size:13.5px}.m-soldout{align-items:center;gap:8px;margin:0 0 14px;display:flex}.ogroup{margin:0 0 18px}.ogroup-title{margin:0 0 10px;font-size:22px;font-weight:700;line-height:1.2}.ogroup-title small{color:var(--ink-soft);font-size:14px;font-weight:400}.ogroup-title .star{color:var(--main)}.opt{color:#6b6b6b;cursor:pointer;-webkit-user-select:none;user-select:none;background:#ededed;border:2px solid #e6e6e6;border-radius:6px;align-items:center;gap:12px;margin-bottom:8px;padding:13px 14px;font-size:16px;font-weight:700;transition:background .15s,border-color .15s,color .15s;display:flex;position:relative}.opt input{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.opt-box{color:#fff;background:#fff;border:1px solid #c9c9c9;border-radius:4px;flex:none;place-items:center;width:22px;height:22px;transition:background .15s,border-color .15s;display:grid}.opt-box svg{opacity:0;width:14px;height:14px;transition:opacity .15s, transform .2s var(--ease);transform:scale(.4)}.opt-name{flex:1}.opt-price{font-size:15px;font-weight:600}.opt.is-on{background:var(--add);border-color:var(--add-mid);color:var(--add-ink)}.opt.is-on .opt-box{background:var(--add-ink);border-color:var(--add-ink)}.opt.is-on .opt-box svg{opacity:1;transform:scale(1)}.opt:focus-within{box-shadow:0 0 0 3px var(--main-tint)}.opt.is-off{opacity:.55;cursor:default}.opt.is-off .opt-price{text-transform:uppercase;letter-spacing:.04em;font-size:12px}.input{background:#fff;border:1px solid #ced4da;border-radius:6px;outline:none;width:100%;height:46px;padding:10px 14px;font-size:16px;transition:border-color .15s,box-shadow .15s}.input:focus{border-color:var(--main);box-shadow:0 0 0 3px var(--main-tint)}textarea.input{resize:vertical;height:auto;min-height:46px;line-height:1.4}.stepper{flex:none;gap:2px;display:inline-flex}.stepper button,.stepper-n{width:40px;height:40px;box-shadow:var(--shadow-drop);border-radius:6px;place-items:center;display:grid}.stepper button{background:var(--grey-btn);color:var(--grey-ink)}.stepper button svg{width:16px;height:16px}.stepper-n{color:#fff;background:#0000008c;font-weight:700}.stepper.sm button,.stepper.sm .stepper-n{width:32px;height:32px;font-size:14px}.stepper.sm button svg{width:13px;height:13px}.btn{white-space:nowrap;height:40px;transition:transform .12s var(--ease), background .15s, opacity .15s;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:15px;font-weight:700;text-decoration:none;display:inline-flex}.btn:active{transform:scale(.97)}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-dark)}.btn-primary:disabled{opacity:.5;cursor:default;transform:none}.btn-add{background:var(--add);color:var(--add-ink)}.btn-add:disabled{opacity:.5;cursor:default;transform:none}.btn-ghost{background:var(--grey-btn);color:#6b6b6b}.btn-text{color:var(--ink);background:0 0}.btn-block{width:100%;height:46px;font-size:16px}.btn-icon{justify-content:flex-start;padding:0 16px}.btn-icon>span{place-items:center;display:inline-grid}.btn-icon svg{width:20px;height:20px}.btn-sm{border-radius:6px;height:32px;padding:0 12px;font-size:13.5px}.btn-sm svg{width:15px;height:15px}.svc-body .btn-icon{margin-bottom:10px}.svc-body .btn-icon:last-child{margin-bottom:0}.row2{gap:10px;margin-top:12px;display:flex}.row2 .btn{flex:1}.basket-body{padding:4px 16px 8px}.bline{border-bottom:1px solid var(--line);padding:12px 0}.bline:last-child{border-bottom:0}.bline-row{align-items:center;gap:12px;display:flex}.bthumb{object-fit:cover;width:48px;height:48px;box-shadow:var(--shadow-drop);background:#f4f4f4;border-radius:8px;flex:none}.bthumb.contain{object-fit:contain}.bthumb-empty{box-shadow:none;color:#b9bdc6;background:#f1f1f1;place-items:center;display:grid}.bthumb-empty svg{width:22px;height:22px}.binfo{flex:1;min-width:0}.bname{font-size:15.5px;font-weight:700;line-height:1.3}.bprice{color:var(--price);font-size:13.5px}.bx{color:var(--ink-soft)}.bopts{color:var(--ink-2);margin:8px 0 0 60px;padding-left:18px;font-size:14px}.bopts li{margin:2px 0}.bopts span{color:var(--ink-soft)}.bremark{height:42px;margin-top:10px;padding:8px 12px;font-size:15px}.bline.is-flagged .bline-row,.bline.is-flagged .bopts{opacity:.6}.bflag{color:var(--warn);align-items:center;gap:6px;margin:8px 0 0;font-size:13px;font-weight:600;display:flex}.bflag svg{flex:none;width:15px;height:15px}.bnotice{background:var(--warn-tint);color:var(--warn);border-radius:6px;align-items:flex-start;gap:8px;margin:10px 0 4px;padding:10px 12px;font-size:13.5px;line-height:1.35;display:flex}.bnotice svg{flex:none;width:16px;height:16px;margin-top:1px}.bnote-wrap{padding:14px 0 6px}.bnote-wrap label{color:var(--ink-soft);margin:0 0 6px;font-size:13px;font-weight:700;display:block}.bempty{text-align:center;padding:26px 10px 12px}.bempty-ico svg{color:#c9ccd3;width:44px;height:44px}.bempty-t{margin:8px 0 4px;font-size:17px;font-weight:700}.bempty-s{color:var(--ink-soft);margin:0 0 18px;font-size:14.5px}.btotal{justify-content:space-between;align-items:baseline;margin:0 0 12px;font-size:16px;display:flex}.btotal b{font-size:19px}.foot-note{text-align:center;color:var(--ink-soft);margin:10px 0 0;font-size:13px}.foot-error{background:var(--warn-tint);color:var(--warn);border-radius:6px;align-items:flex-start;gap:8px;margin:0 0 12px;padding:10px 12px;font-size:14px;line-height:1.35;display:flex}.foot-error svg{flex:none;width:17px;height:17px;margin-top:1px}.foot-confirm{margin:0 0 12px}.foot-confirm p{text-align:center;margin:0 0 10px;font-size:15px;font-weight:600}.foot-confirm .row2{margin-top:0}.btn-block.is-busy{opacity:.7;pointer-events:none}.modal-success{text-align:center;align-items:center;padding:34px 24px 24px}.check-anim{width:84px;height:84px;margin-bottom:14px}.check-circle{stroke:var(--add-ink);stroke-width:2.5px;stroke-dasharray:166;stroke-dashoffset:166px;animation:.6s cubic-bezier(.65,0,.45,1) forwards draw}.check-mark{stroke:var(--add-ink);stroke-width:3.5px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:48;stroke-dashoffset:48px;animation:.35s cubic-bezier(.65,0,.45,1) .55s forwards draw}.success-title{margin:0 0 6px;font-size:26px}.success-sub{color:var(--ink-2);margin:0 0 6px}.success-no{color:var(--ink-soft);margin:0 0 6px;font-size:14px;font-weight:700}.demo-note{color:var(--ink-soft);margin:0 0 20px;font-size:13px}.modal-success .success-no:last-of-type{margin-bottom:20px}.modal-success .btn-block{width:100%}.search-sheet{max-height:calc(100dvh - 32px)}.search-head{align-items:center;gap:10px;padding:12px 14px;display:flex}.search-ico{color:#9aa0aa;place-items:center;display:inline-grid}.search-ico svg{width:20px;height:20px}#search-input{-webkit-appearance:none;background:0 0;border:0;outline:0;flex:1;min-width:0;padding:8px 0;font-size:16px}#search-input::-webkit-search-cancel-button{-webkit-appearance:none}.search-close{color:var(--ink);padding:6px 2px;font-size:16px;font-weight:700}.search-results{flex-direction:column;gap:16px;padding:0 14px 16px;display:flex;overflow-y:auto}.search-results:empty{padding:0}.search-results .card{margin-bottom:5px;margin-right:5px}.no-results{text-align:center;color:var(--ink-soft);margin:6px 0 8px}.wifi-body{padding:8px 16px 12px}.wifi-row{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:12px 0;display:flex}.wifi-row:last-child{border-bottom:0}.wifi-kv{flex:1;min-width:0}.wifi-k{letter-spacing:.03em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:3px;font-size:12.5px;font-weight:600;display:block}.wifi-v{word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:17px;font-weight:700;line-height:1.25}.wifi-hidden{color:var(--ink-2);background:#f4f5f7;border-radius:6px;align-items:center;gap:8px;margin:4px 0 0;padding:10px 12px;font-size:13.5px;display:flex}.wifi-hidden svg{width:16px;height:16px;color:var(--ink-soft);flex:none}#toast-root{z-index:200;pointer-events:none;justify-content:center;width:min(92vw,420px);display:flex;position:fixed;bottom:88px;left:50%;transform:translate(-50%)}.toast{color:#fff;text-align:center;box-shadow:var(--shadow-heavy);animation:toast-in .28s var(--ease);background:#2c3e50f5;border-radius:10px;padding:12px 18px;font-size:14.5px;font-weight:600}.toast.is-out{animation:.25s forwards toast-out}.fly{z-index:150;background:var(--accent) center / cover no-repeat;width:32px;height:32px;box-shadow:var(--shadow-heavy);pointer-events:none;will-change:transform, opacity;border-radius:50%;position:fixed}.skeleton{padding:0 15px}.sk{background:linear-gradient(90deg,#e9e9e9 0%,#f6f6f6 40%,#e9e9e9 80%) 0 0/600px 100%;border-radius:8px;animation:1.4s linear infinite shine}.sk-hdr{background:var(--bg-warm);justify-content:space-between;align-items:center;height:96px;margin:0 -15px;padding:0 15px;display:flex}.sk-chip{width:64px;height:36px}.sk-logo{border-radius:50%;width:72px;height:72px}.sk-tabs{background:var(--bg-warm);align-items:center;gap:10px;height:50px;margin:0 -15px;padding:0 15px;display:flex}.sk-tab{flex:1;height:26px}.sk-title{width:200px;height:28px;margin:32px 0 22px}.sk-card{height:112px;box-shadow:var(--shadow-card);border-radius:6px;margin-bottom:20px;display:flex;position:relative}.sk-img{border-radius:6px 0 0 6px;width:80px;height:100%}.sk-lines{flex:1;padding:16px}.sk-l1{width:60%;height:16px;margin-bottom:10px}.sk-l2{width:85%;height:12px;margin-bottom:8px}.sk-l3{width:30%;height:12px}.sk-btn{border-radius:6px;width:40px;height:40px;position:absolute;bottom:-5px;right:-5px}.empty-menu{text-align:center;color:var(--ink-soft);padding:60px 20px;font-size:16px}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes pop-in{0%{opacity:0;transform:translateY(-6px)scale(.97)}to{opacity:1;transform:none}}@keyframes shine{0%{background-position:-300px 0}to{background-position:300px 0}}@keyframes ring{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(1.12)}}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes toast-out{to{opacity:0;transform:translateY(8px)}}@keyframes draw{to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}html{scroll-behavior:auto}}
