/* Оформление курса: собственные плашки (admonitions) и метки в тексте.
   Плашка:  !!! fact "Факт: …"      — результат запуска, расходящийся с ожиданием
            !!! hood "Под капотом"   — разбор на уровне IL / JIT / рантайма
            !!! verify "Проверить"   — деталь реализации, перепроверить на своей версии
            !!! net11 ".NET 11"      — появилось или изменилось в .NET 11
            !!! lab "Лабораторная"   — что делать руками
   Метка:   <span class="mark-verify">проверить</span>, <span class="mark-net11">.NET 11</span>,
            <span class="mark-preview">.NET 10 — превью</span> */

:root {
  --course-fact: #0f9d8a;
  --course-hood: #5b6ee1;
  --course-verify: #d9822b;
  --course-net11: #9c4dcc;
  --course-lab: #2a7fd4;

  --md-admonition-icon--fact: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24"><path d="M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2M6.453 15h11.094M8.5 2h7"/></svg>');
  --md-admonition-icon--hood: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24"><path d="M6 18h8M3 22h18M14 22a7 7 0 1 0 0-14h-1M9 14h2M9 12a2 2 0 0 1-2-2V6h6v4a2 2 0 0 1-2 2ZM12 6V3a1 1 0 0 0-1-1H9a1 1 0 0 0-1 1v3"/></svg>');
  --md-admonition-icon--verify: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24"><path d="m8 11 2 2 4-4"/><circle cx="11" cy="11" r="8"/><path d="m21 21-4.3-4.3"/></svg>');
  --md-admonition-icon--net11: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24"><path d="M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594zM20 2v4M22 4h-4"/><circle cx="4" cy="20" r="2"/></svg>');
  --md-admonition-icon--lab: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24"><path d="m7 11 2-2-2-2M11 13h4"/><rect width="18" height="18" x="3" y="3" rx="2" ry="2"/></svg>');
}

/* --- плашки --- */
.md-typeset .admonition.fact,   .md-typeset details.fact   { border-color: var(--course-fact); }
.md-typeset .admonition.hood,   .md-typeset details.hood   { border-color: var(--course-hood); }
.md-typeset .admonition.verify, .md-typeset details.verify { border-color: var(--course-verify); }
.md-typeset .admonition.net11,  .md-typeset details.net11  { border-color: var(--course-net11); }
.md-typeset .admonition.lab,    .md-typeset details.lab    { border-color: var(--course-lab); }

.md-typeset .fact > .admonition-title,   .md-typeset .fact > summary   { background-color: color-mix(in srgb, var(--course-fact) 12%, transparent); }
.md-typeset .hood > .admonition-title,   .md-typeset .hood > summary   { background-color: color-mix(in srgb, var(--course-hood) 12%, transparent); }
.md-typeset .verify > .admonition-title, .md-typeset .verify > summary { background-color: color-mix(in srgb, var(--course-verify) 12%, transparent); }
.md-typeset .net11 > .admonition-title,  .md-typeset .net11 > summary  { background-color: color-mix(in srgb, var(--course-net11) 12%, transparent); }
.md-typeset .lab > .admonition-title,    .md-typeset .lab > summary    { background-color: color-mix(in srgb, var(--course-lab) 12%, transparent); }

.md-typeset .fact > .admonition-title::before,   .md-typeset .fact > summary::before   { background-color: var(--course-fact);   -webkit-mask-image: var(--md-admonition-icon--fact);   mask-image: var(--md-admonition-icon--fact); }
.md-typeset .hood > .admonition-title::before,   .md-typeset .hood > summary::before   { background-color: var(--course-hood);   -webkit-mask-image: var(--md-admonition-icon--hood);   mask-image: var(--md-admonition-icon--hood); }
.md-typeset .verify > .admonition-title::before, .md-typeset .verify > summary::before { background-color: var(--course-verify); -webkit-mask-image: var(--md-admonition-icon--verify); mask-image: var(--md-admonition-icon--verify); }
.md-typeset .net11 > .admonition-title::before,  .md-typeset .net11 > summary::before  { background-color: var(--course-net11);  -webkit-mask-image: var(--md-admonition-icon--net11);  mask-image: var(--md-admonition-icon--net11); }
.md-typeset .lab > .admonition-title::before,    .md-typeset .lab > summary::before    { background-color: var(--course-lab);    -webkit-mask-image: var(--md-admonition-icon--lab);    mask-image: var(--md-admonition-icon--lab); }

/* --- метки в тексте --- */
.md-typeset .mark-verify,
.md-typeset .mark-net11,
.md-typeset .mark-preview {
  display: inline-block;
  padding: 0 .45em;
  border-radius: .3em;
  font-size: .78em;
  font-weight: 600;
  line-height: 1.6;
  vertical-align: .08em;
  white-space: nowrap;
}
.md-typeset .mark-verify  { color: var(--course-verify); background: color-mix(in srgb, var(--course-verify) 14%, transparent); }
.md-typeset .mark-net11   { color: var(--course-net11);  background: color-mix(in srgb, var(--course-net11) 14%, transparent); }
.md-typeset .mark-preview { color: var(--course-hood);   background: color-mix(in srgb, var(--course-hood) 14%, transparent); }
.md-typeset .mark-verify::before  { content: "проверить: "; font-weight: 400; opacity: .8; }
.md-typeset .mark-verify:empty::before { content: "проверить"; }

/* --- резиновая ширина: в листингах IL/asm длинные строки, место по краям экрана не пропадает --- */
.md-grid { max-width: none; }

/* --- оба оглавления слева: главы курса, правее — разделы текущей главы, затем текст.
       На узких экранах тема и так прячет оглавление главы в выдвижное меню. --- */
@media screen and (min-width: 76.25em) {
  .md-sidebar--secondary {
    order: 0;
    border-left: .05rem solid var(--md-default-fg-color--lightest);
    border-right: .05rem solid var(--md-default-fg-color--lightest);
  }
}

/* --- карточка «О главе» --- */
.md-typeset .admonition.abstract.chapter-card { font-size: .75rem; }
.md-typeset .chapter-card p { margin: .4em 0; }

/* --- листинги ассемблера и IL длинные: чуть плотнее --- */
.md-typeset .language-nasm, .md-typeset .language-text { font-size: .78em; }
