/* LumineVPN design tokens – единый источник для лендинга/ЛК/дашборда/deeplink.
   Спека: docs/superpowers/specs/2026-07-14-web-redesign-design.md (§2, §4).
   ⚠ status.html (lmn.lat) несёт КОПИЮ токенов инлайном – при правке синхронизировать. */

/* ── @font-face: Golos Text (вариативный, wght 400-900) + JetBrains Mono 500 ── */
@font-face {
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/static/fonts/golos-text-wght-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/static/fonts/golos-text-wght-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/static/fonts/jetbrains-mono-500-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/static/fonts/jetbrains-mono-500-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ── Токены (спека §2) ── */
:root {
  /* фон и поверхности */
  --bg: #05070D;
  --surface: rgba(255,255,255,.032);
  --surface-2: rgba(255,255,255,.055);
  --hairline: rgba(255,255,255,.07);
  --border-card: rgba(255,255,255,.05);
  --border-hover: rgba(115,150,255,.30);
  /* текст */
  --text: #F2F5FF;
  --text-2: #C9D4F2;
  --muted: #8A94B8;
  /* акцент */
  --accent: #3E7BFF;
  --accent-2: #7C3AED;
  --grad: linear-gradient(135deg, #3E7BFF, #7C3AED);
  --link: #7CA2FF;
  --link-hover: #A5C2FF;
  /* семантика */
  --ok: #4ADE80;
  --warn: #FBBF24;
  --bad: #FB7185;
  /* геометрия */
  --r-card: 20px;
  --r-input: 13px;
  --r-pill: 999px;
  /* шрифты */
  --font: 'Golos Text', -apple-system, 'Segoe UI', sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, monospace;
}

/* ── Polish-база (спека §4: скроллбары, спиннеры, selection, focus, autofill) ── */
::selection { background: rgba(62,123,255,.35); }

* { scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.1) transparent; }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(255,255,255,.1); border-radius: 999px; border: 2px solid var(--bg); }
::-webkit-scrollbar-thumb:hover { background: rgba(255,255,255,.18); }

input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
input[type=number] { -moz-appearance: textfield; appearance: textfield; }

:focus-visible { outline: 2px solid #7CA2FF; outline-offset: 3px; }

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 1000px #0B0F1A inset;
  -webkit-text-fill-color: var(--text);
  caret-color: var(--text);
}

summary { list-style: none; }
summary::-webkit-details-marker { display: none; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}
