@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}}
/* 9.17 clean teaching surface and explicit evidence entry points. */
#worldHint{display:none!important}
body[data-mode=intro] .brand,body[data-mode=intro] .avatar-dock{visibility:hidden}
body[data-mode=intro] #world{opacity:.2}
body[data-mode=intro] .scene-copy.opening-centered{left:50%;top:48%;transform:translate(-50%,-50%);width:min(900px,88vw);max-width:88vw;text-align:center;padding:36px;background:none;box-shadow:none;border:0}
.opening-centered h1{font-size:clamp(42px,6vw,96px)!important;line-height:1.45!important}
.opening-centered .eyebrow{font-size:clamp(22px,2.2vw,32px);letter-spacing:.18em}
.opening-centered .scene-cta{margin:36px auto 0}
#evidenceRail{margin:18px 0;padding-top:14px;border-top:1px solid #c6dfe7}
#evidenceRail h3{font-size:18px;margin:0 0 10px}
.evidence-links{display:grid;gap:8px}
.evidence-links button{font-size:17px;text-align:left;background:#f2fbff;border:1px solid #b7d7e8;color:#275875;padding:12px}
.evidence-photo{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(240px,1fr);gap:24px;width:100%;align-items:center}
#mediaContent .evidence-photo img{width:100%;height:auto;max-height:65vh;object-fit:contain}
.evidence-photo h3{font-size:clamp(22px,2vw,32px);line-height:1.7}
.observation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:20px 0}
.observation-grid article{text-align:center;min-width:0}
.observation-grid svg{width:100%;height:auto}
.observation-grid select{width:100%;font-size:20px;padding:9px}
.static-observation small{color:#617d8c}
@media(max-width:800px){.evidence-photo{grid-template-columns:1fr}.evidence-photo h3{font-size:21px}.observation-grid{gap:7px}.observation-grid select{font-size:16px}}
.agent-talking-video{display:block;width:160px;height:160px;object-fit:contain;margin:12px auto;border-radius:22px;background:#fffdf5}
.agent-talking-video[hidden]{display:none}
.audio-only-option{font-size:14px!important;color:#527084;margin:5px 0 12px!important}
#homePhotoTray{position:fixed;left:200px;right:350px;bottom:100px;z-index:8;border:1px solid #e9d697;background:#fffdf7f5;border-radius:20px;padding:14px 18px;box-shadow:0 10px 36px #284e6726}.home-photo-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}.home-photo-heading strong{font-size:18px;color:#234d65}.home-photo-heading>span{font-size:12px;color:#587185}.home-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.home-photo-grid button{padding:6px;background:#fff;border-radius:13px;min-width:0;overflow:hidden}.home-photo-grid img{display:block;width:100%;height:115px;object-fit:contain;background:#f1f5f2;border-radius:9px}.home-photo-grid button>span{display:block;font-size:17px;padding:5px 0}body[data-investigation=home] .scene-copy{top:130px!important;padding:17px!important}body[data-investigation=home] .scene-copy h1{font-size:clamp(26px,2.4vw,40px)!important;margin-bottom:6px}body[data-investigation=home] .scene-copy .eyebrow{margin-bottom:5px}body[data-investigation=home] .scene-copy .scene-lead{display:none}body[data-investigation=home] .scene-copy .scene-cta{padding:9px 15px;margin:7px 0 0;font-size:18px}
#investigationTransition{position:fixed;inset:0;z-index:9;pointer-events:none;opacity:0;visibility:hidden;overflow:hidden;background:radial-gradient(ellipse at 55% 50%,#f5fcf8 0%,#d6e9e5 55%,#a9cdd3 100%);transition:opacity .25s ease,visibility .25s}.travel-name{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);font-size:clamp(25px,3vw,44px);color:#244d60;letter-spacing:.1em;text-shadow:0 2px 20px #ffffff}.travel-orbit{position:absolute;width:65vw;height:65vw;left:50%;top:50%;margin:-32.5vw;border:2px solid #d6b45d88;border-radius:50%;box-shadow:0 0 0 5vw #f6e7aa25,0 0 0 12vw #ffffff45;transform:scale(.82) rotate(-18deg);transition:transform 1.1s cubic-bezier(.22,.7,.25,1)}.travel-line{position:absolute;left:0;top:-50%;width:17%;height:200%;transform:translateX(-150%) rotate(20deg);background:linear-gradient(90deg,transparent,#ffffffaa,transparent)}#investigationTransition.visible{opacity:1;visibility:visible}#investigationTransition.visible .travel-orbit{transform:scale(1.3) rotate(8deg)}#investigationTransition.visible .travel-line{animation:sceneLightSweep 1.05s ease-out both}#investigationTransition.departing{opacity:0}.scene-travelling #hotspots,.scene-travelling #homePhotoTray{opacity:0;pointer-events:none}#homePhotoTray{transition:opacity .3s ease}.scene-travelling #world{filter:blur(2px)}@keyframes sceneLightSweep{to{transform:translateX(800%) rotate(20deg)}}
@media(min-width:1700px){#homePhotoTray{left:225px;right:390px;bottom:95px}.home-photo-grid img{height:160px}}
@media(max-width:1000px){#homePhotoTray{left:150px;right:275px;bottom:90px;padding:10px}.home-photo-grid{gap:6px}.home-photo-grid img{height:90px}.home-photo-heading{display:block}.home-photo-grid button>span{font-size:13px}}
@media(max-width:650px){#homePhotoTray{left:100px;right:165px;bottom:100px;padding:6px}.home-photo-heading>span{display:none}.home-photo-heading strong{font-size:13px}.home-photo-grid{grid-template-columns:1fr;max-height:30vh;overflow:auto}.home-photo-grid img{height:65px}body[data-investigation=home] .scene-copy{top:100px!important}body[data-investigation=home] .scene-copy h1{font-size:20px!important}.travel-name{left:48%;font-size:22px}}
@media(prefers-reduced-motion:reduce){#investigationTransition{display:none}.scene-travelling #world{filter:none}}
.scene-travelling #world{filter:none;opacity:.82;transition:opacity .22s ease}
.scene-fallback{position:fixed;inset:0;z-index:1;pointer-events:none}.scene-fallback img{width:100%;height:100%;object-fit:cover}.scene-fallback[hidden],#worldLoadNotice[hidden]{display:none}#worldLoadNotice{position:fixed;left:205px;right:355px;bottom:20px;z-index:28;background:#fff7db;border:1px solid #debb5c;border-radius:12px;padding:10px 14px;font-size:15px;display:flex;flex-wrap:wrap;align-items:center;gap:9px}#worldLoadNotice strong{color:#70500d}#worldLoadNotice span{flex:1;min-width:200px}#worldLoadNotice button{font-size:14px;padding:7px}.no-webgl #world canvas{visibility:hidden}@media(max-width:1000px){#worldLoadNotice{left:145px;right:270px}}@media(max-width:650px){#worldLoadNotice{left:10px;right:10px;bottom:90px;font-size:13px}}
:root{--lesson-text-scale:1;--lesson-control-scale:1;--navigation-base:152px}
/* Recoverable overlay dismissal; deliberately not persisted across reloads. */
.dismissible-panel>.panel-dismiss{position:absolute;right:8px;top:8px;z-index:5;display:grid;place-items:center;width:38px;height:38px;min-width:38px;padding:0;border-radius:50%;font-size:25px;line-height:1;background:#fffdf5ed;color:#345e70;border:1px solid #c4dbe4;box-shadow:0 2px 8px #284e6712}
.dismissible-panel>.panel-dismiss:hover{background:#ffe5a0;border-color:#e3b243}
.dismissible-panel>.panel-dismiss{pointer-events:auto}
.dismissible-panel>.panel-dismiss[data-panel-label]{width:82px;min-width:82px;height:38px;border-radius:12px;font-size:17px;font-weight:600;background:#fff3cc;color:#644c13;border-color:#dcb657}
.scene-copy.dismissible-panel{padding-top:55px!important}
body[data-investigation=home] .scene-copy.dismissible-panel{padding-top:55px!important}
.chapter-nav.dismissible-panel{padding-top:55px}
.director.dismissible-panel .toc-open{right:104px}
.scene-caption:not(.visible)>.panel-dismiss,.drawer-open .scene-caption>.panel-dismiss{visibility:hidden;pointer-events:none}
.dismissible-panel>.panel-dismiss:focus-visible,#restoreClassroom:focus-visible{outline:3px solid #1582b5;outline-offset:3px}
.scene-copy.dismissible-panel,.scene-caption.dismissible-panel{padding-right:56px!important}
.chapter-nav.dismissible-panel{padding-top:45px}
.director.dismissible-panel .toc-open{right:104px}
.director.dismissible-panel .rail-heading{padding-top:53px}
#homePhotoTray.dismissible-panel .home-photo-heading{padding-right:42px}
.avatar-dock.dismissible-panel{padding-top:20px}
.avatar-dock.dismissible-panel>.panel-dismiss{top:0;right:0;width:32px;height:32px;min-width:32px;font-size:22px}
.music-dock.dismissible-panel{padding-right:48px}
.classroom-dismissed{visibility:hidden!important;pointer-events:none!important}
#restoreClassroom{position:fixed;right:20px;top:20px;z-index:1000;padding:12px 20px;min-height:44px;border:1px solid #d4ad48;border-radius:24px;background:#fff9e9f5;color:#28556c;box-shadow:0 5px 22px #284e6730;font-size:18px}
#restoreClassroom[hidden]{display:none!important}
body:not(.clean-observation) #restoreClassroom{top:auto;bottom:20px;right:50%;transform:translateX(50%)}
.clean-observation>header,.clean-observation .chapter-nav,.clean-observation #main,.clean-observation .director,.clean-observation #hotspots,.clean-observation #homePhotoTray,.clean-observation .avatar-dock,.clean-observation .avatar-panel,.clean-observation .music-dock,.clean-observation #lessonDrawer{visibility:hidden!important;pointer-events:none!important}
body.clean-observation #world{opacity:1}
.observe-clear{white-space:nowrap;font-size:16px;padding:9px 12px;background:#fff3cd}
#mediaDialog .dialoghead,.drawer-top{flex-wrap:wrap;gap:10px}
#mediaDialog .dialoghead h2,.drawer-top>span{flex:1}
@media(max-width:650px){#clearClassroom{font-size:12px}.dismissible-panel>.panel-dismiss{width:30px;height:30px;min-width:30px;font-size:21px}.scene-copy.dismissible-panel,.scene-caption.dismissible-panel{padding-right:36px!important}.director.dismissible-panel .toc-open{right:42px}.director.dismissible-panel .rail-heading{padding-top:44px}#restoreClassroom{right:10px;top:10px;font-size:15px;padding:10px 14px}.observe-clear{font-size:14px}}
@media print{.panel-dismiss,#clearClassroom,#restoreClassroom,.observe-clear{display:none!important}}
@media(max-width:650px){.dismissible-panel>.panel-dismiss[data-panel-label]{width:66px;min-width:66px;height:32px;font-size:14px;right:5px}.director.dismissible-panel .toc-open{right:77px}.scene-copy.dismissible-panel,body[data-investigation=home] .scene-copy.dismissible-panel{padding-top:46px!important}}
.display-options{padding:24px;display:grid;gap:14px}.display-options input[type=range]{width:100%;accent-color:#2674a0}.display-options output{float:right}.display-options label{margin:0}.agent-help summary{font-size:15px;cursor:pointer;margin-top:12px;color:#527084}
.simple-classroom #lessonContent .teacher-note,.simple-classroom #lessonContent .vr-school-note{display:none}
#lessonContent .lead{font-size:calc(23px * var(--lesson-text-scale))}#lessonContent .card p,#lessonContent .strip p,#lessonContent .stage p,#lessonContent .callout p{font-size:calc(21px * var(--lesson-text-scale))}#lessonContent .answer,.agent-answer{font-size:calc(24px * var(--lesson-text-scale))}#lessonContent .quote{font-size:calc(34px * var(--lesson-text-scale))}#lessonContent .choices button,#lessonContent .q-list button{font-size:calc(21px * var(--lesson-text-scale))}.scene-lead{font-size:calc(22px * var(--lesson-text-scale))}.evidence-photo h3{font-size:calc(clamp(22px,2vw,32px) * var(--lesson-text-scale))}
@media(min-width:1700px){:root{--navigation-base:175px}#lessonContent .card p,#lessonContent .strip p,#lessonContent .stage p,#lessonContent .callout p{font-size:calc(25px * var(--lesson-text-scale))}.scene-lead{font-size:calc(28px * var(--lesson-text-scale))}}
@media(min-width:1001px){
 .director{width:calc(var(--rail-width) * var(--lesson-control-scale))}.chapter-nav{width:calc(var(--navigation-base) * var(--lesson-control-scale))}.chapter-nav nav button{font-size:calc(22px * var(--lesson-control-scale));padding:calc(17px * var(--lesson-control-scale)) 7px}.rail-task h2{font-size:calc(26px * var(--lesson-control-scale))}.rail-task .evidence-button,#railContext .location-picker button,.evidence-links button,.rail-assistant button{font-size:calc(19px * var(--lesson-control-scale));padding:calc(12px * var(--lesson-control-scale)) 9px}.director-controls button,.step-controls button{font-size:calc(20px * var(--lesson-control-scale))}.rail-heading{padding:calc(18px * var(--lesson-control-scale)) 15px 12px}.rail-scroll{padding:calc(16px * var(--lesson-control-scale))}.rail-footer{padding:calc(12px * var(--lesson-control-scale))}.rail-heading>span{font-size:calc(21px * var(--lesson-control-scale))}.avatar-button{width:calc(174px * var(--lesson-control-scale))}.avatar-button svg{height:calc(100px * var(--lesson-control-scale))}.avatar-button span{font-size:calc(18px * var(--lesson-control-scale))}.avatar-panel{left:calc(40px + 174px * var(--lesson-control-scale))}.avatar-dock.right{right:calc(45px + var(--rail-width) * var(--lesson-control-scale))}
 body[data-mode=scene] .scene-copy{left:calc(48px + var(--navigation-base) * var(--lesson-control-scale));max-width:calc(100vw - 120px - (var(--navigation-base) + var(--rail-width)) * var(--lesson-control-scale));max-height:60vh;overflow:auto}.scene-caption{left:calc(48px + var(--navigation-base) * var(--lesson-control-scale));right:calc(48px + var(--rail-width) * var(--lesson-control-scale))}
}

/* A unified art direction, kept separate from teaching and saved-record logic. */
body.visual-redesign{--ink:#183f36;--muted:#60776c;--gold:#d6aa56;--line:#d3ddcc;--deep:#f6f4ea;--rail-width:302px;--navigation-base:130px;--sans:"Microsoft YaHei","DengXian",sans-serif;color:#183f36;background:#102d25;font-family:var(--sans)}
body.visual-redesign .classroom-backdrop{background:#173e32;filter:none}
body.visual-redesign .vignette{background:linear-gradient(180deg,#102c2b22,transparent 24%,transparent 70%,#102c2b28);pointer-events:none}
body.visual-redesign #artBackdrop{position:fixed;inset:0;z-index:2;pointer-events:none;display:none;background:#103e2c}
body.visual-redesign #artBackdrop img{width:100%;height:100%;object-fit:cover;object-position:center}
body.visual-redesign[data-mode=intro] #artBackdrop{display:block}
body.visual-redesign[data-mode=intro] #world{visibility:hidden}
body.visual-redesign[data-mode=intro] .vignette{z-index:3;background:linear-gradient(90deg,#072d2266,transparent 63%)}
body.visual-redesign #artCredit{position:fixed;left:36px;bottom:24px;color:#d5e5d7;font-size:12px;letter-spacing:.12em;z-index:5;pointer-events:none;display:none}
body.visual-redesign[data-mode=intro] #artCredit{display:block}
body.visual-redesign header{top:18px;left:22px;right:22px;padding:11px 18px;border-radius:18px;background:#fffcf1f5;border:1px solid #e6dfc9;box-shadow:0 8px 26px #16392a19;backdrop-filter:blur(12px)}
body.visual-redesign .brand{color:#234c3f;font-size:23px;font-weight:700;letter-spacing:.03em;display:flex;gap:16px;align-items:center}
body.visual-redesign .brand-edition{font-size:12px;letter-spacing:.12em;color:#7a8973;font-weight:400;padding-left:16px;border-left:1px solid #d8d9c9}
body.visual-redesign[data-mode=intro] header{background:#103c30b8;border-color:#ffffff24;box-shadow:none}
body.visual-redesign[data-mode=intro] .brand{visibility:visible;color:#fff8df}
body.visual-redesign[data-mode=intro] .brand-edition{color:#c9d7bd;border-color:#ffffff2b}
body.visual-redesign button,body.visual-redesign .download{font-family:var(--sans);color:#295644;background:#f2f5eb;border:1px solid #cbd7c9;border-radius:12px;transition:background .2s,box-shadow .2s,transform .2s}
body.visual-redesign button:hover,body.visual-redesign .download:hover{background:#e3eddd;border-color:#97b69e;box-shadow:0 3px 10px #234b3812}
body.visual-redesign button:focus-visible{outline:3px solid #c69836;outline-offset:3px}
body.visual-redesign .tools{gap:8px}
body.visual-redesign .tools button{font-size:15px;padding:9px 13px;background:transparent}
body.visual-redesign #clearClassroom{background:#245743;color:#fff4d3;border-color:#245743}
body.visual-redesign[data-mode=intro] .tools button{background:#ffffff0e;color:#fff5db;border-color:#ffffff28}
body.visual-redesign .primary,body.visual-redesign .scene-cta,body.visual-redesign .next-step,body.visual-redesign .download{color:#193e2f;background:#e6c178;border:1px solid #e6c178;font-weight:700;box-shadow:0 5px 14px #94703816}
body.visual-redesign .primary:hover,body.visual-redesign .scene-cta:hover,body.visual-redesign .next-step:hover{background:#f0d397;border-color:#f0d397}
body.visual-redesign .chapter-nav{top:110px;bottom:auto;left:22px;width:130px;max-height:calc(100vh - 325px);padding:55px 8px 12px;background:#133f32f2;border:1px solid #ffffff2b;border-radius:20px;box-shadow:0 14px 32px #122a2326;overflow:auto;transform:none}
body.visual-redesign .chapter-nav .nav-label{font-size:11px;color:#a5bea9;letter-spacing:.15em;margin:0 10px 9px}
body.visual-redesign .chapter-nav nav button{font-size:18px;color:#e9ecdb;border:0;background:transparent;padding:13px 10px;gap:7px;font-weight:500;text-align:left}
body.visual-redesign .chapter-nav nav button small{font-size:11px;color:#87aa92}
body.visual-redesign .chapter-nav nav button.active{background:#f0d396;color:#204b35;border-radius:11px}
body.visual-redesign .chapter-nav nav button.active small{color:#6b6639}
body.visual-redesign .chapter-nav .backhome{font-size:12px;color:#b9cdb5;padding:11px 5px;margin-top:7px;border:0;background:transparent}
body.visual-redesign .director{top:110px;right:22px;bottom:87px;left:auto;width:calc(302px * var(--lesson-control-scale));border-radius:22px;background:#fcfaf1f5;border:1px solid #e4deca;box-shadow:0 16px 40px #172d2526;backdrop-filter:blur(12px);overflow:hidden}
body.visual-redesign .director .rail-heading{padding:52px 19px 14px;border-bottom:1px solid #e2e5d7;background:#f2f1e4}
body.visual-redesign .rail-heading>span{font-size:21px;letter-spacing:.04em;font-weight:700;color:#234c3e}
body.visual-redesign .rail-heading>small{font-size:12px;color:#7c8672;padding-right:0;line-height:1.7}
body.visual-redesign .director .toc-open{top:10px;right:105px;font-size:14px;background:#fff9e6;color:#725e2e;border-color:#ddc993}
body.visual-redesign .rail-scroll{padding:15px 17px;scrollbar-color:#b9c7b2 transparent;scrollbar-width:thin}
body.visual-redesign .rail-scroll h2{color:#254c3a;font-size:23px;font-weight:600;line-height:1.5}
body.visual-redesign .rail-scroll h3{color:#557353;font-size:17px;font-weight:600}
body.visual-redesign .rail-footer{padding:11px 14px;background:#f5f3e9;border-top:1px solid #e3e5d7}
body.visual-redesign .view-label{color:#7b8874;font-size:12px}
body.visual-redesign .director-controls{gap:5px}
body.visual-redesign .director-controls button{color:#3a634a;border:0;background:transparent;padding:5px;font-size:18px}
body.visual-redesign .director-controls button span{font-size:12px}
body.visual-redesign .step-controls{gap:9px}
body.visual-redesign .step-controls button{font-size:16px;padding:11px}
body.visual-redesign #dots button{background:#ced8c4;border:0}
body.visual-redesign #dots button.current{background:#3e7951}
body.visual-redesign .scene-copy,body.visual-redesign[data-mode=scene] .scene-copy{left:176px;top:auto!important;bottom:118px;width:min(420px,calc(100vw - 550px));max-width:none;max-height:48vh;padding:51px 24px 21px!important;border:1px solid #fff7dc4d;background:#153e32ee;border-radius:22px;box-shadow:0 16px 42px #1635262b;backdrop-filter:blur(12px);text-shadow:none;overflow:auto}
body.visual-redesign .scene-copy .eyebrow{color:#d7be82;font-size:12px;letter-spacing:.18em;margin-bottom:12px}
body.visual-redesign .scene-copy h1,body.visual-redesign[data-mode=scene] .scene-copy h1{font-size:clamp(25px,2.3vw,38px)!important;line-height:1.4;color:#fff9e7;font-weight:600;letter-spacing:.025em;margin-bottom:12px;text-shadow:none}
body.visual-redesign .scene-copy h1 em{color:#e8c77f;font-style:normal}
body.visual-redesign .scene-lead{font-size:calc(17px * var(--lesson-text-scale));line-height:1.8;color:#d2dfcd;margin-bottom:0}
body.visual-redesign .scene-copy .scene-cta{font-size:16px;padding:11px 16px;min-width:0;margin-top:17px;gap:15px}
body.visual-redesign[data-mode=intro] .scene-copy.opening-centered{left:8vw;top:50%!important;bottom:auto;transform:translateY(-42%);width:42vw;max-width:650px;max-height:75vh;text-align:left;background:none;box-shadow:none;border:0;backdrop-filter:none;padding:50px 0 24px!important;overflow:visible}
body.visual-redesign[data-mode=intro] .scene-copy.opening-centered h1{font-size:clamp(52px,5.4vw,94px)!important;line-height:1.25!important;color:#fff8df;letter-spacing:.055em;font-weight:700}
body.visual-redesign[data-mode=intro] .scene-copy.opening-centered h1 em{font-size:.74em;color:#edce8c}
body.visual-redesign[data-mode=intro] .scene-copy .eyebrow{font-size:18px;margin:20px 0;color:#dec387}
body.visual-redesign .hero-kicker{display:block;font-size:14px;letter-spacing:.26em;color:#d6dfc4;margin-bottom:21px}
body.visual-redesign[data-mode=intro] .scene-copy .scene-cta{font-size:21px;padding:17px 25px;margin:32px 0 0;min-width:220px;justify-content:space-between}
body.visual-redesign[data-mode=intro] .scene-copy>.panel-dismiss{right:0;top:0}
body.visual-redesign .scene-caption{left:176px;right:348px;bottom:20px;max-height:165px;overflow:auto;border-radius:18px;background:#fcf9ecf5;border:1px solid #dfd9bb;box-shadow:0 10px 25px #19352926;padding:16px 60px 16px 20px!important}
body.visual-redesign .scene-caption>span{color:#9a7b3d;font-size:12px;letter-spacing:.15em}
body.visual-redesign .scene-caption p{font-size:19px;color:#284a37;margin:7px 0}
body.visual-redesign .scene-caption button:not(.panel-dismiss){font-size:16px;color:#477950}
body.visual-redesign .hotspot{background:#fff7def2;color:#4c6035;border:1px solid #d9b765;border-radius:30px;font-size:16px;padding:10px 16px;box-shadow:0 6px 22px #172c292b;backdrop-filter:blur(5px)}
body.visual-redesign .hotspot i{background:#bd9040;box-shadow:0 0 0 5px #d6b46622}
@media(min-width:1001px){body.visual-redesign[data-page="13"] .scene-copy h1{font-size:30px!important;line-height:1.5}}
body.visual-redesign #railContext .location-picker>span{font-size:12px;letter-spacing:.1em;color:#7e8a70;margin-bottom:10px}
body.visual-redesign #railContext .art-portal{position:relative;display:flex;align-items:center;gap:12px;overflow:hidden;padding:7px!important;min-height:70px;font-size:16px!important;text-align:left;color:#284e3d;border:1px solid #dbdfcc;background:#fffdf5;border-radius:14px;margin-bottom:9px}
body.visual-redesign #railContext .art-portal.selected{background:#e6eddc;border-color:#73956a;box-shadow:inset 3px 0 #618959}
body.visual-redesign .portal-art{width:79px;height:55px;object-fit:cover;border-radius:9px;flex-shrink:0}
body.visual-redesign .chapter-art{margin:0 0 18px}
body.visual-redesign .chapter-art img{display:block;width:100%;height:140px;object-fit:cover;border-radius:15px}
body.visual-redesign .chapter-art figcaption{font-size:10px;color:#889477;margin-top:5px}
body.visual-redesign a{color:#4e7847}
body.visual-redesign #railContext .art-portal>span{margin-left:auto;padding-right:5px;color:#9a813f}
body.visual-redesign .evidence-links button,body.visual-redesign .rail-assistant button{background:#f0f3e7;border-color:#d5deca;color:#365d43;font-size:16px;padding:12px;border-radius:12px}
body.visual-redesign .vr-music-cue{background:#eee8d7;border-color:#e2d7b8;color:#75603a;font-size:14px}
body.visual-redesign #evidenceRail,body.visual-redesign .rail-assistant{border-color:#dce1d0}
body.visual-redesign #homePhotoTray{left:176px;right:348px;bottom:103px;padding:13px 16px;background:#fcf9ecf7;border:1px solid #dfd9bb;border-radius:20px;box-shadow:0 14px 32px #132e2326}
body.visual-redesign .home-photo-heading strong{color:#284f3b;font-size:16px}
body.visual-redesign .home-photo-heading>span{color:#809077;font-size:11px}
body.visual-redesign .home-photo-grid{gap:12px}
body.visual-redesign .home-photo-grid button{border:1px solid #e0e4d5;background:white;padding:5px}
body.visual-redesign .home-photo-grid img{height:95px;background:#f5f6ee}
body.visual-redesign .home-photo-grid button>span{font-size:14px;color:#426148}
body.visual-redesign[data-investigation=home] .scene-copy{top:110px!important;bottom:auto;padding-top:49px!important;max-height:30vh}
body.visual-redesign[data-investigation=home] .scene-copy h1{font-size:26px!important}
body.visual-redesign .avatar-dock{left:23px;bottom:18px;padding-top:24px}
body.visual-redesign .avatar-button{width:130px!important;padding:7px 8px 12px;background:#faf4dfed;border:1px solid #dfce98;border-radius:24px;box-shadow:0 10px 24px #14382724}
body.visual-redesign .rice-art{display:block;width:100%;height:135px;object-fit:contain;filter:drop-shadow(0 7px 5px #664c2a1c)}
body.visual-redesign .avatar-button>span{font-size:14px!important;color:#65542c;font-weight:600}
body.visual-redesign .avatar-move{font-size:11px;background:#f8f3de;color:#5c7656;border:1px solid #cbd9c4}
body.visual-redesign .avatar-dock.right{right:348px;left:auto}
body.visual-redesign .avatar-panel{left:171px;bottom:22px;max-height:84vh;width:min(590px,calc(100vw - 210px));padding:22px 25px;background:#fcfaef;border:1px solid #d6c98d;border-radius:24px;box-shadow:0 20px 80px #10291d55}
body.visual-redesign .avatar-panel h2{color:#234b3b;font-size:25px}
body.visual-redesign .agent-answer{background:#edf0df;color:#2b4f3b;border:1px solid #dce1c9;font-size:24px;line-height:1.7;border-radius:16px}
body.visual-redesign .agent-status{color:#8e753a}
body.visual-redesign .agent-talking-video{width:190px;height:190px;border-radius:22px;background:#f8f6eb}
body.visual-redesign .music-dock{right:22px;bottom:18px;max-width:calc(100vw - 180px);background:#fbf7e8;border:1px solid #d8c895;border-radius:18px;padding:8px 49px 8px 8px;box-shadow:0 5px 20px #19342720}
body.visual-redesign .music-dock button{font-size:15px;background:#f1e3bd;color:#6b582b}
body.visual-redesign .music-time{color:#728068;font-size:12px}
body.visual-redesign .dismissible-panel>.panel-dismiss{border-color:#d9c58a;background:#fcf4d7;color:#76612f;box-shadow:none}
body.visual-redesign .dismissible-panel>.panel-dismiss[data-panel-label]{font-size:14px;height:33px;width:76px;min-width:76px;right:10px;top:10px;border-radius:10px}
body.visual-redesign .chapter-nav>.panel-dismiss{background:#ffffff12;color:#e6d5a6;border-color:#ffffff2b}
body.visual-redesign #restoreClassroom{background:#f9edc9;color:#3a5e3c;border-color:#d4b45c;box-shadow:0 8px 22px #14342633}
body.visual-redesign .lesson-drawer{background:#faf8ed;border:1px solid #dcd6bd;border-radius:24px;top:103px;bottom:20px;right:22px;width:min(1080px,calc(100vw - 194px));box-shadow:0 18px 70px #0b251c4d;color:#284b3a}
body.visual-redesign .drawer-top{padding:17px 22px;background:#153f31;border-bottom:1px solid #456044;color:#f5e9c1}
body.visual-redesign .drawer-top>span{color:#d4dfc4;font-size:12px;letter-spacing:.12em}
body.visual-redesign .drawer-top button{background:#ffffff0d;color:#f5e6b7;border:1px solid #ffffff28;font-size:15px;padding:8px 12px}
body.visual-redesign #lessonContent{padding:28px 34px;color:#284b3a}
body.visual-redesign #lessonContent h1{font-size:36px;color:#204733}
body.visual-redesign #lessonContent h2{font-size:28px;color:#2b543e}
body.visual-redesign #lessonContent h3,body.visual-redesign h3{color:#4c6e4c}
body.visual-redesign #lessonContent .lead{color:#66765d;line-height:1.8}
body.visual-redesign .card{background:#fffef8;border:1px solid #e0e4d4;border-radius:18px;padding:24px;box-shadow:0 5px 18px #28463108}
body.visual-redesign .card p,body.visual-redesign .strip p{color:#435d48;line-height:1.85}
body.visual-redesign .card h3{font-size:23px}
body.visual-redesign .badge{background:#e5edd9;border-color:#d4dfc8;color:#587742}
body.visual-redesign .callout,body.visual-redesign .stage{background:#f4e9c8;border-color:#d8be7a;color:#6f5b30;border-radius:14px}
body.visual-redesign .callout strong{color:#8c6b31}
body.visual-redesign .quote{color:#345e40;border-color:#dbe0cd;font-size:32px;line-height:1.8}
body.visual-redesign .quote em{color:#8a7036}
body.visual-redesign label,body.visual-redesign .fields label{color:#3b6044}
body.visual-redesign input:not([type=checkbox]),body.visual-redesign textarea,body.visual-redesign select{color:#34563f;background:#fffef8;border:1px solid #bdccb2;border-radius:12px}
body.visual-redesign input::placeholder,body.visual-redesign textarea::placeholder{color:#8b977f}
body.visual-redesign input[type=number].big-input{color:#3d7149}
body.visual-redesign option{background:#fffdf4;color:#34553e}
body.visual-redesign .minor,body.visual-redesign .formnote,body.visual-redesign .teacher-note{color:#7c896f}
body.visual-redesign .bar{background:linear-gradient(#87ac68,#38694b);border-radius:10px 10px 0 0}
body.visual-redesign .bar.gold{background:linear-gradient(#e8ce8d,#b79144)}
body.visual-redesign .barval,body.visual-redesign .barlabel,body.visual-redesign .scale{color:#557044}
body.visual-redesign .timer,body.visual-redesign .number{color:#8c713c}
body.visual-redesign dialog{background:#fcfaf0;color:#294f3a;border:1px solid #d6d8bb;border-radius:24px;box-shadow:0 25px 100px #0c251b55}
body.visual-redesign dialog::backdrop{background:#0d291ec2;backdrop-filter:blur(9px)}
body.visual-redesign dialog .dialoghead{background:#eff0df;border-bottom:1px solid #d9dfc8}
body.visual-redesign .dialoghead h2{color:#2b5038;font-size:26px}
body.visual-redesign .evidence-photo{gap:28px}
body.visual-redesign #mediaContent img,body.visual-redesign #mediaContent video{border-radius:16px}
body.visual-redesign .evidence-photo h3{color:#416245}
body.visual-redesign #mediaNote{color:#77816b;font-size:15px;line-height:1.8}
body.visual-redesign .toc-list button{background:#f5f5e9;border-color:#e0e3ce;border-radius:15px;padding:17px}
body.visual-redesign .toc-list button.current{background:#efe2ba;border-color:#c9ab62}
body.visual-redesign .toc-list button strong{color:#375a3d}
body.visual-redesign .toc-list button small{color:#899272}
body.visual-redesign .exhibit,body.visual-redesign .photo-card{background:#f0f2e2;border-color:#d6dfc7;border-radius:15px}
body.visual-redesign .exhibit h3,body.visual-redesign .exhibit p,body.visual-redesign .photo-card span{color:#3d6544}
body.visual-redesign .service-settings,body.visual-redesign .local-settings{background:#f1f1df;border:1px solid #dcdcc0;color:#5a664b;border-radius:18px}
body.visual-redesign .photo-pending article{background:#f1f2e4;border:1px solid #dce1ca;border-radius:15px}
body.visual-redesign #toast{background:#193f2f;color:#f7ebc4;border-color:#d0ba77;border-radius:20px}
body.visual-redesign #investigationTransition{background:#143929;transition:opacity .36s ease,visibility .36s}
body.visual-redesign .travel-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.75;transform:scale(1.07);transition:transform 1.4s cubic-bezier(.18,.7,.2,1)}
body.visual-redesign #investigationTransition.visible .travel-art{transform:scale(1)}
body.visual-redesign #investigationTransition::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#09261dcc,transparent 75%)}
body.visual-redesign .travel-name{z-index:2;top:auto;bottom:15%;font-size:clamp(30px,4vw,65px);color:#fff1c8;text-shadow:0 3px 20px #133521;letter-spacing:.12em;font-weight:700;white-space:nowrap}
body.visual-redesign .travel-orbit,body.visual-redesign .travel-line{display:none}
body.visual-redesign #transition{background:#173e2fee;color:#f6e9bf}
body.visual-redesign #worldLoadNotice{background:#f9ebc8;border-color:#cbb165;color:#6b633e;left:176px;right:348px}
body.visual-redesign.clean-observation #artCredit{display:none}
@media(min-width:1700px){body.visual-redesign .scene-copy{left:184px;width:440px;bottom:135px}body.visual-redesign .director{width:calc(330px * var(--lesson-control-scale))}body.visual-redesign .scene-caption,body.visual-redesign #homePhotoTray{right:378px}body.visual-redesign .home-photo-grid img{height:120px}body.visual-redesign .rail-scroll{padding:18px}body.visual-redesign .avatar-dock.right{right:378px}}
@media(max-height:760px) and (min-width:1001px){body.visual-redesign .chapter-nav{top:94px;max-height:calc(100vh - 258px);padding-top:47px}body.visual-redesign .chapter-nav nav button{padding:9px;font-size:17px}body.visual-redesign .director{top:94px;bottom:77px}body.visual-redesign .rice-art{height:99px}body.visual-redesign .avatar-button{width:115px!important}body.visual-redesign .scene-copy{bottom:98px;max-height:40vh}body.visual-redesign .scene-lead{font-size:16px}body.visual-redesign #homePhotoTray{bottom:82px}body.visual-redesign .home-photo-grid img{height:74px}body.visual-redesign[data-investigation=home] .scene-copy{top:94px!important}body.visual-redesign .music-dock{bottom:12px}}
@media(max-width:1000px){body.visual-redesign header{left:12px;right:12px;top:12px}body.visual-redesign .brand-edition{display:none}body.visual-redesign .brand{font-size:19px}body.visual-redesign .tools button{padding:8px;font-size:13px}body.visual-redesign .chapter-nav{left:12px;top:92px;width:108px}body.visual-redesign .chapter-nav nav button{font-size:16px;padding:11px 6px}body.visual-redesign .director{top:92px;right:12px;width:250px}body.visual-redesign .scene-copy{left:137px;width:calc(100vw - 418px);bottom:110px;padding:48px 17px 17px!important}body.visual-redesign .scene-copy h1{font-size:25px!important}body.visual-redesign .scene-lead{font-size:16px}body.visual-redesign .scene-caption,body.visual-redesign #homePhotoTray{left:137px;right:279px}body.visual-redesign .avatar-dock{left:13px}body.visual-redesign .avatar-button{width:104px!important}body.visual-redesign .rice-art{height:107px}body.visual-redesign .avatar-panel{left:137px;width:calc(100vw - 165px)}body.visual-redesign .lesson-drawer{right:12px;width:calc(100vw - 149px)}body.visual-redesign .portal-art{width:58px;height:49px}body.visual-redesign #railContext .art-portal{font-size:14px!important}body.visual-redesign .home-photo-grid{gap:6px}body.visual-redesign .home-photo-grid img{height:75px}body.visual-redesign[data-investigation=home] .scene-copy{top:92px!important}body.visual-redesign .avatar-dock.right{right:279px}body.visual-redesign #worldLoadNotice{left:137px;right:279px}}
@media(max-width:650px){body.visual-redesign header{padding:8px 10px;border-radius:13px}body.visual-redesign .brand{font-size:16px}body.visual-redesign .tools{gap:3px}body.visual-redesign .tools button{font-size:11px;padding:7px 5px}body.visual-redesign .tools button[data-media]{display:none}body.visual-redesign .chapter-nav{left:8px;top:77px;width:83px;max-height:calc(100vh - 240px);padding:45px 4px 8px}body.visual-redesign .chapter-nav nav button{font-size:14px;display:block;padding:9px 4px}body.visual-redesign .chapter-nav nav button small{display:block;font-size:10px}body.visual-redesign .director{top:77px;right:8px;width:160px;bottom:79px;border-radius:15px}body.visual-redesign .director .rail-heading{padding:48px 10px 10px}body.visual-redesign .rail-heading>span{font-size:17px}body.visual-redesign .rail-heading>small{font-size:10px}body.visual-redesign .director .toc-open{right:83px;font-size:12px;padding:5px 7px}body.visual-redesign .rail-scroll{padding:10px}body.visual-redesign #railContext .art-portal{display:block;font-size:13px!important;padding:5px!important}body.visual-redesign .portal-art{width:100%;height:53px;margin-bottom:4px}body.visual-redesign .art-portal>span{display:none}body.visual-redesign .rail-footer{padding:8px}body.visual-redesign .director-controls button span{display:none}body.visual-redesign .step-controls button{font-size:12px;padding:8px 5px}body.visual-redesign .evidence-links button{font-size:13px;padding:8px}body.visual-redesign .scene-copy{left:102px;width:calc(100vw - 282px);bottom:140px;padding:43px 10px 13px!important;border-radius:15px}body.visual-redesign .scene-copy h1{font-size:20px!important}body.visual-redesign .scene-copy .eyebrow{font-size:10px}body.visual-redesign .scene-copy .scene-cta{font-size:12px;padding:8px;gap:3px}body.visual-redesign .scene-caption{left:102px;right:180px;bottom:20px;padding:45px 11px 10px!important}body.visual-redesign .scene-caption p{font-size:14px}body.visual-redesign .scene-caption button:not(.panel-dismiss){font-size:12px}body.visual-redesign .avatar-dock{left:8px;bottom:10px}body.visual-redesign .avatar-button{width:83px!important}body.visual-redesign .rice-art{height:86px}body.visual-redesign .avatar-button>span{font-size:11px!important}body.visual-redesign .avatar-panel{left:10px;right:10px;width:auto;bottom:10px;padding:18px}body.visual-redesign .avatar-dock.right{right:180px}body.visual-redesign #homePhotoTray{left:102px;right:180px;padding:10px 6px;bottom:85px}body.visual-redesign .home-photo-heading strong{font-size:11px}body.visual-redesign .home-photo-grid{max-height:26vh;grid-template-columns:1fr}body.visual-redesign .home-photo-grid img{height:65px}body.visual-redesign[data-investigation=home] .scene-copy{top:77px!important;max-height:26vh}body.visual-redesign .music-dock{right:8px;bottom:10px;padding-right:40px;max-width:calc(100vw - 104px)}body.visual-redesign .music-dock button{font-size:12px;padding:7px}body.visual-redesign .music-time{display:none}body.visual-redesign .lesson-drawer{left:8px;right:8px;top:77px;bottom:8px;width:auto}body.visual-redesign #lessonContent{padding:20px}body.visual-redesign #lessonContent h1{font-size:27px}body.visual-redesign .dismissible-panel>.panel-dismiss[data-panel-label]{width:65px;min-width:65px;height:30px;font-size:12px;right:6px;top:7px}body.visual-redesign[data-mode=intro] .scene-copy.opening-centered{left:7vw;top:46%!important;width:62vw;max-width:none}body.visual-redesign[data-mode=intro] .scene-copy.opening-centered h1{font-size:40px!important}body.visual-redesign .hero-kicker{font-size:11px}body.visual-redesign[data-mode=intro] #artBackdrop img{object-position:58% center}body.visual-redesign[data-mode=intro] .scene-copy .scene-cta{font-size:17px;min-width:185px;padding:13px 18px}body.visual-redesign #artCredit{left:18px;font-size:10px}body.visual-redesign #worldLoadNotice{left:10px;right:10px;bottom:85px}}
@media(prefers-reduced-motion:reduce){body.visual-redesign button,body.visual-redesign .travel-art{transition:none}}
body.visual-redesign[data-mode=intro] .scene-copy .eyebrow{display:none}
@media(min-width:1001px){
 body.visual-redesign{--art-nav-width:calc(130px * var(--lesson-control-scale));--art-rail-width:calc(302px * var(--lesson-control-scale))}
 body.visual-redesign .chapter-nav{width:var(--art-nav-width)}
 body.visual-redesign .chapter-nav nav button{font-size:calc(18px * var(--lesson-control-scale));padding:calc(13px * var(--lesson-control-scale)) 10px}
 body.visual-redesign .director{width:var(--art-rail-width)}
 body.visual-redesign .scene-copy,body.visual-redesign[data-mode=scene] .scene-copy{left:calc(46px + var(--art-nav-width))}
 body.visual-redesign .scene-caption,body.visual-redesign #homePhotoTray,body.visual-redesign #worldLoadNotice{left:calc(46px + var(--art-nav-width));right:calc(46px + var(--art-rail-width))}
 body.visual-redesign .avatar-button{width:var(--art-nav-width)!important}
 body.visual-redesign .rice-art{height:calc(135px * var(--lesson-control-scale))}
 body.visual-redesign .avatar-dock.right{right:calc(46px + var(--art-rail-width))}
 body.visual-redesign .avatar-panel{left:calc(41px + var(--art-nav-width))}
}
@media(min-width:1700px){body.visual-redesign{--art-rail-width:calc(330px * var(--lesson-control-scale))}}
@media(max-height:760px) and (min-width:1001px){body.visual-redesign .rice-art{height:calc(99px * var(--lesson-control-scale))}body.visual-redesign .chapter-nav nav button{padding:calc(9px * var(--lesson-control-scale));font-size:calc(17px * var(--lesson-control-scale))}}

.upload-qr-box{margin:16px 0;padding:18px;background:#fff;border:1px solid #d4c899;border-radius:14px;text-align:center}
.upload-qr-box[hidden],.service-settings button[hidden]{display:none}
.upload-qr-box canvas{display:block;width:min(100%,360px);height:auto;margin:0 auto;image-rendering:pixelated}
.upload-qr-box p{max-width:580px;margin:12px auto 0;font-size:17px}
.upload-advanced{margin:14px 0;border-top:1px solid #d4c899;padding-top:12px}
.upload-advanced summary{cursor:pointer;font-size:17px;font-weight:600}
.upload-advanced label{display:block;margin:12px 0}
.upload-advanced input{width:100%;box-sizing:border-box}

/* 9.17 supplement: centered opening, unobtrusive credits, classroom input. */
body.visual-redesign[data-mode=intro] .scene-copy.opening-centered{left:50%!important;top:50%!important;transform:translate(-50%,-45%)!important;width:min(760px,75vw)!important;max-width:none;text-align:center;padding:44px 30px 28px!important;background:radial-gradient(ellipse,#08372cd9 0%,#08372c88 48%,transparent 73%);text-shadow:0 3px 22px #092a29}
body.visual-redesign[data-mode=intro] .scene-copy .scene-cta{margin:28px auto 0;display:inline-flex;text-shadow:none}
body.visual-redesign[data-mode=intro] .vignette{background:linear-gradient(180deg,#092d2233,#092d2200 25%,#092d2233)}
body.visual-redesign #artCredit{display:none!important}
.source-credit{font-size:12px;color:#718276;text-align:right}
.source-credit summary{cursor:pointer;display:inline-block}
.source-credit span{display:block;padding-top:8px}
.dictation-tools{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:8px 0 14px}
.dictation-tools button{font-size:14px;padding:8px 12px!important;min-height:38px}
.dictation-tools .dictation-status{font-size:13px;line-height:1.5;font-weight:400;color:#5e7465}
.dictation-tools[data-active=true]{padding:8px;border-left:3px solid #a15436;background:#f9f0df}
.dictation-tools[data-active=true] button{color:#93351f!important}
.dictation-intro{font-size:15px;color:#527261;margin:12px 0}
#secondScreen{max-width:820px;width:90vw}
#secondScreen iframe{width:100%;height:62vh;border:0;background:#f9f8f0;border-radius:12px}
#secondScreen .second-url{width:100%;font-size:14px}
#secondScreen .second-qr{display:block;margin:16px auto;max-width:100%;image-rendering:pixelated}
#secondScreen .screen-details{margin:18px 0}
.lesson-scene-label{font-size:13px;color:#698068;margin:0 0 10px;letter-spacing:.05em}
@media(max-width:700px){body.visual-redesign[data-mode=intro] .scene-copy.opening-centered{width:90vw!important;padding:45px 15px 20px!important}.dictation-tools{gap:5px}}
