/* Grange viewer chrome: same corner hierarchy, spacing, icons and hidden tools. */
#floor-cursor{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3;opacity:0;overflow:visible;stroke:none;transition:opacity 90ms linear}
#floor-cursor[data-visible="true"]{opacity:1}
#floor-cursor .floor-band{fill:var(--white);fill-opacity:.65;stroke:none}
#floor-cursor .floor-edge{fill:none;stroke:var(--white);stroke-width:1.5;stroke-opacity:.95}
#panorama.floor-hover,#panorama.floor-hover .pnlm-dragfix,#panorama.floor-hover .view-link{cursor:none}

:root{--white:#fff;--ink:#181818;--dark:#161616d9;--muted:#d3d3d3;--line:#ffffff30;--focus:#86caff;--shade:#0008}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;font-family:Arial,Helvetica,sans-serif;color:var(--white);background:var(--ink)}.viewer{position:fixed;inset:0;overflow:clip}#panorama{position:absolute;inset:0;touch-action:none;cursor:grab}#panorama:active{cursor:grabbing}.title{position:absolute;left:24px;top:24px;pointer-events:none;text-shadow:0 1px 5px #000b}.wordmark{font-size:13px;font-weight:700}h1{font-size:20px;line-height:1.3;margin:7px 0;font-weight:500}#label{font-size:12px}button{color:var(--white);background:var(--dark);border:1px solid var(--line);border-radius:6px;padding:10px 12px;font:inherit;font-size:13px;min-height:44px;cursor:pointer}button:hover{background:var(--ink)}:where(button,a,[tabindex]):focus-visible{outline:3px solid var(--focus);outline-offset:3px}.bottom-left,.bottom-right{position:absolute;bottom:max(24px,env(safe-area-inset-bottom))}.bottom-left{left:24px}.bottom-right{right:24px}.mode{display:flex;gap:4px;padding:6px;border-radius:28px;background:var(--dark)}.mode button,.round{width:44px;height:44px;border:0;padding:10px;border-radius:50%;background:transparent}.round{background:var(--dark);width:48px;height:48px}.mode button:hover{background:var(--line)}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.hint{pointer-events:none;position:absolute;bottom:33px;left:50%;transform:translateX(-50%);margin:0;font-size:12px;text-shadow:0 1px 4px #000;white-space:nowrap}#tools{position:absolute;right:24px;bottom:88px;width:340px;max-height:calc(100dvh - 120px);padding:20px;overflow-y:auto;border-radius:12px;background:var(--dark);backdrop-filter:blur(16px);box-shadow:0 6px 40px var(--shade)}[hidden]{display:none!important}.panel-heading{display:flex;align-items:center;justify-content:space-between}h2{font-size:15px;margin:0 0 12px;font-weight:600}.panel-heading h2{margin:0}#close-menu{border:0;font-size:24px;background:transparent}p{font-size:12px;line-height:1.55;color:var(--muted)}section{border-top:1px solid var(--line);margin-top:16px;padding-top:18px}#viewpoints{display:flex;gap:6px}#viewpoints button[aria-pressed=true]{background:white;color:var(--ink)}a{color:var(--focus)}#error{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);padding:20px;background:#612820;border-radius:8px}
.view-link{width:104px;height:62px;background:none!important;border:0;padding:0;overflow:visible;touch-action:none}.view-link::before{content:'';display:block;width:48px;height:19px;border:3px solid #fff;border-radius:50%;margin:0 auto 7px;background:#ffffff15;box-shadow:0 2px 8px #0008}.view-link span{font-size:11px;white-space:nowrap;text-shadow:0 1px 4px #000;background:#161616a0;border-radius:4px;padding:3px 6px}.view-link:hover::before{background:#ffffff55}.pnlm-hotspot-base.view-link{border-radius:0}.pnlm-load-box{background:var(--dark)}
/* Station remains a separate, quieter destination affordance. */
.view-link::before{width:68px;height:32px;border:8px solid var(--white);background:transparent;opacity:.32;box-shadow:none}
.view-link span{opacity:0;position:absolute;top:38px;left:50%;transform:translateX(-50%);pointer-events:none}.view-link:hover span,.view-link:focus-visible span{opacity:1}
.view-link:hover::before,.view-link:focus-visible::before{background:transparent;opacity:.6}
@media(max-width:600px){.title{left:16px;top:18px}h1{font-size:17px}.bottom-left{left:16px}.bottom-right{right:16px}.hint{bottom:94px;font-size:11px}#tools{right:16px;width:calc(100% - 32px)}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
