:root{--ground:#04050b;--tile:#0a0c16;--ink:#eef0f5;--muted:rgba(238,240,245,.68);--star:#ffe2b0;
--s1:#f0a870;--s2:#c08cff;--s3:#8ea2ff;--s4:#7cc4ff;--s5:#6fd6c0;
--font:-apple-system,BlinkMacSystemFont,"SF Pro Text","Inter","Segoe UI",system-ui,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ground);color:var(--ink);font:17px/1.6 var(--font);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:var(--s4);text-underline-offset:3px}
::selection{background:rgba(192,140,255,.35);color:var(--ink)}
html{scrollbar-color:rgba(238,240,245,.22) var(--ground);accent-color:var(--s3)}
input{caret-color:var(--star)}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--s4);outline-offset:3px;border-radius:6px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;background:var(--tile);padding:8px 12px;border-radius:8px;z-index:10}
.skip:focus{left:8px}
.nebula{position:fixed;inset:0;z-index:-1;pointer-events:none;
background:radial-gradient(60vw 40vw at 78% 18%,rgba(192,140,255,.16),transparent 70%),
radial-gradient(50vw 40vw at 10% 70%,rgba(111,214,192,.08),transparent 70%),
radial-gradient(40vw 30vw at 60% 60%,rgba(240,168,112,.07),transparent 70%),var(--ground)}
.nav{display:flex;justify-content:space-between;align-items:center;max-width:1180px;margin:0 auto;padding:22px 24px}
.brand img{display:block;height:22px;width:auto}
.nav-cta{transition:border-color .2s;color:var(--ink);text-decoration:none;font-size:15px;padding:8px 14px;border:1px solid rgba(238,240,245,.18);border-radius:999px}
.nav-cta:hover{border-color:rgba(238,240,245,.4)}
main{max-width:1180px;margin:0 auto;padding:0 24px}
.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:center;min-height:min(78vh,720px);padding:40px 0 64px}
h1{text-wrap:balance;font-size:clamp(42px,6vw,72px);line-height:1.04;letter-spacing:-.025em;font-weight:600;margin:0 0 20px}
.sub{font-size:clamp(18px,1.6vw,21px);color:var(--muted);max-width:34em;margin:0 0 32px}
.field{display:flex;gap:8px;max-width:520px;background:rgba(10,12,22,.8);border:1px solid rgba(238,240,245,.14);border-radius:14px;padding:6px}
.field input{flex:1;min-width:0;text-overflow:ellipsis;background:transparent;border:0;color:var(--ink);font:inherit;padding:10px 12px}
.field input::placeholder{color:rgba(238,240,245,.5)}
.field input:focus-visible{outline:none}
.field:focus-within{border-color:var(--s3);box-shadow:0 0 0 3px rgba(142,162,255,.25)}
.field.invalid{border-color:#ffb4a0}
.field button{border:0;border-radius:10px;padding:12px 18px;font:600 16px var(--font);color:#0a0c16;cursor:pointer;white-space:nowrap;
background:linear-gradient(100deg,var(--s1),var(--s2) 45%,var(--s4))}
.field button:hover{filter:brightness(1.07)}
.field button[disabled]{opacity:.75;cursor:progress}
.field button .spin{display:inline-block;width:.9em;height:.9em;margin-right:.45em;vertical-align:-.12em;border:2px solid rgba(10,12,22,.35);border-top-color:#0a0c16;border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.status{min-height:1.6em;margin:10px 0 0;font-size:15px;overflow-wrap:anywhere}
.status:empty{min-height:0;margin:0}
.status.ok{color:var(--s5)}.status.err{color:#ffb4a0}
.under{color:var(--muted);font-size:15px;margin:12px 0 0}
.consent{color:rgba(238,240,245,.64);font-size:13px;margin:6px 0 0}
.download{margin-top:24px;display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.download[hidden]{display:none}
.btn-secondary{color:var(--ink);text-decoration:none;border:1px solid rgba(238,240,245,.3);border-radius:10px;padding:11px 18px;font-weight:600}
.universe{position:relative;aspect-ratio:1;width:100%;max-width:560px;justify-self:center}
.universe canvas{position:absolute;inset:0;width:100%;height:100%}
.universe .mark{position:absolute;left:50%;top:50%;width:30%;height:auto;min-width:48px;transform:translate(-50%,-50%)}
.features{padding:8px 0 104px}
.feature-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0 32px}
.feature{border-top:2px solid var(--accent);padding:22px 0 0}
.feature h2{font-size:20px;line-height:1.3;margin:0 0 10px;letter-spacing:-.01em;font-weight:600;text-wrap:balance}
.feature p{margin:0;color:var(--muted);font-size:16px}
@media (max-width:1080px){.feature-list{grid-template-columns:repeat(2,1fr);gap:40px 32px}}
.yours{max-width:760px;margin:0 auto;padding:0 0 96px}
.yours h2,.faq h2{font-size:28px;line-height:1.2;font-weight:600;letter-spacing:-.015em;margin:0 0 14px}
.yours p{color:var(--muted);margin:0}
.faq{max-width:760px;margin:0 auto;padding:0 0 88px}
details{border-top:1px solid rgba(238,240,245,.1);padding:4px 0}
details:last-of-type{border-bottom:1px solid rgba(238,240,245,.1)}
summary{cursor:pointer;padding:18px 4px;border-radius:6px;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:16px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";color:var(--muted);font-weight:400;flex:none}
summary:hover{color:#fff}
details[open] summary::after{content:"–"}
details p{margin:0 4px 18px;color:var(--muted)}
.footer{border-top:1px solid rgba(238,240,245,.08);max-width:1180px;margin:0 auto;padding:28px 24px 40px;display:flex;gap:12px;align-items:center;color:rgba(238,240,245,.6);font-size:14px}
.footer p{margin:0;overflow-wrap:anywhere}.footer a{color:inherit}
@media (max-width:860px){
 .hero{grid-template-columns:minmax(0,1fr);gap:8px;padding-top:16px;min-height:0}
 .universe{max-width:360px;order:-1}
 .feature-list{grid-template-columns:1fr;gap:32px}
 .universe{max-width:260px}
 .field{flex-direction:column}
 .field button{width:100%}
 .nav-cta{display:none}
 .footer{flex-direction:column;text-align:center}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
.a1{--accent:#f0a870}.a2{--accent:#c08cff}.a4{--accent:#7cc4ff}.a5{--accent:#6fd6c0}
@media (max-width:860px){h1{font-size:clamp(34px,11vw,44px)}}
.no-js .universe canvas{display:none}
@media (forced-colors:active){.field button{border:1px solid ButtonText}.feature{border-top-color:CanvasText}}
@media (prefers-reduced-motion:reduce){.field button .spin{animation:none;border-top-color:rgba(10,12,22,.35)}}
.result{max-width:640px;padding:12vh 24px;text-align:center}
.result .status{font-size:19px;margin:8px 0 24px}
