/* ============================================================
   Pārejas starp ekrāniem

   Cross-document View Transitions: katra lapa ir atsevišķs HTML
   fails, bet pāreja starp tām izskatās kā aplikācijā. Būtiskais
   blakusefekts — tā ir pilna lapas ielāde, tāpēc JS kaudze,
   notikumu klausītāji un WebGL konteksti tiek iztīrīti katrā
   pārejā. SPA to nedara, un tieši tur rodas nedēļu ilgas
   ekspozīcijas atmiņas problēmas.

   Raksturs: MAIGI UN NEUZKRĪTOŠI. Ātrums nav mērķis — mērķis ir, lai
   neviena kustība nepiesaista uzmanību sev. Četri principi:

   1. VISPIRMS AIZIET, TAD ATNĀK. Vecie bloki pilnībā izgaist, brīdi
      ir tikai fons, un tikai tad jaunie atklājas no nulles. Nekādas
      dubultekspozīcijas, nekādu divu tekstu vienam virs otra.
   2. TIKAI PA VIENU ASI. Bloki kustas vienīgi pa Y — dziļāk ejot no
      apakšas, atpakaļ no augšas, uz blakus tēmu bez kustības. Nekas
      neslīd pa diagonāli. Morfi ir tikai divi, un abi ir pa X:
      izvēlētā kartīte aizceļo un kļūst par sadaļas vāku (abām viena
      augšmala un augstums), un paceltā tēmu joslas poga pārslīd pa joslu.
      Bloki ar vienu vārdu abās lapās (bloks-a sadaļā un galerijā) NEceļo:
      to rāmis pārlec, kad nekas nav redzams.
   3. MAZA KUSTĪBA, LĒNAS LĪKNES. Bloki dreifē dažus pikseļus, bez
      mērogošanas, bez izplūšanas. Līknes ir mīkstas abos galos.
   4. HROMA STĀV UZ VIETAS. Augšējā josla, tēmu josla un koka fons
      nekustas. Fons nav nosaukts apzināti — nosaukts slānis stāvētu
      VIRS saknes grupas un nosegtu visu nenosaukto saturu. Saknes
      krustpāreja ir stingri komplementāra, tāpēc vienādie koka
      pikseļi pārejā nemaz nemainās.

   Virzienu nosaka js/pareja.js `pagereveal` brīdī un uzliek kā pārejas
   tipu; CSS to lasa ar :active-view-transition-type().

   Kāpēc te nav GSAP: `::view-transition-old()` un `-new()` ir pārlūka
   ģenerēti pseidoelementi. JavaScript tos nevar atlasīt — ne GSAP, ne
   Web Animations API. VT animācijām jābūt CSS. Tā nav mūsu izvēle, tā
   ir specifikācija.
   ============================================================ */

@view-transition { navigation: auto; }

:root {
  /* Pārejas ātruma reizinātājs. `?lena` URL galā palēnina seškārt, `?lena2`
     četrdesmitkārt — tā horeogrāfiju var novērtēt kadru pa kadram. */
  --vt: 1;

  /* Līknes. Visas ir mīkstas abos galos: ienākošais sāk mierīgi un
     nosēžas bez atsitiena, aizejošais neaizšaujas. */
  --likne-ienak:  cubic-bezier(0.25, 0.1, 0.25, 1);
  --likne-aiziet: cubic-bezier(0.37, 0, 0.63, 1);
  --likne-morfs:  cubic-bezier(0.65, 0, 0.35, 1);

  --t-morfs:  calc(900ms * var(--vt));
  --t-ienak:  calc(820ms * var(--vt));
  --t-aiziet: calc(420ms * var(--vt));
  --t-sakne:  calc(700ms * var(--vt));
  --solis:    calc(90ms  * var(--vt));      /* pakāpe starp blokiem */
  --atkape:   calc(var(--u) * 14);          /* cik tālu bloks dreifē */

  /* Kad sāk ienākt jaunie: kad pēdējais vecais (aizkave 2 soļi) ir
     pilnībā izgaisis, plus īss klusuma brīdis tikai ar fonu. */
  --ienak-sakums: calc(var(--t-aiziet) + var(--solis) * 2 + 80ms * var(--vt));

  /* Virziens: dziļāk = no apakšas. Tipi zemāk to pārraksta. Tikai Y. */
  --dy: 1;
}
html.lena { --vt: 6; }
html.ļoti-lena { --vt: 40; }

:root:active-view-transition-type(atpakal) { --dy: -1; }

/* Izvēlne ↔ sadaļa: trīs cēlieni.
   1. Pārējais aiziet — uz sadaļu: nepaņemtās kartītes lēnā vilnī; uz
      izvēlni: sadaļas saraksts, teksts un josla.
   2. Izvēlētā kartīte aizceļo uz savu jauno vietu un izplešas vākā (vai
      otrādi). Abām ir tieši tā pati augšmala un augstums, tāpēc ceļš ir
      tikai pa X — nekādas diagonāles.
   3. Jaunais atklājas pa vienam ap to. */
:root {
  --kartes-solis:    calc(130ms * var(--vt));
  --t-kartes-aiziet: calc(640ms * var(--vt));
  --t-karte-morfs:   calc(1000ms * var(--vt));
  --morfs-sakums:    0s;
}
:root:active-view-transition-type(no-izvelne) {
  --solis: calc(150ms * var(--vt));
  --morfs-sakums: calc(var(--kartes-solis) * 5 + var(--t-kartes-aiziet) - 200ms * var(--vt));
  --ienak-sakums: calc(var(--morfs-sakums) + var(--t-karte-morfs) * 0.8);
}
:root:active-view-transition-type(no-sadala):active-view-transition-type(uz-izvelne),
:root:active-view-transition-type(no-linija):active-view-transition-type(uz-izvelne) {
  --morfs-sakums: calc(var(--t-aiziet) + var(--solis) * 2);
  --ienak-sakums: calc(var(--morfs-sakums) + var(--t-karte-morfs) * 0.8);
}

/* ────────────────────────────────────────────────────────────
   Divas kustības, ko lieto viss: aiziet un atnākt. Tikai Y.
   ──────────────────────────────────────────────────────────── */
@keyframes bloks-aiziet {
  to   { opacity: 0; transform: translateY(calc(var(--dy) * var(--atkape) * -0.5)); }
}
@keyframes bloks-ienak {
  from { opacity: 0; transform: translateY(calc(var(--dy) * var(--atkape))); }
}
@keyframes izgaist { to   { opacity: 0; } }
@keyframes paradas { from { opacity: 0; } }

/* ────────────────────────────────────────────────────────────
   Sakne: komplementāra krustpāreja

   Vecais izgaist un jaunais parādās vienā laikā, ar vienu un to pašu
   līkni, ar pārlūka `plus-lighter` sajaukumu. Vienādiem pikseļiem summa
   visu laiku ir 1, tāpēc koks nemirgo.
   ──────────────────────────────────────────────────────────── */
::view-transition-old(root),
::view-transition-new(root) { mix-blend-mode: plus-lighter; }
::view-transition-old(root) { animation: izgaist var(--t-sakne) ease-in-out both; }
::view-transition-new(root) { animation: paradas var(--t-sakne) ease-in-out both; }
/* `plus-lighter` pārlūks uzliek ar savu animāciju — kad `animation`
   pārrakstām, tas pazūd, un vienādi pikseļi pārejas vidū satumst
   (0,5 + 0,5 normālā sajaukumā ≈ 0,75). Tāpēc tas te ir skaidri. Bez tā
   viss vienādais — fons, galvene, joslas uzraksti — mirgo. */

/* ────────────────────────────────────────────────────────────
   Hroma: augšējā josla, tēmu josla, ceļš

   Joslas: komplementāra krustpāreja — vienādās daļas nemainās,
   atšķirīgās pārplūst. Ceļš ir teksts uz caurspīdīga fona — tas iet kā
   bloks: vispirms vecais aiziet, tad jaunais atnāk.
   ──────────────────────────────────────────────────────────── */
.augsa  { view-transition-name: augsa; }
.temas  { view-transition-name: temas; }
.celins { view-transition-name: celins; }

/* Komplementāra krustpāreja (kā saknei): vienādie pikseļi nemainās,
   atšķirīgie — piem., tikko nospiestās pogas «nepaceltais» uzraksts —
   pārplūst. Agrāk vecais stāvēja un jaunais uzgaisa virsū; tad vecās
   pogas uzraksts palika līdz beigām un pazuda rāvienā (mirgoja). */
::view-transition-old(augsa),
::view-transition-old(temas) {
  mix-blend-mode: plus-lighter;
  animation: izgaist calc(600ms * var(--vt)) ease-in-out both;
}
::view-transition-new(augsa),
::view-transition-new(temas) {
  mix-blend-mode: plus-lighter;
  animation: paradas calc(600ms * var(--vt)) ease-in-out both;
}

/* Tēmu joslā paceltā poga pārslīd pa joslu uz jauno vietu. */
.temas__poga[aria-current="page"] { view-transition-name: temas-aktiva; }
::view-transition-group(temas-aktiva) { z-index: 3; }
/* Slīdot paceltā poga nomaina krāsu un uzrakstu ceļa vidū, īsā brīdī —
   ne visu ceļu divi uzraksti viens virs otra. */
::view-transition-old(temas-aktiva) { animation: none; }
::view-transition-new(temas-aktiva) {
  mix-blend-mode: normal;
  animation: paradas-vidu var(--t-morfs) var(--likne-morfs) both;
}
@keyframes paradas-vidu {
  0%, 40%   { opacity: 0; }
  60%, 100% { opacity: 1; }
}

/* Visi pārējie nosauktie elementi ir bloki. Ja blokam ar to pašu vārdu
   abās lapās ir cita vieta vai izmērs (bloks-a sadaļā ir saraksts,
   galerijā — teksts), pārlūks grupu vilktu pa taisni no vecās vietas uz
   jauno — slīpi. Tāpēc grupa stāv VECAJĀ vietā, kamēr vecais saturs
   izgaist, un tad, kad nekas nav redzams, vienā solī pārlec uz jauno. */
::view-transition-group(*) {
  animation-duration: var(--ienak-sakums);
  animation-timing-function: steps(1, end);
}
::view-transition-group(temas-aktiva) {
  animation-duration: var(--t-morfs);
  animation-timing-function: var(--likne-morfs);
}

/* Ja joslas vecajā lapā nebija (nāk no izvēlnes), tā atnāk kā bloks;
   ja jaunajā tās nav (uz attēlu), aiziet kā bloks. */
:root:active-view-transition-type(lapa)::view-transition-old(celins),
::view-transition-old(temas):only-child,
::view-transition-old(temas-aktiva):only-child {
  animation: bloks-aiziet var(--t-aiziet) var(--likne-aiziet) both;
}
:root:active-view-transition-type(lapa)::view-transition-new(celins),
::view-transition-new(temas):only-child,
::view-transition-new(temas-aktiva):only-child {
  mix-blend-mode: normal;
  animation: bloks-ienak var(--t-ienak) var(--ienak-sakums) var(--likne-ienak) both;
}
/* No izvēlnes tēmu josla atnāk pēdējā — pēc vāka, saraksta un teksta. */
:root:active-view-transition-type(no-izvelne)::view-transition-new(temas):only-child,
:root:active-view-transition-type(no-izvelne)::view-transition-new(temas-aktiva):only-child {
  animation-delay: calc(var(--ienak-sakums) + var(--solis) * 4);
}

/* ────────────────────────────────────────────────────────────
   Tēmu kartītes izvēlnē un sadaļas vāks

   Kartītei un tās sadaļas vākam ir viens vārds — kartīte aizceļo un
   kļūst par vāku (skat. trīs cēlienus augstāk). Ceļš ir tikai pa X:
   abām ir viena augšmala un augstums.
   ──────────────────────────────────────────────────────────── */
.karte--zeme       { view-transition-name: tema-zeme; }
.karte--vara       { view-transition-name: tema-vara; }
.karte--religija   { view-transition-name: tema-religija; }
.karte--kultura    { view-transition-name: tema-kultura; }
.karte--notikumi   { view-transition-name: tema-notikumi; }
.karte--represijas { view-transition-name: tema-represijas; }

/* Notikumu sadaļā kartītes galamērķis ir laika līnijas attēls kreisajā
   pusē (tā pati augšmala un augstums). Selektors stiprāks par bloks-a. */
main .linija__attels { view-transition-name: tema-notikumi; }

/* Uzraksts ceļo līdzi blokam: kartītes centrā → vāka labajā malā (tas
   pats teksts, tas pats izmērs, tā pati vertikāle — tikai pa X).
   Vāka uzrakstam vārds ir šeit; kartītes uzrakstam to dod js/pareja.js
   TIKAI izvēlētajai kartītei (klikšķa vai atgriešanās brīdī). Visām
   kartītēm vārdu dot nevar: izvēlnē zem peles pārējās ir aptumšotas
   (filter), un atsevišķi nofotografēts uzraksts aptumšojumu nepaņem
   līdzi — pārejas sākumā tie uzzibsnītu. */
.karte--zeme > h1 { view-transition-name: nos-zeme; }
.karte--vara > h1 { view-transition-name: nos-vara; }
.karte--religija > h1 { view-transition-name: nos-religija; }
.karte--kultura > h1 { view-transition-name: nos-kultura; }
.karte--notikumi > h1 { view-transition-name: nos-notikumi; }
.karte--represijas > h1 { view-transition-name: nos-represijas; }

/* Kartītes viļņo no kreisās uz labo pēc kārtas. */
::view-transition-image-pair(tema-zeme)       { --kartes-n: 0; }
::view-transition-image-pair(tema-vara)       { --kartes-n: 1; }
::view-transition-image-pair(tema-religija)   { --kartes-n: 2; }
::view-transition-image-pair(tema-kultura)    { --kartes-n: 3; }
::view-transition-image-pair(tema-notikumi)   { --kartes-n: 4; }
::view-transition-image-pair(tema-represijas) { --kartes-n: 5; }

::view-transition-old(tema-zeme), ::view-transition-new(tema-zeme),
::view-transition-old(tema-vara), ::view-transition-new(tema-vara),
::view-transition-old(tema-religija), ::view-transition-new(tema-religija),
::view-transition-old(tema-kultura), ::view-transition-new(tema-kultura),
::view-transition-old(tema-notikumi), ::view-transition-new(tema-notikumi),
::view-transition-old(tema-represijas), ::view-transition-new(tema-represijas) {
  height: 100%;
  object-fit: cover;
}

/* 2. cēliens: ceļojums. Grupa (pozīcija un izmērs) gaida, kamēr pārējais
   aizgājis — arī bloka paša saturs (uzraksts, gadu josla) —, tad aizceļo.

   Bezšuvju: kartīte izvēlnē rāda TO PAŠU attēlu kā vāks, tā centra logu
   tajā pašā mērogā (tools/build.py). Tāpēc ceļojumā rādām tikai lielāko
   momentuzņēmumu ar `object-fit: cover` grupas izmērā: kamēr grupa ir
   šaurāka par to, attēls netiek mērogots, logs tikai izplešas (vai
   sašaurinās). Uz sadaļu lielākais ir jaunais — tas uzgaist virs kartītes
   ceļojuma sākumā; uz izvēlni lielākais ir vecais — jaunā kartīte uzgaist
   tikai beigās, kad tā jau ir identiska.

   UZMANĪBU: pārim te ir PAMATA noteikumi bez pseidoklases, un vienpatņus
   pārraksta `:only-child`. `:not(:only-child)` uz pārejas pseidoelementiem
   Chromium nekad nesakrīt — ar to šie noteikumi klusi nestrādāja. */
::view-transition-group(tema-zeme),
::view-transition-group(tema-vara),
::view-transition-group(tema-religija),
::view-transition-group(tema-kultura),
::view-transition-group(tema-notikumi),
::view-transition-group(tema-represijas) {
  z-index: 2;
  animation-duration: var(--t-karte-morfs);
  animation-timing-function: var(--likne-morfs);
  animation-delay: var(--morfs-sakums);
  /* Logs: lielākais momentuzņēmums ir platāks par grupu un bez šī līstu
     ārpus rāmja (pseidoelementus vecāka `overflow` nenogriež). */
  clip-path: inset(0);
}
::view-transition-old(tema-zeme),
::view-transition-old(tema-vara),
::view-transition-old(tema-religija),
::view-transition-old(tema-kultura),
::view-transition-old(tema-notikumi),
::view-transition-old(tema-represijas) {
  animation: none;
}
::view-transition-new(tema-zeme),
::view-transition-new(tema-vara),
::view-transition-new(tema-religija),
::view-transition-new(tema-kultura),
::view-transition-new(tema-notikumi),
::view-transition-new(tema-represijas) {
  mix-blend-mode: normal;
  /* Vāks (bez uzraksta) pārplūst pāri kartītei vēl tās vietā, kamēr
     pārējās aiziet — tā kartītes uzraksts aiziet PIRMS ceļojuma, un
     ceļo jau tīrs attēls. Grupa tobrīd ir kartītes izmērā un apgriezta,
     tāpēc redzams tieši tas pats logs. */
  animation: paradas var(--t-kartes-aiziet) var(--likne-aiziet) both;
}
:root:active-view-transition-type(uz-izvelne)::view-transition-new(tema-zeme),
:root:active-view-transition-type(uz-izvelne)::view-transition-new(tema-vara),
:root:active-view-transition-type(uz-izvelne)::view-transition-new(tema-religija),
:root:active-view-transition-type(uz-izvelne)::view-transition-new(tema-kultura),
:root:active-view-transition-type(uz-izvelne)::view-transition-new(tema-notikumi),
:root:active-view-transition-type(uz-izvelne)::view-transition-new(tema-represijas) {
  animation: paradas-beigas var(--t-karte-morfs) var(--morfs-sakums) linear both;
}
@keyframes paradas-beigas {
  0%, 75%   { opacity: 0; animation-timing-function: var(--likne-aiziet); }
  100%      { opacity: 1; }
}

/* Uzraksts ar pāri (izvēlne ↔ sadaļa) ceļo kopā ar bloku — tā pati grupa
   laikā un līknē. Teksts abos galos ir tas pats, tikai līdzinājums var
   atšķirties (divrindu «Pretošanās. Represijas»), tāpēc ceļa vidū
   komplementāra pārplūšana. Grupa ir VIRS bloka (z-index 3) — citādi
   ceļojošais attēls to apsegtu, un uzraksts pārejas laikā pazustu. */
::view-transition-group(nos-zeme),
::view-transition-group(nos-vara),
::view-transition-group(nos-religija),
::view-transition-group(nos-kultura),
::view-transition-group(nos-notikumi),
::view-transition-group(nos-represijas),
::view-transition-group(gadi) { z-index: 3; }
::view-transition-group(nos-zeme),
::view-transition-group(nos-vara),
::view-transition-group(nos-religija),
::view-transition-group(nos-kultura),
::view-transition-group(nos-notikumi),
::view-transition-group(nos-represijas) {
  animation-duration: var(--t-karte-morfs);
  animation-timing-function: var(--likne-morfs);
  animation-delay: var(--morfs-sakums);
}
::view-transition-old(nos-zeme),
::view-transition-old(nos-vara),
::view-transition-old(nos-religija),
::view-transition-old(nos-kultura),
::view-transition-old(nos-notikumi),
::view-transition-old(nos-represijas) {
  mix-blend-mode: plus-lighter;
  animation: izgaist-vidu var(--t-karte-morfs) var(--morfs-sakums) linear both;
}
::view-transition-new(nos-zeme),
::view-transition-new(nos-vara),
::view-transition-new(nos-religija),
::view-transition-new(nos-kultura),
::view-transition-new(nos-notikumi),
::view-transition-new(nos-represijas) {
  mix-blend-mode: plus-lighter;
  animation: paradas-vidu var(--t-karte-morfs) var(--morfs-sakums) linear both;
}
@keyframes izgaist-vidu {
  0%, 40%   { opacity: 1; }
  60%, 100% { opacity: 0; }
}

/* Bez pāra — uzraksts sadaļā → sadaļā, sadaļā → dziļāk — un laika
   līnijas gadu josla: vecais aiziet PIRMS bloka ceļojuma (kopā ar pārējo),
   jaunais atnāk PĒC tā (kopā ar pārējiem blokiem). */
.gadi { view-transition-name: gadi; }
::view-transition-old(nos-zeme):only-child,
::view-transition-old(nos-vara):only-child,
::view-transition-old(nos-religija):only-child,
::view-transition-old(nos-kultura):only-child,
::view-transition-old(nos-notikumi):only-child,
::view-transition-old(nos-represijas):only-child,
::view-transition-old(gadi) {
  mix-blend-mode: normal;
  animation: bloks-aiziet var(--t-aiziet) var(--likne-aiziet) both;
}
::view-transition-new(nos-zeme):only-child,
::view-transition-new(nos-vara):only-child,
::view-transition-new(nos-religija):only-child,
::view-transition-new(nos-kultura):only-child,
::view-transition-new(nos-notikumi):only-child,
::view-transition-new(nos-represijas):only-child,
::view-transition-new(gadi) {
  mix-blend-mode: normal;
  animation: bloks-ienak var(--t-ienak) var(--ienak-sakums) var(--likne-ienak) both;
}

/* Bez pāra (vāks, ejot dziļāk vai uz citu tēmu) — parasts bloks. */
::view-transition-old(tema-zeme):only-child,
::view-transition-old(tema-vara):only-child,
::view-transition-old(tema-religija):only-child,
::view-transition-old(tema-kultura):only-child,
::view-transition-old(tema-notikumi):only-child,
::view-transition-old(tema-represijas):only-child {
  animation: bloks-aiziet var(--t-aiziet) var(--likne-aiziet) both;
  animation-delay: calc(var(--solis) * 2);   /* galvenais bloks aiziet pēdējais */
}
::view-transition-new(tema-zeme):only-child,
::view-transition-new(tema-vara):only-child,
::view-transition-new(tema-religija):only-child,
::view-transition-new(tema-kultura):only-child,
::view-transition-new(tema-notikumi):only-child,
::view-transition-new(tema-represijas):only-child {
  mix-blend-mode: normal;
  animation: bloks-ienak var(--t-ienak) var(--ienak-sakums) var(--likne-ienak) both;
}
/* 1. cēliens uz sadaļu: nepaņemtās kartītes aiziet lēnā vilnī. */
:root:active-view-transition-type(no-izvelne)::view-transition-old(tema-zeme):only-child,
:root:active-view-transition-type(no-izvelne)::view-transition-old(tema-vara):only-child,
:root:active-view-transition-type(no-izvelne)::view-transition-old(tema-religija):only-child,
:root:active-view-transition-type(no-izvelne)::view-transition-old(tema-kultura):only-child,
:root:active-view-transition-type(no-izvelne)::view-transition-old(tema-notikumi):only-child,
:root:active-view-transition-type(no-izvelne)::view-transition-old(tema-represijas):only-child {
  animation: karte-aiziet var(--t-kartes-aiziet) var(--likne-aiziet) both;
  animation-delay: calc(var(--kartes-n, 0) * var(--kartes-solis));
}
@keyframes karte-aiziet {
  to { opacity: 0; transform: translateY(calc(var(--dy) * var(--atkape) * -2)); }
}
/* 3. cēliens uz izvēlni: pārējās kartītes atklājas vilnī ap atgriezto. */
:root:active-view-transition-type(uz-izvelne)::view-transition-new(tema-zeme):only-child,
:root:active-view-transition-type(uz-izvelne)::view-transition-new(tema-vara):only-child,
:root:active-view-transition-type(uz-izvelne)::view-transition-new(tema-religija):only-child,
:root:active-view-transition-type(uz-izvelne)::view-transition-new(tema-kultura):only-child,
:root:active-view-transition-type(uz-izvelne)::view-transition-new(tema-notikumi):only-child,
:root:active-view-transition-type(uz-izvelne)::view-transition-new(tema-represijas):only-child {
  animation-delay: calc(var(--ienak-sakums) + var(--kartes-n, 0) * var(--kartes-solis));
}

/* ────────────────────────────────────────────────────────────
   Satura bloki: vispirms visi aiziet, tad visi atnāk

   Katram blokam savs vārds, tāpēc pārlūks tam izveido atsevišķu
   pseidoelementu pāri, kam var dot savu aizkavi. Vecie izgaist pa
   vienam; kad pēdējais ir prom, jaunie atklājas pa vienam.

   Vārdi ir pēc klases, ne pēc `nth-child`: ritjoslas norāde vai
   skaitītājs starp blokiem citādi paņemtu bloka vārdu sev.
   ──────────────────────────────────────────────────────────── */
.sadala__saraksts,
.atverums__teksts,
.linija__attels,
.registrs__saraksts,
.vardi,
.meklet,
.pilnekrans__att   { view-transition-name: bloks-a; }

.sadala__ievads,
.galerija,
.linija__notikumi,
.registrs__dati,
.pilnekrans__panelis { view-transition-name: bloks-b; }

.registrs__attels,
.galerija__skaititajs,
.pilnekrans .bultas,
.tuvinajums          { view-transition-name: bloks-c; }

/* Kartes leģenda ir tajā pašā lapā, kur tuvinājuma pogas (bloks-c), tāpēc
   tai savs vārds. Viens vārds divreiz vienā lapā = pārlūks pāreju izlaiž
   pavisam, un lapa nomainās ar rāvienu. */
.legenda             { view-transition-name: legenda; }

/* Karte aizņem visu ekrānu — tā tikai izgaist un atklājas, bez dreifa. */
.karte-ekrans { view-transition-name: karte; }

:root:active-view-transition-type(lapa)::view-transition-old(bloks-a),
:root:active-view-transition-type(lapa)::view-transition-old(bloks-b),
:root:active-view-transition-type(lapa)::view-transition-old(legenda),
:root:active-view-transition-type(lapa)::view-transition-old(bloks-c) {
  animation: bloks-aiziet var(--t-aiziet) var(--likne-aiziet) both;
}
/* Aiziet pretējā secībā, nekā atnāca: c, b, a — «atpakaļ viss otrādi». */
:root:active-view-transition-type(lapa)::view-transition-old(bloks-b) { animation-delay: var(--solis); }
:root:active-view-transition-type(lapa)::view-transition-old(bloks-a) { animation-delay: calc(var(--solis) * 2); }

:root:active-view-transition-type(lapa)::view-transition-new(bloks-a),
:root:active-view-transition-type(lapa)::view-transition-new(bloks-b),
:root:active-view-transition-type(lapa)::view-transition-new(legenda),
:root:active-view-transition-type(lapa)::view-transition-new(bloks-c) {
  mix-blend-mode: normal;
  animation: bloks-ienak var(--t-ienak) var(--likne-ienak) both;
  animation-delay: var(--ienak-sakums);
}
:root:active-view-transition-type(lapa)::view-transition-new(bloks-a) { animation-delay: calc(var(--ienak-sakums) + var(--solis) * 1); }
:root:active-view-transition-type(lapa)::view-transition-new(bloks-b) { animation-delay: calc(var(--ienak-sakums) + var(--solis) * 2); }
:root:active-view-transition-type(lapa)::view-transition-new(bloks-c),
:root:active-view-transition-type(lapa)::view-transition-new(legenda) { animation-delay: calc(var(--ienak-sakums) + var(--solis) * 3); }

:root:active-view-transition-type(lapa)::view-transition-old(karte) {
  animation: izgaist var(--t-aiziet) var(--likne-aiziet) both;
}
:root:active-view-transition-type(lapa)::view-transition-new(karte) {
  mix-blend-mode: normal;
  animation: paradas calc(1000ms * var(--vt)) var(--ienak-sakums) var(--likne-ienak) both;
}

/* ────────────────────────────────────────────────────────────
   Sākumekrāns — lēnāka elpa: saturs lēni izgaist, tad kartītes
   atklājas pa vienai. Tajā atgriežas (pēc dīkstāves): pretēji.
   ──────────────────────────────────────────────────────────── */
.sakums__saturs { view-transition-name: sakums-saturs; }
::view-transition-group(sakums-saturs) { z-index: 5; }
::view-transition-old(sakums-saturs) {
  animation: izgaist calc(700ms * var(--vt)) var(--likne-aiziet) both;
}
::view-transition-new(sakums-saturs) {
  animation: paradas calc(1200ms * var(--vt)) calc(800ms * var(--vt)) var(--likne-ienak) both;
}
:root:active-view-transition-type(no-sakums)::view-transition-new(tema-zeme),
:root:active-view-transition-type(no-sakums)::view-transition-new(tema-vara),
:root:active-view-transition-type(no-sakums)::view-transition-new(tema-religija),
:root:active-view-transition-type(no-sakums)::view-transition-new(tema-kultura),
:root:active-view-transition-type(no-sakums)::view-transition-new(tema-notikumi),
:root:active-view-transition-type(no-sakums)::view-transition-new(tema-represijas) {
  animation-duration: calc(1000ms * var(--vt));
  animation-delay: calc(760ms * var(--vt) + var(--kartes-n, 0) * 90ms * var(--vt));
}

/* ────────────────────────────────────────────────────────────
   Vienas lapas pārejas — galerija, reģistrs

   `document.startViewTransition({types})` no js/ekrani.js. Attēls te
   stāv tajā pašā rāmī, tāpēc tam dodam vārdu tikai šo pāreju laikā:
   jaunais attēls lēni pārplūst pāri vecajam, nekas nekustas.
   ──────────────────────────────────────────────────────────── */
:root:active-view-transition-type(galerija) .galerija__att,
:root:active-view-transition-type(galerija) .pilnekrans__att,
:root:active-view-transition-type(registrs) .registrs__attels > img { view-transition-name: attels; }
:root:active-view-transition-type(galerija) .galerija__anotacija { view-transition-name: galerija-anot; }

::view-transition-group(attels) { z-index: 3; clip-path: inset(0); }
::view-transition-old(attels), ::view-transition-new(attels) {
  height: 100%;
  object-fit: cover;
}
::view-transition-old(attels) { animation: none; }
::view-transition-new(attels) {
  mix-blend-mode: normal;
  animation: paradas calc(800ms * var(--vt)) var(--likne-aiziet) both;
}
::view-transition-old(galerija-anot) {
  animation: izgaist calc(320ms * var(--vt)) var(--likne-aiziet) both;
}
::view-transition-new(galerija-anot) {
  mix-blend-mode: normal;
  animation: paradas calc(640ms * var(--vt)) calc(380ms * var(--vt)) var(--likne-ienak) both;
}

/* Vienas lapas pārejās mainās tikai dati: tie izgaist un atklājas
   uz vietas, bez kustības. Galerijā tas ir tikai skaitītājs — rāmis
   (bloks-b) paliek, jo mainās tikai attēls tajā. */
:root:active-view-transition-type(galerija)::view-transition-old(bloks-c),
:root:active-view-transition-type(registrs)::view-transition-old(bloks-b),
:root:active-view-transition-type(registrs)::view-transition-old(bloks-c) {
  animation: izgaist calc(320ms * var(--vt)) var(--likne-aiziet) both;
}
:root:active-view-transition-type(galerija)::view-transition-new(bloks-c),
:root:active-view-transition-type(registrs)::view-transition-new(bloks-b),
:root:active-view-transition-type(registrs)::view-transition-new(bloks-c) {
  mix-blend-mode: normal;
  animation: paradas calc(680ms * var(--vt)) calc(380ms * var(--vt)) var(--likne-ienak) both;
}
:root:active-view-transition-type(registrs)::view-transition-new(bloks-c) { animation-delay: calc(480ms * var(--vt)); }

@media (prefers-reduced-motion: reduce) {
  ::view-transition-group(*),
  ::view-transition-image-pair(*),
  ::view-transition-old(*),
  ::view-transition-new(*) { animation: none !important; }
}
