/* Basic, clean styles for a minimal academic site */
:root {
  --bg: #ffffff;
  --fg: #1f2937;
  --muted: #6b7280;
  --link: #0f766e;
  --border: #e5e7eb;
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  color: var(--fg);
  background: var(--bg);
  line-height: 1.6;
}

.container { max-width: 860px; margin: 0 auto; padding: 0 16px; }

.site-header {
  border-bottom: 1px solid var(--border);
  background: #fafafa;
}
.header-inner { display: flex; align-items: center; justify-content: space-between; height: 64px; }
.brand a { font-weight: 700; color: var(--fg); text-decoration: none; }
.nav a { margin-left: 16px; color: var(--fg); text-decoration: none; padding: 6px 8px; border-radius: 6px; }
.nav a.active { background: #e0f2f1; color: var(--link); }
.nav a:hover { color: var(--link); }

h1, h2, h3 { line-height: 1.25; }
h1 { font-size: 2rem; margin: 24px 0 12px; }
h2 { font-size: 1.35rem; margin: 24px 0 12px; }
p { margin: 0 0 12px; }
ul { padding-left: 20px; }

.site-footer { border-top: 1px solid var(--border); margin-top: 40px; padding: 20px 0; color: var(--muted); font-size: 0.95rem; }

.intro { margin-top: 24px; }

.pub-list { list-style: none; padding: 0; }
.pub-item { padding: 14px 0; border-bottom: 1px solid var(--border); }
.pub-title { font-weight: 600; }
.pub-meta { color: var(--muted); font-size: 0.95rem; }

.article-list { list-style: none; padding: 0; }
.article-item { padding: 14px 0; border-bottom: 1px solid var(--border); }
.article-item h3 { margin: 0; }
.article-meta { color: var(--muted); font-size: 0.95rem; margin-top: 4px; }

.article { margin-top: 24px; }
.article header { margin-bottom: 12px; border-bottom: 1px solid var(--border); padding-bottom: 8px; }
.article time { color: var(--muted); }
.article img, .article svg:not(.mjx-svg) { max-width: min(100%, 720px); height: auto; display: block; margin: 16px auto; }
.article-body img, .article-body svg { display: block; margin-left: auto; margin-right: auto; }
/* Scientific article look */
.article-body { 
  font-size: 1.02rem;
  line-height: 1.75;
}
.article-body p { text-align: justify; hyphens: auto; }
.article-body h1, .article-body h2, .article-body h3 { margin-top: 1.6em; margin-bottom: 0.6em; }
.article-body h2 { border-left: 3px solid #0f766e; padding-left: 8px; }
.article-body figure { margin: 1em auto; text-align: center; }
.article-body figcaption { color: var(--muted); font-size: 0.95rem; margin-top: 6px; }
.article-body table { border-collapse: collapse; width: 100%; margin: 1em 0; }
.article-body th, .article-body td { border: 1px solid var(--border); padding: 8px 10px; text-align: left; }
.article-body pre { background: #fbfbfd; border: 1px solid var(--border); }
.article-body .theorem, .article-body .definition { border-left: 3px solid #334155; background: #f8fafc; padding: 10px 12px; margin: 16px 0; }
.article-body .remark { border-left: 3px solid #0f766e; background: #f1f5f9; padding: 10px 12px; margin: 16px 0; }
/* MathJax alignment and spacing */
.mjx-container[jax="SVG"] { font-size: 105%; }
.article-body mjx-container[jax="SVG"][display="false"] { display: inline-block; margin: 0 0.1em; }
.mjx-container[jax="SVG"][display="false"] { display: inline-block; vertical-align: middle; }
.mjx-container[jax="SVG"][display="false"] svg { display: inline; margin: 0; }
.article-body .MathJax_Display { margin: 1.1em auto !important; }

/* Image size utilities (use with raw <img> in Markdown) */
.img-sm { width: 420px; max-width: 100%; height: auto; }
.img-md { width: 640px; max-width: 100%; height: auto; }
.img-lg { width: 720px; max-width: 100%; height: auto; }
pre { background: #f8fafc; padding: 12px; border-radius: 8px; overflow: auto; border: 1px solid var(--border); }
code { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; }

/* Small screen tweaks */
@media (max-width: 600px) {
  .header-inner { height: auto; flex-direction: column; align-items: flex-start; padding: 10px 0; }
  .nav { margin-top: 8px; }
  .nav a { margin-left: 0; margin-right: 12px; }
}


