:root {
 color-scheme:dark; --bg:#0d0d10; --surface:#18181e; --panel:#050507; --line:#303039;
 --ink:#ededf0; --soft:#b9b9c0; --dim:#a0a0aa; --accent:#bc63ff; --accent-hover:#d09aff;
 --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px; --s6:32px; --s7:48px;
 --r1:10px; --r2:16px; --r3:26px; --hit:44px; --ease:cubic-bezier(.22,.9,.24,1);
 --text-small:13px; --text:15px; --title:clamp(32px,4.4vw,44px);
}
*{box-sizing:border-box} [hidden]{display:none!important} html{background:var(--bg)}
body{margin:0;color:var(--ink);font-family:"Segoe UI Variable Text","Segoe UI",-apple-system,BlinkMacSystemFont,system-ui,sans-serif;font-size:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased}
svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}.symbols{position:absolute;width:0;height:0;overflow:hidden}
button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:4px}h1:focus{outline:none}
.shell{max-width:1040px;margin:auto;padding:var(--s5)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--s4)}.brand{display:inline-flex;align-items:center;gap:var(--s3);text-decoration:none;color:var(--ink);font-weight:650;font-size:20px;min-height:var(--hit)}.brand-mark{width:28px;height:28px;border:1px solid var(--line);border-radius:var(--s2);position:relative;background:var(--panel)}.brand-mark:before{content:"";position:absolute;top:0;left:5px;right:5px;height:4px;background:var(--accent);border-radius:0 0 3px 3px}
.text-button{background:none;border:0;color:var(--soft);padding:var(--s2) 0;min-height:var(--hit);text-align:left}.text-button span,.plan-link{color:var(--accent)}.text-button:hover{color:var(--ink)}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--s4);min-height:48px;padding:var(--s3) var(--s5);border-radius:var(--r1);border:1px solid transparent;font-weight:600;white-space:nowrap;transition:background .15s,color .15s,border-color .15s}.primary{background:var(--accent);color:#081428}.primary:hover{background:var(--accent-hover)}.secondary{background:var(--surface);border-color:var(--line);color:var(--ink)}.secondary:hover{border-color:var(--soft)}
.view{padding:var(--s6) 0;animation:appear .2s var(--ease)}.hero{display:flex;flex-direction:column;gap:var(--s7);align-items:stretch}.eyebrow{color:var(--dim);font-size:var(--text-small);margin:0 0 var(--s4)}h1{font-size:var(--title);line-height:1.15;letter-spacing:-1.2px;margin:0 0 var(--s5);font-weight:650}.lead{color:var(--soft);font-size:17px;line-height:1.6;margin:0 0 var(--s5)}.caption{color:var(--dim);font-size:var(--text-small);margin:var(--s3) 0}.plan-link{margin-top:var(--s2)}
.product-preview{position:relative;max-width:440px;min-width:0;align-self:center;width:100%;padding:var(--s5) 0 var(--s4)}.preview-strip{height:4px;width:128px;border-radius:0 0 4px 4px;background:var(--soft);margin:0 auto var(--s5);opacity:.45}.preview-panel{display:flex;background:var(--panel);border:1px solid var(--line);border-radius:var(--r3);padding:var(--s4) var(--s4) var(--s5) var(--s2)}.preview-rail{display:flex;flex-direction:column;align-items:center;gap:var(--s2);width:48px;flex:none;color:var(--dim)}.preview-rail>svg,.preview-rail>span{margin:var(--s2)}.preview-rail .active{color:var(--ink);background:var(--surface);border-radius:var(--r1);display:flex;padding:var(--s2);margin:0}.preview-content{padding:var(--s2);min-width:0;flex:1}.preview-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--s5)}.preview-heading span{font-size:var(--text-small);color:var(--dim)}.preview-task{display:flex;align-items:center;gap:var(--s3);padding:var(--s3) 0;white-space:nowrap;font-size:var(--text-small)}.preview-task i{width:17px;height:17px;border:1.5px solid var(--dim);border-radius:50%;flex:none}.preview-task svg{width:17px;height:17px;border-radius:50%;background:#72bf78;stroke:#081428;padding:2px}.preview-task.done span{color:var(--dim);text-decoration:line-through}.preview-note{display:flex;align-items:center;justify-content:center;gap:var(--s2);font-size:var(--text-small);color:var(--dim);margin-top:var(--s5)}.status-dot{width:6px;height:6px;background:var(--accent);border-radius:50%}
.features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s5);padding-top:var(--s6);margin-top:var(--s6);border-top:1px solid var(--line)}.features>div{display:flex;flex-direction:column;gap:var(--s2)}.features svg{color:var(--dim);margin-bottom:var(--s2)}.features strong{font-size:14px;font-weight:600}.features span{color:var(--dim);font-size:var(--text-small)}
footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s3);color:var(--dim);font-size:12px;padding:var(--s4) 0;border-top:1px solid var(--line)}.preview-label{display:flex;align-items:center;gap:var(--s2)}.preview-label i{width:5px;height:5px;background:var(--dim);border-radius:50%}.back{display:block;margin-bottom:var(--s4)}
.plans{display:grid;grid-template-columns:1fr;gap:var(--s4)}.plan{background:var(--surface);border:1px solid var(--line);border-radius:var(--r2);padding:var(--s5);display:flex;flex-direction:column}.plan-label{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);font-weight:600;margin:0 0 var(--s4)}.badge{font-size:11px;color:var(--soft);font-weight:400;padding:var(--s1) var(--s2);border:1px solid var(--line);border-radius:var(--r1)}.price{font-size:32px;font-weight:650;line-height:1.2}.price span{font-size:var(--text-small);color:var(--dim);font-weight:400}.plan>p:not(.plan-label){color:var(--soft);font-size:14px}.plan ul{list-style:none;padding:0;margin:var(--s2) 0 var(--s5);font-size:var(--text-small);flex:1}.plan li{margin:var(--s3) 0;display:flex;gap:var(--s2)}.plan li:before{content:"✓";color:var(--accent);flex:none}.plan-note{font-size:var(--text-small);color:var(--soft);margin:var(--s5) 0 var(--s2)}
.account-grid{display:grid;grid-template-columns:1fr;gap:var(--s6)}.selection{border-left:2px solid var(--accent);padding:var(--s4) var(--s5);background:var(--surface);border-radius:0 var(--r1) var(--r1) 0}.selection>span{display:block;color:var(--soft);font-size:14px}.selection>strong{display:block;font-size:26px;margin:var(--s2) 0}.selection p{color:var(--dim);font-size:var(--text-small);margin:var(--s2) 0 0}form{padding-top:var(--s2)}form>label{display:block;font-size:14px;margin-bottom:var(--s2)}input[type=email]{display:block;width:100%;min-height:48px;padding:var(--s3) var(--s4);background:var(--surface);border:1px solid var(--line);border-radius:var(--r1);color:var(--ink)}input::placeholder{color:var(--dim)}input[aria-invalid=true]{border-color:#ed9999}.error{color:#ed9999;font-size:var(--text-small)}.checkbox{display:flex;align-items:flex-start;gap:var(--s3);margin:var(--s5) 0;font-size:14px}.checkbox input{margin:var(--s1) 0 0;width:18px;height:18px;accent-color:var(--accent);flex:none}.checkbox small{display:block;color:var(--dim);font-size:12px;margin-top:var(--s2)}form .button{width:100%;margin-top:var(--s4)}.prototype-note{margin-top:var(--s4)}
.result-view{text-align:center;max-width:640px;margin:0 auto;padding-top:var(--s7)}.result-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--surface);border:1px solid var(--line);border-radius:50%;color:var(--accent);margin-bottom:var(--s5)}.result-selection{margin:var(--s6) 0;text-align:left}.result-view .lead{max-width:520px;margin:0 auto var(--s5)}
@media(min-width:720px){.shell{padding:var(--s6) var(--s7)}.view{padding:var(--s7) 0}.hero{flex-direction:row;align-items:center;gap:var(--s6)}.hero-copy{flex:1;min-width:0}.product-preview{flex:1}.features{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s5)}.plans{grid-template-columns:1fr 1fr;gap:var(--s5)}.account-grid{grid-template-columns:1fr 1fr;gap:var(--s7)}}
@media(max-width:419px){.topbar{align-items:flex-start}.topbar>.text-button{font-size:12px;max-width:116px;text-align:right}.preview-panel{padding-right:var(--s2)}.preview-rail{width:36px}.preview-task{font-size:12px;gap:var(--s2)}.desktop-break{display:none}}
@keyframes appear{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

/* Align plan headings and prices when one heading carries a badge. */
.plan-label{min-height:calc(var(--s5) + var(--s1))}

/* Account forms share the panel's neutral palette and interaction sizes. */
.field{margin-bottom:var(--s4)}.field>label{display:block;font-size:14px;margin-bottom:var(--s2)}.optional{color:var(--dim);font-size:var(--text-small);margin-left:var(--s2)}
input[type=text],input[type=password]{display:block;width:100%;min-height:48px;padding:var(--s3) var(--s4);background:var(--surface);border:1px solid var(--line);border-radius:var(--r1);color:var(--ink)}
.password-field{position:relative}.password-field input{padding-right:100px}.password-field button{position:absolute;right:var(--s3);top:2px;font-size:12px}
.button:disabled{opacity:.5;cursor:default}.button:disabled:hover{background:var(--accent)}.recovery-ack{justify-content:center;min-height:var(--hit);align-items:center}.recovery-ack input{margin:0}
#issued-recovery-code{display:block;overflow-wrap:anywhere;font-size:16px;line-height:1.8;color:var(--ink);user-select:text}#logout{display:block;margin:var(--s4) auto 0}#forgot-password{margin-top:var(--s2)}
@media(min-width:720px){.account-grid{grid-template-columns:1fr 1.05fr}}

.brand small{font-size:11px;font-weight:400;color:var(--dim)}.single-plan{grid-template-columns:1fr!important;max-width:580px}.cabinet{text-align:left;padding:24px;margin-top:24px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.cabinet-top,.devices-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}.cabinet h2{font-size:20px;margin:0}.cabinet h3{font-size:15px;margin:0}.cabinet-top>span,.devices-heading>span{font-size:12px;color:var(--dim);white-space:nowrap}.key-row{padding:20px 0;border-bottom:1px solid var(--line);margin-bottom:20px}.key-row label{font-size:12px;color:var(--dim);display:block}.key-row code{display:block;user-select:text;font-size:19px;overflow-wrap:anywhere;margin-top:8px}#device-list{list-style:none;margin:12px 0;padding:0}#device-list li{display:flex;gap:16px;justify-content:space-between;align-items:center;font-size:13px;color:var(--soft);border-bottom:1px solid var(--line);padding:8px 0}#device-list li span{overflow-wrap:anywhere;min-width:0}#device-list button{flex:none;padding:8px}.text-button[href]{display:inline-flex;align-items:center;text-decoration:none}.cabinet button:disabled{opacity:.5;cursor:default}#account-switch{margin-top:12px}@media(max-width:419px){.brand{gap:8px;font-size:17px}.brand small{font-size:10px}.cabinet{padding:18px}}

/* Neon violet brand and account actions. */
.brand-mark{border-color:#57316f;box-shadow:0 -2px 12px rgba(188,99,255,.2)}
.brand-mark:before{box-shadow:0 0 10px rgba(188,99,255,.6)}
.selection{box-shadow:-6px 0 16px -8px rgba(188,99,255,.45)}
.status-dot{box-shadow:0 0 8px rgba(188,99,255,.6)}
.primary{color:#180822;border-color:var(--accent);box-shadow:0 0 20px rgba(188,99,255,.3)}
.primary:hover:not(:disabled){border-color:var(--accent-hover);box-shadow:0 0 28px rgba(188,99,255,.45)}
.neon-pill{display:inline-flex;align-items:center;justify-content:center;min-height:48px;max-width:100%;padding:12px 24px;border:1px solid var(--accent);border-radius:999px;background:#190e24;color:var(--accent);line-height:1.4;text-align:center;box-shadow:0 0 18px rgba(188,99,255,.25);transition:background .15s,box-shadow .15s}
.neon-pill:hover{background:#2b123d;color:var(--accent-hover);box-shadow:0 0 26px rgba(188,99,255,.4)}

.payment-controls{margin-top:20px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.payment-controls .button,.payment-controls .neon-pill{max-width:100%;margin:8px 12px 8px 0;white-space:normal}.payment-controls .caption{overflow-wrap:anywhere}
