*{box-sizing:border-box}body{margin:0;background:#dff3e4;color:#173323;font-family:"Nunito",system-ui,sans-serif}header{position:sticky;top:0;z-index:5;background:#dff3e4ee;backdrop-filter:blur(12px);border-bottom:1px solid #b9dbc3;padding:16px 24px}header b{font-size:23px}header b span{color:#237a45}header small{margin-left:12px;color:#587064}button,select,input{font:inherit}header button{float:right;margin-left:8px;padding:9px 12px;border:1px solid #b9dbc3;border-radius:12px;background:white;font-weight:800}.controls,main{max-width:1180px;margin:auto}.controls{padding:22px 24px;display:grid;grid-template-columns:170px 1fr;gap:10px}.controls select,.controls input{padding:13px;border:1px solid #b9dbc3;border-radius:14px;background:white}main{padding:0 24px 60px;display:grid;grid-template-columns:310px 1fr;gap:18px}aside,.card{background:white;border:1px solid #b9dbc3;border-radius:22px;padding:16px;box-shadow:0 8px 25px #235c3420}aside{height:76vh;overflow:auto;position:sticky;top:88px}.topic{width:100%;text-align:left;border:0;background:transparent;border-radius:11px;padding:10px;font-weight:750;cursor:pointer}.topic:hover,.topic.active{background:#e8f6eb}.topic small{display:block;color:#6c8174}.card{padding:23px;margin-bottom:14px}.hero h1{font-size:38px;margin:6px 0}.hero img{width:100%;max-height:235px;object-fit:cover;border-radius:18px;margin-top:13px}.pill{display:inline-block;background:#e9f6ec;border-radius:99px;padding:6px 9px;margin:4px;font-size:13px;font-weight:800}.card h2{font-size:22px;margin-top:0}.card p,.card li{line-height:1.72}.assoc{background:linear-gradient(135deg,#effbed,#fff8cf)}.exercise{padding:12px 14px;background:#f2faf4;border-radius:13px;margin:8px 0}.media{display:grid;grid-template-columns:1fr 1fr;gap:12px}.media>div{background:#f3faf5;border-radius:14px;padding:14px}.teacher{background:#fff5c9;border-radius:12px;padding:12px;margin-top:10px}.hidden{display:none}.video-link{display:inline-block;background:#237a45;color:white;text-decoration:none;padding:11px 14px;border-radius:12px;font-weight:900}.empty{text-align:center;padding:50px}.empty>div{font-size:55px}@media(max-width:800px){main{grid-template-columns:1fr}aside{position:relative;top:0;height:300px}.controls{grid-template-columns:1fr}.media{grid-template-columns:1fr}header small{display:none}}@media print{header,.controls,aside{display:none!important}main{display:block;padding:0}.teacher.hidden{display:block}}
.choice{display:block;width:100%;text-align:left;margin:7px 0;padding:10px 12px;border:1px solid #c5dfcc;border-radius:10px;background:white;cursor:pointer;font-weight:700}
.choice:hover{background:#eaf7ed}.choice.right{background:#d9f6df;border-color:#63a875}.choice.wrong{background:#ffe3e3;border-color:#d98b8b}
.feedback{font-weight:900;margin-top:7px}.open textarea{width:100%;border:1px solid #c5dfcc;border-radius:10px;padding:10px;font:inherit;resize:vertical}
.show-answer{margin-top:8px;padding:8px 11px;border:1px solid #b9dbc3;border-radius:10px;background:#fff7cf;cursor:pointer;font-weight:800}.answer{margin-top:9px;background:#eaf7ed;padding:10px;border-radius:10px}

.flashcards{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}
.flashcard{min-height:92px;border:1px solid #b9dbc3;border-radius:16px;background:#eff9f1;padding:12px;cursor:pointer;font-weight:900;font-size:17px;position:relative}
.flashcard .back{display:none;color:#237a45}.flashcard.flipped{background:#fff6c9}.flashcard.flipped .front{display:none}.flashcard.flipped .back{display:block}
@media(max-width:850px){.flashcards{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.flashcards{grid-template-columns:1fr}}

.teacher-script,.reading-text{background:#f1faf3;border-left:5px solid #237a45;border-radius:12px;padding:14px 16px;margin:12px 0;font-size:16px}
.qa{border-top:1px solid #dcebe0;padding:11px 0}.qa:first-child{border-top:0}.qa .show-answer{margin-left:8px}
.listening-q h3,.card h3{margin-bottom:7px}
