@import 'tailwindcss';

@custom-variant dark (&:is(.dark *));

/* Theme variable mapping */
@theme {
  --color-border: hsl(var(--border));
  --color-input: hsl(var(--input));
  --color-ring: hsl(var(--ring));
  --color-background: hsl(var(--background));
  --color-foreground: hsl(var(--foreground));

  --color-primary: hsl(var(--primary));
  --color-primary-foreground: hsl(var(--primary-foreground));

  --color-secondary: hsl(var(--secondary));
  --color-secondary-foreground: hsl(var(--secondary-foreground));

  --color-destructive: hsl(var(--destructive));
  --color-destructive-foreground: hsl(var(--destructive-foreground));

  --color-muted: hsl(var(--muted));
  --color-muted-foreground: hsl(var(--muted-foreground));

  --color-accent: hsl(var(--accent));
  --color-accent-foreground: hsl(var(--accent-foreground));

  --color-popover: hsl(var(--popover));
  --color-popover-foreground: hsl(var(--popover-foreground));

  --color-card: hsl(var(--card));
  --color-card-foreground: hsl(var(--card-foreground));

  --color-chart-1: hsl(var(--chart-1));
  --color-chart-2: hsl(var(--chart-2));
  --color-chart-3: hsl(var(--chart-3));
  --color-chart-4: hsl(var(--chart-4));
  --color-chart-5: hsl(var(--chart-5));

  --color-sidebar: hsl(var(--sidebar));
  --color-sidebar-foreground: hsl(var(--sidebar-foreground));
  --color-sidebar-primary: hsl(var(--sidebar-primary));
  --color-sidebar-primary-foreground: hsl(var(--sidebar-primary-foreground));
  --color-sidebar-accent: hsl(var(--sidebar-accent));
  --color-sidebar-accent-foreground: hsl(var(--sidebar-accent-foreground));
  --color-sidebar-border: hsl(var(--sidebar-border));
  --color-sidebar-ring: hsl(var(--sidebar-ring));

  --font-sans: Poppins, sans-serif;
  --font-serif: Libre Baskerville, serif;
  --font-mono: JetBrains Mono, monospace;

  --radius-sm: calc(var(--radius) - 4px);
  --radius-md: calc(var(--radius) - 2px);
  --radius-lg: var(--radius);
  --radius-xl: calc(var(--radius) + 4px);

  --shadow-sm: 0 1px 2px hsl(var(--border) / 0.05);
  --shadow-md: 0 4px 6px hsl(var(--border) / 0.08);
  --shadow-lg: 0 10px 15px hsl(var(--border) / 0.1);
}

/* LIGHT MODE THEME */
:root {
  --background: 48 100% 98%;      /* Very light yellow background */
  --card: 42 100% 96%;            /* Slightly deeper, warm light yellow for cards/boxes */
  --card-foreground: 24 8% 12%;      /* Slightly deeper for cards */
  --popover: 48 100% 98%;
 
  --popover-foreground: 20 14.3% 4.1%;

  --primary: 38 95% 58%;
  --primary-foreground: 24 8% 12%;

  --secondary: 60 4.8% 95.9%;
  --secondary-foreground: 220 40% 40%;

  --muted: 40 12% 96%;
  --muted-foreground: 24 8% 40%;
  --accent: 32 90% 52%;
  --accent-foreground: 24 8% 12%;

  --destructive: 0 84.2% 60.2%;
  --destructive-foreground: 60 9.1% 97.8%;

  --border: 38 30% 90%;
  --input: 38 30% 90%;

  --ring: 38 95% 58%;

  --chart-1: 38 95% 58%;
  --chart-2: 32 90% 52%;
  --chart-3: 44 85% 60%;
  --chart-4: 220 45% 60%;
  --chart-5: 40 65% 45%;

  --sidebar: 0 0% 98%;
  --sidebar-foreground: 24 8% 12%;
  --sidebar-primary: 38 95% 58%;
  --sidebar-primary-foreground: 24 8% 12%;
  --sidebar-accent: 32 90% 52%;
  --sidebar-accent-foreground: 24 8% 12%;
  --sidebar-border: 38 30% 90%;
  --sidebar-ring: 38 95% 58%;

  --radius: 0.5rem;
}

/* DARK MODE */
.dark {
  --background: 30 100% 4% / 1;
  --foreground: 60 9.1% 97.8%;
  --card: 20 14.3% 4.1%;
  --card-foreground: 60 9.1% 97.8%;
  --popover: 20 14.3% 4.1%;
  --popover-foreground: 60 9.1% 97.8%;

  --primary: 38 95% 60%;
  --primary-foreground: 20 14.3% 4.1%;

  --secondary: 12 6.5% 15.1%;
  --secondary-foreground: 60 9.1% 97.8%;

  --muted: 12 6.5% 15.1%;
  --muted-foreground: 24 5.4% 63.9%;
  --accent: 36 90% 60%;
  --accent-foreground: 60 9.1% 97.8%;

  --destructive: 0 62.8% 30.6%;
  --destructive-foreground: 60 9.1% 97.8%;

  --border: 12 6.5% 15.1%;
  --input: 12 6.5% 15.1%;
  --ring: 38 95% 60%;

  --chart-1: 38 95% 60%;
  --chart-2: 42 92% 50%;
  --chart-3: 34 88% 45%;
  --chart-4: 220 50% 60%;
  --chart-5: 32 85% 50%;

  --sidebar: 20 14.3% 4.1%;
  --sidebar-foreground: 60 9.1% 97.8%;
  --sidebar-primary: 38 95% 60%;
  --sidebar-primary-foreground: 20 14.3% 4.1%;
  --sidebar-accent: 36 90% 15%;
  --sidebar-accent-foreground: 60 9.1% 97.8%;
  --sidebar-border: 12 6.5% 15.1%;
  --sidebar-ring: 38 95% 60%;
}

/* BASE LAYER STYLING */
@layer base {
  * {
    @apply border-border outline-ring/50;
  }
  body {
    @apply bg-background text-foreground;
  }
  .card, .popover, .student-course-card {
    background-color: hsl(var(--card));
    color: hsl(var(--card-foreground));
    border-color: hsl(var(--border));
    box-shadow: 0 2px 8px hsl(var(--border) / 0.08);
  }

  .btn-primary, .button-primary {
    background-color: hsl(var(--primary));
    color: hsl(var(--primary-foreground));
    border: none;
    box-shadow: 0 2px 8px hsl(var(--primary) / 0.08);
  }

  .btn-primary:hover, .button-primary:hover {
    background-color: hsl(var(--accent));
    color: hsl(var(--accent-foreground));
  }

  .sidebar {
    background-color: hsl(var(--sidebar));
    color: hsl(var(--sidebar-foreground));
    border-right: 1px solid hsl(var(--sidebar-border));
  }
}

/* Custom Scrollbar Styles */
.custom-scrollbar::-webkit-scrollbar {
  width: 8px;
}

.custom-scrollbar::-webkit-scrollbar-track {
  background: hsl(var(--muted));
  border-radius: 4px;
}

.custom-scrollbar::-webkit-scrollbar-thumb {
  background: hsl(var(--primary));
  border-radius: 4px;
  transition: background 0.2s ease;
}

.custom-scrollbar::-webkit-scrollbar-thumb:hover {
  background: hsl(var(--accent));
}

/* Firefox scrollbar */
.custom-scrollbar {
  scrollbar-width: thin;
  scrollbar-color: hsl(var(--primary)) hsl(var(--muted));
}

/* Custom animations */
@keyframes zoomOutFromCenter {
  0% {
    opacity: 0;
    transform: scale(0.1) translateX(0);
  }
  30% {
    opacity: 0.6;
    transform: scale(0.8) translateX(0);
  }
  70% {
    opacity: 0.9;
    transform: scale(1.08) translateX(0);
  }
  100% {
    opacity: 1;
    transform: scale(1) translateX(0);
  }
}
