/* KOMPONENT clanok — text článku a Ochrany súkromia (.ph-prose, Knižnica D6): odstavce, nadpisy, odkazy,
   zvýraznenie, zoznamy (v rámčeku s čiarami — PRAVIDLA-WEBU 2d), citácie, tabuľky, obrázky.
   Pätkové písmo (freight) LEN tu: .ph-prose nastaví --font-f-font-serif; mimo neho ho zaklad.css prepína na articulat.
   Krok 9 / kúsok 5 (1. 11. 2026): presunuté zo style-…css a userStyles-…css doslova, v pôvodnom poradí.
   Text na stránkach projektov/konceptov (.lp-page) sem nepatrí — ostal v starých súboroch (kúsok 7).
   13 pravidiel dnes v žiadnom článku nepoužitých (h3, b, ol, li p, kurzíva v citáte, hr, pre, pre code, .ph-nolead > p)
   — ponechané (rozhodnutie Martina 1. 11.): bežné prvky textu, ktoré autor môže kedykoľvek napísať. */

/* --- a: z style-a5de0145ecc1.css --- */
.ph-prose {
  color: var(--c-fg);
  row-gap: 26px;
  display: flex;
  font-size: clamp(18px, 1.46vw, 21px);
  font-family: var(--font-f-font-serif);
  line-height: var(--lh-odsek);
  counter-reset: k 0;
  flex-direction: column;
}
.ph-prose > * {
  max-width: 720px;
  margin: 0px;
}
.ph-prose p {
  text-wrap-mode: initial;
  text-wrap-style: pretty;
}
.ph-prose > p:first-child {
  color: var(--c-fg);
  
  line-height: var(--lh-text);
}
.ph-prose h2 {
  color: var(--c-fg);
  row-gap: 14px;
  display: flex;
  
  margin-top: 56px;
  font-family: var(--font-f-font-sans);
  line-height: var(--lh-nadpis);
  text-wrap-mode: initial;
  flex-direction: column;
  text-wrap-style: balance;
  scroll-margin-top: 32px;
  counter-increment: k 1;
}
.ph-prose h2::before {
  color: var(--c-mute);
  font-size: 11px;
  font-family: var(--font-f-font-mono);
  line-height: 1;
  letter-spacing: 0.08em;
}
.ph-prose h3 {
  color: var(--c-fg);
  font-size: 22px;
  margin-top: 16px;
  font-family: var(--font-f-font-sans);
  font-weight: 500;
  line-height: var(--lh-veta);
}
.ph-prose strong {
  color: var(--c-fg);
  font-family: var(--font-f-font-sans);
}
.ph-prose a {
  border-bottom-color: currentcolor;
  border-bottom-style: solid;
  border-bottom-width: 1px;
}
.ph-prose > div {
  row-gap: 26px;
  display: flex;
  flex-direction: column;
}
.ph-prose > div > * {
  max-width: 720px;
  margin: 0px;
}
.ph-prose > div > p:first-child {
  color: var(--c-fg);
  
  line-height: var(--lh-text);
}
.ph-prose > div > h2 {
  margin-top: 56px;
}

/* --- a: z userStyles-b7accc8e732d.css --- */
/* 3. 11. 2026 (D6): bez font-size: inherit — vždy ho prebíjal !important nižšie (prvý odsek ostával veľký aj po zmazaní
   perexu); po zrušení !important by sa prvý odsek zmenšil, preto veľkosť ostáva z pravidla prvého odseku */
.ph-prose.ph-nolead > p:first-child, .ph-prose.ph-nolead > div > p:first-child { line-height: inherit; color: inherit; }
.ph-prose h2 { font-weight: 600; }
.ph-prose h2 { letter-spacing: var(--tr-velky); }
/* pôvodne -0.015em */
.ph-prose h3 { letter-spacing: var(--tr-stredny); }
/* .ph-caret (kurzor hlasu AI) → _system/css/komponenty/f-atom.css (1. 11. 2026, krok 9) */


.ph-prose { --font-f-font-serif: "freight-text-pro", Georgia, serif; }
/* ZVÝRAZNENIE V ČLÁNKOCH: <strong>/<b> v texte článku tučným Newsreader (600), nie prepnutím do sans
   (bolo font-family sans, weight 500). */
.ph-prose strong, .ph-prose b {
  /* 700 = skutočný rez freight-text-pro Bold v Typekit kite (pridaný 2026-10-15); predtým 600 bez rezu → umelé stučnenie */
  font-family: var(--font-f-font-serif); font-weight: 700; letter-spacing: -0.005em;
}
/* SERIF V ČLÁNKOCH — jemne hustejšie medzery: väčší úvodný odsek (21–26 px) -0.01em.
   Bežný text (18–21 px, Newsreader 400) ostáva s letter-spacing 0. */
.ph-prose:not(.ph-nolead) > p:first-child, .ph-prose:not(.ph-nolead) > div > p:first-child {
  letter-spacing: -0.01em;
}
/* ČÍTAČKY OBRAZOVKY (17. 10., Martin): číslo kapitoly je len vizuálna orientácia (nadväzuje na Obsah) — čítačka ho
   nemá čítať pred každým nadpisom („nula jedna…“). „/ ""“ = prázdny alternatívny text; prehliadač, ktorý zápis nepozná,
   tento riadok ignoruje a ostane mu riadok vyššie (vzhľad rovnaký všade). Vyhľadávače obsah ::before nezapočítavajú. */
.ph-prose h2::before { content: counter(k, decimal-leading-zero) / ""; }
/* ČÍSLO KAPITOLY VYSUNUTÉ DOĽAVA (desktop): ako v obsahu — číslo 32 px pred začiatkom textu, nadpis začína
   na línii textu. Zarovnané na hornú hranu verzálok prvého riadku nadpisu. Pod 861 px ostáva nad nadpisom. */
@media (min-width: 861px) {
  .ph-prose:not(.lp-page *) h2 { --hs: clamp(30px, 2.8vw, 40px); position: relative; }
  .ph-prose:not(.lp-page *) h2::before {
    position: absolute; left: -32px; top: calc(var(--hs) * .14);
  }
}
.ph-prose h2 { font-size: var(--ts-velky); letter-spacing: var(--tr-velky); }
.ph-prose > p:first-child, .ph-prose > div > p:first-child { font-size: var(--ts-stredny); letter-spacing: var(--tr-stredny); }
.ph-prose p:not(:first-child) { font-size: var(--ts-text-l); letter-spacing: var(--tr-text); }

/* --- b: z style-a5de0145ecc1.css --- */
.ph-prose ul, .ph-prose ol {
  color: var(--c-fg);
  font-size: 17px;
  font-family: var(--font-f-font-sans);
  line-height: var(--lh-text);
  padding: 0px;
  border-bottom: 1px solid var(--c-line);
  list-style-type: none;
  list-style-image: initial;
  list-style-position: initial;
}
.ph-prose li {
  display: block;
  position: relative;
  border-top: 1px solid var(--c-line);
  align-items: baseline;
  padding: 12px 0px 12px 32px;
  grid-template-columns: 32px minmax(0px, 1fr);
}
.ph-prose li p {
  display: inline;
  margin: 0px;
}
.ph-prose ul li::before {
  width: 8px;
  height: 8px;
  content: "";
  box-shadow: inset 0 0 0 1px var(--f-ink);
  transform: none;
}
/* POLOHA BODKY A ČÍSLA (1. 11. 2026, Martin: „prečo mi v článku tieto bullety lietajú?“): predtým absolútne top: 19px /
   15px — pevné, pri písme --ts-text-l a riadkovaní článku bodka sedela vyššie než stred malých písmen. Teraz ako D9 / D8
   (cislovane-odrazky.css): bodka aj číslo stoja na ÚČIARÍ prvého riadku (inline-block v toku; záporný ľavý okraj = vo
   vnútornom odsadení položky, text sa neposúva, výška riadku sa nemení) a posunú sa:
   bodka — stred na polovici výšky malých písmen textu: top = 4px (polovica bodky) − 1ex / 2 (ex písma položky);
   číslo — vrch na vrchu veľkých písmen textu + 1 px optická korekcia: top = 1cap čísla − 1cap textu (@property) + 1px.
   Grid ako .ph-ul nie: položky majú vnútri <strong>, <a>, <p> — v gride by sa každý stal samostatnou bunkou. */
.ph-prose ul li::before {
  display: inline-block; vertical-align: baseline; margin: 0 24px 0 -32px;   /* −32 + 8 + 24 = 0: text ostáva na mieste */
  position: relative; top: calc(4px - 1cap / 2);   /* 5. 11. 2026 (Martin): stred bodky = stred VEĽKÉHO písmena (predtým stred malých) */
}
.ph-prose ol {
  counter-reset: li 0;
}
.ph-prose ol li {
  counter-increment: li 1;
}
.ph-prose ol li::before {
  color: var(--c-mute);
  content: counter(li, decimal-leading-zero);
  font-size: 11px;
  font-family: var(--font-f-font-mono);
  font-weight: 500;
}
@property --ph-prose-cap { syntax: "<length>"; inherits: true; initial-value: 0px; }
@property --ph-prose-ex { syntax: "<length>"; inherits: true; initial-value: 0px; }
.ph-prose ol li { --ph-prose-cap: 1cap; --ph-prose-ex: 1ex; }   /* 1cap / 1ex TEXTU položky, prevedené na px (číslo má vlastné písmo) */
/* 4. 11. 2026 (Martin, jednotne s Otázkami a Recordom): vrch čísla = vrch MALÝCH písmen textu (1cap čísla − 1ex textu) */
.ph-prose ol li::before {
  display: inline-block; vertical-align: baseline; width: 32px; margin-left: -32px; line-height: 1;   /* šírka = odsadenie */
  position: relative; top: calc(1cap - var(--ph-prose-ex));
}
.ph-prose blockquote {
  margin: 32px 0px;
  padding: 36px 0px 0px;
}
.ph-prose blockquote p {
  color: var(--c-fg);
  font-size: clamp(30px, 3.05vw, 44px);
}
.ph-prose > div > blockquote {
  margin: 32px 0px;   /* max-width: 888px vypustené (kúsok 5) — vždy ho prebilo pravidlo citátu nižšie (min(100%, 888px)) */
}

/* --- b: z userStyles-b7accc8e732d.css --- */
/* ČLÁNKY: citát (blockquote) bez linky nad ním (bolo border-top 1px ink + padding-top 36px) */
.ph-prose blockquote { border-top: 0; padding-top: 0; }
/* ČLÁNKY: CITÁT = HLAS PETRA ako blok „Princíp“ (2026-10-15): rovné pätkové písmo (freight 400, bez kurzívy),
   bez zvislej čiary, pod vetou linka a mono menovka „Pointa“ / „Otázka“ / „Citát · autor“
   (menovku dopĺňa ph-mono.js do data-label). Linka je široká ako text (fit-content). Prepisuje kurzívu a zvislú linku vyššie. */
.ph-prose blockquote { border-left: 0; padding-left: 0; width: fit-content; max-width: min(100%, 888px); }
.ph-prose blockquote p, .ph-prose blockquote p :is(em, i) {
  font-style: normal; font-weight: 400; line-height: var(--lh-veta); letter-spacing: -0.01em;
  max-width: 20em; text-wrap: pretty;
}
.ph-prose blockquote[data-label]::after {
  content: attr(data-label); display: block; margin-top: 32px; padding-top: 18px; border-top: 1px solid var(--c-line);
  font-family: var(--font-f-font-mono); font-size: var(--ts-popis); line-height: var(--lh-text); letter-spacing: .08em; text-transform: uppercase; color: var(--c-mute);
}
/* ČLÁNKY: CITÁT SYSTÉMU = HLAS AI (2026-10-15, z typografia.html „B — Terminál“): <blockquote data-voice="ai">.
   Mono písmo (ellograph), sivá výzva „>“, text sa pri zobrazení „píše“, na konci blikajúci atóm FUTUR MAX ako kurzor
   (ph-mono.js). Menovka ako pri citáte, predvolene „AI · FUTUR MAX“ (vlastná cez data-cite). Šetriť: najviac 1× na článok.
   PRAVIDLO PÔVODU: len so SKUTOČNÝM výstupom systému. Ilustrácia → data-cite="Ukážka výstupu · FUTUR MAX".
   Písmo 18–22 px (bolo 20–27 px): o stupeň nižšie ako Petrov citát, aby stroj nehovoril hlasnejšie než človek. */
.ph-prose blockquote[data-voice="ai"] p {
  font-family: var(--font-f-font-mono); font-weight: 400;
  font-size: clamp(18px, 1.55vw, 22px); line-height: var(--lh-text); letter-spacing: -0.01em; max-width: 24em;
}
.ph-prose blockquote[data-voice="ai"] .ph-ai__pr { color: var(--c-mute); margin-right: .5em; }
/* …ale v zoznamoch (ul/ol sú bezpätkové articulat) je tučné tiež bezpätkové — inak tučný začiatok položky
   preskočil do pätkového písma (napr. Ochrana súkromia, podmienky). */
.ph-prose :is(ul, ol) :is(strong, b) {
  font-family: var(--font-f-font-sans); font-weight: 600; letter-spacing: 0;
}
/* ZOZNAMY V ČLÁNKOCH (ul/ol priamo v texte) v rovnakom boxe ako infografiky: riadky s linkami a štvorčekmi
   vyzerali ako infografika Otázky, ale bez plochy. Linky len medzi riadkami (bez prvej a spodnej na hrane boxu). */
.ph-prose:not(.lp-page *) > div > :is(ul, ol), .ph-prose:not(.lp-page *) > :is(ul, ol) {
  background: var(--f-neutral); padding: 8px 32px 12px; border-bottom: 0; box-sizing: border-box;
}
.ph-prose:not(.lp-page *) > div > :is(ul, ol) > li:first-child,
.ph-prose:not(.lp-page *) > :is(ul, ol) > li:first-child { border-top: 0; }
@media (max-width: 860px) {
  .ph-prose:not(.lp-page *) > div > :is(ul, ol), .ph-prose:not(.lp-page *) > :is(ul, ol) { padding: 4px 20px 8px; }
}
/* ZOZNAM a CITÁT (2026-10-15): .ph-rv a .is-in dáva ph-mono.js (bez skriptu sa nič neskrýva).
   Zoznam: položky po jednom (110 ms). Citát: veta nabehne (600 ms), potom sa linka s menovkou odkryje zľava doprava. */
.ph-prose .ph-rv:is(ul, ol) > li {
  opacity: 0; transform: translateY(8px);
  transition: opacity var(--t-nabeh) var(--f-ease), transform var(--t-nabeh) var(--f-ease); transition-delay: calc(var(--i, 0) * 110ms);
}
.ph-prose .ph-rv.is-in:is(ul, ol) > li { opacity: 1; transform: none; }
.ph-prose blockquote.ph-rv > * { opacity: 0; transform: translateY(10px); transition: opacity var(--t-nabeh) var(--f-ease), transform var(--t-nabeh) var(--f-ease); }
.ph-prose blockquote.ph-rv.is-in > * { opacity: 1; transform: none; }
.ph-prose blockquote.ph-rv[data-label]::after { clip-path: inset(0 100% 0 0); transition: clip-path var(--t-nabeh) var(--f-ease) 380ms; }
.ph-prose blockquote.ph-rv.is-in[data-label]::after { clip-path: inset(0 0 0 0); }
@media (prefers-reduced-motion: reduce) {
  .ph-prose .ph-rv:is(ul, ol) > li, .ph-prose blockquote.ph-rv > * { opacity: 1; transform: none; transition: none; }
  .ph-prose blockquote.ph-rv[data-label]::after { clip-path: none; transition: none; }


}
.ph-prose ul li::before {
  border-radius: var(--f-atom-r);
}
.ph-prose blockquote:not([data-voice="ai"]) p { font-size: var(--ts-veta); letter-spacing: var(--tr-stredny); }
.ph-prose li { font-size: var(--ts-text-l); letter-spacing: var(--tr-text); }

/* --- c: z style-a5de0145ecc1.css --- */
.ph-prose hr {
  width: 100%;
  border-top: 1px solid var(--c-fg);
  border-top-color: currentcolor;
  border-top-style: none;
  border-top-width: 0px;
  border-left-color: currentcolor;
  border-left-style: none;
  border-left-width: 0px;
  border-image-slice: 100%;
  border-image-width: 1;
  border-right-color: currentcolor;
  border-right-style: none;
  border-right-width: 0px;
  border-bottom-color: currentcolor;
  border-bottom-style: none;
  border-bottom-width: 0px;
  border-image-outset: 0;
  border-image-repeat: stretch;
  border-image-source: none;
}
.ph-prose pre {
  color: var(--c-fg);
  font-size: 13px;
  background: var(--f-neutral);
  font-family: var(--font-f-font-mono);
  line-height: var(--lh-odsek);
  padding: 16px 20px;
  text-wrap-mode: wrap;
  white-space-collapse: preserve;
}

/* --- c: z userStyles-b7accc8e732d.css --- */
/* tabuľka „z → na" (.ph-ds): veľkosti cez jej premenné --f1/--f2, podľa nich sa zarovnávajú aj odrážky */

.ph-prose pre code { font-size: var(--ts-ui); letter-spacing: var(--tr-text); }
