@font-face{font-family:"Geist Mono";src:url("assets/geist-mono-400.woff2") format("woff2");font-weight:400;font-display:swap}
:root{--bg:#0d0f0e;--text:#dfe2df;--muted:#747a76;--rule:#292d2a;--mono:"Geist Mono",ui-monospace,Menlo,monospace}
*{box-sizing:border-box}
html{background:var(--bg);color-scheme:dark}
body{margin:0;background:var(--bg);color:var(--text);font:13px/1.65 var(--mono);-webkit-font-smoothing:antialiased}
.page{width:min(calc(100% - 40px),660px);margin:0 auto;padding:72px 0 96px}
a{color:var(--text);text-underline-offset:3px}a:hover{color:#fff}::selection{background:var(--text);color:var(--bg)}
header{margin-bottom:54px}.mark{display:inline-block;margin-bottom:30px;text-decoration:none;white-space:pre}
h1,h2,p{font:inherit}h1{margin:0 0 12px;font-size:14px}.intro{max-width:58ch;margin:0;color:var(--muted)}
hr{height:1px;margin:34px 0;border:0;background:var(--rule)}
.posts{margin:0;padding:0;list-style:none}.posts li{display:grid;grid-template-columns:1fr auto;gap:20px;margin-bottom:13px}.posts time{color:var(--muted);white-space:nowrap}
article h1{margin:0 0 7px;font-size:19px}.meta{margin:0 0 42px;color:var(--muted)}article p{margin:0 0 22px}
article h2{margin:52px 0 16px;padding-bottom:8px;border-bottom:1px solid var(--rule);font-size:18px;line-height:1.3;color:var(--text)}article h2+p{margin-top:0}
pre{overflow-x:auto;margin:28px 0;padding:16px 0 16px 18px;border-left:1px solid var(--rule);color:#b9beba;font:12px/1.7 var(--mono)}code{font:inherit}
blockquote{margin:28px 0;padding-left:18px;border-left:1px solid var(--muted);color:#b9beba}blockquote p{margin:0}
footer{margin-top:64px;padding-top:20px;border-top:1px solid var(--rule);color:var(--muted)}footer a{color:var(--muted)}
table{width:100%;margin:30px 0;border-collapse:collapse;font-size:12px}th,td{padding:9px 12px 9px 0;text-align:left;vertical-align:top;border-bottom:1px solid var(--rule)}th{color:var(--muted);font-weight:400}.refs{padding-left:18px;color:var(--muted)}.refs li{margin-bottom:9px}.refs a{color:var(--muted)}sub{line-height:0}
@media(max-width:520px){.page{width:min(calc(100% - 30px),660px);padding-top:42px}.posts li{grid-template-columns:1fr;gap:1px;margin-bottom:18px}.posts time{font-size:11px}}
.figure{margin:30px 0}.figure iframe{display:block;width:100%;height:820px;border:0;background:transparent}.table-wrap{overflow-x:auto}article ul,article ol{margin:0 0 22px;padding-left:18px}article li{margin-bottom:6px}
.eq{margin:28px 0;padding:18px 22px;overflow-x:auto;overflow-y:hidden;background:#131614;border:1px solid var(--rule);border-left:2px solid var(--text);color:#f2f4f2}
.eq .katex-display{margin:0;text-align:left}.eq .katex-display>.katex{text-align:left;font-size:1.42em;white-space:nowrap}.eq .text{color:var(--muted);font-family:var(--mono);font-size:.62em;letter-spacing:0}.eq .text .mord.mathnormal{color:var(--muted)}
@media (max-width:560px){.eq{padding:14px 14px}.eq .katex-display>.katex{font-size:1.18em}}
.uses{display:flex;gap:12px;align-items:baseline;margin:-6px 0 30px}.uses>span{flex:none;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.uses ul{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.uses li{padding:3px 9px;border:1px solid var(--rule);border-radius:999px;background:#131614;color:#cfd3cf;font-size:12px;line-height:1.5}
@media (max-width:560px){.uses{flex-direction:column;gap:6px}}
/* Graphite reading theme. */
:root{--bg:#202428;--text:#f0f2f3;--muted:#bec6cc;--rule:#4c565e}body{font:17px/1.85 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.page{width:min(calc(100% - 48px),760px);padding:56px 0 80px}.mark{font:18px/1.5 var(--mono);white-space:pre}.site-nav{font:14px/1.6 var(--mono)}.intro{font-size:17px;color:var(--muted)}h1,h2,p{font:inherit}article h1{font-size:32px;line-height:1.3;font-weight:600;margin-bottom:10px}article h2{font-size:25px;line-height:1.4;margin-top:48px;font-weight:550}article h3{font-size:20px}article p{margin-bottom:20px}.meta{font:14px/1.7 var(--mono);color:var(--muted);margin-bottom:36px}.posts li{margin-bottom:19px;gap:24px}.posts a{font-size:18px}.posts time{font:13px/1.8 var(--mono);padding-top:3px;color:var(--muted)}footer{font:14px/1.7 var(--mono)}pre{font:15px/1.75 var(--mono);color:#e1e6e9;background:#292f34;padding:18px;border-color:var(--muted)}code{font-family:var(--mono);font-size:.9em}table{font-size:15px}th{color:var(--text)}blockquote,.refs,.refs a{color:#cbd2d7}.refs{font-size:15px}.eq{background:#292f34;border-color:var(--rule);color:#f0f2f3}.eq .text{color:var(--muted)}.uses>span{font-size:12px}.uses li{background:#292f34;border-color:var(--rule);color:#e3e8ec;font-size:14px}
@media(max-width:560px){body{font-size:17px;line-height:1.8}.page{width:calc(100% - 36px);padding-top:30px}article h1{font-size:28px}article h2{font-size:23px}.posts a{font-size:18px}.posts time{font-size:13px}.meta{font-size:13px}.eq .katex-display>.katex{font-size:1.1em}}

.site-nav{display:flex;gap:24px;margin:0 0 26px;font-size:14px}.site-nav a{color:var(--muted)}
