#buildingViewer { width:100vw; height:100dvh; max-width:none; max-height:none; inset:0; margin:0; padding:0; border:0; background:#03070d; color:#eef2f7; overscroll-behavior:none; }
#buildingViewer::backdrop { background:#03070d; }
#buildingViewer[open] { display:grid; grid-template-rows:auto minmax(120px,1fr) auto; }
.building-header { display:flex; align-items:center; gap:20px; padding:max(14px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) 14px max(20px,env(safe-area-inset-left)); border-bottom:1px solid #ffffff18; background:#080d15; }
.building-header label { flex:1; min-width:0; display:grid; gap:5px; }
#buildingWorld { color:#c4b08d; font:500 12px/1.3 system-ui; letter-spacing:.1em; }
#buildingSelect { width:100%; max-width:600px; border:0; border-bottom:1px solid #6c778844; padding:5px 28px 5px 0; background:#080d15; color:#fff; font:600 clamp(16px,2vw,24px)/1.3 system-ui; text-overflow:ellipsis; }
#buildingViewer button { min-height:44px; padding:9px 14px; border:1px solid #ffffff30; border-radius:8px; background:#121c29; color:#f4f6fa; font:500 14px/1.3 system-ui; cursor:pointer; }
#buildingViewer button:hover { background:#203247; border-color:#c8b18a; }
#buildingViewer :is(button,select,input):focus-visible,.building-stage:focus-visible { outline:2px solid #e7c890; outline-offset:3px; }
.building-stage { position:relative; min-width:0; min-height:0; overflow:hidden; touch-action:none; cursor:grab; background:radial-gradient(ellipse at 50% 64%,#192a3b 0%,#0b1421 38%,#03070d 75%); }
.building-stage[data-body="mars"] { background:radial-gradient(ellipse at 50% 64%,#34211b 0%,#181313 38%,#03070d 75%); }
.building-stage:active { cursor:grabbing; }
.building-stage canvas { width:100%; height:100%; display:block; }
.building-projects { position:absolute; z-index:3; top:18px; right:18px; width:min(340px,34vw); max-height:calc(100% - 36px); padding:13px; overflow:auto; overscroll-behavior:contain; border:1px solid #d8b77a66; border-radius:12px; background:#07101bea; box-shadow:0 16px 50px #0009; backdrop-filter:blur(12px); }
.building-projects-head { display:flex; justify-content:space-between; gap:12px; padding:2px 3px 10px; color:#d8bf90; font:700 12px/1.35 system-ui; letter-spacing:.08em; }
.building-projects-head b { display:grid; place-items:center; min-width:25px; height:25px; border-radius:50%; background:#d8b77a22; color:#f5dfb6; }
#buildingProjectLinks { display:grid; gap:7px; }
#buildingProjectLinks a { display:grid; gap:4px; padding:11px 12px; border:1px solid #ffffff20; border-radius:9px; background:#101b29; color:#fff; text-decoration:none; }
#buildingProjectLinks a:hover,#buildingProjectLinks a:focus-visible { outline:0; border-color:#dfbf82; background:#1b2a3d; }
#buildingProjectLinks strong { font:650 14px/1.3 system-ui; }
#buildingProjectLinks span { color:#e4c889; font:600 12px/1.3 system-ui; }
.building-footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:12px 22px; padding:12px max(16px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left)); background:#080d15; border-top:1px solid #ffffff18; }
.building-zoom { display:flex; align-items:center; gap:10px; }
.building-zoom button { width:46px; font-size:24px!important; padding:4px!important; }
#buildingZoom { width:clamp(100px,15vw,190px); accent-color:#d8b77a; }
.building-presets { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; }
#buildingHint { flex-basis:100%; margin:0; text-align:center; color:#9aaabc; font:400 14px/1.45 system-ui; }
#inspectBuildings { display:none; }
body:is(.moon-active,.mars-active) #inspectBuildings { display:block; width:auto; padding:0 16px; border-radius:10px; font:600 14px/1 system-ui; }
body:is(.moon-active,.mars-active) .globe-controls { z-index:6; }
.planet-complex-label { pointer-events:auto; cursor:pointer; min-height:32px; }
.planet-complex-label:hover,.planet-complex-label:focus-visible { outline:2px solid #f2d7a1; outline-offset:2px; }
@media(max-width:700px) {
 .building-header { gap:10px; padding-left:12px; padding-right:12px; }
 #buildingReturn { max-width:116px; }
 .building-footer { gap:8px 16px; padding-top:10px; }
 #buildingHint { font-size:12px; }
 .building-projects { top:auto; right:10px; bottom:10px; left:10px; width:auto; max-height:43%; padding:10px; }
 .building-projects-head { font-size:11px; padding-bottom:8px; }
 #buildingProjectLinks { grid-template-columns:1fr 1fr; }
 #buildingProjectLinks a { padding:9px 10px; }
 #buildingProjectLinks strong { font-size:13px; }
 body:is(.moon-active,.mars-active) .globe-controls { bottom:12px; left:50%; transform:translateX(-50%); }
 body:is(.moon-active,.mars-active) .cosmic-signature { display:none; }
 body:is(.moon-active,.mars-active) .moon-control-note { bottom:68px; }
}
@media(max-height:520px) and (orientation:landscape) {
 .building-header { padding-top:8px; padding-bottom:8px; }
 .building-footer { padding-top:6px; padding-bottom:6px; }
 #buildingHint { display:none; }
}

/* Architecture stays unobstructed until project links are requested. */
.building-projects{display:none}.building-projects.expanded{display:block}
#buildingViewer button[aria-pressed="true"]{background:#244d59;border-color:#8bcfca}
.building-stage[data-body="earth"]{background:linear-gradient(#789fac,#d8e4dc 65%,#307989)}
@media(max-width:700px){.building-footer{gap:6px;padding:8px 10px max(8px,env(safe-area-inset-bottom))}.building-presets{gap:5px}#buildingViewer .building-presets button{padding:7px 9px;min-height:40px}.building-header{padding-top:max(8px,env(safe-area-inset-top));padding-bottom:8px}#buildingHint{font-size:12px}}

#inspectBuildings{display:block;width:auto;padding:0 14px;border-radius:10px;font:600 14px/1 system-ui}

#cityFocus{max-width:190px;min-height:40px;border:1px solid #ffffff30;border-radius:7px;background:#121c29;color:#fff;padding:6px 10px;font:500 14px system-ui}#buildingStage canvas{position:absolute;inset:0}#inspectBuildings{display:block}

.company-model-row{display:flex;align-items:center;gap:8px}.company-model-row .directory-row{flex:1;min-width:0}.company-model-row button{flex-shrink:0;min-height:44px;border:1px solid #87b7bd;background:#17343e;color:#fff;border-radius:8px;padding:8px;font:600 14px system-ui}
