:root { --text:#1f2328; --muted:#5b6370; --line:#e3e6ea; --accent:#3f6275; --code:#f5f6f8; --bg:#fff; }
@media (prefers-color-scheme: dark) { :root { --text:#e6e8eb; --muted:#9aa3ad; --line:#30363d; --accent:#8fb3c7; --code:#1c2128; --bg:#0f1216; } }
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--text); font:17px/1.7 -apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif; }
.site-header, .content, .site-footer { max-width: 760px; margin: 0 auto; padding: 0 20px; }
.site-header { display:flex; justify-content:space-between; align-items:center; padding-top:24px; padding-bottom:12px; border-bottom:1px solid var(--line); }
.site-title { font-weight:700; color:var(--text); text-decoration:none; }
.site-header nav a { margin-left:18px; color:var(--muted); text-decoration:none; font-size:15px; }
.content { padding-top:24px; padding-bottom:48px; }
a { color: var(--accent); }
h1 { font-size: 2.1em; line-height:1.2; margin: .4em 0 .2em; }
h2 { font-size: 1.45em; margin-top: 2em; padding-top:.4em; border-top:1px solid var(--line); }
h3 { font-size: 1.15em; margin-top: 1.6em; }
.subtitle { color: var(--muted); font-size: 1.1em; margin: 0; }
.meta { color: var(--muted); font-size: 14px; }
blockquote { margin: 1.5em 0; padding: .6em 1.1em; border-left: 3px solid var(--accent); background: var(--code); }
table { border-collapse: collapse; width: 100%; margin: 1.2em 0; font-size: 15px; display:block; overflow-x:auto; }
th, td { padding: 6px 10px; border-bottom: 1px solid var(--line); text-align: left; white-space: nowrap; }
th { font-weight: 600; }
code { background: var(--code); padding: 1px 5px; border-radius: 4px; font-size: .9em; }
pre { background: var(--code); padding: 12px 14px; overflow-x: auto; border-radius: 6px; }
img { max-width: 100%; height: auto; display:block; margin: 1.4em auto .3em; background:#fff; border-radius:4px; }
figure { margin: 1.6em 0; }
figcaption { color: var(--muted); font-size: 14.5px; line-height:1.5; }
.intro-block { margin: 0 0 2em; padding-bottom: 1.2em; border-bottom: 1px solid var(--line); }
.intro-block p { margin: .2em 0; }
.intro-links { margin-top: .8em !important; font-size: 15px; }
.intro-links a { margin-right: 16px; text-decoration: none; font-weight: 600; }
.post-cards { list-style: none; padding: 0; margin: 0; }
.post-card { display: flex; gap: 18px; align-items: flex-start; margin: 0 0 1.6em; }
.card-thumb { flex: 0 0 200px; display: block; }
.card-thumb img { width: 200px; aspect-ratio: 16 / 10; object-fit: contain; margin: 0; background: #fff; border: 1px solid var(--line); border-radius: 6px; }
.card-thumb img.placeholder { object-fit: cover; }
.card-body { min-width: 0; }
.card-title { display: block; font-size: 1.15em; font-weight: 600; line-height: 1.35; text-decoration: none; margin: .1em 0 .3em; }
.card-summary { margin: 0; color: var(--muted); font-size: 15px; line-height: 1.5; }
@media (max-width: 560px) { .post-card { flex-direction: column; gap: 8px; } .card-thumb, .card-thumb img { width: 100%; flex-basis: auto; } }
.post-list { list-style: none; padding: 0; }
.post-list li { margin: 1.4em 0; }
.post-list a { font-size: 1.2em; font-weight: 600; text-decoration: none; }
mjx-container[display="true"] { overflow-x: auto; overflow-y: hidden; }
.site-footer { color: var(--muted); font-size: 13px; padding-bottom: 32px; }
