:root{--i-primary:#5b5cf0;--i-primary-dark:#4446d7;--i-ink:#101828;--i-muted:#667085;--i-border:#e4e7ec;--i-bg:#f7f8fc;--i-card:#fff;--i-success:#079455;--i-danger:#d92d20;--i-warning:#b54708;--i-radius:22px;--i-shadow:0 28px 80px rgba(16,24,40,.14);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--i-bg);color:var(--i-ink)}body{font-size:15px;line-height:1.55}button,input{font:inherit}button,a{tap-highlight-color:transparent;-webkit-tap-highlight-color:transparent}a{text-decoration:none;color:inherit}.installer-body{min-height:100vh;padding:clamp(18px,3vw,44px);position:relative;overflow-x:hidden;background:radial-gradient(circle at 12% 5%,#e7e7ff 0,transparent 32%),radial-gradient(circle at 92% 92%,#dff8ee 0,transparent 28%),#f7f8fc}.installer-bg{position:fixed;border-radius:999px;pointer-events:none;filter:blur(2px);opacity:.6}.installer-bg-one{width:360px;height:360px;background:#dcdafe;top:-150px;right:-80px}.installer-bg-two{width:300px;height:300px;background:#d2f4e5;bottom:-140px;left:-100px}.installer-shell{width:min(1180px,100%);min-height:min(780px,calc(100vh - clamp(36px,6vw,88px)));margin:0 auto;background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.9);border-radius:30px;box-shadow:var(--i-shadow);display:grid;grid-template-columns:340px minmax(0,1fr);overflow:hidden;position:relative;z-index:2}.installer-side{background:linear-gradient(155deg,#111827 0%,#171a36 58%,#28255f 100%);color:#fff;padding:34px 28px;display:flex;flex-direction:column;position:relative;overflow:hidden}.installer-side:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:rgba(113,103,255,.22);right:-120px;bottom:60px}.installer-brand,.mobile-brand{display:flex;align-items:center;gap:12px;position:relative;z-index:1}.installer-brand strong,.installer-brand span,.mobile-brand strong,.mobile-brand span{display:block}.installer-brand strong{font-size:16px}.installer-brand span{font-size:12px;color:#aeb7c6;margin-top:1px}.installer-logo{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#7167ff,#a879ff);box-shadow:0 12px 28px rgba(91,92,240,.35)}.installer-logo svg{width:24px;height:24px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.installer-logo.small{width:40px;height:40px;border-radius:12px}.installer-intro{margin:52px 0 34px;position:relative;z-index:1}.kicker{font-size:11px;text-transform:uppercase;letter-spacing:.13em;font-weight:800;color:var(--i-primary)}.installer-side .kicker{color:#aaa7ff}.installer-intro h1{font-size:34px;line-height:1.08;letter-spacing:-.04em;margin:10px 0 14px}.installer-intro p{margin:0;color:#bcc4d1;font-size:14px;max-width:260px}.wizard-nav{display:flex;flex-direction:column;gap:4px;position:relative;z-index:1}.wizard-nav-item{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:14px;color:#98a2b3;transition:.2s}.wizard-nav-item.active{background:rgba(255,255,255,.08);color:#fff}.wizard-nav-item.done{color:#d0d5dd}.wizard-number{width:30px;height:30px;border-radius:10px;border:1px solid rgba(255,255,255,.15);display:grid;place-items:center;font-size:12px;font-weight:800;flex:0 0 auto}.wizard-number svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2}.wizard-nav-item.active .wizard-number{background:#6966f6;border-color:#6966f6;color:#fff;box-shadow:0 7px 18px rgba(91,92,240,.32)}.wizard-nav-item.done .wizard-number{background:rgba(18,183,106,.16);border-color:rgba(18,183,106,.25);color:#6ce9a6}.wizard-copy strong,.wizard-copy small{display:block}.wizard-copy strong{font-size:13px}.wizard-copy small{font-size:11px;color:#7f8a9b;margin-top:1px}.wizard-nav-item.active small{color:#b9c0cc}.installer-side-foot{margin-top:auto;padding-top:24px;border-top:1px solid rgba(255,255,255,.09);display:flex;align-items:flex-start;gap:9px;color:#9da7b6;font-size:11px;position:relative;z-index:1}.secure-dot{width:8px;height:8px;border-radius:50%;background:#47cd89;box-shadow:0 0 0 4px rgba(71,205,137,.12);margin-top:5px;flex:0 0 auto}.installer-main{padding:clamp(34px,5vw,64px);display:flex;flex-direction:column;min-width:0}.mobile-brand,.mobile-progress{display:none}.wizard-head{margin-bottom:28px}.wizard-head h2{font-size:clamp(27px,3.2vw,40px);line-height:1.12;letter-spacing:-.035em;margin:8px 0 9px}.wizard-head p{margin:0;color:var(--i-muted);max-width:660px;font-size:15px}.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.check-card{border:1px solid var(--i-border);border-radius:16px;padding:14px;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;background:#fff}.check-card.ready{border-color:#ccebdc;background:linear-gradient(180deg,#fff,#fbfffd)}.check-card.missing{border-color:#fecdca;background:#fffafa}.check-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#f2f4f7;color:#667085}.check-card.ready .check-icon{background:#ecfdf3;color:#079455}.check-card.missing .check-icon{background:#fef3f2;color:#d92d20}.check-icon svg,.install-alert svg,.info-card>svg,.install-note>svg,.connection-banner span svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.check-card strong,.check-card small{display:block}.check-card strong{font-size:13px}.check-card small{color:var(--i-muted);font-size:11px;margin-top:2px;word-break:break-word}.status-pill{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:5px 8px;border-radius:999px;background:#ecfdf3;color:#027a48}.check-card.missing .status-pill{background:#fef3f2;color:#b42318}.wizard-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field>span{font-size:12px;font-weight:800;color:#344054}.field small{font-size:11px;color:var(--i-muted)}.span-2{grid-column:span 2}.field input{width:100%;height:48px;border:1px solid #d0d5dd;border-radius:12px;background:#fff;padding:0 13px;color:var(--i-ink);outline:none;transition:.18s;min-width:0}.field input::placeholder{color:#98a2b3}.field input:focus{border-color:#7774f6;box-shadow:0 0 0 4px rgba(91,92,240,.11)}.input-with-action{position:relative}.input-with-action input{padding-right:50px}.input-action{position:absolute;right:5px;top:5px;width:38px;height:38px;border:0;border-radius:9px;background:transparent;color:#667085;display:grid;place-items:center;cursor:pointer}.input-action:hover{background:#f2f4f7;color:#344054}.input-action svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8}.wizard-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:28px;padding-top:22px;border-top:1px solid var(--i-border)}.wizard-actions form{margin-left:auto}.action-note{font-size:12px;color:var(--i-muted)}.primary-btn,.secondary-btn{min-height:46px;border-radius:12px;padding:0 17px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:800;font-size:13px;border:1px solid transparent;cursor:pointer;transition:.18s}.primary-btn{background:linear-gradient(135deg,var(--i-primary),#7167ff);color:#fff;box-shadow:0 9px 22px rgba(91,92,240,.24)}.primary-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 26px rgba(91,92,240,.3)}.primary-btn:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}.secondary-btn{background:#fff;border-color:var(--i-border);color:#344054}.secondary-btn:hover{background:#f9fafb}.primary-btn svg,.secondary-btn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.primary-btn.big{min-height:52px;padding:0 22px}.install-alert{display:flex;align-items:flex-start;gap:12px;border-radius:14px;padding:13px 14px;margin:0 0 22px;border:1px solid}.install-alert.error{background:#fff7f6;border-color:#fecdca;color:#b42318}.install-alert.warning{background:#fffaeb;border-color:#fedf89;color:#b54708}.install-alert svg{flex:0 0 auto;margin-top:1px}.install-alert strong,.install-alert p{display:block}.install-alert strong{font-size:13px}.install-alert p{margin:2px 0 0;font-size:12px;color:#6f2a21}.install-alert.warning p{color:#7a2e0e}.install-alert .ref{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:700}.info-card,.install-note{border:1px solid #d9d6fe;background:#f7f6ff;border-radius:16px;padding:16px;display:flex;align-items:flex-start;gap:13px;margin-bottom:24px;color:#4a43a7}.info-card>svg,.install-note>svg{flex:0 0 auto;margin-top:2px}.info-card strong,.info-card p,.install-note strong,.install-note p{display:block}.info-card strong,.install-note strong{font-size:13px}.info-card p,.install-note p{font-size:12px;color:#5d5aa5;margin:4px 0 0}.info-card code,.host-tip code{font:600 11px ui-monospace,SFMono-Regular,Menlo,monospace;background:rgba(91,92,240,.08);padding:2px 5px;border-radius:5px}.host-tip{display:flex;align-items:flex-start;gap:10px;padding:11px 13px;background:#f9fafb;border:1px solid var(--i-border);border-radius:12px;margin-bottom:22px;font-size:12px;color:var(--i-muted)}.host-tip strong{color:#344054;white-space:nowrap}.connection-banner{display:flex;align-items:center;gap:11px;padding:13px 14px;border:1px solid #abefc6;background:#ecfdf3;border-radius:14px;margin-bottom:24px}.connection-banner>span{width:34px;height:34px;border-radius:10px;background:#d1fadf;color:#079455;display:grid;place-items:center}.connection-banner strong,.connection-banner small{display:block}.connection-banner strong{font-size:13px;color:#027a48}.connection-banner small{font-size:11px;color:#067647;margin-top:2px}.review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-bottom:18px}.review-card{border:1px solid var(--i-border);border-radius:16px;padding:17px;background:#fff;min-width:0}.review-card span,.review-card strong,.review-card small{display:block}.review-card span{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--i-muted)}.review-card strong{font-size:14px;margin:6px 0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.review-card small{font-size:11px;color:var(--i-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.final-actions{justify-content:flex-end}.complete-state{text-align:center;margin:auto;max-width:680px;padding:20px 0}.complete-icon{width:82px;height:82px;border-radius:26px;background:linear-gradient(135deg,#12b76a,#47cd89);color:#fff;display:grid;place-items:center;margin:0 auto 23px;box-shadow:0 18px 38px rgba(18,183,106,.25)}.complete-icon svg{width:42px;height:42px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.complete-state h2{font-size:clamp(30px,4vw,44px);letter-spacing:-.04em;line-height:1.08;margin:9px 0 12px}.complete-state>p{color:var(--i-muted);max-width:590px;margin:0 auto}.complete-actions{margin:28px 0}.next-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;text-align:left}.next-steps>div{border:1px solid var(--i-border);border-radius:14px;padding:13px;display:flex;align-items:flex-start;gap:10px}.next-steps b{width:26px;height:26px;border-radius:8px;background:#f0f0ff;color:var(--i-primary);display:grid;place-items:center;font-size:11px}.next-steps strong,.next-steps small{display:block}.next-steps strong{font-size:12px}.next-steps small{font-size:10px;color:var(--i-muted);margin-top:2px}.installer-footer{margin-top:auto;padding-top:28px;display:flex;justify-content:space-between;gap:15px;color:#98a2b3;font-size:10px}.mobile-progress{margin:18px 0 28px}.mobile-progress span{display:block;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#667085;margin-bottom:7px}.mobile-progress div{height:5px;border-radius:999px;background:#eaecf0;overflow:hidden}.mobile-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--i-primary),#8b7cff);transition:.3s}.install-button.is-loading{pointer-events:none;opacity:.78}.install-button.is-loading svg{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:980px){.installer-body{padding:0;background:#fff}.installer-shell{min-height:100vh;width:100%;border:0;border-radius:0;box-shadow:none;grid-template-columns:1fr}.installer-side{display:none}.installer-main{padding:28px clamp(20px,5vw,48px)}.mobile-brand,.mobile-progress{display:flex}.mobile-brand strong,.mobile-brand span{display:block}.mobile-brand strong{font-size:14px}.mobile-brand span{font-size:10px;color:#667085}.mobile-progress{display:block}.installer-footer{padding-bottom:max(8px,env(safe-area-inset-bottom))}}
@media(max-width:640px){.installer-main{padding:22px 18px}.wizard-head{margin-bottom:22px}.wizard-head h2{font-size:29px}.wizard-head p{font-size:13px}.check-grid,.wizard-form,.review-grid,.next-steps{grid-template-columns:1fr}.span-2{grid-column:span 1}.check-card{grid-template-columns:36px minmax(0,1fr) auto;padding:12px}.wizard-actions{flex-direction:column-reverse;align-items:stretch;margin-top:24px}.wizard-actions form{width:100%;margin:0}.wizard-actions .primary-btn,.wizard-actions .secondary-btn,.wizard-actions form .primary-btn{width:100%}.action-note{text-align:center}.host-tip{flex-direction:column;gap:4px}.final-actions{flex-direction:column-reverse}.installer-footer{flex-direction:column;align-items:center;gap:3px;text-align:center}.complete-state{padding:4px 0}.complete-icon{width:70px;height:70px;border-radius:22px}.complete-state h2{font-size:31px}.next-steps>div{padding:12px}.info-card,.install-note{padding:13px}}
@media(max-width:390px){.installer-main{padding:18px 14px}.wizard-head h2{font-size:26px}.check-card{grid-template-columns:34px minmax(0,1fr)}.status-pill{grid-column:2;justify-self:start}.check-icon{width:34px;height:34px}.installer-logo.small{width:36px;height:36px}.primary-btn,.secondary-btn{min-height:48px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.001ms!important;transition-duration:.001ms!important}}

/* v1.0.3 installer polish */
.secure-panel{border:1px solid #d9d6fe;background:linear-gradient(135deg,#f7f6ff,#fbfbff);border-radius:16px;padding:15px 16px;display:flex;align-items:flex-start;gap:13px;margin-bottom:24px;color:#4a43a7}.secure-panel>svg{width:20px;height:20px;flex:0 0 auto;margin-top:2px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.secure-panel strong,.secure-panel p{display:block}.secure-panel strong{font-size:13px}.secure-panel p{font-size:12px;color:#5d5aa5;margin:4px 0 0}.review-card small{white-space:normal;line-height:1.45}.wizard-form .field input,.wizard-form .field select{font-size:16px}@media(max-width:640px){.secure-panel{padding:13px}.review-card{min-height:94px}.mobile-progress{margin-bottom:22px}}
