@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Fraunces:opsz,wght@9..144,300;9..144,400;9..144,600;9..144,700;9..144,900&family=JetBrains+Mono:wght@400;500;600&display=swap');

:root {
  /* Newspaper / broadsheet palette: warm newsprint background, ink-black text */
  --background: 42 32% 94%;
  --foreground: 0 0% 12%;
  --card: 40 35% 97%;
  --card-foreground: 0 0% 12%;
  --popover: 40 35% 97%;
  --popover-foreground: 0 0% 12%;
  --primary: 30 55% 28%;
  --primary-foreground: 42 40% 97%;
  --secondary: 40 20% 89%;
  --secondary-foreground: 0 0% 15%;
  --muted: 40 18% 89%;
  --muted-foreground: 0 0% 36%;
  --accent: 152 55% 26%;
  --accent-foreground: 42 40% 97%;
  --destructive: 4 68% 38%;
  --destructive-foreground: 42 40% 97%;
  --border: 30 12% 22%;
  --input: 30 12% 60%;
  --ring: 30 55% 28%;
  --chart-1: 152 55% 26%;
  --chart-2: 4 68% 38%;
  --chart-3: 30 55% 28%;
  --chart-4: 0 0% 45%;
  --chart-5: 205 45% 32%;
  --radius: 0rem;
  --font-display: 'Fraunces', serif;
  --font-body: 'Inter', sans-serif;
  --font-mono: 'JetBrains Mono', monospace;
}

* { border-color: hsl(var(--border)); }
*, *::before, *::after { border-radius: 0 !important; }
html, body { background: hsl(var(--background)); color: hsl(var(--foreground)); }
body { font-family: var(--font-body); }

.font-display { font-family: var(--font-display); }
.font-body { font-family: var(--font-body); }
.font-mono { font-family: var(--font-mono); }

/* line-clamp utilities (Tailwind CDN core doesn't include the plugin) */
.line-clamp-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* ticker animation */
.ticker-track { animation: ticker-scroll 40s linear infinite; }
@keyframes ticker-scroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* prose (article body) - minimal reset matching prose-invert look */
.prose-article { color: hsl(var(--muted-foreground)); line-height: 1.75; }
.prose-article h2, .prose-article h3 { font-family: var(--font-display); color: hsl(var(--foreground)); margin-top: 2em; margin-bottom: 0.6em; font-weight: 700; }
.prose-article h2 { font-size: 1.5rem; }
.prose-article h3 { font-size: 1.25rem; }
.prose-article p { margin-bottom: 1.25em; font-size: 1rem; }
.prose-article a { color: hsl(var(--primary)); text-decoration: none; }
.prose-article a:hover { text-decoration: underline; }
.prose-article strong { color: hsl(var(--foreground)); }
.prose-article blockquote { border-left: 3px solid hsl(var(--primary)); padding-left: 1rem; color: hsl(var(--muted-foreground)); font-style: italic; }
.prose-article code { font-family: var(--font-mono); color: hsl(var(--primary)); background: hsl(var(--secondary)); padding: 0.1em 0.35em; border-radius: 4px; }
