/* ═══════════════════════════════════════════════════════════════════
   TERMINA — LUPINA
   Ohišje strani: ponastavitev, telo, glava, vsebnik, naslovi, gumbi,
   polja in opombe.

   Zakaj obstaja. Enajst strani je te iste stvari nosilo vsaka zase v
   svojem <style>: 36 selektorjev na treh ali več straneh, 648 vrstic
   skupaj. Večina kopij je bila znak za znak enakih (`*`, `nav img`,
   `h1 em`, `.btn-p`, `.btn-s`, `.note.err`, `[hidden]`), ostale pa so
   se razlikovale v vrednostih, ki jih ni nihče izbral:

     glava visoka   68 · 70 · 72 px
     naslov od besedila   6 · 8 · 10 · 12 px
     obloga gumba   10×20 · 11×22 · 12×22 · 12×24 · 12×26 px
     fokusni obroč odmaknjen   2 · 3 px
     vsebnik od vrha   34 · 36 · 40 px

   To niso odločitve, to je zanašanje. Ena vrednost na vlogo.

   Kar se med stranmi RES razlikuje, je širina branja: pravna stran
   bere ožje kot ponudniška plošča. Ta razlika je zdaj žeton --mera,
   ki ga stran postavi v eni vrstici.

   Kje stoji v skladu. Nalaga se na mestu, kjer so bili vgrajeni
   bloki — PRED postavitev.css in papir.css. Vrstni red je pomemben in
   je bil tak že prej: zunanji datoteki povozita lupino, zato lupina
   pove obliko, papir pa barvo. Če bi lupino naložil zadnjo, bi
   povozila svet.
   ═══════════════════════════════════════════════════════════════════ */

:root{
  /* širina branja; stran jo prepiše, kadar njena vsebina bere drugače */
  --mera: 720px;
  /* odmik vsebine od roba zaslona */
  --rob-strani: 24px;
}

*{margin:0;padding:0;box-sizing:border-box}

body{
  background:var(--mleko);
  color:var(--noc);
  font-family:var(--body);
  font-size:var(--t-base);
  line-height:1.6;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
}

a{color:inherit;text-decoration:none}
[hidden]{display:none !important}
:focus-visible{outline:2px solid var(--mrak);outline-offset:2px;border-radius:var(--r-drobno)}

/* ── glava ─────────────────────────────────────────────────────────
   Lepljiva z zameglitvijo za sabo — kot v aplikaciji (DESIGN.md).
   Doslej je bila lepljiva samo na plošči in v računu; drugod je
   odtekla s stranjo, kar je bila razlika brez razloga. */
nav{
  border-bottom:1px solid var(--meja);
  background:var(--nav-bg);
  backdrop-filter:blur(8px);
  position:sticky;top:0;z-index:10;
  padding-top:env(safe-area-inset-top,0);
}
nav .wrap{
  max-width:var(--mera);margin:0 auto;padding:0 var(--rob-strani);
  height:70px;display:flex;align-items:center;justify-content:space-between;
}
nav img{height:40px;display:block}
nav a.back,nav .back{font-size:var(--t-md);color:var(--kamen);text-decoration:none}
nav a.back:hover,nav .back:hover{color:var(--noc)}

/* ── vsebnik ───────────────────────────────────────────────────────── */
main{max-width:var(--mera);margin:0 auto;padding:36px var(--rob-strani) 90px}

/* ── naslovi ───────────────────────────────────────────────────────
   Teža 400 je iz prejšnjega, temnega sveta; papir.css jo popravi na
   500. Tu ostaja velikost in sled, ker je to oblika, ne barva. */
h1{font-family:var(--display);font-size:var(--t-3xl);letter-spacing:-.015em;margin-bottom:8px}
h1 em{font-style:italic;color:var(--mrak)}
h2{font-family:var(--display);font-size:var(--t-xl)}

/* ── besedilo strani ──────────────────────────────────────────────── */
.lead{color:var(--kamen-d);margin-bottom:24px}
.note{font-size:var(--t-sm);color:var(--kamen);margin-top:12px;min-height:1em}
.empty{color:var(--kamen);font-size:var(--t-md);padding:16px 0}

/* ── povleci za osvežitev (osvezi.js, samo nameščena aplikacija) ────
   Vrstica z risano puščico in napisom; položaj vodi prst, zato brez
   prehoda na vsebniku — prehod ima samo obrat puščice na pragu. */
.osvezi{
  position:fixed;top:0;left:0;right:0;z-index:60;
  display:flex;align-items:center;justify-content:center;gap:8px;
  padding:calc(env(safe-area-inset-top,0px) + 12px) 0 10px;
  transform:translateY(-110%);
  color:var(--kamen);font-size:var(--t-sm);
  background:var(--nav-bg);backdrop-filter:blur(8px);
  border-bottom:1px solid var(--meja);
  pointer-events:none;
}
.osvezi svg{width:16px;height:16px;transition:transform .15s}
@media(prefers-reduced-motion:reduce){.osvezi svg{transition:none}}

/* ── stanje napake (stanja.js) ─────────────────────────────────────
   Napaka seznama ni prazno stanje: pove, KAJ se je zgodilo (počasen
   strežnik ali izpad povezave), in ponudi ponovni poskus. En gradnik
   za vse sezname, zato en videz. Barve so žetoni — na obrnjeni
   ploskvi (.poudarek) jih vsebnik prepiše sam. */
.stanje-napake{
  display:flex;flex-direction:column;align-items:flex-start;gap:6px;
  padding:22px 24px;
  border:1px solid var(--meja);border-radius:var(--r-drobno);
  /* v mreži kartic zasede celo vrstico, ne ene celice */
  grid-column:1/-1;
}
.stanje-napake .sn-znak{width:34px;height:34px;color:var(--kamen);margin-bottom:4px}
.stanje-napake .sn-znak svg{width:100%;height:100%;display:block}
/* naslov v --slonovina, ne --noc: v beli podobi je --noc PLOSKEV
   (#F6F2EC) in bi bil naslov na belem neviden — izmerjeno. */
.stanje-napake .sn-naslov{font-family:var(--display);font-size:var(--t-lg);color:var(--slonovina);line-height:1.25}
.stanje-napake .sn-kaj{font-size:var(--t-md);color:var(--kamen);max-width:48ch}
.stanje-napake .sn-ponovi{margin-top:10px}

/* ── gumbi ─────────────────────────────────────────────────────────
   Barve pove papir.css; tu je oblika, obloga in odziv. */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  font-family:var(--body);font-size:var(--t-md);font-weight:500;
  padding:11px 22px;border-radius:var(--r-drobno);
  border:1px solid transparent;cursor:pointer;
  transition:transform .18s cubic-bezier(.23,1,.32,1),background .18s,border-color .18s,color .18s;
}
.btn-p{background:var(--mrak);color:var(--mleko)}
.btn-p:hover{background:var(--mrak-d)}
.btn-p:disabled{opacity:.5;cursor:default}
.btn-s{border-color:var(--meja);color:var(--noc);background:none}
.btn-s:hover{border-color:var(--noc)}
.btn-link{background:none;border:none;color:var(--mrak);cursor:pointer;
  font-family:inherit;font-size:var(--t-sm);padding:0}
.btn-link:hover{color:var(--mrak-d)}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(0) scale(.985)}
@media(prefers-reduced-motion:reduce){.btn:hover,.btn:active{transform:none}}

/* ── polja ─────────────────────────────────────────────────────────── */
label.fld{display:block;font-size:var(--t-sm);color:var(--kamen);margin:0 0 14px}
label.fld span{display:block;margin-bottom:6px}
