/* Custom styles for DaisyUI Character Analyzer */

/* Smooth transitions for theme changes */
* {
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

/* Custom character display styling */
.char-display-large {
  font-size: 3rem;
  line-height: 1;
  min-height: 4rem;
}

/* Hover effects for character cards */
.char-card-hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

/* Custom animation for loading */
@keyframes pulse-primary {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.7;
  }
}

.animate-pulse-primary {
  animation: pulse-primary 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

/* Custom toast positioning */
.toast {
  z-index: 1000;
}

/* Improved kbd styling */
.kbd {
  font-family: ui-monospace, SFMono-Regular, "SF Mono", Consolas, "Liberation Mono", Menlo, monospace;
}

/* Ensure proper spacing for badges */
.badge + .badge {
  margin-left: 0.25rem;
}

/* Custom gradient for headers */
.gradient-text {
  background: linear-gradient(45deg, oklch(var(--p)), oklch(var(--s)));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .char-display-large {
    font-size: 2rem;
    min-height: 3rem;
  }
  
  .stats {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem;
  }
  
  .stat {
    padding: 1rem 0.75rem;
  }
  
  .stat-value {
    font-size: 1.5rem !important;
  }
}

@media (max-width: 480px) {
  .stats {
    grid-template-columns: 1fr;
  }
  
  .container {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

/* Print styles */
@media print {
  .toast,
  .dropdown,
  .btn {
    display: none !important;
  }
  
  .card {
    break-inside: avoid;
    page-break-inside: avoid;
  }
}