/* OGE dark-only readability fixes. Load after page styles. */
html[data-theme="dark"] body.oge-test-page {
  /* Exact dark tokens from learning-unified.css; these pages use site.css. */
  --lu-bg: #111827;
  --lu-card: #182235;
  --lu-text: #eef5ff;
  --lu-muted: #a9b8c8;
  --lu-line: #2c3b51;
  --lu-primary: #79b4ff;
  --lu-soft: #172b43;
  --ink: var(--lu-text);
  --secondary: var(--lu-text);
  --muted: var(--lu-muted);
  --surface: var(--lu-card);
  --surface-soft: var(--lu-bg);
  --line: var(--lu-line);
  --primary: var(--lu-primary);
  --primary-soft: var(--lu-soft);
  --accent: var(--lu-primary);
  --accent-soft: var(--lu-soft);
  --primary-dark: var(--lu-primary);
  --oge-dark: var(--lu-primary);
  background: var(--lu-bg);
  color: var(--lu-text);
}
html[data-theme="dark"] body.oge-test-page :is(.shared-context, .solution-card, .scoring-card, #summary, .score-card, .start-card, .task-card, .score-scale-inline, .result-panel, .attempt-toolbar) {
  background: var(--lu-card);
  border-color: var(--lu-line);
}
html[data-theme="dark"] body.oge-test-page :is(.problem-statement, .solution-explanation, .input-note, .math-block, .answer-hint, .advanced-prompt, .result-honesty-note, .inline-options li, .interval-grid div, .quality-grid label, .graph-grid figure) {
  background: var(--lu-soft);
  color: var(--lu-text);
  border-color: var(--lu-line);
}
html[data-theme="dark"] body.oge-test-page :is(.solution-answer, .solution-number, .statement-options b, .interval-grid b) {
  color: var(--lu-primary);
}
html[data-theme="dark"] body.oge-test-page :is(.solution-number, .solution-table th, .tyre-table th) {
  background: var(--lu-soft);
}
html[data-theme="dark"] body.oge-test-page :is(.solution-table, .tyre-table) { background: var(--lu-card); }
html[data-theme="dark"] body.oge-test-page :is(.solution-table, .tyre-table) :is(th, td) {
  background: transparent;
  color: var(--lu-text);
  border-color: var(--lu-line);
}
html[data-theme="dark"] body.oge-test-page :is(.solution-table, .tyre-table) tr { background: transparent; }
html[data-theme="dark"] body.oge-test-page .wheel-context-figures figure { background: var(--lu-card); }
html[data-theme="dark"] body.oge-test-page :is(figcaption, .input-note, .problem-statement h3, .solution-explanation h3, .shared-context__solution-title) {
  color: var(--lu-text);
}
/* External SVGs cannot inherit page fill/stroke rules. A light backing keeps
   their original labels, axes and curves readable, including transparent SVGs. */
html[data-theme="dark"] body.oge-test-page img:is(.oge-diagram, .solution-diagram) { background: var(--lu-text); }
/* Inline figures only: do not override MathJax's currentColor glyphs. */
html[data-theme="dark"] body.oge-test-page svg.oge-diagram { color: var(--lu-text); }
html[data-theme="dark"] body.oge-test-page svg.oge-diagram [stroke]:not([stroke="none"]) { stroke: var(--lu-text); }
html[data-theme="dark"] body.oge-test-page svg.oge-diagram [fill]:not([fill="none"]) { fill: var(--lu-text); }
html[data-theme="dark"] body.oge-test-page svg.oge-diagram text { fill: var(--lu-text); }
html[data-theme="dark"] body.oge-test-page svg.oge-diagram :is(.curve, .arc) { stroke: var(--lu-primary); }
html[data-theme="dark"] body.oge-test-page svg.oge-diagram .point { fill: var(--lu-primary); }
/* Legacy bright CTA backgrounds need dark text to meet normal-text contrast. */
html[data-theme="dark"] body.oge-test-page :is(.button-start, .button-resume, .button-test, .button-whatsapp, .button-telegram, .button-primary) {
  background: var(--lu-primary);
  color: var(--lu-bg);
}
html[data-theme="dark"] body.oge-test-page :is(.answer-input, .solution-input, .check-button) {
  background: var(--lu-card);
  color: var(--lu-text);
}
html[data-theme="dark"] body.oge-test-page .form-error { color: var(--lu-text) !important; }

html[data-theme="dark"] body.oge-test-page :is(.test-hero, .site-header, .privacy-banner, .skip-link, .contact-panel) {
  background: var(--lu-card);
  color: var(--lu-text);
}
html[data-theme="dark"] body.oge-test-page :is(.task-card p, .test-hero .lead, .test-rules li, .score-card > div, .statement-options > div, .contact-panel p, .footer-right-v6433__label) { color: var(--lu-text); }
html[data-theme="dark"] body.oge-test-page .task-card > header small { background: var(--lu-soft); }
html[data-theme="dark"] body.oge-test-page :is(.site-nav a, .menu-toggle) {
  background: var(--lu-card);
  color: var(--lu-text);
}
html[data-theme="dark"] body.oge-test-page :is(.privacy-button, .site-nav .nav-cta) {
  background: var(--lu-primary);
  color: var(--lu-bg);
}
html[data-theme="dark"] body.oge-test-page :is(.button-vk, .button-apply) {
  background: var(--lu-primary) !important;
  color: var(--lu-bg) !important;
  border-color: var(--lu-primary) !important;
}

@media (prefers-color-scheme: dark) {
html:not([data-theme]) body.oge-test-page {
  /* Exact dark tokens from learning-unified.css; these pages use site.css. */
  --lu-bg: #111827;
  --lu-card: #182235;
  --lu-text: #eef5ff;
  --lu-muted: #a9b8c8;
  --lu-line: #2c3b51;
  --lu-primary: #79b4ff;
  --lu-soft: #172b43;
  --ink: var(--lu-text);
  --secondary: var(--lu-text);
  --muted: var(--lu-muted);
  --surface: var(--lu-card);
  --surface-soft: var(--lu-bg);
  --line: var(--lu-line);
  --primary: var(--lu-primary);
  --primary-soft: var(--lu-soft);
  --accent: var(--lu-primary);
  --accent-soft: var(--lu-soft);
  --primary-dark: var(--lu-primary);
  --oge-dark: var(--lu-primary);
  background: var(--lu-bg);
  color: var(--lu-text);
}
html:not([data-theme]) body.oge-test-page :is(.shared-context, .solution-card, .scoring-card, #summary, .score-card, .start-card, .task-card, .score-scale-inline, .result-panel, .attempt-toolbar) {
  background: var(--lu-card);
  border-color: var(--lu-line);
}
html:not([data-theme]) body.oge-test-page :is(.problem-statement, .solution-explanation, .input-note, .math-block, .answer-hint, .advanced-prompt, .result-honesty-note, .inline-options li, .interval-grid div, .quality-grid label, .graph-grid figure) {
  background: var(--lu-soft);
  color: var(--lu-text);
  border-color: var(--lu-line);
}
html:not([data-theme]) body.oge-test-page :is(.solution-answer, .solution-number, .statement-options b, .interval-grid b) {
  color: var(--lu-primary);
}
html:not([data-theme]) body.oge-test-page :is(.solution-number, .solution-table th, .tyre-table th) {
  background: var(--lu-soft);
}
html:not([data-theme]) body.oge-test-page :is(.solution-table, .tyre-table) { background: var(--lu-card); }
html:not([data-theme]) body.oge-test-page :is(.solution-table, .tyre-table) :is(th, td) {
  background: transparent;
  color: var(--lu-text);
  border-color: var(--lu-line);
}
html:not([data-theme]) body.oge-test-page :is(.solution-table, .tyre-table) tr { background: transparent; }
html:not([data-theme]) body.oge-test-page .wheel-context-figures figure { background: var(--lu-card); }
html:not([data-theme]) body.oge-test-page :is(figcaption, .input-note, .problem-statement h3, .solution-explanation h3, .shared-context__solution-title) {
  color: var(--lu-text);
}
/* External SVGs cannot inherit page fill/stroke rules. A light backing keeps
   their original labels, axes and curves readable, including transparent SVGs. */
html:not([data-theme]) body.oge-test-page img:is(.oge-diagram, .solution-diagram) { background: var(--lu-text); }
/* Inline figures only: do not override MathJax's currentColor glyphs. */
html:not([data-theme]) body.oge-test-page svg.oge-diagram { color: var(--lu-text); }
html:not([data-theme]) body.oge-test-page svg.oge-diagram [stroke]:not([stroke="none"]) { stroke: var(--lu-text); }
html:not([data-theme]) body.oge-test-page svg.oge-diagram [fill]:not([fill="none"]) { fill: var(--lu-text); }
html:not([data-theme]) body.oge-test-page svg.oge-diagram text { fill: var(--lu-text); }
html:not([data-theme]) body.oge-test-page svg.oge-diagram :is(.curve, .arc) { stroke: var(--lu-primary); }
html:not([data-theme]) body.oge-test-page svg.oge-diagram .point { fill: var(--lu-primary); }
/* Legacy bright CTA backgrounds need dark text to meet normal-text contrast. */
html:not([data-theme]) body.oge-test-page :is(.button-start, .button-resume, .button-test, .button-whatsapp, .button-telegram, .button-primary) {
  background: var(--lu-primary);
  color: var(--lu-bg);
}
html:not([data-theme]) body.oge-test-page :is(.answer-input, .solution-input, .check-button) {
  background: var(--lu-card);
  color: var(--lu-text);
}
html:not([data-theme]) body.oge-test-page .form-error { color: var(--lu-text) !important; }
html:not([data-theme]) body.oge-test-page :is(.test-hero, .site-header, .privacy-banner, .skip-link, .contact-panel) {
  background: var(--lu-card);
  color: var(--lu-text);
}
html:not([data-theme]) body.oge-test-page :is(.task-card p, .test-hero .lead, .test-rules li, .score-card > div, .statement-options > div, .contact-panel p, .footer-right-v6433__label) { color: var(--lu-text); }
html:not([data-theme]) body.oge-test-page .task-card > header small { background: var(--lu-soft); }
html:not([data-theme]) body.oge-test-page :is(.site-nav a, .menu-toggle) {
  background: var(--lu-card);
  color: var(--lu-text);
}
html:not([data-theme]) body.oge-test-page :is(.privacy-button, .site-nav .nav-cta) {
  background: var(--lu-primary);
  color: var(--lu-bg);
}
html:not([data-theme]) body.oge-test-page :is(.button-vk, .button-apply) {
  background: var(--lu-primary) !important;
  color: var(--lu-bg) !important;
  border-color: var(--lu-primary) !important;
}
}
