/**
 * MIKA Contrast Fix — readable text on light backgrounds
 * Fixes white-on-white when v108 light theme overrides dark inline styles.
 */

/* ── Global readable defaults on light surfaces ── */
body,
#content,
.k12-home-wrapper,
.k12sr-lesson-body,
.k12sr-lesson-content,
.lesson-content-wrapper,
.hub-card:not([class*="--"]),
.mkp-card,
.mika-card,
.snake-path-wrap:not(.mika-v93-theme),
[class*="card"]:not(.mika-v93-theme [class*="card"]):not(.hub-card--egypt):not(.hub-card--summer):not(.hub-card--diploma):not(.hub-card--hudhud) {
  color: var(--text-primary, #1A2E1A);
}

#content h1, #content h2, #content h3, #content h4,
.k12sr-lesson-title,
.k12-unit-title,
.snake-path-header-title,
.hub-card__title,
.mkp-card__title {
  color: var(--text-primary, #1A2E1A) !important;
}

#content p, #content li, #content span:not(.snake-path-pill):not(.k12-stat-num),
.k12sr-lesson-body p,
.k12-lesson-item,
.hub-card__subtitle,
.mkp-card__subtitle,
.text-muted,
.k12sr-section-title {
  color: var(--text-secondary, #4A6741);
}

/* ── Quiz / exam options on light bg ── */
.exam-option,
.option:not(.correct):not(.wrong),
.k12-q-option,
.k12sr-q-option,
.mika-choice-btn,
.btn-option {
  color: var(--text-primary, #1A2E1A) !important;
}

.exam-option:hover,
.option:hover,
.k12-q-option:hover {
  color: var(--text-primary, #1A2E1A) !important;
}

/* ── Headers that lost gradient bg (v108 override) ── */
.k12-page-header,
.k12-lesson-header {
  background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%) !important;
  color: #fff !important;
}

.k12-page-header *,
.k12-lesson-header * {
  color: inherit;
}

/* ── Snake path on light theme (non-v93) ── */
.snake-path-wrap:not(.mika-v93-theme) .snake-path-header-title,
.snake-path-wrap:not(.mika-v93-theme) .snake-path-journey-title,
.snake-path-wrap:not(.mika-v93-theme) .snake-node-label,
.snake-path-wrap:not(.mika-v93-theme) .snake-unit-title {
  color: var(--text-primary, #1A2E1A) !important;
}

.snake-path-wrap:not(.mika-v93-theme) .snake-path-header-grade,
.snake-path-wrap:not(.mika-v93-theme) .snake-daily-mission-text {
  color: var(--text-secondary, #4A6741) !important;
}

/* ── v93 dark theme → light readable for students ── */
.mika-v93-theme,
.mika-v93-theme #content,
.mle-root {
  color: var(--text-primary, #1A2E1A);
  background: var(--bg-main, #F8FFFE);
}

.mika-v93-theme .btn-option,
.mika-v93-theme .mle-spark-option {
  color: #1A1A1A !important;
  background: #FFFFFF !important;
  border: 2px solid #27AE60 !important;
  font-weight: 800 !important;
  font-size: 1rem !important;
}

.mika-v93-theme .btn-option.correct,
.mika-v93-theme .mle-spark-option.correct { color: #1E8449 !important; background: #E8F8EE !important; }
.mika-v93-theme .btn-option.wrong,
.mika-v93-theme .mle-spark-option.wrong   { color: #B71C1C !important; background: #FFEBEE !important; }
.mika-v93-theme .btn-option.selected,
.mika-v93-theme .mle-spark-option.selected { color: #1E8449 !important; background: #FFFDE7 !important; border-color: #F9CA24 !important; }

/* ── Inline dark-bg overrides stripped by v108 — restore contrast ── */
[style*="background: linear-gradient"],
[style*="background:linear-gradient"],
.k12-hero-banner,
.k12-stage-card,
.snake-daily-mission,
.expected-section-btn,
.btn-mika,
[class*="btn-primary"],
.lang-btn {
  /* keep white text on colored buttons/gradients */
}

/* ── Duolingo UI dark-mode card titles fix ── */
@media (prefers-color-scheme: dark) {
  .mika-grade-card-title,
  .mika-subject-card .subject-name {
    color: #fff !important;
  }
}

/* ── K12 subject renderer legacy lesson scroll ── */
.k12sr-lesson-scroll,
.k12sr-objectives,
.k12sr-obj-list li,
.k12sr-screen-content,
.k12sr-example-item {
  color: var(--text-primary, #1A2E1A) !important;
}

.k12sr-badge {
  color: var(--text-secondary, #4A6741) !important;
}

/* ── Portal hub cards (white bg) ── */
.hub-card:not([class*="hub-card--"]) .hub-card__title {
  color: #1a2744 !important;
}
.hub-card:not([class*="hub-card--"]) .hub-card__subtitle {
  color: #4a5568 !important;
}

/* ── Summer / subscription cards ── */
.summer-card,
.sub-plan-card,
.k12-unit-card {
  color: var(--text-primary, #1A2E1A);
}

.summer-card h3,
.sub-plan-card h3,
.k12-unit-card .k12-unit-title {
  color: var(--text-primary, #1A2E1A) !important;
}

/* ═══════════════════════════════════════════════════════════════
   Light readable shell — green · white · yellow · black
   (Full overrides in mika-theme-readability.css)
   ═══════════════════════════════════════════════════════════════ */
body {
  background: var(--bg-main, #F8FFFE) !important;
  color: var(--text-primary, #1A2E1A) !important;
}

#content {
  background: transparent !important;
  color: var(--text-primary, #1A2E1A) !important;
}

.mhi-portal-dark,
.mhi-subview {
  background: var(--bg-main, #F8FFFE) !important;
  color: var(--text-primary, #1A2E1A) !important;
}

.mhi-portal-dark .mhi-hero-desc,
.mhi-portal-dark .mhi-footer-hint {
  color: rgba(255, 255, 255, 0.95) !important;
}

#content .k12-page-wrapper {
  color: var(--text-primary, #1A2E1A);
}

#content .k12-subject-card,
#content .k12-grade-card,
#content .k12-grade-row,
.mhi-subview .mhi-card,
.mhi-portal-dark .mhi-hub-card {
  background: #FFFFFF !important;
  border: 2px solid #C8E6C9 !important;
  color: var(--text-primary, #1A2E1A) !important;
  box-shadow: 0 3px 14px rgba(0, 0, 0, 0.06) !important;
}

#content .k12-subject-title,
#content .k12-grade-label,
#content .k12-grade-name,
#content .k12-grade-num,
.mhi-subview .mhi-card-title,
.mhi-portal-dark .mhi-hub-title {
  color: #1A1A1A !important;
}

#content .k12-grade-subjects-count,
#content .k12-subject-info,
.mhi-subview .mhi-card-sub,
.mhi-portal-dark .mhi-hub-sub {
  color: #3D5C3D !important;
}

#content .k12-back-btn,
#content .mika-back-btn {
  background: #FFFFFF !important;
  color: #1E8449 !important;
  border: 2px solid #27AE60 !important;
}

#content h1.mhi-sub-title,
#content .mhi-sub-title,
#content .summer-view-title {
  color: #1A1A1A !important;
}

#content .mhi-sub-note,
#content .summer-view-subtitle {
  color: #3D5C3D !important;
}

#content .k12-stage-block,
#content .k12-grades-list {
  color: var(--text-primary, #1A2E1A);
}

:root {
  --bg-base:     #F8FFFE;
  --bg-card:     #FFFFFF;
  --bg-elevated: #F0FBF4;
  --color-primary: #27AE60;
  --text-primary: #1A2E1A;
  --text-secondary: #3D5C3D;
}

.btn-primary,
.btn-mika,
[class*="btn-primary"] {
  background: linear-gradient(135deg, #2ECC71, #1E8449) !important;
  color: #FFFFFF !important;
  border: none !important;
  box-shadow: 0 4px 14px rgba(39, 174, 96, 0.35) !important;
}

.mcs-hub-btn,
.mcs-grade-btn,
.mcs-subject-btn,
.mcs-term-btn,
.mcs-back-btn {
  background: #FFFFFF !important;
  border: 2px solid #C8E6C9 !important;
  color: #1A2E1A !important;
}

.mcs-title,
.mcs-hub-text strong,
.mcs-sub-body strong,
.mcs-grade-label {
  color: #1A1A1A !important;
}

.mcs-sub,
.mcs-hub-text small,
.mcs-sub-body small {
  color: #3D5C3D !important;
}

.mcs-grade-count {
  color: #1E8449 !important;
}

.btn-option,
.k12-q-option,
.mika-choice-btn {
  background: #FFFFFF !important;
  color: #1A1A1A !important;
  border: 2px solid #C8E6C9 !important;
}

.btn-option.correct { color: #1E8449 !important; border-color: #27AE60 !important; background: #E8F8EE !important; }
.btn-option.wrong   { color: #B71C1C !important; border-color: #EF5350 !important; background: #FFEBEE !important; }
