/* =====================================================================
   PSAU Code Campus LMS · Light Mode Contrast Hotfix v2.8.4
   ---------------------------------------------------------------------
   Fixes component-level dark-theme text colors that remained after
   Light Mode 2.0 because legacy feature styles had more specific rules.
   Dark Mode is intentionally untouched.
   ===================================================================== */

/* ================================================================
   LOGIN PAGE
   ================================================================ */
:root[data-theme="light"] .auth-panel.login-panel-v282{
  border-color:#cdd9e6!important;
  background:
    radial-gradient(circle at 100% 0%,rgba(88,105,255,.055),transparent 34%),
    linear-gradient(155deg,#ffffff,#fbfdff)!important;
  color:#14283f!important;
  box-shadow:0 24px 65px rgba(39,63,91,.12)!important;
}

:root[data-theme="light"] .auth-panel.login-panel-v282::before{
  background:radial-gradient(circle,rgba(72,116,255,.085),transparent 69%)!important;
}

:root[data-theme="light"] .login-brand-v282{
  border-bottom-color:#dfe7f0!important;
}

:root[data-theme="light"] .login-brand-v282 b{
  color:#172b43!important;
}

:root[data-theme="light"] .login-brand-v282 small{
  color:#5d728a!important;
}

:root[data-theme="light"] .auth-panel.login-panel-v282 .login-copy-v282 .eyebrow{
  color:#0795b9!important;
}

:root[data-theme="light"] .login-copy-v282 h1{
  color:#102137!important;
  text-shadow:none!important;
}

:root[data-theme="light"] .login-copy-v282 p{
  color:#566e87!important;
}

:root[data-theme="light"] .login-form-v282>label>span{
  color:#526a82!important;
}

:root[data-theme="light"] .login-input-v282{
  border-color:#c5d3e2!important;
  background:#ffffff!important;
  box-shadow:0 2px 8px rgba(42,66,93,.035)!important;
}

:root[data-theme="light"] .login-input-v282:focus-within{
  border-color:#179fc2!important;
  background:#ffffff!important;
  box-shadow:0 0 0 3px rgba(23,159,194,.11)!important;
}

:root[data-theme="light"] .login-input-v282>.ui-icon{
  color:#607891!important;
}

:root[data-theme="light"] .login-input-v282:focus-within>.ui-icon{
  color:#078fad!important;
}

:root[data-theme="light"] .login-input-v282 input{
  background:transparent!important;
  color:#172c44!important;
  -webkit-text-fill-color:#172c44!important;
}

:root[data-theme="light"] .login-input-v282 input::placeholder{
  color:#7a8da2!important;
  opacity:1!important;
}

:root[data-theme="light"] .login-student-v282{
  border-top-color:#dfe7f0!important;
}

:root[data-theme="light"] .login-student-v282 b{
  color:#20374f!important;
}

:root[data-theme="light"] .login-student-v282 small{
  color:#5d7289!important;
}

:root[data-theme="light"] .login-student-v282 .btn.ghost{
  color:#203b55!important;
  border-color:#c8d6e4!important;
  background:#f8fbfe!important;
}

:root[data-theme="light"] .login-trust-v282 span{
  color:#526b84!important;
  border-color:#d9e3ed!important;
  background:#f8fbfe!important;
}

:root[data-theme="light"] .login-trust-v282 span .ui-icon{
  color:#189b7b!important;
}

/* ================================================================
   RECITATION RACE
   ================================================================ */
:root[data-theme="light"] .recitation-controlbar-v250,
:root[data-theme="light"] .recitation-instructor-controls-v250,
:root[data-theme="light"] .recitation-stage-v250,
:root[data-theme="light"] .recitation-queue-panel-v250,
:root[data-theme="light"] .recitation-history-v250{
  color:#172c44!important;
  border-color:#d5e1ed!important;
  background:#ffffff!important;
}

:root[data-theme="light"] .recitation-stage-v250{
  background:
    radial-gradient(circle at 50% 45%,rgba(25,200,238,.035),transparent 35%),
    radial-gradient(circle at 12% 8%,rgba(113,91,255,.045),transparent 28%),
    #ffffff!important;
}

:root[data-theme="light"] .recitation-controlbar-course-v250 b,
:root[data-theme="light"] .recitation-round-state-v250 b,
:root[data-theme="light"] .recitation-instructor-copy-v250 h2,
:root[data-theme="light"] .recitation-prompt-v250 h2,
:root[data-theme="light"] .recitation-winner-idle-v250 h3,
:root[data-theme="light"] .recitation-queue-head-v250 h2,
:root[data-theme="light"] .recitation-queue-stats-v250 b,
:root[data-theme="light"] .recitation-queue-empty-v250 b,
:root[data-theme="light"] .recitation-queue-item-v250 b,
:root[data-theme="light"] .recitation-history-head-v250 h2,
:root[data-theme="light"] .recitation-history-grid-v250 b{
  color:#172b43!important;
}

:root[data-theme="light"] .recitation-controlbar-course-v250 small,
:root[data-theme="light"] .recitation-round-state-v250 small,
:root[data-theme="light"] .recitation-instructor-copy-v250 p,
:root[data-theme="light"] .recitation-winner-idle-v250>small,
:root[data-theme="light"] .recitation-winner-idle-v250 p,
:root[data-theme="light"] .recitation-queue-stats-v250 small,
:root[data-theme="light"] .recitation-queue-empty-v250 span,
:root[data-theme="light"] .recitation-queue-item-v250 small,
:root[data-theme="light"] .recitation-history-grid-v250 small,
:root[data-theme="light"] .recitation-history-grid-v250 p,
:root[data-theme="light"] .recitation-projector-hint-v250,
:root[data-theme="light"] .student-buzzer-rule-v250{
  color:#5a7088!important;
}

:root[data-theme="light"] .recitation-queue-stats-v250>div,
:root[data-theme="light"] .recitation-queue-item-v250{
  border-color:#d5e1ed!important;
  background:#f7fafd!important;
}

:root[data-theme="light"] .recitation-queue-empty-v250{
  border-color:#ccd9e6!important;
  background:#fbfdff!important;
}

:root[data-theme="light"] .recitation-rank-v250{
  color:#526a82!important;
  background:#eef4fa!important;
}

:root[data-theme="light"] .recitation-queue-item-v250.silver .recitation-rank-v250{
  color:#65798d!important;
  background:#edf2f7!important;
}

:root[data-theme="light"] .recitation-queue-legend-v250{
  color:#61768d!important;
  border-top-color:#dbe4ee!important;
}

:root[data-theme="light"] .recitation-history-grid-v250>div{
  background:#f8fbfe!important;
  border-color:#d8e3ee!important;
}

/* The buzzer is an intentional dark island; make its text clearly readable. */
:root[data-theme="light"] .student-buzzer-v250{
  border-color:#263c55!important;
  background:
    radial-gradient(circle at 50% 15%,rgba(90,113,163,.13),transparent 38%),
    linear-gradient(150deg,#10243b,#09182a)!important;
  box-shadow:0 18px 45px rgba(28,49,74,.18)!important;
}

:root[data-theme="light"] .student-buzzer-v250 strong{
  color:#edf5fd!important;
  text-shadow:0 1px 0 rgba(0,0,0,.15)!important;
}

:root[data-theme="light"] .student-buzzer-v250 small{
  color:#a8bbcf!important;
}

:root[data-theme="light"] .student-buzzer-v250:disabled strong{
  color:#c8d7e7!important;
}

:root[data-theme="light"] .student-buzzer-v250:disabled small{
  color:#91a6bc!important;
}

/* Lift legacy tiny helper labels to a readable classroom size. */
:root[data-theme="light"] .recitation-winner-idle-v250>small,
:root[data-theme="light"] .recitation-winner-idle-v250 p,
:root[data-theme="light"] .recitation-queue-stats-v250 small,
:root[data-theme="light"] .recitation-queue-empty-v250 span,
:root[data-theme="light"] .recitation-queue-item-v250 small,
:root[data-theme="light"] .recitation-queue-legend-v250 span{
  font-size:11px!important;
  line-height:1.45!important;
}

:root[data-theme="light"] .recitation-queue-empty-v250 b,
:root[data-theme="light"] .recitation-queue-item-v250 b{
  font-size:12px!important;
}

/* ================================================================
   CODE CLASH — STUDENT QUESTION / RESULT / LEADERBOARD
   ================================================================ */
:root[data-theme="light"] .clash-question-content-v270>h2{
  color:#102137!important;
}

:root[data-theme="light"] .clash-question-content-v270>p{
  color:#506a83!important;
}

:root[data-theme="light"] .clash-points-v270>span{
  border-color:#cfdae7!important;
  background:#f7fafd!important;
}

:root[data-theme="light"] .clash-points-v270>span>b{
  color:#193149!important;
}

:root[data-theme="light"] .clash-points-v270>span>small{
  color:#5c7289!important;
}

:root[data-theme="light"] .clash-answer-guide-v272{
  border-color:#d7e2ed!important;
  background:#f9fbfe!important;
}

:root[data-theme="light"] .clash-answer-guide-v272>.step{
  color:#536d85!important;
}

:root[data-theme="light"] .clash-answer-guide-v272>.step>b{
  color:#40627c!important;
  border-color:#cbd8e5!important;
  background:#ffffff!important;
}

:root[data-theme="light"] .clash-answer-guide-v272>.step.active,
:root[data-theme="light"] .clash-answer-guide-v272>.step.done{
  color:#168e68!important;
}

:root[data-theme="light"] .clash-answer-guide-v272>i{
  background:#bfcddd!important;
}

:root[data-theme="light"] .clash-answer-guide-v272>em{
  color:#577088!important;
}

:root[data-theme="light"] .clash-student-result-v270,
:root[data-theme="light"] .clash-student-result-v272{
  color:#1a324b!important;
}

:root[data-theme="light"] .clash-student-result-v270.wrong,
:root[data-theme="light"] .clash-student-result-v272.wrong{
  border-color:rgba(199,65,89,.18)!important;
  background:#fff8f9!important;
}

:root[data-theme="light"] .clash-student-result-v270.correct,
:root[data-theme="light"] .clash-student-result-v272.correct{
  border-color:rgba(31,145,99,.18)!important;
  background:#f5fcf8!important;
}

:root[data-theme="light"] .clash-student-result-v272.missed{
  border-color:rgba(173,126,14,.20)!important;
  background:#fffaf0!important;
}

:root[data-theme="light"] .clash-student-result-v272 b{
  color:#1b3149!important;
}

:root[data-theme="light"] .clash-student-result-v272 span{
  color:#566e86!important;
}

:root[data-theme="light"] .clash-your-answer-v272{
  color:#4f6881!important;
  border-top-color:#d9e3ed!important;
}

:root[data-theme="light"] .clash-your-answer-v272>b{
  color:#1f3a54!important;
}

:root[data-theme="light"] .clash-answer-reveal-v270,
:root[data-theme="light"] .clash-answer-reveal-v272,
:root[data-theme="light"] .clash-answer-reveal-v278{
  border-color:#e4d3a7!important;
  background:linear-gradient(100deg,#fffaf0,#fbf9ff)!important;
}

:root[data-theme="light"] .clash-answer-reveal-v272 .eyebrow{
  color:#087f9d!important;
}

:root[data-theme="light"] .clash-answer-reveal-v272 h3,
:root[data-theme="light"] .clash-answer-reveal-v278>h3{
  color:#7c5b08!important;
  background:#fff7e5!important;
  border-color:#ecd8a6!important;
}

:root[data-theme="light"] .clash-answer-reveal-v272 p{
  color:#536b83!important;
}

:root[data-theme="light"] .clash-feedback-v270 span{
  color:#566f88!important;
  background:#f8fbfe!important;
  border-color:#d5e1ed!important;
}

/* Leaderboard text was technically present but too small/washed out at
   normal classroom zoom. Increase the minimum readable sizes. */
:root[data-theme="light"] .clash-scoreboard-head-v270 h2{
  color:#172b43!important;
  font-size:17px!important;
}

:root[data-theme="light"] .clash-my-stats-v270 b{
  color:#193149!important;
  font-size:14px!important;
}

:root[data-theme="light"] .clash-my-stats-v270 small{
  color:#5a7088!important;
  font-size:9.5px!important;
}

:root[data-theme="light"] .clash-podium-v270 b{
  color:#1b334c!important;
  font-size:11.5px!important;
}

:root[data-theme="light"] .clash-podium-v270 small{
  color:#5b7189!important;
  font-size:9.5px!important;
}

:root[data-theme="light"] .clash-rank-v270{
  border-color:#d6e2ed!important;
  background:#f8fbfe!important;
}

:root[data-theme="light"] .clash-rank-v270>span{
  color:#506981!important;
  background:#edf4fa!important;
}

:root[data-theme="light"] .clash-rank-v270 b{
  color:#1b334c!important;
  font-size:12px!important;
}

:root[data-theme="light"] .clash-rank-v270 small{
  color:#566e86!important;
  font-size:10px!important;
}

:root[data-theme="light"] .clash-rank-v270>strong{
  color:#1a3149!important;
  font-size:13px!important;
}

:root[data-theme="light"] .clash-rank-v270 strong em{
  color:#60758c!important;
  font-size:9px!important;
}

:root[data-theme="light"] .clash-board-empty-v270 b,
:root[data-theme="light"] .clash-score-rule-v270 b{
  color:#1b334c!important;
}

:root[data-theme="light"] .clash-board-empty-v270 span,
:root[data-theme="light"] .clash-score-rule-v270 span{
  color:#586f87!important;
}

:root[data-theme="light"] .clash-score-rule-v270{
  border-color:rgba(35,151,108,.15)!important;
  background:#f5fcf8!important;
}

/* ================================================================
   CODE CLASH — BUILDER / REVEAL REFERENCE TEXT
   ================================================================ */
:root[data-theme="light"] .clash-builder-head-v277 h2,
:root[data-theme="light"] .clash-creator-title-v277 h3,
:root[data-theme="light"] .clash-answer-builder-head-v277 b,
:root[data-theme="light"] .clash-save-summary-v277 b,
:root[data-theme="light"] .clash-bank-header-v277 h3{
  color:#172c44!important;
}

:root[data-theme="light"] .clash-builder-head-v277 p,
:root[data-theme="light"] .clash-builder-mode-v277>small,
:root[data-theme="light"] .clash-field-v277>small,
:root[data-theme="light"] .clash-answer-builder-head-v277 small,
:root[data-theme="light"] .clash-save-summary-v277 small,
:root[data-theme="light"] .clash-bank-header-actions-v277{
  color:#586f87!important;
}

:root[data-theme="light"] .clash-field-v277>span,
:root[data-theme="light"] .clash-difficulty-v277>span,
:root[data-theme="light"] .clash-time-presets-v277>span{
  color:#4f6881!important;
}

:root[data-theme="light"] .clash-reference-solution-head-v278 b{
  color:#1b334c!important;
}

:root[data-theme="light"] .clash-reference-solution-head-v278>small{
  color:#5a7189!important;
}

/* ================================================================
   SMALL-SCREEN READABILITY
   ================================================================ */
@media(max-width:680px){
  :root[data-theme="light"] .login-brand-v282 b{
    font-size:15px!important;
  }

  :root[data-theme="light"] .login-copy-v282 h1{
    font-size:clamp(25px,7.5vw,32px)!important;
  }

  :root[data-theme="light"] .login-copy-v282 p{
    font-size:13px!important;
  }

  :root[data-theme="light"] .login-form-v282>label>span{
    font-size:12px!important;
  }

  :root[data-theme="light"] .recitation-prompt-v250 h2{
    font-size:18px!important;
  }

  :root[data-theme="light"] .recitation-queue-head-v250 h2{
    font-size:15px!important;
  }

  :root[data-theme="light"] .clash-question-content-v270>p{
    font-size:14px!important;
  }

  :root[data-theme="light"] .clash-student-result-v272 b{
    font-size:15px!important;
  }

  :root[data-theme="light"] .clash-student-result-v272 span,
  :root[data-theme="light"] .clash-your-answer-v272{
    font-size:12px!important;
  }
}
