
:root{
  --paper:#F6F7F9; --surface:#FFFFFF; --ink:#16202E; --ink2:#4A5668; --ink3:#6B7789;
  --rule:#D5DAE2; --rule2:#E8EBF0; --p2:#2F5D94; --p3:#C2570C; --focus:#C2570C;
  --sel:#E9EEF6; --mark:#FFE3A3; --hit:#BFE3FF; --chip:#EDF1F6;
  --sans:"IBM Plex Sans","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --cond:"IBM Plex Sans Condensed","Arial Narrow","Segoe UI",Arial,sans-serif;
  --serif:"IBM Plex Serif",Georgia,"Times New Roman",serif;
  --mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){--paper:#10151D;--surface:#171E29;--ink:#E8ECF2;--ink2:#A3AEBF;--ink3:#8A95A6;
    --rule:#2C3646;--rule2:#222B38;--p2:#B5D2F5;--p3:#F0924A;--focus:#F0924A;--sel:#202B3B;--mark:#6B4E12;--hit:#1F4E79;--chip:#1E2836;}
}
:root[data-theme="dark"]{--paper:#10151D;--surface:#171E29;--ink:#E8ECF2;--ink2:#A3AEBF;--ink3:#8A95A6;
  --rule:#2C3646;--rule2:#222B38;--p2:#B5D2F5;--p3:#F0924A;--focus:#F0924A;--sel:#202B3B;--mark:#6B4E12;--hit:#1F4E79;--chip:#1E2836;}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{font-size:16px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.55;
  -webkit-text-size-adjust:100%}
a{color:var(--p2)}
a:hover{color:var(--p3)}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
mark{background:var(--mark);color:inherit;border-radius:2px;padding:0 .08em}
.wrap{max-width:74rem;margin:0 auto;padding:0 clamp(1rem,4vw,2.5rem)}

/* ---------- Kopf ---------- */
header.top{background:var(--surface);border-bottom:1px solid var(--rule);padding:1.6rem 0 0}
header.top.schmal{padding:.9rem 0 1.1rem}
header.top.schmal h1{margin:.1rem 0 .35rem}
header.top.schmal .crumbs{margin-bottom:.35rem}
header.top.schmal .searchbar{margin-top:.8rem}
header.top .sub a{color:var(--p2)}
header.top .crumbs{font-size:.8rem;color:var(--ink2);margin-bottom:.7rem;display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}
header.top h1{font-family:var(--serif);font-weight:500;font-size:clamp(1.45rem,3vw,2.15rem);
  line-height:1.15;margin:0 0 .45rem;letter-spacing:-.01em}
header.top .sub{margin:0;color:var(--ink2);font-size:.95rem;max-width:56rem}
.searchbar{margin:1.25rem 0 0;position:relative}
.sopt{display:flex;flex-wrap:wrap;gap:.3rem 1.1rem;margin:.45rem 0 0;font-size:.82rem;color:var(--ink2)}
.sopt label{display:inline-flex;align-items:center;gap:.35rem;cursor:pointer}
.sopt input{accent-color:var(--p2);width:.95rem;height:.95rem;margin:0;cursor:pointer}
.searchbar input{width:100%;padding:.8rem 2.6rem .8rem 2.6rem;border:1px solid var(--rule);
  background:var(--paper);color:var(--ink);font:inherit;font-size:1.02rem;border-radius:6px}
.searchbar input:focus{border-color:var(--p2);background:var(--surface)}
.searchbar input::-webkit-search-cancel-button,.searchbar input::-webkit-search-decoration{display:none}
.searchbar .ico{position:absolute;left:.8rem;top:50%;transform:translateY(-50%);color:var(--ink3);
  pointer-events:none;display:flex;line-height:0}
.searchbar .clr{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);border:0;background:none;
  color:var(--ink3);font-size:1.1rem;cursor:pointer;padding:.3rem .5rem;border-radius:4px;display:none}
.searchbar .clr:hover{color:var(--ink);background:var(--chip)}
.afdbox{display:inline-flex;align-items:center;gap:.4rem;margin-left:.9rem;font-size:.84rem;
  color:var(--ink2);cursor:pointer;user-select:none;white-space:nowrap}
.afdbox[hidden]{display:none}
.navzeile{display:flex;align-items:center;flex-wrap:wrap;gap:.3rem .9rem}
.navzeile .afdbox{margin-left:0;font-size:inherit;color:inherit}
.navzeile .afdbox input{width:.9rem;height:.9rem}
.afdbox input{accent-color:var(--p2);width:1rem;height:1rem;margin:0;cursor:pointer}
.hint{font-size:.8rem;color:var(--ink3);margin:.45rem 0 0}
.chips{display:flex;flex-wrap:wrap;gap:.4rem;margin:1rem 0 0;padding-bottom:1.2rem}
.chip{border:1px solid var(--rule);background:var(--surface);color:var(--ink2);font:inherit;font-size:.82rem;
  padding:.3rem .7rem;border-radius:999px;cursor:pointer;white-space:nowrap;display:inline-flex;gap:.4rem;align-items:center}
.chip:hover{border-color:var(--p2);color:var(--ink)}
.chip[aria-pressed="true"]{background:var(--sel);border-color:var(--p2);color:var(--ink);font-weight:500}
.chip b{font-weight:500;font-family:var(--mono);font-size:.78rem;color:var(--ink3)}
.chip[aria-pressed="true"] b{color:var(--p2)}

/* ---------- Reihen-Karten ---------- */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(19rem,1fr));gap:1rem;margin:1.75rem 0 3rem}
.card{background:var(--surface);border:1px solid var(--rule);border-radius:8px;padding:1.1rem 1.2rem 1rem;
  display:flex;flex-direction:column;gap:.5rem;text-decoration:none;color:inherit}
.card:hover{border-color:var(--p2);box-shadow:0 1px 10px rgba(20,35,60,.07)}
.card h3{margin:0;font-size:1.02rem;font-weight:600;line-height:1.3}
.card p{margin:0;font-size:.875rem;color:var(--ink2);flex:1}
.card .meta{display:flex;gap:.9rem;font-size:.8rem;color:var(--ink3);font-family:var(--cond);
  border-top:1px solid var(--rule2);padding-top:.55rem;margin-top:.2rem;flex-wrap:wrap}
.card .meta.m2{border-top:0;padding-top:0;margin-top:-.35rem}
.card .meta b{font-weight:500;color:var(--ink2)}
.card .links{display:flex;gap:1.1rem;flex-wrap:wrap;font-size:.85rem;margin-top:.15rem}
.card .links a{text-decoration:none;font-weight:500}
.card .links a:hover{text-decoration:underline}
.extra{display:inline-block;margin-top:.15rem;font-size:.82rem}

/* ---------- Trefferliste ---------- */
.res{margin:1.3rem 0 3rem}
.res .sum{font-size:.85rem;color:var(--ink2);margin:0 0 .9rem}
.hitlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}
.hit{background:var(--surface);border:1px solid var(--rule);border-radius:6px;padding:.75rem .95rem}
.hit:hover{border-color:var(--p2)}
.hit .h{display:flex;gap:.55rem;align-items:baseline;flex-wrap:wrap;font-size:.8rem;color:var(--ink3);
  font-family:var(--cond);margin-bottom:.3rem}
.hit .h .reihe{color:var(--p2);font-weight:500}
.hit .h .drs{font-family:var(--mono);font-size:.76rem}
.hit .h .tab{border:1px solid var(--rule);border-radius:3px;padding:0 .3rem;color:var(--ink3);font-size:.72rem}
.hit a.t{font-weight:500;font-size:.95rem;text-decoration:none;display:block;margin-bottom:.25rem;color:var(--ink)}
.hit a.t:hover{color:var(--p3)}
.hit .snip{font-size:.875rem;color:var(--ink2);line-height:1.5}
.hit .snip + .snip{margin-top:.25rem}
.more{margin:1rem 0;font-size:.85rem;color:var(--ink3);text-align:center}
.empty{background:var(--surface);border:1px dashed var(--rule);border-radius:8px;padding:2rem 1.5rem;
  text-align:center;color:var(--ink2);font-size:.92rem}

/* ---------- Reihen-Seite ---------- */
/* Dieselbe Breite und dieselbe seitliche Luft wie .wrap: Die Liste links und der Text rechts
   stehen damit an denselben Kanten wie Überschrift und Suchfeld darüber. */
.layout{display:grid;grid-template-columns:minmax(12rem,17rem) 1fr;gap:0;align-items:start;
  max-width:74rem;margin:0 auto;padding:0 clamp(1rem,4vw,2.5rem)}
nav.docs{border-right:1px solid var(--rule);background:var(--surface);position:sticky;top:0;
  max-height:100vh;overflow:auto;padding:0 0 2rem}
nav.docs h2{font-size:.78rem;font-weight:600;color:var(--ink3);margin:0;
  text-transform:uppercase;letter-spacing:.04em}
.docs-kopf{display:flex;align-items:center;justify-content:space-between;gap:.5rem;
  padding:1rem 1rem .4rem;position:sticky;top:0;background:var(--surface);z-index:1}
/* width:auto und border-left:0, weil die Regel für die Drucksachen-Knöpfe darüber jeden
   button in nav.docs auf volle Breite setzt */
nav.docs .leistenknopf{border:0;border-left:0;background:none;color:var(--ink3);cursor:pointer;
  padding:.25rem;width:auto;line-height:0;border-radius:4px;display:flex;align-items:center}
nav.docs .leistenknopf:hover{color:var(--ink);background:var(--chip)}
/* eingeklappt: nur ein schmaler Streifen mit dem Knopf bleibt stehen */
.layout.zu{grid-template-columns:2.6rem 1fr}
.layout.zu nav.docs{overflow:visible;max-height:none;background:transparent;border-right:0}
.layout.zu nav.docs h2,.layout.zu #nav{display:none}
.layout.zu .docs-kopf{justify-content:center;padding:1rem .4rem;background:transparent}
.layout.zu .leistenknopf svg{transform:rotate(180deg)}
nav.docs button{display:block;width:100%;text-align:left;border:0;background:none;color:var(--ink);font:inherit;
  font-size:.875rem;line-height:1.35;padding:.45rem 1rem;cursor:pointer;border-left:3px solid transparent}
nav.docs button:hover{background:var(--chip)}
nav.docs button[aria-current="true"]{background:var(--sel);border-left-color:var(--p3);font-weight:500}
nav.docs button .n{font-family:var(--mono);font-size:.72rem;color:var(--ink3);display:block}
nav.docs button.hidden{display:none}
nav.docs .cnt{font-family:var(--mono);font-size:.7rem;color:var(--p3);float:right}
/* Tabellen und Diagramme nutzen die volle Breite; Fließtext bleibt auf lesbarem Maß. */
main.doc{padding:1.5rem 0 5rem clamp(1rem,2.5vw,2rem);min-width:0;max-width:none}
main.doc .dh h2,main.doc .dh .m,details.vorb,.q .frage,.q .antwort p,.q .fuss{max-width:58rem}
main.doc .dh{border-bottom:1px solid var(--rule);padding-bottom:1rem;margin-bottom:1.5rem}
main.doc .dh h2{font-family:var(--serif);font-weight:500;font-size:clamp(1.2rem,2.4vw,1.65rem);
  line-height:1.25;margin:.3rem 0 .5rem}
main.doc .dh .m{font-size:.84rem;color:var(--ink2);display:flex;gap:1rem;flex-wrap:wrap;font-family:var(--cond)}
main.doc .dh .lnk{margin-top:.7rem;display:flex;gap:1rem;flex-wrap:wrap;font-size:.85rem}
details.vorb{border:1px solid var(--rule);border-radius:6px;background:var(--surface);padding:.6rem .9rem;margin-bottom:1.5rem}
details.vorb summary{cursor:pointer;font-size:.9rem;font-weight:500;color:var(--ink2)}
details.vorb p{font-size:.9rem;color:var(--ink2)}
.q{border-top:1px solid var(--rule2);padding:1.3rem 0 .4rem;scroll-margin-top:1rem}
.q:first-of-type{border-top:0}
.q .lab{font-family:var(--mono);font-size:.76rem;color:var(--p3);font-weight:500;
  display:inline-flex;gap:.6rem;align-items:baseline}
.q .lab .pg{color:var(--ink3);font-weight:400}
.q .frage{margin:.4rem 0 .9rem;padding-left:.9rem;border-left:2px solid var(--rule);
  color:var(--ink2);font-size:.92rem}
.q .frage p{margin:.35rem 0}
.q .frage .sl{font-family:var(--mono);font-size:.74rem;color:var(--ink3);margin-right:.35rem}
.q .lab.lab-a{margin:.2rem 0 .1rem;color:var(--ink3)}
.q .antwort p{margin:.6rem 0;font-size:.95rem}
.q .zr{margin:.35rem 0 .2rem;font-size:.84rem;font-family:var(--cond)}
.q .zr a{color:var(--p2);text-decoration:none;border-bottom:1px solid var(--rule)}
.q a.vw,details.vorb a.vw{color:inherit;text-decoration:none;border-bottom:1px solid var(--p2)}
.q a.vw:hover,details.vorb a.vw:hover{color:var(--p2)}
.q a.vw-x,details.vorb a.vw-x{border-bottom-style:dotted}
@keyframes zielblink{from{background:color-mix(in srgb,var(--p2) 12%,transparent)}to{background:transparent}}
section.q.ziel{animation:zielblink 2.4s ease-out}
.q .zr a:hover{color:var(--p3);border-bottom-color:var(--p3)}
.q .zr .pre{color:var(--ink3);margin-right:.35rem}
.q .zr .yr{font-family:var(--mono);font-size:.76rem;color:var(--ink3)}
.q .fuss{font-size:.82rem;color:var(--ink2);margin:.35rem 0}
.tw{margin:.9rem 0 1.1rem;border:1px solid var(--rule);border-radius:6px;background:var(--surface);overflow:hidden}
.tw .tb{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.4rem .7rem;
  border-bottom:1px solid var(--rule2);font-family:var(--cond);font-size:.78rem;color:var(--ink3)}
.tw .tb button{border:1px solid var(--rule);background:var(--paper);color:var(--ink2);font:inherit;
  font-size:.75rem;padding:.15rem .55rem;border-radius:4px;cursor:pointer}
.tw .tb button:hover{border-color:var(--p2);color:var(--ink)}
.ts{overflow-x:auto}
table{border-collapse:collapse;font-size:.83rem;font-family:var(--cond);width:100%}
th,td{border:1px solid var(--rule2);padding:.28rem .5rem;text-align:left;vertical-align:top;
  white-space:nowrap;max-width:26rem;overflow:hidden;text-overflow:ellipsis}
thead th{background:var(--chip);font-weight:600;color:var(--ink);position:sticky;top:0;white-space:normal}
tbody tr:hover{background:var(--sel)}
td.num{text-align:right;font-variant-numeric:tabular-nums}
.foot{border-top:1px solid var(--rule);color:var(--ink3);font-size:.8rem;padding:1.5rem 0 2.5rem;background:var(--surface)}
.foot p{margin:.3rem 0}
@media (max-width:52rem){
  .layout,.layout.zu{grid-template-columns:1fr}
  nav.docs{position:static;max-height:none;border-right:0;border-bottom:1px solid var(--rule)}
  .docs-kopf{position:static}
  /* schmale Bildschirme: eingeklappt bleibt die Überschrift stehen, sonst wäre nicht zu
     erkennen, was der Knopf wieder aufklappt */
  .layout.zu nav.docs h2{display:block}
  .layout.zu .docs-kopf{justify-content:space-between;padding:1rem 1rem .4rem;
    background:var(--surface);border-bottom:1px solid var(--rule)}
  main.doc{padding-left:0}
  th,td{white-space:normal}
}
.loading{padding:3rem 1rem;text-align:center;color:var(--ink2)}
.hitnav{position:fixed;right:1.1rem;bottom:1.1rem;background:var(--surface);border:1px solid var(--rule);
  border-radius:999px;display:flex;align-items:center;gap:.2rem;padding:.3rem .55rem;z-index:20;
  box-shadow:0 2px 14px rgba(20,35,60,.16);font-family:var(--cond);font-size:.82rem;color:var(--ink2)}
.hitnav button{border:0;background:none;color:var(--ink2);font:inherit;font-size:1.05rem;cursor:pointer;
  padding:.05rem .45rem;border-radius:4px;line-height:1.2}
.hitnav button:hover{background:var(--chip);color:var(--ink)}
.hitnav span{padding:0 .25rem;font-variant-numeric:tabular-nums}
mark.cur{outline:2px solid var(--p3);outline-offset:1px}

/* ---- Stern (Merkliste) ---- */
button.stern{border:0;background:none;padding:.15rem;margin:0;cursor:pointer;line-height:0;
  color:#B9B9B9;border-radius:6px;flex:none;vertical-align:middle}
button.stern svg{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round;transition:transform .15s}
button.stern:hover{color:#8A8A8A;background:var(--chip)}
button.stern:hover svg{transform:scale(1.12)}
button.stern.an{color:#D99A00}
button.stern.an svg{fill:currentColor}
button.stern:focus-visible{outline:2px solid var(--p2);outline-offset:1px}
main.doc .dh .ht{display:flex;align-items:flex-start;gap:.35rem;margin-left:-.4rem}
main.doc .dh .ht button.stern{margin-top:.35rem}
main.doc .dh .ht h2{margin-top:0}
.q .lab{display:flex;align-items:center;gap:.3rem}
.q .lab button.stern{margin-left:-.35rem}
.q .lab button.stern svg{width:15px;height:15px}

/* ---- Seite mit einer einzelnen Anfrage ---- */
header.top.einzeln .titelzeile{display:flex;align-items:flex-start;gap:.35rem;margin:.1rem 0 .5rem -.4rem}
header.top.einzeln .titelzeile h1{margin:0;max-width:62rem;font-size:clamp(1.35rem,1rem + 1.4vw,1.95rem);line-height:1.2}
header.top.einzeln .titelzeile button.stern{margin-top:.3em}
header.top.einzeln .titelzeile button.stern svg{width:21px;height:21px}
header.top.einzeln .kmeta{display:flex;flex-wrap:wrap;gap:.25rem 1.1rem;font-family:var(--cond);
  font-size:.86rem;color:var(--ink2)}
header.top.einzeln .klnk{display:flex;gap:1rem;flex-wrap:wrap;font-size:.86rem;margin-top:.45rem}
header.top.einzeln .navzeile:empty,header.top.einzeln #navsum:empty{display:none}

/* ---- Fußnoten und Tabellenüberschriften in Antworten ---- */
.q .antwort p.fuss,.pop p.fuss,.vp-inhalt p.fuss{font-size:.8rem;line-height:1.5;color:var(--ink3);margin:.15rem 0}
.q .antwort p.tabtitel,.pop p.tabtitel,.vp-inhalt p.tabtitel{font-weight:600;margin:1.2rem 0 .1rem}
.q .antwort p.tabunter,.pop p.tabunter,.vp-inhalt p.tabunter{font-size:.82rem;color:var(--ink2);margin:.05rem 0}

/* ---- Stern am Titel: rechts daneben, hochgestellt ---- */
button.stern.hoch{vertical-align:top;margin:.02em 0 0 .18em;padding:.08em;line-height:0}
button.stern.hoch svg{width:.6em;height:.6em;min-width:14px;min-height:14px}
main.doc .dh h2.ht{display:block;margin-left:0}
header.top.einzeln .titelzeile{margin-left:0}

/* ---- Titel von Frage und Antwort deutlicher ---- */
.q .lab{font-family:inherit;font-size:1rem;font-weight:700;color:var(--ink);letter-spacing:-.005em;
  margin-bottom:.45rem}
.q .lab .pg{font-family:var(--mono);font-size:.74rem;font-weight:400;letter-spacing:0}
.q .lab.lab-a{font-size:.9rem;font-weight:700;color:var(--ink2);margin:.9rem 0 .3rem}

/* ---- Tabellen: alle gleich breit (volle Textbreite); Text und Zeitangaben links, Zahlen und
   Prozentwerte rechts; deutliche Linien im Kopf und im Rumpf ---- */
.tw{width:100%;max-width:100%}
.tw .tb{flex-wrap:wrap}
table{width:100%}
th,td{text-align:left;border:1px solid #D4D4D4}
th.num,td.num{text-align:right}
thead th{background:#ECECEC;border-color:#C4C4C4;border-bottom-width:1.5px;vertical-align:bottom}
tbody tr:nth-child(even) td{background:#FAFAFA}
tbody tr:hover td{background:var(--sel)}

/* ---- Liste der Fragen links ---- */
.layout.zu #fnav{display:none}
#fnav .fnav-in{margin:.35rem 0 0;padding:0 .4rem;border-left:0}
/* gewählte Drucksache oben (blau): Klick klappt die Fragen ein und aus */
nav.docs button.fnav-kopf .n{display:block}
.fnav-t{font-size:.78rem;font-weight:600;color:var(--ink3);text-transform:uppercase;letter-spacing:.04em;
  margin:0 0 .5rem .5rem}
ol.fliste{list-style:none;margin:0;padding:0}
ol.fliste a{display:grid;grid-template-columns:3rem 1fr;gap:.45rem;padding:.3rem .5rem;border-radius:8px;
  text-decoration:none;color:var(--ink2);font-size:.8rem;line-height:1.3}
ol.fliste a b{font-family:var(--mono);font-size:.74rem;font-weight:600;color:var(--ink);white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis}
ol.fliste a span{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
ol.fliste a:hover{background:var(--chip);color:var(--ink)}
ol.fliste a.akt{background:var(--sel);color:var(--ink)}
.fnav-in{margin:.1rem 0 .6rem 1rem;padding-left:.2rem;border-left:2px solid var(--rule)}
@media (max-width:52rem){
  .layout.einzeln nav.docs,.fnav-in{display:none}
}

/* ---- Fenster zu einem Verweis ---- */
dialog.vpop{border:0;padding:0;margin:auto;width:min(58rem,calc(100vw - 2rem));max-width:none;
  height:calc(100vh - 3rem);max-height:none;border-radius:18px;background:var(--paper);color:var(--ink);
  box-shadow:0 24px 80px rgba(0,0,0,.28)}
dialog.vpop::backdrop{background:rgba(15,15,15,.42)}
body:has(dialog.vpop[open]){overflow:hidden}
.vp-rahmen{display:flex;flex-direction:column;height:100%}
.vp-kopf{display:flex;gap:1rem;align-items:flex-start;padding:1.1rem 1.3rem .8rem;border-bottom:1px solid var(--rule2)}
.vp-kopf>div{flex:1;min-width:0}
.vp-kopf h2{margin:.3rem 0 0;font-size:1.2rem;font-weight:700}
.vp-m{display:flex;flex-wrap:wrap;gap:.2rem .9rem;font-size:.8rem;color:var(--ink3)}
.vp-zu{border:0;background:none;font-size:1.6rem;line-height:1;color:var(--ink3);cursor:pointer;padding:.1rem .45rem;border-radius:8px}
.vp-zu:hover{background:var(--chip);color:var(--ink)}
.vp-inhalt{overflow:auto;flex:1;padding:.4rem 1.3rem 1.2rem}
.vp-inhalt section.q:first-child{border-top:0}
.vp-fuss{display:flex;gap:1rem;align-items:center;padding:.75rem 1.3rem;border-top:1px solid var(--rule2)}
.vp-fuss a.knopf{background:var(--ink);color:#fff;text-decoration:none;padding:.45rem 1rem;border-radius:999px;font-size:.88rem}
@media (max-width:46rem){ dialog.vpop{width:100vw;height:100%;border-radius:0;margin:0} }
/* Anlagen als PDF (seit 04.10.2026) */
.anlage{max-width:58rem;margin:.9rem 0 1.1rem;border:1px solid var(--rule);border-left:4px solid var(--p2);
  border-radius:6px;background:var(--surface);padding:.7rem .95rem}
.anl-kopf{display:flex;gap:.55rem;align-items:baseline;flex-wrap:wrap}
.anl-marke{font-family:var(--mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;
  color:var(--p2);border:1px solid var(--p2);border-radius:999px;padding:.05rem .45rem;flex:none}
.anl-kopf b{font-weight:600}
.q .antwort p.anl-info,p.anl-info{font-size:.82rem;color:var(--ink2);margin:.3rem 0 .55rem}
.anl-lnk{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;font-size:.88rem}
.anl-lnk button{font:inherit;cursor:pointer;background:var(--p2);color:var(--surface);border:0;
  border-radius:999px;padding:.35rem .95rem}
.anl-lnk button[aria-expanded="true"]{background:var(--chip);color:var(--ink)}
.anl-lnk a{color:var(--p2)}
.anl-view{margin-top:.7rem}
.anl-view iframe{width:100%;height:78vh;min-height:24rem;border:1px solid var(--rule2);border-radius:4px;background:#fff}
.q .antwort p.anl-hinweis,p.anl-hinweis{font-size:.78rem;color:var(--ink3);margin:.3rem 0 0}
.fliste li.fl-anl b{font-family:var(--mono);font-size:.7rem;color:var(--p2)}
.anl-z{font-family:var(--mono);font-size:.72rem;color:var(--p2);white-space:nowrap}
.pop .anl-view iframe{height:62vh;min-height:20rem}

/* ---- Tabelle als Grafik ---- */
.tw .tb .tk{display:flex;gap:.4rem;flex-wrap:wrap}
dialog.grafik{border:0;padding:0;margin:auto;width:min(64rem,calc(100vw - 2rem));max-width:none;
  height:calc(100vh - 3rem);max-height:none;border-radius:18px;background:#FFFFFF;color:#0B0B0B;
  box-shadow:0 24px 80px rgba(0,0,0,.28)}
dialog.grafik::backdrop{background:rgba(15,15,15,.42)}
.g-rahmen{display:flex;flex-direction:column;height:100%}
.g-kopf{display:flex;align-items:center;justify-content:space-between;padding:.9rem 1.2rem .5rem}
.g-kopf h2{margin:0;font-size:1rem;font-weight:600}
.g-zu{border:0;background:none;font-size:1.6rem;line-height:1;color:#767676;cursor:pointer;padding:.1rem .45rem;border-radius:8px}
.g-zu:hover{background:#F2F2F2;color:#0B0B0B}
.g-steuer{display:flex;flex-wrap:wrap;gap:.6rem 1rem;align-items:center;padding:0 1.2rem .5rem}
.g-seg{display:inline-flex;border:1px solid #DCDCDC;border-radius:999px;padding:2px;gap:2px}
.g-seg button{border:0;background:none;font:inherit;font-size:.86rem;padding:.3rem .95rem;border-radius:999px;cursor:pointer;color:#3D3D3D}
.g-seg button[aria-pressed="true"]{background:#0B0B0B;color:#FFFFFF}
.g-feld{display:flex;align-items:center;gap:.45rem;font-size:.82rem;color:#767676}
.g-feld select,.g-feld input{font:inherit;font-size:.86rem;color:#0B0B0B;border:1px solid #DCDCDC;border-radius:8px;
  padding:.3rem .5rem;background:#FFFFFF;max-width:22rem}
.g-breit{flex:1;min-width:14rem}
.g-breit input{flex:1;max-width:none}
.g-wahl{padding:.1rem 1.2rem .45rem;display:flex;gap:.6rem;align-items:baseline}
details.g-wahl{display:block}
details.g-wahl summary{cursor:pointer;font-size:.82rem;color:#767676}
details.g-wahl[open] .g-chips{margin-top:.4rem}
.g-lab{font-size:.82rem;color:#767676;white-space:nowrap}
.g-chips{display:flex;flex-wrap:wrap;gap:.3rem;max-height:7.5rem;overflow:auto}
.g-chip{display:inline-flex;align-items:center;gap:.35rem;border:1px solid #DCDCDC;background:#FFFFFF;border-radius:999px;
  font:inherit;font-size:.8rem;padding:.18rem .65rem .18rem .45rem;cursor:pointer;color:#52514E}
.g-chip i{width:.62rem;height:.62rem;border-radius:3px;border:1px solid #CFCFCF;display:inline-block}
.g-chip[aria-pressed="true"]{border-color:#0B0B0B;color:#0B0B0B}
.g-chip[aria-pressed="true"] i{border-color:transparent}
.g-chip.g-k{padding-left:.65rem}
.g-chip.g-k[aria-pressed="false"]{color:#9A9A9A;text-decoration:line-through}
.g-chip:disabled{opacity:.4;cursor:not-allowed}
.g-chip.g-nicht{border-style:dashed;color:#9A9A9A}
.g-steuer2{padding-top:0}
.g-chipw{display:inline-flex;align-items:stretch;max-width:100%}
.g-chipw .g-chip{border-top-right-radius:0;border-bottom-right-radius:0;border-right:0;text-align:left;white-space:normal;line-height:1.3}
.g-stift{border:1px solid #DCDCDC;border-left:1px solid #EBEBEB;background:#FFFFFF;color:#9A9A9A;font:inherit;font-size:.78rem;
  padding:0 .5rem 0 .4rem;border-radius:0 999px 999px 0;cursor:pointer}
.g-stift:hover,.g-stift:focus-visible{color:#0B0B0B;border-color:#0B0B0B}
.g-chipw:has(.g-chip[aria-pressed="true"]) .g-stift{border-color:#0B0B0B;border-left-color:#DCDCDC}
.g-erw{position:absolute;z-index:7;background:#FFFFFF;border:1px solid #DCDCDC;border-radius:12px;padding:.6rem .9rem .85rem;
  box-shadow:0 12px 36px rgba(0,0,0,.18);display:flex;flex-direction:column;gap:.65rem;width:min(26rem,calc(100% - 24px))}
.g-erw[hidden]{display:none}
.g-erw-kopf{display:flex;align-items:center;justify-content:space-between;font-size:.88rem}
.g-erw .g-zu{font-size:1.3rem}
.g-erw .g-feld{flex-wrap:wrap}
.g-erw .g-feld.g-aus{display:none}
.g-erwknopf{align-self:flex-start;font-size:.82rem;padding:.3rem .85rem}
.g-erwknopf[aria-expanded="true"]{border-color:#0B0B0B}
.g-bereich{flex:1;display:flex;gap:.8rem;min-height:0;margin:.2rem 1.2rem}
.g-flaeche{position:relative;flex:1 1 0;min-width:0;overflow:auto;border:1px solid #EFEFEF;border-radius:12px}
dialog.grafik.g-mit-tab{width:min(112rem,calc(100vw - 2rem))}
dialog.grafik.g-mit-tab .g-flaeche{flex:1 1 52%}
dialog.grafik.g-mit-tab .g-tab{flex:1 1 48%}
@media (max-width:62rem){ .g-bereich{flex-direction:column} dialog.grafik.g-mit-tab .g-tab{flex:0 0 auto;max-height:45%} }
.g-kat{align-items:flex-start}
.g-kat .g-chips{max-height:5.6rem}
.g-einh{margin-bottom:.2rem}
.g-tab input.g-einh:disabled{background:#F4F4F4;color:#A5A5A5}
#gBild svg{display:block;margin:0 auto;max-width:100%;height:auto}
.g-tip{position:absolute;z-index:5;pointer-events:none;background:#1A1A1A;color:#FFFFFF;font-size:.78rem;line-height:1.4;
  padding:.45rem .6rem;border-radius:8px;box-shadow:0 6px 20px rgba(0,0,0,.18);max-width:20rem}
.g-tip i{display:inline-block;width:.6rem;height:.6rem;border-radius:2px;margin-right:.35rem;vertical-align:-.02em}
#gBild .g-edit{cursor:pointer}
#gBild .g-edit:hover{text-decoration:underline;text-decoration-style:dotted}
.g-pop{position:absolute;z-index:8;background:#FFFFFF;border:1px solid #DCDCDC;border-radius:12px;padding:.75rem .85rem;
  box-shadow:0 12px 36px rgba(0,0,0,.18)}
.g-pop label{display:flex;flex-direction:column;gap:.3rem;font-size:.78rem;color:#767676}
.g-pop input{font:inherit;font-size:.92rem;color:#0B0B0B;border:1px solid #CFCFCF;border-radius:8px;padding:.4rem .55rem}
.g-pop input:focus{outline:2px solid #2F5D94;outline-offset:0;border-color:#2F5D94}
.g-pop-k{display:flex;gap:.4rem;margin-top:.6rem;flex-wrap:wrap}
.g-pop .g-knopf{font-size:.8rem;padding:.3rem .75rem}
.g-links{flex:1;min-width:12rem;display:flex;flex-direction:column;gap:.3rem}
.g-tipp{font-size:.8rem;color:#767676}
.g-fuss{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding:.7rem 1.2rem .9rem}
.g-meldung{font-size:.82rem;color:#9E1F25}
.g-meldung:empty{display:none}
.g-knopf{border:1px solid #DCDCDC;background:#FFFFFF;color:#0B0B0B;font:inherit;font-size:.86rem;padding:.42rem .95rem;
  border-radius:999px;cursor:pointer}
.g-knopf:hover{border-color:#0B0B0B}
.g-haupt{background:#0B0B0B;color:#FFFFFF;border-color:#0B0B0B}
.g-haupt:hover{opacity:.88}
.g-knopf:disabled{opacity:.35;cursor:not-allowed}
/* eingeblendete Tabelle */
.g-tabknopf{font-size:.82rem;padding:.3rem .85rem}
.g-tab-knoepfe{display:flex;flex-wrap:wrap;gap:.35rem}
.g-seg-klein button{font-size:.78rem;padding:.2rem .7rem}
#gRichtFeld[hidden],#gWerteFeld[hidden],#gSkalaFeld[hidden],#gLueckeFeld[hidden]{display:none}
.g-feld input.g-tipe{width:9.5rem}
.g-werte{cursor:pointer;color:#3D3D3D}
dialog.grafik.g-nur-tab .g-flaeche{display:none}
dialog.grafik.g-nur-tab .g-tab{flex:1 1 100%}
#gTabGross[aria-pressed="true"]{border-color:#0B0B0B;font-weight:600}
.g-tabknopf[aria-expanded="true"]{border-color:#0B0B0B}
.g-tab{border:1px solid #DCDCDC;border-radius:12px;display:flex;flex-direction:column;
  min-width:0;min-height:9rem;overflow:hidden}
.g-tab[hidden]{display:none}
.g-tab-leiste{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1rem;padding:.45rem .7rem;border-bottom:1px solid #E6E6E6;background:#FAFAFA}
.g-leg{display:flex;flex-wrap:wrap;gap:.2rem .8rem;font-size:.76rem;color:#52514E;flex:1}
.g-leg span{display:inline-flex;align-items:center;gap:.3rem}
.g-leg i{width:.8rem;height:.8rem;border-radius:3px;border:1px solid #C4C4C4;display:inline-block}
.g-tab-leiste .g-knopf{font-size:.78rem;padding:.25rem .7rem}
.g-tab-ts{overflow:auto;flex:1}
.g-tab table{border-collapse:separate;border-spacing:0;font-size:.78rem;width:max-content;min-width:100%}
.g-tab th,.g-tab td{border-right:1px solid #E1E1E1;border-bottom:1px solid #E1E1E1;padding:.25rem .45rem;text-align:left;
  vertical-align:top;max-width:16rem;background:#FFFFFF;font-weight:400}
.g-tab td.num{text-align:right;font-variant-numeric:tabular-nums}
.g-tab thead tr:first-child th{position:sticky;top:0;z-index:2;background:#F3F3F3;border-bottom:1.5px solid #C4C4C4}

.g-tab th.g-ecke{position:sticky;left:0;z-index:1;background:#F7F7F7;min-width:25.5rem;color:#767676;font-size:.74rem}
.g-tab thead tr:first-child th.g-ecke{z-index:3}
.g-tab select,.g-tab input[type=text]{font:inherit;font-size:.76rem;border:1px solid #D4D4D4;border-radius:6px;padding:.15rem .3rem;
  background:#FFFFFF;color:#0B0B0B;width:100%;box-sizing:border-box;min-width:7.5rem}
.g-tab thead select{margin-bottom:.2rem}
.g-tab input[type=text]::placeholder{color:#8A8A8A}
.g-zs{display:grid;grid-template-columns:7.4rem minmax(8rem,1fr) 9rem;gap:.35rem;align-items:center}
.g-tab select.g-rolle{min-width:0}
.g-tab tr.g-zaus select.g-rolle{color:#9E1F25}
.g-tab .g-umb .g-neu{display:block;font-weight:600;color:#0B0B0B}
.g-tab .g-umb .g-alt{display:block;font-size:.7rem;color:#8A8A8A;text-decoration:line-through}
.g-tab .g-blink{animation:gBlink 1.6s ease-out}
@keyframes gBlink{0%,35%{box-shadow:0 0 0 2px #AE3A33 inset;background:#FCE9E7}100%{box-shadow:none}}
.g-zs.g-zk{font-size:.72rem;color:#767676}
.g-zhin{font-size:.74rem;color:#767676}
.g-kz{display:flex;justify-content:center;border-radius:6px;padding:.1rem 0}
.g-tab tr.g-orig td,.g-tab tr.g-orig th{background:#C9CED6;color:#14202E;font-weight:700}
.g-tab tr.g-leer td{background:#FAFAFA}
.g-tab .g-geaendert{border-color:#AE3A33!important;box-shadow:0 0 0 1px #AE3A33 inset}
.g-tab input[type=checkbox].g-geaendert,.g-kz.g-geaendert{outline:2px solid #AE3A33;outline-offset:1px;box-shadow:none}
.g-leg i.g-k{background:#C9CED6}
.g-leg i.g-g{background:#FFFFFF;border:2px solid #AE3A33}
.g-tab-leiste .g-knopf:disabled{opacity:.4}
.g-alle{padding:.18rem .65rem;font-weight:600;color:#0B0B0B;white-space:nowrap}
.g-alle[hidden]{display:none}
.g-linien{gap:.6rem}
.g-linien label{display:inline-flex;align-items:center;gap:.25rem;color:#3D3D3D;cursor:pointer}
.g-linien.g-aus{opacity:.45}
.g-fuss .g-lab{margin-left:.3rem}
.g-reset{color:#9E1F25}
.g-reset:disabled{color:#0B0B0B}
button.g-gespeichert::before{content:'';display:inline-block;width:.45rem;height:.45rem;border-radius:50%;background:#AE3A33;
  margin-right:.4rem;vertical-align:.08em}
.g-zs select,.g-zs input[type=text]{min-width:0}
.g-tab .g-b,.g-leg i.g-b{background:#CFE0FA;box-shadow:inset 3px 0 0 #2F5D94}
.g-tab .g-z,.g-leg i.g-z{background:#FFDD7A}
.g-tab .g-z{font-weight:600}
.g-tab .g-a,.g-leg i.g-a{background-color:#FFFFFF;background-image:radial-gradient(#C9C9C9 1px,transparent 1.3px);
  background-size:6px 6px;color:#8A8A8A;font-style:italic}
.g-tab .g-x,.g-leg i.g-x{background:repeating-linear-gradient(135deg,#FFFFFF 0 5px,#EBC6C2 5px 7px);color:#A07A76;text-decoration:line-through}
.g-leg i.g-x{text-decoration:none}
.g-tab thead th.g-b{background:#CFE0FA}
.g-tab tr.g-zaus th.g-ecke input[type=text]{color:#A5A5A5}
@media (max-width:46rem){ dialog.grafik{width:100vw;height:100%;border-radius:0;margin:0}
  .g-flaeche{margin:.2rem .5rem} }

:root,:root:not([data-theme="light"]),:root[data-theme="dark"]{
  --paper:#FAF9F6; --surface:#FFFFFF; --ink:#1A1A1A; --ink2:#4A4843; --ink3:#666460;
  --rule:#DDDAD2; --rule2:#EAE7E0; --p2:#AE3A33; --p3:#8C2A24; --focus:#AE3A33;
  --sel:#F1EFEA; --mark:#F6E3B0; --hit:#DCE4F0; --chip:#F1EFEA;
  --y0:#EBD8D5; --del:#8C2A24;
  --sans:"Hanken Grotesk","Helvetica Neue",Arial,sans-serif;
  --cond:"Hanken Grotesk","Helvetica Neue",Arial,sans-serif;
  --serif:"Hanken Grotesk","Helvetica Neue",Arial,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
a{text-decoration:none}
a:hover{text-decoration:underline}

/* Seitentitel wie auf der Homepage: großer Titel mit rotem Strich darüber, kein eigener
   Kasten – das Portal sieht damit aus wie eine weitere Seite der Homepage. */
header.top{background:transparent;padding-top:2.2rem}
/* Die Schaubilder-Seiten haben keinen .wrap; ihr Kopf und ihr Raster bekommen dieselbe
   seitliche Luft wie die Kopfleiste, damit alles an einer Kante steht. */
body>header.top{padding-left:2rem;padding-right:2rem;max-width:90rem;margin:0 auto}
body>.layout{max-width:90rem;margin:0 auto}
header.top h1{font-weight:600;letter-spacing:-.03em;line-height:1.08;
  font-size:clamp(1.8rem,1.3rem + 2vw,2.8rem)}
header.mini{background:transparent;border-bottom:0;padding:2.4rem 0 0}
header.mini .wrap{display:block}
header.mini .brand{display:block;font-weight:600;letter-spacing:-.03em;line-height:1.1;
  font-size:clamp(1.7rem,1.2rem + 2vw,2.4rem)}
header.top h1::before,header.mini .brand::before{content:"";display:block;width:3rem;height:4px;
  background:var(--p2);margin-bottom:1.1rem}
.hero{padding-top:clamp(1.2rem,3vh,2rem)}

/* ---- Kopfleiste und Fußzeile wie auf der Homepage ---- */
/* Ein Maß für alles: Kopfleiste, Inhalt und Fuß stehen an derselben Kante wie auf der
   übrigen Homepage (dort .rahmen: 90rem breit, 2rem Luft an den Seiten). */
.wrap,.layout,header.kopf .rahmen,footer.fuss .rahmen,header.kopf .unternavigation .rahmen{max-width:90rem;margin:0 auto;
  padding-left:2rem;padding-right:2rem}
header.kopf{background:var(--paper);border-bottom:3px solid var(--ink);font-family:var(--sans)}
header.kopf .kopfzeile{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 2.5rem;
  padding-top:1.1rem;padding-bottom:1.1rem}
header.kopf .name{margin-right:auto;font-weight:700;font-size:1.15rem;line-height:1;
  letter-spacing:.03em;text-transform:uppercase;color:var(--p2);text-decoration:none}
header.kopf .name:hover{text-decoration:none}
header.kopf .umschalter{display:none;background:none;border:0;color:var(--ink);padding:.4rem;cursor:pointer}
header.kopf .umschalter svg{width:1.5rem;height:1.5rem;display:block}
header.kopf .navigation{display:flex;flex-wrap:wrap;gap:.25rem 2rem}
header.kopf .navigation a{position:relative;padding:.35rem 0;font-size:.98rem;font-weight:500;
  color:var(--ink);text-decoration:none}
header.kopf .navigation a::after{content:"";position:absolute;left:0;right:0;bottom:-.05rem;height:2px;
  background:transparent}
header.kopf .navigation a:hover{text-decoration:none}
header.kopf .navigation a:hover::after{background:var(--rule)}
header.kopf .navigation a.aktiv{color:var(--p2)}
header.kopf .navigation a.aktiv::after{background:var(--p2)}
/* Ausklappmenü (z. B. „Datenprojekte“), wie auf der Homepage */
header.kopf .aufklapp{position:relative}
header.kopf .aufklappknopf{display:inline-flex;align-items:center;gap:.3rem;background:none;border:0;
  padding:.35rem 0;font:inherit;font-size:.98rem;font-weight:500;color:var(--ink);cursor:pointer}
header.kopf .aufklappknopf svg{width:1rem;height:1rem;transition:transform .15s}
header.kopf .aufklappknopf[aria-expanded="true"] svg{transform:rotate(180deg)}
header.kopf .aufklappknopf:hover,header.kopf .aufklappknopf.aktiv{color:var(--p2)}
header.kopf .aufklappmenue{display:none;position:absolute;top:calc(100% + .6rem);right:0;z-index:30;
  min-width:14rem;margin:0;padding:.4rem 0;list-style:none;background:var(--paper);
  border:1px solid var(--rule);border-top:3px solid var(--p2);box-shadow:0 8px 24px rgba(0,0,0,.08)}
header.kopf .aufklapp.offen .aufklappmenue{display:block}
header.kopf .aufklappmenue li{margin:0}
header.kopf .navigation .aufklappmenue a{display:block;padding:.55rem 1.1rem;white-space:nowrap}
header.kopf .navigation .aufklappmenue a::after{display:none}
header.kopf .navigation .aufklappmenue a:hover,header.kopf .navigation .aufklappmenue a.aktiv{color:var(--p2);background:var(--sel)}
header.kopf .unternavigation{background:var(--sel);border-top:1px solid var(--rule)}
header.kopf .unternavigation .rahmen{padding-top:.6rem;padding-bottom:.6rem;
  display:flex;flex-wrap:wrap;gap:.25rem 1.75rem}
header.kopf .unternavigation a{position:relative;padding-left:.9rem;font-size:.9rem;color:var(--ink3);
  text-decoration:none}
header.kopf .unternavigation a::before{content:"";position:absolute;left:0;top:.55em;width:.3rem;
  height:.3rem;background:var(--rule)}
header.kopf .unternavigation a:hover{color:var(--ink);text-decoration:none}
header.kopf .unternavigation a[aria-current="page"]{color:var(--p2)}
header.kopf .unternavigation a[aria-current="page"]::before{background:var(--p2)}
footer.fuss{border-top:1px solid var(--rule);font-size:.85rem;color:var(--ink3);background:var(--paper)}
footer.fuss .rahmen{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;padding-top:1.5rem;padding-bottom:2rem}
footer.fuss a{color:inherit}
header.kopf .kopflinks{margin-left:auto;display:flex;gap:1.1rem;font-size:.85rem}
header.kopf .kopflinks a{color:var(--ink3);text-decoration:none}
header.kopf .kopflinks a:hover{color:var(--ink);text-decoration:underline}
header.kopf .kopflinks~.konto-knopf{margin-left:.4rem}
@media (max-width:52rem){
  .wrap,.layout,header.kopf .rahmen,footer.fuss .rahmen,header.kopf .unternavigation .rahmen{padding-left:1.25rem;padding-right:1.25rem}
  header.kopf .kopfzeile{padding-top:.85rem;padding-bottom:.85rem}
  header.kopf .umschalter{display:block}
  header.kopf .navigation{display:none;flex-basis:100%;flex-direction:column;gap:0;padding:.5rem 0 .25rem;
    border-top:1px solid var(--rule);margin-top:.5rem}
  header.kopf.offen .navigation{display:flex}
  header.kopf .navigation a{padding:.55rem 0}
  header.kopf .navigation a::after{display:none}
  header.kopf .aufklappknopf{padding:.55rem 0;width:100%;justify-content:space-between}
  header.kopf .aufklappmenue{position:static;min-width:0;padding:0 0 .25rem 1rem;border:0;box-shadow:none;background:none}
  header.kopf .navigation .aufklappmenue a{padding:.45rem 0}
  header.kopf .navigation .aufklappmenue a:hover,header.kopf .navigation .aufklappmenue a.aktiv{background:none}
  header.kopf .unternavigation .rahmen{flex-wrap:nowrap;overflow-x:auto}
  header.kopf .unternavigation a{white-space:nowrap}
}

/* ==== Eigenes Design der Subdomain btdrs.thorbenknobloch.de (28.09.2026) ================
   Schrift schwarz auf weißem Grund, viel Luft, weiche Kanten, keine Striche über den
   Überschriften. Farbe tragen Links und gewählte Zustände (Blau, Block „Farbakzente“),
   Diagramme, Prüfhinweise und Suchtreffer (Block „Farbe in Diagrammen“). Steht hinter allen übrigen Regeln und überschreibt sie. */
:root,:root:not([data-theme="light"]),:root[data-theme="dark"]{
  --paper:#FFFFFF; --surface:#FFFFFF; --ink:#0B0B0B; --ink2:#3D3D3D; --ink3:#767676;
  --rule:#E6E6E6; --rule2:#F2F2F2; --p2:#0B0B0B; --p3:#8C8C8C; --focus:#0B0B0B;
  --sel:#F4F4F4; --mark:#E2E2E2; --hit:#EDEDED; --chip:#F4F4F4;
  --y0:#DADADA; --del:#0B0B0B;
}
body{background:#FFFFFF;color:var(--ink);-webkit-font-smoothing:antialiased}
a{color:var(--ink);text-decoration:underline;text-decoration-color:#C8C8C8;text-underline-offset:.18em}
a:hover{text-decoration-color:var(--ink)}
mark{background:var(--mark);color:inherit;border-radius:3px}

/* keine Akzentstriche, keine schweren Linien */
header.top h1::before,header.mini .brand::before{display:none}
header.kopf{border-bottom:0;background:#FFFFFF}
header.kopf .kopfzeile{padding-top:1.4rem;padding-bottom:1rem}
header.kopf .name{color:var(--ink);text-transform:none;letter-spacing:-.01em;font-weight:600;
  font-size:1rem}
header.kopf .name::before{content:"";display:inline-block;width:.62rem;height:.62rem;
  border-radius:50%;background:var(--ink);margin-right:.55rem;vertical-align:.05em}
/* Startseite: der große Titel steht mittig über der Suche; die Kopfleiste braucht dort
   keinen zweiten Namen */
body:has(header.mini) header.kopf .name{visibility:hidden}

/* ---- Startseite ---- */
header.mini{padding:clamp(2.2rem,9vh,6rem) 0 0;text-align:center}
header.mini .wrap{display:block}
header.mini .brand{display:block;margin:0 auto;max-width:18ch;font-weight:700;
  letter-spacing:-.045em;line-height:1.02;font-size:clamp(2.3rem,1.4rem + 3.6vw,4.4rem)}
.hero{padding-top:clamp(1.8rem,4.5vh,2.8rem);padding-bottom:clamp(2.2rem,6vh,3.6rem)}
.sbox,.hero .filter{max-width:40rem}
.sbox input{border:1px solid #DCDCDC;border-radius:999px;padding:1.05rem 3rem 1.05rem 3.25rem;
  font-size:1.05rem;background:#FFFFFF;box-shadow:0 1px 2px rgba(0,0,0,.04),0 8px 30px rgba(0,0,0,.06);
  transition:box-shadow .2s,border-color .2s}
.sbox input:hover{border-color:#C4C4C4}
.sbox input:focus{border-color:var(--ink);outline:none;
  box-shadow:0 1px 2px rgba(0,0,0,.05),0 10px 36px rgba(0,0,0,.10)}
.sbox .ico{left:1.25rem;top:50%;transform:translateY(-50%);color:var(--ink)}
.sbox .clr{right:.8rem;top:50%;transform:translateY(-50%);border-radius:999px}
.ac{border:1px solid #E4E4E4;border-radius:18px;box-shadow:0 18px 48px rgba(0,0,0,.10);
  overflow:hidden;margin-top:.5rem}
.ac h4{color:var(--ink3);letter-spacing:.06em}
.ac .it.on,.ac .it:hover{background:#F4F4F4}
.hero .filter{margin-top:.85rem}
.afdbox{color:var(--ink3)}
.afdbox input{accent-color:var(--ink)}

.switch{border-bottom:0;padding-bottom:1.1rem}
.seg{border:1px solid #DCDCDC;background:#FFFFFF;padding:3px;gap:2px}
.seg button{border-radius:999px;padding:.4rem 1.15rem;color:var(--ink2)}
.seg button[aria-pressed="true"]{background:var(--ink);color:#FFFFFF}
.switch .cnt{color:var(--ink3)}
#liste{border-top:1px solid var(--rule)}
.zeile{border-bottom:1px solid var(--rule2);padding-top:.95rem;padding-bottom:.95rem;
  border-radius:10px;transition:background .15s}
.zeile:hover{background:#F7F7F7}
.zeile .ds{color:var(--ink);font-weight:500}
.zeile .ti a{color:var(--ink);text-decoration:none}
.zeile .ti a:hover{color:var(--ink);text-decoration:underline;text-decoration-color:var(--ink)}
.zeile .rb .re,.grp .dt .re{color:var(--ink2)}
.grp .ds{color:var(--ink)}
.hitlist .hit{border-radius:14px}

/* ---- Reihen- und Schaubilder-Seiten ---- */
header.top{background:#FFFFFF;border-bottom:0;padding-top:1.6rem}
header.top h1{font-weight:700;letter-spacing:-.04em;line-height:1.05;
  font-size:clamp(2rem,1.3rem + 2.4vw,3.2rem)}
header.top .crumbs a{color:var(--ink3);text-decoration:none}
header.top .crumbs a:hover{color:var(--ink)}
header.top .sub{color:var(--ink3)}
header.top .sub a{color:var(--ink)}
.searchbar input{border:1px solid #DCDCDC;border-radius:999px;padding:.85rem 2.8rem .85rem 2.9rem;
  background:#FFFFFF;box-shadow:0 1px 2px rgba(0,0,0,.03),0 6px 22px rgba(0,0,0,.05)}
.searchbar input:focus{border-color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.05),0 8px 28px rgba(0,0,0,.09)}
.searchbar .ico{left:1.1rem;color:var(--ink)}
.searchbar .clr{border-radius:999px}
.layout{border-top:0}
nav.docs{background:#FAFAFA;border:0;border-radius:18px}
.docs-kopf{background:transparent}
nav.docs button{border-radius:12px}
nav.docs button[aria-current="true"]{background:var(--ink);color:#FFFFFF;box-shadow:none}
nav.docs button[aria-current="true"] .n{color:#CFCFCF}
main.doc details.vorb,.q .tw,.tw{border-radius:14px}
.q{border-bottom-color:var(--rule2)}
.q .lab,.q .lab .pg{color:var(--ink3)}
.q .frage{border-left-color:#D6D6D6}
.q .zr a,.q a.vw,details.vorb a.vw{color:var(--ink);border-bottom-color:#BDBDBD}
.hitnav{border-radius:999px;background:var(--ink);color:#FFFFFF}
.hitnav button{color:#FFFFFF}
button[data-csv]{border-radius:999px}

footer.fuss{border-top:1px solid var(--rule2);background:#FFFFFF;color:var(--ink3)}
footer.fuss a{color:var(--ink3);text-decoration:none}
footer.fuss a:hover{color:var(--ink)}

/* ---- Farbe in Diagrammen und Hinweisen (Wunsch vom 28.09.2026) ----------------------
   Die Oberfläche bleibt schwarz-weiß; Diagramme, Legenden, Prüfhinweise und Suchtreffer
   bekommen Farbe. Die Diagrammseiten lesen ihre Balkenfarben zur Laufzeit aus --y0 (hell)
   und --p2 (dunkel), angebrochene Zeiträume aus --p3 – diese Werte gelten deshalb nur auf
   Seiten mit Diagramm (#tTitle). */
/* Diagrammfarben wie in der früheren roten Fassung (Wunsch vom 28.09.2026): Balken von hellem
   Rosé zu Karminrot, angebrochene Zeiträume blau */
html:has(#tTitle){--y0:#EBD8D5; --p2:#AE3A33; --p3:#1F4E9C}
.note.ok{border-left:3px solid #16A34A}
.note.halb{border-left:3px dashed #0D9488}
.note.warn{border-left:3px dotted #F97316}
:root,:root:not([data-theme="light"]),:root[data-theme="dark"]{--mark:#FDE68A; --hit:#E6ECF5}
mark.cur{background:#FACC15}

/* ---- Farbakzente (Wunsch vom 28.09.2026) ---------------------------------------------
   Schrift schwarz, Grund weiß – aber Links, gewählte Zustände und Hervorhebungen tragen
   ein gedecktes Blau als Akzent. */
:root,:root:not([data-theme="light"]),:root[data-theme="dark"]{
  --p2:#2F5D94; --akzent:#2F5D94; --akzent-dunkel:#1F3F6B; --akzent-hell:#EEF2F8; --focus:#2F5D94}
:focus-visible{outline-color:var(--akzent)}
a{color:var(--akzent);text-decoration-color:rgba(47,93,148,.35)}
a:hover{color:var(--akzent-dunkel);text-decoration-color:currentColor}
header.kopf .name{color:var(--ink)}
header.kopf .name::before{background:var(--akzent)}
header.kopf .name:hover{color:var(--akzent)}
header.top .crumbs a{color:var(--akzent)}
header.top .sub a{color:var(--akzent)}
/* Suche */
.sbox .ico,.searchbar .ico{color:var(--akzent)}
.sbox input:focus,.searchbar input:focus{border-color:var(--akzent);
  box-shadow:0 0 0 4px rgba(47,93,148,.10),0 10px 36px rgba(0,0,0,.08)}
.ac .it.on,.ac .it:hover{background:var(--akzent-hell)}
.ac .it .k{color:var(--akzent)}
.ac .ft b{color:var(--akzent)}
.afdbox input{accent-color:var(--akzent)}
/* Umschalter und Listen */
.seg button[aria-pressed="true"]{background:var(--akzent);color:#FFFFFF}
.seg button:not([aria-pressed="true"]):hover{color:var(--akzent)}
.zeile .ds,.grp .ds{color:var(--akzent)}
.zeile .ti a,.frz a,.hitlist a.t{color:var(--ink);text-decoration:none}
.zeile:hover .ti a,.zeile .ti a:hover,.frz a:hover,.hitlist a.t:hover{color:var(--akzent)}
.zeile .rb .re,.grp .dt .re{color:var(--akzent)}
.zeile:hover{background:var(--akzent-hell)}
.hitlist .drs{color:var(--akzent)}
/* Reihen-Seiten */
nav.docs button[aria-current="true"]{background:var(--akzent);color:#FFFFFF}
nav.docs button[aria-current="true"] .n{color:#D6E0EE}
nav.docs button:not([aria-current="true"]):hover{background:var(--akzent-hell)}
.q .zr a,.q a.vw,details.vorb a.vw{color:var(--akzent);border-bottom-color:rgba(47,93,148,.35)}
.q .zr a:hover,.q a.vw:hover{color:var(--akzent-dunkel);border-bottom-color:currentColor}
.q .lab{color:var(--akzent)}
.q .lab .pg{color:var(--ink3)}
section.q.ziel{animation:zielblink2 2.4s ease-out}
@keyframes zielblink2{from{background:var(--akzent-hell)}to{background:transparent}}
.hitnav{background:var(--akzent)}
button[data-csv]:hover{border-color:var(--akzent);color:var(--akzent)}
/* Diagrammseiten: gewähltes Thema und Bedienung im Akzent */
html:has(#tTitle) nav.themes button[aria-current="true"]{border-left-color:var(--akzent);background:var(--akzent-hell)}
html:has(#tTitle) .quick button:hover,html:has(#tTitle) .ctrl button:hover{border-color:var(--akzent)}
footer.fuss a:hover{color:var(--akzent)}
/* Zeilenauswahl in den Diagrammen: gewählte Zeilen im Akzent */
.chips label:has(input:checked){background:var(--akzent);color:#FFFFFF;border-color:var(--akzent)}
.chips label:hover{border-color:var(--akzent)}

/* Seite mit einer einzelnen Anfrage: Anfragetitel sind lang – kleiner als Reihentitel */
header.top.einzeln .titelzeile h1{font-size:clamp(1.55rem,1.1rem + 1.5vw,2.25rem);letter-spacing:-.03em;
  line-height:1.12}
header.top.einzeln .kmeta{color:var(--ink3)}

/* ---- Konto ---- */
.konto-knopf{margin-left:auto;border:1px solid #DCDCDC;background:#FFFFFF;color:#0B0B0B;font:inherit;font-size:.84rem;
  padding:.32rem .9rem;border-radius:999px;cursor:pointer;white-space:nowrap}
.konto-knopf:hover{border-color:#0B0B0B}
.konto-knopf.an{border-color:#2F5D94;color:#2F5D94}
.konto-knopf[hidden]{display:none}
#seite-kopf .kopfzeile{display:flex;align-items:center;gap:.8rem}
dialog.konto{border:0;padding:0;border-radius:16px;width:min(27rem,calc(100vw - 2rem));box-shadow:0 24px 80px rgba(0,0,0,.28)}
dialog.konto::backdrop{background:rgba(15,15,15,.42)}
.k-rahmen{padding:1rem 1.3rem 1.2rem;margin:0}
.k-kopf{display:flex;align-items:center;justify-content:space-between;margin-bottom:.4rem}
.k-kopf h2{margin:0;font-size:1.1rem;font-weight:600}
.k-zu{border:0;background:none;font-size:1.6rem;line-height:1;color:#767676;cursor:pointer;padding:.1rem .45rem;border-radius:8px}
.k-zu:hover{background:#F2F2F2;color:#0B0B0B}
.k-text{font-size:.88rem;color:#3D3D3D;line-height:1.5;margin:.5rem 0}
.k-klein{font-size:.8rem;color:#767676}
.k-feld{display:flex;flex-direction:column;gap:.25rem;font-size:.8rem;color:#52514E;margin:.6rem 0}
.k-feld input{font:inherit;font-size:.95rem;color:#0B0B0B;border:1px solid #CFCFCF;border-radius:10px;padding:.55rem .7rem}
.k-feld input:focus{outline:2px solid #2F5D94;outline-offset:0;border-color:#2F5D94}
.k-zeile{display:flex;gap:.5rem;margin:.8rem 0 .3rem}
.k-knopf{border:1px solid #DCDCDC;background:#FFFFFF;color:#0B0B0B;font:inherit;font-size:.88rem;padding:.48rem 1.05rem;border-radius:999px;cursor:pointer}
.k-knopf:hover{border-color:#0B0B0B}
.k-haupt{background:#0B0B0B;color:#FFFFFF;border-color:#0B0B0B}
.k-rot{color:#9E1F25;border-color:#E3B3B0;margin-top:.4rem}
.k-links{display:flex;gap:1.2rem;font-size:.84rem;margin:.6rem 0 0}
.k-links a{color:#2F5D94}
.k-haken{display:flex;gap:.5rem;align-items:flex-start;font-size:.88rem;margin:.8rem 0 .2rem;cursor:pointer}
.k-haken input{margin-top:.2rem;accent-color:#2F5D94}
.k-loeschen{margin-top:1rem;border-top:1px solid #EFEFEF;padding-top:.6rem}
.k-loeschen summary{cursor:pointer;font-size:.84rem;color:#9E1F25}
.k-meldung{font-size:.86rem;color:#1F5130;margin:.6rem 0 0;min-height:1em}
.k-meldung.fehler{color:#9E1F25}
.k-meldung:empty{display:none}
.k-benach-meldung{margin:.3rem 0 .2rem 1.6rem}
dialog.konto.k-breit{width:min(36rem,calc(100vw - 2rem))}
.k-abos{margin-top:1rem;border-top:1px solid #EFEFEF;padding-top:.6rem}
.k-abos h3{font-size:.95rem;font-weight:600;margin:.2rem 0}
.k-abo-liste ul{list-style:none;margin:.4rem 0;padding:0}
.k-abo{display:flex;gap:.6rem;align-items:flex-start;justify-content:space-between;padding:.45rem 0;border-bottom:1px solid #F2F2F2;font-size:.86rem;line-height:1.45}
.k-abo-text{overflow-wrap:anywhere}
.k-abo-knoepfe{display:flex;gap:.3rem;flex:none}
.k-mini{border:1px solid #DCDCDC;background:#FFFFFF;color:#0B0B0B;font:inherit;font-size:.78rem;padding:.2rem .6rem;border-radius:999px;cursor:pointer}
.k-mini:hover{border-color:#0B0B0B}
.k-mini.k-rot{margin-top:0}
.k-knopf:disabled{opacity:.45;cursor:not-allowed}
.k-gruppe{border:0;margin:.7rem 0;padding:0}
.k-gruppe legend{font-size:.84rem;font-weight:600;margin-bottom:.3rem;padding:0}
.k-wahl{display:inline-flex;gap:.35rem;align-items:center;font-size:.86rem;margin:.15rem 1rem .15rem 0;cursor:pointer}
.k-wahl input{accent-color:#2F5D94}
.k-themen{display:grid;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));max-height:13rem;overflow:auto;border:1px solid #EFEFEF;border-radius:10px;padding:.35rem .6rem}
.k-themen .k-wahl{margin-right:0;align-items:flex-start}
.k-themen .k-wahl input{margin-top:.2rem}
.k-vorschau ul{margin:.3rem 0 0;padding-left:1.1rem;font-size:.84rem;line-height:1.45}
.k-vorschau a{color:#2F5D94}
.k-zeile{flex-wrap:wrap}

.anker{display:block;position:relative;top:-1rem;visibility:hidden}
.offen-hinweis{background:#FFF4F3;border-left:3px solid #C9332B;padding:.6rem .9rem;border-radius:.4rem;color:#3D3D3D}
#kmeta a{color:inherit}
.foot .fehler{margin-top:.4rem}
