:root{font-family:"PingFang SC","Microsoft YaHei",system-ui,sans-serif;color:#233e38;background:#f5f4ed;font-synthesis:none;--green:#236b50;--muted:#71847a;--gold:#d3a656;--purple:#796399}*{box-sizing:border-box}body{margin:0}button,a,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #ddad54;outline-offset:3px}button{border:1px solid #dce3d9;background:#fff;border-radius:12px;padding:10px 16px;min-height:44px;font-weight:650}button:hover{border-color:#438569;background:#f0f6ef}button:disabled{opacity:.45;cursor:default}button.active,button.primary{background:var(--green);color:white;border-color:var(--green)}a{color:var(--green);text-decoration:none}.lesson-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 32px;background:#fcfcf8;border-bottom:1px solid #e2e5da}.brand{display:flex;align-items:center;gap:12px}.brand-icon{display:grid;place-items:center;width:42px;height:42px;background:#e6eddb;border-radius:14px;font-size:26px;color:var(--green)}.brand strong{display:block;font-size:19px}.eyebrow{font-size:11px;letter-spacing:2px;color:#778476}.top-actions{display:flex;align-items:center;gap:8px}.mode-tag{font-size:12px;color:var(--green);background:#e8efdf;padding:7px 10px;border-radius:99px}.stages{display:flex;gap:8px;padding:14px 32px 0;max-width:1440px;margin:auto}.stages button{border:0;background:none;color:#7c8a7c;flex:1;text-align:left;border-bottom:2px solid #e2e6da;border-radius:0;padding:10px 4px 15px}.stages button.active{color:var(--green);border-color:var(--green)}.stages span{font-size:12px;margin-right:10px;color:inherit;opacity:.7}.workspace{max-width:1440px;margin:auto;padding:24px 32px}.scene-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.scene-header h1{font-size:clamp(25px,3vw,36px);margin:7px 0 8px;letter-spacing:1px}.scene-header p{margin:0;color:#708175;font-size:17px;line-height:1.6}.counter{color:#8c957f;font-size:13px;white-space:nowrap}.board{background:#fffdf6;border:1px solid #e4e4d6;border-radius:22px;overflow:hidden;box-shadow:0 12px 32px #28483708;min-height:400px;position:relative}.hero{display:grid;grid-template-columns:1.3fr 1fr;min-height:425px}.hero img{width:100%;height:100%;object-fit:cover;min-height:425px}.hero-copy{padding:42px;display:flex;flex-direction:column;justify-content:center;background:#fcf6e9}.hero-copy .book-label{color:#a08449;font-size:12px;letter-spacing:3px}.hero-copy h2{font-family:serif;font-size:38px;line-height:1.4;margin:18px 0}.hero-copy p{font-size:18px;line-height:2;color:#6a7462}.hero-copy button{align-self:flex-start;margin-top:12px}.board-pad{padding:26px 32px}.tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:20px}.tools .hint{margin-left:auto;font-size:13px;color:#7c897a}.direction{display:flex;justify-content:space-between;align-items:center;margin:10px 0;color:#788475;font-size:13px}.direction b{font-size:22px;color:#aa8850;letter-spacing:5px}.people{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin:18px 0}.person{position:relative;padding:8px 8px 12px;background:#f7f0dd;border:2px solid transparent;border-radius:18px;touch-action:none;user-select:none}.portrait{display:block;width:100%;height:150px;border-radius:12px;background-image:url('/classroom/lessons/ordinal/assets/lineup.png');background-size:1000% auto;background-position:var(--x) var(--y);background-repeat:no-repeat}.person strong{display:block;font-size:18px;margin:10px 0 0}.person .badge{position:absolute;top:15px;left:15px;background:#fff9ec;padding:3px 10px;border-radius:50px;color:#6b5842;box-shadow:0 2px 6px #4442}.person.selected,.tile.selected,.row.selected{border-color:#357a59;background:#e5f1d8;box-shadow:0 0 0 3px #357a5920}.person.target{border-color:#b9a064}.person.dragging{opacity:.5}.drop-over{outline:4px dashed #cba14e;outline-offset:3px}.feedback{min-height:55px;border-radius:12px;background:#f1f2e8;padding:15px 18px;line-height:1.7;font-size:16px;margin:18px 0 0}.feedback.correct{background:#e6f2df;color:#246744}.feedback.wrong{background:#fff0dc;color:#956128}.answer-row{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin:18px 0 8px}.answer-row button{min-width:52px;font-size:23px}.answer-row label{font-size:19px}.actions{display:flex;justify-content:center;gap:10px;margin:18px 0 0;flex-wrap:wrap}.tile-line{display:grid;grid-template-columns:repeat(var(--n,7),minmax(0,1fr));gap:12px;padding:28px 0;align-items:end}.tile{padding:8px 3px;border:2px solid transparent;background:transparent;min-width:0;border-radius:12px;touch-action:manipulation;position:relative}.tile .envelope{display:block;background:#f7df98;border:1px solid #cfb571;aspect-ratio:1.45;max-height:78px;border-radius:7px;position:relative;box-shadow:0 5px 0 #dfcb9455}.envelope:before{content:'☆';position:absolute;inset:0;display:grid;place-items:center;line-height:1;font-size:clamp(16px,2vw,30px);color:#b48c36}.tile.selected:after{content:'✓';position:absolute;right:0;top:0;background:#34724e;color:#fff;border-radius:50%;width:22px;height:22px;font-size:14px;line-height:22px}.comparison{display:grid;grid-template-columns:1fr 1fr;gap:24px}.panel{padding:24px;background:#f7f6ee;border-radius:18px;min-width:0}.panel h3{margin:0 0 10px;font-size:20px}.panel .tile-line{gap:5px;padding:20px 0}.shelves{display:flex;align-items:flex-end;justify-content:center;gap:40px;padding:15px 20px}.cabinet{display:flex;flex-direction:column;gap:4px;width:220px;border:9px solid #85705a;padding:5px;background:#b4a18a;border-radius:8px;position:relative}.cabinet.small{width:150px}.cabinet.medium{width:180px}.row{height:29px;min-height:29px;border:2px solid #fff2;padding:2px;background:#f3e9cc;display:flex;gap:5px;align-items:center;justify-content:center;border-radius:2px;position:relative}.book{height:19px;flex:1;border-radius:2px;background:#94afa4;border:1px solid #748e8450}.book:nth-child(3n){background:#d6b66b}.book:nth-child(3n + 1){background:#9e8bba}.row b{position:absolute;left:-38px;font-size:12px;color:#6c7e75}.drawer{background:#b6d8d9;border-color:#6e9592;height:32px;min-height:32px}.drawer:after{content:'';width:13px;height:5px;background:#b4a05f;border:1px solid #8e7e4b;border-radius:4px}.cabinet.drawers{border-color:#376061;background:#537e7d}.exercise-split{display:grid;grid-template-columns:1fr 1.4fr;gap:28px;align-items:center}.cabinet-wrap{display:flex;justify-content:center;gap:20px;align-items:center}.vertical-label{writing-mode:vertical-rl;text-orientation:upright;color:#6a8078;letter-spacing:8px;font-size:13px}.coat-line{border-top:4px solid #aa8f61;padding-top:8px;gap:3px}.coat{width:100%;height:auto;display:block;filter:drop-shadow(0 3px 1px #5552)}.queue-label{display:inline-block;background:#e4ebd8;padding:9px 16px;border-radius:0 12px 12px 0;color:#3b6945;font-weight:650}.number-input{display:flex;justify-content:center;align-items:center;gap:10px;font-size:19px;margin:15px 0}.number-input input{width:80px;height:52px;text-align:center;font-size:24px;border:2px solid #d9ddcc;border-radius:10px;color:#346548;background:#fff}.grid-board{display:grid;grid-template-columns:repeat(4,1fr);width:min(400px,100%);margin:12px auto;gap:6px;background:#d1d8c7;padding:8px;border-radius:12px}.grid-board button{border-radius:5px;background:#fffdf5;height:68px;padding:10px;border:3px solid transparent}.grid-board button.region{background:#edf2df;border-color:#a1b782}.grid-board button.selected{border-color:#236b50;background:#d1e8b8}.shape{display:inline-block;width:31px;height:31px;background:#e9a1bb;border:1px solid #cc6c95;vertical-align:middle}.shape.circle{border-radius:50%;background:#4cb3b0;border-color:#389697}.shape.rect{width:46px;height:27px;background:#9bceac;border-color:#74ab88}.shape.triangle{background:#edcd62;clip-path:polygon(50% 0,100% 100%,0 100%);border:0}.footer{display:flex;justify-content:space-between;align-items:center;margin-top:18px;gap:10px}.page-dots{display:flex;gap:7px}.page-dots button{padding:0;width:9px;height:9px;min-height:0;background:#d3daca;border:0;border-radius:20px}.page-dots button.active{width:24px;background:#448366}.teacher-note{margin-top:18px;font-size:13px;color:#738171}.teacher-note summary{cursor:pointer}.teacher-note p{line-height:1.9;max-width:900px}.status-line{font-size:11px;color:#929b8d;text-align:right;margin:15px 0 0}.challenge-menu{display:grid;grid-template-columns:1.05fr 1fr;min-height:400px}.challenge-art{background:url('/classroom/lessons/ordinal/assets/wonderland.png') center/cover}.challenge-options{padding:34px;display:flex;flex-direction:column;justify-content:center;gap:16px}.challenge-options h2{font-size:26px;margin:0}.challenge-options p{color:#7b8575;font-size:14px;line-height:1.8}.challenge-options button{padding:18px;text-align:left}.challenge-options small{display:block;font-weight:400;margin-top:6px;opacity:.7}.game-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.game-progress{height:5px;background:#e5e9dc;border-radius:10px;margin-bottom:24px;overflow:hidden}.game-progress i{display:block;height:100%;background:#5e916a}.game-question{font-size:24px;line-height:1.6;margin:8px 0 15px}.pk-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.team-card{border:1px solid #dfe4d4;background:#fbfcf4;border-radius:18px;padding:20px;min-width:0}.team-card:last-child{background:#f8f3fb;border-color:#e2d9eb}.team-name{display:flex;justify-content:space-between;font-weight:700;color:#4e7d59;font-size:18px}.team-card:last-child .team-name{color:#8966a3}.team-card .game-question{font-size:19px}.team-card .tile-line{gap:3px}.team-card .answer-row{gap:5px}.team-card .answer-row button{padding:5px;min-width:42px;font-size:20px}.game-area .cabinet{width:185px}.result{text-align:center;padding:36px 24px}.result h2{font-size:30px}.result .stars{font-size:50px;color:#c99a3f;letter-spacing:10px}.result p{line-height:1.8}.mistakes{text-align:left;max-width:780px;margin:24px auto}.mistakes details{padding:14px;border-top:1px solid #e5e4d4}.mistakes p{font-size:14px;color:#7a806c}.drag-ghost{position:fixed;z-index:1000;pointer-events:none;width:130px;opacity:.85;transform:translate(-50%,-50%)}.drag-ghost .portrait{height:145px}.summary-cards{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.summary-cards span{background:#f1e7d0;color:#867047;padding:8px 12px;border-radius:8px;font-size:14px}
@media(min-width:1600px){.portrait{height:220px}.board{min-height:470px}.hero,.hero img{min-height:470px}.row{height:33px}}
@media(max-width:850px){.workspace{padding:20px}.lesson-top{padding:14px 20px}.stages{padding:10px 20px 0}.hero{grid-template-columns:1.15fr 1fr;min-height:370px}.hero img{min-height:370px}.hero-copy{padding:25px}.hero-copy h2{font-size:30px}.hero-copy p{font-size:16px}.board-pad{padding:20px}.portrait{height:150px}.people{gap:8px}.shelves{gap:20px;padding:10px}.pk-grid{gap:12px}.team-card{padding:14px}.comparison{gap:12px}.panel{padding:15px}.scene-header h1{font-size:28px}.page-dots{display:none}}
@media(max-width:580px){.lesson-top{padding:12px 14px;gap:8px}.brand strong{font-size:16px}.brand-icon{width:32px;height:32px;font-size:20px}.eyebrow{font-size:9px;letter-spacing:1px}.top-actions{gap:4px}.top-actions button,.top-actions a{font-size:11px;padding:8px;min-height:36px}.mode-tag{display:none}.stages{padding:6px 12px 0;gap:6px}.stages button{font-size:13px;text-align:center}.stages span{display:block;margin:0 0 5px}.workspace{padding:18px 12px}.scene-header{gap:6px}.scene-header h1{font-size:24px}.scene-header p{font-size:14px}.counter{font-size:11px}.hero,.challenge-menu{grid-template-columns:1fr}.hero img{height:220px;min-height:220px}.hero-copy{padding:25px}.hero-copy h2{font-size:29px;margin:10px 0}.hero-copy p{font-size:16px;margin:8px 0}.board-pad{padding:14px}.portrait{height:100px}.people{gap:3px}.person{padding:3px 3px 8px;border-radius:10px}.person strong{font-size:13px}.person .badge{top:8px;left:5px;padding:2px 6px;font-size:10px}.tools button{padding:8px 12px;font-size:13px}.tools .hint{width:100%;font-size:11px}.answer-row{gap:5px}.answer-row button{min-width:42px;font-size:20px;padding:8px}.feedback{font-size:14px;padding:12px}.comparison,.exercise-split{grid-template-columns:1fr}.tile-line{gap:5px}.shelves{gap:10px;padding:10px 0}.cabinet{width:135px;border-width:6px;gap:3px;padding:3px}.cabinet.small{width:70px}.cabinet.medium{width:90px}.row{height:27px;min-height:27px;gap:2px}.book{height:18px}.cabinet.drawers{width:180px}.board{min-height:300px}.game-question{font-size:20px}.pk-grid{grid-template-columns:1fr}.challenge-art{height:210px}.challenge-options{padding:24px}.number-input{font-size:16px;flex-wrap:wrap}.footer button{font-size:13px}.status-line{text-align:left;line-height:1.7}.grid-board button{height:58px}.coat-line{gap:0}.tile{padding:6px 0}.result{padding:24px 14px}}
@media(prefers-reduced-motion:no-preference){button,.person,.tile{transition:background .15s,border-color .15s,box-shadow .15s}.feedback.correct{animation:appear .25s ease-out}@keyframes appear{from{transform:translateY(5px);opacity:.5}}}

/* Standalone classroom: uncropped full-body figures and a bounded presentation stage. */
.lesson-top{padding:10px 26px}.stages{padding-top:6px}.stages button{padding:6px 4px 10px}.workspace{max-width:1500px;padding:16px 28px}.scene-header{margin-bottom:12px}.scene-header h1{font-size:clamp(24px,2.35vw,34px);margin:4px 0}.scene-header p{font-size:16px}.board-pad{padding:18px 26px}.people{gap:14px;align-items:end;margin:10px 0 16px;padding:0 20px 12px;background:radial-gradient(ellipse at 50% 100%,#dbe4c877,transparent 68%);border-bottom:2px solid #dce2cf}.person{border-radius:20px;padding:8px 8px 12px;background:transparent;box-shadow:none}.person:hover{background:#eef1e0}.person.selected{background:#edf2df99;box-shadow:none}.person.target{background:#fcf0d577}.character{display:block;width:100%;height:clamp(180px,28vh,315px);object-fit:contain;object-position:50% 100%;pointer-events:none;user-select:none;filter:drop-shadow(0 7px 4px #37543712)}.person strong{display:inline-block;min-width:76px;font-size:19px;background:#f2eddc;padding:5px 12px;border-radius:30px;margin-top:8px}.person .badge{top:4px;left:8px;z-index:1}.drag-ghost{background:#fff8}.drag-ghost .character{height:175px}.scene-count .answer-row{margin:8px 0}.scene-count .actions{margin-top:10px}.scene-count .feedback{margin-top:12px}.footer{margin-top:12px}.teacher-note{margin-top:10px}.status-line{margin:8px 0 0}.hero,.hero img{min-height:370px;max-height:55vh}.hero-copy{padding:30px}.hero-copy h2{font-size:34px;margin:14px 0}.hero-copy p{font-size:17px;line-height:1.8}.student-follow .hero-copy [data-action="next"]{display:none}.classbar button{background:#fdfef8}.scene-count .tools{margin-bottom:4px}.scene-position .tools{margin-bottom:4px}.scene-position .people{margin-bottom:8px}.scene-position .answer-row{margin:8px 0}.scene-position .feedback{margin-top:10px}.scene-position .actions{margin-top:8px}
@media(min-width:900px) and (min-height:650px){.scene-count .character,.scene-position .character,.scene-queue .character{height:clamp(170px,calc(100svh - 560px),310px)}}
@media(min-width:1500px){.workspace{max-width:1600px}.hero,.hero img{min-height:400px}.people{gap:26px}.character{max-height:330px}.scene-header h1{font-size:34px}}
@media(max-width:850px){.workspace{padding:14px 18px}.lesson-top{padding:10px 18px}.board-pad{padding:16px}.people{padding:0 0 10px;gap:6px}.character{height:190px}.hero-copy{padding:24px}}
@media(max-width:580px){.workspace{padding:14px 12px}.lesson-top{padding:10px 12px}.board-pad{padding:12px}.character{height:140px}.people{gap:1px}.person{padding:4px 1px 8px;border-radius:12px}.person strong{font-size:13px;min-width:0;padding:4px 9px}.hero,.hero img{max-height:none}.hero img{min-height:220px;height:220px}.hero-copy{padding:22px}.hero-copy h2{font-size:28px}.scene-header p{font-size:14px}.scene-header h1{font-size:24px}.person .badge{font-size:10px;left:1px;top:0}.classbar{font-size:12px}}
/* Keep the lesson title and paging controls visible throughout presentation mode. */
:root:fullscreen body{height:100dvh;overflow:hidden;display:flex;flex-direction:column}
:root:fullscreen .classbar{flex:none}
:root:fullscreen #lesson{min-height:0;flex:1;display:flex;flex-direction:column}
:root:fullscreen .lesson-top,:root:fullscreen .stages{flex:none;width:100%}
:root:fullscreen .workspace{flex:1;min-height:0;width:100%;display:flex;flex-direction:column;padding-top:12px;padding-bottom:12px}
:root:fullscreen .scene-header,:root:fullscreen .footer{flex:none}
:root:fullscreen .board{flex:1;min-height:0;overflow:auto}
:root:fullscreen .teacher-note,:root:fullscreen .status-line{display:none}
:root:fullscreen .scene-count .character,:root:fullscreen .scene-position .character,:root:fullscreen .scene-queue .character{height:clamp(115px,calc(100dvh - 720px),285px)}
:root:fullscreen .scene-count .people,:root:fullscreen .scene-position .people{padding-bottom:8px;margin:6px 0 8px}
:root:fullscreen .scene-count .feedback,:root:fullscreen .scene-position .feedback{margin-top:8px;min-height:42px;padding:9px 14px}
:root:fullscreen .hero,:root:fullscreen .hero img{min-height:0;height:100%;max-height:none}
:root:fullscreen .scene-header h1{font-size:28px}
:root:fullscreen .scene-count .answer-row:has(label){display:none}
@media(min-width:900px) and (max-height:800px){:root:fullscreen .lesson-top{padding:6px 20px}:root:fullscreen .scene-header h1{font-size:24px}:root:fullscreen .scene-header p{font-size:14px}:root:fullscreen .scene-header{margin-bottom:8px}:root:fullscreen .board-pad{padding:12px 18px}}

/* Friend's standalone picture-book presentation: no site header or navigation shell. */
:root{color:#49394f;background:#f6eddf;--green:#785080;--muted:#91808b;--gold:#bc8d3d;--purple:#785080}
body{background:radial-gradient(ellipse at 0 0,#eadbf0 0,transparent 42%),radial-gradient(ellipse at 100% 100%,#f2ddb2 0,transparent 45%),#f8f1e6}
button{border-color:#e3d7cd;border-radius:14px;background:#fffaf2;color:#59445e}
button:hover{background:#f2e7f0;border-color:#b69abb}button.primary,button.active{background:#785080;border-color:#785080;color:#fffaf2}
.workspace{max-width:1600px;padding:28px 42px 18px}.scene-header{margin-bottom:20px}.scene-header .eyebrow{color:#ad874a;font-size:12px;letter-spacing:3px}.scene-header h1{font-size:clamp(27px,2.8vw,42px);font-family:'Songti SC','STSong',serif;letter-spacing:1px;margin:8px 0}.scene-header p{color:#97878b;font-size:16px}.chapter-mark{font:italic 62px Georgia,serif;color:#c5ab82;opacity:.45;padding-right:10px}
.board{background:#fffdf6;border-color:#e5d6bd;border-radius:28px;box-shadow:0 14px 45px #83633d0d;min-height:0}.board-pad{padding:24px 32px}
.hero{grid-template-columns:1.24fr 1fr;min-height:0}.hero img{min-height:0;height:100%;max-height:none}.hero-copy{background:linear-gradient(110deg,#fff7e6,#fcf0dc);padding:clamp(25px,4vw,65px)}.hero-copy h2{font-size:clamp(30px,3.3vw,49px);color:#644566}.hero-copy p{color:#8b7665;font-size:clamp(16px,1.45vw,21px);line-height:1.95}.hero-copy button{padding:14px 26px;box-shadow:0 5px 0 #59365f1c}.hero-copy .book-label{color:#af8c4e}
.tools .hint,.direction,.challenge-options p{color:#96858a}.people{background:radial-gradient(ellipse at 50% 100%,#eddede70,transparent 70%);border-color:#eee2d1;padding-bottom:12px}.person:hover{background:#f8eef1}.person.selected{background:#f1e5f17a;border-color:#ac80b4}.person.target{border-color:#d0ad68;background:#fff2d950}.person strong{color:#665164;background:#f3eadd;font-size:20px}.person .badge{color:#785080}.tile.selected,.row.selected{background:#f1e3f2;border-color:#9c6baa;box-shadow:0 0 0 3px #9c6baa12}.tile.selected:after{background:#8c6095}.feedback{background:#f5f0e7;color:#887969;border-radius:14px}.feedback.correct{background:#edf2e2;color:#5b7045}.panel{background:#f9f1e7}.queue-label{background:#f0e5f1;color:#785080}.number-input input{color:#785080;border-color:#ded0df}.game-progress i{background:#a884b1}.game-progress{background:#ede3ee}.team-card{background:#fffaf0;border-color:#ecdfca}.page-dots button{background:#dfcfc3}.page-dots button.active{background:#ac839e;width:26px}.page-dots{gap:9px}.footer{gap:15px;margin-top:18px;min-height:48px;position:relative}.counter{font-size:13px;color:#a58f8a;min-width:48px;text-align:center;font-variant-numeric:tabular-nums}.page-controls{display:flex;align-items:center;gap:8px}.page-arrow{width:48px;height:46px;padding:0;font-size:23px}.lesson-utilities{display:flex;gap:8px;position:relative;z-index:5}.lesson-menu summary{list-style:none;cursor:pointer;padding:12px 15px;color:#96838a;font-size:14px;border-radius:12px}.lesson-menu summary::-webkit-details-marker{display:none}.lesson-menu summary:hover,.lesson-menu[open]>summary{background:#efe3e6;color:#785080}.lesson-menu .menu-popover{position:absolute;bottom:60px;left:0;width:300px;max-width:calc(100vw - 48px);max-height:min(65dvh,500px);overflow:auto;background:#fffcf5;border:1px solid #e6d7ce;border-radius:20px;padding:22px;box-shadow:0 10px 60px #67416a26}.menu-popover>strong{display:block;font:20px 'Songti SC',serif;margin:0 0 14px;color:#785080}.menu-popover .stages{display:grid;gap:7px;padding:0}.menu-popover .stages button{border:0;border-radius:9px;padding:12px;text-align:left;color:#887082;background:#f7f0e8;flex:none}.menu-popover .stages button.active{color:#fff;background:#9a77a1}.utility-popover>button{display:block;width:100%;text-align:left;margin-bottom:8px}.utility-popover small{display:block;font-size:11px;color:#a59591;margin-top:16px;line-height:1.7}.teacher-note{color:#8a7782;display:block!important}.teacher-note summary{padding:10px 0}.teacher-note p{font-size:13px;line-height:1.8}.student-status{font-size:12px!important}.student-follow .footer{display:none!important}.student-follow .workspace{padding-bottom:72px}.student-follow .scene-header{padding-top:10px}
@media(min-width:800px){body{height:100dvh;overflow:hidden}#lesson{height:100%;display:flex;flex-direction:column}.workspace,:root:fullscreen .workspace{display:flex;flex-direction:column;width:100%;height:100%;flex:1;min-height:0;padding:26px 38px 16px}.scene-header{flex:none}.board{flex:1;min-height:0;overflow:auto}.footer{flex:none}.hero,.hero img,:root:fullscreen .hero,:root:fullscreen .hero img{height:100%;max-height:none;min-height:0}.scene-count .character,.scene-position .character,.scene-queue .character,:root:fullscreen .scene-count .character,:root:fullscreen .scene-position .character,:root:fullscreen .scene-queue .character{height:clamp(140px,calc(100dvh - 580px),350px);max-height:350px}.scene-count .answer-row:has(label),.scene-position .answer-row:has(label){display:none}.scene-count .people,.scene-position .people{margin:8px 0 12px}.scene-count .feedback,.scene-position .feedback{min-height:42px;padding:10px 15px}.scene-count .tools,.scene-position .tools{margin-bottom:5px}.scene-count .actions,.scene-position .actions{margin-top:9px}.scene-position .direction{margin:5px 0}.scene-position .character,:root:fullscreen .scene-position .character{height:clamp(115px,calc(100dvh - 620px),315px)}:root:fullscreen .scene-header h1{font-size:clamp(27px,2.8vw,42px)}:root:fullscreen .scene-header{margin-bottom:20px}.opening-page .scene-header h1{font-size:25px}.opening-page .scene-header p{display:none}}
@media(min-width:800px) and (max-height:800px){.workspace,:root:fullscreen .workspace{padding:18px 26px 12px}.scene-header,:root:fullscreen .scene-header{margin-bottom:12px}.scene-header h1,:root:fullscreen .scene-header h1{font-size:28px}.scene-header p{font-size:14px}.chapter-mark{font-size:48px}.board-pad,:root:fullscreen .board-pad{padding:16px 22px}.person strong{font-size:17px}.footer{margin-top:12px}.scene-count .character,:root:fullscreen .scene-count .character{height:calc(100dvh - 550px)}.scene-position .character,:root:fullscreen .scene-position .character{height:calc(100dvh - 590px)}}
@media(max-width:799px){.workspace{padding:24px 18px 16px}.chapter-mark{font-size:42px}.scene-header{margin-bottom:18px}.scene-header h1{font-size:27px}.hero,.hero img{max-height:none}.hero{grid-template-columns:1fr}.hero img{height:260px}.hero-copy{padding:28px}.hero-copy h2{font-size:32px}.hero-copy p{font-size:17px}.board-pad{padding:18px 12px}.footer{gap:5px}.page-dots{display:none}.lesson-menu summary{padding:12px 8px}.person strong{font-size:13px;padding:4px 8px}.page-controls{gap:5px}.page-arrow{width:42px;height:44px}.counter{min-width:38px}.student-follow .workspace{padding-bottom:70px}}
/* 0922 teaching sequence: ten characters, original relative heights, same baseline. */
.ten-people{--wizard-height:clamp(150px,calc(100dvh - 570px),330px);grid-template-columns:repeat(10,minmax(0,1fr));align-items:end;gap:8px;padding:22px 4px 36px;position:relative;margin:12px 0 20px;background:radial-gradient(ellipse at 50% 100%,#efe1d788,transparent 75%)}
.ten-people .person{padding:4px 0 8px;display:flex;justify-content:center;align-items:end;min-height:0;border-radius:15px;position:relative;overflow:visible}
.wizard-sprite{display:block;position:relative;height:calc(var(--wizard-height) * var(--person-height));overflow:hidden;pointer-events:none;flex:none;max-width:none}.wizard-sprite img{position:absolute;max-width:none;pointer-events:none;user-select:none}
.ten-people .person .badge{top:auto;bottom:-22px;left:50%;transform:translateX(-50%);font-size:13px;padding:2px 7px;background:#f5ecdb;z-index:2}
.ten-people .person.stepped-out{transform:translateY(29px);background:#f3e9f8;border-color:#b695be;box-shadow:0 5px 18px #91659a16}
.origin-label{position:absolute;bottom:-34px;left:50%;transform:translateX(-50%);font-size:13px;white-space:nowrap;color:#875b93;background:#fff9ed;padding:5px 8px;border-radius:8px;z-index:3}.direction-reason{display:flex;justify-content:space-around;gap:25px;padding:20px;text-align:center;color:#82658c}.direction-reason div{display:flex;flex-direction:column;gap:8px}.direction-reason b{font-size:23px;color:#aa8550}.lesson-takeaway,.blackboard{padding:14px 20px;text-align:center;background:#f4eddf;border-radius:13px;font-size:19px;color:#967c56;margin-top:16px}
.warmup,.summary-page{min-height:100%;padding:40px;text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center;background:radial-gradient(ellipse at center,#fffaf0,#fbf0df)}.warmup-star{font-size:60px;color:#d4ad67;line-height:1.2;margin-bottom:20px}.warmup h2{font:clamp(30px,4vw,55px) 'Songti SC',serif;color:#805786;margin:25px 0}.warmup p,.summary-page>p{color:#9a858e;line-height:1.9}.gesture-steps{display:flex;gap:10px;margin:22px 0}.gesture-steps span{width:10px;height:10px;background:#e4d4c9;border-radius:50%}.gesture-steps .active{background:#aa85ad;width:28px;border-radius:15px}.book-label{font-size:12px;letter-spacing:2px;color:#b0915c}
.scene-ambiguous .people{margin-top:25px;margin-bottom:30px}.scene-position .blackboard{font-size:16px;padding:10px}.scene-compare .panel h3{font-size:20px;margin:14px 0}.scene-compare .panel p{font-size:13px;color:#9a8894}.locked-clue{display:flex;justify-content:center;align-items:center;flex-direction:column;min-height:170px;background:#f6efe6}.sealed-star{font-size:42px;color:#d0b590}.bus-picture{width:min(730px,100%);aspect-ratio:1030/490;position:relative;overflow:hidden;margin:0 auto;background:#fff;border-radius:16px}.bus-picture img{position:absolute;left:0;top:-24.49%;width:100%;height:auto;max-width:none}.bus-front{position:absolute;left:52%;top:88%;font-size:13px;color:#9b7651;background:#fff7e8;padding:5px 10px;border-radius:10px}.bus-target{position:absolute;left:31%;top:57%;width:6.5%;height:39%;border:2px solid #7e93b666;border-radius:15px;pointer-events:none}.bus-answers{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;font-size:17px;line-height:2;margin-top:15px}.bus-answers input{width:58px;height:45px;text-align:center;font-size:24px;border:1px solid #d7c7d9;border-radius:10px;background:#fffcfa;color:#805788}.discussion-prompt{text-align:center;color:#a18b90;font-size:14px;margin-bottom:0}.grid-exercise{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center;max-width:900px;margin:auto}.grid-copy h2{font-family:'Songti SC',serif;font-size:32px;line-height:1.8;margin:15px 0;color:#79547e}.grid-copy p{line-height:1.9;color:#a18a94}.summary-page h2{font:clamp(25px,3vw,40px) 'Songti SC',serif;color:#7b5283;margin:22px 0}.summary-pair{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin:20px 0;max-width:900px;width:100%}.summary-pair>div{padding:25px;background:#fffcf3;border-radius:20px;border:1px solid #eadcc4}.summary-pair strong{font-size:28px;color:#8c6191}.summary-pair p,.summary-pair span{color:#a48a71}.mini-stars{font-size:24px;color:#bd9858;line-height:2.4;white-space:nowrap}.mini-stars b{color:#815586}.summary-page .blackboard{min-width:70%}.game-wizards{--wizard-height:160px;gap:3px;padding:20px 0 5px}.team-card .wizard-sprite{height:calc(125px * var(--person-height))}.team-card .bus-picture{max-height:220px}.team-card .grid-board{max-width:260px}.team-card .grid-board button{height:47px;padding:4px}.team-card .grid-board .shape{width:23px;height:23px}.team-card .grid-board .shape.rect{width:33px;height:20px}.student-follow [data-action="step-next"]{display:none}
@media(min-width:800px){.scene-ambiguous .ten-people{--wizard-height:clamp(170px,calc(100dvh - 560px),340px)}.scene-position .ten-people{--wizard-height:clamp(150px,calc(100dvh - 580px),315px)}.scene-bus .board-pad{padding-top:14px}.scene-bus .bus-picture{height:min(34dvh,330px);width:auto;max-width:100%}.scene-bus .feedback{margin-top:12px}.scene-bus .actions{margin-top:12px}.scene-bus .bus-answers{margin-top:8px}.scene-shelf .shelves{padding-top:0}.scene-drawer .cabinet{width:210px}.scene-grid-left .grid-board,.scene-grid-top .grid-board{margin:0 auto}}
@media(max-width:1050px){.ten-people{gap:3px;--wizard-height:180px}.scene-ambiguous .ten-people,.scene-position .ten-people{--wizard-height:190px}.ten-people .origin-label{font-size:10px}.grid-copy h2{font-size:26px}.bus-answers{gap:12px;font-size:15px}.warmup,.summary-page{padding:25px}.summary-pair{gap:15px}.summary-pair>div{padding:18px 12px}}
@media(max-width:799px){.ten-people{--wizard-height:125px;gap:1px;padding-bottom:30px}.scene-ambiguous .ten-people,.scene-position .ten-people{--wizard-height:125px}.ten-people .person{border-radius:8px}.origin-label{font-size:9px;padding:4px}.scene-ambiguous .board-pad{padding:14px 5px}.direction-reason{font-size:13px;gap:5px;padding:15px 3px}.direction-reason b{font-size:18px}.lesson-takeaway,.blackboard{font-size:15px;padding:12px}.grid-exercise{grid-template-columns:1fr;gap:15px}.grid-copy{padding:0 8px}.grid-copy h2{font-size:24px}.bus-picture{border-radius:8px}.bus-answers{align-items:center;flex-direction:column;gap:8px}.bus-front{font-size:9px;padding:2px 5px}.warmup h2{font-size:29px}.warmup-star{font-size:45px}.summary-pair{grid-template-columns:1fr}.summary-page .blackboard{min-width:0}.team-card .wizard-sprite{height:calc(75px * var(--person-height))}.scene-compare .comparison{grid-template-columns:1fr}.scene-compare .panel .tile-line{grid-template-columns:repeat(9,minmax(0,1fr));gap:3px}.scene-compare .panel{padding:14px}}
@media(prefers-reduced-motion:no-preference){.ten-people .person{transition:transform .6s ease,background .2s,border-color .2s}.stepped-out .wizard-sprite{animation:stepForward .5s ease-out}@keyframes stepForward{from{transform:translateY(-25px)}to{transform:translateY(0)}}}
@media(min-width:800px){.scene-count .ten-people{--wizard-height:clamp(130px,calc(100dvh - 670px),300px)}.scene-ambiguous .ten-people{--wizard-height:clamp(150px,calc(100dvh - 640px),315px)}.scene-position .ten-people{--wizard-height:clamp(130px,calc(100dvh - 625px),310px)}}

@media(max-width:799px){.ten-people,.scene-ambiguous .ten-people,.scene-position .ten-people{--wizard-height:min(125px,calc((100vw - 70px) * .23))}}
/* Keep the complete teacher prompt and feedback visible at classroom resolutions. */
@media(min-width:800px){.scene-ambiguous .ten-people{--wizard-height:clamp(130px,calc(100dvh - 695px),315px)}.scene-position .ten-people{--wizard-height:clamp(130px,calc(100dvh - 640px),300px)}.scene-shelf .tools,.scene-drawer .tools,.scene-compare .tools{margin-bottom:10px}.scene-shelf .actions,.scene-drawer .actions,.scene-compare .actions{margin-top:10px}.scene-shelf .feedback,.scene-drawer .feedback,.scene-compare .feedback{margin-top:10px;padding:10px 15px;min-height:42px}.scene-compare .panel{padding:16px}}
@media(min-width:800px) and (max-height:800px){.scene-shelf .board-pad,.scene-drawer .board-pad,.scene-compare .board-pad{padding-top:10px;padding-bottom:10px}.scene-shelf .shelves{padding-bottom:0}.scene-shelf .row,.scene-drawer .row{height:27px;min-height:27px}.scene-compare .panel{padding:12px}.scene-compare .panel h3{margin:8px 0;font-size:18px}.scene-compare .panel .tile-line{padding:10px 0}.scene-compare .lesson-takeaway{margin-top:10px;padding:10px}.summary-page{padding-top:14px;padding-bottom:14px}}
@media(min-width:800px) and (max-height:800px){.scene-shelf .board-pad,.scene-drawer .board-pad{padding-top:8px;padding-bottom:8px}}

/* 0922 review: full-width envelope rows and a deterministic textbook crop. */
.scene-compare .large-envelopes{grid-template-columns:1fr;gap:12px}
.scene-compare .large-envelopes .panel{padding:10px 18px}
.scene-compare .large-envelopes h3{font-size:19px;margin:4px 0 6px}
.scene-compare .large-envelopes .tile-line{grid-template-columns:repeat(9,minmax(0,1fr));gap:12px;padding:6px 0}
.scene-compare .large-envelopes .envelope{max-height:60px}
.scene-compare .large-envelopes .tile{padding:5px 3px}
.scene-bus .bus-picture{width:min(730px,70dvh,100%);height:auto;aspect-ratio:1030/490}
.bus-picture img{display:block;width:100%;height:auto}
.team-card .bus-picture{width:min(460px,100%);height:auto;max-height:none}
@media(max-width:799px){.scene-compare .large-envelopes .panel{padding:10px 8px}.scene-compare .large-envelopes h3{font-size:16px}.scene-compare .large-envelopes .tile-line{gap:8px;grid-template-columns:repeat(9,54px);overflow-x:auto;padding:8px 2px 12px}.scene-compare .large-envelopes .tile{min-height:48px}.scene-compare .large-envelopes .envelope{height:33px}.scene-compare .large-envelopes .panel:after{content:'左右滑动查看完整队伍';font-size:11px;color:#a18a94}.scene-bus .bus-picture{width:100%}}
