body {
  font-family: 'Roboto Mono', monospace;
  background-color: #f5f5f5;
  color: #1a1a1a;
}
.neo-brutalist {
  border: 4px solid #000;
  box-shadow: 8px 8px 0 #000;
  transition: all 0.2s ease;
  border-radius: 4px;
}
.neo-brutalist:hover {
  box-shadow: 6px 6px 0 #000;
  transform: translate(2px, 2px);
}
h1, h2, h3 {
  font-family: 'Bebas Neue', sans-serif;
  letter-spacing: 2px;
}
.component-card {
  display: flex;
  flex-direction: column;
  width: 50%;           /* desktop default */
  margin: 2rem auto;    /* center horizontally */
  max-width: 600px;     /* optional: prevents it from being too wide on large screens */
  min-width: 280px;     /* prevents it from being too tiny on mobile */
}

/* Component preview for buttons */
.component-preview {
  flex-grow: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
  min-height: 200px;
}

/* Flex container for buttons */
.component-preview .flex {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap; /* wrap buttons on small screens */
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .component-card {
    width: 70%;
  }
}

@media (max-width: 480px) {
  .component-card {
    width: 90%;
  }

  /* Buttons stack vertically on small screens */
  .component-preview .flex {
    flex-direction: column;
    gap: 0.75rem;
  }

  /* Make buttons larger on mobile */
  .component-preview button {
    font-size: 1.25rem;
    padding: 0.75rem 1.5rem;
  }
}