/* Teacher typography and composition follow the approved Lesson 03 classroom.
   Lesson-specific board geometry remains in teacher.css. */
:root{--bar:74px;--ink:#173f3e;--muted:#60756c;--paper:#f5f1e5;--gold:#e9ce94;color:var(--ink);background:var(--paper)}
html,body{height:100%;overflow:hidden}
button{padding:11px 17px;line-height:1.35}
h1,h2,h3,p,figure{margin:0}
#classroom{height:calc(100% - var(--bar));overflow:auto}
.slide{height:100%;min-height:560px;max-width:1700px;margin:auto;padding:28px 4vw}
.slide.active{justify-content:center;gap:20px}
.slide-heading{display:flex;gap:20px;align-items:center;flex-shrink:0}
.slide-heading>div{min-width:0}
.slide h2,.slide[data-id="compare"] h2,.slide[data-id="method"] h2{font-size:clamp(32px,3.2vw,50px);line-height:1.25;letter-spacing:-.025em;margin:0}
.kicker{font-size:18px;line-height:1.65;letter-spacing:.14em;color:#947036;margin:0 0 12px}
.content{grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:36px;flex:0 1 auto;align-items:center;min-height:0}
.copy{display:grid;gap:18px;min-width:0}
.copy p,.slide[data-id="answers"] .copy>p{font-size:clamp(22px,2vw,31px);line-height:1.5;margin:0}
.question{font-size:clamp(25px,2.15vw,34px);font-weight:600;line-height:1.4;padding:16px 22px;border-left:5px solid #50836f;background:#e6ebdf;border-radius:0 12px 12px 0;margin:0}
.visual{gap:0}
.visual>img{display:block;height:44vh;max-height:490px;min-height:180px;border-radius:0;background:transparent}
.visual figcaption{font-size:13px;line-height:1.6;color:var(--muted);padding-top:9px}
.paired{gap:26px}
.paired img{height:38vh;min-height:180px;border-radius:0;background:transparent}
.paired small{font-size:14px;line-height:1.6;color:var(--muted);margin:9px 0 0}
.slide:has(.paired) .content{grid-template-columns:.86fr 1.14fr}
.hero{max-width:none;padding:35px 5vw!important;gap:0!important}
.hero-copy{width:47%;display:grid;gap:22px}
.hero .kicker{font-size:23px;color:var(--gold);margin:0}
.hero h2{font-size:clamp(48px,5.5vw,84px);line-height:1.25;letter-spacing:.015em;margin:0}
.hero .copy{width:100%;max-width:none;gap:18px}
.hero .copy p{font-size:clamp(28px,3vw,43px);line-height:1.5;text-wrap:balance}
.hero .copy p+p{font-size:21px;line-height:1.6;color:#e1e8d8}
.hero .credit{right:26px;bottom:20px;font-size:13px}
.bar-hidden .hero .credit{bottom:78px}
.rest .rest-card{max-width:500px;padding:28px 34px}
.rest .kicker{color:#947036}
.rest h2{font-size:clamp(37px,3.8vw,58px);line-height:1.26;margin:12px 0 18px}
.rest p{font-size:clamp(22px,2vw,31px);line-height:1.65}
.rest .clock{font-size:85px;line-height:1.15;font-weight:600;letter-spacing:.07em;margin:20px 0}
.rest .credit{background:#113c3ded;color:#fff7e7;padding:6px 10px;border-radius:6px}
.btn-row{gap:12px;align-items:center;margin-top:18px}
.btn-row button{font-size:19px}
.activity-icon{position:static;width:68px;height:68px;margin:0;flex-shrink:0;background:#fffcf4;border:1px solid #d6dece;border-radius:18px;padding:6px}
.board-caption{font-size:16px;line-height:1.5;margin:12px 0 0}
.col-nums{font-size:20px;margin:10px auto 0}
.slide[data-id="rules"],.slide[data-id="compare"],.slide[data-id="method"]{padding:28px 4vw}
.slide[data-id="rules"] .visual{gap:7px}
.slide[data-id="rules"] .boardwrap{max-width:290px}
.slide[data-id="rules"] .board-caption{font-size:16px;line-height:1.5;margin:0}
.slide[data-id="rules"] .cols{margin:3px 0;gap:8px}
.slide[data-id="rules"] .cols button{font-size:17px;padding:8px 14px}
.slide[data-id="rules"] #ruleReset{align-self:center;font-size:19px}
.slide[data-id="rules"] .directions{margin-top:4px}
.slide[data-id="rules"] .direction small{font-size:16px}
.slide[data-id="entry"] .visual{gap:10px}
.slide[data-id="entry"] .visual>img{height:24vh;min-height:150px}
.slide[data-id="entry"] .code-card{font-size:clamp(40px,4.3vw,65px);font-weight:700;letter-spacing:.09em;padding:16px 24px}
.slide[data-id="entry"] .board-caption{font-size:18px;line-height:1.5;margin:0}
.slide[data-id="entry"] .visual>a{font-size:19px}
.slide[data-id="entry"] #backup{font-size:19px}
.slide.win .boardwrap,.slide.play .boardwrap,.slide.transfer .boardwrap{max-width:360px}
.slide.win .board-caption,.slide.play .board-caption,.slide.transfer .board-caption{font-size:16px;line-height:1.5;margin-top:12px}
.slide.win .btn-row,.slide.play .btn-row,.slide.transfer .btn-row{justify-content:center;margin-top:18px}
.compact-head{align-items:center;gap:32px;flex-shrink:0}
.compact-head>div{flex:1.05;min-width:0}
.compact-head .intro{flex:1;font-size:clamp(22px,2vw,31px);line-height:1.5;margin:0;max-width:none}
.compare-grid{width:100%;max-width:1100px;gap:28px;margin:0 auto}
.slide[data-id="compare"] .branch{padding:16px 22px}
.slide[data-id="compare"] .branch h3{font-size:26px;line-height:1.4;margin:0 0 12px}
.slide[data-id="compare"] .boardwrap{max-width:285px}
.slide[data-id="compare"] .branch .board{max-width:280px}
.slide[data-id="compare"] .branch .cell{font-size:22px}
.slide[data-id="compare"] .col-nums{font-size:18px;margin-top:7px}
.slide[data-id="compare"] .branch .btn-row{margin-top:12px}
.slide[data-id="compare"] .branch button{font-size:19px;padding:10px 14px}
.slide[data-id="compare"] .result{font-size:20px;line-height:1.5;min-height:60px;margin-top:12px}
.slide[data-id="compare"]>.btn-row{margin:0;justify-content:center}
.algorithm{grid-template-columns:.72fr 1.28fr;gap:28px;align-items:start}
.slide[data-id="method"] .boardwrap{max-width:300px}
.slide[data-id="method"] .cell{font-size:22px}
.slide[data-id="method"] .col-nums{font-size:18px;margin-top:8px}
.slide[data-id="method"] .btn-row{margin-top:18px}
.slide[data-id="method"] .btn-row button{font-size:19px;padding:11px 17px}
.slide[data-id="method"] .method-steps{gap:6px;margin-bottom:18px}
.method-steps span{flex:1;text-align:center;font-size:18px;padding:10px 6px}
.slide[data-id="method"] .algo-text{font-size:24px;line-height:1.6;min-height:90px}
.slide[data-id="method"] .reply-grid{margin:18px 0;gap:10px}
.reply-grid button{font-size:21px;padding:13px 5px}
.reply-grid small{font-size:16px}
.slide[data-id="method"] .board-caption{font-size:16px;line-height:1.5;margin-top:12px}
.source-tag{font-size:19px;line-height:1.6;margin-top:18px;color:var(--muted)}
.slide.handbook .visual>img{height:53vh;max-height:560px}
.slide[data-id="answers"] .answer-list{display:grid;gap:15px}
.slide[data-id="answers"] .copy>p,.slide[data-id="answers"] .answer-list p{text-wrap:balance}
.slide[data-id="answers"] .answer-list p{font-size:clamp(22px,2vw,31px);line-height:1.5;margin:0;padding:0;border:0;text-wrap:initial}
.slide[data-id="answers"] .boardwrap{max-width:360px}
.summary-boards{gap:26px}
.object-labels{display:grid;grid-template-columns:1fr 1.4fr 1fr;text-align:center;font-size:19px;font-weight:600;line-height:1.5;margin-top:10px}
.slide[data-id="answers"] .answer-switch{margin-top:0}
.answer-switch button[aria-pressed="true"]{background:var(--ink);color:#fff5df;border-color:var(--ink)}
#answerEggView{width:100%}
#answerEggView>img{width:100%;height:38vh;max-height:440px;min-height:180px;object-fit:contain;cursor:zoom-in;display:block}
#answerEggView .btn-row{justify-content:center}
.slide.handbook .btn-row{justify-content:center;margin-top:12px}
#toolbar{height:var(--bar);display:grid;grid-template-columns:minmax(200px,1fr) auto minmax(500px,1.4fr);gap:20px;padding:10px 14px;background:#103e40;border-top:1px solid #3a6863}
#toolbar button,#toolbar select{font-size:14px;padding:9px 8px;white-space:nowrap;background:#184e4d;border-color:#557c70}
#toolbar #next{background:var(--gold);color:var(--ink)}
#toolbar a{font-size:14px}
#toolbar .paging{position:static;transform:none;justify-content:center;gap:14px}
#pageStatus{font-size:18px;min-width:60px;white-space:nowrap}
#toolbar .tools{justify-content:flex-end;gap:5px}
.bar-hidden #classroom{height:100%}
#helpDialog{max-width:800px}
#helpDialog h2{font-size:30px}
#helpDialog p{font-size:19px;line-height:1.65;margin-bottom:15px}
@media(max-height:760px) and (min-width:901px){
 :root{--bar:64px}
 .slide,.slide[data-id="rules"],.slide[data-id="compare"],.slide[data-id="method"]{padding:20px 4vw;min-height:530px}
 .slide.active{gap:16px}
 .slide-heading{gap:15px}
 .activity-icon{width:50px;height:50px;border-radius:13px}
 .slide h2,.slide[data-id="compare"] h2,.slide[data-id="method"] h2{font-size:34px}
 .content{gap:25px}
 .copy{gap:12px}
 .copy p,.slide[data-id="answers"] .copy>p{font-size:24px}
 .question{font-size:26px;padding:13px 18px}
 .visual>img{height:48vh}
 .hero{padding:23px 4.8vw!important}
 .hero-copy{gap:18px}
 .hero h2{font-size:64px}
 .hero .copy p{font-size:33px}
 .hero .copy p+p{font-size:20px}
 .rest h2{font-size:clamp(37px,3.8vw,58px)}
 .rest p{font-size:24px}
 .rest .rest-card{padding:24px 30px}
 .rest .clock{font-size:75px;margin:16px 0}
 .btn-row button,.slide[data-id="compare"] .branch button,.slide[data-id="method"] .btn-row button{font-size:17px;padding:10px 14px}
 .slide[data-id="rules"] .boardwrap{max-width:260px}
 .slide[data-id="rules"] .visual{gap:5px}
 .slide[data-id="rules"] .board-caption{font-size:15px}
 .slide[data-id="rules"] #ruleReset{font-size:17px;padding:8px 14px}
 .slide[data-id="entry"] .visual{gap:8px}
 .slide[data-id="entry"] .code-card{padding:12px 20px}
 .slide[data-id="entry"] #backup{font-size:17px;padding:9px 14px}
 .slide.win .boardwrap,.slide.play .boardwrap,.slide.transfer .boardwrap{max-width:335px}
 .compact-head .intro{font-size:24px}
 .slide[data-id="compare"] .branch{padding:12px 18px}
 .slide[data-id="compare"] .branch h3{font-size:24px;margin-bottom:9px}
 .slide[data-id="compare"] .boardwrap{max-width:245px}
 .slide[data-id="compare"] .branch .board{max-width:240px}
 .slide[data-id="compare"] .result{font-size:19px;min-height:57px;margin-top:8px}
 .slide[data-id="compare"] .branch .btn-row{margin-top:9px}
 .slide[data-id="method"] .boardwrap{max-width:270px}
 .slide[data-id="method"] .method-steps{margin-bottom:16px}
 .method-steps span{font-size:16px}
 .slide[data-id="method"] .algo-text{font-size:22px}
 .slide[data-id="method"] .reply-grid{margin:12px 0}
 .reply-grid button{font-size:19px;padding:10px 5px}
 .slide[data-id="method"] .btn-row{margin-top:12px}
 .source-tag{font-size:18px}
 .slide[data-id="answers"] .answer-list p{font-size:24px}
 #toolbar{grid-template-columns:minmax(190px,1fr) auto auto;gap:12px}
 #toolbar button,#toolbar select{font-size:13px;padding:8px 7px}
 #toolbar .paging{gap:10px}
}
@media(max-width:1100px){#toolbar{grid-template-columns:150px auto 1fr;gap:8px}#toolbar .tools{flex-wrap:wrap}#toolbar button,#toolbar select{font-size:12px;padding:6px}#replayMotion{display:none}.content{gap:24px}}
@media(max-width:900px){
 :root{--bar:104px}
 .slide,.slide[data-id="rules"],.slide[data-id="compare"],.slide[data-id="method"]{height:auto;min-height:100%;padding:24px}
 .content,.slide:has(.paired) .content,.algorithm{grid-template-columns:1fr}
 .hero{height:100%;min-height:100%;padding:28px 22px!important}
 .hero-copy{width:80%}.hero h2{font-size:52px}.hero .copy p{font-size:31px}
 .paired{gap:15px}.compare-grid{gap:12px}.compact-head{display:block}.compact-head .intro{margin-top:16px}
 #toolbar{height:auto;min-height:var(--bar);grid-template-columns:1fr auto}
 #toolbar .tools{grid-column:1/-1;justify-content:center}
 .slide[data-id="method"] .reply-grid{grid-template-columns:repeat(4,1fr)}
}

/* The final Lesson 03 scale also applies to ordinary questions and required answers. */
.slide[data-id="story"] .content{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}
.demo-reset-note{display:block;width:100%;font-size:13px;line-height:1.5;text-align:center;color:var(--muted)}
.slide[data-id="answers"] .content{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center}
.slide[data-id="answers"] .copy{gap:14px}
.slide[data-id="answers"] .answer-list{gap:14px}
.slide[data-id="answers"] .answer-list .review-question{font-size:clamp(25px,2.15vw,34px);font-weight:600;line-height:1.4}
.question-tabs{margin:0;gap:9px}
.question-tabs button[aria-pressed="true"]{background:#205b55;color:#fff2ce}
.review-conclusion{color:#185b51}
.answer-board-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.answer-board-pair .board{padding:7px;gap:3px;border-width:4px}
.answer-board-pair .cell{font-size:19px}
.answer-board-pair .board-caption{font-size:21px;line-height:1.45;margin:12px 0 0}
.review-branches{display:block;margin-top:10px}
.answer-depth{display:flex;align-items:center;gap:8px;margin-top:28px;font-size:20px;line-height:1.5}
.answer-depth span{padding:10px;border:1px solid #9fb0a4;background:#eef0e4;border-radius:8px;flex:1}
.answer-depth .unsearched{border-style:dashed;background:transparent}
.slide[data-id="entry"] .content{grid-template-columns:minmax(0,1.08fr) minmax(0,1fr)}
.slide[data-id="entry"] .visual>img{height:45vh}
.slide[data-id="entry"] .copy .board-caption{font-size:clamp(18px,1.35vw,23px);line-height:1.5;text-align:left}
.slide[data-id="entry"] .btn-row{margin:0}
.slide[data-id="entry"] .copy>p:last-child{font-size:clamp(22px,2vw,31px)}
#teacherResult{width:min(700px,88vw);text-align:center;padding:34px 42px;box-shadow:0 20px 80px #092a3155}
#teacherResult h2{font-size:34px;line-height:1.4;margin:12px 0 20px}
#teacherResult p{font-size:25px;line-height:1.5;margin:16px 0}
#teacherResult .result-keep{font-size:18px;color:var(--muted)}
#teacherResult .result-icon{font-size:46px;color:#c59944}
#teacherResult button{font-size:21px;margin-top:10px}
#hiddenHelp{position:fixed;right:150px;bottom:15px;z-index:12;background:#173e42;color:#fff0c7}
@media(max-height:760px) and (min-width:901px){
 .slide[data-id="answers"] .copy,.slide[data-id="answers"] .answer-list{gap:10px}
 .slide[data-id="answers"] .answer-list .review-question{font-size:26px}
 .slide[data-id="answers"] .answer-switch,.question-tabs{gap:8px}
 .slide[data-id="answers"] .btn-row button{padding:8px 12px}
 .slide[data-id="entry"] .copy>p:last-child{font-size:24px}
 .slide[data-id="entry"] .code-card{font-size:43px;padding:10px 16px}
}
@media(max-width:900px){
 .slide h2,.slide[data-id="compare"] h2,.slide[data-id="method"] h2{font-size:30px}
 .copy p,.compact-head .intro,.slide[data-id="answers"] .answer-list p{font-size:21px}
 .question,.slide[data-id="answers"] .answer-list .review-question{font-size:25px}
 .slide[data-id="story"] .content,.slide[data-id="answers"] .content{grid-template-columns:1fr}
 .slide[data-id="entry"] .content{grid-template-columns:1fr}
}

/* Lesson 06: one concrete teaching example, reveal after students compare. */
.slide[data-id="accounting-need"] .copy{gap:12px}
.slide[data-id="accounting-need"] .copy>p{font-size:28px;line-height:1.4}
.slide[data-id="accounting-need"] .question{font-size:29px}
.history-example{display:grid;gap:10px}
.history-example>small{font-size:18px;color:#47665b}
.ledger-records{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ledger-records span{padding:12px;background:#fff5dd;border:1px solid #baa779;border-radius:8px;font-size:25px;font-weight:700}
.history-example button{justify-self:start}
.history-example [role="status"]{padding:8px 12px;background:#edf3e6;border-left:4px solid #65865e}
.history-example [role="status"] p{font-size:24px;line-height:1.4;margin:0}
.history-example [role="status"] p+p{margin-top:6px}
@media(max-height:800px){
 .slide[data-id="accounting-need"] .copy{gap:8px}
 .slide[data-id="accounting-need"] .copy>p{font-size:24px}
 .slide[data-id="accounting-need"] .question{font-size:26px}
 .history-example{gap:7px}
 .ledger-records span{font-size:23px;padding:8px}
 .history-example [role="status"] p{font-size:22px}
 .history-example button{padding:7px 12px}
}

/* 2026-09-29: match approved Lesson 03 page types and navigation. */
a{color:inherit;text-underline-offset:4px}
a:focus-visible{outline:3px solid #c49338;outline-offset:3px}
.slide.history .slide-heading .kicker,
.slide.portal .slide-heading .kicker,.slide.handbook .slide-heading .kicker,
.slide.rules .slide-heading .kicker,.slide.summary .slide-heading .kicker,
.slide[data-id="answers"] .slide-heading .kicker{display:none}
.activity-icon{background:transparent;border:0;border-radius:0;padding:0}
.slide.history .content,.slide.photo .content,.slide.handbook .content{grid-template-columns:minmax(0,1.08fr) minmax(0,1fr)}
.slide[data-id="story"] .content{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}
.slide.history:has(.paired) .content{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}
.slide.history .visual>img,.slide.photo .visual>img{width:100%;object-fit:contain}
.source-button{align-self:flex-start;justify-self:start;margin-top:8px;padding:5px 10px;font-size:14px;color:var(--muted);background:transparent;border-color:#bccbbe}
.evidence-gallery{display:grid;grid-template-columns:1fr 1fr;gap:16px;width:100%}
.evidence-gallery img{display:block;object-fit:contain;width:100%;height:19vh;min-height:100px;max-height:210px;cursor:zoom-in}
.evidence-gallery small{display:block;font-size:18px;line-height:1.5;text-align:center;margin-top:5px}
.evidence-pair img{height:32vh;max-height:350px;min-height:180px}
.evidence-recall{font-size:clamp(20px,1.6vw,25px);line-height:1.5;margin-top:10px;text-align:left}
.slide[data-id="heritage"] .content{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}
#sourceDialog{width:min(900px,90vw);max-height:85vh;overflow:auto}
#sourceDialog h2{font-size:26px;line-height:1.4}
#sourceDialog h3{font-size:21px;line-height:1.4;margin:0 0 6px}
#sourceDialog p,#sourceDialog a{font-size:18px;line-height:1.6;margin:5px 0}
#sourceDialog article{padding:16px 0;border-top:1px solid #c8d2c1}
#sourceDialog .source-kind{margin:10px 0 20px;color:var(--muted)}
.slide.history .history-example [role="status"] p{font-size:clamp(21px,1.65vw,26px)}
@media(max-height:760px) and (min-width:901px){.slide.history .copy{gap:10px}.slide.history .history-example{gap:6px}.slide.history .history-example [role="status"] p{font-size:22px}.source-button{margin-top:5px;padding:4px 9px}}
.slide[data-id="accounting-need"] .content{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.slide[data-id="entry"] .code-card{text-align:left;font-size:clamp(40px,4.3vw,65px);background:#fff9e9;border:1px solid #b0c2ab;border-radius:12px;padding:16px 24px;line-height:normal}
.slide[data-id="entry"] .copy .board-caption{font-size:clamp(22px,2vw,31px);line-height:1.5}
.slide[data-id="entry"] .copy .btn-row a{font-size:16px;color:var(--ink)}
.slide[data-id="entry"] .copy{gap:18px}
#toolbar{grid-template-columns:minmax(190px,1fr) auto auto;gap:14px}
#toolbar .nav-directory{min-width:0}
#toolbar #pageSelect{width:250px;max-width:100%;text-overflow:ellipsis;padding:10px 9px}
#toolbar .paging{gap:14px}
@media(max-height:760px) and (min-width:901px){
 .slide[data-id="entry"] .copy .board-caption{font-size:24px}
 .slide[data-id="entry"] .copy{gap:12px}
 .slide[data-id="entry"] .code-card{padding:12px 24px}
 #toolbar{gap:12px}
 #toolbar .paging{gap:10px}
}
@media(max-width:1100px){#toolbar #pageSelect{width:210px}}
@media(max-width:900px){
 .slide.history .content,.slide.photo .content,.slide.handbook .content,
 .slide.history:has(.paired) .content,.slide[data-id="story"] .content,
 .slide[data-id="accounting-need"] .content{grid-template-columns:1fr}
 .slide[data-id="heritage"] .content{grid-template-columns:1fr}
 .slide[data-id="entry"] .copy .board-caption{font-size:21px}
 #toolbar{grid-template-columns:minmax(0,1fr) auto}
 #toolbar .tools{grid-column:1/-1}
}
