/* 01-zodynas.css — Spalvu, tipografijos ir erdves ZODYNAS + pamatas.

   KETURIOS SKALES: spalva, teksto dydis, apvalinimas, tarpas.

   TRYS IS JU YRA PRIVALOMOS ir tai tikrinama masinos. Kituose failuose (public/ui,
   moduliu panele.css, o nuo 2026-09-01 ir .js/.html) NELIEKA nei hex/rgb spalvos,
   nei tiesioginio `font-size`, nei tiesioginio `border-radius`:
       node .testai/stiliaus-zodynas.test.mjs      (registre: stiliaus-zodynas)

   KETVIRTOJI — TARPU SKALE (`--t1..--t6`) — TEBERA TIK REKOMENDACIJA, ir cia tai
   pasakyta garsiai, nes pirma sio komentaro redakcija zadejo visas keturias.
   Ismatuota 2026-09-01: `padding`/`margin` per skale eina 56 vietose, o tiesiogiai
   pikseliais — 274. Sargo jai nera samoningai: tarpu suvienodinimas judina makieta
   kur kas labiau uz teksto dydzius, tad tai atskiras darbas su savo kadrais
   (pastebejimu eileje). Kol jo nera, si eilute sako tiesa, o ne pazada.

   Iki 2026-09-01 cia kabejo pazadas BE JOKIO sargo, ir kodas ji lauze: spalvos
   gulejo 9 failuose (19 reiksmiu), teksto dydziai — 271 vietoje. Sena bukle
   isaugota, kad skaicius butu galima perskaiciuoti, o ne tiketi:
       node .testai/stiliaus-zodynas.test.mjs --skaiciai .atsargines/css-pries-skale-20260901-170839
   Moduliai (modules/<vardas>/panele.css) naudoja TUOS PACIUS vardus, tad
   pervadinus cia reikia pervadinti ir ten.

   Issskirta is public/index.html 2026-08-31 (UX refresh, 0 etapas). Failu TVARKA
   yra reiksminga: numeriai varduose = ta pati eiles tvarka, kokia buvo monolite. */
  /* Tema — sviesi, silta (kaip Claude): balta darbo sritis, smelio spalvos sonine.
     Moduliai (modules/sistema) piesia SAVO sritis skydelyje ir naudoja
     BUTENT siuos kintamuosius — todel ju vardai nekeiciami. */
  /* ---------------------------------------------------------------------
     SPALVU ZODYNAS. Spalvos gyvena TIK cia — zemiau faile hex reiksmiu nera.
     Trys aukstai:
       1) PAVIRSIAI  — ant ko piesiam;
       2) TEKSTAS    — kuo piesiam. --text, --muted ir --faint praeina 4,5:1 ant
          KIEKVIENO 1-o auksto pavirsiaus, tad juos galima maisyti neziurint;
       3) UZPILDAI + „--on-*" — spalvotas fonas ir tekstas, kuris ant JO gula.

     Kodel --accent ir --accent-text atskirai: ta pati firmine oranzine, kuri
     grazi kaip mygtuko fonas, kaip 11 px tekstas ant smelio duoda 3,2:1.
     Vienas kintamasis dviem darbams neisneza — issimatuota gyvame puslapyje.

     Kodel NEBERA „siek tiek blankiau" per opacity: opacity blukina teksta
     KARTU su fonu, tad tikras kontrastas krenta nematomai — CSS perziura rodo
     tvarkinga var(--muted), o ekrane lieka 2,2:1. Trecias tekstos aukstas yra
     --faint, ir jis irgi praeina. Opacity paliktas TIK slepimui (0 -> 1) ir
     neaktyviems valdikliams, kuriems kontrasto reikalavimas netaikomas.

     Moduliai (modules/<vardas>/panele.css) naudoja TUOS PACIUS vardus — todel jiems
     atskiro kodo nereikia, o pervadinus cia reikia pervadinti ir ten. */
  :root{
    color-scheme:light;
    /* ---------------------------------------------------------------
       SPALVOS RASOMOS `oklch`. Ne del mados: oklch skaliaus VIDURYS yra suvokiamas
       sviesumas, tad „0.52" ir „0.55" skiriasi tiek, kiek akis ir tikisi, o hex'e
       #5b6472 ir #656d7c yra du atsitiktiniai skaiciai, apie kuriuos negali
       pasakyti nieko, kol nepamatuoji. Etalono dizaino sistema irgi oklch —
       reiksmes cia perrasytos IS JOS, o ne matuotos is nuotraukos.

       DVI REIKSMES, KURIOS SKIRIASI NUO ETALONO, ir jos abi cia specialiai
       atskiruose kintamuosiuose: `--primary` (pagrindinis veiksmas — grafitas) ir
       `--accent` (aktyvus punktas juosteleje — melyna). Etalone toje vietoje
       geltona (Digilabo zenklas). Darant sekla kitam zmogui uztenka pakeisti
       butent sias dvi eilutes — visa kita identiska.

       PORA PRIVALOMA. Kiekvienas uzpildas turi savo teksto spalva
       (`--primary` + `--primary-foreground`). Be jos narsykle paima savo juoda,
       ji nepaveldima is teviniu elementu, ir tamsioje temoje gauni juoda ant
       tamsaus — o CSS perziura to NEPARODO. */

    /* 1) pavirsiai */
    --bg:oklch(1 0 0);                    /* fonas */
    --card:oklch(1 0 0);                  /* korta */
    --panel:oklch(0.975 0.003 247);       /* prislopintas pavirsius (sonine, juostos) */
    --user:oklch(0.955 0.006 247);        /* zmogaus zinutes burbulas */
    --hover:oklch(0.955 0.006 247);
    /* Etalone „remelis ir ivestis" yra ta pati vos matoma plaukelio linija, ir
       atskiro `--input` cia NEBERA samoningai: bandziau, ir tą pačią dieną nukrito
       astuoni valdikliai (laukas, mygtukas, paieska) — valdiklio krastui WCAG 1.4.11
       reikalauja 3:1, o plaukelis duoda 1,5:1. Skirtukams (linijos, lenteles) riba
       netaikoma, tad `--line` lieka toks, kaip etalone; valdikliai ima --line-strong. */
    --line:oklch(0.93 0.003 247);
    --line-2:oklch(0.885 0.005 247);
    /* --line-strong — INTERAKTYVIU valdikliu ramybes riba (WCAG 1.4.11, 3:1).
       Zodyno „remelis" tam per silpnas: laukas, kurio krasto nesimato, yra tokia
       pat beda, kaip neiskaitomas tekstas. */
    --line-strong:oklch(0.58 0.012 247);

    /* 2) tekstas */
    --text:oklch(0.18 0.01 247);          /* grafitas, samoningai NE grynas juodas */
    --muted:oklch(0.52 0.01 247);         /* antrinis */
    /* Trecias teksto aukstas — vietoj opacity (ji blukina teksta KARTU su fonu).
       0.545 buvo per sviesus: ant --hover pavirsiaus davė 4,35:1 (riba 4,5).
       Ismatuota 2026-09-01 gyvame puslapyje, ne CSS perziuroje. */
    --faint:oklch(0.52 0.012 247);
    /* 2b) prasminis tekstas — spalva, kuria RASOMA (ne uzpildas) */
    --accent-text:oklch(0.48 0.19 258);   /* nuoroda; tamsesne uz uzpilda del 4,5:1 ant balto */
    --err-text:oklch(0.505 0.21 27.3);
    --ok-text:oklch(0.505 0.13 155);
    --warn-text:oklch(0.505 0.12 70);

    /* 3) uzpildai ir tekstas ant ju */
    /* PAGRINDINIS VEIKSMAS — grafitas su baltu tekstu (skiriasi nuo etalono). */
    --primary:oklch(0.18 0.01 247); --primary-foreground:oklch(1 0 0);
    /* AKCENTAS — melyna su baltu tekstu (skiriasi nuo etalono). */
    --accent:oklch(0.55 0.18 250); --accent-foreground:oklch(1 0 0);
    --accent-solid:var(--accent); --accent-solid-h:oklch(0.48 0.18 250);
    --on-accent:var(--accent-foreground);
    --err:oklch(0.577 0.245 27.325); --err-solid:oklch(0.545 0.22 27.3); --on-err:oklch(1 0 0);
    --warn:oklch(0.62 0.15 62); --warn-solid:oklch(0.55 0.13 62); --on-warn:oklch(1 0 0);
    /* --ok yra TIK uzpildas (juostos, jungiklis) — teksto juo nerasom niekur. */
    --ok:oklch(0.52 0.13 155); --on-ok:oklch(1 0 0);

    /* Permatomi sluoksniai atskirai: tamsioje temoje jie apsiverčia (juoda -> balta),
       todel visur naudojam JUOS, o ne #00000010 tiesiai stiliuje. */
    --soft:oklch(0.18 0.01 247/.03); --soft-2:oklch(0.18 0.01 247/.05); --soft-3:oklch(0.18 0.01 247/.07);
    --accent-soft:oklch(0.55 0.18 250/.08); --accent-line:oklch(0.55 0.18 250/.2);
    --accent-b:oklch(0.55 0.18 250/.5); --accent-ring:oklch(0.55 0.18 250/.15);
    --err-line:oklch(0.577 0.245 27.325/.35); --err-soft:oklch(0.577 0.245 27.325/.06);
    --scroll:oklch(0.18 0.01 247/.12); --scroll-h:oklch(0.18 0.01 247/.2);

    /* SESELIS — VIENAS visai sistemai (etalono reiksme). Iki 2026-09-01 ju buvo
       penki, ir kiekvienas atsirado savo failo rasymo metu.
       --shadow    — korta, mygtukas, iskylantis elementas;
       --shadow-h  — tas pats, tik po pele: stipresnis, ne kitoks.
       Seni vardai (--shadow-1..3) rodo i tuos pacius du — moduliu CSS ju dar pilna. */
    --shadow:0 1px 2px oklch(0.18 0.01 247/.06), 0 4px 12px oklch(0.18 0.01 247/.04);
    --shadow-h:0 2px 4px oklch(0.18 0.01 247/.08), 0 8px 24px oklch(0.18 0.01 247/.08);
    --shadow-1:var(--shadow); --shadow-2:var(--shadow-h); --shadow-3:var(--shadow-h);
    --overlay:oklch(0.18 0.01 247/.72); --overlay-2:oklch(0.18 0.01 247/.5); --overlay-3:oklch(0.18 0.01 247/.25);
    /* Tekstas ANT PERDANGOS. Perdanga tamsi ABIEJOSE temose (zr. --overlay), tad ir
       tekstas ant jos abiejose baltas — todel siu dvieju tamsi tema NEPERRASO, ir tai
       ne apsizuirejimas. Iki 2026-09-01 cia buvo ikalti #ffffffbf ir #fff. */
    --on-overlay:oklch(1 0 0/.75); --on-overlay-strong:oklch(1 0 0);
    /* Klaidos spalva su NULINE alfa — pulsuojanciam ziedui (@keyframes ispejPulsas).
       `transparent` cia netinka: narsykle ji laiko rgba(0,0,0,0), tad perejimas is
       raudonos i ji eina per pilkšva purvą. Nulines alfos RAUDONA isnyksta svariai. */
    --err-fade:oklch(0.577 0.245 27.325/0);
    /* Peržiuros popierius — <iframe> fonas. Vienintele spalva, kuri i TAMSIA TEMA
       NEPERSIJUNGIA: kadre piesiamas SVETIMAS dokumentas, kuris apie musu tema nieko
       nezino ir rasytas juodu ant balto. Persijungusi ji duotu juoda ant juodo. */
    --perz-popierius:oklch(1 0 0);

    /* APVALINIMAI — VIENA baze ir skale is jos (etalonas).
       Iki 2026-09-01 sasajoje buvo keturiolika skirtingu px reiksmiu: 2, 3, 4, 5, 6,
       7, 8, 9, 10, 11, 12, 16, 18, 20 — ir nė vienos priezasties. Skirtumo tarp 7 ir
       8 nemato niekas, bet netvarka matoma visa.
         baze --radius = 12px; sm = baze−4, md = baze−2, lg = baze, xl = +4, 2xl = +8, 3xl = +12.
       Kodel px, o ne `0.75rem`: saknis dabar 15px, tad `0.75rem` butu 11,25px, o
       specifikacija sako 12. Baze viena — pakeitus ja pasislenka visa skale. */
    --radius:12px;
    --r-sm:8px; --r-md:10px; --r-lg:var(--radius); --r-xl:16px; --r-2xl:20px; --r-3xl:24px;
    /* Du laipteliai ZEMIAU sm — jie atsirado 2026-09-01, kai i skale buvo grazinti
       likę 69 tiesioginiai apvalinimai (2, 3, 4, 5, 6, 7, 9, 16, 20 px).
         --r-xs  = baze-8. Ta pati aritmetika, kaip sm (baze-4) ir md (baze-2).
         --r-2xs — NE grazumui, o del to, kad narsykle apvalinima APKARPO iki puses
                   mazesnio matmens: 8x8 px kvadratui `--r-xs` (4px) yra APSKRITIMAS.
                   Stabdymo zenklas (#stop i, 8x8) turi likti kvadratelis, o ne taskas,
                   todel zemiausias laiptelis butinas. */
    --r-2xs:2px; --r-xs:4px;
    --r-pill:999px;
    /* 50 % != 999px. Kapsule (`--r-pill`) apvalu daro TIK trumpaji krasta, tad
       staciakampiam elementui ji duoda kapsule, o `--r-round` — elipse. Kur
       elementas kvadratinis (avataras, apskritas mygtukas), reikia butent 50 %. */
    --r-round:50%;
    /* Seni vardai — rodo i ta pacia skale (moduliu CSS ju pilna):
       --r-s valdikliams, --r-m laukams, --r-l kortoms. */
    --r-s:var(--r-md); --r-m:var(--r-lg); --r-l:var(--r-xl);

    /* Tipografija — VIENA seima visam tekstui: Montserrat ir kunui, ir antrastems
       (etalono dizaino sistema; zr. public/fonts.css). --display rodo i ta pacia
       seima samoningai: du beveik vienodi grotesk'ai viename puslapyje yra ne
       sistema, o palikimas. --label mazyciams CAPS uzrasams.
       Sisteminiai sriftai palikti gale: kol woff2 dar neatejo, tekstas piesiamas
       jais, o ne bevardziu serif. */
    /* JUDESYS. Trys trukmes, ne desimt: iki 2026-08-31 faile buvo .1, .13, .14, .15,
       .18, .2 ir .22 s — septyni skaiciai tam paciam dalykui, atsiradę po viena.
       Skirtumo tarp .13 ir .14 nemato niekas; skirtuma tarp „mirktelejo" ir
       „issislinko" mato visi.
         --greitas   — spalva, fonas, hover: turi ivykti anksciau, nei zmogus spėja
                       pagalvoti, kad nieko neivyko;
         --vidutinis — kas nors atsiranda ar dingsta (pranesimas, perdanga);
         --letas     — kas nors ATVAZIUOJA is uz ekrano krasto (stalcius, lakstas).
       Duomenu juostoms (`width .3s`) sitie zetonai NETAIKOMI: ten juda ne sasaja,
       o pati reiksme, ir jos judesys turi buti letesnis uz sasajos. */
    /* ERDVES SKALE. Iki 2026-08-31 tarpai buvo rasomi po viena: 6, 7, 8, 9, 10, 12,
       13, 14, 18, 20, 22 px — vienuolika reiksmiu tam paciam sprendimui. Del to
       vienoje vietoje ankstoka, kitoje per laisva, ir nė vienos priezasties.
       Sesios pakopos, visos kartotines keturiu — akis mato ritma, ne skaicius. */
    --t1:4px; --t2:8px; --t3:12px; --t4:16px; --t5:24px; --t6:32px;

    /* ================= TEKSTO SKALE — SESIOS PAKOPOS ==========================
       Iki 2026-09-01 skales NEBUVO: is 271 dydzio (255 `font-size` + 16 pasislėpusiu
       `font:` trumpiniuose) per kintamaji ėjo TRYS, o skirtingu reiksmiu — 26. Daznumu virsune atrode taip:
       var(--tx-m) x45, 11.5px x43, 11px x31, 12.5px x30, 10.5px x26 — keturios reiksmes
       vienas salia kito ketvirtadalio pikselio zingsniu. Skirtumo tarp 11 ir 11.5
       nemato niekas; netvarka, kuria jie daro, matoma visur.

       BAZE — saknis: `html{font-size:var(--tx-xl)}` = 15px (etalonas). Pakopos nuo
       jos, santykiu 1.1, suapvalintos i PUSE pikselio (mazesnis tikslumas prie 10 px
       vel gimdytu 11.27 tipo skaicius, is kuriu ir kilo zoologijos sodas):
         15/1.1^4=10.25 -> 10.5 | 15/1.1^3=11.27 -> 11.5 | 15/1.1^2=12.40 -> 12.5
         15/1.1  =13.64 -> 13.5 | 15                     | 15*1.1  =16.50 -> 16.5
       Kodel 1.1, o ne iprastas 1.25: 1.25 duotu 12 -> 15 -> 18.75, ir tankiam pulto
       tekstui, kur 240 is 255 reiksmiu telpa i ruoza 9-16 px, tokie soliai reikstu
       perbraizymą, o ne sutvarkymą.

       Kodel px, o ne rem: saknis 15px, tad `0.75rem` butu 11.25px — vel trupmena.
       Ta pati priezastis, del kurios px rasomi ir apvalinimai (zr. auksciau). */
    --tx-xs:10.5px; --tx-s:11.5px; --tx-m:12.5px;
    --tx-l:13.5px;  --tx-xl:15px;  --tx-2xl:16.5px;
    /* Inline kodas ZODYJE turi sekti paskui savo eilute, o ne paskui skale: `code`
       burbule (15px) ir `code` juosteles uzrase (11.5px) yra tas pats vaidmuo, tik
       kitas kontekstas. Todel vienintele santykine reiksme visoje skaleje. */
    --tx-kodas:.88em;

    /* ANTRASCIU SKALE — TRYS pakopos, ir jos SAMONINGAI atskiros nuo teksto skales.
       Antraste yra kitas darbas: didelis keglis pakelia didesni santyki (1.2), o
       tankaus teksto 1.1 antrastems duotu 15 -> 16.5 -> 18 — hierarchijos, kurios
       nesimato. Vardai `--dsp-*`, kad nesusipainiotu su `--display` (srifto seima).
         15*1.2=18 | 18*1.2=21.6 -> 21.5 | 21.5*1.2=25.8 -> 26 */
    --dsp-s:18px; --dsp-m:21.5px; --dsp-l:26px;
    /* IKONU SKALE. Buvo keturi dydziai — 19 (juostele), 18 (juosteles irankiai),
       17 (virsutine juosta), 15 (pulsas) — ir nė vieno pasirinkto: kiekvienas
       atsirado savo failo rasymo metu. Akis tokio skirtumo neivardija, bet mato:
       gretimos ikonos atrodo netycia skirtingos.
       Du dydziai, abu su darbu: --ik-l pagrindinei navigacijai, --ik-m visam kitam. */
    --ik-m:18px; --ik-l:20px;
    /* MYGTUKU SKALE (etalonas). Trys aukSciai ir ikoninis kvadratas — ne del
       grazumo, o del to, kad gretimi mygtukai skirtingo auksčio yra pirmas dalykas,
       kuri akis pastebi ir kurio niekas neivardija.
         --mygt-h    36px  iprastas (padding 16px i sonus)
         --mygt-h-s  32px  mazas (12px, smulkesnis sriftas)
         --mygt-h-l  40px  didelis (32px)
         --mygt-ik   36px  ikonai (kvadratas)
       Ikona MYGTUKE — 16px, tarpas iki teksto 8px. */
    /* KORTA (etalonas): apvalinimas xl, plonas remelis, kortos fonas, svelnus
       seselis; vidinis tarpas 24px ir antrastei, ir turiniui, o tarp antrastes
       elementu — 6px. Turinys be virsutinio tarpo: antraste ir turinys yra viena
       korta, o ne du blokai vienas ant kito. */
    --kort-tarpas:24px; --kort-antr-tarpas:6px;
    --mygt-h:36px; --mygt-h-s:32px; --mygt-h-l:40px; --mygt-ik:36px;
    --ik-btn:16px;
    /* FOKUSO ZIEDAS — 1px, be narsykles kontūro (etalonas). Vienoje vietoje, kad
       nebutu keturiu skirtingu „kaip atrodo pazymeta klaviatura". */
    --ziedas:0 0 0 1px var(--accent);
    --greitas:.12s; --vidutinis:.18s; --letas:.26s;
    --kreive:cubic-bezier(.2,.8,.2,1);
    --sans:"Montserrat",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",sans-serif;
    --display:"Montserrat",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    --mono:"DM Mono",ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;
    --label:var(--mono);
  }
  /* Tamsi tema — TIE PATYS kintamieji, tik kitos reiksmes. Todel persijungia ir
     moduliu panele (/api/ui.css): jai atskiro kodo nereikia. */
  html[data-tema="dark"]{
    color-scheme:dark;
    /* 1) pavirsiai */
    --bg:oklch(0.16 0 0); --card:oklch(0.21 0 0); --panel:oklch(0.18 0 0);
    --user:oklch(0.25 0 0); --hover:oklch(0.26 0 0);
    --line:oklch(1 0 0/12%); --line-2:oklch(1 0 0/20%);
    --line-strong:oklch(0.62 0 0);
    /* 2) tekstas */
    --text:oklch(0.98 0 0); --muted:oklch(0.7 0 0); --faint:oklch(0.685 0 0);
    --accent-text:oklch(0.78 0.12 250); --err-text:oklch(0.75 0.16 22.2);
    --ok-text:oklch(0.78 0.14 155); --warn-text:oklch(0.8 0.13 75);
    /* 3) uzpildai.
       PRIMARY tamsoje APSIVERCIA: grafito mygtukas ant beveik juodo fono yra
       nematomas. Sviesus uzpildas + tamsus tekstas — ta pati taisykle, kaip ir
       `--on-*` zemiau. */
    --primary:oklch(0.93 0 0); --primary-foreground:oklch(0.18 0 0);
    --accent:oklch(0.72 0.14 250); --accent-foreground:oklch(0.18 0 0);
    /* --accent-solid lieka TAMSESNIS uz --accent: juo dazomas aktyvus juosteles
       punktas, ant kurio gula BALTAS tekstas (4,5:1 reikalauja tamsaus fono). */
    --accent-solid:oklch(0.55 0.18 250); --accent-solid-h:oklch(0.48 0.18 250);
    --on-accent:oklch(1 0 0);
    /* `--on-*` tamsoje yra TAMSUS, ne baltas. Ismatuota 2026-08-31: balta ant --ok
       davė 2,96:1, ant --warn-solid 3,39:1, ant --err-solid 3,91:1 — visi po 4,5
       ribos. Sviesus uzpildas tamsioje temoje reikalauja tamsaus teksto. */
    --err:oklch(0.704 0.191 22.216); --err-solid:oklch(0.68 0.19 22.2); --on-err:oklch(0.2 0.06 25);
    --warn:oklch(0.78 0.15 70); --warn-solid:oklch(0.7 0.14 68); --on-warn:oklch(0.2 0.05 70);
    --ok:oklch(0.68 0.14 155); --on-ok:oklch(0.2 0.05 160);
    /* Permatomi sluoksniai apsiverčia: juoda -> balta. */
    --soft:oklch(1 0 0/.05); --soft-2:oklch(1 0 0/.08); --soft-3:oklch(1 0 0/.12);
    --accent-soft:oklch(0.72 0.14 250/.14); --accent-line:oklch(0.72 0.14 250/.28);
    --accent-b:oklch(0.72 0.14 250/.6); --accent-ring:oklch(0.72 0.14 250/.18);
    --err-line:oklch(0.704 0.191 22.216/.38); --err-soft:oklch(0.704 0.191 22.216/.12);
    /* Nulines alfos raudona seka paskui savo tema — kitaip ziedas tamsoje nyktu i
       sviesesnę raudona, nei is kurios pradejo. */
    --err-fade:oklch(0.704 0.191 22.216/0);
    --scroll:oklch(1 0 0/.15); --scroll-h:oklch(1 0 0/.25);
    /* Tas pats VIENAS seselis, tik juodesnis: ant tamsaus fono 6 % juodos nesimato. */
    --shadow:0 1px 2px oklch(0 0 0/.4), 0 4px 12px oklch(0 0 0/.32);
    --shadow-h:0 2px 4px oklch(0 0 0/.5), 0 8px 24px oklch(0 0 0/.45);
    --overlay:oklch(0.12 0 0/.8); --overlay-2:oklch(0.12 0 0/.55); --overlay-3:oklch(0.12 0 0/.35);
  }

  *{box-sizing:border-box}
  /* Saugios zonos ir klaviatura vienoje vietoje.
     --sa-* : iskirpimas virsuje, braukimo juosta apacioje (viewport-fit=cover).
     --vh   : TIKRAS matomas aukstis. 100dvh telefone NEATSIZVELGIA i iskilusia
              klaviatura — rasymo laukas lieka po ja. visualViewport zino tikraji
              aukstį, tad ji ir imam; be JS lieka 100dvh, t.y. senasis elgesys. */
  :root{
    --sa-t:env(safe-area-inset-top,0px); --sa-b:env(safe-area-inset-bottom,0px);
    --sa-l:env(safe-area-inset-left,0px); --sa-r:env(safe-area-inset-right,0px);
    --vh:100dvh;
  }
  /* SAKNIES DYDIS 15px, ne 16 (etalonas). Visa `rem` skale seka paskui ji vienu
     skaiciumi; px reiksmes komponentuose nuo to nepasislenka. */
  html{font-size:var(--tx-xl)}
  body{margin:0;font:1rem/1.55 var(--sans);background:var(--bg);color:var(--text);
       height:var(--vh);display:flex;overflow:hidden;-webkit-font-smoothing:antialiased;
       /* `cv11` isimtas: tai INTER savybe, o Manrope jos neturi — likusi eilute
          butu nurodymas i nieka. `tnum` lieka ir yra svarbus: besikeiciantys
          skaiciai (procentai, laikai, trukmes) neturi stumdyti eiluciu. */
       font-variant-numeric:tabular-nums}
  button{font:inherit}
  /* ANTRASTES — viena taisykle visoms (etalonas): 600, tankiau, siek tiek suglausta.
     `h1` ir `h2` dar tankesni, nes dideliame kegle numatytieji tarpai atrodo issikrikę. */
  h1,h2,h3,h4,h5,h6{font-family:var(--display);font-weight:600;line-height:1.25;
                    letter-spacing:-0.015em;margin:0 0 var(--t2)}
  h1{font-weight:700;letter-spacing:-0.02em}
  h2{letter-spacing:-0.018em}
  /* Vietazenklio spalva — VIENOJE vietoje visiems laukams.
     Kodel ne prie kiekvieno lauko atskirai: naršykles numatytoji `::placeholder`
     spalva yra rgb(117,117,117), ir ji NEPRIKLAUSO nuo temos. Ismatuota 2026-08-31,
     kai atsirado keturi nauji laukai: 3,29:1 tamsioje ir 4,10:1 sviesioje — visi
     zemiau 4,5:1 ribos. Kiekvienas naujas laukas be savos eilutes butu tyliai
     atnesęs ta pacia beda, tad taisyklė gyvena cia, o ne komponentuose. */
  input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}

  /* SISTEMINIAI SARASAI. `select` isvaizda kiekvienoje OS kitokia: Linux Chrome
     piesia pilka trikampi, macOS — mėlyna kapsule, Windows — dar kitaip. Sasajoje,
     kuri visur kitur atrodo vienodai, tai vienintele vieta, isduodanti, kad tai
     naršykle, o ne programa. `appearance:none` ta atima, o rodykle piesiam patys.
     Rodykle — per kintamaji, o ne `currentColor`: data-URI viduje `currentColor`
     neveikia, tad temai reikia dvieju reiksmiu. */
  /* Rodykles spalva — VIENINTELE vieta, kur zodyno reiksme perrasyta hex'u: data-URI
     viduje `var()` ir `currentColor` neveikia. Reiksmes atitinka `--muted` abiejose
     temose (sviesi #646a6e = oklch(0.52 0.01 247), tamsi #9e9e9e = oklch(0.7 0 0)) —
     keiciant --muted jas reikia perskaiciuoti CIA PAT, kitaip rodykle tyliai atsilieka. */
  :root{ --sarasoRodykle:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23646a6e' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); }
  html[data-tema="dark"]{ --sarasoRodykle:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%239e9e9e' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); }
  select{ appearance:none;-webkit-appearance:none;
          background-image:var(--sarasoRodykle);background-repeat:no-repeat;
          background-position:right 10px center;padding-right:30px }
  /* Kas prasо maziau judesio, tas jo ir negauna — VISUR, o ne ten, kur prisiminem.
     Animacijos nenaikinam iki nulio (.01ms), kad `animationend` klausytojai vis tiek
     ivyktu: nutylejęs ivykis palieka elementa pusiau busenoje. */
  @media(prefers-reduced-motion:reduce){
    /* `*` NEAPIMA pseudoelementu — o butent juose gyvena blizgesiai ir ziedai
       (skeleto `::after`, pulsuojancios zymes). Ismatuota 2026-08-31: su
       prefers-reduced-motion skeleto blizgesys tebesisuko `infinite`, nors
       taisykle atrode veikianti. Todel visos trys eilutes, o ne viena. */
    *,*::before,*::after{
      animation-duration:.01ms!important;animation-iteration-count:1!important;
      transition:none!important;scroll-behavior:auto!important}
    #msgs{scroll-behavior:auto}
  }
  ::-webkit-scrollbar{width:10px;height:10px}
  ::-webkit-scrollbar-thumb{background:var(--scroll);border-radius:var(--r-sm);border:3px solid transparent;background-clip:content-box}
  ::-webkit-scrollbar-thumb:hover{background:var(--scroll-h);background-clip:content-box}

