: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}
