:root{color-scheme:dark;--bg:#101417;--panel:rgba(22,28,30,.79);--ivory:#f5f0e6;--muted:#a3aaa8;--gold:#d2b786;--line:rgba(226,216,193,.16);--pink:#eda2b1;--blue:#7bbff0;--green:#8cc9b4;--amber:#efc781;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif}
*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden;background:var(--bg);color:var(--ivory)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.45}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,#viewport:focus-visible{outline:2px solid var(--gold);outline-offset:4px}button{border:0}button svg,svg.icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}button:hover{color:#fff}button{transition:color .18s,background .18s,border-color .18s,opacity .18s,transform .18s}[hidden]{display:none!important}.icon-library{position:absolute;width:0;height:0;overflow:hidden}
#viewport{position:fixed;inset:0;outline:0;touch-action:none}#viewport canvas{display:block;width:100%;height:100%;outline:0}.screen-vignette{position:fixed;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(11,15,17,.56) 0,transparent 30%,transparent 68%,rgba(9,13,15,.45) 100%);z-index:1}
.topbar{position:fixed;left:38px;right:38px;top:23px;height:32px;display:flex;align-items:center;justify-content:space-between;gap:20px;z-index:4;font-size:10px;letter-spacing:1.6px}.brand{display:flex;align-items:center;gap:13px;color:var(--ivory);text-decoration:none;white-space:nowrap}.brand-mark{width:27px;height:28px;position:relative;display:flex;gap:4px;align-items:center;transform:skewY(-18deg)}.brand-mark i{width:6px;height:23px;border:1px solid var(--gold)}.brand-mark i:nth-child(2){height:27px}.brand-mark i:nth-child(3){height:19px}.topbar-center{color:#929998;font-size:10px;letter-spacing:2px}.status{display:flex;gap:9px;align-items:center;letter-spacing:.6px;font-size:10px;color:#b9bfba}.status>i{width:5px;height:5px;border-radius:50%;background:#9cbf9d;box-shadow:0 0 10px #9cbf9d66}.status-separator{opacity:.35;margin:0 4px}
.introduction{position:fixed;left:40px;top:106px;z-index:3;pointer-events:none}.eyebrow{font-size:9px;letter-spacing:2.15px;font-weight:500;color:var(--gold);display:flex;align-items:center;gap:9px}.eyebrow>span{width:21px;height:1px;background:var(--gold);opacity:.7}.introduction h1{font-family:"Songti SC","STSong","SimSun",serif;font-size:52px;font-weight:500;letter-spacing:6px;line-height:1.3;margin:19px 0 12px;text-shadow:0 2px 20px #0004}.title-point{color:var(--gold);letter-spacing:0;margin-left:3px}.project-subtitle{font-size:13px;letter-spacing:1.5px;margin:0;color:#dedfd6}.project-caption{font-size:11px;letter-spacing:.6px;color:#929b97;margin:12px 0 21px}.project-meta{display:flex;align-items:center;gap:10px;color:#a6afa8;font-size:10px;letter-spacing:.3px}.project-meta i{width:2px;height:2px;background:#aa9574;border-radius:50%}
.settings{position:fixed;right:38px;top:109px;width:236px;padding:20px 19px 14px;border:1px solid var(--line);background:linear-gradient(145deg,rgba(34,41,42,.84),rgba(19,26,27,.73));border-radius:5px;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);z-index:4;box-shadow:0 10px 40px #00000012}.panel-heading{display:flex;justify-content:space-between;align-items:center;font-size:12px;letter-spacing:1.5px;padding-bottom:17px;border-bottom:1px solid var(--line)}.small-english{font-size:7px;letter-spacing:1.4px;color:#8d9794}.setting-group{border:0;padding:0;margin:18px 0 0;min-width:0}.setting-group legend{display:flex;justify-content:space-between;width:100%;font-size:10px;color:#b7bfb8;letter-spacing:.5px;margin:0 0 10px;padding:0}.setting-group legend span{font-size:9px;letter-spacing:.3px;color:#847f70}.segmented{display:flex;gap:4px;padding:3px;border:1px solid #d9d1b50c;border-radius:4px;background:#080e1233}.segmented button{flex:1;white-space:nowrap;min-width:0;background:transparent;padding:8px 1px;border-radius:2px;color:#a3aca7;font-size:10px;letter-spacing:.2px}.segmented button:hover{background:#ffffff08}.segmented button[aria-pressed=true]{background:#d7bd8520;color:#ecdcbd;box-shadow:inset 0 0 0 1px #d7bd8520}.swatch{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:5px;vertical-align:1px;box-shadow:0 0 8px currentColor}.sakura{color:#e9a0c3;background:#e9a0c3}.waterfall{color:#8acdcf;background:#8acdcf}.cosmos{color:#a69bf1;background:#a69bf1}.quality-row{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:19px;padding-top:13px;color:#9da7a0;font-size:9px}.quality-toggle{display:flex;gap:3px}.quality-toggle button{background:transparent;padding:4px 7px;border-radius:2px;font-size:9px;color:#7f8a84}.quality-toggle button[aria-pressed=true]{color:var(--gold);background:#c8b38510}
.view-indicator{position:fixed;left:40px;bottom:191px;z-index:3;display:flex;align-items:center;gap:9px;color:#c9d0c8;font-size:10px;letter-spacing:.6px;pointer-events:none}.view-indicator svg{width:18px;height:18px;fill:none;stroke:#baae8e;stroke-width:1.3}.view-indicator-rule{width:24px;height:1px;background:var(--line);margin:0 3px}.drag-hint{color:#808e88;font-size:9px}
.bottom-ui{position:fixed;z-index:4;bottom:26px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;width:min(940px,calc(100% - 76px));gap:17px}.zone-nav{display:grid;grid-template-columns:repeat(4,1fr);width:100%;border:1px solid var(--line);border-radius:5px;background:linear-gradient(180deg,#1d2429d9,#161e22e8);box-shadow:0 12px 34px #0002;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);overflow:hidden}.zone-card{position:relative;display:flex;align-items:center;text-align:left;gap:13px;padding:20px 18px 20px 21px;min-width:0;background:transparent;border-right:1px solid var(--line);isolation:isolate}.zone-card:last-child{border-right:0}.zone-card:hover{background:#ffffff06}.zone-card[aria-pressed=true]{background:#d7bd8510}.zone-card[aria-pressed=true]::after{content:"";position:absolute;left:21px;right:21px;bottom:0;height:2px;background:var(--gold)}.zone-index{font-size:16px;line-height:31px;font-family:Georgia,"Times New Roman",serif;font-style:italic;color:var(--gold);width:30px;flex-shrink:0}.zone-index.welcome{color:var(--pink)}.zone-index.theater{color:var(--blue)}.zone-index.art{color:var(--green)}.zone-index.lounge{color:var(--amber)}.zone-copy{display:flex;flex:1;flex-direction:column;gap:7px;min-width:0}.zone-copy strong{font-size:13px;letter-spacing:1.6px;font-weight:450;white-space:nowrap}.zone-copy>span{color:#82928a;letter-spacing:.7px;font-size:6px;display:flex;gap:8px;justify-content:space-between;white-space:nowrap}.zone-copy b{font-size:8px;font-weight:400;letter-spacing:.1px;color:#a8b3ab}.zone-card>svg{width:12px;height:12px;color:#99a58f;opacity:.55}.zone-card[aria-pressed=true]>svg{color:var(--gold);opacity:1}.toolbar{display:flex;align-items:center;gap:12px;padding:7px 12px;border:1px solid #d6cdab1a;border-radius:4px;background:#172023bb;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 7px 25px #0001}.toolbar-group{display:flex;align-items:center;gap:4px}.toolbar button{display:flex;align-items:center;justify-content:center;gap:7px;padding:8px 10px;border-radius:3px;background:transparent;color:#a5b2aa;font-size:10px;letter-spacing:.5px;white-space:nowrap}.toolbar button svg{width:16px;height:16px;stroke-width:1.35}.toolbar button:hover{background:#ffffff07;color:#efe9d9}.toolbar button[aria-pressed=true]{color:#dbc699;background:#d5bb8312}.toolbar-divider{height:18px;width:1px;background:var(--line)}
.scale-note{position:fixed;bottom:34px;right:37px;display:flex;flex-direction:column;gap:5px;align-items:flex-end;z-index:2;pointer-events:none;font-size:8px;letter-spacing:.3px;color:#747f76}.scale-note>span:first-child{font-size:7px;letter-spacing:1.2px;color:#9a9b85}
.scene-labels{position:fixed;inset:0;z-index:2;pointer-events:none;overflow:hidden}.scene-label,.zone-label{position:absolute;pointer-events:auto;transform:translate(-50%,-100%);display:flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid #e4ddc62a;border-radius:3px;background:#182024ba;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#f0ecde;box-shadow:0 5px 15px #0002;font-size:10px;letter-spacing:.5px;white-space:nowrap;cursor:pointer}.scene-label::after,.zone-label::after{content:"";position:absolute;bottom:-16px;left:50%;height:15px;border-left:1px solid #eee4c655}.scene-label:hover,.zone-label:hover{background:#33413bd9;border-color:#d7bd8580}.scene-label span,.zone-label span{font-family:Georgia,serif;color:var(--gold)}
.detail-panel{position:fixed;left:38px;top:330px;width:270px;z-index:5;padding:22px 21px 16px;border:1px solid #d5c9a730;background:linear-gradient(150deg,#26302fee,#142023ef);border-radius:5px;box-shadow:0 12px 32px #0002;backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px)}.close-detail{position:absolute;right:9px;top:8px}.icon-button{width:30px;height:30px;display:grid;place-items:center;padding:5px;background:transparent;color:#a5aea4;border-radius:3px;flex-shrink:0}.icon-button:hover{background:#ffffff0b;color:var(--ivory)}.icon-button svg{width:17px;height:17px}.detail-eyebrow{font-size:7px;letter-spacing:1.4px;margin-bottom:13px}.detail-panel h2{font-family:"Songti SC","STSong","SimSun",serif;font-size:24px;font-weight:500;letter-spacing:2px;margin:0 0 13px}.detail-panel>p:not(.detail-note){color:#b3bdb2;font-size:11px;line-height:1.85;margin:0 0 17px}.zone-metrics{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px;font-size:11px;color:#d8c59f;line-height:1.8}.zone-metrics>div,.zone-metrics>span{border:1px solid #d3bc8520;border-radius:2px;background:#c7b47809;padding:4px 8px}.zone-metrics strong{font-weight:500}.zone-metrics small{font-size:9px;color:#98a99b}.enter-button{display:flex;align-items:center;justify-content:space-between;width:100%;background:#d6bf8917;border:1px solid #d6bf8938;border-radius:3px;padding:10px 13px;color:#e6d1a8;font-size:11px;letter-spacing:.8px}.enter-button:hover{background:#d6bf8928;border-color:#d6bf8955}.enter-button svg{width:17px;height:17px}.detail-panel .detail-note{font-size:8px;color:#7e9084;line-height:1.6;margin:11px 0 0}
.toast{position:fixed;top:72px;left:50%;transform:translate(-50%,-5px);max-width:min(620px,calc(100% - 32px));text-align:center;padding:11px 20px;background:#25332cee;border:1px solid #cbbd8f50;box-shadow:0 10px 30px #0003;border-radius:4px;color:#e4d9b9;font-size:11px;line-height:1.7;z-index:40;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s}.toast.show,.toast.visible{opacity:1;transform:translate(-50%,0)}
.loading-screen{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#101719;transition:opacity .5s}.loading-screen.fade-out{opacity:0;pointer-events:none}.loading-emblem{display:flex;gap:6px;height:42px;align-items:center;margin-bottom:29px;transform:skewY(-18deg)}.loading-emblem span{display:block;width:11px;height:31px;border:1px solid #d7bc7e;animation:load-pulse 1.8s ease-in-out infinite}.loading-emblem span:nth-child(2){height:41px;animation-delay:.18s}.loading-emblem span:nth-child(3){height:26px;animation-delay:.36s}.loading-title{font-family:"Songti SC","STSong","SimSun",serif;font-size:31px;letter-spacing:8px;margin-left:8px}.loading-screen p{font-size:11px;letter-spacing:2px;color:#9dab9f;margin:20px 0 12px}.loading-caption{font-size:7px;letter-spacing:2px;color:#777f72}@keyframes load-pulse{0%,100%{opacity:.25}50%{opacity:1}}.error-screen{position:fixed;inset:0;display:grid;place-items:center;background:#101719f5;z-index:60;padding:25px}.error-content{max-width:480px;padding:30px;border:1px solid var(--line);border-radius:6px}.error-content h2{font-weight:450;font-size:22px;line-height:1.5}.error-content>p:not(.eyebrow){font-size:13px;line-height:1.9;color:#aebbad}.error-content button{padding:10px 18px;margin-top:10px;border:1px solid #d7bf8440;border-radius:3px;background:#d7bf8418;color:#e2cea5;font-size:12px}
dialog{color:var(--ivory);border:1px solid #d7c99f3b;border-radius:7px;background:#1b2425;box-shadow:0 30px 100px #0007;padding:26px;max-height:calc(100vh - 70px);overflow:auto}dialog::backdrop{background:#03080bd6;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}.dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:25px;margin-bottom:22px}.dialog-heading .eyebrow{font-size:8px;letter-spacing:1.8px;margin:0 0 12px}.dialog-heading h2{font-size:22px;font-weight:450;letter-spacing:1px;margin:0}.reference-dialog{width:min(1120px,calc(100vw - 70px))}.reference-image-wrap{background:#e8e6df;border-radius:3px;overflow:hidden}.reference-image-wrap img{display:block;width:100%;height:auto}.reference-caption{font-size:11px;color:#a8b4a7;line-height:1.8;margin:17px 0 0}.help-dialog{width:min(710px,calc(100vw - 40px));padding:32px}.help-columns{display:grid;grid-template-columns:1fr 1fr;gap:28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0;margin-bottom:20px}.help-number{font-size:8px;color:var(--gold);letter-spacing:1px}.help-columns h3{font-size:14px;font-weight:450;margin:10px 0 17px;letter-spacing:.7px}.help-columns dl{margin:0}.help-columns dl>div{display:flex;justify-content:space-between;gap:10px;font-size:10px;line-height:1.6;margin-bottom:13px}.help-columns dl>div:last-child{margin-bottom:0}.help-columns dt{color:#a7b1a5;white-space:nowrap}.help-columns dd{margin:0;color:#d4dacf;text-align:right}kbd{display:inline-block;min-width:17px;text-align:center;padding:0 3px;margin-left:2px;border:1px solid #dde3cc25;border-radius:2px;background:#f5ead405;font:9px/16px inherit;color:#e4d5b2}.help-footer p{font-size:11px;line-height:1.9;color:#bac4b6;margin:0 0 11px}.help-footer p.help-note{font-size:10px;color:#8e9c8c}.help-start{margin-top:23px;width:155px}
@media(min-width:1600px){.introduction{top:118px}.introduction h1{font-size:60px}.settings{top:120px}.bottom-ui{width:1020px}.zone-card{padding:24px}.zone-copy strong{font-size:14px}.zone-copy>span{font-size:7px}.detail-panel{top:350px}.view-indicator{bottom:210px}}
@media(max-width:1150px){.scale-note{display:none}.introduction{left:28px;top:95px}.introduction h1{font-size:43px;letter-spacing:4px}.topbar{left:28px;right:28px}.settings{right:28px;top:96px;width:213px;padding:17px 15px 13px}.project-caption{font-size:10px}.project-subtitle{font-size:12px}.project-meta{font-size:9px;gap:8px}.view-indicator{left:28px;bottom:185px}.bottom-ui{width:calc(100% - 56px)}.zone-card{padding:18px 13px;gap:8px}.zone-card>svg{display:none}.zone-index{font-size:15px;width:24px}.zone-copy strong{font-size:12px;letter-spacing:1px}.zone-copy>span{font-size:6px;gap:5px}.detail-panel{left:28px;top:306px;width:251px;padding:20px}.topbar-center{display:none}.toolbar{gap:9px}.toolbar button{padding:8px 9px}}
@media(max-height:780px) and (min-width:701px){.introduction{top:85px}.introduction h1{margin:12px 0 8px;font-size:42px}.project-caption{margin:9px 0 13px}.settings{top:85px;padding-top:15px}.setting-group{margin-top:13px}.panel-heading{padding-bottom:13px}.quality-row{margin-top:14px}.detail-panel{top:280px;width:249px;padding:17px}.detail-panel h2{font-size:22px;margin-bottom:9px}.detail-panel>p:not(.detail-note){font-size:10px;margin-bottom:10px;line-height:1.65}.zone-metrics{margin-bottom:12px;gap:5px}.detail-note{display:none}.bottom-ui{bottom:20px;gap:12px}.zone-card{padding-top:16px;padding-bottom:16px}.view-indicator{bottom:163px}}
@media(max-width:700px){.topbar{left:20px;right:20px;top:15px;height:24px;font-size:8px;letter-spacing:1.1px}.brand{gap:8px}.brand-mark{width:21px;height:21px;gap:3px}.brand-mark i{width:5px;height:16px}.brand-mark i:nth-child(2){height:20px}.brand-mark i:nth-child(3){height:14px}.status{font-size:8px;gap:5px}.status-separator{margin:0}.introduction{left:20px;top:73px}.eyebrow{font-size:7px;letter-spacing:1.1px;gap:6px}.eyebrow>span{width:13px}.introduction h1{font-size:33px;letter-spacing:3px;margin:12px 0 9px}.project-subtitle{font-size:10px;letter-spacing:.5px}.project-caption,.project-meta{display:none}.settings{top:202px;right:15px;width:171px;padding:12px;background:#152125c7}.panel-heading{font-size:10px;letter-spacing:.5px;padding-bottom:10px}.small-english{font-size:6px;letter-spacing:.7px}.setting-group{margin-top:11px}.setting-group legend{font-size:9px;margin-bottom:7px}.setting-group legend span{font-size:8px}.segmented{gap:2px;padding:2px}.segmented button{font-size:9px;padding:6px 0}.swatch{width:5px;height:5px;margin-right:3px}.quality-row{margin-top:11px;padding-top:8px;font-size:8px}.quality-toggle button{font-size:8px;padding:4px 5px}.view-indicator{left:20px;bottom:204px;font-size:9px}.view-indicator svg{width:16px;height:16px}.drag-hint,.view-indicator-rule{display:none}.bottom-ui{bottom:17px;gap:10px;width:calc(100% - 30px)}.zone-nav{grid-template-columns:repeat(2,1fr)}.zone-card{padding:12px 13px;gap:8px}.zone-card:nth-child(2){border-right:0}.zone-card:nth-child(-n+2){border-bottom:1px solid var(--line)}.zone-index{width:24px;font-size:15px}.zone-copy{gap:5px}.zone-copy strong{font-size:11px;letter-spacing:.5px}.zone-copy>span{font-size:6px}.zone-copy b{font-size:7px}.toolbar{width:100%;gap:5px;justify-content:center;padding:6px 5px}.toolbar-group{gap:0;flex:1;justify-content:space-evenly}.toolbar button{padding:5px 5px;gap:4px;flex-direction:column;font-size:8px}.toolbar button svg{width:15px;height:15px}.toolbar-divider{height:25px}.detail-panel{left:15px;top:auto;bottom:214px;width:calc(100% - 215px);min-width:168px;padding:15px}.detail-eyebrow{font-size:6px;letter-spacing:.7px}.detail-panel h2{font-size:20px;margin-bottom:10px;letter-spacing:1px}.detail-panel>p:not(.detail-note){font-size:10px;line-height:1.7;margin-bottom:10px}.zone-metrics{font-size:9px;gap:5px;margin-bottom:12px}.zone-metrics>div,.zone-metrics>span{padding:3px 5px}.detail-note{display:none}.enter-button{font-size:10px;padding:8px 10px}.close-detail{right:4px;top:3px}.close-detail svg{width:14px;height:14px}.help-dialog{padding:22px}.dialog-heading{gap:10px;margin-bottom:17px}.dialog-heading h2{font-size:19px;letter-spacing:.4px}.dialog-heading .eyebrow{font-size:7px}.help-columns{grid-template-columns:1fr;gap:22px;padding:20px 0}.help-columns section+section{padding-top:19px;border-top:1px solid var(--line)}.help-columns dl>div{font-size:11px;margin-bottom:11px}.help-columns h3{font-size:14px}.reference-dialog{padding:17px;width:calc(100vw - 24px)}.reference-caption{font-size:10px}.toast{top:49px;font-size:10px;padding:8px 13px}}
@media(max-width:400px){.brand span:last-child{font-size:7px;letter-spacing:.6px}.status{font-size:7px}.settings{width:158px}.detail-panel{width:calc(100% - 190px);min-width:150px;padding:12px}.zone-card{padding:10px}.zone-copy>span{font-size:5px;letter-spacing:.5px}.zone-copy b{font-size:7px}.zone-index{width:21px}.introduction h1{font-size:31px}.toolbar button{font-size:7px;padding:5px 4px}}
@media(max-height:580px) and (min-width:701px){.introduction{top:73px}.introduction h1{font-size:33px;margin:9px 0}.project-caption,.project-meta{display:none}.settings{top:74px;padding:12px;width:203px}.setting-group{margin-top:10px}.setting-group legend{margin-bottom:6px}.panel-heading{padding-bottom:10px}.quality-row{margin-top:10px;padding-top:7px}.detail-panel{left:28px;top:190px;max-height:calc(100vh - 345px);overflow:auto;width:251px}.detail-eyebrow{display:none}.detail-panel h2{font-size:18px}.bottom-ui{bottom:12px;gap:8px}.zone-card{padding-top:12px;padding-bottom:12px}.toolbar{padding:3px 8px}.view-indicator{bottom:145px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.cinematic-toggle{position:fixed;right:38px;top:68px;z-index:45;padding:7px 10px;border:1px solid #d2b78630;border-radius:3px;background:#14202690;color:#cabd9e;font-size:9px;letter-spacing:1px}.cinematic-restore{display:none}body.cinematic .cinematic-normal{display:none}body.cinematic .cinematic-restore{display:inline}body.cinematic :is(.topbar,.introduction,.settings,.detail-panel,.cinema-controls,.bottom-ui,.view-indicator,.scale-note,.scene-labels){visibility:hidden;pointer-events:none}body.cinematic .cinematic-toggle{opacity:.32}body.cinematic .cinematic-toggle:hover,body.cinematic .cinematic-toggle:focus{opacity:1}@media(max-width:700px){.cinematic-toggle{right:20px;top:49px;font-size:8px}}
.cinema-controls{position:fixed;right:38px;bottom:191px;z-index:5;width:236px;padding:17px 17px 13px;border:1px solid #93b1cb32;border-radius:5px;background:linear-gradient(145deg,#1d2b37ee,#152029ed);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 12px 35px #0003}.cinema-heading{display:flex;gap:7px;align-items:center}.cinema-heading strong{font-size:11px;letter-spacing:1px;font-weight:500}.cinema-heading>span:last-child{margin-left:auto;font-size:8px;color:#8ba9c1}.cinema-live-dot{width:5px;height:5px;border-radius:50%;background:#83b2da;box-shadow:0 0 10px #7dbfe45c}.cinema-caption{font-size:8px;color:#92a7b7;letter-spacing:.4px;margin:9px 0 12px}.cinema-progress{display:flex;flex-direction:column;gap:6px;margin-bottom:11px}.cinema-progress input{width:100%;height:3px;margin:4px 0;accent-color:#b0cbe0;cursor:pointer}.cinema-progress span{font-size:8px;font-variant-numeric:tabular-nums;letter-spacing:.7px;color:#90aabe;text-align:right}.cinema-playback{display:flex;gap:7px}.cinema-playback button{flex:1;background:#81a4bd16;border:1px solid #83acca25;border-radius:3px;font-size:9px;padding:7px 3px;color:#c6d9e7}.cinema-playback button:hover{background:#81a4bd2a}.cinema-source{display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding-top:10px;border-top:1px solid #93b1cb20}.file-button{position:relative;cursor:pointer;font-size:9px;color:#9dbed4;border-bottom:1px solid #9dbed433;padding-bottom:2px}.file-button input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.file-button:focus-within{outline:2px solid var(--gold);outline-offset:5px}.cinema-source button{font-size:8px;color:#8fa5b4;background:transparent;padding:4px 0 4px 6px}.cinema-note{font-size:7px;color:#708795;margin:10px 0 0;line-height:1.6}
@media(max-width:1150px){.cinema-controls{right:28px;width:213px;bottom:185px;padding:15px}}
@media(max-height:780px) and (min-width:701px){.cinema-controls{bottom:163px;padding:12px 15px}.cinema-note{display:none}.cinema-caption{margin:7px 0 10px}.cinema-source{margin-top:10px;padding-top:7px}}
@media(max-width:700px){.cinema-controls{right:15px;top:202px;bottom:auto;width:171px;padding:12px}.cinema-heading{gap:5px;flex-wrap:wrap}.cinema-heading strong{font-size:10px}.cinema-heading>span:last-child{font-size:7px}.cinema-caption{font-size:7px;letter-spacing:0}.cinema-note{font-size:7px}.cinema-playback button{font-size:8px}.cinema-source .file-button{font-size:8px}.cinema-source button{font-size:7px}body:has(#cinema-controls:not([hidden])) .settings{display:none}}
@media(max-width:400px){.cinema-controls{width:158px}}
@media(max-height:580px) and (min-width:701px){.cinema-controls{top:74px;bottom:auto;width:203px}body:has(#cinema-controls:not([hidden])) .settings{display:none}}
.zone-marker{position:absolute;left:0;top:0;display:flex;align-items:center;gap:7px;pointer-events:auto;white-space:nowrap;background:#152025d1;border:1px solid #e0d6b829;border-radius:25px;padding:5px 11px 5px 5px;color:#eceddf;box-shadow:0 3px 14px #0004;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);cursor:pointer}.marker-number{display:grid;place-items:center;background:var(--marker,#d2b786);width:23px;height:23px;border-radius:50%;color:#142127;font-size:10px;font-weight:600;letter-spacing:.3px}.marker-name{font-size:10px;letter-spacing:.5px}.zone-marker:hover,.zone-marker.selected{border-color:#d2b78699;background:#29362de8}.dimension-label,.entry-label,.north-label{position:absolute;left:0;top:0;pointer-events:none;color:#bdb59b;font-size:10px;letter-spacing:1.5px;text-shadow:0 1px 5px #000b;white-space:nowrap}.entry-label{font-size:11px;letter-spacing:2px;color:#ead5a7}.north-label{font-size:12px;letter-spacing:1px}.zone-metrics dt{margin:0;font-size:8px;color:#8fa18f;line-height:1.5;letter-spacing:.3px}.zone-metrics dd{margin:4px 0 0;font-size:10px;line-height:1.5;color:#d4c49f}.zone-metrics>div{flex:1 1 calc(50% - 8px);padding:7px 8px}.walking .introduction{opacity:.38}.walking .drag-hint{font-size:0}.walking .drag-hint::after{content:"拖动环顾 · WASD 移动 · Esc 退出";font-size:9px}.walking .zone-marker{display:none}
@media(max-width:700px){.marker-name{font-size:8px;letter-spacing:.2px}.marker-number{width:20px;height:20px;font-size:9px}.zone-marker{padding:3px 7px 3px 3px;gap:5px}.dimension-label,.entry-label,.north-label{font-size:8px}.zone-metrics>div{flex-basis:100%}.zone-metrics dt{font-size:7px}.zone-metrics dd{font-size:9px;margin-top:2px}}
.brand{background:transparent;border:0;padding:0;font:inherit;letter-spacing:inherit}.cinema-chapters{display:flex;gap:5px;margin:0 0 12px}.cinema-chapters button{flex:1;min-width:0;border-radius:2px;background:#adbbce09;border:1px solid #adbbce19;color:#b4c9d8;font-size:8px;letter-spacing:.5px;padding:6px 2px}.cinema-chapters button>span{font-family:Georgia,serif;color:#6d95b2;font-size:8px;letter-spacing:0;margin-right:4px}.cinema-chapters button:hover{background:#adbbce1a;border-color:#adbbce40}.walking .introduction,.walking .detail-panel,.walking .zone-nav{display:none}.walking .settings{opacity:.7;transition:opacity .2s}.walking .settings:hover,.walking .settings:focus-within{opacity:1}.walking .view-indicator{bottom:101px}.walking .cinema-controls{bottom:104px}
@media(max-height:780px) and (min-width:701px){.cinema-chapters{margin-bottom:9px}.cinema-chapters button{padding:4px 2px}.walking .cinema-controls{bottom:87px}.walking .view-indicator{bottom:87px}}
@media(max-width:700px){.cinema-chapters{gap:3px;margin-bottom:10px}.cinema-chapters button{font-size:7px;padding:5px 1px;letter-spacing:0}.cinema-chapters button>span{font-size:7px;margin-right:3px}.walking .cinema-controls{top:73px;bottom:auto}.walking .settings{top:73px}.walking .view-indicator{bottom:92px}.walking .bottom-ui{bottom:17px}}
/* V1.2: compact mobile panels and touch locomotion. */
.mobile-panels,.mobile-walk{display:none}.mobile-panels button{border:1px solid #d3be8d40;border-radius:5px;background:#17242ce8;color:#e8d7b3;padding:10px 13px;font-size:12px;min-height:42px}.cinema-panel-toggle{display:none}body.theater-selected .cinema-panel-toggle{display:inline-block}
#joystick{width:108px;height:108px;position:relative;border-radius:50%;border:1px solid #e4d2a65c;background:#16242b8c;box-shadow:inset 0 0 22px #d2bc7310;touch-action:none;user-select:none;-webkit-user-select:none}#joystick-knob{position:absolute;width:44px;height:44px;left:31px;top:31px;border-radius:50%;background:#ccb68980;border:1px solid #f2dfb688;box-shadow:0 5px 14px #0003;pointer-events:none}.joystick-cross{position:absolute;inset:0;display:grid;place-items:center;color:#ecd8ad30;font-size:78px;line-height:1;pointer-events:none}.mobile-walk>span{font-size:10px;letter-spacing:2px;margin-top:6px;color:#b9c4bb;text-align:center}body.cinematic .mobile-panels{visibility:hidden}
@media(pointer:coarse),(max-width:700px){body.walking .mobile-walk{display:flex;position:fixed;left:max(18px,env(safe-area-inset-left));bottom:calc(100px + env(safe-area-inset-bottom));z-index:12;flex-direction:column;align-items:center}.toolbar button{min-height:42px}.cinematic-toggle{min-height:36px}body.cinematic .mobile-walk{opacity:.4}body.cinematic .mobile-walk:active{opacity:1}}
@media(max-width:700px){
 .topbar{top:calc(14px + env(safe-area-inset-top))}.introduction{top:calc(66px + env(safe-area-inset-top))}.introduction h1{font-size:30px;margin:9px 0 7px}.cinematic-toggle{top:calc(48px + env(safe-area-inset-top));right:16px}.mobile-panels{display:flex;position:fixed;right:16px;top:calc(162px + env(safe-area-inset-top));gap:8px;z-index:8}.mobile-panels button{font-size:11px;min-height:40px}.settings{display:none!important;top:calc(211px + env(safe-area-inset-top));right:16px;width:220px;max-height:calc(100dvh - 405px);overflow:auto;padding:16px;background:#17252af5}.settings legend,.settings button{font-size:11px}.settings .segmented button{min-height:38px}.quality-toggle button{min-height:32px;font-size:10px}.panel-heading{font-size:12px}.settings .setting-group legend span{font-size:9px}.settings .quality-row{font-size:10px}body.settings-open .settings{display:block!important}
 .cinema-controls{display:none!important;top:calc(211px + env(safe-area-inset-top));right:16px;width:240px;padding:16px;background:#15232ff5;max-height:calc(100dvh - 405px);overflow:auto}body.cinema-open .cinema-controls:not([hidden]){display:block!important}.cinema-playback button{font-size:11px;min-height:42px}.cinema-source .file-button{font-size:11px;min-height:38px;display:flex;align-items:center}.cinema-source button{font-size:11px;min-height:38px}.cinema-chapters button{min-height:36px;font-size:10px}.cinema-heading strong{font-size:12px}.cinema-caption,.cinema-note{font-size:9px}.cinema-progress input{height:16px}.cinema-progress span{font-size:10px}
 .detail-panel{left:15px;right:15px;bottom:calc(207px + env(safe-area-inset-bottom));width:auto;max-height:40dvh;overflow:auto;padding:18px;background:#1b2a2df5}.detail-panel>p:not(.detail-note){font-size:12px;line-height:1.65}.detail-panel h2{font-size:23px}.detail-panel .zone-metrics{display:grid;grid-template-columns:1fr 1fr;font-size:11px}.detail-panel .zone-metrics dd{font-size:11px}.enter-button{font-size:12px;min-height:44px}.close-detail{width:38px;height:38px}.detail-eyebrow{font-size:7px}
 .bottom-ui{bottom:calc(14px + env(safe-area-inset-bottom));gap:8px}.zone-card{min-height:57px}.zone-copy strong{font-size:12px}.zone-copy>span{font-size:6px}.toolbar{padding:5px 3px}.toolbar button{font-size:9px;min-width:35px;padding:4px 3px}.view-indicator{bottom:calc(207px + env(safe-area-inset-bottom));font-size:9px}.zone-marker{padding:4px 7px;gap:4px}.marker-name{font-size:9px}.marker-number{font-size:9px;min-width:21px;min-height:21px}
 body.walking .mobile-panels{top:calc(100px + env(safe-area-inset-top))}body.walking .settings,body.walking .cinema-controls{top:calc(149px + env(safe-area-inset-top));max-height:calc(100dvh - 280px);opacity:1!important}.dimension-label,.north-label{display:none!important}body.walking .view-indicator{left:auto;right:16px;bottom:calc(92px + env(safe-area-inset-bottom));font-size:9px}
}
@media(pointer:coarse) and (max-height:560px){.introduction{display:none}.mobile-panels{top:100px}.settings,.cinema-controls,body.walking .settings,body.walking .cinema-controls{top:148px;max-height:calc(100dvh - 225px)}body.walking .mobile-panels{top:100px}.detail-panel{top:73px;bottom:152px;max-height:none}.mobile-walk{bottom:85px!important}.topbar{top:15px}.cinematic-toggle{top:51px}.view-indicator{display:none}}
@media(pointer:coarse) and (max-height:560px){.mobile-panels{display:flex;position:fixed;right:20px;gap:8px;z-index:8}.settings{display:none!important;right:20px;width:220px;overflow:auto;background:#17252af5}body.settings-open .settings{display:block!important}.cinema-controls{display:none!important;right:20px;width:230px;overflow:auto}body.cinema-open .cinema-controls:not([hidden]){display:block!important}.detail-panel{max-height:calc(100dvh - 228px);overflow:auto}body.cinematic .mobile-panels{visibility:hidden}}
