:root { color-scheme: dark; --ink:#101411; --ink-deep:#080b0a; --paper:#eef0e7; --text:#ccd2cb; --muted:#a5b0a7; --gold:#dfbd7d; --silver:#c4d0c9; --green:#98bca4; --copper:#d2a08a; --line:#a6bba32e; --font-title:Baskerville,Athelas,'Iowan Old Style','Palatino Linotype',Georgia,serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:94px; }
body { margin:0; background:var(--ink); color:var(--paper); font-family:Georgia,'Times New Roman',serif; letter-spacing:0; }
body::before { content:''; position:fixed; inset:0; z-index:-1; background:linear-gradient(90deg,#080b0ae8,#121a14cd,#080b0ae8),url('/assets/edition-m4/slate.webp') center / cover; }
a { color:inherit; text-decoration-thickness:1px; text-underline-offset:5px; }
a:hover { color:var(--gold); }
a:focus-visible, summary:focus-visible { outline:2px solid var(--gold); outline-offset:6px; }
img { display:block; max-width:100%; }
p { text-wrap:pretty; }
.skip-link { position:fixed; top:-100px; left:20px; z-index:20; background:var(--ink); padding:15px; }
.skip-link:focus { top:12px; }
.topbar { position:sticky; top:0; z-index:10; height:72px; padding:0 4%; display:flex; gap:30px; align-items:center; justify-content:space-between; background:#101411f5; border-bottom:1px solid var(--line); font-family:Arial,sans-serif; font-size:12px; }
.brand { color:var(--gold); font-family:Georgia,serif; font-size:21px; text-decoration:none; white-space:nowrap; }
.brand span { color:var(--muted); margin-left:15px; font-family:Arial,sans-serif; font-size:11px; }
.edition-label { color:var(--silver); }
.contents { position:relative; }
.contents summary { cursor:pointer; padding:15px 0 15px 20px; min-height:44px; }
.contents nav { position:absolute; right:0; top:52px; background:#101813; border:1px solid var(--line); width:390px; max-width:calc(100vw - 32px); max-height:calc(100dvh - 100px); overflow:auto; padding:12px 20px; box-shadow:0 20px 60px #000a; }
.contents nav a { display:block; padding:12px 0; line-height:1.5; border-bottom:1px solid var(--line); text-decoration:none; }
.contents nav a:last-child { border:0; }
.contents nav a[aria-current] { color:var(--gold); }
.reading-progress { height:2px; width:0; position:fixed; top:71px; left:0; z-index:11; background:var(--gold); }
.cover { position:relative; min-height:min(820px,calc(100svh - 120px)); display:flex; align-items:center; isolation:isolate; padding:35px 7% 72px; }
.cover-image,.cover-shade { position:absolute; inset:0; width:100%; height:100%; z-index:-2; object-fit:cover; object-position:68% 50%; }
.cover-shade { z-index:-1; background:linear-gradient(90deg,#080b0aee 0%,#080b0a94 33%,#080b0a08 70%),linear-gradient(0deg,#101411,transparent 20%); }
.cover-copy { width:570px; max-width:100%; }
.eyebrow { display:block; font:12px/1.6 Arial,sans-serif; color:var(--gold); }
.cover h1 { font-size:72px; line-height:.99; font-weight:400; margin:20px 0 22px; color:var(--gold); text-shadow:0 2px 3px #000; }
.subtitle { font-size:25px; line-height:1.4; max-width:400px; }
.signature { margin-top:22px; font-size:18px; color:var(--silver); }
.signature span { display:block; margin-top:8px; font:11px Arial,sans-serif; color:var(--muted); }
.begin { display:inline-flex; align-items:center; gap:25px; min-height:48px; padding:15px 0; margin-top:15px; border-bottom:1px solid #bfa96c70; font:13px/1.5 Arial,sans-serif; text-decoration:none; }
.begin span { font-size:21px; color:var(--gold); }
.cover .begin { margin-top:8px; padding-block:10px; min-height:50px; }
.cover-bottom { position:absolute; bottom:24px; left:7%; right:7%; display:flex; gap:24px; justify-content:space-between; border-top:1px solid var(--line); padding-top:18px; color:var(--muted); font:11px/1.5 Arial,sans-serif; }
.introduction { padding:30px 7% 85px; display:grid; grid-template-columns:1fr 1fr; gap:8%; border-bottom:1px solid var(--line); }
h2 { margin:16px 0 0; font-size:46px; line-height:1.13; font-weight:400; text-wrap:balance; overflow-wrap:break-word; }
h1,h2,h3,blockquote { font-family:var(--font-title); }
.introduction h2 { font-size:36px; }
.introduction p { font-size:18px; color:var(--text); line-height:1.7; margin-top:0; }
.legend { display:flex; gap:12px 25px; flex-wrap:wrap; padding-top:14px; font:11px/1.6 Arial,sans-serif; }
.legend span:nth-child(1) { color:var(--green); }
.legend span:nth-child(2) { color:var(--copper); }
.legend span:nth-child(3) { color:#c4c0dc; }
.chapter { padding:80px 0 60px; max-width:1600px; margin:0 auto; border-bottom:1px solid var(--line); }
.chapter-heading { padding:0 7% 38px; max-width:1120px; }
.chapter-heading h2 { font-size:49px; }
.cinema { margin:0 4%; position:relative; }
.cinema img { width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; }
.cinema-apfel,.cinema-zug,.cinema-eigenzeit { margin-left:7%; margin-right:7%; }
.image-note { position:absolute; left:0; bottom:70px; max-width:490px; padding:28px 34px; background:#0b120fdd; border-left:2px solid var(--gold); backdrop-filter:blur(8px); }
.image-note span { color:var(--gold); font:11px/1.5 Arial,sans-serif; }
.image-note p { margin:10px 0 0; font-size:26px; line-height:1.25; }
figcaption { padding:16px 0 0; font:11px/1.65 Arial,sans-serif; color:var(--muted); }
.reading { display:grid; grid-template-columns:minmax(0,2fr) minmax(240px,1fr); gap:8%; padding:40px 7% 0; }
.prose { max-width:740px; }
.prose > p { font-size:20px; line-height:1.8; color:var(--text); margin:0 0 23px; }
.prose > p:first-child { color:var(--paper); font-size:23px; line-height:1.6; }
.prose blockquote { font-size:30px; line-height:1.35; margin:35px 0 0; padding:22px 0; border-top:1px solid var(--line); color:var(--gold); }
.boundary { align-self:start; padding:20px 0 0; border-top:1px solid #a1b39b77; font:14px/1.8 Arial,sans-serif; color:var(--muted); }
.boundary > span { color:var(--green); font-size:12px; }
.boundary details { margin-top:25px; }
.boundary summary { cursor:pointer; padding:8px 0; color:var(--silver); }
.boundary details p { font-size:12px; }
.diagram { margin:0 7%; padding:30px 0; background:#0e171233; border-top:1px solid #a1b39b66; border-bottom:1px solid var(--line); }
.diagram svg { display:block; width:100%; height:auto; max-height:350px; stroke-width:2; }
.diagram svg text { fill:var(--silver); font:22px Georgia,serif; text-anchor:middle; }
.flow { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:35px; counter-reset:flow; }
.flow li { position:relative; padding-top:15px; min-width:0; }
.flow li + li::before { content:'→'; position:absolute; left:-27px; top:16px; color:var(--gold); }
.flow strong { display:block; color:var(--paper); font-size:25px; line-height:1.3; font-weight:400; }
.flow span { display:block; max-width:260px; font:14px/1.7 Arial,sans-serif; margin:18px 0; color:var(--muted); }
.coupling-lines { display:grid; grid-template-columns:repeat(3,1fr); gap:35px; }
.coupling-lines span { height:95px; background:repeating-radial-gradient(ellipse at 50% 100%,transparent 0 9px,#afc1b64d 10px 11px,transparent 12px 20px); }
.coupling-lines span:nth-child(2) { background:repeating-linear-gradient(170deg,transparent 0 13px,#dfbd7d66 14px 15px,transparent 16px 26px); }
.coupling-lines span:nth-child(3) { background:repeating-radial-gradient(ellipse at 20% 50%,transparent 0 6px,#afc1b64d 7px 8px,transparent 9px 15px); }
.scale-bands { margin:35px 7% 0; display:grid; grid-template-columns:repeat(3,1fr); gap:30px; border-block:1px solid var(--line); padding-top:30px; }
.scale-bands b { font:12px Arial,sans-serif; color:var(--gold); display:block; margin-bottom:12px; }
.scale-bands strong { font-size:25px; font-weight:400; }
.scale-bands p { font:14px/1.7 Arial,sans-serif; color:var(--muted); }
.scale-foot { grid-column:1/-1; border-top:1px solid var(--line); padding-top:18px; margin-top:0; }
.time-comparison { display:grid; grid-template-columns:1fr 1fr; gap:45px; margin:35px 7% 0; padding:25px 0; border-block:1px solid var(--line); }
.time-comparison span { display:block; color:var(--green); font:12px Arial,sans-serif; }
.time-comparison strong { display:block; font-size:26px; font-weight:400; margin-top:15px; }
.time-comparison p { font:14px/1.7 Arial,sans-serif; color:var(--muted); }
.formula { font:18px/2 Georgia,serif; color:var(--paper); padding-top:25px; text-align:center; overflow-wrap:anywhere; }
.part-divider { padding:90px 7%; background:linear-gradient(90deg,#30261a55,#101411),url('/assets/edition-m4/slate.webp') center / cover; border-block:1px solid #d2a08a77; }
.part-divider h2 { font-size:58px; max-width:820px; }
.part-divider p { font-size:21px; line-height:1.7; max-width:740px; color:var(--text); }
.taran .eyebrow,.taran .boundary > span { color:var(--copper); }
.taran .image-note { border-color:var(--copper); }
.relay .flow { grid-template-columns:repeat(4,minmax(0,1fr)); }
.relay .flow strong { font-size:22px; }
.tech-diagram .flow li::before { display:none; }
.route-path { display:flex; flex-wrap:wrap; gap:20px; align-items:center; margin-top:25px; padding:20px 0; border-top:1px solid var(--line); font:13px/1.6 Arial,sans-serif; }
.route-path span { padding:10px 0; color:var(--copper); border-bottom:2px solid #d2a08a77; }
.route-path i { color:var(--muted); font-size:11px; }
.erweiterung .eyebrow,.erweiterung .boundary > span { color:#c4c0dc; }
.closing { padding:90px 7%; }
.closing h2 { font-size:48px; }
.closing-columns { display:grid; grid-template-columns:1fr 1fr; gap:8%; margin-top:40px; }
.closing h3 { font-size:24px; font-weight:400; }
.closing p,.closing li { font-size:17px; line-height:1.8; color:var(--text); }
.closing ul { padding-left:20px; }
footer { padding:30px 7%; display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; border-top:1px solid var(--line); font:11px/1.7 Arial,sans-serif; color:var(--muted); }
@media (min-width:1500px) { .cover { min-height:780px; } .cinema img { aspect-ratio:16/9; } }
@media (max-width:900px) {
  .reading { grid-template-columns:minmax(0,1fr); gap:20px; }
  .boundary { max-width:740px; }
  .introduction { grid-template-columns:1fr; gap:30px; }
  .cover h1 { font-size:70px; }
  .chapter-heading h2 { font-size:41px; }
  .relay .flow { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .relay .flow li:nth-child(3)::before { display:none; }
}
@media (max-width:600px) {
  html { scroll-padding-top:82px; }
  .topbar { height:64px; padding-inline:6%; gap:12px; }
  .brand { font-size:19px; }
  .brand span { display:none; }
  .edition-label { font-size:10px; }
  .reading-progress { top:63px; }
  .cover { min-height:660px; padding:55px 7% 110px; align-items:start; }
  .cover h1 { font-size:56px; margin-top:25px; }
  .cover-image { object-position:73% 50%; }
  .cover-shade { background:linear-gradient(90deg,#080b0adb,#080b0a40),linear-gradient(0deg,#101411,transparent 45%); }
  .subtitle { font-size:21px; max-width:280px; }
  .cover-bottom { flex-direction:column; gap:8px; }
  .begin { font-size:12px; gap:12px; }
  .introduction { padding-block:45px; }
  .introduction h2 { font-size:30px; }
  .chapter { padding:50px 0 35px; }
  .chapter-heading { padding-bottom:28px; }
  .chapter-heading h2 { font-size:35px; }
  .cinema,.cinema-apfel,.cinema-zug,.cinema-eigenzeit { margin-inline:0; }
  .cinema img { object-fit:contain; height:auto; aspect-ratio:3/2; }
  .image-note { position:relative; inset:auto; max-width:none; padding:20px 7%; background:#0b120f; border-left:0; border-bottom:1px solid var(--line); backdrop-filter:none; }
  .image-note p { font-size:23px; }
  .cinema figcaption { padding-inline:7%; }
  .reading { padding-top:28px; }
  .prose > p { font-size:18px; line-height:1.8; }
  .prose > p:first-child { font-size:21px; }
  .prose blockquote { font-size:26px; }
  .flow,.relay .flow { grid-template-columns:1fr; gap:0; }
  .flow li { border-bottom:1px solid var(--line); padding-top:18px; }
  .flow li:last-child { border:0; }
  .flow li + li::before { display:none; }
  .flow strong { font-size:23px; }
  .flow span { max-width:none; }
  .coupling-lines { display:none; }
  .scale-bands { gap:15px; }
  .scale-bands strong { font-size:20px; }
  .scale-bands p { font-size:12px; }
  .time-comparison { gap:20px; }
  .time-comparison strong { font-size:23px; }
  .diagram svg text { font-size:38px; }
  .formula { font-size:16px; text-align:left; }
  .part-divider { padding-block:55px; }
  .part-divider h2 { font-size:40px; }
  .part-divider p { font-size:18px; }
  .closing { padding-block:55px; }
  .closing h2 { font-size:34px; }
  .closing-columns { grid-template-columns:1fr; gap:15px; }
  .eyebrow { font-size:11px; }
}
@media (max-width:350px) { .cover h1 { font-size:48px; } .edition-label { display:none; } .chapter-heading h2 { font-size:31px; } .scale-bands { grid-template-columns:1fr; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
@media print {
  body { background:white; color:#151a17; }
  body::before,.topbar,.reading-progress,.begin,.cover-shade,.cover-bottom,footer { display:none; }
  .cover { min-height:600px; }
  .cover-copy { padding:20px; background:#101411cc; }
  .chapter { break-before:page; padding-top:30px; }
  .chapter-heading h2,.prose > p,.boundary,.closing p,.closing li,.introduction p { color:#151a17; }
  .cinema img { max-height:400px; object-fit:contain; }
  .image-note { position:relative; inset:auto; color:#151a17; background:none; }
  .reading { display:block; }
  .boundary { margin-top:20px; }
  .diagram,.time-comparison,.scale-bands { break-inside:avoid; }
  .flow strong,.formula,.diagram svg text { color:#151a17; fill:#151a17; }
}
