/* The image and hit targets share ONE coordinate system: original 1024×1536,
   cropped to y=270..1270. Do not use object-fit:cover or responsive offsets. */
.ride-scene,.sofa-stage{position:relative;aspect-ratio:1024/1000;min-height:0;overflow:hidden;isolation:isolate}
.ride-scene{width:100%;max-width:400px;margin:0 auto;align-self:center;border-radius:24px}
.ride-scene .ride-art,.sofa-stage .sofa-art{position:absolute;inset:auto;left:0;top:-27%;width:100%;height:153.6%;max-width:none;object-fit:fill;mask-image:none;mix-blend-mode:multiply;pointer-events:none;opacity:1}
.scene-sticker{top:3%;right:5%;font-size:10px;padding:7px 10px;animation:none;transform:rotate(3deg)}
.ride-scene .scene-seat,.sofa-stage .sofa-seat{position:absolute;z-index:2;left:50%;top:24%;transform:translate(-50%,-50%);width:21%;height:18%;min-width:44px;min-height:44px;padding:0;display:flex;align-items:center;justify-content:center;border:0;border-radius:42%;background:none;color:#7b9a7f;box-shadow:none;backdrop-filter:none;transition:filter .15s}
.ride-scene .scene-seat.captain,.sofa-stage [data-real-seat="0"]{left:50%;top:24%;background:none;color:#b86010;box-shadow:none;border:0}
.ride-scene .scene-seat.seat-left,.sofa-stage [data-real-seat="1"]{left:24.6%;top:43.8%}
.ride-scene .scene-seat.seat-right,.sofa-stage [data-real-seat="2"]{left:75%;top:44%}
.ride-scene .scene-seat.seat-bottom,.sofa-stage [data-real-seat="3"]{left:50%;top:75%}
.ride-scene .scene-seat:hover,.sofa-stage .sofa-seat:not(:disabled):hover{background:#f7ffef33;box-shadow:inset 0 0 0 2px #7bac8055;filter:brightness(1.04)}
.ride-scene .scene-seat:focus-visible,.sofa-stage .sofa-seat:focus-visible{outline:3px solid #438660;outline-offset:2px}
.ride-scene .scene-seat[aria-pressed=true],.sofa-stage .sofa-seat.me{outline:2px solid #548b65;outline-offset:2px;background:none;box-shadow:none}
.scene-seat .seat-symbol,.sofa-seat .seat-symbol{font-size:25px;font-weight:600;line-height:1;color:#86b596;opacity:.9}
.scene-seat.captain .seat-symbol,.sofa-seat.captain .seat-symbol{color:#fff3be}
.ride-scene .scene-seat>small,.sofa-stage .sofa-seat>strong{position:absolute;top:100%;left:50%;transform:translateX(-50%);display:block;width:max-content;max-width:105%;padding:3px 4px;margin:0;border-radius:6px;background:#f9fff0e8;color:#526b51;font-size:10px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3}
.sofa-stage .sofa-seat>small{position:absolute;top:calc(100% + 21px);left:50%;transform:translateX(-50%);margin:0;font-size:9px;color:#7c9075;white-space:nowrap}
.ride-scene .scene-caption{bottom:1%;padding:9px 4px;font-size:9px;background:none;color:#607e60;line-height:1.5}
.line-avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;border-radius:50%;overflow:hidden;background:#ecf4e7;color:#73946e;border:2px solid #fff;box-shadow:0 2px 5px #365d3020;vertical-align:middle}
.line-avatar .avatar-person{position:relative;display:block;width:100%;height:100%;border-radius:0;background:none;box-shadow:none}
.avatar-person::before{content:"";position:absolute;width:27%;height:27%;border-radius:50%;background:currentColor;left:36.5%;top:18%}.avatar-person::after{content:"";position:absolute;width:60%;height:38%;border-radius:50% 50% 20% 20%;background:currentColor;left:20%;bottom:12%}
.line-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.scene-seat .line-avatar{width:64%;height:auto;aspect-ratio:1;max-width:48px}
.customer-chip{display:flex;align-items:center;gap:7px;padding:4px 10px 4px 4px;max-width:165px;min-height:44px}
.customer-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.customer-panel>.line-avatar{width:56px;height:56px}.profile-logout{display:block;min-height:44px;margin:12px auto 0;padding:10px 16px;color:#73866b;text-decoration:underline;font-size:12px}
.mini-members .line-avatar{display:inline-flex;width:27px;height:27px;border:1px solid #fff;box-shadow:none}.mini-members .line-avatar .avatar-person{width:100%;height:100%;margin:0;background:none;box-shadow:none;border-radius:0}
.real-seats.sofa-stage{display:block;width:100%;max-width:440px;margin:8px auto 0;border-radius:24px;background:radial-gradient(ellipse,#e7f3e6,#f9fff6 74%)}
.sofa-stage .sofa-seat .line-avatar{width:64%;height:auto;aspect-ratio:1;max-width:56px}
.sofa-stage .sofa-seat:disabled{opacity:1;cursor:default}
.sofa-table-note{position:absolute;left:50%;top:51%;transform:translate(-50%,-50%);border-radius:50%;display:flex;align-items:center;justify-content:center;gap:2px;width:18%;aspect-ratio:1;background:#e6f5d8df;border:2px solid #faffeb;color:#648851;font-size:25px;font-weight:800;box-shadow:0 0 18px #e7fa9f66}.sofa-table-note small{font-size:11px;font-weight:500}
.sofa-help{text-align:center;color:#79916b;font-size:11px;line-height:1.6;margin:0 0 16px}
.shops-section .section-heading{margin-bottom:12px}.shop-intro{font-size:12px;color:#7a8f70;line-height:1.7;margin:0 0 16px}
.shop-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;overflow:visible}
.shop-card{min-width:0;width:100%;max-width:none;display:flex;gap:10px;text-align:left;align-items:center;position:relative;padding:14px;min-height:96px;transition:border-color .15s,background .15s,transform .15s}
.shop-card:hover{transform:translateY(-2px);border-color:#9cbea0}.shop-card:focus-visible{outline:3px solid #82aa75;outline-offset:2px}
.shop-card>span:nth-child(2){min-width:0;flex:1}.shop-card strong{white-space:normal;overflow-wrap:anywhere;font-size:13px;line-height:1.5}.shop-card small{font-size:10px;color:#91a17d}.shop-mark{flex-shrink:0;width:46px;height:46px;border:1px solid #e1ecd9;border-radius:15px}.shop-mark img{width:100%;height:100%;object-fit:cover}.shop-enter{display:block;margin-top:7px;font-size:10px;font-style:normal;color:#c77d29;font-weight:700}.shop-arrow{font-size:20px;color:#d4934f}
.merchant-context{display:flex;align-items:center;gap:12px;margin:0 0 14px;padding:14px 16px;border:1px solid #f3d6ae;border-radius:16px;background:linear-gradient(120deg,#fff5e4,#fbfff4);min-width:0}.merchant-context[hidden]{display:none}.merchant-context>div{min-width:0;flex:1}.merchant-context strong{display:block;font-size:15px;color:#6b754a;overflow-wrap:anywhere}.merchant-context small{display:block;margin-top:5px;font-size:10px;color:#8a9a75;line-height:1.6}.merchant-context button{flex-shrink:0;min-height:44px;font-size:11px;color:#9a6d39;padding:7px 10px;border:1px solid #e3d8ba;background:#fff;border-radius:10px}
#productsSection{scroll-margin-top:155px}#productsHeading:focus{outline:none}
@media(max-width:900px){.shop-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.ride-scene{width:100%;max-width:230px;min-height:0;margin:0 auto;align-self:center}.scene-sticker{font-size:7px;top:1%;right:4%;padding:5px 6px}.ride-scene .scene-seat>small{font-size:7px;max-width:115%;padding:2px}.scene-seat .seat-symbol{font-size:20px}.ride-scene .scene-caption{font-size:7px;bottom:0;padding:3px 7px}.scene-seat .line-avatar{width:30px;max-width:75%}.customer-chip{max-width:105px;font-size:10px;padding-right:7px;gap:4px}.customer-chip .line-avatar{width:27px;height:27px}.header-inner{gap:6px}.shop-card{padding:11px;gap:8px;min-height:102px}.shop-card strong{font-size:11px}.shop-mark{width:34px;height:34px;border-radius:11px}.shop-arrow{display:none}.shop-enter{font-size:9px}.shop-intro{font-size:10px}.merchant-context{padding:12px;gap:8px}.merchant-context strong{font-size:13px}.merchant-context button{font-size:10px;padding:7px}.sofa-stage .sofa-seat>strong{font-size:11px}.sofa-help{font-size:10px}.real-seats.sofa-stage{max-width:380px}#productsSection{scroll-margin-top:155px}}
@media(prefers-reduced-motion:reduce){.shop-card{transition:none}}
