:root{color-scheme:dark;--bg:#0b1113;--text:#e9eee9;--muted:#859591;--line:rgba(187,212,203,.16);--mint:#bef8d4;--gold:#ceb790}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:"PingFang SC","Hiragino Sans GB",sans-serif;font-weight:400;overflow:hidden}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,canvas:focus-visible{outline:1px solid var(--mint);outline-offset:5px}#stage{position:fixed;inset:0}#canvas{width:100%;height:100%;display:block;touch-action:none;outline:none}.vignette,.grain{pointer-events:none;position:fixed;inset:0}.vignette{background:linear-gradient(90deg,rgba(7,13,15,.72),transparent 38%,transparent 74%,rgba(7,13,15,.4)),linear-gradient(0deg,rgba(7,13,15,.45),transparent 22%)}.grain{opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 150 150' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.6' filter='url(%23n)'/%3E%3C/svg%3E")}header{position:fixed;top:0;left:0;right:0;margin:0 42px;height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);z-index:5}.brand{display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:2px}.brand-mark{font-family:Georgia,serif;font-size:39px;letter-spacing:-4px;line-height:1;margin-right:7px}.brand i{font-style:normal;color:var(--muted);padding:0 8px}.header-center{font-size:9px;letter-spacing:2.5px;color:var(--muted)}.header-center b{font-weight:normal;margin:0 14px;color:var(--gold)}.text-button{font-size:11px;letter-spacing:1px;padding:12px 0}.text-button span{font-size:17px;margin-left:18px}.identity{position:fixed;top:18%;left:4.5%;pointer-events:none;max-width:285px}.eyebrow{font-size:9px;letter-spacing:2.5px;color:var(--mint);display:flex;align-items:center;gap:9px}.live-dot{width:5px;height:5px;border-radius:50%;background:var(--mint);box-shadow:0 0 12px #bef8d466}.identity h1{font:normal clamp(74px,7.7vw,124px)/1 Georgia,"Times New Roman",serif;letter-spacing:-7px;margin:27px 0 18px;position:relative}.identity h1 span{font-family:"Songti SC","Noto Serif CJK SC",serif;font-size:.4em;letter-spacing:0;margin-left:18px;color:var(--gold)}.identity sup{font:10px monospace;letter-spacing:1px;position:absolute;top:3px;margin-left:10px;color:var(--muted)}.title-rule{width:34px;height:1px;background:var(--gold);margin:28px 0}.identity h2{font-family:"Songti SC","Noto Serif CJK SC",serif;font-size:21px;font-weight:400;line-height:1.85;letter-spacing:2px}.intro{font-size:11px;line-height:2.1;color:var(--muted);margin:22px 0 31px}.taxonomy{display:flex;flex-direction:column;gap:10px;font-size:9px;letter-spacing:1px;color:var(--muted)}.taxonomy span:first-child{font:9px monospace;letter-spacing:2px;color:var(--gold)}.controls{position:fixed;right:42px;top:130px;width:266px;background:linear-gradient(120deg,rgba(16,26,27,.85),rgba(11,19,20,.7));border:1px solid var(--line);padding:21px 20px 18px;backdrop-filter:blur(18px);z-index:4}.panel-top{font:8px monospace;letter-spacing:1px;color:var(--muted);display:flex;align-items:center;gap:6px}.panel-top>span:last-child{margin-left:auto;color:#657771}.mini-dot{width:4px;height:4px;border:1px solid var(--mint);border-radius:50%}.mode-switch{display:flex;margin:23px -4px 27px;border-bottom:1px solid var(--line)}.mode-switch button{font-size:10px;padding:0 7px 12px;flex:1;white-space:nowrap;color:var(--muted);position:relative}.mode-switch button.active{color:var(--mint)}.mode-switch button.active:after{content:"";position:absolute;bottom:-1px;height:2px;left:9px;right:9px;background:var(--mint)}.range-block{margin-bottom:22px}.range-block label{font-size:11px;display:flex;align-items:center;justify-content:space-between}.range-block output{font:10px monospace;color:var(--gold)}input[type=range]{display:block;appearance:none;width:100%;height:2px;background:linear-gradient(90deg,var(--mint) var(--value,0%),#31423e var(--value,0%));cursor:pointer;margin:19px 0 11px;accent-color:var(--mint)}input[type=range]::-webkit-slider-thumb{appearance:none;width:8px;height:8px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 4px #bef8d40b}input[type=range]::-moz-range-thumb{width:8px;height:8px;border:0;border-radius:50%;background:var(--mint)}.range-ends{display:flex;justify-content:space-between;font-size:9px;color:#687f77}.toggle-row{display:flex;justify-content:space-between}.toggle{font-size:10px;display:flex;align-items:center;gap:7px;color:var(--muted);padding:6px 0}.toggle span{width:19px;height:10px;background:#2d3c37;border-radius:10px;position:relative}.toggle span:after{content:"";position:absolute;width:6px;height:6px;left:2px;top:2px;background:#93a39c;border-radius:50%;transition:.2s}.toggle.active{color:var(--text)}.toggle.active span{background:#648f77}.toggle.active span:after{left:11px;background:var(--mint)}.panel-divider{height:1px;background:var(--line);margin:21px 0 18px}.structure-heading{display:flex;justify-content:space-between;font-size:10px;margin-bottom:12px}.structure-heading button{font-size:9px;color:var(--muted);padding:0}.structure-heading i{font-style:normal;color:var(--mint)}.structure-list{display:flex;flex-wrap:wrap;gap:6px}.structure-list button{font-size:9px;color:#a5b6af;background:#c3ddd006;border:1px solid #c3ddd018;padding:7px 8px;transition:.2s}.structure-list button:hover,.structure-list button.active{border-color:#b9edce6b;color:var(--mint);background:#b9edce0a}.part-detail{border-top:1px solid var(--line);margin-top:18px;padding-top:15px}.detail-index{font:8px monospace;letter-spacing:1.2px;color:#6f8b7e}.part-detail h3{font-size:12px;font-weight:400;letter-spacing:.6px;margin:10px 0 8px}.part-detail p{font-size:10px;line-height:1.9;color:var(--muted);margin:0}.clear-selection{font-size:9px;color:var(--mint);padding:12px 0 0}.scene-caption{position:fixed;bottom:103px;left:4.5%;display:flex;gap:15px;align-items:center;pointer-events:none}.caption-cross{font-size:28px;font-weight:200;color:#50685d}.scene-caption div>span{font:8px monospace;letter-spacing:1.2px;color:var(--gold)}.scene-caption p{font-size:9px;color:var(--muted);margin:9px 0 0;letter-spacing:1px}.scene-caption b{font-weight:normal;padding:0 6px;color:#52685e}.view-tools{position:fixed;left:50%;transform:translateX(-50%);bottom:98px;display:flex;align-items:center;border:1px solid var(--line);background:#0c1618c9;backdrop-filter:blur(12px);padding:5px;gap:4px}.view-tools button{font:10px monospace;width:37px;height:33px;color:var(--muted);transition:.2s}.view-tools button.active,.view-tools button:hover{background:#bde2c812;color:var(--mint)}.view-tools>span{width:1px;height:15px;background:var(--line);margin:0 4px}footer{height:62px;position:fixed;bottom:0;left:42px;right:42px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;z-index:5;font:8px monospace;letter-spacing:1.8px;color:#7c9086}footer button{font-size:10px;letter-spacing:1px;color:#9db4a8}footer button span{margin-left:14px;color:var(--mint)}#loader{position:fixed;inset:0;background:#0b1113;display:flex;align-items:center;justify-content:center;flex-direction:column;z-index:20;transition:opacity .7s}#loader.loaded{opacity:0;pointer-events:none}#loader p{font-size:14px;letter-spacing:4px;margin:27px 0 14px}#loader small{font:8px monospace;letter-spacing:2px;color:var(--muted)}.loading-orbit{width:50px;height:50px;border:1px solid #a2d6bf20;border-top-color:var(--mint);border-radius:50%;animation:orbit 2s linear infinite}@keyframes orbit{to{transform:rotate(360deg)}}#toast{position:fixed;bottom:175px;left:50%;transform:translate(-50%,10px);opacity:0;pointer-events:none;background:#182c25ee;border:1px solid #8cb49c44;padding:12px 20px;font-size:11px;z-index:50;transition:.25s}#toast.visible{opacity:1;transform:translate(-50%,0)}.model-label{position:absolute;pointer-events:none;font:9px monospace;letter-spacing:.5px;padding:6px 9px;border-left:1px solid #bde9cf99;color:#d0e8d9;background:#0c1716b3;white-space:nowrap}.model-label:before{content:"";position:absolute;left:-30px;top:50%;width:30px;height:1px;background:#bde9cf66}dialog{color:var(--text);background:#101b1b;border:1px solid #a4c7b833;max-width:560px;width:calc(100% - 32px);padding:46px;box-shadow:0 24px 100px #0009}dialog::backdrop{background:#020b0dd9;backdrop-filter:blur(8px)}.dialog-close{position:absolute;right:17px;top:12px;font-size:25px;color:var(--muted)}dialog h2{font-family:"Songti SC",Georgia,serif;font-size:33px;font-weight:400;line-height:1.5;margin-top:29px}dialog h2 em{font-style:normal;color:var(--gold)}dialog p{font-size:12px;line-height:2;color:var(--muted)}dialog .about-lead{font-size:17px;line-height:1.9;color:#d2dfd7;font-family:"Songti SC",serif}.dossier-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);gap:24px 10px;padding-top:24px;margin-top:28px}.dossier-grid small{display:block;color:var(--muted);font-size:10px;margin-bottom:8px}.dossier-grid strong{font-size:12px;font-weight:400}dialog .about-note{font-size:10px;line-height:1.8;margin:26px 0}.primary-button{border:1px solid #aedbbb66;padding:14px 18px;width:100%;font-size:11px;color:var(--mint);text-align:left}.primary-button span{float:right}.no-js{position:fixed;z-index:99;inset:0;background:#101b1b;display:grid;place-content:center;gap:20px}.no-js a{color:var(--mint)}[hidden]{display:none!important}@media(min-width:1700px){.controls{top:17%;right:4.5%;width:285px}.identity{top:22%}}@media(max-height:800px) and (min-width:761px){.controls{top:112px;padding:16px 17px}.mode-switch{margin:17px -4px 19px}.range-block{margin-bottom:17px}.panel-divider{margin:14px 0}.part-detail{margin-top:14px;padding-top:12px}.identity{top:19%}.identity h1{margin-top:20px;font-size:90px}.identity h2{font-size:18px}.intro{margin:16px 0 24px}.title-rule{margin:22px 0}.scene-caption{bottom:95px}}@media(max-width:1100px) and (min-width:761px){header{margin:0 25px}.identity{left:3%;max-width:210px}.identity h1{font-size:82px}.identity h2{font-size:17px}.controls{right:25px;width:235px;padding:17px 15px}.header-center{font-size:8px;letter-spacing:1.3px}.scene-caption{left:3%}.view-tools{left:48%}footer{left:25px;right:25px}}@media(max-width:760px){body{overflow:hidden}header{height:65px;margin:0 20px}.brand{font-size:9px;letter-spacing:1.5px;gap:7px}.brand-mark{font-size:31px}.header-center{display:none}.text-button{font-size:10px}.identity{top:91px;left:23px}.eyebrow{font-size:7px;letter-spacing:1.8px}.identity h1{font-size:66px;margin:13px 0 5px;letter-spacing:-3px}.identity h1 span{font-size:.4em;margin-left:13px}.identity sup{font-size:8px}.identity h2{font-size:11px;line-height:1.8;letter-spacing:1px;margin-top:10px}.identity h2 br{display:none}.title-rule,.intro,.taxonomy{display:none}.controls{top:auto;right:16px;left:16px;bottom:64px;width:auto;padding:15px 17px 13px;display:grid;grid-template-columns:1fr 1fr;column-gap:25px}.panel-top,.panel-divider,.part-detail,.structure-heading,.structure-list,.clear-selection{display:none!important}.mode-switch{grid-column:1/3;margin:0 0 16px}.mode-switch button{font-size:11px;padding-bottom:12px}.range-block{margin:0 0 12px}.range-block label{font-size:10px}.range-ends{font-size:8px}.toggle-row{grid-column:1/3;justify-content:space-between}.toggle{font-size:9px}.scene-caption{left:22px;bottom:303px}.scene-caption p{font-size:8px;margin-top:7px}.scene-caption div>span{font-size:7px}.caption-cross{display:none}.view-tools{left:auto;right:16px;bottom:292px;transform:none;padding:3px;gap:0}.view-tools button{font-size:9px;width:29px;height:29px;padding:0;white-space:nowrap}.view-tools>span{margin:0 2px}footer{left:20px;right:20px;height:48px;font-size:7px;letter-spacing:.8px}footer>span:nth-child(2){display:none}footer button{font-size:9px}#toast{bottom:350px;max-width:90%;width:max-content}dialog{padding:34px 26px}dialog h2{font-size:27px}.model-label{font-size:8px;padding:4px 6px}}@media(max-height:650px) and (max-width:760px){.identity{top:79px}.identity h1{font-size:48px}.identity h2{display:none}.controls{padding:11px 15px}.scene-caption{bottom:286px}.view-tools{bottom:277px}.range-ends{display:none}.range-block{margin-bottom:9px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
