@tailwind base;
@tailwind components;
@tailwind utilities;

/* Mirrors the source design's own :root custom properties exactly, so CMS
   content (richText HTML, entry icon SVG markup) can reference var(--teal)
   etc. directly, the same way the original file does. */
:root {
  --ink: #0b0317;
  --ink-2: #170c28;
  --paper: #f6f1e9;
  --muted: #6f6878;
  --muted-2: #847d8c;
  --teal: #1fedac;
  --purple: #9247e3;
  --pink: #e250a6;
  --orange: #ff9f2e;
  --blue: #4d93f8;
  --lavender: #e7dff6;
  --line: rgba(11, 3, 23, 0.12);
  --line-dark: rgba(255, 255, 255, 0.14);
}

html, body {
  overflow-x: hidden;
}

body {
  @apply bg-bg text-ink font-body antialiased;
}

/* Justify body copy site-wide (headings, buttons, nav and mono/price labels aren't <p>
   tags, so they're unaffected; single-line <p>s are unaffected since justify only acts
   on wrapped lines). Opt out on a specific paragraph with `text-left` if it ever reads
   oddly (e.g. very short columns where justify creates uneven word gaps). */
p {
  text-align: justify;
  text-justify: inter-word;
}

.line-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.prose-nsp h2 {
  @apply font-heading font-extrabold text-2xl text-ink mt-8 mb-3;
}
.prose-nsp h3 {
  @apply font-heading font-bold text-xl text-ink mt-6 mb-2;
}
.prose-nsp p {
  @apply text-ink-soft leading-relaxed mb-4;
}
.prose-nsp a {
  @apply text-teal underline;
}
.prose-nsp blockquote {
  @apply border-l-4 border-purple pl-5 text-ink;
}

/* Dark-section variant of prose content (Why NSP body copy sits on the
   cream background per the source design, so this is currently unused by
   default richText blocks but available via .prose-nsp-dark for any block
   placed on a dark/ink section). */
.prose-nsp-dark h2, .prose-nsp-dark h3 {
  @apply text-white;
}
.prose-nsp-dark p {
  color: rgba(255, 255, 255, 0.72);
}

@keyframes cursor-blink {
  0%, 49% { opacity: 1; }
  50%, 100% { opacity: 0; }
}
.ticker-cursor {
  animation: cursor-blink 1s step-start infinite;
}
