/* Gemeinsamer Stil für Impressum und Datenschutz – mobile first, folgt dem Systemfarbschema */
:root {
  --bg: #0d0d0e; --fg: #F4F1EC; --dim: rgba(244, 241, 236, .55); --line: rgba(244, 241, 236, .14);
  --acc: #2EC4B6; --mark: rgba(46, 196, 182, .16);
}
@media (prefers-color-scheme: light) {
  :root { --bg: #F4F1EC; --fg: #1C1C1E; --dim: rgba(28, 28, 30, .6); --line: rgba(28, 28, 30, .16); --acc: #138f84; --mark: rgba(19, 143, 132, .14); }
}
* { box-sizing: border-box; margin: 0; padding: 0; }
html { -webkit-text-size-adjust: 100%; }
body {
  background: var(--bg); color: var(--fg);
  font: 400 14px/1.7 "IBM Plex Mono", ui-monospace, Menlo, monospace; -webkit-font-smoothing: antialiased;
  padding: max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));
}
a { color: var(--acc); text-underline-offset: 3px; }
header { padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.back { display: inline-block; padding: 8px 0; color: var(--dim); text-decoration: none; }
.back:hover { color: var(--acc); }
main { max-width: 68ch; padding: 28px 0 40px; }
.cmd { color: var(--dim); }
.cmd span { color: var(--acc); }
h1 { font-weight: 600; font-size: clamp(26px, 7vw, 40px); line-height: 1.1; letter-spacing: -0.02em; margin: 10px 0 24px; hyphens: auto; }
h2 { font-weight: 600; font-size: 14px; letter-spacing: .08em; text-transform: uppercase; margin: 30px 0 8px; }
p { margin-bottom: 10px; hyphens: auto; }
.tldr { padding: 12px 14px; border-left: 2px solid var(--acc); background: var(--mark); }
mark { background: var(--mark); color: var(--acc); padding: 0 4px; }
.stand { margin-top: 30px; color: var(--dim); }
footer { display: flex; gap: 20px; padding-top: 12px; border-top: 1px solid var(--line); }
footer a { color: var(--dim); padding: 8px 0; }
@media (min-width: 720px) {
  body { font-size: 15px; padding-left: 48px; padding-right: 48px; }
  main { padding-top: 48px; }
}
