/* Nexus site styles v2. Dark, violet + canary. Poppins display and body, Geist Mono for readouts.
   Radius system: pills for buttons/chips, 24px cards, 14px inner elements. */

@font-face{font-family:'Poppins';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/poppins-400-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Poppins';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/poppins-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Poppins';font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/poppins-500-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Poppins';font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/poppins-500-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/poppins-600-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/poppins-600-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/poppins-700-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/poppins-700-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Geist Mono';font-style:normal;font-weight:100 900;font-display:swap;src:url('/fonts/geist-mono-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Geist Mono';font-style:normal;font-weight:100 900;font-display:swap;src:url('/fonts/geist-mono-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}

:root{
  --bg:#07060f;
  --bg-2:#0c0a1a;
  --bg-3:#120e24;
  --glass:rgba(255,255,255,.035);
  --glass-2:rgba(255,255,255,.06);
  --line:rgba(255,255,255,.08);
  --line-2:rgba(255,255,255,.14);
  --text:#f7f5ff;
  --muted:#b9b2d8;
  --dim:#7d76a3;
  --v800:#4b2fb3;
  --v700:#6d4ae0;
  --v500:#8a6cf5;
  --v400:#9f86ff;
  --v200:#d6c8ff;
  --sun:#ffe56b;
  --sun-2:#eac81f;
  --ok:#8df0c2;
  --danger:#ff8f8f;
  --grad:linear-gradient(135deg,#6d4ae0 0%,#9f86ff 55%,#d6c8ff 100%);
  --font:'Poppins',system-ui,-apple-system,'Segoe UI',sans-serif;
  --mono:'Geist Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  --ease:cubic-bezier(.16,1,.3,1);
  --ease-io:cubic-bezier(.65,0,.35,1);
  --r:24px;
  --r-sm:14px;
  --nav-h:64px;
  --pad:clamp(1rem,4vw,2.5rem);
  --max:1280px;
  color-scheme:dark;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 28px)}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}
img,video,canvas,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
input,textarea,select{font:inherit;color:inherit}
h1,h2,h3,h4,p,ul,ol,figure,dl,dd{margin:0}
ul,ol{padding:0;list-style:none}
::selection{background:rgba(159,134,255,.4);color:#fff}
:focus-visible{outline:2px solid var(--v400);outline-offset:3px;border-radius:8px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.grain{position:fixed;inset:0;z-index:70;pointer-events:none;background:url('/img/grain.png');background-size:160px 160px;opacity:.045;mix-blend-mode:overlay}

/* Scroll progress (progressive enhancement, no JS) */
.progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:80;background:var(--grad);transform-origin:0 50%;transform:scaleX(0);pointer-events:none}
@supports (animation-timeline: scroll()){
  .progress{animation:grow linear both;animation-timeline:scroll(root)}
  @keyframes grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
}

.wrap{width:min(100% - 2*var(--pad),var(--max));margin-inline:auto}
.wrap-narrow{width:min(100% - 2*var(--pad),880px);margin-inline:auto}
.icon{width:1.25em;height:1.25em;fill:currentColor;flex:none}

/* Type */
.display{font-weight:700;letter-spacing:-.035em;line-height:1.04}
.h1{font-size:clamp(2.5rem,6.6vw,4.6rem)}
.h2{font-size:clamp(2rem,4.4vw,3.3rem)}
.h3{font-size:clamp(1.5rem,2.6vw,2.1rem);letter-spacing:-.03em;line-height:1.12}
.grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;background-size:200% 200%;animation:shimmer 7s ease-in-out infinite}
@keyframes shimmer{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--mono);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--v200);margin-bottom:1.1rem;padding:.4rem .8rem;border-radius:999px;border:1px solid rgba(159,134,255,.3);background:rgba(109,74,224,.12)}
.eyebrow i{width:.45rem;height:.45rem;border-radius:50%;background:var(--sun);box-shadow:0 0 12px var(--sun)}
.lead{color:var(--muted);font-size:clamp(1.05rem,1.4vw,1.2rem);max-width:60ch;line-height:1.6}
.muted{color:var(--muted)}
.dim{color:var(--dim)}
.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}
.sec-head{max-width:780px;margin-bottom:clamp(2.25rem,5vw,3.75rem)}
.sec-head .lead{margin-top:1rem}
.center{text-align:center;margin-inline:auto}
.center .eyebrow{margin-inline:auto}
.sun{color:var(--sun)}
.dot{display:inline-block;width:.17em;height:.17em;border-radius:50%;background:linear-gradient(135deg,var(--sun),var(--sun-2));vertical-align:baseline;margin-left:.06em;position:relative;top:-.02em;box-shadow:0 0 18px rgba(255,229,107,.7)}
section{position:relative;padding-block:clamp(4.5rem,9vw,8rem)}

/* Glass + gradient border */
.glass{position:relative;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));border:1px solid var(--line);border-radius:var(--r);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 30px 80px -40px rgba(0,0,0,.8);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.gborder{position:relative;border-radius:var(--r);background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.015));border:1px solid transparent}
.gborder::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:linear-gradient(135deg,rgba(159,134,255,.7),rgba(255,255,255,.08) 38%,rgba(255,255,255,.06) 62%,rgba(255,229,107,.45));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}

/* Aurora blobs */
.aurora{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1}
.aurora i{position:absolute;border-radius:50%;filter:blur(70px);opacity:.55;will-change:transform;animation:drift 22s ease-in-out infinite alternate}
.aurora i:nth-child(1){width:60vw;height:60vw;left:-10vw;top:-20vw;background:radial-gradient(circle,rgba(109,74,224,.75),rgba(109,74,224,0) 65%)}
.aurora i:nth-child(2){width:50vw;height:50vw;right:-15vw;top:-5vw;background:radial-gradient(circle,rgba(159,134,255,.55),rgba(159,134,255,0) 65%);animation-duration:28s;animation-delay:-8s}
.aurora i:nth-child(3){width:34vw;height:34vw;right:20vw;bottom:-10vw;background:radial-gradient(circle,rgba(255,229,107,.22),rgba(255,229,107,0) 65%);animation-duration:34s;animation-delay:-15s}
@keyframes drift{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(6vw,4vw,0) scale(1.12)}}

/* Buttons */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.55rem;height:3.2rem;padding:0 1.55rem;border-radius:999px;font-weight:600;font-size:.98rem;line-height:1;white-space:nowrap;overflow:hidden;isolation:isolate;transition:transform .3s var(--ease),box-shadow .3s var(--ease),background-color .3s var(--ease),border-color .3s var(--ease),color .3s var(--ease)}
.btn:active{transform:translateY(1px) scale(.985)}
.btn .icon{width:1.05em;height:1.05em;transition:transform .3s var(--ease)}
.btn:hover .icon{transform:translateX(3px)}
.btn-primary{background:linear-gradient(135deg,#8a6cf5,#a995ff);color:#120c28;box-shadow:0 10px 30px -12px rgba(138,108,245,.9),inset 0 1px 0 rgba(255,255,255,.35)}
.btn-primary::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%);transform:translateX(-120%);z-index:-1;transition:transform .9s var(--ease)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 40px -14px rgba(138,108,245,1),inset 0 1px 0 rgba(255,255,255,.4)}
.btn-primary:hover::after{transform:translateX(120%)}
.btn-ghost{border:1px solid var(--line-2);color:var(--text);background:rgba(255,255,255,.03);backdrop-filter:blur(8px)}
.btn-ghost:hover{border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.07);transform:translateY(-2px)}
.btn-sun{background:linear-gradient(135deg,#ffe56b,#f1cf2a);color:#1d1600;box-shadow:0 10px 30px -12px rgba(255,229,107,.8)}
.btn-sun:hover{transform:translateY(-2px)}
.btn-sm{height:2.55rem;padding:0 1.1rem;font-size:.9rem}
.btn-lg{height:3.5rem;padding:0 1.9rem;font-size:1.05rem}
.btn-block{width:100%}
.btn[disabled]{opacity:.55;cursor:not-allowed}

/* Floating pill nav */
.nav{position:fixed;top:12px;left:0;right:0;z-index:60;display:flex;justify-content:center;padding:0 10px}
.nav-pill{width:min(100%,1120px);height:var(--nav-h);display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 .55rem 0 1.1rem;border-radius:999px;border:1px solid var(--line);background:rgba(10,8,20,.55);backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);box-shadow:0 20px 50px -30px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.06);transition:background-color .35s var(--ease),border-color .35s var(--ease)}
.nav.is-scrolled .nav-pill{background:rgba(10,8,20,.78);border-color:var(--line-2)}
.brand{display:inline-flex;align-items:center;gap:.6rem;font-weight:700;letter-spacing:.12em;font-size:.85rem}
.brand svg{width:30px;height:30px}
.nav-links{display:none;align-items:center;gap:.25rem;font-size:.93rem;color:var(--muted);font-weight:500}
.nav-links a{padding:.5rem .85rem;border-radius:999px;transition:color .25s,background-color .25s}
.nav-links a:hover{color:var(--text);background:rgba(255,255,255,.06)}
.nav-cta{display:flex;align-items:center;gap:.4rem}
.nav-cta .login{display:none;color:var(--muted);font-size:.92rem;font-weight:500;padding:.5rem .8rem;border-radius:999px}
.nav-cta .login:hover{color:var(--text);background:rgba(255,255,255,.06)}
.nav-toggle{display:inline-grid;place-items:center;width:2.7rem;height:2.7rem;border-radius:999px;border:1px solid var(--line-2);background:rgba(255,255,255,.03)}
.nav-toggle .icon{width:1.25rem;height:1.25rem}
.nav-toggle .ic-x{display:none}
.nav.is-open .nav-toggle .ic-x{display:block}
.nav.is-open .nav-toggle .ic-list{display:none}
.sheet{position:fixed;inset:0;z-index:55;background:rgba(7,6,15,.92);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:calc(var(--nav-h) + 40px) var(--pad) 2rem;display:flex;flex-direction:column;gap:.2rem;opacity:0;pointer-events:none;transition:opacity .35s var(--ease)}
.sheet.is-open{opacity:1;pointer-events:auto}
.sheet a{font-size:2rem;font-weight:700;letter-spacing:-.03em;padding:.75rem 0;border-bottom:1px solid var(--line);transform:translateY(12px);opacity:0;transition:transform .5s var(--ease),opacity .5s var(--ease);transition-delay:calc(var(--i) * 50ms)}
.sheet.is-open a{transform:none;opacity:1}
.sheet .sheet-actions{margin-top:auto;display:grid;gap:.6rem;padding-top:1.5rem}
.sheet .sheet-actions a{font-size:1rem;font-weight:600;letter-spacing:0;padding:0;border:0;opacity:1;transform:none}
@media (min-width:1024px){
  .nav-links{display:flex}
  .nav-cta .login{display:inline-block}
  .nav-toggle,.sheet{display:none}
}
#top-sentinel{position:absolute;top:0;left:0;width:1px;height:30px;pointer-events:none}

/* Hero */
.hero{position:relative;min-height:100dvh;display:flex;flex-direction:column;justify-content:flex-start;padding-top:calc(var(--nav-h) + 64px);padding-bottom:0;overflow:clip;isolation:isolate;background:radial-gradient(80% 50% at 50% 0%,rgba(109,74,224,.18),transparent 70%),var(--bg)}
.hero .aurora{z-index:0;opacity:0;animation:fadeIn 1.6s ease forwards}
@keyframes fadeIn{to{opacity:1}}
.hero-copy{position:relative;z-index:3;text-align:center;width:100%;max-width:1080px;margin:0 auto;padding:0 var(--pad)}
.hero-copy .eyebrow{margin-bottom:1.6rem;opacity:0;animation:fadeUp .9s var(--ease) forwards;animation-delay:.05s;transition:border-color .3s,background .3s}
.hero-copy .eyebrow:hover{border-color:rgba(159,134,255,.6);background:rgba(109,74,224,.2)}
.hero-copy .eyebrow .icon{width:.9em;height:.9em;color:var(--v200)}
.hero-copy .h1{font-size:clamp(2.35rem,5.3vw,4.15rem);text-wrap:balance;letter-spacing:-.04em;line-height:1.03}
.hero-copy .h1 .w{display:inline-block;filter:blur(14px);opacity:0;transform:translateY(26px) scale(.98);animation:wordIn 1.1s var(--ease) forwards;animation-delay:calc(var(--i) * 65ms + 160ms);padding:0 .01em}
@keyframes wordIn{to{filter:blur(0);opacity:1;transform:none}}
.hero-copy .lead{margin:1.5rem auto 0;text-align:center;max-width:58ch;opacity:0;animation:fadeUp 1s var(--ease) forwards;animation-delay:.75s}
.hero-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:2.1rem;opacity:0;animation:fadeUp 1s var(--ease) forwards;animation-delay:.9s}
@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.hero-vignette{position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(120% 90% at 50% 40%,transparent 50%,rgba(7,6,15,.75) 100%)}
@supports (animation-timeline: scroll()){
  .hero-copy{animation:fadeUp 1s var(--ease) forwards,heroCopyOut linear both;animation-delay:0s,0s;animation-timeline:auto,scroll(root);animation-range:normal,0 70vh}
  .hero-copy .eyebrow,.hero-copy .lead,.hero-actions,.ticker{animation-timeline:auto}
  .orbit{animation:orbitOut linear both;animation-timeline:scroll(root);animation-range:0 90vh}
  @keyframes heroCopyOut{from{transform:translateY(0);opacity:1}to{transform:translateY(-70px);opacity:0}}
  @keyframes orbitOut{from{transform:translateY(0)}to{transform:translateY(140px)}}
}

/* Live production ticker */
.ticker{position:relative;z-index:3;display:inline-flex;align-items:center;gap:.7rem;margin:1.4rem auto 0;padding:.5rem .9rem .5rem .7rem;border-radius:999px;border:1px solid var(--line);background:rgba(10,8,20,.6);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font-family:var(--mono);font-size:.78rem;color:var(--muted);max-width:min(100%,640px);opacity:0;animation:fadeUp 1s var(--ease) forwards;animation-delay:1s}
.ticker .led{width:.55rem;height:.55rem;border-radius:50%;background:var(--v400);box-shadow:0 0 0 4px rgba(159,134,255,.18);transition:background .4s,box-shadow .4s;flex:none}
.ticker.is-done .led{background:var(--sun);box-shadow:0 0 0 4px rgba(255,229,107,.22),0 0 18px rgba(255,229,107,.8)}
.ticker .t-state{color:var(--v200);flex:none}
.ticker.is-done .t-state{color:var(--sun)}
.ticker .t-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text)}
.ticker .t-stage{flex:none;color:var(--dim)}
.ticker .t-stage b{color:var(--muted);font-weight:500}
.ticker-wrap{position:relative;z-index:3;text-align:center;padding:0 var(--pad)}

/* Orbit: 3D ring of real thumbnails with floor reflection */
.orbit{--px:0;--py:0;position:absolute;inset:0;z-index:1;perspective:1700px;perspective-origin:50% 36%;pointer-events:none;overflow:hidden;clip-path:inset(50% 0 0 0);mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent)}
.ring-tilt{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateY(calc(var(--px) * 3deg)) rotateX(calc(var(--py) * -2deg));transition:transform .6s var(--ease);will-change:transform}
.ring{--n:24;--r:760px;--w:190px;position:absolute;left:50%;top:41%;width:0;height:0;transform-style:preserve-3d;animation:spin 110s linear infinite}
.ring .item{position:absolute;width:var(--w);height:calc(var(--w) * 9 / 16);left:calc(var(--w) / -2);top:calc(var(--w) * 9 / -32);transform:rotateY(calc(var(--i) * 360deg / var(--n))) translateZ(var(--r)) rotateX(16deg);backface-visibility:hidden;-webkit-backface-visibility:hidden;transform-style:preserve-3d}
.ring .item .in{position:absolute;inset:0;border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,.16);background:var(--bg-3);box-shadow:0 40px 80px -30px rgba(0,0,0,.85),0 0 0 1px rgba(0,0,0,.4);opacity:0;transform:translateY(40px) scale(.85);animation:itemIn 1.4s var(--ease) forwards;animation-delay:calc(var(--i) * 45ms + 350ms)}
@keyframes itemIn{to{opacity:1;transform:none}}
.ring .item img{width:100%;height:100%;object-fit:cover}
.ring .item .in::before{content:"";position:absolute;inset:0;background:linear-gradient(165deg,rgba(255,255,255,.22),rgba(255,255,255,0) 38%);pointer-events:none;z-index:2}
.ring .item .in::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,6,15,0) 55%,rgba(7,6,15,.55));pointer-events:none}
.ring .item.rf{transform:rotateY(calc(var(--i) * 360deg / var(--n))) translateZ(var(--r)) rotateX(16deg) translateY(calc(var(--w) * 9 / 16 + 10px)) scaleY(-1)}
.ring .item.rf{backface-visibility:visible;-webkit-backface-visibility:visible}
.ring .item.rf .in{box-shadow:none;border-color:rgba(255,255,255,.06);opacity:0;animation:rfIn 1.4s var(--ease) forwards;animation-delay:calc(var(--i) * 45ms + 350ms);-webkit-mask-image:linear-gradient(180deg,transparent 15%,rgba(0,0,0,.5) 100%);mask-image:linear-gradient(180deg,transparent 15%,rgba(0,0,0,.5) 100%);filter:blur(1.5px) saturate(.8)}
@keyframes rfIn{to{opacity:.55;transform:none}}
.ring .item.rf .in::before{display:none}
@keyframes spin{from{transform:rotateX(-16deg) rotateY(0deg)}to{transform:rotateX(-16deg) rotateY(-360deg)}}
.orbit-floor{position:absolute;left:50%;bottom:-18%;width:140vw;height:58%;transform:translateX(-50%);background:radial-gradient(50% 60% at 50% 60%,rgba(109,74,224,.5),rgba(109,74,224,0) 70%);filter:blur(34px);z-index:0;pointer-events:none;opacity:0;animation:fadeIn 2s ease forwards;animation-delay:.4s}
.hero-fade{position:absolute;left:0;right:0;bottom:0;height:200px;background:linear-gradient(180deg,rgba(7,6,15,0),var(--bg));z-index:2;pointer-events:none}
.hero-stage-space{flex:1;min-height:clamp(280px,40vh,440px)}
@media (max-width:767px){
  .hero{padding-top:calc(var(--nav-h) + 44px)}
  .ring{--r:360px;--w:158px;top:55%;animation-duration:80s}
  .ring .item.rf{display:none}
  .ring .item .in{box-shadow:0 20px 40px -20px rgba(0,0,0,.8)}
  .orbit{perspective:820px;perspective-origin:50% 40%;mask-image:none;-webkit-mask-image:none;clip-path:inset(58% 0 0 0)}
  .hero-stage-space{min-height:clamp(250px,46vh,380px)}
  .ticker{font-size:.72rem;gap:.5rem}
  .ticker .t-stage{display:none}
}
@media (min-width:768px) and (max-width:1199px){.ring{--r:600px;--w:165px;top:44%}.orbit{perspective:1500px}}
@media (min-width:1600px){.ring{--r:900px;--w:230px;top:38%}.orbit{perspective:2000px}}
@media (hover:none){.ring-tilt{transition:none}}

/* Readout strip */
.readout{padding-block:0;margin-top:-1rem}
.readout .wrap{display:grid;gap:1px;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--line)}
.readout .cell{background:var(--bg-2);padding:1.4rem 1.25rem;display:grid;gap:.25rem}
.readout .num{font-family:var(--mono);font-size:clamp(1.6rem,3vw,2.3rem);color:var(--text);font-weight:500;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.readout .num small{font-size:.55em;color:var(--v200);margin-left:.15em;font-weight:500}
.readout .lbl{color:var(--dim);font-size:.86rem}
@media (min-width:900px){.readout .wrap{grid-template-columns:repeat(4,1fr)}.readout .cell{padding:1.75rem 1.75rem}}

/* Trailer */
.trailer .player{position:relative;width:min(100%,1100px);margin-inline:auto;aspect-ratio:16/9;border-radius:var(--r);overflow:hidden;background:#000;box-shadow:0 60px 120px -50px rgba(109,74,224,.6),0 20px 50px -20px rgba(0,0,0,.8)}
.trailer .player-wrap{position:relative;padding:1px;border-radius:calc(var(--r) + 1px);background:linear-gradient(135deg,rgba(159,134,255,.6),rgba(255,255,255,.08) 40%,rgba(255,229,107,.4));width:min(100%,1102px);margin-inline:auto}
.player video,.player img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.player .teaser{opacity:0;transition:opacity .8s var(--ease)}
.player .teaser.is-ready{opacity:1}
.player .scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,6,15,.1) 30%,rgba(7,6,15,.85) 100%)}
.player .play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;width:100%;height:100%}
.player .play-btn{position:relative;display:grid;place-items:center;width:clamp(72px,9vw,100px);height:clamp(72px,9vw,100px);border-radius:50%;background:linear-gradient(135deg,#8a6cf5,#a995ff);color:#120c28;box-shadow:0 20px 50px -10px rgba(109,74,224,.9);transition:transform .4s var(--ease)}
.player .play-btn::before{content:"";position:absolute;inset:-14px;border-radius:50%;border:1px solid rgba(159,134,255,.5);animation:ripple 2.2s ease-out infinite}
.player .play-btn::after{content:"";position:absolute;inset:-14px;border-radius:50%;border:1px solid rgba(159,134,255,.5);animation:ripple 2.2s ease-out infinite;animation-delay:1.1s}
@keyframes ripple{0%{transform:scale(.9);opacity:.8}100%{transform:scale(1.5);opacity:0}}
.player .play-btn .icon{width:38%;height:38%;margin-left:5%}
.player .play:hover .play-btn{transform:scale(1.08)}
.player .meta{position:absolute;left:clamp(1rem,3vw,2rem);right:clamp(1rem,3vw,2rem);bottom:clamp(1rem,3vw,1.75rem);display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;pointer-events:none}
.player .meta strong{display:block;font-size:clamp(1.05rem,2.2vw,1.5rem);letter-spacing:-.02em;line-height:1.15;font-weight:600}
.player .meta span{display:block;color:var(--muted);font-size:.9rem;margin-top:.25rem}
.player .meta .dur{font-family:var(--mono);font-size:.85rem;color:var(--text);background:rgba(7,6,15,.6);border:1px solid var(--line-2);padding:.4rem .7rem;border-radius:999px;backdrop-filter:blur(6px)}
.player.is-playing .teaser,.player.is-playing .scrim,.player.is-playing .play,.player.is-playing .meta,.player.is-playing .poster{display:none}
.player .full{position:absolute;inset:0;width:100%;height:100%;background:#000}

/* Results: double marquee */
.results{overflow:clip}
.results::before{content:"";position:absolute;inset:auto 0 0 0;height:60%;background:radial-gradient(60% 60% at 50% 100%,rgba(109,74,224,.22),transparent 70%);pointer-events:none}
.marquee{--gap:1.1rem;position:relative;display:flex;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.marquee + .marquee{margin-top:var(--gap)}
.marquee-track{display:flex;gap:var(--gap);padding-right:var(--gap);flex:none;animation:scroll-x 80s linear infinite;will-change:transform}
.marquee.reverse .marquee-track{animation-direction:reverse;animation-duration:95s}
.marquee.is-paused .marquee-track{animation-play-state:paused}
.marquee:hover .marquee-track{animation-play-state:paused}
@keyframes scroll-x{to{transform:translateX(-100%)}}
.thumb{flex:none;width:clamp(240px,27vw,360px);transition:transform .5s var(--ease)}
.thumb:hover{transform:translateY(-6px) scale(1.02)}
.thumb img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:16px;border:1px solid var(--line);background:var(--bg-3);box-shadow:0 20px 40px -20px rgba(0,0,0,.8)}
.thumb figcaption{margin-top:.65rem;display:grid;gap:.15rem;padding:0 .25rem}
.thumb .niche{font-family:var(--mono);font-size:.7rem;letter-spacing:.06em;color:var(--v200)}
.thumb .title{font-size:.88rem;color:var(--muted);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.results-note{margin-top:2rem;color:var(--dim);font-size:.9rem;text-align:center;max-width:70ch;margin-inline:auto}

/* Reveal */
[data-reveal]{opacity:0;transform:translateY(28px);filter:blur(8px);transition:opacity 1s var(--ease),transform 1s var(--ease),filter 1s var(--ease);transition-delay:calc(var(--i,0) * 90ms)}
[data-reveal].in{opacity:1;transform:none;filter:blur(0)}
@media (max-width:767px){[data-reveal]{filter:blur(5px);transform:translateY(18px)}}

/* How it works: sticky console */
.how{background:linear-gradient(180deg,var(--bg) 0%,var(--bg-2) 50%,var(--bg) 100%)}
.how-grid{display:grid;gap:3rem}
.how-sticky{display:none}
.hstep{padding:2.5rem 0;border-top:1px solid var(--line)}
.hstep:first-child{border-top:0;padding-top:0}
.hstep .num{display:inline-grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:999px;font-family:var(--mono);font-size:.85rem;color:#120c28;background:var(--grad);margin-bottom:1.1rem;box-shadow:0 10px 30px -12px rgba(138,108,245,.9)}
.hstep .h3{margin-bottom:.9rem}
.hstep p{color:var(--muted);max-width:52ch}
.hstep .more{margin-top:1.25rem;display:grid;gap:.6rem;color:var(--muted);font-size:.95rem}
.hstep .more li{display:flex;gap:.6rem;align-items:flex-start}
.hstep .more .icon{color:var(--sun);margin-top:.2em;width:1.05em;height:1.05em}
.hstep .more b{color:var(--text);font-weight:600}
.hstep-visual{margin-top:1.75rem}
.panel{display:none}
.panel.is-active{display:block}
@media (min-width:960px){
  .how-grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:4.5rem;align-items:start}
  .how-sticky{display:block;position:sticky;top:calc(var(--nav-h) + 40px);order:1}
  .how-steps{order:2}
  .hstep{min-height:70vh;display:flex;flex-direction:column;justify-content:center;padding:3rem 0}
  .hstep:first-child{padding-top:0}
  .hstep-visual{display:none}
  .console{position:relative;min-height:560px}
  .panel{display:block;position:absolute;inset:0;opacity:0;transform:translateY(16px) scale(.985);filter:blur(6px);transition:opacity .7s var(--ease),transform .7s var(--ease),filter .7s var(--ease);pointer-events:none}
  .panel.is-active{opacity:1;transform:none;filter:blur(0);pointer-events:auto;position:relative}
}

/* Panel: template spec */
.spec{overflow:hidden;border-radius:var(--r)}
.spec-head{display:flex;align-items:center;gap:.9rem;padding:1.1rem 1.35rem;border-bottom:1px solid var(--line)}
.spec-head img{width:46px;height:46px;border-radius:50%;border:1px solid var(--line-2)}
.spec-head strong{display:block;font-size:1.05rem;letter-spacing:-.01em;font-weight:600}
.spec-head span{display:block;color:var(--dim);font-size:.85rem}
.spec-head .live{margin-left:auto;display:inline-flex;align-items:center;gap:.4rem;font-family:var(--mono);font-size:.7rem;color:var(--sun);padding:.3rem .6rem;border-radius:999px;border:1px solid rgba(255,229,107,.3);background:rgba(255,229,107,.08)}
.spec-head .live i{width:.4rem;height:.4rem;border-radius:50%;background:var(--sun);box-shadow:0 0 10px var(--sun)}
.spec-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:5px;padding:5px;background:rgba(255,255,255,.02)}
.spec-strip img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px}
.spec-grid{display:grid;grid-template-columns:1fr}
.spec-grid div{padding:1rem 1.35rem;border-top:1px solid var(--line);transition:background .3s}
.spec-grid div:hover{background:rgba(255,255,255,.03)}
.spec-grid dt{font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--v200);margin-bottom:.3rem}
.spec-grid dd{font-size:.95rem;color:var(--text)}
@media (min-width:560px){
  .spec-grid{grid-template-columns:1fr 1fr}
  .spec-grid div:nth-child(2n){border-left:1px solid var(--line)}
}

/* Panel: pipeline */
.pipeline{padding:clamp(1.25rem,3vw,1.75rem);display:grid;gap:1.4rem}
.pipe-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}
.pipe-top .status{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--mono);font-size:.76rem;letter-spacing:.06em;color:var(--muted)}
.pipe-top .status i{width:.5rem;height:.5rem;border-radius:50%;background:var(--dim);transition:background .3s,box-shadow .3s}
.pipeline.run .pipe-top .status i{background:var(--v400);box-shadow:0 0 0 4px rgba(159,134,255,.2);animation:blink 1s ease-in-out infinite}
.pipeline.done .pipe-top .status i{background:var(--sun);box-shadow:0 0 0 4px rgba(255,229,107,.2),0 0 14px var(--sun)}
@keyframes blink{50%{opacity:.4}}
.pbar{height:6px;border-radius:999px;background:rgba(255,255,255,.07);overflow:hidden}
.pbar i{display:block;height:100%;width:0;border-radius:999px;background:var(--grad);transition:width .65s var(--ease-io)}
.pipeline.done .pbar i{background:linear-gradient(90deg,#9f86ff,#ffe56b)}
.stages{display:grid;gap:.15rem}
.stage{display:grid;grid-template-columns:2rem 1fr;gap:.9rem;padding:.55rem 0;align-items:start;opacity:.4;transition:opacity .5s var(--ease)}
.stage .n{width:2rem;height:2rem;border-radius:50%;display:grid;place-items:center;font-family:var(--mono);font-size:.74rem;border:1px solid var(--line-2);background:var(--bg);transition:all .4s var(--ease)}
.stage .n .icon{display:none;width:1rem;height:1rem}
.stage strong{display:block;font-size:.95rem;font-weight:600;letter-spacing:-.01em}
.stage span{display:block;color:var(--muted);font-size:.86rem}
.stage.active{opacity:1}
.stage.active .n{border-color:var(--v400);color:var(--v200);background:rgba(159,134,255,.14);box-shadow:0 0 0 4px rgba(159,134,255,.15)}
.stage.done{opacity:.85}
.stage.done .n{background:var(--sun);border-color:var(--sun);color:#1d1600}
.stage.done .n b{display:none}
.stage.done .n .icon{display:block}
.pipe-result{display:grid;grid-template-columns:1fr;gap:1rem;align-items:center;border-top:1px solid var(--line);padding-top:1.4rem;opacity:0;transform:translateY(12px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.pipeline.done .pipe-result{opacity:1;transform:none}
.pipe-result img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:12px;border:1px solid var(--line-2)}
.pipe-result strong{display:block;font-size:1.05rem;letter-spacing:-.015em;line-height:1.25;font-weight:600}
.pipe-result span{display:block;color:var(--muted);font-size:.88rem;margin-top:.35rem}
.pipe-result .tag{display:inline-flex;align-items:center;gap:.35rem;font-family:var(--mono);font-size:.72rem;color:var(--sun);margin-bottom:.4rem}
@media (min-width:560px){.pipe-result{grid-template-columns:minmax(0,200px) 1fr}}
.generate{position:relative}
.generate::before{content:"";position:absolute;inset:-6px;border-radius:999px;border:1px solid rgba(159,134,255,.4);opacity:0;z-index:-1}
.pipeline.run .generate::before{animation:ripple 1.5s ease-out infinite}

/* Panel: review */
.review{display:grid;gap:1rem;padding:clamp(1.25rem,3vw,1.75rem)}
.picker-label{font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
.picker{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}
.picker label{position:relative;cursor:pointer;border-radius:12px;overflow:hidden;border:1px solid var(--line);transition:border-color .3s var(--ease),transform .3s var(--ease),box-shadow .3s var(--ease)}
.picker label:hover{transform:translateY(-3px)}
.picker input{position:absolute;inset:0;opacity:0;cursor:pointer}
.picker img{width:100%;aspect-ratio:16/9;object-fit:cover}
.picker .best{position:absolute;top:.5rem;left:.5rem;font-family:var(--mono);font-size:.66rem;letter-spacing:.08em;background:var(--sun);color:#1d1600;padding:.2rem .45rem;border-radius:999px}
.picker label:has(input:checked){border-color:var(--v400);box-shadow:0 0 0 3px rgba(159,134,255,.3),0 10px 30px -10px rgba(159,134,255,.6)}
.picker .mark{position:absolute;right:.5rem;bottom:.5rem;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--v400);color:#120c28;display:grid;place-items:center;opacity:0;transform:scale(.6);transition:all .3s var(--ease)}
.picker label:has(input:checked) .mark{opacity:1;transform:none}
.picker .mark .icon{width:.9rem;height:.9rem}
.handoff{display:grid;gap:1rem;padding:1.1rem;border-radius:var(--r-sm);border:1px solid var(--line);background:rgba(255,255,255,.025)}
.handoff header strong{display:block;font-size:1.02rem;letter-spacing:-.015em;line-height:1.25;font-weight:600}
.handoff header span{display:block;color:var(--dim);font-size:.85rem;margin-top:.25rem}
.handoff ul{display:grid;gap:.5rem}
.handoff li{display:flex;align-items:center;gap:.6rem;font-size:.92rem;color:var(--muted)}
.handoff li .icon{color:var(--sun);width:1.1rem;height:1.1rem}
.handoff .sent{display:none;align-items:center;gap:.75rem;padding:.9rem 1rem;border-radius:12px;background:rgba(255,229,107,.08);border:1px solid rgba(255,229,107,.3);font-size:.92rem}
.handoff .sent img{width:36px;height:36px;border-radius:50%}
.handoff.is-sent .sent{display:flex}
.handoff.is-sent .send{display:none}

/* Compare */
.compare .table{display:grid;gap:1rem}
.cmp{padding:1.5rem;border-radius:var(--r);border:1px solid var(--line);background:var(--glass);display:grid;gap:1.1rem;align-content:start}
.cmp h3{font-size:1.15rem;font-weight:600;letter-spacing:-.015em;display:flex;align-items:center;gap:.6rem}
.cmp h3 .icon{color:var(--dim)}
.cmp ul{display:grid;gap:.9rem}
.cmp li{display:grid;gap:.15rem;padding-top:.9rem;border-top:1px solid var(--line)}
.cmp li small{font-family:var(--mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}
.cmp li span{color:var(--muted);font-size:.93rem}
.cmp.nexus{background:linear-gradient(180deg,rgba(109,74,224,.22),rgba(255,255,255,.02) 60%)}
.cmp.nexus h3 .icon{color:var(--sun)}
.cmp.nexus li span{color:var(--text)}
.cmp.nexus li span b{color:var(--sun);font-weight:600}
@media (min-width:900px){.compare .table{grid-template-columns:1fr 1fr 1.15fr;gap:1.25rem}.cmp.nexus{transform:translateY(-12px)}}

/* Pricing */
.pricing::before{content:"";position:absolute;inset:0;background:radial-gradient(50% 40% at 50% 0%,rgba(109,74,224,.25),transparent 70%);pointer-events:none}
.pricing .notice{display:inline-flex;align-items:center;gap:.6rem;flex-wrap:wrap;justify-content:center;border:1px solid rgba(255,229,107,.3);background:rgba(255,229,107,.07);border-radius:999px;padding:.55rem 1rem;font-size:.9rem;color:var(--muted);margin-top:1.25rem}
.pricing .notice b{color:var(--sun);font-weight:600}
.lenbox{display:grid;gap:.8rem;padding:1.4rem 1.5rem;margin-bottom:1.5rem}
.lenbox .row{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.lenbox label{font-weight:600}
.lenbox output{font-family:var(--mono);font-size:1.25rem;color:var(--v200);font-variant-numeric:tabular-nums}
.lenbox small{color:var(--dim)}
.range{-webkit-appearance:none;appearance:none;width:100%;height:28px;background:transparent;cursor:pointer}
.range::-webkit-slider-runnable-track{height:6px;border-radius:999px;background:linear-gradient(90deg,var(--v400) var(--p,27%),rgba(255,255,255,.1) var(--p,27%))}
.range::-moz-range-track{height:6px;border-radius:999px;background:rgba(255,255,255,.1)}
.range::-moz-range-progress{height:6px;border-radius:999px;background:var(--v400)}
.range::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:var(--sun);border:3px solid var(--bg);margin-top:-9px;box-shadow:0 0 0 2px var(--sun),0 6px 20px -4px rgba(255,229,107,.9);transition:transform .2s}
.range::-webkit-slider-thumb:hover{transform:scale(1.1)}
.range::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:var(--sun);border:3px solid var(--bg);box-shadow:0 0 0 2px var(--sun)}
.plans{display:grid;gap:1rem;grid-template-columns:1fr}
.plan{--mx:50%;--my:50%;position:relative;display:flex;flex-direction:column;gap:1.1rem;border:1px solid var(--line);border-radius:var(--r);background:var(--glass);padding:clamp(1.25rem,2.4vw,1.65rem);transition:transform .5s var(--ease),border-color .5s var(--ease);overflow:hidden;isolation:isolate}
.plan::before{content:"";position:absolute;inset:0;background:radial-gradient(260px circle at var(--mx) var(--my),rgba(159,134,255,.16),transparent 60%);opacity:0;transition:opacity .4s;z-index:-1;pointer-events:none}
.plan:hover{transform:translateY(-4px);border-color:rgba(255,255,255,.2)}
.plan:hover::before{opacity:1}
.plan.featured{border-color:rgba(159,134,255,.55);background:linear-gradient(180deg,rgba(109,74,224,.22),rgba(255,255,255,.02) 55%);box-shadow:0 40px 90px -50px rgba(109,74,224,.9)}
.plan .popular{position:absolute;top:1.1rem;right:1.1rem;font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:#1d1600;background:var(--sun);padding:.3rem .6rem;border-radius:999px}
.plan-top{display:flex;align-items:center;gap:.6rem}
.plan-top h3{font-size:1.5rem;letter-spacing:-.02em;font-weight:600}
.save{font-family:var(--mono);font-size:.7rem;letter-spacing:.05em;color:var(--ok);border:1px solid rgba(141,240,194,.3);background:rgba(141,240,194,.08);padding:.2rem .55rem;border-radius:999px}
.plan .tagline{color:var(--muted);font-size:.92rem;min-height:2.9em}
.price{display:flex;align-items:baseline;gap:.45rem;flex-wrap:wrap}
.price .amount{font-size:clamp(2.5rem,4vw,3.2rem);letter-spacing:-.045em;line-height:1;font-weight:700}
.price .per{color:var(--dim);font-size:.9rem}
.price .from{font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;color:var(--sun);text-transform:uppercase}
.rate{display:flex;flex-wrap:wrap;align-items:baseline;gap:.15rem .4rem;padding:.9rem 1rem;border-radius:var(--r-sm);background:rgba(255,255,255,.03);border:1px solid var(--line)}
.rate b{font-family:var(--mono);font-size:1.35rem;color:var(--v200);font-weight:500;white-space:nowrap}
.rate span{color:var(--muted);font-size:.9rem;white-space:nowrap}
.rate small{flex-basis:100%;color:var(--dim);font-size:.75rem}
.facts{display:grid;gap:.45rem;font-size:.92rem;color:var(--muted)}
.facts b{color:var(--text);font-weight:600}
.facts .calc{color:var(--v200);transition:transform .25s var(--ease)}
.facts .calc.pop{transform:scale(1.03)}
.facts .calc.over{color:var(--sun)}
.seats{display:none;align-items:center;gap:.6rem;font-family:var(--mono);font-size:.76rem;color:var(--muted)}
.seats.is-live{display:flex}
.seats .bar{flex:1;height:5px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}
.seats .bar i{display:block;height:100%;background:linear-gradient(90deg,var(--v400),var(--sun));border-radius:999px;width:0;transition:width 1.4s var(--ease)}
.features{border:1px solid var(--line);border-radius:var(--r-sm);background:rgba(255,255,255,.02)}
.features summary{display:flex;align-items:center;justify-content:space-between;padding:.8rem 1rem;cursor:pointer;font-weight:600;font-size:.92rem;list-style:none}
.features summary::-webkit-details-marker{display:none}
.features summary .icon{transition:transform .3s var(--ease);color:var(--muted)}
.features[open] summary .icon{transform:rotate(180deg)}
.features ul{padding:0 1rem 1rem;display:grid;gap:.5rem;font-size:.89rem;color:var(--muted)}
.features li{display:flex;gap:.55rem;align-items:flex-start}
.features li .icon{color:var(--sun);width:1em;height:1em;margin-top:.3em}
.features.who summary{color:var(--ok)}
.plan .cta{margin-top:auto}
@media (min-width:700px){.plans{grid-template-columns:1fr 1fr}}
@media (min-width:1180px){.plans{grid-template-columns:repeat(4,1fr)}}
.minutes-note{margin-top:1.5rem;display:grid;gap:.5rem;color:var(--dim);font-size:.9rem;max-width:80ch}
.minutes-note b{color:var(--muted);font-weight:600}

/* Next steps */
.next{padding-top:0}
.next-grid{display:grid;gap:1.25rem;padding-top:2.5rem;border-top:1px solid var(--line)}
.next-item{display:grid;grid-template-columns:3rem 1fr;gap:1rem;align-items:start}
.next-item .ic{width:3rem;height:3rem;border-radius:14px;display:grid;place-items:center;color:#120c28;background:var(--grad);box-shadow:0 10px 30px -12px rgba(138,108,245,.9)}
.next-item strong{display:block;font-size:1.05rem;letter-spacing:-.01em;margin-bottom:.25rem;font-weight:600}
.next-item p{color:var(--muted);font-size:.93rem}
@media (min-width:900px){.next-grid{grid-template-columns:repeat(3,1fr);gap:2.5rem}}

/* Challenge */
.challenge{padding-block:0}
.challenge-box{position:relative;overflow:hidden;border-radius:calc(var(--r) + 8px);padding:clamp(1.75rem,5vw,3.75rem);display:grid;gap:1.75rem;isolation:isolate}
.challenge-box .aurora{z-index:-1}
.challenge-box .aurora i:nth-child(1){left:-20%;top:-40%;width:70%;height:140%}
.challenge-box .aurora i:nth-child(2){right:-10%;top:-30%;width:50%;height:120%}
.challenge-box .aurora i:nth-child(3){right:10%;bottom:-60%;width:50%;height:120%;opacity:.45}
.challenge-box .h2{max-width:15ch}
.challenge-box p{color:var(--muted);max-width:52ch;margin-top:.9rem}
.challenge-form{display:grid;gap:.6rem}
.challenge-form .field{display:flex;align-items:center;gap:.5rem;height:3.6rem;padding:0 .4rem 0 1.1rem;border-radius:999px;border:1px solid var(--line-2);background:rgba(7,6,15,.7)}
.challenge-form input{flex:1;min-width:0;background:none;border:0;outline:0;height:100%;color:var(--text);font-size:1rem}
.challenge-form input::placeholder{color:var(--dim)}
.challenge-form .field:focus-within{border-color:var(--v400);box-shadow:0 0 0 4px rgba(159,134,255,.2)}
.challenge-form small{color:var(--dim);padding-left:1rem}
@media (min-width:900px){.challenge-box{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:center;gap:3rem}}
@media (max-width:480px){.challenge-form .field{height:auto;flex-direction:column;align-items:stretch;padding:.4rem;border-radius:22px}.challenge-form input{height:2.8rem;padding:0 .7rem}.challenge-form .btn{width:100%}}

/* Tools bento */
.tools-grid{display:grid;gap:.9rem;grid-template-columns:1fr}
.tool{--mx:50%;--my:50%;position:relative;display:grid;gap:.9rem;padding:1.35rem;border-radius:var(--r);border:1px solid var(--line);background:var(--glass);transition:transform .5s var(--ease),border-color .5s var(--ease);overflow:hidden;isolation:isolate}
.tool::before{content:"";position:absolute;inset:0;background:radial-gradient(220px circle at var(--mx) var(--my),rgba(159,134,255,.16),transparent 60%);opacity:0;transition:opacity .4s;z-index:-1}
.tool:hover{transform:translateY(-4px);border-color:rgba(255,255,255,.2)}
.tool:hover::before{opacity:1}
.tool .ic{width:2.6rem;height:2.6rem;border-radius:12px;display:grid;place-items:center;color:var(--v200);background:rgba(159,134,255,.12);border:1px solid rgba(159,134,255,.25)}
.tool .ic .icon{width:1.3rem;height:1.3rem}
.tool strong{display:block;font-size:1.02rem;letter-spacing:-.01em;font-weight:600}
.tool p{color:var(--muted);font-size:.9rem;line-height:1.55;margin-top:.3rem}
.tool .grp{font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);position:absolute;top:1.2rem;right:1.2rem}
@media (min-width:640px){.tools-grid{grid-template-columns:1fr 1fr}}
@media (min-width:1100px){.tools-grid{grid-template-columns:repeat(4,1fr)}.tool.wide{grid-column:span 2}}

/* FAQ */
.faq-list{display:grid;gap:.6rem}
.faq-list details{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--glass);transition:border-color .3s,background .3s}
.faq-list details.is-open{border-color:rgba(159,134,255,.4);background:rgba(109,74,224,.08)}
.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.25rem;cursor:pointer;font-weight:600;font-size:1.02rem;letter-spacing:-.01em;list-style:none}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary .icon{flex:none;width:1.25rem;height:1.25rem;color:var(--v200);transition:transform .4s var(--ease)}
.faq-list details.is-open summary .icon{transform:rotate(45deg)}
.faq-list .a-wrap{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s var(--ease)}
.faq-list details.is-open .a-wrap{grid-template-rows:1fr}
.faq-list .a-wrap > div{overflow:hidden}
.faq-list .a{padding:0 1.25rem 1.25rem;color:var(--muted);max-width:70ch}

/* Brand CTA */
.cta-final{text-align:center;overflow:clip}
.cta-box{position:relative;padding:clamp(3rem,8vw,6rem) var(--pad);border-radius:calc(var(--r) + 8px);overflow:hidden;isolation:isolate}
.cta-box .aurora{z-index:-1}
.cta-box .mark{width:clamp(96px,14vw,150px);height:auto;margin:0 auto 1.75rem;filter:drop-shadow(0 20px 50px rgba(109,74,224,.7))}
.cta-box .mark .ring-dot{transform-origin:24.8px 21.6px;animation:dotpulse 2.6s ease-in-out infinite}
@keyframes dotpulse{0%,100%{transform:scale(1)}50%{transform:scale(1.25)}}
.cta-box .lead{margin:1.25rem auto 0}
.cta-box .actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:2rem}
.cta-box .x{margin-top:1.5rem;display:inline-flex;align-items:center;gap:.5rem;color:var(--muted);font-size:.92rem}
.cta-box .x:hover{color:var(--text)}

/* Footer */
footer{border-top:1px solid var(--line);padding:2rem 0 calc(2rem + env(safe-area-inset-bottom));color:var(--dim);font-size:.88rem}
footer .wrap{display:flex;flex-wrap:wrap;gap:1rem 2rem;align-items:center;justify-content:space-between}
footer nav{display:flex;flex-wrap:wrap;gap:1.25rem}
footer a:hover{color:var(--text)}

/* Request-access page */
.page{padding-top:calc(var(--nav-h) + 3.5rem);padding-bottom:5rem;position:relative;isolation:isolate;overflow:clip}
.page .aurora{opacity:.6}
.page-head{margin-bottom:2.5rem}
.page-head .lead{margin-top:1rem}
.back{display:inline-flex;align-items:center;gap:.4rem;color:var(--muted);font-size:.9rem;margin-bottom:1.5rem}
.back .icon{transform:rotate(180deg)}
.back:hover{color:var(--text)}
.form{display:grid;gap:2.75rem}
.fs{display:grid;gap:1.25rem;border:0;padding:0;margin:0;min-width:0}
.fs legend{font-size:1.5rem;letter-spacing:-.025em;padding:0;margin-bottom:.5rem;font-weight:700}
.fs .hint{color:var(--dim);font-size:.9rem;margin-top:-.5rem}
.plan-pick{display:grid;gap:.75rem;grid-template-columns:1fr}
.plan-pick button{display:grid;gap:.4rem;text-align:left;padding:1.05rem 1.15rem;border-radius:var(--r-sm);border:1px solid var(--line-2);background:var(--glass);transition:border-color .3s,background .3s,transform .3s}
.plan-pick button:hover{border-color:rgba(255,255,255,.25);transform:translateY(-2px)}
.plan-pick button[aria-pressed=true]{border-color:var(--v400);background:rgba(159,134,255,.12);box-shadow:0 0 0 3px rgba(159,134,255,.2)}
.plan-pick .pp-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.plan-pick .pp-top strong{font-size:1.15rem;letter-spacing:-.015em;font-weight:600}
.plan-pick .pp-price{font-family:var(--mono);font-size:.92rem;color:var(--v200)}
.plan-pick .pp-sub{color:var(--muted);font-size:.85rem}
.plan-pick .pp-check{width:1.25rem;height:1.25rem;border-radius:50%;border:1px solid var(--line-2);display:grid;place-items:center;flex:none}
.plan-pick .pp-check .icon{width:.8rem;height:.8rem;opacity:0}
.plan-pick button[aria-pressed=true] .pp-check{background:var(--sun);border-color:var(--sun);color:#1d1600}
.plan-pick button[aria-pressed=true] .pp-check .icon{opacity:1}
@media (min-width:640px){.plan-pick{grid-template-columns:1fr 1fr}}
@media (min-width:1100px){.plan-pick{grid-template-columns:repeat(4,1fr)}}
.field{display:grid;gap:.45rem}
.field label,.field .lbl{font-weight:600;font-size:.95rem}
.field label .req,.q .req{color:var(--sun)}
.field .help{color:var(--dim);font-size:.85rem}
.input{width:100%;height:3.2rem;padding:0 1rem;border-radius:var(--r-sm);border:1px solid var(--line-2);background:rgba(255,255,255,.03);color:var(--text);outline:0;transition:border-color .25s,box-shadow .25s}
.input::placeholder{color:var(--dim)}
.input:focus{border-color:var(--v400);box-shadow:0 0 0 4px rgba(159,134,255,.2)}
textarea.input{height:auto;min-height:8rem;padding:.8rem 1rem;resize:vertical}
.two{display:grid;gap:1.25rem}
@media (min-width:640px){.two{grid-template-columns:1fr 1fr}}
.q{display:grid;gap:.65rem}
.q .lbl{font-weight:600;font-size:.95rem}
.chips{display:flex;flex-wrap:wrap;gap:.5rem}
.chip{position:relative;display:inline-flex;align-items:center;gap:.5rem;padding:.62rem 1rem;border-radius:999px;border:1px solid var(--line-2);background:rgba(255,255,255,.03);color:var(--muted);font-size:.92rem;cursor:pointer;transition:all .25s var(--ease);user-select:none}
.chip:hover{border-color:rgba(255,255,255,.28);color:var(--text)}
.chip input{position:absolute;inset:0;opacity:0;cursor:pointer;margin:0}
.chip .box{width:1rem;height:1rem;border-radius:4px;border:1px solid var(--line-2);display:grid;place-items:center;flex:none;transition:all .2s}
.chip.radio .box{border-radius:50%}
.chip .box .icon{width:.7rem;height:.7rem;opacity:0}
.chip:has(input:checked){border-color:var(--v400);background:rgba(159,134,255,.14);color:var(--text)}
.chip:has(input:checked) .box{background:var(--sun);border-color:var(--sun);color:#1d1600}
.chip:has(input:checked) .box .icon{opacity:1}
.chip:has(input:focus-visible){outline:2px solid var(--v400);outline-offset:2px}
.cond{display:none}
.cond.show{display:grid}
.form-error{display:none;padding:.9rem 1rem;border-radius:var(--r-sm);background:rgba(255,143,143,.08);border:1px solid rgba(255,143,143,.35);color:var(--danger);font-size:.93rem}
.form-error.show{display:block}
.submit-row{display:grid;gap:.75rem}
.submit-row small{color:var(--dim);font-size:.85rem}
.success{display:none;text-align:center;padding:clamp(2rem,5vw,3.5rem)}
.success.show{display:block}
.success .ok{width:4rem;height:4rem;border-radius:50%;background:var(--sun);color:#1d1600;display:grid;place-items:center;margin:0 auto 1.25rem;box-shadow:0 0 0 10px rgba(255,229,107,.14)}
.success .ok .icon{width:1.8rem;height:1.8rem}
.success p{color:var(--muted);margin-top:.75rem;max-width:48ch;margin-inline:auto}
.success .demo{display:none;margin-top:1.25rem;padding:.8rem 1rem;border-radius:var(--r-sm);border:1px dashed rgba(255,229,107,.45);color:var(--sun);font-size:.88rem;font-family:var(--mono)}
.success.is-demo .demo{display:block}
.form.is-busy{opacity:.6;pointer-events:none}

/* Legal */
.legal .wrap-narrow h1{margin-bottom:.5rem}
.legal .updated{color:var(--dim);font-size:.9rem;margin-bottom:2.5rem}
.legal h2{font-size:1.35rem;letter-spacing:-.02em;margin:2.25rem 0 .75rem;font-weight:600}
.legal p,.legal li{color:var(--muted)}
.legal ul{list-style:disc;padding-left:1.25rem;display:grid;gap:.4rem}
.legal a{color:var(--v200);text-decoration:underline;text-underline-offset:3px}
.legal address{font-style:normal;color:var(--muted);line-height:1.7}

.nf{min-height:100dvh;display:grid;place-items:center;text-align:center;padding:var(--pad)}

/* Reduced motion */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .hero-copy .h1 .w{filter:none;opacity:1;transform:none}
  .hero-copy .lead,.hero-actions,.ticker{opacity:1}
  .ring{animation:none;transform:rotateX(-16deg) rotateY(-8deg)}
  [data-reveal]{opacity:1;transform:none;filter:none}
  .marquee-track{animation:none}
  .marquee{mask-image:none;-webkit-mask-image:none;overflow-x:auto}
  .marquee-track.dup{display:none}
  .pipe-result{opacity:1;transform:none}
  .grad-text{animation:none}
}

/* Pipeline beam: the violet light line that grows down the stages while CodeFlow runs.
   Look comes from the After Effects line (hue-shifted to the brand violet), the timing from site.js (--p = 0..1). */
.stages-wrap{position:relative}
.stages{position:relative;z-index:1}
.beam{--p:0;position:absolute;left:1rem;top:1.55rem;bottom:1.55rem;width:0;pointer-events:none;z-index:0}
.beam-clip{position:absolute;top:-10px;bottom:-10px;left:-120px;width:240px;clip-path:inset(0 0 calc((1 - var(--p)) * 100% + 10px) calc(120px - 2.2rem));transition:clip-path .62s var(--ease-io);mask-image:linear-gradient(180deg,transparent 0,#000 26px,#000 calc(100% - 14px),transparent 100%);-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 26px,#000 calc(100% - 14px),transparent 100%)}
.beam-vid,.beam-css{position:absolute;inset:0;width:100%;height:100%;-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.35) 22%,#000 40%,#000 60%,rgba(0,0,0,.35) 78%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.35) 22%,#000 40%,#000 60%,rgba(0,0,0,.35) 78%,transparent 100%)}
.beam-vid{object-fit:fill;mix-blend-mode:screen;opacity:0;transition:opacity .5s}
.beam.has-vid .beam-vid{opacity:1}
.beam-css{background:linear-gradient(90deg,rgba(109,74,224,0) 0%,rgba(109,74,224,.06) 24%,rgba(138,108,245,.16) 38%,rgba(159,134,255,.34) 46%,rgba(226,214,255,.5) 50%,rgba(159,134,255,.34) 54%,rgba(138,108,245,.16) 62%,rgba(109,74,224,.06) 76%,rgba(109,74,224,0) 100%);transition:opacity .5s}
.beam.has-vid .beam-css{opacity:.55}
.beam-tip{position:absolute;left:0;top:calc(var(--p) * 100%);width:72px;height:72px;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(214,200,255,.9) 0%,rgba(159,134,255,.45) 32%,rgba(109,74,224,0) 70%);filter:blur(5px);opacity:0;transition:top .62s var(--ease-io),opacity .4s}
.beam-tip::after{content:"";position:absolute;left:50%;top:50%;width:7px;height:7px;border-radius:50%;transform:translate(-50%,-50%);background:#f3eeff;box-shadow:0 0 12px 3px rgba(190,170,255,.9)}
.pipeline.run .beam-tip{opacity:1}
.pipeline.done .stage .n{box-shadow:0 0 18px 2px rgba(159,134,255,.22)}

/* Results rail: fixed thumbnail strip on the left edge (desktop). Opens on hover or click,
   runs on its own, and can be scrolled up and down with the wheel, by dragging, or with the arrow keys. */
.rail{display:none}
@media (min-width:1024px) and (hover:hover){
  .rail{display:block;position:fixed;left:0;top:0;z-index:30;height:100vh;height:100dvh;width:52px;transition:width .3s var(--ease)}
  .rail.is-open{width:380px}
}
.rail-handle{position:absolute;left:0;top:50%;z-index:2;transform:translateY(-50%);display:flex;align-items:center;gap:.5rem;padding:1.5rem .6rem 1.5rem .5rem;border:1px solid var(--line);border-left:0;border-radius:0 18px 18px 0;background:rgba(18,14,36,.72);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:var(--v200);cursor:pointer;transition:opacity .5s var(--ease),border-color .3s}
.rail-handle:hover,.rail-handle:focus-visible{border-color:rgba(159,134,255,.5)}
.rail-handle span{writing-mode:vertical-rl;font-family:var(--mono);font-size:.66rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase}
.rail-handle i{width:1px;height:4rem;background:linear-gradient(180deg,transparent,rgba(159,134,255,.75),transparent)}
.rail.is-open .rail-handle{opacity:0;pointer-events:none}
.rail-strip{position:relative;height:100%;width:360px;overflow:hidden;opacity:0;transform:translateX(-100%);transition:opacity .55s cubic-bezier(.22,.61,.36,1),transform .55s cubic-bezier(.22,.61,.36,1);touch-action:none;cursor:grab}
.rail.is-open .rail-strip{opacity:1;transform:none}
.rail.is-dragging .rail-strip{cursor:grabbing}
.rail-band{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;width:100%;padding:1rem;will-change:transform;mask-image:linear-gradient(180deg,transparent,#000 12%,#000 88%,transparent);-webkit-mask-image:linear-gradient(180deg,transparent,#000 12%,#000 88%,transparent)}
.rail-tile{display:block;flex:none;width:168px;padding:0;overflow:hidden;border-radius:12px;border:1px solid var(--line-2);background:rgba(0,0,0,.4);transform-origin:left center;will-change:transform;cursor:pointer;transition:border-color .3s,box-shadow .3s}
.rail-tile:hover,.rail-tile:focus-visible{border-color:rgba(159,134,255,.6);box-shadow:0 10px 40px -12px rgba(159,134,255,.6)}
.rail-tile img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;pointer-events:none;-webkit-user-drag:none;user-select:none}
.rail-modal{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:1rem;background:rgba(4,3,10,.78);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.rail-modal[hidden]{display:none}
.rail-dialog{display:flex;flex-direction:column;width:100%;max-width:64rem;max-height:88vh;overflow:hidden;background:var(--bg-2);box-shadow:0 40px 120px -30px rgba(0,0,0,.85)}
.rail-dialog header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid var(--line)}
.rail-channel{font-family:var(--mono);font-size:.7rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--v400)}
.rail-title{margin-top:.25rem;font-size:.9rem;color:var(--muted)}
.rail-body{display:grid;min-height:0;overflow:hidden}
.rail-shot{padding:1.25rem;border-bottom:1px solid var(--line)}
.rail-shot img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:12px;border:1px solid var(--line-2)}
.rail-tpl{display:flex;flex-direction:column;min-height:0}
.rail-tabs{display:flex;gap:.25rem;overflow-x:auto;padding:.6rem 1rem;border-bottom:1px solid var(--line)}
.rail-tabs button{white-space:nowrap;padding:.35rem .75rem;border:0;border-radius:999px;background:none;color:var(--dim);font:inherit;font-size:.75rem;font-weight:500;cursor:pointer;transition:color .2s,background .2s}
.rail-tabs button:hover{color:var(--text)}
.rail-tabs button[aria-selected="true"]{background:rgba(159,134,255,.16);color:var(--v200)}
.rail-fields{flex:1;min-height:240px;overflow-y:auto;padding:1rem 1.25rem}
.rail-fields div{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1fr);gap:.75rem;padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.06);font-size:.82rem}
.rail-fields div:last-child{border-bottom:0}
.rail-fields dt{color:var(--dim)}
.rail-fields dd{color:var(--text);overflow-wrap:anywhere}
.rail-note{padding:.75rem 1.25rem;border-top:1px solid var(--line);font-size:.7rem;line-height:1.5;color:var(--dim)}
@media (min-width:768px){
  .rail-body{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr)}
  .rail-shot{border-bottom:0;border-right:1px solid var(--line)}
}
@media (prefers-reduced-motion:reduce){
  .beam-clip,.beam-tip{transition:none}
}

/* Production beam (big): ported from the nexus-data.de pipeline run, in the brand violet.
   Height of the track = progress; on button press the page scrolls by exactly the growth so the tip stays put. */
.beamrun{padding-bottom:clamp(2rem,5vw,4rem)}
.beamrun-head{margin-inline:auto;text-align:center}
.beamrun-ctl{display:flex;flex-direction:column;align-items:center;gap:1rem}
.beamrun-status{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.beamrun-status i{width:.45rem;height:.45rem;border-radius:50%;background:rgba(255,255,255,.3)}
.beamrun.run .beamrun-status i{background:var(--v400);box-shadow:0 0 12px var(--v400);animation:blink 1s ease-in-out infinite}
.beamrun.done .beamrun-status i{background:var(--sun);box-shadow:0 0 12px var(--sun)}
.beamrun-track{position:relative;max-width:56rem;margin-inline:auto;height:0}
.beamrun.started .beamrun-track{margin-top:1.75rem}
.beamrun-clip{position:absolute;inset:0;overflow:hidden}
.beamrun-base{position:absolute;left:50%;top:0;width:1px;height:100%;transform:translateX(-50%);background:rgba(255,255,255,.07)}
.beamrun-vid,.beamrun-css{position:absolute;left:50%;top:0;transform:translateX(-50%);pointer-events:none;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 14%,#000 86%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 14%,#000 86%,transparent 100%)}
.beamrun-vid{width:300px;height:1148px;object-fit:fill;mix-blend-mode:screen;opacity:0;transition:opacity .5s}
.beamrun.has-vid .beamrun-vid{opacity:1}
.beamrun-css{width:86px;height:100%;background:linear-gradient(90deg,rgba(109,74,224,0) 0%,rgba(109,74,224,.05) 22%,rgba(138,108,245,.12) 34%,rgba(159,134,255,.24) 42%,rgba(190,170,255,.42) 47%,rgba(236,228,255,.66) 50%,rgba(190,170,255,.42) 53%,rgba(159,134,255,.24) 58%,rgba(138,108,245,.12) 66%,rgba(109,74,224,.05) 78%,rgba(109,74,224,0) 100%);transition:opacity .5s}
.beamrun.has-vid .beamrun-css{opacity:0}
.brs{position:absolute;left:0;right:0;top:calc(var(--i) * 164px + 82px);transform:translateY(-50%);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:clamp(1rem,3vw,1.75rem)}
.brs-txt{grid-row:1;grid-column:1;text-align:right;opacity:0;transform:translate3d(26px,0,0);will-change:transform,opacity}
.brs.r .brs-txt{grid-column:3;text-align:left;transform:translate3d(-26px,0,0)}
.brs-txt strong{display:block;font-size:.95rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#fff;text-shadow:0 0 22px rgba(176,150,255,.55)}
.brs-txt span{display:block;margin-top:.35rem;font-size:.92rem;line-height:1.45;color:#c9bcff;text-shadow:0 0 18px rgba(140,110,240,.4)}
.brs-node{grid-row:1;grid-column:2;z-index:1;display:grid;place-items:center;width:1.5rem;height:1.5rem;border-radius:50%;border:2px solid rgba(255,255,255,.15);background:#0c0920;color:transparent;font-family:var(--mono);font-size:.68rem;font-weight:700;transform:scale(.7);transition:background-color .5s,border-color .5s,color .5s,box-shadow .5s}
.brs.on .brs-node{border-color:#c4b2ff;color:#e6deff;box-shadow:0 0 24px 7px rgba(150,120,255,.3)}
.brs.ok .brs-node{border-color:rgba(230,222,255,.75);background:#efe9ff;color:#1c1240;box-shadow:0 0 22px 6px rgba(150,120,255,.32)}
.brs.ok .brs-node b{display:none}
.brs.ok .brs-node::after{content:"\2713"}
.beamrun-tip{position:absolute;left:50%;top:0;width:4rem;height:4rem;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(200,180,255,.55) 0%,rgba(200,180,255,0) 70%);filter:blur(13px);opacity:0;pointer-events:none}
.beamrun-tip::after{content:"";position:absolute;left:50%;top:50%;width:7px;height:7px;border-radius:50%;transform:translate(-50%,-50%);background:#f4f0ff;filter:blur(.5px)}
.beamrun.run .beamrun-tip{opacity:1}
.beamrun-result{max-width:46rem;margin:0 auto;display:grid;gap:1.25rem;height:0;overflow:hidden;opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.beamrun.done .beamrun-result{height:auto;overflow:visible;margin-top:2rem;opacity:1;transform:none}
.beamrun-film{position:relative;aspect-ratio:16/9;border-radius:var(--r-sm);overflow:hidden;border:1px solid var(--line-2);background:#060512;box-shadow:0 24px 60px rgba(0,0,0,.45),0 0 60px -20px rgba(138,108,245,.5)}
.beamrun-film video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.beamrun-film span{position:absolute;right:.5rem;bottom:.5rem;padding:.1rem .4rem;border-radius:4px;background:rgba(0,0,0,.75);font-size:.7rem;font-weight:500}
.beamrun-meta .tag{display:inline-flex;align-items:center;gap:.35rem;font-family:var(--mono);font-size:.72rem;color:var(--sun);margin-bottom:.4rem}
.beamrun-meta strong{display:block;font-size:1.05rem;font-weight:600;letter-spacing:-.015em}
.beamrun-meta>span:last-child{display:block;margin-top:.3rem;color:var(--muted);font-size:.86rem}
@media (max-width:640px){
  .brs{gap:.75rem}
  .brs-txt strong{font-size:.78rem;letter-spacing:.1em}
  .brs-txt span{font-size:.78rem}
}
