:root { color-scheme: light; --paper: #faf8f3; --ink: #272a28; --muted: #73756f; --accent: #ab4b32; --line: #dedbd2; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 32px; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 19px/1.85 Georgia, 'Times New Roman', serif; }
#mainContainer { max-width: 1440px; margin: auto; padding: 0 64px; }
.masthead { padding: 32px 0; border-bottom: 1px solid var(--line); font: 12px/1.8 -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; letter-spacing: .045em; color: var(--muted); }
.masthead br { display: none; }
.masthead a { color: var(--accent); }
.reading-layout { display: grid; grid-template-columns: 270px minmax(0, 780px); gap: clamp(40px, 6vw, 100px); align-items: start; }
#spis { position: sticky; top: 24px; max-height: calc(100vh - 48px); overflow: auto; padding: 32px 16px 36px 0; scrollbar-width: thin; scrollbar-color: var(--line) transparent; font: 12px/1.55 -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; }
#spis br { display: none; }
#spis a { display: block; padding: 6px 12px; border-left: 2px solid transparent; color: var(--muted); text-decoration: none; transition: color .15s, background .15s; }
#spis a:hover, #spis a[aria-current] { color: var(--accent); background: #eee9df; border-left-color: var(--accent); }
#spis a.part { font-weight: 650; color: var(--ink); margin-top: 14px; }
main { min-width: 0; padding: 48px 0 100px; }
h1,h2,h3 { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; line-height: 1.2; font-weight: 550; letter-spacing: -.035em; text-wrap: balance; }
h1 { font-size: clamp(36px, 4.2vw, 58px); margin: 100px 0 32px; padding-top: 32px; border-top: 1px solid var(--line); }
main > h1:first-child { margin-top: 0; padding-top: 0; border: 0; }
h2 { font-size: 34px; margin: 80px 0 28px; color: var(--accent); }
h3 { font-size: 26px; margin: 60px 0 24px; }
h1 a,h2 a,h3 a { color: inherit; text-decoration: none; }
p { margin: 0 0 1.35em; overflow-wrap: anywhere; }
a { color: var(--accent); text-underline-offset: 4px; text-decoration-thickness: 1px; overflow-wrap: anywhere; }
a:hover { text-decoration-thickness: 2px; }
a:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
a[name] { scroll-margin-top: 32px; }
a[href^="#_ftn"] { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; font-size: .75em; vertical-align: super; text-decoration: none; padding: 0 2px; }
img { max-width: 100%; height: auto; vertical-align: middle; }
table { max-width: 100%; width: 100%; border-collapse: collapse; table-layout: fixed; margin: 32px 0; }
td { padding: 6px !important; vertical-align: top; overflow-wrap: anywhere; }
td p { font: 12px/1.6 -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; color: var(--muted); margin: 8px 0; }
iframe { display: block; width: 100%; height: auto; aspect-ratio: 16/9; border: 0; background: #e8e5dd; margin: 32px 0; }
#przypisy { border-top: 1px solid var(--line); padding-top: 24px; font-size: 15px; line-height: 1.7; }
[id^="ftn"]:target { background: #eee5d5; outline: 8px solid #eee5d5; }
@media (min-width: 1500px) { body { font-size: 20px; } }
@media (max-width: 1000px) { #mainContainer { padding: 0 28px; } .reading-layout { grid-template-columns: 210px minmax(0,1fr); gap: 32px; } body { font-size: 18px; } }
@media (max-width: 720px) { #mainContainer { padding: 0 22px; } .masthead { padding: 22px 0; font-size: 11px; } .reading-layout { display: block; } #spis { position: relative; top: 0; max-height: 240px; padding: 18px 0; border-bottom: 1px solid var(--line); } main { padding-top: 36px; } h1 { font-size: 36px; margin-top: 64px; } h2 { font-size: 28px; } h3 { font-size: 24px; } td { padding: 3px !important; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none !important; } }
@media print { body { background: white; color: black; font-size: 11pt; line-height: 1.6; } #mainContainer { max-width: none; padding: 0; } .reading-layout { display: block; } #spis, iframe { display: none; } main { padding: 20px 0; } h1 { break-before: page; } h1,h2,h3 { break-after: avoid; } table,img { break-inside: avoid; } a { color: inherit; } }
/* Legacy tables occasionally contain full paragraphs as well as figures. */
table.text-layout, table.text-layout tbody, table.text-layout tr, table.text-layout td { display: block; width: 100%; }
table.text-layout td p { font: inherit; color: inherit; margin-bottom: 1.35em; }
hr { border: 0; border-top: 1px solid var(--line); margin: 32px 0; }

/* Temporary frame for the Vimeo asset that returned 404. */
.missing-asset { width: 100%; aspect-ratio: 16 / 9; margin: 32px 0; border: 1px solid var(--line); background: transparent; }
