:root{--bg:#050814;--card:#0b1220;--line:#1f2a44;--text:#fff;--muted:#9ca3af;--primary:#6658ff;--cyan:#00c7ff}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Arial;background:
radial-gradient(circle at 10% 0%,rgba(102,88,255,.28),transparent 30%),
radial-gradient(circle at 90% 15%,rgba(0,199,255,.16),transparent 28%),
linear-gradient(135deg,#02040a,#09111f 55%,#050814);color:var(--text);display:grid;place-items:center;padding:30px}
.install-shell{width:min(980px,100%)}
.brand{display:flex;align-items:center;gap:18px;margin-bottom:22px}
.brand img{width:210px;max-height:70px;object-fit:contain}
.brand span{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:12px}
.install-card{background:rgba(11,18,32,.78);border:1px solid rgba(255,255,255,.08);box-shadow:0 30px 100px rgba(0,0,0,.55);backdrop-filter:blur(22px);border-radius:28px;padding:34px}
.progress{height:8px;background:#111827;border-radius:30px;overflow:hidden;margin-bottom:25px}
.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--primary),var(--cyan));border-radius:30px}
h1{font-size:42px;margin:0 0 12px;letter-spacing:-.04em}
.muted{color:var(--muted);line-height:1.7;margin-bottom:24px}
.checks{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:20px 0 28px}
.check{border:1px solid var(--line);padding:12px;border-radius:16px;background:rgba(255,255,255,.035);font-size:13px}
.check span{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;margin-right:8px}
.check.ok span{background:rgba(16,185,129,.18);color:#34d399}
.check.bad span{background:rgba(239,68,68,.18);color:#f87171}
.alert{padding:14px;border-radius:16px;margin:16px 0}.error{background:rgba(239,68,68,.15);border:1px solid rgba(239,68,68,.35)}
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
input{width:100%;border:1px solid rgba(255,255,255,.1);background:#080d18;color:white;border-radius:16px;padding:15px;outline:none}
input:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(102,88,255,.15)}
button{margin-top:18px;width:100%;border:0;border-radius:18px;padding:16px 20px;color:#fff;font-weight:800;background:linear-gradient(135deg,var(--primary),#7c3aed);box-shadow:0 16px 40px rgba(102,88,255,.28);cursor:pointer}
@media(max-width:760px){.grid,.checks{grid-template-columns:1fr}.brand img{width:170px}h1{font-size:32px}}
