.language { max-width: 1000px; margin: 0 auto; }
.language .section-title { margin: 24px 0; }
.language .activity-card { display:flex; flex-direction:column; gap:16px; align-items:center; text-align:center; }
.language .activity-card .btn { margin-top:auto; }
.language-panel { padding:clamp(18px,4vw,36px); }
.language label { font-weight:800; display:block; }
.language select,.language input:not([type=checkbox]),.language textarea { width:100%; padding:12px; border:2px solid #d5d5e6; border-radius:12px; font:inherit; background:#fff; color:#2d3436; margin:8px 0 16px; }
.language select { max-width:360px; display:block; }
.language :is(button,input,textarea,select):focus-visible { outline:3px solid #7040bc; outline-offset:4px; }
.language progress { width:100%; height:14px; accent-color:#7854bc; margin:8px 0 20px; }
.language-hint { background:#f3edff; color:#473569; border-radius:14px; padding:16px; margin:16px 0; }
.language-words { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin:24px 0; }
.language-word { font:800 1.25rem var(--font-body); color:#44315f; background:#fff; border:2px solid #baa6d6; border-radius:16px; padding:12px 18px; min-height:48px; cursor:pointer; box-shadow:0 4px 0 #e8dff4; }
.language-word:hover { background:#f3edff; }
.language-word.found { background:#dcf7e8; border-color:#278359; color:#185b3c; }
.language-word.found::after { content:' ✓'; }
.language-feedback { min-height:100px; padding:14px 0; font-weight:800; }
.language button:disabled { opacity:.55; cursor:default; }
.story-prompts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-bottom:18px; }
.story-prompt { background:#fff4df; border:1px solid #efce8b; border-radius:16px; padding:18px; }
.story-prompt strong { font-size:.75rem; letter-spacing:.08em; color:#725116; }
.story-prompt p { font-size:1.2rem; margin-top:10px; }
.story-fields textarea { display:block; resize:vertical; min-height:120px; }
.language-actions { display:flex; gap:12px; flex-wrap:wrap; margin:16px 0; }
.story-checklist { border:2px solid #e7def3; border-radius:14px; padding:18px; margin-top:22px; }
.story-checklist label { display:flex; align-items:flex-start; gap:12px; margin:12px 0; }
.story-checklist input { flex-shrink:0; width:22px; height:22px; margin-top:3px; accent-color:#7040bc; }
@media(max-width:600px) { .story-prompts { grid-template-columns:1fr; } .story-prompt { padding:12px 16px; } .story-prompt p { margin-top:4px; } .language-word { padding:10px 12px; } .language-actions .btn { width:100%; } .language-feedback { min-height:145px; } }
