.club-lounge { --lounge-gold:#e0b765; container-type:inline-size; height:100%; min-height:0; overflow-y:auto; overscroll-behavior:contain; box-sizing:border-box; color:#f4eddd; background:#101f1b; font:16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.lounge-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:24px 28px 16px; }
.lounge-heading p { margin:0 0 6px; font-size:13px; letter-spacing:.12em; color:#e0b765; font-weight:650; }
.lounge-heading h2 { margin:0; font:clamp(25px,3vw,38px)/1.15 Georgia,serif; }
.club-lounge button { min-height:44px; border:1px solid #7f8e794d; border-radius:10px; background:#26392f; color:#f6edda; font:600 15px/1.3 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; padding:11px 17px; cursor:pointer; }
.club-lounge button:hover { background:#344b3d; border-color:#e0b76588; }
.club-lounge button[aria-pressed="true"] { background:#d8b667; color:#1d2a20; border-color:#d8b667; }
.club-lounge button:focus-visible,.lounge-canvas-host canvas:focus-visible { outline:3px solid #f6c76c; outline-offset:3px; }
.club-lounge .lounge-return { background:#e6c27e; border-color:#e6c27e; color:#19291f; }
.lounge-locations { display:flex; flex-wrap:wrap; gap:9px; padding:0 28px 18px; }
.lounge-result { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:0 28px 18px; padding:15px 18px; border:1px solid #d2bd7540; border-radius:12px; background:#d8b6670b; }
.lounge-result strong { display:block; color:#efdab0; font-size:15px; }
.lounge-result p { margin:5px 0 0; color:#cbd7c5; font-size:14px; line-height:1.6; }
.lounge-result button { flex:none; }
[data-lounge-travelling="true"] .lounge-scene-label { border-color:#e3bc7180; }
.lounge-viewport { position:relative; width:100%; height:min(68vh,740px); min-height:390px; max-height:max(390px,110cqw); background:radial-gradient(ellipse at center,#375c54,#10222b); overflow:hidden; }
.lounge-canvas-host { width:100%; height:100%; }
.lounge-canvas-host canvas { display:block; width:100%; height:100%; touch-action:none; cursor:grab; }
.lounge-canvas-host canvas:active { cursor:grabbing; }
.lounge-scene-label { position:absolute; top:22px; left:24px; pointer-events:none; max-width:min(70%,430px); padding:13px 17px; color:#fff5dc; background:#11231cd9; border:1px solid #dcc18242; border-radius:12px; box-shadow:0 5px 18px #0003; }
.lounge-scene-label strong { display:block; font:24px/1.2 Georgia,serif; }
.lounge-scene-label span { display:block; margin-top:5px; font-size:14px; color:#d7e1cf; }
.lounge-scene-label .lounge-camera-instruction { margin-top:10px; padding-top:9px; border-top:1px solid #dcc18230; color:#ead09c; font-size:13px; }
.lounge-camera-mode { position:absolute; bottom:18px; left:20px; display:flex; flex-wrap:wrap; gap:6px; max-width:calc(100% - 225px); padding:7px; border-radius:13px; background:#0c1c18e8; }
.lounge-camera-mode button { font-size:14px; padding:9px 13px; }
.lounge-walk-pad { position:absolute; right:24px; bottom:22px; display:grid; grid-template-columns:repeat(3,45px); grid-template-rows:repeat(2,43px); gap:5px; padding:8px; border-radius:13px; background:#0c1c18c9; }
.lounge-walk-pad button { padding:0; min-height:43px; font-size:25px; background:#284436e8; }
.lounge-walk-pad button[data-lounge-move="forward"] { grid-column:2; }
.lounge-walk-pad button[data-lounge-move="left"] { grid-column:1; grid-row:2; }
.lounge-walk-pad button[data-lounge-move="backward"] { grid-column:2; grid-row:2; }
.lounge-walk-pad button[data-lounge-move="right"] { grid-column:3; grid-row:2; }
.lounge-actions { display:flex; flex-wrap:wrap; gap:10px; padding:20px 28px 12px; }
.lounge-actions button:first-child { color:#152b20; background:#c3d6a4; border-color:#c3d6a4; }
.lounge-world-settings { display:flex; flex-wrap:wrap; gap:18px; padding:0 28px 18px; }
.lounge-world-settings label { display:flex; align-items:center; gap:10px; font-size:15px; color:#e7e5d4; }
.lounge-world-settings select { min-height:44px; max-width:100%; border:1px solid #7f8e7955; border-radius:9px; background:#1b3127; color:#f3ead6; font:15px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; padding:10px; }
.lounge-world-settings select:focus-visible { outline:3px solid #f6c76c; outline-offset:3px; }
.lounge-motion-state { color:#d6c390; font-size:14px; font-weight:500; }
.lounge-help { display:flex; justify-content:space-between; gap:28px; padding:0 28px 22px; color:#c9d5c4; }
.lounge-help p { margin:0; max-width:690px; font-size:14px; line-height:1.6; }
.lounge-help [role="status"] { color:#e2c58b; min-width:240px; }
.lounge-fallback { position:absolute; inset:0; padding:9% 25px 110px; text-align:center; background:radial-gradient(ellipse,#26483a,#101f1b); }
.lounge-fallback[hidden] { display:none; }
.lounge-fallback-art { display:flex; justify-content:center; gap:16px; margin-bottom:18px; }
.lounge-fallback-art span { display:grid; place-items:center; width:70px; height:100px; background:#fff8e7; border:2px solid #cca25e; border-radius:8px; color:#111; font:46px Georgia,serif; transform:rotate(-9deg); box-shadow:0 8px 30px #0003; }
.lounge-fallback-art span:nth-child(2),.lounge-fallback-art span:nth-child(4) { color:#b31217; transform:rotate(7deg); }
.lounge-fallback h3 { font:32px Georgia,serif; margin:15px 0 8px; }
.lounge-fallback p { max-width:620px; margin:auto; font-size:16px; }
[data-lounge-focus="true"] .lounge-heading,[data-lounge-focus="true"] .lounge-result,[data-lounge-focus="true"] .lounge-world-settings,[data-lounge-focus="true"] .lounge-help { display:none; }
[data-lounge-focus="true"] .lounge-locations { padding-top:14px; }
[data-lounge-focus="true"] .lounge-viewport { height:calc(100dvh - 185px); min-height:390px; max-height:max(450px,145cqw); }
[data-lounge-focus="true"] .lounge-actions { padding-top:14px; }
@media(max-width:700px) {
  .lounge-heading { padding:18px; align-items:flex-start; gap:12px; }
  .lounge-heading h2 { font-size:26px; }
  .lounge-heading .lounge-return { padding:10px 12px; min-width:100px; }
  .lounge-locations { padding:0 18px 14px; gap:7px; }
  .lounge-locations button { padding:10px 12px; font-size:14px; }
  .lounge-result { margin:0 18px 14px; padding:13px; align-items:flex-start; flex-direction:column; gap:12px; }
  .lounge-result button { width:100%; }
  .lounge-viewport { height:58vh; min-height:390px; }
  .lounge-scene-label { top:14px; left:14px; padding:10px 13px; }
  .lounge-scene-label strong { font-size:22px; }
  .lounge-camera-mode { bottom:118px; left:12px; max-width:calc(100% - 24px); }
  .lounge-camera-mode button { font-size:13px; padding:8px 10px; }
  .lounge-walk-pad { right:16px; bottom:14px; }
  .lounge-actions { padding:17px 18px 12px; }
  .lounge-actions button { flex:1 1 180px; }
  .lounge-help { display:block; padding:0 18px 18px; }
  .lounge-world-settings { padding:0 18px 18px; }
  .lounge-world-settings label { flex-wrap:wrap; }
  .lounge-help p+p { margin-top:12px; }
}
