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

/* Tailwind is fighting me relentlessly, so I'm just going the old school method */
/* Force all challenge cards to equal height */
.category-content .grid > a {
  display: flex;
  height: 100%;
  width: 100%;  
}

.category-content .grid > a > div {
  display: flex;
  flex-direction: column;
  height: 100%;
  width: 100%;
}

/* Chat Message */
#chat-container {
  display: flex;
  flex-direction: column;
  height: calc(100vh - 4rem); /* Adjust height minus navbar */
  width: 100%; /* Instead of 100vw */
  overflow: hidden; /* Prevents rogue elements from causing a horizontal scroll */
}

#chat-messages {
  flex-grow: 1; 
  overflow-y: auto;
  overflow-x: hidden; /* Hides horizontal scrolling */
  word-wrap: break-word; /* Prevents long text from breaking layout */
  white-space: normal; /* Stops preformatted text from causing overflow */
  max-width: 100%;
  padding-bottom: 1rem; /* Adds spacing for input */
}

@keyframes slide-in {
  from {
    transform: translateX(100%);
    opacity: 0;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}

.animate-slide-in {
  animation: slide-in 0.3s ease-out;
}

/* Fix EasyMDE Toolbar Icons */
.editor-toolbar button {
  background: transparent !important; /* Remove ugly button bg */
  border: none !important;
  padding: 6px 8px !important;
  transition: background 0.2s ease-in-out;
}

.editor-toolbar button:hover {
  background: rgba(255, 255, 255, 0.1) !important; /* Subtle highlight */
  border-radius: 4px; /* Softer rounded corners */
}

/* Fix EasyMDE Tooltip */
.editor-tooltip {
  background: #1E293B !important; /* Darker tooltip */
  color: #F8FAFC !important; /* Brighter text */
  border-radius: 6px !important;
  padding: 6px 10px !important;
  font-size: 0.875rem !important; /* text-sm */
  box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.3) !important;
}

/* Ensure tooltip arrow looks good */
.editor-tooltip::after {
  border-top-color: #1E293B !important;
}

/* Match EasyMDE Editor Background to Form Fields */
.EasyMDEContainer .CodeMirror,
.EasyMDEContainer .CodeMirror-scroll {
  background-color: #1F2937 !important; /* Tailwind gray-800 */
  color: #F8FAFC !important; /* Tailwind gray-100 (lighter text) */
}

/* Ensure Editor Text Contrast is Good */
.EasyMDEContainer .CodeMirror pre {
  color: #E5E7EB !important; /* Tailwind gray-300 */
}

/* Match Placeholder Text */
.EasyMDEContainer .CodeMirror-placeholder {
  color: #9CA3AF !important; /* Tailwind gray-400 */
}

/* Border + Focus Ring Similar to Other Inputs */
.EasyMDEContainer .CodeMirror {
  border: 1px solid #374151 !important; /* Tailwind gray-700 */
  border-radius: 6px !important;
}

.EasyMDEContainer .CodeMirror-focused {
  border-color: #3B82F6 !important; /* Tailwind blue-500 */
  box-shadow: 0 0 6px rgba(59, 130, 246, 0.4) !important;
}

/* Enhanced Content Editor Styling */
/* Rules Editor - Amber focus ring */
.content-editor.rules-editor .EasyMDEContainer .CodeMirror-focused {
  border-color: #F59E0B !important; /* Tailwind amber-500 */
  box-shadow: 0 0 8px rgba(245, 158, 11, 0.3) !important;
}

/* Landing Content Editor - Green focus ring */
.content-editor.landing-editor .EasyMDEContainer .CodeMirror-focused {
  border-color: #10B981 !important; /* Tailwind green-500 */
  box-shadow: 0 0 8px rgba(16, 185, 129, 0.3) !important;
}

/* Enhanced Editor Container Styling */
.content-editor-container {
  position: relative;
  transition: all 0.2s ease-in-out;
}

.content-editor-container:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2);
}

/* Editor Toolbar Enhancement */
.content-editor .editor-toolbar {
  background: #374151 !important; /* Tailwind gray-700 */
  border-bottom: 1px solid #4B5563 !important; /* Tailwind gray-600 */
  border-radius: 8px 8px 0 0 !important;
}

.content-editor .editor-toolbar button.active {
  background: rgba(59, 130, 246, 0.3) !important; /* Blue highlight for active tools */
  color: #3B82F6 !important; /* Blue text for active state */
}

/* Hide unwanted EasyMDE UI elements */
.EasyMDEContainer .editor-preview-side,
.EasyMDEContainer .editor-preview-active-side {
  display: none !important; /* Hide side-by-side preview pane */
}

/* Hide status bar */
.EasyMDEContainer .editor-statusbar {
  display: none !important;
}

/* Hide any close/x buttons and unwanted characters in the editor */
.EasyMDEContainer .editor-toolbar .fa-times,
.EasyMDEContainer .editor-toolbar button[title*="close"],
.EasyMDEContainer .editor-toolbar button[title*="Close"] {
  display: none !important;
}

/* Hide any stray x characters or close buttons */
.EasyMDEContainer .CodeMirror-code .cm-overlay {
  display: none !important;
}

/* Hide the side-by-side toggle button completely */
.EasyMDEContainer .editor-toolbar .fa-columns,
.EasyMDEContainer .editor-toolbar button[title*="Side by Side"] {
  display: none !important;
}

/* Hide all preview elements - no preview functionality */
.EasyMDEContainer .editor-preview-side,
.EasyMDEContainer .editor-preview-active-side,
.EasyMDEContainer .editor-preview {
  display: none !important;
}

/* Hide any stray characters or cursors at top-left */
.EasyMDEContainer .CodeMirror-cursor {
  border-left-color: #F8FAFC !important; /* Match text color for normal cursor */
}

/* Allow CodeMirror to handle cursor naturally */
.EasyMDEContainer .CodeMirror-cursor {
  visibility: visible !important;
  border-left: 1px solid #F8FAFC !important; /* Default cursor color */
  opacity: 1 !important;
  position: absolute !important; /* Let CodeMirror position it */
}

/* Enhanced cursor when focused */
.EasyMDEContainer .CodeMirror-focused .CodeMirror-cursor {
  border-left: 2px solid #3B82F6 !important; /* Blue cursor when focused */
}

/* Remove our custom blinking - let CodeMirror handle it */
.EasyMDEContainer .CodeMirror-cursor {
  animation: none !important; /* Remove custom animation */
}

/* Remove any text content from cursor elements */
.EasyMDEContainer .CodeMirror-cursor::before,
.EasyMDEContainer .CodeMirror-cursor::after {
  content: none !important;
  display: none !important;
}

/* Hide any nbsp or whitespace content in cursor elements, but not the cursor itself */
.EasyMDEContainer .CodeMirror-cursors span:not(.CodeMirror-cursor) {
  display: none !important;
}

/* Don't hide content inside cursor elements - let CodeMirror manage it */
.EasyMDEContainer .CodeMirror-cursor {
  display: block !important;
  visibility: visible !important;
}

/* Ensure cursor container is visible */
.EasyMDEContainer .CodeMirror-cursors {
  visibility: visible !important;
  display: block !important;
}

/* Fix text selection highlighting with better contrast */
.EasyMDEContainer .CodeMirror-selected {
  background: rgba(59, 130, 246, 0.3) !important; /* Semi-transparent blue */
  color: inherit !important; /* Keep original text color */
}

.EasyMDEContainer .CodeMirror-line::selection,
.EasyMDEContainer .CodeMirror-line > span::selection,
.EasyMDEContainer .CodeMirror-line > span > span::selection {
  background: rgba(59, 130, 246, 0.4) !important; /* Semi-transparent blue */
  color: inherit !important; /* Keep original text color for readability */
}

.EasyMDEContainer .CodeMirror-line::-moz-selection,
.EasyMDEContainer .CodeMirror-line > span::-moz-selection,
.EasyMDEContainer .CodeMirror-line > span > span::-moz-selection {
  background: rgba(59, 130, 246, 0.4) !important; /* Semi-transparent blue for Firefox */
  color: inherit !important;
}

/* Ensure selection is visible when focused */
.EasyMDEContainer .CodeMirror-focused .CodeMirror-selected {
  background: rgba(37, 99, 235, 0.4) !important; /* Slightly more opaque when focused */
}

/* Remove horizontal scrollbar */
.EasyMDEContainer .CodeMirror-scroll {
  overflow-x: hidden !important; /* Hide horizontal scroll */
  overflow-y: auto !important; /* Keep vertical scroll */
}

.EasyMDEContainer .CodeMirror {
  overflow: hidden !important; /* Prevent any overflow scrollbars */
}

/* Ensure text wraps instead of horizontal scrolling */
.EasyMDEContainer .CodeMirror pre {
  word-wrap: break-word !important;
  white-space: pre-wrap !important;
  overflow-wrap: break-word !important;
}

/* Hide any overlay elements that might show x or other characters */
.EasyMDEContainer .CodeMirror-lines::before,
.EasyMDEContainer .CodeMirror-lines::after {
  content: none !important;
  display: none !important;
}

/* Ensure fullscreen mode doesn't show unwanted elements */
.EasyMDEContainer.editor-fullscreen .editor-preview-side,
.EasyMDEContainer.editor-fullscreen .editor-statusbar {
  display: none !important;
}

/* Clean up any placeholder or watermark text */
.EasyMDEContainer .CodeMirror-placeholder {
  opacity: 0.6 !important;
  color: #9CA3AF !important;
}

/* Clean up any leftover side-by-side elements */
.EasyMDEContainer .CodeMirror-sided {
  width: 100% !important;
}

/* Final cleanup - hide any remaining unwanted elements */
.EasyMDEContainer .editor-preview-side,
.EasyMDEContainer .editor-preview-active-side,
.EasyMDEContainer .CodeMirror-sided .CodeMirror-sizer,
.EasyMDEContainer .CodeMirror-sided .CodeMirror-gutters {
  display: none !important;
}

/* Ensure single editor view only */
.EasyMDEContainer.editor-preview-active .editor-preview {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  position: absolute !important;
  top: 37px !important; /* Account for toolbar height */
  left: 0 !important;
  background: #1F2937 !important;
  border: 1px solid #374151 !important;
  border-top: none !important;
  border-radius: 0 0 8px 8px !important;
  z-index: 9 !important;
}

/* Hide editor content when in preview mode */
.EasyMDEContainer.editor-preview-active .CodeMirror {
  display: none !important;
}

/* Hide CodeMirror line-like elements with X characters */
.EasyMDEContainer .CodeMirror-line-like,
.EasyMDEContainer .CodeMirror-measure,
.EasyMDEContainer .CodeMirror-measure pre {
  display: none !important;
}

/* Hide any empty line elements that create spacing */
.EasyMDEContainer .CodeMirror-lines .CodeMirror-line:empty,
.EasyMDEContainer .CodeMirror-lines .CodeMirror-line-like:empty {
  display: none !important;
}

/* Remove top padding and margin that creates empty space */
.EasyMDEContainer .CodeMirror-lines {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

.EasyMDEContainer .CodeMirror-scroll {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* Ensure first line starts immediately */
.EasyMDEContainer .CodeMirror-sizer {
  padding-top: 0 !important;
  margin-top: 0 !important;
  border-right-width: 0 !important; /* Remove right border white space */
}

/* Hide any measuring elements that might contain X's */
.EasyMDEContainer .CodeMirror-linewidget,
.EasyMDEContainer .CodeMirror-widget {
  display: none !important;
}

/* Clean up any artifacts in the editor */
.EasyMDEContainer .CodeMirror-lines > div > div:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Ensure editor takes full width when not in side-by-side mode */
.EasyMDEContainer .editor-preview-active {
  width: 100% !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  background: #1F2937 !important; /* Match our dark theme */
  color: #F8FAFC !important;
  padding: 1rem !important;
  border-radius: 0 0 8px 8px !important;
  z-index: 10 !important;
}

/* PAGINATION STYLES */
/* Ensure the nav container aligns correctly */
.pagy.nav {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: center;
  background-color: #1f2937; /* Tailwind gray-800 */
  padding: 10px 16px;
  border-radius: 8px;
}

/* Style page links */
.pagy.nav a {
  display: inline-block;
  padding: 8px 12px;
  border-radius: 6px;
  background-color: #374151; /* Tailwind gray-700 */
  color: #d1d5db; /* Tailwind gray-300 */
  text-decoration: none;
  font-weight: 500;
  transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
}

/* Hover effect */
.pagy.nav a:hover {
  background-color: #4b5563; /* Tailwind gray-600 */
  color: #ffffff;
}

/* Active page */
.pagy.nav a.current {
  background-color: #2563eb; /* Tailwind blue-600 */
  color: #ffffff;
  font-weight: bold;
  pointer-events: none;
}

/* Disabled gap dots */
.pagy.nav a.gap {
  background: transparent;
  color: #9ca3af; /* Tailwind gray-400 */
  cursor: default;
  padding: 8px 12px;
}

/* Previous & Next Buttons */
.pagy.nav a[aria-label="Previous"],
.pagy.nav a[aria-label="Next"] {
  padding: 8px 14px;
  border-radius: 6px;
  background-color: #1f2937; /* Tailwind gray-800 */
  color: #ffffff;
  text-decoration: none;
}

.pagy.nav a[aria-label="Previous"]:hover,
.pagy.nav a[aria-label="Next"]:hover {
  background-color: #374151; /* Tailwind gray-700 */
}


.animate-bounce {
    animation: bounce 1s infinite;
    font-size: 3rem;
}

@keyframes bounce {
    0%, 100% {
	transform: translateY(0);
    }
    50% {
	transform: translateY(-20px);
    }
}

/* Markdown Heading Sizing */
.markdown h1,
.tater-markdown h1 {
  font-size: 2.5rem; /* ~40px */
  font-weight: bold;
  margin-top: 2rem;
  margin-bottom: 1rem;
}

.markdown h2,
.tater-markdown h2 {
  font-size: 2rem; /* ~32px */
  font-weight: 600;
  margin-top: 1.75rem;
  margin-bottom: 1rem;
}

.markdown h3,
.tater-markdown h3 {
  font-size: 1.5rem; /* ~24px */
  font-weight: 500;
  margin-top: 1.5rem;
  margin-bottom: 0.75rem;
}

.markdown h4,
.tater-markdown h4 {
  font-size: 1.25rem; /* ~20px */
  font-weight: 500;
  margin-top: 1.25rem;
  margin-bottom: 0.5rem;
}

.markdown h5,
.tater-markdown h5 {
  font-size: 1.125rem; /* ~18px */
  font-weight: 500;
  margin-top: 1rem;
  margin-bottom: 0.5rem;
}

.markdown h6,
.tater-markdown h6 {
  font-size: 1rem; /* ~16px */
  font-weight: 500;
  margin-top: 0.75rem;
  margin-bottom: 0.5rem;
}


/* Default Markdown */
.markdown {
  max-width: 100%;
  overflow-wrap: break-word;
  word-break: break-word;
  white-space: normal;
  font-size: 1rem;
  color: #d1d5db; /* Tailwind gray-300 */
  line-height: 1.75;
  font-family: system-ui, sans-serif;
}

/* Headings */
.markdown h1 {
  text-align: center;
  color: #f3f4f6; /* Tailwind gray-100 */
}

.markdown h2 {
  color: #e5e7eb; /* Tailwind gray-200 */
}

.markdown h3 {
  color: #d1d5db; /* Tailwind gray-300 */
}

/* Paragraphs */
.markdown p {
  margin-bottom: 1rem;
}

/* Lists */
.markdown ul,
.markdown ol {
  padding-left: 1.5rem;
  margin: 1rem 0;
}

.markdown ol {
  list-style-type: decimal;
}

.markdown ul {
  list-style-type: disc;
}

/* Inline Code */
.markdown code {
  background-color: #374151; /* Tailwind gray-700 */
  color: #86efac; /* Tailwind green-300 */
  padding: 0.2em 0.4em;
  border-radius: 0.25rem;
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
  font-size: 0.875rem;
}

/* Code Blocks */
.markdown pre {
  background-color: #374151; /* Tailwind gray-700 */
  color: #f3f4f6; /* Tailwind gray-100 */
  padding: 1rem;
  border-radius: 0.5rem;
  overflow-x: auto;
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
  font-size: 0.875rem;
  line-height: 1.5;
  margin-bottom: 1rem;
  white-space: pre-wrap;
}

/* Links */
.markdown a {
  color: #38bdf8; /* Tailwind cyan-400 */
  font-weight: 600;
  text-decoration: underline;
  transition: color 0.2s ease-in-out;
}

.markdown a:hover {
  color: #fbbf24; /* Tailwind amber-400 */
  text-decoration: none;
}

/* Blockquotes */
.markdown blockquote {
  border-left: 4px solid #4b5563; /* Tailwind gray-600 */
  padding-left: 1rem;
  margin: 1rem 0;
  color: #9ca3af; /* Tailwind gray-400 */
  font-style: italic;
}

/* Horizontal Rule */
.markdown hr {
  border-top: 1px solid #4b5563; /* Tailwind gray-600 */
  margin: 2rem 0;
}

/* Footnotes */
.markdown .footnotes {
  font-size: 0.875rem;
  color: #9ca3af; /* gray-400 */
  border-top: 1px solid #374151; /* gray-700 */
  margin-top: 2rem;
  padding-top: 1rem;
}

.markdown .footnotes ol {
  padding-left: 1rem;
}

.markdown .footnotes li {
  margin-bottom: 0.5rem;
}

.markdown sup {
  font-size: 0.75rem;
  vertical-align: super;
  line-height: 0;
}

/* Tables */
.markdown table,
.markdown .markdown-table {
  border-collapse: collapse;
  width: 100%;
  margin: 1rem 0;
  background-color: transparent;
}

.markdown table th,
.markdown .markdown-table th {
  background-color: #374151; /* Tailwind gray-700 */
  color: #f3f4f6; /* Tailwind gray-100 */
  font-weight: 600;
  padding: 0.75rem;
  text-align: left;
  border: 1px solid #4b5563; /* Tailwind gray-600 */
}

.markdown table td,
.markdown .markdown-table td {
  padding: 0.75rem;
  border: 1px solid #4b5563; /* Tailwind gray-600 */
  color: #e5e7eb; /* Tailwind gray-200 */
}

.markdown table tr:nth-child(even),
.markdown .markdown-table tbody tr:nth-child(even) {
  background-color: #1f2937; /* Tailwind gray-800 */
}

.markdown table tr:hover,
.markdown .markdown-table tbody tr:hover {
  background-color: #374151; /* Tailwind gray-700 */
}


/* Tater Markdown */
.tater-markdown {
  line-height: 1.5;
  font-size: 1rem;
  color: #111827; /* Tailwind gray-900 */
  word-break: break-word;
  font-family: system-ui, sans-serif;
}

.tater-markdown h1,
.tater-markdown h2,
.tater-markdown h3,
.tater-markdown h4,
.tater-markdown h5,
.tater-markdown h6 {    
  color: #374151; /* Tailwind gray-700 */
  margin-bottom: 0.5rem;
  margin-top: 1.25rem;
}

.tater-markdown p {
  margin: 0.75rem 0;
}

.tater-markdown ul,
.tater-markdown ol {
  padding-left: 1.5rem;
  margin: 0.75rem 0;
  color: #111827; /* Tailwind gray-900 */
}

.tater-markdown ul:not(:first-child),
.tater-markdown ol:not(:first-child) {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}

.tater-markdown ul ul,
.tater-markdown ol ol {
  margin: 0.25rem 0;
}

.tater-markdown ol {
  list-style-type: decimal;
}

.tater-markdown ul {
  list-style-type: disc;
}

.tater-markdown li {
  margin: 0.5rem 0;
}

.tater-markdown pre {
  background-color: #1f2937; /* Tailwind gray-800 */
  color: #f3f4f6; /* Tailwind gray-100 */
  padding: 0.75rem;
  border-radius: 0.375rem;
  overflow: auto;
  font-size: 0.875rem;
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
  letter-spacing: -0.015em;
  line-height: 1.5;
  margin: 0.75rem 0;
  white-space: pre-wrap; /* Re-added here for pre specifically */
}

.tater-markdown code {
  background-color: #1f2937; /* Tailwind gray-800 */
  color: #86efac; /* Tailwind green-300 */
  padding: 0.125rem 0.25rem;
  border-radius: 0.25rem;
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
  letter-spacing: -0.015em;
}

.tater-markdown a {
  color: #06b6d4; /* Tailwind cyan-400 */
  text-decoration: underline;
  transition: color 0.2s ease-in-out;
}

.tater-markdown a:hover {
  color: #fbbf24; /* Tailwind amber-400 */
  text-decoration: none;
}

.tater-markdown blockquote {
  border-left: 4px solid #6b7280; /* Tailwind gray-500 */
  padding-left: 0.75rem;
  color: #6b7280; /* Tailwind gray-500 */
  font-style: italic;
  margin: 0.75rem 0;
}

.tater-markdown .footnotes {
  font-size: 0.875rem; /* text-sm */
  color: #4b5563; /* Tailwind gray-600 */
  border-top: 1px solid #e5e7eb; /* Tailwind gray-200 */
  margin-top: 1.5rem;
  padding-top: 1rem;
}

.tater-markdown .footnotes ol {
  padding-left: 1rem;
}

.tater-markdown .footnotes li {
  margin-bottom: 0.5rem;
}

.tater-markdown sup {
  font-size: 0.75rem;
  vertical-align: super;
  line-height: 0;
}

/* Tater Tables */
.tater-markdown table,
.tater-markdown .markdown-table {
  border-collapse: collapse;
  width: 100%;
  margin: 0.75rem 0;
  background-color: transparent;
}

.tater-markdown table th,
.tater-markdown .markdown-table th {
  background-color: #e5e7eb; /* Tailwind gray-200 */
  color: #111827; /* Tailwind gray-900 */
  font-weight: 600;
  padding: 0.5rem 0.75rem;
  text-align: left;
  border: 1px solid #d1d5db; /* Tailwind gray-300 */
}

.tater-markdown table td,
.tater-markdown .markdown-table td {
  padding: 0.5rem 0.75rem;
  border: 1px solid #d1d5db; /* Tailwind gray-300 */
  color: #111827; /* Tailwind gray-900 */
}

.tater-markdown table tr:nth-child(even),
.tater-markdown .markdown-table tbody tr:nth-child(even) {
  background-color: #f9fafb; /* Tailwind gray-50 */
}

/* Tater LaTeX Styling */
.tater-markdown .katex-display {
  margin: 0.75rem 0;
  text-align: center;
}

.tater-markdown .katex {
  color: #111827; /* Tailwind gray-900 - dark text for light theme */
  font-size: 1.1em;
}

/* Clean Markdown */
.clean-markdown {
  max-width: 100%;
  color: #1f2937; /* Tailwind gray-800 */
  font-size: 1rem;
  line-height: 1.75rem;
  word-break: break-word;
}

.clean-markdown h1,
.clean-markdown h2,
.clean-markdown h3 {
  font-weight: 600;
  margin-top: 2rem;
  margin-bottom: 1rem;
  line-height: 1.25;
  color: #111827; /* Tailwind gray-900 */
}

.clean-markdown h1 {
  font-size: 2rem;
  border-bottom: 1px solid #e5e7eb; /* Tailwind gray-200 */
  padding-bottom: 0.5rem;
}

.clean-markdown h2 {
  font-size: 1.5rem;
}

.clean-markdown h3 {
  font-size: 1.25rem;
}

.clean-markdown p {
  margin-bottom: 1rem;
}

.clean-markdown ul,
.clean-markdown ol {
  margin-bottom: 1rem;
  padding-left: 1.5rem;
}

.clean-markdown ul {
  list-style-type: disc;
}

.clean-markdown ol {
  list-style-type: decimal;
}

.clean-markdown a {
  color: #2563eb; /* Tailwind blue-600 */
  font-weight: 500;
  text-decoration: underline;
}

.clean-markdown a:hover {
  color: #1d4ed8; /* Tailwind blue-700 */
}

.clean-markdown blockquote {
  margin: 1rem 0;
  padding-left: 1rem;
  border-left: 4px solid #e5e7eb; /* gray-200 */
  color: #6b7280; /* gray-500 */
  font-style: italic;
}

.clean-markdown code {
  background-color: #f3f4f6; /* gray-100 */
  color: #111827;
  padding: 0.2em 0.4em;
  border-radius: 4px;
  font-family: monospace;
  font-size: 0.875rem;
}

.clean-markdown pre {
  background-color: #f3f4f6;
  padding: 1rem;
  overflow-x: auto;
  border-radius: 6px;
  font-family: monospace;
  font-size: 0.875rem;
  line-height: 1.5;
  margin-bottom: 1rem;
}

/* Clean Tables */
.clean-markdown table,
.clean-markdown .markdown-table {
  border-collapse: collapse;
  width: 100%;
  margin: 1rem 0;
  background-color: transparent;
}

.clean-markdown table th,
.clean-markdown .markdown-table th {
  background-color: #f3f4f6; /* Tailwind gray-100 */
  color: #111827; /* Tailwind gray-900 */
  font-weight: 600;
  padding: 0.75rem;
  text-align: left;
  border: 1px solid #d1d5db; /* Tailwind gray-300 */
}

.clean-markdown table td,
.clean-markdown .markdown-table td {
  padding: 0.75rem;
  border: 1px solid #d1d5db; /* Tailwind gray-300 */
  color: #111827; /* Tailwind gray-900 */
}

.clean-markdown table tr:nth-child(even),
.clean-markdown .markdown-table tbody tr:nth-child(even) {
  background-color: #f9fafb; /* Tailwind gray-50 */
}

/* Clean LaTeX Styling */
.clean-markdown .katex-display {
  margin: 1rem 0;
  text-align: center;
}

.clean-markdown .katex {
  color: #111827; /* Tailwind gray-900 - dark text for light theme */
  font-size: 1.1em;
}

/* LaTeX/KaTeX Styling */
.markdown .katex-display {
  margin: 1rem 0;
  text-align: center;
}

.markdown .katex {
  color: #e5e7eb; /* Tailwind gray-200 - light text for dark theme */
  font-size: 1.1em;
}

.markdown .katex-display .katex {
  font-size: 1.2em;
}

/* LaTeX error and fallback styling */
.latex-error {
  color: #ef4444 !important; /* Tailwind red-500 */
  background-color: #1f2937; /* Tailwind gray-800 */
  padding: 2px 6px;
  border-radius: 4px;
  border: 1px solid #ef4444;
}

.latex-fallback {
  background-color: #374151 !important; /* Tailwind gray-700 */
  color: #d1d5db !important; /* Tailwind gray-300 */
  padding: 2px 6px !important;
  border-radius: 4px !important;
  border: 1px solid #4b5563; /* Tailwind gray-600 */
}

/* Server-side LaTeX placeholders (will be processed by KaTeX on client) */
.katex-display-server,
.katex-inline-server {
  font-family: monospace;
  background-color: #374151; /* Tailwind gray-700 */
  color: #d1d5db; /* Tailwind gray-300 */
  padding: 2px 6px;
  border-radius: 4px;
  border: 1px solid #4b5563; /* Tailwind gray-600 */
}

.katex-display-server {
  display: block;
  text-align: center;
  margin: 1rem 0;
}

/* List indentation classes for nested lists */
.markdown li.indent-1,
.tater-markdown li.indent-1,
.clean-markdown li.indent-1 {
  margin-left: 1.5rem; /* 24px */
}

.markdown li.indent-2,
.tater-markdown li.indent-2,
.clean-markdown li.indent-2 {
  margin-left: 3rem; /* 48px */
}

.markdown li.indent-3,
.tater-markdown li.indent-3,
.clean-markdown li.indent-3 {
  margin-left: 4.5rem; /* 72px */
}

.markdown li.indent-4,
.tater-markdown li.indent-4,
.clean-markdown li.indent-4 {
  margin-left: 6rem; /* 96px */
}
