
:root{color-scheme:dark;--bg:#101116;--surface:#18191f;--line:#2b2d36;--green:#84bc9b;--text:#f0eff4;--muted:#a2a2b1;--mono:'IBM Plex Mono',monospace;--sans:'Manrope',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased}body:before{content:'';position:absolute;inset:0 0 auto;height:810px;pointer-events:none;background:radial-gradient(ellipse at 78% 32%,#77e55309,transparent 53%);z-index:-1}a{color:inherit;text-decoration:none}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--green);outline-offset:6px}::selection{background:var(--green);color:var(--bg)}.shell{max-width:1256px;margin:auto;padding:0 48px}.green{color:var(--green)}.header{min-height:106px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font:600 24px var(--mono);letter-spacing:-1.2px}.header nav{display:flex;gap:32px;align-items:center;font:12px var(--mono);color:var(--muted)}nav .active,nav a:hover{color:var(--green)}nav .active:before{content:'[';margin-right:7px}nav .active:after{content:']';margin-left:7px}.hero{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:70px;padding:86px 0 78px}.eyebrow{font:12px/1.8 var(--mono);letter-spacing:1.5px;color:var(--muted);margin:0 0 24px}.status-dot{display:inline-block;width:6px;height:6px;background:var(--green);border-radius:50%;margin-right:9px;box-shadow:0 0 12px #a4f84645;vertical-align:middle}h1{font-size:clamp(52px,5.6vw,76px);line-height:1.09;letter-spacing:-4px;margin:0 0 26px;font-weight:800}.lede{font-size:17px;line-height:1.8;max-width:440px;color:#c4cdc6;margin:0 0 10px}.sublede{font-size:13px;line-height:1.85;color:var(--muted);max-width:420px;margin:0}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:32px}.button{display:inline-flex;align-items:center;gap:24px;background:var(--green);color:#12200e;padding:15px 19px;font:500 12px var(--mono);border:1px solid var(--green);transition:background .2s}.button:hover{background:#c2ff99}.text-link{font:12px/1.6 var(--mono);color:var(--text);display:inline-flex;gap:20px;align-items:center}.text-link:hover{color:var(--green)}.cursor{display:inline-block;background:var(--green);width:7px;height:13px;vertical-align:middle;animation:blink 1.4s steps(1) infinite}.topic-strip{display:flex;justify-content:space-between;gap:22px;flex-wrap:wrap;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font:12px var(--mono);color:#acb9af}.topic-strip span:first-child{color:var(--green);font-size:12px;letter-spacing:1px}.research{padding:74px 0 0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:30px}.section-heading .eyebrow,.closing .eyebrow{margin-bottom:12px}h2{font-size:29px;line-height:1.4;letter-spacing:-1.2px;margin:0;font-weight:600}.section-heading>.text-link{white-space:nowrap;margin-bottom:6px}.filters{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:27px}.filters[hidden]{display:none}.filters button{cursor:pointer;border:1px solid var(--line);color:var(--muted);background:transparent;padding:9px 13px;font:12px var(--mono)}.filters button[aria-pressed=true]{color:var(--green);border-color:#66884e;background:#a4f86a0a}.filters button:hover{border-color:var(--green)}.filters button span{margin-left:12px;opacity:.7}.post-row{position:relative;display:grid;grid-template-columns:40px 1fr 36px;gap:18px;padding:29px 12px 29px 0;border-top:1px solid var(--line);transition:background .2s}.post-row[hidden]{display:none}.post-row:hover{background:#a4f86a04}.post-number{font:12px var(--mono);color:#7e9081;padding-top:4px}.post-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font:12px/1.6 var(--mono);color:var(--muted);margin-bottom:11px}.post-meta>span:first-child{color:var(--green)}.meta-divider{opacity:.4}.latest{font-size:12px;letter-spacing:1px;border:1px solid #3d5732;color:var(--green);padding:1px 6px}.post-content h3{font-size:21px;line-height:1.45;letter-spacing:-.45px;font-weight:600;margin:0 0 9px}.post-content h3 a:after{content:'';position:absolute;inset:0}.post-content h3 a:hover{color:var(--green)}.post-content p{font-size:12px;line-height:1.9;max-width:830px;color:var(--muted);margin:0}.post-arrow{align-self:center;font:22px var(--mono);color:var(--green)}.closing{display:flex;align-items:center;justify-content:space-between;gap:32px;margin:65px 0;padding:34px 0 34px 28px;border-left:2px solid var(--green);background:linear-gradient(90deg,#a4f86a05,transparent)}.closing h2{font-size:25px}.closing p:not(.eyebrow){max-width:490px;color:var(--muted);font-size:13px;line-height:1.8;margin:16px 0 0}.closing>.text-link{flex-shrink:0}.footer{display:flex;gap:28px;align-items:center;border-top:1px solid var(--line);padding:30px 0 35px;color:var(--muted);font:12px var(--mono)}.footer .brand{font-size:18px;color:var(--text);margin-right:auto}.footer a:hover{color:var(--green)}.skip{position:fixed;top:-90px;left:16px;background:var(--green);color:var(--bg);padding:12px;z-index:10}.skip:focus{top:16px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes blink{50%{opacity:0}}
@media(min-width:1500px){.hero{padding-top:100px;padding-bottom:95px}}@media(max-width:1000px){.shell{padding:0 30px}.hero{gap:35px}h1{font-size:60px}.hero-actions{gap:18px}.hero-actions .text-link{gap:10px}.lede{font-size:15px}}@media(max-width:760px){.shell{padding:0 22px}.header{min-height:87px;gap:14px}.brand{font-size:21px}.header nav{gap:17px;font-size:13px}nav .active:before,nav .active:after{display:none}.hero{grid-template-columns:1fr;padding:48px 0;gap:45px}h1{font-size:clamp(52px,11vw,76px)}.lede,.sublede{max-width:520px}.topic-strip{justify-content:flex-start;gap:16px 24px;font-size:12px}.topic-strip span:first-child{width:100%}.research{padding-top:45px}.section-heading{align-items:start}h2{font-size:24px}.section-heading>.text-link{font-size:12px;margin-top:31px}.post-row{grid-template-columns:24px 1fr 20px;gap:10px;padding:24px 0}.post-content h3{font-size:18px}.post-meta{gap:7px;font-size:12px}.latest{display:none}.closing{display:block;margin:42px 0;padding:25px 0 25px 20px}.closing>.text-link{margin-top:24px}.closing h2{font-size:23px}.footer{flex-wrap:wrap;gap:20px}.footer .brand{width:100%;margin:0}}@media(max-width:380px){.header nav{gap:10px}.shell{padding:0 16px}.hero-actions{gap:14px}.button{gap:12px;padding:13px;font-size:12px}.section-heading{display:block}.section-heading>.text-link{margin-top:15px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Profile-led homepage, with green reserved for small accents. */
.header .wordmark{display:inline-flex;align-items:baseline;gap:7px;position:relative;flex-shrink:0;padding:9px 0;font:800 italic 28px/1 'Manrope',sans-serif;letter-spacing:-1.8px;color:#f0eff4}
.wordmark-name{position:relative;display:block;transition:letter-spacing .3s,color .3s}
.wordmark-name:after{content:'';position:absolute;left:1px;bottom:-7px;width:28px;height:2px;background:var(--green);transform:skewX(-25deg);transition:width .35s}
.wordmark-dot{width:5px;height:5px;background:var(--green);transform:skewX(-15deg)}
.wordmark:hover .wordmark-name{letter-spacing:-1.1px;color:#fff}
.wordmark:hover .wordmark-name:after{width:100%}
body:before{height:1000px;background:radial-gradient(ellipse at 82% 34%,#7979bc15,transparent 50%),radial-gradient(ellipse at 3% 2%,#8784aa08,transparent 45%)}
.shell{max-width:1240px}.header{min-height:94px;border-color:#ffffff0c}.header nav{font-family:var(--sans);font-size:13px}.header nav .active{color:var(--text)}nav .active:before,nav .active:after{display:none}.header nav a{position:relative;padding:12px 0}.header nav .active:after{display:block;content:'';position:absolute;bottom:3px;left:0;margin:0;width:16px;height:2px;background:var(--green)}
.hero{position:relative;grid-template-columns:1.2fr 1fr;min-height:730px;padding:84px 0 120px;gap:55px;isolation:isolate}.hero-grid{position:absolute;right:-20px;top:40px;width:530px;height:530px;background-image:radial-gradient(#83838f30 .7px,transparent .7px);background-size:22px 22px;mask-image:radial-gradient(ellipse,#000,transparent 69%);z-index:-1;pointer-events:none}.hero .eyebrow{font-size:12px;letter-spacing:1.65px;margin-bottom:28px}.hello{font-size:22px;color:var(--muted);margin:0 0 12px;font-weight:500}h1{font-size:clamp(60px,6.5vw,86px);line-height:1.08;letter-spacing:-4.5px;margin-bottom:22px}.alias-line{display:flex;align-items:center;gap:13px;font:12px var(--mono);margin-bottom:27px;flex-wrap:wrap}.alias{color:var(--green)}.alias-divider{color:#555766}.role{color:#c9c7d8}.cursor{height:12px;width:5px;background:var(--green)}.lede{font-size:17px;color:#dedde5;margin-bottom:9px;line-height:1.7}.sublede{font-size:13px;max-width:420px;color:var(--muted)}.hero-actions{margin-top:30px}.button{border-radius:6px;background:#ededf3;border-color:#ededf3;color:#1a1b23;font-family:var(--sans);font-size:12px;font-weight:700;padding:14px 21px;transition:transform .25s,box-shadow .25s,background .25s}.button:hover{background:#fff;transform:translateY(-3px);box-shadow:0 8px 26px #ffffff12}.text-link{color:#c5c4d1}.hero-actions .text-link{font-family:var(--sans)}.scroll-cue{position:absolute;bottom:37px;left:0;display:flex;gap:12px;align-items:center;font:12px var(--mono);letter-spacing:2px;color:#8e8e9e}.scroll-cue>span{font-size:16px;color:var(--green);animation:nudge 2s ease-in-out infinite}.topic-strip{border-color:#ffffff0d;color:#92919f;padding:23px 0;font-size:12px}.topic-strip span:first-child{color:#b3b0c3}.research{padding-top:75px}h2{font-size:29px}.filters button{border-radius:5px;background:#17181f;color:#aaa8b7;padding:10px 14px}.filters button[aria-pressed=true]{background:#22242b;border-color:#646775;color:#e8e8ed}.filters button:hover{border-color:#8b919e}.post-row{padding:31px 16px 31px 0;border-color:#ffffff10;transition:background .25s,transform .25s}.post-row:hover{background:#ffffff03;transform:translateX(5px)}.post-meta>span:first-child{color:#b5b0ca}.post-number{color:#767582}.post-arrow{color:#aeabba;transition:transform .25s,color .25s}.post-row:hover .post-arrow{color:var(--green);transform:translate(3px,-3px)}.latest{color:var(--green);border-color:#46594e}.post-content h3{font-weight:600}.post-content p{color:#9694a4}.closing{background:linear-gradient(90deg,#9c91d108,transparent);border-left-color:#777183;border-radius:0 12px 12px 0}.footer{border-color:#ffffff10;padding-bottom:38px}.reading-progress{position:fixed;top:0;left:0;width:100%;height:2px;background:var(--green);z-index:50;transform:scaleX(0);transform-origin:left}
@media(prefers-reduced-motion:no-preference){.intro{animation:enter .85s both}.reveal{opacity:0;transform:translateY(22px);transition:opacity .65s,transform .65s}.reveal.is-visible{opacity:1;transform:translateY(0)}}
@keyframes enter{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes nudge{50%{transform:translateY(4px)}}
@media(max-width:1000px){.hero{gap:25px;min-height:670px}.hero h1{font-size:68px}.hero .eyebrow{font-size:12px;letter-spacing:1px}}
@media(max-width:760px){.header{min-height:83px}.header nav{font-size:13px;gap:19px}.hero{grid-template-columns:1fr;padding:49px 0 90px;gap:42px;min-height:0}.hero h1{font-size:clamp(62px,13vw,86px);letter-spacing:-3.5px}.hero .eyebrow{font-size:12px;margin-bottom:22px}.hello{font-size:19px}.intro{max-width:550px}.hero-grid{right:0;top:auto;bottom:50px;width:100%;height:440px}.scroll-cue{bottom:25px}.research{padding-top:45px}.post-row:hover{transform:none}.closing{margin-bottom:40px}.role{font-size:12px}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}.button:hover{transform:none}}

/* Let large monitors use their width; keep text measures readable. */
@media(min-width:1100px){
  .shell{max-width:none;width:100%;padding-inline:clamp(48px,5vw,160px)}
  .hero{grid-template-columns:1.1fr 1fr;column-gap:clamp(55px,6vw,180px)}
  .hero h1{font-size:clamp(80px,5.6vw,144px)}
  .hero .lede{max-width:620px;font-size:clamp(17px,1.15vw,23px)}
  .hero .sublede{max-width:560px;font-size:clamp(13px,.85vw,17px)}
  .hero-grid{width:55%;height:90%;right:0}
  .closing{padding-right:32px}
}
@media(min-width:1400px){
  .header{min-height:108px}
  .header .wordmark{font-size:32px}
  .header nav{font-size:14px;gap:40px}
  .hero{min-height:780px;padding-block:88px 120px}
  .hero .eyebrow{font-size:12px}
  .topic-strip{font-size:12px}
  .post-content h3{font-size:23px}
  .post-content p{font-size:13px}
}
@media(min-width:1700px){
  .post-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(40px,4vw,120px)}
  .post-row{grid-template-columns:32px minmax(0,1fr) 24px}
  .section-heading h2{font-size:34px}
  .hero{min-height:850px}
  .hero-actions{margin-top:38px}
}
@media(max-width:400px){.header .wordmark{font-size:23px}.header nav{font-size:13px;gap:12px}}

/* Preserve the entire chair, cat and keyboard scene instead of cropping as a face. */

/* Shared reading and index pages, using the homepage's palette and typography. */
.inner-page .shell{max-width:1600px;width:100%;padding-inline:clamp(22px,5vw,100px)}
.inner-page .header{min-height:100px}.header nav{flex-wrap:wrap}
.back-link{display:inline-block;color:var(--muted);font:12px/1.7 var(--mono);margin-bottom:32px}.back-link:hover{color:var(--green)}
.page-heading{padding:72px 0 45px;max-width:940px}.page-heading .eyebrow{margin-bottom:18px}.page-heading h1{font-size:clamp(42px,5vw,72px);line-height:1.12;letter-spacing:-2.8px;margin:0 0 23px;overflow-wrap:anywhere}.page-heading>p:last-child:not(.eyebrow){color:#aaa7ba;font-size:16px;line-height:1.9;max-width:700px;margin:0}.page-heading .back-link{margin-bottom:30px}
.index-toolbar{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:19px 0;border-block:1px solid var(--line);font:12px/1.7 var(--mono);color:var(--muted)}.index-toolbar a:hover{color:var(--green)}
.entry-list{min-width:0}.entry{position:relative;padding:30px 44px 30px 0;border-bottom:1px solid #ffffff10;min-width:0;transition:background .2s}.entry:hover{background:#ffffff03}.entry-meta{display:flex;flex-wrap:wrap;gap:20px;color:#a19bab;font:12px/1.7 var(--mono);margin-bottom:12px}.entry-meta span{color:var(--green)}.entry h2{font-size:23px;line-height:1.45;font-weight:600;letter-spacing:-.5px;margin-bottom:12px}.entry h2 a:after{content:'';position:absolute;inset:0}.entry h2 a:hover{color:var(--green)}.entry p{color:#a29daf;font-size:13px;line-height:1.8;max-width:850px;margin:0}.entry-arrow{position:absolute;right:12px;top:50%;color:var(--green);font-size:21px}
.archive-year{display:grid;grid-template-columns:150px minmax(0,1fr);gap:40px;padding-top:38px}.year-label{padding-top:28px}.year-label h2{font:500 36px/1.2 var(--mono);color:#d4cfdf;letter-spacing:-2px}.year-label>span{display:block;font:12px var(--mono);letter-spacing:1px;color:var(--muted);margin-top:12px}
.category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;padding-top:35px}.category-panel{border:1px solid var(--line);border-radius:10px;background:linear-gradient(135deg,#1b1c25,#111218);padding:28px}.category-number{font:14px var(--mono);color:var(--green);display:flex;justify-content:space-between;gap:20px;margin-bottom:32px}.category-number span{font-size:12px;color:var(--muted)}.category-panel h2{font-size:25px;margin:0 0 28px;letter-spacing:-.5px}.category-panel h2 a{display:flex;justify-content:space-between;gap:12px}.category-panel h2 a span{color:var(--green)}.category-panel ul{list-style:none;padding:0;margin:0}.category-panel li{border-top:1px solid #ffffff10;padding:18px 0;display:grid;gap:7px}.category-panel li:last-child{padding-bottom:0}.category-panel li a{font-size:13px;line-height:1.7}.category-panel li a:hover{color:var(--green)}.category-panel time{font:12px var(--mono);color:var(--muted)}
.tag-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;padding-top:30px}.tag-directory>a{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:6px;background:#191a21;padding:21px 18px;font:12px var(--mono);transition:border-color .2s,background .2s;min-width:0;overflow-wrap:anywhere}.tag-directory>a:hover{background:#1d2521;border-color:#63816d}.tag-count{color:var(--muted);font-size:12px;white-space:nowrap}
.reading-page{padding-top:45px}.article-header{padding-bottom:40px;border-bottom:1px solid var(--line)}.article-header .back-link{margin-bottom:36px}.article-kicker{display:flex;gap:15px;flex-wrap:wrap;font:12px/1.7 var(--mono);letter-spacing:.7px;color:var(--muted);margin-bottom:20px}.article-kicker a{color:var(--green)}.article-header h1{font-size:clamp(32px,3.7vw,57px);line-height:1.2;letter-spacing:-1.9px;max-width:1090px;margin-bottom:24px;overflow-wrap:anywhere}.article-description{max-width:850px;color:#aaa6b8;font-size:17px;line-height:1.9;margin:0 0 27px}.article-byline{display:flex;gap:14px 27px;flex-wrap:wrap;color:var(--muted);font:12px/1.8 var(--mono)}.article-byline>a{color:#d4cfdd}.reading-grid{display:grid;grid-template-columns:minmax(0,780px) minmax(180px,260px);justify-content:center;gap:clamp(30px,5vw,100px);padding-top:42px}.reading-main{min-width:0}.reading-aside{min-width:0}.reading-aside[hidden]{display:none}.toc{position:sticky;top:35px;border-left:1px solid var(--line);padding-left:23px;max-height:none;overflow-y:auto;font:12px/1.8 var(--mono);scrollbar-width:thin}.toc .eyebrow{font-size:12px;margin-bottom:17px}.toc ol{list-style:none;padding:0;margin:0 0 20px}.toc li{margin:0 0 10px}.toc li.toc-nested{padding-left:12px;font-size:12px}.toc a{color:#9e99ae;display:block}.toc a:hover,.toc a.is-current{color:var(--green)}.toc-top{border-top:1px solid var(--line);padding-top:16px}
.prose{font-size:17px;line-height:1.95;color:#cfccd8;overflow-wrap:break-word}.page-prose{max-width:980px;min-height:220px}.layout-page .page-prose{padding-top:25px;border-top:1px solid var(--line)}.prose p{margin:0 0 24px}.prose h1,.prose h2,.prose h3,.prose h4{color:#f0edf5;font-family:var(--sans);font-weight:600;scroll-margin-top:35px;line-height:1.45;letter-spacing:-.6px}.prose h1,.prose h2{font-size:29px;margin:52px 0 23px}.prose h3{font-size:22px;margin:36px 0 18px}.prose h4{font-size:18px;margin:28px 0 15px}.prose>:first-child{margin-top:0}.prose a{color:#a1d3b4;text-decoration:underline;text-decoration-color:#7dab8c66;text-underline-offset:4px}.prose a:hover{color:#cef1db}.prose strong{font-weight:700;color:#f0edf5}.prose ul,.prose ol{padding-left:25px;margin:0 0 24px}.prose li{padding-left:5px;margin-bottom:9px}.prose li>p{margin-bottom:10px}.prose hr{height:1px;background:var(--line);border:0;margin:43px 0}.prose blockquote{margin:26px 0;padding:20px 25px;border-left:3px solid #83b394;background:#84bc9b08;border-radius:0 7px 7px 0;color:#c9d4cd}.prose blockquote p:last-child{margin-bottom:0}.prose img{display:block;max-width:100%;height:auto;border-radius:8px;margin:30px auto;background:#191a22;border:1px solid #ffffff10}.prose img+em{display:block;text-align:center;color:var(--muted);font-size:12px;margin-top:-15px}.prose video,.prose iframe{max-width:100%}.prose .table-scroll{max-width:100%;overflow-x:auto;margin:25px 0 34px;border:1px solid var(--line);border-radius:7px;scrollbar-width:thin}.prose table{border-collapse:collapse;width:100%;font-size:13px;line-height:1.7;display:block;overflow-x:auto;margin:25px 0}.prose .table-scroll table{display:table;margin:0}.prose th{text-align:left;background:#24242e;color:#e7e3ee;font-weight:600}.prose th,.prose td{padding:13px 16px;border-bottom:1px solid var(--line);min-width:110px}.prose tr:last-child td{border-bottom:0}.prose tbody tr:nth-child(even){background:#ffffff02}
.prose code{font-family:var(--mono);font-size:.84em;background:#25252f;padding:3px 6px;border-radius:4px;color:#c3d9cb;overflow-wrap:anywhere}.prose pre{max-width:100%;overflow:auto;background:#14171e;border:1px solid #343440;border-radius:7px;padding:24px;margin:25px 0;font:14px/1.85 var(--mono);tab-size:2;scrollbar-width:thin}.prose pre code{background:none;padding:0;color:inherit;font-size:inherit;border-radius:0;overflow-wrap:normal;white-space:pre}.prose .highlight{color:#d5d2df}.prose div.highlight{position:relative}.prose .rouge-table{margin:0;display:table;font:inherit;width:auto}.prose .rouge-table td{padding:0;border:0;min-width:0}.prose .rouge-table pre{border:0;padding:0;margin:0;background:none;border-radius:0}.prose .rouge-table .rouge-gutter{padding-right:18px;color:#656575;user-select:none}.prose .rouge-table tr{background:none}.code-copy{position:absolute;top:9px;right:10px;z-index:1;background:#282b35;border:1px solid #545162;color:#c7c2d5;border-radius:4px;padding:5px 8px;font:12px var(--mono);cursor:pointer}.code-copy:hover{color:var(--green)}.highlight .c,.highlight .c1,.highlight .cm{color:#87958b;font-style:italic}.highlight .k,.highlight .kd,.highlight .kn,.highlight .kt{color:#b7a6db}.highlight .s,.highlight .s1,.highlight .s2,.highlight .se{color:#9dcea9}.highlight .nf,.highlight .nc{color:#90bfd0}.highlight .mi,.highlight .mf,.highlight .mh{color:#d1b788}.highlight .o{color:#c0bec9}
.article-tags{display:flex;flex-wrap:wrap;gap:9px;margin:42px 0 25px}.article-tags a{font:12px var(--mono);border:1px solid #3d3e48;padding:8px 11px;border-radius:4px;color:#ada7be}.article-tags a:hover{border-color:var(--green);color:var(--green)}.article-end{padding:25px 0;border-block:1px solid var(--line);display:flex;align-items:center;gap:18px;flex-wrap:wrap;font:12px var(--mono);color:var(--muted)}.copy-link{margin-left:auto;background:transparent;border:1px solid #4d4a59;color:#cfccdc;padding:10px 12px;border-radius:4px;font:12px var(--mono);cursor:pointer}.copy-link:hover{color:var(--green)}.copy-feedback{font-size:12px}.post-pagination{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px;padding:32px 0}.post-pagination a{padding:18px;border:1px solid var(--line);border-radius:7px;transition:border-color .2s}.post-pagination a:hover{border-color:#7c9686}.post-pagination span{display:block;font:12px var(--mono);color:var(--green);margin-bottom:11px}.post-pagination strong{font-size:13px;line-height:1.8;font-weight:500;color:#d7d1e0}
.search-form{max-width:850px}.search-form label{display:block;font:12px var(--mono);color:var(--muted);margin-bottom:12px}.search-field{display:flex;align-items:center;gap:15px;padding:10px 10px 10px 18px;border:1px solid #55515f;border-radius:8px;background:#191b23}.search-field:focus-within{border-color:var(--green)}.search-field>span{font-size:25px;color:var(--green)}.search-field input{flex:1;min-width:0;background:none;border:0;color:var(--text);font:15px var(--sans);padding:10px 0;outline:none}.search-field button{background:#e0e6df;color:#17231c;border:0;border-radius:4px;padding:13px 20px;cursor:pointer;font-size:12px}.search-status{font:12px/1.8 var(--mono);color:var(--muted);padding:20px 0}.search-results{max-width:1050px}.not-found{padding:100px 0;max-width:730px}.error-code{font:700 clamp(85px,12vw,160px)/1 var(--mono);color:#e6e3ed;letter-spacing:-10px;margin-bottom:35px}.not-found h1{font-size:35px;letter-spacing:-1px}.not-found p:not(.eyebrow){color:var(--muted);line-height:1.8;margin-bottom:30px}
.page-signoff{min-height:155px;display:flex;justify-content:space-between;align-items:end;margin-top:60px}.page-signoff>.eyebrow{font-size:12px;color:#777385;padding-bottom:20px;letter-spacing:1.4px;margin:0}.site-footer-cat{position:relative;width:110px;height:155px}.site-footer-cat #calico-cat{position:absolute;width:100px;right:0;bottom:0;z-index:1;filter:drop-shadow(0 10px 12px #0004)}
@media(min-width:1700px){.inner-page .shell{max-width:1800px}.reading-grid{grid-template-columns:minmax(0,780px) 280px;justify-content:center}.article-header{max-width:1340px;margin:auto}.tag-directory{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1050px){.reading-grid{grid-template-columns:minmax(0,1fr)}.reading-aside{grid-row:1}.toc{position:static;max-height:none;border:1px solid var(--line);border-radius:7px;padding:20px}.toc ol{columns:2;column-gap:24px}.toc li{break-inside:avoid}.toc-top{display:none}.reading-grid{gap:30px}.tag-directory{grid-template-columns:repeat(2,minmax(0,1fr))}.archive-year{grid-template-columns:90px minmax(0,1fr);gap:20px}.category-panel{padding:22px}}
@media(max-width:760px){.header{flex-wrap:wrap;justify-content:flex-start;gap:14px;padding-block:22px;min-height:0!important}.header nav{width:100%;justify-content:space-between;gap:10px!important;font-size:13px!important}.page-heading{padding:42px 0 30px}.page-heading h1{font-size:42px;letter-spacing:-1.8px}.page-heading>p:last-child:not(.eyebrow){font-size:14px}.category-grid{grid-template-columns:1fr;gap:18px}.tag-directory{gap:9px}.tag-directory>a{padding:17px 12px;font-size:12px;gap:7px}.tag-count{font-size:12px}.archive-year{display:block;padding-top:24px}.year-label{display:flex;align-items:center;gap:20px;padding:12px 0}.year-label h2{font-size:28px}.year-label>span{margin:0}.entry{padding:24px 28px 24px 0}.entry h2{font-size:19px}.entry p{font-size:12px}.entry-arrow{right:2px}.reading-page{padding-top:27px}.article-header h1{font-size:33px;letter-spacing:-1px}.article-header{padding-bottom:25px}.article-description{font-size:15px}.reading-grid{padding-top:25px}.prose{font-size:16px;line-height:1.9}.prose h1,.prose h2{font-size:24px;margin-top:36px}.prose h3{font-size:20px}.prose pre{font-size:14px;padding:20px 14px}.prose blockquote{padding:16px 18px}.toc ol{columns:1}.post-pagination{gap:12px}.post-pagination a{padding:14px}.post-pagination strong{font-size:12px}.search-field{gap:10px;padding-left:12px}.search-field input{font-size:12px}.search-field button{padding:12px}.page-signoff{margin-top:25px}.inner-page .footer{gap:18px}.not-found{padding:60px 0}}
@media(max-width:380px){.tag-directory{grid-template-columns:1fr}.header nav{font-size:13px!important}.post-pagination{grid-template-columns:1fr}}
@media print{.header,.footer,.page-signoff,.reading-aside,.copy-link,.code-copy,.reading-progress,.post-pagination{display:none!important}.inner-page{color:#111;background:#fff}.prose,.prose h2,.prose h3,.article-header h1{color:#111}.reading-grid{display:block}.prose pre{white-space:pre-wrap}.prose img{max-height:70vh;object-fit:contain}}

.header nav{flex-wrap:wrap}
.header nav{margin-left:auto}
.language-switch{display:flex;flex-shrink:0;align-items:center;gap:3px;padding:3px;border:1px solid var(--line);border-radius:5px}
.language-switch[hidden]{display:none}
.language-switch button{border:0;border-radius:3px;padding:7px 8px;background:transparent;color:var(--muted);font:12px var(--mono);cursor:pointer;min-height:32px;min-width:34px}
.language-switch button[aria-pressed=true]{color:var(--green);background:#a4f86a12}
.language-switch button:hover{color:var(--text)}
@media(max-width:1100px){.header nav{gap:18px}}
@media(max-width:760px){.header .wordmark{order:0;margin-right:auto}.header .language-switch{order:1}.header nav{order:2;margin-left:0}}
@media(max-width:760px){.header{flex-wrap:wrap;justify-content:flex-start;gap:14px;padding-block:22px;min-height:0}.header nav{width:100%;justify-content:space-between;gap:10px;font-size:13px}.footer{flex-wrap:wrap}}
@media(max-width:380px){.header nav{font-size:13px}}

#calico-cat {
  --cat-eye-x: 0%;
  --cat-eye-y: 0%;
  --cat-lid-y: -110%;
  position: fixed;
  right: max(8px, env(safe-area-inset-right));
  bottom: max(2px, env(safe-area-inset-bottom));
  width: 156px;
  aspect-ratio: 200 / 270;
  z-index: 1040;
  pointer-events: none;
  user-select: none;
  filter: drop-shadow(0 3px 3px rgba(0, 0, 0, 0.18));
  contain: layout style;
}

#calico-cat .cat-body,
#calico-cat .cat-face {
  position: absolute;
  width: 100%;
  aspect-ratio: 1;
  background-image: var(--cat-art);
  background-repeat: no-repeat;
  background-size: 200% 100%;
}

#calico-cat .cat-body {
  bottom: 0;
  left: 0;
  background-position: left center;
  transform-origin: 60.5% 50%;
  transform: scaleX(1.06);
}

#calico-cat .cat-head {
  position: absolute;
  left: 23%;
  top: 0;
  width: 76%;
  aspect-ratio: 1;
  transform-origin: 50% 84%;
  transform: perspective(500px) translate(var(--cat-head-x, 0px), var(--cat-head-y, 0px)) rotateY(var(--cat-yaw, 0deg)) rotateX(var(--cat-pitch, 0deg)) rotateZ(var(--cat-tilt, 0deg));
}

#calico-cat .cat-face {
  inset: 0;
  background-position: right center;
}

#calico-cat .cat-eye {
  position: absolute;
  width: 10.6%;
  height: 10%;
  overflow: hidden;
  border-radius: 48% 48% 46% 46%;
  isolation: isolate;
}

#calico-cat .cat-eye-left {
  left: 32.8%;
  top: 48.1%;
  transform: rotate(-10deg);
}

#calico-cat .cat-eye-right {
  left: 56.4%;
  top: 47.3%;
  transform: rotate(10deg);
}

#calico-cat .cat-gaze {
  position: absolute;
  inset: 0;
  transform: translate(var(--cat-eye-x), var(--cat-eye-y));
}

#calico-cat .cat-pupil {
  position: absolute;
  left: 19%;
  top: 10%;
  width: 62%;
  height: 80%;
  border-radius: 48%;
  background: radial-gradient(ellipse at 35% 30%, #27342c 0%, #151d19 55%, #111611 100%);
  box-shadow: 0 0 1px rgba(32, 35, 23, 0.55);
}

#calico-cat .cat-pupil::before,
#calico-cat .cat-pupil::after {
  content: '';
  position: absolute;
  border-radius: 50%;
  background: #fffdf5;
}

#calico-cat .cat-pupil::before {
  left: 18%;
  top: 14%;
  width: 32%;
  height: 25%;
  opacity: 0.95;
}

#calico-cat .cat-pupil::after {
  right: 15%;
  bottom: 17%;
  width: 13%;
  height: 10%;
  opacity: 0.55;
}

#calico-cat .cat-lid {
  position: absolute;
  inset: -5%;
  border-bottom: 1px solid #493324;
  border-radius: 45%;
  background: linear-gradient(#a88c6f, #d4bca0 70%, #e8d2b9);
  transform: translateY(var(--cat-lid-y));
}

#calico-cat .cat-eye-right .cat-lid {
  background: linear-gradient(#8b735b, #b9a187 70%, #dccab4);
}

@media (max-width: 991px) {
  #calico-cat {
    width: 124px;
  }
}

@media (max-width: 575px) {
  #calico-cat {
    width: 96px;
    right: max(0px, env(safe-area-inset-right));
  }
}

@media (prefers-reduced-motion: reduce) {
  #calico-cat .cat-head,
  #calico-cat .cat-gaze {
    transform: none !important;
  }

  #calico-cat .cat-lid {
    display: none;
  }
}

@media print {
  #calico-cat {
    display: none;
  }
}

/* The original animated sprite is now the homepage's central character. */
.mascot-stage{position:relative;justify-self:center;width:min(100%,540px);aspect-ratio:1;isolation:isolate}
.mascot-halo{position:absolute;inset:0;border-radius:50%;background:radial-gradient(ellipse at 60% 50%,#84bc9b13,transparent 59%);border:1px solid #a8a0c410;z-index:-1}
.mascot-halo:after{content:'';position:absolute;inset:8%;border:1px dashed #a8a0c41c;border-radius:50%}
.mascot-stage #calico-cat{position:absolute;left:24%;right:auto;bottom:10%;width:60%;z-index:3;filter:drop-shadow(0 15px 18px #0006)}
.mascot-terminal{position:absolute;left:0;top:13%;width:48%;background:#16181fee;border:1px solid #454650;border-radius:10px;transform:rotate(-7deg);box-shadow:0 18px 50px #0004;overflow:hidden;font:clamp(8px,.8vw,12px)/1.8 var(--mono);z-index:1}
.mascot-terminal-top{display:flex;justify-content:space-between;gap:8px;padding:10px 12px;border-bottom:1px solid #ffffff10;font-size:.75em;color:#9b98ac}
.mascot-terminal-top>span:first-child{letter-spacing:2px;color:#788e80}
.mascot-terminal-code{padding:14px 16px 17px}.mascot-terminal-code p{margin:0 0 8px}.mascot-terminal-code b{color:var(--green);font-weight:400}.mascot-terminal-code .terminal-answer{color:#a8a5b5;font-size:.85em}
.mascot-keyboard{position:absolute;right:-1%;bottom:10.3%;width:47%;height:2%;background:linear-gradient(#565664,#292b36);border-radius:2px 2px 10px 10px;transform:skewY(-4deg);z-index:5}
.mascot-desk{position:absolute;left:4%;right:-3%;bottom:9%;height:1px;background:linear-gradient(90deg,transparent,#676371 25%,#676371 85%,transparent);box-shadow:0 18px 30px 4px #0004;z-index:0}
.mascot-status{position:absolute;top:3%;right:4%;font:9px var(--mono);letter-spacing:1.4px;color:#aaa6b8}
.mascot-hint{position:absolute;bottom:0;left:7%;font:10px var(--mono);color:#9591a5}
@media(min-width:1400px){.mascot-stage{width:min(100%,600px)}}
@media(min-width:1700px){.mascot-stage{width:min(100%,680px)}}
@media(max-width:760px){.mascot-stage{width:min(100%,430px);margin:8px auto 0}.mascot-terminal{font-size:10px}.mascot-terminal-code{padding:10px}.mascot-terminal-top{padding:8px}.mascot-status{font-size:7px}.mascot-hint{font-size:8px}}
@media(max-width:380px){.mascot-terminal{font-size:8px}.mascot-status{letter-spacing:.7px}}
@media(prefers-reduced-motion:no-preference){.mascot-stage{animation:enter .8s .15s both}}
.mascot-terminal{width:40%;top:27%;left:-2%;opacity:.8}
.mascot-halo{background:radial-gradient(ellipse at 65% 55%,#84bc9b18,transparent 60%)}

/* A readable desktop monitor and a separate keyboard in front of the mascot. */
.mascot-stage #calico-cat{left:36%;width:55%;bottom:14%}
.mascot-terminal{left:-3%;top:auto;bottom:23%;width:56%;height:35%;opacity:1;transform:rotate(-3deg);z-index:4;overflow:visible;border:5px solid #30313d;border-bottom-width:13px;border-radius:9px;background:#11151a;box-shadow:0 15px 35px #0005}
.mascot-terminal:before{content:'';position:absolute;top:calc(100% + 12px);left:44%;width:12%;height:26%;background:linear-gradient(90deg,#252631,#454553,#252631)}
.mascot-terminal:after{content:'';position:absolute;top:calc(126% + 10px);left:27%;width:46%;height:6%;background:linear-gradient(#4a4a59,#292a35);border-radius:50% 50% 4px 4px}
.mascot-terminal-top{padding:5px 8px;font-size:.65em}
.mascot-terminal-code{padding:8px 10px;overflow:hidden;height:calc(100% - 25px);font-size:clamp(9px,.8vw,12px);line-height:1.65}
.mascot-terminal-code p{margin:0 0 6px;overflow-wrap:anywhere}.mascot-terminal-code .scene-label{font-size:.6em;letter-spacing:1.5px;color:#747f88;margin-bottom:7px}.mascot-terminal-code .command-line{color:#c9d6ce}.mascot-terminal-code .terminal-answer{font-size:.85em;color:#91bba1}.mascot-terminal .cursor{height:1em;width:.45em;margin-left:3px}.monitor-light{position:absolute;bottom:-9px;right:9px;width:3px;height:3px;border-radius:50%;background:var(--green)}
.mascot-keyboard{right:1%;bottom:8%;width:48%;height:9%;border:1px solid #565566;border-bottom:5px solid #242631;border-radius:5px;transform:perspective(300px) rotateX(28deg) rotateZ(-4deg);background:#31323e;box-shadow:0 10px 18px #0005;padding:5px;z-index:5}
.mascot-event{position:absolute;right:4%;top:15%;padding:8px 12px;border:1px solid #739b8055;border-radius:5px;background:#18231eee;font:600 clamp(9px,1vw,13px) var(--mono);color:#a0d9b2;z-index:5;opacity:0;transform:translateY(6px);transition:opacity .3s,transform .3s;pointer-events:none}
.event-complete .mascot-event{opacity:1;transform:translateY(0)}
.mascot-pause{position:absolute;bottom:-5%;right:0;border:1px solid #41404d;border-radius:4px;background:#191a22;color:#aaa6b8;padding:6px 9px;font:9px var(--mono);cursor:pointer}.mascot-pause:hover{color:var(--green);border-color:var(--green)}.mascot-pause[hidden]{display:none}
.terminal-paused .cursor{animation:none}
@media(max-width:760px){.mascot-terminal{width:58%;height:38%;left:-1%}.mascot-terminal-code{font-size:9px;padding:6px}.mascot-terminal-top{padding:4px 6px}.mascot-terminal-code p{margin-bottom:4px}.mascot-pause{font-size:8px}.mascot-hint{left:0;font-size:7px}}
@media(prefers-reduced-motion:reduce){.mascot-event{transition:none}}

/* Shared visual rhythm; retain the mascot and the established palette. */
.eyebrow { letter-spacing: 1px; }
.button { border-radius: 4px; }
.button:hover { transform: none; box-shadow: none; }
.hero .lede { font-size: clamp(17px,1.2vw,22px); }
.hero .sublede { font-size: 14px; line-height: 1.9; max-width: 550px; }
.hero h1 { font-size: clamp(62px,5vw,112px); font-weight: 700; letter-spacing: -.045em; }
.hero .eyebrow { letter-spacing: 1px; }
.post-row:hover { transform: none; }
.post-content h3 { font-weight: 550; }
.post-content p { font-size: 13px; }
.section-heading h2 { font-size: 30px; font-weight: 600; letter-spacing: -.6px; }
.closing { border-left: 0; border-top: 1px solid var(--line); background: transparent; border-radius: 0; padding: 30px 0; margin: 45px 0 15px; }
.closing h2 { font-size: 24px; letter-spacing: -.5px; }
.closing p:not(.eyebrow) { margin-top: 10px; }
.hero { min-height: 0; padding: 38px 0 60px; gap: 40px; }
.hero .mascot-stage { width: min(100%,480px); }
.hero .eyebrow { margin-bottom: 18px; }
.hero .alias-line { margin-bottom: 20px; }
.hero-latest { display: grid; grid-template-columns: minmax(0,1fr) 20px; gap: 8px 15px; max-width: 550px; border-top: 1px solid var(--line); padding-top: 16px; margin-top: 25px; }
.hero-latest>span:first-child { grid-column: 1/-1; font: 12px var(--mono); letter-spacing: .6px; color: #a6a0b5; }
.hero-latest strong { font-size: 15px; font-weight: 500; line-height: 1.7; }
.hero-latest>span:last-child { color: var(--green); align-self: center; }
.hero-latest:hover strong { color: var(--green); }
.post-meta,.filters button,.post-number { font-size: 12px; }
.post-meta { row-gap: 8px; }
.latest,.post-language { display: inline-flex; align-items: center; font: 12px/1.5 var(--mono); letter-spacing: 0; padding: 2px 6px; border: 1px solid #494451; border-radius: 3px; color: #bbb3ca; white-space: nowrap; }
.latest { color: #afd1bb; border-color: #4c6757; }
.filters button { min-height: 42px; }
.mascot-pause { font-size: 12px; padding: 9px 12px; min-height: 42px; }
@media(min-width:1700px) {
  .hero .mascot-stage { width: min(100%,570px); }
}
@media(max-width:760px) {
  .hero { padding: 26px 0 24px; gap: 28px; }
  .hero h1 { font-size: clamp(48px,11vw,64px); margin-bottom: 16px; }
  .hero .hello { font-size: 17px; margin-bottom: 8px; }
  .hero .eyebrow { font-size: 12px; line-height: 1.7; letter-spacing: .3px; margin-bottom: 14px; }
  .hero .alias-line { gap: 9px; margin-bottom: 16px; }
  .hero .hero-actions { margin-top: 18px; }
  .hero .mascot-stage { width: min(100%,270px); margin: 0 auto 35px; }
  .hero .scroll-cue,.topic-strip { display: none; }
  .hero-latest { margin-top: 20px; padding-top: 13px; }
  .hero-latest strong { font-size: 14px; }
  .research { padding-top: 28px; }
  .latest { display: inline-flex; }
  .hero .sublede { font-size: 13px; }
  .section-heading h2 { font-size: 26px; }
  .section-heading>.text-link { margin-top: 6px; }
}

/* Restrained interior layouts, sharing the homepage palette. */
html { scrollbar-gutter: stable; }
.cve-count { display: flex; flex-direction: column; gap: 6px; font-size: 12px !important; text-align: right; }
.cve-count>span:last-child { color: var(--muted); }
.note-card-top { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.entry-meta { align-items: center; }
.reading-main { width: 100%; max-width: 780px; }
.prose h2,.prose h3 { scroll-margin-top: 85px; }
.prose .rouge-table .rouge-gutter { padding-right: 20px; color: #8f899c; user-select: none; }
.prose .rouge-gutter pre { color: inherit; }
.prose .code-block { border: 1px solid #393946; border-radius: 6px; overflow: hidden; margin: 25px 0; }
.prose .code-block>pre { margin: 0; border: 0; border-radius: 0; padding: 20px; }
.code-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 5px 8px 5px 18px; border-bottom: 1px solid #393946; background: #1c1e27; color: #b0a9c0; font: 12px var(--mono); }
.code-toolbar .code-copy { position: static; min-height: 44px; min-width: 88px; padding: 10px 13px; font-size: 12px; cursor: pointer; }
.prose .image-zoom { display: block; position: relative; max-width: 100%; margin: 28px auto; border: 0; border-radius: 7px; padding: 0; background: transparent; cursor: zoom-in; color: var(--text); }
.prose .image-zoom img { margin: 0; }
.image-zoom-hint { position: absolute; right: 10px; bottom: 10px; padding: 7px 10px; border: 1px solid #777082; border-radius: 4px; background: #14161eee; color: #f0eff4; font: 12px var(--sans); }
.prose .image-zoom+em { display: block; text-align: center; color: var(--muted); font-size: 13px; margin-top: -15px; }
.toc { scroll-margin-top: 85px; }
.toc>summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 44px; cursor: pointer; list-style: none; color: #d1c9df; font-size: 14px; font-weight: 500; }
.toc>summary::-webkit-details-marker { display: none; }
.toc>summary:after { content: '+'; color: var(--green); }
.toc[open]>summary:after { content: '−'; }
.toc-count { margin-left: auto; font: 12px var(--mono); color: #a49ab4; }
.toc nav { max-height: calc(100dvh - 200px); overflow-y: auto; scrollbar-width: thin; }
.toc ol { margin-top: 15px; }
.toc a { padding-block: 4px; }
.reader-nav { position: fixed; inset: 0 0 auto; z-index: 40; display: flex; justify-content: center; align-items: center; gap: 32px; min-height: 60px; padding: 6px 22px; border-bottom: 1px solid #42404c; background: #15171ff5; backdrop-filter: blur(12px); box-shadow: 0 10px 25px #0002; }
.reader-nav[hidden] { display: none; }
.reader-nav a,.reader-nav button { padding: 12px 2px; min-height: 44px; font-size: 13px; color: #ddd7e6; background: none; border: 0; cursor: pointer; }
.reader-nav a:hover,.reader-nav button:hover { color: var(--green); }
.image-viewer-open { overflow: hidden; }
.image-dialog { width: min(1400px,calc(100vw - 32px)); height: calc(100dvh - 40px); max-width: none; max-height: none; margin: auto; padding: 16px; background: #171920; color: var(--text); border: 1px solid #55505f; border-radius: 9px; }
.image-dialog[open] { display: grid; grid-template-rows: auto minmax(0,1fr) auto; gap: 14px; }
.image-dialog::backdrop { background: #080a0eed; }
.image-dialog-toolbar { display: flex; align-items: center; gap: 12px; }
.image-dialog-toolbar h2 { margin: 0 auto 0 0; font-size: 16px; font-weight: 500; letter-spacing: 0; }
.image-dialog-toolbar button { min-height: 44px; border: 1px solid #575060; border-radius: 4px; padding: 10px 13px; background: #232530; color: var(--text); font-size: 13px; cursor: pointer; }
.image-dialog-viewport { display: grid; place-items: center; min-height: 0; overflow: auto; background: #0e1016; }
.image-dialog-viewport img { display: block; max-width: 100%; max-height: 100%; object-fit: contain; }
.image-dialog-viewport.is-zoomed { display: block; }
.image-dialog-viewport.is-zoomed img { max-width: none; max-height: none; width: auto; height: auto; }
.image-dialog-caption { font-size: 13px; line-height: 1.7; color: #beb5ca; margin: 0; max-height: 15dvh; overflow: auto; }
summary:focus-visible,.image-dialog-viewport:focus-visible { outline: 2px solid var(--green); outline-offset: 4px; }
.inner-page { --lavender: #b9b1d3; }
.inner-page [hidden] { display: none !important; }
.interior-hero { padding: 52px 0 46px; }
.interior-hero h1,.page-heading h1 { font-size: clamp(34px,3.5vw,52px); font-weight: 650; line-height: 1.2; letter-spacing: -.035em; margin-bottom: 18px; }
.interior-hero .back-link { font-size: 12px; margin-bottom: 24px; }
.interior-lede { max-width: 760px; color: #b9b4c5; font-size: 16px; line-height: 1.85; margin: 0; }
.interior-description,.section-description { font-size: 14px; line-height: 1.85; color: #aaa5b5; margin: 0; max-width: 800px; }
.section-description a { color: #a7c5b4; text-decoration: underline; text-underline-offset: 4px; text-decoration-color: #a7c5b450; white-space: nowrap; }
.interior-section { padding: 35px 0; border-top: 1px solid var(--line); }
.section-label { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 25px; color: var(--muted); font: 12px/1.7 var(--mono); }
.section-label a:hover { color: var(--green); }
.section-title,.section-label h2,.achievement-section h2 { margin: 0; color: var(--text); font: 600 27px/1.4 var(--sans); letter-spacing: -.6px; }
.interior-next { display: flex; align-items: center; justify-content: space-between; gap: 28px; border-top: 1px solid var(--line); margin-top: 45px; padding: 30px 0; }
.interior-next h2 { font-size: 23px; font-weight: 600; letter-spacing: -.5px; }
.interior-next p { color: #a7a2b2; font-size: 13px; line-height: 1.8; margin: 8px 0 0; }
.interior-next>a { flex-shrink: 0; font-size: 12px; }
.page-heading { padding: 50px 0 35px; max-width: none; }
.page-heading>p:last-child:not(.eyebrow) { font-size: 15px; }
.page-signoff { justify-content: flex-end; margin-top: 20px; min-height: 125px; }
.layout-about .page-signoff { min-height: 0; margin-top: 25px; }

/* About */
.about-intro { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(330px,.8fr); gap: clamp(40px,5vw,90px); align-items: center; padding-bottom: 58px; }
.about-name { font-size: 21px; margin: 0 0 24px; display: flex; flex-wrap: wrap; gap: 8px 14px; }
.about-name span { color: var(--green); font: 12px/1.9 var(--mono); align-self: center; }
.about-copy .interior-description { margin-top: 19px; max-width: 660px; }
.about-traits { padding-left: 1.25em; list-style: disc; }
.about-traits li + li { margin-top: 6px; }
.about-traits li::marker { color: var(--green); }
.about-copy .hero-actions { margin-top: 25px; }
.identity-dossier { position: relative; border: 1px solid #383844; border-radius: 6px; background: #191a22; margin: 10px 16px 0 0; }
.window-label { display: flex; gap: 14px; align-items: center; padding: 14px 20px; border-bottom: 1px solid var(--line); color: #9d98aa; font: 12px var(--mono); }
.window-dots { color: #6e6a79; font-size: 12px; letter-spacing: 3px; }
.identity-details { padding: 25px; }
.console-command { font: 12px var(--mono); color: #aca7b8; margin: 0 0 12px; }
.console-command span { color: var(--green); margin-right: 7px; }
.identity-answer { font: 500 23px var(--mono); margin: 0 0 28px; color: #dfdae9; }
.identity-details dl { display: grid; gap: 14px; margin: 0; font: 12px/1.8 var(--mono); }
.identity-details dl>div { display: grid; grid-template-columns: 65px minmax(0,1fr); gap: 14px; }
.identity-details dt { color: #92909f; }
.identity-details dd { margin: 0; color: #cac5d5; overflow-wrap: anywhere; }
.identity-details a:hover { color: var(--green); }
.about-cat { position: absolute; top: -65px; right: -18px; width: 95px; height: 143px; }
.about-cat #calico-cat { position: absolute; width: 95px; right: 0; bottom: 12px; filter: drop-shadow(0 12px 10px #0004); z-index: 1; }
.about-cat>span { position: absolute; right: 13px; bottom: 0; z-index: 2; font: 12px var(--mono); color: #bfb9cc; padding: 4px 8px; background: #191a22; border: 1px solid #44404e; border-radius: 3px; }
.focus-list>a { display: grid; grid-template-columns: minmax(0,1fr) 24px; align-items: center; gap: 20px; padding: 26px 0; border-top: 1px solid var(--line); }
.focus-list>a:first-child { border-top: 0; padding-top: 8px; }
.focus-list h3 { margin: 0 0 9px; font-size: 20px; font-weight: 500; letter-spacing: -.3px; }
.focus-list p { margin: 0; color: #aaa5b5; font-size: 14px; line-height: 1.85; }
.focus-arrow { color: #a8a1b7; font-size: 21px; }
.focus-list>a:hover h3,.focus-list>a:hover .focus-arrow { color: var(--green); }

/* Achievement records */
.achievements-hero { display: grid; grid-template-columns: minmax(0,1fr) 245px; align-items: end; gap: 45px; }
.achievement-totals { margin: 0; border-left: 1px solid var(--line); padding-left: 25px; }
.achievement-totals>div { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 9px 0; }
.achievement-totals dt { font-size: 12px; color: #a9a4b3; }
.achievement-totals dd { margin: 0; font: 500 17px var(--mono); color: #d2cbdc; }
.achievements-layout { display: grid; grid-template-columns: 170px minmax(0,1fr); gap: clamp(35px,5vw,90px); padding-top: 36px; border-top: 1px solid var(--line); }
.section-rail { position: sticky; top: 35px; align-self: start; }
.section-rail>.eyebrow { display: block; font-size: 12px; letter-spacing: 1px; margin: 0 0 20px; }
.section-rail>a { display: block; padding: 12px 0; border-bottom: 1px solid #ffffff0b; font-size: 12px; color: #b2acbe; }
.section-rail>a:hover { color: var(--green); }
.achievement-sections { min-width: 0; }
.achievement-section { scroll-margin-top: 35px; margin-bottom: 52px; }
.achievement-section:last-child { margin-bottom: 0; }
.achievement-section h2 { margin-bottom: 14px; }
.cve-list { margin-top: 26px; border: 1px solid #383641; border-radius: 5px; overflow: hidden; }
.cve-record { padding: 26px 28px; background: #191a21; border-top: 1px solid #383641; }
.cve-record:first-child { border-top: 0; }
.cve-top { display: flex; justify-content: space-between; align-items: center; gap: 15px; flex-wrap: wrap; margin-bottom: 15px; }
.cve-top h3 { margin: 0; line-height: 1.5; }
.cve-id { font: 500 16px var(--mono); color: #d7d0e3; }
.cve-id>span { font-size: 13px; margin-left: 5px; color: #938c9f; }
.cve-id:hover { color: var(--green); }
.record-status { font: 12px/1.5 var(--mono); color: #a8cbb6; background: #84bc9b0a; border: 1px solid #84bc9b30; padding: 4px 8px; border-radius: 3px; }
.is-pending .record-status { color: #b1a6bf; border-color: #b1a6bf35; background: transparent; }
.cve-product { color: #dad5e2; font-size: 17px; margin: 0 0 9px; font-weight: 500; }
.is-pending .cve-product { color: #aaa3b5; }
.record-description { color: #aba5b7; font-size: 13px; line-height: 1.85; margin: 0; max-width: 800px; }
.cve-details { display: flex; flex-wrap: wrap; gap: 16px 35px; margin: 22px 0 0; padding-top: 17px; border-top: 1px solid #ffffff0b; }
.cve-details>div { min-width: 0; }
.cve-details dt,.recognition-details dt { font-size: 12px; color: #8d879a; margin-bottom: 7px; }
.cve-details dd { margin: 0; font: 12px/1.8 var(--mono); color: #b9b2c7; overflow-wrap: anywhere; }
.cve-details>div:last-child { margin-left: auto; }
.recognition-card { margin-top: 25px; padding: 27px 28px; border: 1px solid #383641; border-radius: 5px; background: #191a21; }
.recognition-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 15px; }
.recognition-heading h3 { margin: 0; font-size: 23px; font-weight: 600; letter-spacing: -.5px; }
.recognition-heading>span { font: 12px var(--mono); color: #a39aae; }
.recognition-details { display: flex; gap: 30px; flex-wrap: wrap; margin: 22px 0; }
.recognition-details dd { margin: 0; font-size: 13px; line-height: 1.7; color: #c0b9cd; }
.record-link { color: #a4c5b2; font-size: 12px; text-decoration: underline; text-underline-offset: 4px; text-decoration-color: #a4c5b245; }
.record-link:hover { color: #c2dfce; }
.certificate-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; margin-top: 25px; }
.certificate { border: 1px solid #383641; border-radius: 5px; background: #191a21; padding: 24px; }
.certificate-issuer { font: 12px var(--mono); color: #9a91a9; }
.certificate h3 { font: 500 25px var(--mono); margin: 17px 0 12px; letter-spacing: -.6px; }
.certificate p { color: #ada6b9; font-size: 13px; line-height: 1.8; margin: 0; max-width: 360px; }

/* Article index */
.archive-hero { display: grid; grid-template-columns: minmax(0,1fr) 235px; align-items: end; gap: 45px; }
.archive-summary { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 12px 15px; border-left: 1px solid var(--line); padding-left: 25px; }
.archive-total { color: #c9c2d6; font: 500 26px var(--mono); }
.archive-summary>span:not(.archive-total) { font: 12px/1.8 var(--mono); color: #9c95aa; letter-spacing: .4px; }
.archive-summary>a { grid-column: 1/-1; font: 12px/1.8 var(--mono); color: #aaa2b9; }
.archive-summary>a:hover { color: var(--green); }
.archive-browser { padding-top: 42px; }
.archive-controls { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 17px 0; border-block: 1px solid var(--line); }
.archive-controls .filters { margin: 0; }
.archive-controls .filters button { font-size: 12px; }
.archive-search { display: flex; align-items: center; gap: 9px; border: 1px solid #46404f; border-radius: 4px; padding: 9px 12px; max-width: 250px; }
.archive-search:focus-within { border-color: var(--green); }
.archive-search>span:not(.sr-only) { font-size: 18px; color: #aaa1bb; }
.archive-search input { min-width: 0; width: 100%; border: 0; outline: 0; background: transparent; color: var(--text); font: 12px/1.8 var(--mono); }
.archive-empty { padding: 30px 0; color: #b7adbf; font-size: 14px; line-height: 1.8; }
.archive-year { grid-template-columns: 90px minmax(0,1fr); gap: 35px; padding-top: 24px; }
.year-label { padding-top: 25px; }
.year-label h3 { margin: 0; font: 400 21px var(--mono); color: #aaa1b8; }
.year-label>span { font-size: 12px; }
.note-grid { display: grid; grid-template-columns: 1fr; }
.note-card.entry { display: grid; grid-template-columns: minmax(0,1fr) 155px; column-gap: 35px; padding: 25px 0; border-bottom: 1px solid #ffffff10; background: transparent; }
.note-card.entry:hover { background: #ffffff02; }
.note-card-top { grid-column: 1; font: 12px/1.8 var(--mono); color: #ada4bd; margin-bottom: 9px; }
.note-card.entry h2 { grid-column: 1; font-size: clamp(19px,1.65vw,24px); line-height: 1.5; font-weight: 550; letter-spacing: -.35px; margin: 0 0 10px; }
.note-card.entry p { grid-column: 1; max-width: 930px; font-size: 13px; line-height: 1.85; color: #a8a2b4; margin: 0; }
.note-card-bottom { grid-column: 2; grid-row: 1/4; display: flex; flex-direction: column; align-items: flex-end; gap: 10px; padding-top: 5px; color: #9d94ad; font: 12px/1.8 var(--mono); }
.note-arrow { margin-top: 10px; color: #a4b8ad; font-size: 19px; }

/* Reading pages */
.article-header { display: grid; grid-template-columns: minmax(0,1fr) 190px; align-items: end; gap: 45px; max-width: none; padding: 5px 0 35px; }
.article-title-group { min-width: 0; }
.article-header h1 { font-size: clamp(31px,3.2vw,48px); font-weight: 650; line-height: 1.3; letter-spacing: -.03em; }
.article-description { font-size: 15px; }
.author-chip { display: inline-flex; align-items: center; gap: 12px; }
.author-monogram { display: grid; place-items: center; width: 35px; height: 35px; border: 1px solid #4c4757; border-radius: 50%; color: #bdb3ce; font: 600 italic 17px var(--sans); }
.author-chip small { display: block; color: #9c92a9; font: 12px var(--mono); margin-top: 3px; }
.article-file { border-left: 1px solid var(--line); padding-left: 22px; }
.article-file dl { margin: 0; }
.article-file dl>div { margin-bottom: 20px; }
.article-file dt { color: #958b9f; font: 12px var(--mono); letter-spacing: .6px; margin-bottom: 7px; }
.article-file dd { margin: 0; font: 12px var(--mono); color: #c0b7ce; }
.article-file>a { font: 12px var(--mono); color: var(--green); }
.reading-grid { grid-template-columns: minmax(0,780px) minmax(200px,265px); gap: clamp(30px,5vw,100px); justify-content: center; }
.reading-main { min-width: 0; }
.prose { font-size: 17px; line-height: 1.95; }
.toc { border-left: 1px solid var(--line); padding-left: 22px; }
.toc .eyebrow { color: #b8afc5; font-size: 12px; }
.toc li { margin-bottom: 12px; }
.toc a { color: #aaa0b8; font-size: 12px; }
.toc .toc-nested a { font-size: 12px; }
.toc-top,.toc-archive { margin-top: 15px; }
.article-end { margin-top: 28px; }

/* Directories and search */
.category-grid { gap: 24px; }
.category-panel { padding: 28px; border-radius: 5px; background: #191a22; border-color: #383641; }
.category-number { margin-bottom: 20px; }
.category-number span { font-size: 12px; }
.category-panel h2 { font-size: 26px; font-weight: 550; letter-spacing: -.5px; }
.category-panel li a { font-size: 14px; }
.category-panel time { font-size: 12px; }
.tag-directory>a { background: #191a22; border-color: #383641; border-radius: 4px; font-size: 12px; }
.tag-directory>a:hover { background: #20232a; border-color: #657769; }
.tag-count { font-size: 12px; }
.search-form { max-width: 1050px; }
.search-field { background: #191a22; border-color: #45404f; border-radius: 5px; }
.search-form label { font-size: 12px; }
.search-status { font-size: 12px; }

@media(min-width:1800px) {
  .inner-page .shell { max-width: 1900px; }
  .reading-grid { grid-template-columns: minmax(0,780px) 285px; justify-content: center; }
}
@media(max-width:1100px) {
  .about-intro { grid-template-columns: minmax(0,1fr) 330px; gap: 35px; }
  .archive-controls { flex-direction: column; align-items: stretch; }
  .archive-search { max-width: none; }
  .note-card.entry { grid-template-columns: minmax(0,1fr) 120px; column-gap: 25px; }
}
@media(max-width:1050px) {
  .toc nav { max-height: none; overflow: visible; }
  .toc:not([open]) { padding-block: 5px; }
  .reading-main { justify-self: center; }
  .reading-grid { grid-template-columns: minmax(0,1fr); }
  .reading-aside { grid-row: 1; }
  .toc { border: 1px solid var(--line); border-radius: 5px; padding: 20px; max-height: none; }
  .toc-top,.toc-archive { display: none !important; }
}
@media(max-width:800px) {
  .interior-hero,.page-heading { padding: 35px 0; }
  .interior-hero h1,.page-heading h1 { font-size: 36px; }
  .about-intro { grid-template-columns: 1fr; gap: 55px; padding-bottom: 40px; }
  .identity-dossier { width: calc(100% - 16px); max-width: 550px; margin-right: 16px; justify-self: start; }
  .achievements-hero,.archive-hero { grid-template-columns: 1fr; gap: 26px; }
  .achievement-totals { border-left: 0; padding: 15px 0 0; border-top: 1px solid var(--line); display: flex; justify-content: space-between; gap: 20px; }
  .achievement-totals>div { gap: 12px; }
  .achievements-layout { grid-template-columns: 1fr; gap: 26px; padding-top: 15px; }
  .section-rail { position: static; display: flex; flex-wrap: wrap; gap: 24px; }
  .section-rail>.eyebrow { display: none; }
  .section-rail>a { border-bottom: 0; }
  .archive-summary { display: flex; flex-wrap: wrap; gap: 15px; border-left: 0; padding: 17px 0 0; border-top: 1px solid var(--line); }
  .archive-summary>a { margin-left: auto; }
  .archive-year { display: block; }
  .archive-year .year-label { display: flex; align-items: center; gap: 14px; padding: 18px 0 5px; }
  .year-label>span { margin: 0; }
  .article-header { grid-template-columns: 1fr; gap: 25px; }
  .article-file { padding: 20px 0 0; border-left: 0; border-top: 1px solid var(--line); }
  .article-file dl { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 15px; }
  .article-file dl>div { margin: 0; }
  .article-file>a { display: none; }
}
@media(max-width:560px) {
  .reader-nav { justify-content: space-between; gap: 12px; padding-inline: 16px; }
  .reader-nav a,.reader-nav button { font-size: 12px; }
  .image-dialog { width: calc(100vw - 16px); height: calc(100dvh - 16px); padding: 10px; gap: 10px; }
  .image-dialog-toolbar { gap: 7px; }
  .image-dialog-toolbar button { font-size: 12px; padding-inline: 9px; }
  .cve-count { text-align: left; }
  .note-card-bottom { flex-wrap: wrap; }
  .interior-lede { font-size: 15px; }
  .interior-description,.section-description { font-size: 13px; }
  .section-title,.section-label h2,.achievement-section h2 { font-size: 25px; }
  .section-label { gap: 14px; }
  .section-label>a { font-size: 12px; }
  .about-name { font-size: 19px; }
  .identity-details { padding: 23px 20px; }
  .identity-details dl { font-size: 12px; }
  .focus-list p { font-size: 13px; }
  .achievement-totals { gap: 16px; }
  .achievement-totals>div { flex-direction: column; align-items: flex-start; gap: 10px; }
  .achievement-totals dt { font-size: 12px; }
  .cve-record,.recognition-card { padding: 22px 18px; }
  .cve-id { font-size: 14px; }
  .cve-top { gap: 10px; }
  .record-status { font-size: 12px; }
  .cve-details { gap: 16px 24px; }
  .cve-details>div:last-child { margin-left: 0; }
  .certificate-grid { grid-template-columns: 1fr; }
  .recognition-heading { align-items: baseline; }
  .recognition-details { gap: 20px; }
  .archive-controls .filters { gap: 7px; }
  .archive-controls .filters button { font-size: 12px; padding: 9px 11px; }
  .archive-controls .filters button span { margin-left: 7px; }
  .note-card.entry { display: block; padding: 24px 0; }
  .note-card.entry h2 { font-size: 21px; }
  .note-card-bottom { flex-direction: row; gap: 18px; align-items: center; margin-top: 16px; padding: 0; font-size: 12px; }
  .note-arrow { margin: 0 0 0 auto; }
  .article-header h1 { font-size: 31px; }
  .article-file dd { font-size: 12px; }
  .prose { font-size: 16px; }
  .interior-next { flex-direction: column; align-items: flex-start; gap: 20px; }
  .category-panel { padding: 24px 20px; }
  .tag-directory>a { font-size: 12px; }
  .tag-count { font-size: 12px; }
}
@media print {
  .reader-nav,.image-dialog,.image-zoom-hint,.code-toolbar { display: none !important; }
  .article-file,.section-rail,.archive-controls,.interior-next { display: none; }
  .article-header,.achievements-layout { display: block; }
}

