*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden;background:#101715;color:#fff;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;letter-spacing:0}.vr-app,.pano{position:fixed;inset:0}.pano{z-index:0}.viewer-loading,.viewer-error,.viewer-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#101715;color:#b8c2bf;gap:16px}.viewer-loading span{width:32px;height:32px;border:2px solid rgba(255,255,255,.2);border-top-color:#56b8aa;border-radius:50%;animation:spin .8s linear infinite}.viewer-ready .viewer-loading{display:none}@keyframes spin{to{transform:rotate(360deg)}}.viewer-header{position:fixed;z-index:5;left:0;right:0;top:0;padding:max(22px,env(safe-area-inset-top)) 28px 20px;display:grid;grid-template-columns:48px 1fr 48px;gap:14px;align-items:center;background:linear-gradient(180deg,rgba(7,13,12,.72),transparent);pointer-events:none}.viewer-header>*{pointer-events:auto}.viewer-brand{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:#0f766e;color:#fff;text-decoration:none;font-weight:800;border:1px solid rgba(255,255,255,.35)}.viewer-header small,.viewer-header h1{display:block;margin:0}.viewer-header small{font-size:10px;color:#80d4c9}.viewer-header h1{font-size:19px;margin-top:4px}.icon-control{width:44px;height:44px;padding:0;border:1px solid rgba(255,255,255,.3);background:rgba(14,23,21,.62);backdrop-filter:blur(12px);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}.icon-control img{width:20px;height:20px;filter:brightness(0) invert(1)}.icon-control.symbol{font-size:25px}.icon-control.active{border-color:#56b8aa;background:#0f766e}.scene-indicator{position:fixed;z-index:4;left:28px;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:14px;text-shadow:0 2px 12px #000}.scene-indicator>span{font-size:42px;font-weight:200}.scene-indicator small,.scene-indicator strong{display:block}.scene-indicator small{font-size:10px;color:#80d4c9}.scene-indicator strong{font-size:17px;margin-top:4px}.viewer-controls{position:fixed;z-index:5;right:28px;top:50%;transform:translateY(-50%);display:grid;gap:8px}.viewer-controls button:first-child{font-size:9px;font-weight:700}.scene-dock{position:fixed;z-index:5;left:0;right:0;bottom:0;padding:18px 28px max(24px,env(safe-area-inset-bottom));background:linear-gradient(0deg,rgba(7,13,12,.9),rgba(7,13,12,.16));pointer-events:none}.scene-dock>*{pointer-events:auto}.scene-dock-head{display:flex;align-items:end;justify-content:space-between;max-width:1180px;margin:0 auto 12px}.scene-dock-head small,.scene-dock-head strong{display:block}.scene-dock-head small{font-size:9px;color:#80d4c9}.scene-dock-head strong{font-size:16px;margin-top:4px}.scene-dock-head>span{font-size:10px;color:#b8c2bf}.scene-list{display:flex;gap:10px;max-width:1180px;margin:auto;overflow-x:auto;scrollbar-width:none}.scene-list::-webkit-scrollbar{display:none}.scene-card{position:relative;flex:0 0 160px;height:92px;padding:0;border:1px solid rgba(255,255,255,.24);background:#101715;color:#fff;overflow:hidden;cursor:pointer}.scene-card img{width:100%;height:100%;object-fit:cover;opacity:.72;transition:.2s}.scene-card span{position:absolute;left:10px;bottom:9px;font-size:13px;font-weight:700;text-shadow:0 1px 6px #000}.scene-card small{position:absolute;right:8px;top:7px;font-size:10px}.scene-card.active{border-color:#56b8aa}.scene-card.active img,.scene-card:hover img{opacity:1;transform:scale(1.03)}.hotspot-modal[hidden]{display:none}.hotspot-modal{position:fixed;z-index:20;inset:0;display:flex;align-items:center;justify-content:center;padding:24px}.modal-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(4,8,7,.66);backdrop-filter:blur(6px)}.hotspot-modal article{position:relative;width:min(440px,100%);padding:32px;background:#fff;color:#17211f;border-top:4px solid #0f766e}.modal-close{position:absolute;right:12px;top:10px;width:34px;height:34px;border:0;background:transparent;font-size:26px;color:#6d7977}.hotspot-modal small{color:#0f766e;font-size:10px;font-weight:700}.hotspot-modal h2{font-size:28px;margin:10px 0 12px}.hotspot-modal p{color:#586360;line-height:1.75;white-space:pre-wrap}.hotspot-modal a{display:inline-flex;margin-top:14px;padding:12px 18px;background:#0f766e;color:#fff;text-decoration:none}.viewer-empty span{color:#80d4c9}.viewer-empty h1{font-size:34px;margin:0}.viewer-empty p{margin:0;color:#8d9a96}.viewer-empty a{color:#fff}.editor-mode .viewer-header,.editor-mode .scene-indicator,.editor-mode .viewer-controls,.editor-mode .scene-dock{display:none}@media(max-width:700px){.viewer-header{padding-left:16px;padding-right:16px;grid-template-columns:40px 1fr 40px}.viewer-brand,.icon-control{width:40px;height:40px}.viewer-header h1{font-size:16px}.scene-indicator{left:16px;top:38%}.scene-indicator>span{font-size:32px}.viewer-controls{right:14px;top:42%}.scene-dock{padding:14px 14px max(18px,env(safe-area-inset-bottom))}.scene-card{flex-basis:132px;height:78px}.scene-dock-head{margin-bottom:9px}}
