@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap');:root{--gold:#ffc928;--teal:#004e50;--deep:#002e30}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 20% 10%,#116e68 0,#063e40 36%,#001c24 100%);font-family:'DM Sans',sans-serif;color:#f8fff9;display:flex;align-items:center;justify-content:center;padding:30px;overflow-x:hidden}.glow{position:fixed;border-radius:50%;filter:blur(2px);pointer-events:none;animation:float 9s ease-in-out infinite}.g1{width:360px;height:360px;top:-120px;right:-80px;background:radial-gradient(circle,#ffca2840,transparent 70%)}.g2{width:300px;height:300px;bottom:-100px;left:-70px;background:radial-gradient(circle,#13a99a35,transparent 70%)}.installer{position:relative;width:min(100%,640px);padding:35px 42px;border:1px solid #ffffff27;border-radius:22px;background:#052e30d9;box-shadow:0 25px 80px #0014168c;backdrop-filter:blur(18px);animation:enter .75s ease both}.logo{width:56px;height:56px;display:grid;place-items:center;background:var(--gold);color:#123b31;border-radius:17px;font-size:34px;box-shadow:0 0 30px #ffc92835}.kicker{color:var(--gold);font-weight:700;letter-spacing:3px;font-size:11px;margin:20px 0 8px}.installer h1{font-family:'Playfair Display',serif;font-size:35px;line-height:1.13;margin:0}.installer h1 em{font-style:normal;color:var(--gold)}.muted{color:#b8d0c9;font-size:13px}.progress{height:4px;background:#ffffff1c;border-radius:9px;overflow:hidden;margin:23px 0}.progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,#ffb900,#ffe681);transition:width .3s;box-shadow:0 0 15px #ffca28}.step{display:flex;gap:12px;align-items:center;margin:24px 0 14px}.step>b{display:grid;place-items:center;width:32px;height:32px;border:1px solid #ffc92880;color:var(--gold);border-radius:10px;font-size:12px}.step strong,.step small{display:block}.step strong{font-size:14px}.step small{font-size:11px;color:#a9c5bd;margin-top:3px}label{display:block;font-size:12px;color:#d6e7e1;margin:12px 0}input{width:100%;margin-top:7px;padding:12px 13px;border-radius:9px;border:1px solid #ffffff25;background:#001f23;color:white;outline:none;font:inherit;font-size:13px;transition:border .2s,box-shadow .2s}input:focus{border-color:var(--gold);box-shadow:0 0 0 3px #ffc9281a}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:12px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:20px;border:0;border-radius:10px;background:var(--gold);color:#17352e;padding:14px 18px;font-weight:700;font-size:13px;cursor:pointer;text-decoration:none;transition:transform .2s,box-shadow .2s}.button:hover{transform:translateY(-2px);box-shadow:0 8px 24px #ffc92830}form>.button{width:100%;margin-top:14px}.button.dark{background:#0c5554;color:#fff}.hint{font-size:10px;color:#8baea5;text-align:center;margin-top:16px}.error{padding:12px;border-radius:9px;background:#9b352f45;border:1px solid #ff8b7d;color:#ffd8d2;font-size:12px;margin:18px 0}.success{padding:20px 0}.success h2{color:var(--gold)}.success p{font-size:13px}.success .button{margin:6px 5px 6px 0}.spinner{width:14px;height:14px;border:2px solid #193d34;border-top-color:transparent;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes enter{from{opacity:0;transform:translateY(18px) scale(.99)}to{opacity:1;transform:none}}@keyframes float{50%{transform:translate(18px,20px) scale(1.06)}}@media(max-width:560px){body{padding:14px}.installer{padding:25px 20px}.installer h1{font-size:29px}.twocol{grid-template-columns:1fr}}
