@import "tailwindcss";

:root {
  --background: #f8fafc;
  --foreground: #0f172a;
  --primary: #10b981;
  color-scheme: light;
}

.dark {
  --background: #020617;
  --foreground: #f8fafc;
  color-scheme: dark;
}

* { border-color: color-mix(in srgb, var(--foreground) 12%, transparent); }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--background); color: var(--foreground); font-family: "Inter Variable", Inter, Arial, Helvetica, sans-serif; text-rendering: optimizeLegibility; }
a, button { outline-color: var(--primary); }

::selection { background: rgba(16, 185, 129, .25); }
.prose-editor .tiptap { min-height: 18rem; outline: none; }
.prose-editor .tiptap > * + *, .prose-content > * + * { margin-top: 1rem; }
.prose-editor h2, .prose-content h2 { font-size: 1.75rem; font-weight: 800; margin-top: 2rem; }
.prose-editor ul, .prose-content ul { list-style: disc; padding-left: 1.5rem; }
.prose-editor ol, .prose-content ol { list-style: decimal; padding-left: 1.5rem; }
.prose-editor blockquote, .prose-content blockquote { border-left: 3px solid #10b981; padding-left: 1rem; color: #64748b; }
.prose-editor pre, .prose-content pre { overflow-x: auto; border-radius: .75rem; background: #020617; padding: 1rem; color: #e2e8f0; }
.prose-content { font-size: 1.05rem; line-height: 1.8; }
.prose-editor table, .prose-content table { width: 100%; border-collapse: collapse; }
.prose-editor th, .prose-editor td, .prose-content th, .prose-content td { border: 1px solid color-mix(in srgb, var(--foreground) 18%, transparent); padding: .65rem; text-align: left; }
.prose-editor th, .prose-content th { background: color-mix(in srgb, var(--foreground) 6%, transparent); font-weight: 700; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
