.scene{transform:none!important;touch-action:none;cursor:grab}.scene canvas{display:block;width:100%;height:100%}.shade{background:linear-gradient(0deg,#0c140d99,transparent 30%,#14211322);pointer-events:none}.viewer-top,.caption,.drag-hint{pointer-events:none}.caption{bottom:88px}.caption h2{font-size:30px}.caption p{max-width:420px;font-size:13px}.scan-actions{position:absolute;left:20px;bottom:50px;display:flex;gap:6px;flex-wrap:wrap;max-width:calc(100% - 260px)}.scan-actions button{background:#26311ee0;border:1px solid #ffffff40;backdrop-filter:blur(8px);border-radius:6px;color:white;padding:9px;font-size:11px}.scan-actions button.active{background:var(--accent);color:#26311e}.frame-number{display:grid;place-items:center;width:42px;height:42px;border:1px solid #d5ddcc;border-radius:7px;font:500 17px Manrope;background:#edf1e8;color:#62784b}.marker{transition:none;transform:translate(-50%,-50%)}.marker:hover{transform:translate(-50%,-50%) scale(1.12)}.marker[hidden]{display:none}#loadStatus{position:absolute;inset:0;z-index:5;background:#202820ed;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:15px;padding:30px;text-align:center}#loadStatus[hidden]{display:none}#loadStatus strong{font-size:24px}#loadText{font-size:14px;max-width:600px;overflow-wrap:anywhere}#loadProgress{width:260px;max-width:85%;height:8px;accent-color:var(--accent)}#retryLoad{background:var(--accent);color:#23311a;border-radius:6px;padding:12px 18px}.hotspot-card{z-index:3}.facts strong{font-size:21px}#scene:focus-visible{outline-offset:-4px}@media(max-width:1000px){.scan-actions{max-width:calc(100% - 205px)}.caption{bottom:145px}.caption h2{font-size:25px}}@media(max-width:700px){.scan-actions{bottom:47px;left:12px;max-width:calc(100% - 160px);gap:4px}.scan-actions button{padding:7px;font-size:10px}.caption{left:16px;bottom:165px;max-width:65%}.caption h2{font-size:24px}.caption p{display:none}.frame-number{display:none}.drag-hint{font-size:8px;bottom:15px}.minimap{bottom:18px}.viewer-top .small{display:none}}
.fire-volume{display:flex;align-items:center;gap:7px;padding:7px 9px;border-radius:6px;background:var(--ui-overlay,#121922);color:var(--ui-overlayText,#f3f6fa);font-size:10px}.fire-volume input{width:65px;accent-color:var(--accent)}
.scan-actions{align-items:center}.fire-volume{margin:0;align-self:center;white-space:nowrap}.fire-volume input[type=range]{display:inline-block;width:65px;height:16px;margin:0;padding:0;border:0;box-shadow:none}.scan-actions button{align-self:center}

.minimap #floorplan{display:block;width:100%;height:auto;aspect-ratio:7/6;border-radius:5px;overflow:hidden}.minimap #floorplan g:focus-visible{outline:none}.minimap #floorplan g:focus-visible circle{stroke:#bfff6c;stroke-width:6px}

/* The floorplan floats directly over the scan. */
.viewer .minimap{background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;padding:0;border-radius:0}.minimap .map-heading,.minimap .map-note{display:none!important}.minimap #floorplan{border-radius:0}#floorplan>g>circle:first-child{fill:transparent!important;stroke:none!important}

/* Static loading UI: available before the renderer imports or downloads the scan. */
#viewer #loadStatus{z-index:100;background:#10151b}
#loadStatus .loading-brand{display:block;flex:none;width:clamp(110px,24vw,180px);height:auto;object-fit:contain;margin-bottom:8px;pointer-events:none}
@media(prefers-reduced-motion:reduce){#loadStatus .loading-brand{animation:none;opacity:1}}
