.english-practice-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.english-practice-grid .english-category-card { display: flex; flex-direction: column; gap: .65rem; }
.english-practice-grid h3, .english-practice-grid p { margin: 0; }
.english-bank-count { display: block; margin-top: auto; color: var(--english-ink); }
.english-practice-container { max-width: 1000px; }
.english-practice-header { margin: 1.5rem 0 2rem; }
.english-practice-question { padding: clamp(1rem, 3vw, 2rem); scroll-margin-top: 7rem; }
.english-passage { white-space: pre-wrap; line-height: 1.85; background: #f3f7fc; border-left: 4px solid #35649b; padding: 1.2rem; border-radius: 4px; margin: 1rem 0; overflow-wrap: anywhere; scroll-margin-top: 7rem; }
.english-question-prompt { font-size: 1.15rem; line-height: 1.65; white-space: pre-line; }
.english-practice-question fieldset { margin: 1rem 0; padding: 0; border: 0; min-width: 0; }
.english-practice-question .option-list label { display: flex; align-items: flex-start; gap: .75rem; padding: 1rem; line-height: 1.6; cursor: pointer; overflow-wrap: anywhere; }
.english-practice-question input[type=radio], .english-practice-question input[type=checkbox] { flex: 0 0 auto; width: 1.1rem; height: 1.1rem; margin-top: .25rem; }
.english-practice-question textarea { width: 100%; box-sizing: border-box; font: inherit; line-height: 1.7; padding: .85rem; border: 1px solid #8195ad; border-radius: 6px; resize: vertical; }
.english-response-label { display: block; margin: 1rem 0 .5rem; font-weight: 700; }
.english-practice-question :focus-visible { outline: 3px solid #1f5aa6; outline-offset: 3px; }
.english-success-criteria { background: #fff8e7; padding: 1rem 1.25rem; margin: 1rem 0; border-radius: 6px; }
.english-success-criteria ul { padding-left: 1.25rem; margin-bottom: 0; line-height: 1.7; }
.english-completion { display: flex; align-items: flex-start; gap: .6rem; }
.english-question-codes { margin-top: 1.4rem; }
.english-question-codes a { font-size: .85rem; }
.english-check-bar { margin: 2rem 0; }
.english-answer-review, .english-practice-results { background: #eef8f1; padding: 1rem 1.25rem; border-radius: 6px; margin: 1rem 0; line-height: 1.75; }
.english-practice-question.is-incorrect .english-answer-review { background: #fff6df; }
.english-practice-question.is-review .english-answer-review { background: #edf3fc; }
.english-practice-error { background: #fff0ed; border-left: 4px solid #a52613; padding: 1rem; margin: 1rem 0; }
.english-practice-materials { background: #fff6df; padding: .8rem; }
.english-practice-image { margin: 1rem 0; }
.english-practice-image img { width: 100%; height: auto; }
.english-listening-script { border: 1px solid #8195ad; padding: 1rem; border-radius: 6px; }
.english-listening-script summary { cursor: pointer; font-weight: 700; }
.english-visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.english-coverage-links { display: grid; gap: .5rem; }
.english-print-response { display: none; }
.english-model-response { white-space: pre-line; }
.english-section-print { margin-top: 2rem; padding: 1.25rem; border: 1px solid #b8c8d7; border-radius: 8px; background: #fff; }
.english-section-print h2 { margin-top: 0; font-size: 1.3rem; }
@media (max-width: 1100px) { .english-practice-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .english-practice-grid { grid-template-columns: minmax(0, 1fr); } .english-practice-question .question-top { align-items: flex-start; flex-direction: column; gap: .5rem; } .english-passage { padding: .85rem; } }
@media print {
  .english-bank-page .no-print, body > header, body > footer, .site-header, .site-footer, .chatbot-widget { display: none !important; }
  .english-bank-page { padding: 0; }
  .english-practice-question { box-shadow: none; break-inside: auto; padding: 12pt; margin-bottom: 12pt; }
  .english-practice-question h2, .english-practice-question h3 { break-after: avoid; }
  .english-practice-question textarea { display: none; }
  .english-print-response { display: block; white-space: pre-wrap; overflow-wrap: anywhere; min-height: 70pt; padding: 8pt; border: 1px solid #999; }
  .english-practice-question .option-list label { padding: 5pt; }
  .english-question-codes { font-size: 8pt; }
}
