/* Custom Neo-Brutalist Styling Utilities */

:root {
  --neo-black: #000000;
  --neo-pink: #ff2e93;
  --neo-yellow: #ffe600;
  --neo-teal: #00e5ff;
  --neo-blue: #4d6bfe;
  --neo-purple: #150228;
  --neo-card-bg: #ffffff;
}

/* Hard Offset Shadows */
.shadow-neo-sm {
  box-shadow: 2px 2px 0px 0px var(--neo-black);
}

.shadow-neo {
  box-shadow: 4px 4px 0px 0px var(--neo-black);
}

.shadow-neo-md {
  box-shadow: 6px 6px 0px 0px var(--neo-black);
}

.shadow-neo-lg {
  box-shadow: 8px 8px 0px 0px var(--neo-black);
}

.shadow-neo-pink {
  box-shadow: 4px 4px 0px 0px var(--neo-pink);
}

/* Borders */
.border-neo-2 {
  border: 2px solid var(--neo-black);
}

.border-neo-3 {
  border: 3px solid var(--neo-black);
}

.border-neo-4 {
  border: 4px solid var(--neo-black);
}

/* Button & Interactive Hover Lift Effects */
.btn-neo {
  transition: transform 0.1s ease, box-shadow 0.1s ease;
  user-select: none;
}

.btn-neo:hover {
  transform: translate(-2px, -2px);
  box-shadow: 6px 6px 0px 0px var(--neo-black);
}

.btn-neo:active {
  transform: translate(2px, 2px);
  box-shadow: 2px 2px 0px 0px var(--neo-black);
}

/* Text Stroke / Heavy Drop Shadow */
.text-stroke-black {
  -webkit-text-stroke: 1.5px var(--neo-black);
  paint-order: stroke fill;
}

.text-stroke-thick {
  -webkit-text-stroke: 2.5px var(--neo-black);
  paint-order: stroke fill;
}

.text-shadow-neo {
  text-shadow: 3px 3px 0px var(--neo-black);
}

.text-shadow-neo-lg {
  text-shadow: 4px 4px 0px var(--neo-black);
}

/* Pulse animation for countdown colons */
@keyframes colonPulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.4; transform: scale(0.92); }
}

.animate-colon {
  animation: colonPulse 1.5s infinite ease-in-out;
}
