:root{color-scheme:dark;--bg:#080b12;--panel:#111722;--line:rgba(255,255,255,.09);--text:#f4f7fb;--muted:#94a0b5;--accent:#77e0a4;--danger:#ff8b8b}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 12% 20%,rgba(55,160,115,.18),transparent 34%),radial-gradient(circle at 90% 90%,rgba(72,95,200,.16),transparent 35%),var(--bg);color:var(--text);font:15px/1.55 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.installer-shell{width:min(1180px,calc(100% - 32px));margin:auto;min-height:100vh;display:grid;grid-template-columns:.85fr 1.15fr;gap:72px;align-items:center;padding:64px 0}.installer-intro h1{font-size:clamp(38px,5vw,68px);line-height:1.02;letter-spacing:-.055em;margin:18px 0 22px;max-width:760px}.installer-intro p{color:var(--muted);font-size:18px;max-width:560px}.eyebrow{display:inline-flex;padding:7px 11px;border:1px solid rgba(119,224,164,.32);border-radius:999px;color:var(--accent);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.steps{display:flex;gap:24px;margin-top:48px}.steps div{display:grid;gap:2px}.steps strong{color:var(--accent);font-size:13px}.steps span{color:var(--muted)}.installer-card{background:rgba(17,23,34,.86);border:1px solid var(--line);border-radius:28px;padding:32px;box-shadow:0 30px 90px rgba(0,0,0,.38);backdrop-filter:blur(18px)}.installer-card h2{font-size:30px;margin:10px 0}.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:24px}.check{display:flex;gap:8px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:12px;color:var(--muted);font-size:13px}.check span{font-weight:900}.check.is-ok{display:none}.check-grid:not(:has(.is-error)){display:none}.is-ok span{color:var(--accent)}.is-error{color:var(--danger);border-color:rgba(255,139,139,.24)}fieldset{border:0;padding:0;margin:0 0 28px}legend{font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:13px;color:#cbd3df}label{display:grid;gap:7px;margin-bottom:12px;color:#c4ccda;font-size:13px;font-weight:650}input{width:100%;border:1px solid var(--line);border-radius:12px;background:#0c111a;color:var(--text);padding:13px 14px;outline:0;font:inherit}input:focus{border-color:rgba(119,224,164,.65);box-shadow:0 0 0 4px rgba(119,224,164,.08)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.hint{color:var(--muted);font-size:12px;margin:4px 0 0}.danger-option{display:flex;align-items:flex-start;gap:12px;margin-top:16px;padding:14px;border:1px solid rgba(255,139,139,.28);border-radius:13px;background:rgba(255,139,139,.06);cursor:pointer}.danger-option input{width:18px;height:18px;flex:0 0 auto;margin:2px 0 0;padding:0;accent-color:var(--danger)}.danger-option span{display:grid;gap:3px}.danger-option strong{color:#ffd0d0}.danger-option small{color:var(--muted);font-weight:500;line-height:1.4}.primary-button{display:inline-flex;justify-content:center;align-items:center;width:100%;padding:14px 18px;border:0;border-radius:13px;background:var(--accent);color:#082014;font:800 14px/1 inherit;text-decoration:none;cursor:pointer}.primary-button:hover{filter:brightness(1.05)}.primary-button:disabled{opacity:.45;cursor:not-allowed}.alert{padding:13px 15px;border:1px solid rgba(255,139,139,.28);background:rgba(255,139,139,.08);color:#ffc4c4;border-radius:13px;margin-bottom:22px}.success-mark{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;background:rgba(119,224,164,.12);color:var(--accent);font-size:28px;font-weight:900}.installer-card code{display:block;padding:12px 14px;background:#090d14;border:1px solid var(--line);border-radius:12px;overflow:auto;margin:18px 0 24px;color:#b7f3ce}@media(max-width:860px){.installer-shell{grid-template-columns:1fr;gap:36px;padding:40px 0}.installer-intro h1{font-size:44px}.steps{margin-top:26px}.check-grid{grid-template-columns:1fr}}@media(max-width:520px){.installer-shell{width:min(100% - 20px,1180px)}.installer-card{padding:20px;border-radius:20px}.form-row{grid-template-columns:1fr}.steps{gap:14px;flex-wrap:wrap}}
