:root{--bg:#0f141b;--bg2:#161d27;--card:#1b2431;--line:#2a3547;--txt:#e8edf3;--mut:#9aa7ba;--acc:#4da3ff;--acc2:#7cc4ff;--mark:#f5c518;--r:12px;--sh:0 2px 10px rgba(0,0,0,.35)}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--txt);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.6}
header{position:sticky;top:0;z-index:10;background:rgba(15,20,27,.96);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);padding:12px 16px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
header h1{font-size:1.35rem;line-height:1.25;margin:0;white-space:nowrap;letter-spacing:.01em}
#q{flex:1;min-width:200px;max-width:520px;padding:9px 12px;border-radius:10px;border:1px solid var(--line);background:var(--bg2);color:var(--txt);font-size:1rem}
#count{color:var(--mut);font-size:.9rem}
.layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:0;max-width:1200px;margin:0 auto}
nav{position:sticky;top:61px;align-self:start;max-height:calc(100vh - 61px);overflow:auto;padding:16px;border-right:1px solid var(--line)}
nav a{display:block;padding:8px 10px;border-radius:8px;color:var(--txt);text-decoration:none;font-size:.93rem}
nav a:hover,nav a.on{background:var(--card)}
nav .n-nr{color:var(--acc);font-weight:700;margin-right:6px}
main{padding:24px 20px 32px;min-width:0}
section.path{background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);padding:24px;margin:0 0 32px;box-shadow:var(--sh)}
section.path h2{margin:0 0 6px;font-size:1.6rem;line-height:1.3;letter-spacing:.01em}
section.path h3{font-size:1.25rem;line-height:1.4;margin:22px 0 8px}
.toc{margin:14px 0;padding:12px 16px;background:var(--card);border:1px solid var(--line);border-radius:10px;font-size:.92rem;line-height:1.7}
.toc a{color:var(--acc2);text-decoration:none}.toc a:hover{text-decoration:underline}
.desc{color:var(--mut);font-size:1rem;line-height:1.65}
.desc h2{font-size:1.35rem;color:var(--txt)}.desc h3{font-size:1.12rem;color:var(--txt)}
.desc table,.ubody table{border-collapse:collapse;width:100%;margin:12px 0;font-size:.9rem}
.tbl-wrap{overflow-x:auto;max-width:100%}
.desc table thead th,.ubody table thead th{position:sticky;top:0;background:#222d3f}
.desc tbody tr:nth-child(even),.ubody tbody tr:nth-child(even){background:rgba(255,255,255,.03)}
.desc tbody tr:hover,.ubody tbody tr:hover{background:rgba(77,163,255,.08)}
.desc th,.desc td,.ubody th,.ubody td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
.desc table,.ubody table{display:table}
@media(max-width:640px){.desc table,.ubody table{display:block;overflow-x:auto}.desc table thead th,.ubody table thead th{position:static}}
details.mod{border:1px solid var(--line);border-radius:10px;margin:16px 0;background:var(--card);box-shadow:var(--sh);overflow:hidden}
details.mod>summary{cursor:pointer;padding:14px 16px;font-weight:650;font-size:1.02rem;line-height:1.5;list-style:none;border-radius:10px;transition:background .15s}
details.mod>summary:hover{background:#222d3f}
details.mod[open]>summary{background:#222d3f;border-bottom:1px solid var(--line);border-radius:10px 10px 0 0}
details.mod>summary::-webkit-details-marker{display:none}
details.mod>summary:before{content:"▸ ";color:var(--acc)}
details.mod[open]>summary:before{content:"▾ "}
details.unit{margin:12px 12px;background:var(--bg2);border:1px solid var(--line);border-radius:8px;overflow:hidden}
details.unit>summary{cursor:pointer;padding:11px 14px;font-weight:550;font-size:.96rem;line-height:1.5;list-style:none;transition:background .15s}
details.unit>summary:hover{background:#1f2938}
details.unit[open]>summary{background:#1f2938;border-bottom:1px solid var(--line)}
details.unit>summary::-webkit-details-marker{display:none}
.ubody{padding:6px 16px 16px;font-size:1rem;line-height:1.65;overflow-wrap:anywhere;word-break:break-word}
.ubody p{margin:10px 0}
.ubody pre{background:#0b0f16;border:1px solid var(--line);border-radius:8px;padding:14px 16px;overflow-x:auto;font-size:.85rem;line-height:1.55;margin:12px 0}
.ubody code{background:#0b0f16;padding:2px 6px;border-radius:5px;font-size:.86em;border:1px solid var(--line)}
.ubody pre code{background:none;padding:0;border:0}
.ubody blockquote{border-left:3px solid var(--acc);margin:12px 0;padding:10px 14px;color:var(--mut);background:rgba(77,163,255,.06);border-radius:0 8px 8px 0}
.ubody h2{font-size:1.3rem}.ubody h3{font-size:1.12rem}.ubody h4{font-size:1rem}
.ubody h1,.ubody h2,.ubody h3,.ubody h4{line-height:1.35;margin:20px 0 8px;color:var(--txt)}
.ubody ul,.ubody ol{padding-left:24px;margin:8px 0}.ubody li{margin:4px 0}
.ubody a,.desc a,.src a,.toc a{color:var(--acc2);text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere;word-break:break-word}
.ubody a:hover,.desc a:hover,.src a:hover{color:#a8d6ff;text-decoration-thickness:2px}
.ubody a:visited,.desc a:visited{color:#9ec9f5}
.src{font-size:.88rem;color:var(--mut);margin-top:10px;line-height:1.6;overflow-wrap:anywhere}.src a{color:var(--acc2)}
mark{background:var(--mark);color:#111;border-radius:3px;padding:0 1px}
.hidden{display:none!important}
footer{color:var(--mut);text-align:center;padding:18px;font-size:.85rem}
.badge{display:inline-block;font-size:.75rem;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:1px 9px;color:var(--mut);margin-left:8px}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:2px solid var(--acc);outline-offset:2px;border-radius:6px}
@media(max-width:860px){.layout{grid-template-columns:1fr}nav{position:static;max-height:220px;border-right:0;border-bottom:1px solid var(--line);overflow-y:auto}main{padding:16px 12px 28px}section.path{padding:16px;margin-bottom:22px}header h1{font-size:1.15rem;white-space:normal}}
.quiz-wrap{margin:10px 0 4px}.quiz-wrap.modquiz{margin:6px 14px 14px}.quiz-toggle{cursor:pointer;background:var(--card);color:var(--txt);border:1px solid var(--acc);border-radius:9px;padding:7px 12px;font-size:.88rem;font-weight:600}.quiz-toggle:hover{background:#243040}.quiz{background:#101722;border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin-top:8px}.qhead{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-bottom:6px}.qscore{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:1px 10px;font-size:.8rem;color:var(--acc2);font-weight:700}.quiz-restart{cursor:pointer;background:transparent;color:var(--mut);border:1px solid var(--line);border-radius:8px;padding:4px 10px;font-size:.8rem}.quiz-restart:hover{color:var(--txt);border-color:var(--acc)}.q{border-top:1px solid var(--line);padding:8px 0}.q:first-of-type{border-top:0}.qq{margin:4px 0 8px;font-size:.92rem}.qopts{display:grid;gap:6px}@media(min-width:640px){.qopts{grid-template-columns:1fr 1fr}}.qopt{cursor:pointer;text-align:left;background:var(--bg2);color:var(--txt);border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:.87rem;line-height:1.4}.qopt:hover:not(:disabled){border-color:var(--acc)}.qopt:disabled{cursor:default;opacity:1}.qopt.is-ok{background:#12351f;border-color:#2ea043;color:#d8f3dc;font-weight:650}.qopt.is-wrong{background:#471a1a;border-color:#f85149;color:#ffd7d5}.qopt.is-dim{opacity:.55}.qexp{margin:8px 0 2px;font-size:.85rem;color:var(--mut);background:var(--bg2);border:1px solid var(--line);border-radius:8px;padding:7px 10px}.qexp:first-letter{font-weight:700}

.mod-graphic-wrap{margin:12px 12px;background:var(--bg2);border:1px solid var(--line);border-radius:8px}
.mod-graphic-wrap>summary{cursor:pointer;padding:8px 12px;font-size:.88rem;color:var(--mut)}
.mod-graphic{margin:0 12px 12px;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.mod-graphic svg{width:100%;height:auto;display:block}
.mod-graphic figcaption{font-size:.85rem;color:var(--mut);margin-top:8px;line-height:1.5}
.mod-graphic .gh{fill:var(--mut);font-size:11px;letter-spacing:.08em}
.mod-graphic .nt{fill:var(--txt);font-size:12px;font-weight:700;text-anchor:middle}
.mod-graphic .ns{fill:var(--mut);font-size:11px;text-anchor:middle}
.mod-graphic .eh{fill:var(--txt);font-size:12px;font-weight:700}
.mod-graphic .ex{fill:var(--txt);font-size:12px}
.mod-graphic .nd{fill:#1b2431;stroke:#4da3ff;stroke-width:1.5}
.mod-graphic .exbox{fill:#101722;stroke:#2ea043;stroke-width:1.5}
.mod-graphic .arr{stroke:#7cc4ff;stroke-width:2;fill:none}
.mod-graphic .ah{fill:#7cc4ff}
@media(max-width:640px){.mod-graphic-wrap{margin:10px 8px}.mod-graphic{margin:0 8px 10px;padding:8px}}
.infografik{margin:14px 0;background:#0f172a;border:1px solid var(--line);border-radius:10px;padding:12px}
.infografik img{max-width:100%;height:auto;display:block;border-radius:6px}
.infografik figcaption{margin-top:8px;font-size:.88rem;color:var(--mut)}
.dl{display:inline-block;margin-left:8px;padding:5px 12px;border:1px solid var(--acc);border-radius:8px;color:var(--txt);text-decoration:none;font-weight:600;font-size:.85rem}
.dl:hover{background:#243040}

.exam-qbody img{max-width:100%;height:auto;border-radius:8px;border:1px solid var(--line);margin:8px 0}
.exam-opts{margin-top:10px}
.exam-opt strong{color:var(--acc2);margin-right:6px}
[data-exam-filter]{font-size:1rem}
.tabs{display:flex;gap:6px}
.tabs button{cursor:pointer;background:var(--bg2);color:var(--txt);border:1px solid var(--line);border-radius:9px;padding:7px 14px;font-size:.9rem;font-weight:650}
.tabs button.on{background:var(--card);border-color:var(--acc);color:var(--acc2)}
body[data-tab="pruefung"] #nav{display:none}
body[data-tab="pruefung"] .layout{grid-template-columns:1fr}
.sim-card{background:var(--card);border:1px solid var(--acc);border-radius:10px;padding:14px 16px;margin:14px 0}
.sim-card h3{margin:0 0 8px;font-size:1.05rem}
.sim-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.sim-row input{width:90px;padding:7px 10px;border-radius:8px;border:1px solid var(--line);background:var(--bg);color:var(--txt);font-size:1rem}
.sim-hint{color:var(--mut);font-size:.85rem;margin:8px 0 0}
.sim-box{margin-top:12px}
.sim-prog{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-bottom:8px;flex-wrap:wrap}
.sim-time{font-variant-numeric:tabular-nums;color:var(--acc2);font-weight:700}
.sim-next{cursor:pointer;margin-top:10px;background:var(--card);color:var(--txt);border:1px solid var(--acc);border-radius:9px;padding:8px 14px;font-size:.9rem;font-weight:650}
.sim-next:hover{background:#243040}
.sim-result-ok{color:#7ee787;font-weight:700}
.sim-result-fail{color:#ffa198;font-weight:700}
.sim-review{margin:10px 0;border-top:1px solid var(--line);padding:8px 0}
.sim-review summary{cursor:pointer}


.qopt.is-sel{border-color:var(--acc);box-shadow:0 0 0 1px var(--acc);background:#1b2a3d}
.qopt.is-miss{border-style:dashed;border-color:#d29922;color:#f0d9a8;background:#3a2c12}
.qcheck{cursor:pointer;margin-top:8px;background:var(--card);color:var(--txt);border:1px solid var(--acc);border-radius:9px;padding:8px 14px;font-size:.9rem;font-weight:650}
.qcheck:hover{background:#243040}
.qcheck:disabled{opacity:.5;cursor:default}
/* Cleanup: ruhigeres Lernpfad-Layout */
section.path{padding:20px;margin:0 0 24px}
section.path h2{font-size:1.35rem}
section.path h3{font-size:1.1rem}
details.mod{margin:12px 0}
details.mod>summary,details.unit>summary{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.toc{line-height:1.6}
.toc-list{list-style:none;margin:8px 0 0;padding:0}
.toc-list li{padding:2px 0}
.mut{color:var(--mut);font-size:.85em}
.infografik{max-width:720px;margin:14px auto}
.mod-graphic{max-width:640px;margin:0 auto 12px}
.mod-graphic svg{max-height:300px;width:auto;max-width:100%;margin:0 auto}
.quiz{background:var(--bg2)}
.quiz-toggle{border:1px solid var(--line)}
.badge{font-size:.72rem}
/* Zertifikats-Auswahl */
.back{color:var(--acc2);font-size:.88rem;text-decoration:none;white-space:nowrap}
.back:hover{text-decoration:underline}
.cert-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));margin-top:14px}
.cert-card{cursor:pointer;text-align:left;background:var(--card);color:var(--txt);border:1px solid var(--line);border-radius:var(--r);padding:18px;display:grid;gap:8px}
.cert-card:hover{border-color:var(--acc)}
.cert-short{color:var(--acc);font-weight:700;font-size:.85rem;letter-spacing:.04em}
.cert-title{font-size:1.1rem;font-weight:700}
.cert-desc{color:var(--mut);font-size:.9rem}
.cert-stats{color:var(--mut);font-size:.82rem}
.cert-go{color:var(--acc2);font-size:.88rem;font-weight:650}
body[data-view="start"] .tabs,body[data-view="start"] #q,body[data-view="start"] #count,body[data-view="start"] #nav{display:none}
body[data-view="start"] .layout{grid-template-columns:1fr}
body[data-view="start"] #back{display:none}
