.room-page .room-back{margin-left:auto;font-size:.875rem;white-space:nowrap;text-decoration:none}
.room-page .room-back:hover,.room-page .room-back:focus-visible{text-decoration:underline}
.room-page .room-view{border:1px solid var(--line);min-width:0;background:#fff;margin-bottom:28px}
.room-page .room-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px 10px}
.room-page .room-heading h1{font-size:1.35rem;letter-spacing:-.03em;margin-bottom:3px;line-height:1.15}
.room-page .room-heading .eyebrow{line-height:1.2}
.room-page .room-instruction{font-size:.8rem;color:var(--muted);text-align:right}
.room-page .graphic-style-controls{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;padding:0 18px 12px}
.room-page .graphic-style-controls label{font-size:.8rem;color:var(--muted)}
.room-page .graphic-style-controls select{font:inherit;font-size:.8rem;min-height:34px;max-width:100%;padding:6px 28px 6px 9px;border:1px solid var(--line);border-radius:2px;color:var(--ink);background:#fff}
.room-page .graphic-style-controls select:focus-visible{outline:3px solid #486576;outline-offset:3px}
.room-page .graphic-style-controls p{font-size:.75rem;line-height:1.4;color:var(--muted);flex:1 1 240px}
.room-page .graphic-style-controls p:empty{display:none}
.room-page .room-toolbar{display:flex;flex-wrap:wrap;gap:6px;padding:0 18px 8px}
.room-page .room-toolbar .button{min-height:34px;padding:6px 10px;font-size:.8rem}
.room-page .room-toolbar [aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}
.room-page .room-stage{height:clamp(400px,60vh,720px);position:relative;overflow:hidden;width:100%;background:white}
.room-page .graphic-vector{width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.room-page .graphic-vector img{display:block;width:100%;height:100%;object-fit:contain}
.room-page .room-toolbar[hidden],.room-page .room-instruction[hidden]{display:none}
.room-page .room3d-canvas{display:block;width:100%;height:100%;touch-action:none;outline-offset:-3px}
.room-page .room3d-canvas:focus-visible{outline:2px solid #486576}
.room-page .room-loading{padding:30px 18px;color:var(--muted)}
.room-page .room-error{margin:12px 18px;color:#894b3d;font-size:.875rem}
.room-page .room-error[hidden]{display:none}
.room-page .room-selected{display:flex;flex-wrap:wrap;gap:6px;padding:6px 18px 14px;min-height:44px}
.room-page .room-selected>p{font-size:.85rem;color:var(--muted);margin-left:auto}
.room-page .room-selected button{padding:5px 9px;min-height:30px;background:white;border:1px solid var(--line);border-left:3px solid var(--force);font-size:.8rem;color:var(--ink)}
.room-page .room-selected button span{margin-left:6px;color:var(--muted)}
.room-page .path-list .path-name{font-size:.875rem;line-height:1.35;flex:1;min-width:0}
.room-page .suggestion .path-name{font-size:.875rem;line-height:1.4}
.room-page #use-catalog-path{margin-top:12px;padding-left:0}
@media(max-width:940px){.room-page .room-stage{height:440px}}
@media(max-width:650px){.room-page .room-heading{padding:12px;align-items:start}.room-page .room-instruction{max-width:130px;font-size:.75rem}.room-page .graphic-style-controls{padding:0 12px 10px}.room-page .graphic-style-controls p{flex-basis:100%}.room-page .room-toolbar{padding:0 12px 8px;gap:5px}.room-page .room-toolbar .button{min-height:38px}.room-page .room-stage{height:360px}.room-page .room-selected{padding:6px 12px 12px}.room-page header{flex-wrap:nowrap}.room-page .room-back{font-size:.8rem}}
