:root { --paper:#fcfbf8; --ink:#252d32; --muted:#647176; --accent:#11685f; --line:#dedfd8; --wide:1240px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Georgia,"Times New Roman",serif; font-size:19px; line-height:1.8; }
a { color:var(--accent); text-underline-offset:.2em; }
a:hover { color:#09443e; }
a:focus-visible { outline:3px solid var(--accent); outline-offset:5px; }
.shell { width:min(var(--wide), calc(100% - 96px)); margin-inline:auto; }
.site-header { display:flex; justify-content:space-between; align-items:center; gap:32px; padding:32px 0 26px; border-bottom:1px solid var(--line); }
.brand { color:var(--ink); text-decoration:none; font-size:26px; line-height:1.3; letter-spacing:-.6px; }
.brand span { display:block; margin-top:7px; color:var(--muted); font:12px/1.5 system-ui,sans-serif; letter-spacing:.03em; }
nav, .post-meta, .eyebrow, .read-link, .pagination, .site-footer, .topic-list span { font-family:system-ui,sans-serif; }
.site-header nav { display:flex; flex-wrap:wrap; gap:24px; font-size:14px; }
.site-header nav a { color:var(--ink); text-decoration:none; }
.intro { padding:66px 0 38px; }
.eyebrow { color:var(--accent); font-size:12px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; }
h1,h2,h3 { line-height:1.22; font-weight:normal; }
h1 { font-size:clamp(34px,4vw,56px); letter-spacing:-1.5px; margin:16px 0 24px; }
.intro > p:last-child { color:var(--muted); max-width:750px; }
.post-list { max-width:960px; }
.post-card { padding:32px 0; border-top:1px solid var(--line); }
.post-meta { display:flex; flex-wrap:wrap; gap:8px 24px; font-size:12px; color:var(--muted); }
.post-card h2 { font-size:30px; margin:12px 0; }
.post-card h2 a { text-decoration:none; color:var(--ink); }
.post-card h2 a:hover { color:var(--accent); }
.summary { color:#546165; font-size:18px; max-width:800px; }
.summary p { margin:0 0 12px; }
.read-link { font-size:13px; text-decoration:none; }
.pagination { display:flex; justify-content:space-between; gap:20px; margin:36px 0; font-size:14px; }
.article { padding:56px 0 48px; min-width:0; }
.article-header { padding-bottom:28px; border-bottom:1px solid var(--line); margin-bottom:36px; }
.article-header h1 { max-width:1100px; }
.prose { min-width:0; overflow-wrap:break-word; }
.prose p { margin:1.15em 0; }
.prose h2 { font-size:30px; margin:2em 0 .7em; }
.prose h3 { font-size:24px; margin:1.6em 0 .6em; }
.prose li { margin:.4em 0; }
.prose img { display:block; max-width:100%; height:auto; margin:32px auto; background:white; }
.prose .arithmatex { overflow-wrap:normal; }
.prose span.arithmatex.wide-inline-math { display:inline-block; width:max-content; max-width:100%; overflow-x:auto; overflow-y:hidden; vertical-align:middle; padding:.15em .5em; }
.prose div.arithmatex { max-width:100%; overflow-x:auto; overflow-y:hidden; padding:8px 4px 16px; margin:24px 0; }
mjx-container[display="true"] { margin:.65em 0 !important; }
.prose mjx-labels { color:var(--ink); }
.prose pre { overflow-x:auto; padding:24px; background:#efefe9; }
.prose code { font-size:.85em; }
.prose blockquote { border-left:3px solid var(--accent); padding:0 24px; margin-inline:0; color:#546165; }
.prose table { display:block; overflow-x:auto; border-collapse:collapse; }
.prose th,.prose td { padding:8px 16px; border:1px solid var(--line); }
.article-tags { display:flex; flex-wrap:wrap; gap:16px; font-size:12px; border-top:1px solid var(--line); padding:24px 0; margin-top:40px; }
.archive-list,.topic-list { list-style:none; padding:0; margin:0 0 70px; }
.archive-list li { display:grid; grid-template-columns:130px 1fr; gap:24px; padding:16px 0; border-top:1px solid var(--line); }
.archive-list time { color:var(--muted); font:13px/2 system-ui,sans-serif; }
.archive-list a { text-decoration:none; }
.topic-list li { display:flex; gap:24px; justify-content:space-between; padding:18px 0; border-top:1px solid var(--line); }
.topic-list span { font-size:13px; color:var(--muted); }
.site-footer { display:flex; flex-wrap:wrap; justify-content:space-between; gap:16px; border-top:1px solid var(--line); padding:25px 0 36px; font-size:12px; color:var(--muted); }
.skip-link { position:absolute; left:16px; top:-100px; padding:10px; background:white; z-index:10; }
.skip-link:focus { top:10px; }
@media (min-width:1600px) { :root { --wide:1380px; } }
@media (max-width:700px) {
  body { font-size:17px; }
  .shell { width:calc(100% - 36px); }
  .site-header { align-items:flex-start; flex-direction:column; gap:20px; padding-top:24px; }
  .site-header nav { gap:20px; }
  .intro { padding-top:36px; }
  h1 { letter-spacing:-.8px; }
  .article { padding-top:32px; }
  .post-card h2,.prose h2 { font-size:26px; }
  .archive-list li { grid-template-columns:1fr; gap:2px; }
  .pagination { flex-wrap:wrap; }
}
@media print { .site-header nav,.site-footer,.article-tags,.read-link { display:none; } .shell { width:100%; } body { background:white; font-size:11pt; } .prose div.arithmatex { overflow:visible; } }
