* { box-sizing: border-box; }
html, body { margin: 0; height: 100%; background: #1d1b2f; color: #f4f0ff;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
a { color: #ffd166; }
button { font: inherit; cursor: pointer; border: 0; border-radius: 12px; padding: 12px 20px;
  background: #ffd166; color: #2b2340; font-weight: 700; font-size: 1.05rem; }
button.ghost { background: transparent; color: #f4f0ff; border: 1px solid #ffffff44; font-weight: 500; }
button:disabled { opacity: .6; cursor: default; }
input { font: inherit; font-size: 1.05rem; padding: 12px 14px; border-radius: 10px; border: 1px solid #ffffff33;
  background: #ffffff12; color: inherit; width: 100%; }
input:focus { outline: 2px solid #ffd166; border-color: transparent; }
.panel { background: #2b2744; border: 1px solid #ffffff1a; border-radius: 18px; padding: 24px;
  width: min(92vw, 380px); box-shadow: 0 20px 60px #0008; text-align: center; }
.panel h1, .panel h2 { margin: 0 0 6px; }
.panel p { margin: 6px 0 16px; color: #cfc8e8; line-height: 1.4; }
.panel form { display: grid; gap: 10px; text-align: left; }
.panel label { font-size: .85rem; color: #cfc8e8; }
.error { color: #ff8fa3; min-height: 1.2em; font-size: .9rem; margin: 0; }
.muted { color: #a59fc2; font-size: .9rem; }
