/* A full-size extension of the original room, with one back control. */
html:has(#room-viewer[open]){overflow:hidden;scrollbar-gutter:auto}
body.room-open{overflow:hidden}
#room-viewer.immersive-room{inset:0;margin:0;width:100vw;max-width:none;height:100dvh;max-height:none;padding:0;border:0;border-radius:0;background:#96968e;color:#eceee8;overflow:hidden;box-shadow:none}
#room-viewer.immersive-room>.picker-heading{display:none}
#room-viewer.immersive-room #room-stage{position:absolute;inset:0;height:100%;padding:0;border:0;background:none}
.room-three-view{position:absolute;inset:0;border:0;background:#96968e;overflow:hidden}
.room-three-view canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}
.room-three-view.has-object canvas{cursor:pointer}.room-three-view canvas:active{cursor:grabbing}
.room-loading{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#e4e5df;color:#43524a;pointer-events:none}
.room-loading span{font:12px var(--pixel);letter-spacing:3px}.room-loading p{font-size:14px}
.room-topbar{position:absolute;z-index:5;top:24px;left:24px;right:24px;display:flex;justify-content:space-between;align-items:center;pointer-events:none}
.room-topbar button,.room-utilities button{pointer-events:auto;color:#e7ebe4;background:#242925b8;border:1px solid #c5ccc228;border-radius:4px;backdrop-filter:blur(12px);font-size:12px;padding:10px 13px;transition:background .2s}
.room-topbar button:hover,.room-utilities button:hover{background:#373f38e6}
#room-exit{display:grid;place-items:center;width:46px;height:44px;padding:10px}
#room-exit svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.room-bottom-bar{position:absolute;z-index:3;bottom:22px;left:24px;right:24px;display:flex;justify-content:space-between;align-items:end;gap:16px;pointer-events:none}
.room-sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.room-utilities{display:flex;gap:7px;pointer-events:auto;flex-shrink:0;margin-left:auto}.room-zoom{display:none}
.room-tooltip{position:absolute;z-index:7;padding:9px 12px;background:#252b25ed;border:1px solid #c4ccc430;color:#eef0e7;border-radius:4px;font-size:12px;max-width:250px;pointer-events:none;box-shadow:0 3px 15px #10151030}
.room-note-panel{position:absolute;z-index:10;right:24px;top:94px;width:min(370px,calc(100vw - 32px));max-height:calc(100dvh - 190px);overflow:auto;padding:28px;background:#e9e9dff5;color:#344238;border:1px solid #b7c0ab;border-radius:5px;box-shadow:0 14px 70px #10171050;backdrop-filter:blur(20px)}
.room-note-close{position:absolute;right:12px;top:10px;border:0;background:none;padding:6px}.room-kicker{font:8px var(--pixel);letter-spacing:1.2px;color:#7a856f}.room-note-panel h3{font-size:25px;font-weight:500;line-height:1.3;margin:19px 0}.room-note-content{font-size:14px;line-height:1.75;color:#5c6957}.room-note-content p{margin:0 0 16px}.room-note-content ul{padding-left:18px}.room-note-content a{display:block;border-bottom:1px solid #bdc4b0;padding:12px 0;color:#455a48;font-size:12px}.room-sketches{display:flex;gap:9px;margin:22px 0}.room-sketches span{padding:14px 8px;border:1px solid #b0baa6;flex:1;font-size:11px;line-height:2.4}.room-sticky{padding:13px;margin:8px 0;background:#d9d8b8}.room-note-content button{padding:10px;background:#cdd6c3;border:1px solid #a9b59d;border-radius:3px}
#room-viewer [hidden]{display:none!important}
@media(max-width:700px){.room-topbar{top:16px;left:16px;right:16px}.room-bottom-bar{left:12px;right:12px;bottom:14px;align-items:center;flex-direction:column;gap:8px}.room-utilities{width:100%;justify-content:center}.room-utilities button{min-height:40px;font-size:11px;padding:8px 11px}.room-zoom{display:flex;gap:4px}.room-zoom button{min-width:35px;font-size:16px;padding:6px}.room-note-panel{top:80px;right:16px;max-height:calc(100dvh - 190px);padding:24px}#room-object-menu{right:12px;bottom:104px;width:min(290px,calc(100vw - 24px))}.room-tooltip{display:none}}
@media(prefers-reduced-motion:reduce){.room-topbar button,.room-utilities button{transition:none}}

/* Landing frame from the playground zoom; fades once the live room has drawn. */
.room-arrive{position:absolute;inset:0;z-index:5;width:100%;height:100%;object-fit:cover;pointer-events:none}
