/* Shared orbit is the camera: map and mass never rotate independently. */
.hc-map-assembly{position:absolute;left:0;top:0;width:0;height:0;transform-style:preserve-3d;animation:hcMapSettle 24s 1 both}
@property --hc-sink-z{syntax:'<length>';inherits:true;initial-value:0px}
@keyframes hcMapSettle{0%,55%{--hc-sink-z:0px;transform:translateZ(0)}78%,100%{--hc-sink-z:var(--hc-bury-depth,0px);transform:translateZ(var(--hc-bury-depth,0px))}}
.hc-map-wall.hc-map-basement-wall{background:#52636b;border-color:#8499a1}
/* Clip individual physical faces at z=0; clipping the 3D parent would flatten it. */
.hc-map-basement-wall{clip-path:inset(clamp(0px,calc(-1 * var(--hc-sink-z) - var(--hc-face-base,0px)),var(--hc-face-height,0px)) 0 0 0)}
.hc-map-basement{clip-path:inset(clamp(0px,calc((-1 * var(--hc-sink-z) - var(--hc-slab-z,0px)) * 10000),100%) 0 0 0)}
.hc-map-mass,.hc-map-tier,.hc-map-envelope{position:absolute;left:0;top:0;width:0;height:0;transform-style:preserve-3d;pointer-events:none}
.hc-map-mass svg{position:absolute;left:0;top:0;overflow:visible;transform-origin:0 0;backface-visibility:visible}
.hc-map-parcel polygon{fill:rgba(32,211,185,.15);stroke:#6fffe1;stroke-width:2}
.hc-map-slab polygon{fill:#a0e5df;stroke:#e1fff8;stroke-width:1.5;stroke-linejoin:round}
.hc-map-basement polygon{fill:#668b99;stroke:#adcbd3}
.hc-map-wall{position:absolute;left:0;top:0;transform-origin:0 0;backface-visibility:visible;box-sizing:border-box;border:1px solid rgba(198,250,245,.65);background:#517d8b}
.hc-map-tier-0{animation:hcMapLower 24s 1 both}.hc-map-tier-1{animation:hcMapMiddle 24s 1 both}.hc-map-tier-2{animation:hcMapUpper 24s 1 both}
.hc-map-envelope{transform-origin:0 0 0}
.hc-map-wall{animation:hcMapFaceReveal 24s 1 both}
@keyframes hcMapFaceReveal{0%,34%{opacity:0}48%,100%{opacity:1}}
@keyframes hcMapLower{0%,3%{visibility:hidden;transform:translateZ(45px)}8%,24%{visibility:visible;transform:translateZ(22px)}34%,100%{visibility:visible;transform:translateZ(0)}}
@keyframes hcMapMiddle{0%,9%{visibility:hidden;transform:translateZ(70px)}15%,24%{visibility:visible;transform:translateZ(44px)}34%,100%{visibility:visible;transform:translateZ(0)}}
@keyframes hcMapUpper{0%,16%{visibility:hidden;transform:translateZ(95px)}22%,24%{visibility:visible;transform:translateZ(66px)}34%,100%{visibility:visible;transform:translateZ(0)}}
@keyframes hcMapEnvelope{0%,34%{visibility:hidden;transform:scaleZ(.001)}35%{visibility:visible;transform:scaleZ(.001)}48%,100%{visibility:visible;transform:scaleZ(1)}}
.hc-map-caption{position:absolute;left:12px;top:12px;z-index:7;max-width:calc(100% - 24px);padding:5px 9px;border:1px solid rgba(137,219,212,.35);border-radius:6px;background:rgba(11,25,37,.88);color:#d9f9f4;font-size:12px;line-height:1.5;pointer-events:none}
.hc-map-summary{margin:6px 0 10px;font-size:12px;color:var(--kiuda-muted,#8ea4b6);line-height:1.5}
.hc-map-summary:empty{display:none}
/* One camera transition for the map and its building; no flying text or paper effects. */
#hcStage.mass-mode .hc-orbit,.stage.mass-mode .orbit{top:66%;--hc-camera-zoom:1.3;animation:hcMapCamera 24s infinite both cubic-bezier(.35,0,.25,1)}
@keyframes hcMapCamera{0%{transform:rotateX(54deg) rotateZ(-18deg) scale(1.04)}24%{transform:rotateX(64deg) rotateZ(20deg) scale(var(--hc-camera-zoom))}48%{transform:rotateX(58deg) rotateZ(65deg) scale(var(--hc-camera-zoom))}78%{transform:rotateX(52deg) rotateZ(200deg) scale(1.15)}100%{transform:rotateX(54deg) rotateZ(342deg) scale(1.04)}}
#hcStage .hc-chip,#hcStage .hc-scan{display:none!important}
#hcStage .hc-doc,#hcStage .hc-doc.hit{animation:none!important;box-shadow:0 8px 24px rgba(0,0,0,.2);border-color:rgba(138,177,190,.3);background:rgba(15,28,41,.91);border-radius:10px}
#hcStage .hc-doc-line{animation:none;opacity:1;transform:none;line-height:1.5}
#hcStage .hc-doc-top{font-size:12px;letter-spacing:0;color:#bbd1da;font-weight:600}
body.hc-running #hcStage .hc-doc-line{font-size:11px}
@media(max-width:720px){#hcStage.mass-mode .hc-orbit,.stage.mass-mode .orbit{top:68%;--hc-camera-zoom:1.08}body.hc-running #hcStage .hc-doc{max-height:34%;width:46%}body.hc-running #hcStage .hc-doc-line{font-size:10px}}
@media(max-width:720px){body.hc-running #hcStage.mass-mode .hc-doc{top:48px;bottom:auto;right:12px;width:calc(100% - 24px);max-height:90px;overflow:auto;transform:none}}
@media(prefers-reduced-motion:reduce){.hc-map-tier,.hc-map-envelope{animation:none!important;visibility:visible!important;transform:none!important}#hcStage.mass-mode .hc-orbit,.stage.mass-mode .orbit{animation:none!important;transform:rotateX(54deg) rotateZ(20deg)}}
@media(prefers-reduced-motion:reduce){.hc-map-assembly{animation:none!important;--hc-sink-z:var(--hc-bury-depth,0px);transform:translateZ(var(--hc-bury-depth,0px))}.hc-map-basement,.hc-map-basement-wall{animation:none!important;visibility:hidden!important}}
