:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#080819;color:#f8f5ff;scroll-behavior:smooth}
*{box-sizing:border-box}
body{margin:0;min-width:320px;background:#080819}
a{color:inherit}
a:focus-visible{outline:2px solid #ddbcff;outline-offset:5px}
.skip{position:absolute;z-index:20;top:-80px;left:20px;padding:12px 16px;background:#fff;color:#111;text-decoration:none}
.skip:focus{top:12px}
.site-frame{overflow:hidden}
.launch-header{position:relative;z-index:3;max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:30px 6.5%}
.launch-brand{display:inline-flex;align-items:center;gap:11px;text-decoration:none;font-size:12px;letter-spacing:.16em;font-weight:750}
.launch-brand img{width:31px;height:31px}
.preview-link{text-decoration:none;color:#c5bad8;font-size:12px;letter-spacing:.02em;transition:color .2s}
.preview-link:hover{color:#fff}
.preview-link span{margin-left:7px;color:#c2a0fd}
.opening{position:relative;text-align:center;padding:55px 24px 70px;isolation:isolate;background:radial-gradient(ellipse 450px 380px at 50% 54%,rgba(88,30,146,.3),transparent 72%),radial-gradient(ellipse 760px 360px at 50% 89%,rgba(50,34,126,.22),transparent 75%)}
.star-field{position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(1px 1px at 9% 22%,#8872b9 99%,transparent),radial-gradient(1px 1px at 19% 59%,#b0a1d5 99%,transparent),radial-gradient(1px 1px at 28% 34%,#6d629f 99%,transparent),radial-gradient(1px 1px at 37% 72%,#9882bf 99%,transparent),radial-gradient(1px 1px at 60% 29%,#ad9ac4 99%,transparent),radial-gradient(1px 1px at 74% 52%,#8b7ea9 99%,transparent),radial-gradient(1px 1px at 88% 29%,#a38bc1 99%,transparent),radial-gradient(1px 1px at 81% 77%,#8075a7 99%,transparent);opacity:.55}
.opening-copy{position:relative;z-index:2;margin:auto}
.eyebrow{margin:0;color:#d2b5ff;font-size:10px;font-weight:700;letter-spacing:.2em}
.status-dot{display:inline-block;width:6px;height:6px;vertical-align:middle;margin-right:9px;border-radius:50%;background:#d4acff;box-shadow:0 0 13px #c788ff}
.opening h1{margin:23px auto 18px;font-size:clamp(28px,4vw,48px);line-height:1.1;letter-spacing:.27em;text-indent:.27em;font-weight:400}
.subtitle{margin:0;color:#bdb4cd;font-size:clamp(15px,1.3vw,17px);line-height:1.6}
.radiant-scene{position:relative;width:min(520px,94vw);height:352px;margin:2px auto -2px;isolation:isolate}
.ambient-glow{position:absolute;left:50%;top:47%;width:310px;height:310px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(240,139,255,.37) 0%,rgba(186,74,255,.24) 35%,rgba(137,46,220,.1) 52%,transparent 72%);filter:blur(19px)}
.radiant-core{position:absolute;z-index:2;inset:0;width:100%;height:100%}
.radiant-core img{position:absolute;left:50%;display:block;width:auto;height:100%;max-width:none;transform:translateX(-50%)}
.orbital{position:absolute;left:50%;top:46%;width:375px;height:142px;margin:-71px 0 0 -187px;border:1px solid rgba(223,179,255,.25);border-radius:50%;box-shadow:0 0 18px rgba(206,114,255,.1)}
.orbit-one{transform:rotate(-18deg)}
.orbit-two{transform:rotate(31deg);border-color:rgba(160,144,255,.21)}
.orbit-three{width:335px;height:335px;margin:-167px 0 0 -167px;transform:rotate(44deg) scaleY(.43);border-color:rgba(213,168,255,.14)}
.signal-ripple{position:absolute;z-index:1;left:50%;top:46%;width:245px;height:245px;margin:-122px 0 0 -122px;border:1px solid rgba(223,186,255,.22);border-radius:50%;opacity:0}
.star{position:absolute;z-index:3;width:4px;height:4px;border-radius:50%;background:#f4deff;box-shadow:0 0 11px 3px #be81ff}
.star-a{left:18%;top:29%}
.star-b{right:19%;top:40%;width:3px;height:3px}
.star-c{left:30%;bottom:21%;width:2px;height:2px}
.star-d{right:31%;top:15%;width:2px;height:2px}
.ground-glow{position:absolute;left:50%;bottom:8px;width:340px;height:29px;transform:translateX(-50%);background:#9f56ec;filter:blur(28px);opacity:.32;border-radius:50%}
.countdown-wrap{position:relative;z-index:2}
.countdown-caption{margin:0 0 19px;color:#aaa0c1;font-size:10px;font-weight:650;letter-spacing:.13em}
.countdown-caption span{padding:0 4px;color:#8d76af}
.countdown{display:flex;align-items:flex-start;justify-content:center;gap:clamp(12px,2vw,24px)}
.countdown>div{min-width:55px}
.countdown strong{display:block;font-weight:400;font-size:clamp(30px,3.5vw,43px);line-height:1;letter-spacing:-.05em;font-variant-numeric:tabular-nums}
.countdown div span{display:block;margin-top:10px;color:#a49ab9;font-size:9px;font-weight:700;letter-spacing:.14em}
.countdown i{padding-top:1px;color:#8c6bac;font-style:normal;font-size:30px;line-height:1}
.countdown-finished{margin:0;color:#eee0ff;font-size:17px}
.updates-section{position:relative;padding:0 24px 100px;background:radial-gradient(ellipse 620px 280px at 50% 0%,rgba(58,34,113,.18),transparent 80%)}
.updates-card{max-width:680px;margin:auto;padding:36px 40px;border:1px solid rgba(203,171,255,.2);border-radius:18px;background:#17142a;box-shadow:0 24px 80px rgba(0,0,0,.2)}
.updates-intro{text-align:center}
.updates-intro h2{margin:10px 0 8px;font-weight:530;letter-spacing:-.035em;line-height:1.2;font-size:clamp(25px,2.5vw,30px)}
.updates-intro>p:last-child{margin:0 0 24px;color:#bcb3cd;line-height:1.5;font-size:14px}
.signup-panel{min-width:0}
.form-embed iframe{display:block;max-width:100%!important}
.form-fallback{color:#c6bdd5;font-size:13px;line-height:1.6}
.form-fallback a{text-decoration:underline;text-underline-offset:3px;color:#e4d3ff}
.launch-footer{max-width:1440px;margin:auto;padding:26px 6.5% 35px;border-top:1px solid rgba(214,195,246,.12);display:flex;align-items:center;justify-content:space-between;gap:20px;color:#a59ab5;font-size:12px}
.launch-footer p{margin:0}
.launch-footer p span{padding:0 5px;color:#706580}
.launch-footer div{display:flex;gap:23px}
.launch-footer a{text-decoration:none}
.launch-footer a:hover{color:#fff}
@media(max-width:700px){.launch-header{padding:22px 22px}
.opening{padding:45px 20px 55px}
.opening h1{margin-top:19px}
.radiant-scene{height:310px;margin:4px auto 0}
.orbital{width:310px;height:126px;margin:-63px 0 0 -155px}
.orbit-three{width:290px;height:290px;margin:-145px 0 0 -145px}
.signal-ripple{width:210px;height:210px;margin:-105px 0 0 -105px}
.updates-section{padding:0 18px 70px}
.updates-card{padding:30px 24px}
.updates-intro>p:last-child{margin-bottom:22px}
.launch-footer{align-items:flex-start;flex-direction:column;padding:25px 22px 30px}
.launch-footer div{gap:20px}
}
@media(max-width:390px){.launch-brand{font-size:10px;letter-spacing:.12em}
.opening h1{font-size:27px;letter-spacing:.2em;text-indent:.2em}
.countdown{gap:10px}
.countdown>div{min-width:49px}
.countdown-caption{font-size:9px;letter-spacing:.08em}
.radiant-scene{width:300px}
.star-a{left:13%}
.star-b{right:12%}
}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}
*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
.signal-ripple{display:none}
}

.countdown[hidden]{display:none}

/* The HubSpot form uses the same high-contrast text on its hosted fallback. */
.signup-panel{position:relative;display:flex;flex-direction:column;justify-content:center;min-height:145px;background:#17142a;color:#f6f1ff;border-radius:0;padding:0}
.signup-panel.is-provider-fallback{background:#faf8ff;color:#272238;border-radius:14px;padding:24px}
.signup-panel.is-provider-fallback .form-fallback{color:#463b59}
.signup-panel.is-provider-fallback .form-fallback a{color:#542799}
.form-embed{width:100%}
.form-embed.is-loading{position:absolute;top:0;left:0;visibility:hidden}
/* Avoid showing the fallback before launch.js starts, but reveal it even if
   the site's own script fails to load. No-JS visitors see it immediately. */
@keyframes show-form-fallback{to{visibility:visible}}
#form-fallback{visibility:hidden;animation:show-form-fallback .001ms linear 8s forwards}
html.has-launch-js #form-fallback{display:none}
html.has-launch-js .signup-panel.show-form-fallback #form-fallback{display:block;visibility:visible;animation:none}
#form-fallback[hidden]{display:none!important}

@media(max-width:649px){.signup-panel{min-height:165px}}
@media(max-width:446px){.signup-panel{min-height:250px}}
@media(max-width:700px){.signup-panel.is-provider-fallback{padding:20px}
}
/* The still and canvas share a starting pose, so they can swap without blending. */
.radiant-canvas{position:absolute;z-index:3;inset:0;width:100%;height:100%;pointer-events:none;opacity:0}
.radiant-core{opacity:1}
.radiant-scene.is-rendering .radiant-canvas{opacity:1}
.radiant-scene.is-rendering .radiant-core{opacity:0}
.radiant-scene.has-fallback .radiant-canvas{visibility:hidden}
/* Adapted from https://examples.motion.dev/js/loading-ripple. Transform and
   opacity keep the small ambient effect off the layout and paint paths. */
@keyframes signal-ripple{from{transform:scale(.9);opacity:.32}to{transform:scale(1.65);opacity:0}}
@keyframes launch-reveal{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes signup-reveal{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){
.signal-ripple{animation:signal-ripple 5s ease-out infinite}
.ripple-two{animation-delay:1.6s}.ripple-three{animation-delay:3.2s}
.radiant-scene.is-paused .signal-ripple{animation-play-state:paused}
[data-reveal]{animation:launch-reveal .8s ease-out both}
.countdown-wrap[data-reveal]{animation-delay:.14s}
.newsletter-success:not([hidden]){animation:signup-reveal .25s ease-out both}
}
/* The themed embed keeps the provider's white fallback if custom styling fails. */
.signup-panel.is-themed{background:#17142a;color:#f6f1ff;padding:0;border-radius:0}
.newsletter-success[hidden]{display:none}
.newsletter-success{display:flex;flex-direction:column;gap:10px;align-items:center;padding:22px;text-align:center;border:1px solid rgba(206,178,255,.3);border-radius:10px;background:rgba(161,108,234,.1)}
.newsletter-success strong{font-size:18px}.newsletter-success p{color:#cfc2dc;font-size:13px;margin:6px 0 0}.newsletter-check{display:grid;place-items:center;width:26px;height:26px;flex:none;border-radius:50%;background:#c8a2ff;color:#211632;font-weight:800}
