/* LurkChain content pages: docs, api, agents, pricing, research, support, about, terms, privacy.
   Builds on lc.css (tokens, type, frame, buttons, chips, tables). Owned by builder C. */

/* ---------- shared bits ---------- */
.flow > * + * { margin-top: 16px; }
.flow-sm > * + * { margin-top: 8px; }
.sec-sm { padding-top: 64px; padding-bottom: 64px; }
.sec-row { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px 24px; flex-wrap: wrap; }
.h4 { font-size: 24px; line-height: 32px; font-weight: 500; letter-spacing: -0.02em; color: var(--ink); }
.ink { color: var(--ink); }
.note { font-size: 13px; line-height: 19px; color: var(--ink-3); }
.note a, .body a.u, .lead a.u { color: var(--ink); text-decoration: underline; text-decoration-color: var(--line-3); text-underline-offset: 3px; }
.kbd { font-family: var(--mono); font-size: 12px; letter-spacing: 0; padding: 1px 6px; border-radius: 5px; border: 1px solid var(--line-2); background: var(--panel); color: var(--ink); white-space: nowrap; }
.body code, .note code, .lead code, .ans code, .gsteps code, .tool-desc code, .param-d code, .notice code { font-family: var(--mono); font-size: .86em; letter-spacing: 0; color: var(--ink); background: var(--panel); border: 1px solid var(--line); border-radius: 5px; padding: 0 5px; overflow-wrap: anywhere; }

.notice { display: flex; gap: 12px; align-items: flex-start; padding: 12px 14px; border: 1px solid var(--line-2); border-radius: 10px; background: var(--canvas); font-size: 14px; line-height: 20px; color: var(--ink-2); }
.notice .tag { flex: none; height: 22px; font-size: 12px; }
.notice b { color: var(--ink); font-weight: 500; }
.notice p { min-width: 0; padding-top: 1px; }

/* the endpoint copy box */
.copybox { display: flex; align-items: center; gap: 8px; height: 48px; padding: 0 6px 0 14px; border: 1px solid var(--line-2); border-radius: 10px; background: var(--canvas); max-width: 560px; }
.copybox .cb-ic { flex: none; color: var(--ink-3); display: grid; place-items: center; }
.copybox code { flex: 1; min-width: 0; font-family: var(--mono); font-size: 14px; letter-spacing: 0; color: var(--ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.copybox .btn { flex: none; }

/* code blocks: pre.code[data-label] is wrapped by content.js into .codeblock with a header and copy button */
.codeblock { border: 1px solid var(--line); border-radius: 10px; background: var(--panel); overflow: hidden; min-width: 0; }
.codeblock-h { display: flex; align-items: center; justify-content: space-between; gap: 8px; height: 40px; padding: 0 6px 0 14px; border-bottom: 1px solid var(--line); font-size: 12px; line-height: 16px; color: var(--ink-2); min-width: 0; }
.codeblock-h > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-family: var(--mono); letter-spacing: 0; }
.codeblock-h .btn { height: 28px; padding: 0 10px; font-size: 12px; flex: none; }
.codeblock-h .btn svg { width: 13px; height: 13px; }
.codeblock pre.code { border: 0; border-radius: 0; background: transparent; margin: 0; font-size: 13px; line-height: 21px; padding: 14px 16px; color: #d7dde2; }
pre.code { tab-size: 2; }
.c-k { color: #9cc1ff; }
.c-s { color: #9ee6c4; }
.c-n { color: var(--orange); }
.c-b { color: #d5a6ff; }
.c-c { color: var(--ink-3); }
.c-f { color: #9cc1ff; }
.c-w { color: #d5a6ff; }
.c-h { color: var(--orange); }

/* page hero with an aside panel on the right */
.hero-split { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 40px; align-items: end; }
.hero-split .page-hero { padding-right: 0; }
.hero-aside { padding: 72px var(--gutter) 52px 0; min-width: 0; }
body[data-bill="annual"] .only-monthly, body[data-bill="monthly"] .only-annual { display: none !important; }

/* final call to action band */
.cta-band { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px 40px; align-items: end; padding: 96px var(--gutter); }
.cta-band .lead { margin-top: 16px; max-width: 520px; }
.cta-band .cta { display: flex; gap: 8px; flex-wrap: wrap; }

/* sample answer (chat-like) */
.answer { padding: 18px; }
.answer-q { display: inline-block; max-width: 100%; padding: 8px 12px; border-radius: 12px 12px 4px 12px; background: var(--panel-3); color: var(--ink); font-size: 14px; line-height: 20px; margin-left: auto; }
.answer-row { display: flex; justify-content: flex-end; }
.answer-a { margin-top: 14px; font-size: 14px; line-height: 21px; color: var(--ink-2); }
.answer-a b { color: var(--ink); font-weight: 500; }
.answer-tools { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.answer-tools span { display: inline-flex; align-items: center; gap: 6px; height: 24px; padding: 0 8px; border-radius: 6px; border: 1px solid var(--line-2); font-family: var(--mono); font-size: 11.5px; letter-spacing: 0; color: var(--ink-2); }
.answer-tools span svg { width: 12px; height: 12px; }
.answer-cost { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-top: 14px; padding-top: 12px; border-top: 1px dashed var(--line-3); font-size: 12px; line-height: 16px; color: var(--ink-3); }
.answer-cost b { color: var(--ink); font-weight: 500; }

/* ---------- docs ---------- */
.doc-layout { display: grid; grid-template-columns: 232px minmax(0, 1fr); border-top: 1px solid var(--line); }
.doc-side { border-right: 1px solid var(--line); min-width: 0; }
.doc-side nav { position: sticky; top: calc(var(--header-h) + var(--banner-h)); padding: 32px 16px 32px var(--gutter); max-height: calc(100vh - var(--header-h) - var(--banner-h)); overflow-y: auto; }
.doc-side h4 { font-size: 12px; line-height: 16px; font-weight: 400; color: var(--ink-3); margin-bottom: 10px; }
.doc-side ul { display: grid; gap: 2px; }
.doc-side a { display: block; padding: 6px 10px; margin-left: -10px; border-radius: 7px; font-size: 14px; line-height: 20px; color: var(--ink-2); transition: color .15s, background-color .15s; }
.doc-side a:hover { color: var(--ink); }
.doc-side a.on { color: var(--ink); background: var(--panel-2); }
.doc-side .side-foot { margin-top: 24px; padding-top: 16px; border-top: 1px solid var(--line); display: grid; gap: 8px; }
.doc-side .side-foot a { color: var(--ink-3); font-size: 13px; padding: 2px 10px; }
.doc-main { min-width: 0; }
.doc-sec { padding: 56px 40px; border-bottom: 1px solid var(--line); }
.doc-sec:last-child { border-bottom: 0; }
.doc-sec > h2 { font-size: 32px; line-height: 40px; font-weight: 500; letter-spacing: -0.02em; }
.doc-sec > h2 + .lead, .doc-sec > h2 + .body { margin-top: 12px; }
.doc-sec h3 { font-size: 18px; line-height: 24px; font-weight: 500; margin-top: 32px; }
.doc-sec h3 + * { margin-top: 10px; }
.doc-sec .body + .body { margin-top: 12px; }
.doc-sec .body + .codeblock, .doc-sec .codeblock + .body, .doc-sec .body + .copybox, .doc-sec .copybox + .body, .doc-sec .notice + .body, .doc-sec .body + .notice, .doc-sec .codeblock + .codeblock, .doc-sec .body + .tbl-wrap, .doc-sec .tbl-wrap + .body { margin-top: 16px; }
.doc-sec .body ul { list-style: disc; padding-left: 20px; }
.doc-sec .body li + li { margin-top: 6px; }
.anchor { color: inherit; }
.anchor:hover { color: var(--white); }

.steps-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin-top: 24px; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; }
.steps-3 > div { padding: 20px; min-width: 0; }
.steps-3 > div + div { border-left: 1px solid var(--line); }
.steps-3 .n { display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; border: 1px solid var(--line-3); font-size: 12px; color: var(--ink-2); }
.steps-3 b { display: block; margin-top: 14px; font-size: 15px; font-weight: 500; color: var(--ink); }
.steps-3 p { margin-top: 6px; font-size: 14px; line-height: 20px; color: var(--ink-2); }

.client-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; margin-top: 20px; }
.client { display: flex; align-items: center; gap: 8px; min-width: 0; padding: 9px 8px; border: 1px solid var(--line); border-radius: 10px; background: var(--canvas); font-size: 13.5px; letter-spacing: -0.02em; color: var(--ink); transition: border-color .15s, background-color .15s; }
.client .glyph { width: 26px; height: 26px; }
.client:hover { border-color: var(--line-3); background: var(--panel); }
.client span:last-child { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.glyph { flex: none; width: 28px; height: 28px; border-radius: 8px; border: 1px solid var(--line-2); background: var(--panel); display: grid; place-items: center; font-size: 11px; font-weight: 600; letter-spacing: 0; color: var(--ink-2); }

.deflist { display: grid; grid-template-columns: 180px minmax(0, 1fr); border-top: 1px solid var(--line); margin-top: 16px; }
.deflist dt, .deflist dd { padding: 12px 0; border-bottom: 1px solid var(--line); font-size: 14px; line-height: 20px; min-width: 0; }
.deflist dt { color: var(--ink); font-weight: 500; padding-right: 16px; }
.deflist dd { color: var(--ink-2); }

/* tools reference */
.tool-filter { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-top: 24px; }
.tool-filter .field { width: 280px; max-width: 100%; }
.tool-group { margin-top: 36px; }
.tool-group-h { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.tool-group-h h3 { margin: 0; font-size: 16px; line-height: 24px; font-weight: 500; }
.tool-group-h span { font-size: 12px; color: var(--ink-3); }
.tool { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 24px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.tool-name { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; font-family: var(--mono); font-size: 13.5px; line-height: 20px; letter-spacing: 0; color: var(--ink); overflow-wrap: anywhere; }
.tool-name .pill-sample { font-family: Inter, sans-serif; }
.tool-desc { grid-column: 1; font-size: 14px; line-height: 20px; color: var(--ink-2); }
.tool-params { grid-column: 1; display: flex; flex-wrap: wrap; gap: 6px; margin-top: 4px; }
.tool-params code { font-family: var(--mono); font-size: 11.5px; line-height: 18px; letter-spacing: 0; padding: 0 6px; border-radius: 5px; background: var(--panel-2); border: 1px solid var(--line); color: var(--ink-2); }
.tool-params code i { font-style: normal; color: var(--ink-4); }
.tool-cost { grid-column: 2; grid-row: 1 / span 3; align-self: start; font-size: 13px; line-height: 20px; color: var(--ink-2); white-space: nowrap; text-align: right; }
.tool-cost b { color: var(--ink); font-weight: 500; }
.tool-empty { padding: 24px 0; color: var(--ink-2); font-size: 14px; }

.err-tbl td:first-child { white-space: nowrap; }
.err-tbl code { font-family: var(--mono); font-size: 12.5px; letter-spacing: 0; color: var(--ink); }

.changelog { margin-top: 20px; border-top: 1px solid var(--line); }
.changelog li { display: grid; grid-template-columns: 140px minmax(0, 1fr); gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.changelog time { font-size: 13px; line-height: 20px; color: var(--ink-3); }
.changelog b { display: block; font-size: 15px; font-weight: 500; color: var(--ink); }
.changelog p { margin-top: 4px; font-size: 14px; line-height: 20px; color: var(--ink-2); }

/* ---------- api ---------- */
.api-intro { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line); }
.api-intro > div { padding: 32px var(--gutter); min-width: 0; }
.api-intro > div + div { border-left: 1px solid var(--line); }
.api-intro h3 { font-size: 16px; line-height: 24px; font-weight: 500; }
.api-intro p { margin-top: 6px; font-size: 14px; line-height: 20px; color: var(--ink-2); }
.api-intro .codeblock { margin-top: 14px; }

.api-browser { display: grid; grid-template-columns: 390px minmax(0, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.ep-list { position: sticky; top: calc(var(--header-h) + var(--banner-h)); align-self: start; padding: 20px 14px 24px; min-width: 0; }
.ep-list h4 { font-size: 12px; line-height: 16px; font-weight: 400; color: var(--ink-3); padding: 14px 10px 6px; }
.ep-list h4:first-child { padding-top: 0; }
.ep { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; align-items: center; gap: 10px; width: 100%; padding: 8px 10px; border-radius: 8px; text-align: left; transition: background-color .12s; }
.ep:hover { background: rgba(255, 255, 255, .035); }
.ep[aria-current="true"] { background: var(--panel-2); }
.method { display: inline-flex; align-items: center; justify-content: center; height: 20px; border-radius: 5px; font-family: var(--mono); font-size: 10.5px; font-weight: 600; letter-spacing: .02em; background: rgba(47, 227, 154, .1); color: var(--up); }
.method.post { background: rgba(75, 141, 248, .14); color: #8fb6ff; }
.ep-path { font-family: var(--mono); font-size: 12.5px; line-height: 18px; letter-spacing: 0; color: var(--ink); overflow-wrap: break-word; min-width: 0; }
.ep-cost { font-size: 12px; line-height: 16px; color: var(--ink-3); white-space: nowrap; }
.ep-detail { padding: 28px 32px 36px; min-width: 0; border-left: 1px solid var(--line); min-height: 100%; }
.ep-detail .codeblock pre.code { max-height: 460px; overflow: auto; }
.api-intro pre.code { white-space: pre-wrap; overflow-wrap: anywhere; }
.ep-title { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.ep-title h3 { font-size: 24px; line-height: 32px; font-weight: 500; letter-spacing: -0.02em; }
.ep-line { display: flex; align-items: center; gap: 10px; margin-top: 12px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 9px; background: var(--canvas); min-width: 0; }
.ep-line .method { flex: none; padding: 0 7px; }
.ep-line code { font-family: var(--mono); font-size: 13px; letter-spacing: 0; color: var(--ink); overflow-wrap: break-word; min-width: 0; }
.ep-detail .body { margin-top: 12px; }
.ep-detail h4 { font-size: 13px; line-height: 20px; font-weight: 500; color: var(--ink); margin-top: 28px; display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.params { margin-top: 10px; border-top: 1px solid var(--line); }
.param { padding: 10px 0; border-bottom: 1px solid var(--line); }
.param-h { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; }
.param-h code { font-family: var(--mono); font-size: 13px; letter-spacing: 0; color: var(--ink); }
.param-h span { font-size: 12px; color: var(--ink-3); }
.param-h .req { color: var(--orange); }
.param-d { margin-top: 2px; font-size: 13.5px; line-height: 20px; color: var(--ink-2); }
.ep-detail .codeblock { margin-top: 10px; }
.ep-detail .seg { margin-top: 0; }

.resp-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.resp-grid > div { min-width: 0; }
.resp-grid > div:first-child { padding-right: 40px; }
.resp-grid > div + div { padding-left: 40px; border-left: 1px solid var(--line); }

/* ---------- agents ---------- */
.agent-layout { display: grid; grid-template-columns: 248px minmax(0, 1fr); border-top: 1px solid var(--line); }
.agent-side { border-right: 1px solid var(--line); min-width: 0; }
.agent-side nav { position: sticky; top: calc(var(--header-h) + var(--banner-h)); padding: 28px 14px 28px; }
.agent-side h4 { font-size: 12px; line-height: 16px; font-weight: 400; color: var(--ink-3); padding: 0 10px 10px; }
.agent-side ul { display: grid; gap: 2px; }
.agent-link { display: flex; align-items: center; gap: 10px; padding: 7px 10px; border-radius: 9px; font-size: 14px; line-height: 20px; color: var(--ink-2); transition: background-color .12s, color .12s; }
.agent-link:hover { color: var(--ink); background: rgba(255, 255, 255, .03); }
.agent-link[aria-current="true"] { color: var(--ink); background: var(--panel-2); }
.agent-link[aria-current="true"] .glyph { color: var(--ink); border-color: var(--line-3); }
.agent-main { min-width: 0; }
.agent-guide { padding: 44px 40px 56px; }
.agent-guide + .agent-guide { border-top: 1px solid var(--line); }
.js .agent-guide + .agent-guide { border-top: 0; }
.agent-guide[hidden] { display: none; }
.guide-h { display: flex; align-items: center; gap: 14px; }
.guide-h .glyph { width: 44px; height: 44px; border-radius: 11px; font-size: 14px; color: var(--ink); }
.guide-h .glyph svg { width: 24px; height: 24px; }
.glyph[data-ai] svg { width: 16px; height: 16px; }
.guide-h h2 { font-size: 32px; line-height: 40px; font-weight: 500; letter-spacing: -0.02em; }
.guide-h p { font-size: 13px; line-height: 18px; color: var(--ink-3); }
.agent-guide > .body { margin-top: 18px; max-width: 640px; }
.gsteps { margin-top: 24px; display: grid; gap: 0; border-top: 1px solid var(--line); counter-reset: gs; }
.gsteps > li { position: relative; counter-increment: gs; padding: 16px 0 16px 44px; border-bottom: 1px solid var(--line); font-size: 15px; line-height: 23px; color: var(--ink-2); min-width: 0; }
.gsteps > li::before { content: counter(gs); position: absolute; left: 0; top: 15px; width: 26px; height: 26px; border-radius: 50%; border: 1px solid var(--line-3); display: grid; place-items: center; font-size: 12px; line-height: 1; color: var(--ink); }
.gsteps > li b { color: var(--ink); font-weight: 500; }
.gsteps .codeblock { margin-top: 12px; }
.guide-meta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 24px; }
.guide-meta > div { padding: 16px; border: 1px solid var(--line); border-radius: 10px; background: var(--canvas); min-width: 0; }
.guide-meta b { display: block; font-size: 13px; font-weight: 500; color: var(--ink); }
.guide-meta p { margin-top: 6px; font-size: 13.5px; line-height: 20px; color: var(--ink-2); }
.try-prompts { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.try-prompts .chip { height: 34px; font-size: 13px; }

/* ---------- pricing ---------- */
.bill { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 28px; }
.bill .seg button { height: 30px; padding: 0 14px; font-size: 14px; }
.save-chip { font-size: 12px; color: var(--up); }
.plans { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.plan { padding: 32px var(--gutter) 36px; display: flex; flex-direction: column; min-width: 0; }
.plan + .plan { border-left: 1px solid var(--line); }
.plan.rec { background: linear-gradient(180deg, var(--canvas) 0%, rgba(14, 14, 16, 0) 85%); }
.plan-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 24px; }
.plan-head h3 { font-size: 18px; line-height: 24px; font-weight: 500; }
.plan-desc { margin-top: 6px; font-size: 14px; line-height: 20px; color: var(--ink-2); }
.plan-price { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; margin-top: 28px; }
.plan-price .stat { line-height: 56px; }
.plan-per { font-size: 14px; line-height: 20px; color: var(--ink-2); }
.plan-was { font-size: 14px; color: var(--ink-3); min-height: 20px; margin-top: 4px; }
.plan-was del { color: var(--ink-3); }
.plan-was .off { margin-left: 8px; color: var(--up); }
.plan-billed { font-size: 13px; line-height: 20px; color: var(--ink-3); margin-top: 2px; }
.plan-calls { margin-top: 20px; padding: 14px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.plan-calls b { font-size: 16px; font-weight: 500; color: var(--ink); }
.plan-calls p { font-size: 13px; line-height: 20px; color: var(--ink-3); margin-top: 2px; }
.plan .btn { margin-top: 20px; width: 100%; height: 38px; }
.plan-save { margin-top: 10px; font-size: 13px; line-height: 18px; color: var(--ink-3); min-height: 18px; text-align: center; }
.plan-save.good { color: var(--up); }
.plan ul { margin-top: 22px; display: grid; gap: 10px; font-size: 14px; line-height: 20px; color: var(--ink-2); }
.plan li { display: flex; gap: 10px; align-items: flex-start; }
.plan li svg { flex: none; margin-top: 3px; color: var(--ink); }

.credit-band { display: flex; justify-content: space-between; align-items: center; gap: 16px 24px; flex-wrap: wrap; padding: 22px var(--gutter); border-bottom: 1px solid var(--line); }
.credit-band p { font-size: 15px; line-height: 22px; color: var(--ink-2); max-width: 720px; }
.credit-band b { color: var(--ink); font-weight: 500; }

.calc { display: grid; grid-template-columns: minmax(0, 1fr) 400px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.calc-in { padding: 40px var(--gutter) 44px; min-width: 0; }
.calc-out { padding: 40px var(--gutter) 44px; border-left: 1px solid var(--line); background: var(--canvas); min-width: 0; display: flex; flex-direction: column; }
.rng { margin-top: 32px; }
.rng-h { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.rng-h label { font-size: 15px; color: var(--ink); }
.rng-h output { font-size: 20px; line-height: 28px; font-weight: 500; color: var(--ink); font-variant-numeric: tabular-nums; }
.rng p { margin-top: 6px; font-size: 13px; line-height: 18px; color: var(--ink-3); }
.rng input[type="range"] { -webkit-appearance: none; appearance: none; display: block; width: 100%; height: 22px; margin-top: 10px; background: transparent; cursor: pointer; }
.rng input[type="range"]::-webkit-slider-runnable-track { height: 4px; border-radius: 4px; background: linear-gradient(90deg, var(--ink) 0 var(--p, 50%), var(--fill) var(--p, 50%) 100%); }
.rng input[type="range"]::-moz-range-track { height: 4px; border-radius: 4px; background: var(--fill); }
.rng input[type="range"]::-moz-range-progress { height: 4px; border-radius: 4px; background: var(--ink); }
.rng input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; width: 18px; height: 18px; margin-top: -7px; border-radius: 50%; background: var(--white); border: 0; box-shadow: 0 0 0 4px rgba(255, 255, 255, .08); }
.rng input[type="range"]::-moz-range-thumb { width: 18px; height: 18px; border-radius: 50%; background: var(--white); border: 0; }
.rng-presets { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 28px; }
.rng-presets .chip { height: 32px; font-size: 13px; padding: 0 12px; }
.calc-out dl { display: grid; gap: 0; border-top: 1px solid var(--line); margin-top: 18px; }
.calc-out dl > div { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.calc-out dt { font-size: 14px; color: var(--ink-2); }
.calc-out dd { font-size: 15px; font-weight: 500; color: var(--ink); text-align: right; font-variant-numeric: tabular-nums; }
.calc-plan { font-size: 40px; line-height: 48px; font-weight: 500; letter-spacing: -0.03em; margin-top: 6px; }
.calc-why { margin-top: 6px; font-size: 14px; line-height: 20px; color: var(--ink-2); }
.calc-out .btn { margin-top: auto; }
.calc-out .calc-act { margin-top: 24px; display: flex; gap: 8px; flex-wrap: wrap; }
.meter { position: relative; height: 6px; border-radius: 6px; background: var(--fill); margin-top: 16px; overflow: hidden; }
.meter i { position: absolute; left: 0; top: 0; bottom: 0; border-radius: 6px; background: var(--up); transition: width .25s var(--ease); }
.meter.over i { background: var(--orange); }

.ctable { min-width: 560px; }
.ctable th, .ctable td { padding: 12px 16px; }
.ctable thead th { vertical-align: bottom; font-size: 14px; color: var(--ink); font-weight: 500; white-space: normal; }
.ctable thead th small { display: block; font-size: 12px; font-weight: 400; color: var(--ink-2); margin-top: 2px; }
.ctable td:not(:first-child), .ctable th:not(:first-child) { text-align: center; width: 18%; }
.ctable td small { display: block; font-size: 12px; line-height: 16px; color: var(--ink-3); margin-top: 2px; }
.ctable tr.grp th { padding-top: 26px; font-size: 12px; color: var(--ink-3); border-bottom: 1px solid var(--line); text-align: left; }
.ctable .yes { display: inline-grid; place-items: center; color: var(--ink); }
.ctable .rec-col { background: rgba(255, 255, 255, .025); }

/* faq accordion (pricing, support) */
.faq-grid { display: grid; grid-template-columns: 320px minmax(0, 1fr); gap: 32px 48px; }
.faq-grid > div:first-child { position: sticky; top: calc(var(--header-h) + var(--banner-h) + 32px); align-self: start; }
.faq { border-top: 1px solid var(--line); min-width: 0; }
.faq details { border-bottom: 1px solid var(--line); }
.faq summary { list-style: none; display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; padding: 18px 0; font-size: 16px; line-height: 24px; font-weight: 500; color: var(--ink); cursor: pointer; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary:hover { color: var(--white); }
.pm { position: relative; flex: none; width: 14px; height: 14px; margin-top: 5px; }
.pm::before, .pm::after { content: ""; position: absolute; left: 0; right: 0; top: 6px; height: 2px; border-radius: 2px; background: var(--ink-2); transition: transform .2s var(--ease); }
.pm::after { transform: rotate(90deg); }
.faq details[open] .pm::after { transform: rotate(0deg); }
.ans { padding: 0 32px 20px 0; font-size: 15px; line-height: 24px; color: var(--ink-2); }
.ans p + p { margin-top: 10px; }
.ans a { color: var(--ink); text-decoration: underline; text-decoration-color: var(--line-3); text-underline-offset: 3px; }
.btn[hidden] { display: none; }
.faq .cat { flex: none; width: 64px; margin-right: 6px !important; padding-top: 5px; font-size: 11px; line-height: 14px; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-3); font-weight: 500; margin-right: 10px; }
.faq summary .q { flex: 1; min-width: 0; }

/* ---------- research ---------- */
.rtabs { display: flex; gap: 8px; position: relative; z-index: 1; margin-bottom: -1px; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; }
.rtabs::-webkit-scrollbar { display: none; }
.rtab { position: relative; flex: none; height: 48px; padding: 0 76px 0 24px; font-size: 14px; line-height: 20px; color: var(--ink-2); text-align: left; transition: color .15s; }
.rtab::before, .rtab::after { content: ""; position: absolute; top: 0; height: 100%; border-top: 1px solid var(--line-3); pointer-events: none; }
.rtab::before { left: 0; right: 48px; border-left: 1px solid var(--line-3); border-top-left-radius: 10px; }
.rtab::after { right: 48px; width: 48px; border-right: 1px solid var(--line-3); transform: skewX(45deg); transform-origin: top left; }
.rtab span { position: relative; z-index: 1; }
.rtab:hover { color: var(--ink); }
.rtab[aria-selected="true"] { color: var(--ink); }
.rtab[aria-selected="true"]::before, .rtab[aria-selected="true"]::after { background: var(--bg); }
.rtab:not([aria-selected="true"])::before, .rtab:not([aria-selected="true"])::after { height: calc(100% - 1px); }
.rpanel { border: 1px solid var(--line-3); border-radius: 0 12px 12px 12px; padding: 44px var(--gutter) 40px; }
.rcards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 22px; }
.rcard { position: relative; display: block; width: 100%; aspect-ratio: 3 / 4; text-align: left; transition: transform .3s var(--ease); }
.rcard:nth-child(3n + 1) { transform: rotate(-.6deg); }
.rcard:nth-child(3n + 2) { transform: rotate(.35deg); }
.rcard:nth-child(3n) { transform: rotate(.7deg); }
.rcard:hover, .rcard:focus-visible { transform: translateY(-6px) rotate(0deg); }
.rcard:focus-visible { outline-offset: 6px; }
.paper-back { position: absolute; inset: 6px -3px -4px 5px; background: #bdbdb9; transform: rotate(1.6deg); border-radius: 2px; box-shadow: 0 18px 40px -18px rgba(0, 0, 0, .9); }
.paper { position: absolute; inset: 0; overflow: hidden; color: #1b1b1b; background-color: #e7e7e4;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .34 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E"),
    repeating-linear-gradient(0deg, rgba(0, 0, 0, .06) 0 1px, transparent 1px 14px),
    repeating-linear-gradient(90deg, rgba(0, 0, 0, .06) 0 1px, transparent 1px 14px);
  clip-path: polygon(0 0, calc(100% - 40px) 0, 100% 40px, 100% 100%, 0 100%);
}
.paper::after { content: ""; position: absolute; inset: 0; background: linear-gradient(160deg, rgba(255, 255, 255, .35), rgba(255, 255, 255, 0) 40%, rgba(0, 0, 0, .06)); pointer-events: none; }
.fold { position: absolute; top: 0; right: 0; width: 40px; height: 40px; background: linear-gradient(225deg, transparent 50%, #c6c6c2 50%, #d9d9d6 100%); filter: drop-shadow(-2px 3px 2px rgba(0, 0, 0, .25)); }
.holes { position: absolute; left: 14px; top: 0; bottom: 0; display: flex; flex-direction: column; justify-content: space-around; padding: 6% 0 20%; }
.holes i { width: 9px; height: 9px; border-radius: 50%; background: #050505; box-shadow: inset 0 1px 1px rgba(255, 255, 255, .15); }
.paper-art { position: absolute; left: 13%; right: 9%; top: 9%; height: 52%; }
.paper-art svg { width: 100%; height: 100%; }
.paper-title { position: absolute; left: 13%; right: 9%; bottom: 17%; font-family: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif; font-size: 18px; line-height: 21px; letter-spacing: -0.01em; color: #1a1a1a; }
.paper-meta { position: absolute; left: 13%; right: 9%; bottom: 6%; display: flex; justify-content: space-between; align-items: center; gap: 8px; font-family: var(--mono); font-size: 10.5px; line-height: 14px; letter-spacing: .02em; color: #4a4a4a; text-transform: uppercase; }
.paper-meta em { font-style: normal; display: inline-flex; align-items: center; height: 20px; padding: 0 8px; border-radius: 999px; background: #151515; color: #e9e9e9; font-family: Inter, sans-serif; letter-spacing: .06em; font-size: 10px; font-weight: 600; }
.rcards .rcard[hidden] { display: none; }

.rdialog { margin: auto; border: 1px solid var(--line-2); border-radius: 14px; background: var(--canvas); color: var(--ink); padding: 0; width: min(600px, calc(100vw - 32px)); max-height: calc(100vh - 48px); overflow: auto; box-shadow: 0 40px 100px -30px rgba(0, 0, 0, .95); }
.rdialog::backdrop { background: rgba(0, 0, 0, .72); }
.rdialog-art { position: relative; height: 220px; background: #e4e4e1; border-bottom: 1px solid var(--line); overflow: hidden; }
.rdialog-art .paper { clip-path: none; }
.rdialog-art .holes { display: none; }
.rdialog-art .paper-art { left: 8%; right: 8%; top: 10%; height: 80%; }
.rdialog-body { padding: 24px 24px 26px; }
.rdialog-body .micro { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.rdialog-body h2 { margin-top: 12px; font-size: 28px; line-height: 34px; font-weight: 500; letter-spacing: -0.02em; }
.rdialog-body .body { margin-top: 12px; }
.rdialog-body ul { margin-top: 14px; display: grid; gap: 8px; font-size: 14px; line-height: 20px; color: var(--ink-2); }
.rdialog-body li { display: flex; gap: 10px; }
.rdialog-body li::before { content: ""; flex: none; width: 5px; height: 5px; margin-top: 8px; background: var(--ink-3); transform: skewX(-9.6deg); }
.rdialog-foot { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 22px; padding-top: 16px; border-top: 1px solid var(--line); }
.rdialog-foot p { font-size: 14px; color: var(--ink); }
.rdialog-x { position: absolute; top: 12px; right: 12px; width: 32px; height: 32px; border-radius: 8px; display: grid; place-items: center; background: rgba(0, 0, 0, .65); color: var(--white); z-index: 2; }
.rdialog-x:hover { background: #000; }

.live-block { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.live-block > div { padding: 40px var(--gutter); min-width: 0; }
.live-block > div + div { border-left: 1px solid var(--line); }
.live-stat { margin-top: 18px; display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.live-stat .stat { font-variant-numeric: tabular-nums; }
.split { display: flex; height: 10px; border-radius: 999px; overflow: hidden; background: var(--panel-3); margin-top: 14px; }
.split i { display: block; background: var(--up); transition: width .4s var(--ease); }
.split b { display: block; flex: 1; background: var(--down); opacity: .85; }
.split-legend { display: flex; justify-content: space-between; gap: 12px; margin-top: 8px; font-size: 12px; line-height: 16px; color: var(--ink-2); }
.split-legend .up, .split-legend .down { font-variant-numeric: tabular-nums; }
.live-sub { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 24px; }
.live-sub > div { padding: 14px; border: 1px solid var(--line); border-radius: 10px; background: var(--canvas); min-width: 0; }
.live-sub dt { font-size: 12px; color: var(--ink-2); }
.live-sub dd { margin-top: 4px; font-size: 20px; line-height: 28px; font-weight: 500; font-variant-numeric: tabular-nums; }
.pool-rows { margin-top: 14px; border-top: 1px solid var(--line); }
.pool-row { display: grid; grid-template-columns: minmax(0, 1fr) 120px 56px; align-items: center; gap: 14px; padding: 10px 0; border-bottom: 1px solid var(--line); font-size: 14px; }
.pool-row .tok b { font-size: 14px; }
.pool-row .mini { height: 6px; border-radius: 6px; overflow: hidden; display: flex; background: var(--panel-3); }
.pool-row .mini i { background: var(--up); }
.pool-row .mini b { flex: 1; background: var(--down); opacity: .8; }
.pool-row .pct { text-align: right; font-variant-numeric: tabular-nums; color: var(--ink); }

/* ---------- support ---------- */
.help-search { display: flex; align-items: center; gap: 10px; max-width: 600px; height: 52px; margin-top: 28px; padding: 0 8px 0 16px; border: 1px solid var(--line-2); border-radius: 12px; background: var(--canvas); color: var(--ink-2); }
.help-search:focus-within { border-color: #4a4a4a; }
.help-search input { flex: 1; min-width: 0; height: 100%; background: transparent; border: 0; outline: 0; font-size: 16px; color: var(--ink); }
.help-search input::placeholder { color: var(--ink-3); }
.help-search .kbd { flex: none; }
.cats { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.cat-card { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding: 24px var(--gutter) 26px; text-align: left; min-width: 0; transition: background-color .15s; }
.cat-card + .cat-card { border-left: 1px solid var(--line); }
.cat-card:hover { background: rgba(255, 255, 255, .02); }
.cat-card[aria-pressed="true"] { background: var(--canvas); }
.cat-card .glyph { color: var(--ink); }
.cat-card .glyph svg { width: 15px; height: 15px; }
.cat-card b { font-size: 15px; font-weight: 500; color: var(--ink); }
.cat-card span.small { color: var(--ink-2); }
.cat-card .count { font-size: 12px; color: var(--ink-3); }
.faq-tools { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 16px; }
.faq-empty { padding: 28px 0; border-bottom: 1px solid var(--line); color: var(--ink-2); font-size: 15px; }
.faq details[hidden] { display: none; }
mark.hit { background: rgba(255, 155, 109, .22); color: var(--ink); border-radius: 3px; padding: 0 1px; }
.contact { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line); }
.contact > div { padding: 32px var(--gutter) 36px; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.contact > div + div { border-left: 1px solid var(--line); }
.contact h3 { font-size: 16px; line-height: 24px; font-weight: 500; margin-top: 6px; }
.contact p { font-size: 14px; line-height: 20px; color: var(--ink-2); }
.contact .btn { margin-top: 10px; }

/* ---------- about ---------- */
.quad { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line); }
.quad > div { padding: 36px var(--gutter) 40px; min-width: 0; }
.quad > div:nth-child(even) { border-left: 1px solid var(--line); }
.quad > div:nth-child(n + 3) { border-top: 1px solid var(--line); }
.quad .glyph { width: 34px; height: 34px; color: var(--ink); }
.quad .glyph svg { width: 16px; height: 16px; }
.quad h3 { margin-top: 18px; font-size: 18px; line-height: 24px; font-weight: 500; }
.quad p { margin-top: 8px; font-size: 15px; line-height: 23px; color: var(--ink-2); max-width: 420px; }
.why { display: grid; grid-template-columns: minmax(0, 1fr) 420px; gap: 48px; align-items: center; }
.why .body + .body { margin-top: 14px; }
.why-art { position: relative; aspect-ratio: 1 / 1; border-radius: 14px; border: 1px solid var(--line); background: radial-gradient(90% 70% at 30% 20%, #17191d 0%, #050505 70%); overflow: hidden; }
.why-art img { position: absolute; left: 50%; top: 50%; width: 46%; transform: translate(-50%, -50%); }
.why-art .lab { position: absolute; left: 14px; bottom: 12px; font-family: var(--mono); font-size: 11px; letter-spacing: .04em; color: var(--ink-3); text-transform: uppercase; }
.how { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.how > div { padding: 32px var(--gutter) 36px; min-width: 0; }
.how > div + div { border-left: 1px solid var(--line); }
.how .n { font-family: var(--mono); font-size: 12px; letter-spacing: 0; color: var(--ink-3); }
.how h3 { margin-top: 18px; font-size: 18px; line-height: 24px; font-weight: 500; }
.how p { margin-top: 8px; font-size: 15px; line-height: 23px; color: var(--ink-2); }
.roadmap { margin-top: 32px; border-top: 1px solid var(--line); }
.rm { display: grid; grid-template-columns: 96px 260px minmax(0, 1fr); gap: 8px 24px; align-items: start; padding: 16px 0; border-bottom: 1px solid var(--line); }
.rm .tag, .rm .pill-live { justify-self: start; }
.rm b { font-size: 15px; line-height: 22px; font-weight: 500; color: var(--ink); }
.rm p { font-size: 14px; line-height: 21px; color: var(--ink-2); }
.rm p a { color: var(--ink); text-decoration: underline; text-decoration-color: var(--line-3); text-underline-offset: 3px; }

/* ---------- legal ---------- */
.legal { display: grid; grid-template-columns: 220px minmax(0, 1fr); border-top: 1px solid var(--line); }
.legal-side { border-right: 1px solid var(--line); min-width: 0; }
.legal-side nav { position: sticky; top: calc(var(--header-h) + var(--banner-h)); padding: 32px 16px 32px var(--gutter); }
.legal-side h4 { font-size: 12px; font-weight: 400; color: var(--ink-3); margin-bottom: 10px; }
.legal-side ol { display: grid; gap: 2px; }
.legal-side a { display: block; padding: 4px 0; font-size: 13px; line-height: 18px; color: var(--ink-2); }
.legal-side a:hover, .legal-side a.on { color: var(--ink); }
.legal-main { padding: 40px 40px 96px; min-width: 0; }
.legal-main .prose h2 { scroll-margin-top: calc(var(--header-h) + var(--banner-h) + 16px); }
.legal-main .prose h2:first-of-type { margin-top: 32px; }
.legal-note { display: flex; gap: 12px; align-items: flex-start; padding: 14px 16px; border-radius: 10px; border: 1px solid rgba(255, 155, 109, .35); background: rgba(255, 119, 78, .08); color: var(--ink); font-size: 14px; line-height: 20px; max-width: 720px; }
.legal-note .tag { flex: none; }
.ph { color: var(--orange); }

/* ---------- responsive ---------- */
@media (max-width: 1080px) {
  .client-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .api-browser { grid-template-columns: 330px minmax(0, 1fr); }
  .hero-split { grid-template-columns: minmax(0, 1fr) 360px; }
  .cats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .cats .cat-card:nth-child(4) { border-left: 0; }
  .cats .cat-card:nth-child(n + 4) { border-top: 1px solid var(--line); }
}
@media (max-width: 900px) {
  .doc-layout, .agent-layout, .legal { grid-template-columns: minmax(0, 1fr); }
  .doc-side, .agent-side, .legal-side { border-right: 0; border-bottom: 1px solid var(--line); }
  .doc-side nav, .agent-side nav, .legal-side nav { position: static; max-height: none; overflow: visible; padding: 20px var(--gutter); }
  .doc-side ul { display: flex; flex-wrap: wrap; gap: 6px; }
  .doc-side a { margin-left: 0; padding: 0 12px; height: 32px; display: inline-flex; align-items: center; border: 1px solid var(--line-2); border-radius: 999px; font-size: 13px; }
  .doc-side a.on { background: transparent; }
  .doc-side .side-foot { display: none; }
  .agent-side ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; }
  .legal-side { display: none; }
  .doc-sec { padding: 44px var(--gutter); }
  .agent-guide { padding: 36px var(--gutter) 44px; }
  .legal-main { padding: 32px var(--gutter) 72px; }
  .hero-split { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .hero-split .page-hero { padding-right: var(--gutter); }
  .hero-split > aside { padding: 0 var(--gutter) 40px; }
  .api-intro { grid-template-columns: minmax(0, 1fr); }
  .api-intro > div + div { border-left: 0; border-top: 1px solid var(--line); }
  .api-browser { grid-template-columns: minmax(0, 1fr); }
  .resp-grid { grid-template-columns: minmax(0, 1fr); }
  .resp-grid > div:first-child { padding-right: 0; padding-bottom: 40px; }
  .resp-grid > div + div { padding-left: 0; padding-top: 40px; border-left: 0; border-top: 1px solid var(--line); }
  .ep-list { position: static; border-bottom: 1px solid var(--line); }
  .ep-detail { padding: 28px var(--gutter) 36px; border-left: 0; }
  .plans { grid-template-columns: minmax(0, 1fr); }
  .plan + .plan { border-left: 0; border-top: 1px solid var(--line); }
  .calc { grid-template-columns: minmax(0, 1fr); }
  .calc-out { border-left: 0; border-top: 1px solid var(--line); }
  .faq-grid { grid-template-columns: minmax(0, 1fr); }
  .faq-grid > div:first-child { position: static; }
  .rcards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .live-block { grid-template-columns: minmax(0, 1fr); }
  .live-block > div + div { border-left: 0; border-top: 1px solid var(--line); }
  .contact { grid-template-columns: minmax(0, 1fr); }
  .contact > div + div { border-left: 0; border-top: 1px solid var(--line); }
  .why { grid-template-columns: minmax(0, 1fr); }
  .why-art { max-width: 420px; aspect-ratio: 16 / 10; }
  .how { grid-template-columns: minmax(0, 1fr); }
  .how > div + div { border-left: 0; border-top: 1px solid var(--line); }
  .cta-band { grid-template-columns: minmax(0, 1fr); padding: 72px var(--gutter); }
}
@media (max-width: 767px) {
  .doc-sec > h2, .guide-h h2 { font-size: 26px; line-height: 32px; }
  .steps-3 { grid-template-columns: minmax(0, 1fr); }
  .steps-3 > div + div { border-left: 0; border-top: 1px solid var(--line); }
  .client-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .deflist { grid-template-columns: minmax(0, 1fr); }
  .deflist dt { border-bottom: 0; padding-bottom: 0; }
  .deflist dd { padding-top: 4px; }
  .changelog li { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  .guide-meta { grid-template-columns: minmax(0, 1fr); }
  .agent-side ul { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .gsteps > li { padding-left: 38px; font-size: 14.5px; }
  .tool { grid-template-columns: minmax(0, 1fr); }
  .tool-cost { grid-column: 1; grid-row: auto; text-align: left; }
  .rtab { height: 42px; padding: 0 52px 0 16px; font-size: 13px; }
  .rtab::before { right: 42px; }
  .rtab::after { right: 42px; width: 42px; }
  .rpanel { padding: 32px 16px 28px; }
  .paper-title { font-size: 19px; line-height: 23px; }
  .live-sub { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .pool-row { grid-template-columns: minmax(0, 1fr) 72px 48px; gap: 10px; }
  .cats { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .cats .cat-card { border-left: 0; }
  .cats .cat-card:nth-child(even) { border-left: 1px solid var(--line); }
  .cats .cat-card:nth-child(n + 3) { border-top: 1px solid var(--line); }
  .cats .cat-card span.small { display: none; }
  .quad { grid-template-columns: minmax(0, 1fr); }
  .quad > div:nth-child(even) { border-left: 0; }
  .quad > div + div { border-top: 1px solid var(--line); }
  .rm { grid-template-columns: minmax(0, 1fr); gap: 6px; }
  .calc-plan { font-size: 34px; line-height: 40px; }
  .ans { padding-right: 0; }
  .help-search .kbd { display: none; }
  .copybox code { font-size: 13px; }
  /* error tables become stacked rows */
  .err-tbl thead { display: none; }
  .err-tbl, .err-tbl tbody { display: block; width: 100%; }
  .err-tbl tr { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; padding: 12px 14px; border-bottom: 1px solid var(--line); }
  .err-tbl tr:last-child { border-bottom: 0; }
  .err-tbl td { display: block; padding: 0; border: 0; }
  .err-tbl td:last-child { flex-basis: 100%; color: var(--ink-2); }
  .resp-grid .err-tbl tr { padding-left: 0; padding-right: 0; }
  /* compare table fits a phone */
  .ctable { min-width: 0; font-size: 13px; }
  .ctable th, .ctable td { padding: 10px 6px; }
  .ctable td:first-child, .ctable th:first-child { padding-left: 12px; }
  .ctable td:not(:first-child), .ctable th:not(:first-child) { width: 19%; }
  .ctable thead th { font-size: 13px; }
  /* research cards swipe sideways */
  .rcards { display: flex; gap: 18px; overflow-x: auto; scroll-snap-type: x mandatory; margin: -12px -16px; padding: 12px 22px 16px; scrollbar-width: none; }
  .rcards::-webkit-scrollbar { display: none; }
  .rcard { flex: 0 0 80%; scroll-snap-align: center; }
  .cats .cat-card:last-child:nth-child(odd) { grid-column: 1 / -1; }
}
