:root{
  --bg:#0a0814; --panel:#13101f; --line:#2a2442; --text:#ece9ff; --mute:#9a93bd;
  --violet:#8b5cf6; --cyan:#22d3ee; --pink:#ff4fa3;
  --display:"Unbounded","Arial Black",system-ui,sans-serif;
  --body:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;
  box-sizing:border-box; padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme:light){
  :root:not([data-theme="dark"]){ --bg:#f6f4ff; --panel:#fff; --line:#ddd6f5; --text:#1b1533; --mute:#6a6290; }
}
*,*::before,*::after{box-sizing:inherit}
html{height:100%;scroll-behavior:smooth;scroll-padding-top:env(safe-area-inset-top,0px)}
body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font:400 16px/1.6 var(--body);overflow-x:hidden}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:6px}
#trail{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:50}
.glow{position:fixed;width:60vmax;height:60vmax;border-radius:50%;will-change:transform;opacity:.28;pointer-events:none;z-index:0;
  background:radial-gradient(circle,var(--violet),transparent 65%);left:-15vmax;top:-20vmax;animation:drift 18s ease-in-out infinite alternate}
.glow.b{background:radial-gradient(circle,var(--pink),transparent 65%);left:auto;right:-20vmax;top:30vh;animation-duration:24s}
@keyframes drift{to{transform:translate(8vmax,6vmax) scale(1.15)}}
main,header,footer{position:relative;z-index:1}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}

header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;max-width:1080px;margin:0 auto}
.logo{font:700 18px var(--display);letter-spacing:-.02em;display:flex;align-items:center;gap:10px}
.logo i{width:14px;height:14px;border-radius:4px;background:linear-gradient(135deg,var(--cyan),var(--violet),var(--pink));animation:spin 6s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
nav{display:flex;gap:22px;color:var(--mute);font-size:14px}
nav a:hover{color:var(--text)}
@media(max-width:560px){nav{display:none}}

/* hero */
.hero{padding:56px 0 40px;text-align:center}
h1{font:700 clamp(36px,8vw,84px)/1.02 var(--display);letter-spacing:-.045em;margin:0 0 22px}
h1 .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em}
h1 .w span{display:inline-block;transform:translateY(110%);animation:up .9s cubic-bezier(.2,.9,.2,1) forwards;animation-delay:calc(var(--i)*90ms + 150ms)}
@keyframes up{to{transform:none}}
h1 em{font-style:normal;background:linear-gradient(90deg,var(--cyan),var(--violet),var(--pink),var(--cyan));background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:flow 6s linear 2}
@keyframes flow{to{background-position:-250% 0}}
.sub{max-width:560px;margin:0 auto 34px;color:var(--mute);opacity:0;animation:fade .8s .9s forwards}
@keyframes fade{to{opacity:1}}

/* prompt box */
.box{max-width:760px;margin:0 auto;background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:14px;text-align:left;position:relative;opacity:0;animation:fade .8s 1.1s forwards}
.box::before{content:"";position:absolute;inset:-1px;border-radius:19px;padding:1px;background:conic-gradient(from var(--a,0deg),var(--cyan),var(--violet),var(--pink),var(--cyan));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.55;animation:rot 6s linear infinite paused;pointer-events:none}
.box:hover::before,.box:focus-within::before{animation-play-state:running}
@property --a{syntax:"<angle>";initial-value:0deg;inherits:false}
@keyframes rot{to{--a:360deg}}
textarea{width:100%;min-height:112px;resize:vertical;background:transparent;border:0;color:var(--text);font:inherit;padding:8px;outline:none}
.row{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding-top:8px;border-top:1px solid var(--line)}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{border:1px solid var(--line);background:transparent;color:var(--mute);border-radius:999px;padding:6px 14px;font:500 13px var(--body);cursor:pointer;transition:.2s}
.chip[aria-pressed="true"]{color:var(--text);border-color:var(--violet);background:rgba(139,92,246,.18)}
.go{position:relative;border:0;border-radius:12px;padding:12px 26px;font:700 15px var(--body);color:#fff;cursor:pointer;background:linear-gradient(120deg,var(--violet),var(--pink));overflow:hidden;transition:transform .15s}
.go:hover{transform:translateY(-2px)} .go:active{transform:scale(.97)}
.go::after{content:"";position:absolute;top:0;left:0;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);transform:translateX(-150%) skewX(-20deg);animation:sheen 3.2s ease-in-out infinite}
@keyframes sheen{60%,100%{transform:translateX(350%) skewX(-20deg)}}
.go[disabled]{opacity:.6;cursor:wait}

/* results */
.results{padding:30px 0 20px}
.bar{height:3px;background:var(--line);border-radius:3px;overflow:hidden;margin-bottom:18px;opacity:0;transition:opacity .3s}
.bar.on{opacity:1} .bar b{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--cyan),var(--violet),var(--pink));transition:width .4s}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
.tile{position:relative;aspect-ratio:1;border-radius:14px;overflow:hidden;background:var(--panel);border:1px solid var(--line);
  animation:pop .5s cubic-bezier(.2,1.2,.3,1) both;transition:transform .25s,border-color .25s}
.tile:hover{transform:translateY(-4px) rotate(-.6deg);border-color:var(--violet)}
@keyframes pop{from{opacity:0;transform:scale(.85) translateY(14px)}}
.tile .art{position:absolute;inset:0;opacity:0;transform:scale(1.15);transition:opacity .8s,transform 1.2s cubic-bezier(.2,.9,.2,1)}
.tile.ready .art{opacity:1;transform:none}
.tile .sh{position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(139,92,246,.28) 50%,transparent 70%);background-size:220% 100%;animation:shim 1.3s linear infinite;transition:opacity .4s}
.tile.ready .sh{opacity:0}
@keyframes shim{from{background-position:130% 0}to{background-position:-130% 0}}
.tile figcaption{position:absolute;left:0;right:0;bottom:0;padding:26px 12px 10px;font-size:12.5px;color:#fff;background:linear-gradient(transparent,rgba(5,3,12,.85));display:flex;justify-content:space-between;gap:8px}
.tile .st{color:var(--cyan);white-space:nowrap}
.tile.ready .st{color:#7dffb2}
.tile figcaption span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.empty{grid-column:1/-1;text-align:center;color:var(--mute);padding:36px;border:1px dashed var(--line);border-radius:14px}

/* features */
.feats{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;padding:60px 0}
.feat{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:26px;transform-style:preserve-3d;transition:transform .15s ease-out,border-color .2s;position:relative;overflow:hidden}
.feat::after{content:"";position:absolute;inset:0;background:radial-gradient(240px circle at var(--mx,50%) var(--my,0%),rgba(139,92,246,.22),transparent 70%);opacity:0;transition:opacity .25s;pointer-events:none}
.feat:hover{border-color:var(--violet)} .feat:hover::after{opacity:1}
.feat h3{font:700 18px var(--display);letter-spacing:-.02em;margin:0 0 8px}
.feat p{margin:0;color:var(--mute);font-size:15px}
.ic{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;margin-bottom:18px;background:linear-gradient(135deg,rgba(34,211,238,.2),rgba(255,79,163,.2));font-size:20px}
.rv{opacity:0;transform:translateY(26px);transition:opacity .8s,transform .8s cubic-bezier(.2,.9,.2,1)}
.rv.in{opacity:1;transform:none}

.cta{text-align:center;padding:50px 0 70px}
.cta h2{font:700 clamp(28px,5vw,52px)/1.05 var(--display);letter-spacing:-.04em;margin:0 0 24px}
footer{border-top:1px solid var(--line);padding:22px 20px;text-align:center;color:var(--mute);font-size:13px}

/* long-page sections */
.hero,.results,.feats,.cta{padding-left:20px;padding-right:20px}
#prog{position:fixed;top:0;left:0;height:3px;width:100%;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,var(--cyan),var(--violet),var(--pink));z-index:70;pointer-events:none}
.sec{padding-top:70px;padding-bottom:70px;position:relative;z-index:1}
.sec h2{font:700 clamp(26px,4.5vw,44px)/1.08 var(--display);letter-spacing:-.04em;margin:0 0 14px;max-width:18ch}
.sec .lead{color:var(--mute);max-width:520px;margin:0 0 34px}
.mq{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.mq div{display:flex;gap:12px;width:max-content;padding:6px 0;animation:mq 45s linear infinite}
.mq div.r{animation-direction:reverse;animation-duration:55s}
.mq:hover div{animation-play-state:paused}
@keyframes mq{to{transform:translateX(-50%)}}
.mq .chip{white-space:nowrap;padding:10px 18px;font-size:14px}
.mq .chip:hover{color:var(--text);border-color:var(--pink);background:rgba(255,79,163,.12)}
.steps{position:relative;padding-left:60px;max-width:720px}
.steps::before,.steps .line{content:"";position:absolute;left:19px;top:6px;bottom:6px;width:2px;background:var(--line)}
.steps .line{background:linear-gradient(var(--cyan),var(--violet),var(--pink));transform-origin:top;transform:scaleY(var(--p,0))}
.step{position:relative;padding-bottom:56px;opacity:.35;transition:opacity .5s}
.step.on{opacity:1}
.step i{position:absolute;left:-60px;top:0;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font:700 14px var(--display);font-style:normal;background:var(--panel);border:2px solid var(--line);transition:.4s}
.step.on i{border-color:var(--violet);box-shadow:0 0 22px rgba(139,92,246,.6)}
.step h3{font:700 20px var(--display);letter-spacing:-.02em;margin:0 0 6px}
.step p{margin:0;color:var(--mute);max-width:480px}
.race{display:grid;gap:20px;background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:24px;max-width:760px}
.lane{display:grid;gap:8px}
.lane span{display:flex;justify-content:space-between;font-size:14px;color:var(--mute)}
.lane b{color:var(--text);font-variant-numeric:tabular-nums}
.trk{height:12px;background:var(--line);border-radius:8px;overflow:hidden}
.trk i{display:block;height:100%;width:0;border-radius:8px}
.lane.a i{background:#6b6590}
.lane.b i{background:linear-gradient(90deg,var(--cyan),var(--violet),var(--pink))}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:24px}
.stat{border-top:1px solid var(--line);padding-top:16px}
.stat .num{font:700 clamp(32px,5vw,52px)/1 var(--display);letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.stat p{margin:8px 0 0;color:var(--mute);font-size:14px}
.faq details{border-bottom:1px solid var(--line);padding:18px 0}
.faq summary{cursor:pointer;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:12px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--violet);font-size:24px;line-height:1;transition:transform .3s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin:10px 0 0;color:var(--mute);max-width:620px;opacity:0;animation:fade .4s forwards}
/* navbar */
.bar-nav{position:fixed;top:0;left:0;right:0;z-index:80;display:block;max-width:none;margin:0;padding:env(safe-area-inset-top,0px) 0 0;border-bottom:1px solid transparent;transition:background .3s,border-color .3s,backdrop-filter .3s}
.bar-nav.stuck{background:var(--bg);background:color-mix(in srgb,var(--bg) 72%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom-color:var(--line)}
.nv{max-width:1080px;margin:0 auto;height:64px;padding:0 20px;display:flex;align-items:center;gap:22px}
.bar-nav nav{margin-left:auto;display:flex;gap:26px;color:var(--mute);font-size:14px}
.bar-nav nav a{position:relative;padding:6px 2px;transition:color .2s}
.bar-nav nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--cyan),var(--pink));transform:scaleX(0);transform-origin:left;transition:transform .3s}
.bar-nav nav a.on{color:var(--text)}
.bar-nav nav a.on::after{transform:scaleX(1)}
a.go{display:inline-block;text-align:center}
.go.sm{padding:9px 20px;font-size:14px}
.burger{display:none;margin-left:auto;width:42px;height:42px;padding:0;border:1px solid var(--line);background:var(--panel);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:5px;cursor:pointer}
.burger span{width:18px;height:2px;background:var(--text);border-radius:2px;transition:transform .3s}
.bar-nav.open .burger span:first-child{transform:translateY(3.5px) rotate(45deg)}
.bar-nav.open .burger span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
#prog{z-index:90}
html{scroll-padding-top:calc(72px + env(safe-area-inset-top,0px))}
.hero{padding-top:110px}
@media(max-width:760px){
  .burger{display:flex}
  .nv .sm{display:none}
  .bar-nav nav{position:absolute;left:12px;right:12px;top:calc(100% + 6px);margin:0;flex-direction:column;gap:0;padding:8px;border-radius:16px;background:var(--panel);border:1px solid var(--line);opacity:0;transform:translateY(-8px) scale(.98);pointer-events:none;transition:opacity .25s,transform .25s}
  .bar-nav.open nav{opacity:1;transform:none;pointer-events:auto}
  .bar-nav nav a{padding:14px 12px;font-size:16px}
  .bar-nav nav a::after{display:none}
  .bar-nav nav a.on{color:var(--violet)}
}
/* custom cursor (mouse only) */
html.cc,html.cc *{cursor:none!important}
.cur{position:fixed;left:0;top:0;pointer-events:none;z-index:10000;opacity:0;transition:opacity .25s}
html.cc.live .cur{opacity:1}
.cur,.cur-label{will-change:transform}
.cur-arrow svg{display:block;transform-origin:1.5px 1.5px;transition:scale .2s cubic-bezier(.2,1.3,.4,1),filter .2s;filter:drop-shadow(0 2px 6px rgba(139,92,246,.6))}
html.cc.hov .cur-arrow svg{scale:1.2;filter:drop-shadow(0 3px 10px rgba(255,79,163,.75))}
html.cc.down .cur-arrow svg{scale:.86}
.cur-bar{width:2px;height:24px;margin:-12px 0 0 -1px;border-radius:2px;background:linear-gradient(#a78bfa,#7c3aed);box-shadow:0 0 8px rgba(139,92,246,.7);opacity:0!important}
html.cc.live.txt .cur-bar{opacity:1!important}
html.cc.live.txt .cur-arrow{opacity:0!important}
.cur-label{position:fixed;left:0;top:0;margin:26px 0 0 22px;padding:4px 12px;border-radius:999px;pointer-events:none;z-index:10001;opacity:0;white-space:nowrap;
  font:700 12px/1.4 var(--body);color:#fff;background:linear-gradient(120deg,var(--violet),var(--pink));box-shadow:0 6px 20px rgba(139,92,246,.45);transition:opacity .2s}
html.cc.live.lab .cur-label{opacity:1}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  h1 .w span{transform:none}.sub,.box{opacity:1}.rv{opacity:1;transform:none}
}
