/* ============================================================
   Скин интерактивных вставок курса АиП (страницы в assets/…,
   встраиваемые через iframe). Приводит фон, шрифты и элементы
   управления к дизайну «инженерная тетрадь», не трогая логику
   и собственные инлайн-стили страницы (они сильнее).
   Тема синхронизируется с конспектом через localStorage
   ("alg-theme") — см. скрипт, вставляемый вместе с этим css.
   ============================================================ */
:root {
  --paper: #faf8f2;
  --card: #ffffff;
  --ink: #1e2a3a;
  --ink-strong: #16324f;
  --ink-faded: #5d6a79;
  --accent: #2b5d8a;
  --accent-wash: #e8eff6;
  --red-pen: #b3402e;
  --green-pen: #3a6b4f;
  --rule: rgba(30, 42, 58, 0.14);
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --paper: #20242c; --card: #262b34; --ink: #c8cfd9; --ink-strong: #dbe5f0;
    --ink-faded: #98a2b0; --accent: #6f9cc9; --accent-wash: rgba(111,156,201,.16);
    --red-pen: #d47a6a; --green-pen: #7bb894; --rule: rgba(200,207,217,.20);
    color-scheme: dark;
  }
}
:root[data-theme="dark"] {
  --paper: #20242c; --card: #262b34; --ink: #c8cfd9; --ink-strong: #dbe5f0;
  --ink-faded: #98a2b0; --accent: #6f9cc9; --accent-wash: rgba(111,156,201,.16);
  --red-pen: #d47a6a; --green-pen: #7bb894; --rule: rgba(200,207,217,.20);
  color-scheme: dark;
}
body {
  background-color: var(--paper);
  color: var(--ink);
  font-family: "Segoe UI", "PT Sans", system-ui, sans-serif;
}
h1, h2, h3, h4 { color: var(--ink-strong); font-family: Cambria, Georgia, serif; }
a { color: var(--accent); }
button, input[type="button"], input[type="submit"] {
  font: inherit;
  font-weight: 600;
  color: #fff;
  background: var(--accent);
  border: none;
  border-radius: 6px;
  padding: 8px 18px;
  cursor: pointer;
}
input[type="text"], input[type="number"], input[type="password"], select, textarea {
  font-family: "Cascadia Code", Consolas, monospace;
  color: var(--ink);
  background: var(--card);
  border: 1px solid var(--rule);
  border-radius: 6px;
  padding: 6px 10px;
}
input[type="range"] { accent-color: var(--accent); }
table { border-collapse: collapse; }
th, td { border: 1px solid var(--rule); padding: 6px 12px; }

/* Листинги во вставках-«паролях»: тот же вид, что и в конспекте */
pre {
  position: relative;
  background: var(--card);
  color: var(--ink);
  border: 1px solid var(--rule);
  border-left: 3px solid var(--accent);
  border-radius: 0 6px 6px 0;
  padding: 14px 16px;
  overflow-x: auto;
  font-family: "Cascadia Code", Consolas, monospace;
  font-size: .88rem;
  line-height: 1.5;
}
pre code { font-family: inherit; background: none; color: inherit; }
.alg-copy {
  position: absolute; top: 7px; right: 9px;
  font-family: Consolas, monospace; font-size: .68rem; letter-spacing: .06em;
  color: var(--ink-faded); background: var(--card);
  border: 1px solid var(--rule); border-radius: 4px; padding: 2px 9px; cursor: pointer; z-index: 3;
}
.alg-copy:hover { color: var(--accent); border-color: var(--accent); }
/* вкладки внутри вставок — под тему (перебиваем инлайновый <style> вставки) */
.tabs button {
  background: var(--paper) !important;
  color: var(--ink-faded) !important;
  border: 1px solid var(--rule) !important;
  border-bottom: none !important;
  font-family: Consolas, monospace !important;
}
.tabs button.active {
  background: var(--accent) !important;
  color: #fff !important;
  border-color: var(--accent) !important;
}
