/* The scene is shared with the art preview; only the live lobby adapts to the viewport. */
#lobby.startscreen-lobby{-webkit-user-select:none;user-select:none}
#lobby.startscreen-lobby input,#lobby.startscreen-lobby textarea{-webkit-user-select:text;user-select:text}
#lobby.startscreen-lobby img{-webkit-user-drag:none}
#lobby.startscreen-lobby{position:fixed;inset:0;width:100%;height:100dvh;max-height:none;min-height:0;display:block;padding:0;margin:0;border:0;border-radius:0;box-shadow:none;background:#76bcef;overflow:clip;color:#fff8e7;font-family:Segoe UI,system-ui,sans-serif}
#lobby.startscreen-lobby.hidden{display:none}
.startscreen-legacy[hidden]{display:none}
.startscreen-viewport{position:absolute;inset:0;overflow:clip;background:#86c7ee}
.startscreen-composition{position:absolute;left:50%;top:50%;width:1672px;height:941px;transform-origin:center}
.startscreen-world,.startscreen-gui{position:absolute;inset:0}
.startscreen-world{transform-style:flat}.startscreen-gui{pointer-events:none}
#lobby .plane:is([data-layer="01-sky"],[data-layer="02-sea"])>.layer{width:var(--startscreen-background-width,1672px);height:var(--startscreen-background-height,941px);left:calc((1672px - var(--startscreen-background-width,1672px))/2);top:calc((941px - var(--startscreen-background-height,941px))/2)}
#lobby.startscreen-lobby button{min-height:0;touch-action:manipulation;letter-spacing:0;font-family:inherit}
#lobby.startscreen-lobby button:focus-visible,#lobby.startscreen-lobby [role=button]:focus-visible{outline:3px solid #ffdd87;outline-offset:3px}
#lobby.startscreen-lobby .controller-nav-focus{outline:3px solid #ffdd87;outline-offset:3px;box-shadow:0 0 0 5px #23352b80}
#lobby .startscreen-brand{position:absolute;left:max(12px,calc(44px * var(--startscreen-header-scale)));top:max(8px,calc(38px * var(--startscreen-header-scale)));width:calc(536px * var(--startscreen-header-scale));height:calc(184px * var(--startscreen-header-scale));border:0;border-radius:0;box-shadow:none;background:transparent;pointer-events:auto;cursor:pointer}
#lobby .startscreen-brand .logo{inset:0;width:100%;height:100%;pointer-events:none}
#lobby .tagline{left:calc(83px * var(--startscreen-header-scale));top:calc(217px * var(--startscreen-header-scale));font-size:calc(18px * var(--startscreen-header-scale));letter-spacing:calc(3px * var(--startscreen-header-scale))}
#lobby .top-actions{right:max(12px,calc(42px * var(--startscreen-header-scale)));top:max(8px,calc(36px * var(--startscreen-header-scale)));transform:scale(var(--startscreen-header-scale));transform-origin:top right}
#lobby .top-actions .icon-button{position:relative;inset:auto;width:62px;height:62px;padding:0;border:0;border-radius:14px;background:transparent;box-shadow:none}
#lobby .top-actions .icon-button:after{display:none}
#lobby .status{color:#f6f7ed;line-height:1.3;font-size:17px}
#lobby .status strong{font-size:18px}#lobby .status b{font-size:16px}
#lobby .status[data-connected=false] b{background:#9c433a;color:#fff4e5}
#lobby .adventure.live-join{display:block;width:360px;height:94px;min-height:0;grid-column:auto;line-height:1.1;margin:0;padding:12px 22px;border-radius:14px;box-shadow:none;background-color:transparent;background-size:105.2% 158.8%;background-position:center;background-repeat:no-repeat;font-size:29px;font-weight:850;text-shadow:0 1px #fff5c1}
#lobby .adventure.live-join:disabled{opacity:.6}
#lobby .local-player{pointer-events:auto}
#lobby .nameplate span[hidden],#lobby .name-trigger[hidden],#lobby .name-edit-form[hidden]{display:none}
#lobby .appearance-popover{z-index:40}
#lobby .scene-paused .prop{animation-play-state:paused}
.startscreen-status-message{position:absolute;left:50%;top:20%;transform:translateX(-50%);max-width:90%;padding:10px 18px;border-radius:10px;background:#722b2c;color:#fff5e8;font-size:15px;text-align:center;z-index:2}
.startscreen-status-message[hidden]{display:none}
.startscreen-mobile-ui{position:absolute;inset:0;pointer-events:none}
/* Keep the rock silhouettes at the same height relative to the nests when the dock moves. */
#lobby .plane[data-layer="05-platform"],#lobby .foreground-object{top:var(--startscreen-dock-shift);bottom:calc(-1 * var(--startscreen-dock-shift))}
#lobby .nameplate{margin-top:calc(var(--startscreen-dock-shift) * 1.08)}
#lobby.startscreen-compact .plane[data-layer="05-platform"]>.layer{height:1128px;transform:translateY(-45px)}
#lobby.startscreen-compact .startscreen-brand{top:max(6px,env(safe-area-inset-top));left:max(10px,env(safe-area-inset-left));width:clamp(145px,24vw,220px);height:auto;aspect-ratio:536/184}
#lobby.startscreen-compact .tagline{display:none}
#lobby.startscreen-compact .top-actions{top:max(8px,env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right));gap:6px}
#lobby.startscreen-compact .top-actions .icon-button{width:44px;height:44px}
#lobby.startscreen-compact .status{padding:8px 10px;border-radius:10px;gap:8px;font-size:11px}
#lobby.startscreen-compact .status strong{font-size:12px}
#lobby.startscreen-compact .status b{font-size:12px;padding:5px 7px}
#lobby.startscreen-compact .nameplate:not(.local-player){margin-top:calc(var(--startscreen-dock-shift) * 1.08);transform:translate(-50%,-100%);font-size:calc(11px / var(--startscreen-scale));min-width:calc(56px / var(--startscreen-scale));max-width:calc(76px / var(--startscreen-scale));padding:calc(3px / var(--startscreen-scale)) calc(4px / var(--startscreen-scale))}
#lobby.startscreen-compact .nameplate:not(.local-player) small{font-size:calc(9px / var(--startscreen-scale))}
#lobby.startscreen-compact .local-player{left:calc(50% + var(--seat-x) * var(--startscreen-scale))!important;top:auto!important;margin-top:0;bottom:max(8px,env(safe-area-inset-bottom));width:246px;min-width:246px;max-width:246px;padding:4px 9px 6px;border-radius:10px}
#lobby.startscreen-compact .player-name-control,#lobby.startscreen-compact .name-trigger,#lobby.startscreen-compact .name-edit-form{height:36px}
#lobby.startscreen-compact .name-trigger,#lobby.startscreen-compact .player-name-input{font-size:20px}
#lobby.startscreen-compact .name-trigger.unnamed{font-size:19px}
#lobby.startscreen-compact .name-trigger svg{width:19px;height:19px}
#lobby.startscreen-compact .player-name-input{height:36px}
#lobby.startscreen-compact .name-confirm{width:40px;height:36px;font-size:22px}
#lobby.startscreen-compact .local-player-footer{margin-top:3px;padding-top:3px}
#lobby.startscreen-compact .local-player-meta small{font-size:12px}
#lobby.startscreen-compact .local-player-badge{font-size:12px;line-height:16px}
#lobby.startscreen-compact .appearance-trigger{width:44px;height:44px}
#lobby.startscreen-compact .appearance-popover{position:fixed;left:50%;bottom:calc(100% + 10px);width:280px;max-height:calc(100dvh - 115px);overflow:auto;padding:12px;font-size:14px;overscroll-behavior:contain}
#lobby.startscreen-compact .appearance-popover strong{font-size:15px}
#lobby.startscreen-compact .appearance-close{width:40px;height:40px;font-size:26px}
#lobby.startscreen-compact .swatches{gap:10px}
#lobby.startscreen-compact .swatch{width:38px;height:38px}
#lobby.startscreen-compact .custom-color{font-size:13px;margin-top:12px}
#lobby.startscreen-compact .custom-color input{width:48px;height:36px}
#lobby.startscreen-compact .accessory-option{font-size:12px;padding:10px 5px}
#lobby.startscreen-compact .adventure.live-join{right:max(12px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));width:clamp(156px,25vw,250px);height:70px;font-size:clamp(17px,2.3vw,24px);padding:12px}
@media(max-height:320px){#lobby.startscreen-compact .startscreen-brand{width:150px;height:auto}#lobby.startscreen-compact .status{padding:6px;gap:5px}#lobby.startscreen-compact .status>.server-room-label{font-size:0}#lobby.startscreen-compact .server-room-label strong{display:inline-block;max-width:72px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}}
@media(max-width:650px) and (orientation:landscape){#lobby.startscreen-compact .local-player{width:216px;min-width:216px;max-width:216px}#lobby.startscreen-compact .adventure.live-join{width:145px;font-size:16px;height:60px}#lobby.startscreen-compact .local-player-meta{gap:4px}#lobby.startscreen-compact .local-player-footer{gap:5px}}
/* The existing portrait gate stays on top. This also keeps controls usable if a soft keyboard resizes landscape. */
@media(orientation:portrait){#lobby.startscreen-compact .status>.server-room-label{font-size:0}#lobby.startscreen-compact .local-player{left:50%!important;bottom:95px}#lobby.startscreen-compact .adventure.live-join{left:50%;right:auto;transform:translateX(-50%);bottom:20px;width:250px}#lobby.startscreen-compact .name-edit-form{position:static;transform:none;width:100%;padding:0;border:0;background:transparent;box-shadow:none}#lobby.startscreen-compact .name-confirm{margin:0}#lobby.startscreen-compact .startscreen-brand{width:150px}#lobby.startscreen-compact .top-actions{gap:3px}}
@media(max-width:480px) and (orientation:portrait){#lobby.startscreen-compact .top-actions{top:max(70px,env(safe-area-inset-top))}}
