/* Floor navigation floats in the office corner, outside the zoomable room. */
.building-layout { display:block;flex:none;min-height:0; }
.building-cutaway { --building-room-width:100cqw;--building-room-height:calc(var(--building-room-width) * 941 / 1672);--room-outline:polygon(5.7% 30%,48.2% .8%,92.8% 31.5%,92.8% 68%,94.6% 70.7%,94.6% 72.2%,66.7% 94.6%,35.1% 94.6%,5.7% 70.3%);container-type:inline-size;display:block;min-width:0; }
.adjacent-floor { position:absolute;left:50%;transform:translateX(-50%);display:block;width:var(--building-room-width);padding:0;border:0;border-radius:0;background:none;color:#dce4e0;cursor:pointer;text-align:left;z-index:2;pointer-events:none; }
/* Isometric bands follow the back-wall peak and the front floor-slab outline. */
.adjacent-above { top:0;height:var(--building-room-height); }
.adjacent-below { top:calc(var(--upper-floor-gap) + var(--building-room-height) * .06);height:calc(var(--building-room-height) * 1.12); }
.adjacent-slice { position:absolute;inset:0;overflow:hidden;background:#41494930;pointer-events:auto; }
.adjacent-above .adjacent-slice { clip-path:polygon(5.7% 30%,48.2% .8%,92.8% 31.5%,92.8% 43.5%,48.2% 12.8%,5.7% 42%); }
.adjacent-below .adjacent-slice { clip-path:polygon(5.7% 61.34%,35.1% 83.39%,66.7% 83.39%,94.6% 63.13%,94.6% 73.84%,66.7% 94.11%,35.1% 94.11%,5.7% 72.05%); }
.adjacent-interior { position:absolute;left:0;top:-25%;width:100%;height:auto;opacity:.26;filter:saturate(.25);pointer-events:none;transition:opacity .2s ease; }
.adjacent-below .adjacent-interior { top:35.71%; }
.adjacent-slice::after { content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#10131466,transparent 55%,#10131433); }
.adjacent-label { position:absolute;z-index:1;display:flex;align-items:center;gap:8px;min-height:44px;padding:0 10px;box-sizing:border-box;white-space:nowrap;font:500 12px/1.5 Manrope,sans-serif;pointer-events:auto; }
.adjacent-above .adjacent-label { left:5.7%;top:4%; }
.adjacent-below .adjacent-label { left:5.7%;top:86%; }
.adjacent-direction { display:grid;place-items:center; }
.adjacent-direction svg { width:16px;height:16px; }
.adjacent-number { font:11px/1.5 'DM Mono',monospace; }
.adjacent-name { color:#edf2ef; }
.adjacent-floor:hover .adjacent-interior,.adjacent-floor:focus-visible .adjacent-interior { opacity:.48; }
.adjacent-floor:is(:hover,:focus-visible) .adjacent-label { color:#fff;background:#ffffff0a;border-radius:4px; }
.adjacent-floor:focus-visible { outline:0; }
.adjacent-floor:focus-visible .adjacent-label { outline:2px solid #8acfb9;outline-offset:2px; }
.adjacent-floor[data-available='false'] .adjacent-interior { display:none; }
.building-viewport { --upper-floor-gap:0px;--lower-floor-gap:0px;position:relative;min-width:0;background:transparent;padding-top:var(--upper-floor-gap);padding-bottom:max(var(--lower-floor-gap),108px); }
.building-viewport[data-has-above='true'] { --upper-floor-gap:calc(var(--building-room-height) * .18); }
.building-viewport[data-has-below='true'] { --lower-floor-gap:calc(var(--building-room-height) * .18); }
.building-layout .scene-stage { width:100%;margin:0;min-height:0;height:auto;background:transparent;position:relative;z-index:1; }
.workspace.inspector-hidden .building-layout .scene-stage { background:transparent; }
.building-floor { position:relative;z-index:1; }
.building-layout [hidden],.building-identity[hidden] { display:none!important; }
.elevator-open { position:absolute;right:20px;bottom:20px;z-index:1900;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;width:64px;height:88px;min-width:64px;padding:8px;border:1px solid #8f9697;background:linear-gradient(110deg,#f0f2f2,#b9bec0 45%,#e0e3e4);color:#303638;box-shadow:inset 0 1px 0 #fff,inset 0 -1px 0 #80898c,0 6px 20px #0006;border-radius:6px; }
.elevator-open:hover { border-color:#f8fafb;box-shadow:inset 0 1px 0 #fff,0 4px 14px #0005; }
.elevator-open:active .elevator-call { box-shadow:inset 0 2px 4px #0004; }
.elevator-open:focus-visible { outline:3px solid #8acfb9;outline-offset:3px; }
.elevator-current { display:grid;place-items:center;width:38px;height:24px;border:1px solid #686e70;border-radius:2px;background:#14191b;color:#ffba97;font:500 17px/1 'DM Mono',monospace;box-shadow:inset 0 2px 4px #0008;text-shadow:0 0 5px #ff925866; }
.elevator-call { display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid #7d8588;border-radius:50%;background:linear-gradient(#f5f6f6,#aeb5b8);box-shadow:inset 0 1px 1px #fff,0 1px 2px #0004; }
.elevator-open svg { width:14px;height:18px; }
.elevator-dialog { position:fixed;border:1px solid #a4abad;border-radius:8px;padding:26px;width:min(324px,calc(100vw - 32px));max-height:calc(100dvh - 32px);background:linear-gradient(110deg,#eef0f0,#bfc5c7 48%,#e1e5e6);color:#202729;inset:auto 24px 24px auto;margin:0;overflow:auto;box-sizing:border-box;box-shadow:inset 0 1px 0 #fff,0 20px 70px #0008; }
.elevator-dialog::backdrop,.building-details::backdrop { background:#080c10a0; }
.elevator-close,.building-details > .icon-btn { position:absolute;right:8px;top:8px;min-width:44px;min-height:44px; }
.elevator-close { color:#30383a;background:transparent;border-color:transparent; }
.elevator-close:hover { color:#151b1d;background:#fff5; }
.elevator-panel h2 { font:600 14px/1.4 Manrope,sans-serif;margin:0 36px 18px 0; }
.elevator-directory { padding:5px 12px;background:#edf0ee;border:1px solid #969fa0;border-radius:3px;box-shadow:inset 0 1px 3px #0002; }
.elevator-directory-row { display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid #cbd1cf;color:#616b6c; }
.elevator-directory-row:last-child { border-bottom:0; }
.elevator-directory-row[data-current='true'] { color:#18282a; }
.elevator-directory-row[data-current='true'] .directory-number { border-left:2px solid #3c6964;padding-left:5px; }
.elevator-display { display:flex;align-items:center;gap:16px;min-height:74px;margin:18px 0 24px;padding:12px 18px;background:#141a1d;border:2px solid #8f989b;border-radius:3px;box-shadow:inset 0 2px 5px #0009,0 1px 0 #fff9; }
.elevator-display-number { font:500 36px/1 'DM Mono',monospace;color:#ffba97;text-shadow:0 0 8px #ff92584d; }
.elevator-display-copy { display:block;min-width:0;color:#e2e8e7; }
.elevator-display-copy small { display:block;font:10px/1.6 Manrope,sans-serif;color:#9ba9aa; }
.elevator-display-copy strong { display:block;font:500 13px/1.6 Manrope,sans-serif; }
.elevator-buttons { display:grid;grid-template-columns:repeat(2,64px);justify-content:center;gap:22px 42px;padding:0 0 6px; }
.elevator-button { display:grid;place-items:center;width:64px;height:64px;padding:0;border:2px solid #909a9e;border-radius:50%;background:linear-gradient(140deg,#fafbfb,#cbd1d3 55%,#a9b2b6);color:#263236;font:500 23px/1 'DM Mono',monospace;box-shadow:inset 0 1px 2px #fff,0 2px 3px #0003;cursor:pointer;transition:border-color .15s,box-shadow .15s; }
.elevator-button:hover { border-color:#58676d; }
.elevator-button[aria-pressed='true'] { border-color:#dbf2e8;background:linear-gradient(140deg,#fafbfb,#d2dcdb);color:#173e35;box-shadow:0 0 0 2px #4a7769,inset 0 1px 2px #fff,0 0 9px #608c7859; }
.elevator-button:active { box-shadow:inset 0 2px 5px #0003; }
.elevator-button:focus-visible { outline:3px solid #275c57;outline-offset:5px; }
.directory-number { font:500 14px 'DM Mono',monospace; }
.directory-copy { display:block;min-width:0; }
.directory-copy strong { display:block;font-size:12px;line-height:1.4; }
.directory-copy small { display:block;font-size:10px;line-height:1.6;opacity:.8;overflow-wrap:anywhere; }
.building-announcement { position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap; }
.building-floor-scene { position:relative;width:var(--building-room-width);margin-inline:auto;background:none;aspect-ratio:1672/941;overflow:hidden; }
.building-floor-image { display:block;width:100%;height:100%;object-fit:contain;clip-path:var(--room-outline); }
/* Cut only the bitmap backdrop; actors and speech retain their own layers. */
.building-layout .office[data-editorial] { background-image:none!important; }
.building-layout .office[data-editorial]::before { content:'';position:absolute;inset:0;z-index:-1;background:var(--room-image) center/100% 100% no-repeat;clip-path:var(--room-outline);pointer-events:none; }
.building-image-status { position:absolute;bottom:12px;left:12px;margin:0;padding:7px 10px;background:#202426e8;color:#e0e5e3;font-size:12px; }
.building-floor-footer { display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:8px 0;border-top:1px solid #ffffff12; }
.building-floor-caption { display:flex;gap:12px;flex-wrap:wrap;padding:0;font-size:12px;color:#aab1af; }
.building-floor-caption strong { color:#e6e9e7;font-weight:600; }
.building-info { display:inline-flex;gap:8px;align-items:center;border:0;background:none;padding:6px 0;min-height:44px;color:#c0c8c5;font:500 12px Manrope,sans-serif;cursor:pointer; }
.building-info svg { width:16px;height:16px; }
.building-info:hover { color:#fff; }
.building-identity strong { display:block;font:600 20px Manrope,sans-serif;color:#eef1ef; }
.building-identity small { display:block;color:#a7b0ad;font-size:11px;margin-top:3px; }
.identity[hidden] { display:none; }
.workspace.building-other-floor { grid-template-columns:minmax(0,1fr)!important; }
.workspace.building-other-floor .studio { width:100%;max-width:1440px;margin:0 auto; }
.building-other-floor :is(.team-room,.scene-meta,.floor-caption,.roster,.daily-publishing,.publication,.production-board,.agenda-jump,.studio-footer,.latest-update) { display:none!important; }
.building-other-floor .scene-actions > button:not(#expandOffice) { display:none!important; }
.building-details { position:fixed;border:1px solid #636a68;border-radius:6px;background:#171c1d;color:#edf0ef;padding:48px 28px 28px;width:min(420px,calc(100vw - 40px));box-sizing:border-box; }
.building-details h2 { font-size:24px;margin:0 0 12px; }
.building-details p { font-size:14px;line-height:1.6; }
.building-details-status { color:#adb7b4; }
.floor-arrival > :is(.scene-stage,.building-floor) { animation:floor-arrival .36s ease-out; }
@keyframes floor-arrival { from { opacity:.5;translate:0 var(--floor-entry-y,0px); } to { opacity:1;translate:0 0; } }
.workspace.expanded .building-layout { flex:1 1 auto; }
.workspace.expanded .building-layout .scene-stage { container-type:normal;height:auto; }
.workspace.expanded .building-layout .office { width:100%; }
/* Only live presence and the daybook remain on the default screen. */
.business-strip,.shareholder,.team-count,.agenda-jump,.studio-footer,.production-board,.scene-destination { display:none!important; }
.publishing-heading[hidden] { display:none!important; }
.scene-camera output { display:none; }
.camera-settings { border-top:1px solid #46514e;padding-top:12px;margin-top:8px;display:flex;justify-content:space-between;align-items:center;gap:14px; }
.camera-settings > span { font-size:12px; }
.camera-settings .icon-btn { width:44px;height:44px;min-width:44px; }
.avatar,.person .avatar,.roster .avatar,.message-avatar .avatar { display:block;width:44px;height:44px;border-radius:50%;background:#d8dad9; }
.avatar img,.avatar-nico img,.avatar-ardi img,.avatar-lucy img { position:static;display:block;width:100%;height:100%;max-width:100%;object-fit:cover;image-rendering:auto; }
.agent-heading .avatar { width:64px;height:64px; }
.message-avatar .avatar { width:32px;height:32px; }
.person { min-width:0;min-height:72px;display:flex;align-items:center;gap:12px;padding:12px 0;border:0;border-radius:0;background:none;text-align:left; }
.person:hover { background:#ffffff05; }
.person-info { display:block;flex-basis:auto;min-width:0; }
.person-info strong,.person-role { display:block; }
.floor-caption time { display:none; }
.person > svg { display:none; }
.person-role { font-size:11px; }
.person-state { font-size:10px; }
.roster { gap:24px;border-bottom:1px solid #36403d;padding:3px 0 16px; }
.daily-publishing { margin-top:26px; }
.daybook { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px; }
.daybook-heading { display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-bottom:14px; }
.daybook-heading h2 { font-size:16px;line-height:1.4;margin:0; }
.daybook-heading p { margin:5px 0 0;color:#a7b2ae;font-size:12px; }
.daybook-heading > time { font:11px 'DM Mono',monospace;color:#a7b2ae;white-space:nowrap; }
.daybook-list { list-style:none;padding:0;margin:0;max-height:300px;overflow:auto;scrollbar-width:thin;scrollbar-color:#59635e transparent; }
.daybook-item { display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;padding:11px 0;border-bottom:1px solid #2e3834; }
.daybook-item > time { font:11px/1.6 'DM Mono',monospace;color:#aebcb6; }
.daybook-item strong { font-size:12px;line-height:1.6;font-weight:500;display:block;overflow-wrap:anywhere; }
.daybook-item small { color:#a4b0ab;font-size:10px;line-height:1.6;display:block;margin-top:3px; }
.daybook-empty,.daybook-note { color:#a9b4af;font-size:12px;line-height:1.7;margin:0; }
.daybook-note { font-size:10px;margin-top:10px;color:#c6b79e; }
@media(min-width:901px) {
  .building-cutaway { --building-room-width:min(100cqw,1100px,calc(max(300px,100dvh - 420px) * 1672 / 941)); }
  .workspace.inspector-hidden .studio { max-width:1440px; }
  .building-layout .office[data-editorial] { width:var(--building-room-width); }
  .workspace.expanded .building-layout .office[data-editorial] { width:min(100%,calc(max(360px,100dvh - 160px) * 1672 / 941)); }
  .workspace.expanded .building-cutaway { --building-room-width:min(100cqw,calc(max(300px,100dvh - 330px) * 1672 / 941)); }
  .workspace.expanded .building-layout .office[data-editorial] { width:var(--building-room-width); }
}
@media(max-width:900px) {
  .adjacent-label { gap:6px;font-size:11px; }
  .adjacent-number { font-size:10px; }
  .adjacent-direction svg { width:12px;height:12px; }
  /* A small docking area keeps navigation clear of the scaled-down characters. */
  .building-viewport { padding-bottom:max(var(--lower-floor-gap),96px); }
  .elevator-dialog { inset:auto 0 0;margin:0 auto;width:min(324px,100%);border-radius:8px 8px 0 0;padding:26px 24px max(24px,env(safe-area-inset-bottom));max-height:calc(100dvh - 16px); }
  .roster { gap:12px; }
  .person { flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;gap:8px; }
  .person-info { width:100%; }
  .person .avatar { margin:0; }
  .daybook { gap:24px; }
  .elevator-open { bottom:12px;right:12px;width:56px;min-width:56px;height:80px;gap:5px;padding:6px; }
}
@media(max-width:600px) {
  .daybook { grid-template-columns:minmax(0,1fr);gap:28px; }
  .daybook-list { max-height:none; }
  .person-role { display:none; }
  .daily-publishing { margin-top:22px; }
  .scene-actions > .icon-btn { min-width:44px;min-height:44px; }
  .studio-heading h1 { font-size:18px; }
  .identity strong { font-size:16px; }
  .identity small { max-width:180px;font-size:9px; }
  .clock { display:none; }
}
@media(max-width:360px) {
  .studio,.topbar { padding-inline:12px; }
  .elevator-dialog { padding-inline:16px; }
}
@media(prefers-reduced-motion:reduce) { .floor-arrival > :is(.scene-stage,.building-floor) { animation:none; }.adjacent-interior { transition:none; } }
.display-settings summary { min-width:44px;min-height:44px; }
