@property --a{syntax:'<angle>';initial-value:0deg;inherits:false}
:root{
  --bg:#07040f; --violet:#7a2bff; --cyan:#12d6c8; --pink:#ff3d81; --amber:#e0a94e;
  --ink:#fff; --muted:rgba(255,255,255,.62); --faint:rgba(255,255,255,.38);
  --glass:rgba(255,255,255,.045); --glass2:rgba(255,255,255,.08); --line:rgba(255,255,255,.14);
  --grad:linear-gradient(120deg,var(--cyan),var(--violet) 55%,var(--pink));
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:"Spectral",Georgia,serif;line-height:1.6;min-height:100vh;overflow-x:hidden;position:relative}

/* ---------- ambient layers ---------- */
.aurora,.beams,.grid,.orbs,.grain,.scan{position:fixed;inset:0;pointer-events:none;z-index:0}
.aurora{filter:blur(90px);opacity:.75;
  background:
   radial-gradient(45vw 45vw at 18% 12%,var(--violet),transparent 60%),
   radial-gradient(40vw 40vw at 85% 18%,var(--cyan),transparent 60%),
   radial-gradient(50vw 50vw at 70% 92%,var(--pink),transparent 62%),
   radial-gradient(38vw 38vw at 15% 88%,#2a1a6b,transparent 60%);
  animation:drift 26s ease-in-out infinite alternate, hue 40s linear infinite}
@keyframes drift{from{transform:translate(-3%,-2%) scale(1)}to{transform:translate(4%,3%) scale(1.18)}}
@keyframes hue{to{filter:blur(90px) hue-rotate(360deg)}}
.beams{opacity:.22;mix-blend-mode:screen;
  background:conic-gradient(from 0deg at 50% 45%,transparent 0 8%,rgba(18,214,200,.5) 10%,transparent 14% 30%,rgba(122,43,255,.5) 33%,transparent 37% 62%,rgba(255,61,129,.45) 66%,transparent 70% 100%);
  animation:beamspin 60s linear infinite}
@keyframes beamspin{to{transform:rotate(360deg)}}
.grid{opacity:.16;
  background-image:linear-gradient(rgba(255,255,255,.5) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.5) 1px,transparent 1px);
  background-size:52px 52px;
  -webkit-mask:radial-gradient(120% 80% at 50% 0%,#000 20%,transparent 72%);mask:radial-gradient(120% 80% at 50% 0%,#000 20%,transparent 72%);
  transform:perspective(600px) rotateX(56deg) translateY(-8%);transform-origin:top;animation:gridpan 18s linear infinite}
@keyframes gridpan{to{background-position:0 52px}}
.orbs span{position:absolute;border-radius:50%;filter:blur(30px);opacity:.5;mix-blend-mode:screen}
.orbs span:nth-child(1){width:280px;height:280px;left:8%;top:22%;background:var(--cyan);animation:float1 19s ease-in-out infinite}
.orbs span:nth-child(2){width:220px;height:220px;right:10%;top:44%;background:var(--pink);animation:float2 23s ease-in-out infinite}
.orbs span:nth-child(3){width:340px;height:340px;left:40%;bottom:-6%;background:var(--violet);animation:float1 27s ease-in-out infinite reverse}
@keyframes float1{50%{transform:translate(30px,-40px) scale(1.1)}}
@keyframes float2{50%{transform:translate(-40px,30px) scale(1.14)}}
.grain{opacity:.28;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")}
.scan{opacity:.5;background:linear-gradient(180deg,transparent 0,rgba(18,214,200,.05) 46%,rgba(18,214,200,.1) 50%,rgba(18,214,200,.05) 54%,transparent 100%);height:180px;top:-180px;animation:scan 7s linear infinite}
@keyframes scan{to{transform:translateY(calc(100vh + 360px))}}

main{position:relative;z-index:2;max-width:820px;margin:0 auto;padding:clamp(28px,6vh,72px) 22px 60px}

/* ---------- type ---------- */
h1,h2,h3,.kicker,.kicker2,.card-tab,.seg-btn,.go,.add,.grp{font-family:"Archivo",sans-serif}
.kicker,.kicker2{font-family:"Space Mono",monospace;font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--cyan);display:inline-flex;align-items:center;gap:9px}
.rec{width:9px;height:9px;border-radius:50%;background:var(--pink);box-shadow:0 0 14px var(--pink);animation:blink 1.4s ease-in-out infinite}
@keyframes blink{50%{opacity:.25}}

/* ---------- hero ---------- */
.hero{text-align:center;padding:14px 0 30px;animation:rise .9s cubic-bezier(.2,.7,.2,1) both}
.title{font-weight:900;font-size:clamp(2.8rem,10vw,6rem);line-height:.92;letter-spacing:-.04em;margin:16px 0 0;
  text-shadow:0 0 60px rgba(122,43,255,.35)}
.title .g{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;background-size:200% auto;animation:sheen 6s linear infinite}
@keyframes sheen{to{background-position:200% center}}
.sub{color:var(--muted);font-size:clamp(1rem,1.9vw,1.2rem);max-width:56ch;margin:20px auto 0}
.eq{display:flex;align-items:flex-end;justify-content:center;gap:3px;height:60px;margin:26px auto 0;max-width:520px}
.eq i{flex:1;max-width:7px;border-radius:3px;background:var(--grad);opacity:.85;height:var(--h,30%);
  transform-origin:bottom;animation:bounce 1.1s ease-in-out infinite;animation-delay:var(--d,0s);box-shadow:0 0 10px rgba(18,214,200,.4)}
@keyframes bounce{0%,100%{transform:scaleY(.35)}50%{transform:scaleY(1)}}
.work-eq{height:40px;margin:18px 0 4px;max-width:none}
.work-eq i{animation-duration:.7s}

/* ---------- cards ---------- */
.card{position:relative;background:linear-gradient(180deg,var(--glass2),var(--glass));border:1px solid var(--line);border-radius:26px;
  padding:clamp(24px,4.4vw,40px);backdrop-filter:blur(18px);margin-top:22px;
  box-shadow:0 40px 120px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.06)}
.reveal{animation:rise .9s .1s cubic-bezier(.2,.7,.2,1) both}
@keyframes rise{from{opacity:0;transform:translateY(26px) scale(.99)}to{opacity:1;transform:none}}
.glow::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.4px;pointer-events:none;
  background:conic-gradient(from var(--a),transparent 0 58%,var(--cyan) 70%,var(--violet) 82%,var(--pink) 92%,transparent 100%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;
  animation:spin 8s linear infinite;opacity:.8}
@keyframes spin{to{--a:360deg}}
.card-tab{position:absolute;top:-11px;left:26px;font-family:"Space Mono",monospace;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;
  color:#07040f;background:var(--grad);padding:5px 12px;border-radius:100px;box-shadow:0 8px 24px rgba(122,43,255,.4)}
.done-tab{background:linear-gradient(120deg,var(--cyan),#26e0a0)}

/* ---------- segmented ---------- */
.seg{display:inline-flex;background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:100px;padding:4px;margin-bottom:24px}
.seg-btn{font-weight:700;font-size:.9rem;color:var(--muted);background:transparent;border:none;border-radius:100px;padding:10px 20px;cursor:pointer;transition:.25s}
.seg-btn.on{background:var(--grad);color:#07040f;box-shadow:0 8px 24px rgba(18,214,200,.35)}

/* ---------- fields ---------- */
.field{margin-bottom:20px}
.field>label{display:block;font-family:"Space Mono",monospace;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin-bottom:10px}
.opt{color:var(--faint);letter-spacing:.04em;text-transform:none}
input,textarea{width:100%;background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:15px;padding:15px 17px;color:#fff;font-family:"Spectral",serif;font-size:1rem;transition:.2s}
input:focus,textarea:focus{outline:none;border-color:var(--cyan);background:rgba(18,214,200,.06);box-shadow:0 0 0 4px rgba(18,214,200,.12)}
input::placeholder,textarea::placeholder{color:var(--faint)}
input[type=file]{padding:13px;font-family:"Space Mono",monospace;font-size:.8rem;cursor:pointer}
.mt{margin-top:10px}
.hint{color:var(--faint);font-size:.82rem;margin-top:8px}
.spk{display:flex;gap:8px;margin-bottom:8px}
.spk input{flex:1}
.spk .rm{flex:none;width:48px;border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--muted);border-radius:13px;cursor:pointer;font-size:1.2rem;transition:.2s}
.spk .rm:hover{color:var(--pink);border-color:var(--pink);background:rgba(255,61,129,.08)}
.add{background:transparent;border:1px dashed var(--line);color:var(--cyan);border-radius:13px;padding:11px 15px;font-family:"Space Mono",monospace;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:.2s}
.add:hover{border-color:var(--cyan);background:rgba(18,214,200,.07);box-shadow:0 0 24px rgba(18,214,200,.18)}

/* ---------- dropzone ---------- */
.drop{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:5px;min-height:190px;padding:30px;border:2px dashed var(--line);border-radius:20px;cursor:pointer;background:rgba(255,255,255,.03);transition:.25s;overflow:hidden}
.drop::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 60% at 50% 30%,rgba(18,214,200,.12),transparent 70%);opacity:0;transition:.25s}
.drop:hover{border-color:rgba(18,214,200,.5)}
.drop:hover::before,.drop.drag::before{opacity:1}
.drop.drag{border-color:var(--cyan);background:rgba(18,214,200,.08);box-shadow:inset 0 0 60px rgba(18,214,200,.25),0 0 0 4px rgba(18,214,200,.12)}
.drop-inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:5px}
.drop-ico{color:var(--cyan);margin-bottom:6px;filter:drop-shadow(0 0 12px rgba(18,214,200,.55));animation:floaty 3s ease-in-out infinite}
@keyframes floaty{50%{transform:translateY(-7px)}}
.drop-title{font-family:"Archivo",sans-serif;font-weight:800;font-size:1.08rem}
.drop-sub{color:var(--muted);font-size:.9rem}
.drop-formats{font-family:"Space Mono",monospace;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin-top:10px}
.drop.has{border-style:solid;border-color:rgba(18,214,200,.45);cursor:default;min-height:0;padding:18px}
.drop.has .drop-inner{display:none}
.drop-file{position:relative;z-index:1;width:100%;display:flex;justify-content:center}
.fchip{display:flex;align-items:center;gap:12px;background:rgba(18,214,200,.1);border:1px solid rgba(18,214,200,.4);border-radius:14px;padding:12px 14px;max-width:100%}
.fchip .drop-check{color:var(--cyan);font-weight:900}
.fname{font-family:"Space Mono",monospace;font-size:.8rem;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:52vw}
.fsize{color:var(--muted);font-size:.72rem;font-family:"Space Mono",monospace;flex:none}
.fclear{border:none;background:rgba(255,255,255,.12);color:#fff;width:26px;height:26px;border-radius:50%;cursor:pointer;font-size:.95rem;flex:none;line-height:1}
.fclear:hover{background:var(--pink)}

/* ---------- video scanner (progress) ---------- */
.scanner{position:relative;margin:22px 0 6px;border-radius:16px;overflow:hidden;border:1px solid var(--line);aspect-ratio:16/9;background:#0a0715;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.scanner img{width:100%;height:100%;object-fit:cover;opacity:.82;filter:saturate(1.05) contrast(1.02)}
.scanner-grid{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(18,214,200,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(18,214,200,.16) 1px,transparent 1px);background-size:34px 34px;mix-blend-mode:screen;opacity:.5}
.scanner-line{position:absolute;top:0;bottom:0;width:64px;left:-64px;pointer-events:none;mix-blend-mode:screen;
  background:linear-gradient(90deg,transparent,rgba(18,214,200,.12),rgba(18,214,200,.8),rgba(255,255,255,.92),rgba(122,43,255,.8),rgba(122,43,255,.12),transparent);
  box-shadow:0 0 40px rgba(18,214,200,.7);animation:sweep 2.6s cubic-bezier(.5,0,.5,1) infinite}
@keyframes sweep{0%{left:-10%}100%{left:100%}}
.scanner-tag{position:absolute;left:12px;bottom:10px;font-family:"Space Mono",monospace;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:#fff;background:rgba(0,0,0,.5);border:1px solid rgba(18,214,200,.4);border-radius:100px;padding:5px 11px;backdrop-filter:blur(6px)}

/* ---------- on-brand waveform (single, calm flowing) ---------- */
.hero-eq{height:38px;gap:5px;max-width:400px;align-items:center;opacity:.7}
.hero-eq i{max-width:3px;transform-origin:center;background:linear-gradient(180deg,var(--cyan),var(--violet));box-shadow:none;
  animation-name:wave;animation-duration:3.4s;animation-iteration-count:infinite;animation-timing-function:ease-in-out}
@keyframes wave{0%,100%{transform:scaleY(.42)}50%{transform:scaleY(.85)}}

/* ---------- buttons ---------- */
.go{position:relative;width:100%;margin-top:10px;background:var(--grad);background-size:200% auto;color:#07040f;font-weight:800;font-size:1.08rem;
  border:none;border-radius:100px;padding:18px;cursor:pointer;overflow:hidden;text-decoration:none;display:block;text-align:center;
  box-shadow:0 16px 44px rgba(122,43,255,.42);transition:transform .2s,box-shadow .2s;animation:sheen 5s linear infinite}
.go span{position:relative;z-index:2}
.go::after{content:"";position:absolute;top:0;left:-60%;width:45%;height:100%;z-index:1;transform:skewX(-20deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);animation:shimmer 3.4s ease-in-out infinite}
@keyframes shimmer{0%,60%{left:-60%}100%{left:130%}}
.go:hover{transform:translateY(-2px);box-shadow:0 22px 60px rgba(18,214,200,.5)}
.go[disabled]{opacity:.6;cursor:not-allowed;transform:none;animation:none}
.go[disabled]::after{display:none}
.go.dl{margin-top:18px;background:linear-gradient(120deg,#26e0a0,var(--cyan))}
.ghost{width:100%;margin-top:12px;background:transparent;border:1px solid var(--line);color:var(--muted);border-radius:100px;padding:13px;font-family:"Archivo",sans-serif;font-weight:700;cursor:pointer;transition:.2s}
.ghost:hover{color:#fff;background:rgba(255,255,255,.05)}
.err{color:var(--pink);font-size:.9rem;margin-top:12px;min-height:1em;text-align:center}
.hidden{display:none !important}

/* ---------- progress ---------- */
.orbit{position:relative;width:96px;height:96px;margin:8px auto 22px}
.orbit span{position:absolute;inset:0;border-radius:50%;border:1.5px solid transparent}
.orbit span:nth-child(1){border-top-color:var(--cyan);animation:spin2 1.3s linear infinite}
.orbit span:nth-child(2){inset:12px;border-right-color:var(--violet);animation:spin2 1.9s linear infinite reverse}
.orbit span:nth-child(3){inset:24px;border-bottom-color:var(--pink);animation:spin2 1.1s linear infinite}
@keyframes spin2{to{transform:rotate(360deg)}}
.orbit-core{position:absolute;inset:38px;border-radius:50%;background:var(--grad);filter:blur(2px);box-shadow:0 0 30px var(--cyan);animation:pulse 1.6s ease-in-out infinite}
@keyframes pulse{50%{transform:scale(1.25)}}
.chain{display:flex;justify-content:space-between;gap:6px;margin-bottom:22px;flex-wrap:wrap}
.node{flex:1;min-width:64px;text-align:center;opacity:.4;transition:opacity .4s}
.node i{display:block;width:14px;height:14px;border-radius:50%;margin:0 auto 8px;border:1.5px solid var(--line);background:rgba(255,255,255,.05);transition:.4s}
.node b{font-family:"Space Mono",monospace;font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:400}
.node.lit{opacity:1}
.node.lit i{background:var(--grad);border-color:transparent;box-shadow:0 0 18px var(--cyan)}
.node.lit b{color:#fff}
.prog-now{text-align:center;font-family:"Archivo",sans-serif;font-weight:800;font-size:clamp(1.5rem,4.6vw,2.5rem);letter-spacing:-.02em;line-height:1.14;margin:4px 0 8px;min-height:1.3em;
  background:var(--grad);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:sheen 5s linear infinite}
.prog-now.pop{animation:sheen 5s linear infinite,popin .5s cubic-bezier(.2,.8,.2,1)}
@keyframes popin{from{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}
.prog-sub{text-align:center;margin-bottom:18px}
#progPct{font-family:"Space Mono",monospace;font-size:1.15rem;color:var(--cyan);font-weight:700;letter-spacing:.12em}
.bar{position:relative;height:12px;background:rgba(255,255,255,.08);border-radius:12px;overflow:hidden;border:1px solid var(--line)}
.bar i{display:block;height:100%;width:0;border-radius:12px;background:var(--grad);background-size:200% auto;box-shadow:0 0 24px rgba(18,214,200,.6);transition:width .6s cubic-bezier(.3,.8,.3,1);animation:sheen 3s linear infinite}
.bar i::after{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.18) 0 10px,transparent 10px 20px);animation:stripes 1s linear infinite}
@keyframes stripes{to{background-position:28px 0}}
.log{margin-top:18px;font-family:"Space Mono",monospace;font-size:.72rem;color:var(--faint);max-height:150px;overflow:auto;line-height:1.9;
  border-left:2px solid rgba(18,214,200,.4);padding-left:14px}
.log div:last-child{color:var(--cyan)}

/* ---------- results ---------- */
.res-head{margin-bottom:20px}
.res-head h2{font-size:clamp(1.6rem,4vw,2.1rem);font-weight:900;margin-top:8px;letter-spacing:-.02em}
.grp{display:flex;align-items:center;gap:12px;font-weight:800;font-size:1.05rem;margin:26px 0 14px}
.grp-n{width:28px;height:28px;border-radius:9px;background:var(--grad);color:#07040f;display:grid;place-items:center;font-size:.85rem;box-shadow:0 6px 18px rgba(122,43,255,.4)}
.takes{display:grid;gap:12px}
.take{position:relative;border:1px solid var(--line);border-radius:18px;padding:18px;background:rgba(255,255,255,.03);cursor:pointer;transition:transform .2s,box-shadow .2s,border-color .2s;overflow:hidden}
.take::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--grad);opacity:0;transition:.25s}
.take:hover{transform:translateY(-2px);background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.28)}
.take.sel{border-color:var(--cyan);box-shadow:0 0 0 1px var(--cyan),0 18px 44px rgba(18,214,200,.18)}
.take.sel::before{opacity:1}
.take-head{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.take-dot{width:20px;height:20px;border-radius:50%;border:1.5px solid var(--line);flex:none;transition:.25s;position:relative}
.take.sel .take-dot{background:var(--grad);border-color:transparent;box-shadow:0 0 16px var(--cyan)}
.take.sel .take-dot::after{content:"✓";position:absolute;inset:0;display:grid;place-items:center;font-size:.7rem;color:#07040f;font-weight:900}
.take-name{font-weight:800;font-size:.95rem}
.take-txt{color:var(--muted);font-size:.92rem;margin-bottom:12px}
.take audio{width:100%;height:40px;filter:saturate(1.1)}

/* ---------- episode ---------- */
#epCard{text-align:center;overflow:hidden}
.ep-burst{position:absolute;inset:0;pointer-events:none;background:radial-gradient(60% 60% at 50% 0%,rgba(18,214,200,.22),transparent 70%);animation:pulse 3s ease-in-out infinite}
.ep-title{font-size:clamp(1.8rem,5vw,2.6rem);font-weight:900;letter-spacing:-.02em;margin:10px 0 20px}
.ep-title .g{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
#epAudio{width:100%;margin-top:6px}
.foot{text-align:center;color:var(--faint);font-family:"Space Mono",monospace;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;margin-top:40px}

/* ---------- on-brand audio player ---------- */
.player{display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:14px;padding:10px 13px;transition:.2s}
.player.playing{border-color:rgba(18,214,200,.4);box-shadow:0 0 26px rgba(18,214,200,.12)}
.player audio{display:none}
.pp{flex:none;width:42px;height:42px;border-radius:50%;border:none;cursor:pointer;background:var(--grad);color:#07040f;display:grid;place-items:center;box-shadow:0 6px 20px rgba(122,43,255,.4);transition:transform .15s}
.pp:hover{transform:scale(1.06)}
.pp svg{width:16px;height:16px}
.wave{flex:1;display:flex;align-items:center;gap:2px;height:40px;cursor:pointer;min-width:0}
.wave i{flex:1;max-width:4px;border-radius:2px;height:var(--h,40%);background:rgba(255,255,255,.16);transition:background .12s,box-shadow .12s}
.wave i.on{background:linear-gradient(180deg,var(--cyan),var(--violet));box-shadow:0 0 6px rgba(18,214,200,.5)}
.ptime{flex:none;font-family:"Space Mono",monospace;font-size:.7rem;color:var(--muted);white-space:nowrap}
.ep-player{margin-top:8px}
.ep-player .player{padding:14px 16px}
.ep-player .pp{width:52px;height:52px}
.ep-player .wave{height:48px}

/* ---------- full-screen assembly ---------- */
.asm-screen{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:24px;text-align:center;
  background:radial-gradient(50vw 50vw at 25% 20%,rgba(122,43,255,.5),transparent 60%),radial-gradient(46vw 46vw at 80% 80%,rgba(255,61,129,.42),transparent 60%),#06040d;animation:asmfade .5s ease both}
@keyframes asmfade{from{opacity:0}to{opacity:1}}
.asm-glow{position:absolute;inset:0;pointer-events:none;background:conic-gradient(from 0deg at 50% 50%,transparent,rgba(18,214,200,.14),transparent 30%,rgba(122,43,255,.14),transparent 60%,rgba(255,61,129,.12),transparent);animation:beamspin 30s linear infinite}
.asm-inner{position:relative;z-index:1;max-width:820px;width:100%}
.asm-title{font-family:"Archivo",sans-serif;font-weight:900;font-size:clamp(1.8rem,6vw,3.4rem);letter-spacing:-.03em;margin:14px 0 34px;line-height:1}
.asm-title .g{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.asm{position:relative;display:flex;gap:12px;align-items:stretch;height:clamp(120px,26vh,190px)}
.asm-seg{flex:1;position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:10px;padding:16px;border-radius:18px;border:1px solid var(--line);background:rgba(255,255,255,.03);overflow:hidden;
  opacity:0;transform:translateY(24px) scale(.96);animation:asmseg .7s cubic-bezier(.2,.8,.2,1) forwards}
.asm-seg.s-mid{flex:1.8;animation-delay:.12s}
.asm-seg.s-outro{animation-delay:.24s}
@keyframes asmseg{to{opacity:1;transform:none}}
.asm-seg::before{content:"";position:absolute;inset:0;opacity:.14}
.s-intro::before{background:var(--cyan)}.s-mid::before{background:var(--violet)}.s-outro::before{background:var(--pink)}
.asm-lab{position:relative;z-index:1;font-family:"Space Mono",monospace;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:#fff}
.asm-wave{position:relative;z-index:1;display:flex;align-items:flex-end;gap:3px;height:100%}
.asm-wave i{flex:1;max-width:8px;border-radius:3px;height:var(--h,40%);transform-origin:bottom;animation:bounce .8s ease-in-out infinite;animation-delay:var(--d,0s)}
.s-intro .asm-wave i{background:var(--cyan);box-shadow:0 0 8px rgba(18,214,200,.5)}
.s-mid .asm-wave i{background:var(--violet);box-shadow:0 0 8px rgba(122,43,255,.5)}
.s-outro .asm-wave i{background:var(--pink);box-shadow:0 0 8px rgba(255,61,129,.5)}
.asm-head{position:absolute;top:-8px;bottom:-8px;width:3px;left:0;border-radius:3px;background:#fff;box-shadow:0 0 22px 4px rgba(255,255,255,.75),0 0 44px rgba(18,214,200,.8);animation:asmhead 3.2s cubic-bezier(.5,0,.5,1) infinite}
@keyframes asmhead{0%{left:0}100%{left:100%}}
.asm-status{margin-top:30px;font-family:"Space Mono",monospace;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;justify-content:center;gap:6px}
.asm-status span{width:7px;height:7px;border-radius:50%;background:var(--cyan);animation:dot 1.2s ease-in-out infinite}
.asm-status span:nth-child(2){animation-delay:.2s;background:var(--violet)}
.asm-status span:nth-child(3){animation-delay:.4s;background:var(--pink);margin-right:6px}
@keyframes dot{0%,100%{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}

/* ---------- form wizard ---------- */
.wstep{display:none}
.wstep.on{display:block;animation:wstepin .45s cubic-bezier(.2,.7,.2,1) both}
@keyframes wstepin{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.wq{font-family:"Archivo",sans-serif;font-weight:800;font-size:clamp(1.3rem,3.6vw,1.8rem);letter-spacing:-.01em;margin-bottom:4px}
.wqs{color:var(--muted);font-size:.92rem;margin-bottom:20px}
.wnav{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:26px}
.wdots{display:flex;gap:7px;flex:1;justify-content:center}
.wdots i{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.16);transition:.3s}
.wdots i.on{background:var(--grad);box-shadow:0 0 12px rgba(18,214,200,.5);transform:scale(1.2)}
.go.mini{width:auto;margin-top:0;padding:13px 24px;font-size:.95rem;flex:none;animation:none}
.go.mini::after{display:none}
.go.mini[disabled]{opacity:.6}
.wbtn.back{background:transparent;border:1px solid var(--line);color:var(--muted);border-radius:100px;padding:12px 20px;font-family:"Archivo",sans-serif;font-weight:700;cursor:pointer;flex:none;transition:.2s}
.wbtn.back:hover{color:#fff;background:rgba(255,255,255,.05)}
@media(max-width:520px){.wnav{flex-wrap:wrap}.wdots{order:-1;width:100%;margin-bottom:6px}}

/* source preview */
.srcprev{margin-bottom:18px}
.srcprev:empty{display:none}
.srcprev-load{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px;color:var(--muted);font-family:"Space Mono",monospace;font-size:.8rem;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.03)}
.srcprev-ok{padding:16px;text-align:center;color:var(--cyan);border:1px solid rgba(18,214,200,.4);border-radius:16px;background:rgba(18,214,200,.06);font-family:"Space Mono",monospace;font-size:.85rem}
.srcprev .scanner{margin:0}
.srcprev .orbit{width:64px;height:64px;margin:0}
.srcprev .orbit-core{inset:24px}

/* icon cycler */
.cycler{position:relative;height:40px;margin:-4px 0 8px}
.cycler span{position:absolute;left:0;right:0;text-align:center;font-size:1.7rem;opacity:0;animation:cyc 7.5s infinite}
.cycler span:nth-child(1){animation-delay:0s}
.cycler span:nth-child(2){animation-delay:1.5s}
.cycler span:nth-child(3){animation-delay:3s}
.cycler span:nth-child(4){animation-delay:4.5s}
.cycler span:nth-child(5){animation-delay:6s}
@keyframes cyc{0%{opacity:0;transform:translateY(8px) scale(.7)}4%,13%{opacity:1;transform:none}20%,100%{opacity:0;transform:translateY(-6px) scale(.9)}}

@media(prefers-reduced-motion:reduce){
  .aurora,.beams,.grid,.orbs span,.scan,.eq i,.go,.go::after,.bar i,.bar i::after,.orbit span,.orbit-core,.rec,.ep-burst,.glow::before{animation:none!important}
  .reveal,.hero{animation:none!important}
}
