* {
  cursor: none;
}

body {
  font-family: 'Inter', sans-serif;
  background-color: #000;
  color: #fff;
  overflow-x: hidden;
}

#cursor-glow {
  position: fixed;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  pointer-events: none;
  z-index: 9999;
  background: radial-gradient(circle, rgba(255,255,255,0.9) 0%, rgba(255,255,255,0) 70%);
  transform: translate(-50%, -50%);
  mix-blend-mode: difference;
  transition: width 0.15s, height 0.15s;
}

.glow-text {
  text-shadow: 0 0 20px rgba(255,255,255,0.7), 0 0 40px rgba(255,255,255,0.4);
}
.glow-text-sm {
  text-shadow: 0 0 10px rgba(255,255,255,0.5);
}

.glass-card {
  background: rgba(255,255,255,0.03);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,0.1);
  transition: all 0.3s ease;
}
.glass-card:hover {
  background: rgba(255,255,255,0.06);
  border-color: rgba(255,255,255,0.3);
  box-shadow: 0 0 30px rgba(255,255,255,0.15);
  transform: translateY(-5px);
}

.nav-link {
  position: relative;
  transition: color 0.3s;
}
.nav-link::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 0%;
  height: 2px;
  background: #fff;
  transition: width 0.3s;
}
.nav-link:hover::after {
  width: 100%;
}
.nav-link:hover {
  color: #fff;
}

.glitch-hover {
  position: relative;
  display: inline-block;
}
.glitch-hover:hover::before,
.glitch-hover:hover::after {
  content: attr(data-text);
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  opacity: 0.8;
}
.glitch-hover:hover::before {
  color: #fff;
  z-index: -1;
  animation: glitch 0.4s infinite;
  text-shadow: -2px 0 red, 2px 0 blue;
}
.glitch-hover:hover::after {
  color: #fff;
  z-index: -2;
  animation: glitch 0.4s infinite reverse;
  text-shadow: 2px 0 red, -2px 0 blue;
}
@keyframes glitch {
  0% { transform: translate(0); }
  20% { transform: translate(-3px, 3px); }
  40% { transform: translate(3px, -3px); }
  60% { transform: translate(-1px, 1px); }
  80% { transform: translate(1px, -1px); }
  100% { transform: translate(0); }
}

.counter {
  font-variant-numeric: tabular-nums;
}

#particles-js {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: -10;
}

::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: #000; }
::-webkit-scrollbar-thumb { background: #333; border-radius: 3px; }

#mobile-menu {
  transition: max-height 0.4s ease;
  max-height: 0;
  overflow: hidden;
}
#mobile-menu.open {
  max-height: 500px;
}

input, textarea {
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: 12px;
  padding: 12px 16px;
  color: white;
  outline: none;
  width: 100%;
  transition: border-color 0.3s, box-shadow 0.3s;
}
input:focus, textarea:focus {
  border-color: white;
  box-shadow: 0 0 15px rgba(255,255,255,0.2);
}