:root{
  --bg:#0d0f13; --panel:#0f1522; --panel-2:#0f1116;
  --stroke:#1a2433; --text:#eaf1ff; --muted:#a9b5c9;
  --brand:#1f6feb; --brand-2:#00b7ff; --ok:#3ddc97; --danger:#ff6b6b;
}
*{box-sizing:border-box} html,body{height:100%}
body{
  margin:0; color:var(--text);
  font:15px/1.45 Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background: radial-gradient(1400px 700px at 70% -20%, rgba(0,183,255,.08), transparent 60%), var(--bg);
}
.wrap{min-height:100vh; display:grid; place-items:center; padding:24px}
.card{
  width:min(760px, 96vw); background:linear-gradient(180deg, rgba(18,24,38,.65), rgba(12,16,24,.55));
  border:1px solid var(--stroke); border-radius:18px; padding:20px 20px 16px; backdrop-filter: blur(10px);
  box-shadow:0 30px 80px -30px rgba(0,0,0,.6), 0 18px 50px -24px rgba(0,183,255,.18)
}
.head{display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:6px}
.head h1{margin:0; font-size:22px; font-weight:900}
.sub{color:var(--muted); font-size:13.5px}
a.link{color:#9fd8ff; text-decoration:none} a.link:hover{text-decoration:underline}

/* adım çubuğu */
.steps{display:flex; gap:8px; margin:10px 0 14px}
.step{flex:1; height:6px; background:#121722; border:1px solid #1d2a40; border-radius:999px; position:relative; overflow:hidden}
.step i{position:absolute; inset:0; width:0%; background:linear-gradient(90deg,#8dd5ff,#53c7ff); transition:width .25s}
.step.done i{width:100%} .step.cur i{width:60%}

/* grid */
.grid{display:grid; grid-template-columns:1fr 1fr; gap:14px}
@media(max-width:720px){ .grid{grid-template-columns:1fr} }

/* form */
label{display:block; font-weight:700; font-size:13px; margin-bottom:6px}
.input, .dropzone{
  width:100%; padding:11px 12px; border-radius:12px; border:1px solid #202c3f;
  background:#0e121a; color:var(--text); outline:0; transition:border-color .18s, box-shadow .18s
}
.input:focus{border-color:#2a86ff; box-shadow:0 0 0 3px rgba(42,134,255,.25)}
.actions{display:flex; justify-content:space-between; gap:8px; margin-top:16px}
.btn{
  border:1px solid #2c5fb4; color: #ffffffff; font-weight:800; cursor:pointer;
  background:linear-gradient(180deg,#8dd5ff,#53c7ff); padding:10px 14px; border-radius:12px;
  transition:transform .15s, box-shadow .15s, filter .15s
}
.btn:hover{transform:translateY(-1px); box-shadow:0 14px 34px rgba(0,183,255,.28); filter:saturate(1.05)}
.btn.subtle{background:#0f1219; border:1px solid #202c3f; color:#cfe2ff}
.btn:disabled{opacity:.6; cursor:not-allowed}
.alert{padding:10px 12px; border-radius:12px; margin:10px 0 6px}
.alert.error{background:#1a1012; border:1px solid #44262c; color:#ffd6db}
.alert.success{background:#0f1a10; border:1px solid #234b28; color:#c6f5d4}

/* adım kutuları */
.step-box{display:none; animation:fade .2s ease}
.step-box.active{display:block}
@keyframes fade{from{opacity:.6; transform:translateY(4px)} to{opacity:1; transform:none}}

/* şifre gücü */
.pw-meter{height:8px; background:#121722; border:1px solid #1d2a40; border-radius:999px; margin-top:8px; overflow:hidden}
.pw-meter i{display:block; height:100%; width:0%; transition:width .25s}
.pw-weak i{background:#b84a4a} .pw-med i{background:#e6a23c} .pw-strong i{background:#3ddc97}

/* dropzone */
.dropzone{display:grid; place-items:center; text-align:center; gap:8px; padding:16px; border-style:dashed}
.dropzone small{color:var(--muted)}
.avatar-preview{width:96px; height:96px; border-radius:50%; object-fit:cover; border:2px solid rgba(255,255,255,.08); box-shadow:0 6px 18px rgba(0,0,0,.35); margin-top:8px}

/* alt */
.footer{margin-top:12px; color:var(--muted)}
.terms{display:flex; align-items:flex-start; gap:10px; margin-top:8px}
.terms label{font-weight:400}