@font-face{font-family:Instrument Sans;font-weight:400;font-style:normal;font-display:swap;src:url(./instrument-sans-latin-400-normal-DRC__1Mx.woff2)format("woff2")}@font-face{font-family:Instrument Sans;font-weight:500;font-style:normal;font-display:swap;src:url(./instrument-sans-latin-500-normal-Dk9ku72i.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-weight:500;font-style:normal;font-display:swap;src:url(./ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2")}:root{--paper:#f6f5f2;--brass:#8c6f3f;--bg-top:#f6f5f2;--bg-bottom:#e7e4dd;--panel:#f6f5f2b3;--panel-strong:#faf9f7e0;--panel-solid:#fff;--glass-line:#fff9;--line:#1f202424;--text:#1f2024;--muted:#5f5c54;--accent:#8c6f3f;--accent-soft:#1f202414;--radius:18px;--blur:blur(18px) saturate(1.5);--shadow:0 14px 40px #1f202429;--shadow-sm:0 4px 16px #1f20241a;--mono:"IBM Plex Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);color:var(--text);font-family:Instrument Sans,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,Arial,sans-serif}*{box-sizing:border-box}html,body{overscroll-behavior:none;background:var(--bg-bottom);height:100%;margin:0;overflow:hidden}[hidden]{display:none!important}#app{background:radial-gradient(120% 90% at 50% 20%, var(--bg-top) 0%, var(--bg-bottom) 100%);-webkit-tap-highlight-color:transparent;position:fixed;top:0;bottom:0;left:0;right:0}#stage{position:absolute;top:0;bottom:0;left:0;right:0}#stage canvas{touch-action:none;outline:none;width:100%;height:100%;display:block}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible{outline:2px solid var(--text);outline-offset:2px}[tabindex]:focus-visible{outline:2px solid var(--text);outline-offset:2px}#info h2:focus{outline:none}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.icon{place-items:center;display:inline-grid}#topbar{top:calc(12px + var(--safe-top));left:calc(12px + var(--safe-left));right:calc(12px + var(--safe-right));pointer-events:none;z-index:5;align-items:center;gap:10px;display:flex;position:absolute}#topbar>*{pointer-events:auto}#brand{border:1px solid var(--glass-line);border-radius:var(--radius);background:var(--panel);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:var(--shadow-sm);padding:9px 18px 10px;display:none}[data-mode=exterior] #brand{display:block}[data-mode=exterior] #crumbs{display:none}.brand-mark{font-size:12px;font-weight:500;line-height:1.3}.brand-mark span{color:var(--muted);font-weight:400}.brand-title{letter-spacing:-.01em;margin-top:2px;font-size:17px;font-weight:500;line-height:1.2}.brand-sub{color:var(--muted);margin-top:1px;font-size:12px}#credit{right:calc(16px + var(--safe-right));bottom:calc(14px + var(--safe-bottom));letter-spacing:.02em;color:#1f20248c;pointer-events:none;z-index:2;font-size:11px;position:absolute}[data-mode=loading] #credit,[data-mode=room] #credit{display:none}.btn{border:1px solid var(--glass-line);background:var(--panel);min-height:40px;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:var(--shadow-sm);border-radius:999px;align-items:center;gap:6px;padding:0 14px;font-size:14px;font-weight:500;display:inline-flex}.btn:hover{background:var(--panel-solid)}.btn-icon{padding-left:10px}.btn-primary{background:var(--text);border-color:var(--text);color:var(--paper);-webkit-backdrop-filter:none;backdrop-filter:none;justify-content:center;width:100%;margin-top:6px}.btn-primary:hover{background:#3a3c42}.btn-tour{min-height:46px;box-shadow:none;gap:10px;margin:14px 0 0;font-size:15px}.tour-icon-light{background:#ffffff38}#crumbs{border:1px solid var(--glass-line);background:var(--panel);min-width:0;min-height:40px;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:var(--shadow-sm);border-radius:999px;align-items:center;gap:2px;padding:0 8px;font-size:14px;display:flex;overflow:hidden}.crumb{color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:999px;padding:6px 8px}button.crumb:hover{color:var(--text)}.crumb.is-current{color:var(--text);text-overflow:ellipsis;font-weight:500;overflow:hidden}.crumb-sep{color:var(--muted);opacity:.6}#deckbar{left:50%;bottom:calc(16px + var(--safe-bottom));z-index:5;gap:8px;max-width:calc(100% - 20px);display:flex;position:absolute;transform:translate(-50%)}.deckbar-group{border:1px solid var(--glass-line);background:var(--panel);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:var(--shadow);border-radius:999px;gap:2px;padding:4px;display:flex}.deck-btn{min-height:42px;color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:999px;padding:0 16px;font-size:14px;font-weight:500;transition:background .15s,color .15s}.deck-btn:hover,.deck-btn.is-hover{background:var(--accent-soft);color:var(--text)}.deck-btn.is-active{background:var(--text);color:var(--paper)}.deck-btn-tour{border:1px solid var(--glass-line);background:var(--panel);min-height:52px;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);color:var(--text);box-shadow:var(--shadow);align-items:center;gap:8px;display:inline-flex}.tour-icon{font-family:var(--mono);background:var(--text);color:var(--paper);border-radius:999px;padding:3px 7px;font-size:11px;font-weight:500}#roomlist{z-index:4;animation:.35s both fade;position:absolute}.roomlist-title{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:500}.roomlist-toggle,.roomlist-close,.roomlist-scrim{display:none}.roomlist-panel,.roomlist-head{display:contents}.room-btn{text-align:left;white-space:nowrap;background:0 0;border:0;justify-content:space-between;align-items:baseline;gap:12px;font-size:14px;transition:background .15s;display:flex}.room-area{font-family:var(--mono);color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.room-btn:hover,.room-btn.is-hover{background:var(--accent-soft)}.room-btn.is-active{background:var(--text);color:var(--paper)}.room-btn.is-active .room-area{color:#f6f5f2b8}#info{z-index:6;background:var(--panel-strong);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--glass-line);box-shadow:var(--shadow);overscroll-behavior:contain;-webkit-overflow-scrolling:touch;animation:.35s both fade;position:absolute;overflow-y:auto}#info-body{padding:22px 22px 24px}.btn-close{border:1px solid var(--line);z-index:2;background:#fffffff0;border-radius:50%;place-items:center;width:38px;height:38px;margin:10px 10px 0 auto;display:grid;position:sticky;top:10px;box-shadow:0 2px 8px #1f20241f}#info-body{margin-top:-48px}#info-body:not(.has-cover) .eyebrow,#info-body:not(.has-cover) h2{margin-right:40px}.cover{cursor:zoom-in;width:calc(100% + 44px);aspect-ratio:var(--cover-aspect,16 / 10);background:#e9edf1;border:0;margin:-22px -22px 18px;padding:0;display:block;position:relative;overflow:hidden}.cover img{object-fit:cover;width:100%;height:100%;transition:transform .5s;display:block}.cover:hover img{transform:scale(1.025)}.cover:focus-visible{outline-offset:-3px}.cover-zoom{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;background:#1f20249e;border-radius:999px;align-items:center;gap:6px;padding:5px 10px 5px 8px;font-size:12px;font-weight:500;display:inline-flex;position:absolute;bottom:12px;left:12px}.thumbs{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;margin:18px 0 4px;display:grid}.thumb{aspect-ratio:16/10;cursor:zoom-in;background:#e9edf1;border:0;border-radius:10px;padding:0;overflow:hidden}.thumb img{object-fit:cover;width:100%;height:100%;transition:opacity .15s;display:block}.thumb:hover img{opacity:.85}.thumb.is-cover{box-shadow:inset 0 0 0 2px var(--accent)}.eyebrow{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 6px;font-size:12px;font-weight:500}#info h2{letter-spacing:-.01em;margin:0 0 4px;font-size:28px;font-weight:500;line-height:1.15}.subtitle{color:var(--muted);margin:0}.facts{gap:28px;margin:20px 0 18px;display:flex}.facts dt{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:12px}.facts dd{border-bottom:2px solid var(--brass);font-variant-numeric:tabular-nums;margin:2px 0 0;padding-bottom:2px;font-size:28px;font-weight:500;line-height:1.2;display:inline-block}.text p{margin:0 0 12px;font-size:15px;line-height:1.55}.text p.is-placeholder{color:var(--muted);opacity:.8;font-size:14px}.gallery-placeholder{border-top:1px solid var(--line);color:var(--muted);opacity:.8;margin:14px 0 0;padding-top:12px;font-size:13px}#markers{pointer-events:none;z-index:3;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.marker{pointer-events:auto;will-change:transform;background:0 0;border:0;border-radius:50%;width:34px;height:34px;margin:-17px 0 0 -17px;padding:0;animation:.4s .25s both fade;position:absolute;top:0;left:0}.marker.is-off{visibility:hidden}.marker-dot{color:#fff;background:#1f2024e0;border:2px solid #fff;border-radius:50%;place-items:center;font-size:0;transition:top .15s,bottom .15s,left .15s,right .15s,font-size .15s;display:grid;position:absolute;top:7px;bottom:7px;left:7px;right:7px;box-shadow:0 2px 8px #1f202459}.marker-dot:before{content:"";background:#fff;border-radius:50%;width:6px;height:6px}.marker:before{content:"";opacity:0;border:2px solid #ffffffb3;border-radius:50%;position:absolute;top:5px;bottom:5px;left:5px;right:5px}.marker.is-room:before{opacity:1;animation:2.6s ease-out infinite marker-pulse}.marker.is-room .marker-dot{background:var(--brass)}.marker:hover .marker-dot{font-size:11px;font-weight:500;top:-4px;bottom:-4px;left:-4px;right:-4px}.marker:focus-visible .marker-dot{font-size:11px;font-weight:500;top:-4px;bottom:-4px;left:-4px;right:-4px}.marker:hover .marker-dot:before{display:none}.marker:focus-visible .marker-dot:before{display:none}.marker:focus-visible{outline-offset:6px}.marker:after{content:attr(data-title);color:#fff;white-space:nowrap;opacity:0;pointer-events:none;background:#1f2024e6;border-radius:8px;padding:5px 9px;font-size:12px;font-weight:500;transition:opacity .15s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.marker:hover:after{opacity:1}.marker:focus-visible:after{opacity:1}@keyframes marker-pulse{0%{opacity:.9;transform:scale(.8)}70%,to{opacity:0;transform:scale(1.6)}}#deckcard{top:50%;right:calc(28px + var(--safe-right));border:1px solid var(--glass-line);background:var(--panel);width:300px;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:var(--shadow);z-index:4;border-radius:24px;padding:26px 26px 24px;animation:.5s both fade;position:absolute;transform:translateY(-50%)}#deckcard h2{letter-spacing:-.01em;margin:0 0 6px;font-size:28px;font-weight:500;line-height:1.15}.deckcard-lead{color:var(--muted);margin:0;font-size:14px;line-height:1.45}.deckcard-label{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:22px 0 0;font-size:12px}.deckcard-number{border-bottom:2px solid var(--brass);letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:0;padding-bottom:2px;font-size:64px;font-weight:500;line-height:1.05;display:inline-block}.deckcard-name{margin:12px 0 2px;font-size:20px;font-weight:500}.deckcard-meta{color:var(--muted);margin:0;font-size:14px}.deckcard-go{min-height:46px;box-shadow:none;margin-top:22px;font-size:15px}[data-mode=exterior] #credit,.deckcard-go .is-short{display:none}@media (max-width:859.98px){#deckcard{top:auto;left:calc(8px + var(--safe-left));right:calc(8px + var(--safe-right));bottom:calc(72px + var(--safe-bottom));border-radius:22px;grid-template-rows:auto auto;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:14px;width:auto;max-width:480px;margin:0 auto;padding:12px 12px 12px 18px;display:grid;transform:none}#deckcard h2,.deckcard-lead,.deckcard-label{display:none}.deckcard-number{grid-row:1/3;font-size:36px}.deckcard-name{align-self:end;margin:0;font-size:16px}.deckcard-meta{align-self:start;font-size:13px}.deckcard-go{grid-area:1/3/3;width:auto;margin:0;padding:0 18px}.deckcard-go .is-long{display:none}.deckcard-go .is-short{display:inline}[data-mode=exterior] #hint{bottom:calc(150px + var(--safe-bottom))}}#lightbox{padding:var(--safe-top) var(--safe-right) var(--safe-bottom) var(--safe-left);color:#fff;z-index:45;touch-action:pan-y;background:#0a101aeb;grid-template-rows:60px minmax(0,1fr) 28px;grid-template-columns:72px minmax(0,1fr) 72px;align-items:center;animation:.2s both fade;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.lb-top{grid-area:1/1/auto/-1;justify-content:space-between;align-items:center;padding:0 12px 0 20px;display:flex}.lb-count{font-variant-numeric:tabular-nums;opacity:.8;font-size:13px}.lb-btn{color:#fff;background:#ffffff14;border:1px solid #ffffff38;border-radius:50%;place-items:center;width:44px;height:44px;padding:0;display:grid}.lb-btn:hover{background:#ffffff2e}.lb-btn:focus-visible{outline-color:#fff}.lb-prev{grid-area:2/1;justify-self:center}.lb-next{grid-area:2/3;justify-self:center}#lightbox.is-single .lb-nav{visibility:hidden}.lb-figure{flex-direction:column;grid-area:2/2;justify-content:center;align-items:center;height:100%;min-height:0;margin:0;display:flex}.lb-img{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;border-radius:6px;max-width:100%;max-height:calc(100% - 30px);display:block;box-shadow:0 20px 60px #00000073}.lb-caption{opacity:.85;text-align:center;margin-top:10px;font-size:13px}#hint{left:50%;bottom:calc(84px + var(--safe-bottom));color:#fff;white-space:nowrap;pointer-events:none;z-index:3;background:#1f2024b8;border-radius:999px;padding:6px 12px;font-size:13px;transition:opacity .4s;position:absolute;transform:translate(-50%)}#hint.is-hidden{opacity:0}#tooltip{color:#fff;white-space:nowrap;pointer-events:none;z-index:20;background:#1f2024e6;border-radius:8px;padding:6px 10px;font-size:13px;font-weight:500;position:fixed;top:0;left:0}#loading{background:radial-gradient(120% 90% at 50% 20%, var(--bg-top) 0%, var(--bg-bottom) 100%);z-index:30;place-items:center;transition:opacity .45s;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}#loading.is-done{opacity:0;pointer-events:none}.loading-box{text-align:center;flex-direction:column;align-items:center;width:min(560px,100vw - 48px);animation:.6s both fade;display:flex}.loading-mark{color:var(--text);margin-bottom:28px;font-size:14px}.loading-credit{display:none}.loading-title{letter-spacing:-.015em;margin:0;font-size:40px;font-weight:500;line-height:1.15}.loading-sub{color:var(--muted);margin:6px 0 26px;font-size:14px}.loading-track{background:#1f20241a;border-radius:0;width:150px;height:2px;overflow:hidden}#loading-bar{background:var(--accent);border-radius:3px;width:0;height:100%;transition:width .35s}#loading-text{min-height:18px;font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-variant-numeric:tabular-nums;flex-direction:column;gap:6px;margin-top:12px;font-size:12px;display:flex}#loading.is-error #loading-text{letter-spacing:0;text-transform:none;font-family:inherit}.loading-credit{letter-spacing:.04em;color:#1f202480;margin-top:40px;font-size:11px}#loading.is-error #loading-text{font-size:14px;line-height:1.5}.error-title{color:var(--text);font-size:16px}.error-reload{margin-top:18px}#tour{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:40;background:#1f20248c;place-items:center;padding:20px;animation:.25s both fade;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.tour-box{border-radius:var(--radius);background:var(--panel-solid);width:min(440px,100%);max-height:100%;box-shadow:var(--shadow);padding:26px;overflow-y:auto}.tour-box h2{margin:0 0 8px;font-size:22px}.tour-box p{color:var(--muted);margin:0 0 18px;line-height:1.5}.tour-list{border-top:1px solid var(--line);margin:0 0 18px;padding:0;list-style:none}.tour-list li{border-bottom:1px solid var(--line);padding:10px 2px;font-size:14px}.tour-list li.is-start{font-weight:500}#debug{color:#fff;z-index:50;background:#1f2024e0;border-radius:12px;width:250px;max-height:calc(100% - 160px);padding:12px;font-size:12px;position:absolute;top:64px;right:12px;overflow-y:auto}.debug-title{margin:8px 0 6px;font-weight:500}.debug-row{grid-template-columns:96px 1fr;align-items:center;gap:8px;margin-bottom:4px;display:grid}.debug-row input,.debug-row select{width:100%}.debug-out{white-space:pre-wrap;opacity:.85;margin:8px 0 0;font-size:11px}@keyframes fade{0%{opacity:0}to{opacity:1}}@media (min-width:860px){#roomlist{border:1px solid var(--glass-line);border-radius:var(--radius);background:var(--panel);width:250px;max-height:calc(100% - 180px);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:var(--shadow);padding:16px 8px 8px;top:72px;left:12px;overflow-y:auto}.roomlist-title{padding:0 10px 8px}.roomlist-items{flex-direction:column;gap:1px;display:flex}.room-btn{border-radius:9px;width:100%;padding:9px 10px}#info{border-radius:var(--radius);width:380px;top:12px;bottom:12px;right:12px}}@media (max-width:859.98px){#topbar{top:calc(8px + var(--safe-top));left:calc(8px + var(--safe-left));right:calc(8px + var(--safe-right))}.btn-icon span{display:none}.btn-icon{padding:0 11px}#deckbar{left:calc(8px + var(--safe-left));right:calc(8px + var(--safe-right));bottom:calc(10px + var(--safe-bottom));justify-content:center;gap:6px;max-width:none;transform:none}.deckbar-group{flex:auto;min-width:0;max-width:420px}.deckbar-group .deck-btn{flex:auto;min-width:0}.deck-btn{padding:0 7px;font-size:13px}.deck-btn-tour span:last-child{display:none}.deck-btn-tour{padding:0 10px}#hint{bottom:calc(72px + var(--safe-bottom))}[data-mode=deck] #hint,[data-mode=room] #hint{display:none}#roomlist{left:0;right:0;bottom:calc(70px + var(--safe-bottom));pointer-events:none;justify-content:center;display:flex}#roomlist>*{pointer-events:auto}.roomlist-toggle{gap:8px;min-height:44px;padding:0 18px;display:inline-flex}.roomlist-count{font-family:var(--mono);color:var(--muted);font-size:12px}.roomlist-panel{display:none}#roomlist.is-open{z-index:7;align-items:flex-end;top:0;bottom:0}#roomlist.is-open .roomlist-toggle{display:none}#roomlist.is-open .roomlist-scrim{background:#1f202447;display:block;position:absolute;top:0;bottom:0;left:0;right:0}#roomlist.is-open .roomlist-panel{width:100%;max-width:560px;max-height:72%;margin:0 calc(8px + var(--safe-right)) calc(8px + var(--safe-bottom)) calc(8px + var(--safe-left));border:1px solid var(--glass-line);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:var(--shadow);background:#faf9f7f5;border-radius:22px;flex-direction:column;padding:8px 8px 10px;display:flex;position:relative}.roomlist-head{justify-content:space-between;align-items:center;padding:2px 2px 4px 12px;display:flex}.roomlist-close{background:0 0;border:0;border-radius:50%;place-items:center;width:44px;height:44px;padding:0;display:grid}.roomlist-items{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex-direction:column;gap:1px;display:flex;overflow-y:auto}.room-btn{border-radius:12px;flex:none;align-items:center;width:100%;min-height:46px;padding:0 12px;font-size:15px}#info{max-height:46%;padding-bottom:var(--safe-bottom);border-bottom:0;border-radius:18px 18px 0 0;bottom:0;left:0;right:0}[data-mode=room] #roomlist,[data-mode=room] #deckbar{display:none}#info h2{font-size:22px}#info-body{padding:18px 18px 20px}#debug{width:220px;top:56px;right:8px}}@media (min-width:600px) and (max-width:859.98px){#info{max-width:560px;margin:0 auto}}@media (min-width:860px){[data-mode=room] #deckbar{max-width:calc(100% - 412px);left:calc(50% - 196px)}}@media (min-width:860px) and (max-width:1259.98px){[data-mode=room] .deck-btn-tour span:last-child{display:none}[data-mode=room] .deck-btn{padding:0 11px}}@media (max-width:1179.98px){#credit{display:none}}@media (max-width:859.98px){#brand{border-radius:12px;padding:6px 12px 7px}.brand-title{font-size:14px}.brand-sub{font-size:11px}.cover{aspect-ratio:2;width:calc(100% + 36px);max-height:min(220px,26vh);margin:-18px -18px 16px}#lightbox{grid-template-rows:60px minmax(0,1fr) 80px;grid-template-columns:0 minmax(0,1fr) 0}.lb-prev,.lb-next{grid-area:3/2;align-self:start}.lb-prev{justify-self:start;margin-left:20px}.lb-next{justify-self:end;margin-right:20px}.lb-figure{padding:0 8px}.loading-title{font-size:22px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.marker:before{display:none}}#tour.tour-pano{-webkit-backdrop-filter:none;background:#0d141d;padding:0;display:block}.pano{color:var(--text,#111c2b);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;outline:none;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.pano-view{cursor:grab;touch-action:none;position:absolute;top:0;bottom:0;left:0;right:0}.pano-view.is-dragging{cursor:grabbing}.pano-view canvas{outline:none;width:100%;height:100%;display:block}.pano-markers{pointer-events:none;transition:opacity .25s;position:absolute;top:0;bottom:0;left:0;right:0}.pano-markers.is-hidden{opacity:0}.pano-markers.is-hidden .pano-marker{pointer-events:none}.pano-marker{pointer-events:none;will-change:transform;background:0 0;border:0;flex-direction:column;align-items:center;gap:6px;width:0;height:0;padding:0;display:flex;position:absolute;top:0;left:0}.pano-marker-dot{pointer-events:auto;cursor:pointer;border-radius:50%;flex:none;width:48px;height:48px;margin-top:-24px;position:relative}.pano-marker-dot:before{content:"";background:#1f2024d9;border:3px solid #fff;border-radius:50%;transition:transform .15s,background .15s;position:absolute;top:10px;bottom:10px;left:10px;right:10px;box-shadow:0 2px 10px #00000059}.pano-marker-dot:after{content:"";border:2px solid #ffffffe6;border-radius:50%;animation:2.2s ease-out infinite pano-pulse;position:absolute;top:10px;bottom:10px;left:10px;right:10px}.pano-marker-label{background:var(--panel,#ffffffeb);max-width:180px;color:var(--text,#111c2b);white-space:nowrap;text-overflow:ellipsis;pointer-events:auto;cursor:pointer;border-radius:999px;flex:none;padding:5px 11px;font-size:13px;font-weight:500;overflow:hidden;box-shadow:0 2px 10px #101c2c40}.pano-marker:hover .pano-marker-dot:before{background:var(--brass,#8c6f3f);transform:scale(1.15)}.pano-marker:focus-visible .pano-marker-dot:before{background:var(--brass,#8c6f3f);transform:scale(1.15)}.pano-marker:focus-visible{outline:none}.pano-marker:focus-visible .pano-marker-label{outline:2px solid var(--text,#1f2024);outline-offset:2px}@keyframes pano-pulse{0%{opacity:.9;transform:scale(1)}80%,to{opacity:0;transform:scale(1.9)}}.pano-top{top:calc(12px + var(--safe-top,0px));left:calc(12px + var(--safe-left,0px));right:calc(12px + var(--safe-right,0px));pointer-events:none;z-index:3;justify-content:space-between;align-items:flex-start;gap:10px;display:flex;position:absolute}.pano-top>*{pointer-events:auto}.pano-titlebox{border:1px solid var(--glass-line,#fff9);background:var(--panel,#ffffffe6);min-width:0;max-width:min(460px,100%);-webkit-backdrop-filter:var(--blur,blur(18px));box-shadow:var(--shadow,0 10px 34px #101c2c24);border-radius:22px;padding:9px 18px 10px}.pano-eyebrow{font-family:var(--mono,monospace);letter-spacing:.06em;text-transform:uppercase;color:var(--muted,#5f5c54);white-space:nowrap;text-overflow:ellipsis;margin:0 0 1px;font-size:11px;font-weight:500;overflow:hidden}.pano-title{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:18px;font-weight:500;line-height:1.25;overflow:hidden}.pano-actions{flex:none;gap:8px;display:flex}.pano-round{border:1px solid var(--glass-line,#fff9);background:var(--panel,#ffffffe6);width:44px;height:44px;-webkit-backdrop-filter:var(--blur,blur(18px));color:var(--text,#111c2b);border-radius:50%;place-items:center;padding:0;transition:background .15s;display:grid;box-shadow:0 2px 10px #101c2c1f}.pano-round:hover{background:var(--panel-solid,#fff)}.pano-round-flat{box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:0}.pano-round-flat:hover{background:var(--accent-soft,#2f9bff29)}.pano-bottom{left:50%;bottom:calc(16px + var(--safe-bottom,0px));border:1px solid var(--glass-line,#fff9);background:var(--panel,#ffffffe6);-webkit-backdrop-filter:var(--blur,blur(18px));box-shadow:var(--shadow,0 10px 34px #101c2c24);z-index:3;border-radius:999px;align-items:center;gap:2px;padding:4px;display:flex;position:absolute;transform:translate(-50%)}.pano-overview-btn{white-space:nowrap;background:0 0;border:0;border-radius:999px;align-items:center;gap:8px;min-height:44px;padding:0 18px;font-size:14px;font-weight:500;transition:background .15s,color .15s;display:inline-flex}.pano-overview-btn:hover{background:var(--accent-soft,#2f9bff29)}.pano-overview-btn[aria-expanded=true]{background:var(--text,#111c2b);color:#fff}.pano-counter{font-family:var(--mono,monospace);color:var(--muted,#5d6b7c);font-variant-numeric:tabular-nums;font-size:12px;font-weight:500}.pano-counter:empty{display:none}.pano-overview-btn[aria-expanded=true] .pano-counter{color:#ffffffb3}.pano-hint{color:#fff;white-space:nowrap;pointer-events:none;z-index:2;background:#1f2024c7;border-radius:999px;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:500;transition:opacity .35s;animation:.4s both pano-in;display:inline-flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.pano-hint.is-out{opacity:0}.pano-loading{background:var(--panel,#ffffffe6);box-shadow:var(--shadow,0 10px 34px #101c2c24);pointer-events:none;z-index:4;border-radius:999px;align-items:center;gap:10px;padding:10px 16px;font-size:14px;font-weight:500;animation:.25s both pano-in;display:inline-flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.pano-spinner{border:2.5px solid #101c2c26;border-top-color:var(--accent,#0b6fd6);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite pano-spin}.pano-error{border-radius:var(--radius,14px);background:var(--panel-solid,#fff);width:min(400px,100% - 32px);box-shadow:var(--shadow,0 10px 34px #101c2c24);z-index:5;padding:22px;animation:.25s both pano-in;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.pano-error h3{margin:0 0 6px;font-size:18px}.pano-error p{color:var(--muted,#5d6b7c);margin:0 0 16px;font-size:14px;line-height:1.5}.pano-error-actions{flex-wrap:wrap;gap:8px;display:flex}.pano-scrim{z-index:6;background:#1f202459;animation:.2s both pano-in;position:absolute;top:0;bottom:0;left:0;right:0}.pano-sheet{top:calc(12px + var(--safe-top,0px));right:calc(12px + var(--safe-right,0px));bottom:calc(12px + var(--safe-bottom,0px));border:1px solid var(--glass-line,#fff9);border-radius:var(--radius,14px);background:var(--panel-strong,#fff);width:380px;-webkit-backdrop-filter:var(--blur,blur(18px));backdrop-filter:var(--blur,blur(18px));box-shadow:var(--shadow,0 10px 34px #101c2c24);z-index:7;flex-direction:column;animation:.28s both pano-slide-x;display:flex;position:absolute}.pano-sheet-head{justify-content:space-between;align-items:center;padding:10px 10px 6px 20px;display:flex}.pano-sheet-head h3{margin:0;font-size:18px}.pano-sheet-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:auto;min-height:0;padding:0 14px 16px;overflow-y:auto}.pano-sheet-body section+section{margin-top:8px}.pano-sheet-body h4{font-family:var(--mono,monospace);letter-spacing:.06em;text-transform:uppercase;color:var(--muted,#5d6b7c);margin:10px 6px 8px;font-size:12px;font-weight:500}.pano-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.pano-item{background:var(--paper,#f6f5f2);text-align:left;border:2px solid #0000;border-radius:12px;flex-direction:column;width:100%;padding:0;transition:border-color .15s,background .15s;display:flex;overflow:hidden}.pano-item:hover{background:#ececea}.pano-item.is-current{border-color:var(--accent,#0b6fd6)}.pano-thumb{aspect-ratio:2;background:#ececea;display:block;overflow:hidden}.pano-thumb img{object-fit:cover;width:100%;height:100%;display:block}.pano-thumb-empty{color:#101c2c66;place-items:center;height:100%;font-size:13px;font-weight:500;display:grid}.pano-item-text{flex-direction:column;gap:1px;min-width:0;padding:8px 10px 9px;display:flex}.pano-item-title{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:500;overflow:hidden}.pano-item-sub{color:var(--muted,#5d6b7c);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}@keyframes pano-in{0%{opacity:0}to{opacity:1}}@keyframes pano-spin{to{transform:rotate(360deg)}}@keyframes pano-slide-x{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}@keyframes pano-slide-y{0%{transform:translateY(100%)}to{transform:none}}@media (max-width:859.98px){.pano-top{top:calc(8px + var(--safe-top,0px));left:calc(8px + var(--safe-left,0px));right:calc(8px + var(--safe-right,0px))}.pano-titlebox{padding:7px 14px 8px}.pano-title{font-size:16px}.pano-actions{gap:6px}.pano-bottom{bottom:calc(10px + var(--safe-bottom,0px))}.pano-overview-btn{padding:0 14px}.pano-marker-label{max-width:140px;padding:4px 9px;font-size:12px}.pano-sheet{width:auto;max-height:78%;padding-bottom:var(--safe-bottom,0px);padding-left:var(--safe-left,0px);padding-right:var(--safe-right,0px);border-bottom:0;border-radius:18px 18px 0 0;animation-name:pano-slide-y;top:auto;bottom:0;left:0;right:0}.pano-sheet-head{padding:8px 8px 4px 18px}}@media (max-width:340px){.pano-overview-btn span:not(.pano-counter){display:none}}@media (prefers-reduced-motion:reduce){.pano-marker-dot:after{opacity:0;animation:none}.pano-sheet,.pano-hint,.pano-loading,.pano-error,.pano-scrim{animation:none}}
