:root {
  --container-max: 840px;
  --pad-x: 20px;
  --pad-y: 28px;
  --bg: #ffffff;
  --text: #111;
  --muted: #666;
  --border: #e5e7eb;
}
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; background: var(--bg); color: var(--text); }
body { line-height: 1.75; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', sans-serif; }

.container { max-width: var(--container-max); margin: 0 auto; padding: var(--pad-y) var(--pad-x); }

.site-header, .site-footer { border-bottom: 1px solid var(--border); background: #fafafa; }
.site-title { font-weight: 700; text-decoration: none; color: #111; font-size: 1.125rem; margin-right: 1rem;}
.site-nav a { margin-right: 0.75rem; text-decoration: none; color: #333; }
.site-nav a:hover { text-decoration: underline; }

main.container { padding-top: 32px; padding-bottom: 48px; }

h1, h2, h3, h4, h5, h6 { line-height: 1.3; margin: 1.6em 0 0.6em; }
h1 { font-size: 2rem; }
h2 { font-size: 1.5rem; }
h3 { font-size: 1.25rem; }
p { margin: 0.9em 0; }
ul, ol { padding-left: 1.25rem; }

code { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace; background: #f6f8fa; padding: 0.15em 0.35em; border-radius: 4px; }
pre { background: #0b1021; color: #e6e6e6; padding: 16px; border-radius: 8px; overflow: auto; }
pre code { background: transparent; padding: 0; }

img, video { max-width: 100%; height: auto; border-radius: 8px; }
blockquote { border-left: 4px solid #d1d5db; margin: 1em 0; padding: 0.5em 1em; color: var(--muted); background: #fafafa; }

table { border-collapse: collapse; width: 100%; }
th, td { border: 1px solid var(--border); padding: 8px 10px; }
thead th { background: #f3f4f6; }

.katex-display, mjx-container[jax="SVG"][display="true"] { margin: 1.25rem 0; }

@media (max-width: 480px) {
  :root { --pad-x: 16px; }
  h1 { font-size: 1.6rem; }
}
