
*{box-sizing:border-box}
body{font-family:Arial,sans-serif;background:#f5f7fb;margin:0;color:#222;line-height:1.5}
header{background:#24324a;color:#fff;padding:22px}
main{max-width:1050px;margin:auto;padding:20px}
.card{background:#fff;border-radius:14px;padding:22px;margin:16px 0;box-shadow:0 2px 8px rgba(0,0,0,.08)}
.lesson{border:1px solid #ddd;border-radius:12px;padding:18px;margin:12px 0;background:#fff}
.lesson.completed{border-color:#8cc08c;background:#f4fff4}
.button{display:inline-block;background:#24324a;color:white;padding:10px 14px;border-radius:8px;text-decoration:none;margin-top:10px;border:0;cursor:pointer;font-weight:bold;font-size:16px}
.button.disabled{background:#999;cursor:not-allowed}
.secondary{background:#596277}
.box{background:#eef2ff;border-left:5px solid #24324a;padding:12px;margin:12px 0;border-radius:8px}
.example{background:#fff8e8;border-left:5px solid #bd8b00;padding:12px;margin:12px 0;border-radius:8px}
.progress{background:#e0e0e0;border-radius:12px;height:22px;overflow:hidden}.bar{background:#4caf50;height:22px;width:0%}
.q{border-top:1px solid #ddd;padding:14px 0}.choice{display:block;margin:8px 0;padding:9px;border:1px solid #ddd;border-radius:8px;background:#fbfcff}
.feedback{display:none;margin-top:10px;padding:10px;border-radius:8px}.correct{background:#e8f5e9;border-left:4px solid #2e7d32}.incorrect{background:#ffebee;border-left:4px solid #c62828}
.scorebox{display:none;background:#eef2ff;border:1px solid #c8d2f0;padding:14px;border-radius:10px;margin:16px 0}
textarea{width:100%;min-height:120px;border:1px solid #bbb;border-radius:10px;padding:12px;font-size:16px}
.answerDetails{margin-top:10px}.answerDetails summary{display:inline-block;border:1px solid #bbb;border-radius:8px;padding:8px 14px;color:#1e88e5;background:#fff;cursor:pointer;font-weight:500;list-style:none}.answerDetails summary::-webkit-details-marker{display:none}.answerOpen{display:block!important;margin-top:10px}
.vocab{border-collapse:collapse;width:100%;font-size:14px;margin-bottom:16px}.vocab td,.vocab th{border:1px solid #ddd;padding:8px}.vocab th{background:#eef2ff}
.navrow{margin-top:18px}.small{color:#555;font-size:14px}.badge.done{background:#e8f5e9;color:#1b5e20;border:1px solid #8cc08c;padding:4px 8px;border-radius:999px}
@media(max-width:600px){main{padding:12px}.card{padding:16px}.button{width:100%;text-align:center}.choice{padding:12px}}
