/*
 * Final lesson contrast layer for A1-C2.
 * This file changes presentation only; lesson copy and interactions remain untouched.
 */
#portal #portalContent :is(
  .lessonAccordion details,
  .lessonAccordion summary,
  .lessonAccordion .accBody,
  .lessonBlock,
  .lessonSeqCard,
  .flowCard,
  .flowIntro,
  .flowItem,
  .flowQuestion,
  .readingBox,
  .readingSection,
  .analysisSection,
  .phraseRow,
  .c1PhraseRow,
  .c2VocabRow,
  .c2PhraseRow,
  .c2TopicGuide,
  .c2Explain,
  .mini,
  .quizQ,
  .qa,
  .usageCard,
  .registerGuide > div,
  .professionalDialogueSection,
  .speechContent,
  .dialogue .bubble,
  .accentVideoCard,
  .accentVideoFocus span,
  .readingLessonVideo
) {
  background: linear-gradient(145deg, #0a3764 0%, #14558a 100%) !important;
  color: #ffffff !important;
  border-color: rgba(147, 197, 253, .46) !important;
}

#portal #portalContent :is(
  .lessonAccordion details,
  .lessonBlock,
  .lessonSeqCard,
  .flowCard,
  .flowIntro,
  .flowItem,
  .flowQuestion,
  .readingBox,
  .readingSection,
  .analysisSection,
  .phraseRow,
  .c1PhraseRow,
  .c2VocabRow,
  .c2PhraseRow,
  .c2TopicGuide,
  .c2Explain,
  .mini,
  .quizQ,
  .qa,
  .usageCard,
  .registerGuide > div,
  .professionalDialogueSection,
  .speechContent,
  .dialogue .bubble,
  .accentVideoCard,
  .accentVideoFocus span,
  .readingLessonVideo
) :is(h1, h2, h3, h4, h5, h6, p, li, b, strong, label, small, .phraseText, .accMeta, .readingLine, .readingVideoHeader p, .readingVideoFooter, .readingVideoFooter a) {
  color: #ffffff !important;
}

#portal #portalContent :is(.horizontalPhrases, .horizontalLanguageRows) :is(.mini, .flowItem) {
  background: linear-gradient(145deg, #0b3c6b 0%, #155b91 100%) !important;
  color: #ffffff !important;
  border-color: rgba(147, 197, 253, .46) !important;
}

#portal #portalContent :is(.c1PhraseRow, .c2VocabRow, .c2PhraseRow, .horizontalPhrases, .horizontalLanguageRows) :is(h4, p, strong) {
  color: #ffffff !important;
}

#portal #portalContent .phraseNumber {
  background: #dbeafe !important;
  color: #173867 !important;
}

/* Form fields and controls retain their own high-contrast treatment. */
#portal #portalContent :is(input:not([type="radio"]):not([type="checkbox"]), textarea, select, option) {
  background: #ffffff !important;
  color: #0f172a !important;
}

#portal #portalContent :is(.flowActions button, .speakBtn, .slowBtn, .b1Speak, .b2QuizListen, .b2QuizSpeak) {
  background: #dbeafe !important;
  color: #174ea6 !important;
}

#portal #portalContent :is(.flowActions .flowMic, .micBtn) {
  background: #dcfce7 !important;
  color: #166534 !important;
}

#portal #portalContent :is(.btn.primary, .flowContinue) {
  color: #ffffff !important;
}

#portal #portalContent .btn.gray {
  background: #ffffff !important;
  color: #0f172a !important;
}

/* Level Exam: blue assessment surfaces with readable white copy. */
#portal #portalContent .levelExam,
#portal #portalContent .examLevel,
#portal #portalContent .examQuestion,
#portal #portalContent .examSubmitBar,
#portal #portalContent .examResult {
  background: linear-gradient(145deg, #0a3764 0%, #14558a 100%) !important;
  color: #ffffff !important;
  border-color: rgba(147, 197, 253, .48) !important;
}

#portal #portalContent :is(.examLevel, .examQuestion, .examSubmitBar, .examResult)
  :is(h1, h2, h3, h4, p, span, strong, b, small) {
  color: #ffffff !important;
}

#portal #portalContent .examLevelIntro {
  color: #dbeafe !important;
}

#portal #portalContent .examQuestion label {
  background: #0b3158 !important;
  color: #ffffff !important;
  border: 1px solid rgba(147, 197, 253, .34) !important;
}

#portal #portalContent .examQuestion label:hover {
  background: #155f99 !important;
}

#portal #portalContent .listenQuestion {
  background: #dbeafe !important;
  color: #174ea6 !important;
  border-color: #93c5fd !important;
}

#portal #portalContent .placementLevel {
  background: #dbeafe !important;
  color: #173867 !important;
}

#portal #portalContent .scoreCard.pass {
  background: #166534 !important;
  color: #ffffff !important;
  border-color: #4ade80 !important;
}

#portal #portalContent .scoreCard.fail {
  background: #7f1d1d !important;
  color: #ffffff !important;
  border-color: #fca5a5 !important;
}
