:root{
  --ink:#1F2430;--ink-2:#3A4150;--muted:#6B7280;--ground:#FFFFFF;--surface:#FFFFFF;--line:#DEE1DC;--line-2:#CBD0C9;
  --accent:#275E7C;--accent-ink:#1B4459;--rust:#C2622D;--tint:#E9EFF2;
  --display:'Merriweather',Georgia,'Times New Roman',serif;--body:'Source Serif 4',Georgia,serif;--ui:-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --ink:#ECEEF0;--ink-2:#C7CCD3;--muted:#9AA3AE;--ground:#171B21;--surface:#1F242C;--line:#2E353F;--line-2:#3B4452;--accent:#8FC1DC;--accent-ink:#B5D8EA;--rust:#E39A6C;--tint:#243038;
}}
:root[data-theme="dark"]{--ink:#ECEEF0;--ink-2:#C7CCD3;--muted:#9AA3AE;--ground:#171B21;--surface:#1F242C;--line:#2E353F;--line-2:#3B4452;--accent:#8FC1DC;--accent-ink:#B5D8EA;--rust:#E39A6C;--tint:#243038}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--body);font-size:1.06rem;line-height:1.65}
a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:.14em}
a:hover{color:var(--accent-ink)}
img{max-width:100%;height:auto}
code{font:.9em var(--ui);background:var(--tint);padding:.05em .35em;border-radius:3px}
.wrap{max-width:1120px;margin:0 auto;padding:0 1.25rem}

/* masthead */
.masthead{background:var(--surface);border-bottom:1px solid var(--line)}
.masthead::before{content:"";display:block;height:4px;background:var(--accent)}
.masthead__in{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;padding:1.6rem 1.25rem 1.1rem;flex-wrap:wrap}
.brand{text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:.15rem}
.brand__name{font:900 2.6rem/1 var(--display);letter-spacing:-.01em}
.brand__tag{font:400 .95rem var(--body);font-style:italic;color:var(--muted)}
.nav{display:flex;gap:1.4rem;font:500 .92rem var(--ui)}
.nav a{color:var(--ink-2);text-decoration:none;padding-bottom:.25rem;border-bottom:2px solid transparent}
.nav a:hover{border-color:var(--accent);color:var(--ink)}

/* layout */
.layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:3rem;padding-top:2.4rem;padding-bottom:4rem;align-items:start}
@media(max-width:900px){.layout{grid-template-columns:1fr;gap:2.5rem}}
.main{min-width:0}
.side .widget{padding:0 0 1.4rem;margin-bottom:1.4rem;border-bottom:1px solid var(--line)}
.banner{margin:0 0 .4rem;border-bottom:1px solid var(--line)}
.banner img{display:block;width:100%;height:auto;max-height:340px;object-fit:cover}
.side .widget:last-child{border-bottom:0}
.side h2{font:600 .78rem var(--ui);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 .6rem}
.side p{margin:0 0 .6rem;font-size:.95rem;line-height:1.55}
.widget form{display:flex;gap:.4rem}
.widget input[type=search]{flex:1;min-width:0;font:400 .95rem var(--ui);padding:.5rem .65rem;border:1px solid var(--line-2);background:var(--surface);color:var(--ink);border-radius:4px}
.widget button{font:500 .9rem var(--ui);padding:.5rem .8rem;border:1px solid var(--accent);background:var(--accent);color:#fff;border-radius:4px;cursor:pointer}
.years{list-style:none;margin:0;padding:0;columns:2;column-gap:1rem}
.years li{display:flex;justify-content:space-between;font:400 .95rem var(--ui);padding:.18rem 0;break-inside:avoid}
.years span{color:var(--muted);font-variant-numeric:tabular-nums}
.tags{display:flex;flex-wrap:wrap;gap:.4rem}
.tags a{font:500 .8rem var(--ui);color:var(--ink-2);background:var(--tint);padding:.25rem .55rem;border-radius:3px;text-decoration:none}
.tags a span{color:var(--muted);margin-left:.35rem}
.tags a:hover{background:var(--accent);color:#fff}
.tags a:hover span{color:rgba(255,255,255,.75)}
.widget--quiet p{color:var(--muted);font-size:.9rem}

/* intro + cards */
.intro{padding:0 0 1.8rem;margin-bottom:1.8rem;border-bottom:3px solid var(--ink)}
.intro__k{font:400 .9rem var(--body);font-style:italic;color:var(--muted);margin:0 0 .4rem}
.intro h1{font:700 2.1rem/1.15 var(--display);margin:0 0 .8rem;text-wrap:balance;max-width:24ch}
.intro p{margin:0;max-width:62ch;color:var(--ink-2);font-size:1.08rem}
.intro .intro__elsewhere{margin-top:1rem}
.cards{display:grid;gap:0}
.card{display:grid;grid-template-columns:minmax(0,1fr);gap:1.1rem;padding:1.5rem 0;border-bottom:1px solid var(--line)}
.card:has(.card__img){grid-template-columns:200px minmax(0,1fr)}
@media(max-width:560px){.card:has(.card__img){grid-template-columns:1fr}}
.card__img{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--tint);border-radius:3px}
.card__img img{width:100%;height:100%;object-fit:cover;display:block}
.meta{font:400 .82rem var(--ui);color:var(--muted);margin:0 0 .35rem}
.meta time{color:var(--rust);font-weight:500}
.card__title{font:700 1.35rem/1.25 var(--display);margin:0 0 .5rem;text-wrap:balance}
.card__title a{color:var(--ink);text-decoration:none}
.card__title a:hover{color:var(--accent)}
.card__excerpt{margin:0;color:var(--ink-2);font-size:.98rem}
.pager{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.6rem 0 0;font:500 .92rem var(--ui)}
.pager__n{color:var(--muted)}

/* post */
.pagehead{font:700 2rem/1.15 var(--display);margin:0 0 1.4rem;display:flex;align-items:baseline;gap:.8rem;flex-wrap:wrap}
.pagehead__n{font:400 .9rem var(--ui);color:var(--muted)}
.post__head{margin-bottom:1.4rem}
.meta--eyebrow{font-size:.85rem}
.post__title{font:700 2.1rem/1.2 var(--display);margin:.3rem 0 0;text-wrap:balance}
.post__hero{margin:0 0 1.6rem}
.post__hero img{width:100%;display:block;border-radius:3px}
.prose{font-size:1.1rem;line-height:1.7;max-width:68ch}
.prose p{margin:0 0 1.15rem}
.prose h2,.prose h3{font-family:var(--display);font-weight:600;line-height:1.15;margin:1.8rem 0 .6rem;letter-spacing:-.01em}
.prose h2{font-size:1.7rem}.prose h3{font-size:1.35rem}
.prose img{display:block;margin:1.2rem auto;border-radius:3px}
.prose img.alignleft,.prose .alignleft{float:left;margin:.3rem 1.2rem .8rem 0;max-width:45%}
.prose img.alignright,.prose .alignright{float:right;margin:.3rem 0 .8rem 1.2rem;max-width:45%}
.prose .wp-caption{max-width:100%;margin:1.2rem 0}
.prose .wp-caption img{margin:0}
.prose .wp-caption-text,.prose figcaption{font:400 .85rem var(--ui);color:var(--muted);margin:.4rem 0 0}
.prose blockquote{margin:1.4rem 0;padding:.2rem 0 .2rem 1.3rem;border-left:3px solid var(--rust);color:var(--ink-2);font-style:italic}
.prose ul,.prose ol{padding-left:1.4rem;margin:0 0 1.15rem}
.prose li{margin-bottom:.35rem}
.prose table{border-collapse:collapse;width:100%;font:400 .9rem var(--ui);margin:1.2rem 0;display:block;overflow-x:auto}
.prose th,.prose td{border:1px solid var(--line);padding:.45rem .6rem;text-align:left;vertical-align:top}
.prose th{background:var(--tint);font-weight:600}
.prose .embed{position:relative;aspect-ratio:16/9;margin:1.4rem 0;background:var(--tint)}
.prose .embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.prose iframe{max-width:100%}
.prose .note,.note{font:400 .9rem var(--ui);color:var(--muted);background:var(--tint);padding:.6rem .8rem;border-radius:3px}
.prose::after{content:"";display:block;clear:both}
.post__tags{margin:2rem 0 0;display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;font:500 .8rem var(--ui)}
.post__tags span{color:var(--muted);margin-right:.2rem}
.post__tags a{color:var(--ink-2);background:var(--tint);padding:.25rem .55rem;border-radius:3px;text-decoration:none}
.post__tags a:hover{background:var(--accent);color:#fff}
.post__origin{font:400 .82rem var(--ui);color:var(--muted);margin:1rem 0 0}

/* comments */
.discussion{margin-top:3rem;padding-top:1.4rem;border-top:3px solid var(--ink)}
.discussion h2{font:600 1.4rem var(--display);margin:0 0 1rem}
.comments{list-style:none;margin:0;padding:0}
.comment{padding:1rem 0;border-top:1px solid var(--line)}
.comment--reply{margin-left:1.5rem;padding-left:1rem;border-left:2px solid var(--line-2)}
.comment__meta{font:400 .84rem var(--ui);margin:0 0 .3rem;color:var(--muted)}
.comment__meta strong{color:var(--ink);font-weight:600}
.comment__body{font-size:.98rem;line-height:1.55}
.comment__body p{margin:0 0 .6rem}
.comment .comments{margin-top:.6rem}

/* lists, archive, search */
.month h2{font:600 1.05rem var(--display);margin:1.4rem 0 .5rem;color:var(--ink-2)}
.list{list-style:none;margin:0;padding:0}
.list li{display:grid;grid-template-columns:5.2rem minmax(0,1fr);gap:1rem;padding:.5rem 0;border-bottom:1px solid var(--line);align-items:baseline}
.list--tag li{grid-template-columns:8rem minmax(0,1fr)}
.list time{font:500 .8rem var(--ui);color:var(--rust);white-space:nowrap}
.list a{color:var(--ink);text-decoration:none;font-family:var(--display);font-weight:600;font-size:1.08rem;line-height:1.3}
.list a:hover{color:var(--accent)}
.yeargrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.8rem}
.yeargrid__y{display:flex;flex-direction:column;gap:.15rem;padding:1rem 1.1rem;background:var(--surface);border:1px solid var(--line);border-radius:4px;text-decoration:none;color:var(--ink)}
.yeargrid__y b{font:600 1.5rem var(--display)}
.yeargrid__y span{font:400 .82rem var(--ui);color:var(--muted)}
.yeargrid__y:hover{border-color:var(--accent)}
.search{margin-bottom:1.4rem}
.search input{width:100%;font:400 1.1rem var(--ui);padding:.75rem .9rem;border:1px solid var(--line-2);border-radius:4px;background:var(--surface);color:var(--ink)}
.search__hint{font:400 .85rem var(--ui);color:var(--muted);margin:.5rem 0 0}
.results li mark{background:transparent;color:var(--accent-ink);font-weight:700}
.results .r__x{grid-column:2;font:400 .9rem var(--body);color:var(--ink-2);margin:0}
.results .r__g{grid-column:2;font:400 .78rem var(--ui);color:var(--muted)}
.foot{border-top:1px solid var(--line);padding:1.4rem 0 2rem;font:400 .82rem var(--ui);color:var(--muted)}
.foot p{margin:0}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media (prefers-reduced-motion: no-preference){.card__title a,.nav a,.tags a{transition:color .15s,background-color .15s,border-color .15s}}
