
:root{color-scheme:dark;--bg:#000;--fg:#fff;--muted:#a7a7a7;--line:#393939;--panel:#0a0a0a}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{margin:0;background:var(--bg);color:var(--fg);font-family:Arial,Helvetica,sans-serif}
a{color:inherit}
.site-header{position:sticky;top:0;z-index:10;min-height:66px;padding:10px 18px;display:flex;align-items:center;gap:13px;background:rgba(0,0,0,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(8px)}
.site-header img{width:46px;height:46px;object-fit:contain}
.authority{line-height:1.25}
.authority strong{display:block;font-size:.73rem;letter-spacing:.16em;text-transform:uppercase}
.authority span{display:block;font-size:.69rem;color:var(--muted);margin-top:3px}
.header-actions{margin-left:auto;display:flex;gap:8px;align-items:stretch}.back{margin-left:0;text-decoration:none;border:1px solid #666;padding:10px 12px;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;display:flex;align-items:center;justify-content:center;text-align:center}
.back:hover,.back:focus{background:#fff;color:#000}
.page{width:min(1180px,100%);margin:0 auto;padding:30px 18px 70px;display:grid;grid-template-columns:280px minmax(0,760px);gap:42px;justify-content:center}
.toc{position:sticky;top:94px;align-self:start;max-height:calc(100vh - 120px);overflow:auto;border:1px solid var(--line);background:var(--panel);padding:18px}
.toc-title{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:#ccc;margin:0 0 14px}
.toc a{display:block;text-decoration:none;color:#aaa;font-size:.76rem;line-height:1.35;padding:5px 0}
.toc a.section{color:#fff;font-weight:700;margin-top:10px}
.toc a:hover{color:#fff;text-decoration:underline}
.mobile-toc{display:none;margin-bottom:22px;border:1px solid var(--line);background:var(--panel)}
.mobile-toc summary{cursor:pointer;padding:13px 15px;font-weight:700;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}
.mobile-toc .toc-inner{padding:0 15px 14px}
.document{min-width:0}
.eyebrow{font-size:.68rem;text-transform:uppercase;letter-spacing:.18em;color:var(--muted);margin-bottom:13px}
.document h1{font-family:Georgia,"Times New Roman",serif;font-weight:700;font-size:clamp(1.9rem,5vw,3rem);line-height:1.08;margin:0 0 10px}
.short-title{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1rem,2.6vw,1.28rem);line-height:1.4;color:#ddd;margin-bottom:8px}
.date{font-size:.82rem;color:var(--muted);margin-bottom:20px}
.status-row{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 26px}
.badge{border:1px solid #555;padding:7px 9px;font-size:.65rem;letter-spacing:.1em;text-transform:uppercase}
.rule{height:3px;background:#fff;margin:22px 0 30px}
.preamble{border-left:3px solid #fff;padding:2px 0 2px 17px;margin-bottom:34px;color:#ddd;font-family:Georgia,"Times New Roman",serif;line-height:1.65}
.normtext{font-family:Georgia,"Times New Roman",serif;font-size:1.02rem;line-height:1.68}
.normtext p{margin:0 0 13px}
.normtext ol,.normtext ul{margin:4px 0 16px 1.5rem;padding-left:1.25rem}
.normtext li{margin:3px 0;padding-left:.2rem}
.section-number{font-family:Arial,Helvetica,sans-serif;text-align:center;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;margin:48px 0 4px;color:#bbb}
.section-title{font-family:Georgia,"Times New Roman",serif;text-align:center;font-size:1.35rem;margin:0 0 25px}
.paragraph-heading{font-family:Arial,Helvetica,sans-serif;font-size:1.04rem;line-height:1.35;margin:34px 0 12px;padding-top:12px;border-top:1px solid #242424}
.paragraph-heading:target{outline:1px solid #666;outline-offset:8px}
.document-footer{border-top:1px solid var(--line);margin-top:55px;padding-top:18px;color:#777;font-family:Arial,Helvetica,sans-serif;font-size:.7rem;line-height:1.55}
@media(max-width:850px){.page{display:block;padding-top:22px}.toc{display:none}.mobile-toc{display:block}.site-header .authority span{display:none}}
@media(max-width:520px){.site-header{padding:8px 10px;flex-wrap:nowrap;gap:8px}.site-header img{width:40px;height:40px}.authority{min-width:0;flex:1}.authority strong{font-size:.56rem;letter-spacing:.085em;overflow-wrap:anywhere}.header-actions{order:initial;width:auto;margin-left:auto;justify-content:center;flex-direction:column;gap:5px;flex:0 0 108px}.back{padding:6px 7px;font-size:.55rem;min-height:30px;flex:0 0 auto;width:100%}.page{padding-left:15px;padding-right:15px;overflow:hidden}.normtext{font-size:.98rem}.document{width:100%;max-width:100%}.mobile-toc{width:100%}}

/* Mobile optimisation for long German legal titles */
.document h1,.short-title{max-width:100%;overflow-wrap:anywhere;word-break:normal;hyphens:auto}
@media(max-width:520px){
  .document h1{font-size:clamp(1.52rem,6.8vw,1.78rem);line-height:1.11;letter-spacing:-.01em}
  .short-title{font-size:1.02rem;line-height:1.42}
  .eyebrow{font-size:.62rem;letter-spacing:.15em}
}
@media(max-width:380px){.document h1{font-size:1.46rem}}

body{overflow-x:hidden}.normtext,.normtext p,.paragraph-heading{overflow-wrap:anywhere;word-break:normal}.mobile-toc .toc-inner{max-height:58vh;overflow:auto}
