
*{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:#fff;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}
.badge.done{background:#e8f5e9;color:#1b5e20;border:1px solid #8cc08c;padding:4px 8px;border-radius:999px}
.vocab{border-collapse:collapse;width:100%;font-size:14px;margin-bottom:16px}
.vocab td,.vocab th{border:1px solid #ddd;padding:8px;text-align:left}
.vocab th{background:#eef2ff}
.navrow{margin-top:18px}
.small{color:#555;font-size:14px}
.code{font-family:Consolas,monospace;background:#f7f7f7;border:1px solid #ddd;border-radius:8px;padding:10px;white-space:pre-wrap}
@media(max-width:600px){main{padding:12px}.card{padding:16px}.button{width:100%;text-align:center}.choice{padding:12px}}

.reference-block{margin:16px 0;padding:0;background:#fff;color:#222}
.reference-block h2{font-size:28px;margin-top:20px;color:#222}
.vocab{table-layout:auto}
.vocab td,.vocab th{word-break:normal;overflow-wrap:break-word}
@media(max-width:600px){
  .reference-block h2{font-size:24px}
  table.vocab{font-size:16px;display:table;width:100%}
  .vocab td,.vocab th{padding:8px}
  .vocab th:first-child,.vocab td:first-child{width:55%}
}
