*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden;background:#050505}body{color:#fff;font-family:system-ui,sans-serif}#viewer{position:relative;width:100%;height:100%;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none}#panorama{position:absolute;top:0;left:0;max-width:none;opacity:0;transform-origin:0 0;transition:opacity .45s ease;will-change:transform}#panorama.is-ready{opacity:1}#status{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;margin:0;color:#d7d7d7;font-size:.875rem;letter-spacing:.04em;pointer-events:none}#status[hidden]{display:none}#status.error{padding:1.5rem;text-align:center;pointer-events:auto}#status button{margin-left:.5rem;color:inherit;background:transparent;border:1px solid #aaa;border-radius:.25rem;padding:.4rem .65rem}#caption{position:absolute;inset:auto 0 0;padding:3.5rem 1rem max(2rem,env(safe-area-inset-bottom));background:linear-gradient(transparent,#000000bf);text-align:center;font-size:clamp(.875rem,3.5vw,1.25rem);font-weight:600;letter-spacing:.04em;opacity:0;pointer-events:none;transition:opacity .5s ease}#caption.is-visible{opacity:1}#caption span{opacity:.6;margin:0 .3em}@media(pointer:fine){#viewer{cursor:grab}#viewer:active{cursor:grabbing}}@media(prefers-reduced-motion:reduce){#panorama,#caption{transition-duration:1ms}}
