/* TONACJA TEGO DZIAŁU — jadeit i wapień; zieleń jest tam barwą władzy.
   Grunt dookoła kolumny #071510. Kolumna od #213229 u góry do #0b2019 u dołu —
   to różnica ośmiu punktów jasności, czyli przejście, które WIDAĆ. Wersja
   poprzednia szła od 4 % do 5 % i była deklaracją przejścia, a nie przejściem.

   ŚWIATŁO: Godzina przed zenitem w niżu tropikalnym: prawie pionowe, wąskie i twarde — najostrzejsze światło w serwisie.

   Neutralne — tekst, etykieta, cień, poświata — mają odcień tego materiału
   przy NIETKNIĘTEJ jasności, więc każdy kontrast jest dokładnie taki, jak był.
   Wcześniej 22 działy miały bajt w bajt te same 21 wartości barwnych. */

/* Majowie: rachuba dni, która chodzi do dziś.  Prefiks `tmj-`.

   MATERIAŁ: wapień, stiuk, cynober, jadeit, papier z kory.
   ŚWIATŁO: godzina przed zenitem w niżu tropikalnym — twarde, prawie pionowe,
   z cieniem krótkim i ostro odciętym.

   Czwarty dział amerykański i czwarte inne światło. W Andach rzadkie
   i twarde, w Amazonii zielone i rozproszone, na południu skośne i długie —
   tutaj niemal pionowe. Za każdym razem wynika z szerokości geograficznej,
   o której dział mówi, a nie z upodobania.

   CYNOBER NALEŻY DO LINII RACHUBY i do niczego innego. Czerwień mineralna jest
   na tym obszarze barwą zapisu: kładziono ją na stiuku i na kartach. Dlatego
   niesie tu linię, która przechodzi przez wszystkie 260 pól — czyli jedyną
   rzecz na tej stronie, która naprawdę coś zapisuje.

   SIATKA JEST NARZĘDZIEM, NIE OZDOBĄ. Pola mają stały rozmiar i stały odstęp,
   bo czytelnik ma móc policzyć je palcem i sprawdzić nas.

   SZEROKOŚĆ 1520 px i blok wyłamania z układu motywu — jak w całym serwisie. */

.tmj-strona {
	--tlo: #0b2019; --panel: rgba( 14, 30, 24, .84 );
	--obrys: rgba( 205, 198, 180, .30 ); --wlos: rgba( 205, 198, 180, .14 );
	--stiuk: #cdc6b4; --stiuk-j: #efe9da;
	--cynober: #b5361f; --cynober-j: #e0705a;
	--wapien: #7b756a; --wapien-j: #b0a99d;
	--jadeit: #3f7a68; --jadeit-j: #7fb8a4;
	--cien: #12211b; --cien-j: #4e5f59;
	--etyk: #b3aa94;
	--tekst: #c3b9a2; --tekst-slaby: #a69f8c; --tekst-mocny: #e3ddcf;
	--serif: 'Cormorant Garamond', Georgia, serif; --sans: Jost, system-ui, sans-serif;

	position: relative; max-width: 1520px; margin: 0 auto; padding: 0 40px 90px;
	color: var( --tekst ); font: 300 17px var( --serif );
	background:
		/* Godzina przed zenitem w niżu tropikalnym: prawie pionowe, wąskie i twarde — najostrzejsze światło w serwisie. */
		radial-gradient( 760px 640px at 52% 0%, rgba( 248, 236, 206, .03 ), transparent 64% ),
		radial-gradient( 1100px 780px at 48% 100%, rgba( 63, 122, 104, .07 ), transparent 70% ),
		linear-gradient( 176deg, #213229 0%, #14271f 46%, #0b2019 100% );
	overflow-x: clip;
}
.tmj-strona *, .tmj-strona *::before, .tmj-strona *::after { box-sizing: border-box; }

/* WYŁAMANIE Z UKŁADU MOTYWU. Bez tego dział stoi w kolumnie 645 px. */
body:has( .tmj-strona ) .wp-site-blocks > header, body:has( .tmj-strona ) header.wp-block-template-part,
body:has( .tmj-strona ) .wp-site-blocks > footer, body:has( .tmj-strona ) footer.wp-block-template-part,
body:has( .tmj-strona ) .wp-block-post-title { display: none !important; }
body:has( .tmj-strona ) .wp-site-blocks, body:has( .tmj-strona ) .wp-block-group,
body:has( .tmj-strona ) .wp-block-post-content { padding: 0 !important; margin: 0 !important; max-width: none !important; }
body:has( .tmj-strona ) .wp-block-post-content > *, body:has( .tmj-strona ) .entry-content > * { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
body:has( .tmj-strona ) { background: #0d0b0a; }
body:has( .tmj-strona ) .wp-block-post-content > .tmj-strona, body:has( .tmj-strona ) .entry-content > .tmj-strona,
.tmj-strona { box-sizing: border-box; max-width: 1600px !important; margin-left: auto !important; margin-right: auto !important; }
.tmj-strona button { font-family: inherit; }

/* ══════════════  UWERTURA  ══════════════ */

.tmj-hero {
	position: relative; margin: 26px 0 0; padding: 62px 44px 54px; border-radius: 28px;
	border: 1px solid var( --wlos ); overflow: hidden;
	background:
		radial-gradient( 900px 420px at 50% 0%, rgba( 248, 236, 206, .13 ), transparent 70% ),
		linear-gradient( 168deg, #162921, #07140f );
}
/* Uwertura z grafiką nosi `tmj-sekcja--tlo tmj-hero`, a NIE `tmj-hero--tlo`. */
.tmj-sekcja--tlo::before {
	content: ''; position: absolute; inset: 0; z-index: -1;
	background: var( --tlo ) 50% 50% / cover no-repeat; opacity: .92;
}
.tmj-sekcja--tlo::after {
	content: ''; position: absolute; inset: 0; z-index: -1;
	background:
		radial-gradient( 900px 520px at 16% 16%, rgba( 8, 13, 11, .66 ), transparent 76% ),
		linear-gradient( 180deg, rgba( 8, 13, 11, .16 ), rgba( 8, 13, 11, .5 ) );
}
.tmj-hero__nad {
	margin: 0 0 16px; font: 400 11px var( --sans ); letter-spacing: .3em; text-transform: uppercase;
	color: var( --etyk );
}
.tmj-hero__tytul {
	margin: 0 0 26px; max-width: 20ch;
	font: 300 clamp( 40px, 5.2vw, 72px ) / 1.07 var( --serif ); color: var( --tekst-mocny );
	text-shadow: 0 0 60px rgba( 248, 236, 206, .2 );
}

/* ══════════════  SEKCJE  ══════════════ */

.tmj-sekcja { position: relative; margin: 84px 0 0; padding: 0; }
.tmj-sekcja--tlo { padding: 54px 40px 48px; border-radius: 26px; border: 1px solid var( --wlos ); overflow: hidden; }
.tmj-sekcja__nad {
	margin: 0 0 12px; font: 400 11px var( --sans ); letter-spacing: .28em; text-transform: uppercase;
	color: var( --etyk );
}
.tmj-sekcja__tytul {
	margin: 0 0 16px; max-width: 26ch;
	font: 300 clamp( 30px, 3.4vw, 46px ) / 1.12 var( --serif ); color: var( --tekst-mocny );
	text-shadow: 0 0 40px rgba( 248, 236, 206, .17 );
}
.tmj-sekcja__lead { margin: 0 0 32px; max-width: 78ch; font-size: 19px; line-height: 1.66; color: var( --tekst ); }

.tmj-przerywnik { display: block; width: 100%; height: 44px; margin: 66px 0 0; color: var( --stiuk ); opacity: .45; }

/* ══════════════  SIATKA 13 × 20  ══════════════
   Rysunek dostaje JAWNĄ szerokość, bo SVG w siatce kurczy się do 300 px,
   a wtedy pole ma 12 px i nie da się go policzyć palcem. */

.tmj-liczenie { width: 100%; max-width: 1200px; margin: 0 auto; position: relative; }
.tmj-liczenie__svg { display: block; width: 100%; height: auto; overflow: visible; }

.tmj-pole { fill: rgba( 205, 198, 180, .045 ); stroke: var( --stiuk ); stroke-width: .7; opacity: .5; }
.tmj-pole.jest-przebyte { fill: rgba( 224, 112, 90, .16 ); opacity: 1; }

.tmj-os { fill: var( --tekst-slaby ); font: 400 11px var( --sans ); text-anchor: middle; }
.tmj-os--liczba { text-anchor: end; }
.tmj-os--nazwa { text-anchor: middle; }
.tmj-os__tytul { fill: var( --etyk ); font: 400 10px var( --sans ); letter-spacing: .24em; text-transform: uppercase; text-anchor: middle; }
.tmj-os__tytul--l { text-anchor: end; }

/* LINIA RACHUBY — cynober i nic więcej w tej barwie na całej stronie. */
.tmj-linia { fill: none; stroke: var( --cynober-j ); stroke-width: 2; opacity: .9; stroke-linejoin: round; stroke-linecap: round; }
.tmj-start { fill: none; stroke: var( --stiuk-j ); stroke-width: 1.6; opacity: .9; }
.tmj-biegacz { fill: var( --cynober-j ); }

.tmj-liczenie__wynik { fill: var( --tekst-mocny ); font: 400 17px var( --serif ); text-anchor: middle; }
.tmj-liczenie__nota { fill: var( --tekst-slaby ); font: 300 13px var( --serif ); text-anchor: middle; }

/* SUWAK PRZEBIEGU */
.tmj-suwak {
	display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
	max-width: 860px; margin: 20px auto 0; padding: 16px 22px;
	border: 1px solid var( --wlos ); border-radius: 16px; background: var( --panel );
}
.tmj-suwak label { font: 400 10.5px var( --sans ); letter-spacing: .22em; text-transform: uppercase; color: var( --etyk ); }
.tmj-suwak input[type="range"] { flex: 1 1 320px; min-width: 220px; accent-color: var( --cynober-j ); }
.tmj-suwak output { font: 400 15px var( --serif ); color: var( --tekst-mocny ); min-width: 30ch; }

/* PRZYCISKI WYBORU — cztery wyjaśnienia do rysunku */
.tmj-wybor { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin: 22px auto 0; max-width: 900px; }
.tmj-wybor button {
	padding: 9px 18px; border-radius: 999px; cursor: pointer;
	border: 1px solid var( --wlos ); background: rgba( 205, 198, 180, .05 );
	color: var( --tekst ); font: 400 14.5px var( --serif );
}
.tmj-wybor button:hover { background: rgba( 239, 233, 218, .1 ); color: var( --tekst-mocny ); }
.tmj-wybor button.jest-wybrany { border-color: var( --cynober-j ); color: var( --tekst-mocny ); background: rgba( 181, 54, 31, .16 ); }

.tmj-liczenie__opis {
	max-width: 78ch; margin: 24px auto 0; padding: 30px 34px;
	border: 1px solid var( --wlos ); border-radius: 22px; background: var( --panel );
}
.tmj-liczenie__opis h3 { margin: 0 0 6px; font: 300 30px var( --serif ); color: var( --tekst-mocny ); text-shadow: 0 0 32px rgba( 239, 233, 218, .16 ); }
.tmj-liczenie__opis p { margin: 0 0 14px; font-size: 18px; line-height: 1.74; }
.tmj-liczenie__opis p:last-child { margin-bottom: 0; }
.tmj-liczenie__kiedy { font: 400 11px var( --sans ) !important; letter-spacing: .2em; text-transform: uppercase; color: var( --jadeit-j ); margin-bottom: 8px !important; }
.tmj-liczenie__krotko { color: var( --tekst-mocny ); font-style: italic; }
.tmj-liczenie__pole, .tmj-liczenie__zrodlo { font-size: 16px !important; padding: 10px 14px; border-radius: 10px; }
.tmj-liczenie__pole { background: rgba( 181, 54, 31, .17 ); color: var( --tekst-mocny ); }
.tmj-liczenie__zrodlo { background: rgba( 205, 198, 180, .07 ); color: var( --tekst-slaby ); }
.tmj-liczenie__pole b, .tmj-liczenie__zrodlo b { display: block; font: 400 10.5px var( --sans ); letter-spacing: .22em; text-transform: uppercase; color: var( --etyk ); margin-bottom: 4px; }

/* ══════════════  SIATKI KAFLI  ══════════════ */

.tmj-siatka-kafli { display: grid; gap: 22px; grid-template-columns: repeat( auto-fill, minmax( 320px, 1fr ) ); align-items: start; }

.tmj-kafel {
	position: relative; padding: 26px 26px 24px; border-radius: 20px;
	border: 1px solid var( --wlos ); background: var( --panel ); cursor: pointer;
	transition: border-color .2s, transform .2s;
}
.tmj-kafel:hover, .tmj-kafel:focus-visible { border-color: var( --obrys ); transform: translateY( -2px ); }
.tmj-kafel h3 { margin: 0 0 8px; font: 300 25px / 1.18 var( --serif ); color: var( --tekst-mocny ); text-shadow: 0 0 28px rgba( 248, 236, 206, .14 ); }
.tmj-kafel p { margin: 0; font-size: 17px; line-height: 1.66; }
.tmj-kafel__nad {
	display: block; margin: 0 0 10px; font: 400 10.5px var( --sans ); letter-spacing: .22em;
	text-transform: uppercase; color: var( --etyk );
}
.tmj-kafel__nad i { font-style: normal; margin-right: 8px; color: var( --cynober-j ); }

.tmj-foto { margin: 0 0 18px; border-radius: 14px; overflow: hidden; }
.tmj-foto img { display: block; width: 100%; height: auto; aspect-ratio: 8 / 5; object-fit: cover; }

/* ══════════════  LICZNIK  ══════════════ */

.tmj-liczby { display: grid; gap: 20px; grid-template-columns: repeat( auto-fit, minmax( 250px, 1fr ) ); align-items: start; }
.tmj-karta { padding: 28px 24px; border-radius: 20px; border: 1px solid var( --wlos ); background: var( --panel ); }
.tmj-karta__ile { display: block;
	margin: 0 0 10px; font: 300 clamp( 36px, 3.8vw, 54px ) / 1 var( --serif ); color: var( --cynober-j );
	text-shadow: 0 0 34px rgba( 224, 112, 90, .22 );
}
.tmj-karta__co { margin: 0 0 10px; font: 400 12px var( --sans ); letter-spacing: .14em; text-transform: uppercase; color: var( --etyk ); line-height: 1.5; }
.tmj-karta__krotko { margin: 0; font-size: 16.5px; line-height: 1.64; }

/* ══════════════  OKNO  ══════════════ */

.tmj-okno {
	max-width: 82ch; padding: 30px 34px; border-radius: 20px;
	border: 1px solid var( --wlos ); background:
		radial-gradient( 760px 220px at 50% 0%, rgba( 248, 236, 206, .10 ), transparent 72% ),
		linear-gradient( 172deg, rgba( 15, 27, 23, .58 ), rgba( 9, 22, 19, .86 ) );
}
.tmj-okno p { margin: 0; font-size: 19px; line-height: 1.74; color: var( --tekst ); }

/* POLA OPISU W KAFLU. Wspólny pomocnik modułu nadaje im klasę `tmj-pole`
   i nie dzielą jej z niczym w rysunku — patrz przypadek skandynawski. */
.tmj-pole { margin: 0 0 14px !important; padding: 12px 16px; border-radius: 12px; font-size: 16px !important; }
.tmj-pole b { display: block; font: 400 10.5px var( --sans ); letter-spacing: .22em; text-transform: uppercase; margin-bottom: 5px; }
.tmj-pole--zrodlo { background: rgba( 248, 236, 206, .09 ); color: var( --tekst-slaby ); }
.tmj-pole--zrodlo b { color: var( --cien-j ); }
.tmj-pole--zamiast { background: rgba( 181, 54, 31, .17 ); color: var( --tekst-mocny ); }
.tmj-pole--zamiast b { color: var( --cynober-j ); }

/* ══════════════  WĄSKIE EKRANY  ══════════════ */

@media ( max-width: 900px ) {
	.tmj-strona { padding: 0 20px 60px; }
	.tmj-hero { padding: 44px 24px 38px; }
	.tmj-sekcja { margin-top: 60px; }
	.tmj-sekcja--tlo { padding: 36px 22px 32px; }
	.tmj-liczenie__opis { padding: 22px 20px; }
	.tmj-siatka-kafli { grid-template-columns: 1fr; }
	.tmj-suwak output { min-width: 0; }
	/* Dwadzieścia kolumn na szerokości telefonu daje pole poniżej 18 px.
	   Liczb na osiach nie da się wtedy przeczytać, więc znikają — ale
	   SIATKA ZOSTAJE, bo to na niej widać, że linia nie pomija ani jednego
	   pola. Podpis z wynikiem rośnie, bo to on niesie sprawdzenie. */
	.tmj-os { display: none; }
	.tmj-os__tytul { font-size: 13px; }
	.tmj-liczenie__wynik { font-size: 26px; }
	.tmj-liczenie__nota { font-size: 17px; }
}

/* GRUNT CAŁEJ STRONY. Motyw daje `body` czerń, a kolumna działu ma 1520 px — na
   ekranie 2560 px zostawało po ~470 px czarnego pasa z każdej strony.
   `body:has()` ma swoistość 0,2,1 wobec `body` 0,0,1, więc wygrywa
   z motywem bez `!important`.
   NIE robimy tego pseudoelementem: `background: inherit` na `::after`
   dziedziczy też ZDJĘCIE sekcji, a `cover` przelicza się na szerokości
   pseudoelementu — wychodzą dwa te same zdjęcia w różnych skalach.
   Sprawdzone i cofnięte 2026-09-12. */
body:has( .tmj-strona ) {
	background-color: #071510;
	background-image:
		radial-gradient( 1900px 1200px at 52% 0%, rgba( 248, 236, 206, .24 ), transparent 66% ),
		linear-gradient( 180deg, #101c17, #071510 62% );
	background-attachment: fixed;
}


/* OKNO UWERTURY WRACA DO BARW DZIAŁU.
   Zmierzone na żywej stronie, dwie reguły z arkusza wspólnego biją moduł:
     `.zd-okno`                 → granat modala rgba( 16, 12, 40, .97 ), swoistość 0,1,0
     `[class*="-hero"] .zd-okno` → płaska pobiałka rgba( 255, 255, 255, .027 ), 0,2,0
   Druga to MÓJ WŁASNY blok dopisany do `zdobienia.css`, kiedy poprawiałem
   układ uwertury — i to ona sprawiała, że okno tezy wyglądało identycznie
   na wszystkich stronach naraz. Arkusz wspólny ładuje się PO module, więc
   przy równej swoistości wygrywał. Trzy człony dają 0,3,0 i sprawę zamykają,
   bez ruszania pliku wspólnego, który należy do sesji Grafiki. */
.tmj-strona .tmj-hero .tmj-okno.zd-okno,
.tmj-strona .tmj-hero .zd-okno.zd-okno,
.tmj-strona .tmj-hero .tmj-okno.tmj-okno {
	background:
		radial-gradient( 760px 220px at 50% 0%, rgba( 248, 236, 206, .10 ), transparent 72% ),
		linear-gradient( 172deg, #12261e, #06120e );
}

/* OKNO TEZY — przejście tonalne.
   Wspólna warstwa daje mu `background: rgba( 255, 255, 255, .028 )`
   regułą `[class*="-hero"] .zd-okno` o swoistości 0,2,0 — jedną płaską
   pobiałką dla wszystkich działów naraz. Trzy człony dają 0,3,0
   i wygrywają BEZ `!important`, więc pliku wspólnego nie ruszamy.
   Barwy są z palety TEGO działu: `--tlo` na dole, akcent gruntu u góry. */
.tmj-strona .tmj-hero .tmj-okno.zd-okno {
	background:
		radial-gradient( 720px 240px at 42% 0%, rgba( 14, 30, 24, .10 ), transparent 70% ),
		linear-gradient( 168deg, #162b24, #0b2019 );
}


/* ===== POPRAWKA WARSTW 2026-09-13 (przywrocona) =====
   `z-index: -1` na pseudoelementach tla kladzie ZDJECIE POD wlasne,
   nieprzezroczyste tlo sekcji - zadne tlo nie jest wtedy widoczne.
   Poprawka byla juz wgrana 2026-09-12 i zostala zgubiona przy
   nadpisaniu arkusza 2026-09-13 o 02:25. NIE KASOWAC PRZY DEPLOYU. */
.tmj-sekcja--tlo::before,
.tmj-sekcja--tlo::after { z-index: 0; }
.tmj-sekcja--tlo > * { position: relative; z-index: 1; }
