/* Kompendium – Aufbau wie die FwDV-Bibliothek, helles Layout */
.top .topnav a.on{color:var(--accent);background:var(--soft);font-weight:600}
.kp-sticky{position:sticky;top:0;z-index:5;transition:transform .2s ease}
.kp-sticky .top{position:static;border-bottom-width:0;box-shadow:none}
.kp-bar{background:var(--surface);border-bottom:1px solid var(--line);padding:0 max(16px,env(safe-area-inset-right)) 12px max(16px,env(safe-area-inset-left))}
.kp-search{display:flex;gap:8px;max-width:1320px;margin:0 auto}
.kp-search input{flex:1;min-width:0;border:1px solid var(--line);background:var(--bg);color:var(--fg);border-radius:8px;padding:10px 14px;font:inherit}
.kp-search input::placeholder{color:var(--muted)}
.kp-tocbtn{display:none;background:var(--surface);border:1px solid var(--line);color:var(--fg);border-radius:8px;padding:8px 14px;font-weight:600}

.kp-wrap{display:grid;grid-template-columns:300px minmax(0,1fr);max-width:1320px;margin:0 auto}
.kp aside{position:sticky;top:var(--hh,116px);height:calc(100vh - var(--hh,116px));overflow:auto;border-right:1px solid var(--line);background:var(--surface);padding:14px 0 40px}
.kp-docs{display:flex;flex-direction:column;gap:2px;padding:0 10px 12px;border-bottom:1px solid var(--line)}
.kp-doc{display:grid;grid-template-columns:82px 1fr;gap:2px 10px;text-decoration:none;color:var(--fg);border-radius:6px;padding:7px 10px}
.kp-doc:hover{background:var(--soft)}
.kp-doc .no{font-family:var(--f-head);font-weight:700;color:var(--steel)}
.kp-doc .nm{font-size:13px;line-height:1.35}
.kp-doc .st{grid-column:2;font-size:11.5px;color:var(--muted)}
.kp-doc .st i{font-style:normal}
.kp-doc .s-voll{color:var(--good)} .kp-doc .s-teil{color:var(--mid)}
.kp-doc[aria-current="page"]{background:var(--soft);box-shadow:inset 3px 0 0 var(--accent)}
.kp-doc[aria-current="page"] .no{color:var(--accent)}
.kp-toch{font-family:var(--f-head);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:14px 20px 6px}
.kp-toc{padding:0 10px}
.kp-toc a{display:grid;grid-template-columns:auto 1fr auto;gap:8px;text-decoration:none;color:var(--fg);font-size:13px;line-height:1.35;padding:5px 10px;border-radius:5px}
.kp-toc a:hover{background:var(--soft)}
.kp-toc a .n{font-variant-numeric:tabular-nums;color:var(--muted);min-width:2.4em;font-size:12px}
.kp-toc a.l1{font-weight:600;margin-top:4px}
.kp-toc a.l2{padding-left:22px} .kp-toc a.l3{padding-left:34px;color:var(--muted)}
.kp-toc a.empty{color:var(--muted);font-weight:400}
.kp-toc a.on{background:var(--soft);color:var(--accent)}
.kp-toc a.read::after{content:"✓";color:var(--good);font-weight:700}

.kp-main{min-width:0;padding:24px max(16px,env(safe-area-inset-right)) 60px max(16px,env(safe-area-inset-left))}
.kp-inner{max-width:780px;margin:0 auto}
.kp-head{border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:6px}
.kp-q{margin:12px 0 0}

.kp-sec{padding:6px 0 4px;scroll-margin-top:calc(var(--hh,116px) + 12px);border-radius:8px}
.kp-sh{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 14px;margin:1.3em 0 .5em}
.kp-sh h2,.kp-sh h3,.kp-sh h4{margin:0}
.kp-sec h2{font-size:24px;border-left:4px solid var(--accent);padding-left:10px}
.kp-sec h3{font-size:19px} .kp-sec h4{font-size:16.5px;color:var(--steel)}
.kp-sec .hn{color:var(--muted);font-weight:500;margin-right:.5em;font-size:.82em;font-variant-numeric:tabular-nums}
.kp-tools{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.chip-q,.readbtn,.mastery{font-size:12.5px;border-radius:99px;padding:3px 10px;border:1px solid var(--line);background:var(--surface);color:var(--fg);text-decoration:none;white-space:nowrap;font-family:var(--f-body)}
.chip-q{border-color:var(--accent);color:var(--accent);font-weight:600}
.chip-q:hover{background:var(--accent);color:#fff}
.readbtn[aria-pressed="true"]{background:var(--good-bg);border-color:var(--good);color:var(--good);font-weight:600}
.mastery.ok{color:var(--good);border-color:var(--good)} .mastery.mid{color:var(--mid);border-color:var(--mid)} .mastery.low{color:var(--bad);border-color:var(--bad)}
.kp-sec p,.kp-sec li{max-width:68ch}
.kp-sec ul,.kp-sec ol{padding-left:1.3em} .kp-sec li{margin:.25em 0}
.kp-merk{background:var(--soft);border-left:4px solid var(--coral);border-radius:0 8px 8px 0;padding:10px 14px;font-weight:600}
.kp-sec.is-empty .kp-sh{margin:.8em 0 .1em}
.kp-sec.is-empty h2,.kp-sec.is-empty h3{font-size:16px;color:var(--muted);border-left-color:var(--line)}
.kp-empty{color:var(--muted);font-size:13px;margin:0}
.kp-sec.is-news{background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--accent);padding:4px 18px 10px;margin:14px 0}
.kp-sec.is-news h2{border:0;padding:0}
.kp-next{display:inline-block;margin:14px 0 4px;font-size:14px;color:var(--link);text-decoration:none;font-weight:600}
.kp-next:hover{text-decoration:underline}

.kp-fig{margin:16px 0;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:14px}
.kp-fig svg{display:block;width:100%;height:auto;max-width:100%}
.kp-fig figcaption{font-size:13px;color:var(--muted);margin-top:8px}

.kp-tbl{overflow-x:auto;margin:12px 0}
.kp-tbl table{border-collapse:collapse;width:100%;background:var(--surface);border:1px solid var(--line);font-size:14.5px}
.kp-tbl th,.kp-tbl td{padding:8px 11px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.kp-tbl th{background:var(--soft);font-family:var(--f-head);font-weight:700}

.kp-soon{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:6px 20px 14px;margin-top:16px}
.kp-outline{list-style:none;padding:0;margin:0;columns:2 280px;column-gap:28px}
.kp-outline li{padding:4px 0;break-inside:avoid;font-size:14.5px}
.kp-outline li.l1{font-weight:600;margin-top:6px}
.kp-outline li.l2{padding-left:18px} .kp-outline li.l3,.kp-outline li.l4{padding-left:34px;color:var(--muted);font-size:13.5px}
.kp-outline .n{color:var(--muted);font-variant-numeric:tabular-nums;margin-right:4px}

.kp-pager{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:40px;border-top:1px solid var(--line);padding-top:20px}
.kp-pager a{display:flex;flex-direction:column;gap:2px;text-decoration:none;color:var(--fg);background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px 14px;font-size:14px}
.kp-pager a:hover{border-color:var(--accent)}
.kp-pager a span{font-size:12px;color:var(--muted)} .kp-pager a b{font-family:var(--f-head);color:var(--accent)}
.kp-pager a.nx{text-align:right}

dfn.gl{font-style:normal;border-bottom:1.5px dotted var(--steel);cursor:help}
dfn.gl:focus-visible{outline:2px solid var(--accent)}
.gl-tip{position:absolute;z-index:20;background:var(--char);color:#fff;font-size:13.5px;line-height:1.45;padding:10px 12px;border-radius:8px;box-shadow:0 6px 24px rgba(18,18,18,.25)}
a.xref{color:var(--link);font-weight:600}

.flash{animation:fl 2s ease-out}
@keyframes fl{0%{background:var(--soft)}100%{background:transparent}}
.kp-rhead{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.kp-rhead h1{font-size:24px}
.kp-chips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 10px}
.chip{border:1px solid var(--line);background:var(--surface);border-radius:99px;padding:3px 12px;font-size:13px}
.chip[aria-pressed="true"]{background:var(--steel);border-color:var(--steel);color:#fff}
.kp-hit{display:flex;flex-direction:column;gap:3px;text-decoration:none;color:var(--fg);border-bottom:1px solid var(--line);padding:12px 4px}
.kp-hit:hover{background:var(--soft)}
.kp-hit .where{font-size:13px;color:var(--muted)} .kp-hit .where b{color:var(--accent);font-family:var(--f-head)}
mark{background:#F9D9CB;color:inherit;border-radius:2px}

@media (max-width:860px){
  .kp-wrap{grid-template-columns:minmax(0,1fr)}
  .kp-tocbtn{display:inline-block}
  .kp aside{position:fixed;inset:var(--hh,116px) 0 0 0;height:auto;z-index:4;transform:translateX(-100%);transition:transform .2s;border-right:0}
  body.navopen aside{transform:none}
}
@media (max-width:700px){
  .kp-sticky .top{padding-top:8px;padding-bottom:6px}
  body.hide-top .kp-sticky{transform:translateY(calc(-1 * var(--hh-top, 52px)))}
  .kp-main{padding-top:16px}
  .kp-sec h2{font-size:21px} .kp-sec h3{font-size:17.5px}
  .kp-pager{grid-template-columns:1fr}
  .kp-pager a.nx{text-align:left}
  /* Tabellen als Karten */
  .kp-tbl{overflow:visible}
  .kp-tbl table,.kp-tbl tbody,.kp-tbl tr,.kp-tbl td{display:block;width:100%}
  .kp-tbl table{border:0;background:none}
  .kp-tbl thead{display:none}
  .kp-tbl tr{background:var(--surface);border:1px solid var(--line);border-radius:10px;margin-bottom:10px;overflow:hidden}
  .kp-tbl td{border:0;border-bottom:1px solid var(--line);padding:8px 12px}
  .kp-tbl td:last-child{border-bottom:0}
  .kp-tbl td:first-child{background:var(--soft);font-family:var(--f-head);font-weight:700}
  .kp-tbl td:not(:first-child)::before{content:attr(data-label);display:block;font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:2px}
  .kp-tbl td:not(:first-child)[data-label=""]::before{display:none}
}
@media (prefers-reduced-motion:reduce){.flash{animation:none}.kp-sticky{transition:none}}

.kp-figs{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin:16px 0}
.kp-figs .kp-fig{margin:0;display:flex;flex-direction:column;justify-content:space-between}
.kp-figs .kp-fig figcaption{font-weight:600;color:var(--fg)}
.kp-figs .kp-fig figcaption span{display:block;font-weight:400;color:var(--muted)}

.kp-q{display:flex;flex-wrap:wrap;gap:8px}
.kp-printnote{display:none}
@media print{
  @page{size:A4;margin:14mm 14mm 16mm}
  body{background:#fff !important}
  .kp-sticky,#side,.kp-tools,.kp-report,.kp-next,.kp-pager,.kp-q,#results,.foot,.offline-bar,.report,#readCount{display:none !important}
  .kp-wrap{display:block !important}
  .kp-main,.kp-inner{margin:0 !important;padding:0 !important;max-width:none !important}
  .kp-printnote{display:block;font-size:10pt;color:#535C71;border-bottom:1px solid #DFE3E6;padding-bottom:6px}
  .kp-sec{break-inside:auto}
  .kp-sec h2,.kp-sec h3,.kp-sec h4{break-after:avoid}
  .kp-fig,.kp-tbl,.kp-merk,table,figure{break-inside:avoid}
  .kp-sec.is-empty{display:none}
  dfn.gl{border:0 !important;text-decoration:none !important}
  a{color:inherit;text-decoration:none}
}
@media (max-width:640px){.kp-figs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.kp-figs .kp-fig{padding:8px}}
