@charset "UTF-8";
:root{--ink:#f2efdf;--muted:#b9c0b2;--gold:#d5bb86;--line:rgba(218,199,150,.24);--deep:#132620;--serif:"Noto Serif SC","Source Han Serif SC","Songti SC","STSong","SimSun",serif;--sans:"Microsoft YaHei","PingFang SC",sans-serif}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{background:#152523;color:var(--ink);font-family:var(--sans);font-size:15px;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;border:1px solid var(--line);background:rgba(25,43,36,.64);padding:11px 16px;border-radius:2px;transition:background .2s,border-color .2s,color .2s}button:hover{background:rgba(188,163,106,.15);border-color:var(--gold)}button:disabled{opacity:.32;cursor:default}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:5px}a{color:var(--gold);text-decoration:none}em{font-style:normal}p{line-height:1.85}small{font-size:11px}h1,h2,h3,p{margin-top:0}h2{font-weight:500}h3{font-size:17px;font-weight:500;line-height:1.5}.hidden{display:none!important}.selected{color:var(--gold)!important;border-color:var(--gold)!important;background:rgba(196,165,105,.15)!important}
#world,.classroom-backdrop,.vignette{position:fixed;inset:0;pointer-events:none}.classroom-backdrop{background:linear-gradient(90deg,rgba(9,22,21,.8),rgba(16,29,27,.44) 60%,rgba(10,21,21,.32)),linear-gradient(135deg,#d69c67,#45878b);filter:saturate(.55);opacity:1;transition:opacity 1.2s,transform 3s}#world{z-index:1;pointer-events:auto}#world canvas{display:block;touch-action:none;cursor:grab}#world canvas:active{cursor:grabbing}.vignette{z-index:2;background:linear-gradient(90deg,rgba(7,19,17,.9) 0%,rgba(8,24,20,.7) 27%,rgba(8,24,20,.13) 58%,rgba(8,24,20,.15)),linear-gradient(0deg,rgba(8,23,19,.85),transparent 26%,transparent 74%,rgba(8,23,19,.6));transition:background .6s}.cinema-frame{position:fixed;inset:20px;z-index:5;border:1px solid rgba(202,180,130,.19);pointer-events:none}.cinema-frame:before,.cinema-frame:after{content:"";position:absolute;width:70px;height:70px;border-color:#9d8b64;border-style:solid;opacity:.45}.cinema-frame:before{top:-1px;left:-1px;border-width:1px 0 0 1px}.cinema-frame:after{right:-1px;bottom:-1px;border-width:0 1px 1px 0}
header{position:fixed;top:44px;left:50px;right:50px;z-index:7;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.brand,.tools{pointer-events:auto}.brand{display:flex;gap:13px;align-items:center;color:var(--ink);font-size:17px;letter-spacing:3px}.brand-mark{font-family:var(--serif);display:grid;place-items:center;width:39px;height:44px;border:1px solid #a89164;color:var(--gold);font-size:25px;letter-spacing:0}.brand small{display:block;font-size:9px;letter-spacing:2px;color:#b0b8ab;margin-top:7px}.tools{display:flex;align-items:center;gap:10px}.tools button{border-color:rgba(217,206,173,.2);font-size:12px;padding:8px 13px;background:rgba(11,29,23,.36)}.draft{font-size:10px;color:#aeb6a7;letter-spacing:1px;margin-right:10px}
.chapter-nav{position:fixed;top:50%;left:48px;transform:translateY(-48%);z-index:6;width:134px;transition:opacity .5s,transform .5s}.nav-label{font-size:9px;color:#9ea895;letter-spacing:3px;margin:0 0 22px 9px}.chapter-nav nav{display:flex;flex-direction:column;gap:3px;border-left:1px solid rgba(186,171,125,.2)}.chapter-nav nav button{position:relative;text-align:left;border:0;background:none;display:flex;gap:13px;align-items:center;padding:17px 13px;color:#a8b1a1;letter-spacing:2px;font-size:12px;white-space:nowrap}.chapter-nav nav button small{font-size:9px;color:#838f7e;font-variant-numeric:tabular-nums;letter-spacing:0}.chapter-nav nav button.active{color:var(--gold);background:linear-gradient(90deg,rgba(196,168,109,.16),transparent)}.chapter-nav nav button.active:before{content:"";position:absolute;width:2px;height:26px;background:var(--gold);left:-1px}.chapter-nav nav button.active small{color:var(--gold)}.backhome{border:0;background:none!important;font-size:10px;color:#93a18d;padding:28px 8px 5px;letter-spacing:1px}
#main{position:fixed;inset:0;z-index:4;pointer-events:none;outline:0}.scene-copy{position:absolute;left:230px;top:24.5%;max-width:560px;animation:arrive .9s both}.eyebrow{font-size:10px;font-weight:400;letter-spacing:4px;color:var(--gold);margin-bottom:27px}.scene-copy h1{font:400 clamp(37px,3.6vw,65px)/1.4 var(--serif);letter-spacing:2px;margin:0 0 23px;color:#f0ecdc;text-shadow:0 2px 30px rgba(0,0,0,.16)}.scene-copy h1 em{display:block;color:var(--gold)}.scene-lead{font-size:13px;color:#b9c1b2;line-height:2.05;letter-spacing:1px;margin-bottom:28px}.scene-cta{pointer-events:auto;min-width:192px;display:flex;gap:34px;justify-content:space-between;align-items:center;background:#cab17f;border:1px solid #d6bd8b;color:#15291f;padding:14px 20px;font-size:12px;letter-spacing:1.5px}.scene-cta:hover{color:#13261b;background:#e0c79c;border-color:#e0c79c}.scene-cta span{font-size:20px;line-height:1}.prologue{left:28.5%;top:23%;max-width:660px}.prologue h1{font-size:clamp(48px,4.8vw,78px);line-height:1.32;letter-spacing:3px;margin-bottom:24px}.prologue .eyebrow{margin-bottom:26px}.prologue .scene-lead{font-size:13px}.prologue-caption{font-size:9px;color:#aaaf9f;letter-spacing:2px;border-top:1px solid var(--line);padding-top:17px;margin-top:47px;max-width:470px;line-height:2}.prologue-caption span{display:block;letter-spacing:2.7px;color:#758976;font-size:8px;margin-top:7px}
.location-picker,.scene-note{pointer-events:auto;position:absolute;right:58px;top:29%;width:215px;border-top:1px solid var(--gold);padding:20px 0;background:linear-gradient(90deg,transparent,rgba(15,32,24,.22))}.location-picker>span,.scene-note>span{font-size:10px;letter-spacing:3px;color:#d1c2a0;display:block;margin-bottom:18px}.location-picker button{border:0;border-bottom:1px solid rgba(210,192,150,.2);background:rgba(16,34,25,.45);width:100%;display:flex;justify-content:space-between;font-size:12px;text-align:left;padding:16px 13px}.location-picker button span{color:#b49d6d}.scene-note{padding:20px;background:rgba(12,31,24,.65);backdrop-filter:blur(16px)}.scene-note strong{font:400 48px var(--serif);color:var(--gold);display:block}.scene-note strong small{font:11px var(--sans);color:#aebaa8;display:block;margin-top:8px}.scene-note p{font-size:12px;color:#bdc5b5;margin:14px 0}.scene-note>small{font-size:9px;line-height:1.8;color:#8e9f8a;display:block}.scene-note button{font-size:11px;width:100%;margin-bottom:10px}
.scene-caption{position:absolute;bottom:158px;right:58px;width:355px;background:rgba(14,34,26,.89);border-left:2px solid var(--gold);padding:20px 24px;backdrop-filter:blur(16px);opacity:0;transform:translateY(15px);transition:.3s;pointer-events:none}.scene-caption.visible{opacity:1;transform:none;pointer-events:auto}.scene-caption>span{font-size:9px;letter-spacing:3px;color:var(--gold)}.scene-caption p{font-size:13px;margin:11px 0}.scene-caption button{font-size:11px;background:none;padding:8px 0;border:0;color:var(--gold)}
#hotspots{position:fixed;inset:0;z-index:3;pointer-events:none}.hotspot{position:absolute;transform:translate(-50%,-50%);white-space:nowrap;display:flex;align-items:center;gap:9px;font-size:10px;padding:9px 12px;background:rgba(15,35,29,.75);border:1px solid rgba(217,192,142,.56);border-radius:22px;box-shadow:0 4px 24px #0003;backdrop-filter:blur(5px);pointer-events:auto}.hotspot i{width:6px;height:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px #c4aa7930}.world-hint{position:fixed;right:58px;bottom:139px;font-size:9px;letter-spacing:1.5px;color:#a6b09a;z-index:3;pointer-events:none}
.director{position:fixed;z-index:7;bottom:43px;left:230px;right:58px;display:flex;align-items:center;gap:24px;padding:16px 19px 22px;background:rgba(12,29,24,.83);border:1px solid rgba(212,188,137,.33);box-shadow:0 15px 50px rgba(0,0,0,.25);backdrop-filter:blur(22px);transition:opacity .5s,transform .5s}.director-label{font-size:11px;color:#d7c69e;white-space:nowrap;min-width:165px;letter-spacing:2px}.live-dot{display:inline-block;width:4px;height:4px;background:var(--gold);border-radius:50%;margin-right:7px;vertical-align:middle}.director-label small{display:block;font-size:8px;letter-spacing:1px;margin:8px 0 0 12px;color:#83967f}.director-controls{display:flex;align-items:center;gap:6px;margin-left:auto}.director-controls button{background:none;border:0;font-size:17px;white-space:nowrap;padding:9px 11px}.director-controls button span{font-size:10px;letter-spacing:1px;margin-left:5px}.director-controls i{height:25px;width:1px;background:var(--line);margin:0 7px}.director-controls .evidence-button{font-size:11px;color:var(--gold);border:1px solid var(--line);padding:11px 15px}.step-controls{display:flex;gap:9px}.step-controls button{font-size:12px;padding:11px}.step-controls .next-step{background:var(--gold);border-color:var(--gold);color:#233827;white-space:nowrap;padding:11px 19px}.step-controls .next-step:hover{background:#ebd1a3}#dots{position:absolute;bottom:0;left:0;right:0;display:flex;gap:3px;height:3px}#dots button{height:3px;min-height:0;flex:1;padding:0;border:0;border-radius:0;background:rgba(191,173,125,.07)}#dots button.current{background:var(--gold)}
.lesson-drawer{position:fixed;z-index:12;right:21px;top:21px;bottom:21px;width:min(620px,calc(100vw - 44px));background:rgba(15,32,25,.97);border:1px solid #607155;box-shadow:-25px 0 100px #06110e66;backdrop-filter:blur(30px);transform:translateX(calc(100% + 30px));transition:transform .4s cubic-bezier(.2,.75,.2,1);display:flex;flex-direction:column}.lesson-drawer.open{transform:none}.drawer-top{display:flex;justify-content:space-between;align-items:center;padding:19px 25px;border-bottom:1px solid var(--line);flex:none}.drawer-top span{font-size:9px;letter-spacing:2px;color:#c9b383}.drawer-top button{font-size:11px;background:none;border:0;padding:6px}.drawer-open .location-picker,.drawer-open .scene-note,.drawer-open .scene-caption{opacity:0;pointer-events:none}.drawer-open .world-hint{opacity:0}#lessonContent{padding:30px 28px 45px;overflow:auto;overscroll-behavior:contain;scrollbar-color:#637653 transparent;scrollbar-width:thin}#lessonContent .eyebrow{font-size:10px;margin-bottom:15px;letter-spacing:2px}#lessonContent h1{font:400 31px/1.45 var(--serif);margin-bottom:15px}#lessonContent .lead{font-size:13px;color:#abb9a2;line-height:1.9;margin-bottom:25px}#lessonContent .grid,#lessonContent .two{display:grid;grid-template-columns:1fr;gap:14px;margin-bottom:20px}.card{padding:20px;background:rgba(160,173,123,.045);border:1px solid rgba(180,189,146,.2);margin-bottom:14px}.card p{font-size:13px;line-height:1.8;margin-bottom:14px}.card h2{font-size:22px;font-family:var(--serif);margin:8px 0 13px}.card h3{color:#ddd2b1}.number{font:26px var(--serif);color:var(--gold)}.minor,.formnote{font-size:11px;color:#93a58c;line-height:1.8}.teacher-note{border-top:1px solid var(--line);padding-top:15px;margin-top:24px;font-size:11px;color:#8da181;line-height:1.9}.badge{font-size:10px;padding:5px 9px;border:1px solid var(--line);color:#bca878;display:inline-block;letter-spacing:1px}.callout{padding:17px 18px;background:#a18a4912;border-left:2px solid #bca576;font-size:13px;line-height:1.9;margin:17px 0}.callout p{margin:10px 0 0}.callout strong{font-size:18px;color:var(--gold);font-weight:500}.strip{border-top:1px solid var(--line);padding:20px 0 6px;margin-top:18px}.strip p{font-size:13px}.quote{font:28px/1.75 var(--serif);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:26px 0;margin:23px 0;color:#ebe4cc}.quote em{color:var(--gold)}.choices,.row{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0;align-items:center}.choices button{flex:1;font-size:13px;line-height:1.6;min-width:100px}.primary,.download{display:inline-block;background:var(--gold);border:1px solid var(--gold);color:#1d3626;font-size:12px;padding:12px 17px;cursor:pointer}.primary:hover,.download:hover{background:#e0c795;color:#162c1e}.fields{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:24px 0}.fields label{font-size:11px}label{display:block;color:#c9d0bc;font-size:12px;line-height:1.9;margin-bottom:15px}input:not([type=checkbox]),select,textarea{display:block;width:100%;border:1px solid #485c40;color:#edf0de;background:#0e251c;border-radius:2px;padding:12px 13px;margin-top:6px;font-size:13px;outline:none}input:focus,textarea:focus,select:focus{border-color:var(--gold)}input::placeholder,textarea::placeholder{color:#758c6b;opacity:1}textarea{resize:vertical;min-height:95px;line-height:1.8}input[type=number].big-input{font:28px var(--serif);color:var(--gold)}option{background:#182f22;color:var(--ink)}.resource-steps{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.resource-steps button{flex:1;font-size:12px;padding:11px 8px}.stage{border:1px solid var(--line);padding:24px;background:#d0b47b0a}.stage p{font-size:14px}.timer{font:64px var(--serif);color:var(--gold);margin:20px 0;font-variant-numeric:tabular-nums}.answer{font-size:16px;line-height:1.9}.q-list{display:grid;gap:10px}.q-list button{text-align:left;font-size:12px;line-height:1.7}.question-input{flex:1;min-width:200px}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:12px}.exhibit{text-align:left;min-height:175px;padding:18px;background:#f3deb611}.exhibit p{font-size:12px;overflow-wrap:anywhere}.exhibit h3{font-size:15px}.empty{padding:40px 15px;border:1px dashed var(--line);text-align:center;margin-top:25px}.empty h2{font:25px var(--serif);color:var(--gold)}.empty p{font-size:13px}.chart{display:flex;align-items:flex-end;gap:16px;height:245px;padding-top:30px;border-bottom:1px solid var(--line);margin-top:18px}.barcol{height:100%;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;position:relative;min-width:0}.barval{font-size:11px;color:var(--gold);margin-bottom:8px;white-space:nowrap}.barspace{width:70%;flex:1;display:flex;align-items:flex-end;justify-content:center}.bar{width:100%;min-height:1px;background:linear-gradient(0deg,#3e6650,#8fa67a)}.bar.gold{background:linear-gradient(0deg,#786844,#dac28d)}.barlabel{padding:9px 0;font-size:11px;white-space:nowrap}.scale{font-size:9px;color:#8ca280;margin:12px 0 0!important}
dialog{position:fixed;background:#142e21;color:var(--ink);border:1px solid #819269;width:min(790px,calc(100vw - 36px));max-height:88vh;padding:0;z-index:30;box-shadow:0 30px 120px #0008;border-radius:2px;scrollbar-color:#6b7d56 #172e20}dialog::backdrop{background:#020c08b3;backdrop-filter:blur(10px)}.dialoghead{display:flex;justify-content:space-between;align-items:center;padding:22px 29px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#142e21;z-index:1}.dialoghead h2{font:25px var(--serif);margin:0}.dialoghead button{font-size:12px}.prepbody,#exhibitContent{padding:27px 29px;font-size:13px;line-height:1.9;overflow-wrap:anywhere}.prepbody h3{margin-top:25px}.prepbody>button{font-size:12px;margin:5px 5px 5px 0}.qa-edit{padding:20px;border:1px solid var(--line);margin:18px 0}.qa-edit label:last-child{margin:15px 0 0;font-size:11px}input[type=checkbox]{accent-color:var(--gold)}.filelabel{display:inline-flex;border:1px solid var(--line);padding:9px 15px;margin:5px;cursor:pointer}.filelabel input{display:none}hr{border:0;border-top:1px solid var(--line);margin:30px 0}.danger{color:#dbaa87}.dialoghead,#exhibitContent,.prepbody{pointer-events:auto}
#toast{position:fixed;bottom:155px;left:50%;transform:translate(-50%,15px);max-width:calc(100vw - 40px);z-index:40;padding:15px 23px;color:#f3e6c7;border:1px solid #998755;background:#173323f2;box-shadow:0 5px 50px #0005;font-size:12px;opacity:0;pointer-events:none;transition:.25s}#toast.show{opacity:1;transform:translate(-50%,0)}#transition{display:none;position:fixed;inset:0;z-index:8;align-items:center;justify-content:center;flex-direction:column;pointer-events:none;color:var(--gold);background:radial-gradient(ellipse at 65% 48%,#d8c18f10,#10291e55);animation:threshold 2.5s both}#transition>span{font-size:10px;letter-spacing:5px;margin-bottom:20px}#transition h2{font:36px var(--serif);letter-spacing:5px}.transition-line{height:1px;width:160px;background:#8c8057;transform-origin:left;animation:loading 2.5s both}
[data-mode=intro] .chapter-nav,[data-mode=intro] .director,[data-mode=intro] .world-hint,[data-mode=intro] #hotspots{opacity:0;pointer-events:none;visibility:hidden}[data-mode=intro] .vignette{background:linear-gradient(0deg,#061d16b3,transparent 32%,transparent 77%,#061a1680)}[data-mode=intro] .scene-copy{pointer-events:none}[data-mode=intro] .scene-cta{pointer-events:auto}[data-mode=scene] .classroom-backdrop{opacity:0}[data-mode=entering] .classroom-backdrop{transform:scale(1.15);opacity:.1}[data-mode=entering] #main,[data-mode=entering] .director,[data-mode=entering] .chapter-nav,[data-mode=entering] .world-hint{opacity:0;pointer-events:none}[data-mode=entering] #transition{display:flex}.no-webgl .classroom-backdrop{opacity:1}.no-webgl #hotspots{display:none}.no-webgl .scene-copy{max-width:650px}.no-webgl #pauseWorld,.no-webgl #rotateWorld,.no-webgl #overhead{display:none}.noscript{position:fixed;z-index:50;background:#192e24;inset:30% 20%;padding:40px}.print-only{display:none}
@keyframes arrive{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes threshold{0%,15%{opacity:0}40%,90%{opacity:1}100%{opacity:0}}@keyframes loading{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(min-width:1700px){.scene-copy{left:17%;top:25%}.prologue{left:28%;top:23%}.chapter-nav{left:65px}.director{left:17%;right:65px}.location-picker,.scene-note{right:65px}.scene-lead{font-size:16px}.eyebrow{font-size:12px}.scene-cta{font-size:14px;padding:17px 24px}.chapter-nav nav button{font-size:14px}.director{padding:22px 25px 28px}.director-label{font-size:13px}.director-controls button span,.director-controls .evidence-button,.step-controls button{font-size:12px}}
@media(max-width:1250px){.scene-copy{left:197px;max-width:490px}.prologue{left:26%;max-width:600px}.chapter-nav{left:39px;width:128px}.director{left:197px;right:42px;gap:12px;padding:13px 14px 18px}.director-label{min-width:132px;font-size:10px;letter-spacing:1px}.director-label small{font-size:7px;letter-spacing:0}.director-controls{gap:0}.director-controls button{padding:8px}.director-controls button span{font-size:9px}.director-controls i{margin:0 4px}.step-controls .next-step{padding:11px 13px;font-size:11px}.location-picker,.scene-note{right:42px;width:190px}.scene-note{top:25%}.scene-copy h1{font-size:42px}.prologue h1{font-size:62px}.scene-caption{right:42px;width:320px}.world-hint{right:42px;bottom:132px}}
@media(max-width:1000px){header{top:32px;left:32px;right:32px}.brand{font-size:14px}.brand small{font-size:8px;letter-spacing:1px}.draft{display:none}.chapter-nav{left:28px;width:115px}.chapter-nav nav button{padding:15px 10px;font-size:11px;gap:10px}.scene-copy{left:167px;top:22%;max-width:420px}.scene-copy h1{font-size:35px}.prologue{left:23%;top:25%;max-width:540px}.prologue h1{font-size:52px}.scene-lead{font-size:11px}.scene-cta{padding:12px 16px;font-size:11px;min-width:175px}.location-picker,.scene-note{right:33px;top:26%;width:160px}.location-picker button{font-size:10px;padding:14px 10px}.scene-note{padding:15px}.scene-note strong{font-size:38px}.scene-note p{font-size:10px}.director{left:166px;right:33px;gap:10px;bottom:33px}.director-label{display:none}.director-controls{margin-left:0}.step-controls{margin-left:auto}.director-controls button span{display:none}.director-controls .evidence-button{font-size:10px}.director-controls .evidence-button span{display:inline}.world-hint{right:33px;bottom:116px}.scene-caption{bottom:139px;right:33px;width:295px}.cinema-frame{inset:15px}.scene-caption p{font-size:12px}.lesson-drawer{width:min(540px,calc(100vw - 32px));top:15px;right:15px;bottom:15px}}
@media(max-height:650px) and (min-width:760px){header{top:30px}.scene-copy{top:24%}.scene-copy h1{font-size:35px;margin-bottom:16px}.scene-copy .eyebrow{margin-bottom:16px}.scene-lead{margin-bottom:18px;font-size:11px}.prologue{top:22%}.prologue h1{font-size:49px}.prologue-caption{margin-top:25px;padding-top:10px;font-size:8px}.prologue-caption span{margin-top:3px}.chapter-nav nav button{padding:11px 12px}.nav-label{margin-bottom:14px}.director{bottom:30px}.scene-note{top:25%}.scene-cta{padding:12px 18px}.scene-caption{bottom:120px}}
@media(max-width:760px){.cinema-frame{inset:10px}header{top:25px;left:23px;right:23px}.brand{font-size:13px;letter-spacing:1px;gap:9px}.brand-mark{width:30px;height:36px;font-size:21px}.brand small{letter-spacing:.5px;font-size:7px}.tools{gap:5px}.tools button{font-size:10px;padding:7px 8px}.chapter-nav{left:24px;right:24px;width:auto;top:100px;transform:none}.nav-label,.backhome{display:none}.chapter-nav nav{flex-direction:row;border:0;justify-content:space-between;gap:0;border-bottom:1px solid var(--line)}.chapter-nav nav button{padding:12px 2px;font-size:10px;gap:5px;letter-spacing:0}.chapter-nav nav button.active{background:none}.chapter-nav nav button.active:before{width:100%;height:1px;left:0;bottom:-1px}.chapter-nav nav button small{font-size:8px}.scene-copy{left:28px;top:175px;max-width:calc(100vw - 54px)}.scene-copy .eyebrow{font-size:9px;letter-spacing:3px;margin-bottom:19px}.scene-copy h1{font-size:clamp(30px,7vw,46px);line-height:1.45;letter-spacing:1px;margin-bottom:17px}.scene-lead{font-size:11px;line-height:1.9;margin-bottom:23px}.scene-cta{font-size:11px;min-width:190px}.prologue{top:26%;left:11%;max-width:86%}.prologue h1{font-size:clamp(36px,8.5vw,61px)}.prologue .eyebrow{margin-bottom:24px}.prologue .scene-lead{font-size:11px}.prologue-caption{margin-top:36px;width:90%;font-size:8px}.prologue-caption span{font-size:7px}.vignette{background:linear-gradient(90deg,#081a15c9,#081a151a),linear-gradient(0deg,#081a15b3,transparent 30%,transparent 75%,#081a1580)}.location-picker{right:25px;top:auto;bottom:152px;width:calc(100vw - 50px);padding:12px 0 0;display:flex;gap:6px;border-top-color:var(--line);background:none}.location-picker>span{display:none}.location-picker button{border:1px solid var(--line);font-size:10px;flex:1;padding:13px 9px;background:#102c23b3}.location-picker button span{margin-left:4px}.scene-note{right:25px;top:auto;bottom:154px;width:190px;padding:12px 15px;max-height:205px;overflow:auto}.scene-note>span{font-size:8px;margin-bottom:10px}.scene-note strong{font-size:30px}.scene-note strong small{font-size:9px}.scene-note p{font-size:10px;line-height:1.6;margin:10px 0}.scene-note>small{font-size:8px}.scene-note button{font-size:10px;padding:9px;margin-bottom:7px}.director{left:23px;right:23px;bottom:26px;padding:11px 12px 17px;gap:8px;flex-wrap:wrap}.director-controls{flex:1}.director-controls button{font-size:17px;padding:7px}.director-controls i{margin:0 3px}.director-controls .evidence-button{font-size:10px;padding:9px 10px}.step-controls{gap:5px}.step-controls button{padding:8px}.step-controls .next-step{font-size:10px;padding:10px}.world-hint{font-size:7px;right:25px;bottom:118px;letter-spacing:.5px}.scene-caption{bottom:210px;right:25px;width:min(310px,calc(100vw - 50px));padding:15px 19px}.scene-caption p{font-size:11px}.hotspot{font-size:9px;padding:8px 10px}#toast{bottom:126px;width:max-content;max-width:90%;font-size:11px}.lesson-drawer{right:10px;top:10px;bottom:10px;width:calc(100vw - 20px)}#lessonContent{padding:25px 22px}#lessonContent h1{font-size:28px}.drawer-top{padding:18px 22px}.gallery{grid-template-columns:1fr}.prologue .scene-cta{position:relative}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media print{html,body{overflow:visible;height:auto;background:white;color:#111}body>*{display:none!important}body>.print-only{display:block!important;padding:15mm;font-family:"Microsoft YaHei",sans-serif;font-size:12pt}.print-only h1{font-size:23pt;text-align:center;margin:0 0 6mm}.print-only h2{font-size:16pt;margin-top:10mm}.print-only p{margin:5mm 0 3mm;line-height:1.7}.print-only .line{height:12mm;border-bottom:1px solid #777}.print-only table{width:100%;border-collapse:collapse;table-layout:fixed}.print-only td,.print-only th{border:1px solid #777;padding:4mm;font-size:11pt}.print-only td{height:19mm}.print-only th:first-child{width:20%}.print-only small{font-size:9pt}@page{size:A4;margin:8mm}}

.evidence-view .scene-copy h1{font-size:30px}.evidence-view .scene-copy{top:20%}.evidence-view .scene-copy .scene-lead,.evidence-view .scene-copy .scene-cta{display:none}.evidence-view .scene-note{display:none}.evidence-view .scene-caption{bottom:145px}

/* Voice feedback: persistent left lesson navigation, consolidated right task rail. */
:root{--rail-width:248px;--rail-right:42px;--copy-left:205px;--nav-left:42px}
.chapter-nav{top:150px;bottom:54px;left:var(--nav-left);right:auto;transform:none;width:130px;display:flex;flex-direction:column;justify-content:center}
.chapter-nav .nav-label{display:block;margin:0 0 22px 9px;font-size:9px;letter-spacing:3px}
.chapter-nav nav{display:flex;flex-direction:column;justify-content:initial;border:0;border-left:1px solid var(--line);gap:4px}
.chapter-nav nav button{padding:17px 12px;display:flex;gap:12px;font-size:12px;letter-spacing:2px}
.chapter-nav nav button.active{background:linear-gradient(90deg,#c4a86d29,transparent)}
.chapter-nav nav button.active:before{left:-1px;bottom:auto;width:2px;height:26px}
.chapter-nav .backhome{display:block;text-align:left;padding:27px 8px 5px;font-size:10px}
.director{left:auto;right:var(--rail-right);top:128px;bottom:43px;width:var(--rail-width);padding:0;display:flex;flex-direction:column;gap:0;align-items:stretch;background:rgba(12,29,24,.83);box-shadow:0 12px 50px #0003;flex-wrap:nowrap}
.rail-heading{padding:21px 21px 17px;border-bottom:1px solid var(--line);flex:none}
.rail-heading>span{font-size:12px;letter-spacing:3px;color:var(--gold)}
.rail-heading>small{display:block;font-size:9px;line-height:1.7;letter-spacing:.7px;color:#8fa187;margin-top:8px}
.rail-scroll{padding:19px 20px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#526948 transparent;flex:1;min-height:0}
.rail-task h2{font:20px/1.6 var(--serif);color:#e0d8be;margin:0 0 15px}
.rail-task .evidence-button{background:var(--gold);color:#173326;border:1px solid var(--gold);width:100%;padding:12px 10px;font-size:11px;letter-spacing:.5px;text-align:left;line-height:1.6}
.rail-task .evidence-button:hover{background:#e3cda4}
.rail-assistant{margin-top:24px;padding-top:19px;border-top:1px solid var(--line)}
.rail-assistant span{font-size:12px;letter-spacing:2px;color:#d5c6a4}
.rail-assistant small{font-size:9px;color:#8fa187;display:block;margin-top:7px;line-height:1.6}
.rail-assistant button{font-size:11px;padding:11px 10px;margin-top:13px;text-align:left;width:100%;background:#142f2380}
.rail-footer{padding:17px 20px 19px;border-top:1px solid var(--line);flex:none}
.view-label{display:block;font-size:9px;letter-spacing:2px;color:#a2b294;margin-bottom:6px}
.director-controls{display:flex;align-items:center;justify-content:space-between;gap:3px;margin:0 0 13px}
.director-controls button{padding:7px 4px;border:0;flex:1;font-size:15px}
.director-controls button span{display:inline;font-size:9px;letter-spacing:0;margin-left:3px}
.step-controls{margin:0;gap:8px;display:flex;width:100%}
.step-controls button{padding:10px 13px;font-size:12px}
.step-controls .next-step{flex:1;padding:11px 10px;font-size:10px}
.director #dots{bottom:0;height:3px}
#railContext .location-picker,#railContext .scene-note{position:static;top:auto;bottom:auto;right:auto;width:auto;border-top:0;padding:0 0 19px;margin:0 0 18px;background:none;backdrop-filter:none;border-bottom:1px solid var(--line);display:block;max-height:none;overflow:visible}
#railContext .location-picker>span,#railContext .scene-note>span{display:block;font-size:9px;letter-spacing:2px;margin-bottom:13px}
#railContext .location-picker button{padding:12px 10px;font-size:11px;border:1px solid var(--line);margin-bottom:7px;display:flex;width:100%;background:#1832267a}
#railContext .location-picker button:last-child{margin-bottom:0}
#railContext .scene-note strong{font-size:33px}
#railContext .scene-note strong small{font-size:9px;margin-top:6px}
#railContext .scene-note p{font-size:10px;line-height:1.85;margin:12px 0}
#railContext .scene-note>small{font-size:8px;line-height:1.8}
#railContext .scene-note button{font-size:10px;padding:10px 9px;margin-bottom:8px}
body[data-mode=scene] .scene-copy{left:var(--copy-left);top:23%;max-width:calc(100vw - var(--copy-left) - var(--rail-width) - var(--rail-right) - 48px)}
body[data-mode=scene] .scene-copy h1{font-size:clamp(28px,3.1vw,53px)}
body[data-mode=scene] .scene-copy>.scene-cta{display:none}
.world-hint{bottom:40px;left:var(--copy-left);right:calc(var(--rail-width) + var(--rail-right) + 35px);font-size:9px;text-align:left;line-height:1.8}
.scene-caption{right:calc(var(--rail-width) + var(--rail-right) + 28px);bottom:89px;width:min(345px,calc(100vw - var(--copy-left) - var(--rail-width) - var(--rail-right) - 50px))}
.evidence-view .scene-caption{bottom:89px}
.evidence-view .scene-copy h1{font-size:28px!important}
.drawer-open .director{opacity:0;pointer-events:none}
.drawer-open .scene-copy{max-width:calc(100vw - var(--copy-left) - 675px)}
.drawer-open #hotspots{pointer-events:none}
.drawer-open #hotspots button{pointer-events:none}
@media(min-width:1700px){:root{--rail-width:290px;--rail-right:60px;--copy-left:250px;--nav-left:62px}.chapter-nav{width:145px}.chapter-nav nav button{font-size:14px;padding:19px 14px}.director{top:142px;bottom:55px}.rail-heading{padding:25px 25px 20px}.rail-scroll{padding:25px}.rail-footer{padding:22px 25px}.rail-task h2{font-size:23px}.rail-task .evidence-button,.rail-assistant button{font-size:13px;padding:15px 12px}.rail-assistant small{font-size:10px}body[data-mode=scene] .scene-copy{top:25%}}
@media(max-width:1100px){:root{--rail-width:212px;--rail-right:32px;--copy-left:176px;--nav-left:31px}.chapter-nav{width:120px}.chapter-nav nav button{font-size:11px;gap:9px;padding:15px 11px}.director{top:119px;bottom:32px}.rail-heading{padding:17px 16px 14px}.rail-scroll{padding:16px}.rail-footer{padding:13px 16px 16px}.rail-task h2{font-size:18px}.rail-task .evidence-button{font-size:10px}.rail-assistant{margin-top:18px;padding-top:16px}.rail-assistant button{font-size:10px}.scene-lead{font-size:11px}.world-hint{bottom:29px;font-size:8px}.scene-caption{bottom:75px}.drawer-open .scene-copy{opacity:.1}}
@media(max-height:720px) and (min-width:761px){.director{top:111px;bottom:28px}.rail-heading{padding:15px 17px 12px}.rail-scroll{padding:15px 17px}.rail-footer{padding:12px 17px 15px}.rail-task h2{font-size:18px;margin-bottom:10px}.rail-assistant{margin-top:17px;padding-top:15px}.rail-assistant button{margin-top:10px;padding:9px}.rail-task .evidence-button{padding:10px}.chapter-nav{top:122px;bottom:42px}.chapter-nav nav button{padding-top:14px;padding-bottom:14px}}
@media(max-width:760px){:root{--rail-width:170px;--rail-right:20px;--copy-left:126px;--nav-left:22px}.chapter-nav{top:116px;bottom:45px;width:90px;right:auto;justify-content:flex-start;transform:none}.chapter-nav .nav-label{font-size:8px;letter-spacing:1px;margin:0 0 17px 7px}.chapter-nav nav{flex-direction:column;gap:6px;border-bottom:0;border-left:1px solid var(--line)}.chapter-nav nav button{display:flex;flex-direction:row;font-size:10px;letter-spacing:0;gap:6px;padding:15px 7px}.chapter-nav nav button small{font-size:8px}.chapter-nav .backhome{font-size:8px;padding:24px 5px}.director{top:111px;bottom:29px;padding:0;left:auto;right:var(--rail-right);width:var(--rail-width);gap:0;flex-wrap:nowrap}.rail-heading{padding:15px 13px 12px}.rail-heading>span{font-size:10px;letter-spacing:2px}.rail-heading>small{font-size:8px;letter-spacing:0;line-height:1.75}.rail-scroll{padding:15px 12px}.rail-task h2{font-size:17px;line-height:1.55;margin-bottom:12px}.rail-task .evidence-button{font-size:10px;padding:10px 8px}.rail-assistant{padding-top:17px;margin-top:18px}.rail-assistant span{font-size:10px;letter-spacing:1px}.rail-assistant small{font-size:8px;line-height:1.75}.rail-assistant button{font-size:9px;padding:10px 8px;line-height:1.75}.rail-footer{padding:12px 12px 15px}.view-label{font-size:8px;letter-spacing:1px}.director-controls{gap:0;margin-bottom:10px}.director-controls button{font-size:14px;padding:6px 2px;display:flex;flex-direction:column;align-items:center;gap:4px}.director-controls button span{font-size:8px;margin:0}.step-controls{gap:5px}.step-controls button{padding:9px;font-size:10px}.step-controls .next-step{font-size:9px;padding:9px 7px}.world-hint{right:calc(var(--rail-width) + var(--rail-right) + 16px);left:var(--copy-left);bottom:29px;font-size:7px;letter-spacing:0;line-height:1.8}body[data-mode=scene] .scene-copy{top:164px;max-width:calc(100vw - var(--copy-left) - var(--rail-width) - var(--rail-right) - 25px)}body[data-mode=scene] .scene-copy h1{font-size:26px;letter-spacing:0;line-height:1.7}body[data-mode=scene] .scene-copy .eyebrow{font-size:8px;letter-spacing:1px;margin-bottom:20px}.scene-lead{font-size:10px;line-height:2}.scene-caption{right:calc(var(--rail-width) + var(--rail-right) + 16px);left:var(--copy-left);width:auto;bottom:81px;padding:13px 14px}.scene-caption p{font-size:10px}.scene-caption button{font-size:9px}.scene-caption>span{font-size:8px}.evidence-view .scene-caption{bottom:81px}#railContext .location-picker button{font-size:10px;padding:11px 8px}#railContext .scene-note strong{font-size:28px}#railContext .scene-note button{font-size:9px;padding:8px}#railContext .scene-note p{font-size:9px}.drawer-open .scene-copy{opacity:0}.drawer-open .scene-caption{opacity:0}}
@media(max-width:520px){:root{--rail-width:145px;--rail-right:15px;--copy-left:102px;--nav-left:17px}.chapter-nav{width:76px;top:118px}.chapter-nav nav button{padding:15px 4px;gap:4px;font-size:9px}.chapter-nav .nav-label{font-size:8px;letter-spacing:0;margin-left:4px}.chapter-nav .backhome{padding-left:1px;font-size:7px}.rail-scroll{padding:13px 10px}.rail-heading{padding:14px 10px 11px}.rail-task h2{font-size:15px}.rail-task .evidence-button{font-size:9px;padding:10px 7px}.rail-assistant button{font-size:9px;padding:9px 6px}.rail-footer{padding:10px 9px 14px}.rail-heading>small{font-size:7px}.rail-assistant small{font-size:7px}body[data-mode=scene] .scene-copy{top:165px;max-width:calc(100vw - var(--copy-left) - var(--rail-width) - var(--rail-right) - 15px)}body[data-mode=scene] .scene-copy h1{font-size:20px;line-height:1.7}body[data-mode=scene] .scene-copy .scene-lead{display:none}body[data-mode=scene] .scene-copy .eyebrow{font-size:7px;letter-spacing:0;line-height:1.8}.scene-caption{left:var(--copy-left);right:calc(var(--rail-width) + var(--rail-right) + 10px);padding:11px 8px;bottom:79px}.scene-caption p{font-size:9px}.scene-caption>span{font-size:7px;letter-spacing:0}.scene-caption button{font-size:8px;line-height:1.8}.evidence-view .scene-copy h1{font-size:18px!important}.world-hint{right:calc(var(--rail-width) + var(--rail-right) + 11px);font-size:7px}.step-controls .next-step{font-size:8px;padding:9px 5px}#railContext .location-picker>span{font-size:8px;letter-spacing:1px}#railContext .location-picker button{font-size:9px;padding:10px 7px}}

/* 9月14日视觉与课堂素材优化：明亮的食堂/教室情境，保留左导航与右任务栏。 */
:root{--ink:#fffdf2;--muted:#d4e9e6;--gold:#ffd478;--line:rgba(255,226,174,.34);--deep:#154d55}
body{background:#2d8083}
.classroom-backdrop{background:linear-gradient(90deg,rgba(5,58,66,.72),rgba(14,88,94,.32) 55%,rgba(16,94,96,.10)),linear-gradient(135deg,#d69c67,#45878b);filter:saturate(1.16) brightness(1.16)}
.vr-school-note{margin-top:14px;padding:15px 16px;border:1px solid rgba(255,226,174,.34);border-radius:12px;background:rgba(11,72,77,.74);color:#fffdf2;line-height:1.55}
.vr-school-note strong{font-size:15px;color:#ffe1a2}.vr-school-note p{margin:7px 0 0;font-size:13px;color:#d4e9e6}
.vr-music-cue{width:100%;margin-top:12px;padding:12px 14px;border:1px solid rgba(255,226,174,.45);border-radius:11px;background:rgba(245,208,134,.15);color:#fff4d9;text-align:left;font-size:13px;cursor:pointer}
.vr-music-cue:hover,.vr-music-cue:focus-visible{background:rgba(245,208,134,.27);outline:2px solid #ffda91;outline-offset:2px}
.intro-music{display:block;pointer-events:auto;margin-top:13px;padding:10px 17px;border:1px solid rgba(255,226,174,.45);border-radius:9px;background:rgba(10,67,70,.72);color:#fff1d3;font-size:12px;cursor:pointer}
.intro-music:hover,.intro-music:focus-visible{background:rgba(10,87,89,.94);outline:2px solid #ffda91;outline-offset:2px}
.vignette{background:linear-gradient(90deg,rgba(7,52,58,.70) 0%,rgba(9,65,68,.46) 28%,rgba(9,70,70,.06) 60%),linear-gradient(0deg,rgba(6,52,58,.60),transparent 26%,transparent 78%,rgba(8,54,60,.42))}
[data-mode=intro] .vignette{background:linear-gradient(90deg,rgba(7,59,65,.78),rgba(11,68,70,.48) 55%,rgba(8,65,68,.14)),linear-gradient(0deg,rgba(8,49,54,.48),transparent 36%)}
.cinema-frame{border-color:rgba(255,225,165,.34)}
.brand-mark{background:#f2bd5a;color:#164a50;border-color:#ffe7a3;border-radius:12px;box-shadow:0 8px 25px #072d3455}
.brand small,.scene-lead{color:#e3f0e8}
.scene-copy h1{color:#fffdf3;text-shadow:0 4px 26px #06363fa3}
.scene-copy h1 em,.eyebrow{color:#ffdc84}
.scene-cta,.step-controls .next-step,.rail-task .evidence-button,.primary,.download{background:#ffd478;border-color:#ffe4a3;color:#16444a;border-radius:9px;font-weight:600}
.scene-cta:hover,.step-controls .next-step:hover,.rail-task .evidence-button:hover,.primary:hover,.download:hover{background:#ffe6a9;color:#153d42}
.chapter-nav{background:rgba(10,65,71,.75);border:1px solid rgba(255,226,174,.27);border-radius:16px;padding:16px 8px;backdrop-filter:blur(12px)}
.chapter-nav nav button{color:#e0f2ee;font-size:13px}
.chapter-nav nav button.active{color:#ffda7d;background:linear-gradient(90deg,rgba(255,213,120,.20),transparent)}
.director{background:rgba(10,61,68,.93);border-color:rgba(255,224,163,.45);border-radius:16px;overflow:hidden;box-shadow:0 18px 45px #043c4380}
.rail-heading>small,.rail-assistant small,.view-label{color:#c3e4d8}
.rail-task h2{color:#fff6db}
#railContext .location-picker button,.rail-assistant button{background:rgba(76,146,133,.26);border-color:rgba(255,226,174,.3);border-radius:8px}
.lesson-drawer,dialog{background:#124c55;color:#fffdf2;border-color:#89c6ba;border-radius:16px}
.dialoghead{background:#124c55}
.card{background:rgba(128,208,184,.13);border-color:rgba(182,234,204,.32);border-radius:12px}
.stage,.callout{background:rgba(255,219,137,.10);border-radius:10px}
input:not([type=checkbox]),select,textarea{background:#0d3a44;border-color:#6caca7;color:#fffdf2;border-radius:7px}
input::placeholder,textarea::placeholder{color:#bdd6d2}
.photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:19px 0}
.photo-card{padding:0;text-align:left;overflow:hidden;border:1px solid #8ac9bb;background:#0e3d45;border-radius:12px}
.photo-card img{display:block;width:100%;height:145px;object-fit:cover}
.photo-card span{display:block;padding:11px 13px;font-size:14px;font-weight:600}
.rail-photo{display:block;width:100%;padding:0;overflow:hidden;text-align:left;background:#135661;border:1px solid #8ac9bb;border-radius:10px;margin:0 0 18px}
.rail-photo img{display:block;width:100%;height:105px;object-fit:cover}
.rail-photo span{display:block;padding:9px 11px;font-size:11px;line-height:1.6;color:#fff4d5}
.media-cue{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 16px;margin:18px 0;background:linear-gradient(100deg,rgba(68,153,147,.30),rgba(255,206,112,.11));border:1px solid rgba(255,223,156,.38);border-radius:12px}
.media-cue strong{font-size:15px;color:#fff4d5}
.media-cue p{font-size:13px;line-height:1.7;margin:5px 0 0}
.media-cue button{flex:none;background:#ffd478;color:#16444a;border-color:#ffe4a3;border-radius:8px;font-size:12px;font-weight:600}
.preset-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:19px 0}
.preset-row span{font-size:13px;margin-right:4px}
.preset-row button{padding:8px 13px;border-radius:20px;background:#ffe2a2;color:#17474d;border-color:#ffe9b7;font-size:13px}
.preset-row small{font-size:11px;color:#d5e5da}
.bar{transform-origin:bottom;animation:bar-rise .75s cubic-bezier(.2,.85,.2,1) both}
@keyframes bar-rise{from{transform:scaleY(.05)}to{transform:scaleY(1)}}
.media-dialog{width:min(860px,calc(100vw - 24px));max-height:92vh}
#mediaContent{padding:18px 22px 0;display:flex;justify-content:center;align-items:center;min-height:160px}
#mediaContent img,#mediaContent video{display:block;max-width:100%;max-height:70vh;object-fit:contain;border-radius:8px}
#mediaContent audio{width:min(620px,100%);margin:40px auto}
#mediaNote{padding:12px 22px 22px;font-size:13px;color:#d2ece5;margin:0}
@media(max-width:760px){.chapter-nav{padding:9px 4px}.chapter-nav nav button{font-size:10px}.media-cue{display:block}.media-cue button{margin-top:12px;width:100%}.photo-grid{grid-template-columns:1fr}.photo-card img{height:160px}.rail-photo img{height:80px}}


/* 9.15 classroom revision: bright canvas, legible controls, left navigation/right task rail. */
:root{--ink:#203c50;--muted:#526c7c;--gold:#176ca4;--line:#bcd5e4;--deep:#f7fbfe;--serif:"Microsoft YaHei","PingFang SC",sans-serif;--rail-width:300px;--rail-right:24px;--copy-left:200px;--nav-left:24px}
body{background:#e8f6ff;color:var(--ink);font-size:20px}.classroom-backdrop{background:linear-gradient(120deg,#e9f8ff,#fff1bf 65%,#c8ece6);filter:none}.vignette,[data-mode=intro] .vignette{background:linear-gradient(90deg,rgba(242,251,255,.96),rgba(242,251,255,.75) 35%,rgba(242,251,255,0) 66%)}.cinema-frame{display:none}
header{top:16px;left:24px;right:24px;background:rgba(255,255,255,.95);padding:10px 16px;border-radius:18px;border:1px solid #c6deed;box-shadow:0 4px 18px #284f6410}.brand{font-size:23px;letter-spacing:1px;color:#234d65}.brand small{color:#52768a;font-size:14px;letter-spacing:1px}.brand-mark{background:#ffe085;color:#6a4b16;border:0;box-shadow:none}.tools button{font-size:17px;padding:9px 12px;background:#edf6fc;color:#234d65;border-color:#c2dceb;border-radius:12px}.draft{font-size:13px;color:#547789}
button{background:#eaf5ff;border-color:#b3d3e6;color:#204a64;border-radius:12px}button:hover{background:#d5ecfd;border-color:#3682b2}button:disabled{opacity:.5}a{color:#176ca4}.selected{color:#114e78!important;border-color:#208ac1!important;background:#cdecff!important}.primary,.download,.scene-cta,.step-controls .next-step,.rail-task .evidence-button{background:#ffdc74;color:#493c1b;border-color:#efc344;border-radius:12px;font-size:20px}.primary:hover,.download:hover,.scene-cta:hover{background:#ffeaa7;color:#493c1b}
.chapter-nav{left:24px;top:128px;width:152px;bottom:170px;transform:none;background:#fffefaed;border-color:#c8deec;padding:15px 8px;border-radius:18px;overflow:auto}.chapter-nav nav{display:flex;flex-direction:column}.chapter-nav nav button{font-size:21px;padding:17px 9px;color:#315871;gap:8px;letter-spacing:0}.chapter-nav nav button small{font-size:14px}.chapter-nav nav button.active{color:#185e8b;background:#d7f0ff;border-radius:12px}.chapter-nav .nav-label{font-size:15px;color:#52768a;letter-spacing:1px}.chapter-nav .backhome{font-size:15px;color:#466679}
.director{left:auto;right:24px;top:116px;bottom:84px;width:300px;padding:0;display:flex;flex-direction:column;gap:0;background:#fffdf9f5;border:1px solid #c8deec;border-radius:20px;box-shadow:0 12px 32px #35587319}.rail-heading{position:relative;padding:18px 18px 12px;border-color:#d5e6ef}.rail-heading>span{font-size:21px;color:#215675}.rail-heading>small{font-size:14px;color:#607e90;padding-right:58px}.toc-open{position:absolute;right:14px;top:13px;padding:7px 11px;font-size:15px;background:#fff3c8;border-color:#e8c65b;color:#5c481b}.rail-scroll{padding:16px;flex:1;overflow:auto}.rail-task h2{font-size:26px;line-height:1.5;color:#234d65}.rail-task .evidence-button{font-size:19px;padding:13px;line-height:1.5}.rail-assistant{border-color:#d2e4ee}.rail-assistant>div span{font-size:18px;color:#315871}.rail-assistant small{color:#607e90;font-size:13px}.rail-assistant button{background:#e5f4fc;border-color:#bddbe9;font-size:17px;color:#254f68;padding:12px}.rail-footer{padding:12px 16px 16px;border-color:#d4e5ed}.view-label{font-size:14px;color:#52768a}.director-controls button{font-size:20px;padding:7px}.director-controls button span{font-size:14px;display:inline}.step-controls button{font-size:20px;padding:11px}.step-controls .next-step{font-size:18px}#dots{gap:5px}#dots button{width:8px;height:8px;padding:0;background:#c7dbe6}#dots button.current{background:#237cac}
body[data-mode=scene] .scene-copy,.scene-copy{left:200px;top:22%;max-width:calc(100vw - 565px);background:#ffffffd9;border:1px solid #d5e8f1;border-radius:24px;padding:25px;box-shadow:0 7px 24px #2c658016}body[data-mode=scene] .scene-copy h1,.scene-copy h1{font-family:var(--sans);font-size:clamp(30px,3.2vw,56px);line-height:1.45;color:#21475f;text-shadow:none;letter-spacing:0}.scene-copy h1 em{color:#167ea1}.scene-copy .eyebrow{font-size:16px;color:#517d8f;letter-spacing:1px;margin-bottom:15px}.scene-lead{font-size:22px;color:#476477;line-height:1.75;margin-bottom:20px}.scene-cta{font-size:21px;padding:15px 20px}.prologue{left:12%;top:24%;max-width:680px}.prologue-caption{font-size:16px;color:#52768a;border-color:#bfdbe8}.prologue-caption span{font-size:13px;color:#668698}.intro-music,.vr-music-cue{background:#e6f5fc;color:#285d78;border-color:#c0deec;font-size:17px}.intro-music:hover,.vr-music-cue:hover{background:#d4eef9}.vr-school-note{background:#eef8fe;color:#315a72;border-color:#cee3ee;padding:12px}.vr-school-note strong{color:#26668a;font-size:17px}.vr-school-note p{color:#4a6f83;font-size:16px}
#railContext .location-picker button{font-size:19px;padding:13px 10px;color:#284f65;background:#edf8fd;border-color:#c9e2ef}#railContext .location-picker>span{font-size:16px;color:#52768a}#railContext .scene-note{background:#edf7fc;color:#284f65;border-color:#c9e2ef}#railContext .scene-note>span{font-size:17px;color:#52768a}#railContext .scene-note strong{color:#167fa7;font-size:40px}#railContext .scene-note strong small,#railContext .scene-note>small{font-size:15px;color:#567385}#railContext .scene-note p{font-size:18px;color:#315a72}#railContext .scene-note button{font-size:16px;color:#285d78;background:#fff}
.world-hint{left:200px;right:350px;bottom:28px;color:#244e68;background:#ffffffda;padding:8px 14px;border-radius:12px;font-size:15px;letter-spacing:0}.hotspot{background:#fff8d9eb;color:#614519;border:2px solid #eebf4e;font-size:17px;padding:10px 13px;box-shadow:0 5px 15px #3c4f6620}.hotspot i{background:#eba12c}.scene-caption{left:200px;right:350px;bottom:100px;width:auto;background:#fffffff2;border:1px solid #b8d9e9;border-radius:18px;color:#224c65}.scene-caption p{font-size:21px;color:#224c65}.scene-caption>span{font-size:15px;color:#56849a}.scene-caption button{font-size:18px;color:#176ca4}.evidence-view .scene-copy h1{font-size:30px!important}
.lesson-drawer{top:104px;right:24px;bottom:20px;width:min(1040px,calc(100vw - 214px));background:#fbfdff;color:#203c50;border-color:#bfd9e8;z-index:20;border-radius:20px}.drawer-top,.dialoghead{background:#eff8fd;border-color:#cfe2ed}.drawer-top span{font-size:16px;color:#52768a}.drawer-top button{font-size:20px;color:#245b7b}#lessonContent{padding:26px 32px 42px}#lessonContent h1{font-family:var(--sans);font-size:38px;font-weight:700}#lessonContent .eyebrow{font-size:17px;color:#52768a}#lessonContent .lead{font-size:23px;color:#466679}#lessonContent .two,#lessonContent .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.card{background:#f0f8fd;border:1px solid #cddfeb;border-radius:16px}.card p,.strip p,.stage p{font-size:21px;color:#31536b}.card h2{font-family:var(--sans);font-size:29px}.card h3,h3{font-size:24px;color:#265b78}.minor,.formnote,.teacher-note{font-size:16px;color:#567283}.badge{color:#2b6f94;background:#e3f3fc;border-color:#c7dfec;font-size:15px;border-radius:20px}.callout,.stage{background:#fff6d9;border-color:#e4ca7f;color:#5e502c;font-size:21px}.callout strong{font-size:24px;color:#6f5420}.callout p{font-size:21px}.quote{font-family:var(--sans);color:#284f68;font-size:34px;border-color:#cde1eb}.quote em{color:#167fa7}.choices button,.resource-steps button{font-size:21px;line-height:1.6}.answer{font-size:24px}.q-list button{font-size:20px}.number{color:#e7a53a}.timer{color:#207ca6}
label,.fields label{color:#355e76;font-size:19px}input:not([type=checkbox]),select,textarea{background:#fff;border-color:#a9cddd;color:#234a62;font-size:21px;border-radius:10px}input::placeholder,textarea::placeholder{color:#6e8b9a}input[type=number].big-input{color:#167ca2;font:32px var(--sans)}option{background:#fff;color:#234a62}.preset-row span,.preset-row button{font-size:18px}.preset-row small{color:#668394;font-size:15px}.media-cue{background:#e6f5fc;border-color:#c4deeb}.media-cue strong{font-size:22px;color:#285a78}.media-cue p{font-size:18px}.media-cue button{font-size:18px}.barval,.barlabel{font-size:18px;color:#315b73}.bar{background:linear-gradient(#48b9e0,#2275ad)}.bar.gold{background:linear-gradient(#ffe18a,#e9a833)}.scale{font-size:15px;color:#557789}
dialog{background:#fcfeff;color:#234a62;border-color:#bed9e7;width:min(1040px,calc(100vw - 32px));border-radius:20px}dialog::backdrop{background:#24425366;backdrop-filter:blur(3px)}.dialoghead h2{font:700 27px var(--sans)}.dialoghead button{font-size:19px}.prepbody,#exhibitContent{font-size:20px}.prepbody>button,.qa-edit label:last-child{font-size:18px}#mediaNote{color:#466b7f;font-size:18px}.media-dialog{width:min(1150px,calc(100vw - 32px))}#mediaContent img,#mediaContent video{max-height:68vh}.photo-card{background:#eef8fd;border-color:#c5dfeb}.photo-card img{height:200px;object-fit:contain;background:#fff}.photo-card span{font-size:19px;color:#2c5b76}.exhibit{background:#eff8fd;border-color:#bdd9e8}.exhibit h3{font-size:24px}.exhibit p{font-size:19px}.exhibit img{display:block;width:100%;height:210px;object-fit:contain;background:white}.empty h2{font-family:var(--sans);color:#257395}.empty p{font-size:20px}#toast{font-size:19px;background:#184d6a;color:white;border-color:#86bad6;bottom:90px}#transition{color:#245c7a;background:#e5f5f9e8}
.music-dock{position:fixed;right:24px;bottom:18px;z-index:25;display:flex;align-items:center;gap:8px;background:#fffdf6;border:1px solid #e6ca7a;border-radius:18px;padding:8px;box-shadow:0 4px 18px #455b7620;max-width:calc(100vw - 220px)}.music-dock button{padding:8px 11px;font-size:18px;background:#fff0b7}.music-dock select{font-size:16px;padding:7px;margin:0;width:145px}.music-dock input[type=range]{width:70px;margin:0;padding:0}.music-dock.compact .music-extra{display:none}.music-time{font-size:14px;white-space:nowrap}
.toc-dialog{width:min(980px,calc(100vw - 36px))}.toc-intro{margin:20px 28px 4px;font-size:18px;color:#52768a}.toc-list{padding:18px 28px 30px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.toc-list button{display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:14px 16px;background:#eff8fd;border-color:#c7deea}.toc-list button small{font-size:13px;color:#5d7c8d}.toc-list button strong{font-size:19px;line-height:1.55;color:#234d65}.toc-list button.current{background:#fff1bb;border-color:#e4bd46}.avatar-dock{position:fixed;left:26px;bottom:18px;z-index:23;text-align:center}.avatar-button{width:138px;padding:7px 12px;background:#fff8dfee;border-color:#e8c66b;border-radius:24px;color:#685021;box-shadow:0 5px 22px #54708225}.avatar-button svg{height:76px;display:block;margin:auto}.avatar-button span{font-size:16px}.avatar-dock.right{left:auto;right:340px}.avatar-move{display:block;font-size:12px;background:#fff;padding:3px 9px;margin:4px auto 0}.avatar-panel{position:fixed;left:185px;bottom:25px;width:min(540px,calc(100vw - 220px));max-height:80vh;overflow:auto;background:#fffef9;border:2px solid #eed181;border-radius:22px;z-index:26;box-shadow:0 15px 60px #254c6640;padding:24px}.avatar-panel[hidden]{display:none}.avatar-panel h2{font-size:26px;margin-bottom:10px}.avatar-panel p{font-size:18px}.avatar-panel .dialoghead{padding:0 0 14px;background:none}.avatar-panel textarea{min-height:86px}.agent-answer{white-space:pre-wrap;background:#eef8ff;padding:16px;border-radius:14px;font-size:23px;line-height:1.8}.agent-status{color:#7d6225;font-size:16px}.agent-questions{display:flex;flex-wrap:wrap;gap:8px}.agent-questions button{font-size:17px;padding:9px}.agent-review{border:1px dashed #caaa56;border-radius:12px;padding:12px;margin-top:12px}
.photo-workspace{padding:25px}.photo-workspace p{font-size:19px}.photo-pending{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.photo-pending article{background:#edf7fd;border-radius:14px;padding:16px}.photo-pending img{width:100%;height:230px;object-fit:contain;background:white}.photo-pending button{font-size:18px}.photo-full{width:100%;max-height:62vh;object-fit:contain;background:#fff}.service-settings{border-top:1px solid #c7dce8;padding-top:20px;margin-top:25px}.service-settings input{font-size:18px}.photo-zoom{width:100%;overflow:auto;max-height:66vh}.photo-zoom img{display:block;width:100%;max-height:none;object-fit:contain}.photo-zoom.zoomed img{width:200%;max-width:none}.upload-mode #main,.upload-mode #world,.upload-mode .chapter-nav,.upload-mode .director{display:none}.upload-mode .avatar-dock{display:none}
@media(min-width:1700px){:root{--rail-width:345px;--copy-left:230px}.director{width:345px}.scene-copy,body[data-mode=scene] .scene-copy{left:225px;max-width:calc(100vw - 650px)}.chapter-nav{width:175px}.chapter-nav nav button{font-size:24px}.scene-lead{font-size:28px}.rail-task h2{font-size:31px}.lesson-drawer{width:min(1260px,calc(100vw - 245px))}#lessonContent h1{font-size:44px}.card p,.strip p,.stage p{font-size:25px}.hotspot{font-size:22px}}
@media(max-width:1000px){:root{--rail-width:245px}.director{width:245px;right:14px;top:110px}.chapter-nav{left:14px;width:124px;top:112px}.chapter-nav nav button{font-size:18px;padding:14px 5px}.scene-copy,body[data-mode=scene] .scene-copy{left:150px;top:170px;max-width:calc(100vw - 430px);padding:20px}.scene-copy h1,body[data-mode=scene] .scene-copy h1{font-size:29px}.scene-lead{font-size:19px}.rail-task h2{font-size:24px}.world-hint{left:150px;right:275px;font-size:13px}.lesson-drawer{width:calc(100vw - 164px);right:14px}#lessonContent .two,#lessonContent .grid{grid-template-columns:1fr}.avatar-button{width:110px}.avatar-panel{left:145px}.tools .draft,.brand small{display:none}.scene-caption{left:150px;right:275px}.photo-pending{grid-template-columns:1fr}}
@media(max-width:650px){header{left:10px;right:10px;padding:8px;top:10px}.brand{font-size:17px;gap:6px}.brand-mark{width:26px;height:34px}.tools{gap:4px}.tools button{font-size:13px;padding:7px}.tools button[data-media]{display:none}.chapter-nav{left:10px;width:83px;top:85px;bottom:140px;padding:5px}.chapter-nav nav button{font-size:16px;padding:13px 3px;display:block}.chapter-nav nav button small{display:block;font-size:12px}.chapter-nav .nav-label,.chapter-nav .backhome{display:none}.director{right:10px;width:150px;top:85px;bottom:82px;border-radius:14px}.rail-scroll{padding:10px}.rail-heading{padding:10px}.rail-heading>span{font-size:16px}.rail-heading>small{font-size:11px}.rail-task h2{font-size:19px}.rail-task .evidence-button,.rail-assistant button{font-size:15px;padding:9px}.rail-assistant small{font-size:11px}.rail-footer{padding:9px}.director-controls button span{display:none}.director-controls button{font-size:17px;padding:4px}.step-controls .next-step{font-size:13px;padding:9px 5px}.step-controls button{font-size:18px;padding:7px}#railContext .location-picker button{font-size:15px;padding:10px 5px}.vr-school-note{padding:8px}.vr-school-note strong{font-size:15px}.vr-school-note p{font-size:14px}.scene-copy,body[data-mode=scene] .scene-copy{left:105px;top:150px;max-width:calc(100vw - 275px);padding:13px}.scene-copy h1,body[data-mode=scene] .scene-copy h1{font-size:21px;line-height:1.4}.scene-copy .eyebrow{font-size:12px}.scene-lead{display:none}.scene-cta{font-size:14px;min-width:0;padding:10px}.prologue,.scene-copy.prologue{left:24px;right:24px;top:25%;max-width:none}.prologue .scene-lead{display:block;font-size:20px}.prologue h1{font-size:36px}.lesson-drawer{width:calc(100vw - 20px);right:10px;top:82px;bottom:10px}.drawer-top{padding:13px}.drawer-top span{font-size:13px}#lessonContent{padding:22px}#lessonContent h1{font-size:29px}.card p{font-size:20px}.world-hint{display:none}.avatar-dock{left:9px;bottom:10px}.avatar-button{width:82px;padding:6px}.avatar-button svg{height:58px}.avatar-button span{font-size:13px}.avatar-move{display:none}.avatar-panel{left:10px;bottom:15px;width:calc(100vw - 20px);max-height:84vh}.music-dock{right:10px;bottom:12px;max-width:calc(100vw - 105px)}.music-dock .music-extra{display:none}.music-dock button{font-size:15px}.scene-caption{left:105px;right:175px;bottom:120px;padding:10px}.scene-caption p{font-size:17px}.photo-grid{grid-template-columns:1fr}.hotspot{font-size:14px;padding:8px}.avatar-dock.right{right:175px;left:auto}}
@media(max-width:760px){.toc-list{grid-template-columns:1fr;padding:14px 18px 24px}.toc-intro{margin:16px 18px 2px}.toc-list button strong{font-size:17px}.toc-open{right:8px;top:8px;font-size:12px;padding:5px 8px}}
/* 9.16: make Xiaomi visible on the classroom screen without covering navigation. */
@media(min-width:1001px){.chapter-nav{bottom:205px}.avatar-button{width:174px;padding:10px 13px}.avatar-button svg{height:100px}.avatar-button span{font-size:18px;font-weight:700}.avatar-move{font-size:14px;padding:5px 10px}.avatar-panel{left:220px}}
@media(min-width:1700px){.avatar-button{width:188px}.avatar-button svg{height:110px}.avatar-panel{left:236px}}
@media(min-width:651px) and (max-width:1000px){.avatar-button{width:126px}.avatar-button svg{height:82px}.avatar-button span{font-size:15px}.avatar-panel{left:155px}}
.phone-steps{font-size:18px;line-height:1.7;padding-left:28px;margin:12px 0 20px}.phone-steps li{margin:7px 0}.service-settings,.local-settings{background:#f0f8fd;border:1px solid #c8e0ec;border-radius:16px;padding:20px;margin:20px 0}.service-settings{border-color:#e4c976;background:#fff9e9}.service-settings h3,.local-settings h3{margin-top:0}.service-settings #uploadURL{font-size:15px}.service-settings #copyUploadURL{margin:10px 0 18px}.local-settings .row{margin-bottom:14px}
@media print{.music-dock,.avatar-dock,.avatar-panel,.toc-dialog{display:none!important}}
