/* Токены темы — те же, что в портале (frontend/src/styles/tokens.css): тёмный фон, золотой акцент. */
:root {
  --font-ui: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --font-display: 'Source Serif 4', Georgia, 'Times New Roman', serif;
  --font-mono: ui-monospace, 'SF Mono', Menlo, Consolas, monospace;

  --bg: #0e1412; --surface: #151d1a; --surface-2: #19231f; --surface-3: #1f2b26;
  --border: #28362f; --border-strong: #38493f;
  --text: #e8ede9; --text-2: #b5c1ba; --muted: #86948c;
  --accent: #62bba5; --accent-hover: #7accb8; --accent-contrast: #07201a; --accent-soft: #1b3730;
  --gold: #e3bd5c; --gold-soft: #3a3016; --gold-ink: #1d1604;
  --ok: #6fcf8f; --ok-soft: #17301f; --warn: #efb858; --warn-soft: #382a0f;
  --danger: #ee8c7c; --danger-soft: #3b1c17; --info: #7fb4ea; --info-soft: #172a3d;
  --shadow: 0 1px 2px rgba(0,0,0,.4), 0 18px 40px -18px rgba(0,0,0,.65);
  --glow-a: rgba(227,189,92,.10); --glow-b: rgba(98,187,165,.12);
  --radius: 10px; --radius-lg: 18px;
  color-scheme: dark;
}
:root[data-theme='light'] {
  --bg: #f3f0e8; --surface: #ffffff; --surface-2: #faf8f2; --surface-3: #f1eee5;
  --border: #e2ddd0; --border-strong: #cfc8b6;
  --text: #1a2420; --text-2: #4b5852; --muted: #76827b;
  --accent: #17463f; --accent-hover: #0f332e; --accent-contrast: #ffffff; --accent-soft: #e2eeea;
  --gold: #b0801a; --gold-soft: #f5ebcf; --gold-ink: #fff;
  --ok: #2c7a47; --ok-soft: #e0f0e5; --warn: #9a5b08; --warn-soft: #faedd0;
  --danger: #a7392a; --danger-soft: #f8e2de; --info: #2c5d8f; --info-soft: #e1ebf6;
  --shadow: 0 1px 2px rgba(26,36,32,.05), 0 18px 40px -20px rgba(26,36,32,.28);
  --glow-a: rgba(176,128,26,.10); --glow-b: rgba(23,70,63,.08);
  color-scheme: light;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; background: var(--bg); color: var(--text); font-family: var(--font-ui); font-size: 16px; line-height: 1.55; }
img, svg { max-width: 100%; }
a { color: var(--accent); text-underline-offset: 3px; }
a:hover { color: var(--accent-hover); }
:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; border-radius: 4px; }
::selection { background: var(--gold); color: var(--gold-ink); }
.mono { font-family: var(--font-mono); font-size: .86em; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { animation: none !important; transition: none !important; } }
