*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden}body{--gold:#e9cc94;--ink:#163b56;--read:24px;--panel:#faf7ef;background:#061c32;color:#fff4d7;font-family:'Microsoft YaHei',sans-serif}button,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit;background:#09253ae8;border:1px solid #d4b16c9c;border-radius:8px;padding:10px 17px;transition:background .2s,box-shadow .2s}button:hover{background:#214960}button:focus-visible,a:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #3cabd0;outline-offset:3px}button:disabled{opacity:.42;cursor:default}a{color:inherit}h1,h2,h3,p{margin:0}#panorama{position:fixed;inset:0;width:100%;height:100%;touch-action:none;cursor:grab}#panorama:active{cursor:grabbing}.shade{position:fixed;inset:0;pointer-events:none;background:linear-gradient(#001124b8,transparent 25%,transparent 63%,#001529d9)}header{position:fixed;top:0;left:0;right:0;padding:20px 27px;display:flex;align-items:center;justify-content:space-between;gap:12px;pointer-events:none}header>*{pointer-events:auto}.brand{font:28px KaiTi,serif;border:0;background:transparent;text-align:left;padding:0;min-width:198px}.brand span{font:13px 'Microsoft YaHei';letter-spacing:2px;display:block;margin-top:7px}.head-title{text-align:center;text-shadow:0 2px 12px #001}.head-title h1{font:42px KaiTi,serif;letter-spacing:4px;margin-top:5px}.head-title small{letter-spacing:3px;color:#f1d69d;font-size:14px}.tools{display:flex;gap:7px}.tools button{font-size:14px;padding:8px 10px}#scene-task{position:fixed;top:126px;left:30px;padding:14px 18px;max-width:420px;background:#061e33d9;border-left:2px solid var(--gold);border-radius:0 8px 8px 0;backdrop-filter:blur(6px);pointer-events:none}#task-label{color:#edcf91;font-size:13px;letter-spacing:2px}#scene-task p{font-size:18px;line-height:1.65;margin-top:5px}#scene-actions{position:fixed;right:30px;top:128px;display:flex;flex-direction:column;align-items:flex-end;gap:9px}#scene-actions button{font-size:18px;box-shadow:0 4px 25px #0003}.primary{background:#edd8ad;color:#163b56;font-weight:bold}.primary:hover{background:#fff1cb}.hotspot{position:absolute;transform:translate(-50%,-50%);color:#173b54;background:#fff8e8f5;border:1px solid #d6af65;box-shadow:0 0 22px #ffdea071;padding:14px 23px;white-space:nowrap;font-size:23px;text-shadow:none;pointer-events:auto}.hotspot span{display:block;color:#886528;font-size:13px;margin-top:5px;font-weight:normal}.hotspot::before{content:'◈';margin-right:9px;color:#a87a31}.hotspot:hover{background:#fff5d6;box-shadow:0 0 35px #fff2c6b8}.hotspot.visited::after{content:' ✓';color:#397565}#hotspots{position:fixed;inset:0;pointer-events:none}body[data-scene="evolution"] .hotspot{background:#0a2445ed;color:#fff0cd;border-color:#e5bf72}body[data-scene="evolution"] .hotspot span{color:#e8c786}body[data-scene="language"] .hotspot{border-radius:3px;background:#fff4dcf2;color:#684729;border-color:#b89865}#welcome{position:fixed;bottom:190px;left:50%;transform:translateX(-50%);text-align:center;max-width:700px;width:90%;text-shadow:0 2px 8px #061d34}#welcome p{font-size:21px;margin-bottom:15px}#welcome button{font-size:24px;padding:13px 40px;border-radius:40px;box-shadow:0 3px 24px #07182b6e}#welcome small{display:block;margin-top:13px;color:#fff9e8;font-size:14px}footer{position:fixed;bottom:14px;left:26px;right:26px}#exhibits{display:flex;justify-content:center;gap:9px;margin-bottom:15px}#exhibits button{font-size:19px;padding:10px 18px;white-space:nowrap}.nav-row{display:flex;justify-content:space-between;gap:16px;align-items:center}#halls{display:flex;gap:7px}#halls button{font-size:17px;padding:10px 15px;white-space:nowrap}#halls button.active{background:#e9d6ad;color:#173953}.look{display:flex;gap:7px;align-items:center}.look button{padding:9px 13px}.look output{width:47px;text-align:center;font-size:14px}.hint{text-align:center;color:#e2e8ed;font-size:13px;margin-top:9px}dialog{padding:0;width:min(1370px,94vw);height:min(900px,92vh);max-width:96vw;max-height:94vh;background:var(--panel);color:var(--ink);border:1px solid #d5b777;border-radius:15px;box-shadow:0 25px 130px #0008;overflow:hidden}dialog::backdrop{background:#001529bd;backdrop-filter:blur(6px)}.dialog-head{height:99px;padding:19px 27px;border-bottom:1px solid #d5c6a7;display:flex;justify-content:space-between;align-items:center;gap:20px}.dialog-head h2{font:36px KaiTi,serif;margin-top:6px}.dialog-head small{color:#946e34;letter-spacing:2px;font-size:13px}.dialog-tools{display:flex;gap:9px;align-items:center}.dialog-tools button{background:transparent;color:#173953;border-color:#bcab8a;white-space:nowrap}.dialog-tools #close{font-size:32px;border:0;padding:0 7px}#detail-body{height:calc(100% - 161px);padding:27px;overflow:auto;font-size:var(--read);line-height:1.7}.dialog-bottom{height:62px;border-top:1px solid #d5c6a7;padding:10px 27px;display:flex;justify-content:space-between;align-items:center;gap:15px}.dialog-bottom span{font-size:14px;color:#6c7b86}.dialog-bottom button{background:#e9d9b9;color:#183d56;padding:8px 19px;font-size:17px}.two-col{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.15fr);gap:28px}.two-col.equal{grid-template-columns:1fr 1fr}.exhibit-image{width:100%;display:block;border-radius:10px;aspect-ratio:16/9;object-fit:cover}.caption,.muted{font-size:15px;line-height:1.7;color:#657986;margin:12px 0}.info-block{padding:17px 21px;margin:0 0 15px;border-left:3px solid #7fa4ba;background:#edf4f5;border-radius:0 9px 9px 0}.info-block.warm{background:#faeddb;border-color:#bf965c}.info-block h3{font-size:20px;color:#40637c;margin-bottom:6px}.info-block.warm h3{color:#906735}.info-block p{font-size:var(--read);line-height:1.75}.action-row{display:flex;gap:10px;flex-wrap:wrap;margin:17px 0}.action-row button,.tabs button,.choices button,.order-list button{color:#234b64;background:#f9f3e7;border-color:#c4ad80;padding:10px 17px;font-size:18px}.action-row .primary{background:#173c58;color:#fff0cd}.tabs{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:18px;border-bottom:1px solid #dbcdb1;margin-bottom:22px}.tabs button.active{background:#173c58;color:#fff0d1}.feedback{background:#e6f0ea;color:#235645;padding:17px 21px;border-radius:8px;margin-top:16px;font-size:21px;animation:content-in .3s ease-out}.feedback.try{background:#fff1d8;color:#785b26}.question{margin:22px 0 12px;padding-top:20px;border-top:1px solid #dac7a3}.question h3{font-size:23px;margin-bottom:12px}.choices{display:flex;gap:10px;flex-wrap:wrap}.choices button.selected{outline:2px solid #ac8c53;background:#fff1ce}.compare-select{display:flex;gap:20px;margin-bottom:20px}.compare-select label{flex:1;font-size:17px}.compare-select select,select{display:block;width:100%;border:1px solid #bb9f6d;background:#fffdf7;color:#173953;border-radius:7px;padding:10px;font-size:23px}.compare-page article{min-width:0}.compare-page h3{font:31px KaiTi;margin:0 0 15px}.book{background:#fffdf5;border:1px solid #ddcdb1;padding:25px 35px;box-shadow:inset 9px 0 20px #ab986b0b;border-radius:3px}.reading{white-space:pre-wrap;font-size:var(--read);line-height:1.95}.word{border:0;border-bottom:2px solid #bc9757;background:#f6e5bccc;color:#173953;padding:0 3px;border-radius:0;font:inherit;line-height:inherit;display:inline}.word:hover{background:#e9cc92}.annotation{position:sticky;top:0;background:#f4ead7;padding:23px;border-radius:8px}.annotation h3{font-size:23px;margin-bottom:12px}.annotation p{font-size:21px;line-height:1.8}.word-bank{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.word-bank button{background:#fff8e8;color:#684c26;border-color:#c5ae83;font-size:18px}.writing{max-width:1030px;margin:auto}textarea{width:100%;min-height:200px;background:#fffdf7;color:#173953;border:1px solid #cdbb95;border-radius:8px;padding:20px;font-size:24px;line-height:1.8;resize:vertical}.checks{display:flex;gap:22px;flex-wrap:wrap;font-size:20px;margin:15px 0}.checks label{cursor:pointer}.checks input{width:19px;height:19px;vertical-align:middle}.writing-meta{display:flex;justify-content:space-between;color:#74818a;font-size:15px;margin:8px 0}.evo-layout{display:grid;grid-template-columns:220px 1fr;gap:25px}.evo-stations{display:flex;flex-direction:column;gap:12px}.evo-stations button{color:#173953;background:#e7edf0;text-align:left;font-size:22px;padding:15px;border-color:#c2d0d7}.evo-stations button small{display:block;font-size:13px;margin-top:6px;color:#728292}.evo-stations button.active{background:#173c58;color:#ffedc7;border-color:#cfa45b}.evo-stations button.active small{color:#e7cb93}.stage-top{display:flex;align-items:center;gap:18px;margin-bottom:16px}.phase{background:#bc9452;color:#fffaf0;border-radius:3px;padding:4px 12px;white-space:nowrap;font-size:17px}.stage-top h3{font:32px KaiTi}.sim{display:block;width:100%;height:auto;aspect-ratio:16/7.5;border-radius:10px;background:#03162b}.sim-label{font-size:14px;color:#728390;margin-top:6px}.evo-detail{margin-top:18px}.evo-detail blockquote{margin:12px 0;border-left:3px solid #c9a359;padding:10px 20px;background:#f3ead8;font-size:22px}.transport{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:15px}.transport button{background:#173c58;color:#ffedc9;font-size:18px;padding:8px 16px}.transport output{font-size:16px;color:#6b7b87;margin-left:auto}.progress{height:4px;background:#d9dfe0;margin-top:13px}.progress i{display:block;height:100%;background:#b69252;transition:width .3s}.order-list{display:flex;flex-wrap:wrap;gap:9px;margin:15px 0}.order-slots{font-size:24px;padding:18px;background:#eaf1f4;border:1px dashed #91aabb;min-height:80px}.timeline{display:flex;gap:9px;margin-bottom:22px;overflow:auto}.timeline button{flex:1;min-width:130px;background:#edf1ef;color:#173953;border-color:#ccbb98;font-size:27px}.timeline button small{display:block;font-size:14px;margin-top:5px}.timeline button.active{background:#173953;color:#ffedc4;border-color:#bd9250;box-shadow:0 0 0 2px #d6bc87}.mission-title{font:33px KaiTi;margin-bottom:12px}.slogan{font:30px KaiTi;color:#956c2d;border-top:1px solid #d6c6a7;padding-top:20px;margin-top:22px}.video-box{position:relative;background:#06182b;border-radius:10px;overflow:hidden;aspect-ratio:16/9}.video-box video{width:100%;height:100%;display:block}.video-box .play-cover{position:absolute;inset:0;background:#0002;color:#fff1cc;font-size:23px;border:0;border-radius:0;text-shadow:0 2px 5px #000}.play-cover b{display:block;font-size:58px}.video-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.video-grid h3{font:30px KaiTi;margin:0 0 12px}.video-grid article{padding-bottom:10px}.sources{font-size:15px;color:#617b8c;margin-top:16px}.sources a{text-decoration:underline;text-underline-offset:3px}#transition{position:fixed;inset:0;background:#021325;opacity:0;pointer-events:none;transition:opacity .3s;z-index:60}#transition.on{opacity:1;pointer-events:auto}#notice{position:fixed;bottom:155px;left:50%;transform:translateX(-50%);padding:12px 22px;border-radius:8px;background:#092840eb;color:#fff0ce;max-width:88vw;opacity:0;pointer-events:none;transition:opacity .2s;z-index:100;font-size:18px}#notice.show{opacity:1}#loading{position:fixed;top:47%;left:50%;transform:translate(-50%,-50%);padding:17px 24px;background:#05243ef0;border:1px solid #caa564;border-radius:10px;z-index:25}.large-type{--read:29px}.reduced *{scroll-behavior:auto}.reduced *{animation:none!important;transition:none!important}[hidden]{display:none!important}.reveal{animation:content-in .38s ease-out}.clicked{animation:click-glow .38s ease-out}@keyframes content-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes click-glow{50%{box-shadow:0 0 0 4px #ead09b8c}}@media(max-width:1100px){header{padding:15px}.brand{min-width:135px;font-size:23px}.brand span{font-size:11px;letter-spacing:0}.head-title h1{font-size:30px;letter-spacing:2px}.tools button{padding:8px;font-size:12px}#scene-task{top:105px;left:17px;max-width:310px;padding:10px 14px}#scene-task p{font-size:16px}#scene-actions{top:106px;right:17px}#scene-actions button{font-size:16px;padding:9px 13px}#halls button{padding:9px 10px;font-size:15px}.hotspot{font-size:20px;padding:12px 18px}.nav-row{flex-direction:column;gap:8px}footer{left:13px;right:13px;bottom:9px}#exhibits{margin-bottom:10px}#exhibits button{font-size:17px}.evo-layout{grid-template-columns:170px 1fr}.two-col{grid-template-columns:1fr 1fr;gap:20px}}@media(max-width:720px){header{align-items:flex-start;padding:12px}.brand{display:none}.head-title{text-align:left}.head-title h1{font-size:27px}.head-title small{font-size:11px;letter-spacing:1px}.tools{max-width:147px;flex-wrap:wrap;justify-content:flex-end}.tools #full{display:none}#scene-task{top:89px;max-width:58%;padding:8px 10px;left:12px}#scene-task p{font-size:14px}#task-label{font-size:11px}#scene-actions{top:93px;right:10px;max-width:37%}#scene-actions button{font-size:13px;padding:8px}.hotspot{font-size:17px;padding:10px 13px}.hotspot span{font-size:11px}#exhibits{justify-content:flex-start;overflow-x:auto;max-width:100%;gap:6px}#exhibits button{padding:8px 12px;font-size:16px}#halls{gap:4px;max-width:100%;overflow:auto}#halls button{font-size:13px;padding:9px 7px}.hint{font-size:11px}.look button{font-size:14px;padding:6px 12px}#welcome{bottom:190px}#welcome p{font-size:17px}#welcome small{font-size:12px}dialog{width:97vw;max-width:97vw;height:94vh;max-height:94vh}.dialog-head{height:85px;padding:14px}.dialog-head h2{font-size:26px}.dialog-head small{font-size:11px;letter-spacing:0}.dialog-tools{gap:2px}.dialog-tools button{padding:7px;font-size:13px}#detail-body{padding:16px;height:calc(100% - 140px);font-size:21px;--read:21px}.large-type #detail-body{--read:25px}.dialog-bottom{height:55px;padding:8px 14px}.dialog-bottom span{font-size:11px}.dialog-bottom button{font-size:15px}.two-col,.two-col.equal{grid-template-columns:1fr}.book{padding:20px}.annotation{position:static}.video-grid{grid-template-columns:1fr}.evo-layout{grid-template-columns:1fr}.evo-stations{flex-direction:row;overflow:auto;gap:6px}.evo-stations button{font-size:16px;min-width:105px;padding:9px}.evo-stations button small{font-size:11px}.transport button{padding:8px 11px;font-size:15px}.transport output{font-size:12px}.stage-top h3{font-size:26px}.stage-top{gap:10px}.phase{font-size:14px}.timeline button{min-width:112px}.compare-select{gap:12px}.compare-select select{font-size:20px}.choices button{font-size:17px}.checks{font-size:18px;gap:12px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.dialog-bottom button{white-space:nowrap;flex-shrink:0}.dialog-head h2{line-height:1.18}.dialog-head>div:first-child{min-width:0}
.graph-toolbar{margin:0 0 12px;align-items:center;gap:8px}.graph-toolbar button{font-size:16px;padding:8px 12px}.graph-toolbar output{font-size:15px;color:#647784;margin-left:auto}.original-link{font-size:15px;color:#5b7282}.teacher-graph{width:100%;height:calc(100% - 66px);min-height:420px;border:1px solid #bdab84;border-radius:10px;background:#133451}.xiaoyue-layout{display:grid;grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr);gap:35px;align-items:center}.xiaoyue-portrait{background:radial-gradient(#214d70,#061b30);border:1px solid #d9bb7c;border-radius:18px;overflow:hidden;position:relative;text-align:center}.xiaoyue-portrait img{display:block;width:100%;max-height:490px;object-fit:contain}.xiaoyue-portrait span{display:block;background:#06233de8;padding:12px;font-size:17px;color:#f5dca6}.xiaoyue-portrait.speaking{animation:voice-glow 2s ease-in-out infinite}.xiaoyue-layout audio{width:100%;margin-top:23px}.xiaoyue-layout .reading{font-size:27px;line-height:1.9}@keyframes voice-glow{50%{box-shadow:0 0 26px #c9a95f77}}@media(max-width:720px){.xiaoyue-layout{grid-template-columns:1fr;gap:20px}.xiaoyue-portrait{max-width:240px;margin:auto}.xiaoyue-portrait img{max-height:240px}.xiaoyue-layout .reading{font-size:22px}.graph-toolbar button{font-size:14px}.teacher-graph{height:70vh}.timeline button{min-width:112px}}

#guide-layer{position:fixed;transform:translate(-50%,-100%);width:auto;aspect-ratio:2/3;pointer-events:none;z-index:4}#standing-guide{height:100%;width:100%;display:block;position:relative;padding:0;border:0;background:none;box-shadow:none;pointer-events:auto;filter:drop-shadow(0 12px 10px #05132266)}#standing-guide:hover{background:none;filter:drop-shadow(0 0 10px #f4d78f99)}#standing-guide img{width:100%;height:100%;object-fit:contain;display:block}#standing-guide span{position:absolute;bottom:0;left:50%;transform:translateX(-50%);background:#062b43eb;border:1px solid #d1b16d;border-radius:24px;padding:7px 14px;white-space:nowrap;font-size:16px;color:#fff0ce}#standing-guide.speaking span{background:#31546c;box-shadow:0 0 16px #e8c57966}#guide-caption{position:fixed;left:50%;bottom:157px;transform:translateX(-50%);width:min(830px,75vw);background:#042139ed;border:1px solid #caae76;border-radius:12px;padding:18px 22px;color:#fff6e4;z-index:8;box-shadow:0 5px 40px #0019}#guide-caption p{font-size:22px;line-height:1.65}#guide-caption>div{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}#guide-caption button{font-size:15px;padding:6px 14px}footer{z-index:6}header,#scene-actions{z-index:6}
@media(max-width:720px){#guide-layer{max-height:300px}#standing-guide span{font-size:12px;padding:6px 9px}#guide-caption{bottom:168px;width:94vw;padding:13px;max-height:45vh;overflow:auto}#guide-caption p{font-size:17px}#guide-caption button{font-size:13px}}

#guide-caption{max-height:52vh;overflow:auto}body[data-scene="lobby"] #guide-caption p{font-size:20px}@media(max-width:720px){body[data-scene="lobby"] #guide-caption p{font-size:17px}}

#halls{display:none!important}.nav-row{justify-content:center}
body[data-scene="info"] #detail:has(#teacher-graph){width:99vw;max-width:99vw;height:98vh;max-height:98vh}
body[data-scene="info"] #detail:has(#teacher-graph) .dialog-head{height:65px;padding:10px 20px}
body[data-scene="info"] #detail:has(#teacher-graph) .dialog-head h2{font-size:24px}
body[data-scene="info"] #detail:has(#teacher-graph) #detail-body{height:calc(100% - 113px);padding:8px 14px;overflow:hidden}
body[data-scene="info"] #detail:has(#teacher-graph) .dialog-bottom{height:48px}
body[data-scene="info"] .teacher-graph{height:calc(100% - 50px);min-height:0}
body[data-scene="info"] .graph-toolbar{margin-bottom:8px}
@media(max-width:720px){body[data-scene="info"] .teacher-graph{height:calc(100% - 125px)}body[data-scene="info"] .graph-toolbar{flex-wrap:wrap}}
