:root{
  --bg:#0f172a;
  --card:#0b1224;
  --accent:#38bdf8;
  --text:#e2e8f0;
  --muted:#94a3b8;
}

*{box-sizing:border-box}

body{
  margin:0;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;
  color:var(--text);
  background:linear-gradient(180deg,var(--bg),#080d1a 70%);
  min-height:100vh;
}

.header{
  text-align:center;
  margin:20px 0;
}
.header img{
  max-width:600px;   /* maximale Breite des Banners */
  height:auto;       /* behält Seitenverhältnis */
  display:inline-block;
  border-radius:12px;
  box-shadow:0 6px 20px rgba(0,0,0,0.4);
}

.container{
  width:min(1100px,94%);
  margin:0 auto 60px auto;
}

.card{
  background:linear-gradient(160deg,var(--card),#0a142a);
  border-radius:20px;
  box-shadow:0 20px 60px rgba(0,0,0,0.45);
  padding:28px;
}

h1{margin-bottom:12px; font-size:1.6rem}

.grid{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
.input{display:flex; flex-direction:column; gap:8px;}
label{color:var(--muted); font-size:0.95rem}

input,select{
  background:#0a1224;
  color:var(--text);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:12px;
  padding:12px 14px;
}

button,.btn{
  background:var(--accent);
  color:#04121f;
  border:none;
  border-radius:12px;
  padding:12px 16px;
  font-weight:700;
  cursor:pointer;
  text-decoration:none;
}

.secondary{
  background:#0a1224;
  color:var(--text);
  border:1px solid rgba(255,255,255,0.08);
}

.result{
  background:#09122b;
  border:1px dashed rgba(255,255,255,0.15);
  border-radius:16px;
  padding:16px;
}

.footer{
  width:min(1100px,94%);
  margin:20px auto;
  color:var(--muted);
  font-size:0.9rem;
  text-align:center;
}