.word-exercise { max-width: 1050px; margin: auto; }
.exercise-help { font-size: .85rem; margin: .35rem 0; }
.word-bank-note { font-size: .85rem; margin: .5rem 0 0; }
.fields > .accent-option { display: flex; align-items: center; gap: .35rem; min-height: 2.4rem; }
#words-progress { font-weight: 600; margin: .5rem 0; }
#word-tasks { padding: 0; margin: .5rem 0 1rem; list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; counter-reset: words; }
.word-task { counter-increment: words; padding: .5rem .75rem; border: 1px solid var(--border); border-radius: 8px; background: var(--surface); overflow-wrap: anywhere; }
.word-task::before { content: counter(words) ". "; font-size: .8rem; color: var(--muted); }
.word-task.is-pending { background: var(--accent-soft); border-color: var(--accent); }
.exercise-word { display: inline; font-weight: 700; white-space: nowrap; }
.letter-slot { display: inline-grid; place-items: center; vertical-align: baseline; min-width: 1.6rem; min-height: 2.4rem; padding: 0 .2rem; margin: 0 .04rem; border-radius: 4px; font-weight: 700; line-height: 1; }
.letter-slot.is-empty { border-style: dashed; }
.paper-letter { display: none; }
.word-status { display: block; margin-top: .2rem; font-size: .85rem; font-weight: 600; }
.word-task.is-correct { border-color: #237a42; }
.word-task.is-correct .word-status { color: #237a42; }
.word-task.is-incorrect { border-color: #b12638; }
.word-task.is-incorrect .word-status { color: #b12638; }
:root[data-theme="dark"] .word-task.is-correct .word-status { color: #85df9f; }
:root[data-theme="dark"] .word-task.is-incorrect .word-status { color: #ff99a9; }
#words-result h2 { font-size: 1.1rem; }
#letter-picker { position: fixed; inset: auto; margin: 0; padding: .5rem; max-width: calc(100vw - 16px); border: 1px solid var(--accent); border-radius: 8px; background: var(--surface); color: var(--text); box-shadow: var(--shadow); }
#picker-label { font-size: .8rem; margin: 0 0 .35rem; }
#letter-options { display: flex; gap: .5rem; }
#letter-options button { font-size: 1.25rem; min-width: 44px; min-height: 44px; }
@media (max-width: 650px) {
  #word-tasks { grid-template-columns: 1fr; }
  .letter-slot { min-width: 1.7rem; min-height: 2.4rem; }
}
@media print {
  .word-exercise > h1, .word-exercise > .lead, .exercise-help,
  #words-progress, #letter-picker, #words-result, .word-bank-note,
  .letter-slot, .word-status { display: none !important; }
  .word-exercise { max-width: none; }
  #word-tasks { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .word-task { background: white !important; color: black; border: 1px solid #aaa !important; border-radius: 5px; padding: 10px 8px; break-inside: avoid; font-size: 12px; line-height: 2; }
  .word-task::before { color: #555; }
  .paper-letter { display: inline-block; width: .9em; height: 1.2em; margin: 0 .08em; border-bottom: 1px solid #555; text-align: center; vertical-align: baseline; line-height: .8; }
  .worksheet-url { overflow-wrap: anywhere; }
}
