/* Classroom readability: opaque reading surfaces, clear type hierarchy. */
:root{--muted:#d4d9eb;--line:#ffffff30}
.ambient i{opacity:.20}.grain{opacity:.2}
aside{width:220px;background:#171e35f5;padding-top:20px}
main{margin-left:260px;padding-right:24px}
.brand{font-size:20px}.brand small{color:#c8d2e8;font-size:9px}
.course-label,.group-title,.side-bottom,.side-bottom button{font-size:12px;color:#cad3e8}
.menu-item{font-size:13px;color:#e8ecf8;padding:10px 8px}.menu-item em{color:#b2bed9;font-size:12px}
.menu-item.active{background:#4b4880;color:white;border-color:#b5afff}
.search input{font-size:12px}.search input::placeholder{color:#bac7df}
header{height:62px;font-size:13px}.header-actions button{font-size:13px;color:#fff;background:#27304c}
.lesson-heading{padding:18px 0}.lesson-heading p{font-size:16px;color:#e0e5f3}
h1{font-size:32px;color:#fff}.eyebrow{font-size:11px;color:#a0f5e6}
.lesson-meta small{font-size:12px;color:#e0e5f3}
.section-tabs button{font-size:14px;color:#f1f3fc;background:#24304bd9;padding:10px 8px}
.section-tabs button span{font-size:12px;opacity:1;color:#c6d0e4}
.section-tabs button.active{background:#eeeaff;color:#272044;border-color:#d4c7ff}
.section-tabs button.active span{color:#49416a}
.slide{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:20px;align-items:start}
.copy{background:#f8faff;border:1px solid #fff;border-radius:18px;color:#17233d;padding:25px 28px 18px;min-height:440px;box-shadow:0 12px 40px #0003;backdrop-filter:none}
.slide-kicker{color:#3454a0;font-size:12px;font-weight:600;letter-spacing:.4px;margin-bottom:14px}
.slide-kicker span:last-child{color:#52617c}
.copy h2{font-size:27px;font-weight:700;line-height:1.45;color:#14213b;margin-bottom:22px}
#blocks{font-size:20px;line-height:1.9;color:#1c2d47;font-weight:400}
#blocks p{margin:0 0 19px}#blocks p:last-child{margin-bottom:15px}
#blocks .instruction{font-size:14px!important;color:#294c85;background:#e9f0fc;border-left:3px solid #4a6bc5;padding:10px 13px;line-height:1.7}
.bullet:before{background:#3664b5}
.copy-bottom{border-color:#d5ddec;color:#52617b;font-size:11px;padding-top:12px;gap:12px}
.copy-bottom button{color:#214b91;font-size:12px;white-space:nowrap}
.visual{background:#17243bf5;border-color:#576881;box-shadow:0 12px 40px #0003}
.visual-heading{padding:14px 16px;color:#fff;font-size:14px;line-height:1.6;align-items:flex-start}
#viewTabs{display:flex;flex-shrink:0}.visual-heading button{font-size:12px;color:#dce5fa;padding:5px 8px}
.visual-heading button.active{background:#d8e8ff;color:#132c54}
#visualBody{min-height:0;padding:12px;background:#101a2a}
#visualBody video,#visualBody img{max-height:310px;width:100%;aspect-ratio:16/9;object-fit:contain}
#visualBody svg{max-height:340px}
#visualCaption{font-size:14px;line-height:1.8;color:#edf2ff;background:#1c2c44;padding:15px 17px}
#visualCaption a{font-size:12px;color:#a4f4e4}
.teacher-tip{background:#eaf3ff;border:1px solid #d6e5fd;display:block;padding:17px 19px;backdrop-filter:none}
.teacher-tip span{display:block;color:#214d87;font-weight:700;font-size:13px;margin:0 0 7px}
.teacher-tip p{font-size:16px;line-height:1.8;color:#1d3557}
.analysis-grid b{font-size:16px}.analysis-grid p{font-size:15px;line-height:1.8}
.copy table{font-size:16px;color:#192f50}.copy td,.copy th{border-color:#c2cfe2;padding:11px}.copy tr:first-child{background:#e4edfc;font-weight:600}
.timer b{font-size:20px;color:#fff}.timer span,.progress{color:#d5e0f4;font-size:12px}.pager span{font-size:14px;color:#fff}
.pager button{background:#263956;color:#fff;font-size:18px;min-width:48px}
dialog{background:#f8faff;color:#17233d;border-color:#fff}.modal-header small{color:#3857a0}.modal-header button{color:#17233d;border-color:#ccd5e4}
.notes-section{color:#213550;border-color:#ced9e8;font-size:18px}.notes-section h3{color:#3456a1}.notes-section table{color:#1c2d47}.notes-section td{border-color:#b8c6dc}
body.media-priority .slide{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr)}
body.media-priority #visualBody video,body.media-priority #visualBody img{max-height:540px}
body.media-priority #visualBody svg{max-height:470px}
body.media-priority #layoutToggle{background:#e0d9ff;color:#242143}
.focus-mode #blocks{font-size:23px}.focus-mode .copy{min-height:65vh}
@media(min-width:851px) and (max-height:850px){header{height:50px}.lesson-heading{padding:12px 0}h1{font-size:28px}.lesson-heading p{font-size:14px}.section-tabs{margin-bottom:14px}.copy{padding:20px 24px 15px;min-height:400px}.copy h2{font-size:25px;margin-bottom:16px}#blocks{font-size:19px;line-height:1.8}#blocks p{margin-bottom:14px}.slide-kicker{font-size:12px}#visualBody svg{max-height:270px}#visualBody video,#visualBody img{max-height:260px}.teacher-tip p{font-size:15px}#visualCaption{font-size:13px;padding:12px 15px}}
@media(max-width:1100px) and (min-width:851px){aside{width:196px}main{margin-left:232px}.slide{grid-template-columns:1.2fr 1fr;gap:14px}.copy{padding:20px}#blocks{font-size:18px}.visual-heading{display:block}#viewTabs{margin-top:6px}.copy-bottom>span{display:none}}
@media(max-width:850px){main,body.menu-hidden main{margin-left:16px;padding-right:16px}.slide,body.media-priority .slide{grid-template-columns:1fr}.copy{min-height:0;padding:22px}.copy h2{font-size:24px}#blocks{font-size:18px}.header-actions{gap:4px}.header-actions button{font-size:11px;padding:7px}.breadcrumb{gap:4px}#layoutToggle{display:none}.teacher-tip p{font-size:16px}h1{font-size:27px}.lesson-heading p{font-size:15px}footer{gap:8px}.timer{gap:4px}.progress{font-size:10px}.pager{gap:6px}.pager button{min-width:36px}.copy table{font-size:13px}.copy td{padding:8px}}
@media print{.copy,.teacher-tip,.visual{background:white;box-shadow:none}#blocks,.copy h2{color:#111}#layoutToggle{display:none}}
