/* Shared classroom design: playful colours, raised controls, and readable surfaces. */
:root, :root[data-theme], :root:not([data-theme="light"]){
 --ink:#233b46; --ink-soft:#48606b; --ink-faint:#536d78;
 --paper:#f7fbf3; --paper-raised:#fff; --paper-sunken:#edf5e8; --white:#fff;
 --primary:#387c12; --primary-strong:#28600d; --primary-tint:#e8f6d9;
 --forest:#387c12; --gold:#9b6200; --gold-strong:#855200; --gold-tint:#fff2c2;
 --red-pen:#b33539; --rule:#cfdfc5; --focus:#146cac;
 --radius-s:14px; --radius-m:22px; --radius-l:28px;
 --shadow:0 5px 0 #d7e4cf; --shadow-l:0 8px 0 #cfdfc5;
 color-scheme:light;
}
body,button,input,select,textarea{font-family:'Trebuchet MS','Segoe UI',sans-serif;}
h1,h2,h3,h4,h5,.slide-title,.vocab-word,.topic-card h3{font-family:'Trebuchet MS','Segoe UI',sans-serif!important;font-weight:800;letter-spacing:-.025em;}
button,a,input,select{touch-action:manipulation;}
[hidden]{display:none!important;}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #146cac;outline-offset:4px;}
.topic-card,.resource-box,.unit-card,.strategy-card,.vocab-card,.prep-step-card,.phase-unit-item{
 border:2px solid var(--rule);border-radius:22px;background:#fff;box-shadow:0 5px 0 #dce8d5;
}
.topic-card{padding:24px;position:relative;overflow:hidden;}
.topic-card::before{content:'';position:absolute;top:0;left:0;right:0;height:7px;background:#78c936;}
.topic-card:nth-child(4n+2)::before{background:#43b8e5;}
.topic-card:nth-child(4n+3)::before{background:#ffc347;}
.topic-card:nth-child(4n)::before{background:#ba8ce8;}
.topic-card h3{font-size:1.25rem;line-height:1.4;margin:18px 0 12px;}
.topic-card p{font-size:.98rem;line-height:1.65;}
.topic-band,.topic-status,.teacher-badge,.skill-tag{border-radius:30px;padding:6px 10px;font-family:inherit;font-weight:800;}
.topic-band{color:#28600d;background:#e8f6d9;}
.topic-status.live{color:#15537a;background:#e5f5ff;}
.topic-card-actions{flex-wrap:wrap;}
.topic-link,.topic-practice-link{min-height:44px;display:inline-flex;align-items:center;}
.topic-card:hover{transform:translateY(-2px);border-color:#78ad4d;}
.phase-banner{background:#e8f6d9;color:#285c18;border:2px solid #c6e3ae;border-radius:18px;padding:20px 24px;}
.phase-banner-title{font-family:inherit;font-weight:800;}
.btn-primary,.pres-btn,.btn-ghost,.batch-btn,.lesson-tab-btn,.band-pill{border-radius:14px;min-height:44px;font-family:inherit;}
.btn-primary{background:#58a919;color:white;border:2px solid #387c12;box-shadow:0 4px 0 #387c12;font-weight:800;}
.pres-btn,.btn-ghost,.batch-btn{border:2px solid var(--rule);box-shadow:0 3px 0 var(--rule);}
.btn-primary:active,.pres-btn:active,.batch-btn:active{transform:translateY(2px);box-shadow:none;}
.batch-btn.active,.lesson-tab-btn.active{background:#e8f6d9;color:#28600d;border-color:#78ad4d;}
.target-band-callout{background:#eff8e6;border:2px solid #c6e3ae;border-radius:18px;color:#285c18;}
.cue-card{background:#fff5d8;border:2px solid #edcf79;border-radius:20px;}
.presentation-body{background:#eff6e9;height:100dvh;overflow:hidden;}
.pres-header{background:#fff;border-bottom:2px solid #d7e4cf;gap:16px;flex-wrap:wrap;height:auto;min-height:56px;padding:12px 20px;flex-shrink:0;}
.pres-title-wrap h1{font-size:1rem;}
.pres-main-layout{min-height:0;height:auto;flex:1;}
.pres-stage{padding:24px;overflow:auto;align-items:flex-start;}
.slide-card{border-radius:28px;border:2px solid #d0e1c5;box-shadow:0 7px 0 #d0e1c5;background:#fff;animation:none;}
.slide-title{color:#285c18;font-size:clamp(1.55rem,2.5vw,2.7rem);line-height:1.2;}
.slide-category{color:#536d78;font-family:inherit;letter-spacing:.06em;font-weight:800;}
.slide-content{font-size:1.1rem;line-height:1.65;}
.vocab-word{color:#285c18;}.vocab-phonetic{color:#48606b;}
.pres-notes-drawer{background:#fff;}
.xp-badge{background:#fff2c2;color:#855200;}
.adventure-welcome{display:flex;gap:28px;align-items:center;margin:16px 0 30px;}
.adventure-star{font-size:105px;color:#e7ac18;line-height:1;text-shadow:0 5px 0 #c68c09;}
.classroom-reveal{background:#eff8e6;border:2px solid #c6e3ae;border-radius:16px;padding:16px;margin:18px 0;}
.classroom-reveal summary{cursor:pointer;font-weight:800;min-height:30px;}
.slide-content>.strategy-card{margin:16px 0;}
.slide-content .strategy-card p{font-size:1.1rem;line-height:1.65;}
.worksheet-shell{max-width:900px;margin:40px auto;padding:32px;}
.worksheet-toolbar{display:flex;gap:16px;flex-wrap:wrap;align-items:center;margin-bottom:24px;}
.worksheet-section{background:#fff;border:2px solid var(--rule);border-radius:20px;padding:24px;margin:20px 0;break-inside:avoid;}
.worksheet-lines{height:95px;background:repeating-linear-gradient(transparent 0,transparent 30px,#ccd7c7 31px,#ccd7c7 32px);}
.worksheet-vocab{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.worksheet-vocab p{margin:0;padding:12px;background:#eff8e6;border-radius:12px;}
@media(max-width:800px){.topics-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.pres-main-layout{display:block;}.pres-stage{padding:12px;}.pres-header-right{flex-wrap:wrap;}.pres-header{position:static;}.presentation-body{height:auto;overflow:auto;}.slide-card{padding:22px;}.vocab-grid,.strategy-grid,.prep-steps-grid,.essay-skeleton{grid-template-columns:1fr 1fr;}.worksheet-shell{margin:10px;padding:12px;}}
@media(max-width:520px){.topics-grid,.vocab-grid,.strategy-grid,.prep-steps-grid,.essay-skeleton,.worksheet-vocab{grid-template-columns:1fr;}.topic-card-actions{align-items:flex-start!important;}.pres-header-right{gap:10px;}.pres-title-wrap{max-width:100%;}.unit-meta{flex-wrap:wrap;}.worksheet-section{padding:18px;}}
@media print{body{background:#fff;color:#233b46;}.worksheet-toolbar,.worksheet-teacher{display:none!important;}.worksheet-shell{max-width:none;margin:0;padding:0;}.worksheet-section{box-shadow:none;border:1px solid #bbc9b4;margin:12px 0;padding:16px;}.worksheet-section h2{font-size:19px;}.worksheet-vocab p{font-size:12px;padding:6px;}.worksheet-shell h1{font-size:27px;}@page{size:A4;margin:14mm;}}
