/* Режим повышенной читаемости для полного курса.
   Подключается после встроенных стилей course.html и не меняет учебное содержание. */
:root {
  --course-ink: #102b46;
  --course-muted: #244764;
  --course-line: #bdcfdf;
  --course-link: #075da6;
}
html { font-size: 17px; }
body {
  color: var(--course-ink) !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 18px !important;
  line-height: 1.72 !important;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
p, li, dd { max-width: 88ch; }
a { color: var(--course-link) !important; font-weight: 600; }
a:hover { color: #9f251d !important; }
.lead { font-size: 1.2rem !important; line-height: 1.63 !important; color: #1b3b59 !important; }
.meta { color: #294b68 !important; font-size: 1rem !important; }
.module { padding: 29px 31px !important; border-color: var(--course-line) !important; }
.module h2 { font-size: 1.82rem !important; line-height: 1.22 !important; }
.module h3 { font-size: 1.34rem !important; line-height: 1.3 !important; }
.module h4 { font-size: 1.1rem !important; }
.module .sub { color: #1f4564 !important; font-size: 1.06rem !important; line-height: 1.54 !important; }
.card, .figure, .table-wrap { border-color: var(--course-line) !important; }
.card { padding: 20px !important; }
.callout { font-size: 1rem !important; line-height: 1.62 !important; }
.callout b { font-size: 1.05rem; }
.figure { padding: 17px !important; background: #ffffff !important; }
.figure figcaption { color: #1d4261 !important; font-size: 1rem !important; line-height: 1.56 !important; }
.figure svg { min-width: 760px !important; }
.figure svg text {
  paint-order: stroke fill;
  stroke: rgba(255, 255, 255, .94);
  stroke-width: 2.4px;
  stroke-linejoin: round;
}
.figure svg .diagram-label {
  font-size: 18px !important;
  font-weight: 800 !important;
  fill: #102b46 !important;
}
.figure svg .diagram-note {
  font-size: 15px !important;
  font-weight: 700 !important;
  fill: #1d496c !important;
}
.figure svg .diagram-small {
  font-size: 14px !important;
  font-weight: 700 !important;
  fill: #244d6b !important;
}
/* В вводной схеме часть знаков задана атрибутами, без классов. */
.figure svg text[font-size="11"] { font-size: 14px !important; font-weight: 800 !important; }
.figure svg text[font-size="14"] { font-size: 16px !important; font-weight: 700 !important; }
table { font-size: 1rem !important; line-height: 1.5 !important; }
th, td { border-color: #c4d3e1 !important; padding: 11px 12px !important; }
th { color: #153a5d !important; background: #e4f1fa !important; }
tr:nth-child(even) td { background: #f9fcff !important; }
.symbol-card p, .flash p { color: #284b67 !important; font-size: .96rem !important; }
.symbol-card h4, .flash b { color: #123a60 !important; }
.kpi span { color: #254866 !important; font-size: .94rem !important; }
details { border-color: #b8cbdb !important; }
summary { color: #123e66 !important; font-size: 1rem !important; }
details > div { color: #183955; }
.quiz { border-color: #b6d4e8 !important; }
.quiz h4 { font-size: 1.06rem !important; }
.toc { border-color: var(--course-line) !important; }
.toc a { color: #244762 !important; font-size: .95rem !important; }
.toc a:hover { color: #075da6 !important; }
.toc .callout { font-size: .93rem !important; }
.online-studybar { display: flex; align-items: center; gap: 8px; margin-left: auto; }
.online-progress { color: #0c4f83; background: #e4f4ff; border: 1px solid #92c3e3; padding: 6px 9px; border-radius: 999px; font-size: .86rem; font-weight: 800; white-space: nowrap; }
.reading-button { border: 1px solid #8fbfdf; border-radius: 9px; padding: 6px 10px; background: #f4fbff; color: #075a99; font-weight: 800; cursor: pointer; white-space: nowrap; }
.reading-button:hover, .reading-button[aria-pressed="true"] { color: #083e6c; border-color: #126cca; background: #dff1ff; }
.lesson-complete { font-size: 1rem !important; min-height: 40px; }
.study-toast { font-size: 15px !important; }
/* Включается кнопкой «Крупный текст»; состояние хранится только локально в браузере. */
body.reading-large { font-size: 20px !important; line-height: 1.77 !important; }
body.reading-large .lead { font-size: 1.3rem !important; }
body.reading-large .module h2 { font-size: 2rem !important; }
body.reading-large .module h3 { font-size: 1.47rem !important; }
body.reading-large table { font-size: 1.08rem !important; }
body.reading-large .figure svg { min-width: 900px !important; }
body.reading-large .figure svg .diagram-label { font-size: 21px !important; }
body.reading-large .figure svg .diagram-note { font-size: 17px !important; }
body.reading-large .figure svg .diagram-small { font-size: 16px !important; }
@media (max-width: 900px) {
  body { font-size: 17px !important; }
  .module { padding: 23px !important; }
  .module h2 { font-size: 1.62rem !important; }
  .online-progress { display: none; }
}
@media (max-width: 630px) {
  body { font-size: 17px !important; line-height: 1.67 !important; }
  .page { padding-left: 12px !important; padding-right: 12px !important; }
  .module { padding: 18px !important; }
  .module h2 { font-size: 1.46rem !important; }
  .module h3 { font-size: 1.25rem !important; }
  .figure { padding: 12px !important; }
  .figure svg { min-width: 720px !important; }
  .reading-button { width: 34px; height: 34px; padding: 0; font-size: 0; }
  .reading-button::after { content: 'A+'; font-size: .9rem; }
  .reading-button[aria-pressed="true"]::after { content: 'A−'; }
}
@media print {
  body, body.reading-large { font-size: 10.8pt !important; }
  .online-studybar, .reading-button, .lesson-complete, .study-toast { display: none !important; }
  .figure svg, body.reading-large .figure svg { min-width: 580px !important; }
}
