/* Shared styles for the text pages (privacy, Impressum) and the 404 page. Same tokens as the home page. */
@font-face{font-family:"Unbounded Fallback";src:local("Arial Bold"),local("Arial-BoldMT"),local("Liberation Sans Bold"),local("Helvetica Neue Bold");font-weight:100 900;size-adjust:133.7%;ascent-override:74.4%;descent-override:18.3%;line-gap-override:0%}
@font-face{font-family:"Instrument Sans Fallback";src:local("Arial"),local("ArialMT"),local("Liberation Sans"),local("Helvetica Neue");size-adjust:104.6%;ascent-override:92.7%;descent-override:23.9%;line-gap-override:0%}
:root{
  --void:#0b0b0f;--panel:#15151b;--panel-2:#1d1d25;--text:#f3f2ef;--mute:#9c9ba8;--line:#2a2a34;--uv:#a48dff;--uv-ink:#0b0b0f;
  --display:"Unbounded","Unbounded Fallback","Arial Black",Arial,sans-serif;
  --body:"Instrument Sans","Instrument Sans Fallback",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --led:"Doto","Courier New",monospace;
  --gutter:clamp(16px,4vw,56px);--r-lg:28px;--r:18px;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{background:var(--void)}
body{margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--void);color:var(--text);font-family:var(--body);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit}
:focus-visible{outline:2px solid var(--uv);outline-offset:3px}
h1,h2,h3{font-family:var(--display);font-weight:600;letter-spacing:-.02em;line-height:1.1;margin:0;text-wrap:balance}
.wrap{max-width:1320px;margin:0 auto;padding-inline:var(--gutter);width:100%}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;font-family:var(--body);font-weight:600;font-size:16px;line-height:1.2;padding:15px 26px;border-radius:999px;border:1px solid transparent;text-decoration:none;cursor:pointer;transition:box-shadow .2s,border-color .2s}
.btn-uv{background:var(--uv);color:var(--uv-ink)}
.btn-uv:hover{box-shadow:0 0 32px rgba(164,141,255,.45)}
.btn-line{border-color:var(--line);background:var(--panel);color:var(--text)}
.btn-line:hover{border-color:var(--mute)}
.linkbtn{background:none;border:0;padding:0;color:var(--text);font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}

/* top bar: the home page's pill, simplified */
.bar{padding-top:calc(22px + env(safe-area-inset-top,0px))}
.bar-in{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 8px 8px 22px;border-radius:999px;background:var(--panel);border:1px solid var(--line)}
.logo{font-family:var(--display);font-weight:600;font-size:14px;letter-spacing:-.01em;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.logo span{color:var(--uv)}
.bar-nav{display:flex;align-items:center;gap:18px;font-size:15px;white-space:nowrap}
.bar-nav a:not(.btn){color:var(--mute);text-decoration:none}
.bar-nav a:not(.btn):hover{color:var(--text)}
.bar-nav .btn{padding:10px 18px;font-size:15px}

/* text page */
.doc{flex:1;padding-block:clamp(48px,7vw,96px)}
.doc-in{max-width:780px}
.doc .kicker{font-size:14px;color:var(--uv);font-weight:600;letter-spacing:.02em;margin:0 0 14px}
.doc h1{font-size:clamp(32px,4.4vw,56px);font-weight:700;letter-spacing:-.035em}
.doc .lede{margin:22px 0 0;font-size:clamp(18px,1.5vw,20px);color:rgba(243,242,239,.86)}
.doc .updated{margin:14px 0 0;font-size:14px;color:var(--mute)}
.doc h2{font-size:clamp(20px,1.9vw,26px);margin:52px 0 14px;padding-top:28px;border-top:1px solid var(--line)}
.doc h3{font-family:var(--body);letter-spacing:0;font-size:17px;font-weight:600;margin:24px 0 6px}
.doc p,.doc ul,.doc dl{margin:0 0 14px;color:rgba(243,242,239,.82)}
.doc ul{padding-left:20px}
.doc li{margin-bottom:6px}
.doc strong{color:var(--text);font-weight:600}
.doc a{color:var(--uv);text-underline-offset:3px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(20px,3vw,32px);margin-top:36px}
.facts{display:grid;grid-template-columns:minmax(0,13em) minmax(0,1fr);gap:12px 28px;margin:0}
.facts dt{color:var(--mute);font-size:15px}
.facts dd{margin:0;color:var(--text);overflow-wrap:anywhere}
.table{width:100%;border-collapse:collapse;font-size:15px;margin:6px 0 16px}
.table th,.table td{text-align:left;padding:10px 12px 10px 0;border-bottom:1px solid var(--line);vertical-align:top}
.table th{color:var(--mute);font-weight:500}
.table code{font:14px ui-monospace,Menlo,monospace;color:var(--text)}
.settings{margin:6px 0 18px}

/* footer */
.foot{padding-block:40px calc(40px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line)}
.foot-in{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 40px;font-size:14px;color:var(--mute)}
.foot-in p{margin:0}
.foot-in a{color:var(--text)}
.foot-in .linkbtn{font-size:14px}

@media (max-width:720px){
  .bar{padding-top:calc(14px + env(safe-area-inset-top,0px))}
  .bar-in{padding-left:18px}
  .logo{font-size:12px}
  .bar-nav .btn{padding:9px 14px;font-size:14px}
  .facts{grid-template-columns:minmax(0,1fr);gap:2px}
  .facts dd{margin-bottom:12px}
}
@media (max-width:440px){ .bar-nav .btn{display:none} .logo{font-size:13px} }
