:root{--ink:#163d3b;--muted:#5d6e67;--paper:#f6f1e7;--gold:#bd8a3e;--body:clamp(22px,2vw,31px);--title:clamp(32px,3.2vw,50px);--question:clamp(25px,2.15vw,34px);--hint:clamp(18px,1.35vw,23px);--gap:18px;--cols:36px;--bar:76px}*{box-sizing:border-box}html,body{margin:0;height:100%;font-family:'Microsoft YaHei','微软雅黑',sans-serif;color:var(--ink);background:var(--paper)}button,select{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer;border:1px solid #abc0b7;background:#fffaf0;border-radius:9px;padding:9px 16px;color:var(--ink);font-size:18px;font-weight:600}button:hover{background:#e4eadd}button:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #daab4d;outline-offset:3px}button:disabled{opacity:.42;cursor:default}a{color:inherit}p,h1,h2,h3,figure{margin:0}p{line-height:1.5}#classroom{height:calc(100dvh - var(--bar));overflow:auto}.slide{min-height:100%;max-width:1700px;margin:auto;padding:28px 4vw;display:flex;flex-direction:column;gap:20px}.slide-head{display:flex;align-items:center;gap:18px}.slide-head h2{font-size:var(--title);line-height:1.25;letter-spacing:-.025em}.activity-icon{width:64px;height:64px;object-fit:contain}.split{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:var(--cols);align-items:center;flex:1;min-height:0}.story .split{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.copy{display:grid;gap:var(--gap);align-content:center;min-width:0}.copy p,.knowledge{font-size:var(--body);line-height:1.5}.copy .small{font-size:var(--hint);color:var(--muted)}.copy .question{font-size:var(--question);line-height:1.4;font-weight:600;padding:14px 18px;border-left:5px solid var(--gold);background:#ede8d7}.media{min-width:0;display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center}.media img{max-width:100%;width:100%;max-height:57vh;object-fit:contain;display:block;border-radius:13px;cursor:zoom-in;background:#e8e6dd}.media figcaption{font-size:13px;line-height:1.5;width:100%;color:#405b53}.source{font-size:12px;line-height:1.45;color:var(--muted)}.source a{text-decoration:none;border-bottom:1px dotted #8fa294}.actions{display:flex;flex-wrap:wrap;gap:10px}.actions button.primary{background:var(--ink);color:#fff8e5;border-color:var(--ink)}.pill{font-size:16px;border:1px solid #c7b88f;border-radius:99px;padding:4px 13px;background:#f1e4c9;display:inline-block;max-width:max-content}.hero,.rest{max-width:none;position:relative;isolation:isolate;min-height:100%;justify-content:center;padding:7vh 6vw;color:#fff6dc;background:#123b3a;overflow:hidden}.hero>.backdrop,.rest>.backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero:after,.rest:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#103a3bef 0%,#103a3bd0 33%,#103a3b08 72%);z-index:-1}.hero h1,.rest h1{font-size:clamp(40px,4.6vw,72px);line-height:1.3;max-width:11em}.hero p,.rest p{font-size:var(--body);max-width:17em}.hero .hero-tag,.rest .hero-tag{font-size:18px;color:#eac47f}.hero .source,.rest .source{position:absolute;bottom:20px;left:6vw;color:#e4e7d8}.pulse{animation:glow 4s ease-in-out infinite}@keyframes glow{0%,100%{opacity:.55}50%{opacity:1}}body.motion-paused .pulse,body.motion-off .pulse{animation-play-state:paused}body.motion-off .pulse{animation:none}.diagram{width:100%;min-height:340px;border-radius:18px;padding:24px;background:#e8e8da;border:1px solid #cdd3c0;display:flex;flex-direction:column;justify-content:center;gap:16px}.diagram-row{display:flex;gap:16px;align-items:center;justify-content:center}.diagram-node{background:#fffcf4;border:2px solid #afbda9;border-radius:13px;flex:1;padding:20px 16px;text-align:center;min-width:0}.diagram-node b{display:block;font-size:var(--question);margin-bottom:9px}.diagram-node span{font-size:var(--hint);line-height:1.5}.diagram-arrow{font-size:38px;color:var(--gold)}.layer{font-size:var(--body);padding:24px;text-align:center;border:2px solid #aa9e85;border-radius:7px;background:#e3c395}.layer:nth-child(2){background:#d2b07c}.layer:nth-child(3){background:#b7a078}.diagram-note{font-size:16px;color:#52695c;line-height:1.5}.photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}.photo-pair img{width:100%;max-height:39vh;object-fit:contain}.photo-pair figcaption{font-size:17px}.history-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;width:100%}.history-cards img{height:200px;width:100%;object-fit:contain}.history-cards figcaption{font-size:var(--hint);text-align:center;margin-top:10px}.board-area{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:center;flex:1}.board-wrap{display:grid;justify-items:center;gap:10px;min-width:0}.soko-board{display:grid;grid-template-columns:repeat(var(--w),1fr);width:min(100%,490px);aspect-ratio:var(--ratio);gap:3px;background:#6a8078;padding:5px;border-radius:12px;box-shadow:0 8px 0 #436259}.cell{display:flex;align-items:center;justify-content:center;background:#e8d4ab;border-radius:3px;position:relative;aspect-ratio:1;font-weight:700;font-size:clamp(20px,2vw,32px);color:#153e3c}.cell.wall{background:#526d68;box-shadow:inset 0 -8px #36524e;border:1px solid #6d8880}.cell.goal:before{content:'';position:absolute;inset:12%;border:4px solid #b07c22;border-radius:50%}.cell .person{position:relative;background:#153e3c;color:#fff4cf;border-radius:50%;width:76%;height:76%;display:grid;place-items:center;border:3px solid #dbc48a}.cell .crate{position:relative;background:#c18b42;color:#32230d;border:4px solid #775226;box-shadow:inset 0 0 0 2px #deb969;border-radius:5px;width:80%;height:80%;display:grid;place-items:center}.cell .mark{position:relative;color:#746440}.cell .coord{position:absolute;bottom:2px;right:3px;font-size:10px;opacity:.55}.board-caption{font-size:var(--hint);line-height:1.4}.board-legend{font-size:16px;line-height:1.5;color:var(--muted)}.step-status{font-size:var(--body);line-height:1.5;min-height:3em;background:#ece7d6;border-radius:10px;padding:12px 16px}.review .board-area{grid-template-columns:minmax(0,.95fr) minmax(0,1.1fr)}.review .copy{gap:14px}.review .question{padding:11px 15px}.review .knowledge{font-size:var(--body)}.review .reveal-box{font-size:var(--body);line-height:1.5;min-height:3em}.portal-preview{height:49vh;width:100%;border:1px solid #b9c8bb;border-radius:15px;background:#fff}.code{font-size:clamp(34px,4vw,62px);letter-spacing:.06em;background:#143e3b;color:#ffe5a5;border:3px solid #c49645;padding:20px 24px;border-radius:15px;word-break:break-word}.handbook .media img{max-height:66vh;width:auto;max-width:100%;box-shadow:0 5px 22px #26493420}.timer{font-size:clamp(45px,7vw,94px);font-variant-numeric:tabular-nums;color:#f1d597}.timer-controls{display:flex;gap:10px}.transfer-map{width:100%;min-height:370px;border-radius:15px;background:#e5dfca;position:relative;border:10px solid #668379;display:grid;grid-template-columns:1.4fr 1fr;gap:12px;padding:25px}.room{background:#f6eedb;border:6px solid #7a9686;border-radius:8px;text-align:center;padding:18px;font-size:22px}.corridor{background:#c7ceb8;display:grid;gap:12px;align-content:center}.furniture{padding:24px 12px;background:#ac7344;color:white;border:5px solid #6d482f;font-size:26px;text-align:center}.small-box{padding:12px;background:#d6a652;border:4px solid #885d2e;text-align:center;font-size:23px}.parking{border:3px dashed #718c7a;padding:18px;font-size:21px;text-align:center}.door-label{font-size:22px;background:#ffe4a0;padding:10px;text-align:center}.wide-media .split{grid-template-columns:1.3fr 1fr}
#toolbar{position:fixed;bottom:0;left:0;right:0;min-height:var(--bar);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;background:#123b38;color:#f4ead2;z-index:20}#toolbar button,#toolbar select{font-size:15px;padding:8px 10px;border-radius:6px;background:#204c44;color:#fff6df;border:1px solid #628178}#toolbar select{max-width:245px}#toolbar .nav-pagination,#toolbar .nav-settings{display:flex;align-items:center;gap:7px}#pageStatus{font-size:15px;min-width:58px;text-align:center}#toolbar label{font-size:14px}body.bar-hidden{--bar:0px}#showBar,#floatingHelp{position:fixed;bottom:15px;right:18px;z-index:22;background:#123b38;color:#fff3cf;border-color:#e3c17c}#floatingHelp{right:155px}#toast{position:fixed;bottom:94px;left:50%;transform:translateX(-50%);padding:9px 18px;background:#123b38;color:white;border-radius:8px;z-index:40;pointer-events:none;opacity:0;font-size:17px}#toast.show{opacity:1}dialog{border:1px solid #c2bfaa;border-radius:16px;box-shadow:0 20px 100px #102f2f88;background:#fffaf0;color:var(--ink);padding:20px;max-width:min(900px,90vw);max-height:90vh;overflow:auto}dialog::backdrop{background:#0a292bd9}dialog header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}dialog h2{font-size:28px}dialog p{font-size:22px;margin:14px 0}#imageDialog{max-width:94vw;padding:16px}#imageDialog img{display:block;max-width:88vw;max-height:72vh;object-fit:contain;margin:auto}#largeCaption{font-size:16px}#demoDialog{width:96vw;max-width:none;height:94vh;padding:0;overflow:hidden}#demoDialog header{height:56px;padding:8px 18px;background:#123b38;color:#fff5dc;margin:0}#demoDialog header span{font-size:15px}#demoFrames{height:calc(100% - 56px)}#demoFrames iframe{border:0;width:100%;height:100%;display:block}#demoFrames iframe[hidden]{display:none}#resultDialog{min-width:420px;max-width:660px;padding:30px}#resultDialog h2{color:#5c431c}#resultDialog p{font-size:26px}
@media(max-height:760px) and (min-width:901px){:root{--title:34px;--body:24px;--question:26px;--hint:18px;--gap:12px;--cols:25px;--bar:70px}.slide{padding:20px 4vw;gap:16px}.slide-head{gap:12px}.activity-icon{width:52px;height:52px}.media img{max-height:53vh}.diagram{min-height:300px;padding:19px;gap:12px}.diagram-node{padding:17px 12px}.layer{padding:17px}.board-area{gap:22px}.soko-board{max-width:400px}.board-wrap{gap:7px}.copy .question{padding:11px 16px}.handbook .media img{max-height:66vh}.review .copy{gap:11px}.review .step-status{font-size:22px;min-height:3em}.transfer-map{min-height:300px}.history-cards img{height:160px}#toolbar{padding:10px 15px;gap:9px}#toolbar button,#toolbar select{font-size:14px;padding:7px 8px}#toolbar .nav-settings{gap:5px}#toolbar select{max-width:195px}}
@media(max-width:1150px){#toolbar{flex-wrap:wrap;justify-content:center}:root{--bar:112px}.nav-directory{margin-right:auto}.nav-settings{justify-content:center;width:100%}#toolbar select{max-width:210px}.soko-board{max-width:370px}}
@media(max-width:900px){:root{--title:30px;--body:21px;--question:25px;--hint:19px;--gap:14px;--cols:24px}.slide{padding:24px;gap:20px}.split,.story .split,.board-area,.review .board-area,.wide-media .split{grid-template-columns:1fr}.media img{max-height:50vh}.hero,.rest{min-height:calc(100dvh - var(--bar));padding:35px 25px}.hero h1,.rest h1{font-size:40px}.hero:after,.rest:after{background:#123b3a99}.activity-icon{width:55px;height:55px}.history-cards{grid-template-columns:1fr}.history-cards img{height:180px}.soko-board{max-width:440px}.review .soko-board{max-width:360px}#resultDialog{min-width:0}.diagram-row{flex-wrap:wrap}.diagram-node{min-width:130px}#demoDialog header span{display:none}.handbook .media img{max-height:70vh}.board-area{gap:28px}.transfer-map{min-height:340px}#classroom{scroll-behavior:auto}}
@media(prefers-reduced-motion:reduce){.pulse{animation:none!important}}
  
.spatial-diagram svg{width:100%;max-height:410px;display:block}.spatial-diagram{gap:12px!important;justify-content:center}.spatial-diagram .diagram-note{margin:0}
.slide:is(.content,.story,.round,.egg,.transfer,.entry,.handbook,.summary){justify-content:center}
.slide:is(.content,.story,.round,.egg,.transfer,.entry,.handbook,.summary)>.split{flex:0}
.pulse{animation:glow 4s ease-in-out 2}@keyframes glow{0%,100%{opacity:1}50%{opacity:.75}}
.slide.content .media img{height:44vh;max-height:490px;min-height:180px;background:transparent;border-radius:0}
.slide.content .photo-pair .media img{height:38vh;min-height:0}
.slide.content .history-cards .media img{height:200px;min-height:0}
@media(max-height:760px) and (min-width:901px){.slide.content .media img{height:48vh;max-height:350px}.slide.content .history-cards .media img{height:160px}}
[hidden]{display:none!important}

/* History expansion: related photograph plus exact textual relationships. */
.history-visual{display:flex;flex-direction:column;gap:12px;min-width:0}
.history-visual .media{margin:0}
.slide.content .history-visual .media img{height:32vh;max-height:350px;min-height:150px}
.history-visual .diagram{min-height:0;padding:12px;gap:10px}
.history-visual .diagram-node{padding:12px;min-width:0;flex:1}
.history-visual .diagram-node b{font-size:23px}
.history-visual .diagram-node span{font-size:19px;line-height:1.5}
.history-visual .diagram-arrow{font-size:24px}
.visual-labels{display:grid;grid-template-columns:1fr 1fr;gap:18px;text-align:center;font-size:var(--hint);font-weight:bold}
.findings-cards figcaption{font-size:14px;line-height:1.5}
@media(max-height:760px) and (min-width:901px){.slide.content .history-visual .media img{height:25vh;max-height:200px}.history-visual .diagram-node{padding:8px}.history-visual .diagram-node b{font-size:21px}.history-visual .diagram-node span{font-size:18px}.history-visual .diagram-note{font-size:14px}}
@media(max-width:900px){.slide.content .history-visual .media img{height:auto;max-height:45vh;min-height:0}.history-visual .diagram-row{gap:10px}.history-visual .diagram-node b{font-size:21px}.history-visual .diagram-node span{font-size:18px}}
@media(max-height:760px) and (min-width:901px){.slide.content .evidence-visual .media img{height:20vh;min-height:0}}
.slide.content .history-visual.labeled-scene .media img{height:auto;aspect-ratio:16/9;min-height:0;max-height:50vh}

/* Discussion explanations appear only after pupils have observed and spoken. */
.history-discussion{display:grid;gap:12px}
.copy .history-response{font-size:var(--body);line-height:1.5;min-height:4.5em}
.history-response[data-revealed="false"]{color:var(--muted)}
.history-response[data-revealed="true"]{color:var(--ink)}
.soko-board .cell.checked-cell{box-shadow:inset 0 0 0 5px #e6ba62;outline:2px solid #fff1c9;outline-offset:-7px}
.timeline-visual .diagram-node span{font-size:var(--body)}
.findings-cards figcaption{font-size:var(--hint);line-height:1.45}
@media(max-width:900px){.copy .history-response{min-height:0}}

/* Two given states for middle handbook question 1; other boards keep their layout. */
.review-compare-pair{display:grid;grid-template-columns:1fr;gap:14px;justify-items:center}.review-compare-pair>div{width:100%}.review-compare-pair .soko-board{max-width:300px}.review-compare-pair .cell{font-size:clamp(20px,1.6vw,26px)}.review-compare-pair .cell .crate{border-width:2px;box-shadow:inset 0 0 0 1px #deb969}.review-compare-pair .cell .person{border-width:2px}.compare-legend{text-align:center;margin-top:12px}
@media(max-height:760px) and (min-width:901px){.review-compare-pair{gap:12px}.review-compare-pair .soko-board{max-width:235px}.compare-legend{margin-top:10px}}

.portal-illustration{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(18px,3vw,42px);color:#153d37;background:#f7f3e7}.portal-illustration h3{font-size:clamp(25px,2.8vw,38px);margin:18px 0}.portal-illustration p{font-size:clamp(18px,1.8vw,25px);line-height:1.55;margin:20px 0 0}.portal-seal{font-size:20px;letter-spacing:2px}.portal-example{border:1px solid #718b7c;border-radius:10px;padding:14px 18px;font-size:clamp(17px,1.7vw,23px);background:#fffdf7;width:100%;color:#5e7468}
