@import 'https://fonts.googleapis.com/css2?family=EB+Garamond:wght@400;500&family=Inter:wght@400;500;600&display=swap';:root{--bg:#f7f5f0;--surface:#ffffff;--ink:#1c1c1c;--ink-muted:#6b6b6b;--accent:#1a3a5c;--border:#e2ddd6;--space-1:8px;--space-2:16px;--space-3:24px;--space-4:32px;--space-5:48px;--space-6:64px;--space-7:96px;--text-1:12px;--text-2:14px;--text-3:16px;--text-4:18px;--text-5:24px;--text-6:32px;--text-7:48px;--page-max:1024px;--prose-max:680px}*{box-sizing:border-box}html{font-size:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:eb garamond,Georgia,serif;font-size:var(--text-4);line-height:1.9}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}code,pre{font-family:sfmono-regular,Menlo,Monaco,Consolas,liberation mono,monospace}.page-container{width:min(calc(100% - 48px),var(--page-max));margin:0 auto}.site-frame{min-height:100vh}.site-header{border-bottom:1px solid var(--border)}.site-header-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3)0}.site-title{font-family:eb garamond,Georgia,serif;font-size:var(--text-5);line-height:1}.site-nav{display:flex;align-items:center;gap:var(--space-3);flex-wrap:nowrap}.site-nav a{font-family:inter,helvetica neue,Arial,sans-serif;font-size:var(--text-1);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted);white-space:nowrap}.site-nav a.is-active,.site-nav a:hover{color:var(--ink)}.site-main{padding-top:var(--space-6);padding-bottom:var(--space-7)}.site-footer{border-top:1px solid var(--border)}.site-footer-inner{padding:var(--space-3)0}.site-footer p{margin:0;font-family:inter,helvetica neue,Arial,sans-serif;font-size:var(--text-1);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted)}.home-intro,.list-shell,.prose-shell{width:100%}.home-intro{max-width:var(--prose-max);margin-bottom:var(--space-6)}.home-intro h1,.page-heading h1,.post-header h1{margin:0;font-family:eb garamond,Georgia,serif;font-weight:400;line-height:1.08}.home-intro h1{font-size:var(--text-7);margin-bottom:var(--space-2)}.home-intro p,.stream-summary,.page-intro,.prose-content{color:var(--ink-muted)}.home-intro p{margin:0;font-size:var(--text-4);line-height:1.8}.page-heading{max-width:var(--prose-max);margin-bottom:var(--space-5)}.page-heading h1{font-size:var(--text-6);margin-bottom:var(--space-2)}.page-heading-single{margin-bottom:var(--space-4)}.page-intro,.page-intro p{margin:0;font-size:var(--text-3);line-height:1.8}.search-shell{max-width:var(--prose-max)}.search-heading{margin-bottom:var(--space-4)}.search-interface{margin-bottom:var(--space-5);padding-top:var(--space-3);border-top:1px solid var(--border)}.search-label{display:block;margin-bottom:var(--space-1);font-family:inter,helvetica neue,Arial,sans-serif;font-size:var(--text-1);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted)}.search-field{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-2);padding:14px 0;border-bottom:1px solid var(--border)}.search-prefix,.search-hint,.search-meta{font-family:inter,helvetica neue,Arial,sans-serif;font-size:var(--text-1);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted)}.search-input{width:100%;border:0;background:0 0;color:var(--ink);padding:0;font-family:eb garamond,Georgia,serif;font-size:var(--text-5);line-height:1.15}.search-input:focus{outline:none}.search-input::placeholder{color:#9a9388}.search-meta{margin:var(--space-2)0 0}.search-results{min-height:180px}.search-state{margin:var(--space-4)0 0;color:var(--ink-muted);font-size:var(--text-3)}.post-stream{border-top:1px solid var(--border)}.stream-item{padding:var(--space-4)0;border-bottom:1px solid var(--border)}.stream-meta,.post-meta,.adjacent-label{margin:0 0 var(--space-1);font-family:inter,helvetica neue,Arial,sans-serif;font-size:var(--text-1);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted)}.stream-item h2{margin:0 0 var(--space-1);font-family:eb garamond,Georgia,serif;font-size:var(--text-5);font-weight:400;line-height:1.2}.stream-item h2 a:hover{color:var(--accent)}.stream-summary{margin:0;font-size:var(--text-3);line-height:1.75}.pager,.post-adjacent{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-5);padding-top:var(--space-3);border-top:1px solid var(--border)}.pager a,.adjacent-link{color:var(--ink)}.pager a,.adjacent-title{font-family:eb garamond,Georgia,serif;font-size:var(--text-4)}.prose-shell{max-width:var(--prose-max);margin:0 auto}.post-header{margin-bottom:var(--space-5)}.post-header h1{font-size:36px;margin-bottom:var(--space-2)}.meta-divider{display:inline-block;margin:0 var(--space-1)}.prose-content{color:var(--ink);font-size:var(--text-4);line-height:1.9}.prose-content>*:first-child{margin-top:0}.prose-content p,.prose-content ul,.prose-content ol,.prose-content blockquote,.prose-content pre,.prose-content table{margin-top:0;margin-bottom:var(--space-3)}.prose-content h1,.prose-content h2,.prose-content h3,.prose-content h4{color:var(--ink);font-family:eb garamond,Georgia,serif;font-weight:400;line-height:1.2}.prose-content h1{font-size:var(--text-6);margin:var(--space-6)0 var(--space-2)}.prose-content h2{font-size:var(--text-5);margin:var(--space-5)0 var(--space-2);padding-bottom:var(--space-1);border-bottom:1px solid var(--border)}.prose-content h3{font-size:var(--text-4);margin:var(--space-4)0 var(--space-2)}.prose-content a{color:var(--accent);text-decoration:underline;text-underline-offset:.14em}.prose-content strong{font-weight:500}.prose-content blockquote{padding-left:var(--space-3);border-left:2px solid var(--accent);color:var(--ink-muted);font-style:italic}.prose-content :not(pre)>code{padding:.08rem .35rem;background:#f0ece6;font-size:.9em}.prose-content pre{overflow-x:auto;padding:var(--space-3);background:#f0ece6;font-size:var(--text-2);line-height:1.6}.prose-content pre code{padding:0;background:0 0}.prose-content ul,.prose-content ol{padding-left:1.4em}.prose-content li+li{margin-top:.35em}.prose-content hr{border:0;border-top:1px solid var(--border);margin:var(--space-5)0}.prose-shell.is-cjk .prose-content p{white-space:pre-wrap}.prose-shell.is-notes{max-width:760px}.prose-shell.is-notes .prose-content{font-size:17px;line-height:1.85}.prose-shell.is-notes .prose-content h2{margin-top:var(--space-6)}.prose-shell.is-notes .prose-content h3{font-family:inter,helvetica neue,Arial,sans-serif;font-size:var(--text-3);letter-spacing:.04em;text-transform:uppercase}.prose-shell.is-notes .prose-content pre,.prose-shell.is-notes .prose-content :not(pre)>code{background:#f2efe8}.prose-shell.is-notes .prose-content table{width:100%;border-collapse:collapse;margin-bottom:var(--space-4);font-family:inter,helvetica neue,Arial,sans-serif;font-size:var(--text-2)}.prose-shell.is-notes .prose-content th,.prose-shell.is-notes .prose-content td{padding:12px 10px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.prose-shell.is-notes .prose-content th{color:var(--ink)}.katex-display{margin:var(--space-4)0;overflow-x:auto;overflow-y:hidden}.katex{font-size:1.05em}.post-adjacent{margin-top:var(--space-6)}.adjacent-link{display:flex;flex-direction:column;gap:2px;max-width:48%}.adjacent-link-next{margin-left:auto;text-align:right}@media(max-width:767px){.page-container{width:min(calc(100% - 32px),var(--page-max))}.site-header-inner{gap:var(--space-2);padding:var(--space-2)0}.site-title{font-size:20px}.site-nav{gap:14px}.site-nav a,.stream-meta,.post-meta,.adjacent-label,.site-footer p{font-size:11px}.site-main{padding-top:var(--space-5);padding-bottom:var(--space-6)}.home-intro{margin-bottom:var(--space-5)}.home-intro h1{font-size:40px}.home-intro p,.prose-content{font-size:17px}.page-heading h1{font-size:28px}.stream-item{padding:var(--space-3)0}.stream-item h2{font-size:22px}.stream-summary,.page-intro,.page-intro p{font-size:15px}.search-input{font-size:22px}.search-field{grid-template-columns:1fr;gap:var(--space-1);padding:12px 0}.search-hint{display:none}.post-header h1{font-size:32px}.pager,.post-adjacent{flex-direction:column}.adjacent-link,.adjacent-link-next{max-width:100%;text-align:left;margin-left:0}}