.wizard-page{padding:46px 0 75px;background:radial-gradient(circle at 10% 10%,rgba(185,0,0,.06),transparent 30%),var(--cream)}
.wizard-intro{text-align:center;max-width:680px;margin:0 auto 28px}.wizard-intro h1{font-size:clamp(2.3rem,5vw,4.2rem);line-height:1;letter-spacing:-.05em}
.wizard-intro p{margin-top:12px;color:var(--muted)}
.wizard{max-width:920px;margin:auto;overflow:hidden}.wizard-progress{padding:20px 26px;border-bottom:1px solid var(--line)}
.progress-top{display:flex;justify-content:space-between;font-size:.7rem;font-weight:800}.progress-track{height:7px;margin-top:10px;background:#eee8e1;border-radius:99px}.progress-bar{height:100%;width:20%;background:var(--red);border-radius:inherit;transition:.25s}
.wizard-step{display:none;min-height:430px;padding:32px 38px}.wizard-step.active{display:block}.wizard-step h2{font-size:1.65rem;letter-spacing:-.04em}.wizard-step>p{font-size:.75rem;color:var(--muted);margin-top:7px}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:24px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:.7rem;font-weight:800}
.control{width:100%;min-height:49px;padding:0 13px;border:1px solid #dcd4cb;border-radius:11px;background:#fff;outline:0}.control:focus{border-color:rgba(185,0,0,.5);box-shadow:0 0 0 4px rgba(185,0,0,.06)}
textarea.control{min-height:110px;padding-top:12px;resize:vertical}
.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px}.choice{padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff;cursor:pointer}.choice.selected{border-color:var(--red);background:#fff8f8;box-shadow:0 0 0 3px rgba(185,0,0,.06)}
.choice input{display:none}.choice strong{display:block;font-size:.82rem;margin-top:12px}.choice span{font-size:.67rem;color:var(--muted)}
.chips{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}.chip{padding:10px 13px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:.7rem;font-weight:700;cursor:pointer}.chip.selected{border-color:var(--red);color:var(--red);background:#fff7f7}.chip input{display:none}
.wizard-actions{padding:18px 26px;display:flex;justify-content:space-between;border-top:1px solid var(--line);background:#fffdfa}
.account-box{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:22px}.account-panel{padding:22px;border:1px solid var(--line);border-radius:16px;background:#fff}.account-panel.soft{background:#f7f1eb}.account-panel h3{font-size:.95rem}.account-panel p{font-size:.69rem;color:var(--muted);margin-top:7px}.account-panel .btn{width:100%;margin-top:10px}
.generating{display:none;min-height:600px;place-items:center;text-align:center}.generating.active{display:grid}.loader{width:65px;height:65px;margin:auto;border:5px solid #eee5dd;border-top-color:var(--red);border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:650px){.wizard-step{padding:26px 20px}.form-grid,.choice-grid,.account-box{grid-template-columns:1fr}}


.auth-gate{
  max-width:620px;
  margin:48px auto 80px;
  padding:38px;
  text-align:center;
}
.auth-gate-icon{
  width:58px;
  height:58px;
  margin:0 auto 18px;
  display:grid;
  place-items:center;
  border-radius:17px;
  background:#f2e7dd;
  font-size:1.55rem;
}
.auth-gate h1{
  font-size:clamp(2rem,4vw,3.2rem);
  line-height:1.02;
  letter-spacing:-.05em;
}
.auth-gate p{
  max-width:490px;
  margin:14px auto 0;
  color:var(--muted);
  font-size:.82rem;
}
.auth-gate-actions{
  display:flex;
  justify-content:center;
  gap:10px;
  margin-top:24px;
}
.auth-gate-back{
  display:inline-block;
  margin-top:18px;
  color:var(--muted);
  font-size:.7rem;
  font-weight:700;
}
.generation-help{
  margin-top:24px;
  padding:14px;
  border-radius:12px;
  background:#fff4e2;
  color:#714810;
}
.generation-help p{
  margin-bottom:10px;
  font-size:.72rem;
}
@media(max-width:600px){
  .auth-gate{padding:28px 20px}
  .auth-gate-actions{display:grid}
}

#authGate,
#authenticatedTripFlow{
  transition:opacity .18s ease;
}
