body { margin: 0; padding: 0; font-family: sans-serif; overflow-x: hidden; }

@keyframes flow-left {
  0% { transform: translateX(-20px); opacity: 0; }
  50% { opacity: 1; }
  100% { transform: translateX(0); opacity: 1; }
}

@keyframes flow-right {
  0% { transform: translateX(20px); opacity: 0; }
  50% { opacity: 1; }
  100% { transform: translateX(0); opacity: 1; }
}

.flow-line {
  animation-duration: 2s;
  animation-iteration-count: infinite;
}

#cra-check-root {
  font-family: sans-serif;
  min-height: 100vh;
}

@media (max-width: 768px) {
  .board-grid {
    grid-template-columns: repeat(3, 100px) !important;
    grid-template-rows: repeat(8, 100px) !important;
    gap: 15px !important;
  }
  .square-mobile {
    width: 100px !important;
    height: 100px !important;
    font-size: 0.65rem !important;
  }
  .square-icon {
    font-size: 2.5rem !important;
  }
  .funnel-container {
    flex-direction: column !important;
    gap: 20px !important;
  }
  .funnel-box {
    width: 100% !important;
    max-width: 280px !important;
  }
}
