:root {
  --mg-bg: #0a0a0c;
  --mg-surface: #141418;
  --mg-surface-2: #1a1a20;
  --mg-border: #2a2a32;
  --mg-text: #f4f4f5;
  --mg-muted: #71717a;
  --mg-magenta: #d946ef;
  --mg-magenta-dim: #a8387a;
  --mg-magenta-glow: rgba(217, 70, 239, 0.18);
  --mg-lime: #C6FF00;
  --mg-lime-dim: #a3cc00;
  --mg-lime-glow: rgba(198, 255, 0, 0.15);
  --mg-lime-text: #141414;
}

.mg-btn {
  width: 100%;
  height: 44px;
  color: var(--mg-lime-text);
  border: 1px solid rgba(198, 255, 0, 0.35);
  border-radius: 8px;
  font-size: 0.9375rem;
  font-weight: 700;
  font-family: inherit;
  cursor: pointer;
  background-color: #9ecc00;
  background-image:
    url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.08'/%3E%3C/svg%3E"),
    repeating-linear-gradient(
      -52deg,
      transparent,
      transparent 3px,
      rgba(255, 255, 255, 0.06) 3px,
      rgba(255, 255, 255, 0.06) 4px
    ),
    linear-gradient(180deg, rgba(255, 255, 255, 0.22) 0%, transparent 45%),
    linear-gradient(168deg, #d4ff33 0%, #C6FF00 45%, #a3cc00 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.28),
    inset 0 -2px 5px rgba(0, 0, 0, 0.12),
    0 2px 12px rgba(198, 255, 0, 0.2);
  transition: filter 0.15s, box-shadow 0.15s;
}

.mg-btn:hover {
  filter: brightness(1.04);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.32),
    inset 0 -2px 5px rgba(0, 0, 0, 0.1),
    0 3px 16px rgba(198, 255, 0, 0.28);
}

.mg-btn:active {
  filter: brightness(0.96);
  box-shadow:
    inset 0 2px 5px rgba(0, 0, 0, 0.18),
    0 1px 6px rgba(198, 255, 0, 0.15);
}

.mg-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  filter: none;
}

.mg-link {
  color: var(--mg-magenta);
  text-decoration: none;
  font-weight: 500;
}

.mg-link:hover {
  color: #e879f9;
}

@media (min-width: 900px) {
  .mg-btn {
    height: 50px;
    font-size: 1rem;
    border-radius: 10px;
  }
}
