/* Advent Code — design tokens.
   Singurul loc în care se definesc culori, spațieri și fonturi.
   Toate celelalte fișiere CSS folosesc doar aceste variabile.
   Tema: noapte de iarnă, cu roșu, verde de brad, auriu și zăpadă. */

:root {
  /* Cer de noapte de iarnă */
  --bg-0: #0c1a2e;
  --bg-1: #12243e;
  --bg-2: #1a3050;
  --bg-3: #233e64;

  /* Verde de brad */
  --green-900: #0c3323;
  --green-700: #135238;
  --green-500: #1f7a54;
  --green-300: #58c996;

  /* Auriu cald — stele și elemente importante */
  --gold-600: #d99a1e;
  --gold-500: #f4b942;
  --gold-300: #ffdc80;

  /* Roșu de Crăciun */
  --red-700: #7d1823;
  --red-600: #a81f2d;
  --red-500: #d63447;
  --red-300: #ff7f8a;

  /* Zăpadă și text */
  --snow: #ffffff;
  --cream: #fff6e6;
  --text-0: #fffaf0;
  --text-1: #dde6f2;
  --text-2: #a9b9cf;
  --text-3: #7286a3;

  /* Roluri semantice */
  --surface: var(--bg-1);
  --surface-raised: var(--bg-2);
  --border: rgba(255, 255, 255, 0.12);
  --border-strong: rgba(255, 255, 255, 0.24);
  --accent: var(--gold-500);
  --accent-hover: var(--gold-300);
  --success: var(--green-300);
  --danger: var(--red-500);
  --focus-ring: 0 0 0 3px rgba(255, 220, 128, 0.7);

  /* Stările ușilor din calendar */
  --day-locked: #5d7396;
  --day-available: var(--gold-500);
  --day-completed: var(--green-300);
  --day-missed: #9db4d3;

  /* Tipografie: rotundă și prietenoasă */
  --font-display: "Fredoka", "Nunito", system-ui, sans-serif;
  --font-sans: "Nunito", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-mono: "Fredoka", "Nunito", system-ui, sans-serif; /* cifre: zile, puncte, timp */
  --text-xs: 0.78rem;
  --text-sm: 0.9rem;
  --text-md: 1.05rem;
  --text-lg: 1.3rem;
  --text-xl: 1.75rem;
  --text-2xl: clamp(2.1rem, 6.2vw, 3.6rem);

  /* Spațiere (scară de 4px) */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-12: 3rem;
  --space-16: 4rem;

  /* Formă și mișcare */
  --radius-sm: 12px;
  --radius-md: 18px;
  --radius-lg: 28px;
  --shadow-card: 0 10px 28px rgba(3, 10, 22, 0.4);
  --shadow-gold: 0 0 0 2px var(--gold-500), 0 10px 34px rgba(244, 185, 66, 0.25);
  --ease: cubic-bezier(0.2, 0.7, 0.2, 1);
  --ease-bounce: cubic-bezier(0.34, 1.56, 0.64, 1);
  --dur-fast: 140ms;
  --dur-med: 300ms;

  --container: 1160px;
}

/* Animații dezactivate pentru cei care preferă mișcare redusă */
@media (prefers-reduced-motion: reduce) {
  :root {
    --dur-fast: 0ms;
    --dur-med: 0ms;
  }
}
