@font-face{font-family:Newsreader;src:url('../fonts/newsreader-latin-400-normal.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Newsreader;src:url('../fonts/newsreader-latin-400-italic.woff2') format('woff2');font-style:italic;font-display:swap}
@font-face{font-family:Newsreader;src:url('../fonts/newsreader-latin-600-normal.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:Plex;src:url('../fonts/plexmono-latin-400-normal.woff2') format('woff2');font-display:swap}
:root{--paper:#f3f0e7;--card:#f8f6ef;--ink:#233e32;--muted:#646c60;--rule:#cbd0be;--lime:#d7e69c;--accent:#667d46;--dot:#7b8f46;--serif:Newsreader,Georgia,serif;--mono:Plex,monospace}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}
::selection{background:var(--lime);color:var(--ink)}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid #779240;outline-offset:4px}
button,input{font:inherit;color:inherit}
.wrap{width:calc(100% - 112px);max-width:1240px;margin:auto}
.masthead{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:31px 0;border-bottom:1px solid var(--rule)}
.brand{font:600 29px var(--serif);letter-spacing:-.7px}
.brand span{display:block;font:8px var(--mono);letter-spacing:.12em;margin-top:8px}
.masthead nav{display:flex;gap:35px;font-size:12px}
.masthead nav a[aria-current]{border-bottom:1px solid var(--ink);padding-bottom:4px}
.eyebrow{font:10px/1.6 var(--mono);letter-spacing:.07em;margin:0;text-transform:uppercase}
.eyebrow i{display:inline-block;background:var(--dot);width:6px;height:6px;border-radius:50%;margin-right:8px}
h1,h2,h3,p{margin-top:0}
.hero{display:grid;grid-template-columns:1fr 300px;gap:70px;padding:66px 0 48px;border-bottom:1px solid var(--rule)}
h1{font:400 clamp(52px,6vw,88px)/1.02 var(--serif);letter-spacing:-.045em;margin:28px 0 24px}
h1 em{color:var(--accent)}
.lede{font-size:14px;line-height:1.8;max-width:560px;margin:0}
.facts{align-self:end;border:1px solid var(--rule);background:#e9ecdf;padding:20px 22px}
.facts div{display:flex;justify-content:space-between;align-items:baseline;padding:10px 0;border-bottom:1px dashed var(--rule)}
.facts div:last-child{border:0}
.facts b{font:400 30px var(--serif);letter-spacing:-.02em}
.facts span{font:10px var(--mono);letter-spacing:.07em;color:var(--muted);text-transform:uppercase}
.facts .ai{display:block;font:11px/1.7 var(--mono);color:var(--muted);padding-top:12px}
.facts .ai a{color:var(--ink);border-bottom:1px solid var(--rule)}
.tools{position:sticky;top:0;z-index:2;background:var(--paper);padding:22px 0 16px;border-bottom:1px solid var(--rule)}
.search{display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--ink);padding-bottom:10px}
.search label{font:10px var(--mono);letter-spacing:.07em;white-space:nowrap}
.search input{flex:1;min-width:0;border:0;background:transparent;font:400 24px var(--serif);padding:4px 0;outline:none}
.search input::placeholder{color:#9aa292}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.chip{border:1px solid var(--rule);background:transparent;border-radius:99px;padding:5px 11px;font:11px var(--mono);cursor:pointer}
.chip:hover{border-color:var(--ink)}
.chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.status{display:flex;justify-content:space-between;gap:12px;font:11px var(--mono);color:var(--muted);margin-top:14px}
.status button{border:0;background:none;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px;color:var(--muted)}
.list{list-style:none;margin:0;padding:0}
.item{display:grid;grid-template-columns:120px 1fr;gap:28px;padding:26px 0;border-bottom:1px solid var(--rule)}
.meta{font:11px/1.7 var(--mono);color:var(--muted)}
.meta a{display:block;color:var(--ink)}
.item h3{font:400 25px/1.2 var(--serif);letter-spacing:-.02em;margin:0 0 10px}
.item p{font-size:14px;line-height:1.75;margin:0 0 12px;max-width:760px;color:#34483e}
.tags{display:flex;flex-wrap:wrap;gap:6px}
.tag{font:10px var(--mono);color:var(--muted);background:#e9ecdf;padding:3px 8px;border-radius:3px}
.more{display:block;margin:34px auto 0;border:1px solid var(--ink);background:transparent;padding:13px 26px;font:12px var(--mono);cursor:pointer}
.more:hover{background:var(--ink);color:var(--paper)}
.empty{padding:60px 0;font:400 24px var(--serif);color:var(--muted)}
footer{display:flex;justify-content:space-between;gap:20px;align-items:center;border-top:1px solid var(--rule);margin-top:80px;padding:34px 0 46px;font-size:12px}
footer .brand{font-size:22px}
footer p{margin:0;color:var(--muted)}
/* paper page */
.paper{display:grid;grid-template-columns:1fr 260px;gap:70px;padding:56px 0 0}
.paper h1{font-size:clamp(38px,4.4vw,62px);line-height:1.06;margin:22px 0 30px}
.paper section{border-top:1px solid var(--rule);padding:26px 0 8px;display:grid;grid-template-columns:120px 1fr;gap:28px}
.paper section h2{font:10px/1.9 var(--mono);letter-spacing:.07em;text-transform:uppercase;margin:0}
.paper section p{font:400 19px/1.65 var(--serif);margin:0 0 18px;max-width:720px}
.side{align-self:start;position:sticky;top:24px;border:1px solid var(--rule);background:#e9ecdf;padding:20px 22px}
.side a.btn{display:flex;justify-content:space-between;border-bottom:1px solid var(--ink);padding:12px 0;font-size:13px}
.side .k{font:10px var(--mono);letter-spacing:.07em;color:var(--muted);text-transform:uppercase;margin:20px 0 8px}
.side .tags{gap:5px}
.note{font:11px/1.7 var(--mono);color:var(--muted);margin-top:24px}
@media (max-width:860px){
 .wrap{width:calc(100% - 32px)}
 .masthead{padding:22px 0}.masthead nav{gap:18px}.brand{font-size:24px}
 .hero,.paper{grid-template-columns:1fr;gap:34px;padding-top:40px}
 .item,.paper section{grid-template-columns:1fr;gap:8px}
 .meta a{display:inline;margin-right:14px}
 .side{position:static}
 .search input{font-size:20px}
}
@media (max-width:520px){.masthead nav a:not([aria-current]):not(.home){display:none}.brand span{display:none}}
