/* ============================================================
   POCTIVÁ STAVBA — REJSTŘÍK. Vrstva pipeline v2 (20. 8. 2026).
   Evidenční razítko, stránka zdrojů, datové stránky, kroniky.

   Nadstavba nad assets/style.css a assets/noviny.css. Sahá na
   existující tokeny (--bg --surface --surface2 --ink --muted --faint
   --line --accent --accent2-text --accent-soft --radius --bw) a
   přidává jediné dva vlastní: --verify a --stamp.

   PROČ dva nové tokeny. Razítko potřebuje barvu pro „ověřeno" a barvu
   pro evidenci. Amber --accent by ověření četlo jako upozornění.
   Hodnoty jsou změřené 20. 8. 2026 proti všem šesti podkladům každého
   režimu; nejtěsnější dvojice je --verify na B-light bg = 5,57:1,
   tedy s rezervou nad AA 4,5:1. Kdo bude tokeny ladit, ať to přeměří.
   ============================================================ */

:root{
  --verify:#2E6B4F;   /* 5,57–6,30:1 na světlých podkladech */
  --stamp:#8B2E2E;    /* 7,34–8,31:1 na světlých podkladech */
  --vynalez:#2F5D78;  /* 5,86–6,49:1 na podbarveném boxu vynálezu */
  --poradna:#33613F;  /* 5,92–6,67:1 na podbarveném boxu poradny */
}
[data-mode="dark"]{
  --verify:#7BC49B;   /* 8,15–9,45:1 na tmavých podkladech */
  --stamp:#E39A9A;    /* 7,47–8,66:1 na tmavých podkladech */
  --vynalez:#8FC2DE;  /* 8,56–9,04:1 na podbarveném boxu vynálezu */
  --poradna:#9BD0A8;  /* 8,54–9,75:1 na podbarveném boxu poradny */
}
@media (prefers-color-scheme: dark){
  html:not([data-js])[data-mode="light"]{--verify:#7BC49B;--stamp:#E39A9A;--vynalez:#8FC2DE;--poradna:#9BD0A8}
}

/* ==== EVIDENČNÍ RAZÍTKO ==== */
.razitko{
  margin:0 0 10px;
  font-family:'JetBrains Mono',monospace;
  font-size:10.5px;
  letter-spacing:.06em;
}
.razitko-hlava{
  display:inline-flex;
  flex-wrap:wrap;
  align-items:center;
  gap:0 10px;
  padding:3px 9px;
  border:var(--bw) solid var(--stamp);
  border-radius:2px;
  color:var(--stamp);
  text-transform:uppercase;
  cursor:pointer;
  list-style:none;
}
.razitko-hlava::-webkit-details-marker{display:none}
.razitko-hlava:hover{background:color-mix(in srgb, var(--stamp) 7%, transparent)}
.razitko-hlava:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.razitko-znacka{font-weight:600}
.razitko-delic{opacity:.55}
.razitko-stav--overeno{color:var(--verify)}
.razitko-stav--castecne{color:var(--accent2-text)}
.razitko-sipka{opacity:.6;font-size:9px}
.razitko[open] .razitko-sipka{transform:rotate(180deg);display:inline-block}

.razitko-telo{
  margin-top:8px;
  padding:12px 14px;
  border:var(--bw) solid var(--line);
  border-left:3px solid var(--stamp);
  border-radius:var(--radius-sm);
  background:var(--surface2);
}
.razitko-uvod{margin:0 0 8px;color:var(--muted);text-transform:none;letter-spacing:.03em}
.razitko-seznam{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.razitko-radek{
  display:grid;
  /* minmax(0,1fr), ne 1fr: sloupec mřížky má ve výchozím stavu
     min-width:auto, takže dlouhá URL zdroje bez míst k zalomení roztlačí
     stopu a text vyleze z rámečku razítka. Tohle mu dovolí zúžit se. */
  grid-template-columns:16px 150px minmax(0, 1fr);
  gap:8px;
  align-items:start;
  text-transform:none;
  letter-spacing:.01em;
  line-height:1.5;
}
.razitko-ikona{font-weight:700;text-align:center}
.razitko-radek--ok .razitko-ikona{color:var(--verify)}
.razitko-radek--varovani .razitko-ikona,
.razitko-radek--neprovedeno .razitko-ikona{color:var(--accent2-text)}
.razitko-radek--blok .razitko-ikona{color:var(--stamp)}
.razitko-brana{color:var(--ink);font-weight:500;overflow-wrap:anywhere}
/* Adresa zdroje se musí zalomit i uprostřed slova, jinak jedna dlouhá
   URL rozbije celý blok. */
.razitko-zprava{color:var(--muted);overflow-wrap:anywhere;min-width:0}
.razitko-poznamka{margin:10px 0 0;color:var(--muted);text-transform:none;letter-spacing:.02em}

/* Rozbalení razítka je jediný pohyb na webu (150 ms) a i ten se vypne,
   když si to čtenář v systému přeje. */
@media (prefers-reduced-motion: no-preference){
  .razitko-telo{animation:razitko-rozbal .15s ease-out}
}
@keyframes razitko-rozbal{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}

@media (max-width:520px){
  .razitko-radek{grid-template-columns:16px 1fr}
  .razitko-brana{grid-column:2}
  .razitko-zprava{grid-column:2}
}

/* ==== GRAF (datové stránky) ==== */
.graf-obal{
  border:var(--bw) solid var(--line);
  border-radius:var(--radius-sm);
  background:var(--surface);
  padding:14px;
  overflow-x:auto;
}
.graf{max-width:100%;height:auto;display:block}
.graf-mrizka{stroke:var(--line);stroke-width:1}
.graf-cara{fill:none;stroke:var(--data, #27506B);stroke-width:2;stroke-linejoin:round}
.graf-plocha{fill:var(--data, #27506B);opacity:.10}
.graf-bod{fill:var(--data, #27506B)}
.graf-popisek{font-family:'JetBrains Mono',monospace;font-size:9.5px;fill:var(--muted)}
.graf-prazdno{font-family:'JetBrains Mono',monospace;font-size:12px;fill:var(--muted)}
:root{--data:#27506B}
[data-mode="dark"]{--data:#8FB8D6}

/* ==== TABULKA HODNOT ==== */
.rejstrik-tabulka{
  width:100%;
  border-collapse:collapse;
  font-family:'JetBrains Mono',monospace;
  font-size:12.5px;
  font-variant-numeric:tabular-nums;
  margin:18px 0;
}
.rejstrik-tabulka th,.rejstrik-tabulka td{
  border-bottom:var(--bw) solid var(--line);
  padding:7px 10px;
  text-align:left;
}
.rejstrik-tabulka th{
  color:var(--muted);
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:10.5px;
}
.rejstrik-tabulka td.cislo{text-align:right}
.rejstrik-tabulka tbody tr:hover{background:var(--surface2)}
.tabulka-obal{overflow-x:auto}

/* ==== STRÁNKA ZDROJŮ ==== */
.zdroje-souhrn{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:14px;
  margin:22px 0 30px;
}
.zdroje-dlazdice{
  border:var(--bw) solid var(--line);
  border-radius:var(--radius-sm);
  padding:13px 15px;
  background:var(--surface);
}
.zdroje-cislo{
  font-family:'JetBrains Mono',monospace;
  font-size:26px;
  font-weight:600;
  color:var(--ink);
  font-variant-numeric:tabular-nums;
  line-height:1.1;
}
.zdroje-popis{color:var(--muted);font-size:13px;margin-top:4px}
.zdroje-skupina{
  display:inline-block;
  font-family:'JetBrains Mono',monospace;
  font-size:10px;
  font-weight:600;
  letter-spacing:.1em;
  border:var(--bw) solid var(--line);
  border-radius:2px;
  padding:1px 5px;
  color:var(--muted);
}
.stav-ano{color:var(--verify);font-weight:600}
.stav-ne{color:var(--stamp);font-weight:600}
.rejstrik-poznamka{
  color:var(--muted);
  font-size:13.5px;
  line-height:1.65;
  border-left:3px solid var(--line);
  padding-left:14px;
  margin:18px 0;
}

/* ==== KRONIKA (korpusová stránka, režim C) ==== */
.kronika{
  list-style:none;
  margin:26px 0 0;
  padding:0;
  border-top:var(--bw) solid var(--line);
}
.kronika-zaznam{
  display:grid;
  grid-template-columns:104px 1fr;
  gap:18px;
  padding:16px 0;
  border-bottom:var(--bw) solid var(--line);
}
.kronika-datum{
  font-family:'JetBrains Mono',monospace;
  font-size:12px;
  font-variant-numeric:tabular-nums;
  color:var(--stamp);
  letter-spacing:.04em;
  padding-top:3px;
}
.kronika-nadpis{
  font-family:'JetBrains Mono',monospace;
  font-size:13.5px;
  font-weight:600;
  margin:0 0 5px;
  color:var(--ink);
}
.kronika-text{margin:0;line-height:1.62}
.kronika-zdroj{
  margin:6px 0 0;
  font-size:12.5px;
  color:var(--muted);
}
@media (max-width:560px){
  .kronika-zaznam{grid-template-columns:1fr;gap:6px}
  .kronika-datum{padding-top:0}
}

/* ==== TISK ====
   Razítko je interaktivní důkaz validace: na papíře se nedá rozkliknout
   a log by tam nebyl. Do tiskového PDF vydání proto nevstupuje — a díky
   tomu zůstávají už vydaná PDF platná a nemusí se přesazovat. */
@media print{
  .razitko{display:none}
  .graf-obal{border:1px solid #999;break-inside:avoid}
  .kronika-zaznam{break-inside:avoid}
}

/* ==== RUBRIKA VYNÁLEZY (modul patentů, D131) ====
   Sedí na existujících tokenech, vlastní barvy nezavádí. Disclaimer
   u užitného vzoru je záměrně vizuálně oddělený: je to šablonová
   konstanta, kterou má čtenář vidět dřív, než si udělá obrázek. */
.vynalez{
  position:relative;
  padding:22px 0 26px;
  border-bottom:var(--bw) solid var(--line);
}
/* Záznam vynálezu visí přímo v mřížce `.polozky` (grid auto-fit, gap:0),
   ale nenese třídu `.polozka`, takže si nebral její okapy ani svislou
   dělicí linku. Ve vícesloupcové sazbě se pak odstavce sousedních sloupců
   dotýkaly. Okapy proto drží sám `.vynalez` — stejná čísla jako `.polozka`,
   aby sloupce obou rubrik seděly na stejné mřížce. */
.polozky:has(> .vynalez){margin-inline:-24px}
.polozky > .vynalez{
  padding-left:24px;
  padding-right:24px;
  border-right:var(--bw) solid var(--line);
}
.polozky > .vynalez:last-child{border-right:0}
@media (max-width:640px){
  .polozky:has(> .vynalez){margin-inline:0}
  .polozky > .vynalez{padding-left:0;padding-right:0;border-right:0}
}
.vynalez-titulek{
  font-family:'Cormorant Garamond',serif;
  font-weight:700;
  font-size:clamp(21px,2.6vw,28px);
  line-height:1.16;
  letter-spacing:-.01em;
  margin:8px 0 12px;
}
.vynalez-odstavec{margin:0 0 11px;line-height:1.7}
/* .vynalez-disclaimer zrušeno 21. 8. 2026 (D137): šablonová věta o užitném
   vzoru se u vynálezů neuvádí. Fázi dokumentu nese `.vynalez-faze` v patičce
   záznamu a heslo slovníku, na které záznam povinně odkazuje. */
.vynalez-nohy{
  display:flex;
  flex-wrap:wrap;
  gap:6px 18px;
  align-items:baseline;
  margin-top:14px;
  font-family:'JetBrains Mono',monospace;
  font-size:11.5px;
  letter-spacing:.04em;
  color:var(--muted);
}
.vynalez-faze{
  border:var(--bw) solid var(--line);
  border-radius:2px;
  padding:1px 6px;
  text-transform:uppercase;
  font-size:10px;
  letter-spacing:.09em;
}
.vynalez-souvisi{
  margin-top:9px;
  font-size:12.5px;
  color:var(--muted);
}
.vynalez-odkaz{margin-right:12px}
@media print{
  .vynalez{break-inside:avoid}
}

/* Banner náhledu bloku. Náhled se sází vždy, i s nálezy — je to sazba
   k prohlédnutí, ne publikace, a musí to být na první pohled vidět. */
.nahled-banner{
  background:var(--accent-soft);
  color:var(--on-soft);
  border:var(--bw) solid var(--accent);
  border-radius:var(--radius-sm);
  padding:11px 15px;
  font-family:'JetBrains Mono',monospace;
  font-size:12px;
  letter-spacing:.04em;
  margin:18px 0 0;
}
.nahled-duvody{
  margin:0 0 18px;
  padding:10px 15px 12px 34px;
  background:var(--accent-soft);
  color:var(--on-soft);
  border:var(--bw) solid var(--accent);
  border-top:0;
  border-radius:0 0 var(--radius-sm) var(--radius-sm);
  font-family:'JetBrains Mono',monospace;
  font-size:11.5px;
  line-height:1.6;
}

/* ==== RUBRIKA VYNÁLEZY V DENÍKU (D136, 21. 8. 2026) ====
   Patenty jsou od 21. 8. součástí denního vydání, ne samostatného
   týdenního článku. Box je proto TÝŽ .polozka, jen jinak zbarvená.

   Odlišení je schválně jemné: podbarvení 5 % (světlá témata) a 8 %
   (tmavá) plus svislý pruh vlevo. Silnější barva by z rubriky udělala
   reklamní blok a čtenář by ji přestal číst jako zprávu.

   ZMĚŘENO 21. 8. 2026 na podbarveném podkladu ve všech čtyřech tématech,
   ne na holém --bg (to by byl jiný podklad než ten, na kterém text
   opravdu leží): nejtěsnější dvojice je titulek položky --accent2-text
   na A-light = 4,62:1, tedy nad AA i pro běžný text, ač je titulek
   23px tučný a stačilo by mu 3:1. Kdo bude ladit, ať přeměří ZNOVU
   proti podbarvení, ne proti pozadí stránky. */
.polozka--vynalez{
  background:color-mix(in srgb, var(--vynalez) 5%, transparent);
  box-shadow:inset 3px 0 0 0 var(--vynalez);
}
[data-mode="dark"] .polozka--vynalez{
  background:color-mix(in srgb, var(--vynalez) 8%, transparent);
}
@media (prefers-color-scheme: dark){
  html:not([data-js])[data-mode="light"] .polozka--vynalez{
    background:color-mix(in srgb, var(--vynalez) 8%, transparent);
  }
}
/* Mřížka Deníku bere levé odsazení dvěma položkám: první ve vydání
   a osamělé poslední, která dorovnává lichý řádek. U vynálezu to nejde —
   text by seděl přímo na svislém pruhu. Selektory jsou proto zapsané tak,
   aby přebily i `.polozka:last-child:nth-child(odd)` (0,3,0).
   NALEZENO MĚŘENÍM vykreslené geometrie, ne čtením kódu: v sazbě 6+3
   je devátá položka právě ta osamělá. */
.polozka--vynalez,
.polozka--vynalez:first-child,
.polozka--vynalez:last-child:nth-child(odd){padding-left:24px}
.stitek--vynalez{color:var(--vynalez)}
.stitek--vynalez .stitek-zeme{border-color:currentColor}
.polozka--vynalez .polozka-nohy .zdroj::before{content:"→ spis: "}
.polozka--vynalez .vynalez-faze::before{content:"→ fáze: ";color:var(--muted)}
.polozka--vynalez .vynalez-kdo::before{content:"→ přihlásil: ";color:var(--muted)}

@media print{
  /* V tisku podbarvení mizí, pruh zůstává — rozlišení se nesmí ztratit. */
  .polozka--vynalez{background:none;box-shadow:none;border-left:2px solid #666;padding-left:14px}
}

/* ==== RUBRIKA Z PORADEN V DENÍKU (13. 9. 2026) ====
   Vydání nese vedle položek dne a vynálezů dva články z vlastních poraden
   portfolia. Box je zase TÁŽ .polozka, jen jinak zbarvená — čtenář má
   poznat jinou rubriku, ne jiný web (vzor D136).

   Barva je zelená větev papírové palety dozor-brno.cz, aby se rubrika
   nepletla s modrou rubrikou vynálezů. Podbarvení 5 % ve světlých tématech
   a 8 % v tmavých, stejně jako u vynálezu: silnější barva by z rubriky
   udělala reklamní blok.

   ZMĚŘENO 13. 9. 2026 výpočtem WCAG na podbarveném podkladu ve všech čtyřech
   tématech, ne na holém --bg: nejtěsnější dvojice je štítek a titulek
   --poradna na B-light = 5,92:1 (světlá témata 5,92–6,67:1, tmavá
   8,54–9,75:1); běžný text položky drží 13,1–15,6:1. Kdo bude ladit,
   ať přeměří ZNOVU proti podbarvení, ne proti pozadí stránky.

   Odkaz míří do portfolia, proto v patičce „→ celý článek:" místo
   „→ spis:". Autor se vysazuje vždy (zadání Otakara 13. 9. 2026). */
.polozka--poradna{
  background:color-mix(in srgb, var(--poradna) 5%, transparent);
  box-shadow:inset 3px 0 0 0 var(--poradna);
}
[data-mode="dark"] .polozka--poradna{
  background:color-mix(in srgb, var(--poradna) 8%, transparent);
}
@media (prefers-color-scheme: dark){
  html:not([data-js])[data-mode="light"] .polozka--poradna{
    background:color-mix(in srgb, var(--poradna) 8%, transparent);
  }
}
.polozka--poradna,
.polozka--poradna:first-child,
.polozka--poradna:last-child:nth-child(odd){padding-left:24px}
.stitek--poradna{color:var(--poradna)}
.stitek--poradna .stitek-zeme{border-color:currentColor}
.polozka--poradna .polozka-nohy .zdroj::before{content:"→ celý článek: "}
.polozka--poradna .poradna-autor::before{content:"→ píše: ";color:var(--muted)}
.polozka--poradna .poradna-datum::before{content:"→ vyšlo: ";color:var(--muted)}

@media print{
  .polozka--poradna{background:none;box-shadow:none;border-left:2px solid #666;padding-left:14px}
}

/* ==== ROZCESTNÍK PORADEN (poradny.html, 13. 9. 2026) ====
   Celý fond poraden portfolia na jedné stránce. Seznam, ne dlaždice:
   čtenář tu hledá konkrétní téma a 400 dlaždic se prohlíží hůř než
   400 řádků. Datum je vpravo a šedě, aby nekonkurovalo titulku. */
.poradny-sekce{margin:34px 0 0}
.poradny-seznam{list-style:none;margin:10px 0 0;padding:0}
.poradny-seznam li{
  display:flex;gap:12px;align-items:baseline;justify-content:space-between;
  padding:7px 0;border-bottom:1px solid var(--linka,rgba(0,0,0,.08));
}
.poradny-seznam a{text-decoration:none}
.poradny-seznam a:hover{text-decoration:underline}
.poradny-datum{
  flex:none;color:var(--muted);
  font-family:'JetBrains Mono',monospace;font-size:11.5px;
}
@media (max-width:520px){
  .poradny-seznam li{flex-direction:column;gap:2px}
}
