@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&display=swap');

:root{
  --ground:#0A0C08;
  --ground-tinted:#0D110A;
  --ground-mid:#141712;
  --ground-light:#1E241A;
  --neon:#C8FA00;
  --neon-bright:#DFFF33;
  --white:#FFFFFF;
  --off-white:#F0F0EB;
  --gray-light:#B9BEAF;
  --gray-medium:#82877A;
  --line: rgba(240,240,235,0.08);
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  background:
    radial-gradient(ellipse at top, rgba(200,250,0,0.08) 0%, transparent 50%),
    radial-gradient(ellipse at bottom, rgba(200,250,0,0.05) 0%, transparent 50%),
    var(--ground-tinted);
  min-height:100vh;
  color:var(--off-white); font-family:'Poppins',sans-serif; line-height:1.7; overflow-x:hidden;
}
a{ color:var(--neon); text-decoration:none; }
a:hover{ text-decoration:underline; }
.wrap{ max-width:800px; margin:0 auto; padding:0 24px; }
h1,h2,h3{ font-family:'Poppins',sans-serif; font-weight:700; letter-spacing:-0.01em; color:var(--white); }
* { -webkit-tap-highlight-color: transparent; }

header{ position:sticky; top:0; z-index:50; backdrop-filter:blur(20px); background:rgba(13,17,10,0.85); border-bottom:1px solid rgba(200,250,0,0.1); }
nav{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px 0; max-width:800px; margin:0 auto; padding-left:24px; padding-right:24px; }
.logo img{ height:38px; width:auto; display:block; }
.nav-right{ display:flex; align-items:center; gap:14px; }

.lang-toggle{ display:flex; border:1px solid var(--line); border-radius:999px; overflow:hidden; background:var(--ground-mid); }
.lang-toggle button{ font:inherit; font-family:'Poppins',sans-serif; font-size:12.5px; font-weight:700; letter-spacing:0.03em; background:transparent; border:none; color:var(--gray-medium); padding:6px 13px; cursor:pointer; text-transform:uppercase; }
.lang-toggle button.active{ background:var(--neon); color:var(--ground); }

.back-link{
  font-size:13px; font-weight:700; color:var(--ground); display:flex; align-items:center; gap:6px;
  background:var(--neon); border-radius:999px; padding:9px 18px; text-transform:uppercase; letter-spacing:0.04em;
  box-shadow:0 0 20px rgba(200,250,0,0.35);
}
.back-link:hover{ text-decoration:none; background:var(--neon-bright); }

main{ padding:56px 0 100px; }
.eyebrow{ font-size:12.5px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:var(--neon); margin-bottom:14px; }
h1.title{ font-size:clamp(32px,5vw,50px); line-height:1.06; margin-bottom:12px; text-transform:uppercase; letter-spacing:-0.02em; }
.updated{ color:var(--gray-medium); font-size:14px; margin-bottom:32px; }

.toc{ background:var(--ground-mid); border:1px solid var(--line); border-radius:24px; padding:22px 24px; margin-bottom:44px; }
.toc h2{ font-family:'Poppins',sans-serif; font-size:12.5px; font-weight:700; text-transform:uppercase; letter-spacing:0.1em; color:var(--gray-medium); margin-bottom:14px; }
.toc ol{ list-style:none; counter-reset:toc; columns:2; column-gap:20px; }
.toc li{ counter-increment:toc; font-size:14px; margin-bottom:9px; break-inside:avoid; }
.toc li a{ color:var(--off-white); }
.toc li a:hover{ color:var(--neon); text-decoration:none; }
.toc li::before{ content: counter(toc) ". "; color:var(--neon); font-weight:700; margin-right:2px; }

section.legal-section{ margin-bottom:40px; scroll-margin-top:88px; }
section.legal-section h2{ font-size:21px; margin-bottom:14px; padding-bottom:12px; border-bottom:1px solid var(--line); text-transform:uppercase; letter-spacing:-0.01em; }
section.legal-section h3{ font-family:'Poppins',sans-serif; font-size:14.5px; font-weight:700; margin:18px 0 6px; color:var(--neon); text-transform:uppercase; letter-spacing:0.02em; }
section.legal-section p{ margin-bottom:12px; color:var(--gray-light); font-size:15px; }
section.legal-section ul{ margin:0 0 12px 20px; color:var(--gray-light); font-size:15px; }
section.legal-section li{ margin-bottom:6px; }
section.legal-section strong{ color:var(--white); }
.addr{ background:var(--ground-mid); border:1px solid var(--line); border-radius:18px; padding:18px 20px; font-size:14.5px; color:var(--gray-light); margin:14px 0; }
.addr p{ margin-bottom:2px; }
.note{ background:rgba(200,250,0,0.08); border:1px solid rgba(200,250,0,0.3); border-radius:16px; padding:14px 18px; font-size:14px; color:var(--off-white); margin:14px 0; }

.crosslink{ margin-top:60px; padding:22px 0; border-top:1px solid var(--line); font-size:14px; color:var(--gray-medium); }
.crosslink a{ font-weight:700; }

footer.legal-footer{ border-top:1px solid var(--line); padding:32px 0 60px; }
.version-history{ font-size:12.5px; color:var(--gray-medium); }
.version-history h2{ font-family:'Poppins',sans-serif; font-size:12.5px; text-transform:uppercase; letter-spacing:0.08em; margin-bottom:8px; color:var(--gray-medium); font-weight:700; }
.version-history ul{ list-style:none; }
.version-history li{ margin-bottom:4px; }

[data-lang="en"]{ display:block; }
[data-lang="de"]{ display:none; }
html[lang="de"] [data-lang="en"]{ display:none; }
html[lang="de"] [data-lang="de"]{ display:block; }

@media (max-width:640px){
  .toc ol{ columns:1; }
  nav{ padding-top:12px; padding-bottom:12px; }
  .logo img{ height:32px; }
  .back-link{ padding:8px 14px; font-size:12px; }
}

@media print{
  header, .toc, .crosslink, .back-link, .lang-toggle{ display:none !important; }
  body{ background:#fff; color:#000; }
  a{ color:#000; text-decoration:underline; }
  section.legal-section h2{ border-color:#ccc; }
  [data-lang]{ display:block !important; }
}
