:root{color-scheme:dark;--bg:#05090f;--card:#09121d;--line:#1c3045;--text:#ecf7ff;--muted:#829bb4;--blue:#39afff;--cyan:#64d9ff;--green:#45e3a0;--red:#ff8190}*{box-sizing:border-box}body{min-height:100vh;margin:0;color:var(--text);background:radial-gradient(circle at 20% 0,rgba(35,153,240,.16),transparent 38%),var(--bg);font-family:Inter,"Noto Sans SC","Microsoft YaHei",sans-serif}.installer-shell{width:min(100% - 32px,840px);margin:0 auto;padding:44px 0 70px}.installer-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:35px}.brand{display:flex;align-items:center;gap:11px;font-size:18px;font-weight:700}.brand-mark{display:grid;place-items:center;width:34px;height:38px;color:#00101b;background:linear-gradient(145deg,var(--cyan),var(--blue));clip-path:polygon(50% 0,92% 20%,92% 70%,50% 100%,8% 70%,8% 20%)}.step-label{color:var(--muted);font-size:13px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:0 0 22px;padding:0;list-style:none}.steps li{position:relative;display:flex;align-items:center;gap:8px;color:#536c85;font-size:12px}.steps li:not(:last-child):after{position:absolute;right:10px;left:40px;height:1px;content:"";background:#192b3e}.steps span{position:relative;z-index:1;display:grid;place-items:center;width:27px;height:27px;border:1px solid #263c53;border-radius:50%;background:#07101a}.steps li.active{color:#cceaff}.steps li.active span{border-color:#3db5ff;color:#00101b;background:var(--blue)}.installer-card{padding:35px;border:1px solid var(--line);border-radius:17px;background:rgba(9,18,29,.94);box-shadow:0 28px 80px rgba(0,0,0,.3)}h1{margin:0;font-size:27px;letter-spacing:-.03em}.intro{margin:9px 0 27px;color:var(--muted);font-size:14px;line-height:1.7}.check-list{overflow:hidden;margin-bottom:25px;border:1px solid #1b2d40;border-radius:11px}.check-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 15px;color:#bfd2e4;font-size:13px;background:#08111b}.check-row+.check-row{border-top:1px solid #152638}.check-row strong{font-size:12px}.pass{color:var(--green)}.fail{color:var(--red)}.fields{display:grid;gap:17px}.fields label{display:grid;gap:8px;color:#a5bad0;font-size:12px}.fields input{width:100%;height:46px;padding:0 13px;border:1px solid #253a50;border-radius:9px;outline:0;color:var(--text);background:#07101a;font:inherit;font-size:14px}.fields input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(57,175,255,.12)}.two-columns{display:grid;grid-template-columns:1fr 150px;gap:15px}.primary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;border:1px solid #4cc0ff;border-radius:9px;color:#03101b;background:linear-gradient(135deg,#59caff,#2c9ff3);font:inherit;font-size:14px;font-weight:700;cursor:pointer}.primary:disabled{cursor:not-allowed;filter:grayscale(.7);opacity:.5}.actions{display:flex;align-items:center;justify-content:space-between;margin-top:6px}.actions a{color:#7590aa;text-decoration:none;font-size:13px}.alert{margin-bottom:22px;padding:12px 14px;border:1px solid rgba(255,129,144,.3);border-radius:9px;color:#ff9daa;background:rgba(255,80,103,.08);font-size:13px;line-height:1.5}.alert p{margin:0}.alert p+p{margin-top:5px}.warning{padding:12px 14px;border:1px solid rgba(255,190,80,.2);border-radius:9px;color:#d8b779;background:rgba(255,174,43,.06);font-size:12px;line-height:1.6}.complete-icon{display:grid;place-items:center;width:66px;height:66px;margin:0 auto 21px;border-radius:50%;color:#03150e;background:var(--green);font-size:31px}.center{text-align:center}.link-button{width:min(100%,270px);margin:26px auto 0;text-decoration:none}.installer-card form>.primary{width:100%}@media(max-width:650px){.installer-shell{padding-top:24px}.installer-header{align-items:flex-start}.step-label{max-width:110px;text-align:right}.steps{grid-template-columns:repeat(4,27px);justify-content:space-between}.steps li{font-size:0}.steps li:not(:last-child):after{right:auto;left:27px;width:calc((100vw - 104px)/4)}.installer-card{padding:25px 18px}.two-columns{grid-template-columns:1fr}.actions{gap:20px}.actions .primary{flex:1}}
