:root{--black:#000000;--emerald:#065F46;--mint:#A7F3D0;--cream:#FFF8E7;--white:#FFFFFF}
*{box-sizing:border-box}
html,body{min-width:320px;min-height:100%;margin:0;background:var(--black);color:var(--white);font-family:Inter,Arial,sans-serif}
body{min-height:100vh}
button,input{font:inherit}
.installer-shell{min-height:100vh;max-width:1180px;margin:0 auto;padding:30px 42px;display:flex;flex-direction:column}
.installer-header{display:flex;align-items:center;justify-content:space-between}
.installer-brand{display:flex;align-items:center;gap:12px}.installer-brand strong,.installer-brand span{display:block}.installer-brand strong{font-size:14px}.installer-brand span{font-size:10px;color:var(--mint);margin-top:4px}
.installer-logo{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--emerald);color:var(--mint)}.installer-logo svg{width:20px}
.installer-label{font-size:10px;letter-spacing:1.7px;color:var(--mint)}
.progress-rail{height:2px;background:var(--emerald);margin:32px 0 0;display:flex}.progress-rail span{height:4px;flex:1;background:var(--emerald);opacity:.35}.progress-rail span.complete{background:var(--mint);opacity:1}
.installer-main{flex:1;display:grid;place-items:center;padding:55px 0}
.install-intro,.complete-screen{width:min(100%,650px);text-align:center}.intro-orbit{position:relative;width:130px;height:130px;margin:0 auto 45px}.orbit-ring{position:absolute;inset:0;border:1px solid var(--emerald);border-radius:50%;animation:spin 12s linear infinite}.ring-two{inset:15px;border-color:var(--mint);animation-direction:reverse;animation-duration:9s}.orbit-core{position:absolute;inset:38px;border-radius:50%;background:var(--emerald);display:grid;place-items:center;color:var(--mint);box-shadow:0 0 0 12px rgba(167,243,208,.2)}.orbit-core svg{width:24px}@keyframes spin{to{transform:rotate(360deg)}}
.installer-eyebrow{color:var(--mint);font-size:10px;font-weight:800;letter-spacing:2px;margin:0 0 13px}.install-intro h1,.complete-screen h1{font-size:56px;line-height:1.03;letter-spacing:-3px;margin:0 0 21px}.install-intro h1 span,.complete-screen h1 span{color:var(--mint)}.intro-copy{max-width:500px;margin:0 auto 29px;color:var(--white);opacity:.68;line-height:1.75;font-size:14px}
.installer-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--mint);border-radius:11px;background:var(--emerald);color:var(--white);padding:14px 19px;font-size:12px;font-weight:800;text-decoration:none;transition:transform .2s,box-shadow .2s}.installer-button:hover{transform:translateY(-2px);box-shadow:0 8px 20px var(--emerald)}.installer-button svg{width:16px}
.intro-footnote{display:flex;align-items:center;justify-content:center;gap:6px;color:var(--mint);font-size:10px;margin-top:25px}.intro-footnote svg{width:14px}
.installer-card{width:min(100%,650px);background:var(--cream);color:var(--black);border-radius:22px;padding:34px;box-shadow:0 22px 80px rgba(6,95,70,.28)}.step-kicker{display:flex;align-items:start;gap:17px}.step-kicker>span{color:var(--emerald);font-size:30px;font-weight:800;line-height:1}.step-kicker h1{font-size:33px;line-height:1.08;letter-spacing:-1.5px;margin:0}.section-copy{font-size:13px;line-height:1.7;opacity:.7;max-width:530px;margin:20px 0 25px}
.check-list{border-top:1px solid var(--emerald)}.check-row{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--emerald);padding:13px 0}.check-icon{width:27px;height:27px;display:grid;place-items:center;border-radius:50%;flex:none}.check-icon.ok{background:var(--mint);color:var(--emerald)}.check-icon.warn{border:1px solid var(--emerald);color:var(--emerald)}.check-icon.fail{background:var(--emerald);color:var(--mint)}.check-icon svg{width:14px}.check-row>span:nth-child(2){flex:1}.check-row strong,.check-row small{display:block}.check-row strong{font-size:11px}.check-row small{font-size:10px;opacity:.6;margin-top:3px}.check-state{color:var(--emerald);font-size:10px;font-weight:800}.step-actions{margin-top:25px}.blocked-message{display:flex;align-items:center;gap:8px;margin-top:23px;color:var(--emerald);font-size:11px;font-weight:700}.blocked-message svg{width:15px}
.installer-form{display:grid;gap:16px}.installer-form label{display:grid;gap:7px;font-size:11px;font-weight:800}.installer-form label>span{font-weight:400;opacity:.55}.installer-form input{border:1px solid var(--black);background:var(--cream);color:var(--black);border-radius:9px;padding:12px;outline:none}.installer-form input:focus{border-color:var(--emerald);box-shadow:0 0 0 3px var(--mint)}.installer-form small{font-size:10px;font-weight:400;opacity:.6}.password-field{position:relative;display:block}.password-field input{padding-right:45px}.password-toggle{position:absolute;right:7px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:var(--emerald);display:grid;place-items:center;padding:7px;border-radius:7px}.password-toggle:hover,.password-toggle:focus-visible{background:var(--mint);outline:none}.password-toggle svg{width:17px;height:17px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.install-assurance{display:flex;align-items:start;gap:9px;border:1px solid var(--emerald);border-radius:10px;padding:12px;color:var(--emerald);font-size:10px;line-height:1.5}.install-assurance svg{width:16px;flex:none}.installer-alert{width:min(100%,650px);display:flex;gap:10px;background:var(--mint);color:var(--black);border:1px solid var(--emerald);border-radius:10px;padding:13px 15px;margin-bottom:20px;font-size:11px}.installer-alert svg{width:16px;color:var(--emerald);flex:none}.installer-alert p{margin:0}.installer-alert p+p{margin-top:4px}
.success-burst{width:120px;height:120px;position:relative;margin:0 auto 38px}.success-check{position:absolute;inset:23px;border-radius:50%;background:var(--mint);color:var(--emerald);display:grid;place-items:center;animation:success-pop .8s cubic-bezier(.17,.67,.3,1.3) both;box-shadow:0 0 0 12px rgba(167,243,208,.15)}.success-check svg{width:37px;stroke-width:3}.burst{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--mint);animation:burst-in .9s ease both}.burst-a{left:4px;top:28px}.burst-b{right:1px;top:10px}.burst-c{left:19px;bottom:2px}.burst-d{right:5px;bottom:25px}@keyframes success-pop{from{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes burst-in{from{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}
.complete-points{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin:22px 0 27px}.complete-points span{display:flex;align-items:center;gap:6px;color:var(--mint);font-size:10px}.complete-points svg{width:14px}.completion-note{font-size:10px;color:var(--white);opacity:.45;margin-top:22px}
.installer-footer{display:flex;justify-content:space-between;color:var(--white);opacity:.4;font-size:10px}.installer-footer span:last-child{display:flex;align-items:center;gap:5px}.installer-footer svg{width:12px}
@media(max-width:650px){.installer-shell{padding:22px 18px}.installer-label{display:none}.progress-rail{margin-top:24px}.installer-main{padding:38px 0}.install-intro h1,.complete-screen h1{font-size:43px;letter-spacing:-2px}.installer-card{padding:23px 19px}.step-kicker h1{font-size:28px}.field-grid{grid-template-columns:1fr}.check-state{display:none}.installer-footer{padding-top:10px}.complete-points{display:grid;justify-content:start;justify-items:start;margin-left:22px}}