:root{
  --bg:#0f1221; --bg2:#121633; --panel:#161a2e;
  --ink:#e8ecff; --muted:#aab0d6; --brand:#7464f3; --line:#252a48; --ok:#2ecc71; --warn:#ffb61b;
}
*{box-sizing:border-box} html,body{margin:0}
body{background:linear-gradient(180deg,var(--bg) 0%, var(--bg2) 100%); color:var(--ink); font:16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial}
.wrap{max-width:980px;margin-inline:auto;padding:24px}

/* Landing */
body.landing .hero{min-height:100svh; display:grid; place-items:center; text-align:center; padding:24px}
.hero-inner{background:rgba(255,255,255,.02); border:1px solid var(--line); border-radius:20px; padding:40px; box-shadow:0 20px 50px rgba(0,0,0,.35)}
.hero h1{margin:0 0 10px; font-size:clamp(28px,4vw,42px)}
.lead{color:var(--muted); margin:0 0 16px}
.mini{color:var(--muted); margin-top:12px}

/* Cards */
.page-head h1{margin:0}
.page-head .sub{color:var(--muted); margin:.25rem 0 .75rem}
.progress{height:8px; background:#0e1130; border-radius:999px; overflow:hidden; border:1px solid var(--line)}
.progress .bar{height:100%; width:0%; background:linear-gradient(90deg,var(--brand),#8ea0ff); transition:width .25s ease}
.card{background:var(--panel); border:1px solid var(--line); border-radius:16px; padding:18px; margin:16px 0; box-shadow:0 10px 30px rgba(0,0,0,.25)}
.card h2{margin:0 0 10px; font-size:20px}
.hint{color:var(--muted); margin:-2px 0 8px}

.grid{display:grid; gap:12px; grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
label{display:flex; flex-direction:column; gap:6px; font-weight:500}
input,select,textarea{background:#0e1130; border:1px solid var(--line); color:var(--ink); padding:10px 12px; border-radius:10px; outline:none}
textarea{min-height:120px; resize:vertical}
input:focus,select:focus,textarea:focus{border-color:#9da7ff; box-shadow:0 0 0 3px rgba(157,167,255,.15)}

.choices{display:grid; gap:10px; margin-top:12px}
.choice{display:grid; grid-template-columns:auto 1fr; gap:10px; align-items:start; padding:12px; border:1px solid var(--line); border-radius:12px; background:#0e1130}
.choice .title{font-weight:700}
.choice .meta{color:var(--muted); font-size:14px}

.addon summary{cursor:pointer; padding:10px 12px; font-weight:700}
.addon{background:#0e1130; border:1px solid var(--line); border-radius:12px; margin-top:12px}
.addon .grid{padding:12px}

.checks{display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:10px; margin:10px 0}
.checks label{flex-direction:row; align-items:center; font-weight:400}
.checks input{margin-right:8px}

.btn{display:inline-block; background:var(--brand); color:white; padding:12px 18px; border:none; border-radius:12px; font-weight:800; cursor:pointer; transition:filter .2s}
.btn:hover{filter:brightness(1.1)}
.btn.btn-lg{padding:16px 26px; font-size:18px}
.btn.ghost{background:transparent; border:1px solid var(--line); color:var(--ink)}
.btn[disabled]{opacity:.5; cursor:not-allowed}

.wizard-nav{display:flex; justify-content:space-between; gap:10px; margin:10px 0 30px}

.summary{display:grid; gap:12px}
.summary .kv{display:flex; gap:12px; padding:10px 12px; background:#0e1130; border:1px solid var(--line); border-radius:10px}
.summary .k{min-width:220px; color:var(--muted)}