/* Artykuły bloga (wygląd A4). Ładowany po blog.css tylko na stronach artykułów.
   Złożony 02.11.2026 z arkuszy rund wyglądu w strona/testy/blog/_test-wersje (wspolne, a/wersja, a/koniec,
   a/koniec2, a4/wersja); tamte zostają jako zapis rund, a zmiany robisz już tutaj.
   Po każdej zmianie podbij WERSJA w blog-artykuly/artykuly-nowe/narzedzia/podglad.py (cache tygodniowy). */

/* ===== wspolne.css ===== */
/* ============================================================
   Wspólne dla wszystkich wersji wyglądu (0, A, B, C)
   Nowe elementy próbnego artykułu w OBECNYM stylu bloga.
   Ładowany po /css/blog.css; wersje A-C nadpisują go w swoim wersja.css.
   Strona testowa (noindex), nie łączyć z produkcyjnym blog.css bez decyzji.
   ============================================================ */

/* odstępy w zagnieżdżonych kontenerach — jak .post > * + * w blog.css */
.post-intro > * + *,
.post-intro-rest > * + *,
.post-sec > * + * { margin-top: 1.55rem; }

/* tytuł: jedno słowo kursywą w kolorze akcentu (sygnatura marki) */
.post-title em { font-style: italic; color: var(--accent); }

/* ---------- Karta tematu (pod leadem; na szerokim ekranie w lewej kolumnie) ---------- */
.post-karta {
  background: linear-gradient(rgba(116,180,155,.14), rgba(116,180,155,.14)), var(--paper);
  border: 1px solid rgba(116,180,155,.40);
  border-left: 3px solid var(--prog-50);
  border-radius: 8px;
  padding: 1.05rem 1.25rem;
  color: #22302b;
  font-family: var(--font-body);
}
.post-karta-tile {
  display: flex; flex-wrap: wrap; align-items: baseline; gap: .25rem .7rem;
  font-family: var(--font-mono); font-weight: 700; font-size: .67rem;
  letter-spacing: .16em; text-transform: uppercase; color: #3d6b58;
}
.post-karta-symbol { display: none; }
.post-karta-name { flex-basis: 100%; font-family: var(--font-display); font-weight: 500;
  font-size: 1.15rem; letter-spacing: 0; text-transform: none; color: var(--ink-head); }
.post-karta-stat { display: flex; align-items: center; gap: .9rem; margin-top: .8rem; }
.post-karta-num { font-family: var(--font-display); font-weight: 600; font-size: 2.3rem; line-height: 1; color: #3d6b58; flex: none; }
.post-karta-caption { font-size: .9rem !important; line-height: 1.5 !important; margin: 0; color: #22302b !important; }
.post-karta-facts { margin: .9rem 0 0; display: grid; gap: .55rem; }
.post-karta-fact dt { font-family: var(--font-mono); font-weight: 700; font-size: .62rem;
  letter-spacing: .14em; text-transform: uppercase; color: #3d6b58; }
.post-karta-fact dd { margin: .15rem 0 0; font-size: .9rem; line-height: 1.45; }

@media (min-width: 1320px) {
  .post-intro {
    --rail: min(250px, calc((100vw - 840px) / 2 - 56px));
    --rail-gap: 32px;
    display: grid;
    grid-template-columns: var(--rail) minmax(0, 1fr);
    column-gap: var(--rail-gap);
    margin-left: calc(-1 * (var(--rail) + var(--rail-gap)));
    align-items: start;
  }
  .post-intro > * + * { margin-top: 0; }
  .post-intro > .post-lead { grid-column: 2; grid-row: 1; }
  .post-intro > .post-karta {
    grid-column: 1; grid-row: 1 / span 2;
    position: sticky; top: 108px; align-self: start;
  }
  .post-intro > .post-intro-rest { grid-column: 2; grid-row: 2; margin-top: 1.55rem; }
  .post-karta-stat { flex-direction: column; align-items: flex-start; gap: .45rem; }
}

/* ---------- Pułapka: rodzaj + tytuł ---------- */
.cbox-title::before { content: " — "; }

/* ---------- Rozwiązany przykład: kroki jako lista ---------- */
.post-example-task { font-size: .98rem !important; line-height: 1.7 !important; margin: 0 0 .4rem !important; }
.post-steps { list-style: none; counter-reset: krok; padding: 0; margin: 0; }
.post-steps li { counter-increment: krok; margin: 0; }
.post-steps li::before {
  content: "Krok " counter(krok);
  display: block; margin: 1.15rem 0 .45rem;
  font-family: var(--font-mono); font-weight: 700; font-size: .7rem;
  letter-spacing: .12em; text-transform: uppercase; color: #a85d16;
}
.post-steps li p { font-size: .98rem !important; line-height: 1.7 !important; margin: 0; }
.post-answer-label { font-weight: 700; }
.post-answer-label::after { content: ":"; }

/* ---------- Zadanie z arkusza CKE ---------- */
.post-cke {
  background: rgba(139,148,168,.09);
  border: 1px solid rgba(139,148,168,.32);
  border-left: 3px solid #8B94A8;
  border-radius: 8px;
  padding: 1.05rem 1.25rem;
}
.post-cke-head {
  display: flex; flex-wrap: wrap; align-items: center; gap: .3rem .9rem; margin-bottom: .6rem;
  font-family: var(--font-mono); font-weight: 700; font-size: .67rem; letter-spacing: .16em;
  text-transform: uppercase; color: #616a7d;
}
.post-cke-head svg, .post-task-head svg, .post-trivia-label svg {
  width: 15px; height: 15px; flex: none; fill: none; stroke: currentColor;
  stroke-width: 2; stroke-linecap: round; stroke-linejoin: round;
}
.post-cke-body p { font-size: .98rem !important; line-height: 1.65 !important; color: #35322c !important; margin: 0; }
.post-cke-stat { display: flex; align-items: center; gap: .8rem; margin-top: .9rem; font-size: .85rem; color: var(--ink-soft); }
.post-cke-meter { flex: 1; max-width: 180px; height: 6px; border-radius: 3px; background: rgba(139,148,168,.25); overflow: hidden; }
.post-cke-meter > span { display: block; height: 100%; width: var(--wynik); background: #8B94A8; }
.post-cke-stat-num { font-weight: 700; color: var(--ink-head); }

/* ---------- Zadanie do samodzielnego rozwiązania ---------- */
.post-task { margin: 1.9rem 0; border: 1px solid var(--rule); border-radius: 10px; background: var(--paper-2); overflow: hidden; }
.post-task-head {
  display: flex; align-items: center; gap: .5rem; padding: .75rem 1.25rem;
  background: rgba(157,70,145,.08); border-bottom: 1px solid var(--rule);
  font-family: var(--font-mono); font-weight: 700; font-size: .67rem;
  letter-spacing: .16em; text-transform: uppercase; color: #7a3870;
}
.post-task-title::before { content: "· "; }
@media (max-width: 600px) { .post-task-title::before { content: none; } .post-task-head { flex-wrap: wrap; } }
.post-task-body { padding: 1.15rem 1.25rem; }
.post-task-body > p { font-size: .98rem !important; line-height: 1.7 !important; margin: 0 0 .8rem; }
.post-reveal { border-top: 1px dashed #c9bea6; padding: .2rem 0; }
.post-reveal summary {
  cursor: pointer; list-style: none; min-height: 44px;
  display: flex; align-items: center; gap: .5rem; padding: .6rem 0;
  font-family: var(--font-mono); font-weight: 700; font-size: .72rem;
  letter-spacing: .12em; text-transform: uppercase; color: #a85d16;
}
.post-reveal summary::-webkit-details-marker { display: none; }
.post-reveal summary::before {
  content: "+"; display: inline-grid; place-items: center; flex: none;
  width: 1.3rem; height: 1.3rem; border: 1.5px solid currentColor; border-radius: 50%;
  font-size: .85rem; line-height: 1;
}
.post-reveal[open] summary::before { content: "−"; }
.post-reveal summary:focus-visible { outline: 2px solid var(--mag); outline-offset: 3px; border-radius: 4px; }
.post-reveal .lbl-hide, .post-reveal[open] .lbl-show { display: none; }
.post-reveal[open] .lbl-hide { display: inline; }
.post-reveal-body > p { font-size: .98rem !important; line-height: 1.7 !important; margin: 0 0 .7rem; }
.post-reveal-body .post-eq { margin: .3rem 0; }

/* ---------- Ciekawostki na końcu ---------- */
.post-trivia { display: grid; gap: 1.2rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); }
.post-trivia-item {
  background: rgba(201,162,39,.13); border: 1px solid rgba(201,162,39,.38);
  border-left: 3px solid #C9A227; border-radius: 8px; padding: 1.05rem 1.25rem;
}
.post-trivia-label {
  display: flex; align-items: center; gap: .5rem;
  font-family: var(--font-mono); font-weight: 700; font-size: .67rem;
  letter-spacing: .16em; text-transform: uppercase; color: #8a6d12;
}
.post-trivia-title { font-family: var(--font-display); font-weight: 500; font-size: 1.12rem; line-height: 1.3; color: var(--ink-head); margin: .5rem 0 .45rem; }
.post-trivia-item p { font-size: .93rem !important; line-height: 1.6 !important; color: #3a3320 !important; margin: 0; }

/* ---------- „Kluczowe” z boku: strefa od rozdziału 3 do końca zadań ---------- */
.post-zone > * + *,
.post-zone-body > * + * { margin-top: 1.55rem; }
.post-klucz {
  background: linear-gradient(rgba(94,139,126,.10), rgba(94,139,126,.10)), var(--paper);
  border: 1px solid rgba(94,139,126,.34); border-left: 3px solid #5E8B7E; border-radius: 8px;
  padding: .9rem 1.25rem; font-family: var(--font-body); color: #22302b;
}
.post-klucz > summary {
  display: flex; align-items: center; gap: .5rem; cursor: pointer; list-style: none; min-height: 32px;
  font-family: var(--font-mono); font-weight: 700; font-size: .67rem; letter-spacing: .16em;
  text-transform: uppercase; color: #3c6155;
}
.post-klucz > summary::-webkit-details-marker { display: none; }
.post-klucz > summary:focus-visible { outline: 2px solid var(--mag); outline-offset: 3px; border-radius: 4px; }
.post-klucz-icon { display: inline-flex; }
.post-klucz-icon svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.post-klucz-count { margin-left: auto; font-family: var(--font-body); font-weight: 400; letter-spacing: 0; text-transform: none; font-size: .8rem; }
.post-klucz-list { list-style: none; margin: .6rem 0 0; padding: 0; }
.post-klucz-list > li + li { margin-top: .8rem; }
.post-klucz-title { display: block; font-weight: 600; color: var(--ink-head); }
.post-klucz p { font-size: .95rem !important; line-height: 1.6 !important; margin: .25rem 0 0; }
.post-klucz .post-eq { margin: .35rem 0; }

/* ---------- Ciekawostki jako karty do odwracania: mechanika (wygląd w wersjach) ----------
   Bez JS (i w druku) obie strony karty są widoczne jedna pod drugą.
   Skrypt strony dodaje .js-flip i odwraca kartę przyciskiem. */
.trivia-inner { display: grid; }
.trivia-face { display: flex; flex-direction: column; gap: .55rem; }
.trivia-num { font-family: var(--font-display); font-weight: 600; font-size: 2.4rem; line-height: 1; color: #8a6d12; }
.trivia-unit { font-size: .4em; margin-left: .3em; font-weight: 500; }
.trivia-q { font-family: var(--font-display); font-size: 1.1rem !important; line-height: 1.35 !important; margin: 0; color: var(--ink-head) !important; }
.trivia-back { margin-top: .9rem; padding-top: .9rem; border-top: 1px dashed rgba(138,109,18,.45); }
.trivia-open, .trivia-close { display: none; }
.js-flip .trivia-open, .js-flip .trivia-close {
  display: inline-flex; align-items: center; align-self: flex-start; margin-top: auto; min-height: 44px; padding: 0 1rem;
  border: 1.5px solid currentColor; border-radius: 999px; background: transparent; color: #8a6d12;
  font: 600 .9rem/1 var(--font-body); cursor: pointer;
}
.js-flip .trivia-open:focus-visible, .js-flip .trivia-close:focus-visible { outline: 2px solid var(--mag); outline-offset: 3px; }
.js-flip .trivia-card { perspective: 1400px; }
.js-flip .trivia-inner { height: 100%; transform-style: preserve-3d; transition: transform .6s cubic-bezier(.2,.7,.2,1); }
.js-flip .trivia-face { grid-area: 1 / 1; backface-visibility: hidden; -webkit-backface-visibility: hidden; }
.js-flip .trivia-back { margin: 0; padding-top: 0; border-top: 0; transform: rotateY(180deg); }
.js-flip .trivia-card.is-flipped .trivia-inner { transform: rotateY(180deg); }
@media (prefers-reduced-motion: reduce) { .js-flip .trivia-inner { transition: none; } }
.trivia-close .lbl-fold { display: none; }
/* telefon: zamiast odwracania odpowiedź rozwija się pod pytaniem (karta nie jest wtedy pusta) */
@media (max-width: 700px) {
  .js-flip .trivia-card { perspective: none; }
  .js-flip .trivia-inner { height: auto; transform: none !important; transition: none; }
  .js-flip .trivia-face { grid-area: auto; backface-visibility: visible; -webkit-backface-visibility: visible; }
  .js-flip .trivia-back { display: none; transform: none; }
  .js-flip .trivia-card.is-flipped .trivia-back { display: flex; }
  .js-flip .trivia-card.is-flipped .trivia-open { display: none; }
  .trivia-close .lbl-flip { display: none; }
  .trivia-close .lbl-fold { display: inline; }
}

/* odwrócona karta: ukryta strona nie łapie kliknięć (inaczej zasłania przycisk „Wróć do pytania”) */
@media (min-width: 701px) {
  .js-flip .trivia-card.is-flipped .trivia-front,
  .js-flip .trivia-card:not(.is-flipped) .trivia-back { pointer-events: none; }
}

/* ---------- Zdjęcie: zbliżenie twarzy z portretu z sesji (adrian-sesja.webp, 960 × 1472) ----------
   Kwadrat wycięcia w pikselach źródła: x 225–725, y 55–555 (głowa z kawałkiem ramion). */
.post-face { position: relative; display: block; overflow: hidden; border-radius: 50%; background: #1C2742; }
.post-face img {
  position: absolute; left: -45%; top: -11%; width: 192%; max-width: none; height: auto;
  border: 0; border-radius: 0; box-shadow: none; object-fit: fill;
}
.post-byline-photo.post-face { width: 56px; height: 56px; flex: none; border: 2px solid rgba(255,255,255,.28); }
/* zdjęcie z laboratorium (adrian-lab.jpg, 1292 × 1067): od klatki piersiowej w górę, kwadrat x 395–855, y 100–560 */
.post-face--lab img { width: 281%; left: -85.9%; top: -21.7%; }
/* to samo zdjęcie, sama twarz (podpis pod tytułem): kwadrat x 455–785, y 95–425 */
.post-face--lab-twarz img { width: 391.5%; left: -137.9%; top: -28.8%; }

/* ---------- Zakończenie: kafelek kursu, Mapa, „O autorze” ---------- */
.post-leadmagnet-img { display: block; width: min(160px, 45%); height: auto; margin: 0 auto .8rem; }
.post-author--v2 { grid-template-columns: auto 1fr; }
.post-author--v2 .post-author-photo { width: 120px; height: 120px; }
.post-author-facts { list-style: none; display: flex; flex-wrap: wrap; gap: .5rem; margin: .85rem 0 0; padding: 0; }
.post-author-facts li {
  display: flex; flex-direction: column; gap: .1rem; margin: 0; padding: .45rem .65rem;
  border: 1px solid var(--rule); border-radius: 8px; line-height: 1.2;
}
.post-author-facts b { font-family: var(--font-display); font-weight: 600; font-size: 1.05rem; color: var(--ink-head); }
.post-author-facts span { font-family: var(--font-body); font-size: .72rem; color: var(--ink-soft); }
@media (max-width: 560px) {
  .post-author--v2 { grid-template-columns: 1fr; justify-items: center; text-align: center; }
  .post-author-facts { justify-content: center; }
}

/* ---------- Schematy z kursu (inline SVG) ---------- */
.post-svg { display: block; width: 100%; height: auto; max-height: 420px; }

/* ---------- Przełącznik wersji (tylko podgląd; wersje go nie stylują) ---------- */
.wersje-switch {
  position: fixed; left: 14px; bottom: 14px; z-index: 9999;
  display: flex; align-items: center; gap: 4px; padding: 5px 6px 5px 12px;
  background: #0B1120; color: #F2EDE4; border: 1px solid #2A3550; border-radius: 999px;
  font: 600 12px/1 "Work Sans", system-ui, sans-serif; box-shadow: 0 8px 24px -10px rgba(0,0,0,.6);
}
.wersje-switch-label { margin-right: 6px; opacity: .8; }
.wersje-switch a {
  display: inline-grid; place-items: center; min-width: 28px; height: 28px; padding: 0 8px;
  border-radius: 999px; color: #F2EDE4; text-decoration: none; background: #1C2742;
}
.wersje-switch a[aria-current="page"] { background: #C465B8; color: #160a16; }
.wersje-switch a:focus-visible { outline: 2px solid #3FC9D6; outline-offset: 2px; }
.wersje-switch .wersje-switch-all { background: transparent; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 1099px) {
  /* na dole ekranu jest pasek „Kluczowe”, więc przełącznik idzie do góry */
  .wersje-switch { top: 84px; bottom: auto; left: auto; right: 10px; padding: 4px; }
  .wersje-switch-label { display: none; }
}

/* ---------- Druk (PDF) ---------- */
@media print {
  #cc-main, .site-header, .nav, header.nav, .post-scroll-cue, .post-toc, .read-progress, .wersje-switch { display: none !important; }
  .reveal { opacity: 1 !important; transform: none !important; }
  .post-task, .post-example, .cbox, .post-cke, .post-karta, .post-trivia-item, figure { break-inside: avoid; }
  .post-intro > .post-karta, .post-zone > .post-klucz { position: static; }
  .trivia-open, .trivia-close { display: none !important; }
}

/* ===== a/wersja.css ===== */
/* ============================================================
   Wersja A · Claude — „Układ okresowy lekcji”
   Każdy temat to pierwiastek: karta tematu jest kafelkiem jak w układzie
   okresowym (kod lekcji = liczba atomowa, pieczęć progu, symbol tematu).
   Ten sam język wraca w numerach sekcji i w schemacie na końcu.
   Ramki mówią językiem laboratorium: pułapka ma romb ostrzegawczy jak
   etykieta odczynnika, zadanie z matury wygląda jak wycinek arkusza CKE.
   Ładowany po blog.css i ../wspolne.css. Kolory tylko z palety marki.
   ============================================================ */

.wersja-a {
  --a-paper: #F2EDE4;      /* ivory marki: tło do czytania */
  --a-card: #FAF7F0;       /* jaśniejsze ivory: karty (bez czystej bieli) */
  --a-ink: #10182B;        /* granat marki: tekst na jasnym */
  --a-ink-2: #3B4459;      /* tekst drugorzędny */
  --a-mute: #6A7387;       /* etykiety mono */
  --a-rule: #D9CFBD;       /* linie */
  --a-ember: #E08A3C;      /* liczby, dane, ostrzeżenia */
  --a-ember-ink: #A85D16;  /* pomarańcz jako tekst na jasnym (kontrast) */
  --a-bottle-deep: #23443B;/* zieleń butelkowa, przyciemniona: „to jest prawda” */
  --a-bottle-ink: #2F5A4D;
  --a-green-soft: #E3ECE7; /* tło odpowiedzi */
  --a-col: 860px;          /* kolumna tekstu (szerzej, decyzja Adriana 26.10) */
  --a-rail: 220px;         /* lewa kolumna: karta tematu, „Kluczowe” */
  --a-rail-gap: 32px;
  --a-toc: 200px;          /* spis treści po prawej */
  --a-toc-gap: 40px;
}

/* ---------- powierzchnia i kolumna ---------- */
.wersja-a .post-surface {
  --paper: var(--a-paper);
  --paper-2: #E9E1D2;
  --ink-text: var(--a-ink);
  --ink-head: #0B1120;
  --ink-soft: #5E6678;
  --rule: var(--a-rule);
  overflow-x: clip;
}
.wersja-a .post-surface::before { opacity: .2; }
.wersja-a .post-wrap { width: min(var(--a-col), 100% - 2.5rem); }

.wersja-a .post-intro p,
.wersja-a .post-sec p { font-size: 1.0625rem; line-height: 1.75; color: var(--a-ink); }
.wersja-a .post-lead {
  font-size: clamp(1.2rem, 1.08rem + .5vw, 1.42rem);
  line-height: 1.6; font-weight: 400; color: var(--a-ink);
}
/* wyróżnienia w tekście (makieta 27.10, stałe w każdym artykule):
   pogrubienie = nowe pojęcie, raz; zakreślenie = jedno zdanie do zapamiętania na sekcję, często żadne;
   bursztyn = to, co liczysz, i wynik (jak na rysunkach kursu); szare przekreślone = błędna wersja;
   kolory chemii tylko w tekstach o danym temacie, te same co na rysunkach i filmach kursu
   (kurs-chemia/wytyczne/role/Rysunki w notatkach nieorganicznych.md); magenta tylko dla linków */
.wersja-a .post-lead strong,
.wersja-a .post-sec p strong { font-weight: 600; color: #0B1120; }
/* zdanie do zapamiętania: zwykłe podkreślenie (Adrian 27.10: zakreślenie tłem „w ogóle mi się nie podoba”);
   pomarańczowe, żeby nie wyglądało jak link (link jest magentowy) */
.wersja-a .post mark.t-zakr {
  color: inherit; background: none; padding: 0;
  text-decoration: underline; text-decoration-color: var(--a-ember);
  text-decoration-thickness: 2px; text-underline-offset: .22em;
}
/* przykład w tekście: osobny blok od nowej linii, z etykietą (Adrian 27.10) */
.wersja-a .post-mini { margin: 1.4rem 0 1.6rem; padding: .1rem 0 .15rem 1.2rem; border-left: 3px solid var(--a-rule); }
.wersja-a .post-mini-label {
  display: block; margin-bottom: .35rem;
  font: 700 .64rem/1.2 var(--font-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--a-mute);
}
.wersja-a .post .post-mini p { margin: .3rem 0; }
.wersja-a .post .post-mini .post-list { margin: .3rem 0; }
.wersja-a .post .t-wynik { color: #8A5A00; font-weight: 600; }
.wersja-a .post s.t-zle { color: #5E6679; text-decoration: line-through; text-decoration-thickness: 1.5px; }
.wersja-a .post .t-utl { color: #1F8A43; font-weight: 600; }
.wersja-a .post .t-red { color: #C42F37; font-weight: 600; }
.wersja-a .post .t-kat { color: #2479AA; font-weight: 600; }
.wersja-a .post .t-an  { color: #BF6418; font-weight: 600; }
.wersja-a .post .t-e   { color: #8A5A00; font-weight: 600; }
.wersja-a .post-intro a,
.wersja-a .post-sec a { color: var(--accent-dim); }

/* ---------- nagłówek artykułu: krótszy, tytuł z lewej ---------- */
.wersja-a .post-head {
  min-height: 0;
  padding-top: clamp(7.5rem, 6rem + 4vw, 10rem);
  padding-bottom: clamp(3rem, 2.4rem + 2vw, 4.5rem);
}
.wersja-a .post-head .container { max-width: 1120px; margin-inline: auto; }
.wersja-a .post-head .eyebrow {
  font-family: var(--font-mono); font-size: .74rem; letter-spacing: .14em;
  text-transform: uppercase; color: var(--ember);
}
.wersja-a .post-head .post-title {
  text-align: left; margin: 1.1rem 0 0; max-width: 19ch;
  font-size: clamp(2.3rem, 1.5rem + 3.6vw, 4.4rem); line-height: 1.06;
}
/* najwęższe telefony: najdłuższe słowa tytułów („ksantoproteinowa”, „stechiometryczne”) mieszczą się w wierszu */
.wersja-a .post-head .post-title { overflow-wrap: break-word; }
@media (max-width: 400px) {
  .wersja-a .post-head .post-title { font-size: min(9.1vw, 2.3rem); }
}
.wersja-a .post-head .post-byline { margin-top: 1.6rem; font-size: 1rem; }
.wersja-a .post-scroll-cue { display: none; }

/* ---------- sekcje: numer jako kafelek ---------- */
.wersja-a .post-sec { margin-top: clamp(3.4rem, 2.8rem + 2vw, 4.8rem); }
.wersja-a .post-intro > .post-intro-rest { margin-top: 0; }
.wersja-a .post-intro-rest > .post-sec:first-of-type { margin-top: 2.6rem; }
.wersja-a .post-sec > .post-h2 { margin-top: 0; }
.wersja-a .post-h2 {
  display: flex; align-items: center; gap: 1rem;
  margin-bottom: 1.4rem; padding: 0;
  background: none; border: 0; border-radius: 0; text-align: left;
  font-size: clamp(1.55rem, 1.3rem + 1.2vw, 2.15rem); line-height: 1.15; color: #0B1120;
}
.wersja-a .post-num {
  position: static; transform: none; flex: none;
  display: grid; place-items: center;
  width: 3.1rem; height: 3.1rem;
  border: 2px solid var(--a-ink); border-radius: 6px;
  background: linear-gradient(var(--a-ember) 0 5px, var(--a-card) 5px);
  padding-top: 4px;
  font-size: 1.45rem; color: var(--a-ember-ink); opacity: 1;
}
.wersja-a .post-h2--plain { display: block; }
.wersja-a .post-h2--plain::before {
  content: ""; display: block; width: 3rem; height: 4px; margin-bottom: .9rem;
  border-radius: 2px; background: var(--a-ember);
}
.wersja-a .post-sec h3 {
  border-left: 0; padding-left: 0; margin-top: 2.6rem;
  font-size: 1.32rem; color: #0B1120;
}

/* ---------- wzór: karta wzoru ---------- */
.wersja-a .post-sec > .post-eq {
  position: relative; overflow: visible;
  margin-top: 2rem; padding: 1.55rem 1rem 1.3rem;
  font-family: var(--font-display); font-weight: 500;
  font-size: clamp(1.28rem, 1.1rem + .9vw, 1.7rem); letter-spacing: .01em;
  text-align: center; color: #0B1120;
  background: var(--a-card); border: 2px solid var(--a-ink); border-radius: 10px;
}
.wersja-a .post-sec > .post-eq::before {
  content: "wzór";
  position: absolute; top: -.75rem; left: 1rem;
  padding: .28rem .55rem; border-radius: 4px;
  font-family: var(--font-mono); font-size: .64rem; font-weight: 700;
  letter-spacing: .14em; text-transform: uppercase;
  color: var(--a-paper); background: var(--a-ink);
}

/* ---------- pułapka: romb ostrzegawczy jak na etykiecie odczynnika ---------- */
.wersja-a .post .post-trap {
  position: relative; margin: 2rem 0;
  padding: 1.15rem 1.3rem 1.25rem 4.7rem;
  background: var(--a-card);
  border: 2px solid var(--a-ember); border-radius: 12px;
}
.wersja-a .post-trap::before,
.wersja-a .post-trap::after {
  position: absolute; left: 1.4rem; top: 1.4rem; width: 1.9rem; height: 1.9rem;
}
.wersja-a .post-trap::before {
  content: ""; transform: rotate(45deg);
  border: 3px solid var(--a-ember); border-radius: 3px; background: var(--a-card);
}
.wersja-a .post-trap::after {
  content: "!"; display: grid; place-items: center;
  font-family: var(--font-display); font-weight: 700; font-size: 1.2rem; color: var(--a-ink);
}
.wersja-a .post-trap .cbox-label {
  display: block; margin: 0 0 .6rem;
  font: inherit; letter-spacing: 0; text-transform: none;
}
.wersja-a .post-trap .cbox-label svg { display: none; }
.wersja-a .post-trap .cbox-kind {
  display: inline-block; padding: .26rem .5rem; border-radius: 4px;
  font-family: var(--font-mono); font-size: .64rem; font-weight: 700;
  letter-spacing: .14em; text-transform: uppercase;
  color: var(--a-card); background: var(--a-ember-ink);
}
.wersja-a .post-trap .cbox-title {
  display: block; margin-top: .45rem;
  font-family: var(--font-display); font-weight: 600; font-size: 1.22rem; line-height: 1.3;
  color: #7A400E;
}
.wersja-a .post-trap .cbox-title::before { content: none; }
.wersja-a .post .post-trap p { font-size: 1.03rem; line-height: 1.65; color: var(--a-ink); }

/* ---------- kluczowe: ciemnozielona płyta (jedna na artykuł) ---------- */
.wersja-a .post .post-key {
  margin: 2.3rem 0; padding: 1.45rem 1.55rem 1.55rem;
  background: var(--a-bottle-deep); border: 0; border-radius: 14px;
}
.wersja-a .post-key .cbox-label { color: #A8D5C4; margin-bottom: .75rem; }
.wersja-a .post .post-key p {
  font-family: var(--font-display); font-weight: 400;
  font-size: 1.22rem; line-height: 1.5; color: var(--a-paper);
}

/* ---------- karta tematu: kafelek z układu okresowego ---------- */
.wersja-a .post-karta {
  padding: 0; overflow: hidden;
  background: var(--a-card); color: var(--a-ink);
  border: 2px solid var(--a-ink); border-radius: 12px;
  box-shadow: 0 22px 40px -30px rgba(16,24,43,.55);
  font-family: var(--font-body);
}
.wersja-a .post-karta-tile {
  display: grid; grid-template-columns: 1fr auto;
  grid-template-areas: "code prog" "symbol symbol" "name name";
  align-items: start; gap: .2rem .6rem;
  padding: 1rem 1.1rem 1rem;
  border-top: 7px solid var(--prog-50);
  border-bottom: 1px solid var(--a-rule);
  font: inherit; letter-spacing: 0; text-transform: none; color: var(--a-ink);
}
.wersja-a .post-karta-code {
  grid-area: code; padding-top: .2rem;
  font-family: var(--font-mono); font-weight: 700; font-size: .8rem; letter-spacing: .06em;
}
.wersja-a .post-karta-prog {
  grid-area: prog; width: 48px; height: 48px;
  display: grid; place-content: center; text-align: center;
  border: 2px solid var(--prog-50); border-radius: 50%;
  font-family: var(--font-display); font-weight: 600; font-size: 1.15rem; line-height: 1;
  color: #2F6650;
}
.wersja-a .post-karta-prog-label {
  display: block; margin-bottom: .12rem;
  font-family: var(--font-mono); font-size: .5rem; font-weight: 700;
  letter-spacing: .12em; text-transform: uppercase;
}
.wersja-a .post-karta-symbol {
  grid-area: symbol; display: block; margin-top: .5rem; white-space: nowrap;
  font-family: var(--font-display); font-weight: 500; font-size: 2.15rem; line-height: 1.1;
  color: #0B1120;
}
.wersja-a .post-karta-name {
  grid-area: name; flex-basis: auto;
  font-family: var(--font-body); font-weight: 600; font-size: .88rem; color: var(--a-ink-2);
}
.wersja-a .post-karta-stat { display: block; margin: 0; padding: 1rem 1.1rem .3rem; }
.wersja-a .post-karta-num {
  display: block; font-size: 2.7rem; color: var(--a-ember-ink);
}
.wersja-a .post .post-karta-caption {
  margin-top: .4rem;
  font-family: var(--font-body); font-size: .86rem !important; line-height: 1.5 !important;
  color: var(--a-ink-2) !important;
}
.wersja-a .post-karta-facts { margin: 0; padding: .75rem 1.1rem 1.15rem; gap: .7rem; }
.wersja-a .post-karta-fact dt { font-size: .6rem; color: var(--a-mute); }
.wersja-a .post-karta-fact dd { font-size: .86rem; line-height: 1.45; color: var(--a-ink); }

@media (max-width: 1099px) {
  .wersja-a .post-karta { display: grid; grid-template-columns: minmax(0, 15rem) minmax(0, 1fr); }
  .wersja-a .post-karta-tile { grid-row: 1 / span 2; border-bottom: 0; border-right: 1px solid var(--a-rule); }
  .wersja-a .post-karta-stat { padding-top: 1.1rem; }
}
@media (max-width: 560px) {
  .wersja-a .post-karta { grid-template-columns: minmax(0, 1fr); }
  .wersja-a .post-karta-tile {
    grid-row: auto; border-right: 0; border-bottom: 1px solid var(--a-rule);
    grid-template-columns: auto 1fr auto; grid-template-areas: "symbol name prog" "code code code";
    align-items: center; padding: .85rem 1rem .8rem;
  }
  .wersja-a .post-karta-symbol { margin-top: 0; font-size: 1.7rem; }
  .wersja-a .post-karta-name { padding-left: .3rem; line-height: 1.3; }
  .wersja-a .post-karta-code { padding-top: .35rem; font-size: .7rem; }
  .wersja-a .post-karta-prog { width: 44px; height: 44px; font-size: 1.05rem; }
  .wersja-a .post-karta-stat { display: flex; align-items: center; gap: .9rem; padding: .85rem 1rem .2rem; }
  .wersja-a .post-karta-num { font-size: 2.3rem; flex: none; }
  .wersja-a .post .post-karta-caption { margin-top: 0; font-size: .82rem !important; }
  .wersja-a .post-karta-facts { padding: .6rem 1rem .9rem; gap: .5rem; }
}

/* ---------- „Kluczowe” z boku: widoczne przez całe rozwiązywanie zadań ---------- */
.wersja-a .post-klucz {
  margin: 2rem 0 0; padding: 0; overflow: hidden;
  background: var(--a-bottle-deep); color: var(--a-paper);
  border: 0; border-radius: 14px;
  box-shadow: 0 22px 40px -30px rgba(16,24,43,.6);
}
.wersja-a .post-klucz > summary {
  gap: .55rem; min-height: 50px; padding: .8rem 1.1rem;
  font-size: .68rem; color: #A8D5C4;
}
.wersja-a .post-klucz-icon svg { width: 17px; height: 17px; }
.wersja-a .post-klucz-count { color: #9DC4B5; font-size: .8rem; }
.wersja-a .post-klucz-list { margin: 0; padding: 0 1.1rem 1rem; counter-reset: k; }
.wersja-a .post-klucz-list > li {
  counter-increment: k; margin: 0; padding: .85rem 0 .9rem;
  border-top: 1px solid rgba(242,237,228,.16);
}
.wersja-a .post-klucz-title {
  display: block;
  font-family: var(--font-display); font-weight: 600; font-size: 1.02rem; line-height: 1.3; color: var(--a-paper);
}
.wersja-a .post-klucz-title::before {
  content: counter(k); margin-right: .45rem; font-family: var(--font-display); font-weight: 600; color: var(--a-ember);
}
.wersja-a .post .post-klucz p {
  margin: .4rem 0 0; font-family: var(--font-body);
  font-size: .88rem !important; line-height: 1.55 !important; color: #DCE6E1 !important;
}
.wersja-a .post .post-klucz .post-eq {
  margin: .5rem 0 0; padding: .55rem .5rem; overflow-x: auto;
  font-family: var(--font-display); font-weight: 500; font-size: 1.02rem; text-align: center;
  color: var(--a-paper) !important; background: rgba(242,237,228,.08); border: 0; border-radius: 8px;
}
.wersja-a .post-klucz strong { color: var(--a-ember); font-weight: 700; }

/* ---------- schematy z kursu: większe ---------- */
.wersja-a .post-fig {
  padding: 1.2rem 1.2rem 1rem;
  background: var(--a-card); border: 1px solid var(--a-rule); border-radius: 14px;
}
.wersja-a .post-svg { max-height: 580px; }
.wersja-a .post-fig figcaption {
  margin-top: .6rem; font-family: var(--font-body); font-size: .82rem; color: var(--a-ink-2);
}

/* ---------- rozwiązany przykład: kroki na osi ---------- */
.wersja-a .post .post-example {
  margin: 2.2rem 0; overflow: hidden;
  background: var(--a-card); border: 1px solid var(--a-rule); border-radius: 14px;
}
.wersja-a .post-example-head {
  padding: .85rem 1.3rem; background: transparent;
  border-bottom: 1px solid var(--a-rule); color: var(--a-bottle-ink);
}
.wersja-a .post-example-body { padding: 1.25rem 1.3rem 1.35rem; }
.wersja-a .post .post-example-task {
  font-style: italic; font-size: 1.04rem !important; line-height: 1.65 !important;
  color: var(--a-ink) !important; margin-bottom: 1.15rem !important;
}
.wersja-a .post-steps li { position: relative; padding: 0 0 1.05rem 3rem; }
.wersja-a .post-steps li::before {
  content: counter(krok);
  position: absolute; left: 0; top: -.15rem; z-index: 1; margin: 0;
  width: 2rem; height: 2rem; display: grid; place-items: center;
  border: 2px solid var(--a-ember); border-radius: 50%; background: var(--a-card);
  font-family: var(--font-display); font-weight: 600; font-size: 1rem;
  letter-spacing: 0; text-transform: none; color: var(--a-ember-ink);
}
.wersja-a .post-steps li:not(:last-child)::after {
  content: ""; position: absolute; left: calc(1rem - 1px); top: 1.85rem; bottom: 0;
  width: 2px; background: #EBCDAA;
}
.wersja-a .post .post-steps li p { font-size: 1.03rem !important; line-height: 1.65 !important; color: var(--a-ink) !important; }
.wersja-a .post .post-example-answer {
  display: flex; flex-wrap: wrap; align-items: center; gap: .55rem .9rem;
  margin: .35rem 0 0; padding: .9rem 1.1rem;
  border: 0; border-radius: 10px; background: var(--a-green-soft);
  font-size: 1rem; line-height: 1.4;
}
.wersja-a .post-answer-label {
  padding: .3rem .55rem; border-radius: 4px;
  font-family: var(--font-mono); font-size: .62rem; font-weight: 700;
  letter-spacing: .14em; text-transform: uppercase;
  color: var(--a-paper); background: var(--a-bottle-ink);
}
.wersja-a .post-answer-label::after { content: none; }
.wersja-a .post-answer-value {
  font-family: var(--font-display); font-weight: 600; font-size: 1.3rem; color: #0B1120;
}

/* ---------- zadanie z matury: wycinek arkusza CKE ---------- */
.wersja-a .post .post-cke {
  margin: 2.2rem 0 1.4rem; padding: 0;
  background: #FBF9F4; border: 1px solid #CEC4B1; border-radius: 6px;
  box-shadow: 0 1px 0 #E5DDCD, 0 18px 34px -28px rgba(16,24,43,.55);
}
.wersja-a .post-cke-head {
  justify-content: space-between; margin: 0; padding: .85rem 1.25rem;
  border-bottom: 2px solid var(--a-ink);
  font-family: var(--font-body); font-size: 1rem; font-weight: 400;
  letter-spacing: 0; text-transform: none; color: var(--a-ink);
}
.wersja-a .post-cke-head svg { display: none; }
.wersja-a .post-cke-no { order: 1; font-weight: 700; }
.wersja-a .post-cke-source {
  order: 2; font-family: var(--font-mono); font-size: .64rem; font-weight: 700;
  letter-spacing: .14em; text-transform: uppercase; color: var(--a-mute);
}
.wersja-a .post-cke-body { padding: 1.1rem 1.25rem .95rem; }
.wersja-a .post .post-cke-body p { font-size: 1.04rem !important; line-height: 1.7 !important; color: var(--a-ink) !important; }
.wersja-a .post-cke-stat {
  flex-wrap: wrap; gap: .45rem 1rem; margin: 0; padding: .85rem 1.25rem 1.1rem;
  border-top: 1px dashed #CEC4B1; color: var(--a-ink-2);
}
.wersja-a .post-cke-stat-label {
  flex-basis: 100%; font-family: var(--font-mono); font-size: .62rem; font-weight: 700;
  letter-spacing: .14em; text-transform: uppercase; color: var(--a-mute);
}
.wersja-a .post-cke-meter { max-width: none; height: 12px; border-radius: 6px; background: #E8E0D0; }
.wersja-a .post-cke-meter > span { background: var(--a-ember); border-radius: 6px; }
.wersja-a .post-cke-stat-num {
  font-family: var(--font-display); font-weight: 600; font-size: 1.75rem; line-height: 1;
  color: var(--a-ember-ink);
}

/* ---------- zadania do samodzielnego rozwiązania ---------- */
.wersja-a .post .post-task {
  margin: 2rem 0; background: var(--a-card);
  border: 2px solid var(--a-ink); border-radius: 14px;
}
.wersja-a .post-task-head {
  flex-wrap: wrap; gap: .5rem .8rem; padding: .9rem 1.25rem;
  background: var(--a-ink); border-bottom: 0;
  font-family: var(--font-body); font-size: 1rem; font-weight: 400;
  letter-spacing: 0; text-transform: none; color: var(--a-paper);
}
.wersja-a .post-task-head svg { display: none; }
.wersja-a .post-task-no {
  padding: .3rem .55rem; border-radius: 4px;
  font-family: var(--font-mono); font-size: .64rem; font-weight: 700;
  letter-spacing: .14em; text-transform: uppercase;
  color: var(--a-ink); background: var(--a-ember);
}
.wersja-a .post-task-title { font-family: var(--font-display); font-weight: 500; font-size: 1.2rem; color: var(--a-paper); }
.wersja-a .post-task-title::before { content: none; }
.wersja-a .post-task-body { padding: 1.2rem 1.25rem .55rem; }
.wersja-a .post .post-task-body > p {
  font-size: 1.05rem !important; line-height: 1.7 !important; color: var(--a-ink) !important; margin-bottom: 1rem;
}
.wersja-a .post-reveal { padding: .15rem 0; border-top: 1px solid var(--a-rule); }
.wersja-a .post-reveal summary {
  min-height: 48px; gap: .7rem;
  font-family: var(--font-body); font-size: 1rem; font-weight: 600;
  letter-spacing: 0; text-transform: none; color: var(--a-ink);
}
.wersja-a .post-reveal summary::before {
  width: 1.8rem; height: 1.8rem; border: 2px solid var(--a-ink);
  font-family: var(--font-body); font-size: 1.05rem; font-weight: 600; color: var(--a-ink);
  transition: background-color .15s, color .15s;
}
.wersja-a .post-reveal summary:hover::before { background: var(--a-ink); color: var(--a-paper); }
.wersja-a .post-reveal[open] summary::before { background: var(--a-bottle-ink); border-color: var(--a-bottle-ink); color: var(--a-paper); }
.wersja-a .post-reveal-body { padding: .1rem 0 1rem 2.5rem; }
.wersja-a .post .post-reveal-body > p { font-size: 1.02rem !important; line-height: 1.7 !important; color: var(--a-ink) !important; }
.wersja-a .post-reveal--answer .post-reveal-body {
  margin: 0 0 1rem 2.5rem; padding: .8rem 1rem;
  background: var(--a-green-soft); border-left: 3px solid var(--a-bottle-ink); border-radius: 0 8px 8px 0;
}
.wersja-a .post-reveal-body .post-eq {
  margin: .1rem 0; padding: .15rem 0; overflow-x: auto;
  font-family: var(--font-mono); font-size: .92rem; font-weight: 600;
  background: transparent; border: 0; color: #0B1120;
}

/* ---------- schemat na końcu: kartka do zeszytu ---------- */
.wersja-a .post .post-sec--scheme {
  padding: 1.6rem 1.5rem 1.5rem;
  background: var(--a-card); border: 2px dashed #9AA3B5; border-radius: 16px;
}
.wersja-a .post-sec--scheme .post-h2 { margin-bottom: .5rem; font-size: clamp(1.32rem, 1.18rem + .7vw, 1.65rem); }
.wersja-a .post-sec--scheme .post-list { list-style: none; counter-reset: s; padding: 0; }
.wersja-a .post-sec--scheme .post-list li {
  counter-increment: s; position: relative; margin-top: .95rem; padding-left: 2.9rem;
  font-size: 1.06rem; line-height: 1.6;
}
.wersja-a .post-sec--scheme .post-list li::before {
  content: counter(s);
  position: absolute; left: 0; top: .02rem;
  width: 1.95rem; height: 1.95rem; display: grid; place-items: center; padding-top: 2px;
  border: 2px solid var(--a-ink); border-radius: 5px;
  background: linear-gradient(var(--a-ember) 0 4px, var(--a-card) 4px);
  font-family: var(--font-display); font-weight: 600; font-size: .95rem; color: var(--a-ember-ink);
}

/* ---------- ciekawostki: granatowy pas na deser ---------- */
.wersja-a .post .post-sec--trivia {
  /* szerzej niż kolumna tekstu, ale nie pod spis treści po prawej */
  margin-top: 5rem; margin-inline: calc(50% - min(450px, 50vw - 1.25rem));
  padding: clamp(2.4rem, 2rem + 2vw, 3.6rem) clamp(1.25rem, 1rem + 2vw, 2.6rem);
  background: var(--ink); color: var(--ivory); border-radius: 20px;
}
.wersja-a .post-sec--trivia .post-h2 { margin: 0 0 1.6rem; color: var(--ivory); }
.wersja-a .post-sec--trivia .post-h2::before { background: var(--cyan); }
.wersja-a .post-trivia {
  gap: 1.1rem; align-items: stretch;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr));
}
/* karta ciekawostki: z przodu liczba i pytanie, z tyłu odpowiedź */
.wersja-a .post-trivia-item { padding: 0; background: none; border: 0; border-radius: 14px; }
.wersja-a .trivia-face {
  gap: .75rem; padding: 1.2rem 1.25rem 1.25rem;
  background: var(--a-card); color: var(--a-ink);
  border-radius: 14px; border-top: 6px solid var(--cyan);
}
.wersja-a .post-trivia-label {
  align-self: flex-start; padding: .26rem .5rem; border-radius: 4px;
  background: var(--a-ink); color: var(--cyan); font-size: .62rem;
}
.wersja-a .trivia-front { position: relative; overflow: hidden; }
/* przód karty: liczba i pytanie na środku, duży blady znak zapytania w tle */
.wersja-a .trivia-front .trivia-num { margin-top: auto; }
.wersja-a .trivia-front .trivia-q { margin-bottom: auto; }
.wersja-a .js-flip .trivia-front .trivia-open { margin-top: 0; }
.wersja-a .trivia-front::before {
  content: "?"; position: absolute; right: .3rem; bottom: 2.6rem; z-index: 0; pointer-events: none;
  font: 600 11rem/1 var(--font-display); color: rgba(16,24,43,.05);
}
.wersja-a .trivia-front > *:not(.trivia-open) { position: relative; z-index: 1; }
.wersja-a .trivia-num {
  margin-top: .9rem; font-size: clamp(2.8rem, 2.2rem + 2vw, 3.6rem); color: var(--a-ember-ink);
}
.wersja-a .trivia-unit { color: var(--a-ink-2); }
.wersja-a .post .trivia-q { font-size: 1.18rem !important; line-height: 1.35 !important; color: #0B1120 !important; }
.wersja-a .js-flip .trivia-open,
.wersja-a .js-flip .trivia-close {
  margin-top: auto; padding: 0 1.1rem; min-height: 46px;
  border: 2px solid var(--a-ink); color: var(--a-ink); font-size: .95rem;
  transition: background-color .15s, color .15s;
}
.wersja-a .js-flip .trivia-open:hover, .wersja-a .js-flip .trivia-close:hover { background: var(--a-ink); color: var(--a-paper); }
.wersja-a .js-flip .trivia-open:focus-visible, .wersja-a .js-flip .trivia-close:focus-visible { outline: 3px solid var(--cyan); outline-offset: 3px; }
/* cała przednia strona karty jest klikalna */
.wersja-a .js-flip .trivia-open::after { content: ""; position: absolute; inset: 0; z-index: 2; border-radius: 14px; }
.wersja-a .post .post-trivia-title {
  margin: .2rem 0 0; padding-left: 0; border-left: 0;
  font-size: 1.2rem; line-height: 1.3; color: #0B1120;
}
.wersja-a .post .trivia-back p { font-size: .95rem !important; line-height: 1.62 !important; color: var(--a-ink) !important; margin: 0; }
.wersja-a .post-trivia:not(.js-flip) .trivia-back { border-top: 1px dashed var(--a-rule); }

/* ---------- zakończenie: kafelek kursu, Mapa z boku, „O autorze” ---------- */
.wersja-a .post .post-cta { border-radius: 16px; }
.wersja-a .post .post-cta h3 { border-left: 0; padding-left: 0; }

/* Mapa maturalna: mała karta z obrazkiem; na szerokim ekranie w lewej kolumnie przy kafelku kursu */
.wersja-a .post .post-leadmagnet {
  padding: 1.1rem 1rem 1rem; text-align: left;
  background: var(--a-card); border: 2px solid var(--a-ink); border-radius: 14px;
  box-shadow: 0 22px 40px -30px rgba(16,24,43,.55);
}
.wersja-a .post-leadmagnet-img {
  width: 100%; max-width: 170px; margin: 0 auto .7rem;
  transform: rotate(-3deg); filter: drop-shadow(0 8px 14px rgba(16,24,43,.18));
}
.wersja-a .post .post-leadmagnet h3 {
  margin: .35rem 0 .45rem; text-align: left; font-size: 1.12rem; line-height: 1.25; color: #0B1120;
}
.wersja-a .post .post-leadmagnet > p { max-width: none; margin: 0 0 .8rem; font-size: .84rem; line-height: 1.5; color: var(--a-ink-2); }
.wersja-a .post-leadmagnet .lm-form {
  flex-direction: column; gap: .5rem; max-width: none; margin: 0;
  padding: 0; background: none; border: 0; border-radius: 0;
}
.wersja-a .post-leadmagnet input {
  flex: none; width: 100%; min-height: 44px; padding: .55rem .75rem; font-size: .92rem;
  background: #FBF9F4; border: 1.5px solid #B9B09F;
}
.wersja-a .post-leadmagnet .lm-form .btn { width: 100%; justify-content: center; min-height: 44px; white-space: nowrap; }
.wersja-a .post .post-leadmagnet-note { margin-top: .6rem; font-size: .68rem; line-height: 1.45; text-align: left; }

/* O autorze: zdjęcie z sesji w zbliżeniu, fakty jako kafelki */
.wersja-a .post .post-author--v2 {
  margin-top: 2rem; padding: 1.5rem 1.6rem; gap: 1.6rem; align-items: center;
  background: var(--a-card); border: 2px solid var(--a-ink); border-radius: 16px;
}
.wersja-a .post-author--v2 .post-author-photo {
  width: 150px; height: 150px;
  box-shadow: 0 0 0 3px var(--a-card), 0 0 0 5px var(--a-ember);
}
.wersja-a .post-author--v2 .post-author-eyebrow {
  display: inline-block; padding: .24rem .5rem; border-radius: 4px;
  background: var(--a-ink); color: var(--a-paper); font-size: .62rem;
}
.wersja-a .post-author--v2 .post-author-name { margin: .45rem 0 .4rem; font-size: 1.6rem; color: #0B1120; }
.wersja-a .post .post-author-bio { font-family: var(--font-read); font-size: 1rem; line-height: 1.65; color: var(--a-ink); }
.wersja-a .post-author-facts li {
  min-width: 5.8rem; padding: .6rem .65rem .45rem;
  border: 2px solid var(--a-ink); border-radius: 6px;
  background: linear-gradient(var(--a-ember) 0 4px, var(--a-card) 4px);
}
.wersja-a .post-author-facts b { font-size: 1.12rem; color: var(--a-ember-ink); }
.wersja-a .post-author-facts span { font-size: .7rem; color: var(--a-ink-2); }
.wersja-a .post-author-link {
  display: inline-block; margin-top: .95rem;
  font-family: var(--font-body); font-weight: 600; font-size: .92rem; color: var(--accent-dim);
}

/* ---------- spis treści i pasek postępu ---------- */
.wersja-a .post-toc a { color: #5E6678; border-left-color: var(--a-rule); }
.wersja-a .post-toc a:hover { color: var(--a-ink); }
.wersja-a .post-toc a.is-active { color: var(--a-ink); border-left-color: var(--a-ember); background: transparent; }
.wersja-a .read-progress-fill { background: var(--a-ember); }

/* ============================================================
   UKŁAD SZEROKIEGO EKRANU
   Od 1100 px: [lewa kolumna 220 px][odstęp][tekst do 860 px], całość
   wyśrodkowana. Lewa kolumna: karta tematu przez rozdział 1, „Kluczowe”
   od rozdziału 3 do końca zadań (obie przyklejone przy przewijaniu).
   Od 1400 px dochodzi spis treści po prawej.
   ============================================================ */
@media (min-width: 1100px) {
  .wersja-a .post-wrap,
  .wersja-a .post-head .container {
    --col: min(var(--a-col), 100% - var(--a-rail) - var(--a-rail-gap) - 3rem);
    width: var(--col); max-width: none; padding-inline: 0;
    margin-left: calc((100% - var(--col) - var(--a-rail) - var(--a-rail-gap)) / 2 + var(--a-rail) + var(--a-rail-gap));
    margin-right: 0;
  }
  .wersja-a .post-head .post-title { max-width: 21ch; }
  .wersja-a .post-toc { display: none; }

  .wersja-a .post-intro,
  .wersja-a .post-zone {
    display: grid; align-items: start;
    grid-template-columns: var(--a-rail) minmax(0, 1fr);
    column-gap: var(--a-rail-gap);
    margin-left: calc(-1 * (var(--a-rail) + var(--a-rail-gap)));
  }
  .wersja-a .post-intro > * + *,
  .wersja-a .post-zone > * + * { margin-top: 0; }
  .wersja-a .post-intro > .post-lead { grid-column: 2; grid-row: 1; }
  .wersja-a .post-intro > .post-karta {
    grid-column: 1; grid-row: 1 / span 2; position: sticky; top: 104px; align-self: start;
  }
  .wersja-a .post-intro > .post-intro-rest { grid-column: 2; grid-row: 2; }
  .wersja-a .post-zone > .post-zone-body { grid-column: 2; grid-row: 1; }
  .wersja-a .post-zone > .post-klucz {
    grid-column: 1; grid-row: 1; position: sticky; top: 104px; align-self: start;
    margin-top: clamp(3.4rem, 2.8rem + 2vw, 4.8rem);
  }
  .wersja-a .post-klucz > summary { pointer-events: none; cursor: default; }

  .wersja-a .post-outro {
    display: grid; align-items: start;
    grid-template-columns: var(--a-rail) minmax(0, 1fr);
    grid-template-rows: auto 1fr;   /* wysoka karta Mapy nie rozpycha przerwy pod kafelkiem kursu */
    column-gap: var(--a-rail-gap);
    margin-left: calc(-1 * (var(--a-rail) + var(--a-rail-gap)));
  }
  .wersja-a .post-outro > .post-cta { grid-column: 2; grid-row: 1; margin-top: 0; }
  .wersja-a .post-outro > .post-author { grid-column: 2; grid-row: 2; }
  .wersja-a .post-outro > .post-leadmagnet {
    grid-column: 1; grid-row: 1 / span 2; position: sticky; top: 104px; align-self: start; margin-top: 0;
  }
}
@media (min-width: 1400px) {
  .wersja-a .post-wrap,
  .wersja-a .post-head .container {
    --col: var(--a-col);
    margin-left: calc((100% - var(--a-col) - var(--a-rail) - var(--a-rail-gap) - var(--a-toc) - var(--a-toc-gap)) / 2 + var(--a-rail) + var(--a-rail-gap));
  }
  .wersja-a .post-toc {
    display: block; width: var(--a-toc);
    right: calc((100vw - var(--a-col) - var(--a-rail) - var(--a-rail-gap) - var(--a-toc) - var(--a-toc-gap)) / 2);
  }
}
/* węższy ekran: „Kluczowe” jako pasek przyklejony do dołu ekranu w czasie zadań */
@media (max-width: 1099px) {
  /* Mapa: mała karta, obrazek z lewej */
  .wersja-a .post .post-leadmagnet {
    display: grid; grid-template-columns: 96px minmax(0, 1fr); column-gap: 1rem; align-items: center;
    max-width: 620px; margin-inline: auto;
  }
  .wersja-a .post-leadmagnet-img { grid-column: 1; grid-row: 1 / span 3; margin: 0; }
  .wersja-a .post-leadmagnet-eyebrow,
  .wersja-a .post .post-leadmagnet h3,
  .wersja-a .post .post-leadmagnet > p:not(.post-leadmagnet-note) { grid-column: 2; }
  .wersja-a .post-leadmagnet .lm-form,
  .wersja-a .post .post-leadmagnet-note { grid-column: 1 / -1; }
  .wersja-a .post-leadmagnet .lm-form { margin-top: .4rem; }
  .wersja-a .post-klucz {
    position: sticky; bottom: 12px; z-index: 30;
    box-shadow: 0 14px 36px -10px rgba(11,17,32,.65);
  }
  .wersja-a .post-klucz > summary::after {
    content: "Pokaż"; margin-left: .7rem; padding: .3rem .65rem; border-radius: 999px;
    font-family: var(--font-body); font-size: .78rem; font-weight: 600; letter-spacing: 0; text-transform: none;
    color: var(--a-bottle-deep); background: #A8D5C4;
  }
  .wersja-a .post-klucz[open] > summary::after { content: "Zwiń"; }
  .wersja-a .post-klucz[open] .post-klucz-list { max-height: 55vh; overflow-y: auto; }
}

/* ---------- telefon ---------- */
@media (max-width: 560px) {
  /* O autorze na telefonie: zdjęcie na górze, fakty w siatce 2 × 2 */
  .wersja-a .post .post-author--v2 {
    grid-template-columns: 1fr; justify-items: center; text-align: center; gap: 1rem; padding: 1.4rem 1.1rem;
  }
  .wersja-a .post-author--v2 .post-author-photo { width: 128px; height: 128px; }
  .wersja-a .post-author-facts { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
  .wersja-a .post-author-facts li { min-width: 0; }
}
@media (max-width: 600px) {
  .wersja-a .post .post-sec--trivia { border-radius: 14px; }
  .wersja-a .post-intro p, .wersja-a .post-sec p { font-size: 1.06rem; line-height: 1.72; }
  .wersja-a .post-h2 { gap: .75rem; font-size: 1.48rem; }
  .wersja-a .post-num { width: 2.6rem; height: 2.6rem; font-size: 1.2rem; }
  .wersja-a .post .post-trap { padding-left: 4rem; }
  .wersja-a .post-trap::before,
  .wersja-a .post-trap::after { left: 1.1rem; top: 1.3rem; width: 1.6rem; height: 1.6rem; }
  .wersja-a .post-steps li { padding-left: 2.7rem; }
  .wersja-a .post-reveal-body { padding-left: 0; }
  .wersja-a .post-reveal--answer .post-reveal-body { margin-left: 0; }
  .wersja-a .post .post-sec--scheme { padding: 1.3rem 1.1rem 1.2rem; }
}
@media (max-width: 700px) {
  /* rozwinięta ciekawostka: odpowiedź jako dalszy ciąg tej samej karty */
  .wersja-a .trivia-front::before { display: none; }
  .wersja-a .js-flip .trivia-card.is-flipped .trivia-front { border-radius: 14px 14px 0 0; padding-bottom: .4rem; }
  .wersja-a .js-flip .trivia-card.is-flipped .trivia-back {
    border-top: 1px dashed var(--a-rule); border-radius: 0 0 14px 14px; padding-top: 1rem;
  }
  .wersja-a .js-flip .trivia-back .post-trivia-label { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .wersja-a .post-reveal summary::before { transition: none; }
}

/* ===== a/koniec.css ===== */
/* ============================================================
   Wersja A · zakończenie artykułu (wspólne dla A1, A2, A3; 27.10.2026)
   Uwagi Adriana: na dole za gęsto; Mapa malutka, bez opisu, zgoda zwijana;
   kafelek kursu najważniejszy i na końcu; autor mały, zdjęcie z laboratorium;
   spis treści u góry prawej kolumny.
   Ładowany po a/wersja.css; A1–A3 układają te elementy po swojemu.
   ============================================================ */

/* spis treści: u góry prawej kolumny, nie w połowie wysokości; --spis-top ustawia skrypt:
   spis startuje razem z kolumną artykułu, a nie na granatowym nagłówku, i przykleja się 104 px od góry */
.wersja-a .post-toc { top: var(--spis-top, 104px); transform: none; }

/* ---------- ciekawostki: jasne karty na papierze ----------
   (kafelek kursu jest jedynym ciemnym blokiem na końcu, bez granatu pod granatem) */
.wersja-a .post .post-sec--trivia {
  margin-inline: 0; padding: 0; color: inherit;
  background: none; border-radius: 0;
}
.wersja-a .post-sec--trivia .post-h2 { margin: 0 0 1.4rem; color: #0B1120; }
.wersja-a .trivia-face { border: 2px solid var(--a-ink); border-top: 6px solid var(--cyan); }

/* ---------- kafelek kursu: finał artykułu ---------- */
.wersja-a .post-outro { margin-top: clamp(3.6rem, 3rem + 2vw, 5rem); }
.wersja-a .post .post-cta--duzy {
  margin: 0; padding: clamp(1.8rem, 1.4rem + 2vw, 2.8rem);
  background: var(--ink-deep); border: 0; border-radius: 20px; color: var(--ivory);
}
.wersja-a .post-cta--duzy .post-cta-eyebrow { display: block; font-size: .72rem; line-height: 1.6; color: var(--ember); }
.wersja-a .post .post-cta--duzy .post-cta-title {
  max-width: 22ch; margin: .6rem 0 .7rem;
  font-family: var(--font-display); font-weight: 500;
  font-size: clamp(1.75rem, 1.3rem + 1.7vw, 2.5rem); line-height: 1.1; color: var(--ivory);
}
.wersja-a .post .post-cta--duzy > p { max-width: 52ch; margin: 0; font-size: 1.02rem; line-height: 1.65; color: #C9D0DB; }
.wersja-a .post-cta-facts { list-style: none; display: flex; flex-wrap: wrap; gap: .7rem; margin: 1.5rem 0 0; padding: 0; }
.wersja-a .post .post-cta-facts li {
  display: flex; flex-direction: column; gap: .15rem; min-width: 7.4rem; margin: 0; padding: .65rem .85rem .6rem;
  border: 1.5px solid #3A4766; border-top: 4px solid var(--ember); border-radius: 8px;
  background: rgba(242,237,228,.04); line-height: 1.2;
}
.wersja-a .post-cta-facts b { font-family: var(--font-display); font-weight: 600; font-size: 1.35rem; color: var(--ember); }
.wersja-a .post-cta-facts span { font-family: var(--font-body); font-size: .78rem; color: var(--slate); }
.wersja-a .post-cta--duzy .post-cta-actions { margin-top: 1.7rem; gap: .9rem 1.5rem; }
.wersja-a .post .post-cta--duzy .btn { padding: 1rem 1.6rem; font-size: 1.02rem; }
.wersja-a .post .post-cta--duzy .post-cta-alt {
  font-family: var(--font-body); font-size: .95rem; font-weight: 600;
  text-decoration: underline; text-underline-offset: 3px;
}
/* telefon: liczby w równych wierszach zamiast poszarpanych kafelków, przycisk na całą szerokość */
@media (max-width: 560px) {
  .wersja-a .post-cta-facts { flex-direction: column; gap: .5rem; }
  .wersja-a .post .post-cta-facts li {
    flex-direction: row; align-items: baseline; gap: .7rem; min-width: 0; padding: .55rem .8rem;
    border-top-width: 1.5px; border-left: 4px solid var(--ember);
  }
  .wersja-a .post-cta-facts b { flex: none; min-width: 5.6rem; font-size: 1.2rem; }
  .wersja-a .post .post-cta--duzy .btn { width: 100%; justify-content: center; text-align: center; }
}

/* ---------- darmowy moduł jako osobny kafelek: tylko w A2 ---------- */
.wersja-a .post-modul { display: none; }
/* obrazy lekcji w kafelku kursu i jasne „Czytaj dalej”: tylko w A4–A6 (a/koniec2.css) */
.wersja-a .post-cta-wizual,
.wersja-a .post-powiazane { display: none; }

/* ---------- Mapa: malutki kafelek ---------- */
.wersja-a .post-mapa {
  display: grid; grid-template-columns: 52px minmax(0, 1fr); align-items: center; gap: .65rem .8rem;
  padding: .9rem; background: var(--a-card); border: 2px solid var(--a-ink); border-radius: 14px;
}
.wersja-a .post-mapa-img { grid-column: 1; grid-row: 1; width: 52px; height: auto; transform: rotate(-4deg); }
.wersja-a .post .post-mapa-title {
  grid-column: 2; grid-row: 1; margin: 0;
  font-family: var(--font-display); font-weight: 600; font-size: .98rem; line-height: 1.25; color: #0B1120;
}
.wersja-a .post .post-mapa-form {
  grid-column: 1 / -1; display: flex; margin: 0; padding: 0;
  background: none; border: 0; border-radius: 0;
}
.wersja-a .post-mapa-form input[type="email"] {
  flex: 1; min-width: 0; min-height: 44px; padding: .5rem .7rem;
  font: 400 .92rem var(--font-body); color: var(--a-ink);
  background: #FBF9F4; border: 1.5px solid var(--a-ink); border-right: 0; border-radius: 8px 0 0 8px;
}
.wersja-a .post-mapa-form input[type="email"]::placeholder { color: #7A8193; }
.wersja-a .post-mapa-send {
  flex: none; width: 48px; min-height: 44px; cursor: pointer;
  font: 700 1.15rem/1 var(--font-body); color: #160a16;
  background: var(--accent); border: 1.5px solid var(--a-ink); border-radius: 0 8px 8px 0;
}
.wersja-a .post-mapa-send:hover { background: var(--accent-bright); }
.wersja-a .post-mapa-form input:focus-visible,
.wersja-a .post-mapa-send:focus-visible { outline: 2px solid var(--accent-dim); outline-offset: 2px; }
.wersja-a .post-mapa-zgoda { grid-column: 1 / -1; font-family: var(--font-body); font-size: .7rem; line-height: 1.45; color: var(--a-ink-2); }
.wersja-a .post-mapa-zgoda > summary { cursor: pointer; list-style: none; }
.wersja-a .post-mapa-zgoda > summary::-webkit-details-marker { display: none; }
/* „dzióbek” po tekście: w dół zwinięte, w górę rozwinięte */
.wersja-a .post-mapa-zgoda > summary::after {
  content: ""; display: inline-block; width: .42em; height: .42em; margin-left: .45em;
  border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor;
  transform: translateY(-.2em) rotate(45deg); transition: transform .15s;
}
.wersja-a .post-mapa-zgoda[open] > summary::after { transform: translateY(.05em) rotate(-135deg); }
.wersja-a .post-mapa-zgoda[open] .post-mapa-kropki { display: none; }
.wersja-a .post-mapa-zgoda > summary:focus-visible { outline: 2px solid var(--accent-dim); outline-offset: 2px; border-radius: 3px; }
.wersja-a .post .post-mapa-zgoda p { margin: .15rem 0 0; font-size: .7rem; line-height: 1.45; color: var(--a-ink-2); }
.wersja-a .post-mapa-zgoda a { color: var(--accent-dim); }
/* komunikat po zapisie: skrypt strony wstawia go ze stylem inline (za duży do małego kafelka) */
.wersja-a .post-mapa .lm-form [role="status"] {
  padding: .2rem 0 !important; text-align: left !important; font-size: .84rem !important; line-height: 1.45 !important;
}
.wersja-a .post-mapa .lm-form [role="status"] span { font-size: .78rem !important; }

/* ---------- autor: mały kafelek ---------- */
.wersja-a .post-autor-mini {
  display: grid; grid-template-columns: 64px minmax(0, 1fr); align-items: center; gap: .8rem;
  padding: .85rem .9rem; font-family: var(--font-body);
  background: var(--a-card); border: 2px solid var(--a-ink); border-radius: 14px;
}
.wersja-a .post-autor-mini .post-face { width: 64px; height: 64px; border-radius: 12px; }
.wersja-a .post-autor-mini-eyebrow {
  font-family: var(--font-mono); font-size: .58rem; font-weight: 700; letter-spacing: .14em;
  text-transform: uppercase; color: var(--a-mute);
}
.wersja-a .post .post-autor-mini-name {
  margin: .1rem 0 0; font-family: var(--font-display); font-weight: 600; font-size: 1rem; line-height: 1.25; color: #0B1120;
}
.wersja-a .post-autor-mini-rola { display: none; }
.wersja-a .post .post-autor-mini-bio { margin: .25rem 0 0; font-size: .8rem; line-height: 1.45; color: var(--a-ink-2); }
.wersja-a .post .post-autor-mini-link {
  display: inline-block; margin-top: .3rem; font-size: .82rem; font-weight: 600; color: var(--accent-dim);
}

@media (prefers-reduced-motion: reduce) {
  .wersja-a .post-mapa-zgoda > summary::after { transition: none; }
}

/* ===== a/koniec2.css ===== */
/* ============================================================
   Wersja A · szerokie zakończenie (wspólne dla A4, A5, A6; 27.10.2026, runda 2)
   Uwagi Adriana: kafelki autora i Mapy za wąskie („po co ściskać wszystko na środku”),
   kafelek kursu dalej ginie, powiązane wpisy zlewają się ze stopką.
   Research i opinie Fable i Codexa: blog-artykuly/artykuly-nowe/zakonczenie-runda-2.md
   Ładowany po a/koniec.css. A4–A6 różnią się tylko wyglądem kafelka kursu.
   ============================================================ */

.koniec-szeroki { --koniec-max: 1440px; }

/* ---------- 1. boczne kolumny rosną z ekranem, tekst zostaje 860 px ---------- */
@media (min-width: 1400px) {
  .koniec-szeroki {
    --a-rail: clamp(220px, calc(220px + (100vw - 1400px) * .18), 320px);
    --a-rail-gap: clamp(32px, calc(32px + (100vw - 1400px) * .04), 56px);
    --a-toc: clamp(200px, calc(200px + (100vw - 1400px) * .19), 300px);
    --a-toc-gap: clamp(40px, calc(40px + (100vw - 1400px) * .03), 56px);
  }
  /* zakończenie zajmuje kolumnę spisu treści, więc spis chowa się, gdy ono wjeżdża (klasa ze skryptu) */
  .koniec-szeroki.koniec-widoczny .post-toc {
    opacity: 0 !important; visibility: hidden; pointer-events: none !important;
    transition: opacity .3s ease, visibility 0s linear .3s;
  }
}

/* ---------- 2. zakończenie szersze niż tekst ----------
   cały układ (lewa kolumna + tekst + prawa kolumna), najwyżej 1440 px, na środku;
   procenty liczą się od szerokości kolumny tekstu */
.koniec-szeroki .post-outro { display: block; margin-top: clamp(4.5rem, 3.5rem + 3vw, 7rem); }
@media (min-width: 1100px) {
  .koniec-szeroki .post-outro {
    --grupa: calc(100% + var(--a-rail) + var(--a-rail-gap));
    width: min(var(--grupa), var(--koniec-max));
    margin-left: calc(-1 * (var(--a-rail) + var(--a-rail-gap)) + (var(--grupa) - min(var(--grupa), var(--koniec-max))) / 2);
  }
}
@media (min-width: 1400px) {
  .koniec-szeroki .post-outro { --grupa: calc(100% + var(--a-rail) + var(--a-rail-gap) + var(--a-toc-gap) + var(--a-toc)); }
}
/* „Poprzedni / Zobacz wszystkie” powtarzały wpis z powiązanych: zastępuje je „Czytaj dalej” */
.koniec-szeroki .post-nav { display: none; }

/* ---------- 3. kafelek kursu: tekst z lewej, lekcja z kursu z prawej ---------- */
.koniec-szeroki .post .post-cta--duzy {
  display: grid; grid-template-columns: minmax(0, 1fr); align-items: center;
  grid-template-areas: "wizual" "eyebrow" "title" "text" "facts" "actions";
  padding: clamp(1.5rem, 1rem + 3vw, 3.75rem); border-radius: 24px;
}
.koniec-szeroki .post-cta--duzy .post-cta-eyebrow { grid-area: eyebrow; }
.koniec-szeroki .post .post-cta--duzy .post-cta-title {
  grid-area: title; max-width: 18ch; font-size: clamp(2rem, 1.4rem + 1.8vw, 3.25rem); line-height: 1.06;
}
.koniec-szeroki .post .post-cta--duzy > p { grid-area: text; max-width: 46ch; font-size: clamp(1.02rem, .95rem + .3vw, 1.15rem); }
.koniec-szeroki .post-cta--duzy .post-cta-facts { grid-area: facts; }
/* trzy liczby zawsze w jednym, równym wierszu (na telefonie w wierszach jedna pod drugą, a/koniec.css) */
@media (min-width: 561px) {
  .koniec-szeroki .post-cta--duzy .post-cta-facts { flex-wrap: nowrap; }
  .koniec-szeroki .post .post-cta--duzy .post-cta-facts li { flex: 1 1 0; min-width: 0; }
}
.koniec-szeroki .post-cta--duzy .post-cta-actions { grid-area: actions; }
.koniec-szeroki .post .post-cta--duzy .btn { padding: 1.1rem 1.9rem; font-size: 1.08rem; }
.koniec-szeroki .post-cta-wizual {
  grid-area: wizual; display: block; position: relative;
  width: 100%; max-width: 620px; justify-self: center; aspect-ratio: 1.3; margin-bottom: 1.4rem;
}
.koniec-szeroki .post-cta-wizual img {
  position: absolute; display: block; height: auto; max-width: none;
  border-radius: 12px; border: 1px solid rgba(242,237,228,.18);
  box-shadow: 0 30px 60px -30px rgba(0,0,0,.7);
}
.koniec-szeroki .post-cta-modul { width: 60%; left: 0; top: 0; transform: rotate(-4deg); }
.koniec-szeroki .post-cta-lekcja { width: 80%; right: 0; bottom: 3%; transform: rotate(2.5deg); }
@media (min-width: 1000px) {
  .koniec-szeroki .post .post-cta--duzy {
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
    grid-template-areas: "eyebrow wizual" "title wizual" "text wizual" "facts wizual" "actions wizual";
    column-gap: clamp(2rem, 4vw, 4.5rem);
  }
  .koniec-szeroki .post-cta-wizual { margin: 0; }
}

/* ---------- 4. Mapa: szeroki, niski pasek pod kursem ---------- */
.koniec-szeroki .post-mapa {
  margin-top: 1.25rem; padding: 1.1rem 1.25rem; gap: .8rem 1.1rem;
  grid-template-columns: 60px minmax(0, 1fr);
  grid-template-areas: "img tytul" "form form" "zgoda zgoda";
  border-radius: 18px;
}
.koniec-szeroki .post-mapa-img { grid-area: img; width: 60px; }
.koniec-szeroki .post .post-mapa-title { grid-area: tytul; font-size: clamp(1.08rem, 1rem + .4vw, 1.3rem); }
.koniec-szeroki .post .post-mapa-form { grid-area: form; }
.koniec-szeroki .post-mapa-zgoda { grid-area: zgoda; font-size: .72rem; }   /* na telefonie zdanie z dzióbkiem mieści się w jednej linii */
.koniec-szeroki .post .post-mapa-zgoda p { font-size: .72rem; }
@media (min-width: 900px) {
  .koniec-szeroki .post-mapa-zgoda,
  .koniec-szeroki .post .post-mapa-zgoda p { font-size: .78rem; }
}
.koniec-szeroki .post-mapa-form input[type="email"] { min-height: 50px; font-size: 1rem; padding-inline: 1rem; }
.koniec-szeroki .post-mapa-send { width: 58px; min-height: 50px; font-size: 1.3rem; }
@media (min-width: 1000px) {
  .koniec-szeroki .post-mapa {
    grid-template-columns: 72px minmax(0, 1fr) minmax(300px, 440px);
    grid-template-areas: "img tytul form" "img zgoda zgoda";
    column-gap: 1.6rem; padding: 1.3rem 1.8rem;
  }
  .koniec-szeroki .post-mapa-img { width: 72px; align-self: center; }
}

/* ---------- 5. autor ---------- */
/* poniżej 1400 px stoi w zakończeniu pod paskiem Mapy */
.koniec-szeroki .post-outro > .post-autor-mini { margin-top: 1.25rem; max-width: 560px; }
/* od 1400 px: kafelek w prawym dolnym rogu, na szerokość prawej kolumny (rośnie z ekranem) */
@media (min-width: 1400px) {
  .koniec-szeroki .post-outro > .post-autor-mini {
    position: fixed; z-index: 45; width: var(--a-toc); max-width: none; margin: 0;
    right: calc((100vw - var(--a-col) - var(--a-rail) - var(--a-rail-gap) - var(--a-toc) - var(--a-toc-gap)) / 2);
    bottom: calc(24px + var(--podnies, 0px));   /* --podnies ustawia skrypt: kafelek parkuje nad zakończeniem */
    grid-template-columns: 44px minmax(0, 1fr);
    grid-template-areas: "foto eyebrow" "foto name" "link link";
    column-gap: .65rem; row-gap: 0; padding: .75rem .85rem .7rem;
    box-shadow: 0 18px 36px -22px rgba(16,24,43,.55);
    opacity: 0; transform: translateY(12px); visibility: hidden;
    transition: opacity .3s ease, transform .3s ease, visibility 0s linear .3s;
  }
  .koniec-szeroki .post-outro > .post-autor-mini.is-shown {
    opacity: 1; transform: none; visibility: visible;
    transition: opacity .3s ease, transform .3s ease, visibility 0s;
  }
  .koniec-szeroki .post-autor-mini .post-face { grid-area: foto; width: 44px; height: 44px; border-radius: 10px; }
  .koniec-szeroki .post-autor-mini-body { display: contents; }
  .koniec-szeroki .post-autor-mini-eyebrow { grid-area: eyebrow; align-self: end; }
  .koniec-szeroki .post .post-autor-mini-name { grid-area: name; align-self: start; margin: 0; font-size: .95rem; }
  .koniec-szeroki .post .post-autor-mini-bio { display: none; }
  .koniec-szeroki .post .post-autor-mini-link {
    grid-area: link; margin-top: .55rem; padding-top: .45rem; font-size: .8rem;
    border-top: 1px solid rgba(16,24,43,.14);
  }
}
/* szeroki ekran (prawa kolumna od ok. 260 px): większe zdjęcie, imię w jednej linii,
   „prowadzę ten kurs” i link obok zdjęcia */
@media (min-width: 1720px) {
  .koniec-szeroki .post-outro > .post-autor-mini {
    grid-template-columns: 64px minmax(0, 1fr);
    grid-template-areas: "foto eyebrow" "foto name" "foto link";
    column-gap: 1rem; padding: 1rem 1.1rem;
  }
  .koniec-szeroki .post-autor-mini .post-face { width: 64px; height: 64px; border-radius: 12px; align-self: center; }
  .koniec-szeroki .post .post-autor-mini-name { font-size: 1.05rem; }
  .koniec-szeroki .post-autor-mini-rola { display: inline; font: 400 .82rem/1.35 var(--font-body); color: var(--a-ink-2); }
  .koniec-szeroki .post .post-autor-mini-link { margin-top: .3rem; padding-top: 0; border-top: 0; font-size: .85rem; }
}

/* ---------- 6. „Czytaj dalej”: jasne tło, dwie szerokie karty z okładkami ---------- */
.koniec-szeroki .post-powiazane {
  display: block; position: relative; z-index: 1;
  width: min(var(--a-col), 100% - 2.5rem); margin: clamp(4.5rem, 3.5rem + 3vw, 7rem) auto 0;
  padding-bottom: clamp(1.5rem, 1rem + 2vw, 2.5rem);
}
@media (min-width: 1100px) {
  .koniec-szeroki .post-powiazane { width: min(var(--a-rail) + var(--a-rail-gap) + var(--a-col), 100% - 3rem, var(--koniec-max)); }
}
@media (min-width: 1400px) {
  .koniec-szeroki .post-powiazane {
    width: min(var(--a-rail) + var(--a-rail-gap) + var(--a-col) + var(--a-toc-gap) + var(--a-toc), var(--koniec-max));
  }
}
.post-powiazane-glowa {
  display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .5rem 1.5rem;
  margin-bottom: 1.6rem; padding-bottom: 1rem; border-bottom: 2px solid var(--a-ink);
}
.koniec-szeroki .post-powiazane-tytul {
  margin: 0; font-family: var(--font-display); font-weight: 500;
  font-size: clamp(1.9rem, 1.4rem + 1.4vw, 2.6rem); line-height: 1.1; color: #0B1120;
}
.post-powiazane-wszystkie { font: 600 .98rem var(--font-body); color: var(--accent-dim); text-decoration: underline; text-underline-offset: 3px; }
.post-powiazane-wszystkie:hover { color: #0B1120; }
.post-powiazane-karty { display: grid; gap: 1.5rem; grid-template-columns: minmax(0, 1fr); }
.koniec-szeroki .post-powiazane-karta {
  background: var(--a-card); border: 2px solid var(--a-ink); border-radius: 18px;
}
.koniec-szeroki .post-powiazane-karta:hover { border-color: var(--accent-dim); box-shadow: 0 24px 44px -26px rgba(16,24,43,.55); }
.koniec-szeroki .post-powiazane-karta:focus-visible { outline: 3px solid var(--accent-dim); outline-offset: 3px; }
.koniec-szeroki .post-powiazane-karta .blog-card-body { padding: 1.2rem 1.4rem 1.4rem; gap: .45rem; }
.koniec-szeroki .post-powiazane-karta .blog-card-tag { color: var(--accent-dim); font-size: .7rem; }
.koniec-szeroki .post-powiazane-karta .blog-card-title { font-size: clamp(1.25rem, 1.1rem + .5vw, 1.5rem); color: #0B1120; }
.koniec-szeroki .post-powiazane-karta .blog-card-desc { font-size: .98rem; color: var(--a-ink-2); }
.koniec-szeroki .post-powiazane-karta .blog-card-meta { color: var(--a-mute); }
/* karta pozioma: okładka z lewej, tekst z prawej; dwie obok siebie dopiero od 1100 px */
@media (min-width: 700px) {
  .koniec-szeroki .post-powiazane-karta { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); }
  .koniec-szeroki .post-powiazane-karta .blog-thumb { aspect-ratio: auto; height: 100%; min-height: 220px; }
  /* okładka lekcji z napisami: cała, bez przycinania */
  .koniec-szeroki .post-powiazane-karta .blog-thumb--lekcja img { height: auto; object-fit: contain; }
  .koniec-szeroki .post-powiazane-karta .blog-card-body { justify-content: center; padding: 1.4rem 1.6rem; }
}
@media (min-width: 1100px) {
  .post-powiazane-karty { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* stare ciemne „Powiązane wpisy” nad stopką zastępuje „Czytaj dalej” na jasnym tle */
.koniec-szeroki .related { display: none; }

@media (prefers-reduced-motion: reduce) {
  .koniec-szeroki .post-outro > .post-autor-mini,
  .koniec-szeroki.koniec-widoczny .post-toc { transition: none !important; }
  .koniec-szeroki .post-powiazane-karta { transition: none; }
  .koniec-szeroki .post-powiazane-karta:hover { transform: none; }
}

/* ===== a4/wersja.css ===== */
/* ============================================================
   A4 · kurs szerzej (27.10.2026, runda 2)
   Granatowa karta kursu na szerokość całego zakończenia (do 1440 px), z prawej
   okładka lekcji i kafel modułu z kursu. Wspólne elementy: a/koniec2.css.
   ============================================================ */
/* PRÓBA (Adrian 27.10: „na moją odpowiedzialność”): środek z tekstem i rysunkami ok. 8% szerszy,
   930 zamiast 860 px. Przy ekranie ok. 1400–1550 px z prawą kolumną brakuje miejsca, więc tam kolumna
   rośnie tylko tyle, ile się zmieści. Cofnięcie: usunąć ten blok. */
.wersja-a4 { --a-col: 930px; }
@media (min-width: 1400px) {
  .wersja-a4 { --a-col: min(930px, calc(100vw - var(--a-rail) - var(--a-rail-gap) - var(--a-toc) - var(--a-toc-gap) - 3rem)); }
}
.wersja-a4 .post-svg { max-height: 630px; }   /* rysunki rosną razem z tekstem (było 580 px) */
/* PRÓBA 2 (Adrian 27.10): na dużym ekranie pismo w środku 18 zamiast 17 px, żeby przy szerszej kolumnie
   linia nie wydłużyła się z ok. 103 do 110 znaków. Wszystko w środku rośnie w tej samej proporcji (×18/17);
   boczne kolumny bez zmian. */
@media (min-width: 1600px) {
  .wersja-a4 .post-intro p,
  .wersja-a4 .post-sec p { font-size: 1.125rem; }
  .wersja-a4 .post-sec .post-list li { font-size: 1.0625rem; }
  .wersja-a4 .post-sec--scheme .post-list li { font-size: 1.12rem; }
  .wersja-a4 .post .post-trap p { font-size: 1.09rem; }
  .wersja-a4 .post .post-example-task { font-size: 1.1rem !important; }
  .wersja-a4 .post .post-steps li p { font-size: 1.09rem !important; }
  .wersja-a4 .post .post-cke-body p { font-size: 1.1rem !important; }
  .wersja-a4 .post .post-task-body > p { font-size: 1.11rem !important; }
  .wersja-a4 .post .post-reveal-body > p { font-size: 1.08rem !important; }
}

.wersja-a4 .post .post-cta--duzy {
  /* delikatna fioletowa poświata jak na kaflach modułów z platformy */
  background: radial-gradient(90% 120% at 88% 28%, #231A3B 0%, var(--ink-deep) 62%);
  border: 1px solid #1F2A44;
}

/* ============================================================
   Nagłówek z kartą tematu po prawej, z lewej „Zapamiętaj do matury” (Adrian, 27.10)
   Karta tematu przeszła z lewej kolumny artykułu do nagłówka: tytuł zaczyna się przy lewej krawędzi
   układu (tam, gdzie lewa kolumna), a karta stoi z prawej, nad kolumną spisu treści. Lewa kolumna
   artykułu od początku czeka na panel „Zapamiętaj do matury”: pojawia się przy pierwszej rzeczy do
   zapamiętania i rośnie w trakcie czytania, aż przy przykładach ma wszystko z artykułu
   (skrypt w podglad.py: .js-narasta, .ma-pozycje, li.is-on; kotwice .klucz-kotwica w tekście).
   ============================================================ */
/* karta tematu (Adrian, 27.10: wersja K1 z poprawkami): bez kodu lekcji, bo na blogu nic nie mówi;
   pieczęć progu w linii symbolu i nazwy; cienka zielona obwódka progu wokół całej karty zamiast pasa
   u góry; pod liczbą pasek 0–100% z kreską „cały arkusz 42%” (zdawalność całego arkusza, FAKTY),
   z wiersza `Porównanie` w [KARTA] */
.wersja-a4 .post-head .post-karta {
  margin-top: 2rem; max-width: 640px;
  border: 2px solid color-mix(in srgb, var(--prog) 85%, transparent);
}
/* kolor progu karty: 50 zieleń, 70 pomarańcz, 90 malina (marka: kolory progów tylko przy progach) */
.wersja-a4 .post-karta--prog50 { --prog: var(--prog-50); --prog-ciemny: #5E9A83; --prog-tekst: #2F6650; }
.wersja-a4 .post-karta--prog70 { --prog: var(--prog-70); --prog-ciemny: #B86B26; --prog-tekst: #94500F; }
.wersja-a4 .post-karta--prog90 { --prog: var(--prog-90); --prog-ciemny: #A8324F; --prog-tekst: #9E2742; }
.wersja-a4 .post-head .post-karta-tile {
  border-top: 0; padding: 1.05rem 1.1rem 1rem;
  grid-template-areas: "symbol prog" "name prog"; align-items: center; align-content: center; row-gap: .15rem;
}
.wersja-a4 .post-head .post-karta-symbol { margin-top: 0; }
/* podpis liczby kończy kartę: oddech pod nim */
.wersja-a4 .post-head .post-karta-stat { padding-bottom: 1.1rem; }
.wersja-a4 .post-head .post-karta-caption {
  margin-top: .55rem;
  font-family: var(--font-body); font-size: .86rem !important; line-height: 1.5 !important;
  color: var(--a-ink-2) !important;
}
.wersja-a4 .post-karta-skala { position: relative; margin: .8rem 0 0; padding-bottom: 1.3rem; }
.wersja-a4 .post-karta-skala-tor {
  display: block; position: relative; height: 8px; border-radius: 4px; background: #E3DACB;
}
.wersja-a4 .post-karta-skala-wynik {
  position: absolute; left: 0; top: 0; bottom: 0; width: var(--wynik);
  border-radius: 4px; background: var(--a-ember);
}
.wersja-a4 .post-karta-skala-kreska {
  position: absolute; left: var(--porownanie); top: -4px; width: 2px; height: 16px; margin-left: -1px;
  border-radius: 1px; background: var(--a-mute);
}
.wersja-a4 .post-karta-skala-opis {
  position: absolute; left: var(--porownanie); top: 17px; transform: translateX(-50%); white-space: nowrap;
  font: 700 .62rem/1 var(--font-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--a-mute);
}
@media (min-width: 1100px) {
  .wersja-a4 .post-head .container {
    --grupa: calc(var(--col) + var(--a-rail) + var(--a-rail-gap));
    --karta-w: 252px;
    width: var(--grupa);
    margin-left: calc((100% - var(--grupa)) / 2);
    display: grid; align-items: start;
    grid-template-columns: minmax(0, 1fr) var(--karta-w);
    grid-template-rows: auto auto auto 1fr;   /* nadmiar wysokości karty idzie pod podpis */
    column-gap: clamp(2.5rem, 4vw, 5rem);
  }
  .wersja-a4 .post-head .container > * { grid-column: 1; }
  .wersja-a4 .post-head .container > .breadcrumb { grid-column: 1 / -1; }
  .wersja-a4 .post-head .container > .post-karta { grid-column: 2; grid-row: 2 / -1; margin-top: 0; max-width: none; }
  .wersja-a4 .post-head .post-title { max-width: 21ch; }
}
@media (min-width: 1400px) {
  .wersja-a4 .post-head .container {
    --grupa: calc(var(--col) + var(--a-rail) + var(--a-rail-gap) + var(--a-toc-gap) + var(--a-toc));
    --karta-w: max(var(--a-toc), 252px);   /* prawa krawędź karty = prawa krawędź spisu treści */
  }
}

/* strefa z panelem obejmuje cały artykuł od wstępu, więc wstęp nie potrzebuje już własnej siatki */
.wersja-a4 .klucz-kotwica { display: block; height: 0; margin: 0; }
@media (min-width: 1100px) {
  .wersja-a4 .post-zone-body > .post-intro { display: block; margin-left: 0; }
  .wersja-a4 .post-zone > .post-klucz--narasta { margin-top: 0; }
  .wersja-a4 .post-klucz--narasta .post-klucz-list { max-height: calc(100vh - 180px); overflow-y: auto; }
}
@media (min-width: 1100px) and (max-width: 1599px) {
  /* wąska lewa kolumna (ok. 220 px): ciaśniej, żeby cztery pozycje zmieściły się na ekranie 900 px */
  .wersja-a4 .post-klucz--narasta .post-klucz-list > li { padding: .7rem 0 .72rem; }
}
.wersja-a4 .post-klucz--narasta .post-klucz-count { white-space: nowrap; }   /* „4 z 4” w jednej linii */
.wersja-a4 .post-klucz--narasta.js-narasta:not(.ma-pozycje) { display: none; }
.wersja-a4 .post-klucz--narasta.js-narasta .post-klucz-list > li:not(.is-on) { display: none; }
.wersja-a4 .post-klucz--narasta.js-narasta.ma-pozycje,
.wersja-a4 .post-klucz--narasta.js-narasta .post-klucz-list > li.is-on { animation: klucz-wjazd .5s ease both; }
@keyframes klucz-wjazd { from { opacity: 0; transform: translateY(10px); } }

@media (max-width: 560px) {
  /* telefon: nagłówek z kartą ciaśniej, żeby pod kartą było już widać początek wstępu (Adrian, 27.10: „skróć”) */
  .wersja-a4 .post-head { padding-top: 6.5rem; padding-bottom: 2rem; }
  .wersja-a4 .post-head .post-karta { margin-top: 1.25rem; }
  .wersja-a4 .post-head .post-karta-tile {
    grid-template-columns: auto 1fr auto; grid-template-areas: "symbol name prog"; padding: .85rem 1rem .8rem;
  }
  /* liczba i podpis w jednym wierszu, pasek pod nimi */
  .wersja-a4 .post-head .post-karta-stat { flex-wrap: wrap; padding-bottom: .9rem; }
  .wersja-a4 .post-head .post-karta-caption { flex: 1 1 0; min-width: 0; margin-top: 0; font-size: .82rem !important; }
  .wersja-a4 .post-karta-skala { order: 3; flex: 0 0 100%; margin-top: .3rem; }
}
@media (prefers-reduced-motion: reduce) {
  .wersja-a4 .post-klucz--narasta.js-narasta.ma-pozycje,
  .wersja-a4 .post-klucz--narasta.js-narasta .post-klucz-list > li.is-on { animation: none; }
}

/* ---------- pieczęć progu jako medal ze wstążkami (Adrian, 27.10: wersja W3) ----------
   Pieczęć jest większa i nachodzi na górną krawędź karty; dwie wstążki rysuje element .post-karta-wstega
   (napis „próg 50” w nim jest schowany). grid-area: auto, bo na tablecie i telefonie karta jest siatką
   i nazwany obszar „prog” wskazywałby złe miejsce. */
.wersja-a4 .post-head .post-karta { position: relative; overflow: visible; }
.wersja-a4 .post-head .post-karta-prog {
  grid-area: auto; position: absolute; z-index: 2; top: -20px; right: 16px; width: 66px; height: 66px;
  background: var(--a-card); border: 2px solid var(--prog); color: var(--prog-tekst);
  box-shadow: 0 0 0 3px var(--a-card), 0 0 0 5px var(--prog), 0 8px 16px -6px rgba(0,0,0,.5);
  font-size: 1.3rem;
}
.wersja-a4 .post-head .post-karta-prog-label { font-size: .52rem; }
.wersja-a4 .post-karta-wstega { display: none; }
.wersja-a4 .post-head .post-karta-wstega {
  display: block; position: absolute; z-index: 1; top: 13px; right: 21px; width: 56px; height: 72px; font-size: 0;
}
.wersja-a4 .post-head .post-karta-wstega::before,
.wersja-a4 .post-head .post-karta-wstega::after {
  content: ""; position: absolute; top: 0; width: 20px; height: 66px;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 50% 82%, 0 100%);
  transform-origin: 50% 0;
}
.wersja-a4 .post-head .post-karta-wstega::before { left: 8px; background: var(--prog-ciemny); transform: rotate(16deg); }
.wersja-a4 .post-head .post-karta-wstega::after { right: 8px; background: var(--prog); transform: rotate(-16deg); }
/* wąska karta (ok. 250 px przy ekranie 1100–1599 px): medal mniejszy i bliżej rogu, żeby nie dotykał symbolu */
@media (min-width: 1100px) and (max-width: 1599px) {
  .wersja-a4 .post-head .post-karta-prog { top: -22px; right: 8px; width: 58px; height: 58px; font-size: 1.15rem; }
  .wersja-a4 .post-head .post-karta-wstega { top: 8px; right: 9px; width: 56px; height: 66px; }
  .wersja-a4 .post-head .post-karta-wstega::before,
  .wersja-a4 .post-head .post-karta-wstega::after { width: 18px; height: 58px; }
}
/* tablet: pasek i podpis kończą się przed medalem */
@media (min-width: 561px) and (max-width: 1099px) {
  .wersja-a4 .post-head .post-karta-stat { padding-right: 6rem; }
}
/* telefon: kafelek w jednym wierszu, więc medal mniejszy, a nazwa tematu ma po prawej miejsce na niego */
@media (max-width: 560px) {
  .wersja-a4 .post-head .post-karta-prog { top: -18px; right: 14px; width: 56px; height: 56px; font-size: 1.1rem; }
  .wersja-a4 .post-head .post-karta-wstega { top: 10px; right: 17px; width: 50px; height: 60px; }
  .wersja-a4 .post-head .post-karta-wstega::before,
  .wersja-a4 .post-head .post-karta-wstega::after { width: 18px; height: 54px; }
  .wersja-a4 .post-head .post-karta-name { padding-right: 3.4rem; }
}
/* najwęższe telefony: symbol i nazwa nie mieszczą się obok siebie, nazwa idzie pod symbol */
@media (max-width: 389px) {
  .wersja-a4 .post-head .post-karta-tile { grid-template-columns: minmax(0, 1fr); grid-template-areas: "symbol" "name"; }
  .wersja-a4 .post-head .post-karta-name { padding-left: 0; }
}

/* ---------- 28.10: zasady wyglądu z artykułu 1 (uwagi Adriana), od 28.10 dla wszystkich artykułów ---------- */
/* przykład [MINI] z większym odstępem od tekstu (Adrian, 28.10: „za ciasno, zlewają się z tekstem”);
   od 28.10 na wszystkich stronach (zasady z artykułu 1 zatwierdzone przez Adriana) */
/* ramka dookoła zamiast linii bocznej: ta sama linia (3 px, kolor linii), zaokrąglone rogi (Adrian, 28.10) */
.wersja-a4 .post .post-mini {
  margin: 2.4rem 0 2.6rem; padding: 1rem 1.4rem 1.1rem;
  border: 3px solid var(--a-rule); border-radius: 14px;
}
@media (max-width: 560px) {
  .wersja-a4 .post .post-mini { padding: .85rem 1rem .95rem; border-radius: 12px; }
}
/* równanie reakcji w osobnej linii, na środku ([ROWNANIE]) */
.wersja-a4 .post p.post-rownanie {
  margin: .75rem 0 !important; text-align: center;
  font-family: var(--font-display); font-weight: 500; font-size: 1.2rem !important; line-height: 1.5 !important;
  letter-spacing: .01em; color: #0B1120 !important;
}
.wersja-a4 .post .post-cke-body p.post-rownanie,
.wersja-a4 .post .post-example-body p.post-rownanie {
  margin: .7rem 0 !important; padding: .55rem 1rem; background: #EFE7D8; border-radius: 8px;
}
/* czerwony wykrzyknik zamiast kropki: rzecz ważna na maturze ({!}) */
.wersja-a4 .t-wykrzyknik {
  display: inline-block; margin-left: .1em; font-family: var(--font-display); font-weight: 700;
  font-size: 1.3em; line-height: 1; color: #C62828;
}
/* ułamek z kreską ułamkową ([[licznik | mianownik]]) */
.wersja-a4 .ulamek {
  display: inline-flex; flex-direction: column; align-items: stretch; vertical-align: middle;
  margin: 0 .12em; text-align: center; font-size: .9em; line-height: 1.3;
}
.wersja-a4 .ulamek-l { padding: 0 .3em .06em; }
.wersja-a4 .ulamek-m { padding: .06em .3em 0; border-top: 1.5px solid currentColor; }
.wersja-a4 .ulamek-sr {
  position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
}
/* proporcja: dwa wiersze, kolumny połączone kreską ([PROPORCJA] a | b || c | x [/PROPORCJA]) */
.wersja-a4 .proporcja {
  display: grid; grid-template-columns: auto 2.6rem auto; align-items: center; column-gap: .65rem; row-gap: .2rem;
  width: max-content; max-width: 100%; margin: .55rem auto .6rem;
  font-family: var(--font-display); font-weight: 500; font-size: 1.12rem; line-height: 1.4; color: #0B1120;
}
.wersja-a4 .prop-a { text-align: right; }
.wersja-a4 .prop-b { text-align: left; }
.wersja-a4 .prop-kreska { height: 0; border-top: 2px solid currentColor; opacity: .55; }
.wersja-a4 .post .post-klucz .proporcja {
  column-gap: .35rem; grid-template-columns: auto 1.4rem auto; font-size: .9rem; color: var(--a-paper);
}
/* rachunek obok rysunku z kursu ({obok: …} w [OBRAZEK]) */
.wersja-a4 .post-fig-rzad { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 1.2rem 2rem; }
.wersja-a4 .post-fig-rzad .post-svg { flex: 1 1 340px; min-width: 0; max-width: 540px; }
.wersja-a4 .post-fig-obok {
  flex: 0 1 auto; padding: .9rem 1.3rem; background: #fff; border: 1px solid var(--a-rule); border-radius: 12px;
}
.wersja-a4 .post .post-fig-obok p {
  margin: .25rem 0; text-align: center; font-family: var(--font-display); font-weight: 500;
  font-size: 1.1rem; line-height: 1.5; color: #0B1120;
}
.wersja-a4 .prop-wynik { grid-column: 1 / -1; margin-top: .35rem; text-align: center; font-size: .95em; }
@media (max-width: 560px) {
  .wersja-a4 .post p.post-rownanie { font-size: 1.05rem !important; }
  .wersja-a4 .proporcja { font-size: 1rem; grid-template-columns: auto 1.8rem auto; column-gap: .45rem; }
}
/* rysunki bez zewnętrznej ramki, zostają tylko ramki samych grafik (Adrian, 28.10); przykład w zielonej ramce */
.wersja-a4 .post-fig { padding: 0; background: none; border: 0; border-radius: 0; }
.wersja-a4 .post .post-mini { border-color: #74B49B; }
.wersja-a4 .post .post-mini-label { color: #2F6650; }
/* równanie w środku kroku albo zdania ([ROWNANIE] w linii z tekstem): osobny wiersz na środku */
.wersja-a4 .rownanie-w-linii {
  display: block; margin: .4rem 0; text-align: center;
  font-family: var(--font-display); font-weight: 500; font-size: 1.12em; color: #0B1120;
}

/* ============================================================
   Akcenty artykułu w kolorze jego progu: 50 zieleń, 70 pomarańcz, 90 malina (kolory progów z marki,
   te same co na karcie tematu). Adrian, 28.10: najpierw próba na dwóch artykułach, potem „Tak, wdróż”
   dla wszystkich. podglad.py dodaje do <body> klasy akcent-progu i akcent-50/70/90 (próg z [KARTA])
   w każdym artykule; `akcent: brak` w nagłówku pliku artykułu je wyłącza.
   Kolor progu dostają: kafelki z numerami sekcji, kreska nad nagłówkami bez numeru, numery kroków,
   numery zadań, panel „Zapamiętaj do matury”, ramki przykładów, numery w schemacie na końcu,
   spis treści, pasek postępu i napis nad tytułem. Swój kolor zostaje tam, gdzie kolor coś znaczy:
   liczby i paski na karcie i przy zadaniu z matury (pomarańcz = liczby, marka), pułapka (ostrzeżenie),
   czerwony wykrzyknik, wynik (bursztyn jak na rysunkach kursu), odpowiedź (zieleń = poprawnie), linki.
   Cofnięcie: `akcent: brak` w jednym artykule albo usunąć cały ten blok.
   ============================================================ */
.akcent-50 {
  --ak: #74B49B; --ak-tekst: #2F6650; --ak-jasny: #C5DFD3;
  --ak-plyta: #23443B; --ak-na-plycie: #9ED3BD; --ak-plyta-tekst: #DCE6E1; --ak-plyta-etykieta: #A8D5C4;
  --ak-plyta-tytul: var(--a-paper); --ak-ramka: #74B49B;
}
.akcent-70 {
  --ak: #E08A3C; --ak-tekst: #A85D16; --ak-jasny: #EBCDAA;
  /* płyta miedziana (Adrian, 28.10): ciemny #6E3914 był „bardzo brązowy”, pomarańcz marki #A85D16 „oczojebny”;
     wybrany środek z trzech próbek; tekst biały, bo kremowy byłby na niej za słabo widoczny */
  --ak-plyta: #A6623A; --ak-na-plycie: #FFE3C2; --ak-plyta-tekst: #FFFFFF; --ak-plyta-etykieta: #FFF7EE;
  --ak-plyta-tytul: #FFFFFF;
  /* ramka przykładu jaśniejsza niż pomarańcz progu, żeby nie wyglądała jak ramka pułapki (Adrian, 28.10) */
  --ak-ramka: #E6AE7E;
}
.akcent-90 {
  --ak: #D9486B; --ak-tekst: #9E2742; --ak-jasny: #F2C6D1;
  --ak-plyta: #4A1A28; --ak-na-plycie: #F590A9; --ak-plyta-tekst: #F3E2E7; --ak-plyta-etykieta: #F4B9C8;
  --ak-plyta-tytul: var(--a-paper); --ak-ramka: #E99AAE;
}
.wersja-a.akcent-progu .post-head .eyebrow { color: var(--ak); }
.wersja-a.akcent-progu .post-num { background: linear-gradient(var(--ak) 0 5px, var(--a-card) 5px); color: var(--ak-tekst); }
.wersja-a.akcent-progu .post-h2--plain::before { background: var(--ak); }
/* ciekawostki na końcu mają swój granatowo-turkusowy wygląd („deser”), więc ich kreska zostaje turkusowa */
.wersja-a.akcent-progu .post-sec--trivia .post-h2::before { background: var(--cyan); }
.wersja-a.akcent-progu .post mark.t-zakr { text-decoration-color: var(--ak); }
.wersja-a.akcent-progu .post-steps li::before { border-color: var(--ak); color: var(--ak-tekst); }
.wersja-a.akcent-progu .post-steps li:not(:last-child)::after { background: var(--ak-jasny); }
.wersja-a.akcent-progu .post-example-head { color: var(--ak-tekst); }
.wersja-a.akcent-progu .post-task-no { background: var(--ak); }
.wersja-a.akcent-progu .post-sec--scheme .post-list li::before {
  background: linear-gradient(var(--ak) 0 4px, var(--a-card) 4px); color: var(--ak-tekst);
}
.wersja-a4.akcent-progu .post .post-mini { border-color: var(--ak-ramka); }
.wersja-a4.akcent-progu .post .post-mini-label { color: var(--ak-tekst); }
/* liczba i pasek na karcie oraz pasek zdawalności przy zadaniu z matury zostają pomarańczowe:
   w marce pomarańcz to liczby i dane (Adrian, 28.10, poprawka po pierwszej wersji próby) */
.wersja-a.akcent-progu .post-toc a.is-active { border-left-color: var(--ak); }
.wersja-a.akcent-progu .read-progress-fill { background: var(--ak); }
/* panel „Zapamiętaj do matury”: płyta w ciemnym odcieniu koloru progu, numery i pogrubienia w jasnym */
.wersja-a.akcent-progu .post-klucz { background: var(--ak-plyta); }
.wersja-a.akcent-progu .post-klucz > summary,
.wersja-a.akcent-progu .post-klucz-count { color: var(--ak-plyta-etykieta); }
.wersja-a.akcent-progu .post-klucz-title::before,
.wersja-a.akcent-progu .post-klucz strong { color: var(--ak-na-plycie); }
.wersja-a.akcent-progu .post .post-klucz p { color: var(--ak-plyta-tekst) !important; }
.wersja-a.akcent-progu .post-klucz-title { color: var(--ak-plyta-tytul); }
.wersja-a.akcent-progu .post .post-klucz .post-eq,
.wersja-a4.akcent-progu .post .post-klucz .proporcja { color: var(--ak-plyta-tytul) !important; }

/* indeks dolny w śródtytule (np. FeCl₃): czcionka nagłówków rysuje ₃ jak zwykłą cyfrę, czcionka tekstu ma prawdziwy
   indeks dolny; znak zostaje znakiem Unicode, żeby spis treści po prawej też pokazał „FeCl₃” (28.10) */
.wersja-a4 .post-h2 .znak-indeksu { font-family: var(--font-read); font-weight: 600; }

/* Treść rozwiązanego przykładu akapitami (29.10): dane, „W obliczeniach przyjmij…” i polecenie w osobnych
   akapitach z mniejszym odstępem między nimi; pełny odstęp zostaje pod ostatnim, przed krokami */
.wersja-a4 .post .post-example-task:has(+ .post-example-task) { margin-bottom: .5rem !important; }
/* Lista w treści zadania (29.10): pod nią taki sam odstęp jak pod akapitem, żeby „a) …” nie przyklejało się do listy */
.wersja-a4 .post .post-task-body > .post-list { margin-bottom: 1rem; }
