:root{--bg:#0a0c0e;--panel:#10151b;--text:#e7ebf1;--muted:#a0aab8;--line:#27303b;--accent:#2ecf8e;--soft:#102a20;--serif:'Newsreader',Georgia,serif;--sans:'IBM Plex Sans',system-ui,sans-serif;--mono:'IBM Plex Mono',ui-monospace,monospace;color-scheme:dark}
html[data-theme=light]{--bg:#f6f7f4;--panel:#fff;--text:#15211b;--muted:#526159;--line:#ccd5ce;--accent:#087749;--soft:#e3f2e8;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:var(--bg);color:var(--text);font:1rem/1.7 var(--sans)}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}button,input,textarea,select{font:inherit}button,a,input,textarea{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:4px}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.15;letter-spacing:-.025em}h1{font-size:clamp(2.25rem,4.4vw,4rem);margin:1rem 0 1.4rem}h2{font-size:2rem}h3{font-size:1.5rem}p{margin:0 0 1.2rem}.wrap{width:min(1320px,calc(100% - 64px));margin-inline:auto}.accent{color:var(--accent)}.site-header{border-bottom:1px solid var(--line)}.nav{min-height:76px;display:flex;gap:2rem;align-items:center;justify-content:space-between}.logo{font:600 1.2rem var(--mono);display:inline-flex;align-items:center;gap:.4rem}.logo span{font-size:.6rem;color:var(--accent)}#site-navigation{display:flex;align-items:center;gap:1.5rem}.nav-menu{list-style:none;display:flex;gap:1.3rem;padding:0;margin:0;flex-wrap:wrap}.nav-menu a,.rss,.theme-toggle{font:.875rem var(--mono)}.nav-menu a{color:var(--muted)}.nav-menu .current-menu-item>a,.nav-menu a:hover{color:var(--accent)}.nav-menu li{position:relative}.sub-menu{display:none;list-style:none;position:absolute;background:var(--panel);padding:1rem;min-width:180px;z-index:10;border:1px solid var(--line)}.menu-item-has-children:hover>.sub-menu,.menu-item-has-children:focus-within>.sub-menu{display:block}.sub-menu li{margin:.5rem 0}.rss{color:var(--accent);border:1px solid var(--line);padding:.5rem}.theme-toggle{display:flex;border:1px solid var(--line);border-radius:5px;overflow:hidden}.theme-toggle button{background:none;border:0;color:var(--muted);padding:.55rem .65rem}.theme-toggle button[aria-pressed=true]{background:var(--soft);color:var(--accent)}.nav-toggle{display:none}.prompt{background:#07090b;border-bottom:1px solid #222934;color:#a0aab8;font:.8rem var(--mono)}.prompt .wrap{display:flex;gap:.8rem;align-items:center;min-height:42px;overflow:hidden}.prompt .accent{color:#2ecf8e}.cursor{width:7px;height:14px;background:#2ecf8e;animation:blink 1.3s step-end infinite}@keyframes blink{50%{opacity:0}}.hero{padding:76px 0 64px;border-bottom:1px solid var(--line)}.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:64px;align-items:end}.hero h1{max-width:19ch}.lede{font-size:1.2rem;color:var(--muted);max-width:55ch}.kicker{font:.8rem var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.dispatch{border-left:1px solid var(--line);padding-left:24px}.dispatch dl{font:.875rem/1.6 var(--mono)}dt{color:var(--muted);margin-top:1rem}dd{margin:0}.btn,.wp-block-button__link,input[type=submit]{display:inline-block;background:transparent;border:1px solid var(--line);padding:.7rem 1rem;color:var(--accent);border-radius:5px;font:.875rem/1.5 var(--mono)}.btn:hover{background:var(--soft)}.primary{background:var(--accent);color:var(--bg);border-color:var(--accent);margin-top:1rem}.primary:hover{color:var(--text)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:2rem;padding:44px 0 24px}.section-heading h2{margin:.7rem 0 0}.section-heading>a{font:.875rem var(--mono);color:var(--accent);white-space:nowrap}.notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.note{padding:28px 26px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:start;flex-direction:column;transition:background .15s}.note:hover{background:var(--panel)}.tag{font:.8rem/1.5 var(--mono);color:var(--accent);border:1px solid var(--line);padding:.15rem .6rem;border-radius:20px;background:var(--soft)}.note h3{margin:1rem 0}.note p{color:var(--muted)}.card-foot{margin-top:auto;display:flex;gap:.75rem;justify-content:space-between;width:100%;font:.8rem/1.6 var(--mono);color:var(--muted)}.card-foot a{color:var(--accent);white-space:nowrap}.feed{border-top:1px solid var(--line)}.feed-row{display:grid;grid-template-columns:110px 100px minmax(0,1fr) 20px;gap:24px;padding:26px 0;border-bottom:1px solid var(--line)}.feed-row time,.feed-source{font:.8rem/1.6 var(--mono);color:var(--muted)}.feed-row h3{font:500 1.15rem/1.45 var(--sans);margin:0 0 .5rem}.feed-row p{color:var(--muted);margin:0}.site-footer{margin-top:64px;padding:30px 0;border-top:1px solid var(--line)}.site-footer .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:2rem;justify-content:space-between}.site-footer p{font:.8rem var(--mono);color:var(--muted);margin:0}.archive,.article{padding-top:60px;padding-bottom:30px}.article-header{max-width:1000px;margin-bottom:40px}.article-header h1{max-width:24ch}.meta{font:.875rem var(--mono);color:var(--muted)}.reading-grid{display:grid;grid-template-columns:minmax(0,820px) 240px;gap:60px}.entry-content{min-width:0;font-size:1.1rem}.entry-content h2{margin-top:2.5rem}.entry-content h3{margin-top:2rem}.entry-content a{color:var(--accent);text-decoration:underline;text-underline-offset:4px}.entry-content li{margin:.4rem 0}.entry-content blockquote{border-left:3px solid var(--accent);margin:2rem 0;padding:1rem 1.5rem;background:var(--panel)}.entry-content pre{white-space:pre;overflow:auto;background:#07090b;color:#e7ebf1;padding:1.5rem;position:relative;font:.9rem/1.8 var(--mono);border:1px solid var(--line);border-radius:5px}.copy-code{display:block;margin-top:1rem;border:1px solid #526159;background:transparent;color:#2ecf8e;font:.8rem var(--mono);padding:.4rem}.entry-content table{border-collapse:collapse;width:100%}.entry-content td,.entry-content th{padding:.65rem;border:1px solid var(--line);text-align:left}.wp-block-table{overflow:auto}.entry-content img,.featured-image img{max-width:100%;height:auto}.featured-image{margin:0 0 3rem}.toc{font:.875rem/1.5 var(--mono);position:sticky;top:2rem;align-self:start;border-left:1px solid var(--line);padding-left:1.25rem}.toc a{display:block;margin:.8rem 0;color:var(--muted)}.toc a:hover,.toc a.active{color:var(--accent)}.toc .subheading{padding-left:.7rem}.page-content{max-width:1000px}.narrow{max-width:760px}.post-navigation{margin:3rem 0;padding-top:1.5rem;border-top:1px solid var(--line)}.nav-links{display:flex;justify-content:space-between;gap:2rem}.nav-links>*{flex:1}.nav-next{text-align:right}.post-tags{margin-top:2rem}.search-form{display:flex;gap:.75rem;margin:1.5rem 0 2rem}.search-form label{flex:1;max-width:600px}input:not([type=checkbox]):not([type=radio]):not([type=submit]),textarea,select{width:100%;background:var(--panel);border:1px solid var(--line);padding:.7rem;color:var(--text);border-radius:5px}.search-form .btn{white-space:nowrap}.pagination{padding:2rem 0}.page-numbers{padding:.6rem;border:1px solid var(--line)}.page-numbers.current{background:var(--soft);color:var(--accent)}.newsletter{padding:3rem 0}.empty{padding:2rem}.screen-reader-text,.skip-link{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0)}.skip-link:focus{width:auto;height:auto;clip:auto;padding:1rem;background:var(--bg);z-index:100;top:1rem;left:1rem}.comments-area{max-width:820px}.comment-list{padding-left:1rem}.comment-body{padding:1rem 0;border-bottom:1px solid var(--line)}.wp-caption{max-width:100%}.alignwide{max-width:100%}.alignleft{float:left;margin:0 1.5rem 1rem 0}.alignright{float:right;margin:0 0 1rem 1.5rem}.aligncenter{margin-inline:auto;display:block}[hidden]{display:none!important}
@media(max-width:1100px){.nav{flex-wrap:wrap;padding-block:16px}.hero-grid{grid-template-columns:minmax(0,1fr) 220px;gap:32px}.reading-grid{grid-template-columns:minmax(0,1fr) 200px;gap:32px}.notes{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.nav-toggle{display:block;color:var(--text);background:none;border:1px solid var(--line);padding:.5rem .8rem}#site-navigation{display:none;width:100%;flex-wrap:wrap}#site-navigation.open{display:flex}.nav-menu{width:100%;gap:1rem}.sub-menu{position:static;display:block;border:0}.hero{padding:42px 0}.hero-grid{grid-template-columns:1fr}.dispatch{padding-left:0;border:0;border-top:1px solid var(--line);padding-top:1.5rem}.dispatch dl{display:grid;grid-template-columns:110px 1fr;gap:.5rem;margin-bottom:0}.dispatch dt{margin:0}.section-heading{align-items:start;flex-direction:column;gap:1rem}.notes{grid-template-columns:1fr}.feed-row{grid-template-columns:1fr auto;gap:.5rem}.feed-row>div{grid-column:1/-1}.feed-row>span:last-child{display:none}.reading-grid{display:flex;flex-direction:column}.toc{position:static;order:-1}.article{padding-top:36px}.site-footer .wrap{align-items:start;flex-direction:column}.prompt .wrap{font-size:.75rem;gap:.5rem}.cursor{flex-shrink:0}.card-foot{flex-wrap:wrap}.search-form{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cursor{animation:none}*{transition:none!important}}

/* Reference typography and inline icon sizing, mapped to WordPress templates. */
:root{font-size:clamp(16px,14.6px + .28vw,20px);-webkit-font-smoothing:antialiased;--muted:#99a2b1;--line:#222934}
h1,h2,h3{font-weight:500;letter-spacing:-.015em;line-height:1.12;text-wrap:balance}
.logo{font-size:17px;letter-spacing:-.01em;gap:1px;align-items:baseline}.logo i{width:7px;height:7px;border-radius:50%;background:var(--accent);margin-left:3px;box-shadow:0 0 10px var(--accent)}
.nav-menu a,.rss{font-size:12.5px;letter-spacing:.02em}.rss{display:inline-flex;align-items:center;gap:6px;padding:6px 13px;border-radius:5px}.theme-toggle button{font:11px var(--mono);display:flex;align-items:center;gap:5px;padding:7px 10px}.theme-toggle svg{width:13px;height:13px}.nav-toggle svg{width:18px;height:18px;display:block}
.prompt{font-size:12px}.prompt .wrap{gap:9px;min-height:40px;white-space:nowrap}.prompt .accent{overflow:hidden;text-overflow:ellipsis}.prompt .wrap>span:first-child{color:#424b58;flex-shrink:0}.cursor{flex-shrink:0;animation-duration:1.2s}
.hero h1{font-size:clamp(36px,20px + 3vw,64px);max-width:14ch}.lede{font-size:clamp(17px,16px + .5vw,21px);line-height:1.6}.kicker{font-size:11.5px;letter-spacing:.14em}.dispatch dl{font-size:12px}.section-heading h2{font-size:26px;letter-spacing:-.01em}.tag{font-size:11px;letter-spacing:.02em;padding:3px 10px}.note h3{font-size:21px;line-height:1.18;letter-spacing:-.01em}.note p{font-size:14px;line-height:1.55}.card-foot{font-size:11px;border-top:1px solid var(--line);padding-top:14px}.meta{font-size:11.5px}.feed-row h3{font-size:15.5px}.feed-row p{font-size:13px;line-height:1.5}.feed-row time{font-size:11.5px}.feed-source{font-size:11px}
.entry-content{font-size:clamp(16.5px,15px + .42vw,20.5px);line-height:1.78;color:var(--muted)}.entry-content h2{font-size:clamp(24px,20px + .9vw,34px);font-weight:600;line-height:1.2;color:var(--text)}.entry-content h3{font-size:clamp(20px,18px + .5vw,26px);font-weight:600;color:var(--text)}.entry-content blockquote p{font-family:var(--serif);font-style:italic;font-size:19px}.toc{font-size:11.5px}.toc .kicker{font-size:10px;letter-spacing:.12em;color:var(--muted)}

/* 1.2.0: compact reference controls and inline section headings. */
.hero h1 a:hover,.hero h1 a:focus-visible{color:var(--text)}
.dispatch>.kicker{color:#616b7a}
.hero .btn{font-size:13px;line-height:1.5;padding:10px 18px;font-weight:600}
.section-heading{align-items:baseline;gap:24px}
.section-heading>div{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.section-heading h2{margin:0}
.section-heading>a{font-size:12px;line-height:1.5}
@media(max-width:760px){.section-heading{flex-direction:row;flex-wrap:wrap;gap:12px}.section-heading>div{gap:10px}.section-heading .kicker{font-size:10px}.section-heading h2{font-size:23px}}

/* 1.3.1: consistent title colours, plain dispatch tags and compact footer. */
.theme-toggle{border-radius:999px}
.theme-toggle button:first-child{border-radius:999px 0 0 999px}
.theme-toggle button:last-child{border-radius:0 999px 999px 0}
h1 a:hover,h2 a:hover,h3 a:hover,h4 a:hover,h5 a:hover,h6 a:hover,
h1 a:focus-visible,h2 a:focus-visible,h3 a:focus-visible,h4 a:focus-visible,h5 a:focus-visible,h6 a:focus-visible{color:inherit}
.dispatch .tag{display:inline;padding:0;border:0;border-radius:0;background:none;color:inherit;font:inherit;letter-spacing:inherit}
.site-footer p{font-size:11px;line-height:1.6}
