/* Native theme tokens remain the single colour and typography system. */
.grade2-english [hidden] { display:none !important; }
.grade2-english .g2-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 20px; }
.grade2-english .g2-toolbar h1 { font-size:24px; margin:0; }
.grade2-english .g2-toolbar button { flex-shrink:0; min-width:44px; min-height:44px; padding:10px; }
.grade2-english .g2-workspace { display:block; padding:24px; min-height:0; }
.grade2-english .g2-actions { display:flex; flex-wrap:wrap; gap:10px; margin:16px 0; }
.grade2-english .g2-session-line { display:flex; align-items:center; gap:20px; margin-bottom:18px; }
.grade2-english .g2-count { font-size:14px; color:var(--secondary); margin:0; }
.grade2-english progress { width:160px; max-width:30%; height:10px; accent-color:var(--accent); }
.grade2-english .g2-columns { display:grid; gap:24px; grid-template-columns:minmax(0,1fr); }
.grade2-english[data-reading="true"] .g2-columns { grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); align-items:start; }
.grade2-english .g2-reader { min-width:0; border:var(--border); border-radius:var(--radius); padding:20px; background:var(--white); }
.grade2-english .g2-reader h2 { font-size:21px; margin:0 0 12px; }
.grade2-english .g2-source p,.grade2-english .g2-source li { line-height:1.8; font-size:18px; margin:0 0 14px; }
.grade2-english .g2-source p:last-child { margin-bottom:0; }
.grade2-english .g2-task { min-width:0; }
.grade2-english[data-type="mcq"]:not([data-reading="true"]) .g2-task,.grade2-english[data-type="order"] .g2-task,.grade2-english[data-type="transform"] .g2-task,.grade2-english[data-type="punctuation"] .g2-task { width:100%; max-width:760px; margin:0 auto; }
.grade2-english .g2-prompt { font-size:21px; line-height:1.6; white-space:pre-line; margin:0 0 18px; }
.grade2-english .g2-choices,.grade2-english .g2-bank,.grade2-english .g2-tile-bank,.grade2-english .g2-tile-tray { display:flex; gap:10px; flex-wrap:wrap; }
.grade2-english .g2-choices { flex-direction:column; }
.grade2-english .g2-answer { margin-bottom:18px; }
.grade2-english .btn { min-height:46px; white-space:normal; height:auto; max-width:100%; overflow-wrap:anywhere; }
.grade2-english .g2-choices .btn { text-align:left; justify-content:flex-start; font-size:18px; }
.grade2-english button[aria-pressed="true"] { background:var(--lightblue); color:var(--main); outline:2px solid var(--accent); outline-offset:1px; }
.grade2-english button:focus-visible,.grade2-english input:focus-visible,.grade2-english select:focus-visible,.grade2-english textarea:focus-visible,.grade2-english a:focus-visible { outline:3px solid var(--accent); outline-offset:3px; }
.grade2-english .g2-tile-tray { min-height:70px; padding:12px; border:var(--border); border-style:dashed; border-radius:var(--radius); margin-bottom:16px; }
.grade2-english .g2-tile-tray .btn,.grade2-english .g2-tile-bank .btn { flex:0 1 auto; font-size:18px; }
.grade2-english .g2-field { margin-bottom:14px; }
.grade2-english .g2-field label { display:block; margin-bottom:6px; }
.grade2-english input[type="text"],.grade2-english textarea,.grade2-english select { box-sizing:border-box; font-family:inherit; background:var(--white); color:var(--main); border:var(--border); border-radius:var(--radius); font-size:18px; padding:12px; max-width:100%; min-height:46px; }
.grade2-english input[type="text"],.grade2-english textarea { width:100%; }
.grade2-english textarea { resize:vertical; line-height:1.6; }
.grade2-english .g2-inline-gap { white-space:nowrap; display:inline-block; margin:4px; font-size:15px; }
.grade2-english .g2-inline-gap select { width:auto; max-width:180px; padding:8px; font-size:18px; }
.grade2-english .g2-word { background:transparent; color:inherit; border:0; border-bottom:1px dotted currentColor; padding:5px 2px; margin:0 1px; border-radius:3px; cursor:pointer; font:inherit; min-height:44px; }
.grade2-english .g2-punctuation-tokens { margin-bottom:14px; line-height:2; }
.grade2-english .g2-feedback { white-space:pre-line; line-height:1.7; font-size:17px; margin:18px 0; overflow-wrap:anywhere; }
.grade2-english .g2-feedback:not(:empty) { border-left:4px solid var(--accent); padding:10px 16px; background:var(--white); }
.grade2-english .g2-feedback[data-result="correct"] { border-left-color:var(--green); }
.grade2-english .g2-review { border:var(--border); border-radius:var(--radius); padding:16px; margin-bottom:18px; }
.grade2-english .g2-review-criterion { display:flex; gap:12px; align-items:flex-start; padding:12px 0; font-size:17px; line-height:1.6; cursor:pointer; }
.grade2-english .g2-review-criterion input { position:static; appearance:auto; opacity:1; width:22px; height:22px; margin-top:3px; flex-shrink:0; }
.grade2-english .g2-review>.btn { margin:8px 8px 0 0; }
.grade2-english .g2-storage { font-size:13px; line-height:1.5; margin-top:24px; }
.grade2-english .g2-reset { border-top:var(--border); padding-top:16px; margin-top:20px; }
.grade2-english .g2-reset-request { font-size:14px; }
.grade2-english .g2-summary li { line-height:1.6; margin-bottom:10px; }
.grade2-english .g2-document { position:relative; }
.grade2-english .g2-document-icon { width:72px; height:50px; color:var(--accent); }
.grade2-english .g2-document-type { text-transform:uppercase; font-size:13px; color:var(--secondary); letter-spacing:.04em; }
.grade2-english .g2-document dl { margin:0; }
.grade2-english .g2-document dt { font-weight:var(--main_bold_weight); margin-top:14px; font-size:15px; color:var(--secondary); }
.grade2-english .g2-document dd { margin:4px 0 0; font-size:18px; line-height:1.6; }
.grade2-english .g2-document ol { padding-left:24px; margin-top:20px; }
.grade2-english mark { background:var(--lightblue); color:var(--main); text-decoration:underline; padding:1px 3px; }
.grade2-english .switch_sound { display:none; }
@media(min-width:901px) { .grade2-english[data-reading="true"] .g2-reader { position:sticky; top:20px; max-height:75vh; overflow-y:auto; } }
@media(max-width:900px) { .grade2-english[data-reading="true"] .g2-columns { grid-template-columns:minmax(0,1fr); }.grade2-english[data-reading="true"] .g2-reader { max-height:45vh; overflow-y:auto; }.grade2-english .g2-workspace { padding:18px; } }
@media(max-width:520px) { .grade2-english .g2-toolbar { padding:12px; }.grade2-english .g2-toolbar h1 { font-size:20px; }.grade2-english .g2-workspace { padding:14px; }.grade2-english .g2-reader { padding:14px; }.grade2-english .g2-source p,.grade2-english .g2-source li { font-size:17px; }.grade2-english .g2-prompt { font-size:19px; }.grade2-english .g2-session-line { gap:10px; }.grade2-english .g2-count { font-size:13px; }.grade2-english .g2-actions>.btn { flex:1 1 140px; } }

/* Direct-entry settings stay optional and separate from the exercise actions. */
.grade2-english .g2-settings { margin-top:24px; color:var(--secondary); font-size:14px; }
.grade2-english .g2-settings>summary { display:list-item; cursor:pointer; width:fit-content; padding:10px 0; min-height:24px; }
.grade2-english summary:focus-visible { outline:3px solid var(--accent); outline-offset:3px; }
.grade2-english .g2-settings>label { display:block; margin:12px 0 6px; }
.grade2-english .g2-settings>select { width:auto; max-width:100%; font-size:16px; }
.grade2-english .g2-settings .g2-reset { border:0; padding:0; margin-top:16px; }
.grade2-english .g2-reader-heading { display:flex; flex-wrap:wrap; gap:8px 20px; align-items:baseline; justify-content:space-between; margin-bottom:12px; }
.grade2-english .g2-reader-heading h2 { margin:0; }
.grade2-english[data-type="editing"] .g2-edit-instruction { max-width:840px; margin:0 auto 16px; font-size:16px; line-height:1.6; }
.grade2-english[data-type="editing"] .g2-columns { max-width:840px; margin:0 auto; gap:16px; }
.grade2-english[data-type="editing"] .g2-reader { border:0; border-radius:0; background:transparent; padding:0; }
.grade2-english[data-type="editing"] .g2-reader h2 { font-size:20px; }
.grade2-english .g2-edit-count { color:var(--secondary); font-size:14px; white-space:nowrap; }
.grade2-english[data-type="editing"] .g2-source p { font-size:20px; line-height:1.8; text-align:left; }
.grade2-english[data-type="editing"] .g2-word { display:inline; min-height:0; padding:2px 0; margin:0; border:0; font:inherit; line-height:inherit; vertical-align:baseline; }
.grade2-english[data-type="editing"] .g2-word:hover { background:var(--lightblue); }
.grade2-english[data-type="editing"] .g2-word[aria-pressed="true"] { background:var(--lightblue); outline:0; border-radius:3px; }
.grade2-english[data-type="editing"] .g2-word:focus-visible { outline:3px solid var(--accent); outline-offset:2px; }
.grade2-english .g2-keyboard-picker { font-size:14px; color:var(--secondary); margin-top:8px; }
.grade2-english .g2-keyboard-picker>summary { cursor:pointer; width:fit-content; min-height:24px; padding:8px 0; }
.grade2-english .g2-keyboard-picker label { display:block; margin:4px 0; }
.grade2-english .g2-keyboard-picker select { width:auto; max-width:100%; }
.grade2-english .g2-selected-word { font-size:15px; margin:0 0 6px; }
.grade2-english .g2-correction-row { display:flex; align-items:flex-end; gap:8px; max-width:440px; }
.grade2-english .g2-correction-row .g2-field { margin:0; flex:1; min-width:0; }
.grade2-english .g2-correction-row label { font-size:14px; }
.grade2-english .g2-correction-row input { padding:8px 12px; font-size:18px; min-height:44px; }
.grade2-english .g2-correction-row .btn { flex:0 0 auto; min-height:44px; padding:8px 16px; }
.grade2-english .g2-correction-summary { display:flex; gap:8px; flex-wrap:wrap; }
.grade2-english .g2-correction-summary:not(:empty) { margin-top:12px; }
.grade2-english .g2-correction-chip { display:inline-flex; align-items:center; max-width:100%; background:var(--lightblue); color:var(--main); border-radius:8px; }
.grade2-english .g2-correction-chip button { background:transparent; color:inherit; border:0; font:inherit; cursor:pointer; min-height:40px; }
.grade2-english .g2-chip-edit { padding:6px 10px; text-align:left; overflow-wrap:anywhere; min-width:0; }
.grade2-english .g2-chip-remove { padding:6px 10px; font-size:22px !important; flex-shrink:0; }
@media(max-width:520px) { .grade2-english[data-type="editing"] .g2-source p { font-size:19px; line-height:1.75; }.grade2-english .g2-correction-row { width:100%; }.grade2-english[data-type="editing"] .g2-reader h2 { font-size:19px; } }
