:root{
  /* Dark base */
  --bg:#0f0f10;
  --bg-grad-1:#0f0f10;
  --bg-grad-2:#16181c;

  /* Text & lines */
  --text:#eef1f3;
  --muted:#ffffff;
  --border:rgba(255,255,255,0.18);
  --hairline:rgba(255,255,255,0.08);

  /* Accent gradients (Topbar/Buttons) */
  --grad-start:#ff6a5b;
  --grad-end:#ff9a8b;

  /* Functional colors */
  --primary:#4ea1d3;
  --green:#2ea44f;
  --yellow:#fec700;
  --blue:#1b8dff;
  --danger:#ef4444;

  /* Radii / shadows */
  --radius:14px;
  --pad:16px;
  --maxw:1120px;
  --glass-bg:rgba(255,255,255,0.06);
  --glass-bg-strong:rgba(255,255,255,0.10);
  --glass-blur:12px;
  --elev:0 10px 30px rgba(0,0,0,0.35);
  --elev-soft:0 6px 18px rgba(0,0,0,0.28);

}/* Container sorgt für zentrierte, einheitliche Ausrichtung */

body{
  margin:0;
  color:var(--text);
  font:16px/1.55 system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
background: radial-gradient(at 20% 20%, rgba(255, 94, 98, 0.4), transparent 50%),
              radial-gradient(at 80% 30%, rgba(255, 195, 113, 0.4), transparent 50%),
              radial-gradient(at 30% 70%, rgba(72, 219, 251, 0.4), transparent 50%),
              radial-gradient(at 70% 80%, rgba(123, 237, 159, 0.4), transparent 50%),
              #0e0e0e; /* dunkler Grundton */
  background-size: cover;
  background-attachment: fixed;
  color: white;
}

form {
  max-width: 500px;
  width: 98%;
  margin: 2rem auto;
  background: #1e1e1e;
  padding: 1.5rem;
  border-radius: 8px;
  box-sizing: border-box;
  border-radius: var(--radius);
  background: var(--glass-bg);
  border: 1px solid var(--hairline);
  -webkit-backdrop-filter: blur(var(--glass-blur));
  backdrop-filter: blur(var(--glass-blur));
  box-shadow: var(--elev-soft);

}

/* Labels nicht pauschal auf width:100% für Checkbox-Zeilen */
label {
  display: block;
  margin-bottom: 0.5rem;
}

/* Alle Textfelder einheitlich, inkl. E-Mail */
input[type="text"],
input[type="email"],
input[type="password"] {
  width: 95%;
  background: #2c2c2c;
  border: 1px solid #3a3a3a;
  padding: 0.6rem;
  color: #eee;
  border-radius: 4px;
  outline: none;
  margin-bottom: 0.5rem;
}
input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus {
  border-color: #4ea1d3;
  box-shadow: 0 0 0 3px rgba(78,161,211,0.2);
}

/* Checkbox: neben dem Text, nicht volle Breite */
input[type="checkbox"] {
  appearance: auto; /* sorgt dafür, dass iOS/Android die native Checkbox anzeigen */
  -webkit-appearance: checkbox; /* speziell für Safari/iOS */
  width: 20px;
  height: 20px;
  min-width: 20px;
  min-height: 20px;
  border: 2px solid #fff;
  background-color: #2c2c2c;
  cursor: pointer;
}


/* AGB-Zeile als Flex – Checkbox links, Text/Links rechts
   -> Gib dem entsprechenden <label> diese Klasse: class="terms" */
label.terms {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 1rem;
  margin-bottom: 1rem;
  font-size: 14px;
}

/* Button */
button {
    background: linear-gradient(135deg, rgba(31, 191, 74, 0.95), rgba(76, 203, 112, 0.95));
  border: none;
  color: white;
  padding: 0.8rem;
  width: 100%;
  font-size: 1.2rem;
  border-radius: 50px;
  cursor: pointer;
  box-shadow: var(--elev-soft);
}
button:hover {
    filter: brightness(1.05);
    transform: translateY(-1px);
    background: rgb(34, 200, 95);;
}

/* Fehlerbox */
.error {
  background: #b00020;
  padding: 0.5rem;
  margin-bottom: 1rem;
  border-radius: 4px;
}

/* Passwort-Checkliste */
.password-checklist {
  font-size: 0.9rem;
  margin-bottom: 1rem;
}
.valid { color: #4caf50; }
.invalid { color: #ff5d51; }
