/* Textseiten (Impressum, Datenschutz). Bewusst schlicht: ruhiger Hintergrund wie bei der
   Anmeldung, ein lesbarer Textkorpus, keine Effekte, die vom Inhalt ablenken. */
:root{
  --bg:#070512;
  --panel:#0d0b22;
  --panel-deep:#0a0819;
  --cyan:#2cc9ff;
  --magenta:#ff2ea0;
  --purple:#8b3dff;
  --text:#eef0fa;
  --muted:#8b90ab;
  --faint:#5d6280;
  --line:rgba(255,255,255,.09);
}
*{margin:0;padding:0;box-sizing:border-box}
body{
  min-height:100svh;background:var(--bg);color:var(--text);
  font-family:'Space Grotesk',system-ui,sans-serif;font-size:16px;line-height:1.7;
  -webkit-font-smoothing:antialiased;
  display:flex;flex-direction:column;
}
::selection{background:var(--cyan);color:#000}
a{color:var(--cyan);text-decoration:none}
a:hover{text-decoration:underline}

.skip-link{
  position:absolute;left:-9999px;top:0;z-index:200;
  background:var(--magenta);color:#12001c;font-weight:700;
  padding:12px 20px;border-radius:0 0 8px 0;text-decoration:none;
}
.skip-link:focus{left:0}

.ambient{
  position:fixed;inset:0;pointer-events:none;z-index:0;
  background:
    radial-gradient(ellipse 700px 380px at 50% -8%,rgba(139,61,255,.13),transparent 70%),
    radial-gradient(ellipse 560px 300px at 82% 108%,rgba(44,201,255,.07),transparent 70%);
}

.topbar{
  position:relative;z-index:2;
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:26px clamp(20px,5vw,72px);border-bottom:1px solid var(--line);
}
.tb-logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.tb-logo svg{width:26px;height:26px}
.tb-logo span{
  font-family:'Audiowide',cursive;font-size:20px;
  background:linear-gradient(180deg,#fff 20%,#9fdcff 50%,#fff 80%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.tb-logo:hover{text-decoration:none}
.back{color:var(--muted);font-size:14px}

main{position:relative;z-index:2;flex:1;width:min(760px,100%);margin:0 auto;padding:clamp(40px,7vw,80px) clamp(20px,5vw,40px) 90px}
.osd{
  font-family:'Share Tech Mono','Courier New',monospace;
  letter-spacing:.28em;text-transform:uppercase;font-size:11px;
  color:var(--cyan);display:flex;align-items:center;gap:12px;margin-bottom:18px;
}
.osd::before{content:"";width:34px;height:1px;background:var(--cyan);box-shadow:0 0 8px var(--cyan)}
h1{font-family:'Audiowide',cursive;font-weight:400;font-size:clamp(28px,4vw,42px);line-height:1.15;margin-bottom:14px}
.lede{color:var(--muted);margin-bottom:44px}
h2{font-size:19px;font-weight:700;letter-spacing:.01em;margin:40px 0 12px}
h2:first-of-type{margin-top:0}
p{margin-bottom:14px}
address{font-style:normal;margin-bottom:14px}
dl{display:grid;grid-template-columns:auto 1fr;gap:8px 22px;margin-bottom:14px}
dt{color:var(--faint);font-family:'Share Tech Mono',monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;padding-top:5px}
dd{margin:0}
ul{margin:0 0 14px 20px}
li{margin-bottom:6px}
.hinweis{
  border-left:2px solid var(--magenta);background:rgba(255,46,160,.05);
  padding:14px 18px;margin:26px 0;color:var(--muted);font-size:14.5px;
}
.stand{margin-top:44px;color:var(--faint);font-size:13.5px}

footer{
  position:relative;z-index:2;border-top:1px solid var(--line);
  padding:26px clamp(20px,5vw,72px);
  display:flex;flex-wrap:wrap;gap:12px 26px;align-items:center;justify-content:space-between;
  color:var(--faint);font-size:13.5px;
}
footer a{color:var(--muted)}
footer .f-links{display:flex;gap:22px}

@media(max-width:520px){
  dl{grid-template-columns:1fr;gap:2px}
  dt{padding-top:10px}
}
