*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;background:#050505;font-family:Arial,Helvetica,sans-serif}body{overflow:hidden}.desktop{
position:fixed;inset:0;display:grid;place-items:center;
background:
linear-gradient(rgba(0,0,0,.08),rgba(0,0,0,.08)),
url('../assets/approved-desktop.png') center center / cover no-repeat;
}
.desktop:before{
content:'';
position:absolute;
inset:0;
background:url('../assets/approved-desktop.png') center center / cover no-repeat;
filter:blur(5px) brightness(.78) saturate(1.08);
transform:scale(1.012);
z-index:0;
}
.canvas{z-index:1}.canvas{position:relative;aspect-ratio:1672/941;width:min(100vw,calc(100vh*1672/941));height:min(100vh,calc(100vw*941/1672));overflow:hidden}.master{position:absolute;inset:0;width:100%;height:100%;display:block;user-select:none;pointer-events:none}.hotspot{position:absolute;z-index:3;display:block;border-radius:18px}.hotspot:focus-visible{outline:4px solid white;outline-offset:3px}.ig{left:6.28%;top:26.57%;width:23.62%;height:27.10%}.yt{left:6.28%;top:55.26%;width:23.62%;height:26.57%}.am{left:69.38%;top:26.57%;width:24.22%;height:27.10%}.sp{left:69.38%;top:55.26%;width:24.22%;height:26.57%}.mobile{display:none}.toast{position:fixed;z-index:30;left:50%;bottom:24px;transform:translate(-50%,18px);background:#090909;color:#fff;border:1px solid #555;border-radius:12px;padding:12px 18px;font-weight:800;opacity:0;pointer-events:none;transition:.18s}.toast.show{opacity:1;transform:translate(-50%,0)}@media(max-width:899px){body{overflow:auto}.desktop{display:none}.mobile{display:block;min-height:100svh;position:relative;background:#090909;overflow:hidden}.mobile-bg{position:fixed;inset:0;background:url('../assets/approved-desktop.png') center/cover no-repeat;filter:blur(10px) brightness(.3) saturate(1.2);transform:scale(1.08);z-index:0}.mobile:after{content:'';position:fixed;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.5));z-index:0;pointer-events:none}.mheader{position:sticky;top:0;z-index:10;width:100%;height:auto;display:block}.stack{position:relative;z-index:2;width:min(94vw,560px);margin:0 auto;padding:14px 0 30px;display:flex;flex-direction:column;gap:14px}.stack img{display:block;width:100%;height:auto}.stack>a,.hero{border-radius:16px;overflow:hidden;box-shadow:0 12px 28px rgba(0,0,0,.38)}.hero{border-radius:18px}.stack>a{display:block}.stack>a:active{transform:scale(.992)}}

/* V9 — exact-path KITT scanner.
   The animated light is clipped to the exact centerline of each existing neon connector. */
.neon-track-overlay{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  z-index:2;
  pointer-events:none;
  overflow:visible;
  mix-blend-mode:screen;
}
.neon-track-overlay path{
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
}

/* Long scanner bar with soft leading/trailing falloff.
   It travels continuously from the center frame to the platform card. */
.scan .halo,
.scan .beam,
.scan .core{
  stroke-dasharray:30 70;
  stroke-dashoffset:100;
  animation:trackSweep 2.25s cubic-bezier(.35,.02,.28,1) infinite;
}

.scan .halo{
  stroke-width:20;
  opacity:.17;
}
.scan .beam{
  stroke-width:10;
  opacity:.72;
}
.scan .core{
  stroke:#fff;
  stroke-width:2.7;
  opacity:.90;
  stroke-dasharray:13 87;
}

/* Existing connector colors */
.scan.pink .halo,
.scan.pink .beam{
  stroke:#ff2de0;
  filter:url(#glowPink);
}
.scan.red .halo,
.scan.red .beam{
  stroke:#ff2828;
  filter:url(#glowRed);
}
.scan.green .halo,
.scan.green .beam{
  stroke:#23f05a;
  filter:url(#glowGreen);
}

/* Slight staggering keeps the four sweeps natural while all still travel center -> destination. */
.scan.red .halo,.scan.red .beam,.scan.red .core{animation-delay:-.38s}
.scan.right1 .halo,.scan.right1 .beam,.scan.right1 .core{animation-delay:-.72s}
.scan.right2 .halo,.scan.right2 .beam,.scan.right2 .core{animation-delay:-1.05s}

@keyframes trackSweep{
  from{stroke-dashoffset:100}
  to{stroke-dashoffset:0}
}

@media (prefers-reduced-motion:reduce){
  .neon-track-overlay{display:none}
}
