:root{--paper:#faf8f3;--ink:#211d18;--ink-soft:#4f4a42;--muted:#877e72;--hairline:#e6e0d6;--accent:#b0421f;--serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",sans-serif;--mono:ui-monospace,"SF Mono",SFMono-Regular,Menlo,monospace;--measure:40rem}@media (prefers-color-scheme:dark){:root{--paper:#171411;--ink:#ece6dc;--ink-soft:#c4bbae;--muted:#8d8478;--hairline:#322c26;--accent:#e08155}}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:1.0625rem;line-height:1.65;min-height:100dvh}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.shell{max-width:var(--measure);margin:0 auto;padding:3rem 1.15rem 5rem}header.site{margin-bottom:2.5rem}header.site .name{font-size:1.9rem;font-weight:700;letter-spacing:-.015em;line-height:1.15}header.site .name a{color:var(--ink)}header.site .tag{font-family:var(--sans);font-size:.9rem;color:var(--muted);margin-top:.35rem}.intro p{margin-bottom:1rem;color:var(--ink-soft)}.intro strong{color:var(--ink);font-weight:650}h2.section{font-family:var(--sans);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:2.6rem 0 1rem;display:flex;align-items:center;gap:.6rem}h2.section:after{content:"";flex:1 1;height:1px;background:var(--hairline)}.piece-link{display:block;padding:.9rem 0;border-bottom:1px solid var(--hairline)}.piece-link h3{font-size:1.15rem;font-weight:650;line-height:1.3;color:var(--ink)}.piece-link .meta{font-family:var(--sans);font-size:.78rem;color:var(--muted);margin-top:.3rem}.piece-link:hover{text-decoration:none}.piece-link:hover h3{color:var(--accent)}.empty{color:var(--muted);font-family:var(--sans);font-size:.92rem}article.piece h1{font-size:clamp(1.6rem,5.5vw,2.15rem);line-height:1.2;font-weight:700;letter-spacing:-.015em;margin-bottom:.5rem}article.piece .meta{font-family:var(--sans);font-size:.8rem;color:var(--muted);margin-bottom:2rem}article.piece p{margin-bottom:1.15rem}article.piece h2{font-size:1.3rem;margin:2rem 0 .8rem;font-weight:650}article.piece h3{font-size:1.1rem;margin:1.6rem 0 .6rem;font-weight:650}article.piece ol,article.piece ul{margin:0 0 1.15rem 1.3rem}article.piece li{margin-bottom:.35rem}article.piece code{font-family:var(--mono);font-size:.88em;background:color-mix(in srgb,var(--accent) 9%,transparent);padding:.1em .35em;border-radius:4px}article.piece pre{font-family:var(--mono);font-size:.85rem;line-height:1.5;background:color-mix(in srgb,var(--ink) 5%,transparent);border:1px solid var(--hairline);border-radius:8px;padding:.85rem 1rem;overflow-x:auto;margin-bottom:1.15rem}article.piece pre code{background:none;padding:0}article.piece table{width:100%;border-collapse:collapse;font-size:.94rem;margin-bottom:1.15rem;display:block;overflow-x:auto}article.piece td,article.piece th{border-bottom:1px solid var(--hairline);padding:.45rem .6rem;text-align:left}article.piece th{font-family:var(--sans);font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}article.piece blockquote{border-left:3px solid var(--accent);padding-left:1rem;color:var(--ink-soft);margin-bottom:1.15rem}footer.site{margin-top:4rem;padding-top:1.2rem;border-top:1px solid var(--hairline);font-family:var(--sans);font-size:.82rem;color:var(--muted);display:flex;gap:1.2rem;flex-wrap:wrap}