/* Įrankių tapatybės sluoksnis (D4A) — PAMATAS, kuris dar NIEKO nekeičia.
 *
 * ── KĄ ŠIS FAILAS DARO ──────────────────────────────────────────────────────
 *
 * Paruošia užrakintą D1 „Brėžinio lapo" tapatybę skaičiuoklėms: šriftus, sinchronizuotą
 * paletę ir BŪSIMĄ `.tool-page` persiejimą. Nieko daugiau.
 *
 * ── KAS JAU ĮJUNGĖ (opt-in aibė) ────────────────────────────────────────────
 *
 * Failą įkelia visos TRYS skaičiuoklės, bet persiejimas veikia tik ten, kur `<body>` turi
 * `.tool-page`. Aibė yra UŽDARA ir tikrinama sargo (2af G2):
 *
 *   sutarčių generatorius — TURI  (D4C1)
 *   stogo sąmata          — neturi (D4C2 dar nepradėtas)
 *   skardos lankstiniai   — neturi (D4C3 dar nepradėtas)
 *
 * Įrankiui be klasės šis failas tebėra visiškai inertiškas, todėl migracija vyksta po vieną
 * ir kiekvienas įrankis patikrinamas atskirai.
 *
 * ── KODĖL PALETĖ ČIA DUBLIUOJAMA ────────────────────────────────────────────
 *
 * `identity.css` yra sargo DRAUDŽIAMAS `tools/**` kontekste (jame yra puslapio lygio
 * taisyklės — `html, body { background }` — kurios perdažytų skaičiuoklę anksčiau laiko).
 * Todėl tapatybės TOKENAI čia perrašomi, o vienas-prieš-vieną atitikimą su autoritetu
 * garantuoja sargas G1: jis lygina raktus IR reikšmes, o ne tik ieško teksto.
 *
 * Šis failas NĖRA antras `identity.css`: jame nėra nė vienos puslapio, išdėstymo,
 * komponento ar brėžinio taisyklės, ir nė vienos literalios spalvos už
 * `--custom-property` deklaracijos ribų (sargas G15).
 *
 * ── ŠRIFTAI ─────────────────────────────────────────────────────────────────
 *
 * Tie patys savi `woff2` failai ir tie patys svoriai kaip `identity.css` — jokio naujo
 * šrifto, jokio 400 svorio `Overpass Mono`, jokio išorinio hosto (CSP `font-src 'self'`).
 * Deklaracija dar nereiškia atsisiuntimo: kol `.tool-page` nėra, nė vienas mazgas Overpass
 * neprašo, todėl naršyklė failų neima.
 */
/* ── Šriftai: perimti iš `identity.css` be pakeitimų ─────────────────────── */
@font-face {
  font-family: 'Overpass';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('../fonts/overpass-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
    U+2000-206F, U+20AC, U+2122;
}

@font-face {
  font-family: 'Overpass';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('../fonts/overpass-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+1E00-1E9F, U+2020, U+20A0-20AB,
    U+20AD-20C0;
}

@font-face {
  font-family: 'Overpass Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/overpass-mono-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
    U+2000-206F, U+20AC, U+2122;
}

@font-face {
  font-family: 'Overpass Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/overpass-mono-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+1E00-1E9F, U+2020, U+20A0-20AB,
    U+20AD-20C0;
}

/* ── Sinchronizuota D1 paletė (autoritetas: `identity.css`; sargas G1) ────── */
:root {
  /* STALAS — braižymo stalo paviršius, ant kurio guli lapai */
  --stalas: #e4e0d7;
  --stalas-2: #dbd5ca;
  --panel: #f6f4ef;
  --field: #fdfcfa;

  /* Rašalas ant stalo */
  --ink: #17191d;
  /* Abu antriniai atspalviai IŠMATUOTI ant `--stalas`, o ne parinkti akimis:
     `--graphite` 6,41:1, `--muted` 4,62:1 — abu virš WCAG AA 4,5:1 ribos smulkiam tekstui.
     Ankstesnės reikšmės (#545d68 / #6f7883) ant šilto stalo davė 5,07 ir 3,40 — antroji
     nebūtų praėjusi. Popieriaus atspalviai (`--s-gray`) yra ATSKIRI ir nepakitę: jie krinta
     ant balto lapo, kur kontrastas ir taip 6,52. */
  --graphite: #454e59;
  --muted: #5a636f;
  --line: #cfcabf;
  --line-strong: #b9b2a5;

  /* LAPAS — popierius. Temos nekeičia SĄMONINGAI (žr. failo antraštę). */
  --sheet: #fdfcfa;
  --grid: #e7e6df;
  --s-ink: #17191d;
  --s-gray: #545d68;

  /* Akcentai. `--ochre` paimtas iš tikros gegnių spalvos brėžinyje;
     `--signal` (matininko oranžinė) žymi TIK pirminį veiksmą ir gyvą matmens išnašą. */
  --ochre: #b9834f;
  --signal: #e8590c;
  --signal-hover: #cf4c07;
  --signal-ink: #ffffff;

  /* ŠVIESOS STALAS — tamsi juosta, kurioje rodoma tamsios temos sąmata */
  --band: #14161a;
  --band-line: #2a2e36;
  --band-text: #dfe3ea;
  --band-meta: #949dab;

  /* Kontaktinis šešėlis. VIENINTELĖ vieta produkte, kur leidžiamas šešėlis: ten, kur vienas
     tikras produkto paviršius guli ant kito. Šviesa krinta iš viršaus kairės. */
  --contact: 0 1px 2px rgba(48, 36, 22, 0.10), 0 14px 30px -10px rgba(48, 36, 22, 0.30);
  --contact-sm: 0 1px 2px rgba(48, 36, 22, 0.09), 0 8px 18px -8px rgba(48, 36, 22, 0.24);
  --contact-lift: 0 2px 4px rgba(48, 36, 22, 0.12), 0 22px 44px -12px rgba(48, 36, 22, 0.34);

  /* Permatomi atspalviai: hover ir išnašos fonas. Laikomi tokenais, kad `home.css` ir
     `auth.css` liktų be nė vienos literalios spalvos. `--tint-sheet` temos nekeičia — jis
     krinta ant popieriaus, o popierius nesikeičia. */
  --tint-ink: rgba(23, 25, 29, 0.06);
  --tint-sheet: rgba(23, 25, 29, 0.06);
  --band-veil: rgba(20, 22, 26, 0.90);

  /* Judesio kreivė (Track M): greitai pajuda, švelniai sustoja. */
  --ease-out-strong: cubic-bezier(0.23, 1, 0.32, 1);
}

/* ── Tamsios temos tokenų perrašymai (TIK custom properties) ─────────────── */
html.dark,
body.dark {
  --stalas: #14161a;
  --stalas-2: #101216;
  --panel: #1a1d23;
  --field: #232830;

  --ink: #e2e6ec;
  --graphite: #98a1ae;
  --muted: #858f9c;
  --line: #2a2e36;
  --line-strong: #3a4149;

  /* Tamsoje stalas jau tamsus, todėl šviesos stalo juosta privalo nuo jo atsiskirti. */
  --band: #1c2028;
  --band-line: #333a45;

  --contact: 0 1px 2px rgba(0, 0, 0, 0.5), 0 18px 40px -12px rgba(0, 0, 0, 0.7);
  --contact-sm: 0 1px 2px rgba(0, 0, 0, 0.45), 0 10px 22px -10px rgba(0, 0, 0, 0.6);
  --contact-lift: 0 2px 4px rgba(0, 0, 0, 0.5), 0 26px 52px -14px rgba(0, 0, 0, 0.75);

  --tint-ink: rgba(226, 230, 236, 0.08);
  --band-veil: rgba(12, 14, 18, 0.90);
}

/* ── BŪSIMAS PERSIEJIMAS (D4A metu neveikia) ─────────────────────────────────
 *
 * Blokas laukia `.tool-page` klasės, kurios D4A NĖ VIENAS įrankis neturi. Kai ją pridės
 * D4C etapas, bendri `shared.css` tokenai vietoje persisies į tapatybės paletę — lygiai
 * tuo pačiu mechanizmu, kurį `identity.css` jau naudoja `.home-page`/.auth-page`/`.app-page`
 * puslapiams. Bendras sluoksnis lieka nepaliestas (nulinis diff jame).
 */
.tool-page {
  font-family: 'Overpass', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;

  /* Vienuolika bendrų tokenų — persiejimas, ne naujos reikšmės. */
  --bg-base: var(--stalas);
  --bg-surface: var(--panel);
  --bg-overlay: var(--field);
  --bg-hover: var(--stalas-2);
  --border: var(--line);
  --border-mid: var(--line-strong);
  --text-primary: var(--ink);
  --text-secondary: var(--graphite);
  --text-muted: var(--muted);
  --accent: var(--signal);
  --accent-dim: var(--signal-hover);

  /* ── Įrankiams skirti vaidmenys (D4 galutinė sutartis) ─────────────────────
   *
   * VALDIKLIO KRAŠTINĖ. Nė vienas esamas rėmelio tokenas nepasiekia 3:1 komponento ribai
   * (šviesoje 1,49–2,05, tamsoje 1,09–1,63). Ši reikšmė jau yra repozitorijoje
   * (`overallDims.js` matmenų numatytoji) ir yra ta pati abiem temoms: ant `--field`
   * 3,60 šviesoje ir 4,01 tamsoje, ant `--panel` 3,36 ir 4,57 — visur virš 3:1, bet ~40 %
   * lengvesnė už `--muted` (5,94), todėl tanki lentelė netampa rašalo tinkleliu. */
  --control-edge: #7f849c;

  /* FOKUSO ŽIEDAS — dviejų tonų. Vienos reikšmės pakakti negali: popierius temos nekeičia,
     todėl tamsoje `--ink` ant balto brėžinio duotų ~1,2:1. Oranžinė visada ribojasi su
     `--field` (3,49 šviesoje / 4,14 tamsoje), o `--focus-halo` atskiria ją nuo bet kokio
     pagrindo. Tankiose zonose D4C naudos siauresnį variantą. */
  --focus-ring: 2px solid var(--signal);
  --focus-halo: 0 0 0 4px var(--bg-overlay);
  --focus-ring-offset: 2px;

  /* BŪSENŲ SPALVOS, ŠVIESI TEMA. Perskaičiuotos ant šilto stalo: bendrosios reikšmės ten
     nukrinta (`--warning` 2,42, `--success` 2,50), todėl įrankių sluoksnyje jos
     persiejamos. `shared.css` (11 puslapių) ir `identity.css` NEKEIČIAMI. */
  --danger: #dc2626;
  --success: #15803d;
  --warning: #8a5a00;
}

/* Tamsi tema: TIK būsenų reikšmės. Šios jau naudojamos skaičiuoklėse ir ant tamsaus
   paviršiaus duoda 7,29 / 11,35 / 8,57 — perskaičiuoti nieko nereikia. `--control-edge`
   ir fokuso vaidmenys temos nekeičia sąmoningai. */
html.dark .tool-page,
body.dark.tool-page {
  /* SPECIFIŠKUMO PATAISA (rasta D4C1 metu, pirmą kartą realiai įjungus persiejimą).
     `shared.css` tamsius tokenus nustato ant `body.dark` — tai (0,1,1). Aukščiau esantis
     `.tool-page` blokas yra tik (0,1,0), todėl TAMSIOJE temoje jis pralaimėdavo ir
     persiejimas tyliai neveikdavo (šviesioje veikė, nes ten varžovas yra `:root` — (0,0,0)).
     Šis blokas yra (0,2,1), todėl persiejimą reikia pakartoti ČIA. Vienuolika eilučių
     dubliuojasi sąmoningai: tai ta pati sutartis, tik kitam temos kontekstui. */
  --bg-base: var(--stalas);
  --bg-surface: var(--panel);
  --bg-overlay: var(--field);
  --bg-hover: var(--stalas-2);
  --border: var(--line);
  --border-mid: var(--line-strong);
  --text-primary: var(--ink);
  --text-secondary: var(--graphite);
  --text-muted: var(--muted);
  --accent: var(--signal);
  --accent-dim: var(--signal-hover);

  --danger: #f38ba8;
  --success: #a6e3a1;
  --warning: #f9a825;
}
