:root { --bg:#ffffff; --fg:#1d1d1f; --dim:#6e6e73; --line:#e5e5ea; --card:#f5f5f7; --accent:#0a84ff; }
@media (prefers-color-scheme: dark) { :root { --bg:#1c1c1e; --fg:#f2f2f7; --dim:#a1a1a6; --line:#3a3a3c; --card:#2c2c2e; --accent:#409cff; } }
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--fg); font: 15px/1.55 -apple-system, BlinkMacSystemFont, "Helvetica Neue", sans-serif; }
.wrap { display:flex; max-width:1180px; margin:0 auto; }
nav { position:sticky; top:0; align-self:flex-start; width:250px; flex:none; height:100vh; overflow:auto; padding:28px 18px; border-right:1px solid var(--line); }
nav .brand { font-weight:700; font-size:17px; margin-bottom:14px; }
nav ol { list-style:none; margin:0; padding:0; counter-reset:c; }
nav li { counter-increment:c; margin:2px 0; }
nav li a { display:block; padding:5px 8px; border-radius:7px; color:var(--fg); text-decoration:none; font-size:14px; }
nav li a::before { content:counter(c) ". "; color:var(--dim); }
nav li a:hover { background:var(--card); }
main { flex:1; min-width:0; padding:32px 44px 80px; }
h1 { font-size:32px; margin:0 0 4px; }
h2 { font-size:23px; margin:44px 0 10px; padding-top:12px; border-top:1px solid var(--line); }
h3 { font-size:17px; margin:26px 0 6px; }
h4 { font-size:15px; margin:20px 0 4px; }
p, li { max-width:78ch; }
main > p:first-of-type { color:var(--dim); }
table { border-collapse:collapse; width:100%; margin:12px 0 18px; font-size:14px; }
th, td { text-align:left; vertical-align:top; padding:7px 10px; border-bottom:1px solid var(--line); }
th { background:var(--card); font-weight:600; }
code { background:var(--card); padding:1px 5px; border-radius:5px; font-size:13px; }
pre { background:var(--card); padding:10px 12px; border-radius:7px; overflow-x:auto; }
pre code { padding:0; background:none; }
a { color:var(--accent); }
.hb-foot { border-top:1px solid var(--line); padding:24px 16px 40px; color:var(--dim); font-size:13px; }
.hb-foot .hb-row { max-width:1180px; margin:0 auto 10px; display:flex; flex-wrap:wrap; gap:6px 18px; align-items:center; }
.hb-foot .sp { flex:1; }
.hb-foot a { color:var(--accent); }
.hb-foot .hb-haftung { color:var(--fg); }
.hb-top { font-size:13px; color:var(--dim); margin:0 0 18px; }
.hb-note { background:var(--card); border-left:3px solid #ff9f0a; padding:10px 14px; border-radius:8px; margin:0 0 22px; }
.dev-hinweis { background:#ffe08a; color:#3a2a00; padding:10px 16px; font-size:15px; text-align:center; }
@media (max-width: 800px) { nav { display:none; } main { padding:20px 16px 60px; } }
@media print { nav { display:none; } main { padding:0; } h2 { break-before:page; border:0; } body { font-size:11pt; } }
