/* Import color definitions */
@import url('colors.css');

/* Override reveal.js defaults */
.reveal {
  font-family: 'Inter', 'SF Pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 32px !important;
  background-color: var(--bg-primary) !important;
  color: var(--text-primary) !important;
}

/* Ensure background applies to the entire viewport */
.reveal-viewport {
  background: var(--bg-primary) !important;
  background-color: var(--bg-primary) !important;
}

/* Headings */
.reveal h1 {
  color: var(--heading-primary) !important;
  border-bottom: 2px solid var(--border-subtle);
  padding-bottom: 0.2em;
  font-weight: 300;
  letter-spacing: -0.02em;
}

.reveal h2 {
  color: var(--heading-secondary) !important;
  font-weight: 400;
  margin-bottom: 0.5em;
}

.reveal h3 {
  color: var(--heading-tertiary) !important;
  font-weight: 500;
  font-size: 1.2em;
}

/* Text elements */
.reveal p, .reveal li, .reveal div {
  color: var(--text-primary) !important;
}

/* Definition and theorem boxes */
.reveal .definition {
  border-left: 4px solid var(--accent-green);
  background: var(--highlight-bg);
  padding: 0.5em 1em;
  margin: 1em 0;
  color: var(--text-primary);
  border-radius: 0 4px 4px 0;
}

.reveal .theorem {
  border-left: 4px solid var(--accent-red);
  background: var(--highlight-bg);
  padding: 0.5em 1em;
  margin: 1em 0;
  color: var(--text-primary);
  border-radius: 0 4px 4px 0;
}

/* Strong/bold text */
.reveal strong {
  font-weight: 600;
  color: var(--accent-yellow) !important;
}

/* Emphasis/italic */
.reveal em {
  color: var(--accent-blue-bright) !important;
  font-style: italic;
}

/* Links */
.reveal a {
  color: var(--link-color) !important;
  text-decoration: none;
  border-bottom: 1px dotted var(--link-color);
}

.reveal a:hover {
  color: var(--link-hover) !important;
  border-bottom-color: var(--link-hover);
}

/* Lists */
.reveal ul, .reveal ol {
  color: var(--text-secondary);
  text-align: left;
  display: block;
  margin-left: 1em;
}

.reveal li {
  margin-bottom: 0.3em;
  color: var(--text-primary) !important;
}

/* Code */
.reveal code {
  font-family: 'JetBrains Mono', 'Fira Code', monospace;
  background: var(--bg-primary);
  color: var(--code-text) !important;
  padding: 0.1em 0.3em;
  border-radius: 3px;
  font-size: 0.85em;
}

.reveal pre {
  background: var(--bg-primary);
  border: 1px solid var(--border-subtle);
  border-radius: 4px;
  padding: 1em;
  overflow: auto;
  max-height: 500px;
}

.reveal pre code {
  background: none;
  padding: 0;
  font-size: 0.9em;
  line-height: 1.4;
}

/* Math expressions - MathJax */
.reveal .MathJax {
  color: var(--math-color) !important;
}

/* Controls */
.reveal .controls {
  color: var(--accent-blue) !important;
}

/* Progress bar */
.reveal .progress {
  background: var(--border-subtle) !important;
  color: var(--accent-blue) !important;
}

.reveal .progress span {
  background: var(--accent-blue) !important;
}

/* Slide numbers */
.reveal .slide-number {
  color: var(--text-muted) !important;
  background-color: transparent !important;
}

