.room-scene { margin: 12px 0; border: 1px solid #796039; border-radius: 7px; background: #030e20; overflow: hidden; }
.room-scene > summary { padding: 9px 12px; color: #f4d58a; font-size: 13px; font-weight: 700; cursor: pointer; letter-spacing: .04em; }
.room-scene > summary:focus-visible, .room-scene button:focus-visible { outline: 2px solid #81e2ec; outline-offset: -3px; }
.room-scene-stage { position: relative; min-width: 0; }
.room-scene-frame:empty { display: none; }
.room-scene-frame img { display: block; width: 100%; height: auto; aspect-ratio: 16/9; object-fit: contain; image-rendering: pixelated; }
.room-scene-status { padding: 4px 12px 12px; margin: 0; color: #b7c6d9; font-size: 12px; line-height: 1.5; }
.room-scene-status[hidden] { display: none; }
.room-scene #room-scene-expand { display: block; margin: 8px auto; padding: 5px 10px; min-height: 32px; color: #f4d58a; border: 1px solid #796039; background: #0c1c30; font: inherit; font-size: 12px; }
.room-scene #room-scene-expand:disabled { display: none; }
.room-scene-dialog { width: min(1400px, 96vw); max-width: 96vw; max-height: 94dvh; padding: 14px; border: 1px solid #bd9453; border-radius: 10px; color: #f3deb0; background: #030d1c; box-shadow: 0 20px 100px #0009; }
.room-scene-dialog::backdrop { background: #000c; }
.room-scene-dialog header { display: flex; justify-content: space-between; gap: 12px; align-items: center; margin-bottom: 12px; }
.room-scene-dialog h2 { margin: 0; font-size: 18px; }
.room-scene-dialog button { padding: 8px 12px; border: 1px solid #a48650; border-radius: 5px; background: #142238; color: #f3deb0; cursor: pointer; }
.room-scene-large img { width: 100%; height: auto; max-height: calc(90dvh - 95px); object-fit: contain; image-rendering: pixelated; display: block; }
@media (max-width: 600px) { .room-scene-dialog { padding: 8px; } .room-scene-dialog h2 { font-size: 15px; } }
