/* Оформление содержимого заметки. Используется и в приложении, и в экспорте HTML,
   поэтому у каждой переменной есть запасное значение. */
.md { line-height: 1.65; overflow-wrap: anywhere; font-size: 1rem; }
.md > :first-child { margin-top: 0; }
.md h1, .md h2, .md h3, .md h4, .md h5, .md h6 { line-height: 1.3; margin: 1.6em 0 .6em; font-weight: 650; }
.md h1 { font-size: 1.7em; }
.md h2 { font-size: 1.4em; padding-bottom: .25em; border-bottom: 1px solid var(--border, #e3e6ea); }
.md h3 { font-size: 1.2em; }
.md h4 { font-size: 1.05em; }
.md p, .md ul, .md ol, .md blockquote, .md pre, .md table { margin: 0 0 1em; }
.md ul, .md ol { padding-left: 1.6em; }
.md li + li { margin-top: .2em; }
.md li > ul, .md li > ol { margin: .2em 0 0; }
.md a { color: var(--accent, #2f6fde); text-decoration: underline; text-underline-offset: 2px; text-decoration-thickness: 1px; }
.md img { max-width: 100%; height: auto; border-radius: 6px; display: inline-block; vertical-align: middle; }
.md hr { border: 0; border-top: 1px solid var(--border, #e3e6ea); margin: 2em 0; }
.md blockquote { margin-left: 0; padding: .2em 1em; color: var(--muted, #6b7480); border-left: 3px solid var(--border-strong, #cfd5dc); }
.md code { font-family: ui-monospace, "Cascadia Mono", "JetBrains Mono", Consolas, monospace; font-size: .9em;
  background: var(--code-bg, #f0f2f5); padding: .12em .35em; border-radius: 4px; }
.md pre { background: var(--code-bg, #f0f2f5); padding: .9em 1em; border-radius: 8px; overflow-x: auto; line-height: 1.5; tab-size: 4; -moz-tab-size: 4; }
.md pre code { background: none; padding: 0; font-size: .88em; }
.md table { border-collapse: collapse; display: block; overflow-x: auto; max-width: 100%; }
.md th, .md td { border: 1px solid var(--border, #e3e6ea); padding: .4em .75em; text-align: left; vertical-align: top; }
.md th { background: var(--surface-2, #f5f6f8); font-weight: 600; }
.md li:has(> input[type=checkbox]), .md li:has(> p:first-child > input[type=checkbox]:first-child) { list-style: none; margin-left: -1.4em; }
.md li > p:first-child:has(> input[type=checkbox]:first-child) { margin-bottom: .2em; }
.md input[type=checkbox] { margin: 0 .45em 0 0; vertical-align: -1px; width: 1em; height: 1em; accent-color: var(--accent, #2f6fde); }
.md li:has(> input[type=checkbox]:checked), .md li:has(> p:first-child > input[type=checkbox]:checked) { color: var(--muted, #6b7480); text-decoration: line-through; text-decoration-color: var(--border-strong, #cfd5dc); }
.md del { color: var(--muted, #6b7480); }
.md mark { background: var(--mark, #ffe58a); color: inherit; }

/* блоки :::success / info / warning / danger / spoiler */
.md .box { margin: 0 0 1em; padding: .75em 1em; border-radius: 8px; border: 1px solid; }
.md .box > :last-child { margin-bottom: 0; }
.md .box { display: flow-root; } /* картинка с обтеканием внутри выноски не вылезает за её край */
.md .box-title { font-weight: 650; margin: 0 0 .35em; }
.md .box-success { background: var(--box-success-bg, #ecf8f0); border-color: var(--box-success-bd, #9fd8b3); }
.md .box-success .box-title { color: var(--box-success-fg, #1f7a45); }
.md .box-info    { background: var(--box-info-bg, #eaf2fe);    border-color: var(--box-info-bd, #a9c7f5); }
.md .box-info .box-title    { color: var(--box-info-fg, #1f5bbf); }
.md .box-warning { background: var(--box-warning-bg, #fdf6e3); border-color: var(--box-warning-bd, #ecd08a); }
.md .box-warning .box-title { color: var(--box-warning-fg, #8a6100); }
.md .box-danger  { background: var(--box-danger-bg, #fdeeee);  border-color: var(--box-danger-bd, #f0b0ab); }
.md .box-danger .box-title  { color: var(--box-danger-fg, #b3261e); }
.md details.box-spoiler { background: var(--surface-2, #f5f6f8); border-color: var(--border, #e3e6ea); padding: .55em 1em; }
.md details.box-spoiler > summary { cursor: pointer; font-weight: 600; list-style-position: outside; margin-left: 1em; }
.md details.box-spoiler[open] > summary { margin-bottom: .6em; }
@media print { .md details.box-spoiler { break-inside: avoid; } }

/* подсветка кода (цвета — в /static/code.css) */
.md pre.chroma code { display: block; }

/* ---------- Раскладка: :::left / center / right / wide [ширина] ---------- */
.md .al { margin: 0 0 1em; }
.md .al > :last-child { margin-bottom: 0; }
.md .al-center { text-align: center; }
.md .al-right { text-align: right; }
.md .al-center table { width: fit-content; margin-inline: auto; }
.md .al-right table { width: fit-content; margin-left: auto; }
.md .w-25 { width: 25%; } .md .w-33 { width: 33.333%; } .md .w-50 { width: 50%; }
.md .w-66 { width: 66.666%; } .md .w-75 { width: 75%; } .md .w-100 { width: 100%; }
.md .al-center[class*=" w-"] { margin-inline: auto; }
.md .al-right[class*=" w-"] { margin-left: auto; }
.md .al[class*=" w-"] img, .md .al-wide img { width: 100%; }
.md .al[class*=" w-"] table, .md .al-wide table { display: table; width: 100%; }
/* с шириной left/right обтекаются текстом */
.md .al-float.al-left { float: left; margin: .25em 1.5em 1.5em 0; }
.md .al-float.al-right { float: right; margin: .25em 0 1.5em 1.5em; }
.md h1, .md h2, .md h3, .md hr, .md .al:not(.al-float), .md .download { clear: both; }
.md::after { content: ""; display: table; clear: both; }
@media (max-width: 600px) { .md .al-float.al-left, .md .al-float.al-right { float: none; width: 100%; margin: 0 0 1em; } }

/* ---------- Карточка загрузки: :::download /f/… ---------- */
.md .download {
  display: grid; grid-template-columns: 1fr auto; align-items: center; gap: .5em 1.2em;
  margin: 0 0 1em; padding: 1em 1.2em; border-radius: 10px;
  border: 1px solid var(--border, #e3e6ea); background: var(--surface-2, #f5f6f8);
}
.md .download-title { font-weight: 650; font-size: 1.08em; }
.md .download-title > :last-child { margin-bottom: 0; }
.md .download-meta { margin: .25em 0 0; color: var(--muted, #6b7480); font-size: .88em; }
.md .download-name { font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace; font-size: .95em; }
.md a.download-btn {
  display: inline-flex; align-items: center; gap: .45em; padding: .6em 1.2em; border-radius: 8px;
  background: var(--accent, #2f6fde); color: var(--on-accent, #fff); font-weight: 600; text-decoration: none; white-space: nowrap;
}
.md a.download-btn:hover { filter: brightness(1.08); }
.md .download-btn .i { width: 1.05em; height: 1.05em; }
.md .download-hash { grid-column: 1 / -1; color: var(--muted, #6b7480); font-size: .82em; }
.md .download-hash summary { cursor: pointer; width: fit-content; }
.md .download-hash code { display: block; margin-top: .3em; word-break: break-all; user-select: all; }
.md .download-missing { display: block; border-style: dashed; color: var(--muted, #6b7480); }
.md .download-missing p { margin: 0; }
@media (max-width: 600px) { .md .download { grid-template-columns: 1fr; } .md a.download-btn { justify-content: center; } }
@media print { .md .download { break-inside: avoid; } .md .download-hash { display: none; } }
