/* ==========================================================================
   08 ALLIED NETWORK — scene styles
   Map canvas fills the mount; patches get 3D-tilt scaffolding + sheen.
   ========================================================================== */

.network-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
}

/* ---- tribute mission patches ---- */

.patch {
  perspective: 640px;
}

.patch-card {
  position: relative;
  width: 100%;
  height: 100%;
  transform-style: preserve-3d;
  will-change: transform;
}

.patch-card svg {
  display: block;
  width: 100%;
  height: 100%;
  filter: drop-shadow(0 4px 14px rgba(0, 0, 0, 0.55));
  transition: filter 0.3s ease;
}

.patch:hover .patch-card svg {
  filter: drop-shadow(0 6px 18px rgba(0, 255, 136, 0.16));
}

/* moving specular sheen, clipped to the badge disc; translated by JS */
.patch-sheen {
  position: absolute;
  inset: 3px;
  border-radius: 50%;
  overflow: hidden;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.patch:hover .patch-sheen {
  opacity: 1;
}

.patch-sheen-bar {
  position: absolute;
  left: -60%;
  top: -60%;
  width: 220%;
  height: 220%;
  background: linear-gradient(
    115deg,
    transparent 44%,
    rgba(230, 242, 234, 0.13) 50%,
    transparent 56%
  );
}

@media (max-width: 767px) {
  .patch { perspective: none; }
}
