/* Social floor: a continuous room, with the portal controls above the scene. */
.crew-portrait { overflow:hidden; background:#443c36; border:1px solid #e5d7c53b; }
.crew-portrait svg { width:100%;height:100%;display:block; }
.crew-portrait.identity-avatar { width:124px;height:124px; }
.profile-portrait { display:flex; align-items:center; gap:18px; margin-bottom:24px; }
.profile-portrait .avatar {width:86px;height:86px;}
.app-shell[data-page="games"] .sidebar {display:none;}
.app-shell[data-page="games"] .content-shell {margin-left:0;width:100%;max-width:none;}
.app-shell[data-page="games"] .mobile-toggle {display:flex;}
.app-shell[data-page="games"] .sidebar.mobile-open {display:flex;z-index:100;}
.app-shell[data-page="games"] main {padding:0;max-width:none;width:100%;margin:0;}
.app-shell[data-page="games"] .page-heading,.app-shell[data-page="games"] .page-footer {display:none;}
.office-world.office-lounge {position:relative;height:calc(100dvh - 68px);min-height:580px;margin:0;padding:0;overflow:hidden;border:0;border-radius:0;background:#26363e;box-shadow:none;}
.office-world::before {content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 88px,#beced107 89px 90px),repeating-linear-gradient(90deg,transparent 0 88px,#beced107 89px 90px);pointer-events:none;}
.office-hud {position:absolute;z-index:6;left:28px;right:28px;top:22px;display:flex;justify-content:space-between;gap:16px;pointer-events:none;}
.office-title {padding:16px 22px;background:#15232ae8;border:1px solid #b5c9d527;border-radius:12px;box-shadow:0 5px 25px #09121d25;}
.office-title>span {font:10px ui-monospace,monospace;letter-spacing:2px;color:#b8d3cc;}
.office-title h1 {font-size:23px;margin:8px 0 7px;line-height:1.2;letter-spacing:1px;}
.office-title p {font-size:11px;color:#b5c4c9;margin:0;}
.office-controls {display:flex;align-items:flex-start;gap:8px;pointer-events:auto;}
.office-controls>div {display:flex;background:#14232cee;border-radius:9px;padding:4px;}
.office-controls button {border:0;border-radius:6px;background:transparent;color:#becdd2;padding:10px 15px;font-size:12px;min-height:40px;cursor:pointer;}
.office-controls>button {background:#14232cee;}
.office-controls button[aria-pressed="true"] {background:#bcd5c9;color:#223a39;}
.office-controls button:focus-visible,.game-station:focus-visible {outline:3px solid #fff1ac;outline-offset:3px;}
.world-viewport {position:absolute;inset:0;overflow:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#95b6ae69 transparent;}
.world-map {position:relative;aspect-ratio:1580 / 680;min-width:840px;display:flex;box-shadow:0 18px 40px #12222e70;margin-bottom:64px;}
.office-original {width:75.949367%;flex:none;position:relative;}
.office-world .office-original .office-floor {min-width:0;width:100%;aspect-ratio:1200 / 680;height:auto;}
.office-world .office-scene-art {display:block;width:100%;height:100%;max-width:none;object-fit:fill;}
.arcade-wing {position:relative;flex:1;background:repeating-linear-gradient(0deg,transparent 0 10%,#aec4ca0c 10% 10.3%),repeating-linear-gradient(90deg,#344851 0 24%,#9cadb510 24% 25%);border-left:8px solid #142631;border-right:12px solid #92a8aa;box-shadow:inset 0 10px #15262c,inset 8px 0 14px #0d1f3440;container-type:inline-size;}
.arcade-roof {position:absolute;top:3%;left:9%;right:9%;height:17%;background:linear-gradient(#213141,#172834);border:3px solid #6e8d97;box-shadow:0 8px 0 #13232e;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:9px;}
.arcade-sign {color:#dec59b;font:700 8cqw ui-monospace,monospace;letter-spacing:1cqw;text-shadow:0 0 18px #dac39033;}
.arcade-roof>span+span {font:2.1cqw ui-monospace,monospace;color:#bdcfcd;letter-spacing:.45cqw;}
.arcade-rug {position:absolute;top:25%;bottom:6%;left:5%;right:5%;border:3px solid #6d849d;border-radius:40% 40% 7px 7px;background:#1d2d4570;box-shadow:inset 0 0 0 6px #35485f;}
.arcade-stations {position:absolute;top:24%;left:10%;right:10%;bottom:8%;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(4,1fr);gap:3.2cqw 7cqw;}
.game-station {position:relative;display:flex;align-items:center;justify-content:flex-start;gap:2cqw;width:100%;min-width:0;padding:2cqw 2cqw 3cqw;background:#2d4254;border:1px solid #8093a4;border-radius:4px;color:#c2ddcd;cursor:pointer;box-shadow:0 1.3cqw 0 #102737,0 1.8cqw 2cqw #081e3370;transition:transform .14s,filter .14s;}
.game-station.tone-1{color:#ecd5a4;}.game-station.tone-2{color:#b5c9f4;}.game-station.tone-3{color:#deb7cd;}
.game-station:hover {transform:translateY(-3px);filter:brightness(1.15);}
.cabinet-screen {display:grid;place-items:center;width:9cqw;height:9cqw;flex-shrink:0;border-radius:3px;border:1px solid #8698984d;background:#122739;box-shadow:inset 0 0 7px #0003;}
.cabinet-screen svg {width:7cqw;height:7cqw;}
.game-station strong {font-size:2.9cqw;color:#ecf0ec;line-height:1.4;font-weight:600;white-space:normal;}
.cabinet-controls {position:absolute;left:10%;right:10%;bottom:.7cqw;display:flex;gap:1cqw;height:1cqw;align-items:center;}
.cabinet-controls i {width:2cqw;height:.7cqw;background:#809aae;border-radius:4px;margin-right:auto;}
.cabinet-controls b {width:1cqw;height:1cqw;border-radius:50%;background:currentColor;}
.arcade-door {position:absolute;bottom:1.7%;left:13%;color:#d4d4b6;font:2.7cqw ui-monospace,monospace;letter-spacing:.5cqw;}
.office-caption {position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;gap:12px;background:#14232ee8;padding:14px 28px;font-size:11px;color:#b9c9cc;z-index:5;}
.office-caption i {display:inline-block;width:5px;height:5px;background:#b3d8c4;border-radius:50%;margin-right:7px;}
.game-dialog {width:min(950px,96vw);max-width:96vw;max-height:94dvh;padding:0;border:1px solid #506477;border-radius:20px;background:#111d2d;color:#e6edf4;box-shadow:0 25px 120px #0009;}
.game-dialog::backdrop {background:#081321cf;backdrop-filter:blur(5px);}
.game-dialog-head {display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;border-bottom:1px solid #b3c5da22;position:sticky;top:0;background:#122134;z-index:8;}
.game-dialog-head h2 {font-size:21px;margin:0;}.game-dialog-head p {font-size:11px;color:#a7c3c6;margin:6px 0 0;}
.game-dialog-head button {border:0;border-radius:7px;background:#273b4f;color:#deecf0;padding:9px 14px;cursor:pointer;min-height:40px;}
.game-dialog .game-content {padding:24px;}
.game-dialog .modal-body {overflow:visible;max-height:none;padding:0;}
.game-dialog .modal-actions {padding:20px 0 0;margin-top:22px;}
.game-dialog .game-card {padding:24px;margin:0;}
.game-dialog .field {display:flex;flex-direction:column;gap:7px;margin-bottom:14px;}
.game-dialog input,.game-dialog textarea,.game-dialog select {width:100%;}
.game-dialog input[type="radio"],.game-dialog input[type="checkbox"] {width:auto;}
.game-dialog .blocks-machine {max-height:62vh;}
.game-dialog #blocks-canvas {max-height:58vh;width:auto;max-width:67%;}
.game-room-list {display:grid;gap:12px;margin-top:20px;}
.game-room-entry {display:flex;justify-content:space-between;align-items:center;gap:16px;background:#1b2c40;padding:17px;border-radius:9px;}
.game-room-entry strong {display:block;}.game-room-entry small {display:block;color:#a7b9cb;margin-top:7px;}
.game-lobby-intro {display:flex;justify-content:space-between;gap:15px;align-items:center;}
.game-lobby-intro p {margin:0;max-width:480px;color:#b2c6d1;font-size:13px;}
.game-error {color:#f0bdac;font-size:13px;line-height:1.8;}
.game-notice {color:#a9c6c6;font-size:12px;}
.game-dialog .board-local-note {display:none;}
@media(max-width:760px){
 .office-world.office-lounge {height:calc(100dvh - 64px);min-height:600px;}
 .office-hud {left:12px;right:12px;top:12px;flex-direction:column;gap:10px;}
 .office-title {width:fit-content;padding:12px 16px;}.office-title h1 {font-size:19px;}
 .office-controls {gap:6px;}.office-controls button {padding:8px 13px;}
 .office-caption {padding:10px 14px;font-size:10px;}.office-caption>span:last-child {display:none;}
 .world-map {margin-top:170px!important;}
 .game-dialog-head {padding:15px;}.game-dialog .game-content {padding:16px;}
 .game-dialog .game-card {padding:16px;}.game-lobby-intro {align-items:flex-start;flex-direction:column;}
 .game-room-entry {align-items:flex-start;}.game-room-entry strong {font-size:14px;}
 .game-dialog .blocks-console {min-width:100px;}.game-dialog .blocks-controls {flex-wrap:wrap;}
 .game-dialog .blocks-controls button {min-height:44px;}
}
@media(max-width:760px){.game-station{flex-direction:column;justify-content:center;padding:8px 5px 10px;gap:4px;}.game-station strong{font-size:13px;}.cabinet-screen{width:29px;height:29px;}.cabinet-screen svg{width:23px;height:23px;}}
@media(prefers-reduced-motion:reduce){.game-station{transition:none;}}
@media(max-width:760px){
 .game-dialog .blocks-machine{grid-template-columns:minmax(0,1fr) 88px;gap:10px;}
 .game-dialog .blocks-console{min-width:0;}
 .game-dialog #blocks-canvas{width:100%;max-width:100%;height:auto;}
 .game-dialog .tool-colors{flex-wrap:wrap;}
 .game-dialog .tool-colors>button{width:44px;height:44px;min-width:44px;}
 .game-dialog .drawing-tools>button,.game-dialog .brick-tools>button{min-height:44px;}
}
