/* ===========================================================================
   ui/tokens.css - A HÁZ EGYETLEN TOKEN-KÉSZLETE.

   MIÉRT VAN EZ A FÁJL. 2026-08-27-ig három token-készlet élt egymás mellett:
     - a site (index.html :root)        --ink / --surface / --line / --accent
     - az admin (admin.css :root)       UGYANAZ a szótár, külön példányban
     - a fiók (fiok.html inline :root)  MÁS szótár: --text / --muted / --faint
                                        / --border / --soft / --okbg / --warnbg
   A fiók volt az egyetlen kilógó. Ez nem elméleti baj: a `nav.css` a site
   tokenjeire épít, és a fiók tetején ott ül a nav - vagyis a lap két, egymást
   nem ismerő palettából volt összerakva.

   Ez a fájl a site+admin szótárát emeli ki közösnek (az VOLT a többség, és az
   ment át az admin WCAG-mérésén), és hozzáteszi azt a két skálát, ami eddig
   sehol nem létezett: a TIPOGRÁFIÁT és a TÉRKÖZT. A fiókban 2026-08-27 előtt
   hét különböző betűméret futott (12,5 · 13 · 13,5 · 14 · 14,5 · 15 · 18 · 19),
   egyik sem skálából - ezért nézett ki „majdnem jól" minden képernyő.

   ❗ A RÉGI FIÓK-NEVEK ALIASKÉNT ITT VANNAK. Nem azért, hogy tovább éljenek,
   hanem hogy a refaktor ne egyetlen, 1700 soros nagy ugrás legyen. Új szabályt
   ezekkel NE írj - a `_tests/fiok-igazsag.cjs` számolja őket, és ha a szám nő,
   a deploy megáll.

   ❗ HÁROM TÉMA-ÁLLAPOT VAN, nem kettő: a kifejezett választás
   (`data-theme`), és a „rendszer szerint" (semmi attribútum). Ezért a sötét
   értékek KÉTSZER szerepelnek: a `prefers-color-scheme` blokkban
   `:not([data-theme="light"])` őrzéssel, és a `[data-theme="dark"]` blokkban.
   Enélkül a nav-ban lévő váltó az egyik irányban nem hatna.
   =========================================================================== */

:root {
  /* ---- felületek és tinta ---- */
  --line-rgb: 31, 32, 35;
  --bg: #FFFFFF;
  --surface: #F6F5F2;
  --card: #FFFFFF;
  --field: #FBFAF8;
  --chrome: #F4F3F0;
  --ink: #1F2023;
  --ink-soft: #5C6066;
  --ink-mute: #6C7075;
  --line: rgba(var(--line-rgb), 0.14);
  --line-soft: rgba(var(--line-rgb), 0.08);

  /* ---- akcent: EGY hűvös kék, nincs második márkaszín ---- */
  --accent: #2B5CFF;
  --accent-hover: #1E48D8;
  --accent-ink: #FFFFFF;
  --btn-solid-bg: #1F2023;
  --btn-solid-hover: #3A3B40;
  --btn-solid-ink: #FFFFFF;

  /* ---- állapotszínek. Szín CSAK ott, ahol teendő van. ----
     A `--ok` szándékosan nem jelvényszín: a rendezett dolog halk. */
  --ok: #1E7A46;      --ok-bg: rgba(30, 122, 70, 0.10);
  --warn: #8A5A00;    --warn-bg: rgba(216, 150, 20, 0.14);  --warn-line: rgba(216, 150, 20, 0.42);
  --bad: #A32B1E;     --bad-bg: rgba(163, 43, 30, 0.10);    --bad-line: rgba(163, 43, 30, 0.32);

  --arnyek: 0 1px 2px rgba(var(--line-rgb), 0.06), 0 8px 24px rgba(var(--line-rgb), 0.06);
  --arnyek-nagy: 0 12px 48px rgba(var(--line-rgb), 0.18);

  /* ---- TIPOGRÁFIA-SKÁLA ----
     Hat fok, és ennyi. Ami nem fér bele, azt nem méretezéssel kell megoldani,
     hanem súllyal (`--v-*`) vagy tintával (`--ink-soft`). A `--sz-0` a
     legkisebb, amit a fiókban engedünk: 12 px alatt a magyar ékezet
     összefolyik a mobil kijelzőn. */
  --sz-0: 12.5px;   /* apró kísérőszöveg, egységek */
  --sz-1: 13.5px;   /* másodlagos sor, címke */
  --sz-2: 15px;     /* alapszöveg */
  --sz-3: 17px;     /* kártyacím */
  --sz-4: 21px;     /* mérőszám */
  --sz-5: clamp(1.55rem, 4vw, 2.05rem);  /* lapcím */
  --v-normal: 400;
  --v-kozep: 500;
  --v-felkover: 600;
  --v-kover: 700;
  --sor-suru: 1.35;
  --sor-alap: 1.55;
  /* Nagy számok betűköze. A mérőszámoknál (215 200 Ft) az alapértelmezett
     köz szétesőnek látszik. */
  --betukoz-cim: -0.02em;

  /* ---- TÉRKÖZ-SKÁLA (4 px alapú) ---- */
  --t-1: 4px;
  --t-2: 8px;
  --t-3: 12px;
  --t-4: 16px;
  --t-5: 24px;
  --t-6: 32px;
  --t-7: 48px;

  /* ---- forma ---- */
  --ker-kicsi: 8px;
  --ker: 12px;
  --ker-nagy: 16px;
  --ker-pirula: 999px;

  /* ---- mozgás. Egy időzítés, egy görbe. ---- */
  --ido: 150ms;
  --gorbe: cubic-bezier(0.2, 0, 0.2, 1);

  /* ---- RÉGI FIÓK-NEVEK, átmenetileg. Ne építs rájuk újat. ---- */
  --text: var(--ink);
  --muted: var(--ink-soft);
  --faint: var(--ink-mute);
  --border: var(--line);
  --soft: var(--surface);
  --onaccent: var(--accent-ink);
  --okbg: var(--ok-bg);
  --warnbg: var(--warn-bg);
  --badbg: var(--bad-bg);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --line-rgb: 255, 255, 255;
    --bg: #0C0D10;
    --surface: #17191E;
    --card: #141619;
    --field: #191B20;
    --chrome: #1B1D22;
    --ink: #ECEEF1;
    --ink-soft: #ABAFB7;
    --ink-mute: #9298A2;
    --line: rgba(var(--line-rgb), 0.13);
    --line-soft: rgba(var(--line-rgb), 0.08);
    --accent: #6E8CFF;
    --accent-hover: #8AA1FF;
    --accent-ink: #0C0D10;
    --btn-solid-bg: #2B5CFF;
    --btn-solid-hover: #1E48D8;
    --btn-solid-ink: #FFFFFF;
    --ok: #6FD79A;    --ok-bg: rgba(46, 158, 88, 0.16);
    --warn: #F2C14E;  --warn-bg: rgba(242, 193, 78, 0.14);  --warn-line: rgba(242, 193, 78, 0.38);
    --bad: #F09B90;   --bad-bg: rgba(192, 57, 43, 0.18);    --bad-line: rgba(240, 155, 144, 0.34);
    --arnyek: 0 1px 2px rgba(0, 0, 0, 0.4), 0 8px 24px rgba(0, 0, 0, 0.34);
    --arnyek-nagy: 0 12px 48px rgba(0, 0, 0, 0.55);
  }
}

:root[data-theme="dark"] {
  --line-rgb: 255, 255, 255;
  --bg: #0C0D10;
  --surface: #17191E;
  --card: #141619;
  --field: #191B20;
  --chrome: #1B1D22;
  --ink: #ECEEF1;
  --ink-soft: #ABAFB7;
  --ink-mute: #9298A2;
  --line: rgba(var(--line-rgb), 0.13);
  --line-soft: rgba(var(--line-rgb), 0.08);
  --accent: #6E8CFF;
  --accent-hover: #8AA1FF;
  --accent-ink: #0C0D10;
  --btn-solid-bg: #2B5CFF;
  --btn-solid-hover: #1E48D8;
  --btn-solid-ink: #FFFFFF;
  --ok: #6FD79A;    --ok-bg: rgba(46, 158, 88, 0.16);
  --warn: #F2C14E;  --warn-bg: rgba(242, 193, 78, 0.14);  --warn-line: rgba(242, 193, 78, 0.38);
  --bad: #F09B90;   --bad-bg: rgba(192, 57, 43, 0.18);    --bad-line: rgba(240, 155, 144, 0.34);
  --arnyek: 0 1px 2px rgba(0, 0, 0, 0.4), 0 8px 24px rgba(0, 0, 0, 0.34);
  --arnyek-nagy: 0 12px 48px rgba(0, 0, 0, 0.55);
}

/* ❗ AKI KIKAPCSOLTA A MOZGÁST, ANNAK KAPCSOLJUK KI. A fiókban 2026-08-27 előtt
   két `scrollTo({behavior:'smooth'})` és egy 400 ms-os kiemelés-átmenet futott,
   `prefers-reduced-motion` kezelés NÉLKÜL. Vesztibuláris panasznál a lassú
   görgetés valódi rosszullétet okoz - ez nem ízlés kérdése.
   A `scroll-behavior:auto` a CSS-oldali görgetést állítja; a JS-oldalit a
   `ui/mozgas.js` `simanGorget()`-je nézi meg ugyanezzel a médialekérdezéssel. */
@media (prefers-reduced-motion: reduce) {
  :root { --ido: 1ms; }
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: 1ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 1ms !important;
    scroll-behavior: auto !important;
  }
}
