#panoramaStage[hidden],.pano-pin[hidden],.pano-loading[hidden]{display:none!important}
#panoramaStage{position:fixed;inset:56px 0 70px;z-index:3;overflow:hidden;background:#07131f;animation:panoEnter .55s ease}
#panoramaStage canvas{position:absolute;inset:0;width:100%;height:100%;cursor:grab;touch-action:none;outline-offset:-4px}
#panoramaStage canvas.dragging{cursor:grabbing}.in-panorama #stage{visibility:hidden;pointer-events:none}.in-panorama .shade,.in-panorama .atmosphere{display:none}
.pano-vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(#03101c99,transparent 28%,transparent 65%,#03101cbf)}
.pano-title{position:absolute;top:27px;left:3.5%;pointer-events:none;text-shadow:0 2px 14px #000}.pano-title p{font-size:13px;letter-spacing:4px;color:#e7c786;margin:0 0 10px}.pano-title h1{font-size:clamp(23px,2.5vw,38px);letter-spacing:4px;margin:0 0 10px}.pano-title span{font-size:14px;color:#d1e2ee}
.pano-pins{position:absolute;inset:0;pointer-events:none}.pano-pin{position:absolute;pointer-events:auto;transform:translate(-50%,-65%);border:none;border-radius:0;padding:0;width:180px;display:flex;align-items:center;flex-direction:column;background:none!important;filter:drop-shadow(0 3px 12px #061321);transition:filter .2s}
.pano-pin:hover{filter:drop-shadow(0 0 15px #e8c27388)}.pano-pin:active{transform:translate(-50%,-65%)}.pano-pin .sprite{width:92px;height:92px;animation:float 5s ease-in-out infinite}.pano-pin b{font-size:18px;white-space:nowrap;padding:8px 16px;background:#061728c9;border:1px solid #e3c68990;border-radius:6px;font-family:LocalSerif,serif;font-weight:400;letter-spacing:1px}.pin-stem{width:1px;height:25px;background:linear-gradient(#f4d294,#f4d29455)}.pano-pin i{width:36px;height:14px;display:block;border:1px solid #f4d294;border-radius:50%;box-shadow:0 0 20px #f4d294aa,inset 0 0 12px #f4d29466}
.pano-places{position:absolute;bottom:62px;left:3.5%;display:flex;gap:8px;max-width:70%;flex-wrap:wrap}.pano-places button{font-size:14px;border-radius:6px;padding:9px 14px;background:#041423bf;backdrop-filter:blur(8px);border-color:#bbaa6c55}.pano-places button.active{border-color:#f0d399;color:#ffe4b6;background:#56442088}
.pano-controls{position:absolute;bottom:62px;right:3.5%;display:flex;gap:5px;background:#041423bf;backdrop-filter:blur(8px);padding:5px;border:1px solid #bbaa6c55;border-radius:8px}.pano-controls button{border:0;font-size:14px;padding:7px 10px;border-radius:4px}.pano-controls button[aria-pressed=true]{color:#f9d88f;background:#66512466}
.pano-bottom{position:absolute;bottom:24px;left:3.5%;right:3.5%;display:flex;justify-content:space-between;pointer-events:none;font-size:13px;letter-spacing:1px;color:#d4e4ef}.pano-bearing{font-variant-numeric:tabular-nums;color:#ecd39d}.pano-loading{position:absolute;top:48%;left:50%;transform:translate(-50%,-50%);padding:18px 24px;background:#071524e8;border:1px solid #b89c6a;border-radius:6px;font-size:16px}
@keyframes panoEnter{from{opacity:0}to{opacity:1}}
@media(min-width:1500px){#panoramaStage{top:76px;bottom:86px}}
@media(min-width:761px) and (min-height:851px){#panoramaStage{top:66px;bottom:82px}}
@media(max-width:1000px){.pano-controls{bottom:22px}.pano-places{bottom:75px;max-width:94%}.pano-bottom{bottom:32px;right:auto}.pano-bearing{display:none}.pano-hint{font-size:12px}.pano-title h1{font-size:27px}}
@media(max-width:760px){#panoramaStage{top:57px;bottom:72px}.pano-title{top:24px;right:4%}.pano-title h1{font-size:24px;letter-spacing:2px}.pano-title span{font-size:12px}.pano-title p{font-size:12px}.pano-pin{width:145px}.pano-pin .sprite{width:76px;height:76px}.pano-pin b{font-size:15px;padding:8px 10px}.pano-controls{bottom:47px;left:50%;right:auto;transform:translateX(-50%);white-space:nowrap}.pano-places{left:3.5%;right:3.5%;max-width:none;bottom:105px;justify-content:center;gap:6px}.pano-places button{font-size:12px;padding:7px 9px}.pano-bottom{bottom:19px;left:0;right:0;justify-content:center}.pano-hint{font-size:11px}.in-panorama .lessonbar nav{gap:12px}.in-panorama .utilities button{font-size:11px}.in-panorama #stage{height:calc(100svh - 129px);min-height:0}}

body.in-panorama{height:100svh;overflow:hidden}.in-panorama .lessonbar{position:fixed;bottom:0;left:0;right:0}.in-panorama #world{visibility:hidden}.in-panorama .topbar,.in-panorama .lessonbar{background:#061321ec}#panoramaStage:not([data-yaw]) .pano-pins{visibility:hidden}
