:root{color-scheme:dark;--ink:#f6f3e9;--gold:#d8c7a0;--line:rgba(255,255,255,.24)}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#17241d;color:var(--ink);font-family:"Microsoft YaHei",system-ui,sans-serif}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:5px}button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}#panorama{position:absolute;inset:0;height:100dvh;background:#26342b}.shade{position:absolute;left:0;right:0;pointer-events:none;z-index:1}.shade.top{top:0;height:180px;background:linear-gradient(#102218a6,transparent)}.shade.bottom{bottom:0;height:260px;background:linear-gradient(transparent,#102218b8)}.header{position:absolute;z-index:3;top:max(28px,env(safe-area-inset-top));left:40px;right:40px;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.header>*{pointer-events:auto}.brand{display:flex;flex-direction:column;text-decoration:none;color:var(--ink);text-align:center}.brand-name{font-family:"Noto Serif SC","SimSun",serif;font-size:30px;letter-spacing:9px;padding-left:9px;font-weight:400}.brand-en{font-size:9px;letter-spacing:4px;margin-top:8px;padding-left:4px;color:var(--gold)}.glass-button,.icon-button{color:var(--ink);background:#10211860;border:1px solid var(--line);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.glass-button{display:flex;align-items:center;gap:10px;padding:12px 18px;border-radius:4px;font-size:12px;letter-spacing:1px}.glass-button:hover,.icon-button:hover{background:#172a24d9}.scene-heading{position:absolute;z-index:2;left:40px;bottom:148px;pointer-events:none;text-shadow:0 1px 12px #10221880}.eyebrow{font-size:10px;letter-spacing:2.5px;color:var(--gold)}h1{font-family:"Noto Serif SC","SimSun",serif;font-weight:400;font-size:32px;letter-spacing:5px;margin:14px 0 10px}.scene-heading p{font-size:12px;margin:0;color:#f6f3e9c9;letter-spacing:1px}.controls{position:absolute;z-index:3;right:40px;bottom:172px;display:flex;flex-direction:column;border-radius:4px;overflow:hidden;border:1px solid var(--line)}.icon-button{display:grid;place-items:center;width:43px;height:43px;border:0;border-bottom:1px solid var(--line)}.icon-button:last-child{border-bottom:0}.footer{position:absolute;z-index:3;bottom:max(16px,env(safe-area-inset-bottom));left:0;right:0;display:flex;flex-direction:column;align-items:center;pointer-events:none}.gesture{font-size:11px;letter-spacing:1px;color:#ffffffb8;margin:0 0 14px}.gesture span{padding:0 10px;color:var(--gold)}.scene-nav{display:flex;gap:4px;padding:5px;border:1px solid var(--line);border-radius:6px;background:#12251b9e;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);pointer-events:auto}.scene-button{color:#ffffffe0;background:transparent;border:1px solid transparent;border-radius:3px;padding:15px 24px;display:flex;align-items:center;gap:13px;font-size:13px;letter-spacing:1px;transition:background .2s}.scene-button:hover{background:#ffffff12}.scene-button.active{background:#ece6d8;color:#25382b;border-color:#ece6d8}.scene-num{font-size:10px;font-variant-numeric:tabular-nums;opacity:.6;letter-spacing:0}.caption{font-size:10px;color:#ffffff8f;letter-spacing:2px;margin:14px 0 0}.loading{position:absolute;z-index:5;top:50%;left:50%;transform:translate(-50%,-50%);background:#12241edb;border:1px solid var(--line);border-radius:6px;display:flex;align-items:center;gap:13px;padding:20px 26px;font-size:13px;white-space:nowrap;pointer-events:none}.loading[hidden]{display:none}.spinner{width:18px;height:18px;border:1px solid #ffffff30;border-top-color:var(--gold);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.toast{position:absolute;z-index:10;top:110px;left:50%;transform:translateX(-50%);background:#192c23f0;color:var(--ink);font-size:13px;padding:12px 20px;border:1px solid var(--line);border-radius:5px;opacity:0;pointer-events:none;transition:opacity .2s;max-width:85%;text-align:center}.toast.visible{opacity:1}dialog{max-width:calc(100% - 36px);width:420px;background:#1c3026;color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:28px}dialog::backdrop{background:#0009;backdrop-filter:blur(4px)}dialog h2{font-family:serif;font-weight:400;margin:4px 0 14px;font-size:24px}dialog p{font-size:13px;color:#ffffffe0;line-height:1.7}dialog input{font:13px system-ui;width:100%;color:var(--ink);background:#13271e;border:1px solid var(--line);border-radius:3px;padding:12px;margin-bottom:16px}#copy-link{border:0;background:var(--gold);color:#16271d;padding:12px 20px;border-radius:3px;width:100%}.dialog-close{position:absolute;right:12px;top:8px;border:0;background:transparent;color:white;font-size:26px}.no-script{position:absolute;inset:20%;z-index:10;background:#17241d;padding:20px}.no-script a{color:var(--gold)}.pnlm-about-msg{display:none!important}.pnlm-load-box{display:none!important}.pnlm-error-msg{max-width:80%;font-size:14px}.pnlm-ui .pnlm-hotspot-base{filter:drop-shadow(0 2px 4px #0005)}
@media(max-width:640px){.header{left:21px;right:21px;top:max(22px,env(safe-area-inset-top))}.brand-name{font-size:25px;letter-spacing:7px;padding-left:7px}.brand-en{font-size:8px;letter-spacing:3px;margin-top:6px}.glass-button{padding:10px 12px;font-size:11px;gap:6px}.glass-button svg{width:17px;height:17px}.scene-heading{left:23px;bottom:156px}.eyebrow{font-size:8px;letter-spacing:1.7px}h1{font-size:26px;margin:11px 0 8px;letter-spacing:4px}.scene-heading p{font-size:10px;letter-spacing:.2px;max-width:245px;line-height:1.6}.controls{right:21px;bottom:164px}.icon-button{width:37px;height:37px}.icon-button svg{width:18px;height:18px}.scene-nav{width:calc(100% - 38px);gap:3px}.scene-button{padding:14px 4px;gap:7px;justify-content:center;font-size:12px;flex:1;letter-spacing:0;white-space:nowrap}.scene-num{font-size:9px}.footer{bottom:max(17px,env(safe-area-inset-bottom))}.gesture{font-size:10px;margin-bottom:12px}.caption{font-size:9px;margin-top:12px}.toast{top:105px;white-space:normal;width:max-content}}
@media(max-height:520px){.header{top:14px}.scene-heading{bottom:114px}.scene-heading p,.eyebrow,.gesture{display:none}.controls{bottom:115px;flex-direction:row}.icon-button{border:0;border-right:1px solid var(--line)}.scene-button{padding:11px 20px}.footer{bottom:12px}.caption{margin-top:9px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}.spinner{animation:none;border-top-color:var(--gold)}}
