@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:ital,wght@0,100..800;1,100..800&display=swap";
/* Hide default cursor */
html, body, * {
  cursor: none !important;
}

/* Cursor container */
.cursor {
  position: fixed;
  top: 0;
  left: 0;
  width: 40px;
  height: 40px;
  pointer-events: none;
  z-index: 9999;
  transform: translate(-50%, -50%);
  transition: transform 0.15s ease, opacity 0.25s ease;
}

/* Inner dot */
.cursor-dot {
  width: 8px;
  height: 8px;
  background-color: white;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* Outer ring */
.cursor-ring {
  width: 40px;
  height: 40px;
  border: 2px solid rgba(255, 255, 255, 0.7);
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: transform 0.2s ease, border 0.2s ease;
}

/* Hover effect */
.cursor.hover .cursor-ring {
  transform: translate(-50%, -50%) scale(1.5);
  border-color: #60a5fa;
}

/* Click effect */
.cursor.click .cursor-ring {
  transform: translate(-50%, -50%) scale(0.8);
  border-color: #34d399;
}

/* Text input focus */
.cursor.text .cursor-ring {
  transform: translate(-50%, -50%) scale(1.3);
  border-color: #facc15;
}
