:root{--accent:#2d7ff9;--nav:#ff8c1a;--panel-bg:rgba(20,24,32,0.82);--text:#f5f7fa}*{box-sizing:border-box}html,body{font-family:"Microsoft YaHei",system-ui,sans-serif;height:100%;margin:0;overflow:hidden}#viewer{background:#000;inset:0;position:fixed}#viewer canvas{filter:brightness(var(--pano-bright,1))}.bright-label{align-items:center;display:flex;gap:8px}#bright-val{color:var(--accent);font-variant-numeric:tabular-nums}#brightness{flex:1}.psv-navbar{box-sizing:content-box;padding-bottom:env(safe-area-inset-bottom,0)}#compass{margin-left:auto}#control-panel{background:var(--panel-bg);border-radius:12px;bottom:calc(122px + env(safe-area-inset-bottom,0));color:var(--text);display:flex;flex-direction:column;gap:10px;left:calc(16px + env(safe-area-inset-left,0));max-height:70vh;opacity:0;overflow:auto;padding:12px;pointer-events:none;position:fixed;transform:translatey(8px);transition:transform .25s ease,opacity .25s ease;width:260px;z-index:20}body.panel-open #control-panel{opacity:1;pointer-events:auto;transform:translatey(0)}#panel-toggle{background:var(--accent);border:none;border-radius:50%;bottom:calc(68px + env(safe-area-inset-bottom,0));box-shadow:0 2px 8px rgba(0,0,0,0.4);color:#fff;cursor:pointer;font-size:20px;height:44px;left:calc(16px + env(safe-area-inset-left,0));line-height:44px;position:fixed;width:44px;z-index:21}.panel-block{display:flex;flex-direction:column;gap:6px}#control-panel select,#control-panel input,#control-panel button{border:none;border-radius:8px;font-size:14px;padding:8px;width:100%}#control-panel button{background:var(--accent);color:#fff;cursor:pointer}.sr-wrap{position:relative}#pano-search{background:rgba(255,255,255,0.12);border:none;border-radius:8px;color:var(--text);font-size:14px;outline:none;padding:8px 10px;transition:background .15s;width:100%}#pano-search:focus{background:rgba(255,255,255,0.2)}#pano-search::placeholder{color:rgba(255,255,255,0.45)}#search-results{background:rgba(20,26,38,0.97);border:1px solid rgba(255,255,255,0.12);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,0.5);list-style:none;margin:4px 0 0;max-height:280px;overflow-y:auto;padding:4px 0}#search-results[hidden]{display:none}.sr-item{align-items:center;border-bottom:1px solid rgba(255,255,255,0.06);cursor:pointer;display:flex;gap:6px;padding:7px 10px;transition:background .12s}.sr-item:last-child{border-bottom:none}.sr-item:hover{background:rgba(255,255,255,0.08)}.sr-tag{border-radius:4px;flex-shrink:0;font-size:10px;font-weight:700;letter-spacing:.5px;padding:1px 5px}.sr-scene-tag{background:rgba(45,127,249,0.25);border:1px solid rgba(45,127,249,0.4);color:#7ab4ff}.sr-hs-tag{background:rgba(255,140,26,0.22);border:1px solid rgba(255,140,26,0.4);color:#ffb566}.sr-name{color:var(--text);flex:1;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sr-name mark{background:rgba(255,220,50,0.35);border-radius:2px;color:#ffe97a;padding:0 1px}.sr-sub{color:rgba(255,255,255,0.38);flex-shrink:0;font-size:11px}.sr-empty{color:rgba(255,255,255,0.35);font-size:13px;padding:10px;text-align:center}.drawer{background:#fff;box-shadow:-4px 0 24px rgba(0,0,0,0.3);color:#222;height:100%;max-width:86vw;overflow:auto;padding:calc(24px + env(safe-area-inset-top,0)) calc(24px + env(safe-area-inset-right,0)) calc(24px + env(safe-area-inset-bottom,0)) 24px;position:fixed;right:0;top:0;transform:translatex(100%);transition:transform .3s ease;width:360px;z-index:30}.drawer[aria-hidden="false"]{transform:translatex(0)}.drawer-close{background:none;border:none;cursor:pointer;font-size:20px;position:absolute;right:calc(12px + env(safe-area-inset-right,0));top:calc(12px + env(safe-area-inset-top,0))}.drawer-summary{color:#666}.drawer-media img,.drawer-media video{border-radius:8px;margin-top:8px;max-width:100%}#minimap{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:rgba(16,20,28,0.6);border:1px solid rgba(255,255,255,0.14);border-radius:16px;bottom:calc(68px + env(safe-area-inset-bottom,0));box-shadow:0 10px 30px rgba(0,0,0,0.4);padding:5px;position:fixed;right:calc(16px + env(safe-area-inset-right,0));z-index:20}#minimap-canvas{border-radius:12px;cursor:pointer;display:block}#minimap.fullscreen{align-items:center;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);background:rgba(8,11,16,0.88);border:none;border-radius:0;bottom:auto;display:flex;height:100%;inset:0;justify-content:center;padding:0;right:auto;width:100%;z-index:45}#minimap.fullscreen #minimap-canvas{border-radius:14px;box-shadow:0 24px 70px rgba(0,0,0,0.6)}.nav-banner{background:var(--nav);border-radius:24px;color:#fff;font-weight:600;left:50%;padding:10px 18px;position:fixed;top:calc(60px + env(safe-area-inset-top,0));transform:translatex(-50%);z-index:25}#loading-overlay{align-items:center;background:#0b0e14;color:var(--text);display:flex;flex-direction:column;gap:16px;inset:0;justify-content:center;position:fixed;z-index:50}#loading-overlay.hidden{display:none}.spinner{animation:spin 1s linear infinite;border:4px solid rgba(255,255,255,0.2);border-radius:50%;border-top-color:var(--accent);height:42px;width:42px}@keyframes spin{to{transform:rotate(360deg)}}#error-overlay{align-items:center;background:rgba(0,0,0,0.7);display:flex;inset:0;justify-content:center;position:fixed;z-index:60}#error-overlay[hidden]{display:none}.error-box{background:#fff;border-radius:12px;color:#222;padding:24px;text-align:center}.error-box button{background:var(--accent);border:none;border-radius:8px;color:#fff;cursor:pointer;margin-top:12px;padding:8px 16px}.info-marker{align-items:center;background:var(--nav);border:2px solid #fff;border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,0.4);color:#fff;cursor:pointer;display:flex;font-style:italic;font-weight:700;height:100%;justify-content:center;width:100%}.nav-arrow-marker{animation:navpulse 1s ease-in-out infinite;color:var(--nav);font-size:40px;text-shadow:0 0 12px var(--nav)}@keyframes navpulse{0%,100%{opacity:1;transform:translatey(0)}50%{opacity:.7;transform:translatey(-6px)}}.wp-label{background:rgba(18,26,42,.6);border:1px solid rgba(255,255,255,.18);border-radius:11px;color:#fff;cursor:pointer;font:600 12px "Microsoft YaHei",system-ui,sans-serif;padding:2px 9px;text-shadow:0 1px 2px rgba(0,0,0,.6);transform:translatey(-6px);white-space:nowrap}@media (max-width: 640px){.wp-label{font-size:13px;padding:3px 10px}}.hs-label{background:rgba(176,108,12,.78);border:1px solid rgba(255,255,255,.2);border-radius:11px;color:#fff;font:600 12px "Microsoft YaHei",system-ui,sans-serif;padding:2px 9px;pointer-events:none;text-shadow:0 1px 2px rgba(0,0,0,.6);transform:translatey(-22px);white-space:nowrap}@media (max-width: 640px){.hs-label{font-size:13px;padding:3px 10px;transform:translatey(-28px)}}.wp-ground{animation:wppulse 1.8s ease-in-out infinite;filter:drop-shadow(0 0 5px rgba(47,127,255,.55))}@keyframes wppulse{0%,100%{opacity:1}50%{opacity:.6}}.wp-nav{animation:wpnav 0.7s ease-in-out infinite;filter:drop-shadow(0 0 8px rgba(255,140,26,.9))}@keyframes wpnav{0%,100%{opacity:1}50%{opacity:.25}}.nadir-poly{pointer-events:none}@media (max-width: 640px){#control-panel{width:70vw}.drawer{width:92vw}#minimap{bottom:auto;right:calc(8px + env(safe-area-inset-right,0));top:calc(56px + env(safe-area-inset-top,0))}}.psv-navbar{display:none!important}#space-bar-wrap{bottom:calc(12px + env(safe-area-inset-bottom,0));left:50%;position:fixed;transform:translatex(-50%);width:calc(100% - 24px);z-index:22}#space-bar-wrap[hidden]{display:none}#space-bar{align-items:center;backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3);background:rgba(64,68,76,0.5);border:1px solid rgba(255,255,255,0.18);border-radius:14px;box-shadow:0 8px 28px rgba(0,0,0,0.3);display:flex;gap:4px;justify-content:flex-start;-webkit-overflow-scrolling:touch;overflow-x:auto;overflow-y:hidden;padding:4px 6px;scrollbar-width:none;width:100%}#space-bar::-webkit-scrollbar{display:none}.sb-arrow{align-items:center;border:none;bottom:0;color:#fff;cursor:pointer;display:none;font-family:system-ui,sans-serif;font-size:24px;justify-content:center;line-height:1;padding:0;position:absolute;text-shadow:0 1px 5px rgba(0,0,0,0.7);top:0;width:42px;z-index:1}.sb-arrow.l{background:linear-gradient(90deg,rgba(48,52,60,0.95),rgba(48,52,60,0));border-radius:14px 0 0 14px;left:0}.sb-arrow.r{background:linear-gradient(270deg,rgba(48,52,60,0.95),rgba(48,52,60,0));border-radius:0 14px 14px 0;right:0}#space-bar-wrap.can-left .sb-arrow.l{animation:sbArrowL 1s ease-in-out infinite;display:flex}#space-bar-wrap.can-right .sb-arrow.r{animation:sbArrowR 1s ease-in-out infinite;display:flex}@keyframes sbArrowL{0%,100%{opacity:.7;transform:translatex(0)}50%{opacity:1;transform:translatex(-4px)}}@keyframes sbArrowR{0%,100%{opacity:.7;transform:translatex(0)}50%{opacity:1;transform:translatex(4px)}}#space-bar-wrap.can-right #space-bar{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 32px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 32px),transparent)}#space-bar-wrap.can-left #space-bar{-webkit-mask-image:linear-gradient(90deg,transparent,#000 32px);mask-image:linear-gradient(90deg,transparent,#000 32px)}#space-bar-wrap.can-left.can-right #space-bar{-webkit-mask-image:linear-gradient(90deg,transparent,#000 32px,#000 calc(100% - 32px),transparent);mask-image:linear-gradient(90deg,transparent,#000 32px,#000 calc(100% - 32px),transparent)}.sb-item{background:transparent;border:none;border-radius:10px;color:rgba(255,255,255,0.72);cursor:pointer;flex:0 1 auto;font:600 13px "Microsoft YaHei",system-ui,sans-serif;padding:7px 14px;text-shadow:0 1px 3px rgba(0,0,0,0.45);transition:background .2s,color .2s;white-space:nowrap}.sb-item:hover{background:rgba(255,255,255,0.07);color:var(--text)}.sb-item.active{background:var(--accent);color:#fff}@media (max-width: 640px){#space-bar-wrap{bottom:calc(8px + env(safe-area-inset-bottom,0));width:calc(100% - 16px)}.sb-item{font-size:12px;padding:6px 10px}.sb-arrow{font-size:21px;width:36px}}
