/* High-contrast, monochrome alternative to the Night theme. */
:root[data-theme="black-white"] {
  color-scheme: light;
  --paper: #fff;
  --white: #fff;
  --ink: #111;
  --body: #292929;
  --muted: #555;
  --teal: #111;
  --teal-dark: #000;
  --teal-pale: #eee;
  --line: #b7b7b7;
  --gold: #eee;
  --gold-line: #777;
  --red: #333;
  --red-pale: #eee;
  --green: #111;
  --green-pale: #f5f5f5;
}
html[data-theme="black-white"] body,
html[data-theme="black-white"] body:has(.home-page) { background: #fff; background-image: none; color: #111; }
html[data-theme="black-white"] :focus-visible { outline-color: #000; }
html[data-theme="black-white"] a,
html[data-theme="black-white"] .quiet-link,
html[data-theme="black-white"] .quiet-button { color: #111; }
html[data-theme="black-white"] a:hover,
html[data-theme="black-white"] .quiet-link:hover,
html[data-theme="black-white"] .quiet-button:hover { color: #000; }
html[data-theme="black-white"] .site-header { border-bottom: 1px solid #111; background: #fff; }
html[data-theme="black-white"] .logo,
html[data-theme="black-white"] .logo b { color: #111; }
html[data-theme="black-white"] .logo-mark { border-color: #111; color: #fff; background: #111; }
html[data-theme="black-white"] .header-link { color: #111; }
html[data-theme="black-white"] .header-link:hover,
html[data-theme="black-white"] .header-link.active { color: #fff; background: #111; }
html[data-theme="black-white"] .theme-switch,
html[data-theme="black-white"] .theme-switch:hover { border-color: #111; color: #fff; background: #111; }
html[data-theme="black-white"] .eyebrow,
html[data-theme="black-white"] .how-grid article > span { color: #292929; }
html[data-theme="black-white"] .eyebrow-dot { background: #111; }
html[data-theme="black-white"] .intro h1,
html[data-theme="black-white"] .setup-heading h2,
html[data-theme="black-white"] .section-heading h2,
html[data-theme="black-white"] .how-grid h3,
html[data-theme="black-white"] .recent-strip strong,
html[data-theme="black-white"] .problem-heading h1,
html[data-theme="black-white"] .inline-problem .problem-heading h2,
html[data-theme="black-white"] .exam-heading h1,
html[data-theme="black-white"] .result-hero h1,
html[data-theme="black-white"] .progress-intro h1,
html[data-theme="black-white"] .answer-card h2,
html[data-theme="black-white"] .answer-heading h2,
html[data-theme="black-white"] .answer-heading h3,
html[data-theme="black-white"] .worked-solution h2,
html[data-theme="black-white"] .empty-state h3 { color: #111; }
html[data-theme="black-white"] .lede,
html[data-theme="black-white"] .section-heading p,
html[data-theme="black-white"] .how-grid p,
html[data-theme="black-white"] .field-label,
html[data-theme="black-white"] .recent-strip span:last-child,
html[data-theme="black-white"] .problem-intro,
html[data-theme="black-white"] .exam-heading p,
html[data-theme="black-white"] .result-hero p,
html[data-theme="black-white"] .progress-intro p { color: #333; }
html[data-theme="black-white"] .hero-links a,
html[data-theme="black-white"] .jump-links,
html[data-theme="black-white"] .jump-links button,
html[data-theme="black-white"] .continue-button { color: #111; }
html[data-theme="black-white"] .jump-links button:hover { color: #000; }
html[data-theme="black-white"] .setup-card,
html[data-theme="black-white"] .recent-strip,
html[data-theme="black-white"] .how-grid article,
html[data-theme="black-white"] .problem-card,
html[data-theme="black-white"] .booklet-card,
html[data-theme="black-white"] .answer-card,
html[data-theme="black-white"] .result-hero,
html[data-theme="black-white"] .review-item,
html[data-theme="black-white"] .attempt-list,
html[data-theme="black-white"] .empty-state,
html[data-theme="black-white"] .queue-grid button,
html[data-theme="black-white"] .progress-stats > div,
html[data-theme="black-white"] .exam-overview { border-color: #aaa; color: #111; background: #fff; box-shadow: none; }
html[data-theme="black-white"] .setup-icon { color: #111; background: #eee; }
html[data-theme="black-white"] .segment { border-color: #999; background: #f5f5f5; }
html[data-theme="black-white"] .segment button { color: #111; }
html[data-theme="black-white"] .segment button.active { color: #fff; background: #111; }
html[data-theme="black-white"] .field select { border-color: #777; color: #111; background: #fff; }
html[data-theme="black-white"] .count-row button { border-color: #777; color: #111; background: #fff; }
html[data-theme="black-white"] .count-row button.active { border-color: #111; color: #fff; background: #111; }
html[data-theme="black-white"] .primary { border-color: #111; color: #fff; background: #111; }
html[data-theme="black-white"] .primary:hover:not(:disabled) { border-color: #333; color: #fff; background: #333; }
html[data-theme="black-white"] .secondary { border-color: #111; color: #111; background: #fff; }
html[data-theme="black-white"] .secondary:hover:not(:disabled) { color: #111; background: #eee; }
html[data-theme="black-white"] .how-section,
html[data-theme="black-white"] .site-footer,
html[data-theme="black-white"] .worked-solution,
html[data-theme="black-white"] .exam-bottom { border-color: #bbb; }
html[data-theme="black-white"] .site-footer,
html[data-theme="black-white"] .site-footer a,
html[data-theme="black-white"] .source-credit,
html[data-theme="black-white"] .source-credit a { color: #444; }
html[data-theme="black-white"] .quiz-top,
html[data-theme="black-white"] .timer,
html[data-theme="black-white"] .timer.urgent,
html[data-theme="black-white"] .exam-overview .answer-meter,
html[data-theme="black-white"] .exam-bottom { color: #111; }
html[data-theme="black-white"] .progress-track { background: #ddd; }
html[data-theme="black-white"] .progress-track > span { background: #111; }
html[data-theme="black-white"] .number-chip { border-color: #111; color: #111; background: #fff; }
html[data-theme="black-white"] .problem-source,
html[data-theme="black-white"] .solution-content { color: #111; }
html[data-theme="black-white"] .source-panel { border-color: #aaa; background: #fff; }
html[data-theme="black-white"] .source-panel-head { border-color: #aaa; background: #f5f5f5; }
html[data-theme="black-white"] .source-panel-head strong,
html[data-theme="black-white"] .source-panel-head span,
html[data-theme="black-white"] .source-panel-head a,
html[data-theme="black-white"] .source-panel > p { color: #111; }
html[data-theme="black-white"] .answer-choice,
html[data-theme="black-white"] .exam-choices button { border: 1px solid #888; color: #111; background: #fff; }
html[data-theme="black-white"] button.answer-choice:hover:not(:disabled),
html[data-theme="black-white"] .exam-choices button:hover:not(:disabled) { border-color: #111; color: #111; background: #eee; }
html[data-theme="black-white"] .answer-choice.selected,
html[data-theme="black-white"] .exam-choices button.selected { border-color: #111; color: #fff; background: #111; }
html[data-theme="black-white"] .answer-choice.correct { border: 2px solid #111; color: #111; background: #fff; }
html[data-theme="black-white"] .answer-choice.incorrect { border: 2px dashed #555; color: #111; background: #eee; }
html[data-theme="black-white"] .choice-letter { border-color: #555; color: #111; background: #fff; }
html[data-theme="black-white"] .answer-choice.selected .choice-letter,
html[data-theme="black-white"] .answer-choice.correct .choice-letter { border-color: #111; color: #fff; background: #111; }
html[data-theme="black-white"] .answer-choice.incorrect .choice-letter { border-color: #555; color: #111; background: #fff; }
html[data-theme="black-white"] .answer-choice.correct .answer-tag { color: #fff; background: #111; }
html[data-theme="black-white"] .answer-choice.incorrect .answer-tag { color: #fff; background: #555; }
html[data-theme="black-white"] .flag-button,
html[data-theme="black-white"] .question-grid button,
html[data-theme="black-white"] .text-button { border-color: #888; color: #111; background: #fff; }
html[data-theme="black-white"] .flag-button.active { border-color: #111; color: #111; background: #ddd; }
html[data-theme="black-white"] .question-grid button.answered { border-color: #111; color: #111; background: #ddd; }
html[data-theme="black-white"] .question-grid button.current { border-color: #111; color: #fff; background: #111; }
html[data-theme="black-white"] .question-grid button.flagged { box-shadow: inset 0 -3px #111; }
html[data-theme="black-white"] .feedback,
html[data-theme="black-white"] .review-answer { border: 1px solid #111; color: #111; background: #f5f5f5; }
html[data-theme="black-white"] .feedback.bad,
html[data-theme="black-white"] .review-answer.bad { border-style: dashed; color: #111; background: #eee; }
html[data-theme="black-white"] .feedback h3,
html[data-theme="black-white"] .feedback p,
html[data-theme="black-white"] .feedback a,
html[data-theme="black-white"] .review-answer span { color: #111; }
html[data-theme="black-white"] .feedback-icon,
html[data-theme="black-white"] .feedback.bad .feedback-icon { color: #fff; background: #111; }
html[data-theme="black-white"] .feedback .solution-content { border-color: #aaa; }
html[data-theme="black-white"] .keyboard-tip { color: #555; }
html[data-theme="black-white"] .score-ring { background: conic-gradient(#111 calc(var(--pct) * 1%), #ddd 0); }
html[data-theme="black-white"] .score-ring > div { background: #fff; }
html[data-theme="black-white"] .score-ring strong,
html[data-theme="black-white"] .score-ring span,
html[data-theme="black-white"] .score-ring small { color: #111; }
html[data-theme="black-white"] .review-item:hover,
html[data-theme="black-white"] .queue-grid button:hover { border-color: #111; background: #f5f5f5; }
html[data-theme="black-white"] .review-item strong,
html[data-theme="black-white"] .review-item span,
html[data-theme="black-white"] .review-item small,
html[data-theme="black-white"] .review-item.missed small,
html[data-theme="black-white"] .review-item.skipped small,
html[data-theme="black-white"] .progress-stats strong,
html[data-theme="black-white"] .progress-stats span,
html[data-theme="black-white"] .queue-grid button span,
html[data-theme="black-white"] .queue-grid button strong { color: #111; }
html[data-theme="black-white"] .attempt-row { border-color: #aaa; color: #111; background: #fff; }
html[data-theme="black-white"] .attempt-row:hover { background: #f5f5f5; }
html[data-theme="black-white"] .attempt-row strong,
html[data-theme="black-white"] .attempt-row > span,
html[data-theme="black-white"] .attempt-row small { color: #111; }
html[data-theme="black-white"] .toast { color: #fff; background: #111; }
