:root{--bg: #f7f4ee;--ink: #1a1a17;--ink-soft: #57544c;--ink-mute: #8b877d;--rule: #d9d3c5;--accent: #1a1a17;--serif: "Crimson Pro", "EB Garamond", "Source Serif 4", Georgia, "Times New Roman", serif;--mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--measure: 36rem;--base: 19px;--lh: 1.55;color-scheme:light dark}@media(prefers-color-scheme:dark){:root{--bg: #14130f;--ink: #ece7da;--ink-soft: #a8a294;--ink-mute: #6b665b;--rule: #2c2a24;--accent: #ece7da}}:root[data-theme=light]{--bg: #f7f4ee;--ink: #1a1a17;--ink-soft: #57544c;--ink-mute: #8b877d;--rule: #d9d3c5;--accent: #1a1a17;color-scheme:light}:root[data-theme=dark]{--bg: #14130f;--ink: #ece7da;--ink-soft: #a8a294;--ink-mute: #6b665b;--rule: #2c2a24;--accent: #ece7da;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0}html{background:var(--bg);color:var(--ink);font-family:var(--serif);font-size:var(--base);line-height:var(--lh);font-feature-settings:"kern","liga","onum";-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{min-height:100vh;display:flex;justify-content:center;padding:clamp(2.5rem,6vw,5rem) clamp(1.25rem,5vw,2rem) 4rem}#root{width:100%;max-width:var(--measure)}::selection{background:var(--ink);color:var(--bg)}a{color:inherit;text-decoration:none;text-decoration-line:underline;text-decoration-color:var(--rule);text-decoration-thickness:1px;text-underline-offset:.18em;transition:text-decoration-color .12s ease,color .12s ease}a:hover{text-decoration-color:var(--accent);color:var(--accent)}h1,h2,h3{font-weight:500;letter-spacing:-.005em}h1{font-size:1.05rem;margin:0}h2{font-size:1rem;margin:2.5rem 0 .5rem}p{margin:0 0 1em;text-wrap:pretty}em{font-style:italic;color:var(--ink-soft)}.masthead{display:flex;align-items:baseline;justify-content:space-between;gap:2rem;margin-bottom:3rem}.masthead .brand{font-size:1.05rem;letter-spacing:-.005em}.masthead .brand a{text-decoration:none}.masthead nav{display:flex;gap:1.25rem;font-size:.92rem;color:var(--ink-soft)}.masthead nav a{text-decoration:none}.masthead nav a:hover,.masthead nav a[aria-current=page]{color:var(--ink)}.masthead nav a[aria-current=page]{text-decoration:underline;text-decoration-color:var(--ink);text-underline-offset:.22em}.lede{font-size:1.18rem;line-height:1.5;color:var(--ink);margin-bottom:2.75rem;text-wrap:pretty}.lede em{color:var(--ink-soft)}.label{font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mute);margin:0 0 1rem;font-weight:400}.links{list-style:none;margin:0 0 2.5rem;padding:0;display:flex;flex-direction:column}.links li{border-top:1px solid var(--rule)}.links li:last-child{border-bottom:1px solid var(--rule)}.links a{display:flex;align-items:baseline;justify-content:space-between;gap:1.5rem;padding:.7rem 0;text-decoration:none}.links .l-title{color:var(--ink)}.links .l-meta{font-family:var(--mono);font-size:.78rem;color:var(--ink-mute);white-space:nowrap;letter-spacing:.01em}.links a:hover .l-title{font-style:italic}.links a:hover .l-meta{color:var(--accent)}.entries{list-style:none;margin:0 0 2.5rem;padding:0;display:flex;flex-direction:column;gap:.55rem}.entries a{display:grid;grid-template-columns:5.5rem 1fr;gap:1rem;align-items:baseline;text-decoration:none}.entries .e-date{font-family:var(--mono);font-size:.78rem;color:var(--ink-mute);letter-spacing:.01em}.entries .e-title{color:var(--ink)}.entries a:hover .e-title{font-style:italic}.prose p{margin:0 0 1.1em}.prose p:last-child{margin-bottom:0}.kv{display:grid;grid-template-columns:7rem 1fr;gap:.5rem 1.25rem;margin:0 0 2.5rem;font-size:.96rem}.kv dt{font-family:var(--mono);font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-mute);padding-top:.25em}.kv dd{margin:0;color:var(--ink)}.kv dd a{color:var(--ink)}footer{margin-top:4rem;padding-top:1.25rem;border-top:1px solid var(--rule);display:flex;justify-content:space-between;align-items:baseline;gap:1.5rem;flex-wrap:wrap;font-size:.85rem;color:var(--ink-mute)}footer .socials{display:flex;gap:1.1rem}footer a{color:var(--ink-soft)}footer a:hover{color:var(--ink)}.page{animation:fadeUp .38s cubic-bezier(.2,.7,.2,1) both}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media(max-width:480px){.masthead{flex-direction:column;gap:.75rem;align-items:flex-start;margin-bottom:2.25rem}.masthead nav{gap:1rem}.entries a{grid-template-columns:5rem 1fr;gap:.75rem}.kv{grid-template-columns:5.5rem 1fr}.links a{gap:1rem}}
