/* Bewusst eigenständig: keine WordPress-Laufzeit oder externen Ressourcen. */
* { box-sizing: border-box; }
body { margin: 0; color: #24343c; background: #fff; font: 17px/1.65 system-ui, -apple-system, sans-serif; }
a { color: #013147; text-underline-offset: .18em; overflow-wrap: anywhere; }
header { padding: 1.3rem 2rem; border-bottom: 1px solid #dbe1e5; }
header p, footer { font-size: .85rem; color: #52636d; }
header p { margin: .2rem 0 0; }
.layout { display: grid; grid-template-columns: 17rem minmax(0, 1fr); }
nav { padding: 1.5rem; border-right: 1px solid #dbe1e5; background: #f4f7f8; }
nav h2 { font-size: 1rem; margin: 0 0 1rem; }
nav ul { list-style: none; margin: 0; padding: 0; }
nav a { display: block; padding: .35rem .6rem; text-decoration: none; }
nav a[aria-current] { background: #e0e8eb; font-weight: 700; }
main { width: 100%; max-width: 58rem; padding: 2rem 3rem; min-width: 0; }
h1,h2,h3 { line-height: 1.25; color: #013147; }
h1 { font-size: 2rem; margin-top: 0; }
h2 { font-size: 1.5rem; }
h3 { font-size: 1.15rem; }
section { margin: 2.5rem 0; }
.label { color: #52636d; font-size: .85rem; margin-bottom: .4rem; }
.label + h2 { margin-top: 0; }
.metadata, aside, blockquote { background: #f4f7f8; padding: 1rem; border-left: 3px solid #bdcbd2; }
.metadata { font-size: .9rem; }
.metadata ul { padding-left: 1rem; }
aside p { display: inline; }
.feedback { margin-top: 2rem; font-weight: 600; }
.source { margin-top: 3rem; border-top: 1px solid #dbe1e5; padding-top: 1rem; }
summary { cursor: pointer; font-weight: 600; }
pre { white-space: pre-wrap; overflow-wrap: anywhere; background: #f4f7f8; padding: 1rem; }
code { overflow-wrap: anywhere; }
table { border-collapse: collapse; display: block; overflow-x: auto; max-width: 100%; }
th,td { border: 1px solid #dbe1e5; padding: .5rem; text-align: left; }
footer { margin-top: 2rem; }
.skip { position: absolute; left: -10000px; }
.skip:focus { left: 1rem; top: 1rem; background: white; padding: .5rem; }
:focus-visible { outline: 3px solid #27677f; outline-offset: 3px; }
@media(max-width: 760px) { .layout { grid-template-columns: 1fr; } nav { border-right: 0; border-bottom: 1px solid #dbe1e5; } nav ul { display: flex; flex-wrap: wrap; gap: .2rem; } nav a { border: 1px solid #dbe1e5; } main { padding: 1.5rem; } h1 { font-size: 1.7rem; } }
@media print { nav,header,.source,.skip { display:none; } .layout { display:block; } main { padding:0; max-width:none; } }
