:root{--ground: #ffffff;--ink: #18181b;--ink-2: #52525b;--ink-3: #a1a1aa;--rule: #e4e4e7;--accent: #0d9488;--accent-on: #ffffff;--serif: "Newsreader", ui-serif, Georgia, "Times New Roman", serif;--mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--measure: 62ch;--page: 1020px}:root[data-theme=dark]{--ground: #09090b;--ink: #f4f4f5;--ink-2: #a1a1aa;--ink-3: #71717a;--rule: #3f3f46;--accent: #2dd4bf;--accent-on: #09090b}*,*:before,*:after{box-sizing:border-box}html{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--serif);font-weight:300;font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased}.page{max-width:var(--page);margin:0 auto;padding:44px 40px 88px}a{color:var(--accent);text-decoration:none;box-shadow:inset 0 -.12em 0 var(--accent);transition:box-shadow .18s ease-in-out,color .18s ease-in-out}a:hover{color:var(--accent-on);box-shadow:inset 0 -1.5em 0 var(--accent)}a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media(prefers-reduced-motion:reduce){a{transition:none}}hr.rule{border:0;height:1px;background:var(--rule);margin:0}.label{font-family:var(--mono);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2)}.masthead{display:flex;justify-content:space-between;align-items:center;gap:24px}.wordmark{font-family:var(--mono);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;color:var(--ink);box-shadow:none}.wordmark:hover{color:var(--ink);box-shadow:none}.nav{display:flex;align-items:center;gap:26px;font-family:var(--mono);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase}.nav a{color:var(--ink-2);box-shadow:none}.nav a:hover{color:var(--accent);box-shadow:none}.nav a[aria-current=page]{color:var(--ink)}.theme-btn{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;margin-right:-10px;background:none;border:0;padding:0;color:var(--ink-2);cursor:pointer}.theme-btn:hover{color:var(--accent)}.theme-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.theme-btn .sun{display:none}:root[data-theme=dark] .theme-btn .sun{display:block}:root[data-theme=dark] .theme-btn .moon{display:none}.foot{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:18px 26px;padding-top:28px;font-family:var(--mono);font-size:12.5px;letter-spacing:.04em;color:var(--ink-2)}.foot-links{display:flex;flex-wrap:wrap;gap:26px}.entry-list{display:flex;flex-direction:column}.entry-row{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:24px;align-items:baseline;padding:26px 0;border-bottom:1px solid var(--rule)}.entry-row h2{margin:0;font-size:24px;font-weight:400;line-height:1.3}.entry-row h2 a{color:var(--ink);box-shadow:none}.entry-row h2 a:hover{color:var(--accent);box-shadow:none}.entry-row p{margin:8px 0 0;font-size:16px;line-height:1.65;color:var(--ink-2);max-width:var(--measure)}.entry-row time{font-family:var(--mono);font-size:11.5px;color:var(--ink-3);text-align:right;font-variant-numeric:tabular-nums}.empty{border:1px dashed var(--rule);padding:26px 28px;color:var(--ink-3);font-size:16px;line-height:1.7;max-width:var(--measure)}.prose{max-width:var(--measure)}.prose h1{font-size:44px;font-weight:200;letter-spacing:-.018em;line-height:1.18;margin:0 0 12px;text-wrap:balance}.prose h2{font-size:27px;font-weight:400;margin:2em 0 .4em}.prose h3{font-size:21px;font-weight:400;margin:1.8em 0 .4em}.prose p,.prose li{font-size:18px;line-height:1.75;color:var(--ink-2)}.prose strong{font-weight:400;color:var(--ink)}.prose blockquote{margin:1.6em 0;padding-left:20px;border-left:2px solid var(--accent);color:var(--ink-2);font-style:italic}.prose pre{overflow-x:auto;padding:18px 20px;font-size:14px;border:1px solid var(--rule)}.prose code{font-family:var(--mono);font-size:.92em}.prose img{max-width:100%;height:auto}@media(max-width:860px){.page{padding:28px 24px 64px}.nav{gap:18px}.nav a{display:none}.nav a.always{display:inline}.entry-row{grid-template-columns:minmax(0,1fr);gap:6px}.entry-row time{text-align:left}.prose h1{font-size:34px}.prose p,.prose li{font-size:17px}}
