  .cw-vortex{position:relative;width:120px;height:120px;display:grid;place-items:center;--n:6;transform:translate(60px,16px);}
  .cw-arms{position:absolute;inset:0;list-style:none;}
  .cw-arm{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;
    --slot:0deg;--dist:158px;
    rotate:calc(var(--slot) - 220deg);
    transition:rotate .9s cubic-bezier(.3,1.15,.35,1);
    transition-delay:calc(var(--i) * 50ms);}
  .cw-vortex.is-open .cw-arm{rotate:var(--slot);}

  /* ---- graphically-cool cyber-forensic rider button (no coin) ---- */
  .cw-rider{pointer-events:auto;position:absolute;display:flex;align-items:center;white-space:nowrap;
    --notch:11px;
    padding:9px 15px 9px 17px;
    font-family:'JetBrains Mono','SF Mono',Consolas,ui-monospace,monospace;
    font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#e7edf3;text-decoration:none;
    background:linear-gradient(180deg,#151a23,#0a0c12);
    clip-path:polygon(var(--notch) 0,100% 0,100% calc(100% - var(--notch)),calc(100% - var(--notch)) 100%,0 100%,0 var(--notch));
    box-shadow:inset 0 0 0 1px rgba(227,24,55,.55),inset 0 0 16px rgba(227,24,55,.09);
    filter:drop-shadow(0 0 7px rgba(227,24,55,.3));
    translate:0 0;rotate:calc(220deg - var(--slot));opacity:0;visibility:hidden;
    transition:translate .9s cubic-bezier(.25,.9,.3,1),rotate .9s cubic-bezier(.3,1.15,.35,1),opacity .45s,visibility 0s .9s,box-shadow .2s,filter .2s,color .2s,background .2s;
    transition-delay:calc(var(--i) * 55ms);}
  /* leading accent bar */
  .cw-rider::before{content:"";position:absolute;left:8px;top:50%;transform:translateY(-50%);width:3px;height:15px;background:var(--red-neon);box-shadow:0 0 8px var(--red-neon);transition:background .2s,box-shadow .2s;}
  /* hover light-sweep */
  .cw-rider::after{content:"";position:absolute;top:0;left:-70%;width:55%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.16),transparent);transform:skewX(-18deg);opacity:0;pointer-events:none;}
  .cw-vortex.is-open .cw-rider{translate:var(--dist) 0;rotate:calc(0deg - var(--slot));opacity:1;visibility:visible;
    transition:translate .9s cubic-bezier(.25,.9,.3,1),rotate .9s cubic-bezier(.3,1.15,.35,1),opacity .45s,visibility 0s,box-shadow .2s,filter .2s,color .2s,background .2s;
    transition-delay:calc(var(--i) * 55ms);}
  .cw-vortex:not(.is-open) .cw-arm,.cw-vortex:not(.is-open) .cw-rider{transition-duration:.35s;transition-delay:0s;}
  .cw-rider:hover,.cw-rider:focus-visible{color:#fff;outline:none;
    box-shadow:inset 0 0 0 1px rgba(63,208,216,.85),inset 0 0 18px rgba(63,208,216,.12);
    filter:drop-shadow(0 0 12px rgba(63,208,216,.55));}
  .cw-rider:hover::before,.cw-rider:focus-visible::before{background:var(--cyber);box-shadow:0 0 10px var(--cyber);}
  .cw-rider:hover::after,.cw-rider:focus-visible::after{animation:cw-sweep .7s ease;}
  .cw-rider:focus-visible{outline:2px solid #fff;outline-offset:4px;}
  /* primary */
  .cw-rider.is-primary{background:linear-gradient(180deg,#e01634,var(--red-deep));color:#fff;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.35),inset 0 0 18px rgba(255,255,255,.06);
    filter:drop-shadow(0 0 14px rgba(227,24,55,.6));}
  .cw-rider.is-primary::before{background:#fff;box-shadow:0 0 10px rgba(255,255,255,.8);}
  .cw-rider.is-primary:hover{filter:drop-shadow(0 0 20px rgba(227,24,55,.9));
    box-shadow:inset 0 0 0 1px #fff,inset 0 0 20px rgba(255,255,255,.1);}
  .cw-rider.is-primary:hover::before{background:#fff;box-shadow:0 0 12px #fff;}

  /* ---- forensic core ---- */
  .cw-core{position:relative;z-index:2;display:grid;place-items:center;width:120px;height:120px;border:none;border-radius:50%;
    background:radial-gradient(circle at 40% 32%,#e01634,var(--red-deep) 72%);color:#fff;cursor:pointer;
    box-shadow:0 0 82px -6px rgba(200,16,46,.72),inset 0 1px 0 rgba(255,255,255,.28);
    animation:cw-breathe 3.6s ease-in-out infinite;}
  .cw-core::after{content:"";position:absolute;inset:-8px;border-radius:50%;z-index:-1;pointer-events:none;
    background:radial-gradient(circle,rgba(227,24,55,.55),rgba(227,24,55,0) 70%);
    animation:cw-halo 3.6s ease-in-out infinite;}
  .cw-core:hover{animation-duration:1.9s;}
  .cw-core b{position:relative;font-family:'JetBrains Mono','SF Mono',Consolas,ui-monospace,monospace;font-size:12px;line-height:1.2;letter-spacing:.16em;text-transform:uppercase;text-align:center;}
  /* expanding pulse rings (sonar ping) */
  .cw-core .ring,.cw-core .ring2{position:absolute;inset:0;border-radius:50%;pointer-events:none;
    border:2px solid rgba(227,24,55,.6);animation:cw-pulse 2.8s ease-out infinite;}
  .cw-core .ring2{animation-delay:1.4s;border-color:rgba(227,24,55,.4);}
  .cw-core:hover{box-shadow:0 0 100px -4px rgba(200,16,46,.9),inset 0 1px 0 rgba(255,255,255,.3);}
  .cw-core:focus-visible{outline:3px solid var(--cyber);outline-offset:6px;}

  @keyframes cw-spin{to{rotate:360deg;}}
  @keyframes cw-breathe{0%,100%{transform:scale(1);}50%{transform:scale(1.055);}}
  @keyframes cw-pulse{0%{transform:scale(1);opacity:.7;}70%{opacity:.12;}100%{transform:scale(2);opacity:0;}}
  @keyframes cw-halo{0%,100%{transform:scale(1);opacity:.4;}50%{transform:scale(1.4);opacity:.9;}}
  @keyframes cw-sweep{0%{left:-70%;opacity:0;}20%{opacity:1;}100%{left:130%;opacity:0;}}
  @keyframes cw-orbit{from{transform:rotate(var(--a0)) translateX(var(--r));}to{transform:rotate(calc(var(--a0) + 360deg)) translateX(var(--r));}}
  @media (prefers-reduced-motion:reduce){.cw-vortex *{transition-duration:.01s!important;transition-delay:0s!important;}.cw-core,.cw-core::after,.cw-core .ring,.cw-core .ring2,.fcoin{animation:none!important;}}

/* Main-page prototype: centered menu with space for its lower semicircle. */
.cw-vortex-stage{position:relative;display:grid;place-items:start center;min-height:340px;margin-top:32px}
.cw-vortex{--red-deep:#8b0000;--red-neon:#e31837;--cyber:#3fd0d8;transform:none}
.cw-arms{margin:0;padding:0}
.cw-rider{min-height:44px}
.cw-core b{pointer-events:none}
@media(max-width:600px){
  .cw-vortex-stage{min-height:120px}
  .cw-vortex{width:100%;height:auto}
  .cw-core{grid-row:1}
  .cw-arms{position:relative;inset:auto;display:none;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:28px}
  .cw-vortex.is-open .cw-arms{display:grid}
  .cw-arm,.cw-vortex.is-open .cw-arm{position:relative;inset:auto;rotate:none}
  .cw-rider,.cw-vortex.is-open .cw-rider{position:relative;translate:none;rotate:none;width:100%;justify-content:center;padding:12px 16px;font-size:10px;transition:none}
  .cw-arm:last-child{grid-column:1 / -1}
}

  .fcoin{position:absolute;left:50%;top:50%;width:var(--s);height:var(--s);border-radius:50%;display:grid;place-items:center;
    background:#090c12;border:1px solid rgba(255,255,255,.16);
    box-shadow:inset 0 0 0 2px #080b11,inset 0 0 0 3px rgba(255,255,255,.09),
      0 0 0 1px rgba(227,24,55,.45),0 10px 26px rgba(0,0,0,.6),0 0 16px rgba(227,24,55,.16);
    opacity:var(--o,.7);animation:cw-orbit var(--dur) linear infinite;animation-delay:var(--del);}
  .fcoin svg{width:56%;height:56%;}
  .fcoin svg .disc{fill:transparent;}
  .fcoin svg .glyph{fill:#eef2f6;}


/* Reference coin field, scoped to the hero copy rather than the whole page. */
.copy{isolation:isolate}
.copy h1,.copy>p{position:relative;z-index:1}
.cw-coin-field{position:absolute;inset:0;pointer-events:none;z-index:-1}

.cw-vortex-stage{height:240px;min-height:240px;margin-top:32px}
.cw-arms{transform:scaleY(.7);transform-origin:center}
.cw-rider{transform:scaleY(1.428571)}
.shuffle-stage{margin-top:-20px}
.shuffle-track{padding-top:8px}
@media(max-width:600px){
  .cw-coin-field{transform:scale(.6);transform-origin:50% 50%}
  .cw-vortex-stage{height:360px;min-height:360px}
  .cw-arms{position:absolute;top:148px;left:0;right:0;margin-top:0;transform:none}
  .cw-rider{transform:none}
}
@media(prefers-reduced-motion:reduce){
  .cw-vortex-stage{transition:none}
  .fcoin{animation:none;transform:rotate(var(--a0)) translateX(var(--r))}
}





