/* Agent pages at /ai-agents/ (built by scripts/agents/build-agent-pages.mjs).
   Homepage dark design, tokens read from the live gravity.fast build on 2026-11-12:
   base #050505, layers #0a0a0a / #111 / #181818, hairlines #1c1c1c / #2a2a2a, text #e5e5e5 / #a3a3a3 / #737373, accent #f8b300.
   Bump CSS_V in the build script when this file changes. */

body.blog-v8.gx-dark.ap {
  --v8-paper:#050505; --v8-paper-2:#0a0a0a; --v8-paper-3:#111111; --v8-ink:#e5e5e5; --v8-ink-2:#a3a3a3; --v8-ink-3:#737373;
  --v8-line:#1c1c1c; --v8-line-2:#2a2a2a; --v8-gold:#f8b300; --v8-gold-ink:#f8b300; --v8-gold-tint:#2e2100;
  --v8-display:'Inter',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
  background: radial-gradient(900px 520px at 88% -6%, rgba(248,179,0,.09), transparent 62%), #050505;
  color:#e5e5e5;
}

.ap-main {
  max-width:1160px; margin:0 auto; padding:0 24px 128px;
  font-family:'Inter',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif; letter-spacing:-0.01em; color:#a3a3a3;
}
.ap-main *, .ap-main *::before { box-sizing:border-box; }
.ap-main a { color:#f8b300; text-decoration:none; }
.ap-main a:hover { color:#ffcc33; }
.ap-main a:focus-visible, .ap-main .ap-btn:focus-visible { outline:2px solid #f8b300; outline-offset:3px; border-radius:6px; }

/* Headings: weight 600, tight tracking, the homepage's silver fill. */
.ap-main h1, .ap-main h2 {
  margin:0; font-weight:600; letter-spacing:-0.045em; text-wrap:balance;
  background:linear-gradient(#fff 0%, #e5e5e5 55%, #b0b0b0 100%); -webkit-background-clip:text; background-clip:text; color:transparent;
}
.ap-main h1 { font-size:clamp(2.375rem, 4.7vw, 3.875rem); line-height:1.05; padding-bottom:.08em; }
.ap-main h2 { font-size:clamp(1.75rem, 3vw, 2.5rem); line-height:1.1; padding-bottom:.08em; }
.ap-main h3 { margin:0 0 10px; font-size:1.125rem; line-height:1.4; font-weight:600; letter-spacing:-0.02em; color:#e5e5e5; }

/* Hero */
.ap-hero { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:72px; align-items:start; padding:88px 0 104px; }
.ap-hero-hub { grid-template-columns:minmax(0,760px); padding-bottom:56px; }
.ap-crumb { margin:0 0 28px; font-size:.875rem; color:#737373; }
.ap-crumb a { color:#a3a3a3; }
.ap-crumb span { margin:0 10px; color:#2a2a2a; }
.ap-deck { margin:28px 0 0; max-width:56ch; font-size:1.1875rem; line-height:1.6; color:#a3a3a3; }
.ap-cta { display:flex; flex-wrap:wrap; align-items:center; gap:14px 28px; margin-top:40px; }
.ap-main .ap-btn {
  display:inline-flex; align-items:center; min-height:48px; padding:12px 24px; border-radius:12px;
  background:linear-gradient(#ffc21f, #f2ad00); color:#111111; font-size:1rem; font-weight:600; letter-spacing:-0.01em;
  box-shadow:0 10px 28px rgba(248,179,0,.18), inset 0 1px 0 rgba(255,255,255,.35); transition:transform .18s cubic-bezier(.22,1,.36,1);
}
.ap-main .ap-btn:hover { background:#ffcc33; color:#111111; transform:translateY(-1px); }
.ap-main .ap-link { color:#e5e5e5; font-size:1rem; font-weight:500; padding-bottom:2px; border-bottom:1px solid #2a2a2a; }
.ap-main .ap-link:hover { color:#ffffff; border-color:#f8b300; }
.ap-note { margin:20px 0 0; font-size:.9375rem; color:#737373; }

/* Sample panel: real output, shown as a plain record. */
.ap-sample { margin-top:8px; padding:32px; border:1px solid #1c1c1c; border-radius:20px; background:#0a0a0a; }
.ap-tag { margin:0 0 18px; font-size:.8125rem; font-weight:500; color:#f8b300; }
.ap-sample-head { margin:0 0 22px; font-size:1.125rem; line-height:1.5; font-weight:500; letter-spacing:-0.015em; color:#e5e5e5; }
.ap-facts { margin:0; }
.ap-facts div { display:flex; justify-content:space-between; align-items:baseline; gap:24px; padding:13px 0; border-top:1px solid #1c1c1c; font-size:.9375rem; line-height:1.45; }
.ap-facts dt { color:#737373; flex:none; }
.ap-facts dd { margin:0; color:#e5e5e5; text-align:right; font-variant-numeric:tabular-nums; }

/* Sections: heading in the left column, content in the right. */
.ap-sec { display:grid; grid-template-columns:minmax(0,4fr) minmax(0,7fr); gap:72px; padding:88px 0; border-top:1px solid #1c1c1c; }
.ap-sec-head p { margin:20px 0 0; max-width:36ch; font-size:1rem; line-height:1.6; color:#737373; }
.ap-body { min-width:0; }

.ap-steps { list-style:none; margin:0; padding:0; counter-reset:step; }
.ap-steps li { counter-increment:step; display:grid; grid-template-columns:44px minmax(0,1fr); padding:22px 0; border-top:1px solid #1c1c1c; }
.ap-steps li:first-child { padding-top:4px; border-top:0; }
.ap-steps li::before { content:counter(step, decimal-leading-zero); padding-top:3px; font-size:.875rem; font-weight:500; color:#f8b300; font-variant-numeric:tabular-nums; }
.ap-step-t { margin:0; font-size:1.0625rem; line-height:1.55; color:#e5e5e5; }
.ap-step-d { margin:6px 0 0; font-size:.9375rem; line-height:1.55; color:#737373; }

.ap-lines { list-style:none; margin:0 0 40px; padding:0; }
.ap-lines li { padding:0 0 14px; font-size:1.0625rem; line-height:1.55; color:#e5e5e5; }
.ap-table-wrap { overflow-x:auto; margin:0 0 40px; }
.ap-table { width:100%; border-collapse:collapse; font-size:.9375rem; line-height:1.45; }
.ap-table caption { caption-side:top; text-align:left; padding:0 0 14px; font-size:.8125rem; font-weight:500; color:#f8b300; }
.ap-table th { padding:0 20px 12px 0; text-align:left; font-weight:500; color:#737373; white-space:nowrap; }
.ap-table td { padding:14px 20px 14px 0; border-top:1px solid #1c1c1c; color:#e5e5e5; vertical-align:top; font-variant-numeric:tabular-nums; }
.ap-table th:last-child, .ap-table td:last-child { padding-right:0; }
.ap-deliver, .ap-for { list-style:none; margin:0; padding:0; }
.ap-deliver li, .ap-for li { position:relative; padding:0 0 14px 22px; font-size:1.0625rem; line-height:1.55; color:#a3a3a3; }
.ap-deliver li::before, .ap-for li::before { content:""; position:absolute; left:0; top:.62em; width:6px; height:6px; border-radius:50%; background:#f8b300; }
.ap-deliver b { font-weight:600; color:#e5e5e5; }
.ap-for li { color:#e5e5e5; }

.ap-tools-h { margin:40px 0 14px; font-size:.8125rem; font-weight:500; color:#737373; }
.ap-chips { list-style:none; display:flex; flex-wrap:wrap; gap:8px; margin:0; padding:0; }
.ap-chips li { padding:7px 14px; border:1px solid #2a2a2a; border-radius:999px; font-size:.875rem; color:#a3a3a3; }

.ap-faq > div { padding:28px 0; border-top:1px solid #1c1c1c; }
.ap-faq > div:first-child { padding-top:4px; border-top:0; }
.ap-faq p { margin:0; max-width:64ch; font-size:1rem; line-height:1.65; color:#a3a3a3; }

/* Closing call */
.ap-end { padding:104px 0; border-top:1px solid #1c1c1c; }
.ap-end h2 { max-width:18ch; }
.ap-end p { margin:20px 0 32px; font-size:1.0625rem; color:#a3a3a3; }

/* Lists of links: other agents, the hub, related posts. */
.ap-more-sec { padding-bottom:0; }
.ap-more, .ap-read { list-style:none; margin:0; padding:0; }
.ap-main .ap-more a { display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:24px; align-items:baseline; padding:20px 0; border-top:1px solid #1c1c1c; color:#e5e5e5; font-size:1.0625rem; font-weight:500; transition:color .18s; }
.ap-more li:first-child a { padding-top:4px; border-top:0; }
.ap-more .d { font-size:.9375rem; font-weight:400; line-height:1.5; color:#737373; }
.ap-main .ap-more a:hover { color:#f8b300; }
.ap-read li { padding:0 0 12px; font-size:1rem; line-height:1.5; }
.ap-hub { padding:0 0 24px; }
.ap-hub-list { border-top:1px solid #1c1c1c; }
.ap-main .ap-hub-list a { padding:28px 0; font-size:1.25rem; letter-spacing:-0.02em; }
.ap-hub-list li:first-child a { padding-top:28px; }
.ap-hub-list b { font-weight:600; }
.ap-hub-list em { margin-left:14px; font-style:normal; font-size:.8125rem; font-weight:500; letter-spacing:0; color:#737373; }
.ap-hub-list .d { font-size:1rem; }

@media (max-width: 900px) {
  .ap-hero, .ap-sec { grid-template-columns:minmax(0,1fr); gap:40px; }
  .ap-hero { padding:56px 0 72px; }
  .ap-sec { padding:64px 0; gap:32px; }
  .ap-sec-head p { max-width:56ch; }
  .ap-end { padding:72px 0; }
  .ap-main .ap-more a { grid-template-columns:minmax(0,1fr); gap:6px; }
}
@media (max-width: 480px) {
  .ap-main { padding:0 16px 96px; }
  .ap-sample { padding:24px 20px; }
  .ap-facts div { flex-direction:column; gap:2px; }
  .ap-facts dd { text-align:left; }
  .ap-deck { font-size:1.0625rem; }
  .ap-main .ap-btn { width:100%; justify-content:center; }
  .ap-hub-list em { display:block; margin:4px 0 0; }
}
@media (prefers-reduced-motion: reduce) {
  .ap-main .ap-btn, .ap-main .ap-more a { transition:none; }
  .ap-main .ap-btn:hover { transform:none; }
}

/* Added 2026-11-13 (CSS_V 2): explainer prose, comparison tables, source links in tables. */
.ap-prose p { margin:0 0 18px; max-width:62ch; font-size:1.0625rem; line-height:1.65; color:#a3a3a3; }
.ap-prose p:last-child { margin-bottom:0; }
.ap-table th[scope="row"] { padding:14px 20px 14px 0; border-top:1px solid #1c1c1c; text-align:left; vertical-align:top; font-weight:500; color:#a3a3a3; white-space:normal; }
.ap-table thead td { padding:0; }
.ap-table.ap-wide { min-width:680px; }
.ap-main .ap-table td a, .ap-main .ap-table th a { color:#e5e5e5; border-bottom:1px solid #3a3a3a; }
.ap-main .ap-table td a:hover, .ap-main .ap-table th a:hover { color:#f8b300; border-color:#f8b300; }
.ap-table-wrap + .ap-table-wrap, .ap-lines + .ap-table-wrap { margin-top:8px; }
.ap-sec-head time { color:#a3a3a3; }
.ap-body > .ap-deliver + .ap-tools-h, .ap-body > .ap-for + .ap-tools-h { margin-top:36px; }
.ap-nw { white-space:nowrap; }
