/* site.css - design/portal/design-tokens.md is the golden reference; system font stack, no
   webfonts, budget <=26KB (FR-035 as amended 2026-07-30, FR-046). Grows with each template -
   never forked. */

:root{
  /* surfaces & text */
  --paper:#F7F3EB; --card:#FFFDF9;
  --ink:#1E1B16; --ink-soft:#4F493F; --muted:#8A8377;
  --line:rgba(30,27,22,0.14);
  /* brand accents */
  --violet:oklch(0.56 0.18 292); --violet-d:oklch(0.46 0.18 292);
  --coral:oklch(0.67 0.18 30); --amber:oklch(0.84 0.14 82);
  --green:oklch(0.70 0.14 158); --sky:oklch(0.74 0.12 232);
  /* tints (badge/chip backgrounds) */
  --violet-t:oklch(0.95 0.035 292); --coral-t:oklch(0.95 0.045 34);
  --amber-t:oklch(0.96 0.05 84); --green-t:oklch(0.95 0.04 158);
  --sky-t:oklch(0.96 0.035 232);
  /* text-on-tint inks - AA-safe; NEVER put raw --amber/--green/--coral on text */
  --green-ink:oklch(0.42 0.11 158); --coral-ink:oklch(0.50 0.15 30);
  --amber-ink:oklch(0.50 0.10 82); --violet-ink:var(--violet-d);
  --link:var(--violet-d);
  --on-accent:#fff;
  --code-bg:#26221B; --code-ink:#EFE9DD;
  --shadow-soft:0 16px 40px rgba(30,27,22,0.08);
  --shadow-card:0 12px 30px rgba(30,27,22,0.06);
  --r-lg:30px; --r-md:20px; --r-sm:12px; --r-pill:999px;
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --mono:ui-monospace,"Cascadia Code",Consolas,monospace;
  --maxw:60rem; --read:44rem;
}
@media (prefers-color-scheme:dark){:root{
  --paper:#1E1A14; --card:#262119;
  --ink:#EFEAE0; --ink-soft:#C7BFB1; --muted:#948C7D;
  --line:rgba(239,234,224,0.15);
  --violet:oklch(0.68 0.16 292);
  --violet-t:oklch(0.31 0.06 292); --coral-t:oklch(0.30 0.055 30);
  --amber-t:oklch(0.30 0.055 82); --green-t:oklch(0.29 0.05 158);
  --sky-t:oklch(0.30 0.05 232);
  --green-ink:oklch(0.82 0.12 158); --coral-ink:oklch(0.80 0.12 30);
  --amber-ink:oklch(0.87 0.12 82); --violet-ink:oklch(0.78 0.13 292);
  --link:oklch(0.76 0.14 292);
  --on-accent:#1E1A14;
  --code-bg:#171410; --code-ink:#E6E0D4;
  --shadow-soft:none; --shadow-card:none;
}}

/* --- base / a11y ---------------------------------------------------------- */
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:400 0.9375rem/1.6 var(--sans);text-rendering:optimizeLegibility}
a{color:var(--link);text-decoration:none}
a:hover{text-decoration:underline}
:focus-visible{outline:2px solid var(--violet);outline-offset:2px;border-radius:4px}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:var(--paper);padding:8px 16px;border-radius:var(--r-pill);z-index:9}
.skip:focus{left:8px}

/* --- shell: header, wrap, footer, breadcrumbs ------------------------------ */
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}
.site-head{border-bottom:1px solid var(--line)}
.site-head .wrap{display:flex;align-items:center;gap:24px;padding-top:14px;padding-bottom:14px}
.mark{font-weight:800;letter-spacing:-0.02em;font-size:1.0625rem;color:var(--ink);display:inline-flex;align-items:center;gap:7px}
.mark i{width:11px;height:11px;border-radius:4px;background:var(--violet);display:inline-block}
.site-head nav{margin-left:auto;display:flex;gap:20px;font-size:0.875rem}
.site-head nav a{color:var(--ink-soft)}
main{padding:24px 0 48px}
.crumbs{font-size:0.8125rem;color:var(--muted)}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.crumbs li+li::before{content:"›";margin-right:6px;color:var(--muted)}
.crumbs a{color:var(--ink-soft)}
.site-foot{border-top:1px solid var(--line);margin-top:56px}
.site-foot .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;padding-top:20px;padding-bottom:28px;font-size:0.8125rem}
.site-foot a{color:var(--muted)}

/* --- type scale ------------------------------------------------------------ */
h1{font-size:clamp(1.75rem,4.5vw,2.25rem);line-height:1.15;letter-spacing:-0.02em;margin:14px 0 6px}
.lede{font-size:1.0625rem;color:var(--ink-soft);margin:0;max-width:46rem;text-wrap:pretty}
.direct-answer{font-size:0.9375rem;color:var(--ink-soft);margin:8px 0 0;max-width:46rem;text-wrap:pretty}
h2{font-size:1.375rem;letter-spacing:-0.01em;line-height:1.25;margin:0 0 4px}
h3{font-size:1rem;margin:0 0 4px}
section{margin:38px 0 0}
.kicker{font:500 0.8125rem/1.4 var(--mono);color:var(--muted);margin:2px 0 16px}

/* --- badges, trust strip, chips/pills -------------------------------------- */
.badge{display:inline-flex;align-items:center;gap:6px;font-size:0.8125rem;font-weight:650;padding:4px 12px;border-radius:var(--r-pill);white-space:nowrap}
.badge-pass{background:var(--green-t);color:var(--green-ink)}
.badge-flag{background:var(--coral-t);color:var(--coral-ink)}
.badge-neutral{background:var(--amber-t);color:var(--amber-ink)}
.badge.mini{font-size:0.6875rem;padding:3px 9px}
.trust{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;margin:20px 0 0;padding:14px 18px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-card)}
.trust .stat{display:inline-flex;align-items:center;gap:6px;font-size:0.875rem;color:var(--ink-soft);white-space:nowrap}
.trust .stat b{color:var(--ink);font-weight:600}
.chip{display:inline-flex;align-items:center;font:500 0.75rem/1 var(--mono);padding:5px 10px;border-radius:var(--r-pill);background:var(--violet-t);color:var(--violet-ink)}
.pill{font-size:0.8125rem;color:var(--ink-soft);border:1px solid var(--line);border-radius:var(--r-pill);padding:6px 14px;background:var(--card)}
.pill:hover{border-color:var(--violet);text-decoration:none;color:var(--violet-ink)}

/* --- install tabs (CSS-only, radio + :checked, ZERO JS) -------------------- */
.tabs{margin-top:16px}
.tabs>input{position:absolute;width:1px;height:1px;opacity:0}
.tabbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:-1px;position:relative;z-index:1}
.tabbar label{font-size:0.875rem;font-weight:600;color:var(--ink-soft);padding:8px 16px;border:1px solid transparent;border-radius:var(--r-sm) var(--r-sm) 0 0;cursor:pointer}
.tabbar .soon{font-size:0.8125rem;color:var(--muted);padding:8px 12px}
.tabbar .soon em{font-style:normal;font-size:0.6875rem;font-weight:650;text-transform:uppercase;letter-spacing:0.05em;background:var(--amber-t);color:var(--amber-ink);border-radius:var(--r-pill);padding:2px 8px;margin-left:6px}
#i-man:checked~.tabbar label[for="i-man"],#i-git:checked~.tabbar label[for="i-git"]{background:var(--code-bg);color:var(--code-ink);border-color:var(--code-bg)}
#i-man:focus-visible~.tabbar label[for="i-man"],#i-git:focus-visible~.tabbar label[for="i-git"]{outline:2px solid var(--violet);outline-offset:2px}
.panel{display:none}
#i-man:checked~.p-man,#i-git:checked~.p-git{display:block}

/* --- pre / code ------------------------------------------------------------ */
pre{margin:0;background:var(--code-bg);color:var(--code-ink);font:0.8125rem/1.7 var(--mono);padding:18px 20px;border-radius:var(--r-sm);overflow-x:auto}
.tabs pre{border-radius:0 var(--r-sm) var(--r-sm) var(--r-sm)}
pre .c{color:oklch(0.65 0.03 82)}
code{font:0.85em var(--mono);background:var(--violet-t);color:var(--violet-ink);padding:1px 6px;border-radius:6px}
pre code{background:none;color:inherit;padding:0;font-size:inherit}

/* --- two-column blocks, tables, scan rows ----------------------------------- */
.cols{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:16px 0}
.col-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:16px 20px}
.col-card h3{display:flex;align-items:center;gap:8px}
.dot{width:8px;height:8px;border-radius:50%;display:inline-block}
.dot-g{background:var(--green)}.dot-c{background:var(--coral)}
.list{margin:8px 0 0;padding-left:18px;color:var(--ink-soft)}
.list li{margin:4px 0}
.table{width:100%;border-collapse:collapse;font-size:0.875rem;margin-top:10px}
.table th{text-align:left;font:600 0.6875rem/1.4 var(--mono);text-transform:uppercase;letter-spacing:0.06em;color:var(--muted);padding:8px 12px;border-bottom:1px solid var(--line)}
.table td{padding:9px 12px;border-bottom:1px solid var(--line);color:var(--ink-soft)}
.table td:first-child{font-weight:600;color:var(--ink)}
.table td:last-child,.table th:last-child{text-align:right}
.table td:last-child{font-family:var(--mono)}
.scan{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:13px 18px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);margin-top:12px}
.scan b{font-weight:650}
.scan .verdict{color:var(--green-ink);font-weight:650;font-size:0.875rem}
.scan .date{color:var(--muted);font-size:0.8125rem;margin-left:auto}
.scan.flagged{border-color:var(--coral);background:var(--coral-t)}
.scan.flagged .verdict{color:var(--coral-ink)}
.report-link{display:inline-block;margin-top:12px;font-weight:600;font-size:0.875rem}

/* --- FAQ, quoted SKILL.md, file tree ---------------------------------------- */
.faq div{margin-top:18px}
.faq p{margin:0;color:var(--ink-soft);max-width:46rem}
.quoted{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--violet);border-radius:var(--r-md);padding:8px 26px 20px;margin-top:14px;color:var(--ink-soft)}
.quoted h3{font-size:1.125rem;color:var(--ink);margin:18px 0 6px}
.quoted h4{font-size:0.9375rem;color:var(--ink);margin:16px 0 4px}
.quoted p,.quoted li{font-size:0.9063rem}
.quoted ol,.quoted ul{padding-left:20px}
.quoted blockquote{margin:10px 0;padding:2px 16px;border-left:3px solid var(--amber);color:var(--muted)}
.src-note{font:0.75rem var(--mono);color:var(--muted);margin:14px 0 0}
details.tree{margin-top:14px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--card)}
details.tree summary{cursor:pointer;font-weight:600;font-size:0.875rem;padding:11px 16px}
details.tree pre{border-radius:0 0 var(--r-sm) var(--r-sm)}

/* --- related cards, link rows, cross-ad units ------------------------------- */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:16px}
.card{display:block;background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:14px 18px;color:inherit;box-shadow:var(--shadow-card)}
.card:hover{text-decoration:none;border-color:var(--violet)}
.card b{display:block;font-size:0.9375rem;color:var(--ink)}
.card p{margin:4px 0 10px;font-size:0.8125rem;color:var(--muted);line-height:1.5}
/* .card-list (vertical single-column list of .card items - home leaderboard/
   recent, best ranked-list, research-index) is defined further down, in the
   research-index/reports block. The blog "More skills worth a look" tile grid
   (FR-075) uses the 3-col .cards grid above, not .card-list. */
.link-list-nav{margin-top:24px}
.link-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px 20px}
.mini{font-size:0.6875rem;padding:3px 9px}
.linkrow{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:18px;font-size:0.875rem;font-weight:600}
.pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.note-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}
.note-card{display:block;border:1px solid var(--line);border-radius:var(--r-sm);padding:12px 16px;color:inherit}
.note-card:hover{text-decoration:none;border-color:var(--violet)}
.note-card b{display:block;font-size:0.875rem;line-height:1.4;color:var(--ink)}
.note-card span{display:block;margin-top:6px;font-size:0.75rem;color:var(--muted)}
.eyebrow{display:block;font:650 0.6875rem/1 var(--mono);text-transform:uppercase;letter-spacing:0.07em;margin-bottom:8px}
.featured-note-card{display:block;background:var(--violet-t);border-radius:var(--r-md);padding:18px 22px;margin-top:14px;color:inherit}
.featured-note-card:hover{text-decoration:none}
.featured-note-card .eyebrow{color:var(--violet-ink)}
.featured-note-card b{display:block;font-size:1rem;color:var(--ink)}
.featured-note-card p{margin:4px 0 0;font-size:0.875rem;color:var(--ink-soft)}

/* --- responsive ------------------------------------------------------------- */
@media (max-width:680px){.cols{grid-template-columns:1fr}.cards{grid-template-columns:1fr}.note-cards{grid-template-columns:1fr}.scan .date{margin-left:0;width:100%}}
@media (min-width:681px) and (max-width:880px){.cards{grid-template-columns:1fr 1fr}}

/* --- research-note page (design/portal/research-note-mockup.html) --------- */
.research-note{max-width:var(--read)}
.cite-line{margin:12px 0 0;font-size:0.9063rem;color:var(--muted)}
.label-chip{display:inline-flex;align-items:center;font:500 0.75rem/1 var(--mono);padding:6px 12px;border-radius:var(--r-pill);background:var(--amber-t);color:var(--amber-ink);margin-top:16px}
.research-note article>p{margin:16px 0 0;color:var(--ink-soft);text-wrap:pretty}
.wl{color:inherit;text-decoration:underline dotted var(--violet) 1px;text-underline-offset:3px}
.wl:hover{color:var(--violet-ink);text-decoration:underline solid var(--violet) 1.5px}
.keynums{width:100%;border-collapse:collapse;margin-top:4px}
.keynums td{padding:13px 2px;border-bottom:1px solid var(--line);font-size:0.9375rem;color:var(--ink-soft)}
.keynums td:last-child{font:650 1.375rem/1.2 var(--mono);color:var(--violet-ink);text-align:right;white-space:nowrap}
.keynums .bad td:last-child{color:var(--coral-ink)}
/* (.graph- / .gn citation-graph styles reclaimed 2026-07-29 - the section 4.10 template
   stopped binding page.citation_graph_svg; restore them with the paper-stub ship) */
.editorial{margin-top:28px;padding-left:22px;border-left:3px solid var(--violet)}
.editorial h2{margin:0 0 2px}
.skill-rows{margin-top:4px}
.skill-row{display:block;padding:14px 2px;border-bottom:1px solid var(--line);color:inherit}
.skill-row:hover{text-decoration:none}
.skill-row:hover .sname{color:var(--violet-ink)}
.skill-row .sname{font-weight:650;color:var(--ink);margin-right:10px}
.skill-row .sdesc{color:var(--ink-soft);font-size:0.9375rem}
.skill-row .smeta{display:block;font-size:0.8125rem;color:var(--muted);margin-top:2px}
.skill-row .smeta b{color:var(--green-ink);font-weight:650}
.note-links{list-style:none;margin:4px 0 0;padding:0}
.note-links li{padding:6px 0}
.note-links a{font-weight:600;font-size:0.9375rem}
.refs{margin:10px 0 0;padding-left:20px;font-size:0.8125rem;color:var(--muted);line-height:1.6}
.refs li{margin:6px 0}

/* --- research index (field map, direction cards, directory) + reports ------ */
.card-list{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:12px}
.fieldfig{margin:26px 0 0}
.figscroll{overflow-x:auto}
.figframe{border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;background:var(--card);box-shadow:var(--shadow-card);min-width:340px}
.figframe svg{display:block;width:100%;height:auto}
figcaption{font-size:0.8125rem;color:var(--muted);margin-top:12px;line-height:1.6}
.fieldfig-grid{display:grid;grid-template-columns:11fr 9fr;gap:34px;align-items:center}
.fieldfig-grid figcaption{font-size:0.9375rem;color:var(--ink-soft);line-height:1.7;margin-top:0}
.fieldfig-grid figcaption b{color:var(--ink)}
.dir-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}
.dir-card{border-left:4px solid var(--violet);position:relative}
.dir-card>.eyebrow::after{content:"";position:absolute;inset:0}
.dir-card .dlink a{position:relative;z-index:1}
.spark{display:block;margin:8px 0 0;color:var(--muted)}
.dlink{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.dmeta{color:var(--muted);font-family:var(--mono);font-size:0.75rem}
.dcount{font:500 0.8125rem var(--mono);color:var(--muted);margin-left:8px}
.dir-security{border-left-color:var(--coral)}
.dir-retrieval{border-left-color:var(--green)}
.dir-benchmarks{border-left-color:var(--amber)}
.dir-other{border-left-color:var(--sky)}
.chip-security{background:var(--coral-t);color:var(--coral-ink)}
.chip-retrieval{background:var(--green-t);color:var(--green-ink)}
.chip-benchmarks{background:var(--amber-t);color:var(--amber-ink)}
.chip-other{background:var(--sky-t);color:var(--ink)}
.chip-bridge{background:var(--card);border:1px dashed var(--muted);color:var(--ink-soft)}
a.chip:hover{text-decoration:none}
.label-chip+.chip,.chip+.chip{margin-left:8px;margin-top:16px}
.dir-notes{scroll-margin-top:16px}
.dir-head-row{display:flex;flex-wrap:wrap;align-items:center;gap:14px 40px;margin-top:18px}
.dir-head-row .spark{margin:0}
h1 .dcount{font-size:0.9375rem;vertical-align:middle}
.keynums .expnote{font:500 0.8125rem var(--sans)}
.report-body h2{font-size:1.25rem;margin:40px 0 8px}
/* --- home v2 (golden: design/portal/home-mockup.html, search-console) ------ */
pre a{color:var(--code-ink);text-decoration:underline;text-underline-offset:3px}
main:not(.wrap)>.crumbs{max-width:var(--maxw);margin:0 auto;padding:12px 20px 0}
.hero,.stats,.search,.fresh,.directory,.agents,.research{margin:0}
.hero .hero-top{padding-top:36px}
.hero h1{font-size:clamp(2rem,4.6vw,2.875rem);line-height:1.08}
.hero .lede{margin-top:16px;max-width:44rem}
.hero-main{padding-top:30px;padding-bottom:46px}
.session{background:var(--code-bg);border-radius:var(--r-md);box-shadow:var(--shadow-soft);overflow:hidden}
.session-bar{display:flex;justify-content:space-between;gap:12px;padding:10px 20px;border-bottom:1px solid rgba(239,233,221,0.12);font:500 0.75rem/1.4 var(--mono);color:oklch(0.62 0.02 82)}
.session pre{padding:20px 22px 22px;font-size:0.875rem;line-height:1.75;border-radius:0;white-space:pre-wrap}
.s-agent{color:oklch(0.84 0.14 82);font-weight:600}
.s-fed{color:oklch(0.78 0.13 292);font-weight:600}
.s-dim{color:oklch(0.62 0.02 82)}
a.s-name{color:var(--code-ink);font-weight:600}
.hero-after{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;margin-top:16px}
.hero-after .privacy{margin:0 0 0 auto;font-size:0.8125rem;color:var(--muted)}
.inst{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 12px}
.inst code{font:500 0.875rem/1 var(--mono);background:var(--code-bg);color:var(--code-ink);padding:9px 14px;border-radius:var(--r-sm);white-space:nowrap}
.inst span{font-size:0.8125rem;color:var(--muted)}
.steps-wrap{padding-bottom:48px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px 32px}
.step{border-top:2px solid var(--line);padding-top:12px}
.step .n{font:650 0.75rem/1 var(--mono);color:var(--violet-ink);letter-spacing:0.05em}
.step b{display:block;font-size:0.9375rem;margin-top:6px}
.step p{margin:2px 0 0;font-size:0.8438rem;color:var(--muted);line-height:1.5}
.stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stats dl{display:grid;grid-template-columns:repeat(6,1fr);gap:20px 28px;margin:0;padding:24px 0 14px;align-items:start}
.stats .stat{display:flex;flex-direction:column-reverse;gap:3px;border-left:2px solid var(--line);padding-left:14px}
.stats .lead{grid-column:span 2;border-left-color:var(--violet)}
.stats dd{margin:0;font:650 1.5rem/1.15 var(--mono);color:var(--violet-ink)}
.stats dt{font-size:0.8125rem;color:var(--muted);line-height:1.45;max-width:11rem}
.stats dt b{color:var(--ink);font-weight:600}
.stats .growing{font-size:0.6875rem;font-family:var(--mono)}
.stats .lead dd{font-size:2rem}
.counting{margin:0;padding-bottom:22px;font:500 0.75rem/1.7 var(--mono);color:var(--muted)}
.search .wrap{padding-top:52px}
.scope{margin:0 0 18px;font-size:0.9375rem;color:var(--muted);max-width:40rem}
.search-mount{max-width:36rem;min-height:72px}
.fresh .wrap{padding-top:56px}
.fresh-grid{display:grid;grid-template-columns:5fr 6fr;gap:36px;margin-top:8px}
.blog-card{display:block;background:var(--amber-t);border-radius:var(--r-md);padding:18px 22px;color:inherit}
.blog-card:hover{text-decoration:none}
.blog-card .eyebrow{color:var(--amber-ink)}
.blog-card b{display:block;font-size:1.0625rem;line-height:1.35;color:var(--ink)}
.blog-card .date{display:block;margin-top:10px;font:500 0.75rem/1 var(--mono);color:var(--amber-ink)}
.report-card{display:block;background:var(--violet-t);border-radius:var(--r-md);padding:16px 20px;margin-top:14px;color:inherit}
.report-card:hover{text-decoration:none}
.report-card .eyebrow{color:var(--violet-ink)}
.report-card b{display:block;font-size:0.9375rem;line-height:1.45;color:var(--ink)}
.note-eyebrow{color:var(--violet-ink)}
.note-rows{border-top:1px solid var(--line)}
.note-row{display:block;padding:12px 2px;border-bottom:1px solid var(--line);color:inherit}
.note-row:hover{text-decoration:none}
.note-row:hover b{color:var(--violet-ink)}
.note-row b{font-weight:600;color:var(--ink);font-size:0.9375rem;line-height:1.45}
.directory .wrap{padding-top:48px}
.dir-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding-top:14px}
.directory h2{font-size:1.0625rem}
.directory .pub-line{padding-top:20px;font-size:0.875rem;font-weight:600}
.sstars{float:right;font:500 0.8125rem/1.6 var(--mono);color:var(--muted)}
.more{display:inline-block;margin-top:12px;font-weight:600;font-size:0.875rem}
.agents .wrap{padding-top:56px}
.agents .intro{margin:0 0 6px;max-width:42rem;color:var(--ink-soft)}
.api-rows{border-top:1px solid var(--line);margin-top:16px}
.api-row{display:flex;align-items:baseline;gap:8px 24px;padding:15px 2px;border-bottom:1px solid var(--line);color:inherit;flex-wrap:wrap}
a.api-row:hover{text-decoration:none}
a.api-row:hover .aname{color:var(--violet-ink)}
.aname{font:600 0.9375rem/1.4 var(--mono);color:var(--ink);flex:none;min-width:11rem}
.adesc{flex:1;min-width:14rem;color:var(--ink-soft);font-size:0.9063rem}
.apath{font:500 0.8125rem/1.6 var(--mono);color:var(--muted);white-space:nowrap}
.research-grid{display:grid;grid-template-columns:5fr 6fr;gap:48px;align-items:center;padding-top:64px}
.fieldmap{margin:0}
.fieldmap svg{display:block;width:100%;height:auto;border-radius:var(--r-md)}
.map-caption{font-size:0.8125rem;color:var(--muted);margin-top:12px;line-height:1.8}
.map-caption .lg{width:9px;height:9px;border-radius:50%;display:inline-block;vertical-align:-1px;margin-right:5px}
.map-caption .wl{white-space:nowrap;margin-right:12px}
.lg-evolution{background:var(--violet)}.lg-security{background:var(--coral)}.lg-retrieval{background:var(--green)}.lg-benchmarks{background:var(--amber)}.lg-other{background:var(--sky)}
.research .body p{margin:14px 0 0;color:var(--ink-soft);max-width:32rem}
.finding{margin-top:24px;padding-left:22px;border-left:3px solid var(--coral)}
.finding .num{font:650 1.75rem/1.2 var(--mono);color:var(--coral-ink)}
.finding p{margin:2px 0 0;font-size:0.9375rem}
.report-links{list-style:none;margin:22px 0 0;padding:0}
.report-links li{padding:5px 0}
.report-links a{font-weight:600;font-size:0.9375rem}
.site-foot .fine{margin-left:auto;color:var(--muted)}
.search-mount .pagefind-ui__search-input{border:1px solid var(--line);border-radius:var(--r-pill);background:var(--card);color:var(--ink);font:400 0.9375rem/1.4 var(--sans);padding:13px 22px;box-shadow:var(--shadow-card)}
.search-mount .pagefind-ui__search-input:focus{outline:none;border-color:var(--violet)}
.search-mount .pagefind-ui__search-clear{color:var(--muted)}
.search-mount .pagefind-ui__result-link{color:var(--ink);font-weight:650}
.search-mount .pagefind-ui__result{border-bottom:1px solid var(--line)}
.search-mount .pagefind-ui__message,.search-mount .pagefind-ui__result-excerpt{color:var(--muted)}
.search-mount mark{background:none;color:var(--violet-ink);font-weight:650}
/* --- blog index (contract §4.17): featured post + batch bloom -------------- */
.blog-featured .wrap{padding-top:34px}
.featured-post{display:grid;grid-template-columns:7fr 5fr;gap:28px;align-items:center;background:var(--amber-t);border-radius:var(--r-lg);padding:26px 30px;color:inherit}
.featured-post:hover{text-decoration:none}
.featured-post .eyebrow{color:var(--amber-ink)}
.featured-post b{display:block;font-size:clamp(1.25rem,2.6vw,1.625rem);line-height:1.25;color:var(--ink)}
.featured-post p{margin:10px 0 0;color:var(--ink-soft)}
.featured-post .date{display:block;margin-top:14px;font:500 0.75rem/1 var(--mono);color:var(--amber-ink)}
.fp-bloom svg{display:block;width:100%;height:auto;max-width:280px;margin:0 auto}
.blog-featured .dmeta{display:block;margin-top:10px}
.blog-list .wrap,.blog-cross .wrap{padding-top:44px}
@media (max-width:880px){.research-grid,.fresh-grid,.featured-post,.fieldfig-grid{grid-template-columns:1fr;gap:28px}.fieldmap{max-width:26rem}.stats dl{grid-template-columns:repeat(2,1fr)}.stats .lead{grid-column:span 2}}
@media (max-width:680px){.hero-after .privacy{margin-left:0}.dir-grid{grid-template-columns:1fr;gap:32px}.steps{grid-template-columns:1fr}.stats dl{grid-template-columns:1fr 1fr;gap:16px 20px}.stats dd{font-size:1.25rem}.stats .lead dd{font-size:1.5rem}.aname{min-width:0}}
/* after .dir-cards' base rule so equal-specificity source order resolves right */
@media (max-width:680px){.dir-cards{grid-template-columns:1fr}}
@media (min-width:681px) and (max-width:880px){.dir-cards{grid-template-columns:1fr 1fr}}

/* --- blog post (US9/FR-075 format redesign 2026-07-30): editorial headings +
   curated "More skills worth a look" tile grid. Scoped under .blog-post so the
   global compact h2/h3 margins (built for section headers directly under a
   page h1) don't crush md_render_editorial's markdown-generated headings,
   and /best's .intro stays untouched. */
/* Long-form reading measure (founder review 2026-07-30): ~18px body in a
   ~40rem column lands at 65-70 characters per line - the 45-75ch canon
   (Medium: ~21px/680px). The site-wide 15px/44rem pair is UI type, too
   small and too wide for essay reading. */
.blog-post .intro{max-width:40rem;font-size:1.125rem;line-height:1.75}
.blog-post .intro h2{font-size:1.5rem;margin:42px 0 10px}
.blog-post .intro h3{font-size:1.1875rem;margin:30px 0 6px}
.blog-post .intro p{margin:16px 0 0;color:var(--ink-soft);text-wrap:pretty}
.blog-post .intro ul,.blog-post .intro ol{margin:14px 0 0;padding-left:22px;color:var(--ink-soft)}
.blog-post .intro li{margin:6px 0}
.blog-post .tile-grid{margin-top:48px}
.tile-meta{display:block;font:500 0.75rem/1.6 var(--mono);color:var(--muted)}
