/* Clear, restrained controls keep the room visible during a conversation. */
:root{--office-ink:#183e34;--office-paper:#fbfcf7;--office-line:#c7d7ce}
header{padding:10px 14px;border:1px solid #ffffffb8;border-radius:18px;background:#f9fbf4ed;box-shadow:0 5px 24px #163b2414;align-items:center}
header .brand{line-height:1;padding-right:8px}.navigation-tools-body button{box-shadow:none}
#directory{background:#fbfcf7f5;box-shadow:0 12px 40px #1336291f;border-color:#fff}
#directory h1{font-weight:650;letter-spacing:-.035em}.room{transition:background .12s ease}.room.selected{box-shadow:inset 3px 0 #275a48;border-radius:9px}
dialog{background:var(--office-paper);border:1px solid var(--office-line);box-shadow:0 20px 65px #10291f30}
dialog h2{letter-spacing:-.025em}.dialog-head{gap:12px}.dialog-head button{flex-shrink:0}
#conversation,body[data-office-view="camera"] #conversation{position:fixed;inset:var(--office-header-bottom,100px) 24px 100px auto;margin:0;width:min(440px,calc(100vw - 32px));max-height:calc(100dvh - var(--office-header-bottom,100px) - 116px);overflow:auto;padding:20px}
#conversation::backdrop,body[data-office-view="camera"] #conversation::backdrop{background:#102c1b0d;backdrop-filter:none}
#conversation[open]{display:flex;flex-direction:column;gap:8px}
#conversation .dialog-head{position:sticky;top:-20px;background:var(--office-paper);padding-top:8px;z-index:1}
#conversation #connection{margin:0;padding:10px 12px;font-size:12px}
#conversation #messages{flex:1;min-height:80px;max-height:none;overflow:auto;overscroll-behavior:contain;padding:4px 0}
#conversation .message{padding:12px 14px;border-radius:14px;line-height:1.55;background:#fff;border:1px solid #e5ebe5}
#conversation .message.user{background:#e7eee6;border-color:#dbe6da;margin-left:20px}
#conversation #chat-form{position:sticky;bottom:-20px;background:var(--office-paper);padding:10px 0;flex-shrink:0;align-items:flex-end}
#conversation #message{min-height:48px;max-height:140px;resize:vertical}#conversation #send{min-height:46px;background:#204e3e;color:#fff;border-color:#204e3e}
#office-voice{padding:10px;background:#eff3ec;border:1px solid #dbe5dc;border-radius:12px;gap:8px;margin:0}
#office-voice p{margin:0;font-size:12px}#office-voice button{font-size:12px}#office-voice textarea{flex-basis:100%;width:100%}
#conversation>.note{margin:0;font-size:11px;line-height:1.45;color:#5d7167}
@media(max-width:700px){header{left:10px;right:10px;padding:8px 10px;border-radius:14px}#conversation,body[data-office-view="camera"] #conversation{inset:auto 8px 8px;margin:0;width:calc(100vw - 16px);height:min(620px,72dvh);max-height:calc(100dvh - 24px);padding:16px;border-radius:20px}#conversation .dialog-head{top:-16px}#conversation #chat-form{bottom:-16px}}
@media(prefers-reduced-motion:reduce){.room{transition:none}}

/* Tools must stay above the movement pad, including short landscape screens. */
header:has(#navigation-tools[open]){z-index:4}
/* Owner access stays reachable while the 3D scene and its compact menu load. */
header:not(:has(#navigation-tools)){flex-wrap:wrap;max-height:calc(100dvh - 16px);overflow:auto}
#owner-access-dialog input,#owner-access-dialog button{min-height:44px;touch-action:manipulation}
#owner-access-dialog input{font-size:16px}
