

:root{
  --papier:#FAF6EE; --papier2:#F1EADC; --blatt:#FFFFFF; --blatt2:#F7F2E8;
  --tinte:#16130F; --tinte2:#463E34; --tinte3:#6B6053;
  --linie:#DDD2BE; --linie2:#C9BCA3;

  --akzent:#1B3A6B; --akzent-text:#15305A; --akzent-flaeche:#E7EDF7; --auf-akzent:#FFFFFF;

  --signal:#795A0D; --signal-flaeche:#F7EDD4;
  --gut:#2F6B3C; --warn:#8A4A10;
  --schrift:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;
  --mono:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
  --bahn:min(1180px,100% - 2.4rem);
  --schmal:min(70ch,100% - 2.4rem);
  --rund:10px;
}
@media (prefers-color-scheme:dark){
  :root{
    --papier:#14161B; --papier2:#1B1E25; --blatt:#1E222A; --blatt2:#242932;
    --tinte:#F0ECE4; --tinte2:#C6BFB4; --tinte3:#9A9287;
    --linie:#333944; --linie2:#454D5B;
    --akzent:#7FA9E8; --akzent-text:#9CBEF0; --akzent-flaeche:#1D2836; --auf-akzent:#10131A;
    --signal:#D9AE55; --signal-flaeche:#2C2618;
    --gut:#78C08A; --warn:#D89A5C;
  }
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--papier); color:var(--tinte);
  font-family:var(--schrift); font-size:17px; line-height:1.6;
  overflow-x:hidden;
}

body.leicht{font-size:20px; line-height:1.85; letter-spacing:.005em}
body.leicht .bahn,body.leicht .schmal{--schmal:min(52ch,100% - 2.4rem)}
body.leicht p{max-width:52ch}
body.leicht .klein-weg{display:none}

h1,h2,h3{font-family:var(--serif); font-weight:600; line-height:1.15; margin:0}
h1{font-size:clamp(2rem,7vw,3.4rem); letter-spacing:-.015em}
h2{font-size:clamp(1.5rem,4.6vw,2.2rem); letter-spacing:-.01em}
h3{font-size:clamp(1.08rem,2.6vw,1.28rem)}
p{margin:0 0 .85em}
a{color:var(--akzent-text)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,
summary:focus-visible,[tabindex]:focus-visible{
  outline:3px solid var(--akzent); outline-offset:2px; border-radius:4px;
}
.bahn{width:var(--bahn); margin-inline:auto}
.schmal{width:var(--schmal); margin-inline:auto}

.sprung{position:absolute; left:-9999px; top:0; z-index:99;
  background:var(--akzent); color:var(--auf-akzent); padding:.8rem 1.2rem; border-radius:0 0 var(--rund) 0}
.sprung:focus{left:0}

.werkzeug{border-bottom:1px solid var(--linie); background:var(--papier2)}
.werkzeug .bahn{display:flex; flex-wrap:wrap; gap:.6rem; align-items:center;
  justify-content:space-between; padding:.55rem 0}
.marke{font-family:var(--serif); font-weight:600; font-size:1rem; text-decoration:none; color:var(--tinte)}
.marke span{color:var(--signal)}
.schalter{display:flex; gap:.5rem; flex-wrap:wrap}
.knopf{
  font:inherit; font-size:.9rem; background:var(--blatt); color:var(--tinte);
  border:1px solid var(--linie2); border-radius:99px; padding:.45rem .95rem;
  cursor:pointer; min-height:44px; display:inline-flex; align-items:center; gap:.45rem;
}
.knopf:hover{border-color:var(--akzent)}

.knopf[hidden]{display:none}
.knopf[aria-pressed="true"]{background:var(--akzent); color:var(--auf-akzent); border-color:var(--akzent)}
.knopf .haken{font-size:.85em}

.wegweiser{position:sticky; top:0; z-index:40; background:var(--papier);
  border-bottom:1px solid var(--linie); box-shadow:0 1px 0 var(--linie)}
.wegweiser ul{display:flex; gap:.35rem; list-style:none; margin:0; padding:.5rem 0;
  overflow-x:auto; scrollbar-width:thin; -webkit-overflow-scrolling:touch}
.wegweiser a{
  display:inline-flex; align-items:center; white-space:nowrap; text-decoration:none;
  font-size:.86rem; color:var(--tinte2); border:1px solid transparent;
  padding:.4rem .7rem; border-radius:99px; min-height:38px;
}
.wegweiser a:hover{background:var(--blatt2); border-color:var(--linie)}
.wegweiser a[aria-current="true"]{background:var(--akzent-flaeche); color:var(--akzent-text);
  border-color:var(--akzent); font-weight:600}

.kopf{padding:clamp(2.2rem,7vw,4.5rem) 0 clamp(1.6rem,4vw,2.6rem)}
.dachzeile{font-size:.78rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--signal); font-weight:700; margin-bottom:.9rem}
.anriss{font-family:var(--serif); font-size:clamp(1.08rem,2.6vw,1.35rem); color:var(--tinte2);
  max-width:60ch; margin-top:1.1rem}
.anriss b{color:var(--tinte); font-weight:600}

.streifen{display:flex; flex-wrap:wrap; gap:0; margin-top:2rem;
  border:1px solid var(--linie); border-radius:var(--rund); overflow:hidden; background:var(--blatt)}
.streifen div{flex:1 1 140px; padding:.9rem 1rem; border-right:1px solid var(--linie)}
.streifen div:last-child{border-right:0}
.streifen b{display:block; font-family:var(--serif); font-size:1.6rem; line-height:1.1}
.streifen span{font-size:.82rem; color:var(--tinte3)}

section{padding:clamp(2.4rem,6vw,4rem) 0; border-top:1px solid var(--linie)}
section.dunkel{background:var(--papier2)}
.kapitelnr{font:600 .78rem/1 var(--mono); letter-spacing:.12em; color:var(--signal);
  text-transform:uppercase; margin-bottom:.7rem}
.leit{color:var(--tinte2); max-width:62ch; margin-top:.7rem}

.ki-marke{

  margin:.9rem 0 clamp(1.6rem,4vw,2.4rem); padding:.7rem .95rem;
  background:var(--blatt2); border:1px solid var(--linie);
  border-left:4px solid var(--signal); border-radius:0 var(--rund) var(--rund) 0;
  font-size:.88rem; line-height:1.5; color:var(--tinte2); max-width:52rem;
}
.ki-marke strong{color:var(--tinte)}
.ki-marke a{color:inherit}
body.leicht .ki-marke{font-size:.98rem}

.ausriss{
  background:var(--blatt); border:1px solid var(--linie);
  border-left:4px solid var(--signal); border-radius:0 var(--rund) var(--rund) 0;
  padding:1rem 1.1rem; margin:.7rem 0;
}
.ausriss q{font-family:var(--serif); font-size:1.05rem; display:block; quotes:"„" "“"}
body.leicht .ausriss q{font-size:1.1rem}

.melden{
  display:inline-block; margin-top:.6rem; padding:.25rem 0;
  min-height:24px; font-size:.82rem; color:var(--tinte3);
  text-decoration:underline; text-underline-offset:3px;
}
.melden:hover, .melden:focus-visible{color:var(--signal)}

.blass{opacity:.72}
.melden::before{content:"✉ "; text-decoration:none}

.kapitelmarke{
  font:400 .78rem/1.4 var(--mono); color:var(--tinte3);
  border:1px dashed var(--linie); border-radius:var(--rund);
  padding:.05rem .45rem; max-width:100%; overflow-wrap:anywhere;
}
.ausriss .fuss{display:flex; flex-wrap:wrap; gap:.4rem .8rem; align-items:center;
  margin-top:.65rem; font-size:.82rem; color:var(--tinte3)}
.seitenmarke{font:600 .76rem/1 var(--mono); background:var(--signal-flaeche); color:var(--signal);
  padding:.28rem .5rem; border-radius:4px; white-space:nowrap}
.quellzeile{display:inline-flex; align-items:center; min-height:24px}

.fahne{display:inline-block; width:.85rem; height:.85rem; border-radius:3px;
  border:1px solid rgba(0,0,0,.25); flex:none}
@media (prefers-color-scheme:dark){.fahne{border-color:rgba(255,255,255,.3)}}

.enden{display:flex; justify-content:space-between; gap:1rem; font-size:.8rem;
  color:var(--tinte3); margin-top:.15rem}
.enden span{max-width:46%}
.enden span:last-child{text-align:right}
.nur-sr{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0);
  clip-path:inset(50%); white-space:nowrap}

.kuerzel{font:600 .8rem/1.5 var(--mono); white-space:nowrap}
.kuerzel .fahne{vertical-align:-1px; margin-right:.3rem}

.raster{display:grid; gap:.85rem; margin-top:1.4rem;
  grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr))}
.karte{background:var(--blatt); border:1px solid var(--linie); border-radius:var(--rund);
  padding:1rem 1.05rem}
.karte h3{margin-bottom:.4rem}
.karte p{font-size:.92rem; color:var(--tinte2); margin:0}

.suchzeile{display:flex; flex-wrap:wrap; gap:.6rem; margin:1.3rem 0 .8rem}
input[type=search],input[type=text],select{
  font:inherit; font-size:1rem; padding:.7rem .9rem; min-height:48px;
  border:1px solid var(--linie2); border-radius:var(--rund);
  background:var(--blatt); color:var(--tinte); flex:1 1 240px; min-width:0;
}
label.feld{display:block; font-size:.86rem; color:var(--tinte3); margin-bottom:.3rem}
details{border:1px solid var(--linie); border-radius:var(--rund); background:var(--blatt);
  padding:0 .95rem; margin:.5rem 0}
summary{cursor:pointer; padding:.75rem 0; font-size:.92rem; font-weight:600; min-height:44px;
  display:flex; align-items:center}
details[open]{padding-bottom:.9rem}
.hinweis{font-size:.84rem; color:var(--tinte3); max-width:66ch}
.warnkasten{border:1px solid var(--linie2); border-left:4px solid var(--warn);
  background:var(--blatt2); border-radius:0 var(--rund) var(--rund) 0; padding:.85rem 1rem;
  font-size:.9rem; margin:1rem 0}
.laedt{color:var(--tinte3); font-style:italic; padding:1.2rem 0}

.kartenfeld{display:grid; gap:1.2rem; margin-top:1.3rem}
@media(min-width:860px){.kartenfeld{grid-template-columns:1.05fr 1fr; align-items:start}}
.mvkarte{background:var(--blatt); border:1px solid var(--linie); border-radius:var(--rund); padding:.6rem}
.mvkarte svg{display:block; width:100%; height:auto}
.wk{fill:var(--papier2); stroke:var(--tinte3); stroke-width:1.6; cursor:pointer; transition:fill .12s}
.wk:hover{fill:var(--akzent-flaeche)}

.wk.leer{fill:var(--blatt); stroke-dasharray:5 3}
.wk[aria-pressed="true"]{fill:var(--akzent); stroke:var(--akzent); stroke-width:2.6}
.wk:focus-visible{outline:3px solid var(--akzent); outline-offset:1px}

.saal{background:var(--blatt); border:1px solid var(--linie); border-radius:var(--rund); padding:1rem}
.saal svg{display:block; width:100%; height:auto}
.saalzahl{font-family:var(--serif); font-size:2.6rem; font-weight:700; line-height:1; margin:0}
.saalzahl span{font-family:var(--schrift); font-size:.95rem; font-weight:400;
  color:var(--tinte2); margin-left:.5rem}
.mehrheitsmarke{display:inline-block; width:11px; height:11px; border-radius:50%;
  background:var(--linie2); border:2.5px solid var(--tinte); vertical-align:-1px; margin:0 2px}
.fraktionen{display:flex; flex-wrap:wrap; gap:.4rem; margin-top:.9rem}
.fraktion{display:inline-flex; align-items:center; gap:.4rem; font-size:.85rem;
  border:1px solid var(--linie); border-radius:99px; padding:.3rem .7rem; background:var(--blatt2)}
.fraktion b{font-family:var(--mono)}
.vorgaben{display:flex; flex-wrap:wrap; gap:.35rem; margin:.9rem 0 1.1rem}
.vorgaben button{font-size:.8rem; padding:.35rem .75rem; min-height:32px}
.regler{display:grid; gap:0}
.regler .r{display:grid; grid-template-columns:1fr auto; gap:0 .7rem; align-items:center;
  padding:.55rem 0; border-top:1px solid var(--linie)}
.regler .r:first-child{border-top:0}
.regler label{font:500 .9rem/1.4 var(--schrift); display:flex; align-items:center; gap:.45rem}
.regler output{font:600 .9rem/1 var(--mono); text-align:right}
.regler input[type=range]{grid-column:1/-1; width:100%; min-height:24px; margin:.35rem 0 0;
  accent-color:var(--pf,var(--akzent)); cursor:pointer}
.raus{font:700 .72rem/1 var(--schrift); color:var(--warn); letter-spacing:.03em}
.restzeile{display:flex; justify-content:space-between; padding-top:.7rem; margin-top:.6rem;
  border-top:1px solid var(--linie2); color:var(--tinte2); font-size:.88rem}
.restzeile b{font-family:var(--mono)}
.befund{display:grid; grid-template-columns:auto 1fr; gap:.85rem; align-items:baseline;
  border:1px solid var(--linie); border-left:4px solid var(--akzent); background:var(--blatt);
  border-radius:0 var(--rund) var(--rund) 0; padding:.8rem 1rem; margin-top:.7rem; font-size:.92rem}
.befund b.zahl{font-family:var(--serif); font-size:1.35rem; white-space:nowrap}
.befund.achtung{border-left-color:var(--warn)}

.klapp{border:1px solid var(--linie); background:var(--blatt2); margin-top:.8rem;
  padding:0 1rem}
.klapp > summary{padding:.85rem 0; font-family:var(--serif); font-size:1.08rem;
  font-weight:600; gap:.5rem}
.klapp > summary::marker{color:var(--signal)}
.klapp[open]{padding-bottom:1rem}
.klapp[open] > summary{border-bottom:1px solid var(--linie); margin-bottom:.6rem}
.bnd{display:grid; grid-template-columns:1fr auto; gap:.5rem .9rem; align-items:center;
  padding:.7rem .9rem; border:1px solid var(--akzent); background:var(--akzent-flaeche);
  border-radius:var(--rund); margin-top:.5rem}
.bnd-namen{display:flex; align-items:center; gap:.4rem; flex-wrap:wrap; font-size:.92rem}
.bnd-sitze{font:600 .9rem/1 var(--mono); white-space:nowrap}
.bnd-balken{grid-column:1/-1; height:6px; background:var(--blatt2); border-radius:3px;
  overflow:hidden; display:flex; border:1px solid var(--linie)}
.bnd-balken span{height:100%}

table{border-collapse:collapse; width:100%; font-size:.9rem}
th,td{text-align:left; padding:.5rem .6rem; border-bottom:1px solid var(--linie)}
th{font-size:.8rem; text-transform:uppercase; letter-spacing:.05em; color:var(--tinte3)}
.tabellenrahmen{overflow-x:auto; margin-top:1rem; border:1px solid var(--linie);
  border-radius:var(--rund); background:var(--blatt)}

.fb-kopf{display:flex; flex-wrap:wrap; gap:.8rem 1.4rem; align-items:center;
  background:var(--blatt); border:1px solid var(--linie); border-radius:var(--rund);
  padding:.75rem 1rem; margin-top:1rem}
.fb-laenge{display:flex; align-items:center; gap:.35rem}
.fb-laenge .knopf{min-width:3rem; justify-content:center}
.fb-fortschritt{display:flex; align-items:center; gap:.7rem; flex:1 1 200px; min-width:0}
.fb-spur{flex:1; height:8px; background:var(--blatt2); border:1px solid var(--linie);
  border-radius:4px; overflow:hidden; min-width:60px}
.fb-spur span{display:block; height:100%; background:var(--akzent)}
.frage{background:var(--blatt); border:1px solid var(--linie); border-radius:var(--rund);
  padding:1.1rem 1.15rem; margin-top:1rem}
.antworten{display:grid; gap:.5rem; margin-top:.9rem}
@media(min-width:760px){.antworten{grid-template-columns:repeat(5,1fr)}}
.fb-neben{display:flex; flex-wrap:wrap; gap:.5rem; margin-top:.7rem}
.knopf.klein{font-size:.82rem; padding:.35rem .8rem; min-height:36px}
.knopf:disabled{opacity:.45; cursor:not-allowed}
.fb-lage{margin-top:1rem; border-top:1px solid var(--linie); padding-top:.9rem}
.fb-lage details{border:0; border-bottom:1px dotted var(--linie); border-radius:0;
  padding:0; margin:0; background:none}
.fb-lage summary{padding:.5rem 0; font-weight:400; gap:.6rem}
.band{margin-top:1rem; border:1px solid var(--linie); border-radius:var(--rund);
  background:var(--blatt); padding:.85rem 1rem}
.band-kopf{font-size:.85rem; font-weight:600; color:var(--tinte2); margin:0 0 .6rem;
  display:flex; flex-wrap:wrap; gap:.2rem .7rem; align-items:baseline}
.fb-treffer{display:grid; grid-template-columns:9rem 1fr 3.4rem; gap:.7rem;
  align-items:center; padding:.4rem 0}
@media(max-width:560px){.fb-treffer{grid-template-columns:1fr 3.4rem}
  .fb-spur2{grid-column:1/-1; order:3}}
.fb-name{font-size:.85rem; line-height:1.35}
.fb-zahl{font:600 .9rem/1 var(--mono); text-align:right}

.fb-spur2{position:relative; height:1.3rem; background:var(--blatt2);
  border:1px solid var(--linie); border-radius:4px; overflow:hidden}
.fb-spur2 i{position:absolute; left:0; top:0; height:100%; opacity:.95}
.fb-spur2 s{position:absolute; top:0; height:100%; opacity:.28}
.fb-spur2 u{position:absolute; top:0; height:100%; width:2px; background:var(--tinte);
  text-decoration:none}
.antwort{font:inherit; font-size:.95rem; text-align:left; background:var(--blatt2);
  border:1px solid var(--linie2); border-radius:var(--rund); padding:.75rem .9rem;
  cursor:pointer; min-height:48px; color:var(--tinte)}

.antwort{display:flex; align-items:center}
.antwort > span{display:block; width:100%}
.antwort:hover{border-color:var(--akzent)}
.antwort[aria-pressed="true"]{background:var(--akzent); color:var(--auf-akzent); border-color:var(--akzent)}
.balkenliste{list-style:none; margin:1rem 0 0; padding:0; display:grid; gap:.5rem}
.balkenliste li{display:grid; grid-template-columns:5.6rem 1fr 3rem; gap:.6rem; align-items:center;
  font-size:.9rem}
.balken{display:block; height:1.1rem; border-radius:3px; background:var(--akzent); min-width:2px}
.balkenspur{background:var(--blatt2); border:1px solid var(--linie); border-radius:4px}

.feldwahl{display:grid; gap:.4rem; margin:1.1rem 0 .9rem;
  grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr))}
.feldkachel{font:inherit; text-align:left; background:var(--blatt); color:var(--tinte);
  border:1px solid var(--linie); border-radius:var(--rund); padding:.6rem .75rem;
  cursor:pointer; min-height:48px; display:flex; flex-direction:column; gap:.15rem}
.feldkachel:hover{border-color:var(--akzent)}
.feldkachel[aria-pressed="true"]{border-color:var(--akzent); border-width:2px;
  background:var(--akzent-flaeche); padding:calc(.6rem - 1px) calc(.75rem - 1px)}
.fk-name{font-size:.88rem; font-weight:600; line-height:1.25}
.fk-zahl{font-size:.76rem; color:var(--tinte3)}

.berufsraster{margin-top:.8rem}
.bfz{border:0; border-bottom:1px solid var(--linie); border-radius:0; background:none;
  padding:0; margin:0}
.bfz:last-child{border-bottom:0}
.bfz > summary{display:grid; grid-template-columns:13rem 1fr 2.6rem; gap:.3rem .9rem;
  align-items:center; padding:.3rem 0; min-height:32px; font-weight:400; list-style:none}
.bfz > summary::-webkit-details-marker{display:none}
.bfz > summary::marker{content:""}
.bf-name{font-size:.86rem; line-height:1.25}
.bf-name::before{content:"▸ "; color:var(--tinte3)}
.bfz[open] > .bf-name::before,.bfz[open] > summary .bf-name::before{content:"▾ "}
.bfz > summary:hover .bf-name{color:var(--akzent-text)}
.bf-punkte{display:flex; flex-wrap:wrap; gap:2px; min-width:0}
.bf-zahl{font:600 .85rem/1 var(--mono); text-align:right}
.pers{width:9px; height:9px; border-radius:2px; flex:none;
  border:1px solid rgba(0,0,0,.18)}
@media (prefers-color-scheme:dark){.pers{border-color:rgba(255,255,255,.22)}}

.bfz.rest .bf-punkte .pers{background:repeating-linear-gradient(45deg,
  var(--linie2) 0 2px, transparent 2px 4px) !important; border-color:var(--tinte3)}
.bf-inhalt{padding:.5rem 0 .9rem 1rem; display:grid; gap:.25rem}
.posten{display:grid; grid-template-columns:1fr 2.2rem; gap:.1rem .7rem;
  font-size:.84rem; padding:.25rem 0; border-bottom:1px dotted var(--linie)}
.posten:last-child{border-bottom:0}
.posten-name{font-weight:500}
.posten-zahl{font:600 .82rem/1.5 var(--mono); text-align:right}
.posten-parteien{grid-column:1/-1; font-size:.78rem; color:var(--tinte3)}
@media(max-width:640px){
  .bfz > summary{grid-template-columns:1fr 2.6rem}
  .bf-punkte{grid-column:1/-1; width:100% !important}
}

footer{border-top:1px solid var(--linie); background:var(--papier2);
  padding:2.6rem 0 3.2rem; font-size:.88rem; color:var(--tinte2)}
.fussraster{display:grid; gap:1.6rem}
@media(min-width:760px){.fussraster{grid-template-columns:1.6fr 1fr 1fr}}
.werkstatt{border:1px solid var(--linie2); border-radius:var(--rund); background:var(--blatt);
  padding:1.1rem 1.15rem; margin-bottom:1.8rem}
.werkstatt h2{font-size:1.15rem; margin-bottom:.5rem}
.winzig{font-size:.8rem; color:var(--tinte3); margin-top:1.6rem}

footer a{display:inline-block; min-height:24px; padding:2px 0}

@media (prefers-reduced-motion:reduce){*{transition:none !important; animation:none !important}}

.belegknopf{font:inherit; font-size:.82rem; background:none; border:0; padding:0 0 1px;
  color:var(--akzent-text); border-bottom:1px solid var(--linie2); cursor:pointer;
  min-height:24px; display:inline-flex; align-items:center}
.belegknopf:hover{border-bottom-color:var(--akzent)}
dialog.beleg{
  border:0; border-top:5px solid var(--pf, var(--akzent)); border-radius:var(--rund);
  background:var(--blatt); color:var(--tinte); padding:1.4rem 1.5rem 1.2rem;
  width:min(680px, calc(100vw - 2rem)); max-height:min(80vh, 46rem); overflow:auto;
  box-shadow:0 18px 50px rgba(0,0,0,.28);
}
dialog.beleg::backdrop{background:rgba(10,14,20,.55)}
.beleg-zu-form{float:right; margin:-.4rem -.6rem 0 1rem}
.beleg-zu{font:inherit; background:none; border:0; color:var(--tinte3); cursor:pointer;
  width:32px; height:32px; border-radius:6px; line-height:1}
.beleg-zu:hover{background:var(--blatt2); color:var(--tinte)}

.beleg-quelle{font:600 .78rem/1 var(--mono); letter-spacing:.06em; text-transform:uppercase;
  color:var(--tinte2); margin:0 0 .3rem}
.beleg-titel{font-family:var(--serif); font-size:1.15rem; margin:0 0 .9rem}

.beleg-text{font-family:var(--serif); font-size:1.02rem; line-height:1.65;
  color:var(--tinte2); background:var(--blatt2); border:1px solid var(--linie);
  border-radius:var(--rund); padding:1rem 1.1rem; max-height:22rem; overflow:auto}
.beleg-text mark{background:var(--signal-flaeche); color:var(--tinte);
  padding:.1em .15em; border-radius:2px}
.beleg-fuss{margin:.9rem 0 0; display:flex; flex-wrap:wrap; gap:.4rem 1rem;
  align-items:baseline; font-size:.85rem}

.aw{position:absolute; z-index:80; width:min(460px, calc(100vw - 20px));
  background:var(--blatt); border:1px solid var(--linie2);
  border-top:4px solid var(--pf, var(--akzent)); border-radius:var(--rund);
  padding:.8rem .9rem; box-shadow:0 12px 34px rgba(0,0,0,.24); display:none}
.aw.an{display:block}
.aw-kopf{margin:0 0 .6rem; padding-right:1.8rem; font-size:.9rem}
.aw-zu{position:absolute; top:.45rem; right:.5rem; width:28px; height:28px; padding:0;
  font:inherit; background:none; border:0; border-radius:6px; color:var(--tinte3); cursor:pointer}
.aw-zu:hover{background:var(--blatt2); color:var(--tinte)}
.aw-kopf span{display:block; font-size:.75rem; color:var(--tinte3); font-weight:400;
  margin-top:.15rem}
.aw-liste{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:2px;
  max-height:min(46vh, 22rem); overflow:auto}
.aw-liste button{display:grid; grid-template-columns:3.2rem 1fr; gap:.6rem; width:100%;
  text-align:left; font:inherit; background:none; border:0; border-radius:6px;
  padding:.5rem .45rem; cursor:pointer; color:var(--tinte); min-height:44px;
  align-items:baseline}
.aw-liste button:hover{background:var(--blatt2)}
.aw-seite{font:.74rem/1.5 var(--mono); color:var(--tinte3); white-space:nowrap}
.aw-text{font-family:var(--serif); font-size:.92rem; line-height:1.4}

.knopf.gross{font-size:1rem; padding:.75rem 1.3rem; min-height:52px;
  text-decoration:none; background:var(--akzent); color:var(--auf-akzent);
  border-color:var(--akzent)}
.knopf.gross:hover{filter:brightness(1.12)}

.lineal{margin:.8rem 0 .2rem}
.lineal svg{display:block; width:100%; height:auto; overflow:visible}

.parteiwahl{display:flex; flex-wrap:wrap; gap:.35rem; align-items:center; margin-bottom:1rem}
.feldkarte{background:var(--blatt); border:1px solid var(--linie); border-radius:var(--rund);
  padding:.9rem 1rem; overflow-x:auto}
.fkz{display:grid; grid-template-columns:13rem 8rem 1fr 8rem 2rem; gap:0 .7rem;
  align-items:center; padding:.35rem 0; border-top:1px solid var(--linie); min-width:640px}
.fkz:first-child{border-top:0}
.fkz-name{font-size:.85rem; font-weight:600; line-height:1.25}
.fkz-links,.fkz-rechts{font-size:.72rem; color:var(--tinte3); line-height:1.2}
.fkz-rechts{text-align:left}
.fkz-links{text-align:right}
.fkz-bild svg{display:block; width:100%}
.fkz-spanne{font:600 .85rem/1 var(--mono); text-align:right; color:var(--tinte2)}

.fkz-strich{display:none}
@media(max-width:720px){

  .fkz{grid-template-columns:1fr 1fr; min-width:0; padding:.6rem 0}
  .fkz-name{grid-column:1/-1; grid-row:1}
  .fkz-links{grid-column:1; grid-row:2; text-align:left}
  .fkz-rechts{grid-column:2; grid-row:2; text-align:right}

  .fkz-links,.fkz-rechts{align-self:end; margin-top:.25rem}
  .fkz-bild{grid-column:1/-1; grid-row:3}
  .fkz-spanne{grid-column:1/-1; grid-row:4; text-align:right}
  .fkz-strich{display:inline}
}

.legende{display:flex; flex-wrap:wrap; gap:.4rem 1.3rem; margin-top:.7rem;
  font-size:.8rem; color:var(--tinte3); align-items:center}
.legende span{display:inline-flex; align-items:center; gap:.4rem}
.legende svg{width:16px; height:16px; min-width:0; flex:none}

.legende .lg-zahl{font:12px var(--mono); color:var(--tinte3); min-width:16px;
  text-align:right; flex:none}

.teilen{border-top:1px solid var(--linie); margin-top:3rem; padding-top:2rem}
.teilen-knoepfe{display:flex; flex-wrap:wrap; gap:.7rem; margin-top:1.2rem;
  align-items:center}
.teilen-knoepfe a.knopf{text-decoration:none}
.teilen code{font-family:var(--mono); font-size:.86rem; overflow-wrap:anywhere;
  background:var(--grund2); padding:.2rem .45rem; border-radius:.25rem}

.teilpunkt{background:none; border:1px solid var(--linie); color:var(--tinte3);
  border-radius:.35rem; padding:.25rem .4rem; cursor:pointer; line-height:0;
  flex:0 0 auto; transition:color .15s, border-color .15s}
.teilpunkt:hover, .teilpunkt:focus-visible{color:var(--tinte); border-color:var(--tinte3)}
.teilpunkt-ok{color:var(--blatt); border-color:var(--blatt)}

.anker-hervor{animation:ankerblink 2.6s ease-out}
@keyframes ankerblink{
  0%{background:var(--grund2)} 12%{background:var(--grund2)} 100%{background:transparent}
}
@media (prefers-reduced-motion: reduce){
  .anker-hervor{animation:none; outline:2px solid var(--tinte3); outline-offset:4px}
}
