@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:400;font-display:swap;src:url(schrift/ibm-plex-sans-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:600;font-display:swap;src:url(schrift/ibm-plex-sans-latin-600-normal.woff2) format("woff2")}
:root{
  --bg:#0C1A1E; --panel:#132A2F; --line:rgba(224,238,236,.08); --line-2:rgba(224,238,236,.17);
  --ink:#E5EEED; --muted:#93A9A9; --faint:#62797A;
  --accent:#8CD3C5; --accent-ink:#0A292B; --gold:#D9B865; --bad:#F08A80;
  --f:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --r:16px;
  color-scheme:dark;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);min-height:100%}
body{color:var(--ink);font-family:var(--f);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}
h1{margin:0;font-size:26px;line-height:1.25;font-weight:600;letter-spacing:-.015em;text-wrap:balance}
p{margin:0}
a{color:var(--accent);text-underline-offset:3px}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.muted{color:var(--muted)} .faint{color:var(--faint)} .klein{font-size:13px}
.eyebrow{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600}
.kopf{display:flex;align-items:center;padding:18px max(16px,env(safe-area-inset-left));border-bottom:1px solid var(--line)}
.marke{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-weight:600;letter-spacing:.12em;font-size:14px}
.mitte{flex:1;display:flex;align-items:center;justify-content:center;padding:32px 16px}
.karte{width:100%;max-width:460px;background:var(--panel);border:1px solid var(--line-2);border-radius:var(--r);padding:32px 28px;display:flex;flex-direction:column;gap:14px;box-shadow:0 18px 48px rgba(0,0,0,.35)}
.knoepfe{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
.knopf{font:inherit;font-weight:600;border-radius:12px;padding:12px 22px;border:1px solid var(--line-2);background:transparent;color:var(--ink);cursor:pointer;min-height:48px}
.knopf.haupt{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.knopf:disabled{opacity:.6;cursor:wait}
.fehler{color:var(--bad)}
.fuss{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;padding:18px 16px max(18px,env(safe-area-inset-bottom));border-top:1px solid var(--line)}
.fuss a{color:var(--faint)}
@media (max-width:420px){.karte{padding:26px 20px}h1{font-size:23px}}
