:root{--bg:#faf8f5;--fg:#1b1a19;--muted:#5d5a55;--rule:#e2ddd5;--accent:#b0121e;--code-bg:#efebe4;--sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, "SFMono-Regular", "Cascadia Code", Menlo, Consolas, monospace;--measure:70ch;--wide:1100px}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#1c1d1f;--fg:#e4e2de;--muted:#a3a19c;--rule:#34353a;--accent:#ff6b66;--code-bg:#26272b}}:root[data-theme=dark]{--bg:#1c1d1f;--fg:#e4e2de;--muted:#a3a19c;--rule:#34353a;--accent:#ff6b66;--code-bg:#26272b}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{display:flex;flex-direction:column;min-height:100vh;margin:0;background:var(--bg);color:var(--fg);font:1.125rem/1.7 var(--sans)}a{color:var(--accent);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.skip{position:absolute;left:-999px;top:.5rem;padding:.4rem .8rem;background:var(--fg);color:var(--bg)}.skip:focus{left:1rem}.site-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 2rem;width:100%;max-width:var(--wide);margin:0 auto;padding:1.25rem 1rem}.brand{display:flex;align-items:center;gap:.75rem}.wordmark{color:var(--fg);font-size:1.5rem;font-weight:700;letter-spacing:-.01em;text-decoration:none}.mark{display:inline-block;width:.55em;height:.55em;margin-right:.4em;background:var(--accent);vertical-align:.05em}.theme-toggle{display:inline-flex;padding:.35rem;border:0;border-radius:6px;background:0 0;color:var(--fg);cursor:pointer}.theme-toggle[hidden]{display:none}.theme-toggle:hover{background:var(--code-bg)}.icon-sun{display:none}:root[data-theme=dark] .icon-sun{display:block}:root[data-theme=dark] .icon-moon{display:none}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .icon-sun{display:block}:root:not([data-theme=light]) .icon-moon{display:none}}.site-header ul{display:flex;flex-wrap:wrap;gap:0 1.5rem;margin:0;padding:0;list-style:none}.site-header nav a{color:var(--fg);text-decoration:none}.site-header nav a:hover,.site-header nav a[aria-current=page]{text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px}main{flex:1;width:100%;max-width:calc(var(--measure) + 2rem);margin:0 auto;padding:2.5rem 1rem 4rem}h1,h2,h3,h4{line-height:1.2;margin:1.8em 0 .6em;letter-spacing:-.015em}h1{font-size:clamp(2rem,5vw,2.5rem);margin-top:0}h2{font-size:1.75rem}h3{font-size:1.3rem}p,ul,ol,blockquote,pre,table{margin:0 0 1.1em}img{max-width:100%;height:auto}hr{border:0;border-top:1px solid var(--rule);margin:2.5rem 0}strong{font-weight:650}.label,.meta,time{font-family:var(--mono);font-size:.8125rem;color:var(--muted)}.label{text-transform:uppercase;letter-spacing:.08em;margin:0 0 .75rem}.page-header{margin-bottom:2rem}.page-header h1{margin-bottom:.25rem}.page-header .meta{margin:0}.hero{padding:16vh 0 10vh;text-align:center}.hero h1{font-size:clamp(2.5rem,8vw,3.5rem);margin-bottom:.4rem}.tagline{margin:0 0 1.75rem;color:var(--muted);font-size:1.25rem}.social{display:flex;justify-content:center;gap:1.25rem;margin:0;padding:0;list-style:none}.social a{display:inline-flex;padding:.25rem;color:var(--fg);border-radius:4px}.social a:hover{color:var(--accent)}.recent{border-top:1px solid var(--rule);padding-top:2rem}.redacted{background:var(--fg);color:transparent;padding:0 .1em;user-select:none}blockquote{margin-left:0;padding-left:1rem;border-left:3px solid var(--accent);color:var(--muted)}code,pre{font-family:var(--mono);font-size:.875em}code{background:var(--code-bg);padding:.1em .3em;border-radius:3px}pre{background:var(--code-bg);padding:1rem;overflow-x:auto;border-radius:6px;line-height:1.5}pre code{background:0 0;padding:0}table{border-collapse:collapse;width:100%;display:block;overflow-x:auto}th,td{text-align:left;padding:.4rem .75rem .4rem 0;border-bottom:1px solid var(--rule)}.post-list{list-style:none;padding:0}.post-list li{display:flex;flex-wrap:wrap;gap:0 1rem;padding:.4rem 0}.post-list time{min-width:6.5rem;padding-top:.2em}.post-nav{display:flex;justify-content:space-between;gap:1rem;margin-top:3rem;padding-top:1rem;border-top:1px solid var(--rule)}.post-nav .newer{margin-left:auto;text-align:right}.site-footer{padding:1.5rem 1rem 2rem;text-align:center;font-size:.8125rem;color:var(--muted)}.site-footer p{margin:0 0 .35rem}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}