
:root{--paper:#f7f2e8;--paper-deep:#efe9da;--ink:#1e2430;--soft:#3c4254;--pencil:#5e6270;--rule:rgba(127,156,198,.38);--margin:rgba(184,55,43,.55);--margin-ink:#a32e22;--pitch:30px}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;color:var(--ink);font:17.5px/1.7 "Source Serif 4",Georgia,"Times New Roman",serif;background-color:var(--paper);background-image:linear-gradient(to right,transparent 0,transparent calc(50% - 388px),var(--margin) calc(50% - 388px),var(--margin) calc(50% - 386px),transparent calc(50% - 386px)),repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--pitch) - 1px),var(--rule) calc(var(--pitch) - 1px),var(--rule) var(--pitch));background-attachment:fixed}
a{color:var(--ink);text-decoration:underline dotted;text-underline-offset:3px;transition:color .18s ease-out}
a:hover{color:var(--margin-ink)}
a:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
::selection{background:var(--ink);color:var(--paper)}
.skip{position:absolute;left:-9999px;top:0;z-index:10;font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.14em}
.skip:focus{left:16px;top:10px;background:var(--ink);color:var(--paper);padding:8px 14px;outline:none;text-decoration:none}
.container{max-width:720px;margin:0 auto;padding:0 22px}
header.site{padding-top:34px;margin-bottom:46px}
header.site .container{border-bottom:3px double var(--ink);padding-bottom:22px}
header.site .cover{padding-bottom:20px}
header.site h1{margin:0;font-size:31px;line-height:1.1;letter-spacing:-.015em}
header.site h1 a{color:var(--ink);text-decoration:none}
header.site p.tagline{margin:12px 0 0;font-style:italic;color:var(--pencil);font-size:16.5px}
nav.site{margin-top:16px;display:flex;flex-wrap:wrap;font-family:"Barlow Condensed",sans-serif;font-size:15.5px;text-transform:uppercase;letter-spacing:.14em}
nav.site a{color:var(--ink);text-decoration:none;padding:4px 0}
nav.site a + a::before{content:"·";color:var(--pencil);margin:0 10px;font-weight:600}
nav.site a:hover{color:var(--margin-ink)}
main{min-height:60vh}
footer.site{margin-top:68px;padding:26px 0 46px;border-top:3px double var(--ink);color:var(--pencil);font-family:"Barlow Condensed",sans-serif;font-size:13.5px;text-transform:uppercase;letter-spacing:.16em;text-align:center}
.post-list{list-style:none;margin:0;padding:0}
.post-list li{display:flex;gap:28px;padding:28px 0;border-bottom:1px solid rgba(30,36,48,.45)}
.post-list li:first-child{padding-top:0}
.entry-rail{flex:0 0 122px;padding-top:7px;font-family:"Barlow Condensed",sans-serif;font-size:14.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--pencil);font-variant-numeric:tabular-nums}
.entry-rail .no{display:block;margin-top:2px;color:var(--margin-ink);font-size:15px;letter-spacing:.1em}
.entry-body{flex:1;min-width:0}
.post-list h2{margin:0 0 6px;font-size:23px;line-height:1.28;letter-spacing:-.01em}
.post-list h2 a{color:var(--ink);text-decoration:none}
.post-list h2 a:hover{color:var(--margin-ink);text-decoration:underline;text-underline-offset:4px}
.post-list p{margin:0 0 8px;color:var(--soft);font-size:16.5px}
.tags{font-family:"Barlow Condensed",sans-serif;font-size:14px;text-transform:uppercase;letter-spacing:.12em}
.tags a{color:var(--pencil);margin-right:12px;text-decoration:none}
.tags a:hover{color:var(--margin-ink)}
article.post h1{font-size:38px;line-height:1.15;letter-spacing:-.015em;margin:4px 0 14px}
article.post .meta{margin-bottom:30px;padding-bottom:14px;border-bottom:3px double var(--ink);font-family:"Barlow Condensed",sans-serif;font-size:15.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--pencil);font-variant-numeric:tabular-nums}
article.post .meta .no{color:var(--margin-ink)}
article.post .meta .tags a{margin-right:8px;text-decoration:none}
.gh-content{font-size:18px;line-height:1.72;overflow-wrap:break-word}
.gh-content h2{font-size:27px;margin:1.6em 0 .5em;letter-spacing:-.01em}
.gh-content h3{font-size:21px;margin:1.5em 0 .45em}
.gh-content p{margin:0 0 1.1em}
.gh-content a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.gh-content img{max-width:100%;height:auto;border:1px solid rgba(30,36,48,.5);background:#fff;padding:4px;margin:8px 0}
.gh-content figure{margin:1.5em 0}
.gh-content figcaption{margin-top:8px;color:var(--pencil);font-size:14px;font-style:italic;text-align:center}
.gh-content pre{position:relative;margin:1.5em 0;padding:34px 18px 16px;background:var(--paper-deep);border:1px solid rgba(30,36,48,.35);overflow-x:auto;font-size:14.5px;line-height:1.6}
.gh-content pre::before{content:"Listing";position:absolute;top:0;left:0;right:0;padding:6px 12px;border-bottom:1px solid rgba(30,36,48,.2);font:600 13px "Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.16em;color:var(--pencil)}
.gh-content code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88em;background:var(--paper-deep);padding:1px 5px}
.gh-content pre code{background:none;padding:0;font-size:inherit}
.gh-content blockquote{margin:1.5em 0;padding-left:22px;font-style:italic;color:var(--pencil)}
.gh-content ul,.gh-content ol{padding-left:26px;margin:0 0 1.1em}
.gh-content li{margin:4px 0}
.gh-content table{border-collapse:collapse;width:100%;margin:1.5em 0;font-size:16px;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}
.gh-content th,.gh-content td{padding:8px 12px;text-align:left}
.gh-content th{border-bottom:1px solid var(--ink)}
.gh-content tbody tr + tr td{border-top:1px solid rgba(30,36,48,.18)}
.gh-content hr{border:0;border-top:3px double var(--ink);margin:2.2em 0}
.gh-content iframe{max-width:100%}
.gh-content .kg-card{max-width:100%}
.prevnext{display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px 20px;margin-top:48px;padding-top:20px;border-top:1px solid rgba(30,36,48,.45);font-size:16px}
.prevnext span{display:block;margin-bottom:3px;font-family:"Barlow Condensed",sans-serif;font-size:13.5px;text-transform:uppercase;letter-spacing:.14em;color:var(--margin-ink)}
.prevnext a{color:var(--ink);text-decoration:none}
.prevnext a:hover{color:var(--margin-ink);text-decoration:underline;text-underline-offset:4px}
.page-head h1{font-size:34px;margin:0 0 6px;letter-spacing:-.015em}
.page-head p{margin:0 0 30px;color:var(--pencil);font-style:italic}
@media(max-width:880px){body{background-image:repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--pitch) - 1px),var(--rule) calc(var(--pitch) - 1px),var(--rule) var(--pitch))}}
@media(max-width:560px){body{font-size:16.5px}article.post h1{font-size:28px}.gh-content{font-size:16.5px}nav.site{font-size:14px}.post-list li{display:block}.entry-rail{padding:0 0 3px}.entry-rail .no{display:inline;margin:0 0 0 10px}.gh-content pre{padding:30px 14px 12px;font-size:13.5px}}
