/* ============================================================
   Курс «Управление данными» · PostgreSQL / PostGIS / QGIS
   Дизайн-система согласована с курсом «Математическое
   моделирование · тема ДЗЗ» (math_robo/site/assets/style.css):
   тёмная тема по умолчанию, светлая — через html[data-theme="light"]
   (переключатель внедряет assets/nav.js, ключ localStorage "dzz-theme").
   Старые имена токенов (--paper, --line, --signal, --lec…) сохранены
   как алиасы — их читают тренажёры страниц через getPropertyValue.
   ============================================================ */

:root{
  --bg:#070c16;
  --bg-grad:radial-gradient(1200px 600px at 80% -10%, #0e1c33 0%, transparent 60%),
            radial-gradient(900px 500px at -10% 30%, #0b1a2a 0%, transparent 55%);
  --panel:#0e1728;
  --panel-2:#121e33;
  --border:#1d2b45;
  --text:#dbe4f0;
  --muted:#8b9bb4;
  --accent:#38bdf8;      /* циан — лекции, бренд */
  --accent-2:#4ade80;    /* зелёный — практики */
  --amber:#fbbf24;       /* янтарный — экспресс-курс */
  --violet:#a78bfa;      /* фиолетовый — РГР */
  --red:#f87171;
  --grid-line:rgba(56,189,248,.05);
  --shadow:0 10px 30px rgba(0,0,0,.35);
  --code-bg:#0a1322;
  color-scheme:dark;

  /* ---- алиасы прежних токенов (не удалять: используются в JS страниц) ---- */
  --paper:var(--bg);
  --paper-2:var(--panel);
  --tile:var(--panel-2);
  --line:var(--border);
  --text-dim:var(--muted);
  --signal:var(--accent);
  --signal-ink:var(--accent);
  --lec:var(--accent);
  --prac:var(--accent-2);
  --rgr:var(--violet);
  --exp:var(--amber);
  --good:var(--accent-2);
  --bad:var(--red);
  --ink:#070c16;
  --ink-2:#0e1728;
}
html[data-theme="light"]{
  --bg:#eef3f9;
  --bg-grad:radial-gradient(1200px 600px at 80% -10%, #dcebfa 0%, transparent 60%),
            radial-gradient(900px 500px at -10% 30%, #e3f0ea 0%, transparent 55%);
  --panel:#ffffff;
  --panel-2:#f4f8fd;
  --border:#d7e1ee;
  --text:#182338;
  --muted:#5b6b84;
  --accent:#0369a1;
  --accent-2:#15803d;
  --amber:#b45309;
  --violet:#6d28d9;
  --red:#b91c1c;
  --grid-line:rgba(3,105,161,.06);
  --shadow:0 8px 24px rgba(23,43,77,.10);
  --code-bg:#f1f5fb;
  color-scheme:light;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:"Segoe UI",system-ui,-apple-system,Roboto,sans-serif;
  font-size:17px;
  line-height:1.65;
  color:var(--text);
  background:
    linear-gradient(var(--grid-line) 1px, transparent 1px) 0 0 / 100% 56px,
    linear-gradient(90deg, var(--grid-line) 1px, transparent 1px) 0 0 / 56px 100%,
    var(--bg-grad),
    var(--bg);
  background-attachment:fixed;
}
.mono{
  font-family:ui-monospace,"Cascadia Mono",Consolas,monospace;
  font-variant-numeric:tabular-nums;
}
h1,h2,h3,h4{
  font-family:inherit;
  font-weight:700;
  text-wrap:balance;
  margin:0 0 .6rem;
}
a{color:var(--accent); text-decoration:none;}
a:hover{text-decoration:underline;}
p{margin:0 0 1rem;}
code{
  font-family:ui-monospace,"Cascadia Mono",Consolas,monospace;
  font-size:.88em;
  background:var(--code-bg);
  border:1px solid var(--border);
  border-radius:6px;
  padding:1px 6px;
}
pre code{background:none;border:none;padding:0;}
main img{max-width:100%; height:auto;}

.page{max-width:860px;margin:0 auto;padding:0 clamp(1.2rem,4vw,3rem) 5rem;}

/* ---------- Шапка-хлебные крошки (стиль topbar) ---------- */
.crumbs{
  font-family:ui-monospace,"Cascadia Mono",Consolas,monospace;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:var(--muted);
  position:sticky; top:0; z-index:55;
  background:color-mix(in srgb, var(--bg) 82%, transparent);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--border);
  margin:0;
  padding:.8rem calc(clamp(1.2rem,4vw,3rem) + 3rem) .8rem
          calc(max(0px, 50vw - 430px) + clamp(1.2rem,4vw,3rem));
}
.crumbs a{color:var(--muted); text-decoration:none; border-bottom:1px solid transparent;}
.crumbs a:hover{color:var(--accent); border-color:var(--accent);}

#theme-toggle{
  position:fixed; top:.5rem; right:clamp(1rem,2.5vw,1.8rem); z-index:56;
  width:34px; height:34px;
  cursor:pointer;
  border:1px solid var(--border); border-radius:8px;
  background:var(--panel); color:var(--text);
  font-size:16px; line-height:1;
}
#theme-toggle:hover{border-color:var(--accent); color:var(--accent);}

.doc-head{border-bottom:1px solid var(--border); padding-bottom:1.4rem; margin-bottom:2rem;}
.doc-head .kicker{
  font-family:ui-monospace,"Cascadia Mono",Consolas,monospace;
  font-size:.72rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--accent); display:flex; gap:.6rem; align-items:center; margin-bottom:.7rem;
}
.doc-head .kicker::before{content:""; width:.5rem; height:.5rem; border-radius:50%; background:var(--accent); display:inline-block;}
.doc-head h1{font-size:clamp(1.6rem,3.6vw,2.3rem);}

/* Брифинг: о теме / аннотация / пререквизиты / мотивация */
.brief{
  background:var(--panel);
  border:1px solid var(--border);
  border-radius:14px;
  padding:1.3rem 1.5rem;
  margin:0 0 2rem;
  display:grid;
  gap:1rem;
}
.brief dt{
  font-family:ui-monospace,"Cascadia Mono",Consolas,monospace;
  font-size:.7rem; text-transform:uppercase; letter-spacing:.12em;
  color:var(--accent); margin-bottom:.3rem;
}
.brief dd{margin:0; font-size:.95rem;}
.brief ul{margin:0; padding-left:1.2rem;}
.brief li{margin-bottom:.25rem;}

section{margin:2.2rem 0;}
section[id], h2[id], h3[id]{scroll-margin-top:3.6rem;}
section > h2{
  font-size:1.4rem;
  border-top:1px solid var(--border);
  padding-top:1.1rem;
  margin-bottom:1rem;
}
section h3{font-size:1.15rem; margin-top:1.6rem;}

.eq{overflow-x:auto; margin:1rem 0;}
.eq-num{float:right; color:var(--muted); font-family:ui-monospace,Consolas,monospace; font-size:.85rem;}
.katex-display{overflow-x:auto; overflow-y:hidden; padding:4px 0;}

/* Типичная ошибка — инлайн-врезка рядом с темой */
.mistake{
  border:1px solid var(--border);
  border-left:3px solid var(--red);
  border-radius:0 10px 10px 0;
  background:var(--panel);
  padding:.8rem 1rem;
  margin:1.2rem 0;
  font-size:.95rem;
}
.mistake .label{
  font-family:ui-monospace,"Cascadia Mono",Consolas,monospace;
  font-size:.7rem; text-transform:uppercase; letter-spacing:.08em;
  color:var(--red); display:block; margin-bottom:.35rem;
}

/* Примечание/справка — нейтральная врезка */
.callout{
  border:1px solid var(--border);
  border-left:3px solid var(--accent);
  border-radius:0 10px 10px 0;
  background:var(--panel);
  padding:.8rem 1rem;
  margin:1.2rem 0;
  font-size:.95rem;
}
.callout .label{
  font-family:ui-monospace,"Cascadia Mono",Consolas,monospace;
  font-size:.7rem; text-transform:uppercase; letter-spacing:.08em;
  color:var(--accent); display:block; margin-bottom:.35rem;
}
.callout.def{border-left-color:var(--violet);}
.callout.def .label{color:var(--violet);}
.callout p:last-child{margin-bottom:0;}
.callout ul:last-child, .callout ol:last-child{margin-bottom:0;}

/* Задание практики: вопрос + раскрываемый ответ */
.task{
  border:1px solid var(--border);
  border-left:3px solid var(--accent-2);
  border-radius:0 10px 10px 0;
  background:var(--panel);
  padding:.8rem 1rem;
  margin:1.2rem 0;
}
.task .label{
  font-family:ui-monospace,"Cascadia Mono",Consolas,monospace;
  font-size:.7rem; text-transform:uppercase; letter-spacing:.08em;
  color:var(--accent-2); display:block; margin-bottom:.35rem;
}
.task details{margin-top:.5rem;}
.task summary{
  cursor:pointer; color:var(--muted);
  font-family:ui-monospace,"Cascadia Mono",Consolas,monospace;
  font-size:.78rem; text-transform:uppercase; letter-spacing:.06em;
}
.task summary:hover{color:var(--accent);}
.task p:last-child{margin-bottom:0;}

/* Пошаговая инструкция (практики, РГР) */
ol.steps{padding-left:1.4rem;}
ol.steps > li{margin-bottom:.7rem;}
ol.steps > li::marker{
  font-family:ui-monospace,Consolas,monospace;
  color:var(--accent);
}

/* Тренажёр */
.trainer{
  border:1px solid var(--border);
  border-radius:14px;
  background:var(--panel);
  box-shadow:var(--shadow);
  padding:1.3rem;
  margin:1.4rem 0;
}
.trainer .trainer-label{
  font-family:ui-monospace,"Cascadia Mono",Consolas,monospace;
  font-size:.7rem; text-transform:uppercase; letter-spacing:.08em;
  color:var(--accent); margin-bottom:.8rem; display:block;
}
.trainer .illustrative{
  font-size:.78rem; color:var(--muted); margin-top:.6rem;
}
.trainer button{
  font-family:ui-monospace,"Cascadia Mono",Consolas,monospace;
  font-size:.8rem;
  background:var(--panel-2); color:var(--text);
  border:1px solid var(--border); border-radius:8px;
  padding:.35rem .7rem; cursor:pointer;
}
.trainer button:hover{border-color:var(--accent); color:var(--accent);}
.trainer button.on{
  border-color:color-mix(in srgb, var(--accent) 55%, var(--border));
  background:color-mix(in srgb, var(--accent) 16%, var(--panel-2));
  color:var(--accent);
}
.trainer input[type="range"]{accent-color:var(--accent);}
.trainer textarea, .trainer input[type="text"]{
  font-family:ui-monospace,"Cascadia Mono",Consolas,monospace;
  font-size:.85rem; color:var(--text);
  background:var(--code-bg); border:1px solid var(--border); border-radius:8px;
  padding:.5rem .6rem;
  width:100%;
}
.trainer textarea:focus-visible, .trainer input[type="text"]:focus-visible{
  outline:1px solid var(--accent); outline-offset:0;
}
.trainer table{border-collapse:collapse; font-size:.84rem;}
.trainer th, .trainer td{
  border:1px solid var(--border); padding:.25rem .55rem; text-align:left;
  font-family:ui-monospace,"Cascadia Mono",Consolas,monospace;
}
.trainer th{color:var(--muted); font-weight:400; text-transform:none; background:var(--panel-2);}

/* Контрольные вопросы — флеш-карты */
.selfcheck{list-style:none; margin:0; padding:0; display:grid; gap:.6rem;}
.selfcheck li{border:1px solid var(--border); border-radius:10px; background:var(--panel); overflow:hidden;}
.selfcheck button.q{
  width:100%; text-align:left; padding:.8rem 6.5rem .8rem 1rem;
  background:none; border:none; color:var(--text); font:inherit; cursor:pointer;
  display:block; position:relative;
}
.selfcheck button.q:focus-visible{outline:2px solid var(--accent); outline-offset:-2px;}
.selfcheck button.q::after{
  content:"развернуть";
  font-family:ui-monospace,Consolas,monospace; font-size:.68rem;
  color:var(--accent); text-transform:uppercase;
  border:1px solid color-mix(in srgb, var(--accent) 40%, var(--border));
  border-radius:999px; padding:.15rem .6rem;
  position:absolute; right:1rem; top:.85rem;
}
.selfcheck li[data-open="true"] button.q::after{
  content:"свернуть";
  color:var(--accent-2);
  border-color:color-mix(in srgb, var(--accent-2) 40%, var(--border));
}
.selfcheck .a{
  padding:0 1rem; max-height:0; overflow:hidden; color:var(--muted);
  transition:max-height .2s ease, padding .2s ease;
}
.selfcheck li[data-open="true"] .a{padding:0 1rem 1rem; max-height:30rem;}

.sources{font-size:.92rem; padding-left:1.3rem;}
.sources li{margin-bottom:.5rem;}
ol.gost{font-size:.92rem; padding-left:1.3rem;}
ol.gost li{margin-bottom:.5rem;}

/* Иллюстрации: размер зажат, чтобы скриншоты не раздувались на всю колонку */
.figure{margin:1.6rem 0; text-align:center;}
.figure img{
  display:block; margin:0 auto;
  max-width:100%; max-height:min(62vh, 480px);
  width:auto; height:auto;
  border-radius:10px; border:1px solid var(--border);
  background:#fff; box-shadow:var(--shadow);
}
.figure.tall img{max-height:none;}
.figure figcaption{
  font-size:.8rem; color:var(--muted); margin-top:.6rem;
  font-family:ui-monospace,"Cascadia Mono",Consolas,monospace;
}
/* Узкая иллюстрация (схемы, вертикальные скриншоты) */
.figure.narrow img{max-width:min(480px,100%); max-height:380px;}
/* Ряд иллюстраций для сравнения */
.fig-row{display:flex; flex-wrap:wrap; gap:16px; align-items:flex-start; justify-content:center; margin:1.4rem 0;}
.fig-row .figure{flex:1 1 260px; max-width:340px; margin:0;}
.fig-row .figure img{max-height:320px;}

pre.code{
  background:var(--code-bg);
  border:1px solid var(--border);
  border-radius:10px;
  padding:1rem 1.2rem;
  overflow-x:auto;
  font-family:ui-monospace,"Cascadia Mono",Consolas,monospace;
  font-size:.86rem;
  line-height:1.55;
  margin:1.2rem 0;
}
pre.code .c{color:var(--muted); font-style:italic;}
pre.code .kw{color:var(--accent);}
pre.code .fn{color:var(--accent-2);}
pre.code .num{color:var(--amber);}
pre.code .str{color:var(--violet);}

.arch-table{width:100%; border-collapse:collapse; font-size:.86rem;}
.arch-table th, .arch-table td{
  border:1px solid var(--border); padding:.4rem .6rem; text-align:center;
  font-family:ui-monospace,Consolas,monospace;
}
.arch-table th{color:var(--muted); font-weight:400; background:var(--panel-2);}
.arch-table td:first-child, .arch-table th:first-child{text-align:left;}

/* обычная содержательная таблица (примеры отношений и т.п.) — по центру колонки */
.data-table{border-collapse:collapse; font-size:.9rem; margin:1rem auto;}
.data-table th, .data-table td{border:1px solid var(--border); padding:.3rem .7rem;}
.data-table th{
  background:var(--panel-2); font-weight:600; text-align:left;
  font-family:ui-monospace,Consolas,monospace; font-size:.8rem;
}
.data-table td{font-variant-numeric:tabular-nums;}
.data-table tr:nth-child(even) td{background:color-mix(in srgb, var(--panel) 60%, transparent);}

/* Схема: заголовок-рамка + ветви */
.scheme{margin:1.4rem 0;}
.scheme .scheme-title{
  border:1px solid color-mix(in srgb, var(--accent) 45%, var(--border));
  border-radius:10px;
  color:var(--accent); font-weight:700;
  background:var(--panel);
  padding:.8rem 1.2rem;
  text-align:center;
  font-size:1.05rem;
  max-width:26rem;
  margin:0 auto 1rem;
}
.scheme .scheme-branches{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem;
}
@media (max-width:560px){ .scheme .scheme-branches{grid-template-columns:1fr;} }
.scheme .branch{
  border:1px solid var(--border);
  border-radius:10px;
  background:var(--panel-2);
  padding:.8rem 1rem;
  text-align:center;
}
.scheme .branch .name{
  font-weight:700;
  font-size:1rem; margin-bottom:.4rem;
}
.scheme .branch .cond{font-size:.82rem; color:var(--muted);}

/* Схема-цепочка (этапы, конвейеры) */
.arch-chain{display:flex; flex-wrap:wrap; align-items:stretch; gap:.35rem; margin:1.1rem 0;}
.arch-chain .st{
  border:1px solid var(--border); border-radius:8px;
  background:var(--panel-2); padding:.3rem .5rem;
  font-family:ui-monospace,"Cascadia Mono",Consolas,monospace;
  font-size:.72rem; line-height:1.4; text-align:center;
  display:flex; flex-direction:column; justify-content:center;
}
.arch-chain .st small{color:var(--muted); font-size:.92em;}
.arch-chain .st.pool{border-style:dashed;}
.arch-chain .st.fc{background:var(--panel);}
.arch-chain .arr{align-self:center; color:var(--muted); font-size:.85rem;}
.arch-caption{font-size:.85rem; color:var(--muted); margin:-.4rem 0 1rem;}

/* Оглавление трека — сетка карточек-блоков (как .cards в курсе ДЗЗ) */
.toc{
  list-style:none; margin:1.4rem 0 0; padding:0;
  display:grid; grid-template-columns:repeat(auto-fill, minmax(300px, 1fr)); gap:16px;
}
.toc > li{display:grid;}
.toc > li > a, .toc > li.toc-soon{
  display:flex; flex-direction:column; align-items:flex-start; gap:.5rem;
  background:var(--panel); border:1px solid var(--border);
  border-radius:14px;
  padding:16px 18px 16px 21px; text-decoration:none; color:var(--text);
  position:relative; overflow:hidden;
  transition:transform .15s, border-color .15s, box-shadow .15s;
}
.toc > li > a::before, .toc > li.toc-soon::before{
  content:""; position:absolute; inset:0 auto 0 0; width:3px;
  background:var(--track-color, var(--accent));
}
.toc > li > a:hover{
  text-decoration:none; transform:translateY(-3px);
  border-color:var(--track-color, var(--accent)); box-shadow:var(--shadow);
}
.toc-num{
  color:var(--track-color, var(--accent));
  font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  border:1px solid color-mix(in srgb, var(--track-color, var(--accent)) 45%, transparent);
  border-radius:999px; padding:2px 10px;
}
.toc-body{display:grid; gap:.3rem;}
.toc-title{font-weight:700; font-size:1rem; line-height:1.35;}
.toc-desc{
  font-size:.83rem; color:var(--muted); line-height:1.5;
  display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden;
}
.toc-soon{opacity:.55;}
.toc-soon::before{opacity:.5;}
.toc-soon .toc-num{color:var(--muted); border-color:var(--border);}

/* Навигация между конспектами (низ страницы) */
.pagenav{
  display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap;
  margin-top:3rem; padding-top:1.2rem; border-top:1px solid var(--border);
}
.pagenav a{
  text-decoration:none; color:var(--text);
  border-bottom:1px solid transparent;
}
.pagenav a:hover{border-color:var(--accent); color:var(--accent); text-decoration:none;}
.pagenav .dir{
  display:block; font-family:ui-monospace,Consolas,monospace;
  font-size:.72rem; text-transform:uppercase; letter-spacing:.12em; color:var(--muted);
}
.pagenav .next{text-align:right; margin-left:auto;}

@media (prefers-reduced-motion: reduce){
  .selfcheck .a{transition:none;}
  html{scroll-behavior:auto;}
}

/* ---- навигация конспектов (assets/nav.js) ---- */

#snav{
  position:fixed; top:7.5rem; z-index:40;
  width:230px; max-height:calc(100vh - 10rem); overflow-y:auto;
  font-size:.8rem; line-height:1.45; padding-right:.5rem;
  --nav-accent:var(--accent);
}
#snav::-webkit-scrollbar{width:6px;}
#snav::-webkit-scrollbar-thumb{background:var(--border); border-radius:3px;}
.snav-toc-title{
  font-family:ui-monospace,Consolas,monospace; font-size:.82em;
  text-transform:uppercase; letter-spacing:.08em; color:var(--muted);
  margin-bottom:.45rem;
}
.snav-toc{list-style:none; margin:0; padding:0; border-left:1px solid var(--border);}
.snav-toc li{margin:0; padding:.14rem 0;}
.snav-toc li.sub a{padding-left:1.4rem;}
.snav-toc a{
  color:var(--muted); text-decoration:none; display:block;
  border-left:2px solid transparent; margin-left:-1.5px; padding-left:.6rem;
}
.snav-toc a:hover{color:var(--accent); text-decoration:none;}
.snav-toc a.active{color:var(--nav-accent); font-weight:600; border-left-color:var(--nav-accent);}
@media (max-width:1399px){ #snav{display:none;} }
@media (min-width:1400px){
  :root{
    --colml:clamp(3rem, 11vw, 220px);
    --colw:min(1320px, calc(100vw - var(--colml) - 294px));
  }
  body.has-snav .page{
    max-width:none;
    width:var(--colw);
    margin-left:var(--colml);
    margin-right:0;
    font-size:clamp(1.05rem, .55rem + .6vw, 1.18rem);
  }
  body.has-snav .crumbs{padding-left:calc(var(--colml) + clamp(1.2rem,4vw,3rem));}
  body.nav-index .page, body.nav-index .page.wide{
    max-width:none;
    width:min(1320px, calc(100vw - var(--colml) - 4rem));
    margin-left:var(--colml);
    margin-right:0;
    font-size:clamp(1.05rem, .55rem + .6vw, 1.18rem);
  }
  body.nav-index .crumbs{padding-left:calc(var(--colml) + clamp(1.2rem,4vw,3rem));}
  #snav{
    left:calc(var(--colml) + var(--colw) + 1.25rem);
    width:250px;
    font-size:clamp(.9rem, .45rem + .5vw, 1.03rem);
  }
}

#course-fab{
  position:fixed; right:1.6rem; bottom:1.2rem; z-index:61;
  width:3rem; height:3rem; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-size:1.15rem; cursor:pointer; border:none;
  background:var(--nav-accent); color:#08121f;
  box-shadow:0 6px 18px rgba(0,0,0,.35);
  transition:transform .15s ease;
  --nav-accent:var(--accent);
}
#course-fab:hover{transform:translateY(-2px);}
#course-fab:focus-visible{outline:2px solid var(--text); outline-offset:2px;}
#course-fab.open{transform:none; filter:brightness(.92);}
html[data-theme="light"] #course-fab{color:#ffffff;}
#course-pop{
  position:fixed; right:1.6rem; bottom:4.9rem; z-index:60;
  width:min(320px, calc(100vw - 2.4rem)); max-height:min(70vh, 520px); overflow-y:auto;
  background:var(--panel); border:1px solid var(--border);
  border-radius:12px;
  box-shadow:0 20px 50px rgba(0,0,0,.4);
  padding:.9rem 1rem 1rem; font-size:.82rem; line-height:1.4;
  --nav-accent:var(--accent);
}
#course-pop::-webkit-scrollbar{width:8px;}
#course-pop::-webkit-scrollbar-thumb{background:var(--border); border-radius:4px;}
.cpop-title{
  font-family:ui-monospace,Consolas,monospace; font-size:.78rem;
  letter-spacing:.05em;
  padding-bottom:.5rem; margin-bottom:.4rem; border-bottom:1px solid var(--border);
}
.cpop-title a{color:var(--nav-accent); text-decoration:none;}
.cpop-title a:hover{text-decoration:underline;}
.cpop-list{list-style:none; margin:0; padding:0;}
.cpop-list li{margin:0; padding:.24rem .5rem; border-radius:6px;}
.cpop-list a{color:var(--muted); text-decoration:none; display:block;}
.cpop-list a:hover{color:var(--accent); text-decoration:none;}
.cpop-list li:hover{background:var(--panel-2);}
.cpop-list .cpop-sep{
  font-family:ui-monospace,Consolas,monospace; font-size:.68rem;
  text-transform:uppercase; letter-spacing:.07em; color:var(--nav-accent);
  padding-top:.65rem;
}
.cpop-list .cpop-current{
  color:var(--text); font-weight:600;
  border-left:2px solid var(--nav-accent); border-radius:0 6px 6px 0;
  background:color-mix(in srgb, var(--nav-accent) 14%, transparent);
}
@media print{ #snav, #course-fab, #course-pop, #theme-toggle{display:none !important;} }
