/* ================================
   Academic-style refinements
   ================================ */

/* Post content: better reading experience */
.markdown-body {
  line-height: 1.85;
}

.markdown-body p {
  margin-bottom: 1.25em;
}

/* Blockquote: academic citation style */
.markdown-body blockquote {
  position: relative;
  border-left: 3px solid #2563eb;
  padding: 0.8em 1.2em;
  margin: 1.5em 0;
  background: #f8faff;
  border-radius: 0 4px 4px 0;
  font-style: italic;
  color: #475569;
}

[data-user-color-scheme="dark"] .markdown-body blockquote {
  background: #111827;
  border-left-color: #3b82f6;
  color: #9ca3af;
}

/* Blockquote: embedded non-italic text (citations, etc.) */
.markdown-body blockquote p:last-child {
  margin-bottom: 0;
}

/* Table: booktabs (horizontal rules only, like LaTeX paper tables) */
.markdown-body table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
  margin: 1.5em 0;
  font-size: 0.95em;
}

.markdown-body table thead {
  border-top: 2px solid #334155;
  border-bottom: 1px solid #334155;
}

[data-user-color-scheme="dark"] .markdown-body table thead {
  border-top-color: #c9d1d9;
  border-bottom-color: #c9d1d9;
}

.markdown-body table tbody {
  border-bottom: 2px solid #334155;
}

[data-user-color-scheme="dark"] .markdown-body table tbody {
  border-bottom-color: #c9d1d9;
}

.markdown-body table th,
.markdown-body table td {
  padding: 0.6em 0.8em;
  text-align: left;
  border: none;
}

.markdown-body table tbody tr {
  border-bottom: 1px solid transparent;
}

/* Horizontal rule: subtle academic divider */
.markdown-body hr {
  height: 1px;
  border: none;
  background: linear-gradient(to right, transparent, #94a3b8, transparent);
  margin: 2.5em 0;
}

[data-user-color-scheme="dark"] .markdown-body hr {
  background: linear-gradient(to right, transparent, #30363d, transparent);
}

/* Links: subtle underline on hover (academic style) */
.markdown-body a {
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color 0.2s ease;
}

.markdown-body a:hover {
  border-bottom-color: currentColor;
}

/* Post cards on index: cleaner spacing */
.index-card {
  border-radius: 6px;
  transition: box-shadow 0.2s ease;
}

.index-card:hover {
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
}

[data-user-color-scheme="dark"] .index-card:hover {
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.3);
}

/* Code block: subtle accent */
.markdown-body pre {
  border-radius: 6px;
  border-top: 2px solid #2563eb;
}

[data-user-color-scheme="dark"] .markdown-body pre {
  border-top-color: #3b82f6;
}

/* Inline code background */
.markdown-body code {
  padding: 0.15em 0.4em;
  border-radius: 3px;
  font-size: 0.88em;
  background: #f1f5f9;
}

[data-user-color-scheme="dark"] .markdown-body code {
  background: #1c2333;
}

/* Image: subtle border for screenshots */
.markdown-body img {
  border-radius: 4px;
  margin: 1em auto;
  display: block;
}

/* Figure/image caption styling */
.markdown-body img + em,
.markdown-body p > img:first-child + em {
  display: block;
  text-align: center;
  font-size: 0.9em;
  color: #64748b;
  margin-top: -0.5em;
}

/* Tag and category badges: cleaner */
.category-bar .category-list a,
.tag-list a {
  border-radius: 3px;
  padding: 0.1em 0.6em;
  transition: opacity 0.2s ease;
}

/* Post meta: lighter weight */
.post-meta {
  color: #94a3b8;
  font-size: 0.9em;
}

/* Banner title: cleaner typography */
.banner .banner-title {
  letter-spacing: 0.03em;
  font-weight: 600;
}

/* Heading hierarchy: paper-like */
.markdown-body h2 {
  margin-top: 2em;
  padding-bottom: 0.3em;
  border-bottom: 1px solid #e2e8f0;
}

[data-user-color-scheme="dark"] .markdown-body h2 {
  border-bottom-color: #30363d;
}

.markdown-body h3 {
  margin-top: 1.5em;
}

.markdown-body h4 {
  margin-top: 1.2em;
  color: #475569;
}

[data-user-color-scheme="dark"] .markdown-body h4 {
  color: #8b949e;
}
