/* Tigro reference geometry: 208x255 open, 121x173 peek, desktop .765.
   Stage bottom 20px; menu origin right 104px / bottom 127.5px.
   Five menu items follow an arc around Opet, using Opet's own palette. */
.opet-art svg{width:100%;height:100%;overflow:hidden}.opet-stage{position:fixed;right:calc(1rem + env(safe-area-inset-right,0px));bottom:calc(1.25rem + env(safe-area-inset-bottom,0px));z-index:9000;display:flex;flex-direction:column;align-items:flex-end;pointer-events:none;color:#5b4130;font-family:'DM Sans','Segoe UI',sans-serif}.opet-hub{position:relative;transform-origin:bottom right;margin-right:calc(-1rem - env(safe-area-inset-right,0px));width:208px;height:303px}.opet-pet-wrap{position:relative;display:block;margin-bottom:48px}.opet-launcher{position:relative;display:block;width:208px;height:255px;padding:0;border:0;background:none;cursor:pointer;pointer-events:none;user-select:none;-webkit-tap-highlight-color:transparent;transform-origin:bottom right;filter:drop-shadow(0 6px 14px #e9833a22) drop-shadow(0 2px 5px #8c4a2020)}.opet-peek,.opet-full{position:absolute;right:0;bottom:0;transform-origin:bottom right;transition:transform .32s var(--ease),opacity .25s;pointer-events:none}.opet-peek{width:121px;height:173px;transform:translateX(12px);animation:opet-bob 3.4s cubic-bezier(.65,0,.35,1) infinite;pointer-events:auto;touch-action:none}.opet-peek svg{width:100%;height:100%;overflow:hidden}.opet-full{width:208px;height:255px;opacity:0;transform:translateX(44px) translateY(6px) scale(.66)}.opet-full>div{height:100%;width:100%}.opet-full .opet-art{height:100%;width:100%}.opet-full svg{width:100%;height:100%;overflow:hidden}.opet-stage[data-open=true] .opet-peek,.opet-stage[data-reacting=true] .opet-peek{opacity:0;transform:translateX(48px) translateY(4px) scale(.9);pointer-events:none}.opet-stage[data-open=true] .opet-full,.opet-stage[data-reacting=true] .opet-full{opacity:1;transform:none;animation:opet-emerge .46s var(--ease);pointer-events:auto;touch-action:none}.opet-launcher:focus-visible{outline:0}.opet-launcher:focus-visible .opet-peek,.opet-launcher:focus-visible .opet-full{filter:drop-shadow(0 0 4px #a64b20)}.opet-menu{position:absolute;right:104px;bottom:127.5px;width:0;height:0;overflow:visible;z-index:20;--visual:1}.opet-option{position:absolute;right:0;bottom:0;display:inline-flex;width:max-content;max-width:none;min-height:54px;align-items:center;gap:12px;padding:8px 20px 8px 10px;border:1px solid #fffcf5;border-radius:999px;background:#fffaf3f5;box-shadow:0 10px 30px #75412229;color:#593c2b;font:700 .98rem/1 'DM Sans','Segoe UI',sans-serif;white-space:nowrap;cursor:pointer;pointer-events:auto;transform-origin:bottom right;backdrop-filter:blur(14px);transform:translate(var(--tx),var(--ty)) scale(var(--visual));animation:opet-option-in .36s var(--ease) both;animation-delay:var(--delay);transition:background .2s,border-color .2s,box-shadow .2s}.opet-option:hover,.opet-option:focus-visible,.opet-option[aria-expanded=true]{border-color:#f69e6b;color:#a8471f;background:#fff;box-shadow:0 10px 32px #7f411b36}.opet-option-icon{display:grid;place-items:center;width:40px;height:40px;flex:0 0 auto;border-radius:999px;background:#ffe8d5;color:#b85c2c;border:1px solid #f4d1b6}.opet-option-icon svg{width:19px;height:19px}.opet-option-chevron{display:grid;place-items:center;width:24px;height:24px;border:1px solid #e7c6a8;border-radius:999px;background:#fbeedc;color:#b46638;transition:transform .2s}.opet-option-chevron svg{width:16px;height:16px}.opet-option[aria-expanded=true] .opet-option-chevron{transform:rotate(180deg)}.opet-option[data-sub=true]{min-height:46px;gap:10px;padding:6px 16px 6px 8px;font-size:.9rem}.opet-option[data-sub=true] .opet-option-icon{width:32px;height:32px}.opet-option[data-sub=true] svg{width:16px;height:16px}.opet-scrim{position:fixed;inset:0;background:#392a1710;border:0;z-index:8990;cursor:default}.opet-tip{position:absolute;bottom:160px;right:98px;width:max-content;max-width:190px;padding:10px 13px;border:1px solid #efdbc4;border-radius:14px 14px 4px 14px;background:#fffdf7;color:#8c6648;box-shadow:0 8px 24px #57341613;font-size:11px;line-height:1.5;pointer-events:auto;animation:opet-pop .4s var(--ease);text-align:left}.opet-tip b{font-weight:700;color:#bd642e}.opet-tip:after{content:'';position:absolute;right:-9px;bottom:8px;width:10px;height:12px;background:#fffdf7;clip-path:polygon(0 0,100% 65%,0 100%)}.opet-drag-hint{position:absolute;bottom:16px;right:25px;white-space:nowrap;font-size:10px;letter-spacing:.3px;color:#a77752;opacity:0;transition:opacity .2s}.opet-stage[data-open=true] .opet-drag-hint{opacity:1}.opet-effect{position:absolute;right:40px;bottom:225px;color:#f5a641;font-size:26px;opacity:0;pointer-events:none}.opet-stage[data-reacting=true] .opet-effect{animation:opet-spark 1.5s var(--ease) both}.opet-motion[data-motion=wave]{animation:opet-wave .85s var(--ease) both}.opet-motion[data-motion=jump]{animation:opet-jump .85s var(--ease) both}.opet-motion[data-motion=tilt]{animation:opet-tilt .85s var(--ease) both}.opet-motion[data-motion=walk]{animation:opet-walk 1.1s var(--ease) both}.opet-motion[data-motion=nod]{animation:opet-nod .8s var(--ease) both}.opet-motion[data-motion=zen]{animation:opet-zen 2s ease-in-out both}.opet-motion{transform-origin:50% 90%;height:100%}.opet-dialog-shade{position:fixed;inset:0;z-index:9490;background:#38261826;backdrop-filter:blur(3px);animation:opet-fade .2s}.opet-dialog-shell{position:fixed;bottom:calc(20px + env(safe-area-inset-bottom));right:20px;z-index:9500;width:min(368px,calc(100vw - 24px));animation:opet-pop .32s var(--ease);outline:0}.opet-panel-peeker{position:absolute;top:-89px;right:24px;width:142px;height:101px;z-index:1;pointer-events:none;transform-origin:bottom;animation:opet-panel-peek .55s var(--ease) both}.opet-panel-peeker svg{width:100%;height:100%;overflow:hidden}.opet-dialog{position:relative;z-index:2;background:#fffcf8;border:1px solid #ead9c5;border-radius:17px;box-shadow:0 24px 70px #4d2c2733;display:flex;flex-direction:column;height:min(528px,calc(100dvh - 135px));overflow:hidden}.opet-panel-head{display:flex;align-items:center;gap:9px;padding:13px 12px;background:linear-gradient(180deg,#fff1df,#fffcf8);border-bottom:1px solid #efe3d3;flex-shrink:0}.opet-panel-head .head-avatar{width:35px;height:35px;border-radius:50%;background:#ffebd0;overflow:hidden;padding:2px}.head-avatar>svg{width:100%;height:100%}.opet-heading{flex:1}.opet-heading strong{font-family:'Plus Jakarta Sans',sans-serif;font-size:12px;display:block;font-weight:750}.opet-heading small{font-size:9px;color:#b29a83;display:flex;align-items:center;gap:4px;margin-top:4px}.opet-heading small:before{content:'';width:4px;height:4px;border-radius:50%;background:#a4b57d}.opet-head-button{display:grid;place-items:center;flex-shrink:0;width:30px;height:32px;background:none;color:#a18b77;border-radius:8px}.opet-head-button:hover{background:#f7ead9}.opet-head-button svg{width:17px;height:17px}.opet-panel-body{padding:20px;overflow:auto;flex:1;scrollbar-width:thin;scrollbar-color:#e7d0b7 transparent}.panel-kicker{font-size:8px;font-weight:700;letter-spacing:1.5px;color:#bb8250;margin:0 0 7px;display:block}.panel-intro h2{font-family:'Plus Jakarta Sans',sans-serif;font-size:23px;line-height:1.4;letter-spacing:-.8px;margin:0 0 9px;font-weight:800;color:#5b3d2a}.panel-intro>p{font-size:11px;line-height:1.8;color:#a38a72;margin:0}.panel-tag{display:inline-flex;align-items:center;gap:5px;border:1px solid #efddc6;background:#fff6e9;border-radius:20px;font-size:8px;color:#a47e55;padding:5px 8px;margin:13px 0}.panel-tag svg{width:11px;height:11px}.opet-panel-footer{padding:11px 16px;border-top:1px solid #efe3d3;display:flex;align-items:center;justify-content:space-between;color:#b8a28a;font-size:8px;background:#fffcf8;flex-shrink:0}.opet-panel-footer>span:first-child{display:flex;align-items:center;gap:4px}.opet-panel-footer svg{width:10px;height:10px}.opet-panel-footer b{font-family:'Plus Jakarta Sans',sans-serif;color:#d28e56;font-size:11px;letter-spacing:-.4px}.order-steps{display:flex;flex-direction:column;gap:16px;margin:20px 0 23px}.order-step{display:flex;gap:12px}.step-number{display:grid;place-items:center;width:27px;height:27px;border-radius:9px;background:#fff0dd;border:1px solid #efd9bd;flex-shrink:0;color:#b97b3d;font-size:11px;font-weight:700}.order-step strong{font-size:11px;color:#765338}.order-step p{font-size:10px;line-height:1.7;color:#ac947e;margin:5px 0 0}.opet-panel-body .primary-button{width:100%;font-size:11px;min-height:40px}.panel-note{font-size:8px;line-height:1.7;color:#baa58e;text-align:center;margin:9px 0 0}.coupon{border:1px solid #e9d3b9;background:#fff5e8;border-radius:13px;padding:17px;margin-top:15px;position:relative}.coupon h3{font-family:'Plus Jakarta Sans',sans-serif;font-size:21px;color:#ae6033;letter-spacing:-.6px;margin:7px 0}.coupon .coupon-category{font-size:8px;color:#b58b64;letter-spacing:.7px;text-transform:uppercase}.coupon p{font-size:10px;color:#ab8d72;line-height:1.7;margin:6px 0 13px}.coupon-bottom{border-top:1px dashed #e3c6a4;padding-top:12px;display:flex;align-items:center;justify-content:space-between}.coupon code{font-family:'DM Sans',sans-serif;letter-spacing:1px;font-size:10px;font-weight:700;color:#9f643a}.coupon button{border:1px solid #e4c7a7;color:#ad7140;background:#fffcf7;border-radius:7px;padding:6px 10px;font-size:9px;font-weight:600}.coupon-secondary{background:#f6f4e8;border-color:#e5e0c7}.coupon-secondary h3{color:#8d8f51}.coupon-secondary .coupon-category{color:#9e9d77}.coupon-secondary .coupon-bottom{border-color:#d5d0b3}.floor-labels{display:flex;align-items:center;gap:12px;font-size:8px;color:#ae967c;margin:13px 0}.floor-labels>span{display:flex;align-items:center;gap:4px}.floor-labels i{width:6px;height:6px;border-radius:50%;background:#a9b989}.floor-labels span:last-child i{background:#ded8ce}.floor-map{border:1px solid #eadbc6;border-radius:12px;padding:14px;background:#f6f0e5;position:relative}.floor-store{background:#ecdfcc;color:#b2916a;text-align:center;font-size:8px;letter-spacing:.8px;padding:10px;border-radius:6px;border:1px solid #e1cfb6}.table-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px 10px;padding:22px 5px}.table-button{position:relative;border:1px solid #c8d1ae;background:#edf0dc;color:#8b9c65;border-radius:7px;min-height:33px;font-size:9px;font-weight:650}.table-button:before,.table-button:after{content:'';position:absolute;left:30%;width:40%;height:3px;border-radius:3px;background:#d2d8b9}.table-button:before{top:-5px}.table-button:after{bottom:-5px}.table-button[disabled]{background:#e9e3d8;border-color:#d8d0c3;color:#b6aa9a;opacity:.9}.table-button[disabled]:before,.table-button[disabled]:after{background:#d8d0c3}.table-button[aria-pressed=true]{background:#ffddbb;border-color:#e39151;color:#b5632d;box-shadow:0 0 0 3px #ffc78c44}.table-button[aria-pressed=true]:before,.table-button[aria-pressed=true]:after{background:#eaa771}.floor-entrance{border-top:1px dashed #dacebd;text-align:center;font-size:8px;color:#b29b7f;padding-top:10px}.selected-table{font-size:10px;color:#a38a6d;padding:12px 0 14px;line-height:1.7}.help-options{display:flex;flex-direction:column;gap:11px;margin-top:20px}.help-option{display:flex;align-items:center;gap:12px;text-align:left;border:1px solid #eee0ce;background:#fffaf2;padding:15px 13px;border-radius:12px}.help-option:hover{border-color:#dda77a;background:#fff5e5}.help-option-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:#ffead2;color:#bd7e44;flex-shrink:0}.help-option-icon svg{width:18px;height:18px}.help-option strong{display:block;font-size:11px;color:#765438}.help-option small{display:block;font-size:9px;color:#b39b81;margin-top:5px}.help-option>svg{margin-left:auto;width:15px;color:#c2a282}.help-bottom{padding-top:24px;display:flex;align-items:center;gap:14px}.help-bottom .opet-art{width:77px;height:81px;flex-shrink:0}.help-bottom p{font-size:10px;line-height:1.9;color:#b09479}.about-art{width:116px;height:120px;margin:0 auto 10px}.about-center{text-align:center}.about-center p{font-size:11px;line-height:1.9;color:#a38a72}.about-badges{display:flex;gap:6px;justify-content:center;margin:15px 0 20px}.about-badges span{font-size:8px;padding:6px 8px;border:1px solid #ecdcc7;border-radius:20px;color:#b28c64;background:#fff6e8}.pose-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.pose-buttons button{background:#fff6e9;border:1px solid #efdfc9;border-radius:9px;padding:8px 3px;color:#aa815c;font-size:8px;min-height:33px}.pose-buttons button:hover,.pose-buttons button[aria-pressed=true]{background:#ffead0;border-color:#e7b078;color:#aa6636}.chat-callout{background:#f6efe4;padding:11px 13px;border-radius:10px;font-size:9px;line-height:1.7;color:#ab9074;margin:13px 0}.chat-message{max-width:90%;padding:12px 13px;border-radius:0 13px 13px 13px;background:#f9eddd;font-size:10px;line-height:1.8;color:#987755;margin:13px 0}.chat-message.user{margin-left:auto;background:#f5b879;color:#724019;border-radius:13px 0 13px 13px}.chat-message small{display:block;font-size:7px;letter-spacing:.5px;color:#b39575;margin-bottom:4px}.chat-message.user small{color:#a36835}.chat-form{display:flex;align-items:center;gap:8px;margin:15px 0 0}.chat-form input{flex:1;min-width:0;background:#fffaf2;border:1px solid #e9d9c3;border-radius:10px;font-size:10px;padding:12px;color:#8c6e50}.chat-form button{display:grid;place-items:center;width:37px;height:37px;background:#eea369;color:#fff;border-radius:10px;flex-shrink:0}.chat-form button svg{width:16px;height:16px}.quick-chat{display:flex;gap:6px;margin:12px 0;flex-wrap:wrap}.quick-chat button{padding:6px 8px;background:#fffcf6;border:1px solid #eadac3;border-radius:15px;font-size:8px;color:#b49371}.cart-row{display:flex;align-items:center;gap:12px;border-bottom:1px solid #eee0ce;padding:14px 0}.cart-row img{width:45px;height:45px;object-fit:cover;border-radius:9px}.cart-row strong{font-size:10px;display:block}.cart-row small{font-size:9px;color:#b5997d;display:block;margin-top:5px}.cart-row>span:last-child{font-size:10px;margin-left:auto;color:#aa7951}.cart-total{display:flex;justify-content:space-between;margin:20px 0;font-size:12px;color:#966b46}.empty-panel{text-align:center;padding:25px 10px}.empty-panel .opet-art{width:115px;height:125px;margin:0 auto 15px}.empty-panel h3{font-size:16px;font-family:'Plus Jakarta Sans',sans-serif;color:#8a6342}.empty-panel p{font-size:11px;line-height:1.8;color:#b29a7f;margin-bottom:23px}.demo-location{width:100%;margin:20px 0 0;display:flex;align-items:center;gap:10px;border:1px solid #ecc9a8;border-radius:12px;padding:15px;background:#fff4e4;color:#a06a3b;font-size:11px;text-align:left}.demo-location>svg:last-child{margin-left:auto;width:16px}.qr-demo{margin:20px auto;display:block;width:120px;height:120px;border:10px solid white;border-radius:10px;background:#f3e7d6;box-shadow:0 0 0 1px #e8dac7}.scan-tip{text-align:center;font-size:9px;line-height:1.8;color:#b29a7c}.opet-dialog-shell .primary-button{flex-shrink:0}.opet-panel-body .button-gap{margin-top:17px}
@keyframes opet-bob{0%,100%{transform:translateX(12px)}50%{transform:translateX(12px) translateY(-5px) scale(1.01)}}
@keyframes opet-emerge{0%{transform:translateX(48px) translateY(14px) scale(.6)}62%{transform:translateX(-4px) translateY(-4px) scale(1.05)}100%{transform:none}}
@keyframes opet-option-in{from{opacity:0;transform:translate(calc(var(--tx) + 25px),calc(var(--ty) + 16px)) scale(.75)}to{opacity:1;transform:translate(var(--tx),var(--ty)) scale(var(--visual))}}
@keyframes opet-pop{from{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:none}}
@keyframes opet-fade{from{opacity:0}to{opacity:1}}
@keyframes opet-wave{0%,100%{transform:rotate(0)}25%{transform:rotate(-8deg) translateY(-3px)}60%{transform:rotate(7deg) translateY(-6px)}80%{transform:rotate(-3deg)}}
@keyframes opet-jump{0%,100%{transform:translateY(0) scale(1)}20%{transform:scale(1.08,.9) translateY(5px)}50%{transform:translateY(-35px) rotate(-6deg) scale(.97,1.06)}75%{transform:translateY(0) scale(1.08,.92)}}
@keyframes opet-tilt{0%,100%{transform:rotate(0)}35%{transform:rotate(12deg) translateX(6px)}70%{transform:rotate(-5deg)}}
@keyframes opet-walk{0%,100%{transform:translateX(0) rotate(0)}20%{transform:translateX(-12px) rotate(-6deg)}40%{transform:translateX(-19px) rotate(5deg)}60%{transform:translateX(-12px) rotate(-4deg)}80%{transform:translateX(-4px) rotate(3deg)}}
@keyframes opet-nod{0%,100%{transform:scaleY(1)}30%,65%{transform:scaleY(.93) translateY(3px)}45%,80%{transform:scaleY(1.02) translateY(-2px)}}
@keyframes opet-zen{0%,100%{transform:translateY(0)}50%{transform:translateY(-18px)}}
@keyframes opet-spark{0%{opacity:0;transform:translateY(15px) scale(.5)}35%{opacity:1}100%{opacity:0;transform:translateY(-65px) rotate(45deg) scale(1.4)}}
@keyframes opet-panel-peek{from{transform:translateY(70px) rotate(-6deg)}to{transform:translateY(0) rotate(0)}}
@media(min-width:640px){.opet-stage{right:calc(1.25rem + env(safe-area-inset-right,0px))}.opet-hub{margin-right:calc(-1.25rem - env(safe-area-inset-right,0px))}}
@media(max-width:639px){.opet-menu{--visual:1.05}.opet-option:before{content:'';position:absolute;inset:-9px 0}.opet-tip{right:65px;bottom:112px;max-width:154px;font-size:9px;padding:8px 10px}.opet-dialog-shell{right:12px;bottom:calc(16px + env(safe-area-inset-bottom))}.opet-dialog{height:min(528px,calc(100dvh - 127px))}.opet-panel-peeker{right:21px;width:127px;height:91px;top:-80px}.opet-panel-body{padding:18px}.opet-drag-hint{font-size:12px;bottom:10px}.opet-launcher>span{scale:1.05}}
@media(max-height:540px){.opet-panel-body{padding-top:13px}.opet-dialog{height:calc(100dvh - 102px)}.opet-panel-peeker{width:100px;height:71px;top:-63px}.opet-panel-head{padding-top:8px;padding-bottom:8px}.opet-panel-footer{padding-top:7px;padding-bottom:7px}}
.chat-callout>svg{display:inline-block;width:11px;height:11px;vertical-align:-2px;margin-right:4px}.qr-demo>svg{width:100%;height:100%;padding:14px;color:#b4875b;stroke-width:1.4}
.panel-intro>p,.about-center p{font-size:12px;color:#8e725b}.order-step strong,.help-option strong{font-size:12px}.order-step p{font-size:11px;color:#94775d}.coupon p{font-size:11px;color:#96775d}.chat-message{font-size:11px;color:#8b6847}.chat-callout{font-size:10px;color:#947658}.help-option small{font-size:10px;color:#987c61}.help-bottom p{font-size:11px;color:#97795c}.panel-note{font-size:9px;color:#9a826c}.selected-table{font-size:11px;color:#8e7258}.opet-heading small{color:#9c8169}
@media(prefers-reduced-motion:reduce){.opet-stage *,.opet-dialog-shell *{animation:none!important;transition:none!important}}
