/* Żetonik — kierunek „Neopiksel": piksel jak z kartridża, światło jak z 2026.
   Źródło prawdy koloru i typografii. Ciemny-first: jasnego motywu nie ma i nie planujemy.
   Fonty (OFL) leżą w branding/fonts/, @font-face jest w design/makiety/shared/frame.css.
   Aplikacja dostaje tokeny z generatora: app/tool/brand.dart → lib/core/theme/tokens.g.dart. */
:root {
  /* — tło i powierzchnie — */
  --zt-bg:            #120e26; /* noc: tło ekranów i planszy */
  --zt-bg-deep:       #0a0818; /* dno gradientu planszy, scrim pod arkuszem */
  --zt-surface:       #1c1738; /* panele, arkusz końca gry */
  --zt-surface-2:     #282150; /* kafle gier, przyciski drugorzędne */
  --zt-surface-3:     #352c68; /* stan wciśnięty, pole aktywne */
  --zt-line:          #3e3576; /* obrys dekoracyjny, separatory */
  --zt-line-strong:   #7564c8; /* obrys elementu klikalnego (≥ 3:1 do tła) */

  /* — tekst — */
  --zt-text:          #f3efff; /* tekst główny */
  --zt-text-2:        #b8afe0; /* tekst drugorzędny, podpisy */
  --zt-text-3:        #8c82bd; /* podpowiedzi, wyłączone; tylko na bg i surface */

  /* — akcenty marki — */
  --zt-coin:          #ffc53d; /* żeton: waluta i główne wezwanie do działania; nic innego */
  --zt-coin-deep:     #c98a12; /* rant żetonu, wciśnięty przycisk główny */
  --zt-on-coin:       #1d1300; /* tekst na żetonie */
  --zt-player:        #52d6ff; /* gracz i jego pociski, fokus klawiatury */
  --zt-hostile:       #ff4d6d; /* pociski wroga, zagrożenie w grze */

  /* — stany (zawsze z ikoną i słowem, nigdy sam kolor) — */
  --zt-success:       #3fe0a8; /* rekord, zapisano, nagroda odebrana */
  --zt-warning:       #ff7e3d; /* brak sieci, reklama niedostępna */
  --zt-danger:        #ff4d6d; /* utrata życia, usunięcie postępu */

  /* — akcenty gier: przydział robi zespół, kolor nie zmienia znaczenia w obrębie gry — */
  --zt-game-1:        #52d6ff; /* błękit — chłód, przestrzeń */
  --zt-game-2:        #3fe0a8; /* mięta — wzrost, ruch ciągły */
  --zt-game-3:        #89f174; /* limonka — energia, refleks */
  --zt-game-4:        #ff7e3d; /* pomarańcz — żar, uderzenie */
  --zt-game-5:        #ff5fae; /* róż — układanie, zabawa */
  --zt-game-6:        #a68cff; /* lila — zagadka, spokój */
  --zt-game-7:        #4d7cff; /* kobalt — robota, konstrukcja */
  --zt-game-8:        #c45ec0; /* orchidea — lukier, słodycz */
  --zt-on-game:       #120e26; /* tekst na pełnym akcencie gry */

  /* — paleta pikseli: 17 kolorów dla wszystkich sprite'ów; nowy kolor = decyzja AD — */
  --zt-px-ink:        #0b0819; /* kontur */
  --zt-px-night:      #2b2154; /* najgłębszy cień */
  --zt-px-dusk:       #5a4a9e; /* cień chłodny */
  --zt-px-lilac:      #a68cff; /* kryształ, blask chłodny */
  --zt-px-white:      #f3efff; /* światło, rdzeń pocisku */
  --zt-px-cyan:       #52d6ff; /* kadłub gracza */
  --zt-px-blue:       #2f7fe0; /* cień kadłuba gracza */
  --zt-px-mint:       #3fe0a8; /* wzmocnienia */
  --zt-px-lime:       #89f174; /* obcy pancerz; jaśniejszy i zieleńszy od żetonu, by deuteranop je rozróżnił */
  --zt-px-amber:      #ffc53d; /* żeton, kabina, płomień */
  --zt-px-orange:     #ff7e3d; /* ogień, wrogi dron */
  --zt-px-rose:       #ff4d6d; /* wrogie światła, pociski wroga */
  --zt-px-pink:       #ff5fae; /* wrogi pierścień */
  --zt-px-plum:       #8f2c7a; /* cień wrogów */
  --zt-px-stone:      #a08a78; /* skała */
  --zt-px-stone-dk:   #5e4b47; /* cień skały */
  --zt-px-shell:      #f6e2c8; /* skorupka i papier: jajko, kafel Paczuszki; blik na nim to px-white */
  --zt-px-size:       3px;     /* piksel sprite'a w pt (na Pixelu 8a = 8 px fizycznych) */

  /* — typografia — */
  --zt-font-pixel:    "Tiny5", ui-monospace, monospace;          /* nagłówki, HUD, liczby, przyciski */
  --zt-font-ui:       "Atkinson Hyperlegible Next", system-ui, sans-serif; /* zdania, opisy, ustawienia */
  --zt-font-num:      "ZT Num", ui-monospace, monospace;     /* liczby poza tekstem pikselowym: Jersey 10 (frame.css), cyfry jednoznaczne */
  --zt-pixel-regular: "wght" 400, "wdth" 100;
  --zt-pixel-bold:    "wght" 700, "wdth" 100;
  --zt-pixel-hud:     "wght" 700, "wdth" 85;  /* węższe cyfry: wynik mieści 7 znaków w 1/3 szerokości */
  --zt-fs-px-s:       16px; /* pikselowe stopnie tylko z wielokrotności 8 — wtedy piksel fontu = pełny pt */
  --zt-fs-px-m:       24px;
  --zt-fs-px-l:       32px;
  --zt-fs-px-xl:      48px;
  --zt-fs-ui-xs:      13px;
  --zt-fs-ui-s:       15px;
  --zt-fs-ui-m:       17px;
  --zt-fs-ui-l:       20px;
  --zt-lh-ui:         1.4;

  /* — siatka, odstępy, kształt — */
  --zt-screen-w:      411px; /* Pixel 8a w pt */
  --zt-screen-h:      914px;
  --zt-safe-top:      32px;  /* pasek statusu z otworem kamery */
  --zt-safe-bottom:   24px;  /* pasek gestów */
  --zt-gutter:        16px;
  --zt-hit:           48px;  /* minimalny cel dotyku */
  --zt-space-1:       4px;
  --zt-space-2:       8px;
  --zt-space-3:       12px;
  --zt-space-4:       16px;
  --zt-space-5:       24px;
  --zt-space-6:       32px;
  --zt-space-7:       48px;
  --zt-space-8:       64px;
  --zt-step:          4px;   /* schodek narożnika — zamiast zaokrąglenia */
  --zt-notch-1: polygon(0 4px, 4px 4px, 4px 0, calc(100% - 4px) 0, calc(100% - 4px) 4px, 100% 4px,
    100% calc(100% - 4px), calc(100% - 4px) calc(100% - 4px), calc(100% - 4px) 100%,
    4px 100%, 4px calc(100% - 4px), 0 calc(100% - 4px));
  --zt-notch-2: polygon(0 8px, 4px 8px, 4px 4px, 8px 4px, 8px 0,
    calc(100% - 8px) 0, calc(100% - 8px) 4px, calc(100% - 4px) 4px, calc(100% - 4px) 8px, 100% 8px,
    100% calc(100% - 8px), calc(100% - 4px) calc(100% - 8px), calc(100% - 4px) calc(100% - 4px),
    calc(100% - 8px) calc(100% - 4px), calc(100% - 8px) 100%,
    8px 100%, 8px calc(100% - 4px), 4px calc(100% - 4px), 4px calc(100% - 8px), 0 calc(100% - 8px));
  --zt-radius-round:  999px; /* wyłącznie żetony i kciuk-duch */

  /* — światło i efekty — */
  --zt-glow-1:        0 0 6px;   /* + kolor: drobne źródła (pociski, ikony aktywne) */
  --zt-glow-2:        0 0 14px;  /* przycisk główny, sprite'y */
  --zt-glow-3:        0 0 32px;  /* wybuch, odebrana nagroda — rzadko */
  --zt-glow-mix:      55%;       /* udział koloru w poświacie (color-mix z transparent) */
  --zt-scanlines:     0;         /* 0 = wyłączone; ustawienie gracza podnosi do 0.14 */
  --zt-dur-1:         90ms;      /* wciśnięcie */
  --zt-dur-2:         180ms;     /* zmiana stanu */
  --zt-dur-3:         320ms;     /* wjazd arkusza */
  --zt-ease:          cubic-bezier(.2, .8, .2, 1);
  --zt-ease-pixel:    steps(4, end); /* ruch „po pikselach" dla elementów UI */
}
