.viewer-root{color:#fff;background:#000;font-family:Shell,ui-sans-serif,system-ui,sans-serif}.viewer-root .psv-container,.viewer-root .psv-container *{font-family:inherit}.viewer-dim{z-index:45;opacity:0;pointer-events:none;background:#000;transition:opacity .35s ease-in-out;position:fixed;inset:0}.viewer-dim.is-dimmed{opacity:1}.viewer-root .psv-container,.viewer-root .psv-canvas-container{background:#000}.hotspot-marker{width:48px;height:48px;position:relative;overflow:visible}.hotspot-label{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;white-space:nowrap;text-overflow:ellipsis;text-shadow:0 1px 4px #000c;pointer-events:none;background:#000000a6;border:1px solid #ffffff40;border-radius:9999px;max-width:240px;padding:6px 14px;font-size:15px;font-weight:500;line-height:1.2;position:absolute;bottom:calc(100% + 10px);left:50%;overflow:hidden;transform:translate(-50%)}.hotspot-pin{--pin-bg:#fbce07;--pin-fg:#dd1d21;--pin-border:#dd1d21;--pin-glow:#fbce07b3;background:var(--pin-bg);border:3px solid var(--pin-border);width:48px;height:48px;box-shadow:0 0 12px var(--pin-glow), 0 2px 6px #00000073;cursor:pointer;color:var(--pin-fg);-webkit-user-select:none;user-select:none;border-radius:50%;justify-content:center;align-items:center;font-size:24px;font-weight:700;line-height:1;animation:1.5s infinite viewer-pulse;display:flex}.hotspot-glyph{justify-content:center;align-items:center;display:flex}.hotspot-pin svg,.hotspot-pin img{object-fit:contain;width:26px;height:26px}.hotspot-pin--goto_scene{--pin-bg:#fbce07;--pin-fg:#dd1d21;--pin-border:#dd1d21;--pin-glow:#fbce07b3}.hotspot-pin--open_popup{--pin-bg:#dd1d21;--pin-fg:#fff;--pin-border:#fbce07;--pin-glow:#dd1d21b3}.hotspot-pin--back{--pin-bg:#fff;--pin-fg:#dd1d21;--pin-border:#dd1d21;--pin-glow:#ffffff8c}.hotspot-pin--home{--pin-bg:#dd1d21;--pin-fg:#fbce07;--pin-border:#fff;--pin-glow:#dd1d21b3}.hotspot-pin:after{content:"";border:2px solid var(--pin-glow);border-radius:50%;animation:1.5s infinite viewer-pulse-ring;position:absolute;inset:-8px}@keyframes viewer-pulse{0%,to{opacity:.9;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}@keyframes viewer-pulse-ring{0%{opacity:.8;transform:scale(.9)}to{opacity:0;transform:scale(1.4)}}
