@font-face { font-family: "IBM Plex Sans"; src: url("/assets/plex-sans-400.ttf") format("truetype"); font-weight: 400; font-display: swap; }
@font-face { font-family: "IBM Plex Sans"; src: url("/assets/plex-sans-500.ttf") format("truetype"); font-weight: 500; font-display: swap; }
:root { color-scheme: dark; --ink: #0f1216; --paper: #eee9e0; --ash: #a9b0b8; --line: #697783; }
* { box-sizing: border-box; }
html { background: var(--ink); }
body { margin: 0; color: var(--paper); font-family: "IBM Plex Sans", Arial, sans-serif; line-height: 1.6; -webkit-font-smoothing: antialiased; }
main { max-width: 720px; margin: 0 auto; padding: 48px 20px 72px; }
a { color: var(--paper); text-underline-offset: 4px; }
a:focus-visible { outline: 2px solid var(--paper); outline-offset: 4px; }
.back { display: inline-block; margin-bottom: 32px; color: var(--ash); text-decoration: none; }
h1 { font-size: clamp(30px, 5vw, 44px); font-weight: 500; letter-spacing: -0.02em; line-height: 1.15; margin: 0 0 8px; }
.updated { color: var(--ash); margin: 0 0 36px; }
h2 { font-size: 20px; font-weight: 500; margin: 36px 0 8px; padding-top: 20px; border-top: 1px solid var(--line); }
p, li { color: var(--paper); }
.muted { color: var(--ash); }
