@import url('https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Plus+Jakarta+Sans:ital,wght@0,400;0,500;0,600;0,700;1,500&display=swap');
@import 'tailwindcss';

@theme {
  --color-paper: #15120f;
  --color-paper-deep: #1c1712;
  --color-ink: #f1e9dc;
  --color-ink-soft: #b3a797;
  --color-ink-faint: #786c5d;
  --color-line: #34291e;
  --color-card: #1f1a14;
  --color-coral: #f17444;
  --color-coral-soft: #3a2015;
  --color-teal: #3fa593;
  --color-teal-soft: #16302a;
  --color-plum: #a285c8;
  --color-plum-soft: #281f38;
  --color-rose: #e07a83;
  --color-rose-soft: #3a1d22;

  --font-display: 'Instrument Serif', Georgia, serif;
  --font-sans: 'Plus Jakarta Sans', ui-sans-serif, system-ui, sans-serif;
}

@layer base {
  * {
    box-sizing: border-box;
  }
  html {
    scroll-behavior: smooth;
  }
  body {
    margin: 0;
    background: var(--color-paper);
    color: var(--color-ink);
    font-family: var(--font-sans);
    -webkit-font-smoothing: antialiased;
  }
}

@layer utilities {
  .bg-grain {
    background-image:
      radial-gradient(circle at 20% 20%, rgba(241, 116, 68, 0.14), transparent 38%),
      radial-gradient(circle at 85% 0%, rgba(63, 165, 147, 0.12), transparent 42%),
      radial-gradient(circle at 50% 100%, rgba(162, 133, 200, 0.1), transparent 45%);
  }
}

@keyframes rise {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: none; }
}
.animate-rise {
  animation: rise 0.4s cubic-bezier(0.22, 0.9, 0.27, 1) both;
}

@keyframes blink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.35; }
}
.animate-blink {
  animation: blink 1.2s ease-in-out infinite;
}

@keyframes loading-sweep {
  0% { transform: translateX(-110%); }
  100% { transform: translateX(330%); }
}
.animate-loading-sweep {
  animation: loading-sweep 1.4s ease-in-out infinite;
}

/* Custom range/checkbox-free toggle look is handled with Tailwind classes directly. */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
::-webkit-scrollbar-thumb {
  background: var(--color-line);
  border-radius: 999px;
}
::-webkit-scrollbar-track {
  background: transparent;
}