*{box-sizing:border-box}html,body,#viewer{margin:0;width:100%;height:100%;overflow:hidden;background:#080a0b;color:#fff;font-family:Inter,"SF Pro Display","PingFang SC",system-ui,sans-serif}button,select{font:inherit;color:inherit}canvas,#external3d{position:absolute;inset:0;width:100%;height:100%;border:0}.hidden{display:none!important}#viewer:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(#0008,transparent 20%,transparent 72%,#000b)}header{position:absolute;z-index:5;top:0;left:0;right:0;padding:22px 25px;display:flex;justify-content:space-between;align-items:center}.viewer-brand{display:flex;gap:11px;align-items:center}.viewer-brand>b{width:42px;height:42px;display:grid;place-items:center;border:1px solid #fff5;border-radius:12px;color:#d9ff43}.viewer-brand strong,.viewer-brand small{display:block}.viewer-brand strong{font-size:13px;letter-spacing:.08em}.viewer-brand small{font-size:11px;color:#c2c7c9;margin-top:3px}.header-actions{display:flex;gap:8px}.header-actions button,.header-actions select,#collapse-map{height:40px;border:1px solid #ffffff38;background:#101416cc;border-radius:11px;padding:0 13px;backdrop-filter:blur(12px)}#minimap{position:absolute;z-index:5;right:24px;top:90px;width:240px;background:#0c1011d9;border:1px solid #ffffff28;border-radius:18px;overflow:hidden;backdrop-filter:blur(14px);transition:.25s}.map-head{height:42px;display:flex;align-items:center;justify-content:space-between;padding:0 8px 0 15px;font-size:11px;color:#c5ccce}.map-head button{width:28px;height:28px;padding:0}#map-stage{position:relative;height:178px;background:#151a1c center/contain no-repeat;overflow:hidden}#minimap.closed #map-stage{height:0}.map-node{position:absolute;width:15px;height:15px;background:#fff;border:3px solid #202426;border-radius:50%;transform:translate(-50%,-50%);cursor:pointer;box-shadow:0 0 0 1px #fff8}.map-node.active{background:#d9ff43;box-shadow:0 0 0 7px #d9ff4330}.map-line{position:absolute;height:1px;background:#ffffff45;transform-origin:0 50%}.map-cursor{position:absolute;width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:18px solid #ff5368;transform-origin:50% 70%;filter:drop-shadow(0 2px 3px #0008)}#hotspots{position:absolute;z-index:4;inset:0;pointer-events:none}.hotspot{position:absolute;pointer-events:auto;width:42px;height:42px;border:2px solid #fff;background:#087888;color:#fff;border-radius:50%;display:grid;place-items:center;transform:translate(-50%,-50%);box-shadow:0 6px 22px #0008;transition:transform .15s}.hotspot:hover{transform:translate(-50%,-50%) scale(1.12)}.hotspot.safety{background:#d9474e}.hotspot.appliance{background:#087888}.hotspot.booking{background:#76a71f}#routes{position:absolute;z-index:4;left:50%;bottom:172px;transform:translateX(-50%);display:flex;gap:13px}.route{display:flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid #fff8;background:#121618b8;border-radius:99px;backdrop-filter:blur(8px);box-shadow:0 8px 30px #0008;cursor:pointer}.route:before{content:"";width:17px;height:17px;border:3px solid #fff;border-radius:50%}.modebar{position:absolute;z-index:6;bottom:25px;left:24px;display:flex;padding:5px;border:1px solid #ffffff2e;border-radius:15px;background:#0a0d0edb;backdrop-filter:blur(15px)}.modebar button{border:0;background:transparent;padding:9px 12px;border-radius:11px;font-size:11px;color:#aeb5b7;cursor:pointer}.modebar button span{display:block;font-size:18px;margin-bottom:2px}.modebar button.active{background:#fff;color:#111}#node-strip{position:absolute;z-index:5;bottom:22px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:8px;max-width:54vw}#node-strip>button{height:46px;width:30px;border:0;background:#101416d9;border-radius:10px;font-size:25px}#node-list{display:flex;gap:8px;overflow:auto;scrollbar-width:none}.node-card{position:relative;flex:0 0 105px;height:64px;border:2px solid transparent;border-radius:11px;overflow:hidden;background:#222;cursor:pointer;padding:0}.node-card img{width:100%;height:100%;object-fit:cover}.node-card span{position:absolute;bottom:0;left:0;right:0;padding:12px 6px 5px;background:linear-gradient(transparent,#000d);font-size:10px;text-align:left}.node-card.active{border-color:#d9ff43}#hint{position:absolute;z-index:4;left:50%;bottom:108px;transform:translateX(-50%);font-size:11px;color:#fff9;background:#0005;border-radius:99px;padding:7px 12px;pointer-events:none}#loading{position:absolute;z-index:20;inset:0;background:#080a0b;display:grid;place-content:center;text-align:center;transition:.6s}#loading.done{opacity:0;pointer-events:none}#loading span{width:55px;height:55px;border:2px solid #ffffff22;border-top-color:#d9ff43;border-radius:50%;animation:spin 1s linear infinite;margin:auto}#loading p{font-size:12px;color:#929b9e;letter-spacing:.15em}@keyframes spin{to{transform:rotate(360deg)}}dialog{width:min(520px,calc(100% - 30px));border:1px solid #ffffff2e;border-radius:22px;background:#111618;color:#fff;padding:32px;box-shadow:0 35px 120px #000d}dialog::backdrop{background:#0009;backdrop-filter:blur(8px)}dialog>button{position:absolute;right:16px;top:16px;width:32px;height:32px;border:0;border-radius:50%;background:#ffffff12;font-size:22px}dialog h2{font-size:30px;margin:.2em 0}.eyebrow{color:#d9ff43;letter-spacing:.16em;font-size:10px;font-weight:800}#info-description{color:#b8c0c2;line-height:1.75}#info-steps{padding-left:22px;line-height:1.7}.action{display:inline-flex;padding:12px 16px;border-radius:11px;background:#d9ff43;color:#111;font-weight:700}.fatal{position:fixed;z-index:30;inset:0;background:#080a0b;place-content:center;text-align:center;padding:30px}.fatal:not(.hidden){display:grid}
@media(max-width:760px){header{padding:14px}.viewer-brand strong{font-size:11px}#minimap{right:12px;top:72px;width:155px}.map-head{height:36px}#map-stage{height:112px}.modebar{left:10px;bottom:10px}.modebar button{padding:8px}.modebar button{font-size:0}.modebar button span{font-size:18px;margin:0}#node-strip{left:auto;right:10px;transform:none;bottom:10px;max-width:58vw}#node-strip>button{display:none}.node-card{flex-basis:78px;height:50px}#routes{bottom:82px;max-width:95vw;overflow:auto}.route{font-size:11px;padding:8px 10px}#hint{display:none}.header-actions select{max-width:72px;padding:0 6px}}
#routes{position:absolute;z-index:4;inset:0;left:0;bottom:0;transform:none;display:block;max-width:none;overflow:visible;pointer-events:none}.route{position:absolute;pointer-events:auto;display:grid;justify-items:center;gap:4px;padding:0;transform:translate(-50%,-50%);border:0;background:transparent;color:#fff;cursor:pointer;filter:drop-shadow(0 5px 7px #000b)}.route:before{display:none}.route i{display:block;width:104px;height:38px;border:4px solid #fff;border-radius:50%;box-shadow:0 0 0 5px #ffffff25 inset,0 0 0 2px #0004;background:#ffffff0d;transition:.15s}.route span{padding:5px 9px;border-radius:99px;background:#101416c7;font-size:11px;white-space:nowrap;backdrop-filter:blur(7px)}.route:hover i{transform:scale(1.12);background:#d9ff4340;border-color:#e7ff8b}
@media(max-width:760px){#routes{inset:0;max-width:none;overflow:visible}.route{padding:0}.route i{width:64px;height:25px}.route span{font-size:10px}}
#transition-frame{z-index:3;display:none;pointer-events:none;transform-origin:center;will-change:opacity,transform,filter}#transition-frame.active{display:block}#transition-frame.depart-zoom{opacity:0;transform:scale(1.22);filter:blur(7px);transition:opacity .62s cubic-bezier(.2,.75,.2,1),transform .62s cubic-bezier(.2,.75,.2,1),filter .62s ease}#transition-frame.depart-fade{opacity:0;transition:opacity .48s ease}#pano.scene-enter-zoom{animation:sceneEnterZoom .62s cubic-bezier(.2,.75,.2,1)}#pano.scene-enter-fade{animation:sceneEnterFade .48s ease}@keyframes sceneEnterZoom{from{opacity:.15;transform:scale(.91);filter:blur(5px)}to{opacity:1;transform:scale(1);filter:none}}@keyframes sceneEnterFade{from{opacity:0}to{opacity:1}}#loading{opacity:1;visibility:visible;transition:opacity .35s,visibility .35s,background .25s}#loading.done{opacity:0;visibility:hidden;pointer-events:none}#loading.switching{background:#080a0b42;backdrop-filter:blur(2px);pointer-events:none}.loading-box{width:min(310px,70vw);padding:20px 22px;border:1px solid #ffffff25;border-radius:18px;background:#0b0e0fe8;box-shadow:0 18px 60px #0009;backdrop-filter:blur(14px)}#loading.switching .loading-box{padding:15px 18px}.loading-box>b{display:block;margin-bottom:12px;color:#fff;font-size:25px;font-variant-numeric:tabular-nums}.loading-track{height:5px;background:#ffffff18;border-radius:99px;overflow:hidden}.loading-track i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#8bbf18,#d9ff43);box-shadow:0 0 16px #d9ff4380;transition:width .12s linear}.loading-box p{margin:11px 0 0;font-size:11px;color:#aab2b4;letter-spacing:.08em}
.route{backdrop-filter:none;box-shadow:none;border-radius:0;opacity:.38;transition:opacity .18s ease;touch-action:manipulation}.route span{display:none!important}.route:hover,.route:focus-visible,.route:active,.route.route-activating{opacity:1;z-index:5}.route-ring{display:block;width:126px;height:54px;overflow:visible;transform:scale(var(--ring-scale,1)) scaleY(var(--ring-depth,.72));transform-origin:center;filter:drop-shadow(0 3px 4px #0006);transition:filter .18s ease,transform .18s ease}.route:hover .route-ring,.route:focus-visible .route-ring,.route:active .route-ring,.route.route-activating .route-ring{transform:scale(calc(var(--ring-scale,1) * 1.08)) scaleY(var(--ring-depth,.72));filter:drop-shadow(0 6px 7px #000a) brightness(1.35)}.route.route-activating .route-ring{animation:route-launch .38s ease-out}@keyframes route-launch{0%{opacity:.45}45%{opacity:1;filter:drop-shadow(0 0 18px #fff) brightness(1.7)}100%{opacity:1}}@media(max-width:760px){.route{opacity:.5}.route-ring{width:88px;height:38px}}

/* Object guide markers and media drawer. */
.hotspot{width:64px;height:104px;padding:0;border:0;border-radius:0;background:transparent!important;box-shadow:none!important;transform:translate(-50%,-100%);flex-direction:column;align-items:center;justify-content:flex-start;cursor:pointer;filter:drop-shadow(0 6px 12px #000a);transition:filter .18s}.hotspot:hover{transform:translate(-50%,-100%);filter:drop-shadow(0 8px 18px #000d) brightness(1.12)}.hotspot>span{position:relative;z-index:2;width:47px;height:47px;display:grid;place-items:center;border:3px solid #fff;border-radius:50%;background:#087888;color:#fff;font-size:20px;font-weight:850;box-shadow:0 0 0 4px #087888aa}.hotspot.safety>span{background:#d9474e;box-shadow:0 0 0 4px #d9474e99}.hotspot.booking>span{background:#76a71f;box-shadow:0 0 0 4px #76a71f99}.hotspot>i{position:relative;width:2px;height:50px;background:linear-gradient(#fff,#ffffff70)}.hotspot>i:after{content:"";position:absolute;left:50%;bottom:-5px;width:9px;height:9px;transform:translateX(-50%);border:2px solid #fff;border-radius:50%;background:#087888}
#info{position:fixed;inset:0 0 0 auto;margin:0;width:min(540px,100vw);height:100dvh;max-height:none;border-radius:24px 0 0 24px;padding:30px 34px 42px;overflow:auto;animation:drawer-in .4s cubic-bezier(.22,.8,.26,1)}#info::backdrop{background:#0006;backdrop-filter:blur(3px)}#info>button{position:sticky;float:right;right:0;top:0;z-index:3;width:40px;height:40px;background:#202628;cursor:pointer}#info h2{clear:both;margin-top:.25em}.eyebrow{padding-top:12px}@keyframes drawer-in{from{transform:translateX(100%);opacity:.4}to{transform:none;opacity:1}}
#info-media{margin:-30px -34px 26px}.media-stage{aspect-ratio:16/10;background:#07090a;display:grid;place-items:center;overflow:hidden}.media-stage img,.media-stage video{width:100%;height:100%;display:block;object-fit:contain}.image-open,.video-start{width:100%;height:100%;border:0;background:#080a0b;color:#fff;position:relative;cursor:pointer}.image-open{padding:0}.image-open span{position:absolute;right:14px;bottom:14px;padding:7px 10px;border-radius:99px;background:#000a;font-size:11px}.video-start{display:grid;place-content:center;gap:8px}.video-start span{width:58px;height:58px;display:grid;place-items:center;margin:auto;border-radius:50%;background:#d9ff43;color:#111;font-size:22px;padding-left:4px}.video-start b{font-size:15px}.video-start small{color:#9da6a8}.media-thumbs{display:flex;gap:8px;padding:10px 14px;background:#111618;overflow:auto}.media-thumbs button{flex:0 0 68px;height:44px;padding:0;border:2px solid transparent;border-radius:8px;overflow:hidden;background:#252b2e;display:grid;place-items:center;cursor:pointer}.media-thumbs button.active{border-color:#d9ff43}.media-thumbs img{width:100%;height:100%;object-fit:cover}#media-lightbox{position:fixed;z-index:80;inset:0;background:#000e;display:grid;place-items:center;padding:42px}#media-lightbox img{max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 20px 90px #000}#media-lightbox button{position:absolute;right:20px;top:20px;width:44px;height:44px;border:1px solid #fff5;border-radius:50%;background:#111d;color:#fff;font-size:28px;cursor:pointer}
@media(max-width:700px){.hotspot{width:55px;height:88px}.hotspot>span{width:40px;height:40px;font-size:17px}.hotspot>i{height:40px}#info{top:auto;left:0;width:100%;height:min(82dvh,760px);border-radius:22px 22px 0 0;padding:24px 22px 34px;animation:drawer-up .38s cubic-bezier(.22,.8,.26,1)}#info-media{margin:-24px -22px 22px;border-radius:22px 22px 0 0;overflow:hidden}@keyframes drawer-up{from{transform:translateY(100%);opacity:.4}to{transform:none;opacity:1}}#media-lightbox{padding:18px}}
#layout3d{position:absolute;inset:0;width:100%;height:100%;border:0;background:#090c0d}

/* Unified 360 / 3DGS WebView switch. */
#external3d{z-index:1;background:#050606}
#external-loading{position:absolute;z-index:3;inset:0;display:grid;place-content:center;gap:10px;text-align:center;background:#080a0b}
#external-loading i{width:48px;height:48px;margin:auto;border:2px solid #ffffff22;border-top-color:#d9ff43;border-radius:50%;animation:spin 1s linear infinite}
#external-loading b{font-size:14px}
#external-loading small{color:#929b9e}
.modebar{bottom:max(25px,env(safe-area-inset-bottom));left:max(24px,env(safe-area-inset-left));align-items:stretch;gap:7px;padding:0;border:0;background:transparent;backdrop-filter:none}
.view-switch{display:flex;padding:5px;border:1px solid #ffffff2e;border-radius:15px;background:#0a0d0edb;backdrop-filter:blur(15px);box-shadow:0 12px 40px #0006}
.modebar button b{font:inherit;font-weight:750;white-space:nowrap}
.view-switch button.active{background:#fff;color:#111}
.view-switch button:not(.active):hover{color:#fff;background:#ffffff10}
#guide-mode{border:1px solid #ffffff2e;background:#0a0d0edb;backdrop-filter:blur(15px)}
#guide-mode.active{background:#d9ff43;color:#111}
.view-switch{padding:3px;border-radius:12px}
.view-switch button{padding:6px 9px;border-radius:9px;font-size:10px}
.view-switch button span{font-size:14px;margin-bottom:1px}
@media(max-width:760px){.modebar{left:max(10px,env(safe-area-inset-left));bottom:max(10px,env(safe-area-inset-bottom));gap:5px}.view-switch{padding:4px}.modebar button{padding:8px 9px;font-size:11px}.modebar button span{display:none}.modebar button b{font-size:11px}.modebar #guide-mode b{display:none}.modebar #guide-mode span{display:block;font-size:18px;margin:0}#node-strip{max-width:48vw}}
#minimap{display:none!important}
html,body,#viewer{overscroll-behavior:none}
#pano{touch-action:none;overscroll-behavior:contain}
.header-actions{display:none!important}

/* Floating equipment card: keep the panorama visible around the content. */
#info{position:fixed;inset:0;margin:auto;width:min(680px,calc(100vw - 48px));height:fit-content;max-height:min(82dvh,820px);border:1px solid #ffffff30;border-radius:24px;padding:30px 34px 34px;overflow:auto;background:#101516f5;box-shadow:0 32px 110px #000d,0 0 0 1px #0008;animation:info-pop .3s cubic-bezier(.2,.85,.25,1);scrollbar-width:thin;scrollbar-color:#ffffff30 transparent}
#info::backdrop{background:#0007;backdrop-filter:blur(8px)}
#info>button{position:absolute;float:none;right:16px;top:16px;z-index:5;width:42px;height:42px;border:1px solid #ffffff18;border-radius:50%;background:#202728e8;cursor:pointer;box-shadow:0 8px 24px #0008}
#info h2{clear:none;margin:6px 0 12px;font-size:32px}.eyebrow{padding-top:0;margin:4px 0 12px}#info-description:empty,#info-steps:empty{display:none}#info-description{margin:0 0 16px}#info-steps{margin:10px 0 0}
#info-media{margin:-30px -34px 26px;border-radius:24px 24px 0 0;overflow:hidden;background:#080a0b}.media-stage{aspect-ratio:16/9;max-height:390px}.media-thumbs{min-height:62px;padding:9px 14px}.media-thumbs:empty{display:none}
@keyframes info-pop{from{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:none}}
@media(max-width:700px){#info{inset:0;margin:auto;width:calc(100vw - 20px);height:fit-content;max-height:calc(100dvh - 20px);border-radius:20px;padding:22px 20px 26px;animation:info-pop .28s cubic-bezier(.2,.85,.25,1)}#info>button{position:absolute;right:11px;top:11px;width:38px;height:38px}#info-media{margin:-22px -20px 20px;border-radius:20px 20px 0 0}.media-stage{aspect-ratio:16/9;max-height:42dvh}#info h2{font-size:26px}}

/* Per-label marker size. The foot of the guide line stays anchored to the object. */
.hotspot{transform:translate(-50%,-100%) scale(var(--hotspot-scale,1));transform-origin:50% 100%;transition:filter .18s,transform .18s}
.hotspot:hover{transform:translate(-50%,-100%) scale(calc(var(--hotspot-scale,1) * 1.1))}

/* World-anchored, non-modal equipment card. Panorama remains draggable. */
.hotspot>span{background:var(--hotspot-color,#087888)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--hotspot-color,#087888) 68%,transparent)!important}
.hotspot>span b{display:grid;place-items:center;font:inherit;color:inherit}
.hotspot.jump em{position:absolute;z-index:3;top:8px;left:58px;max-width:150px;padding:5px 9px;border:1px solid #ffffff55;border-radius:999px;background:#101516e8;color:#fff;font-size:12px;font-style:normal;font-weight:750;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 5px 15px #0008;pointer-events:none}
@media(max-width:700px){.hotspot.jump em{top:6px;left:51px;max-width:112px;font-size:11px;padding:4px 7px}}
.hotspot.nav-arrow{width:112px;height:112px;filter:drop-shadow(0 10px 17px #000b);justify-content:flex-end}
.hotspot.nav-arrow>span{width:100px;height:100px;border:0;border-radius:0;background:transparent!important;box-shadow:none!important}
.hotspot.nav-arrow>span img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;transform:rotate(var(--hotspot-rotation,0deg)) skewX(var(--hotspot-skew,0deg)) scaleY(var(--hotspot-depth,1));transform-origin:50% 82%;transition:transform .08s linear}
.hotspot.nav-arrow>em{top:auto;left:50%;bottom:-23px;transform:translateX(-50%);font-size:13px;background:#101516ee}
.hotspot.nav-arrow:after{content:"";position:absolute;z-index:-1;left:50%;bottom:7px;width:52px;height:20px;border-radius:50%;background:#d9ff4388;transform:translateX(-50%) scale(.45);opacity:0;pointer-events:none}
.hotspot.nav-arrow.activating{pointer-events:none;animation:nav-arrow-launch .28s cubic-bezier(.22,.72,.26,1) forwards}
.hotspot.nav-arrow.activating:after{animation:nav-arrow-ripple .28s ease-out forwards}
@keyframes nav-arrow-launch{0%{transform:translate(-50%,-100%) scale(var(--hotspot-scale,1))}35%{transform:translate(-50%,-96%) scale(calc(var(--hotspot-scale,1) * .84))}100%{transform:translate(-50%,-121%) scale(calc(var(--hotspot-scale,1) * 1.12));opacity:.12}}
@keyframes nav-arrow-ripple{0%{opacity:.85;transform:translateX(-50%) scale(.35)}100%{opacity:0;transform:translateX(-50%) scale(2.6)}}
@media(max-width:700px){.hotspot.nav-arrow{width:92px;height:92px}.hotspot.nav-arrow>span{width:82px;height:82px}.hotspot.nav-arrow>em{top:auto;left:50%;bottom:-20px;max-width:120px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.hotspot.nav-arrow.activating{animation:none;opacity:.45}}
.hotspot>i:after{background:var(--hotspot-color,#087888)}
#info{position:fixed;z-index:15;inset:auto;margin:0;width:min(420px,calc(100vw - 20px));height:auto;max-height:min(72dvh,650px);padding:22px 24px 26px;border-radius:18px;overflow:auto;overscroll-behavior:contain;background:#101516f5;box-shadow:0 20px 70px #000c,0 0 0 1px #0008;transition:left .04s linear,top .04s linear,opacity .12s;animation:info-pop .24s cubic-bezier(.2,.85,.25,1)}
#info::backdrop{display:none;background:transparent;backdrop-filter:none}
#info:before{content:"";position:absolute;width:14px;height:14px;background:#101516;border:1px solid #ffffff30;transform:rotate(45deg);pointer-events:none}
#info[data-side="right"]:before{left:-8px;top:var(--card-anchor-y,72px);border-right:0;border-top:0}
#info[data-side="left"]:before{right:-8px;top:var(--card-anchor-y,72px);border-left:0;border-bottom:0}
#info[data-side="bottom"]:before{top:-8px;left:var(--card-anchor-x,50%);border-right:0;border-bottom:0}
#info[data-side="top"]:before{bottom:-8px;left:var(--card-anchor-x,50%);border-left:0;border-top:0}
#info-media{margin:-22px -24px 20px;border-radius:18px 18px 0 0}.media-stage{max-height:260px}
.media-thumbs{display:none!important}
#info>button{top:11px;width:36px;height:36px;font-size:18px}
#close-info{right:11px!important}#share-info{right:53px!important}
#info h2{font-size:25px;margin:5px 0 10px}.eyebrow{margin:3px 0 9px}
@media(max-width:700px){#info{inset:auto;margin:0;width:min(300px,calc(100vw - 20px));max-height:min(58dvh,480px);padding:16px 16px 20px;border-radius:15px;animation:info-pop .18s cubic-bezier(.2,.85,.25,1)}#info-media{margin:-16px -16px 15px;border-radius:15px 15px 0 0}.media-stage{aspect-ratio:16/9;max-height:169px}.media-thumbs{min-height:46px;padding:6px 9px}.media-thumbs button{flex-basis:54px;height:34px}#info h2{font-size:22px;margin:4px 0 8px}#info-description{font-size:13px;line-height:1.55}.eyebrow{font-size:9px;margin:3px 0 7px}#info>button{top:7px;width:33px;height:33px}#close-info{right:7px!important}#share-info{right:44px!important}.video-start span{width:52px;height:52px;font-size:20px}}

/* Panorama links may be floor rings, directional images, custom PNGs or text. */
.route[data-marker-type="arrow"],.route[data-marker-type="icon"],.route[data-marker-type="text"]{opacity:.84;filter:drop-shadow(0 8px 14px #000b)}
.route[data-marker-type="arrow"]:hover,.route[data-marker-type="icon"]:hover,.route[data-marker-type="text"]:hover{opacity:1;filter:drop-shadow(0 0 13px #d9ff438c) drop-shadow(0 8px 14px #000b)}
.route-image{display:block;width:108px;height:108px;object-fit:contain;pointer-events:none;transform:scale(var(--ring-scale,1)) rotate(var(--route-rotation,0deg)) skewX(var(--route-skew,0deg)) scaleY(var(--ring-depth,.86));transform-origin:50% 78%;transition:transform .08s linear,filter .16s}
.route .route-text{display:block!important;margin:0;padding:10px 16px;border:2px solid #fff;border-radius:12px;background:#101516e8;color:#fff;font-size:16px;font-weight:800;line-height:1.2;white-space:nowrap;pointer-events:none;transform:scale(var(--ring-scale,1)) rotate(var(--route-rotation,0deg));transform-origin:center;box-shadow:0 8px 24px #0009}
.route-activating .route-image,.route-activating .route-text{filter:brightness(1.35);transform:scale(calc(var(--ring-scale,1) * 1.18)) rotate(var(--route-rotation,0deg))}
@media(max-width:700px){.route-image{width:88px;height:88px}.route .route-text{padding:8px 12px;font-size:14px}}

/* Per-marker presentation animations and world-anchored scene text. */
.marker-animation-body{transform-origin:50% 82%;will-change:translate,scale,rotate,filter,opacity}
.route>.marker-animation-body{display:grid!important;justify-items:center;gap:4px;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;font-size:inherit!important;backdrop-filter:none!important;overflow:visible}
.route>.marker-animation-body>.marker-caption{display:none!important}
.hotspot>.marker-animation-body{position:relative;z-index:2;width:100%;height:100%;display:flex!important;flex-direction:column;align-items:center;justify-content:flex-start;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:visible}
.hotspot>.marker-animation-body>span:not(.scene-text-card){position:relative;z-index:2;width:47px;height:47px;display:grid;place-items:center;border:3px solid #fff;border-radius:50%;background:var(--hotspot-color,#087888);color:#fff;font-size:20px;font-weight:850;box-shadow:0 0 0 4px color-mix(in srgb,var(--hotspot-color,#087888) 68%,transparent)}
.hotspot>.marker-animation-body>span b{display:grid;place-items:center;font:inherit;color:inherit}
.hotspot>.marker-animation-body>i{position:relative;width:2px;height:50px;background:linear-gradient(#fff,#ffffff70)}
.hotspot>.marker-animation-body>i:after{content:"";position:absolute;left:50%;bottom:-5px;width:9px;height:9px;transform:translateX(-50%);border:2px solid #fff;border-radius:50%;background:var(--hotspot-color,#087888)}
.hotspot.jump>.marker-animation-body>em{position:absolute;z-index:3;top:8px;left:58px;max-width:150px;padding:5px 9px;border:1px solid #ffffff55;border-radius:999px;background:#101516e8;color:#fff;font-size:12px;font-style:normal;font-weight:750;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 5px 15px #0008;pointer-events:none}
.hotspot.nav-arrow>.marker-animation-body{justify-content:flex-end}
.hotspot.nav-arrow>.marker-animation-body>span{width:100px;height:100px;border:0;border-radius:0;background:transparent!important;box-shadow:none!important}
.hotspot.nav-arrow>.marker-animation-body>span img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;transform:rotate(var(--hotspot-rotation,0deg)) skewX(var(--hotspot-skew,0deg)) scaleY(var(--hotspot-depth,1));transform-origin:50% 82%;transition:transform .08s linear}
.hotspot.nav-arrow>.marker-animation-body>em{top:auto;left:50%;bottom:-23px;transform:translateX(-50%);font-size:13px;background:#101516ee}
.hotspot.scene-text{width:auto;height:auto;min-width:0;max-width:90vw;padding:0;pointer-events:none;filter:drop-shadow(0 8px 18px #000a)}
.hotspot.scene-text>.scene-text-card{display:block!important;width:var(--scene-text-width,420px)!important;max-width:90vw!important;height:auto!important;padding:.48em .72em!important;border:1px solid var(--scene-text-border)!important;border-radius:var(--scene-text-radius)!important;background:rgba(var(--scene-text-bg-rgb,17,24,39),var(--scene-text-opacity,.72))!important;color:var(--scene-text-color)!important;font-family:var(--scene-text-font)!important;font-size:var(--scene-text-size)!important;font-weight:var(--scene-text-weight)!important;line-height:1.3!important;white-space:pre-wrap!important;overflow-wrap:anywhere!important;text-align:var(--scene-text-align,center)!important;box-shadow:0 7px 24px #0008!important}
@media(max-width:700px){.hotspot.scene-text>.scene-text-card{max-width:96vw!important}}
.marker-animation-bounce{animation:marker-bounce 1.05s ease-in-out infinite}
.marker-animation-breathe{animation:marker-breathe 1.65s ease-in-out infinite}
.marker-animation-pulse{animation:marker-pulse 1.25s ease-out infinite}
.marker-animation-glow{animation:marker-glow 1.45s ease-in-out infinite}
.marker-animation-sway{animation:marker-sway 1.5s ease-in-out infinite}
@keyframes marker-bounce{0%,100%{translate:0 0}48%{translate:0 -13px}65%{translate:0 -9px}}
@keyframes marker-breathe{0%,100%{scale:1}50%{scale:1.13}}
@keyframes marker-pulse{0%,100%{scale:1;opacity:1}55%{scale:1.16;opacity:.72}}
@keyframes marker-glow{0%,100%{filter:drop-shadow(0 0 0 transparent) brightness(1)}50%{filter:drop-shadow(0 0 15px #d9ff43) brightness(1.25)}}
@keyframes marker-sway{0%,100%{rotate:0deg}30%{rotate:-7deg}70%{rotate:7deg}}
@media(max-width:700px){.hotspot>.marker-animation-body>span:not(.scene-text-card){width:40px;height:40px;font-size:17px}.hotspot>.marker-animation-body>i{height:40px}.hotspot.jump>.marker-animation-body>em{top:6px;left:51px;max-width:112px;font-size:11px;padding:4px 7px}.hotspot.nav-arrow>.marker-animation-body>span{width:82px;height:82px}.hotspot.nav-arrow>.marker-animation-body>em{bottom:-20px;max-width:120px;font-size:11px}.hotspot.scene-text>.scene-text-card{max-width:82vw;font-size:clamp(12px,var(--scene-text-size),56px)}}
@media(prefers-reduced-motion:reduce){.marker-animation-body{animation:none!important}}
