/* Atlas sprites and their scenery share a contained 16:9 stage. No avatar tiles. */
#players.lobby-scene-container{display:flex!important;align-items:center;justify-content:center;position:relative;width:100%;height:100%;min-height:0;padding:0!important;gap:0!important;overflow:hidden;list-style:none}
.lobby-scene-shell{display:flex!important;align-items:center;justify-content:center;width:100%;height:100%;min-height:0;list-style:none;background:none!important;border:0!important;padding:0!important;margin:0!important;box-shadow:none!important}
.lobby-scene-stage{position:relative;isolation:isolate;container-type:inline-size;flex:none;width:100%;aspect-ratio:16/9;background-position:center;background-size:100% 100%;background-repeat:no-repeat;overflow:hidden;border-radius:18px}
.lobby-scene-guest{position:absolute;transform:none;margin:0;padding:0;animation:none;filter:none}
.lobby-scene-pose{display:block;width:100%;background-repeat:no-repeat;background-color:transparent;pointer-events:none}
.lobby-scene-plaque{box-sizing:border-box;position:absolute;z-index:1000;left:50%;top:100%;transform:translate(-50%,-10%);display:flex;align-items:center;flex-direction:column;width:max-content;max-width:115%;padding:.2cqw .65cqw;border-radius:.65cqw;background:#fff5dc;color:#35241b;box-shadow:0 .15cqw .4cqw #24170955;line-height:1.1;font-size:clamp(8px,1.35cqw,20px);text-align:center}
.lobby-scene-name{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:800}
.lobby-scene-wins{display:block;font-size:.72em;font-weight:800;color:#8b571c;white-space:nowrap;margin:.12em 0}
.lobby-scene-status{font-size:.65em;color:#725c43;white-space:nowrap}
.is-ready .lobby-scene-status{color:#2d6443;font-weight:800}
.is-offline .lobby-scene-pose{filter:saturate(.4);opacity:.65}
.lobby-scene-kick{position:absolute;left:50%;right:auto;top:calc(-1 * var(--lobby-kick-rise));bottom:auto;transform:translate(-50%,-50%);display:grid;place-items:center;min-width:22px;min-height:22px;width:var(--lobby-kick-size);height:var(--lobby-kick-size);padding:0;border:1px solid #faf2dd;border-radius:50%;background:#713a32;color:#fff7e8;font:700 clamp(12px,1.6cqw,24px)/1 sans-serif;cursor:pointer;z-index:1001;box-shadow:0 1px 3px #25160c55}
.lobby-scene-kick:hover,.lobby-scene-kick:focus-visible{background:#a54c3d;outline:2px solid #fff4c6;outline-offset:2px}
.lobby-scene-empty{position:absolute;left:50%;bottom:9%;transform:translateX(-50%);width:max-content;max-width:85%;padding:.6em 1em;border-radius:12px;background:#fff5dc;color:#4d3828;font-size:clamp(12px,1.8cqw,24px);text-align:center}
@keyframes lobby-scene-arrive{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}
@media(prefers-reduced-motion:reduce){.lobby-scene-guest{animation:none}}
/* The scene is the host lobby background, with controls layered over it. */
body.host.lobby:not(.choosing-game){background:#292331!important;overflow:hidden}
.host.lobby:not(.choosing-game) #people-panel{position:static!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important;transform:none;filter:none;isolation:auto}
.host.lobby:not(.choosing-game) #players.lobby-scene-container{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important;z-index:0;margin:0!important;container-type:size}
.host.lobby:not(.choosing-game) .lobby-scene-shell{width:100%;height:100%;max-width:none}
.host.lobby:not(.choosing-game) .lobby-scene-stage{width:100vw!important;height:100dvh!important;max-height:none;aspect-ratio:auto;border-radius:0;background-size:cover}
.host.lobby:not(.choosing-game) .room-heading{position:static;z-index:auto}
.host.lobby:not(.choosing-game) #room-title{position:fixed;left:50%;top:12px;transform:translateX(-50%);width:min(330px,30vw);height:140px;max-height:none;margin:0;z-index:20;line-height:0}
.host.lobby:not(.choosing-game) #room-title img{width:100%;height:100%;max-width:none;max-height:none;object-fit:contain}
.host.lobby:not(.choosing-game) #open-join{position:fixed;left:20px;top:16px;right:auto;width:min(230px,20vw);min-height:76px;z-index:30;background:#fff3d9;color:#3c2934;border-color:#c9a56e}
.host.lobby:not(.choosing-game) #lobby-menu-actions{position:fixed;right:20px;top:20px;z-index:30}
.host.lobby:not(.choosing-game) #controls{position:fixed;top:160px;left:50%;transform:translateX(-50%);width:min(380px,42vw);z-index:30;display:flex;justify-content:center;margin:0;padding:0}
.host.lobby:not(.choosing-game) #controls button{width:100%;min-height:52px;height:auto;font-size:22px;padding:10px 22px;border-radius:16px;box-shadow:0 4px 16px #24151d38}
.host.lobby:not(.choosing-game) #status{position:fixed;top:222px;left:50%;transform:translateX(-50%);width:max-content;max-width:min(520px,60vw);z-index:30;margin:0;padding:6px 12px;background:#fff3d9;color:#4a3540;border-radius:12px;text-align:center}
.host.lobby:not(.choosing-game) #status:empty{display:none}
.host.lobby:not(.choosing-game) .people-heading{position:fixed;left:22px;top:104px;z-index:25;display:block;width:auto;padding:0;margin:0}
.host.lobby:not(.choosing-game) #count{font-size:16px;color:#fff5df;text-shadow:0 1px 4px #24151d,0 1px 8px #24151d}
.lobby-scene-plaque{max-width:none}
.lobby-scene-guest{animation:none}
@media(max-height:650px){
 .host.lobby:not(.choosing-game) #room-title{top:6px;height:76px;width:180px}
 .host.lobby:not(.choosing-game) #controls{top:88px;width:240px}
 .host.lobby:not(.choosing-game) #controls button{min-height:42px;font-size:18px;padding:7px 14px}
 .host.lobby:not(.choosing-game) #status{top:137px;font-size:13px}
 .host.lobby:not(.choosing-game) #open-join{left:12px;top:10px;min-height:60px}
 .host.lobby:not(.choosing-game) #lobby-menu-actions{right:12px;top:12px}
 .host.lobby:not(.choosing-game) #lobby-menu-actions button{min-width:90px;min-height:38px;font-size:13px;padding:7px 10px}
 .host.lobby:not(.choosing-game) .people-heading{top:76px;left:14px}
}
@media(max-height:650px){.host.lobby:not(.choosing-game) .lobby-scene-plaque{font-size:clamp(10px,1.8dvh,13px);padding:2px 6px;border-radius:8px;transform:translate(-50%,-35%)}}
@media(max-height:500px){.host.lobby:not(.choosing-game) #room-title{height:60px;top:6px}.host.lobby:not(.choosing-game) #controls{top:72px}.host.lobby:not(.choosing-game) #controls button{min-height:36px;padding:5px 12px;font-size:16px}.host.lobby:not(.choosing-game) #status{top:116px;font-size:11px}}
/* The upper half of the kick control sits outside the plaque. Reserve its
   remaining lower portion with a minimal gap above the first line of the player's name. */
.lobby-scene-plaque{--lobby-kick-size:clamp(22px,2.2cqw,42px);--lobby-kick-rise:.7cqw}
.host.lobby:not(.choosing-game) .lobby-scene-plaque:has(>.lobby-scene-kick){padding-top:max(2px,calc(var(--lobby-kick-size) / 2 - var(--lobby-kick-rise) + .1cqw));min-width:calc(var(--lobby-kick-size) + 1.3cqw)}
.host.lobby:not(.choosing-game) .lobby-scene-plaque.is-near-bottom{transform:translate(-50%,-50%)}
body.theme-campfire .lobby-scene-kick{top:calc(-1 * var(--lobby-kick-rise) - 1px)}

.solomon-scene-motion{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
@media(prefers-reduced-motion:reduce){.solomon-scene-motion{display:none}}

/* v094: only selected plants and distant boats respond to the breeze. */
.interior-scene-motion{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
@media(prefers-reduced-motion:reduce){.interior-scene-motion{display:none}}

/* The original painted scene remains underneath as the video fallback. */
.lobby-scene-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;pointer-events:none;opacity:0;transition:opacity .15s}
.lobby-scene-video.is-playing{opacity:1}
@media(prefers-reduced-motion:reduce){.lobby-scene-video{display:none}}
