/* Reset & Prevent Bounce/Select */
* {
  -webkit-tap-highlight-color: transparent;
  user-select: none;
  -webkit-user-select: none;
  box-sizing: border-box;
}

/* Hide scrollbar on swatches */
.no-scrollbar::-webkit-scrollbar {
  display: none;
}
.no-scrollbar {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

/* Color Swatches Style & Active Ring */
.color-swatch {
  box-shadow: 0 0 10px currentColor;
  border: 2px solid rgba(255, 255, 255, 0.4);
}
.color-swatch.active {
  transform: scale(1.15);
  border: 3px solid #ffffff;
  box-shadow: 0 0 20px currentColor, 0 0 30px currentColor;
}
.color-swatch.active::after {
  content: '';
  position: absolute;
  inset: -6px;
  border-radius: 9999px;
  border: 2px dashed rgba(255, 255, 255, 0.6);
  animation: rotateSpin 6s linear infinite;
}

@keyframes rotateSpin {
  100% {
    transform: rotate(360deg);
  }
}

/* Brush Type Buttons */
.brush-type-btn {
  background: rgba(255, 255, 255, 0.04);
}
.brush-type-btn.active {
  background: linear-gradient(135deg, rgba(0, 240, 255, 0.25), rgba(157, 0, 255, 0.25));
  border: 1px solid rgba(0, 240, 255, 0.7);
  color: #ffffff;
  box-shadow: 0 0 12px rgba(0, 240, 255, 0.4);
}

/* Size Buttons */
.size-btn.active {
  background: rgba(255, 255, 255, 0.25);
  color: #00F0FF;
  box-shadow: 0 0 10px rgba(0, 240, 255, 0.5);
}

/* Modal Pop Animation */
@keyframes modalPop {
  0% { transform: scale(0.85); opacity: 0; }
  100% { transform: scale(1); opacity: 1; }
}
.animate-pop {
  animation: modalPop 0.25s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}

/* Dock Fade When Active Drawing */
#bottomDock.drawing-active,
header.drawing-active {
  opacity: 0.15;
  transition: opacity 0.35s ease;
}
#bottomDock,
header {
  transition: opacity 0.25s ease;
}