body.subject-toefl {
    --subject-primary: #2f9ccc;
    --subject-primary-rgb: 47, 156, 204;
    --subject-primary-hover: #247fa8;
    --subject-primary-light: #78cbe8;
    --subject-primary-soft: #e6f6fc;
    --subject-primary-panel: #f0faff;
    --subject-border: rgba(47, 156, 204, .24);
    --subject-border-strong: rgba(47, 156, 204, .36);
    --dictation-intro-primary: var(--subject-primary);
    --dictation-intro-soft: var(--subject-primary-soft);
    --dictation-intro-border: var(--subject-border);
    --lcr-option-panel: var(--subject-primary-panel);
    --lcr-option-soft: var(--subject-primary-soft);
    --lcr-option-primary: var(--subject-primary);
    --subject-text-on-soft: #247fa8;
    --subject-hero-bg: #f0faff;
    --subject-hero-from: rgba(228, 234, 252, .95);
    --subject-hero-mid: rgba(238, 244, 255, .88);
    --subject-hero-end: rgba(245, 247, 248, .98);
    --subject-hero-glow: rgba(74, 154, 225, .18);
    --subject-shadow: rgba(47, 156, 204, .18);
    --subject-mascot-shadow-rgb: 47, 156, 204;
    --subject-exercise-bg: #f0faff;
    --subject-exercise-bg-rgb: 240, 250, 255;
    --subject-exercise-from: #e6f6fc;
    --subject-exercise-mid: #f0faff;
    --subject-page-bg-start: #e6f6fc;
    --subject-page-bg-mid: #f0faff;
    --subject-page-bg-end: #f5fbfd;
    --subject-common-canvas: linear-gradient(180deg, #e4eafc 0%, #eef4ff 47%, #f5f7f8 100%);
    --subject-practice-canvas: #f5f7f8;
    --subject-common-hero: linear-gradient(180deg, rgba(228, 234, 252, .95) 0%, rgba(238, 244, 255, .88) 47%, rgba(245, 247, 248, .98) 100%), radial-gradient(circle at 82% 4%, rgba(74, 154, 225, .32) 0%, rgba(74, 154, 225, 0) 36%), radial-gradient(circle at 16% 35%, rgba(255, 255, 255, .65) 0%, rgba(255, 255, 255, 0) 40%);
    --subject-practice-hero: linear-gradient(180deg, rgba(228, 234, 252, .95) 0%, rgba(238, 244, 255, .88) 47%, rgba(245, 247, 248, .98) 100%), radial-gradient(circle at 82% 4%, rgba(74, 154, 225, .18) 0%, rgba(74, 154, 225, 0) 36%), radial-gradient(circle at 16% 35%, rgba(255, 255, 255, .65) 0%, rgba(255, 255, 255, 0) 40%);
    --subject-utility-canvas: #f5f7f8;
    --subject-utility-hero: linear-gradient(180deg, rgba(233, 246, 251, .95) 0%, rgba(247, 251, 252, .88) 47%, rgba(245, 247, 248, .98) 100%), radial-gradient(circle at 82% 4%, rgba(137, 210, 238, .32) 0%, rgba(137, 210, 238, 0) 36%), radial-gradient(circle at 16% 35%, rgba(255, 255, 255, .65) 0%, rgba(255, 255, 255, 0) 40%);
    --color-primary: var(--subject-primary);
    --color-primary-dark: var(--subject-primary-hover);
    --color-primary-light: var(--subject-primary-light);
    --color-bg-sidebar: var(--subject-primary-soft);
    --shadow-hover: 0 4px 12px var(--subject-shadow);
    --theme-primary: var(--subject-primary);
    --theme-primary-hover: var(--subject-primary-hover);
    --theme-rgb: var(--subject-primary-rgb);
    --theme-bg: var(--subject-practice-canvas);
    --theme-bg-soft: var(--subject-primary-soft);
    --theme-accent: #58aaf5;
    --theme-deep: var(--subject-primary-hover);
    --theme-primary-10: rgba(var(--subject-primary-rgb), .1);
    --theme_primary: var(--subject-primary);
    --theme_primary-rgb: var(--subject-primary-rgb);
    --plan-button: var(--subject-primary);
    --plan-button-soft: rgba(var(--subject-primary-rgb), .1);
    --plan-accent: var(--subject-primary);
    --ielts-brand-green: var(--subject-primary);
    --ielts-brand-green-dark: var(--subject-primary-hover);
}

body.subject-sat {
    --subject-primary: #1683ff;
    --subject-primary-rgb: 22, 131, 255;
    --subject-primary-hover: #006fd6;
    --subject-primary-light: #78c4ff;
    --subject-primary-soft: #eef8ff;
    --subject-primary-panel: #f3fbff;
    --subject-border: #b9e2ff;
    --subject-border-strong: rgba(120, 196, 255, .34);
    --dictation-intro-primary: var(--subject-primary);
    --dictation-intro-soft: var(--subject-primary-soft);
    --dictation-intro-border: var(--subject-border);
    --subject-text-on-soft: #006fd6;
    --subject-hero-bg: #f3fbff;
    --subject-hero-from: rgba(226, 242, 255, .95);
    --subject-hero-mid: rgba(240, 248, 255, .90);
    --subject-hero-end: rgba(248, 251, 255, .98);
    --subject-hero-glow: rgba(22, 131, 255, .25);
    --subject-shadow: rgba(22, 131, 255, .18);
    --subject-mascot-shadow-rgb: 22, 131, 255;
    --subject-exercise-bg: #f3fbff;
    --subject-exercise-bg-rgb: 243, 251, 255;
    --subject-exercise-from: #eef8ff;
    --subject-exercise-mid: #f3fbff;
    --subject-page-bg-start: #eef7ff;
    --subject-page-bg-mid: #f7fbff;
    --subject-page-bg-end: #f8fbff;
    --subject-common-canvas: linear-gradient(180deg, #eef7ff 0%, #f7fbff 360px, #f8fbff 100%);
    --subject-practice-canvas: #f5fbff;
    --subject-common-hero: linear-gradient(180deg, rgba(226, 242, 255, .95) 0%, rgba(240, 248, 255, .9) 48%, rgba(248, 251, 255, .98) 100%), radial-gradient(circle at 82% 4%, rgba(22, 131, 255, .25) 0%, rgba(22, 131, 255, 0) 36%), radial-gradient(circle at 20% 36%, rgba(105, 196, 244, .22) 0%, rgba(105, 196, 244, 0) 42%);
    --subject-practice-hero: radial-gradient(circle at 18% 0%, rgba(22, 131, 255, .18) 0%, rgba(22, 131, 255, 0) 34%), radial-gradient(circle at 78% 8%, rgba(83, 177, 255, .20) 0%, rgba(83, 177, 255, 0) 32%), linear-gradient(180deg, rgba(221, 241, 255, .98) 0%, rgba(241, 249, 255, .94) 44%, rgba(247, 252, 255, 1) 100%);
    --subject-utility-canvas: #f5fbff;
    --subject-utility-hero: var(--subject-practice-hero);
    --subject-control-border: #8bd0ff;
    --subject-control-text: #075fae;
    --subject-control-soft: #e7f5ff;
    --subject-disabled-primary: #8bc5ff;
    --color-primary: var(--subject-primary);
    --color-primary-dark: var(--subject-primary-hover);
    --color-primary-light: var(--subject-primary-light);
    --color-bg-sidebar: var(--subject-primary-soft);
    --shadow-hover: 0 4px 12px var(--subject-shadow);
    --theme-primary: var(--subject-primary);
    --theme-primary-hover: var(--subject-primary-hover);
    --theme-primary-10: rgba(var(--subject-primary-rgb), .1);
    --theme_primary: var(--subject-primary);
    --theme_primary-rgb: var(--subject-primary-rgb);
    --plan-button: var(--subject-primary);
    --plan-button-soft: rgba(var(--subject-primary-rgb), .1);
    --plan-accent: var(--subject-primary);
}

body.subject-ielts {
    --subject-primary: #4abc99;
    --subject-primary-rgb: 74, 188, 153;
    --subject-primary-hover: #3aa383;
    --subject-primary-light: #78d4b6;
    --subject-primary-soft: #eaf8f4;
    --subject-primary-panel: #f4fbf8;
    --subject-border: rgba(74, 188, 153, .24);
    --subject-border-strong: rgba(74, 188, 153, .36);
    --subject-text-on-soft: #3aa383;
    --subject-hero-bg: #f4f8f6;
    --subject-hero-from: rgba(222, 252, 240, .95);
    --subject-hero-mid: rgba(225, 250, 240, .88);
    --subject-hero-end: rgba(244, 248, 246, .98);
    --subject-hero-glow: rgba(67, 214, 181, .32);
    --subject-shadow: rgba(74, 188, 153, .18);
    --subject-exercise-bg: #f6fbf9;
    --subject-exercise-bg-rgb: 246, 251, 249;
    --subject-exercise-from: #dff8ef;
    --subject-exercise-mid: #eafbf6;
    --subject-page-bg-start: #edf8f4;
    --subject-page-bg-mid: #f4f8f6;
    --subject-page-bg-end: #f4f8f6;
    --subject-common-canvas: linear-gradient(180deg, #edf8f4 0%, #f4f8f6 360px, #f4f8f6 100%);
    --subject-practice-canvas: #f6fbf9;
    --subject-common-hero: linear-gradient(180deg, rgba(222, 252, 240, .95) 0%, rgba(225, 250, 240, .88) 47%, rgba(244, 248, 246, .98) 100%), radial-gradient(circle at 82% 4%, rgba(67, 214, 181, .32) 0%, rgba(67, 214, 181, 0) 36%), radial-gradient(circle at 16% 35%, rgba(255, 255, 255, .65) 0%, rgba(255, 255, 255, 0) 40%);
    --subject-practice-hero: linear-gradient(180deg, #dff8ef 0%, #eafbf6 58%, rgba(246, 251, 249, 0) 100%);
    --subject-utility-canvas: #f4f8f6;
    --subject-utility-hero: var(--subject-common-hero);
    --color-primary: var(--subject-primary);
    --color-primary-dark: var(--subject-primary-hover);
    --color-primary-light: var(--subject-primary-light);
    --color-bg-sidebar: var(--subject-primary-soft);
    --shadow-hover: 0 4px 12px var(--subject-shadow);
}

/* Compatibility layer retained for the original page-shell selector contract. */
body.subject-toefl:is(.exam-select-page, .account-center-page, .account-planning-page, .assessment-designed-page, .account-membership-page, .record-list-page, .combo-start-page, .vocab-learn-page, .vocab-quiz-page, .audio-cloze-page, .audio-dictation-page, .sentence-dictation-page, .sentence-meaning-page, .text-typing-page, .gap-fill-page, .cloze-fill-page, .oral-repeat-page),
body.subject-sat:is(.exam-select-page, .account-center-page, .account-planning-page, .assessment-designed-page, .account-membership-page, .record-list-page, .combo-start-page, .vocab-learn-page, .vocab-quiz-page, .audio-cloze-page, .audio-dictation-page, .sentence-dictation-page, .sentence-meaning-page, .text-typing-page, .gap-fill-page, .cloze-fill-page, .oral-repeat-page, .sat-spotlight-practice-page, .sat-record-redesign, .sat-mock-report-body),
body.subject-ielts:is(.exam-select-page, .account-center-page, .account-planning-page, .assessment-designed-page, .account-membership-page, .record-list-page, .combo-start-page, .vocab-learn-page, .vocab-quiz-page, .audio-cloze-page, .audio-dictation-page, .sentence-dictation-page, .sentence-meaning-page, .text-typing-page, .gap-fill-page, .cloze-fill-page, .oral-repeat-page) {
    background: linear-gradient(180deg, var(--subject-page-bg-start) 0%, var(--subject-page-bg-mid) 360px, var(--subject-page-bg-end) 100%);
}

body.subject-toefl.account-planning-page::before,
body.subject-toefl.assessment-designed-page::before,
body.subject-sat.account-planning-page::before,
body.subject-sat.assessment-designed-page::before,
body.subject-ielts.account-planning-page::before,
body.subject-ielts.assessment-designed-page::before {
    background: linear-gradient(180deg, var(--subject-hero-from) 0%, var(--subject-hero-mid) 47%, var(--subject-hero-end) 100%), radial-gradient(circle at 82% 4%, var(--subject-hero-glow) 0%, rgba(var(--subject-primary-rgb), 0) 36%), radial-gradient(circle at 16% 35%, rgba(255, 255, 255, .65) 0%, rgba(255, 255, 255, 0) 40%);
}

/* Page canvas roles. Content cards and semantic status surfaces remain unchanged. */
body.subject-toefl:is(.account-center-page, .account-planning-page, .assessment-designed-page, .account-membership-page, .record-list-page),
body.subject-sat:is(.account-center-page, .account-planning-page, .assessment-designed-page, .account-membership-page, .record-list-page),
body.subject-ielts:is(.account-center-page, .account-planning-page, .assessment-designed-page, .account-membership-page, .record-list-page) {
    background: var(--subject-utility-canvas) !important;
}

body.subject-sat:is(.combo-report-page, .record-detail-page) {
    background: var(--subject-utility-canvas) !important;
}

/* September report handoff: tokens are local to reports, not practice pages. */
body.subject-toefl:is(.record-detail-page, .combo-report-page, .toefl-mock-report-body) {
    --report-primary: var(--subject-primary);
    --report-primary-hover: var(--subject-primary-hover);
    --report-primary-rgb: 47, 156, 204;
    --report-primary-soft: #e7f6fc;
    --report-primary-softer: #f5fbff;
    --report-accent: #7f8cff;
    --report-accent-rgb: 127, 140, 255;
    --subject-mascot-shadow-rgb: 127, 140, 255;
    --report-accent-soft: #eff2ff;
    --report-ink: #172033;
    --report-muted: #64748b;
    --report-canvas: #f5f7f8;
    --report-hero: linear-gradient(180deg, #e4eafc 0%, #eef4ff 47%, rgba(245, 247, 248, .98) 100%), radial-gradient(circle at 82% 4%, rgba(47, 156, 204, .18) 0%, rgba(47, 156, 204, 0) 36%), radial-gradient(circle at 42% 0%, rgba(127, 140, 255, .14) 0%, rgba(127, 140, 255, 0) 42%), radial-gradient(circle at 16% 35%, rgba(255, 255, 255, .62) 0%, rgba(255, 255, 255, 0) 40%);
    background: var(--report-canvas) !important;
}

body.subject-toefl:is(.record-detail-page, .combo-report-page, .toefl-mock-report-body)::before {
    background: var(--report-hero) !important;
}

body.subject-toefl.record-detail-page.embedded-report-page {
    background: transparent !important;
}

body.subject-toefl:is(.record-detail-page, .combo-report-page, .toefl-mock-report-body) :is(.home-top-nav, .navbar) {
    background-color: #fff !important;
    border-bottom-color: rgba(var(--report-primary-rgb), .14) !important;
}

body.subject-ielts.record-detail-page.report-template-native-zoom {
    background: var(--subject-utility-canvas) !important;
}

body.subject-ielts.record-detail-page.report-template-native-zoom::before {
    background: var(--subject-common-hero) !important;
}

body.subject-ielts.record-detail-page.report-template-native-zoom :is(.home-top-nav, .navbar) {
    background-color: #fff !important;
    border-bottom-color: var(--subject-border) !important;
}

body.subject-toefl:is(.account-center-page, .account-planning-page, .assessment-designed-page, .account-membership-page, .record-list-page)::before,
body.subject-sat:is(.account-center-page, .account-planning-page, .assessment-designed-page, .account-membership-page, .record-list-page)::before,
body.subject-ielts:is(.account-center-page, .account-planning-page, .assessment-designed-page, .account-membership-page, .record-list-page)::before {
    background: var(--subject-common-hero) !important;
}

body.subject-sat:is(.combo-report-page, .record-detail-page)::before {
    background: var(--subject-common-hero) !important;
}

body.subject-toefl:is(.exam-select-page, .combo-start-page, .vocab-learn-page, .vocab-quiz-page, .audio-cloze-page, .audio-dictation-page, .sentence-dictation-page, .sentence-meaning-page, .text-typing-page, .gap-fill-page, .cloze-fill-page, .oral-repeat-page),
body.subject-sat:is(.exam-select-page, .combo-start-page, .vocab-learn-page, .vocab-quiz-page, .audio-cloze-page, .audio-dictation-page, .sentence-dictation-page, .sentence-meaning-page, .text-typing-page, .gap-fill-page, .cloze-fill-page, .oral-repeat-page),
body.subject-ielts:is(.exam-select-page, .combo-start-page, .vocab-learn-page, .vocab-quiz-page, .audio-cloze-page, .audio-dictation-page, .sentence-dictation-page, .sentence-meaning-page, .text-typing-page, .gap-fill-page, .cloze-fill-page, .oral-repeat-page) {
    background: var(--subject-practice-canvas) !important;
}

body.subject-toefl:is(.exam-select-page, .combo-start-page, .vocab-learn-page, .vocab-quiz-page, .audio-cloze-page, .audio-dictation-page, .sentence-dictation-page, .sentence-meaning-page, .text-typing-page, .gap-fill-page, .cloze-fill-page, .oral-repeat-page)::before,
body.subject-sat:is(.exam-select-page, .combo-start-page, .vocab-learn-page, .vocab-quiz-page, .audio-cloze-page, .audio-dictation-page, .sentence-dictation-page, .sentence-meaning-page, .text-typing-page, .gap-fill-page, .cloze-fill-page, .oral-repeat-page)::before,
body.subject-ielts:is(.exam-select-page, .combo-start-page, .vocab-learn-page, .vocab-quiz-page, .audio-cloze-page, .audio-dictation-page, .sentence-dictation-page, .sentence-meaning-page, .text-typing-page, .gap-fill-page, .cloze-fill-page, .oral-repeat-page)::before {
    background: var(--subject-practice-hero) !important;
}

body.subject-toefl:is(.vocab-notebook-page, .assessment-subpage),
body.subject-sat:is(.vocab-notebook-page, .assessment-subpage),
body.subject-ielts:is(.vocab-notebook-page, .assessment-subpage) {
    background: var(--subject-utility-canvas) !important;
}

body.subject-toefl:is(.vocab-notebook-page, .assessment-subpage)::before,
body.subject-sat:is(.vocab-notebook-page, .assessment-subpage)::before,
body.subject-ielts:is(.vocab-notebook-page, .assessment-subpage)::before {
    background: var(--subject-utility-hero) !important;
}

/* Preserve each component's shadow geometry and only replace the TOEFL hue. */
body.subject-toefl.exam-select-page .exam-hero-mascot,
body.subject-toefl.combo-start-page .combo-hero-art,
body.subject-toefl.account-center-page .account-page-deco-image,
body.subject-toefl.account-membership-page .main-content::before,
body.subject-toefl.record-list-page .main-content::before {
    filter: drop-shadow(0 26px 32px rgba(47, 156, 204, .16));
}

body.subject-toefl.account-center-page .main-content::before {
    filter: drop-shadow(0 22px 28px rgba(47, 156, 204, .14));
}

body.subject-toefl.ai-study-designed-page .main-content > .assessment-page-hero-art {
    filter: drop-shadow(0 26px 32px rgba(47, 156, 204, .16)) !important;
}

body.subject-sat.sat-spotlight-practice-page {
    background: #f0f1f2 !important;
}

body.subject-toefl {
    --toefl-header-bg: var(--subject-primary);
    --toefl-brand-green: var(--subject-primary);
    --toefl-light-green: var(--subject-primary-soft);
    --volume-btn-bg: var(--subject-primary-light);
    --next-btn-bg: var(--subject-primary);
    --theme_primary: var(--subject-primary);
    --theme_primary-rgb: var(--subject-primary-rgb);
    --plan-button: var(--subject-primary);
    --plan-button-soft: rgba(var(--subject-primary-rgb), .1);
    --plan-accent: var(--subject-primary);
}

body.subject-toefl .toefl-bg-green-block,
body.subject-toefl .toefl-listening-bg-green-block,
body.subject-toefl .ielts-bg-green-block {
    background: linear-gradient(to right, #5fbfde 0%, #42abd5 50%, #2f9ccc 100%);
}

body.subject-toefl .exit-btn-confirm.exit-btn-resume {
    background: #48b4dc;
}

body.subject-toefl .exit-btn-confirm.exit-btn-resume:hover {
    background: var(--subject-primary);
}

/* Ability assessments inherit the exam selected in the assessment center. */
body.subject-toefl.assessment-subpage .output-assessment-shell,
body.subject-ielts.assessment-subpage .output-assessment-shell,
body.subject-toefl.assessment-subpage .input-report-shell,
body.subject-ielts.assessment-subpage .input-report-shell {
    background: transparent;
}

body.subject-toefl.assessment-subpage :is(.vpa-count, .output-assessment-back, .input-assessment-ribbon a),
body.subject-ielts.assessment-subpage :is(.vpa-count, .output-assessment-back, .input-assessment-ribbon a) {
    color: var(--subject-text-on-soft);
}

body.subject-toefl.assessment-subpage :is(.vpa-progress-fill, .vpa-mode),
body.subject-ielts.assessment-subpage :is(.vpa-progress-fill, .vpa-mode),
body.subject-toefl.assessment-subpage :is(.output-primary-button, .output-record-button, .output-recorder-button),
body.subject-ielts.assessment-subpage :is(.output-primary-button, .output-record-button, .output-recorder-button),
body.subject-toefl.assessment-subpage .input-report-button.primary,
body.subject-ielts.assessment-subpage .input-report-button.primary {
    border-color: var(--subject-primary);
    background: var(--subject-primary);
    color: #fff;
}

body.subject-toefl.assessment-subpage :is(.output-primary-button, .output-record-button, .output-recorder-button):not(:disabled):hover,
body.subject-ielts.assessment-subpage :is(.output-primary-button, .output-record-button, .output-recorder-button):not(:disabled):hover,
body.subject-toefl.assessment-subpage .input-report-button.primary:hover,
body.subject-ielts.assessment-subpage .input-report-button.primary:hover {
    border-color: var(--subject-primary-hover);
    background: var(--subject-primary-hover);
}

/* English-level intake follows the exam selected in its local switch. */
body.subject-toefl.assessment-subpage .level-switch,
body.subject-ielts.assessment-subpage .level-switch {
    border-color: var(--subject-border);
    background: var(--subject-primary-panel);
}

body.subject-toefl.assessment-subpage .level-switch a:hover,
body.subject-ielts.assessment-subpage .level-switch a:hover {
    background: var(--subject-primary-soft);
    color: var(--subject-text-on-soft);
}

body.subject-toefl.assessment-subpage .level-switch a.is-active,
body.subject-ielts.assessment-subpage .level-switch a.is-active,
body.subject-toefl.assessment-subpage .level-submit,
body.subject-ielts.assessment-subpage .level-submit {
    border-color: var(--subject-primary);
    background: var(--subject-primary);
    color: #fff;
}

body.subject-toefl.assessment-subpage .level-submit:hover,
body.subject-ielts.assessment-subpage .level-submit:hover {
    border-color: var(--subject-primary-hover);
    background: var(--subject-primary-hover);
}

body.subject-toefl.assessment-subpage .level-intake-shell :is(input, select, textarea):focus,
body.subject-toefl.assessment-subpage .level-intake-shell :is(input, select, textarea):focus-visible,
body.subject-ielts.assessment-subpage .level-intake-shell :is(input, select, textarea):focus,
body.subject-ielts.assessment-subpage .level-intake-shell :is(input, select, textarea):focus-visible {
    border-color: var(--subject-primary);
}

body.subject-toefl.assessment-subpage .choice-option:hover,
body.subject-toefl.assessment-subpage .choice-option:has(input:checked),
body.subject-ielts.assessment-subpage .choice-option:hover,
body.subject-ielts.assessment-subpage .choice-option:has(input:checked) {
    color: var(--subject-text-on-soft);
    background: var(--subject-primary-soft);
}

body.subject-toefl.assessment-subpage .choice-option input[type="radio"]:checked,
body.subject-ielts.assessment-subpage .choice-option input[type="radio"]:checked {
    border-color: var(--subject-primary);
    background: radial-gradient(circle, var(--subject-primary) 0 4px, #fff 4.5px 100%);
}

body.subject-toefl.assessment-subpage .choice-option input[type="checkbox"]:checked,
body.subject-ielts.assessment-subpage .choice-option input[type="checkbox"]:checked {
    border-color: var(--subject-primary);
}

body.subject-toefl.account-checkout-page .checkout-pay-link,
body.subject-sat.account-checkout-page .checkout-pay-link,
body.subject-ielts.account-checkout-page .checkout-pay-link {
    background: var(--subject-primary);
    color: #fff;
}

body.subject-toefl.account-checkout-page :is(.checkout-order-row.is-total strong, .checkout-pay-total strong),
body.subject-sat.account-checkout-page :is(.checkout-order-row.is-total strong, .checkout-pay-total strong),
body.subject-ielts.account-checkout-page :is(.checkout-order-row.is-total strong, .checkout-pay-total strong) {
    color: var(--subject-primary);
}

body.subject-toefl.account-checkout-page .checkout-pay-link:hover,
body.subject-sat.account-checkout-page .checkout-pay-link:hover,
body.subject-ielts.account-checkout-page .checkout-pay-link:hover {
    background: var(--subject-primary-hover);
    color: #fff;
}

body.subject-toefl.account-center-page .account-phone-panel,
body.subject-toefl.account-center-page .account-assessment-result,
body.subject-toefl.account-center-page .account-security-panel,
body.subject-sat.account-center-page .account-phone-panel,
body.subject-sat.account-center-page .account-assessment-result,
body.subject-sat.account-center-page .account-security-panel {
    background: rgba(var(--subject-primary-rgb), .1);
}

body.subject-toefl.account-center-page .account-dashboard-card .account-avatar-upload:hover,
body.subject-toefl.account-center-page .account-dashboard-card .account-status-action:hover,
body.subject-toefl.account-center-page .account-dashboard-card .account-assessment-action:not(.is-disabled):hover,
body.subject-toefl.account-center-page .account-dashboard-card .account-security .secondary:hover,
body.subject-sat.account-center-page .account-dashboard-card .account-avatar-upload:hover,
body.subject-sat.account-center-page .account-dashboard-card .account-status-action:hover,
body.subject-sat.account-center-page .account-dashboard-card .account-assessment-action:not(.is-disabled):hover,
body.subject-sat.account-center-page .account-dashboard-card .account-security .secondary:hover {
    background: var(--subject-primary-hover);
}

body.subject-toefl.account-center-page .account-dashboard-card .account-referral-code-card button:hover,
body.subject-sat.account-center-page .account-dashboard-card .account-referral-code-card button:hover {
    color: var(--subject-primary-hover);
}

body.subject-toefl.account-membership-page .membership-agreement input:checked {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='8' viewBox='0 0 10 8' fill='none'%3E%3Cpath d='M1 4l2.5 2.5L9 1' stroke='%232f9ccc' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

body.subject-sat.account-membership-page .membership-agreement input:checked {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='8' viewBox='0 0 10 8' fill='none'%3E%3Cpath d='M1 4l2.5 2.5L9 1' stroke='%231683ff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

body.subject-toefl.account-membership-page .membership-pay-option:hover,
body.subject-toefl.account-membership-page .membership-coupon-panel,
body.subject-sat.account-membership-page .membership-subject-tab:hover,
body.subject-sat.account-membership-page .membership-subject-tab.is-active,
body.subject-sat.account-membership-page .membership-plan:hover,
body.subject-sat.account-membership-page .membership-plan.is-active,
body.subject-sat.account-membership-page .membership-plan:has(input:checked),
body.subject-sat.account-membership-page .membership-pay-option:hover,
body.subject-sat.account-membership-page .membership-coupon-panel {
    background: rgba(var(--subject-primary-rgb), .1);
}

body.subject-toefl.account-membership-page .membership-subject-tab:hover {
    background: rgba(var(--subject-exercise-bg-rgb), .42);
}

body.subject-toefl.account-membership-page .membership-subject-tab.is-active {
    background: rgba(var(--subject-exercise-bg-rgb), .60);
}

body.subject-toefl.account-membership-page .membership-plan:hover {
    background: rgba(var(--subject-exercise-bg-rgb), .38);
}

body.subject-toefl.account-membership-page .membership-plan.is-active,
body.subject-toefl.account-membership-page .membership-plan:has(input:checked) {
    background: rgba(var(--subject-exercise-bg-rgb), .55);
}

body.subject-toefl.account-membership-page .membership-submit-btn:hover,
body.subject-sat.account-membership-page .membership-submit-btn:hover {
    background: var(--subject-primary-hover);
}

body.subject-toefl.account-checkout-page .checkout-step strong,
body.subject-sat.account-checkout-page .checkout-step strong {
    background: var(--subject-primary-soft);
    color: var(--subject-primary);
}

body.subject-toefl.account-checkout-page .checkout-step.is-active,
body.subject-sat.account-checkout-page .checkout-step.is-active {
    border-color: var(--subject-primary);
    background: rgba(var(--subject-primary-rgb), .12);
    color: var(--subject-primary);
}

body.subject-toefl.account-checkout-page .checkout-discount-panel,
body.subject-toefl.account-checkout-page .checkout-channel-note,
body.subject-toefl.account-checkout-page .checkout-pay-total,
body.subject-sat.account-checkout-page .checkout-discount-panel,
body.subject-sat.account-checkout-page .checkout-channel-note,
body.subject-sat.account-checkout-page .checkout-pay-total {
    border-color: rgba(var(--subject-primary-rgb), .16);
    background: rgba(var(--subject-primary-rgb), .1);
}

body.subject-toefl.account-checkout-page .checkout-actions a:hover,
body.subject-sat.account-checkout-page .checkout-actions a:hover {
    border-color: var(--subject-border-strong);
    background: var(--subject-primary-soft);
    color: var(--subject-primary-hover);
}

body.subject-toefl.account-checkout-page .checkout-actions button:hover,
body.subject-sat.account-checkout-page .checkout-actions button:hover {
    background: var(--subject-primary-hover);
}

body.subject-toefl.assessment-subpage .vpa-card,
body.subject-ielts.assessment-subpage .vpa-card {
    border-color: var(--subject-border-strong);
    background: var(--subject-primary-panel);
}

body.subject-toefl.assessment-subpage .vpa-kbd,
body.subject-ielts.assessment-subpage .vpa-kbd {
    border-color: var(--subject-primary);
    color: var(--subject-primary);
}

body.subject-toefl.assessment-subpage .vpa-choice.is-selected,
body.subject-ielts.assessment-subpage .vpa-choice.is-selected {
    border-color: var(--subject-primary);
    background: var(--subject-primary-soft);
}

body.subject-toefl.assessment-subpage .vpa-choice.is-selected .vpa-choice-index,
body.subject-ielts.assessment-subpage .vpa-choice.is-selected .vpa-choice-index {
    background: var(--subject-primary);
}

body.subject-toefl.assessment-subpage .output-topic-card:has(input:checked),
body.subject-ielts.assessment-subpage .output-topic-card:has(input:checked) {
    border-color: var(--subject-border-strong) !important;
    background: var(--subject-primary-soft) !important;
    color: var(--subject-primary) !important;
    box-shadow: inset 0 0 0 1px var(--subject-border), 0 8px 20px var(--subject-shadow) !important;
}

body.subject-toefl.assessment-subpage .output-topic-card:focus-within,
body.subject-ielts.assessment-subpage .output-topic-card:focus-within {
    outline-color: var(--subject-border-strong) !important;
}

body.subject-toefl.assessment-subpage .output-topic-card:has(input:checked) .output-topic-index,
body.subject-ielts.assessment-subpage .output-topic-card:has(input:checked) .output-topic-index {
    border-color: var(--subject-primary) !important;
    background: var(--subject-primary) !important;
}

body.subject-toefl .toefl-reading-wrapper .option-item.selected:not(.correct):not(.wrong):not(.review-correct):not(.review-wrong) {
    border-color: var(--subject-primary);
    background-color: var(--subject-primary-soft);
}

body.subject-toefl .toefl-reading-wrapper .reading-pane,
body.subject-ielts .toefl-reading-wrapper .reading-pane,
body.subject-toefl .toefl-reading-wrapper .option-item:not(.correct):not(.wrong):not(.review-correct):not(.review-wrong),
body.subject-ielts .toefl-reading-wrapper .option-item:not(.correct):not(.wrong):not(.review-correct):not(.review-wrong) {
    background-color: var(--subject-primary-panel);
}

body.subject-ielts .toefl-reading-wrapper .option-item.selected:not(.correct):not(.wrong):not(.review-correct):not(.review-wrong),
body.subject-ielts .toefl-reading-wrapper .option-item:hover:not(.correct):not(.wrong):not(.review-correct):not(.review-wrong):not(.disabled) {
    border-color: var(--subject-primary);
    background-color: var(--subject-primary-soft);
}

body.subject-toefl .toefl-reading-wrapper .option-item:hover:not(.correct):not(.wrong):not(.review-correct):not(.review-wrong):not(.disabled) {
    background-color: var(--subject-primary-soft);
}

body.subject-toefl .toefl-reading-wrapper .option-item:not(.correct):not(.wrong):not(.review-correct):not(.review-wrong) input:checked,
body.subject-toefl :is(.highlight-word, .highlight-word.question-highlight, .highlight-word-inline) {
    border-color: var(--subject-primary);
    background-color: var(--subject-primary);
}

body.subject-toefl .reading-language-switch {
    border-color: var(--subject-border-strong);
    box-shadow: 0 4px 14px var(--subject-shadow);
}

body.subject-toefl .toefl-reading-wrapper .btn-back {
    background-color: var(--subject-primary-light);
}

body.subject-toefl .paragraph-translation {
    background: var(--subject-primary-soft);
    color: var(--subject-text-on-soft);
}

body.subject-toefl .guest-submit-check {
    background: var(--subject-primary);
}

body.subject-toefl .toefl-listening-lcr-modern :is(.btn-quit, .btn-back) {
    border-color: var(--subject-primary);
    color: var(--subject-primary);
}

body.subject-toefl .toefl-listening-lcr-modern .btn-back {
    background-color: var(--subject-primary-light);
    color: #fff;
}

body.subject-toefl .toefl-listening-lcr-modern :is(.btn-next, .btn-submit-correction),
body.subject-toefl .guest-submit-panel h3::before {
    border-color: var(--subject-primary);
    background-color: var(--subject-primary);
}

body.subject-sat .sat-bg-green-block {
    background: linear-gradient(90deg, #57bfdd 0%, #41acd8 52%, #3095d2 100%);
}

body.subject-sat .sidebar-logo-icon,
body.subject-sat .option-btn.selected:not(.review-correct):not(.review-wrong) {
    border-color: var(--subject-primary);
}

body.subject-sat .sidebar-logo-icon {
    background: var(--subject-primary);
}

body.subject-sat .option-btn.selected:not(.review-correct):not(.review-wrong) {
    background-color: var(--subject-primary-soft);
}

body.subject-sat .language-toggle {
    border-color: var(--subject-border-strong);
    background: var(--subject-primary-panel);
}

body.subject-sat .language-toggle:hover {
    border-color: var(--subject-primary);
    background: var(--subject-primary-soft);
}

body.subject-sat .gradient-divider {
    background: linear-gradient(270deg, var(--subject-primary), var(--subject-primary-soft));
}

body.subject-sat .passage-col,
body.subject-sat .option-btn:not(.review-correct):not(.review-wrong) {
    background-color: var(--subject-primary-soft);
}

body.subject-sat :is(.sat-bilingual-cn, .sat-bilingual-option-pair .sat-bilingual-cn) {
    border-top-color: var(--subject-border);
}

body.subject-sat .option-btn:not(.is-confirmed):hover,
body.subject-sat .option-btn.selected:not(.review-correct):not(.review-wrong) {
    background-color: var(--subject-primary-soft);
}

body.subject-sat :is(.sat-header-link:hover, .filter-btn.active, .test-card .btn-start, .page-btn.active) {
    border-color: var(--subject-primary);
    background-color: var(--subject-primary);
}

body.subject-sat :is(.filter-btn:hover, .filter-search input:focus, .test-card .btn-review, .page-btn:hover) {
    border-color: var(--subject-primary);
    color: var(--subject-primary);
}

body.subject-sat .loading-spinner {
    border-top-color: var(--subject-primary);
}

body.subject-sat .detail-banner {
    background: linear-gradient(135deg, var(--subject-primary) 0%, var(--subject-primary-light) 50%, var(--subject-primary-hover) 100%);
}

body.subject-sat .stat-icon.total {
    background: linear-gradient(135deg, var(--subject-primary), var(--subject-primary-light));
}

body.subject-sat :is(.filter-select:focus, .btn-view-detail) {
    border-color: var(--subject-primary);
}

body.subject-sat .btn-view-detail {
    color: var(--subject-primary);
}

body.subject-sat .btn-view-detail:hover {
    background: var(--subject-primary);
    color: #fff;
}

body.subject-sat.sat-record-redesign {
    background: var(--subject-utility-canvas) !important;
}

html:has(> body.subject-sat.sat-record-redesign) {
    background: #f5fbff;
}

body.subject-sat.sat-record-redesign::before {
    background: linear-gradient(180deg, var(--subject-hero-from) 0%, var(--subject-hero-mid) 47%, var(--subject-hero-end) 100%), radial-gradient(circle at 82% 4%, var(--subject-hero-glow) 0%, rgba(var(--subject-primary-rgb), 0) 36%), radial-gradient(circle at 16% 35%, rgba(255, 255, 255, .65) 0%, rgba(255, 255, 255, 0) 40%);
}

body.subject-sat.sat-record-redesign .main-content::before {
    background-image: var(--active-mascot-image);
}

body.subject-sat.sat-record-redesign :is(.report-btn, .report-btn-primary) {
    border-color: var(--subject-primary);
    color: var(--subject-primary);
}

body.subject-sat.sat-record-redesign :is(.report-btn:hover, .report-btn-primary) {
    border-color: var(--subject-primary);
    background: var(--subject-primary);
    color: #fff;
}

body.subject-sat.sat-record-redesign .report-btn-primary:hover {
    border-color: var(--subject-primary-hover);
    background: var(--subject-primary-hover);
}

body.subject-sat.sat-record-redesign :is(.report-explanation-title, .report-explanation-body h3)::before {
    background: var(--subject-primary);
}

body.subject-sat.sat-record-redesign .report-explanation-title::before {
    box-shadow: 0 0 0 4px rgba(var(--subject-primary-rgb), .12);
}

body.subject-sat.sat-record-redesign .report-explanation-body em {
    color: var(--subject-primary-hover);
}

body.subject-sat.sat-mock-report-body :is(.topbar-record-btn:hover, .topbar-record-btn:focus-visible, .topbar-record-btn:active) {
    border-color: var(--subject-primary-hover) !important;
    background: var(--subject-primary-hover) !important;
    background-color: var(--subject-primary-hover) !important;
}

body.subject-sat.sat-mock-report-body .topbar-score-history-btn {
    border-color: var(--subject-border-strong) !important;
}

body.subject-sat.sat-mock-report-body :is(.topbar-score-history-btn:hover, .topbar-score-history-btn:focus-visible, .score-dropdown[open] > .topbar-score-history-btn, .topbar-score-history-btn:active) {
    border-color: var(--subject-primary) !important;
    background: var(--subject-primary-soft) !important;
    background-color: var(--subject-primary-soft) !important;
}

body.subject-sat.sat-mock-report-body .topbar-score-card {
    border-color: var(--subject-border);
    background: linear-gradient(135deg, var(--subject-hero-glow), rgba(255, 255, 255, 0) 46%), linear-gradient(180deg, #fff 0%, var(--subject-primary-panel) 100%);
}

body.subject-sat.sat-mock-report-body .module-chip {
    border-color: var(--subject-border);
    background: linear-gradient(180deg, rgba(var(--subject-exercise-bg-rgb), .98), #fff);
}

body.subject-sat.sat-mock-report-body .sat-module-pick {
    border-color: var(--subject-border);
    background: linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(var(--subject-exercise-bg-rgb), .94));
}

body.subject-sat.sat-mock-report-body :is(.score-attempt, .score-date) {
    background: var(--subject-primary-soft);
    color: var(--subject-primary-hover);
}

body.subject-sat.sat-mock-report-body .score-card-action {
    border-color: var(--subject-border);
}

body.subject-sat.sat-mock-report-body .sat-question-review-panel .report-explanation-title::before {
    box-shadow: 0 0 0 4px rgba(var(--subject-primary-rgb), .12);
}

body.subject-toefl :is(.topbar-back:hover, .topbar-btn:hover, .qnav-arrow:hover),
body.subject-sat :is(.topbar-back:hover, .topbar-btn:hover, .qnav-arrow:hover) {
    border-color: var(--subject-primary);
    color: var(--subject-primary);
}

body.subject-toefl :is(.topbar-btn.primary, .section-tab.active, .module-indicator.active),
body.subject-sat :is(.topbar-btn.primary, .section-tab.active, .module-indicator.active) {
    border-color: var(--subject-primary);
    background: var(--subject-primary);
}

body.subject-toefl .s-icon.exam,
body.subject-sat .s-icon.exam {
    background: var(--subject-primary);
}

body.subject-toefl .summary-btn-secondary,
body.subject-sat .summary-btn-secondary {
    background: var(--subject-primary-soft);
    color: var(--subject-primary);
}

body.subject-toefl .summary-btn-secondary:hover,
body.subject-sat .summary-btn-secondary:hover {
    background: var(--subject-primary-panel);
}

/* Exam home calendar: completion and overdue badges remain semantic colors. */
body.subject-toefl.exam-select-toefl-page .hw-cal-day.today:not(.selected),
body.subject-sat.exam-select-sat-page .hw-cal-day.today:not(.selected) {
    color: var(--subject-primary-hover);
    box-shadow: inset 0 0 0 1.5px var(--subject-primary);
}

body.subject-toefl.exam-select-toefl-page .hw-cal-day.selected,
body.subject-sat.exam-select-sat-page .hw-cal-day.selected {
    background: var(--subject-primary);
    box-shadow: 0 8px 16px rgba(var(--subject-primary-rgb), .22);
}

body.subject-toefl.exam-select-toefl-page .hw-cal-day.selected:hover,
body.subject-sat.exam-select-sat-page .hw-cal-day.selected:hover,
body.subject-toefl.exam-select-toefl-page .hw-cal-day.selected.hw-cal-overdue,
body.subject-sat.exam-select-sat-page .hw-cal-day.selected.hw-cal-overdue {
    background: var(--subject-primary);
}

body.subject-toefl .exam-topbar {
    background-color: var(--subject-primary-hover);
}

body.subject-toefl .exam-header-btn-normal:hover {
    color: var(--subject-primary-hover) !important;
}

body.subject-toefl :is(.exam-header-btn-begin:hover, .exam-header-btn-begin:focus-visible) {
    background: var(--subject-primary-hover) !important;
}

body.subject-toefl .save-progress-indicator[data-state="saving"] {
    border-color: var(--subject-border);
}

body.subject-toefl :is(.option-item:hover:not(.disabled) .option-radio, .option-item.selected .option-radio) {
    border-color: var(--subject-primary-hover) !important;
}

body.subject-toefl .rap-slot-marker {
    border-color: var(--subject-primary-hover);
    background: var(--subject-primary);
}

body.subject-toefl .rap-slot:hover .rap-slot-marker {
    border-color: var(--subject-primary-hover);
    background: var(--subject-primary-hover);
    box-shadow: 0 0 0 2px var(--subject-shadow);
}

body.subject-toefl .response-card {
    border-color: var(--subject-border-strong);
    box-shadow: 0 1px 0 var(--subject-shadow);
}

body.subject-toefl :is(.response-header, .exam-review-table tr.is-selected td) {
    background: var(--subject-primary);
}

body.subject-toefl :is(.exam-review-btn, .precheck-topbar) {
    border-color: var(--subject-primary-hover);
    background: var(--subject-primary-hover) !important;
}

body.subject-toefl .exam-review-btn.secondary {
    background: #fff !important;
    color: var(--subject-primary-hover);
}

body.subject-toefl :is(.exam-volume-head, .precheck-icon, .precheck-small-icon) {
    color: var(--subject-primary);
}

body.subject-toefl .exam-volume-range::-webkit-slider-thumb {
    background: var(--subject-primary);
    box-shadow: 0 0 0 2px var(--subject-primary-light), 0 0 0 4px var(--subject-primary), 0 4px 10px rgba(0, 0, 0, 0.14);
}

body.subject-toefl .exam-volume-range::-moz-range-thumb {
    background: var(--subject-primary);
    box-shadow: 0 0 0 2px var(--subject-primary-light), 0 0 0 4px var(--subject-primary), 0 4px 10px rgba(0, 0, 0, 0.14);
}

body.subject-toefl .mic-record-btn {
    border-color: var(--subject-border-strong);
    background: var(--subject-primary);
    box-shadow: 0 0 0 6px #fff, 0 0 0 9px var(--subject-primary-soft);
}

body.subject-toefl .exam-topbar .bg-\[\#3E888F\] {
    background-color: var(--subject-primary);
}

body.subject-toefl :is(.exam-header-btn-begin, #timerToggleText),
body.subject-toefl .exam-topbar .bg-white {
    color: var(--subject-primary-hover);
}

body.subject-toefl .exam-topbar .hover\:bg-\[\#377D82\]:hover {
    background-color: var(--subject-primary-hover);
}

body.subject-toefl .exam-topbar .hover\:text-\[\#377D82\]:hover {
    color: var(--subject-primary-hover);
}

body.subject-sat :is(.sat-next-btn, .sat-qnav-dot.current) {
    border-color: var(--subject-primary);
    background-color: var(--subject-primary);
    color: #fff;
}

body.subject-sat .sat-option.selected .sat-option-frame {
    border-color: var(--subject-primary);
}

body.subject-sat .sat-option.selected .sat-option-label {
    border-color: var(--subject-primary);
    background-color: var(--subject-primary);
}

body.subject-sat :is(.sat-back-btn, .sat-qnav-dot) {
    border-color: var(--subject-primary-hover);
    color: var(--subject-primary);
}

body.subject-sat .sat-explanation {
    border-color: var(--subject-primary);
}

/* Shared student pages: color roles only; semantic status colors stay local. */
body.subject-toefl.exam-select-page #tabAssignments :is(.hw-dash-query, .hw-subject-filter-btn.active, .hw-view-toggle-btn.active),
body.subject-ielts.exam-select-page #tabAssignments :is(.hw-dash-query, .hw-subject-filter-btn.active, .hw-view-toggle-btn.active),
body.subject-sat.exam-select-page #tabAssignments :is(.hw-dash-query, .hw-subject-filter-btn.active, .hw-view-toggle-btn.active) {
    border-color: var(--subject-primary);
    background: var(--subject-primary);
    color: #fff;
}

body.subject-toefl.exam-select-page #tabAssignments :is(.hw-subject-filter-btn:hover, .hw-dash-date:focus),
body.subject-ielts.exam-select-page #tabAssignments :is(.hw-subject-filter-btn:hover, .hw-dash-date:focus),
body.subject-sat.exam-select-page #tabAssignments :is(.hw-subject-filter-btn:hover, .hw-dash-date:focus) {
    border-color: var(--subject-primary);
    color: var(--subject-primary-hover);
}

body.subject-toefl.exam-select-page .hw-cal-day.today:not(.selected),
body.subject-ielts.exam-select-page .hw-cal-day.today:not(.selected),
body.subject-sat.exam-select-page .hw-cal-day.today:not(.selected) {
    color: var(--subject-primary-hover);
    box-shadow: inset 0 0 0 1.5px var(--subject-primary);
}

body.subject-toefl.exam-select-page .hw-cal-day.selected,
body.subject-ielts.exam-select-page .hw-cal-day.selected,
body.subject-sat.exam-select-page .hw-cal-day.selected {
    background: var(--subject-primary);
    box-shadow: 0 8px 16px rgba(var(--subject-primary-rgb), .22);
    color: #fff;
}

body.subject-toefl.assessment-designed-page :is(.assessment-primary-button, .assessment-mini-button.primary, .assessment-mini-button.blue, .assessment-mini-button.purple, .ability-start-button, .assessment-feedback-button:not(.secondary)),
body.subject-ielts.assessment-designed-page :is(.assessment-primary-button, .assessment-mini-button.primary, .assessment-mini-button.blue, .assessment-mini-button.purple, .ability-start-button, .assessment-feedback-button:not(.secondary)),
body.subject-sat.assessment-designed-page :is(.assessment-primary-button, .assessment-mini-button.primary, .assessment-mini-button.blue, .assessment-mini-button.purple, .ability-start-button, .assessment-feedback-button:not(.secondary)) {
    border-color: var(--subject-primary) !important;
    background: var(--subject-primary) !important;
    color: #fff !important;
}

body.subject-toefl.assessment-designed-page :is(.assessment-primary-button, .assessment-mini-button.primary, .assessment-mini-button.blue, .assessment-mini-button.purple, .ability-start-button, .assessment-feedback-button:not(.secondary)):hover,
body.subject-ielts.assessment-designed-page :is(.assessment-primary-button, .assessment-mini-button.primary, .assessment-mini-button.blue, .assessment-mini-button.purple, .ability-start-button, .assessment-feedback-button:not(.secondary)):hover,
body.subject-sat.assessment-designed-page :is(.assessment-primary-button, .assessment-mini-button.primary, .assessment-mini-button.blue, .assessment-mini-button.purple, .ability-start-button, .assessment-feedback-button:not(.secondary)):hover {
    border-color: var(--subject-primary-hover) !important;
    background: var(--subject-primary-hover) !important;
}

body.subject-toefl.assessment-designed-page .assessment-path-step.is-current .assessment-path-marker,
body.subject-ielts.assessment-designed-page .assessment-path-step.is-current .assessment-path-marker,
body.subject-sat.assessment-designed-page .assessment-path-step.is-current .assessment-path-marker {
    border-color: var(--subject-primary) !important;
    background: var(--subject-primary-soft) !important;
    color: var(--subject-primary-hover) !important;
}

body.subject-toefl.assessment-designed-page .assessment-progress-ring,
body.subject-ielts.assessment-designed-page .assessment-progress-ring,
body.subject-sat.assessment-designed-page .assessment-progress-ring {
    background: conic-gradient(var(--subject-primary) calc(var(--progress) * 1%), #e5e7eb 0) !important;
}

body.subject-toefl.assessment-designed-page :is(.ability-exam-option:has(input:checked), .ability-skill-option:has(input:checked)),
body.subject-ielts.assessment-designed-page :is(.ability-exam-option:has(input:checked), .ability-skill-option:has(input:checked)),
body.subject-sat.assessment-designed-page :is(.ability-exam-option:has(input:checked), .ability-skill-option:has(input:checked)) {
    border-color: var(--subject-primary) !important;
    color: var(--subject-primary-hover) !important;
}

body.subject-toefl.assessment-designed-page .ability-skill-option.is-ready:has(input:checked),
body.subject-ielts.assessment-designed-page .ability-skill-option.is-ready:has(input:checked),
body.subject-sat.assessment-designed-page .ability-skill-option.is-ready:has(input:checked) {
    border-color: var(--subject-primary) !important;
    background: var(--subject-primary-soft) !important;
}

body.subject-toefl.assessment-designed-page .ability-skill-option.is-ready:has(input:checked)::after,
body.subject-ielts.assessment-designed-page .ability-skill-option.is-ready:has(input:checked)::after,
body.subject-sat.assessment-designed-page .ability-skill-option.is-ready:has(input:checked)::after {
    border-color: var(--subject-primary) !important;
    background-color: var(--subject-primary) !important;
}

body.subject-toefl.account-planning-page,
body.subject-ielts.account-planning-page,
body.subject-sat.account-planning-page {
    --plan-button: var(--subject-primary);
    --plan-button-soft: var(--subject-primary-soft);
    --plan-accent: var(--subject-primary);
}

body.subject-toefl.account-planning-page :is(.plan-btn-primary, .plan-btn-secondary, .planning-generator-section .plan-subject-card.is-active),
body.subject-ielts.account-planning-page :is(.plan-btn-primary, .plan-btn-secondary, .planning-generator-section .plan-subject-card.is-active),
body.subject-sat.account-planning-page :is(.plan-btn-primary, .plan-btn-secondary, .planning-generator-section .plan-subject-card.is-active) {
    border-color: var(--subject-primary);
    background: var(--subject-primary);
    color: #fff;
}

body.subject-toefl.account-planning-page .planning-generator-section .plan-subject-card:not(.is-active),
body.subject-ielts.account-planning-page .planning-generator-section .plan-subject-card:not(.is-active),
body.subject-sat.account-planning-page .planning-generator-section .plan-subject-card:not(.is-active) {
    border-color: var(--subject-primary);
}

body.subject-toefl.account-planning-page .planning-generator-section .plan-subject-card:not(.is-active) strong,
body.subject-ielts.account-planning-page .planning-generator-section .plan-subject-card:not(.is-active) strong,
body.subject-sat.account-planning-page .planning-generator-section .plan-subject-card:not(.is-active) strong {
    color: var(--subject-primary);
}

body.subject-toefl.account-planning-page :is(.account-field input:focus, .account-field select:focus),
body.subject-ielts.account-planning-page :is(.account-field input:focus, .account-field select:focus),
body.subject-sat.account-planning-page :is(.account-field input:focus, .account-field select:focus) {
    border-color: var(--subject-primary);
    box-shadow: 0 0 0 3px var(--subject-shadow);
}

body.subject-toefl.account-planning-page .planning-generator-section .plan-wizard-step.is-active,
body.subject-ielts.account-planning-page .planning-generator-section .plan-wizard-step.is-active,
body.subject-sat.account-planning-page .planning-generator-section .plan-wizard-step.is-active {
    border-color: var(--subject-primary);
    background: var(--subject-primary);
    color: #fff;
}

body.subject-toefl.account-planning-page .planning-generator-section .plan-wizard-step:not(.is-active),
body.subject-ielts.account-planning-page .planning-generator-section .plan-wizard-step:not(.is-active),
body.subject-sat.account-planning-page .planning-generator-section .plan-wizard-step:not(.is-active),
body.subject-toefl.account-planning-page .planning-generator-section .plan-step-panel,
body.subject-ielts.account-planning-page .planning-generator-section .plan-step-panel,
body.subject-sat.account-planning-page .planning-generator-section .plan-step-panel {
    border-color: var(--subject-border);
    background: var(--subject-primary-panel);
}

body.subject-toefl.account-planning-page :is(.planning-metric .account-plan-copy strong, .planning-result-section .account-result-icon--target),
body.subject-sat.account-planning-page :is(.planning-metric .account-plan-copy strong, .planning-result-section .account-result-icon--target) {
    color: var(--subject-primary);
}

body.subject-toefl.account-planning-page :is(.account-result-panels .account-group-kicker, .account-link.is-static),
body.subject-sat.account-planning-page :is(.account-result-panels .account-group-kicker, .account-link.is-static) {
    color: var(--subject-primary-hover);
}

body.subject-toefl.account-planning-page .planning-generator-section .plan-step-tag,
body.subject-sat.account-planning-page .planning-generator-section .plan-step-tag {
    background: var(--subject-primary-soft);
    color: var(--subject-primary-hover);
}

body.subject-toefl.account-planning-page .account-upgrade-link,
body.subject-sat.account-planning-page .account-upgrade-link {
    background: var(--subject-primary);
    box-shadow: 0 12px 24px rgba(var(--subject-primary-rgb), .16);
}

body.subject-toefl.assessment-designed-page .assessment-next-eyebrow,
body.subject-sat.assessment-designed-page .assessment-next-eyebrow {
    color: var(--subject-primary) !important;
}

body.subject-sat:has(> .answer-sheet) {
    background: linear-gradient(138deg, var(--subject-primary-hover), var(--subject-primary-light));
}

body.subject-sat .sheet-dot.current {
    box-shadow: 0 0 0 2px var(--subject-primary);
}

body.subject-sat :is(.q-section-bar, .q-num-circle) {
    background: var(--subject-primary);
}

body.subject-sat .q-section-question {
    color: var(--subject-primary);
}

body.subject-sat :is(.nav-btn-prev, .nav-btn-next) {
    border-color: var(--subject-primary);
    color: var(--subject-primary);
}

body.subject-sat :is(.nav-btn-prev:hover, .nav-btn-next, .nav-btn-next:hover) {
    background: var(--subject-primary);
    color: #fff;
}

body.subject-sat :is(.sat-btn-back, .sat-btn-outline) {
    border-color: var(--subject-primary);
    color: var(--subject-primary);
}

body.subject-sat .sat-progress-value::-webkit-progress-value {
    background-color: var(--subject-primary);
}

body.subject-sat .sat-progress-value::-moz-progress-bar {
    background-color: var(--subject-primary);
}

body.subject-sat .sat-btn-primary {
    background-color: var(--subject-primary);
}

body.subject-sat .sat-btn-primary:hover {
    background-color: var(--subject-primary-hover);
}

body.subject-sat .sat-tab-btn.active,
body.subject-sat .sat-review-explanation {
    border-color: var(--subject-primary);
}

body.subject-sat .sat-tab-badge {
    background-color: var(--subject-primary-soft);
    color: var(--subject-primary);
}

body.subject-sat .sat-loading-spinner {
    border-top-color: var(--subject-primary);
}

body.subject-sat:has(.score-cards-wrap) {
    background: radial-gradient(circle at top left, var(--subject-hero-glow), transparent 22%), radial-gradient(circle at 85% 12%, var(--subject-shadow), transparent 20%), radial-gradient(circle at 50% 100%, var(--subject-border), transparent 30%), linear-gradient(180deg, var(--subject-hero-bg) 0%, var(--subject-primary-panel) 100%);
}

body.subject-sat:has(.score-cards-wrap) .site-frame {
    background: linear-gradient(180deg, rgba(255, 255, 255, .58), rgba(255, 255, 255, .44)), linear-gradient(135deg, var(--subject-primary-soft), var(--subject-primary-panel));
}

body.subject-sat:has(.score-cards-wrap) .page-header {
    background: linear-gradient(180deg, rgba(255, 255, 255, .92), rgba(255, 255, 255, .74)), linear-gradient(90deg, var(--subject-border-strong), var(--subject-hero-glow));
}

body.subject-sat:has(.score-cards-wrap) .panel {
    background: linear-gradient(180deg, rgba(255, 255, 255, .92), rgba(255, 255, 255, .8)), linear-gradient(120deg, var(--subject-border-strong), var(--subject-hero-glow) 56%, rgba(255, 255, 255, 0));
}

body.subject-sat:has(.score-cards-wrap) .eyebrow {
    background: linear-gradient(135deg, var(--subject-border-strong), var(--subject-primary-soft));
    color: var(--subject-primary-hover);
}

body.subject-sat:has(.score-cards-wrap) .btn-primary {
    background: linear-gradient(135deg, var(--subject-primary-hover), var(--subject-primary));
    box-shadow: 0 12px 26px var(--subject-shadow);
}

body.subject-sat:has(.score-cards-wrap) .score-hero::before {
    background: radial-gradient(circle at top right, var(--subject-hero-glow), transparent 28%), radial-gradient(circle at bottom left, var(--subject-shadow), transparent 28%);
}

body.subject-toefl :is(.report-page, .report-page-modern),
body.subject-sat :is(.report-page, .report-page-modern) {
    background: radial-gradient(circle at top left, var(--subject-hero-glow), transparent 20%), radial-gradient(circle at 88% 12%, var(--subject-shadow), transparent 18%), linear-gradient(180deg, var(--subject-hero-bg), var(--subject-primary-panel));
}

body.subject-toefl .report-page-modern,
body.subject-sat .report-page-modern {
    --plan-accent: var(--subject-primary);
    --plan-button: var(--subject-primary);
    --plan-button-soft: rgba(var(--subject-primary-rgb), .1);
}

body.subject-toefl :is(.topbar-btn-primary, .report-hero-accent, .ai-progress-fill),
body.subject-sat :is(.topbar-btn-primary, .report-hero-accent, .ai-progress-fill) {
    background: linear-gradient(135deg, var(--subject-primary), var(--subject-primary-hover));
}

body.subject-toefl .score-bar-progress-meter::-webkit-progress-value,
body.subject-sat .score-bar-progress-meter::-webkit-progress-value {
    background: linear-gradient(135deg, var(--subject-primary), var(--subject-primary-hover));
}

body.subject-toefl .score-bar-progress-meter::-moz-progress-bar,
body.subject-sat .score-bar-progress-meter::-moz-progress-bar {
    background: linear-gradient(135deg, var(--subject-primary), var(--subject-primary-hover));
}

body.subject-toefl .topbar-btn-primary:hover,
body.subject-sat .topbar-btn-primary:hover {
    background: var(--subject-primary-hover);
}

body.subject-toefl .report-page-modern .topbar-btn:not(.topbar-btn-primary):not(.assignment-return-float),
body.subject-sat .report-page-modern .topbar-btn:not(.topbar-btn-primary):not(.assignment-return-float) {
    border-color: var(--subject-border-strong) !important;
    color: var(--subject-primary) !important;
}

body.subject-toefl .report-kicker,
body.subject-sat .report-kicker {
    color: var(--subject-primary-hover);
}

body.subject-toefl .report-page-modern .report-kicker::before,
body.subject-sat .report-page-modern .report-kicker::before {
    background: var(--subject-primary);
}

body.subject-toefl .module-indicator,
body.subject-sat .module-indicator {
    background-color: var(--subject-primary);
}

body.subject-toefl .teacher-comment-panel,
body.subject-sat .teacher-comment-panel {
    border-color: var(--subject-border);
    background: var(--subject-primary-panel);
}

body.subject-toefl .teacher-comment-title,
body.subject-sat .teacher-comment-title {
    color: var(--subject-text-on-soft);
}

body.subject-toefl .report-page-modern :is(.report-overall-score, .score-ring-label),
body.subject-sat .report-page-modern :is(.report-overall-score, .score-ring-label) {
    border-color: var(--subject-border);
}

body.subject-toefl .report-page-modern .report-overall-score,
body.subject-sat .report-page-modern .report-overall-score {
    background: linear-gradient(180deg, rgba(var(--subject-exercise-bg-rgb), .92), rgba(var(--subject-exercise-bg-rgb), .98));
}

body.subject-toefl .report-page-modern .score-ring-label,
body.subject-sat .report-page-modern .score-ring-label {
    color: var(--subject-primary-hover);
}

body.subject-toefl .report-page-modern :is(.score-card, .section-summary-card)::after,
body.subject-sat .report-page-modern :is(.score-card, .section-summary-card)::after {
    background: rgba(var(--subject-primary-rgb), .09);
}

body.subject-toefl .report-page-modern .section-summary-card.active,
body.subject-sat .report-page-modern .section-summary-card.active {
    border-color: rgba(var(--subject-primary-rgb), .45);
    background: linear-gradient(135deg, #fff, var(--subject-primary-panel));
    box-shadow: 0 16px 34px rgba(var(--subject-primary-rgb), .12);
}

body.subject-toefl .report-page-modern .section-summary-card.active::before,
body.subject-sat .report-page-modern .section-summary-card.active::before {
    background: linear-gradient(90deg, var(--subject-primary), var(--subject-primary-hover));
}

body.subject-toefl .report-page-modern .section-tab.active,
body.subject-sat .report-page-modern .section-tab.active {
    background: linear-gradient(135deg, var(--subject-primary), var(--subject-primary-hover));
}

body.subject-toefl .report-page-modern :is(.qnav-item.active:hover, .topbar-right .assignment-return-float:hover, .section-tab.active:hover),
body.subject-sat .report-page-modern :is(.qnav-item.active:hover, .topbar-right .assignment-return-float:hover, .section-tab.active:hover) {
    border-color: var(--subject-primary-hover) !important;
    background: var(--subject-primary-hover) !important;
}

body.subject-toefl .section-summary-pill,
body.subject-sat .section-summary-pill {
    background: linear-gradient(135deg, rgba(var(--subject-primary-rgb), .12), rgba(var(--subject-primary-rgb), .1));
    color: var(--subject-text-on-soft);
}

body.subject-toefl .subjective-review-pill,
body.subject-sat .subjective-review-pill {
    background: rgba(var(--subject-primary-rgb), .12);
    color: var(--subject-text-on-soft);
}

body.subject-toefl .qnav-item.active:not(.correct),
body.subject-sat .qnav-item.active:not(.correct) {
    border-color: var(--subject-primary);
}

body.subject-toefl .loading-spinner,
body.subject-sat .loading-spinner {
    border-top-color: var(--subject-primary);
}

body.subject-toefl .qnav-item.active:not(.correct),
body.subject-sat .qnav-item.active:not(.correct) {
    background: var(--subject-primary);
}

body.subject-toefl .detail-left .passage-title,
body.subject-sat .detail-left .passage-title {
    border-color: var(--subject-primary);
}

body.subject-toefl .x-highlight,
body.subject-sat .x-highlight {
    background: rgba(var(--subject-primary-rgb), .15);
}

body.subject-toefl .x-highlight.active-highlight,
body.subject-sat .x-highlight.active-highlight {
    background: rgba(var(--subject-primary-rgb), .35);
}

body.subject-toefl :is(.review-explain-block, .passage-translation-zh, .ai-qa-listening-hint),
body.subject-sat :is(.review-explain-block, .passage-translation-zh, .ai-qa-listening-hint) {
    border-left-color: var(--subject-primary);
}

body.subject-toefl .report-page-modern :is(.detail-left, .detail-right, .writing-source-panel, .speaking-audio-panel)::before,
body.subject-sat .report-page-modern :is(.detail-left, .detail-right, .writing-source-panel, .speaking-audio-panel)::before {
    border-color: var(--subject-border);
    background: rgba(var(--subject-primary-rgb), .12);
    color: var(--subject-text-on-soft);
}

body.subject-toefl .report-page-modern .detail-right::before,
body.subject-sat .report-page-modern .detail-right::before {
    background: rgba(var(--subject-primary-rgb), .09);
}

body.subject-toefl :is(.toggle-switch input:checked + .toggle-slider, .lfp-play-btn, .view-btn.active),
body.subject-sat :is(.toggle-switch input:checked + .toggle-slider, .lfp-play-btn, .view-btn.active),
body.subject-toefl .lfp-progress::-webkit-slider-thumb,
body.subject-sat .lfp-progress::-webkit-slider-thumb {
    background: var(--subject-primary);
}

body.subject-toefl .lfp-btn.active,
body.subject-toefl:not(.record-detail-page) .btn-share,
body.subject-sat :is(.lfp-btn.active, .btn-share) {
    border-color: var(--subject-primary);
    color: var(--subject-primary);
}

body.subject-toefl:not(.record-detail-page) .btn-share:hover,
body.subject-sat .btn-share:hover {
    background: var(--subject-primary);
    color: #fff;
}

body.subject-toefl :is(.score-circle, .dim-fill, .ai-study-report-title .ai-icon),
body.subject-sat :is(.score-circle, .dim-fill, .ai-study-report-title .ai-icon) {
    background: linear-gradient(135deg, var(--subject-primary-hover), var(--subject-primary));
}

body.subject-toefl :is(.tl-exam-review .lcr-review-bg-block, .tl-exam-review .ann-review-bg-block, .tl-exam-review .con-review-bg-block, .tl-exam-review .act-review-bg-block, .ctw-review-shell .ctw-review-bg-block, .rap-review-shell .rap-review-bg-block, .rdp-review-shell .rdp-review-bg-block) {
    background: linear-gradient(to right, var(--subject-primary-light) 0%, var(--subject-primary) 50%, var(--subject-primary-hover) 100%);
}

body.subject-toefl :is(.ac-feedback.is-success, .vex-choice-correct),
body.subject-sat :is(.ac-feedback.is-success, .vex-choice-correct),
body.subject-ielts :is(.ac-feedback.is-success, .vex-choice-correct) {
    border-color: rgba(74, 188, 153, .24);
    background: rgba(240, 253, 244, .76);
}

body.subject-toefl :is(.ac-btn-success, .vex-choice-correct .vex-choice-num),
body.subject-sat :is(.ac-btn-success, .vex-choice-correct .vex-choice-num),
body.subject-ielts :is(.ac-btn-success, .vex-choice-correct .vex-choice-num) {
    border-color: #42bd9e;
    background: #42bd9e;
}

body.subject-toefl :is(.lp-answer-box.correct, #lpFeedback.correct),
body.subject-sat :is(.lp-answer-box.correct, #lpFeedback.correct),
body.subject-ielts :is(.lp-answer-box.correct, #lpFeedback.correct) {
    border-color: #4abc99;
    color: #3aa383;
}

body.subject-toefl .lp-answer-box.correct .lp-answer-box-number,
body.subject-sat .lp-answer-box.correct .lp-answer-box-number,
body.subject-ielts .lp-answer-box.correct .lp-answer-box-number {
    background-color: #3aa383;
}

body.subject-toefl :is(.lp-completion h2, .lp-completion-info h3),
body.subject-sat :is(.lp-completion h2, .lp-completion-info h3),
body.subject-ielts :is(.lp-completion h2, .lp-completion-info h3) {
    color: #4abc99;
}

body.subject-toefl :is(.sp-done-title, .sp-done-stat-highlight .sp-done-stat-num, .sp-done-stat-highlight .sp-done-stat-label),
body.subject-sat :is(.sp-done-title, .sp-done-stat-highlight .sp-done-stat-num, .sp-done-stat-highlight .sp-done-stat-label),
body.subject-ielts :is(.sp-done-title, .sp-done-stat-highlight .sp-done-stat-num, .sp-done-stat-highlight .sp-done-stat-label) {
    color: #42bd9e;
}

/* Shared combo entry chrome. Module identity colors and result states stay semantic. */
body:is(.subject-toefl, .subject-sat) .vocab-unit-card:not(.is-locked) {
    background: linear-gradient(180deg, #fff 0%, var(--subject-primary-panel) 100%);
}
body:is(.subject-toefl, .subject-sat) .vocab-unit-card:not(.is-locked):hover {
    background: var(--subject-primary-soft);
    border-color: var(--subject-border);
}
body:is(.subject-toefl, .subject-sat) .vocab-unit-card:not(.is-locked):has(input[type="checkbox"]:checked) {
    background: var(--subject-primary-soft);
    border-color: var(--subject-primary);
}
body:is(.subject-toefl, .subject-sat) .vocab-unit-card:not(.is-locked) input[type="checkbox"]:checked + .vu-card-body {
    background: linear-gradient(180deg, var(--subject-primary-soft) 0%, #fff 100%);
}

body.subject-toefl.combo-start-page :is(.combo-title-pill, .combo-tip, .drag-handle, .drag-arrow, .combo-settings-toggle),
body.subject-sat.combo-start-page :is(.combo-title-pill, .combo-tip, .drag-handle, .drag-arrow, .combo-settings-toggle) {
    color: var(--subject-primary);
}

body.subject-toefl.combo-start-page :is(.combo-title-pill, .combo-tip, .combo-tips, .combo-tips .combo-topic),
body.subject-sat.combo-start-page :is(.combo-title-pill, .combo-tip, .combo-tips, .combo-tips .combo-topic) {
    border-color: var(--subject-border);
}

body.subject-toefl.combo-start-page .combo-tip,
body.subject-sat.combo-start-page .combo-tip {
    background: var(--subject-primary-soft);
}

body.subject-toefl.combo-start-page .combo-hero-card::before,
body.subject-sat.combo-start-page .combo-hero-card::before {
    background: rgba(var(--subject-primary-rgb), .32);
    box-shadow: 0 27px 0 rgba(var(--subject-primary-rgb), .16), 0 54px 0 rgba(var(--subject-primary-rgb), .12);
}

body.subject-toefl.combo-start-page .combo-hero-card::after,
body.subject-sat.combo-start-page .combo-hero-card::after {
    background: var(--subject-primary);
    box-shadow: 0 27px 0 var(--subject-primary);
}

body.subject-toefl.combo-start-page .combo-hero-plus,
body.subject-sat.combo-start-page .combo-hero-plus {
    background: linear-gradient(135deg, var(--subject-primary-light), var(--subject-primary));
    box-shadow: 0 18px 32px rgba(var(--subject-primary-rgb), .22);
}

body.subject-toefl.combo-start-page :is(.combo-panel .combo-topic, .combo-tip i),
body.subject-sat.combo-start-page :is(.combo-panel .combo-topic, .combo-tip i) {
    background: rgba(var(--subject-primary-rgb), .1);
}

body.subject-toefl.combo-start-page .combo-tip .fa-check-double::before {
    background-image:url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 14 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 7.2L5.35 9.55L11 3.7' stroke='%232f9ccc' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M1.8 7.35L4.2 9.75' stroke='%232f9ccc' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' opacity='.55'/%3E%3C/svg%3E");
}

body.subject-toefl.combo-start-page .combo-tip .fa-arrows-up-down::before {
    background-image:url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 14 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%232f9ccc'%3E%3Ccircle cx='5' cy='3' r='1.15'/%3E%3Ccircle cx='9' cy='3' r='1.15'/%3E%3Ccircle cx='5' cy='7' r='1.15'/%3E%3Ccircle cx='9' cy='7' r='1.15'/%3E%3Ccircle cx='5' cy='11' r='1.15'/%3E%3Ccircle cx='9' cy='11' r='1.15'/%3E%3C/g%3E%3C/svg%3E");
}

body.subject-toefl.combo-start-page .combo-tip .fa-sliders::before {
    background-image:url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 14 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2.2 4H11.8M2.2 10H11.8' stroke='%232f9ccc' stroke-width='1.5' stroke-linecap='round'/%3E%3Ccircle cx='5' cy='4' r='1.6' fill='%23e6f6fc' stroke='%232f9ccc' stroke-width='1.4'/%3E%3Ccircle cx='9' cy='10' r='1.6' fill='%23e6f6fc' stroke='%232f9ccc' stroke-width='1.4'/%3E%3C/svg%3E");
}

body.subject-sat.combo-start-page .combo-tip .fa-check-double::before {
    background-image:url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 14 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 7.2L5.35 9.55L11 3.7' stroke='%231683ff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M1.8 7.35L4.2 9.75' stroke='%231683ff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' opacity='.55'/%3E%3C/svg%3E");
}

body.subject-sat.combo-start-page .combo-tip .fa-arrows-up-down::before {
    background-image:url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 14 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%231683ff'%3E%3Ccircle cx='5' cy='3' r='1.15'/%3E%3Ccircle cx='9' cy='3' r='1.15'/%3E%3Ccircle cx='5' cy='7' r='1.15'/%3E%3Ccircle cx='9' cy='7' r='1.15'/%3E%3Ccircle cx='5' cy='11' r='1.15'/%3E%3Ccircle cx='9' cy='11' r='1.15'/%3E%3C/g%3E%3C/svg%3E");
}

body.subject-sat.combo-start-page .combo-tip .fa-sliders::before {
    background-image:url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 14 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2.2 4H11.8M2.2 10H11.8' stroke='%231683ff' stroke-width='1.5' stroke-linecap='round'/%3E%3Ccircle cx='5' cy='4' r='1.6' fill='%23eef8ff' stroke='%231683ff' stroke-width='1.4'/%3E%3Ccircle cx='9' cy='10' r='1.6' fill='%23eef8ff' stroke='%231683ff' stroke-width='1.4'/%3E%3C/svg%3E");
}

body.subject-toefl.combo-start-page .combo-panel .combo-topic,
body.subject-sat.combo-start-page .combo-panel .combo-topic {
    border-color: var(--subject-border);
    color: var(--subject-text-on-soft);
}

body.subject-toefl.combo-start-page .combo-card.checked,
body.subject-sat.combo-start-page .combo-card.checked {
    border-color: var(--subject-primary);
    box-shadow: 0 16px 34px rgba(var(--subject-primary-rgb), .08);
}

body.subject-toefl.combo-start-page .combo-card.checked .combo-card-header {
    background: linear-gradient(180deg, rgba(240, 250, 255, .92) 0%, rgba(244, 251, 255, .9) 48%, rgba(255, 255, 255, .9) 100%);
}

body.subject-toefl.combo-start-page .combo-order-num,
body.subject-sat.combo-start-page .combo-order-num,
body.subject-toefl.combo-start-page .combo-settings-title::before,
body.subject-sat.combo-start-page .combo-settings-title::before {
    background: var(--subject-primary);
}

body.subject-toefl.combo-start-page .combo-settings-title::before,
body.subject-sat.combo-start-page .combo-settings-title::before {
    box-shadow: 0 0 0 4px rgba(var(--subject-primary-rgb), .12);
}

body.subject-toefl.combo-start-page .combo-action-bar,
body.subject-sat.combo-start-page .combo-action-bar {
    border-color: var(--subject-border);
}

body.subject-toefl.combo-start-page .combo-action-bar {
    background: transparent;
}

body.subject-toefl.combo-start-page .combo-card>.combo-settings-panel .ms-check-label input[type="checkbox"]:checked {
    border-color: var(--subject-primary);
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='13' viewBox='0 0 13 13' fill='none'%3E%3Cpath d='M3 6.6 5.25 8.8 10 4' stroke='%232f9ccc' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 13px 13px no-repeat;
}

body.subject-toefl.combo-start-page :is(.combo-action-stat i, .combo-action-stat strong),
body.subject-sat.combo-start-page :is(.combo-action-stat i, .combo-action-stat strong) {
    color: var(--subject-primary);
}

body.subject-toefl.combo-start-page .combo-start-btn,
body.subject-sat.combo-start-page .combo-start-btn {
    border-color: var(--subject-primary);
    background: var(--subject-primary);
}

body.subject-toefl.combo-start-page .combo-start-btn:hover,
body.subject-sat.combo-start-page .combo-start-btn:hover {
    background: var(--subject-primary-hover);
}

body.subject-toefl.combo-start-page .combo-action-controls .combo-back,
body.subject-sat.combo-start-page .combo-action-controls .combo-back {
    border-color: var(--subject-primary);
    color: var(--subject-primary);
}

body.subject-toefl.combo-start-page .combo-action-controls .combo-back:hover,
body.subject-sat.combo-start-page .combo-action-controls .combo-back:hover {
    border-color: var(--subject-primary-hover);
    color: var(--subject-primary-hover);
}

/* Vocabulary combo modules. Correct/matched feedback deliberately keeps semantic green. */
body.subject-toefl.vocab-learn-page :is(.vocab-start-logo-mark, .vocab-start-progress strong, .vocab-shortcuts-title, .vocab-start-count strong),
body.subject-sat.vocab-learn-page :is(.vocab-start-logo-mark, .vocab-start-progress strong, .vocab-shortcuts-title, .vocab-start-count strong) {
    color: var(--subject-primary);
}

body.subject-toefl.vocab-learn-page .vocab-step-index,
body.subject-sat.vocab-learn-page .vocab-step-index {
    background: var(--subject-primary);
}

body.subject-toefl.vocab-learn-page .vocab-step-card {
    border-color: #d9edf5;
    background: rgba(244, 251, 255, .82);
}

body.subject-sat.vocab-learn-page .vocab-step-card {
    border-color: var(--subject-border);
    background: var(--subject-primary-panel);
}

body.subject-toefl.vocab-learn-page .vocab-start-shortcuts {
    border-color: #d3edf7;
    background: rgba(240, 250, 255, .78);
}

body.subject-sat.vocab-learn-page .vocab-start-shortcuts {
    border-color: var(--subject-border);
    background: var(--subject-primary-panel);
}

body.subject-toefl.vocab-learn-page :is(.vocab-start-btn-secondary:hover, .llk-exit-btn:hover) {
    background: var(--subject-primary-soft);
}

body.subject-toefl.vocab-learn-page .llk-learn-header,
body.subject-toefl.vocab-learn-page .llk-learn-card,
body.subject-sat.vocab-learn-page .llk-learn-header,
body.subject-sat.vocab-learn-page .llk-learn-card {
    background: rgba(255, 255, 255, .9);
}

body.subject-toefl.vocab-learn-page :is(.vocab-start-btn-secondary, .llk-exit-btn),
body.subject-sat.vocab-learn-page :is(.vocab-start-btn-secondary, .llk-exit-btn) {
    border-color: var(--subject-primary);
    color: var(--subject-primary);
}

body.subject-toefl.vocab-learn-page :is(.vocab-start-btn-secondary:hover, .llk-exit-btn:hover),
body.subject-sat.vocab-learn-page :is(.vocab-start-btn-secondary:hover, .llk-exit-btn:hover) {
    color: var(--subject-primary-hover);
}

body.subject-toefl.vocab-learn-page :is(.llk-quiz-play-btn, .llk-learn-phase),
body.subject-sat.vocab-learn-page :is(.llk-quiz-play-btn, .llk-learn-phase) {
    background: var(--subject-primary);
}

body.subject-toefl.vocab-learn-page .llk-quiz-play-btn:hover,
body.subject-sat.vocab-learn-page .llk-quiz-play-btn:hover {
    background: var(--subject-primary-hover);
}

body.subject-toefl.vocab-learn-page :is(.llk-learn-word, .llk-learn-continue),
body.subject-sat.vocab-learn-page :is(.llk-learn-word, .llk-learn-continue) {
    color: var(--subject-primary);
}

body.subject-toefl.vocab-learn-page #gameView.is-active .llk-card-word:not(.llk-card-selected),
body.subject-sat.vocab-learn-page #gameView.is-active .llk-card-word:not(.llk-card-selected) {
    color: var(--subject-text-on-soft);
}

body.subject-toefl.vocab-learn-page #gameView.is-active .llk-card-word .llk-card-content,
body.subject-sat.vocab-learn-page #gameView.is-active .llk-card-word .llk-card-content {
    color: var(--subject-text-on-soft);
}

body.subject-toefl.vocab-learn-page #gameView.is-active .llk-card-word:not(.llk-card-selected):hover,
body.subject-sat.vocab-learn-page #gameView.is-active .llk-card-word:not(.llk-card-selected):hover {
    border-color: var(--subject-primary);
    color: var(--subject-primary-hover);
}

body.subject-toefl.vocab-learn-page #gameView.is-active .llk-card-word .llk-card-badge,
body.subject-sat.vocab-learn-page #gameView.is-active .llk-card-word .llk-card-badge {
    background: var(--subject-primary);
}

body.subject-toefl.vocab-learn-page :is(.vocab-step-icon-book, .llk-quiz-play-btn:hover, .llk-quiz-opt:hover:not(.disabled), .llk-spell-cell-filled, .llk-spell-cell-cursor),
body.subject-sat.vocab-learn-page :is(.vocab-step-icon-book, .llk-quiz-play-btn:hover, .llk-quiz-opt:hover:not(.disabled), .llk-spell-cell-filled, .llk-spell-cell-cursor) {
    border-color: var(--subject-primary);
    color: var(--subject-primary);
}

body.subject-toefl.vocab-learn-page :is(.vocab-start-btn-primary, .llk-start-btn, .llk-learn-bar-fill, .llk-quiz-timer-fill, .llk-fc-btn, .llk-mode-btn.active, .llk-word-list li.llk-active, .llk-batch-dot.llk-batch-done),
body.subject-sat.vocab-learn-page :is(.vocab-start-btn-primary, .llk-start-btn, .llk-learn-bar-fill, .llk-quiz-timer-fill, .llk-fc-btn, .llk-mode-btn.active, .llk-word-list li.llk-active, .llk-batch-dot.llk-batch-done) {
    border-color: var(--subject-primary);
    background: var(--subject-primary);
}

body.subject-toefl.vocab-learn-page :is(.vocab-start-btn-primary:hover, .llk-start-btn:hover, .llk-fc-btn:hover),
body.subject-sat.vocab-learn-page :is(.vocab-start-btn-primary:hover, .llk-start-btn:hover, .llk-fc-btn:hover) {
    background: var(--subject-primary-hover);
}

body.subject-toefl.vocab-learn-page :is(.llk-word-list li:not(.llk-mastered):hover, .llk-fc-word),
body.subject-sat.vocab-learn-page :is(.llk-word-list li:not(.llk-mastered):hover, .llk-fc-word) {
    border-color: var(--subject-primary);
    color: var(--subject-primary);
}

body.subject-toefl.vocab-learn-page #gameView.is-active .llk-card-word.llk-card-selected,
body.subject-sat.vocab-learn-page #gameView.is-active .llk-card-word.llk-card-selected {
    box-shadow: 0 5px 18px rgba(var(--subject-primary-rgb), .4) !important;
}

body.subject-toefl.vocab-learn-page .llk-fc-mastered-anim {
    text-shadow: 0 2px 10px rgba(var(--subject-primary-rgb), .3);
}

body.subject-toefl.vocab-learn-page .llk-line-glow {
    filter: drop-shadow(0 0 6px rgba(var(--subject-primary-rgb), .7));
}

body.subject-toefl.vocab-quiz-page .vex-audio-btn:active {
    background: var(--subject-primary-hover);
}

body.subject-toefl .annotation.active {
    box-shadow: 0 0 0 2px rgba(var(--subject-primary-rgb), .4);
}

body.subject-toefl .play-sentence:hover {
    background: rgba(var(--subject-primary-rgb), .15);
}

/* Final-state controls drawn by page CSS pseudo-elements and data URI icons. */
body.subject-toefl.assessment-designed-page .ability-exam-option:has(input:checked)::before,
body.subject-sat.assessment-designed-page .ability-exam-option:has(input:checked)::before {
    border-color: var(--subject-primary) !important;
    background: radial-gradient(circle, var(--subject-primary) 0 4px, #fff 4.5px 100%) !important;
}

body.subject-toefl.assessment-designed-page .assessment-path .ability-skill-option.is-ready:has(input:checked)::before,
body.subject-sat.assessment-designed-page .assessment-path .ability-skill-option.is-ready:has(input:checked)::before {
    border-color: var(--subject-primary) !important;
    background: var(--subject-primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='13' viewBox='0 0 13 13' fill='none'%3E%3Cpath d='M3 6.6 5.25 8.8 10 4' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 13px 13px no-repeat !important;
}

body.subject-toefl.combo-start-page .combo-settings-board .ms-check-label input[type="checkbox"]:checked,
body.subject-toefl.combo-start-page .combo-card>.combo-settings-panel .ms-check-label input[type="checkbox"]:checked {
    border-color: var(--subject-primary);
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='13' viewBox='0 0 13 13' fill='none'%3E%3Cpath d='M3 6.6 5.25 8.8 10 4' stroke='%232f9ccc' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 13px 13px no-repeat;
}

body.subject-sat.combo-start-page .combo-settings-board .ms-check-label input[type="checkbox"]:checked,
body.subject-sat.combo-start-page .combo-card>.combo-settings-panel .ms-check-label input[type="checkbox"]:checked {
    border-color: var(--subject-primary);
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='13' viewBox='0 0 13 13' fill='none'%3E%3Cpath d='M3 6.6 5.25 8.8 10 4' stroke='%231683ff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 13px 13px no-repeat;
}

body.subject-toefl.vocab-learn-page .llk-quiz-play-btn::before,
body.subject-toefl.audio-cloze-page .ac-audio-replay::before,
body.subject-toefl.audio-dictation-page .dt-audio-replay::before,
body.subject-toefl.oral-repeat-page #btnPlayCurrentChunk::before,
body.subject-toefl.oral-repeat-page #btnPlay::before {
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='11' fill='white'/%3E%3Cpath d='M8.8 7.2v9.6l7.4-4.8z' fill='%232f9ccc'/%3E%3C/svg%3E") center / contain no-repeat;
}

body.subject-sat.vocab-learn-page .llk-quiz-play-btn::before,
body.subject-sat.audio-cloze-page .ac-audio-replay::before,
body.subject-sat.audio-dictation-page .dt-audio-replay::before,
body.subject-sat.oral-repeat-page #btnPlayCurrentChunk::before,
body.subject-sat.oral-repeat-page #btnPlay::before {
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='11' fill='white'/%3E%3Cpath d='M8.8 7.2v9.6l7.4-4.8z' fill='%231683ff'/%3E%3C/svg%3E") center / contain no-repeat;
}

body.subject-toefl.audio-dictation-page .dt-audio-replay.is-playing::before {
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='11' fill='white'/%3E%3Crect x='8.2' y='7.2' width='2.7' height='9.6' rx='1.1' fill='%232f9ccc'/%3E%3Crect x='13.1' y='7.2' width='2.7' height='9.6' rx='1.1' fill='%232f9ccc'/%3E%3C/svg%3E") center / contain no-repeat;
}

body.subject-sat.audio-dictation-page .dt-audio-replay.is-playing::before {
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='11' fill='white'/%3E%3Crect x='8.2' y='7.2' width='2.7' height='9.6' rx='1.1' fill='%231683ff'/%3E%3Crect x='13.1' y='7.2' width='2.7' height='9.6' rx='1.1' fill='%231683ff'/%3E%3C/svg%3E") center / contain no-repeat;
}

body.subject-toefl.assessment-subpage .choice-option input[type="checkbox"]:checked {
    border-color: var(--subject-primary);
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='13' viewBox='0 0 13 13' fill='none'%3E%3Cpath d='M3 6.6 6 9.8 11 2' stroke='%232f9ccc' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 13px 13px no-repeat;
}

body.subject-ielts.assessment-subpage .choice-option input[type="checkbox"]:checked {
    border-color: var(--subject-primary);
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='13' viewBox='0 0 13 13' fill='none'%3E%3Cpath d='M3 6.6 6 9.8 11 2' stroke='%2308bfa2' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 13px 13px no-repeat;
}

body.subject-toefl.assessment-subpage .output-recorder-actions .output-record-button,
body.subject-ielts.assessment-subpage .output-recorder-actions .output-record-button {
    border-color: var(--subject-primary) !important;
    background: var(--subject-primary) !important;
}

body.subject-toefl.assessment-subpage .output-recorder-actions .output-record-button:hover,
body.subject-ielts.assessment-subpage .output-recorder-actions .output-record-button:hover {
    border-color: var(--subject-primary-hover) !important;
    background: var(--subject-primary-hover) !important;
}

body.subject-toefl.assessment-subpage .output-report-wait,
body.subject-ielts.assessment-subpage .output-report-wait {
    border-color: var(--subject-border) !important;
    background: var(--subject-primary-soft) !important;
    box-shadow: 0 8px 24px var(--subject-shadow) !important;
}

body.subject-toefl.assessment-subpage .output-report-wait-pulse,
body.subject-ielts.assessment-subpage .output-report-wait-pulse {
    border-color: var(--subject-border) !important;
    border-top-color: var(--subject-primary) !important;
    border-right-color: var(--subject-primary) !important;
}

body.subject-toefl.vocab-quiz-page .vex-back-btn,
body.subject-sat.vocab-quiz-page .vex-back-btn,
body.subject-toefl.vocab-quiz-page .vex-btn-outline,
body.subject-sat.vocab-quiz-page .vex-btn-outline {
    border-color: var(--subject-primary);
    color: var(--subject-primary);
}

body.subject-toefl.vocab-quiz-page :is(.vex-audio-btn, .vex-confirm-btn, .vex-btn-next, .vex-continue-btn, .vex-btn-accent),
body.subject-sat.vocab-quiz-page :is(.vex-audio-btn, .vex-confirm-btn, .vex-btn-next, .vex-continue-btn, .vex-btn-accent) {
    background: var(--subject-primary);
}

body.subject-toefl.audio-cloze-page .vocab-start-btn-primary,
body.subject-sat.audio-cloze-page .vocab-start-btn-primary {
    background: var(--subject-primary);
}

body.subject-toefl.audio-cloze-page .vocab-start-btn-primary:hover:not(:disabled),
body.subject-sat.audio-cloze-page .vocab-start-btn-primary:hover:not(:disabled) {
    background: var(--subject-primary-hover);
}

body.subject-toefl.vocab-quiz-page .vex-audio-btn:hover,
body.subject-sat.vocab-quiz-page .vex-audio-btn:hover {
    background: var(--subject-primary-hover);
}

body.subject-toefl.vocab-quiz-page .vex-audio-btn::before {
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='11' fill='white'/%3E%3Cpath d='M8.8 7.2v9.6l7.4-4.8z' fill='%232f9ccc'/%3E%3C/svg%3E") center / contain no-repeat;
}

body.subject-sat.vocab-quiz-page .vex-audio-btn::before {
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='11' fill='white'/%3E%3Cpath d='M8.8 7.2v9.6l7.4-4.8z' fill='%231683ff'/%3E%3C/svg%3E") center / contain no-repeat;
}

body.subject-toefl.vocab-quiz-page .vex-choice-selected:not(.vex-choice-correct),
body.subject-sat.vocab-quiz-page .vex-choice-selected:not(.vex-choice-correct) {
    border-color: var(--subject-primary) !important;
    background: var(--subject-primary-soft) !important;
}

body.subject-toefl.vocab-quiz-page .vex-choice-selected:not(.vex-choice-correct) .vex-choice-num,
body.subject-sat.vocab-quiz-page .vex-choice-selected:not(.vex-choice-correct) .vex-choice-num {
    border-color: var(--subject-primary);
    background: var(--subject-primary);
}

/* Question combo module chrome. */
body.subject-toefl.audio-cloze-page .ac-nav-btn,
body.subject-sat.audio-cloze-page .ac-nav-btn,
body.subject-toefl.audio-cloze-page .vocab-start-btn-secondary,
body.subject-sat.audio-cloze-page .vocab-start-btn-secondary {
    border-color: var(--subject-primary);
    color: var(--subject-primary);
}

body.subject-toefl.audio-cloze-page :is(.vocab-start-logo-mark, .vocab-start-progress strong, .vocab-shortcuts-title, .vocab-start-count strong),
body.subject-sat.audio-cloze-page :is(.vocab-start-logo-mark, .vocab-start-progress strong, .vocab-shortcuts-title, .vocab-start-count strong) {
    color: var(--subject-primary);
}

body.subject-toefl.audio-cloze-page .vocab-step-icon-book,
body.subject-sat.audio-cloze-page .vocab-step-icon-book {
    color: var(--subject-primary);
}

body.subject-toefl.audio-cloze-page .vocab-step-index,
body.subject-sat.audio-cloze-page .vocab-step-index {
    background: var(--subject-primary);
}

body.subject-toefl.audio-cloze-page :is(.vocab-step-card, .vocab-start-shortcuts),
body.subject-sat.audio-cloze-page :is(.vocab-step-card, .vocab-start-shortcuts) {
    border-color: var(--subject-border);
    background: linear-gradient(180deg, rgba(var(--subject-exercise-bg-rgb), .82), rgba(255, 255, 255, .72));
}

body.subject-toefl.audio-cloze-page :is(.ac-page-title, .ac-progress-fill, .ac-audio-replay, .ac-playing-placeholder::before, .ac-btn-primary),
body.subject-sat.audio-cloze-page :is(.ac-page-title, .ac-progress-fill, .ac-audio-replay, .ac-playing-placeholder::before, .ac-btn-primary) {
    background: var(--subject-primary);
}

body.subject-toefl.audio-cloze-page :is(.ac-audio-count, .ac-playing-placeholder, .ac-btn-outline),
body.subject-sat.audio-cloze-page :is(.ac-audio-count, .ac-playing-placeholder, .ac-btn-outline) {
    border-color: var(--subject-primary);
    color: var(--subject-primary);
}

body.subject-toefl.audio-cloze-page :is(.ac-audio-replay:hover, .ac-audio-replay:active, .ac-audio-replay.is-pressed, .ac-audio-replay.is-playing, .ac-btn-primary:hover),
body.subject-sat.audio-cloze-page :is(.ac-audio-replay:hover, .ac-audio-replay:active, .ac-audio-replay.is-pressed, .ac-audio-replay.is-playing, .ac-btn-primary:hover) {
    background: var(--subject-primary-hover);
}

/* Intro decoration is thematic; keyboard keys and feedback keep their own roles. */
body:is(.subject-toefl, .subject-sat) .dt-intro-desc li::before {
    background-color: var(--subject-primary);
}

body:is(.subject-toefl, .subject-sat) .dt-intro-keys::before,
body:is(.subject-toefl, .subject-sat) .dt-intro-topic strong {
    color: var(--subject-primary);
}

body:is(.subject-toefl, .subject-sat) .dt-intro-keys {
    background-color: var(--subject-primary-soft);
    border-color: var(--subject-border);
}

@media (min-width:768px) {
    body:is(.subject-toefl, .subject-sat) .dt-intro-desc li {
        background-color: var(--subject-primary-soft);
        border-color: var(--subject-border);
    }
}

@media (max-width:767px) {
    body:is(.subject-toefl, .subject-sat) .dt-intro-desc li > span {
        background-color: var(--subject-primary-soft);
        border-color: var(--subject-border);
    }
}

body.subject-toefl .toefl-listening-lcr-modern .toefl-option-item {
    background-color: var(--subject-primary-panel);
}

body.subject-toefl .toefl-listening-lcr-modern .toefl-option-item:hover,
body.subject-toefl .toefl-listening-lcr-modern .toefl-option-item.selected {
    background-color: var(--subject-primary-soft);
}

body.subject-toefl .toefl-listening-lcr-modern .toefl-option-item.selected,
body.subject-toefl .toefl-listening-lcr-modern .toefl-option-item input[type="radio"]:checked {
    border-color: var(--subject-primary);
}

body.subject-toefl .toefl-listening-lcr-modern .toefl-option-item input[type="radio"]:checked {
    background-color: var(--subject-primary);
}

/* Result states take precedence over both the modern shell and selection. */
body.subject-toefl .toefl-listening-lcr-modern .toefl-option-item.correct-option {
    background-color: #eafaf1;
    border-color: #28a745;
}

body.subject-toefl .toefl-listening-lcr-modern .toefl-option-item.wrong-selected {
    background-color: #fef2f2;
    border-color: #dc3545;
}

body.subject-toefl :is(.dt-intro-start, .dt-progress-fill, .dt-audio-wave span, .dt-audio-progress-fill, .dt-btn-primary),
body.subject-sat :is(.dt-intro-start, .dt-progress-fill, .dt-audio-wave span, .dt-audio-progress-fill, .dt-btn-primary) {
    background: var(--subject-primary);
}

body.subject-toefl :is(.dt-audio-replay, .dt-cell:focus),
body.subject-sat :is(.dt-audio-replay, .dt-cell:focus) {
    border-color: var(--subject-primary);
}

body.subject-toefl .dt-cell:focus,
body.subject-sat .dt-cell:focus {
    border-bottom-color: var(--subject-primary) !important;
    background: rgba(var(--subject-primary-rgb), .06) !important;
}

body.subject-toefl .dt-audio-replay,
body.subject-sat .dt-audio-replay {
    background: var(--subject-primary);
    color: #fff;
}

body.subject-toefl .dt-nav-btn,
body.subject-sat .dt-nav-btn {
    border-color: var(--subject-primary);
    color: var(--subject-primary);
}

body.subject-toefl .dt-nav-btn:hover,
body.subject-sat .dt-nav-btn:hover {
    color: #fff;
}

body.subject-toefl .dt-btn-outline,
body.subject-sat .dt-btn-outline {
    border-color: var(--subject-primary);
    color: var(--subject-primary);
}

body.subject-toefl .dt-page-title,
body.subject-sat .dt-page-title {
    background: var(--subject-primary);
}

body.subject-toefl .dt-audio-count,
body.subject-sat .dt-audio-count {
    color: var(--subject-primary);
}

body.subject-toefl :is(.dt-nav-btn:hover, .dt-intro-start:hover, .dt-audio-replay:hover, .dt-audio-replay:active, .dt-audio-replay.is-pressed, .dt-audio-replay.is-playing),
body.subject-sat :is(.dt-nav-btn:hover, .dt-intro-start:hover, .dt-audio-replay:hover, .dt-audio-replay:active, .dt-audio-replay.is-pressed, .dt-audio-replay.is-playing) {
    background: var(--subject-primary-hover);
}

body.subject-toefl.oral-repeat-page .oral-session-strip .btn-back,
body.subject-sat.oral-repeat-page .oral-session-strip .btn-back {
    border-color: var(--subject-primary);
    color: var(--subject-primary);
}

body.subject-toefl.oral-repeat-page :is(.oral-session-metric.is-round, .oral-session-progress-fill, .oral-current-play, .btn-oral-record, .btn-oral-play, .btn-oral-submit, #btnToggleCn.btn-text-action.active),
body.subject-sat.oral-repeat-page :is(.oral-session-metric.is-round, .oral-session-progress-fill, .oral-current-play, .btn-oral-record, .btn-oral-play, .btn-oral-submit, #btnToggleCn.btn-text-action.active) {
    background: var(--subject-primary);
}

body.subject-toefl.oral-repeat-page :is(.oral-title, .oral-full-chunk.current, .oral-bilingual-row.current, .oral-record-duration, .oral-record-timer-text .oral-record-duration),
body.subject-sat.oral-repeat-page :is(.oral-title, .oral-full-chunk.current, .oral-bilingual-row.current, .oral-record-duration, .oral-record-timer-text .oral-record-duration) {
    color: var(--subject-primary);
}

body:is(.subject-toefl, .subject-ielts, .subject-sat).oral-repeat-page #btnPlay:disabled {
    background: #e5e7eb;
    color: #9ca3af;
    border-color: #e5e7eb;
    box-shadow: none;
    cursor: not-allowed;
}

body.subject-toefl.oral-repeat-page .oral-record-timer-ring-progress,
body.subject-sat.oral-repeat-page .oral-record-timer-ring-progress {
    stroke: var(--subject-primary);
}

body.subject-toefl.oral-repeat-page .oral-fulltext > .oral-full-chunk:hover,
body.subject-sat.oral-repeat-page .oral-fulltext > .oral-full-chunk:hover {
    background: var(--subject-primary-soft);
    box-shadow: inset 4px 0 0 var(--subject-border);
}

body.subject-toefl.oral-repeat-page .oral-record-duration,
body.subject-sat.oral-repeat-page .oral-record-duration {
    background: radial-gradient(circle at center, rgba(255, 255, 255, .96) 0 61%, transparent 62%), conic-gradient(var(--subject-primary) 0 72%, #e5e7eb 72% 100%);
}

/* The SVG ring owns the background in the current timer layout. */
body.subject-toefl.oral-repeat-page .oral-record-timer-text .oral-record-duration,
body.subject-sat.oral-repeat-page .oral-record-timer-text .oral-record-duration {
    background: transparent;
}

body.subject-toefl.oral-repeat-page .oral-text-panel-title,
body.subject-sat.oral-repeat-page .oral-text-panel-title {
    border-bottom-color: var(--subject-border);
    background: linear-gradient(90deg, var(--subject-primary-soft), rgba(255, 255, 255, .72));
    color: var(--subject-text-on-soft);
}

body.subject-toefl.oral-repeat-page .oral-record-panel-title,
body.subject-sat.oral-repeat-page .oral-record-panel-title {
    border-bottom-color: rgba(255, 255, 255, .4);
    background: linear-gradient(90deg, var(--subject-primary), var(--subject-primary-light));
    color: #fff;
}

body.subject-toefl.oral-repeat-page :is(.oral-bilingual-row.current, .oral-full-chunk.current, .oral-word-token:hover, .oral-word-token.playing, .oral-record-guide),
body.subject-sat.oral-repeat-page :is(.oral-bilingual-row.current, .oral-full-chunk.current, .oral-word-token:hover, .oral-word-token.playing, .oral-record-guide) {
    border-color: var(--subject-border);
    background: linear-gradient(90deg, var(--subject-primary-soft), rgba(255, 255, 255, .72));
}

body.subject-toefl.oral-repeat-page :is(.oral-text-panel, .oral-record-panel, .oral-current-card),
body.subject-sat.oral-repeat-page :is(.oral-text-panel, .oral-record-panel, .oral-current-card) {
    border-color: var(--subject-border);
    box-shadow: 0 18px 50px var(--subject-shadow);
}

body.subject-toefl.oral-repeat-page .oral-record-timer-text .oral-record-duration.warn,
body.subject-sat.oral-repeat-page .oral-record-timer-text .oral-record-duration.warn {
    color: #ef6b70;
}

body.subject-toefl.oral-repeat-page :is(.oral-word-token:hover, .oral-word-token.playing, .oral-model-textcn, .oral-bilingual-cn),
body.subject-sat.oral-repeat-page :is(.oral-word-token:hover, .oral-word-token.playing, .oral-model-textcn, .oral-bilingual-cn) {
    color: var(--subject-text-on-soft);
}

body.subject-toefl.oral-repeat-page :is(.oral-current-play:hover, .btn-oral-record:hover:not(:disabled), .btn-oral-play:hover:not(:disabled), .btn-oral-submit:hover:not(:disabled), .btn-text-action.active:hover:not(:disabled)),
body.subject-sat.oral-repeat-page :is(.oral-current-play:hover, .btn-oral-record:hover:not(:disabled), .btn-oral-play:hover:not(:disabled), .btn-oral-submit:hover:not(:disabled), .btn-text-action.active:hover:not(:disabled)) {
    border-color: var(--subject-primary-hover);
    background: var(--subject-primary-hover);
}

body.subject-toefl.oral-repeat-page .btn-report-next,
body.subject-sat.oral-repeat-page .btn-report-next {
    background: linear-gradient(135deg, var(--subject-primary) 0%, var(--subject-primary-hover) 100%);
}

body.subject-toefl.oral-repeat-page .btn-report-next:focus-visible,
body.subject-sat.oral-repeat-page .btn-report-next:focus-visible {
    outline-color: var(--subject-primary);
}

body.subject-toefl.oral-repeat-page .oral-result-chunk-btn.active,
body.subject-sat.oral-repeat-page .oral-result-chunk-btn.active {
    background: var(--subject-primary-soft);
    box-shadow: 0 0 0 1px rgba(var(--subject-primary-rgb), .18);
}

body.subject-toefl.sentence-meaning-page .exam-exit-btn,
body.subject-sat.sentence-meaning-page .exam-exit-btn {
    border-color: var(--subject-primary);
    color: var(--subject-primary);
}

body.subject-toefl.sentence-meaning-page .sp-skel-prompt,
body.subject-sat.sentence-meaning-page .sp-skel-prompt {
    background: var(--subject-primary-soft);
}

body:is(.subject-toefl, .subject-sat).sentence-meaning-page .exam-exit-btn:hover,
body:is(.subject-toefl, .subject-sat).audio-cloze-page .ac-nav-btn:hover {
    background: var(--subject-primary-soft);
    color: var(--subject-primary-hover);
}

body:is(.subject-toefl, .subject-sat).sentence-meaning-page .sp-done-btn:not(:disabled) {
    background: var(--subject-primary);
}

body:is(.subject-toefl, .subject-sat).sentence-meaning-page .sp-done-btn:not(:disabled):hover {
    background: var(--subject-primary-hover);
}

body:is(.subject-toefl, .subject-sat).text-typing-page .typing-header {
    background: linear-gradient(90deg, var(--subject-primary-soft), rgba(255, 255, 255, .72));
    border-bottom-color: var(--subject-border);
}

body.subject-toefl.sentence-meaning-page :is(.sp-skel-label, .sp-toefl .sp-chunk.picked),
body.subject-sat.sentence-meaning-page :is(.sp-skel-label, .sp-toefl .sp-chunk.picked) {
    color: var(--subject-primary-hover);
}

body.subject-toefl.sentence-meaning-page :is(.sp-step.active, .sp-progress-fill, .sp-btn-main:not(:disabled)),
body.subject-sat.sentence-meaning-page :is(.sp-step.active, .sp-progress-fill, .sp-btn-main:not(:disabled)) {
    background: var(--subject-primary);
}

body.subject-toefl.sentence-meaning-page .sp-btn-main:not(:disabled):hover,
body.subject-sat.sentence-meaning-page .sp-btn-main:not(:disabled):hover {
    background: var(--subject-primary-hover);
}

body.subject-toefl.text-typing-page .typing-exit-btn,
body.subject-sat.text-typing-page .typing-exit-btn {
    border-color: var(--subject-primary);
    color: var(--subject-primary);
}

body.subject-toefl.text-typing-page :is(.typing-header, .typing-header h2),
body.subject-sat.text-typing-page :is(.typing-header, .typing-header h2) {
    color: var(--subject-text-on-soft);
}

body.subject-toefl.text-typing-page .typing-cn-card,
body.subject-sat.text-typing-page .typing-cn-card {
    background: var(--subject-primary-soft);
    border-color: var(--subject-border);
}

body.subject-toefl.text-typing-page .typing-exit-btn:hover,
body.subject-sat.text-typing-page .typing-exit-btn:hover {
    background: var(--subject-primary-soft);
    color: var(--subject-primary-hover);
}

body.subject-toefl.text-typing-page :is(.typing-study-actions .small-button, .typing-modal-btn.small-button),
body.subject-sat.text-typing-page :is(.typing-study-actions .small-button, .typing-modal-btn.small-button),
body.subject-toefl.text-typing-page #typing-completion-return-btn,
body.subject-sat.text-typing-page #typing-completion-return-btn {
    background: var(--subject-primary);
}

body.subject-toefl.text-typing-page #typing-area .ac-vocab-icon,
body.subject-sat.text-typing-page #typing-area .ac-vocab-icon,
body.subject-toefl.text-typing-page #typing-area .typing-word-anchor:has(.char.typed) .ac-vocab-icon,
body.subject-sat.text-typing-page #typing-area .typing-word-anchor:has(.char.typed) .ac-vocab-icon {
    color: var(--subject-primary);
}

body.subject-toefl.text-typing-page :is(.typing-page-title-pill, .typing-countdown-fill, #typing-area .char.current),
body.subject-sat.text-typing-page :is(.typing-page-title-pill, .typing-countdown-fill, #typing-area .char.current) {
    background: var(--subject-primary);
}

body.subject-toefl.text-typing-page :is(.typing-study-actions .small-button:hover, .typing-modal-btn.small-button:hover),
body.subject-sat.text-typing-page :is(.typing-study-actions .small-button:hover, .typing-modal-btn.small-button:hover) {
    background: var(--subject-primary-hover);
}

body.subject-toefl.text-typing-page #typing-area :is(.char.typed, .typing-word-anchor:has(.char.current) .ac-vocab-icon),
body.subject-sat.text-typing-page #typing-area :is(.char.typed, .typing-word-anchor:has(.char.current) .ac-vocab-icon) {
    color: var(--subject-text-on-soft);
}

body.subject-toefl.cloze-fill-page :is(.cloze-exit-btn, .gap-exit-btn),
body.subject-sat.cloze-fill-page :is(.cloze-exit-btn, .gap-exit-btn),
body.subject-toefl.gap-fill-page :is(.cloze-exit-btn, .gap-exit-btn),
body.subject-sat.gap-fill-page :is(.cloze-exit-btn, .gap-exit-btn) {
    border-color: var(--subject-primary);
    color: var(--subject-primary);
}

body.subject-toefl.cloze-fill-page :is(.cloze-title-pill, .cloze-countdown-fill, #submit-cloze-btn, .cloze-action-row-spaced .action-button),
body.subject-sat.cloze-fill-page :is(.cloze-title-pill, .cloze-countdown-fill, #submit-cloze-btn, .cloze-action-row-spaced .action-button),
body.subject-toefl.gap-fill-page :is(.gap-title-pill, .gap-countdown-fill, .small-button, #submit-spelling-btn),
body.subject-sat.gap-fill-page :is(.gap-title-pill, .gap-countdown-fill, .small-button, #submit-spelling-btn) {
    background: var(--subject-primary);
}

body.subject-toefl.cloze-fill-page :is(.cloze-title-wrap h1, .blank:not(.is-correct):not(.is-wrong)),
body.subject-sat.cloze-fill-page :is(.cloze-title-wrap h1, .blank:not(.is-correct):not(.is-wrong)) {
    color: var(--subject-text-on-soft);
}

body.subject-toefl.gap-fill-page :is(.spelling-char-input:focus, #spelling-help-btn),
body.subject-sat.gap-fill-page :is(.spelling-char-input:focus, #spelling-help-btn) {
    border-color: var(--subject-primary);
}

body.subject-toefl.gap-fill-page #spelling-help-btn,
body.subject-sat.gap-fill-page #spelling-help-btn {
    color: var(--subject-primary);
}

body.subject-toefl.cloze-fill-page :is(#submit-cloze-btn:hover, .cloze-action-row-spaced .action-button:hover),
body.subject-sat.cloze-fill-page :is(#submit-cloze-btn:hover, .cloze-action-row-spaced .action-button:hover),
body.subject-toefl.gap-fill-page :is(#submit-spelling-btn:not(:disabled):hover, .gap-action-row .action-button:not(:disabled):hover),
body.subject-sat.gap-fill-page :is(#submit-spelling-btn:not(:disabled):hover, .gap-action-row .action-button:not(:disabled):hover) {
    background: var(--subject-primary-hover);
}

/* Match the page's ID-scoped controls without overriding disabled colors. */
body.subject-toefl.gap-fill-page #spelling-practice-container #submit-spelling-btn:not(:disabled),
body.subject-sat.gap-fill-page #spelling-practice-container #submit-spelling-btn:not(:disabled) {
    background: var(--subject-primary);
}

body.subject-toefl.gap-fill-page #spelling-practice-container #submit-spelling-btn:not(:disabled):hover,
body.subject-sat.gap-fill-page #spelling-practice-container #submit-spelling-btn:not(:disabled):hover {
    background: var(--subject-primary-hover);
}

body.subject-toefl.gap-fill-page #spelling-practice-container .gap-action-row #spelling-help-btn,
body.subject-sat.gap-fill-page #spelling-practice-container .gap-action-row #spelling-help-btn {
    border-color: var(--subject-primary);
    color: var(--subject-primary);
}

body.subject-toefl.gap-fill-page #spelling-practice-container .gap-action-row #spelling-help-btn:not(:disabled):hover,
body.subject-sat.gap-fill-page #spelling-practice-container .gap-action-row #spelling-help-btn:not(:disabled):hover {
    border-color: var(--subject-primary-hover);
    background: rgba(var(--subject-primary-rgb), .08);
    color: var(--subject-primary-hover);
}

body.subject-toefl.gap-fill-page .spelling-fail-btn,
body.subject-sat.gap-fill-page .spelling-fail-btn {
    border-color: var(--subject-primary);
    background: var(--subject-primary);
}

body.subject-toefl.cloze-fill-page #cloze-practice-container .blank[data-chosen-index]:hover,
body.subject-toefl.cloze-fill-page #cloze-practice-container .blank[data-chosen-index].active,
body.subject-sat.cloze-fill-page #cloze-practice-container .blank[data-chosen-index]:hover,
body.subject-sat.cloze-fill-page #cloze-practice-container .blank[data-chosen-index].active {
    border-color: var(--subject-primary);
}

body.subject-toefl.cloze-fill-page #cloze-practice-container #cloze-finish-btn,
body.subject-sat.cloze-fill-page #cloze-practice-container #cloze-finish-btn {
    background: var(--subject-primary);
}

body.subject-toefl.cloze-fill-page #cloze-practice-container #cloze-finish-btn:hover,
body.subject-sat.cloze-fill-page #cloze-practice-container #cloze-finish-btn:hover {
    background: var(--subject-primary-hover);
}

body.subject-toefl.audio-dictation-page .dt-report-actions .dt-btn-primary,
body.subject-sat.audio-dictation-page .dt-report-actions .dt-btn-primary {
    background: var(--subject-primary);
}

body.subject-toefl.audio-dictation-page .dt-report-actions .dt-btn-primary:hover,
body.subject-sat.audio-dictation-page .dt-report-actions .dt-btn-primary:hover {
    background: var(--subject-primary-hover);
}

body.subject-toefl.audio-dictation-page .dt-report-actions .dt-btn-outline,
body.subject-sat.audio-dictation-page .dt-report-actions .dt-btn-outline {
    border-color: var(--subject-primary);
    background: #fff;
    color: var(--subject-primary);
}

body.subject-toefl.vocab-quiz-page .vqr-actions .vqr-btn-primary,
body.subject-sat.vocab-quiz-page .vqr-actions .vqr-btn-primary {
    background: var(--subject-primary);
}

body.subject-toefl.vocab-quiz-page .vqr-actions .vqr-btn-outline,
body.subject-sat.vocab-quiz-page .vqr-actions .vqr-btn-outline {
    border-color: var(--subject-primary);
    color: var(--subject-primary);
}

body.subject-toefl.gap-fill-page :is(.gap-design-switcher button:hover, .gap-design-switcher button.is-active),
body.subject-sat.gap-fill-page :is(.gap-design-switcher button:hover, .gap-design-switcher button.is-active) {
    background: var(--subject-primary);
}

body.subject-toefl.cloze-fill-page #cloze-practice-container :is(.cloze-report-title, .cloze-report-card:first-child .crv, .cloze-report-card:first-child .crl, .cloze-report-panel h3),
body.subject-sat.cloze-fill-page #cloze-practice-container :is(.cloze-report-title, .cloze-report-card:first-child .crv, .cloze-report-card:first-child .crl, .cloze-report-panel h3),
body.subject-toefl.gap-fill-page #spelling-practice-container :is(.cloze-report-title, .cloze-report-card:first-child .crv, .cloze-report-card:first-child .crl, .cloze-report-panel h3),
body.subject-sat.gap-fill-page #spelling-practice-container :is(.cloze-report-title, .cloze-report-card:first-child .crv, .cloze-report-card:first-child .crl, .cloze-report-panel h3) {
    color: var(--subject-primary);
}

body.subject-toefl.cloze-fill-page #cloze-practice-container .cloze-report-kv,
body.subject-sat.cloze-fill-page #cloze-practice-container .cloze-report-kv,
body.subject-toefl.gap-fill-page #spelling-practice-container .cloze-report-kv,
body.subject-sat.gap-fill-page #spelling-practice-container .cloze-report-kv {
    border-left-color: var(--subject-primary);
}

/* TOEFL assignment question types. */
body.subject-toefl .sub-header-questions,
body.subject-toefl .wad-panel-label,
body.subject-toefl :is(.wae-prompt-label, .wae-prompt-list li::marker) {
    color: var(--subject-primary-hover);
}

body.subject-toefl .sub-header-questions {
    background: var(--subject-primary-soft);
}

body.subject-toefl .toefl-grammar-wrapper.toefl-grammar-modern .sub-header-questions,
body.subject-toefl .toefl-writing-wrapper .sub-header-questions,
body.subject-toefl .toefl-reading-wrapper .sub-header-questions,
body.subject-toefl .toefl-listening-wrapper .sub-header-questions {
    background: var(--subject-primary-soft);
    color: var(--subject-primary-hover);
}

body.subject-toefl .toefl-grammar-wrapper.toefl-grammar-modern .btn-back,
body.subject-toefl .toefl-writing-wrapper .btn-back {
    background: var(--subject-primary-light);
}

body.subject-toefl .reading-language-switch button.is-active,
body.subject-toefl :is(.insert-square, .toefl-audio-manual-button) {
    background: var(--subject-primary);
}

body.subject-toefl .reading-language-switch button.is-active {
    box-shadow: 0 4px 10px rgba(var(--subject-primary-rgb), .22);
}

body.subject-toefl .insert-square:hover,
body.subject-toefl .insert-square:focus,
body.subject-toefl .insert-square.is-selected {
    background: var(--subject-primary-hover);
}

body.subject-toefl .toefl-audio-manual-button {
    box-shadow: 0 10px 24px rgba(var(--subject-primary-rgb), .24);
}

body.subject-toefl .toefl-script-line.has-audio-timing:hover,
body.subject-toefl .toefl-script-line.has-audio-timing:focus-visible,
body.subject-toefl .toefl-script-line.has-audio-timing.is-audio-active {
    box-shadow: inset 3px 0 0 var(--subject-primary);
}

body.subject-toefl .speaking-modern #rerecordBtn.btn-outline {
    border-color: var(--subject-primary-light);
    background: var(--subject-primary-light);
}

body.subject-toefl .speaking-modern .progress-badge {
    background: var(--subject-primary-soft);
    color: var(--subject-primary-hover);
}

body.subject-toefl .assignment-return-float {
    background: var(--subject-primary);
    box-shadow: 0 10px 24px rgba(var(--subject-primary-rgb), .22);
}

body.subject-toefl .assignment-return-float:hover {
    background: var(--subject-primary-hover);
}

/* Shared report actions and active chrome; grading semantics are untouched. */
body.subject-sat :is(.combo-report-tab.is-active, .combo-report-share-btn, .combo-report-back) {
    border-color: var(--subject-primary);
    color: var(--subject-primary);
}

body.subject-sat .combo-report-tab.is-active {
    background: var(--subject-primary-soft);
}

body.subject-sat :is(.combo-report-tab:hover, .combo-report-tab.is-active) {
    color: var(--subject-text-on-soft);
}

body.subject-toefl .combo-report-frame-wrap,
body.subject-sat .combo-report-frame-wrap {
    border-color: var(--subject-primary);
}

body.subject-toefl:not(.record-detail-page) .btn-copy,
body.subject-sat :is(.combo-report-share-btn:hover, .combo-report-back:hover, .combo-share-copy, .btn-copy) {
    background: var(--subject-primary);
}

body.subject-toefl :is(.combo-overview-stat-value, .subtitle-line.active .subtitle-en, .dictation-stat-total .dictation-stat-value, .dictation-accuracy-value),
body.subject-sat :is(.combo-overview-stat-value, .subtitle-line.active .subtitle-en, .dictation-stat-total .dictation-stat-value, .dictation-accuracy-value) {
    color: var(--subject-primary);
}

body.subject-toefl:not(.record-detail-page) .btn-copy:hover,
body.subject-sat .btn-copy:hover {
    background: var(--subject-primary-hover);
}

/* Report controls have distinct filled, outlined and disabled roles. */
body.subject-sat.record-detail-page .combo-report-share-btn {
    background: var(--subject-primary);
    color: #fff;
}
body.subject-sat.record-detail-page .combo-report-share-btn:not(:disabled):hover {
    background: var(--subject-primary-hover);
    border-color: var(--subject-primary-hover);
    color: #fff;
}
body.subject-sat.record-detail-page .combo-report-back:hover {
    color: #fff;
}
body.subject-sat.record-detail-page .btn-share:disabled,
body.subject-sat.record-detail-page .btn-share:disabled:hover {
    background: transparent;
    color: #aaa;
    border-color: #ddd;
}
body:is(.subject-toefl, .subject-sat).record-detail-page .lfp-btn {
    border-color: var(--subject-border);
}
body:is(.subject-toefl, .subject-sat).record-detail-page :is(.lfp-btn:hover, .vh-item:hover) {
    background: var(--subject-primary-soft);
}
body:is(.subject-toefl, .subject-sat).record-detail-page :is(.lfp-play-btn:hover, .tt-report-btn.primary:hover, .btn-modify-lg:hover, .lp-ai-retry-btn:hover, .wp-ai-retry-btn:hover) {
    background: var(--subject-primary-hover);
}
body:is(.subject-toefl, .subject-sat).record-detail-page :is(.tt-report-btn.primary, .btn-modify-lg, .lp-ai-retry-btn, .wp-ai-retry-btn) {
    background: var(--subject-primary);
    border-color: var(--subject-primary);
    color: #fff;
}
body:is(.subject-toefl, .subject-sat).record-detail-page .btn-modify {
    color: var(--subject-primary);
    border-color: var(--subject-primary);
}
body:is(.subject-toefl, .subject-sat).record-detail-page .btn-modify:hover {
    background: var(--subject-primary);
    color: #fff;
}
body:is(.subject-toefl, .subject-sat).record-detail-page :is(.lp-ai-retry-btn, .wp-ai-retry-btn):disabled {
    background: #e5e7eb;
    border-color: #e5e7eb;
    color: #9ca3af;
}

/* Report actions: late LAR/CTW ID rules must not override busy states. */
body.subject-toefl.record-detail-page #shareBtn:not(:disabled):not(.btn-share-disabled),
body.subject-toefl.record-detail-page :is(.combo-report-share-btn, .btn-copy, .combo-share-copy):not(:disabled),
body.subject-toefl.combo-report-page .combo-report-tab.is-active {
    background: var(--report-primary) !important;
    border-color: var(--report-primary) !important;
    color: #fff !important;
}

body.subject-toefl.record-detail-page #shareBtn:not(:disabled):not(.btn-share-disabled):hover,
body.subject-toefl.record-detail-page :is(.combo-report-share-btn, .btn-copy, .combo-share-copy):not(:disabled):hover {
    background: var(--report-primary-hover) !important;
    border-color: var(--report-primary-hover) !important;
    color: #fff !important;
}

body.subject-toefl.record-detail-page :is(.detail-back-button, .btn-assignment-return, .combo-report-back:not(.combo-report-redo)) {
    background: transparent !important;
    border-color: rgba(var(--report-primary-rgb), .34) !important;
    color: var(--report-primary) !important;
}

body.subject-toefl.record-detail-page :is(.detail-back-button, .btn-assignment-return, .combo-report-back:not(.combo-report-redo)):hover {
    background: var(--report-primary-soft) !important;
    border-color: rgba(var(--report-primary-rgb), .48) !important;
    color: var(--report-primary-hover) !important;
}

body.subject-toefl.record-detail-page #shareBtn:is(:disabled, .btn-share-disabled),
body.subject-toefl.record-detail-page #shareBtn:is(:disabled, .btn-share-disabled):hover,
body.subject-toefl.record-detail-page .btn-share:disabled,
body.subject-toefl.record-detail-page .btn-share:disabled:hover,
body.subject-toefl.record-detail-page .btn-share-disabled,
body.subject-toefl.record-detail-page .btn-share-disabled:hover,
body.subject-toefl.record-detail-page .combo-report-share-btn:disabled,
body.subject-toefl.record-detail-page .combo-report-share-btn:disabled:hover {
    background: transparent !important;
    border-color: #ddd !important;
    color: #aaa !important;
}

body.subject-toefl.record-detail-page .btn-regrade-detail {
    background: #fff7ed;
    border-color: #f59e0b;
    color: #b45309;
}

body.subject-toefl.record-detail-page .btn-regrade-detail:not(:disabled):hover {
    background: #f59e0b;
    border-color: #f59e0b;
    color: #fff;
}

body.subject-toefl.combo-report-page .combo-report-redo {
    background: #fff7ed !important;
    border-color: rgba(245, 158, 11, .44) !important;
    color: #b45309 !important;
}

body.subject-toefl.record-detail-page .record-type-lar .vh-title {
    background: linear-gradient(90deg, rgba(var(--report-primary-rgb), .10), rgba(var(--report-accent-rgb), .05)), var(--report-primary-softer);
    border-bottom-color: rgba(var(--report-primary-rgb), .20);
    color: #303746;
}

body.subject-toefl.record-detail-page .record-type-lar .vh-item:hover {
    background: var(--report-primary-softer);
}

body.subject-toefl.record-detail-page .record-type-lar .vh-item:hover .vh-score {
    color: var(--report-primary-hover);
}

body.subject-toefl .terms-modal-confirm,
body.subject-sat .terms-modal-confirm {
    background: var(--subject-primary);
}

/* Shared overlays must follow the page subject without recoloring status badges. */
body:is(.subject-toefl, .subject-sat) {
    --notify-accent: var(--subject-primary);
    --notify-accent-strong: var(--subject-primary-hover);
    --notify-soft: var(--subject-primary-soft);
}

body:is(.subject-toefl, .subject-sat) .guest-submit-actions .correction-btn-primary,
body:is(.subject-toefl, .subject-sat) .notification-popup-close {
    border-color: var(--subject-primary);
    background: var(--subject-primary);
    color: #fff;
}

body:is(.subject-toefl, .subject-sat) .guest-submit-actions .correction-btn-primary:hover,
body:is(.subject-toefl, .subject-sat) .notification-popup-close:hover,
body:is(.subject-toefl, .subject-sat) .terms-modal-confirm:hover {
    border-color: var(--subject-primary-hover);
    background: var(--subject-primary-hover);
}

body:is(.subject-toefl, .subject-sat) .guest-submit-actions .correction-btn-secondary {
    border-color: var(--subject-primary);
    color: var(--subject-primary);
}

body:is(.subject-toefl, .subject-sat) .guest-submit-actions .correction-btn-secondary:hover,
body:is(.subject-toefl, .subject-sat) .guest-submit-close:hover,
body:is(.subject-toefl, .subject-sat) .guest-submit-benefits span {
    border-color: var(--subject-border);
    background: var(--subject-primary-soft);
    color: var(--subject-text-on-soft);
}

body:is(.subject-toefl, .subject-sat) .practice-vocab-token {
    border-bottom-color: var(--subject-border-strong);
}

body:is(.subject-toefl, .subject-sat) .practice-vocab-source {
    text-decoration-color: var(--subject-border-strong);
}

body:is(.subject-toefl, .subject-sat) .practice-vocab-token:hover,
body:is(.subject-toefl, .subject-sat) .practice-vocab-token:focus,
body:is(.subject-toefl, .subject-sat) .practice-vocab-word-icon:hover,
body:is(.subject-toefl, .subject-sat) .practice-vocab-word-icon:focus {
    background: var(--subject-primary-soft);
    color: var(--subject-primary-hover);
    outline-color: var(--subject-border);
}

body:is(.subject-toefl, .subject-sat) .notification-popup-icon {
    background: linear-gradient(105deg, var(--subject-primary-soft) 0%, var(--subject-primary-light) 48%, var(--subject-primary) 100%);
}

body:is(.subject-toefl, .subject-sat) .notification-popup-content {
    border-color: var(--subject-border);
}

body:is(.subject-toefl, .subject-sat) .terms-modal-confirm:focus-visible,
body:is(.subject-toefl, .subject-sat) .notification-popup-close:focus-visible,
body:is(.subject-toefl, .subject-sat) .guest-submit-actions a:focus-visible {
    outline: 3px solid var(--subject-border);
    outline-offset: 3px;
}

/* SAT category practice: keep the full question surface on the SAT palette. */
body.subject-sat .passage-col {
    background-color: var(--subject-primary-soft);
}

body.subject-sat .option-btn:not(.is-confirmed) {
    border-color: var(--subject-border);
    background-color: var(--subject-primary-soft);
}

body.subject-sat .option-btn:not(.review-correct):not(.review-wrong) .option-radio-control {
    border-color: var(--subject-control-border);
    background: #f8fdff;
    color: var(--subject-control-text);
}

body.subject-sat .option-radio-control:focus-visible,
body.subject-sat .language-toggle-option:focus-visible {
    outline-color: var(--subject-primary);
}

body.subject-sat .option-btn.selected:not(.is-confirmed) .option-radio-control {
    border-color: var(--subject-primary);
    background-color: var(--subject-primary);
    color: #fff;
}

body.subject-sat .language-toggle-option {
    color: var(--subject-primary-hover);
}

body.subject-sat .language-toggle-option.is-active {
    background: var(--subject-primary);
    color: #fff;
    box-shadow: 0 4px 10px rgba(var(--subject-primary-rgb), .24);
}

body.subject-sat .language-toggle-option:focus-visible {
    outline-color: var(--subject-primary);
}

body.subject-sat .sidebar-grid-item.current {
    border-color: var(--subject-control-border) !important;
    background: var(--subject-control-soft) !important;
    color: var(--subject-control-text) !important;
}

body.subject-sat .sidebar-grid-item:hover {
    background: var(--subject-primary-soft);
    color: var(--subject-primary-hover);
}

body.subject-sat .sidebar-grid-item.answered::after {
    background: var(--subject-primary);
    box-shadow: 0 1px 3px rgba(var(--subject-primary-rgb), .3);
}

body.subject-sat :is(.question-tag.diff-easy, .sidebar-grid button.active, .sidebar-grid .active) {
    border-color: var(--subject-control-border) !important;
    background: var(--subject-control-soft) !important;
    color: var(--subject-control-text) !important;
}

body.subject-sat :is(.question-number, .question-number-circle, .next-btn, .modal-actions .btn-submit) {
    border-color: var(--subject-primary);
    background: var(--subject-primary);
    color: #fff;
}

body.subject-sat :is(.next-btn, .modal-actions .btn-submit):hover {
    border-color: var(--subject-primary-hover);
    background: var(--subject-primary-hover);
}

body.subject-sat .confirm-btn:disabled {
    border-color: var(--subject-disabled-primary);
    background: var(--subject-disabled-primary);
    color: #fff;
}

body.subject-sat :is(.sat-practice-exam-tool, .sat-vocab-toggle, .back-btn, .explanation-title) {
    border-color: var(--subject-control-border);
    color: var(--subject-primary);
}

body.subject-sat :is(.sat-practice-exam-tool, .sat-vocab-toggle):hover {
    background: var(--subject-control-soft);
}

body.subject-sat :is(.sat-practice-exam-tool, .sat-vocab-toggle).is-active,
body.subject-sat .sat-practice-exam-tool[aria-expanded="true"] {
    border-color: var(--subject-primary);
    background: var(--subject-primary);
    color: #fff;
}

body.subject-sat.sat-spotlight-practice-page .passage-col {
    background-color: var(--subject-primary-soft);
}

body.subject-sat.sat-spotlight-practice-page .option-btn:not(.is-confirmed) {
    border-color: var(--subject-border);
    background-color: var(--subject-primary-soft);
}

body.subject-sat.sat-spotlight-practice-page .option-btn:not(.is-confirmed):hover,
body.subject-sat.sat-spotlight-practice-page .option-btn.selected:not(.is-confirmed) {
    border-color: var(--subject-primary-light);
    background-color: var(--subject-primary-soft);
}

body.subject-sat.sat-spotlight-practice-page .option-btn:not(.review-correct):not(.review-wrong) .option-radio-control {
    border-color: var(--subject-control-border);
    background: #f8fdff;
    color: var(--subject-control-text);
}

body.subject-sat.sat-spotlight-practice-page .option-btn.selected:not(.is-confirmed) .option-radio-control {
    border-color: var(--subject-primary);
    background-color: var(--subject-primary);
    color: #fff;
}

body.subject-sat.sat-spotlight-practice-page .sidebar-grid-item.current {
    border-color: var(--subject-control-border) !important;
    background: var(--subject-control-soft) !important;
    color: var(--subject-control-text) !important;
    box-shadow: 0 0 0 8px rgba(var(--subject-primary-rgb), .08);
}

body.subject-sat.sat-spotlight-practice-page .sidebar-grid-item:hover {
    background: var(--subject-primary-soft);
    color: var(--subject-primary-hover);
}

body.subject-sat.sat-spotlight-practice-page .sidebar-grid-item.answered::after {
    background: var(--subject-primary);
    box-shadow: 0 1px 3px rgba(var(--subject-primary-rgb), .3);
}

body.subject-sat.sat-spotlight-practice-page :is(.sat-header-icon-btn, .sat-vocab-toggle, .sat-practice-exam-tool) {
    border-color: var(--subject-primary-light);
    color: var(--subject-primary);
}

body.subject-sat.sat-spotlight-practice-page .sat-header-icon-btn {
    border-color: var(--subject-primary-light);
    color: var(--subject-primary);
}

body.subject-sat.sat-spotlight-practice-page :is(.sat-header-icon-btn, .sat-vocab-toggle, .sat-practice-exam-tool):hover {
    background: var(--subject-primary-soft);
}

body.subject-sat.sat-spotlight-practice-page :is(.sat-spotlight-preview, .sat-vocab-toggle, .sat-practice-exam-tool).is-active {
    border-color: var(--subject-primary);
    background: var(--subject-primary);
    color: #fff;
}

body.subject-sat.sat-spotlight-practice-page .language-toggle-option {
    color: var(--subject-primary-hover);
}

body.subject-sat.sat-spotlight-practice-page .language-toggle-option.is-active {
    background: var(--subject-primary);
    color: #fff;
    box-shadow: 0 4px 10px rgba(var(--subject-primary-rgb), .24);
}

body.subject-sat.sat-spotlight-practice-page .language-toggle-option:focus-visible,
body.subject-sat.sat-spotlight-practice-page :is(.sat-header-icon-btn, .sat-vocab-toggle):focus-visible {
    outline-color: var(--subject-primary);
}

body.subject-sat.sat-spotlight-practice-page .confirm-btn {
    background: var(--subject-primary-light);
}

body.subject-sat.sat-spotlight-practice-page .confirm-btn:not(:disabled):hover {
    background: var(--subject-primary);
}

body.subject-sat.sat-spotlight-practice-page .back-btn {
    border-color: var(--subject-primary);
    color: var(--subject-primary);
}

body.subject-sat.sat-spotlight-practice-page :is(.sat-spotlight-help-icon, .sat-spotlight-help-choice) {
    border-color: var(--subject-border);
    background: var(--subject-primary-soft);
    color: var(--subject-primary-hover);
}

body.subject-sat.sat-spotlight-practice-page .sat-spotlight-help-icon {
    border-color: var(--subject-border);
    background: var(--subject-primary-soft);
    color: var(--subject-primary-hover);
}

body.subject-sat.sat-spotlight-practice-page :is(.sat-spotlight-help-text-button, .sat-spotlight-help-nav b) {
    border-color: var(--subject-border-strong);
    color: var(--subject-primary-hover);
}

body.subject-sat.sat-spotlight-practice-page :is(.sat-spotlight-help-text-button.is-primary, .sat-spotlight-help-nav b:last-child, .sat-spotlight-help-language .is-active, #spotlight-help-done) {
    border-color: var(--subject-primary);
    background: var(--subject-primary);
    color: #fff;
}

body.subject-sat.sat-spotlight-practice-page #spotlight-help-done:hover,
body.subject-sat.sat-spotlight-practice-page #spotlight-help-done:focus-visible {
    background: var(--subject-primary-hover);
}

/* Exam-home material filters are subject chrome; real-test red remains semantic. */
body.subject-toefl .qb-material-filter-btn[data-material-filter="practice"],
body.subject-sat .qb-material-filter-btn[data-material-filter="practice"] {
    color: var(--subject-primary);
}

body.subject-toefl .qb-material-filter-btn[data-material-filter="practice"]:hover,
body.subject-sat .qb-material-filter-btn[data-material-filter="practice"]:hover {
    background: var(--subject-primary-soft);
    color: var(--subject-primary-hover);
}

body.subject-toefl .qb-material-filter-btn[data-material-filter="practice"].is-active,
body.subject-sat .qb-material-filter-btn[data-material-filter="practice"].is-active {
    border-color: var(--subject-border-strong);
    background: var(--subject-primary-soft);
    color: var(--subject-primary-hover);
    box-shadow: 0 8px 18px rgba(var(--subject-primary-rgb), .12);
}

body.subject-toefl .qb-material-filter-btn[data-material-filter="practice"] :is(.qb-material-filter-radio, .qb-material-filter-radio::after),
body.subject-sat .qb-material-filter-btn[data-material-filter="practice"] :is(.qb-material-filter-radio, .qb-material-filter-radio::after) {
    border-color: var(--subject-primary);
}

body.subject-toefl .qb-material-filter-btn[data-material-filter="practice"].is-active .qb-material-filter-radio::after,
body.subject-sat .qb-material-filter-btn[data-material-filter="practice"].is-active .qb-material-filter-radio::after {
    background: var(--subject-primary);
}

/* Shared account chrome under an explicit/recent subject scope. */
body.subject-toefl .account-phone-password-link,
body.subject-sat .account-phone-password-link,
body.subject-toefl .account-avatar-dialog-actions .secondary,
body.subject-sat .account-avatar-dialog-actions .secondary {
    border-color: var(--subject-border);
    background: var(--subject-primary-soft);
    color: var(--subject-primary);
}

body.subject-toefl .account-phone-password-link:hover,
body.subject-sat .account-phone-password-link:hover,
body.subject-toefl .account-avatar-dialog-actions .secondary:hover,
body.subject-sat .account-avatar-dialog-actions .secondary:hover {
    background: var(--subject-primary-panel);
    color: var(--subject-primary-hover);
}

body.subject-toefl :is(.account-phone-captcha-piece, #accountPhoneCaptchaThumb, .account-avatar-dialog-actions .primary),
body.subject-sat :is(.account-phone-captcha-piece, #accountPhoneCaptchaThumb, .account-avatar-dialog-actions .primary) {
    background: var(--subject-primary);
}

body.subject-toefl :is(.account-phone-change-btn:hover, .account-phone-submit:hover),
body.subject-sat :is(.account-phone-change-btn:hover, .account-phone-submit:hover) {
    background: var(--subject-primary-hover);
}

body.subject-toefl :is(.account-phone-btn, .account-phone-btn:hover),
body.subject-sat :is(.account-phone-btn, .account-phone-btn:hover) {
    border-color: var(--subject-border);
    background: var(--subject-primary-soft);
    color: var(--subject-primary);
}

/* AI-study primary chrome; completed/error states retain their semantic colors. */
body.subject-toefl :is(.ai-study-kicker, .ai-study-panel-label, .ai-study-history-head button, .ai-study-history-label, .ai-study-history-feed-item > span),
body.subject-sat :is(.ai-study-kicker, .ai-study-panel-label, .ai-study-history-head button, .ai-study-history-label, .ai-study-history-feed-item > span) {
    color: var(--subject-primary);
}

body.subject-toefl :is(.ai-study-module-index, .ai-study-task-label, .ai-study-task-step, .ai-study-task-secondary, .ai-study-history-action, .ai-study-history-feed-title span, .ai-study-history-feed-item > a),
body.subject-sat :is(.ai-study-module-index, .ai-study-task-label, .ai-study-task-step, .ai-study-task-secondary, .ai-study-history-action, .ai-study-history-feed-title span, .ai-study-history-feed-item > a) {
    border-color: var(--subject-border);
    background: var(--subject-primary-soft);
    color: var(--subject-primary);
}

body.subject-toefl .ai-study-primary-action,
body.subject-toefl .ai-study-task-action,
body.subject-sat .ai-study-primary-action,
body.subject-sat .ai-study-task-action {
    border-color: var(--subject-primary);
    background: var(--subject-primary);
    color: #fff;
    box-shadow: 0 12px 24px rgba(var(--subject-primary-rgb), .18);
}

body.subject-toefl :is(.ai-study-primary-action, .ai-study-task-action):hover,
body.subject-sat :is(.ai-study-primary-action, .ai-study-task-action):hover {
    border-color: var(--subject-primary-hover);
    background: var(--subject-primary-hover);
}

body.subject-toefl :is(.ai-study-module.is-vocab, .ai-study-task, .ai-study-next-panel),
body.subject-sat :is(.ai-study-module.is-vocab, .ai-study-task, .ai-study-next-panel) {
    border-color: var(--subject-border);
}

body.subject-toefl :is(.ai-study-task-pdf, .ai-study-task-pdf:hover),
body.subject-sat :is(.ai-study-task-pdf, .ai-study-task-pdf:hover) {
    border-color: var(--subject-border-strong);
    background: var(--subject-primary-panel);
    color: var(--subject-primary);
}

body.subject-toefl .ai-study-flow-step.is-current span,
body.subject-sat .ai-study-flow-step.is-current span {
    background: var(--subject-primary);
}

body.subject-toefl .ai-study-flow-step.is-current strong,
body.subject-sat .ai-study-flow-step.is-current strong {
    color: var(--subject-primary);
}

body.subject-toefl .ai-study-history-panel::before,
body.subject-sat .ai-study-history-panel::before {
    background: linear-gradient(90deg, var(--subject-primary-hover), var(--subject-primary), var(--subject-primary-light));
}

body.subject-toefl.ai-study-designed-page .ai-study-module-status span,
body.subject-sat.ai-study-designed-page .ai-study-module-status span {
    border-color: var(--subject-border) !important;
    background: var(--subject-primary-soft) !important;
}

body.subject-toefl.ai-study-designed-page .ai-study-module.is-vocab .ai-study-task,
body.subject-sat.ai-study-designed-page .ai-study-module.is-vocab .ai-study-task {
    background: linear-gradient(135deg, var(--subject-primary-panel) 0%, #fff 58%, rgba(var(--subject-exercise-bg-rgb), .45) 100%) !important;
}

body.subject-toefl.ai-study-designed-page .ai-study-module.is-vocab .ai-study-task::before,
body.subject-sat.ai-study-designed-page .ai-study-module.is-vocab .ai-study-task::before {
    background: linear-gradient(90deg, var(--subject-primary-hover), var(--subject-primary), var(--subject-primary-light)) !important;
}

body.subject-toefl.ai-study-designed-page .ai-study-module.is-vocab .ai-study-task-pdf,
body.subject-sat.ai-study-designed-page .ai-study-module.is-vocab .ai-study-task-pdf {
    border-color: var(--subject-border-strong) !important;
}

body.subject-sat.ai-study-designed-page .ai-study-module.is-vocab .ai-study-task-secondary {
    border-color: var(--subject-border) !important;
    background: var(--subject-primary-soft) !important;
    color: var(--subject-primary) !important;
}

/* The designed-page stylesheet marks these component colors important. */
body.subject-toefl.ai-study-designed-page .ai-study-module.is-vocab .ai-study-task-row:not(.ai-study-reassess-row),
body.subject-sat.ai-study-designed-page .ai-study-module.is-vocab .ai-study-task-row:not(.ai-study-reassess-row) {
    background: linear-gradient(180deg, rgba(255, 255, 255, .88), rgba(var(--subject-exercise-bg-rgb), .72)) !important;
}

body.subject-toefl.ai-study-designed-page :is(.ai-study-primary-action, .ai-study-task-action):not(:disabled):not([aria-disabled="true"]):is(:hover, :focus-visible),
body.subject-sat.ai-study-designed-page :is(.ai-study-primary-action, .ai-study-task-action):not(:disabled):not([aria-disabled="true"]):is(:hover, :focus-visible) {
    border-color: var(--subject-primary-hover) !important;
    background: var(--subject-primary-hover) !important;
}

body.subject-toefl.ai-study-designed-page .ai-study-module.is-vocab .ai-study-task-secondary {
    border-color: rgba(var(--subject-primary-rgb), .32) !important;
    background: rgba(var(--subject-exercise-bg-rgb), .78) !important;
    color: var(--subject-primary-hover) !important;
}

body.subject-toefl.ai-study-designed-page .ai-study-module.is-vocab .ai-study-task-secondary:is(:hover, :focus-visible) {
    border-color: var(--subject-primary) !important;
    background: var(--subject-primary-soft) !important;
}

body.subject-toefl .fixed-chat-icon,
body.subject-sat .fixed-chat-icon {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .22) 0%, rgba(255, 255, 255, 0) 42%),
        linear-gradient(135deg, var(--subject-primary) 0%, var(--subject-primary-hover) 100%);
    box-shadow: 0 14px 28px rgba(var(--subject-primary-rgb), .28), inset 0 1px 0 rgba(255, 255, 255, .36);
}

body.subject-toefl .fixed-chat-icon:hover,
body.subject-sat .fixed-chat-icon:hover {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .26) 0%, rgba(255, 255, 255, 0) 42%),
        linear-gradient(135deg, var(--subject-primary-light) 0%, var(--subject-primary-hover) 100%);
    box-shadow: 0 16px 32px rgba(var(--subject-primary-rgb), .34), inset 0 1px 0 rgba(255, 255, 255, .42);
}

body.subject-toefl .fixed-chat-icon:focus-visible,
body.subject-sat .fixed-chat-icon:focus-visible {
    outline-color: rgba(var(--subject-primary-rgb), .9);
}

body:is(.subject-toefl, .subject-sat) .ai-study-history-panel .ai-study-history-label,
body:is(.subject-toefl, .subject-sat) .ai-study-history-panel-head button:hover {
    background: var(--subject-primary-soft);
}

body.subject-toefl.ai-study-designed-page,
body.subject-sat.ai-study-designed-page {
    background: var(--subject-utility-canvas) !important;
}

/* SAT wrong-notebook controls are part of the dedicated SAT surface. */
body.subject-sat.sat-wrong-notebook-page {
    position: relative;
    isolation: isolate;
    overflow-x: hidden;
    min-height: 100%;
    background: var(--subject-utility-canvas) !important;
}

body.subject-sat.sat-wrong-notebook-page::before {
    content: "";
    position: absolute;
    inset: 62px 0 auto;
    height: 520px;
    z-index: 0;
    pointer-events: none;
    background: var(--subject-utility-hero) !important;
}

body.subject-sat.sat-wrong-notebook-page .main-content,
body.subject-sat.sat-wrong-notebook-page .footer {
    position: relative;
    z-index: 1;
    background: transparent;
}

body.subject-sat.sat-wrong-notebook-page .sat-wnb-wordmark-watermark {
    position: absolute;
    left: -10px;
    top: -20px;
    width: 420px;
    min-width: 0;
    max-width: 720px;
    height: auto;
    z-index: 0;
    pointer-events: none;
    transform: none;
}

body.subject-sat.sat-wrong-notebook-page .sat-wnb-wordmark-watermark g {
    opacity: .34;
}

body.subject-sat.sat-wrong-notebook-page .sat-wnb-hero {
    position: relative;
    width: min(1160px, calc(100% - 40px));
    min-height: 180px;
    margin: 46px auto 0;
    z-index: 2;
}

body.subject-sat.sat-wrong-notebook-page .sat-wnb-hero-copy {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 24px;
}

body.subject-sat.sat-wrong-notebook-page .sat-wnb-hero-title {
    margin: 0;
    color: #2d3034;
    font-size: 40px;
    font-weight: 600;
    line-height: 1.08;
    letter-spacing: 0;
}

body.subject-sat.sat-wrong-notebook-page .sat-wnb-hero-count {
    display: block;
    margin-top: 12px;
    color: #4f6f80;
    font-size: 17px;
    font-weight: 500;
    line-height: 1.45;
}

body.subject-sat.sat-wrong-notebook-page .sat-wnb-hero-back {
    flex: 0 0 auto;
    width: 82px;
    height: 32px;
    margin: 6px 0 0;
    padding: 0 8px;
    justify-content: center;
    gap: 6px;
    background: var(--subject-primary);
    box-shadow: 0 10px 20px var(--subject-shadow);
}

body.subject-sat.sat-wrong-notebook-page .sat-wnb-hero-back:hover {
    background: var(--subject-primary-hover);
    box-shadow: 0 12px 24px var(--subject-shadow);
}

body.subject-sat.sat-wrong-notebook-page .sat-wnb-hero-mascot {
    position: absolute;
    right: 0;
    top: -36px;
    width: 230px;
    height: 188px;
    z-index: 2;
    pointer-events: none;
    background: var(--active-mascot-image, none) center / contain no-repeat;
    filter: drop-shadow(0 26px 32px rgba(var(--subject-mascot-shadow-rgb), .16));
}

body.subject-sat.sat-wrong-notebook-page .sat-wnb-shell {
    width: min(1200px, calc(100% - 40px));
    margin: 10px auto 72px;
    border: 1px solid var(--subject-border);
    border-radius: 18px;
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 18px 44px rgba(31, 84, 126, .10);
    backdrop-filter: blur(8px);
}

body.subject-sat.sat-wrong-notebook-page .sat-wnb-container {
    margin: 0 auto;
    padding: 24px 20px;
}

body.subject-sat.sat-wrong-notebook-page .sat-wnb-container {
    --vnb-primary: var(--subject-primary);
    --vnb-primary-dark: var(--subject-primary-hover);
    --vnb-primary-soft: var(--subject-primary-soft);
}

body.subject-sat.sat-wrong-notebook-page :is(.sat-wnb-practice-panel, .sat-wnb-prefilters, .sat-wnb-quick-filters) {
    border-color: var(--subject-border);
}

body.subject-sat.sat-wrong-notebook-page .sat-wnb-practice-panel {
    background: linear-gradient(135deg, var(--subject-primary-panel) 0%, #fff 78%);
    box-shadow: 0 12px 30px var(--subject-shadow);
}

body.subject-sat .sat-wnb-source-chip.is-active,
body.subject-sat .sat-wnb-review-chip.is-active {
    border-color: var(--subject-primary);
    background: var(--subject-primary-soft);
    color: var(--subject-primary-hover);
}

body.subject-sat .sat-wnb-filter-field input:focus {
    border-color: var(--subject-primary);
    box-shadow: 0 0 0 3px var(--subject-shadow);
    outline: none;
}

body.subject-sat .sat-wnb-filter-chip,
body.subject-sat .sat-wnb-type-chip,
body.subject-sat .sat-wnb-filter-chip.is-sat-subject-reading,
body.subject-sat .sat-wnb-filter-chip.is-sat-subject-math,
body.subject-sat .sat-wnb-type-chip.is-ability-expression,
body.subject-sat .sat-wnb-type-chip.is-ability-math-b {
    --sat-choice-accent: var(--subject-primary);
    --sat-choice-bg: var(--subject-primary-soft);
    --sat-choice-border: var(--subject-border);
}

body.subject-sat .sat-wnb-filter-chip.is-active {
    box-shadow: inset 0 0 0 1px rgba(var(--subject-primary-rgb), .14);
}

body.subject-sat .sat-wnb-preview-trigger:hover,
body.subject-sat .sat-wnb-preview-trigger:focus-visible {
    color: var(--subject-primary);
}

@media (max-width: 767px) {
    body.subject-sat.sat-wrong-notebook-page {
        background-color: var(--subject-utility-canvas) !important;
        background-image: var(--subject-utility-hero) !important;
        background-repeat: no-repeat !important;
        background-size: 100% 100% !important;
    }

    body.subject-sat.sat-wrong-notebook-page::before {
        content: none;
    }

    body.subject-sat.sat-wrong-notebook-page .sat-wnb-wordmark-watermark {
        left: -6px;
        top: -12px;
        width: 250px;
        max-width: calc(100vw - 36px);
    }

    body.subject-sat.sat-wrong-notebook-page .sat-wnb-wordmark-watermark g {
        opacity: .30;
    }

    body.subject-sat.sat-wrong-notebook-page .sat-wnb-hero {
        width: min(100% - 28px, 1160px);
        min-height: 175px;
        margin-top: 88px;
    }

    body.subject-sat.sat-wrong-notebook-page .sat-wnb-hero-copy {
        gap: 12px;
    }

    body.subject-sat.sat-wrong-notebook-page .sat-wnb-hero-title {
        font-size: 30px;
    }

    body.subject-sat.sat-wrong-notebook-page .sat-wnb-hero-count {
        margin-top: 8px;
        font-size: 14px;
    }

    body.subject-sat.sat-wrong-notebook-page .sat-wnb-hero-back {
        position: absolute;
        top: 4px;
        right: 0;
        margin: 0;
    }

    body.subject-sat.sat-wrong-notebook-page .sat-wnb-hero-mascot {
        right: 4px;
        top: 48px;
        width: 142px;
        height: 112px;
        z-index: 1;
        opacity: .72;
    }

    body.subject-sat.sat-wrong-notebook-page .sat-wnb-shell {
        width: calc(100% - 20px);
        margin-top: 10px;
        margin-bottom: 40px;
        border-radius: 14px;
    }

    body.subject-sat.sat-wrong-notebook-page .sat-wnb-container {
        padding: 16px 10px;
    }
}

body.subject-sat .sat-wnb-preview-title-row span {
    background: var(--subject-primary-soft);
    color: var(--subject-primary-hover);
}

body.subject-sat .sat-wnb-preview-practice {
    background: var(--subject-primary);
}

body.subject-sat .sat-wnb-preview-practice:hover {
    background: var(--subject-primary-hover);
}

/* Shared exercise accents under explicit subject scope. */
body.subject-toefl.cloze-fill-page #cloze-practice-container #timer-display,
body.subject-sat.cloze-fill-page #cloze-practice-container #timer-display,
body.subject-toefl.gap-fill-page #spelling-practice-container #timer-display,
body.subject-sat.gap-fill-page #spelling-practice-container #timer-display {
    color: var(--subject-primary);
}

body.subject-toefl .practice-vocab-toggle:hover,
body.subject-toefl .practice-vocab-toggle.is-active,
body.subject-sat .practice-vocab-toggle:hover,
body.subject-sat .practice-vocab-toggle.is-active {
    border-color: var(--subject-border-strong);
    background: var(--subject-primary-soft);
    color: var(--subject-primary);
}

body.subject-toefl .practice-vocab-word-icon,
body.subject-sat .practice-vocab-word-icon {
    background: var(--subject-primary-soft);
    color: var(--subject-primary-hover);
}

/* TOEFL platform surfaces that retain legacy brand green in shared CSS. */
body.subject-toefl.exam-select-page .hw-dash-query:hover {
    border-color: var(--subject-primary-hover);
    background: var(--subject-primary-hover);
}

body.subject-toefl.exam-select-page .qb-toefl-filter-btn:hover {
    border-color: var(--subject-border-strong);
    color: var(--subject-primary-hover);
    box-shadow: 0 8px 18px rgba(var(--subject-primary-rgb), .08);
}

body.subject-toefl.exam-select-page .qb-toefl-filter-btn.active {
    border-color: var(--subject-border-strong);
    background: var(--subject-primary-soft);
    color: var(--subject-primary-hover);
    box-shadow: 0 10px 22px rgba(var(--subject-primary-rgb), .13);
}

body.subject-toefl .qb-toefl-mock-material {
    background: var(--subject-primary-soft);
    color: var(--subject-text-on-soft);
}

body.subject-toefl.combo-start-page .combo-hero-card {
    border-color: var(--subject-border-strong);
    box-shadow: 0 22px 38px rgba(var(--subject-primary-rgb), .12);
}

body.subject-toefl.combo-start-page .drag-arrow {
    border-color: var(--subject-border-strong);
    background: var(--subject-primary-soft);
    color: var(--subject-primary-hover);
}

@media (max-width: 767px) {
    body.subject-toefl.combo-start-page .combo-tips {
        background: rgba(230, 246, 252, .58);
    }
    body.subject-toefl.combo-start-page .combo-tip-order .fa-arrows-up-down::before {
        background-image: url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 14 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='1.3' y='1.7' width='5' height='5' rx='1.4' fill='%23e6f6fc' stroke='%232f9ccc' stroke-width='1'/%3E%3Crect x='7.7' y='7.3' width='5' height='5' rx='1.4' fill='%23e6f6fc' stroke='%232f9ccc' stroke-width='1'/%3E%3Cpath d='M3.2 4.7L3.8 4.1L4.4 4.7M10.8 9.3L10.2 9.9L9.6 9.3' stroke='%232f9ccc' stroke-width='1.15' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    }
    body.subject-sat.combo-start-page .combo-tips {
        background: rgba(238, 248, 255, .58);
    }
    body.subject-sat.combo-start-page .combo-tip-order .fa-arrows-up-down::before {
        background-image: url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 14 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='1.3' y='1.7' width='5' height='5' rx='1.4' fill='%23eef8ff' stroke='%231683ff' stroke-width='1'/%3E%3Crect x='7.7' y='7.3' width='5' height='5' rx='1.4' fill='%23eef8ff' stroke='%231683ff' stroke-width='1'/%3E%3Cpath d='M3.2 4.7L3.8 4.1L4.4 4.7M10.8 9.3L10.2 9.9L9.6 9.3' stroke='%231683ff' stroke-width='1.15' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    }
    body.subject-toefl.combo-start-page :is(.drag-arrow, .combo-settings-toggle),
    body.subject-sat.combo-start-page :is(.drag-arrow, .combo-settings-toggle) {
        background: var(--subject-primary-soft);
        color: var(--subject-primary-hover);
    }
    body.subject-toefl.combo-start-page .drag-arrow-up::before {
        background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.2 9.6L8 5.8L11.8 9.6' stroke='%23247fa8' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    }
    body.subject-toefl.combo-start-page .drag-arrow-down::before {
        background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.2 6.4L8 10.2L11.8 6.4' stroke='%23247fa8' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    }
    body.subject-toefl.combo-start-page .combo-settings-toggle::before {
        background-image: url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 14 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2.2 4H11.8M2.2 10H11.8' stroke='%23247fa8' stroke-width='1.5' stroke-linecap='round'/%3E%3Ccircle cx='5' cy='4' r='1.6' fill='%23e6f6fc' stroke='%23247fa8' stroke-width='1.4'/%3E%3Ccircle cx='9' cy='10' r='1.6' fill='%23e6f6fc' stroke='%23247fa8' stroke-width='1.4'/%3E%3C/svg%3E");
    }
    body.subject-sat.combo-start-page .drag-arrow-up::before {
        background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.2 9.6L8 5.8L11.8 9.6' stroke='%23006fd6' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    }
    body.subject-sat.combo-start-page .drag-arrow-down::before {
        background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.2 6.4L8 10.2L11.8 6.4' stroke='%23006fd6' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    }
    body.subject-sat.combo-start-page .combo-settings-toggle::before {
        background-image: url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 14 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2.2 4H11.8M2.2 10H11.8' stroke='%23006fd6' stroke-width='1.5' stroke-linecap='round'/%3E%3Ccircle cx='5' cy='4' r='1.6' fill='%23eef8ff' stroke='%23006fd6' stroke-width='1.4'/%3E%3Ccircle cx='9' cy='10' r='1.6' fill='%23eef8ff' stroke='%23006fd6' stroke-width='1.4'/%3E%3C/svg%3E");
    }
}

body.subject-toefl.combo-start-page .mode-check,
body.subject-sat.combo-start-page .mode-check {
    border-color: var(--subject-border-strong);
    background: #fff;
}

body.subject-toefl.combo-start-page .mode-check:checked,
body.subject-sat.combo-start-page .mode-check:checked {
    border-color: var(--subject-primary);
    background: var(--subject-primary);
}

body.subject-toefl.exam-select-page .qb-table tbody tr:hover,
body.subject-sat.exam-select-page .qb-table tbody tr:hover {
    background: var(--subject-primary-panel);
}

body.subject-toefl .vu-toolbar-row:first-child,
body.subject-sat .vu-toolbar-row:first-child {
    background: var(--subject-primary-panel);
}

body.subject-toefl .vu-toolbar-label-smart,
body.subject-sat .vu-toolbar-label-smart {
    color: var(--subject-text-on-soft);
}

body.subject-toefl .vu-btn-smart,
body.subject-sat .vu-btn-smart {
    border-color: var(--subject-border-strong);
    background: #fff;
    color: var(--subject-text-on-soft);
}

body.subject-toefl .vu-btn-smart:hover,
body.subject-sat .vu-btn-smart:hover {
    border-color: var(--subject-primary);
    background: var(--subject-primary-soft);
}

body.subject-toefl.vocab-learn-page .llk-quiz-prompt,
body.subject-sat.vocab-learn-page .llk-quiz-prompt {
    background: rgba(var(--subject-exercise-bg-rgb), .72);
}

body.subject-toefl.vocab-learn-page #gameView.is-active .llk-card-word,
body.subject-sat.vocab-learn-page #gameView.is-active .llk-card-word {
    border-color: var(--subject-border);
    background: var(--subject-primary-soft);
}

body.subject-toefl.vocab-learn-page #gameView.is-active .llk-card-word:not(.llk-card-selected):hover,
body.subject-sat.vocab-learn-page #gameView.is-active .llk-card-word:not(.llk-card-selected):hover {
    border-color: var(--subject-primary);
    background: var(--subject-primary-panel);
}

body.subject-toefl .wae-prompt-label {
    background: var(--subject-primary-soft);
    color: var(--subject-primary-hover);
}

body.subject-toefl .wad-panel-label {
    background: var(--subject-primary-soft);
}

body.subject-toefl .toefl-writing-wrapper .stats-bar {
    background: var(--subject-primary-panel);
}

body.subject-toefl.exam-select-page .qb-toolbar-title {
    padding-left: 0;
}

body.subject-toefl.exam-select-page .qb-toolbar-title::before {
    content: none;
}

body.subject-sat.exam-select-page .qb-toolbar-title {
    padding-left: 0;
}

body.subject-sat.exam-select-page .qb-toolbar-title::before {
    content: none;
}

body.subject-sat.exam-select-page .qb-sat-practice-choice:hover,
body.subject-sat.exam-select-page .qb-sat-practice-choice:has(input:checked) {
    border-color: var(--subject-primary);
    background: var(--subject-primary-soft);
    color: var(--subject-primary-hover);
}

body.subject-sat.exam-select-page .qb-sat-practice-choice:has(input:checked) > span::before {
    border-color: var(--subject-primary);
    background: var(--subject-primary-soft);
}

body.subject-sat.exam-select-page .qbrowser .qb-sat-mock-title-year {
    border-color: var(--subject-border);
    background: var(--subject-primary-soft);
    color: var(--subject-primary-hover);
}

body.subject-sat.exam-select-page .vocab-exam-start-btn:hover:not(:disabled) {
    background: var(--subject-primary-hover);
}

body.subject-sat.combo-start-page .combo-card.checked .combo-card-header {
    background: linear-gradient(180deg, rgba(238, 248, 255, .92) 0%, rgba(245, 251, 255, .9) 48%, rgba(255, 255, 255, .9) 100%);
}

body.subject-toefl.vocab-quiz-page .vex-question-area,
body.subject-sat.vocab-quiz-page .vex-question-area {
    background: var(--subject-primary-soft);
}

body.subject-toefl .ai-overall-comment,
body.subject-sat .ai-overall-comment {
    border-color: var(--subject-border);
    background: linear-gradient(135deg, var(--subject-primary-panel) 0%, var(--subject-primary-soft) 100%);
}

body.subject-toefl :is(.vocab-detail-ai-tag, .vocab-report-group-title),
body.subject-sat :is(.vocab-detail-ai-tag, .vocab-report-group-title) {
    color: var(--subject-primary-hover);
}

body.subject-toefl .vocab-detail-ai-tag,
body.subject-sat .vocab-detail-ai-tag {
    background: linear-gradient(135deg, var(--subject-primary-panel), var(--subject-primary-soft));
    border-color: var(--subject-border);
}

body.subject-toefl .vocab-report-cloud-card,
body.subject-sat .vocab-report-cloud-card {
    border-color: var(--subject-border);
    background: linear-gradient(135deg, var(--subject-primary-panel), var(--subject-primary-soft));
    box-shadow: 0 1px 3px rgba(0, 0, 0, .04), 0 8px 20px rgba(var(--subject-primary-rgb), .06);
}

body.subject-toefl .vocab-report-group + .vocab-report-group,
body.subject-sat .vocab-report-group + .vocab-report-group {
    border-top-color: var(--subject-border);
}

body.subject-toefl .vocab-hover-card,
body.subject-sat .vocab-hover-card {
    border-color: var(--subject-border);
}

body.subject-toefl .vocab-hover-chip,
body.subject-sat .vocab-hover-chip {
    border-color: var(--subject-border);
    color: var(--subject-primary-hover);
    box-shadow: 0 1px 2px rgba(var(--subject-primary-rgb), .08);
}

body.subject-toefl .vocab-hover-chip:hover,
body.subject-toefl .vocab-hover-chip:focus-visible,
body.subject-sat .vocab-hover-chip:hover,
body.subject-sat .vocab-hover-chip:focus-visible {
    border-color: var(--subject-primary-hover);
    box-shadow: 0 8px 22px rgba(var(--subject-primary-rgb), .16);
}

/* Writing reports keep correction semantics and their existing card geometry. */
body.subject-toefl.record-detail-page :is(.wad-detail-discussion-card, .wae-detail-prompt-card) {
    background: #fff;
    border-color: rgba(var(--report-primary-rgb), .24);
    color: #52637d;
    box-shadow: 0 10px 28px rgba(var(--report-primary-rgb), .08);
}

body.subject-toefl.record-detail-page :is(.wad-detail-label, .wae-detail-label) {
    background: var(--report-primary-soft);
    color: var(--report-primary-hover);
}

body.subject-toefl.record-detail-page :is(.wad-detail-instructions, .wad-detail-message, .wae-detail-meta) {
    background: var(--report-primary-softer);
    border-color: rgba(var(--report-primary-rgb), .22);
    color: #52637d;
}

body.subject-toefl.record-detail-page .wad-detail-professor {
    border-left-color: var(--report-primary);
}

body.subject-toefl.record-detail-page .wad-detail-speaker {
    color: var(--report-primary-hover);
}

body.subject-toefl.record-detail-page .wad-detail-body {
    color: #52637d;
}

body.subject-toefl.record-detail-page :is(.wp-report-subsection > h4, .wp-round-card-header h4) {
    color: var(--report-primary);
}

body.subject-toefl.record-detail-page .wp-report-subsection > h4 {
    border-color: var(--report-primary);
    outline-color: var(--report-primary);
}

body.subject-toefl.record-detail-page .report-variant-typing .wp-progress-fill {
    background: linear-gradient(90deg, var(--report-primary), var(--report-accent));
}

body.subject-toefl :is(
    .report-variant-gap,
    .report-variant-cloze,
    .report-variant-typing
) .wp-section h3 {
    color: var(--report-primary-hover);
    border-bottom-color: var(--report-primary);
}

body.subject-toefl.record-detail-page :is(.record-type-wad, .record-type-wae) .scoring-comment-card {
    background: linear-gradient(90deg, rgba(var(--report-primary-rgb), .10) 0%, rgba(var(--report-accent-rgb), .05) 100%), var(--report-primary-softer);
    border-left-color: var(--report-primary);
    color: #303746;
    box-shadow: 0 1px 4px transparent;
}

body.subject-toefl.record-detail-page .tt-report-title {
    color: #303746;
}

body.subject-toefl.record-detail-page .tt-report-item .v {
    color: var(--report-primary);
}

body.subject-toefl.record-detail-page .tt-report-btn.primary {
    background: var(--report-primary);
    border-color: var(--report-primary);
    color: #fff;
}

body.subject-toefl.record-detail-page .tt-report-btn.primary:hover {
    background: var(--report-primary-hover);
    border-color: var(--report-primary-hover);
    color: #fff;
}

body.subject-toefl.combo-report-page .combo-report-redo:hover {
    background: #f59e0b !important;
    border-color: #f59e0b !important;
    color: #fff !important;
}

/* Speaking feedback is decorative; dimension and transcript status colors remain. */
body.subject-toefl.record-detail-page :is(.record-type-lar, .record-type-tar) .sq-feedback,
body.subject-toefl.record-detail-page .report-variant-oral-repeat :is(.oral-overview-comment, .tencent-sentence-feedback) {
    background: linear-gradient(90deg, rgba(var(--report-primary-rgb), .10) 0%, rgba(var(--report-accent-rgb), .05) 100%), var(--report-primary-softer);
    border-left-color: var(--report-primary);
    color: #303746;
}

body.subject-toefl.record-detail-page .report-variant-oral-repeat .oral-score-ring {
    background: linear-gradient(135deg, var(--report-primary), var(--report-accent));
    color: #fff;
    box-shadow: 0 14px 28px rgba(var(--report-primary-rgb), .22);
}

body.subject-toefl.record-detail-page .report-variant-oral-repeat .oral-overview-comment .oral-card-title,
body.subject-toefl.record-detail-page .report-variant-oral-repeat .tencent-sentence-feedback::before {
    color: var(--report-primary-hover);
}

body.subject-toefl.record-detail-page .report-variant-oral-repeat .tencent-sentence-index {
    color: var(--report-primary);
    border-color: var(--report-primary);
    outline-color: var(--report-primary);
}

body.subject-toefl.record-detail-page .report-variant-oral-repeat .oral-diff-content.tencent-sentence-diff {
    border-left-color: var(--report-primary);
}

/* Listening reports: decorative controls only, not accuracy/status palettes. */
body.subject-toefl.record-detail-page :is(.tl-section-title, .lfp-header) {
    border-bottom-color: rgba(var(--report-primary-rgb), .35);
}

body.subject-toefl.record-detail-page .lfp-progress {
    accent-color: var(--report-primary);
}

body.subject-toefl.record-detail-page .lfp-btn {
    color: var(--report-primary);
    border-color: rgba(var(--report-primary-rgb), .34);
}

body.subject-toefl.record-detail-page .lfp-btn:hover {
    color: var(--report-primary-hover);
    background: var(--report-primary-soft);
    border-color: rgba(var(--report-primary-rgb), .48);
}

body.subject-toefl.record-detail-page .lfp-btn.active {
    background: var(--report-primary-soft);
    color: var(--report-primary);
    border-color: var(--report-primary);
}

body.subject-toefl.record-detail-page .lfp-btn.active:hover {
    background: var(--report-primary-soft);
    color: var(--report-primary-hover);
    border-color: rgba(var(--report-primary-rgb), .48);
}

body.subject-toefl.record-detail-page .tl-review-qnum-btn.qn-active:not(.qn-correct):not(.qn-wrong) {
    background: var(--report-primary);
    border-color: var(--report-primary);
    color: #fff;
}

body.subject-toefl.record-detail-page :is(.report-variant-audio-cloze, .report-variant-dictation) .dictation-sentence-index {
    color: var(--report-primary);
    border-color: var(--report-primary);
    outline-color: var(--report-primary);
}

body.subject-toefl.record-detail-page .report-variant-typing .typing-sentence-card:not(.is-incomplete) .typing-sentence-index {
    color: var(--report-primary);
    border-color: var(--report-primary);
    outline-color: var(--report-primary);
}

body.subject-toefl.record-detail-page .report-variant-dictation .dictation-stat-heard .dictation-stat-value {
    color: #f59e0b;
}

body.subject-toefl.record-detail-page .report-variant-dictation .dictation-stat-peeked .dictation-stat-value {
    color: #3b82f6;
}

body.subject-toefl.record-detail-page .report-variant-dictation .dictation-diagnosis-title {
    color: #303746;
}

/* Sentence and reading reports retain answer semantics and ordinary prose. */
body.subject-toefl.record-detail-page .report-variant-sentence-parse .sentence-parse-row-num {
    background: rgba(var(--report-primary-rgb), .12);
    color: var(--report-primary-hover);
}

body.subject-toefl.record-detail-page .report-variant-sentence-parse .sentence-parse-cn {
    color: #475569;
}

body.subject-toefl.record-detail-page .bas-review-mode {
    --toefl-header-bg: var(--report-primary);
}

body.subject-toefl.record-detail-page .record-detail-title-mark {
    position: relative;
    min-height: 40px;
    padding-left: 42px;
}

body.subject-toefl.record-detail-page .record-detail-title-mark::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 28px;
    height: 41px;
    transform: translateY(-50%);
    background: var(--active-subject-mark-image) center / contain no-repeat;
    -webkit-mask-image: linear-gradient(135deg, #000 0%, #000 24%, rgba(0, 0, 0, .72) 44%, rgba(0, 0, 0, .24) 68%, transparent 100%);
    mask-image: linear-gradient(135deg, #000 0%, #000 24%, rgba(0, 0, 0, .72) 44%, rgba(0, 0, 0, .24) 68%, transparent 100%);
}

@media (max-width: 767px) {
    body.subject-toefl.record-detail-page .record-detail-title-mark {
        min-height: 34px;
        padding-left: 38px;
    }

    body.subject-toefl.record-detail-page .record-detail-title-mark::before {
        width: 24px;
        height: 34px;
    }
}

body.subject-toefl.record-detail-page :is(.record-type-rap, .record-type-rdp) .ai-qa-analysis-v2 p {
    color: #303746;
}

body.subject-toefl.record-detail-page .score-circle.score-5,
body.subject-toefl.combo-report-page .combo-overview-summary:is(.is-generic, .is-cloze, .is-typing, .is-sentence_parse) .score-circle {
    background: linear-gradient(135deg, var(--report-primary), var(--report-accent));
    color: #fff;
    box-shadow: 0 4px 16px rgba(var(--report-primary-rgb), .22);
}

body.subject-toefl.record-detail-page .sample-card {
    border-color: rgba(var(--report-primary-rgb), .28);
}

body.subject-sat.account-center-page .navbar.home-top-nav {
    background: rgba(255, 255, 255, .72) !important;
}

/* Feedback headings and selected skills are brand emphasis, not success states. */
body:is(.subject-toefl, .subject-sat).assessment-designed-page :is(.assessment-entry-feedback-cefr, .assessment-entry-feedback-main) {
    color: var(--subject-primary) !important;
}

body:is(.subject-toefl, .subject-sat).assessment-designed-page .assessment-path .ability-skill-option.is-ready:has(input:checked),
body:is(.subject-toefl, .subject-sat).assessment-designed-page .assessment-path .ability-skill-option.is-ready:has(input:checked) .ability-skill-name {
    color: var(--subject-primary-hover) !important;
}

body:is(.subject-toefl, .subject-sat).assessment-designed-page .assessment-path .ability-skill-option.is-ready:has(input:checked) {
    box-shadow: 0 6px 16px rgba(15, 23, 42, .055), inset 0 0 0 1px rgba(var(--subject-primary-rgb), .12) !important;
}

body:is(.subject-toefl, .subject-sat).assessment-designed-page :is(.assessment-primary-button, .assessment-mini-button.primary, .assessment-mini-button.blue, .assessment-mini-button.purple, .ability-start-button) {
    box-shadow: 0 8px 18px rgba(var(--subject-primary-rgb), .16) !important;
}

body:is(.subject-toefl, .subject-sat).assessment-designed-page :is(.assessment-primary-button, .assessment-mini-button.primary, .assessment-mini-button.blue, .assessment-mini-button.purple, .ability-start-button):hover {
    box-shadow: 0 10px 22px rgba(var(--subject-primary-rgb), .20) !important;
}

body.subject-toefl.combo-report-page :is(
    .combo-overview-summary.is-oral_repeat,
    .combo-overview-summary.is-audio_cloze,
    .combo-overview-summary.is-dictation
) .score-circle {
    background: linear-gradient(135deg, var(--report-primary), var(--report-accent));
    color: #fff;
    box-shadow: 0 4px 16px rgba(var(--report-primary-rgb), .22);
}

body.subject-toefl.combo-report-page .combo-overview-summary.is-sentence_parse .combo-overview-kpi {
    border-color: rgba(var(--report-primary-rgb), .28);
}

body.subject-toefl.combo-report-page :is(
    .combo-overview-summary.is-oral_repeat,
    .combo-overview-summary.is-audio_cloze,
    .combo-overview-summary.is-dictation
) .combo-overview-kpi {
    border-color: rgba(var(--report-primary-rgb), .28);
}

body.subject-toefl.combo-report-page .combo-overview-summary.is-sentence_parse .combo-overview-kpi:nth-child(1) {
    background: linear-gradient(180deg, #f4fbff 0%, #fff 100%);
}

body.subject-toefl.combo-report-page :is(
    .combo-overview-summary.is-oral_repeat,
    .combo-overview-summary.is-audio_cloze,
    .combo-overview-summary.is-dictation
) .combo-overview-kpi:nth-child(1) {
    background: linear-gradient(180deg, #f4fbff 0%, #fff 100%);
}

body.subject-toefl.combo-report-page .combo-overview-summary.is-sentence_parse .combo-overview-kpi:nth-child(1)::before {
    background: var(--report-primary);
}

body.subject-toefl.combo-report-page :is(
    .combo-overview-summary.is-oral_repeat,
    .combo-overview-summary.is-audio_cloze,
    .combo-overview-summary.is-dictation
) .combo-overview-kpi:nth-child(1)::before {
    background: var(--report-primary);
}

body.subject-toefl.combo-report-page .combo-overview-summary.is-oral_repeat .combo-overview-comment {
    background: linear-gradient(90deg, rgba(var(--report-primary-rgb), .12), rgba(var(--report-primary-rgb), .04));
    border-left-color: var(--report-primary);
    color: #303746;
}

body.subject-toefl.record-detail-page .detail-header :is(.student-name-tag, .qid-tag),
body.subject-toefl.combo-report-page :is(.combo-report-id-tag, .combo-report-student-name) {
    background: var(--report-primary-soft);
    color: var(--report-primary-hover);
}

body.subject-toefl.combo-report-page .combo-overview-summary.is-sentence_parse .combo-overview-kpi:nth-child(2) {
    background: linear-gradient(180deg, #f2f6ff 0%, #fff 100%);
}

body.subject-toefl.combo-report-page .combo-overview-summary.is-sentence_parse .combo-overview-kpi:nth-child(3) {
    background: linear-gradient(180deg, #f7f5ff 0%, #fff 100%);
}

/* The same vocabulary report components appear standalone and in combo frames. */
body.subject-toefl.record-detail-page :is(.record-type-llk, .record-type-vex) :is(.vocab-report-cloud-card, .vocab-split-container) {
    border-color: rgba(var(--report-primary-rgb), .22);
    background: linear-gradient(180deg, rgba(247, 251, 255, .98) 0%, #fff 100%), #fff;
}

body.subject-toefl.record-detail-page :is(.record-type-llk, .record-type-vex) .vocab-report-cloud-card {
    box-shadow: 0 1px 3px transparent, 0 8px 20px transparent;
}

body.subject-toefl.record-detail-page :is(.record-type-llk, .record-type-vex) .vocab-split-container {
    box-shadow: 0 1px 3px transparent, 0 4px 12px transparent;
}

body.subject-toefl.record-detail-page :is(.record-type-llk, .record-type-vex) .vocab-report-group + .vocab-report-group {
    border-top-color: rgba(var(--report-primary-rgb), .22);
}

body.subject-toefl.record-detail-page :is(.record-type-llk, .record-type-vex) :is(.vocab-report-group-title, .vocab-hover-card-word, .vocab-detail-ai-tag) {
    color: var(--report-primary-hover);
}

body.subject-toefl.record-detail-page :is(.record-type-llk, .record-type-vex) .vocab-hover-chip {
    border-color: rgba(var(--report-primary-rgb), .24);
    background: #fff;
    color: #24364b;
    box-shadow: 0 1px 2px transparent;
}

body.subject-toefl.record-detail-page :is(.record-type-llk, .record-type-vex) :is(.vocab-hover-chip:hover, .vocab-hover-chip:focus-visible) {
    border-color: rgba(var(--report-primary-rgb), .55);
    box-shadow: 0 8px 22px transparent;
}

body.subject-toefl.record-detail-page :is(.record-type-llk, .record-type-vex) .vocab-detail-ai-tag {
    border-color: rgba(var(--report-primary-rgb), .22);
    background: linear-gradient(135deg, rgba(var(--report-primary-rgb), .10), rgba(var(--report-accent-rgb), .06)), var(--report-primary-softer);
}

body.subject-toefl.record-detail-page :is(.record-type-llk, .record-type-vex) .vocab-detail-ai-tag::before {
    background: var(--report-primary);
    color: #fff;
}

body.subject-toefl.record-detail-page :is(.record-type-llk, .record-type-vex) .vocab-split-num {
    background: rgba(var(--report-primary-rgb), .12);
    color: var(--report-primary-hover);
}

body.subject-toefl.record-detail-page :is(.record-type-llk, .record-type-vex) .vocab-split-item.active {
    border-left-color: var(--report-primary);
    color: var(--report-primary-hover);
}

body.subject-toefl.record-detail-page :is(.record-type-llk, .record-type-vex) .vocab-split-item.active .vocab-split-num {
    background: var(--report-primary);
    color: #fff;
}

body.subject-toefl.record-detail-page :is(.record-type-llk, .record-type-vex) .vocab-split-item:hover {
    background: var(--report-primary-softer);
}

body.subject-toefl .combo-group-header td,
body.subject-toefl .combo-group-header:hover td,
body.subject-sat .combo-group-header td,
body.subject-sat .combo-group-header:hover td {
    border-left-color: var(--subject-primary);
    background: var(--subject-primary-soft);
}

body.subject-toefl.record-list-page .records-table tbody tr:not(.combo-group-header):hover > td,
body.subject-ielts.record-list-page .records-table tbody tr:not(.combo-group-header):hover > td,
body.subject-sat.record-list-page .records-table tbody tr:not(.combo-group-header):hover > td {
    background: var(--subject-primary-panel);
}

body.subject-toefl.record-list-page .combo-group-header:hover > td,
body.subject-ielts.record-list-page .combo-group-header:hover > td,
body.subject-sat.record-list-page .combo-group-header:hover > td {
    border-left-color: var(--subject-primary);
    background: var(--subject-primary-soft);
}

body.subject-toefl.access-locked-page,
body.subject-sat.access-locked-page {
    background: var(--subject-utility-canvas);
    color: #263241;
}

body.subject-toefl.access-locked-page::before,
body.subject-sat.access-locked-page::before {
    background: var(--subject-common-hero);
}

body.subject-toefl .access-locked-copy {
    background: linear-gradient(135deg, var(--subject-primary-hover) 0%, var(--subject-primary) 62%, #58aaf5 100%);
}

body.subject-sat .access-locked-copy {
    background: linear-gradient(135deg, var(--subject-primary-hover) 0%, var(--subject-primary) 62%, var(--subject-primary-light) 100%);
}

body.subject-toefl .access-locked-panel,
body.subject-sat .access-locked-panel {
    border-color: var(--subject-border);
    background: var(--subject-primary-panel);
}

body.subject-toefl .access-locked-panel strong,
body.subject-sat .access-locked-panel strong {
    color: var(--subject-primary-hover);
}

body.subject-toefl .access-locked-btn-primary,
body.subject-sat .access-locked-btn-primary {
    background: var(--subject-primary-hover);
    box-shadow: 0 12px 24px var(--subject-shadow);
}

body.subject-toefl .access-locked-btn-secondary,
body.subject-sat .access-locked-btn-secondary {
    border-color: var(--subject-border);
    background: var(--subject-primary-soft);
    color: var(--subject-primary-hover);
}

body.subject-toefl.toefl-mock-report-body .main-content::before {
    background-image: var(--active-mascot-image);
}

body.subject-toefl.toefl-mock-report-body .report-page-modern .topbar-title::before {
    background-image: var(--active-subject-mark-image) !important;
    filter: none !important;
}

body.subject-toefl.toefl-mock-report-body .report-page-modern .report-score-zone > .report-zone-head,
body.subject-toefl.toefl-mock-report-body .report-page-modern .report-plan-grid-summary .report-plan-card {
    background: linear-gradient(180deg, rgba(232, 243, 255, .96) 0%, rgba(247, 251, 255, .98) 72%, #fff 100%), #f5f9ff !important;
}

body.subject-toefl.toefl-mock-report-body .report-page-modern .report-zone-head .report-kicker {
    color: var(--subject-primary-hover) !important;
}

body.subject-toefl.toefl-mock-report-body .report-page-modern .report-zone-head .report-kicker::before,
body.subject-toefl.toefl-mock-report-body .report-page-modern .report-plan-grid-summary .report-plan-card h2::before {
    background: var(--subject-primary) !important;
    box-shadow: 0 0 0 5px rgba(var(--subject-primary-rgb), .10) !important;
}

body.subject-toefl.toefl-mock-report-body .report-page-modern .topbar-btn:not(.topbar-btn-primary):not(.topbar-record-btn):not(.assignment-return-float):hover,
body.subject-toefl.toefl-mock-report-body .report-page-modern .topbar-share-btn:hover {
    border-color: rgba(var(--subject-primary-rgb), .48) !important;
    background: var(--subject-primary-soft) !important;
    color: var(--subject-primary-hover) !important;
    box-shadow: none !important;
}

body.subject-toefl.toefl-mock-report-body .report-page-modern :is(.topbar-btn-primary, .topbar-record-btn, .assignment-return-float):hover {
    border-color: var(--subject-primary-hover) !important;
    background: var(--subject-primary-hover) !important;
    color: #fff !important;
    box-shadow: none !important;
}

body.subject-toefl.toefl-mock-report-body .report-page-modern .section-tab:not(.active):hover {
    background: var(--subject-primary-soft) !important;
    color: var(--subject-primary-hover) !important;
}

body.subject-toefl.toefl-mock-report-body .report-page-modern .qnav-item.active:not(.correct):not(.wrong):hover {
    border-color: var(--subject-primary-hover) !important;
    background: var(--subject-primary-hover) !important;
    color: #fff !important;
}

body.subject-toefl.toefl-mock-report-body .report-page-modern .qnav-item.active.correct:hover {
    border-color: #16a36f !important;
    background: #16a36f !important;
    color: #fff !important;
}

body.subject-toefl.toefl-mock-report-body .report-page-modern .qnav-item.active.wrong:hover {
    border-color: #ef4444 !important;
    background: #ef4444 !important;
    color: #fff !important;
}

/* TOEFL mock reports keep the reference's green training/grading exceptions. */
body.subject-toefl.toefl-mock-report-body .report-plan-grid-training .report-plan-card {
    background: linear-gradient(rgba(232, 250, 245, .92) 0%, rgba(250, 255, 254, .98) 78%, #fff 100%), #f4fffc;
}

body.subject-toefl.toefl-mock-report-body .report-plan-grid-training .report-plan-card h2 {
    color: #303746;
}

body.subject-toefl.toefl-mock-report-body .report-plan-grid-training .report-plan-card h2::before {
    background: #08bfa2;
}

body.subject-toefl.toefl-mock-report-body .analysis-box.report-stack-lg {
    background: linear-gradient(rgba(230, 250, 245, .78), rgba(255, 255, 255, .98) 82%), #f4fffc;
}

body.subject-toefl.toefl-mock-report-body .analysis-box.report-stack-lg .analysis-title {
    color: #303746;
}

body.subject-toefl.toefl-mock-report-body .analysis-box.report-stack-lg .analysis-title svg {
    color: #08bfa2;
}

body.subject-toefl.toefl-mock-report-body .analysis-box.explanation-box {
    background: linear-gradient(rgba(232, 243, 255, .82), rgba(255, 255, 255, .98) 84%), #f5f9ff;
}

body.subject-toefl.toefl-mock-report-body .analysis-box.explanation-box .analysis-title {
    color: #303746;
}

body.subject-toefl.toefl-mock-report-body .analysis-box.explanation-box .analysis-title svg {
    color: #3c8df2;
}

body.subject-toefl.toefl-mock-report-body .section-summary-card:nth-child(1) .mini-score {
    background: transparent;
    color: #3c8df2;
}

body.subject-toefl.toefl-mock-report-body .section-summary-card:nth-child(2) .mini-score {
    background: transparent;
    color: #08bfa2;
}

body.subject-toefl.toefl-mock-report-body .section-summary-card:nth-child(3) .mini-score {
    background: transparent;
    color: #b45309;
}

body.subject-toefl.toefl-mock-report-body .section-summary-card:nth-child(4) .mini-score {
    background: transparent;
    color: #7b61ff;
}

body.subject-toefl.toefl-mock-report-body .report-page-modern .section-summary-card.active {
    border-color: var(--section-border);
    background: linear-gradient(180deg, var(--section-soft), #fff 82%);
    box-shadow: inset 0 4px 0 var(--section-color);
}

body.subject-toefl.toefl-mock-report-body .ctw-paragraph {
    border-left-color: rgba(var(--report-primary-rgb), .72);
}

body.subject-toefl.toefl-mock-report-body .mock-shared-writing-report .scoring-comment-card,
body.subject-toefl.toefl-mock-report-body .mock-shared-speaking-report .sq-feedback {
    background: linear-gradient(90deg, rgba(var(--report-primary-rgb), .10) 0%, rgba(var(--report-accent-rgb), .05) 100%), var(--report-primary-softer);
    border-left-color: var(--report-primary);
    color: #303746;
}

/* Ability report tokens exist only when a persisted report panel is present. */
body.subject-toefl.assessment-subpage:has(:is(.input-report-panel, .output-report-panel, .vocab-report-panel)) {
    --report-primary: var(--subject-primary);
    --report-primary-hover: var(--subject-primary-hover);
    --report-primary-rgb: 47, 156, 204;
    --report-primary-soft: #e7f6fc;
    --report-primary-softer: #f5fbff;
    --report-accent: #7f8cff;
    --report-accent-rgb: 127, 140, 255;
}

body.subject-toefl.assessment-subpage:has(.input-report-panel) .input-report-score strong,
body.subject-toefl.assessment-subpage:has(.output-report-panel) .output-estimate-card strong,
body.subject-toefl.assessment-subpage:has(.vocab-report-panel) .vocab-report-start-value {
    color: var(--report-primary);
}

body.subject-toefl.assessment-subpage:has(.output-report-panel) .output-report-panel > .output-radar-wrap .output-radar-chart polygon {
    fill: rgba(var(--report-primary-rgb), .22);
    stroke: var(--report-primary);
}

body.subject-toefl.assessment-subpage:has(.vocab-report-panel) .vocab-report-start {
    background: var(--report-primary-softer);
    border-color: rgba(var(--report-primary-rgb), .24);
}

body.subject-toefl.assessment-subpage:has(.vocab-report-panel) .vocab-report-button.primary {
    background: var(--report-primary);
    border-color: var(--report-primary);
}

body.subject-toefl.assessment-subpage:has(.vocab-report-panel) .vocab-report-button.primary:hover {
    background: var(--report-primary-hover);
    border-color: var(--report-primary-hover);
}
