:root{color-scheme:dark;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#fff;background:#172027;font-size:16px}
*{box-sizing:border-box}body{margin:0}button{font:inherit;cursor:pointer}button:focus-visible,canvas:focus-visible{outline:3px solid #ffdc88;outline-offset:4px}button:disabled{opacity:.3;cursor:default}[hidden]{display:none!important}
#tour{position:relative;width:100%;height:100vh;height:100dvh;overflow:hidden;background:#172027;isolation:isolate}
#panorama{display:block;width:100%;height:100%;touch-action:none;cursor:grab}#panorama.dragging{cursor:grabbing}
#hotspots{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.hotspot{position:absolute;left:0;top:0;width:57.6px;height:57.6px;padding:0;border:1.2px solid #ffffffb8;border-radius:50%;background:#14222b6b;color:#fff;box-shadow:0 3.6px 19.2px #0005;pointer-events:auto;display:grid;place-items:center;transition:background .15s,box-shadow .15s;touch-action:manipulation}
.hotspot:hover,.hotspot:focus-visible{background:#14222ba3;color:#fff;box-shadow:0 0 0 7.2px #ffffff30}
.masthead{position:absolute;top:0;left:0;right:0;padding:max(22px,env(safe-area-inset-top)) 26px 48px;background:linear-gradient(#0008,transparent);pointer-events:none}
.brand{display:flex;flex-direction:column;gap:5px;text-shadow:0 1px 5px #0008}.brand strong{font-size:1.25rem;font-weight:550;letter-spacing:.015em}.brand span{font-size:.875rem;color:#fff;opacity:.92}
.controls{position:absolute;bottom:max(22px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;gap:3px;align-items:center;padding:7px 9px;border:1px solid #ffffff35;border-radius:40px;background:#14222be6;box-shadow:0 4px 25px #0003;backdrop-filter:blur(12px)}
.controls button{width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:#fff;font-size:1.55rem;line-height:1;display:grid;place-items:center}.controls button:hover:not(:disabled){background:#ffffff20}.controls #help-toggle{font-size:1.15rem}.divider{width:1px;height:21px;background:#ffffff35;margin:0 3px}
.hint{position:absolute;top:102px;bottom:auto;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 32px);text-align:center;font-size:.875rem;line-height:1.55;background:#14222bd9;padding:10px 17px;border-radius:12px;pointer-events:none}
#notice{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;flex-direction:column;gap:15px;background:#14222bed;box-shadow:0 8px 40px #0003;border-radius:18px;padding:25px;max-width:calc(100% - 30px);width:max-content;text-align:center;line-height:1.5}
#notice button{padding:10px 20px;border:1px solid #ffffff90;background:#fff;color:#172027;border-radius:25px}.spinner{width:25px;height:25px;border:2px solid #ffffff40;border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation:none}.hotspot{transition:none}}
@media(max-width:540px){.masthead{padding-left:18px;padding-right:18px}.brand strong{font-size:1.1rem}.controls{bottom:max(16px,env(safe-area-inset-bottom))}.hint{top:96px;bottom:auto}.hotspot{width:55.2px;height:55.2px}}
noscript{position:absolute;top:45%;left:10%;right:10%;text-align:center}

.transition-view{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:1;transform:scale(1);transition:opacity .55s ease,transform .55s ease;will-change:transform,opacity}
.transition-view.leaving{opacity:0;transform:scale(1.055)}
#panorama.arriving{animation:arrive .55s ease both}
@keyframes arrive{from{transform:scale(1.035)}to{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.transition-view{transition:none}#panorama.arriving{animation:none}}

.controls button:disabled{opacity:.3;cursor:default}.controls button svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.controls button:focus-visible,#rooms-panel button:focus-visible,#rooms-panel input:focus-visible{outline:2px solid #bce8ff;outline-offset:2px}
#rooms-panel{position:absolute;z-index:5;left:50%;bottom:94px;transform:translateX(-50%);width:min(390px,calc(100% - 24px));max-height:calc(100% - 118px);display:flex;flex-direction:column;padding:16px;border:1px solid #ffffff40;border-radius:18px;background:#102132f5;box-shadow:0 8px 40px #0006;backdrop-filter:blur(12px)}
#rooms-panel header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}#rooms-panel h2{font-size:16px;font-weight:550;margin:0}#rooms-close{border:0;background:transparent;color:#fff;font-size:27px;width:32px;height:32px;padding:0;border-radius:50%}
#rooms-search{width:100%;flex-shrink:0;box-sizing:border-box;font:inherit;font-size:14px;color:#fff;background:#ffffff12;border:1px solid #ffffff40;border-radius:8px;padding:10px;margin:0 0 10px}
#rooms-list{overflow-y:auto;min-height:0;display:flex;flex-direction:column;gap:5px}#rooms-list .room-entry{font:inherit;text-align:left;white-space:normal;color:#fff;background:transparent;border:1px solid transparent;border-radius:9px;padding:11px 13px;cursor:pointer}#rooms-list .room-entry:hover{background:#ffffff14}#rooms-list .room-entry[aria-current]{background:#245879;border-color:#9fd8f2}#rooms-list strong{display:block;font-size:14px;font-weight:550;overflow-wrap:anywhere}#rooms-list small{display:block;font-size:12px;color:#c0d5e5;margin-top:4px}#rooms-empty{font-size:13px;color:#c0d5e5}
.editor-mode:not(.interactive) #forward,.editor-mode:not(.interactive) #rooms-toggle,.editor-mode:not(.interactive) #rooms-panel{display:none}
@media(max-width:540px){.controls{padding:6px;gap:2px;max-width:calc(100% - 16px)}.controls button{width:clamp(30px,10vw,38px);height:40px;flex-shrink:0}.controls .divider{margin:0 2px}.controls button svg{width:21px;height:21px}#rooms-panel{bottom:82px;max-height:calc(100% - 102px);padding:12px}}

.hotspot .passage-dot{display:block;width:8.4px;height:8.4px;border-radius:50%;background:currentColor;}


.hotspot.selected{outline:3.6px solid #d9efa7;outline-offset:6px;background:#264c42aa}
.hotspot.unlinked{border-style:dashed}

/* Rotate the symbol independently of the position and its circular hit area. */
.hotspot .hotspot-symbol{position:absolute;inset:0;display:grid;place-items:center;transform:rotate(calc(var(--hotspot-rotation,0deg) + var(--arrow-base,0deg)));pointer-events:none}
.editor-mode:not(.interactive) .hotspot{touch-action:none}
.editor-mode:not(.interactive) .hotspot.rotation-ready{border-color:#a9e8ff;box-shadow:0 0 0 4px #93dcff50;cursor:var(--arty-rotation-cursor)}
#tour-credit{position:absolute;left:50%;bottom:max(3px,env(safe-area-inset-bottom));transform:translateX(-50%);z-index:6;font-size:10px;line-height:1.4;color:#fff;text-decoration:none;padding:2px 7px;border-radius:9px;background:#14222bbd;white-space:nowrap}
#tour-credit:hover{text-decoration:underline;background:#14222bed}#tour-credit:focus-visible{outline:2px solid #bce8ff;outline-offset:2px}
.has-credit .controls{bottom:calc(max(22px,env(safe-area-inset-bottom)) + 17px)}.has-credit #rooms-panel{bottom:111px;max-height:calc(100% - 135px)}
.editor-mode:not(.interactive) #tour-credit{display:none}.editor-mode:not(.interactive) .controls{bottom:max(22px,env(safe-area-inset-bottom))}
@media(max-width:540px){.has-credit .controls{bottom:calc(max(16px,env(safe-area-inset-bottom)) + 17px)}.has-credit #rooms-panel{bottom:99px;max-height:calc(100% - 119px)}}

.hotspot .direction-arrow{display:block;width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:3.6;stroke-linecap:round;stroke-linejoin:round}

/* Extend rotation hit testing to the outside of the selection outline. */
.editor-mode:not(.interactive) .hotspot:is([data-kind="up"],[data-kind="down"],[data-kind="left"],[data-kind="right"]):before{content:"";position:absolute;inset:calc(-1 * (var(--rotation-reach,9.6px) + 1.2px));border-radius:50%;background:transparent;pointer-events:auto}

:root{--arty-rotation-cursor:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2232%22%20height%3D%2232%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cg%20fill%3D%22white%22%20stroke%3D%22%23132035%22%20stroke-width%3D%220.9%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M16%203.8A12.2%2012.2%200%200%200%204%2014H1.2L6.8%2022.3%2012.5%2014H8.3A7.9%207.9%200%200%201%2016%208.1Z%22%2F%3E%3Cpath%20d%3D%22M16%2028.2A12.2%2012.2%200%200%200%2028%2018H30.8L25.2%209.7%2019.5%2018H23.7A7.9%207.9%200%200%201%2016%2023.9Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") 16 16,default}
html.hotspot-rotating,html.hotspot-rotating *{cursor:var(--arty-rotation-cursor)!important}

#hotspot-destination-preview{position:absolute;z-index:8;overflow:hidden;pointer-events:none;border:2px solid #d9efa7;border-radius:8px;background:#0a1b2e;box-shadow:0 7px 25px #0008}#hotspot-destination-preview img{display:block;width:100%;aspect-ratio:2/1;object-fit:contain;background:#11243a}#hotspot-destination-preview span{display:block;padding:7px 10px;color:#e4f2ff;font-size:11px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cover-framing #hotspots,.cover-framing .masthead,.cover-framing .controls,.cover-framing #help,.cover-framing #tour-credit,.cover-framing #rooms-panel,.cover-framing #hotspot-destination-preview{display:none!important}

#hotspot-destination-preview span{padding-right:48%;min-height:29px}#hotspot-destination-preview>.thumbnail-filename{position:absolute;bottom:7px;right:10px;max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;line-height:15px;text-align:right;color:#b2c6dc}
#thumbnails-panel{position:absolute;z-index:5;padding:10px;background:#102132f5;border:1px solid #ffffff40;border-radius:14px;box-shadow:0 8px 40px #0006;color:#fff;backdrop-filter:blur(12px)}#thumbnails-panel header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;font-size:13px}#thumbnails-panel header div{display:flex;gap:5px}#thumbnails-panel header button{font-size:12px;padding:5px 8px;border:1px solid #ffffff40;border-radius:7px;background:#1c3850;color:#fff}#thumbnails-panel header button[aria-pressed=true]{background:#38739b;border-color:#bce8ff}#thumbnails-list{display:flex;gap:8px;overflow:auto;overscroll-behavior:contain}.thumbnail-entry{display:flex;flex-direction:column;gap:4px;flex:0 0 140px;width:140px;padding:4px;background:#1a3248;border:2px solid transparent;border-radius:8px;color:#fff;text-align:left;font-size:12px}.thumbnail-entry[aria-current]{border-color:#bce8ff}.thumbnail-entry img{width:100%;aspect-ratio:2/1;object-fit:cover;border-radius:4px}.thumbnail-entry span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.thumbnails-bottom{left:12px;right:12px;bottom:95px}.has-credit .thumbnails-bottom{bottom:112px}.thumbnails-side{right:12px;top:80px;bottom:92px;width:180px;display:flex;flex-direction:column}.thumbnails-side #thumbnails-list{flex-direction:column;min-height:0}.thumbnails-side .thumbnail-entry{flex:0 0 auto;width:100%}.editor-mode:not(.interactive) #thumbnails-toggle,.editor-mode:not(.interactive) #thumbnails-panel,.cover-framing #thumbnails-panel{display:none!important}@media(max-width:540px){.thumbnails-bottom{bottom:82px}.has-credit .thumbnails-bottom{bottom:99px}.thumbnails-side{width:150px;top:60px;bottom:82px}.thumbnails-side header{flex-direction:column;align-items:flex-start}.thumbnail-entry{flex-basis:120px;width:120px}}

#thumbnails-panel{background:rgba(16,33,50,.5);backdrop-filter:none;display:flex;align-items:stretch;gap:7px;padding:7px;max-width:calc(100% - 8px);max-height:calc(100% - 8px)}#thumbnails-grip{flex:0 0 24px;align-self:stretch;border:0;border-radius:6px;background:#10213299;color:#d8ecff;font-size:22px;cursor:grab;touch-action:none;padding:0}#thumbnails-grip.dragging{cursor:grabbing}#thumbnails-close{align-self:flex-start;flex:0 0 25px;border:0;border-radius:50%;background:#10213299;color:white;font-size:20px;padding:0;line-height:25px}#thumbnails-list{min-width:0;min-height:0}#thumbnails-panel.thumbnails-bottom{width:min(1000px,calc(100% - 24px));height:auto;top:auto}#thumbnails-panel.thumbnails-side{width:190px;height:min(650px,calc(100% - 24px));flex-direction:row}#thumbnails-panel.thumbnails-side #thumbnails-list{flex:1;flex-direction:column}#thumbnails-panel.thumbnails-side .thumbnail-entry{width:100%;flex:0 0 auto}@media(max-width:540px){#thumbnails-panel.thumbnails-side{width:150px}.thumbnail-entry{flex-basis:120px;width:120px}}
