.room-view-dialog {
    position: fixed; inset: 0; margin: 0; padding: 0;
    width: 100vw; max-width: none; height: 100vh; height: 100dvh; max-height: none;
    border: 0; background: #f4faff; color: #334155; overflow: hidden;
}
.room-view-dialog[open] { display: flex; flex-direction: column; }
.room-view-dialog::backdrop { background: #182838b3; }
.room-view-header {
    display: flex; align-items: center; gap: 8px; flex: none;
    padding: max(6px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) 6px max(10px, env(safe-area-inset-left));
}
.room-view-header h2 { margin: 0 auto 0 0; font-size: 16px; font-weight: 900; white-space: nowrap; }
.room-view-header button { min-height: 44px; padding: 0 14px; border: 0; border-radius: 14px; background: #e0f2fe; color: #0369a1; font-size: 13px; font-weight: 800; white-space: nowrap; }
.room-view-header .room-view-close { background: white; color: #475569; }
.room-view-area { position: relative; flex: 1; min-height: 0; overflow: hidden; margin: 0 max(4px, env(safe-area-inset-right)) max(4px, env(safe-area-inset-bottom)) max(4px, env(safe-area-inset-left)); }
.room-view-scene { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); pointer-events: none; border-radius: 16px; }
.room-view-dialog[data-turned="true"] .room-view-scene { transform: translate(-50%, -50%) rotate(90deg); }
.room-view-scene .room-placement[data-selected="true"] { outline: none; filter: drop-shadow(0 10px 8px rgba(71,49,35,.16)); }
#placement-actions button { white-space: nowrap; font-size: clamp(10px, 2.7vw, 12px); }
#placement-actions button:disabled { opacity: .4; }
