:root {
  --main-bg-color: #F8FAFC;
  --main-text-color: #1E293B;
  --highlight-color: #0D9488;
  --accent-color: #0F766E;
  --secondary-color: #475569;
  --code-bg-color: #F0FDFA;
  --card-shadow: 0 2px 6px rgba(0,0,0,0.06);
  --font-family: 'Noto Sans SC', 'PingFang SC', system-ui, sans-serif;
  --r-heading-text-transform: none !important;
}

body {
  background: var(--main-bg-color);
  color: var(--main-text-color);
  font-family: var(--font-family);
}

.reveal {
  font-family: var(--font-family);
  color: var(--main-text-color);
}

.reveal h1,
.reveal h2,
.reveal h3,
.reveal h4 {
  font-family: 'Noto Serif SC', 'Noto Sans SC', serif;
  color: var(--main-text-color);
  margin-bottom: 0.4em;
  text-transform: none;
}

.reveal h1 { font-size: 1.8em; font-weight: 900; }
.reveal h2 { font-size: 1.3em; font-weight: 700; }
.reveal h3 { font-size: 0.85em; font-weight: 700; }

.reveal p {
  margin-bottom: 0.6em;
  line-height: 1.55;
  font-size: 0.6em;
}

.reveal ul,
.reveal ol {
  display: inline-block;
  text-align: left;
  margin: 0 0 0 1em;
  font-size: 0.6em;
}

.reveal li {
  margin: 0.35em 0;
  font-size: 1em;
  line-height: 1.45;
}

.reveal li::marker {
  color: var(--highlight-color);
}

.reveal code {
  background-color: #F0FDFA;
  color: var(--accent-color);
  padding: 0.15em 0.4em;
  border-radius: 3px;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 0.85em;
}

.reveal strong {
  color: var(--main-text-color);
}

.reveal table {
  font-size: 0.55em;
}

.reveal a {
  color: var(--highlight-color);
}

@media (max-width: 768px) {
  .reveal h1 { font-size: 1.4em; }
  .reveal h2 { font-size: 1.1em; }
}
