:root{--ink:#173f3e;--muted:#60756c;--paper:#f5f1e5;--gold:#e9ce94;--line:#c7d4c5;--bar:74px;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden}body{font-family:'Microsoft YaHei','微软雅黑',sans-serif;background:var(--paper);color:var(--ink)}button,select{font:inherit}button,a,select{touch-action:manipulation}button{border:1px solid #b2c6b7;background:#fffcf3;color:var(--ink);border-radius:9px;padding:11px 17px;cursor:pointer;line-height:1.35}button:hover{background:#e3eadd}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #c49338;outline-offset:3px}button.primary{background:var(--ink);color:#fff5df;border-color:var(--ink)}a{color:inherit;text-underline-offset:3px}h1,h2,h3,p,figure{margin:0}h2{font-size:clamp(32px,3.2vw,50px);line-height:1.26;font-weight:700;letter-spacing:.015em}h3{font-size:26px}p{font-size:clamp(22px,2vw,31px);line-height:1.65}#classroom{height:calc(100% - var(--bar));overflow:auto}.slide{height:100%;min-height:560px;padding:35px 5vw;display:none;position:relative;max-width:1840px;margin:auto}.slide.active{display:flex;flex-direction:column;justify-content:center;gap:24px}.slide-head{display:flex;align-items:center;gap:20px}.activity-icon{height:68px;width:68px;object-fit:contain;background:#fffcf4;border:1px solid #d6dece;border-radius:18px;padding:6px}.eyebrow{font-size:18px;letter-spacing:.14em;color:#947036;margin-bottom:12px}.split{display:grid;grid-template-columns:1.05fr 1fr;gap:46px;align-items:center;min-height:0}.split.reverse{grid-template-columns:.86fr 1.14fr}.copy{display:grid;gap:18px}.copy .lead{font-size:clamp(25px,2.6vw,39px);line-height:1.48}.copy .small,.small{font-size:19px;line-height:1.6;color:var(--muted)}.image-button{display:block;width:100%;padding:0;border:0;background:transparent!important}.media img{display:block;width:100%;height:44vh;max-height:490px;min-height:180px;object-fit:contain}.media figcaption{font-size:13px;line-height:1.6;color:var(--muted);padding-top:9px}.photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:26px}.photo-pair .media img{height:38vh}.photo-pair figcaption{font-size:14px}.inquiry{border-left:5px solid #50836f;padding:15px 22px;background:#e6ebdf;border-radius:0 12px 12px 0}.inquiry p{font-size:25px;line-height:1.5;font-weight:600}.inquiry small{font-size:18px;line-height:1.5;display:block;margin-top:7px;color:#536b5b}.source{font-size:12px!important;line-height:1.55;color:var(--muted)}.source a{margin-right:10px}.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.actions button{font-size:19px}.hero{isolation:isolate;max-width:none;overflow:hidden;color:#fff6e7;gap:0!important}.hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#093436cc 0%,#10373980 45%,#10373900 85%)}.hero-copy{width:47%;display:grid;gap:22px}.hero .eyebrow{font-size:23px;color:var(--gold);margin:0}.hero h1{font-size:clamp(48px,5.5vw,84px);line-height:1.25}.hero h2{font-size:clamp(37px,3.8vw,58px)}.hero .lead{font-size:clamp(28px,3vw,43px);line-height:1.5}.hero .small{color:#e1e8d8;font-size:21px}.hero button{background:var(--gold);border-color:var(--gold);font-weight:600}.art-caption{position:absolute;right:26px;bottom:20px;font-size:13px;color:#e6e2d4}.timeline{display:flex;gap:0;align-items:stretch;margin:14px 0}.timeline article{border-top:4px solid #c8a767;padding:20px;flex:1;background:#e7ebde;position:relative}.timeline article:before{content:'';position:absolute;left:20px;top:-9px;width:14px;height:14px;border-radius:50%;background:#b58d43}.timeline b{font-size:30px;display:block;margin-bottom:12px}.timeline span{font-size:20px;line-height:1.6}.fact{background:#fffbed;border-left:4px solid #b28a3f;padding:15px 21px;font-size:25px}.evidence-row{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.evidence-row article{background:#fffaf0;padding:21px;border:1px solid var(--line);border-radius:13px}.evidence-row img{width:100%;height:22vh;object-fit:contain;margin-bottom:13px}.evidence-row h3{font-size:24px;margin-bottom:10px}.evidence-row p{font-size:21px}.rest-clock{font-variant-numeric:tabular-nums;font-size:85px;letter-spacing:.07em;font-weight:600}.story .media img{height:50vh;object-fit:contain}.story .dialogue{font-size:30px;line-height:1.5;border-left:4px solid #b18a41;padding:14px 20px;background:#fff9e9}.board{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:10px;background:#507566;border-radius:12px;aspect-ratio:1;width:100%;max-width:310px;margin:auto;box-shadow:0 8px 0 #294d43}.cell{display:flex;align-items:center;justify-content:center;aspect-ratio:1;border-radius:5px;background:#fff3d6;color:#24483e;font-size:clamp(20px,2vw,32px);font-weight:700;min-width:0}.cell.empty{background:#86a493;box-shadow:inset 0 2px 5px #233f3528}.cell.changed{box-shadow:inset 0 0 0 3px #cf9932}.boards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;align-items:start}.boards figure{text-align:center}.boards figcaption{font-size:20px;margin:12px 0 15px;line-height:1.5}.boards small{display:block;font-size:16px;margin-top:6px;color:var(--muted)}.status-line{font-size:21px;background:#e6ecdf;padding:13px 20px;border-radius:10px;min-height:58px;line-height:1.5}.rule-strip{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.tile-demo{width:65px;height:65px;display:flex;align-items:center;justify-content:center;background:#fff4d9;border:2px solid #8ca48b;border-radius:9px;font-size:32px;font-weight:700}.tile-demo.empty{background:#d6e1d0}.rule-arrow{font-size:35px;margin:0 10px}.rule-card{display:grid;gap:20px;padding:28px;background:#e6ecdf;border-radius:18px}.command{font-size:clamp(40px,4.3vw,65px);font-weight:700;letter-spacing:.09em;border:1px solid #b0c2ab;border-radius:12px;background:#fff9e9;padding:16px 24px}.algorithm-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:28px;align-items:start}.algorithm-layout .board{max-width:270px}.steps{display:flex;gap:6px;margin-bottom:18px}.steps span{flex:1;padding:10px 6px;background:#e2e9da;border-radius:6px;text-align:center;font-size:18px}.steps span.current{background:#184e41;color:white}.candidates{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0}.candidates button{display:grid;gap:7px;text-align:center;padding:13px 5px}.candidates b{font-size:27px}.candidates small{font-size:16px}.candidates .selected{outline:3px solid #b08636;background:#fff1c9}.algo-copy{font-size:24px;line-height:1.6;min-height:90px}.handbook-preview{height:53vh!important;max-height:560px!important}.pause-indicator{font-size:15px;color:var(--muted)}
#toolbar{height:var(--bar);padding:10px 14px;background:#103e40;color:#fff1d9;display:grid;grid-template-columns:minmax(200px,1fr) auto minmax(500px,1.4fr);gap:20px;align-items:center;border-top:1px solid #3a6863}#toolbar button,#toolbar select{background:#184e4d;border:1px solid #557c70;color:#fff5e4;font-size:14px;padding:9px 8px;white-space:nowrap}#toolbar #next{background:var(--gold);color:var(--ink)}#toolbar select{max-width:100%;border-radius:5px;height:38px}#pageSelect{width:290px}.nav-pagination{display:flex;align-items:center;justify-content:center;gap:14px}#pageStatus{min-width:60px;text-align:center;font-size:18px;white-space:nowrap}.nav-settings{display:flex;gap:5px;align-items:center;justify-content:flex-end}.nav-settings label{display:none}#showBar,#floatingHelp{position:fixed;right:20px;bottom:18px;z-index:10;background:#164d49;color:white}#floatingHelp{right:163px}body.bar-hidden{--bar:0px}#demoPanel{position:fixed;inset:0;z-index:40;background:var(--paper)}#demoPanel header{height:54px;display:flex;gap:25px;align-items:center;background:#103e40;color:#fff1d9;padding:8px 20px;font-size:15px}#demoPanel header button{margin-left:auto;font-size:15px}#demoFrame{width:100%;height:calc(100% - 54px);border:0}dialog{border:1px solid #a4b8a2;background:var(--paper);color:var(--ink);border-radius:16px;max-width:92vw;max-height:94vh;padding:22px}dialog::backdrop{background:#0b242bd9}#imageDialog{text-align:center}#imageDialog>button{display:block;margin:0 0 12px auto}#largeImage{display:block;height:73vh;width:85vw;object-fit:contain}#largeCaption{font-size:15px;margin-top:13px}#helpDialog{max-width:800px}#helpDialog header{display:flex;gap:25px;align-items:center;justify-content:space-between;margin-bottom:20px}#helpDialog h2{font-size:30px}#helpDialog p{font-size:19px;line-height:1.65;margin-bottom:15px}#toast{position:fixed;bottom:95px;left:50%;transform:translateX(-50%);z-index:100;display:none;padding:15px 25px;color:#fff8e8;background:#174c43;border-radius:10px;font-size:18px;max-width:80vw}#toast.visible{display:block}[hidden]{display:none!important}.focus-pulse{outline:3px solid transparent;outline-offset:6px}.motion-running .active .focus-pulse{animation:focus 3.5s ease-in-out 2}@keyframes focus{0%,100%{outline-color:transparent}40%,65%{outline-color:#c8a763}}.motion-paused .focus-pulse{animation-play-state:paused!important}.reduced *{animation:none!important;transition:none!important}
@media(max-height:760px) and (min-width:901px){:root{--bar:64px}.slide{padding:23px 4.8vw;min-height:530px;gap:19px!important}.slide-head{gap:15px}.activity-icon{width:50px;height:50px;border-radius:13px}h2{font-size:34px}.split{gap:32px}.copy{gap:15px}.copy p{font-size:24px}.copy .lead{font-size:30px}.copy .small{font-size:18px}.media img{height:48vh}.inquiry{padding:12px 17px}.inquiry p{font-size:23px}.inquiry small{font-size:17px}.hero-copy{gap:18px}.hero .lead{font-size:33px}.hero h1{font-size:64px}.hero .eyebrow{font-size:23px}.hero .small{font-size:20px}.story .media img{height:47vh}.story .dialogue{font-size:25px}.boards .board{max-width:237px}.boards figcaption{font-size:18px;margin:6px 0 12px}.boards .cell{font-size:24px}.status-line{font-size:19px;padding:11px 16px}.evidence-row{gap:18px}.evidence-row article{padding:16px}.evidence-row p{font-size:20px}.timeline article{padding:15px}.timeline b{font-size:27px}.timeline span{font-size:18px}.algo-copy{font-size:22px}.algorithm-layout .board{max-width:240px}.steps span{font-size:16px}.candidates{margin:12px 0}.candidates button{padding:10px 5px}.actions button{font-size:17px;padding:10px 14px}#toolbar{grid-template-columns:minmax(190px,1fr) auto auto;gap:12px}#toolbar button,#toolbar select{padding:8px 7px;font-size:13px}#pageSelect{width:250px}.nav-pagination{gap:10px}}
@media(max-width:1100px){#toolbar{grid-template-columns:180px auto 1fr;gap:8px}.nav-settings{flex-wrap:wrap}#toolbar button,#toolbar select{font-size:12px;padding:6px}#replayMotion{display:none}.split{gap:24px}}
@media(max-width:900px){:root{--bar:104px}.slide{height:auto;min-height:100%;padding:28px 22px}.split,.split.reverse,.algorithm-layout{grid-template-columns:1fr}.hero{min-height:100%;height:100%}.hero-copy{width:80%}.hero .hero-art{object-position:70% center}.hero::before{background:#103e4080}.photo-pair{gap:15px}.boards{gap:12px}.board{padding:6px;gap:4px}.boards .cell{font-size:19px}.evidence-row{grid-template-columns:1fr}.evidence-row article{display:grid;grid-template-columns:120px 1fr;gap:12px}.evidence-row img{height:150px;grid-row:1/3}.evidence-row p{font-size:20px}#toolbar{grid-template-columns:1fr auto;height:auto;min-height:var(--bar)}.nav-settings{grid-column:1/-1;justify-content:center}.hero h1{font-size:52px}.hero .lead{font-size:31px}.timeline{flex-wrap:wrap}.timeline article{min-width:40%}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.legend-layout{display:grid;grid-template-columns:1.75fr 1fr;gap:30px;align-items:center;min-height:0}.legend-layout .media img{height:auto;min-height:0;max-height:55vh;aspect-ratio:16/9;object-fit:contain;border-radius:16px}.legend-layout .copy{gap:19px}.legend-layout .copy .lead{font-size:clamp(25px,2.15vw,34px)}.legend-layout .copy p{font-size:24px;line-height:1.55}.legend-layout .copy .small{font-size:18px}.legend-layout .copy .source{font-size:12px}.legend-layout .legend-step{font-size:17px!important;letter-spacing:.05em;color:#927032;border-bottom:1px solid #c8b782;padding-bottom:12px}.legend-ending{background:#e9eddf;padding:16px;border-radius:12px;border-left:4px solid #ad8a42}.legend-layout .inquiry{padding:12px 15px}.legend-layout .inquiry p{font-size:21px}.legend-layout .inquiry small{font-size:16px}.legend-slide .media figcaption{font-size:13px}.legend-slide .source a{display:inline-block;margin-top:4px}
@media(max-width:1400px),(max-height:800px){.legend-layout{gap:24px;grid-template-columns:1.75fr 1fr}.legend-layout .copy{gap:15px}.legend-layout .copy p{font-size:22px}.legend-layout .copy .lead{font-size:27px}.legend-layout .inquiry p{font-size:20px}.legend-layout .inquiry small{font-size:15px}.legend-ending{padding:13px}.legend-layout .copy .small{font-size:17px}}
@media(max-width:900px){.legend-layout{grid-template-columns:1fr}.legend-layout .media img{max-height:none}.legend-layout .copy{gap:14px}}

/* Keep hero image labels above the floating navigation while the toolbar is hidden. */
body.bar-hidden .hero .art-caption{bottom:78px}

/* The rest artwork includes pale paving; keep its source label readable there. */
[data-slide-id="rest"] .art-caption{background:#113c3ded;color:#fff7e7;padding:6px 10px;border-radius:6px}

.task-diagram svg{width:100%;height:auto;max-height:44vh}.task-diagram{background:#e9edde;border:1px solid #bdcbbd;border-radius:14px;padding:20px}.task-steps{display:grid;gap:12px}.task-steps p{background:#fff8e8;border-left:4px solid #b48c47;padding:10px 15px;font-size:clamp(22px,2vw,31px);line-height:1.65}.entry-card{font-size:60px;letter-spacing:.08em;color:#1c4946;padding:22px 0;border-bottom:2px solid #bb9659}.handbook-preview{height:51vh!important;object-fit:contain}.stage-message{padding:12px 18px;background:#fdf7e7;border-left:4px solid #b9924e;font-size:22px}.closing .hero-copy{width:51%}.source a{display:inline-block}.diagram figure{margin:0}.folder-tree{font-size:clamp(22px,2vw,31px);line-height:1.8;padding:20px;background:#e5ecdd;border-radius:14px}.folder-tree ul{list-style:none;padding-left:32px}.folder-tree li:before{content:'▸ ';color:#a47a35}.story .source{color:#47624f}.status-tag{position:fixed;top:10px;right:14px;font-size:12px;z-index:2;background:#fdf8ea;color:#355d50;border-radius:4px;padding:4px 8px}.copy .compact{font-size:clamp(22px,2vw,31px);line-height:1.65}.wide-media .media img{height:52vh}.round-label{font-size:20px;font-weight:600;letter-spacing:.05em}.media img{background:transparent}.history-slide .eyebrow{font-size:16px;margin-bottom:5px}@media(max-height:760px){.copy .compact,.task-steps p,.folder-tree{font-size:24px}.stage-message{font-size:20px}.entry-card{font-size:48px;padding:14px 0}.slide.active{gap:20px}.media figcaption{font-size:12px}}

.demo-iframe{width:100%;height:calc(100% - 54px);border:0}
.slide.story-film{background:radial-gradient(ellipse at top left,#fffaf0 0,#f2eedf 72%);justify-content:center}
.story-film .slide-head .eyebrow{color:#946c36;font-size:17px;letter-spacing:.06em;margin-bottom:8px}
.story-cinema-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:34px;align-items:center;min-height:0}
.story-art{min-width:0;margin:0}.story-art .image-button{border-radius:16px;overflow:hidden;background:#e6dcc4!important;border:1px solid #d2c5a7;box-shadow:0 9px 22px #4e3d2314}
.story-art img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain}
.story-art figcaption{font-size:12px;line-height:1.4;color:#6d715f;margin-top:8px}
.story-lines{display:grid;gap:20px;min-width:0}.story-lines>p{font-size:var(--lesson-body);line-height:1.5}
.story-lines .story-sound{color:#a04c35;font-size:clamp(48px,4.6vw,68px);font-weight:700;line-height:1.1;transform:rotate(-6deg);transform-origin:left center}
.story-speech{border-left:4px solid #b58b4c;border-radius:0 14px 14px 0;background:#fff9ec;padding:17px 21px;box-shadow:0 5px 15px #45311a08}
.story-speaker{font-size:var(--lesson-hint);line-height:1.25;color:#8f6c3a;margin-bottom:8px}
.story-quote{font-size:var(--lesson-body);font-weight:600;line-height:1.5}
.story-route{display:flex;align-items:center;justify-content:space-around;gap:15px;padding:15px 14px;background:#194a42;color:#fff5df;border-radius:12px}
.story-route span{color:#e9c779}.story-lines .story-fine{font-size:var(--lesson-body)}
.story-live-layout{display:grid;grid-template-columns:minmax(0,2.45fr) minmax(0,1fr);gap:25px;align-items:start;min-height:0;width:100%}
.story-game-column{display:grid;gap:12px;min-width:0}.story-game-host{position:relative;width:100%;height:clamp(310px,48vh,570px);border:2px solid #a88752;border-radius:16px;background:#3b493d;overflow:hidden}
.story-game-host iframe{display:block;width:100%;height:100%;border:0}.story-loading{color:#fff3dc;font-size:var(--lesson-body);padding:40px 25px;text-align:center}
.story-reaction{display:grid;gap:12px;min-width:0}.story-portrait{width:min(100%,235px);margin:0 auto}.story-portrait img{aspect-ratio:4/5;max-height:27vh}.story-portrait .image-button{background:#e9e4d6!important;border-radius:13px}.story-portrait figcaption{text-align:center}
.story-reaction .story-speech{padding:14px 17px}.story-reaction .story-quote{font-size:var(--lesson-body);line-height:1.45}
.story-rules{display:flex;gap:14px;align-items:center}.story-rules p{font-size:var(--lesson-body);line-height:1.4;background:#e3eadd;border-left:4px solid #557d69;padding:10px 20px;border-radius:0 8px 8px 0}
.story-prediction{font-size:var(--lesson-body);line-height:1.4;color:#744e23}
.story-actionbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.story-actionbar button{font-size:18px;line-height:1.4;padding:10px 15px}.story-actionbar .story-reset{margin-left:auto;background:transparent;font-size:16px;padding:9px 12px}
.story-state{font-size:var(--lesson-hint);line-height:1.45;min-height:1.45em;color:#4f6a59}
.story-state[data-tone="error"]{color:#a34330}.story-state[data-tone="success"]{color:#1d6753}
@media(max-height:760px) and (min-width:901px){.slide.story-film{gap:12px!important}.story-film .slide-head .eyebrow{font-size:15px;margin-bottom:6px}.story-cinema-layout{gap:27px}.story-lines{gap:15px}.story-speech{padding:13px 17px}.story-speaker{margin-bottom:6px}.story-route{padding:12px}.story-live-layout{gap:21px}.story-game-host{height:clamp(295px,47vh,390px)}.story-portrait{width:min(100%,205px)}.story-portrait img{max-height:26vh}.story-reaction .story-speech{padding:12px 14px}.story-rules p{padding:8px 15px}.story-actionbar{gap:9px}.story-actionbar button{padding:8px 12px;font-size:17px}.story-actionbar .story-reset{font-size:15px;padding:8px 10px}.story-game-column{gap:9px}}
@media(max-width:1100px) and (min-width:901px){.story-live-layout{grid-template-columns:minmax(0,2.3fr) minmax(0,1fr)}.story-reaction .story-quote{font-size:22px}.story-actionbar{gap:7px}.story-actionbar button{font-size:16px}.story-actionbar .story-reset{font-size:14px}.story-rules p{font-size:22px}}
@media(max-width:900px){.story-cinema-layout,.story-live-layout{grid-template-columns:minmax(0,1fr)}.story-cinema-layout{gap:24px}.story-live-layout{gap:18px}.story-game-host{height:380px}.story-reaction{grid-template-columns:120px minmax(0,1fr);align-items:center;gap:16px}.story-portrait img{max-height:none}.story-rules{flex-wrap:wrap;gap:9px}.story-rules p{font-size:21px}.story-actionbar .story-reset{margin-left:0}.story-lines .story-sound{font-size:48px}.story-film .slide-head .eyebrow{font-size:14px}.story-game-host iframe{min-width:0}.story-route{justify-content:center}}
/* Keep the paragraph rhythm inside the selected grade at the projection baseline. */
.copy>[data-grade]{display:grid;gap:18px}
@media(max-height:760px) and (min-width:901px){.copy>[data-grade]{gap:15px}}

/* L03-2026-09-23-page24-25-click-start: classroom + typography final baseline. */
:root{--lesson-title:clamp(32px,3.2vw,50px);--lesson-body:clamp(22px,2vw,31px);--lesson-question:clamp(25px,2.15vw,34px);--lesson-hint:clamp(18px,1.35vw,23px);--lesson-gap:18px;--lesson-columns:36px}
.slide:not(.hero){max-width:1700px;padding:28px 4vw;gap:20px}
.slide:not(.hero)>.slide-head{gap:18px}
.slide:not(.hero)>.slide-head h2{font-size:var(--lesson-title);line-height:1.25;letter-spacing:-.025em}
.slide:not(.hero) .activity-icon{width:64px;height:64px}
.slide:not(.hero) .split{grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:var(--lesson-columns)}
.slide:not(.hero) .copy,.slide:not(.hero) .copy>[data-grade]{min-width:0;gap:var(--lesson-gap)}
.slide:not(.hero) .copy>p,.slide:not(.hero) .copy>[data-grade]>p,.slide:not(.hero) .copy>.lead,.slide:not(.hero) .copy>[data-grade]>.lead{font-size:var(--lesson-body);line-height:1.5}
.slide:not(.hero) .copy>p.small,.slide:not(.hero) .copy>[data-grade]>p.small{font-size:var(--lesson-hint);line-height:1.5}
.slide:not(.hero) .copy>p.source{font-size:12px;line-height:1.5}
.slide:not(.hero) .inquiry{padding:16px 22px}
.slide:not(.hero) .inquiry>p{font-size:var(--lesson-question);line-height:1.4}
.slide:not(.hero) .inquiry>small{font-size:var(--lesson-hint);line-height:1.45}
.slide:not(.hero) .media figcaption{font-size:13px;line-height:1.5}
.slide:not(.hero) .actions button{font-size:18px;line-height:1.4}
.slide:not(.hero) .folder-tree{font-size:var(--lesson-body);line-height:1.5}
.slide[data-slide-id="entry"] .copy>p.small,.slide[data-slide-id="round-one"] .copy>p.small,.slide[data-slide-id="round-two"] .copy>p.small{font-size:var(--lesson-body);color:var(--ink)}
.review-tabs{display:flex;gap:12px}
.review-tabs button{font-size:18px}
.review-tabs button[aria-pressed="true"]{background:var(--ink);color:#fff8e8}
.review-item{min-width:0}
.review-visual{display:grid;gap:16px;min-width:0}
.review-visual .task-diagram{padding:8px 16px}
.review-visual .task-diagram svg{max-height:29vh}
.review-visual .media img{height:28vh;min-height:100px}
.review-original{font-size:var(--lesson-body);line-height:1.5}
.review-evidence{display:grid;gap:var(--lesson-gap)}
.review-evidence p{font-size:var(--lesson-body);line-height:1.5}
.review-evidence b{color:#947036}
.review-evidence,.method-check{display:block}
.review-evidence>summary,.method-check>summary{font-size:var(--lesson-body);line-height:1.5;font-weight:700;color:var(--ink);cursor:pointer;padding:10px 0}
.review-answer{display:grid;gap:var(--lesson-gap)}
.method-check p{font-size:var(--lesson-body);line-height:1.5;margin-top:12px}
.review-conclusion{padding:12px 16px;background:#e6ebdf;border-left:4px solid #50836f}
.handbook-check>[data-grade]{min-width:0}
.static-egg{font-size:var(--lesson-hint)}
.static-egg summary{cursor:pointer}
.static-egg .actions{margin-top:8px}
@media(max-height:760px) and (min-width:901px){
 :root{--lesson-title:34px;--lesson-body:24px;--lesson-question:26px;--lesson-hint:18px;--lesson-gap:12px;--lesson-columns:25px}
 .slide:not(.hero){padding:20px 4vw;gap:16px!important}
 .slide:not(.hero) .activity-icon{width:52px;height:52px}
 .slide:not(.hero) .inquiry{padding:13px 18px}
 .review-visual{gap:12px}
 .review-conclusion{padding:10px 14px}
}
@media(max-width:900px){
 :root{--lesson-title:30px;--lesson-body:21px;--lesson-question:25px;--lesson-hint:19px;--lesson-gap:14px;--lesson-columns:24px}
 .slide:not(.hero){padding:24px;gap:20px}
 .slide:not(.hero) .split{grid-template-columns:minmax(0,1fr)}
 .slide:not(.hero) .activity-icon{width:55px;height:55px}
 .review-visual .task-diagram svg{max-height:none}
 .review-tabs{flex-wrap:wrap}
}

/* 第20页同图证据回看：图注保留，点击放大共用现有交互。 */
.history-recall .split{grid-template-columns:1.3fr 1fr!important}
.history-review-images{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start;min-width:0}
.history-review-images>div{min-width:0}
.history-review-images:has(>div:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
.history-review-images .review-label{font-size:var(--lesson-body);margin:0 0 10px}
.history-review-images .media{margin:0;min-width:0}
.history-review-images .media img{height:28vh;min-height:0;max-height:280px;width:100%;object-fit:contain}
.history-review-images .media figcaption{font-size:13px;line-height:1.5}
@media(max-width:900px){.history-recall .split{grid-template-columns:1fr!important}.history-review-images{gap:10px}}

/* Historical photo pointers are presentation overlays; the source photo opens unchanged. */
.history-slide .activity-icon{background:transparent;border:0;border-radius:0;padding:0}
.focus-media .photo-focus{position:relative;display:block;width:min(100%,calc(42vh * var(--photo-ratio)));margin-inline:auto}
.focus-media .photo-focus img{width:100%;height:auto;min-height:0;max-height:none;object-fit:contain}
.photo-marks{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.photo-marks rect{fill:none;stroke:#ffe3a5;stroke-width:2;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 1px #173f3e)}
.photo-marks circle{fill:#173f3e;stroke:#ffe3a5;stroke-width:1.3}
.photo-marks text{fill:#fff5df;font-size:12px;font-weight:700;font-family:'Microsoft YaHei',sans-serif}
.focus-labels{display:flex;gap:22px;justify-content:center;flex-wrap:wrap;margin-top:10px;font-size:var(--lesson-hint);line-height:1.5}
@media(max-width:900px){.focus-media .photo-focus{width:100%;max-width:620px}}

/* 原声影片由教师主动播放；保留大屏图文与本地剧照回看。 */
.opera-media{min-width:0}
.opera-media video{display:block;width:100%;height:38vh;min-height:190px;object-fit:contain;background:#142b29;border-radius:8px}
.opera-media .actions{margin-top:12px;gap:10px}
.opera-media .media-status{font-size:var(--lesson-hint);line-height:1.4;margin-top:8px}
@media(max-height:760px) and (min-width:901px){.opera-media video{height:35vh;min-height:170px}.opera-media .actions button{font-size:16px;padding:9px 12px}}
@media(max-width:900px){.opera-media video{height:auto;aspect-ratio:16/9}}

/* Short student prompts sit with their question; evidence links reuse local media. */
.slide.history-slide .copy>p.activity-cue,.slide.history-slide .copy>[data-grade]>p.activity-cue{font-size:var(--lesson-hint);line-height:1.45;color:#49665a}
.history-slide .evidence-links{gap:8px}
.slide.history-slide .evidence-links button{font-size:18px;padding:9px 13px;line-height:1.35}
.opera-media [data-media-return]{border-color:#a77c32;background:#f3dfb4}

/* One stable iframe is positioned over the active story host; changing acts never creates another WebGL scene. */
#classroom{position:relative}
.story-shared-frame{position:absolute;z-index:3;border:0;border-radius:13px;display:block;background:#3b493d}
