:root{
  --grund:#e8f0e6; --karte:#fff; --tinte:#12241a; --gedaempft:#46584a; --linie:#c3d2bf; --akzent:#1c7a2f; --nacht:#0d2916; --hell:#9be37a;
  --sans:"Segoe UI",system-ui,-apple-system,Roboto,"Helvetica Neue",Arial,sans-serif;
  --kopf:"Bahnschrift","Arial Narrow","Roboto Condensed",var(--sans);
  --mono:ui-monospace,"Cascadia Mono",Consolas,Menlo,monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:1rem}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--grund);color:var(--tinte);font:1rem/1.6 var(--sans)}
a{color:var(--akzent)}
:focus-visible{outline:3px solid var(--akzent);outline-offset:3px}
.hero :focus-visible,footer :focus-visible{outline-color:var(--hell)}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:#fff;color:#000;padding:.5rem 1rem;z-index:9}
.in{max-width:62rem;margin:0 auto}
/* Kopf */
.hero{background:var(--nacht);color:#eef5ee;padding:3rem 1rem 3.5rem}
.hero .in>*{min-width:0}
.hero h1{overflow-wrap:break-word}
.hero .in{display:grid;grid-template-columns:1fr 14rem;gap:2.5rem;align-items:center}
.logo{width:100%;height:auto;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.45)}
.tag{font:.8rem var(--mono);color:var(--hell);margin:0 0 1.25rem;letter-spacing:.04em}
.hero h1{font:800 clamp(2.4rem,8vw,4.6rem)/1 var(--kopf);font-stretch:condensed;margin:0 0 1.25rem;letter-spacing:-.02em}
.hero p{max-width:36rem;margin:0 0 .8rem;font-size:1.1rem;color:#cfe3d2}
.hero .abpfiff{font:800 clamp(1.6rem,5vw,2.4rem)/1.1 var(--kopf);color:var(--hell);margin:0 0 .5rem}
.hero .end{font-size:1.15rem;color:#fff;margin:0 0 1rem}
.hero .sub{font-size:1rem;padding-top:1rem;border-top:1px solid #2f5a3b;margin-top:1.2rem}
/* Layout */
.layout{display:grid;grid-template-columns:11rem 1fr;gap:2rem;max-width:62rem;margin:0 auto;padding:2rem 1rem}
.side{position:sticky;top:1rem;align-self:start}
.suche label{display:block;font:.75rem var(--mono);color:var(--gedaempft);margin-bottom:.35rem;text-transform:uppercase;letter-spacing:.06em}
.suche input{width:100%;font:1rem var(--sans);padding:.65rem .75rem;border:1px solid var(--gedaempft);background:#fff;color:var(--tinte);border-radius:6px}
.zaehler{font:.8rem var(--mono);color:var(--gedaempft);margin:.75rem 0 0}
.jahre{list-style:none;margin:1rem 0 0;padding:0;font:.9rem var(--mono)}
.jahre a{display:flex;justify-content:space-between;padding:.4rem 0;border-bottom:1px solid var(--linie);color:var(--tinte);text-decoration:none}
.jahre a:hover{color:var(--akzent)}
.jahre span{color:var(--gedaempft)}
.jahrtitel{font:800 clamp(2.2rem,6vw,3.2rem)/1 var(--kopf);color:var(--akzent);margin:2.5rem 0 .8rem;padding-bottom:.4rem;border-bottom:2px solid var(--akzent)}
.nachoben{margin:.8rem 0 0;font-size:.9rem}
.jahr:first-child .jahrtitel{margin-top:0}
.liste{list-style:none;margin:0;padding:0;display:grid;gap:1rem}
/* Folge */
.karte{background:var(--karte);border-radius:10px;padding:1.25rem 1.4rem;border:1px solid var(--linie);content-visibility:auto;contain-intrinsic-size:auto 320px}
.kopf{display:flex;gap:.9rem;align-items:baseline}
.nr{font:700 1.5rem var(--mono);color:var(--akzent);min-width:3.4rem;text-decoration:none}
.nr:hover{text-decoration:underline}
.karte.besonders{border-left:5px solid var(--akzent)}
.karte:target{outline:3px solid var(--akzent);outline-offset:2px}
.karte h3{margin:0;font-size:1.15rem;line-height:1.3}
.meta{font:.8rem var(--mono);color:var(--gedaempft);margin:.5rem 0 .6rem}
.text{margin:0 0 .8rem;font-size:.98rem;color:#26382c}
details{margin:0 0 1rem}
summary{cursor:pointer;color:var(--akzent);font-size:.92rem;margin-bottom:.6rem;padding:.2rem 0;min-height:2.75rem;display:flex;align-items:center}
.player{margin-top:.4rem}
.play{display:inline-flex;align-items:center;font:600 1rem var(--sans);background:var(--akzent);color:#fff;text-decoration:none;border-radius:999px;padding:.7rem 1.4rem;min-height:2.75rem;cursor:pointer}
.play:hover{background:#155f24}
.hinweis{font-size:.8rem;color:var(--gedaempft);margin:.5rem 0 0}
.player iframe{width:100%;height:152px;border:0;border-radius:12px;display:block}
.leer{padding:2rem;text-align:center;color:var(--gedaempft)}
.zweit{font:600 1rem var(--sans);background:#fff;color:var(--tinte);border:2px solid var(--tinte);border-radius:6px;padding:.6rem 1.2rem;min-height:2.75rem;cursor:pointer}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
main:focus,.side:focus{outline:none}
[hidden]{display:none!important}
/* Fuß */
footer{background:var(--nacht);color:#cfe3d2;padding:2rem 1rem 3rem;font-size:.95rem}
footer .in p{margin:0 0 .6rem}
footer a{color:var(--hell);margin-right:1.2rem}
footer .klein{font-size:.85rem;color:#a9c4ae}
/* Rechtstexte */
.kopfleiste{background:var(--nacht);padding:.75rem 1rem}
.zurueck{display:inline-flex;align-items:center;gap:.7rem;color:#fff;text-decoration:none;font:800 1.4rem var(--kopf)}
.zurueck img{border-radius:6px}
.text.in,.rechtlich main{padding:2rem 1rem 3rem}
.rechtlich main h1{font:800 2.2rem var(--kopf);margin:0 0 1rem}
.rechtlich main h2{font-size:1.1rem;margin:1.8rem 0 .4rem}
.rechtlich main p{max-width:46rem;color:var(--tinte);font-size:1rem}
mark{background:#fff3b0;padding:0 .2rem}
@media (max-width:56rem){
  .hero .in{grid-template-columns:1fr}.logo{max-width:11rem;order:-1}
  .layout{grid-template-columns:1fr}
  .side{position:static}
  .jahre{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:.2rem 1.2rem;padding-bottom:.3rem}.jahre a{white-space:nowrap}.jahre a{border:0;min-height:2.75rem;align-items:center}
  .karte{padding:1rem}
  .kopf{flex-direction:column;gap:.1rem}
}
/* Variante: Zeilenliste (build-site.mjs --zeilen) */
.zeilen .liste{gap:0}
.zeilen .karte{background:transparent;border:0;border-top:1px solid var(--linie);border-radius:0;padding:1.2rem 0;display:grid;grid-template-columns:4.2rem 1fr;column-gap:.5rem}
.zeilen .karte>*{grid-column:2}
.zeilen .kopf{display:contents}
.zeilen .kopf .nr{grid-column:1;grid-row:1 / span 6;font-size:1.3rem;align-self:start;padding-top:.15rem}
.zeilen .kopf h3{grid-column:2;margin:0}
.zeilen .karte.besonders{background:#fff;border-left:5px solid var(--akzent);padding-left:.8rem;margin:.2rem 0}
.zeilen .liste{border-bottom:1px solid var(--linie)}
@media (max-width:48rem){
  .zeilen .karte{grid-template-columns:1fr}
  .zeilen .karte>*,.zeilen .kopf .nr,.zeilen .kopf h3{grid-column:1;grid-row:auto}
}
.portrait{margin:0 0 1.2rem;max-width:34rem}
.portrait img{width:100%;height:auto;border-radius:10px;display:block}
.portrait figcaption{font-size:.85rem;color:var(--gedaempft);margin-top:.4rem}
.hero .end{font-size:1.25rem}
/* Kompakter Kopf, eigener Audio-Player (04.10.2026) */
.hero{padding:1.2rem 1rem 1.4rem}
.hero .in{display:block}
.titelzeile{display:flex;align-items:center;gap:1rem;margin-bottom:.9rem}
.hero .logo{width:72px;height:72px;max-width:none;border-radius:10px;box-shadow:none;flex:none;order:0}
.hero h1{font-size:clamp(2rem,6vw,3rem);margin:0}
.hero .tag{margin:0 0 .25rem}
.hero .end{font-size:1.1rem;margin:0 0 .5rem}
.hero .sub{margin:.6rem 0 0;padding-top:.7rem;font-size:.95rem}
.hero .sub a{color:var(--hell)}
.player{margin-top:.5rem}
.player audio{width:100%;height:2.75rem;display:block}
.player .extern{display:inline-block;margin-top:.4rem;font-size:.85rem}
.audiohinweis{font-size:.85rem;color:var(--gedaempft);margin:0 0 1rem}
/* Shownotes */
.shownotes summary{font-weight:600}
.notes{font-size:.98rem;color:#26382c;border-left:3px solid var(--linie);padding:.2rem 0 .2rem 1rem;margin:.2rem 0 1rem}
.notes p{margin:.5rem 0}
.notes h4{font-size:1rem;margin:1.1rem 0 .3rem;color:var(--tinte)}
.notes ul,.notes ol{margin:.4rem 0 .6rem 1.2rem;padding:0}
.notes a{overflow-wrap:anywhere}
.zeit{font:600 .8rem var(--mono);background:#e1efe0;color:#155f24;border:1px solid #b9d3b8;border-radius:999px;padding:.1rem .55rem;margin:0 .1rem;cursor:pointer;min-height:1.6rem}
.zeit:hover{background:#cfe5cd}
