/* Страницы курса site/course/: токены и шапка из styles.css, типографика документа из legal.css. */
.doc { overflow-wrap: break-word; }
.doc .crumbs { font: 500 14px var(--mono); color: var(--text3); margin-bottom: 14px; }
.doc .crumbs a { color: var(--text3); text-decoration: none; }
.doc .crumbs a:hover { color: var(--text); text-decoration: underline; }
.doc .app-top { margin-top: 14px; font-size: 16px; }
.doc h2 { margin-top: 40px; }
.doc h3 { margin-top: 28px; }
.doc strong { font-weight: 650; }
.doc li > ul, .doc li > ol { margin-top: 6px; }
.doc li > p:first-child { margin-top: 0; }
.doc code { overflow-wrap: anywhere; }
.doc pre { margin-top: 14px; padding: 14px 16px; background: var(--code); border: 1px solid var(--border); border-radius: var(--r-sm); overflow-x: auto; line-height: 1.5; }
.doc pre code { background: none; padding: 0; overflow-wrap: normal; }
.doc blockquote { margin: 16px 0 0; padding: 4px 0 4px 16px; border-left: 3px solid var(--accent); color: var(--text2); }
.doc hr { margin: 36px 0 0; border: 0; border-top: 1px solid var(--border); }
.doc figure.sch { margin-top: 20px; }
.doc figure.sch img { display: block; width: 100%; height: auto; border-radius: var(--r-md); border: 1px solid var(--border); }
.doc figcaption { margin-top: 8px; color: var(--text3); font-size: 15px; line-height: 1.5; }
.doc .weeks { margin-top: 10px; padding-left: 0; list-style: none; }
.doc .weeks li { margin-top: 8px; }
.doc .weeks span { display: block; color: var(--text2); font-size: 16px; }
/* Тёмная тема по умолчанию, как в styles.css: светлая схема только при светлой теме */
.sch-l { display: none !important; }
:root[data-theme="light"] .sch-l { display: block !important; }
:root[data-theme="light"] .sch-d { display: none !important; }
@media (prefers-color-scheme: light) {
  :root:not([data-theme="dark"]) .sch-l { display: block !important; }
  :root:not([data-theme="dark"]) .sch-d { display: none !important; }
}
.app-card { margin-top: 48px; padding: 22px; border: 1px solid color-mix(in srgb, var(--accent) 55%, transparent); border-radius: var(--r-lg); background: var(--surface); }
.app-card p { color: var(--text2); margin-bottom: 16px; }
.pager { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 20px; }
.pg { display: flex; flex-direction: column; gap: 2px; padding: 14px 16px; border: 1px solid var(--border); border-radius: var(--r-md); text-decoration: none; background: var(--surface); }
.pg:hover { border-color: var(--border-strong); }
.pg small { color: var(--text3); font: 500 13px var(--mono); }
.pg span { font-size: 16px; line-height: 1.4; }
.pg-next { text-align: right; }
.pg-empty { border: 0; background: none; }
.foot-lic { grid-column: 1 / -1; color: var(--text3); font-size: 14px; }
a.tool { text-decoration: none; }
@media (max-width: 760px) {
  .pager { grid-template-columns: 1fr; }
  .pg-next { text-align: left; }
}
