/* --- Typography --- */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap');

:root {
  --font-body:    'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono:    'JetBrains Mono', 'Fira Code', 'Cascadia Code', monospace;
  --content-width: 740px;
}

body {
  font-family: var(--font-body);
  font-size: 16.5px;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
}

/* Narrow the content column — less is more */
.container .markdown-body,
#board-ctn .markdown-body {
  max-width: var(--content-width);
}

/* Headings — weight + spacing rhythm */
.markdown-body h1,
.markdown-body h2,
.markdown-body h3 {
  font-family: var(--font-body);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.3;
}

.markdown-body h2 {
  margin-top: 2.4rem;
  padding-bottom: 0.3rem;
  border-bottom: 1px solid #e8e8e8;
}

.markdown-body h3 {
  margin-top: 1.8rem;
  font-weight: 600;
}

/* Code — JetBrains Mono, tight line-height */
.markdown-body pre,
.markdown-body code,
.highlight,
.code-wrapper {
  font-family: var(--font-mono) !important;
  font-size: 14px;
  line-height: 1.6;
}

.markdown-body code:not([class]) {
  background: #f4f4f8;
  padding: 0.15em 0.4em;
  border-radius: 3px;
  font-size: 0.875em;
  color: #c7254e;
}

/* Prose paragraphs */
.markdown-body p {
  margin-bottom: 1.3rem;
}

/* Blockquotes — subtle left bar */
.markdown-body blockquote {
  border-left: 3px solid #3d5af1;
  background: #f8f8fc;
  padding: 0.6rem 1rem;
  color: #555;
  font-style: italic;
}

/* Tables — clean ruled style */
.markdown-body table {
  font-size: 14.5px;
  border-collapse: collapse;
  width: 100%;
}

.markdown-body table th {
  background: #f0f0f6;
  font-weight: 600;
  text-align: left;
}

.markdown-body table th,
.markdown-body table td {
  padding: 0.5rem 0.8rem;
  border: 1px solid #e0e0e8;
}

.markdown-body table tr:nth-child(even) td {
  background: #fafafd;
}

/* KaTeX display equations — breathing room */
.katex-display {
  margin: 1.6rem 0;
  overflow-x: auto;
}

/* --- Dark mode overrides --- */
[data-user-color-scheme='dark'] .markdown-body h2 {
  border-bottom-color: #333;
}

[data-user-color-scheme='dark'] .markdown-body blockquote {
  background: #1a1a2e;
  color: #aaa;
}

[data-user-color-scheme='dark'] .markdown-body code:not([class]) {
  background: #2a2a3e;
  color: #e06c75;
}

[data-user-color-scheme='dark'] .markdown-body table th {
  background: #1e1e2e;
}

[data-user-color-scheme='dark'] .markdown-body table td {
  background: transparent;
}

[data-user-color-scheme='dark'] .markdown-body table tr:nth-child(even) td {
  background: #141420;
}
