* { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: system-ui, -apple-system, sans-serif; background: #0b1326; color: #dae2fd; }
header { display: flex; justify-content: space-between; align-items: center; padding: 1rem 2rem; border-bottom: 1px solid rgba(255,255,255,.08); }
header nav { display: flex; gap: 1rem; align-items: center; }
a { color: #b4c5ff; text-decoration: none; }
.logo { font-weight: 600; }
main { max-width: 720px; margin: 3rem auto; padding: 0 1rem; }
.karte { border: 1px solid rgba(255,255,255,.1); border-radius: 12px; padding: 2rem; background: rgba(255,255,255,.03); }
.karte.schmal { max-width: 380px; margin: 0 auto; }
h1 { font-size: 1.6rem; margin-bottom: 1rem; color: #b4c5ff; }
p { line-height: 1.6; opacity: .85; margin-bottom: 1rem; }
form { display: flex; flex-direction: column; gap: .8rem; }
header form { flex-direction: row; }
label { display: flex; flex-direction: column; gap: .3rem; font-size: .9rem; }
input { padding: .6rem; border-radius: 8px; border: 1px solid rgba(255,255,255,.15); background: rgba(0,0,0,.3); color: inherit; }
button { padding: .6rem 1rem; border-radius: 8px; border: 0; background: #4f6bed; color: #fff; cursor: pointer; }
header button { padding: .3rem .8rem; background: transparent; border: 1px solid rgba(255,255,255,.2); }
.fehler { color: #ff9b9b; }
