:root{--bg: #f6f1e7;--bg-paper: #fbf7ed;--fg: #1a1612;--fg-soft: #4a4239;--muted: #847a6c;--rule: #d8cfbe;--rule-soft: #e8e1d0;--accent: #8b1c1c;--accent-soft: #b53a3a;--link: #5a1a1a;--shadow: 0 1px 0 rgba(26, 22, 18, .06)}@media(prefers-color-scheme:dark){:root{--bg: #15120e;--bg-paper: #1c1813;--fg: #ece4d3;--fg-soft: #b8ad99;--muted: #8a8071;--rule: #3a3328;--rule-soft: #2a241b;--accent: #d9744a;--accent-soft: #e89070;--link: #e8a878;--shadow: 0 1px 0 rgba(0, 0, 0, .3)}}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;background:var(--bg);color:var(--fg);font-family:"Noto Serif SC",EB Garamond,"Source Han Serif SC",Songti SC,serif;font-size:17px;line-height:1.75;font-feature-settings:"kern","liga","calt";-webkit-font-smoothing:antialiased}a{color:var(--link);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .15s}a:hover{border-bottom-color:var(--link)}.container{max-width:720px;margin:0 auto;padding:0 1.5rem}.container-wide{max-width:980px;margin:0 auto;padding:0 1.5rem}.masthead{border-bottom:2px solid var(--fg);padding:2.5rem 1.5rem 1.5rem;text-align:center}.masthead .wordmark{font-family:EB Garamond,"Noto Serif SC",serif;font-weight:500;font-size:2.4rem;letter-spacing:-.01em;color:var(--fg);line-height:1;display:inline-block}.masthead .wordmark .ink{font-style:italic;color:var(--accent);font-weight:400}.masthead .tagline{font-size:.85rem;color:var(--muted);letter-spacing:.15em;text-transform:uppercase;margin-top:.6rem}.masthead nav{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--rule)}.masthead nav ul{list-style:none;margin:0;padding:0;display:flex;justify-content:center;gap:2rem;flex-wrap:wrap;font-size:.92rem}.masthead nav a{color:var(--fg-soft);border-bottom:none}.masthead nav a:hover{color:var(--fg)}main{padding:3rem 0 5rem}h1{font-size:2.1rem;font-weight:600;line-height:1.25;margin:0 0 .4rem;letter-spacing:-.005em}h2{font-size:1.3rem;font-weight:600;margin:3rem 0 1rem;padding-bottom:.4rem;border-bottom:1px solid var(--rule)}h3{font-size:1.1rem;font-weight:600;margin:1.8rem 0 .6rem}p{margin:0 0 1rem}hr{border:0;border-top:1px solid var(--rule);margin:2.5rem 0}.article-meta{font-size:.85rem;color:var(--muted);font-style:italic;margin-bottom:1.5rem;letter-spacing:.02em}.article-meta .tag{font-style:normal;color:var(--fg-soft);border:1px solid var(--rule);padding:0 .5rem;border-radius:2px;font-size:.78rem;margin-left:.4rem}.article-list{list-style:none;margin:0;padding:0}.article-list li{border-bottom:1px solid var(--rule-soft);padding:1.4rem 0}.article-list li:first-child{border-top:1px solid var(--rule)}.article-list .title{font-size:1.15rem;font-weight:600;color:var(--fg);line-height:1.35;display:block;border-bottom:none}.article-list .title:hover{color:var(--accent);border-bottom:none}.article-list .desc{color:var(--fg-soft);font-size:.95rem;margin:.4rem 0 .5rem}.article-list .meta{color:var(--muted);font-size:.82rem;font-style:italic}.lead{padding:2rem 0 1.5rem;border-bottom:1px solid var(--rule);margin-bottom:2.5rem}.lead--plain{padding:1.5rem 0 1rem;border-bottom:none;margin-bottom:1.5rem}.lead h1{font-size:2.4rem;line-height:1.2;margin-bottom:.6rem}.lead .deck{color:var(--fg-soft);font-size:1.05rem;font-style:italic;max-width:36em}.lead .byline{margin-top:1rem;color:var(--muted);font-size:.85rem;letter-spacing:.1em;text-transform:uppercase}.colophon{background:var(--bg-paper);border:1px solid var(--rule);padding:1.5rem 1.8rem;margin:2.5rem 0;font-size:.95rem;color:var(--fg-soft)}.colophon strong{color:var(--fg)}footer.site{border-top:2px solid var(--fg);padding:2.5rem 1.5rem 3rem;text-align:center;color:var(--muted);font-size:.85rem}footer.site .colophon-line{font-style:italic;max-width:36em;margin:0 auto 1.2rem}footer.site nav{margin-bottom:1rem}footer.site nav ul{list-style:none;margin:0 0 1rem;padding:0;display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap}footer.site nav a{color:var(--fg-soft);border-bottom:none}footer.site nav a:hover{color:var(--fg)}footer.site .rss{font-size:.82rem}footer.site .copy{letter-spacing:.05em}pre{background:var(--bg-paper);border:1px solid var(--rule);padding:1rem;border-radius:0;overflow-x:auto;font-size:.9rem;line-height:1.6}code{font-family:JetBrains Mono,ui-monospace,monospace;font-size:.88em}:not(pre)>code{background:var(--bg-paper);padding:.1em .35em;border:1px solid var(--rule-soft)}@media(max-width:600px){.masthead .wordmark{font-size:2rem}.masthead nav ul{gap:1.2rem}.lead h1{font-size:1.8rem}h1{font-size:1.7rem}body{font-size:16px}}
