*{box-sizing:border-box}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  background:#0f172a;color:#e2e8f0;line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100vh}
.topbar{text-align:center;padding:20px 0 6px}
.topbar img{height:30px;width:auto;display:inline-block}
.topbar small{display:block;font-weight:400;opacity:.55;font-size:12px;margin-top:6px}
.wrap{max-width:520px;margin:0 auto;padding:14px 18px 60px}
.step-title{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:#64748b;margin:26px 4px 12px}

/* persona picker */
.personas{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.persona{border:2px solid #1e293b;background:#1e293b;border-radius:18px;padding:22px 16px;text-align:center;cursor:pointer;transition:.15s;color:#e2e8f0}
.persona:hover{border-color:#334155}
.persona.sel{border-color:var(--p);background:#172033;box-shadow:0 0 0 3px color-mix(in srgb,var(--p) 30%,transparent)}
.persona .who{font-size:19px;font-weight:700;margin-top:6px}
.persona .role{font-size:12.5px;color:#94a3b8;margin-top:3px}
.persona .dot{width:14px;height:14px;border-radius:50%;background:var(--p);margin:0 auto}
.persona.jeremiah{--p:#3b82f6}.persona.lauren{--p:#22d3ee}

/* form */
.card{background:#1e293b;border-radius:18px;padding:20px;margin-top:6px}
label{display:block;font-size:13px;font-weight:600;color:#cbd5e1;margin:14px 0 5px}
label:first-child{margin-top:0}
input{width:100%;padding:13px 14px;border:1px solid #334155;border-radius:12px;font-size:16px;font-family:inherit;background:#0f172a;color:#fff}
input:focus{outline:none;border-color:#60a5fa;box-shadow:0 0 0 3px rgba(96,165,250,.25)}
.hint{font-size:12.5px;color:#64748b;margin:6px 2px 0}
.go{display:block;width:100%;margin-top:20px;border:0;border-radius:13px;padding:16px;font-size:16px;font-weight:700;
  cursor:pointer;font-family:inherit;color:#fff;background:#3b82f6}
.go.lauren{background:#0891b2}
.go:disabled{opacity:.5;cursor:default}
.msg{margin-top:14px;font-size:14px;text-align:center;min-height:18px}
.msg.err{color:#f87171}.msg.ok{color:#34d399}

/* loading overlay */
.loading{display:flex;flex-direction:column;align-items:center;gap:16px;padding:30px 0}
.spinner{width:40px;height:40px;border:4px solid #334155;border-top-color:#60a5fa;border-radius:50%;animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.loading .ltext{color:#94a3b8;font-size:14px;text-align:center}

/* recent */
.recent a{display:flex;justify-content:space-between;align-items:center;gap:10px;text-decoration:none;
  background:#1e293b;border-radius:12px;padding:13px 15px;margin-bottom:9px;color:#e2e8f0}
.recent a:hover{background:#243044}
.recent .rb{font-weight:600;font-size:15px}
.recent .rm{font-size:12px;color:#94a3b8}
.recent .rp{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;padding:3px 8px;border-radius:999px}
.recent .rp.jeremiah{background:rgba(59,130,246,.18);color:#93c5fd}
.recent .rp.lauren{background:rgba(8,145,178,.22);color:#67e8f9}
.hidden{display:none}
