/* Custom Scrollbar */
::-webkit-scrollbar {
  width: 8px;
}
::-webkit-scrollbar-track {
  background: #07080b;
}
::-webkit-scrollbar-thumb {
  background: #262d3d;
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: #3b82f6;
}

/* Ambient Background Glow */
.bg-mesh {
  background-image: 
    radial-gradient(at 10% 20%, rgba(59, 130, 246, 0.08) 0px, transparent 50%),
    radial-gradient(at 90% 10%, rgba(139, 92, 246, 0.08) 0px, transparent 50%),
    radial-gradient(at 50% 80%, rgba(6, 182, 212, 0.05) 0px, transparent 50%);
}

/* Custom Cursor Styles */
@media (pointer: fine) {
  body {
    cursor: default;
  }
  .custom-cursor {
    pointer-events: none;
    position: fixed;
    width: 10px;
    height: 10px;
    background: #60a5fa;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    transition: transform 0.1s ease, width 0.2s ease, height 0.2s ease, background 0.2s ease;
    z-index: 99999;
  }
  .custom-cursor-follower {
    pointer-events: none;
    position: fixed;
    width: 36px;
    height: 36px;
    border: 1.5px solid rgba(96, 165, 250, 0.4);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    transition: transform 0.18s cubic-bezier(0.25, 1, 0.5, 1);
    z-index: 99998;
  }
  .cursor-hover .custom-cursor {
    transform: translate(-50%, -50%) scale(2.2);
    background: #8b5cf6;
  }
  .cursor-hover .custom-cursor-follower {
    transform: translate(-50%, -50%) scale(1.6);
    border-color: rgba(139, 92, 246, 0.6);
  }
}

/* Video player download control concealment */
video::-internal-media-controls-download-button {
  display: none !important;
}
video::-webkit-media-controls-enclosure {
  overflow: hidden;
}
video::-webkit-media-controls-panel {
  width: calc(100% + 30px);
}

/* Glassmorphism */
.glass-nav {
  background: rgba(14, 17, 23, 0.75);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}
.glass-card {
  background: rgba(26, 31, 44, 0.65);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.06);
}
.glass-card:hover {
  border-color: rgba(96, 165, 250, 0.35);
}

/* Horizontal Marquee Pause on Hover */
.marquee-container:hover .marquee-content {
  animation-play-state: paused;
}