:root {
  color-scheme: dark;
  --bg-0: #04020a;
  --bg-1: #0b0619;
  --grid-color: rgba(138, 63, 255, 0.22);
  --neon-pink: #ff4fd8;
  --neon-purple: #7f4bff;
  --neon-cyan: #4ff2ff;
  --text-strong: #fdf5ff;
  --text: #c6b7ff;
  --muted: #8a7bbf;
  --card: rgba(10, 6, 20, 0.72);
  --border: rgba(147, 88, 255, 0.32);
  --shadow: rgba(6, 0, 20, 0.6);
  --font-display: "Orbitron", "Space Grotesk", sans-serif;
  --font-body: "Space Grotesk", system-ui, sans-serif;
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  min-height: 100vh;
  font-family: var(--font-body);
  color: var(--text);
  background: radial-gradient(800px 500px at 15% 20%, rgba(127, 75, 255, 0.12), transparent 60%),
    radial-gradient(700px 500px at 85% 15%, rgba(255, 79, 216, 0.1), transparent 70%), var(--bg-0);
}

.page {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 32px 16px 64px;
}

.card {
  width: min(420px, 100%);
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 18px;
  padding: 28px 26px;
  box-shadow: 0 12px 30px var(--shadow);
}

.card-head h1 {
  margin: 0 0 6px;
  font-family: var(--font-display);
  font-size: 1.6rem;
  color: var(--text-strong);
  letter-spacing: 0.06em;
}

.card-head p {
  margin: 0 0 18px;
  color: var(--muted);
  font-size: 0.95rem;
}

.form {
  display: grid;
  gap: 14px;
}

.form label {
  display: grid;
  gap: 6px;
  font-size: 0.9rem;
  color: var(--muted);
}

.form input {
  border-radius: 12px;
  border: 1px solid var(--border);
  background: rgba(6, 2, 14, 0.8);
  color: var(--text-strong);
  padding: 10px 12px;
  font-size: 1rem;
  outline: none;
}

.form input:focus {
  border-color: rgba(79, 242, 255, 0.8);
  box-shadow: 0 0 0 3px rgba(79, 242, 255, 0.1);
}

.form button {
  border: none;
  border-radius: 999px;
  background: linear-gradient(120deg, var(--neon-pink), var(--neon-purple));
  color: #04020a;
  padding: 12px 16px;
  font-weight: 600;
  cursor: pointer;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.form button:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 20px rgba(255, 79, 216, 0.25);
}

.error {
  background: rgba(255, 79, 216, 0.15);
  border: 1px solid rgba(255, 79, 216, 0.4);
  color: var(--text-strong);
  padding: 10px 12px;
  border-radius: 12px;
  margin-bottom: 14px;
  font-size: 0.9rem;
}

.brand {
  position: fixed;
  right: 18px;
  bottom: 16px;
  font-size: 0.85rem;
  color: var(--muted);
}

.brand a {
  color: var(--muted);
  text-decoration: none;
}

.brand a:hover {
  color: var(--neon-cyan);
}
