:root{color-scheme:light;--ink: #1c2926;--muted: #66706d;--line: #d9ddd8;--paper: #fbfaf6;--soft: #f0f0e9;--accent: #286956;--accent-dark: #174c3e;--serif: "Iowan Old Style", "Yu Mincho", "Hiragino Mincho ProN", serif;--sans: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.75;scroll-behavior:smooth}body{margin:0}a{color:var(--accent-dark);text-decoration-thickness:1px;text-underline-offset:.2em}a:hover{color:var(--accent)}img,video{display:block;height:auto;max-width:100%}audio{max-width:100%}.shell{margin-inline:auto;max-width:70rem;padding-inline:clamp(1.25rem,5vw,3rem)}.skip-link{background:var(--ink);color:#fff;left:1rem;padding:.6rem 1rem;position:fixed;top:-5rem;z-index:10}.skip-link:focus{top:1rem}.site-header{border-bottom:1px solid var(--line)}.header-inner{align-items:center;display:flex;justify-content:space-between;min-height:5rem}.site-title{color:var(--ink);font-family:var(--serif);font-size:1.3rem;font-weight:700;text-decoration:none}.site-title span{color:var(--muted);font-family:var(--sans);font-size:.72rem;font-weight:600;letter-spacing:.14em;margin-left:.35rem;text-transform:uppercase}.site-header nav{display:flex;gap:clamp(1rem,3vw,2rem)}.site-header nav a{color:var(--ink);font-size:.88rem;font-weight:600;text-decoration:none}.hero{padding-block:clamp(5rem,11vw,9rem)}.eyebrow{color:var(--accent);font-size:.72rem;font-weight:700;letter-spacing:.2em;margin:0 0 1.25rem}.hero h1,.page-header h1,.post-header h1,.prose-page h1,.not-found h1{font-family:var(--serif);font-weight:500;letter-spacing:-.025em;line-height:1.35}.hero h1{font-size:clamp(2.5rem,7vw,5rem);margin:0;max-width:13ch}.hero-copy{color:var(--muted);font-size:clamp(1rem,2vw,1.15rem);margin:2rem 0 0;max-width:36rem}.section-block{border-top:1px solid var(--line);padding-block:clamp(3rem,7vw,5rem)}.section-heading{align-items:baseline;display:flex;justify-content:space-between;margin-bottom:2rem}.section-heading h2{font-family:var(--serif);font-size:clamp(1.6rem,4vw,2.2rem);font-weight:500;margin:0}.section-heading>a{font-size:.88rem}.year-grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr))}.year-card{background:var(--soft);border-radius:.25rem;color:var(--ink);display:flex;flex-direction:column;padding:1.25rem;text-decoration:none;transition:background-color .16s ease,transform .16s ease}.year-card:hover{background:#e6e9df;color:var(--ink);transform:translateY(-2px)}.year-card strong{font-family:var(--serif);font-size:1.6rem;font-weight:500}.year-card span,.category-grid span{color:var(--muted);font-size:.78rem}.article-list{list-style:none;margin:0;padding:0}.article-list li{align-items:baseline;border-top:1px solid var(--line);display:grid;gap:.75rem 1.5rem;grid-template-columns:8.5rem minmax(0,1fr) auto;padding-block:1rem}.article-list li:last-child{border-bottom:1px solid var(--line)}.article-list time,.article-category{color:var(--muted);font-size:.78rem}.article-list a{color:var(--ink);font-family:var(--serif);font-size:1.08rem;font-weight:600;text-decoration:none}.article-list a:hover{color:var(--accent)}.page-header{padding-block:clamp(4rem,9vw,7rem)}.page-header.compact{padding-bottom:clamp(2.5rem,6vw,4rem)}.page-header h1{font-size:clamp(2.4rem,6vw,4.2rem);margin:0}.page-header>p:last-child{color:var(--muted);margin-bottom:0}.year-grid-large{padding-bottom:6rem}.category-grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));list-style:none;margin:0 0 6rem;padding:0}.category-grid a{border:1px solid var(--line);color:var(--ink);display:flex;flex-direction:column;min-height:7rem;padding:1.25rem;text-decoration:none}.category-grid strong{font-family:var(--serif);font-size:1.2rem}.back-link{margin-block:3rem 6rem}.post{margin-inline:auto;max-width:45rem;padding-top:clamp(4rem,9vw,7rem)}.post-header{border-bottom:1px solid var(--line);margin-bottom:clamp(2.5rem,6vw,4rem);padding-bottom:2rem}.post-header h1{font-size:clamp(2rem,5vw,3.4rem);margin:0;overflow-wrap:anywhere}.post-meta{align-items:center;color:var(--muted);display:flex;flex-wrap:wrap;font-size:.82rem;gap:.65rem;margin:0 0 1rem}.post-body{font-family:var(--serif);font-size:clamp(1.05rem,2vw,1.15rem);line-height:2;overflow-wrap:anywhere}.post-body h1,.post-body h2,.post-body h3,.post-body h4{line-height:1.5;margin-block:2.4em .8em}.post-body blockquote{border-left:3px solid var(--line);color:#4c5855;margin:2rem 0;padding-left:1.25rem}.post-body pre{background:#202725;border-radius:.25rem;color:#f4f2e9;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.8rem;line-height:1.65;overflow-x:auto;padding:1.25rem}.post-body code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.86em}.post-body img,.post-body video,.post-body audio{margin-block:2rem}.post-body table{border-collapse:collapse;display:block;font-family:var(--sans);font-size:.85rem;max-width:100%;overflow-x:auto}.post-body th,.post-body td{border:1px solid var(--line);padding:.5rem}.post-navigation{border-top:1px solid var(--line);display:grid;gap:2rem;grid-template-columns:1fr 1fr;margin-block:clamp(4rem,10vw,7rem);padding-top:2rem}.post-navigation div{display:flex;flex-direction:column}.post-navigation span{color:var(--muted);font-size:.72rem;margin-bottom:.3rem}.next-post{text-align:right}.prose-page,.not-found{margin-inline:auto;max-width:43rem;padding-block:clamp(4rem,10vw,8rem)}.prose-page h1,.not-found h1{font-size:clamp(2.2rem,6vw,4rem)}.prose-page p{max-width:38rem}.button-link{background:var(--accent-dark);border-radius:.2rem;color:#fff;display:inline-block;padding:.7rem 1.1rem;text-decoration:none}.button-link:hover{background:var(--accent);color:#fff}.site-footer{border-top:1px solid var(--line);color:var(--muted);font-size:.78rem;padding-block:2rem}.site-footer .shell{display:flex;justify-content:space-between}.site-footer p{margin:0}@media(max-width:42rem){.header-inner{min-height:4.25rem}.site-title span{display:none}.article-list li{gap:.1rem;grid-template-columns:1fr auto}.article-list time{grid-column:1 / -1}.post-navigation{grid-template-columns:1fr}.next-post{text-align:left}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.year-card{transition:none}}
