/* happ-proxy.top — характер: тихая техника, ночной пульт.
   Глубокий графит, один холодный мятный акцент, широкий display в заголовках. */

:root {
  --bg: #0D1014;
  --surface: #141920;
  --surface-sunk: #101419;
  --ink: #EAEFF2;
  --ink-soft: #AFBAC4;
  --muted: #7C8894;
  --line: #222A33;
  --line-strong: #323C48;
  --accent: #3ED9A4;
  --accent-hover: #5EE7B7;
  --accent-soft: #10251E;
  --accent-line: #1C4638;
  --on-accent: #06211A;
  --warn: #E0A86A;
  --warn-soft: #251C12;
  --glow: rgba(62, 217, 164, .10);

  --mock-bg: #171D25;
  --mock-edge: #29323D;
  --mock-screen: #0E1218;
  --mock-row: #161C24;
  --mock-shadow: 0 30px 70px -30px rgba(0, 0, 0, .9);

  --font-display: "Unbounded", "Golos Text", system-ui, sans-serif;
  --font-ui: "Golos Text", "Segoe UI", system-ui, sans-serif;
  --font-text: "Golos Text", "Segoe UI", system-ui, sans-serif;
  --font-mono: "JetBrains Mono", Consolas, monospace;

  --measure: 68ch;
  --radius: 9px;
  --shell: 1200px;
  --leading: 1.62;
  --size-text: 16.5px;
}

:root[data-theme="light"] {
  --bg: #FBFBFA;
  --surface: #FFFFFF;
  --surface-sunk: #F3F5F4;
  --ink: #101418;
  --ink-soft: #3A434C;
  --muted: #6A757F;
  --line: #E4E8E6;
  --line-strong: #CCD3D0;
  --accent: #0B8F63;
  --accent-hover: #087350;
  --accent-soft: #E6F5EF;
  --accent-line: #BFE6D6;
  --on-accent: #FFFFFF;
  --warn: #A9500F;
  --warn-soft: #FAEFE4;
  --glow: rgba(11, 143, 99, .07);

  --mock-bg: #EDF0EF;
  --mock-edge: #DADFDD;
  --mock-screen: #FFFFFF;
  --mock-row: #F4F6F5;
  --mock-shadow: 0 30px 60px -32px rgba(16, 32, 26, .35);
}

@media (prefers-color-scheme: light) {
  :root:not([data-theme="dark"]) {
    --bg: #FBFBFA;
    --surface: #FFFFFF;
    --surface-sunk: #F3F5F4;
    --ink: #101418;
    --ink-soft: #3A434C;
    --muted: #6A757F;
    --line: #E4E8E6;
    --line-strong: #CCD3D0;
    --accent: #0B8F63;
    --accent-hover: #087350;
    --accent-soft: #E6F5EF;
    --accent-line: #BFE6D6;
    --on-accent: #FFFFFF;
    --warn: #A9500F;
    --warn-soft: #FAEFE4;
    --glow: rgba(11, 143, 99, .07);
    --mock-bg: #EDF0EF;
    --mock-edge: #DADFDD;
    --mock-screen: #FFFFFF;
    --mock-row: #F4F6F5;
    --mock-shadow: 0 30px 60px -32px rgba(16, 32, 26, .35);
  }
}

.brand { font-family: var(--font-display); font-size: 15.5px; letter-spacing: -0.02em; }

/* Нумерация в боковом оглавлении — справочная деталь внутренних страниц */
.side__list { counter-reset: nav; }
.side__list a::before {
  counter-increment: nav;
  content: counter(nav, decimal-leading-zero);
  font-size: 11px;
  color: var(--line-strong);
  margin-right: 9px;
  font-variant-numeric: tabular-nums;
}
.side__list a[aria-current="page"]::before { color: var(--accent); }
