/* MeshBuddy — tactical hover FX for header menu buttons (site-wide).
   Sweeping shine + corner brackets + phosphor glow on hover. */

.btn,
.npn-site-btn,
.actions .btn,
.tac-viewgroup button,
.tac-action-primary .btn,
.tac-action-overlays button {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  transition: color .18s ease, border-color .18s ease, box-shadow .2s ease, transform .12s ease;
}

/* diagonal light sweep */
.btn::after,
.npn-site-btn::after,
.tac-viewgroup button::after,
.tac-action-overlays button::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(115deg, transparent 22%, rgba(140, 255, 190, .30) 50%, transparent 78%);
  transform: translateX(-130%);
  transition: transform .55s cubic-bezier(.22, .61, .36, 1);
}
.btn:hover::after,
.npn-site-btn:hover::after,
.tac-viewgroup button:hover::after,
.tac-action-overlays button:hover::after {
  transform: translateX(130%);
}

/* corner brackets (4 corners drawn with tiny gradients) */
.btn::before,
.npn-site-btn::before,
.tac-viewgroup button::before,
.tac-action-overlays button::before {
  content: "";
  position: absolute;
  inset: 2px;
  z-index: -1;
  pointer-events: none;
  opacity: 0;
  transition: opacity .18s ease;
  --b: #9dffc6;
  background:
    linear-gradient(var(--b) 0 0) 0 0 / 8px 2px no-repeat,
    linear-gradient(var(--b) 0 0) 0 0 / 2px 8px no-repeat,
    linear-gradient(var(--b) 0 0) 100% 0 / 8px 2px no-repeat,
    linear-gradient(var(--b) 0 0) 100% 0 / 2px 8px no-repeat,
    linear-gradient(var(--b) 0 0) 0 100% / 8px 2px no-repeat,
    linear-gradient(var(--b) 0 0) 0 100% / 2px 8px no-repeat,
    linear-gradient(var(--b) 0 0) 100% 100% / 8px 2px no-repeat,
    linear-gradient(var(--b) 0 0) 100% 100% / 2px 8px no-repeat;
}
.btn:hover::before,
.npn-site-btn:hover::before,
.tac-viewgroup button:hover::before,
.tac-action-overlays button:hover::before {
  opacity: .95;
}

/* glow + lift on hover */
.btn:hover,
.npn-site-btn:hover,
.tac-viewgroup button:hover,
.tac-action-primary .btn:hover,
.tac-action-overlays button:hover {
  color: #eafff0 !important;
  border-color: rgba(140, 255, 190, .8) !important;
  box-shadow: 0 0 0 1px rgba(140, 255, 190, .35), 0 0 15px rgba(70, 224, 107, .38), inset 0 0 12px rgba(70, 224, 107, .12) !important;
  transform: translateY(-1px);
}
.btn:active,
.npn-site-btn:active,
.tac-viewgroup button:active,
.tac-action-overlays button:active {
  transform: translateY(0);
}
