/* ─────────────────────────────────────────────────────────────────────────
   edscout · дизайн-токены
   Визуал — от jbscout (неон-терминал, тёмная база, моно-шрифт).
   Структура/шаблоны — от adwow LMS (курс → урок → квиз, карточки, таймлайн).
   Тема одна (dark-first), как в jbscout. Шрифты с кириллицей (Space Mono её не
   поддерживает — взят JetBrains Mono как моно-аналог того же духа).
   ───────────────────────────────────────────────────────────────────────── */
:root{
  /* Поверхности (из палитры jbscout) */
  --bg:#0d0208; --panel:#140810; --panel-2:#1b0d15;
  --border:#2c1622; --border-soft:#1f1119;

  /* Текст */
  --text:#f2f2f2; --sub:#8f8790; --muted:#5c545c;

  /* Неоновые акценты: edscout = циан-неон (вместо розового jbscout) */
  --brand:#22e6e6;   /* циан-неон — бренд, основная CTA, активный элемент */
  --ok:#c6f135;      /* кислотно-зелёный — верный ответ, «пройдено» */
  --warn:#ffb800;    /* янтарь — предупреждение, частично */
  --info:#9b8cff;    /* неон-фиолет — вторичный акцент/секции */
  --no:#ff4d6d;      /* красный — неверный ответ */

  --brand-soft:rgba(34,230,230,.12);
  --ok-soft:rgba(198,241,53,.10);
  --no-soft:rgba(255,77,109,.10);
  --info-soft:rgba(155,140,255,.12);

  /* Шрифты */
  --mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; /* интерфейс, заголовки, метки, числа */
  --sans:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;  /* длинный текст уроков */

  /* Радиусы и тени */
  --r:10px; --r-sm:6px; --r-lg:16px;
  --glow-brand:0 0 20px color-mix(in srgb,var(--brand) 32%,transparent);
  --glow-ok:0 0 16px rgba(198,241,53,.30);
  --on-accent:#0d0208;   /* цвет текста на ярком акценте (кнопки, бейджи) */
  color-scheme:dark;
}

/* ─── Светлая тема: по системе (если явно не выбрана тёмная) и по data-theme="light" ─── */
@media (prefers-color-scheme:light){ :root:not([data-theme="dark"]){
  --bg:#f2f4f8; --panel:#ffffff; --panel-2:#eef1f6;
  --border:#dbe0e8; --border-soft:#e8ebf1;
  --text:#161922; --sub:#586070; --muted:#8a93a3;
  --brand:#0a858d; --ok:#3d8a41; --warn:#b07517; --info:#5a4ec6; --no:#d0394d;
  --brand-soft:rgba(10,133,141,.12); --ok-soft:rgba(61,138,65,.12);
  --no-soft:rgba(208,57,77,.10); --info-soft:rgba(90,78,198,.12);
  --on-accent:#ffffff;
  --glow-brand:0 2px 8px rgba(10,133,141,.22); --glow-ok:0 2px 8px rgba(61,138,65,.22);
  --shadow:0 1px 2px rgba(20,30,60,.05), 0 8px 24px rgba(20,30,60,.08);
  color-scheme:light;
}}
:root[data-theme="light"]{
  --bg:#f2f4f8; --panel:#ffffff; --panel-2:#eef1f6;
  --border:#dbe0e8; --border-soft:#e8ebf1;
  --text:#161922; --sub:#586070; --muted:#8a93a3;
  --brand:#0a858d; --ok:#3d8a41; --warn:#b07517; --info:#5a4ec6; --no:#d0394d;
  --brand-soft:rgba(10,133,141,.12); --ok-soft:rgba(61,138,65,.12);
  --no-soft:rgba(208,57,77,.10); --info-soft:rgba(90,78,198,.12);
  --on-accent:#ffffff;
  --glow-brand:0 2px 8px rgba(10,133,141,.22); --glow-ok:0 2px 8px rgba(61,138,65,.22);
  --shadow:0 1px 2px rgba(20,30,60,.05), 0 8px 24px rgba(20,30,60,.08);
  color-scheme:light;
}

*{box-sizing:border-box}
html,body{background:var(--bg)}
body{
  margin:0;color:var(--text);
  font-family:var(--sans);font-size:14px;line-height:1.6;
  -webkit-font-smoothing:antialiased;
}

/* Заголовки и метки — моно-терминальный характер jbscout */
h1,h2,h3,h4{font-family:var(--mono);font-weight:700;line-height:1.2;text-wrap:balance;margin:0}
.lbl{font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:var(--muted)}
.num{font-family:var(--mono);font-variant-numeric:tabular-nums}

/* ── Шаблоны из adwow LMS, перекрашенные в визуал jbscout ── */

/* Карточка-контейнер (урок/секция) */
.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--r);padding:16px}

/* Концепт-карточка (сетка понятий — паттерн adwow) */
.cc{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:13px 14px}
.cc h4{font-size:15px;margin-bottom:5px;color:var(--text)}
.cc p{margin:0;font-size:13px;color:var(--sub);line-height:1.5}

/* Кнопка */
.btn{font-family:var(--mono);font-weight:700;font-size:12.5px;text-transform:uppercase;letter-spacing:.04em;
  border:1px solid var(--brand);background:var(--brand);color:var(--on-accent);border-radius:var(--r-sm);
  padding:11px 16px;cursor:pointer;box-shadow:var(--glow-brand);transition:filter .15s}
.btn:hover{filter:brightness(1.08)}
.btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}
.btn--ghost{background:transparent;color:var(--sub);border-color:var(--border);box-shadow:none}
.btn--ghost:hover{color:var(--text);border-color:var(--brand)}

/* Квиз — варианты и состояния (паттерн adwow: verный/неверный/разбор) */
.opt{display:flex;gap:10px;align-items:center;width:100%;text-align:left;cursor:pointer;
  background:var(--panel);border:1px solid var(--border);border-radius:var(--r-sm);
  padding:11px 13px;color:var(--text);font-family:var(--sans);font-size:14px;transition:border-color .12s}
.opt:hover:not(:disabled){border-color:var(--brand)}
.opt-k{flex:none;width:24px;height:24px;border-radius:6px;display:grid;place-items:center;
  font-family:var(--mono);font-size:12px;font-weight:700;background:var(--panel-2);
  border:1px solid var(--border);color:var(--sub)}
.opt.ok{border-color:var(--ok);background:var(--ok-soft)}
.opt.ok .opt-k{background:var(--ok);border-color:var(--ok);color:var(--on-accent)}
.opt.no{border-color:var(--no);background:var(--no-soft)}
.opt.no .opt-k{background:var(--no);border-color:var(--no);color:var(--on-accent)}
.exp{margin-top:10px;font-size:13px;line-height:1.5;padding:11px 13px;border-radius:var(--r-sm);
  border:1px solid var(--border);background:var(--panel)}
.exp.ok{border-left:2px solid var(--ok)}
.exp.no{border-left:2px solid var(--no)}

/* Прогресс-полоса */
.bar{height:5px;background:var(--border);border-radius:999px;overflow:hidden}
.bar>i{display:block;height:100%;background:linear-gradient(90deg,var(--brand),var(--info));
  border-radius:999px;box-shadow:var(--glow-brand)}

/* Нижний таб-бар — паттерн Mini App из jbscout */
.tabbar{position:fixed;left:0;right:0;bottom:0;display:flex;background:var(--panel);
  border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom,0)}
.tabbar button{flex:1;background:transparent;border:0;color:var(--muted);
  font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.06em;
  padding:10px 0;cursor:pointer}
.tabbar button.on{color:var(--brand)}

:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:6px}
