:root{color-scheme:light;--bg:#fff;--fg:#191919;--fg-muted:#595959;--fg-faint:#595959;--border:#a0a0a0;--rule:#d0d0d0;--link:var(--fg);--serif:Georgia,'Times New Roman',serif;--sans:-apple-system,'Segoe UI',sans-serif;--mono:ui-monospace,'SFMono-Regular',Consolas,monospace}
:root.dark{color-scheme:dark;--bg:#161616;--fg:#ededed;--fg-muted:#b5b5b5;--fg-faint:#b5b5b5;--border:#777;--rule:#505050}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:18px/1.65 var(--serif)}
.page-wrapper{max-width:780px;margin:auto;padding:64px 28px 80px}
.header{margin-bottom:36px;padding-bottom:18px;border-bottom:1px solid var(--fg)}
.header-top{display:flex;justify-content:space-between;align-items:baseline;gap:16px}
.title{margin:0;font:normal 24px/1.35 var(--serif)}.title .date{color:var(--fg-muted)}
a{color:var(--fg);text-decoration-thickness:1px;text-underline-offset:.17em;text-decoration-color:var(--border)}a:hover{ text-decoration-color:var(--fg)}
button{font:inherit}button[hidden]{display:none}
.theme-toggle{background:none;border:0;border-radius:0;color:var(--fg-muted);font:13px/1.6 var(--sans);padding:4px 0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.entry{display:grid;grid-template-columns:64px minmax(0,1fr);gap:0 24px;align-items:baseline;margin:0 0 24px;scroll-margin-top:24px}
.entry.group-start{margin-top:32px}.entry.joined{margin-top:6px}.entry[data-group]{margin-bottom:0}
.entry:target .content{border-left:2px solid var(--fg);padding-left:14px;margin-left:-16px}
.entry-meta{display:flex;flex-direction:column;align-items:flex-end;gap:6px;min-width:0}
.ts{font:12px/1.6 var(--mono);font-variant-numeric:tabular-nums;color:var(--fg-muted);white-space:nowrap;text-align:right;text-decoration:none}
.jot-reference,.jot-tag{font:12px/1.5 var(--sans);color:var(--fg-muted);text-align:right;overflow-wrap:anywhere}
.content{min-width:0;grid-column:2;overflow-wrap:anywhere}.content p{white-space:pre-wrap;margin:0 0 .7em}.content p:last-child{margin-bottom:0}
.preview,.quote{margin:12px 0 16px 16px;padding:0 0 0 16px;border-left:1px solid var(--border);font-size:16px;line-height:1.55}
.preview summary{cursor:pointer;color:var(--fg-muted)}.preview[open] summary{margin-bottom:12px}.preview blockquote{margin:0}
.content code{font: .85em var(--mono)}
.tag-bar{display:flex;flex-wrap:wrap;gap:8px 18px;margin-bottom:24px}.tag-filter{font:14px/1.6 var(--sans);color:var(--fg-muted);padding:2px 0}
.tag-filter[aria-current="true"]{color:var(--fg);text-decoration:underline;text-decoration-thickness:2px}
.notes-nav{margin-top:40px;padding-top:16px;border-top:1px solid var(--rule);font:14px/1.6 var(--sans);color:var(--fg-muted)}
:focus-visible{outline:2px solid var(--fg);outline-offset:4px}
@media(hover:hover) and (pointer:fine){.header .theme-toggle,.entry .popup-trigger{opacity:0}.header:hover .theme-toggle,.header:focus-within .theme-toggle,.entry:hover .popup-trigger,.entry:focus-within .popup-trigger{opacity:1}}
@media(max-width:620px){body{font-size:17px}.page-wrapper{padding:32px 20px 56px}.title{font-size:21px}.entry{grid-template-columns:1fr;gap:5px}.entry-meta{flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:12px}.content{grid-column:1}.ts{text-align:left}.preview{margin-left:8px;padding-left:12px}}
@media print{ :root,:root.dark{--bg:white;--fg:black;--fg-muted:#444;--border:#888;--rule:#aaa}.page-wrapper{max-width:none;padding:0}.theme-toggle,.popup-trigger,.jot-popup{display:none!important}.entry{break-inside:avoid}a{color:black}}
:root{--preview-bg:transparent;--preview-border:var(--border);--code-bg:transparent;--link-underline:var(--border)}
:root.dark{--preview-bg:transparent;--preview-border:var(--border);--code-bg:transparent;--link-underline:var(--border)}
.site-prose body{max-width:780px;margin:0 auto;padding:56px 28px 72px;font:18px/1.65 var(--serif)}
.site-prose h1{font:normal 30px/1.3 var(--serif);letter-spacing:normal;margin:0 0 16px}
.site-prose h2,.site-prose h3{font-family:var(--serif);font-weight:normal;font-variant-caps:small-caps;letter-spacing:.025em}
.site-prose p{text-align:left}.site-prose header,.site-prose hr,.site-prose blockquote,.site-prose table,.site-prose aside section,.site-prose h2,.site-prose h3{border-color:var(--border)}
.site-prose aside section b{background:transparent}.site-prose main hr{color:var(--fg)}
.site-prose a{color:var(--fg);text-decoration:underline;text-underline-offset:3px}
.site-prose img,.site-prose video{max-width:100%;height:auto}
.site-nav{clear:both;float:none;width:auto;display:flex;flex-wrap:wrap;gap:8px 20px;padding-top:20px;margin-top:40px;border-top:1px solid var(--rule);font:14px/1.7 var(--sans)}
.site-nav a[aria-current=page]{text-decoration-thickness:2px}
.site-contents{margin:24px 0;font:14px/1.65 var(--sans)}.site-contents summary,.site-backlinks summary{cursor:pointer;color:var(--fg-muted)}
.site-contents ul{padding-left:22px;margin:12px 0}.site-contents li{margin:5px 0}
.site-backlinks{grid-column:2;margin:12px 0 0;font:13px/1.6 var(--sans)}.site-backlinks ul{padding-left:18px;margin:8px 0}
.file-cue{font:10px/1 var(--sans);letter-spacing:.03em;margin-left:.3em;color:var(--fg-muted);white-space:nowrap;text-decoration:none}
.skip-reading{position:absolute;left:20px;top:-100px;background:var(--bg);padding:8px;z-index:2000}.skip-reading:focus{top:10px}
.preview,.tag,.tag-filter,.content code{background:transparent;border-radius:0}.tag-filter[aria-pressed=true]{background:transparent;color:var(--fg);text-decoration:underline;text-decoration-thickness:2px}.tag-filter{border:0}
@media(max-width:620px){.site-prose body{padding:32px 20px 56px;font-size:17px}.site-prose h1{font-size:26px}.site-backlinks{grid-column:1}}
@media print{.site-nav,.site-contents,.skip-reading{display:none}.site-prose body{padding:0;max-width:none}}

.inline-image{grid-column:2;margin:12px 0;font:13px/1.6 var(--sans)}
.inline-image summary{cursor:pointer;color:var(--fg-muted)}
.inline-image img{display:block;max-width:100%;max-height:75vh;width:auto;height:auto;margin:12px 0;object-fit:contain}
@media(max-width:620px){.inline-image{grid-column:1}}
@media print{
 @page{margin:18mm}
 body{font-size:11pt;line-height:1.45}
 .site-prose body{font-size:11pt;line-height:1.45}
 .page-wrapper{padding:0;max-width:none}
 .site-backlinks,.tag-bar,.toc,.theme-toggle,.popup-trigger{display:none!important}
 .entry{break-inside:auto}.entry-meta{break-after:avoid}
 .entry:target .content{border:0;margin-left:0;padding-left:0}
 .content p,blockquote{orphans:3;widows:3}
 .preview{break-inside:auto}
 details.tweet-preview[open]>summary{display:none}
 .inline-image img{max-height:22cm;break-inside:avoid}
 a{text-decoration-color:currentColor}
}

/* Typography: structural defaults shared by every page. */
@font-face{font-family:"Source Serif 4";src:url("fonts/SourceSerif4Variable-Roman.ttf.woff2") format("woff2");font-weight:200 900;font-style:normal;font-display:swap}
@font-face{font-family:"Source Serif 4";src:url("fonts/SourceSerif4Variable-Italic.ttf.woff2") format("woff2");font-weight:200 900;font-style:italic;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url("fonts/SourceSans3VF-Upright.ttf.woff2") format("woff2");font-weight:200 900;font-style:normal;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url("fonts/SourceSans3VF-Italic.ttf.woff2") format("woff2");font-weight:200 900;font-style:italic;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url("fonts/IBMPlexMono-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url("fonts/IBMPlexMono-Italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url("fonts/IBMPlexMono-Bold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url("fonts/IBMPlexMono-BoldItalic.woff2") format("woff2");font-weight:700;font-style:italic;font-display:swap}
@font-face{font-family:"Quivira";src:url("fonts/Quivira.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Noto Emoji";src:url("fonts/NotoEmoji.woff2") format("woff2");font-weight:300 700;font-style:normal;font-display:swap}
@font-face{font-family:"MathJax Main";src:url("fonts/MathJax_Main-Regular.woff") format("woff");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"MathJax Main";src:url("fonts/MathJax_Main-Bold.woff") format("woff");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"MathJax Math";src:url("fonts/MathJax_Math-Italic.woff") format("woff");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"MathJax AMS";src:url("fonts/MathJax_AMS-Regular.woff") format("woff");font-weight:400;font-style:normal;font-display:swap}

:root{
 --serif:"Source Serif 4",Georgia,"Quivira","Noto Emoji",serif;
 --sans:"Source Sans 3",system-ui,"Quivira","Noto Emoji",sans-serif;
 --mono:"IBM Plex Mono",ui-monospace,"Quivira","Noto Emoji",monospace;
 --math:"MathJax Main","MathJax AMS","Quivira",serif;
}
body{font-optical-sizing:auto;font-kerning:normal}
button,input,select,textarea{font-family:var(--sans)}
.ts,.toc-time,.section-time,.preview-domain,.tag-day,caption,.site-prose blockquote small{font-family:var(--sans);font-variant-numeric:tabular-nums}
code,pre,kbd,samp,.content code{font-family:var(--mono);font-variant-ligatures:none}
math,.math{font-family:var(--math)}
.math i,.math var{font-family:"MathJax Math","Quivira",serif}
.site-prose h2,.site-prose h3{font-synthesis: none;font-variant-caps:small-caps}
