:root{
  --ink:#0b1220;
  --muted:#475569;
  --bg:#f6f8fc;
  --surface: rgba(255,255,255,.95);
  --border: rgba(15,23,42,.12);
  --brand:#0b66c3;
  --ok:#16a34a;

  --radius:22px;
  --shadow:0 20px 60px rgba(2,6,23,.12);

  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}

*{box-sizing:border-box}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
}

.bg{
  position:fixed; inset:-200px; z-index:-1;
  background:
    radial-gradient(900px 500px at 15% 10%, rgba(11,102,195,.18), transparent),
    radial-gradient(900px 500px at 85% 0%, rgba(22,163,74,.12), transparent);
}

.wrap{
  max-width:520px;
  margin:0 auto;
  padding:80px 18px;
  display:flex;
  flex-direction:column;
  gap:24px;
}

.card{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:28px;
  display:flex;
  flex-direction:column;
  gap:18px;
}

h1,h2{margin:0;font-size:1.8rem}
.muted{color:var(--muted)}

.field{display:flex;flex-direction:column;gap:6px}
label{font-weight:700;font-size:.9rem}

input{
  padding:14px;
  border-radius:14px;
  border:1px solid var(--border);
  font-size:1rem;
  background:#fff;
}

/* READ-ONLY STYLE — intentional, not disabled */
input[readonly]{
  background:linear-gradient(180deg,#f9fafb,#f1f5f9);
  color:var(--ink);
  font-weight:600;
  cursor:default;
}

.cta{
  padding:16px;
  border-radius:16px;
  border:1px solid rgba(22,163,74,.30);
  background:linear-gradient(180deg, rgba(22,163,74,.22), rgba(22,163,74,.10));
  font-weight:900;
  cursor:pointer;
}

.ghost{
  background:none;
  border:none;
  color:var(--muted);
  font-weight:700;
  cursor:pointer;
}

.progress{
  height:12px;
  border-radius:999px;
  background:#e5e7eb;
  overflow:hidden;
}

.bar{
  height:100%;
  width:0%;
  background:linear-gradient(90deg, var(--brand), var(--ok));
  transition:width .4s ease;
}

.checks{display:flex;flex-direction:column;gap:10px}
.check{
  padding:10px 14px;
  border-radius:999px;
  border:1px solid var(--border);
  font-weight:700;
  opacity:.4;
}
.check.done{
  opacity:1;
  border-color:rgba(22,163,74,.45);
  color:var(--ok);
}

.hidden{display:none}

.reveal{
  animation:fadeUp .6s cubic-bezier(.2,.9,.2,1) both;
}
@keyframes fadeUp{
  from{opacity:0;transform:translateY(10px)}
  to{opacity:1;transform:translateY(0)}
}

/* Center the Done step */
#stepDone{
  text-align: center;
}
#stepDone .cta{
  margin: 14px auto 0;
  display: inline-flex;
  justify-content: center;
}
#stepDone h2{
  margin-top: 0;
}