/* ═══ tokens.css · SURSA UNICĂ a casei (culoare · tipografie · măsură · mișcare) ═══
   Consumatori: index.html · sablon/pagina.html · src/experienta.css (prin @import).
   Regula: NICIO culoare de brand nu se mai scrie ca hex în alt fișier.
   Verificarea care ține regula: SPEC-F2-1 § 7.1. */

:root {
  /* ── CULORI DE BRAND (Ed. 2.1) ───────────────────────────────────────────
     Valorile sunt cele pe care s-au copt contractele de contrast ale
     experienței (fostul `experienta.css:5–16`). Nu se rotunjesc, nu se
     „armonizează": orice atingere cere re-măsurarea C8′ pe 8 opriri. */
  --cal-turcoaz:         #24756d;   /* vocea brandului; ⚠️ 3,20:1 pe espresso — doar ≥24 px */
  --cal-turcoaz-d:       #57c0b0;   /* scânteia; perechea deschisă pe fond închis */
  --cal-cupru:           #d2701f;   /* acțiunea: linii, CTA, accente */
  --cal-bronz:           #e8933f;   /* sclipirea, o dată; fost `--ee-terra2`/`--ls-copper-soft` */
  --cal-crem-acc:        #f0cfa0;   /* cerneală caldă pe fond închis */
  --cal-cremos:          #fbf5ec;   /* respirația; cerneala pe închis */
  --cal-espresso:        #2a1a0e;   /* cerneala pe deschis */
  --cal-espresso-fundal: #2a1608;   /* keyframe-ul `fundal` la t6 și pFinal−0,005 (paleta.ts CULORI) */
  --cal-espresso-adanc:  #241207;   /* fost `--ee-esp2` */
  --cal-cerneala-adanca: #120a04;   /* haloul închis / cerneala R-I */
  /* ⚠️ DERIVAT, nu ales: fundalul RANDAT al ULTIMEI imagini a sitului.
     `pragFinal` cade exact la mijlocul segmentului dintre keyframe-urile
     `pFinal ∓ 0,005` (paleta.ts), iar `Color.lerp` interpolează în LINEAR-sRGB
     ⇒ blend 50% de `#2a1608` și `#201410` = `#25150c` (jurnal arheolog 18 aug
     §4.2; naiv, pe octeți sRGB, ar ieși altceva). Se RE-DERIVĂ dacă cineva
     mută `pragFinal` sau `T_ANCORE`. Consumator: fundalul epilogului. */
  --cal-fund-finala:     #25150c;

  /* ── NEUTRE (fără corespondent în manual; valorile temei, consolidate) ─── */
  --cal-nisip:           #eae0d2;   /* fost --sand ≡ --ee-sand */
  --cal-linie:           #dbd0bf;   /* fost --line ≡ --ls-line */
  --cal-mut:             #7a6e60;   /* fost --muted ≡ --ee-mut (fuziunea repară AA: 3,82 → 4,58) */
  --cal-espresso-moale:  #4a3b30;   /* fost --espresso-soft; 9,89:1 pe cremos */

  /* ── TIPOGRAFIE ──────────────────────────────────────────────────────────
     ⚠️ În `font:` shorthand SE SCRIE ÎNTOTDEAUNA cu rezervă:
        font: 600 .72rem var(--cal-font-text, sans-serif);
     Fără ea, un token nedefinit invalidează ÎNTREG shorthand-ul.
     V-1 «O singură poveste» (decizia lui, 21 aug): UN singur font — Space
     Grotesk — pe tot situl; perechea Fraunces+Inter a murit. Ambii tokeni
     rămân VII și arată spre aceeași familie: diferențierea display/text se
     face din greutate + tracking, iar dacă direcția se răzgândește vreodată,
     comutatorul redevine bidirecțional gratis. Accentele NU mai sunt italice
     (Space Grotesk n-are ital; nici Fraunces nu-l încărca) — accentul e
     CULOARE + greutate. */
  --cal-font-display: 'Space Grotesk', 'Segoe UI', Arial, sans-serif;
  --cal-font-text: 'Space Grotesk', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --cal-font-cod: 'JetBrains Mono', 'Consolas', monospace;   /* dev only */

  /* ── MĂSURI (derivate din ce EXISTĂ, nu inventate) ───────────────────────
     lat/text/gutter = `.wrap`/`.narrow` · sect-y = `.section{padding:80px 0}`
     rand = 24px (cea mai frecventă valoare de gap din temă) */
  --cal-masura-lat: 1080px;
  --cal-masura-text: 740px;
  --cal-gutter: 28px;
  --cal-sect-y: 80px;
  --cal-rand: 24px;
  --cal-rand-mic: 12px;
  --cal-raza: 3px;
  --cal-raza-mare: 16px;

  /* ── MIȘCARE ─────────────────────────────────────────────────────────── */
  --cal-ease: cubic-bezier(0.22, 0.61, 0.36, 1);

  /* ── PUNȚI DE MIGRARE ────────────────────────────────────────────────────
     Ținute VII ca migrarea să fie invizibilă pe ecran. Fiecare moare când
     contorul ei de utilizări (SPEC-F2-1 §7.2) ajunge la 0. NU se adaugă punți noi. */
  --cream: var(--cal-cremos);
  --sand: var(--cal-nisip);
  --espresso: var(--cal-espresso);
  --espresso-soft: var(--cal-espresso-moale);
  --accent: var(--cal-turcoaz);
  --accent-2: var(--cal-cupru);
  --line: var(--cal-linie);
  --muted: var(--cal-mut);
  --ee-esp: var(--cal-espresso-fundal);
  --ee-esp2: var(--cal-espresso-adanc);
  --ee-crem: var(--cal-cremos);
  --ee-sand: var(--cal-nisip);
  --ee-terra: var(--cal-cupru);
  --ee-terra2: var(--cal-bronz);
  --ee-ink: var(--cal-espresso);
  --ee-mut: var(--cal-mut);
  --ee-ease: var(--cal-ease);
  /* punțile `--ls-*` au MURIT pe 18 aug: contor 0 pe toate patru (customizer-ul
     a fost topit direct pe `--cal-*`); `--ls-line` nici nu era bit-identică
     (#E9DDCB vs #DBD0BF) — o punte cu valoare derivată ar fi mințit. */
}

/* Regula de bază care LIPSEA de pe paginile generate (skip-linkul se randa
   VIZIBIL pe toate cele 11) — nu e token, dar are aceiași trei consumatori,
   deci stă lângă ei ca să nu se mai piardă. */
.screen-reader-text:not(:focus):not(:focus-within) {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
.screen-reader-text:focus {
  background-color: var(--cal-cremos);
  color: var(--cal-espresso);
  display: block;
  padding: 15px 23px 14px;
  position: absolute;
  left: 5px;
  top: 5px;
  z-index: 100000;
  text-decoration: none;
}

/* ⚠️ Epilogul e markup STATIC în index.html, dar stilurile lui trăiesc în
   CSS-ul chunk-ului leneș al experienței. Regula de ascundere trebuie să fie
   AICI, în foaia încărcată necondiționat: altfel pe orice cale fără experiență
   (tier 0, reduced-motion, JS blocat, întoarcerea prin /#contact) homepage-ul
   afișează un al doilea subsol nestilizat, cu sloturile [poartă] la vedere.
   (Sceptic F2 — blocant confirmat pe dev.) Aprinderea o face experiența:
   `html.calatorie-activa .cal-epilog { display:block }` în experienta.css. */
.cal-epilog {
  display: none;
}
