/* Company pages: hooks, burn, docs, changelog, stats, security, press, proof, whitepaper.
   Uses the system tokens only. The idea: open books. Every rule says who holds it, every number is live,
   and long reading is set like a well made manual: a narrow measure, a quiet margin, numbers in tabular figures. */

/* ---------- page head ---------- */
.co-head { display: grid; gap: 18px; max-width: 900px; margin-bottom: clamp(40px, 6vw, 72px); }
.co-head .h1 { text-wrap: balance; }
.co-lede { max-width: 58ch; text-wrap: pretty; }
.co-lede a { color: var(--ink); border-bottom: 1px solid var(--line-strong); }

/* ---------- reading layout (docs, whitepaper, security) ---------- */
.co-reader { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: clamp(32px, 6vw, 112px); align-items: start; }
.co-aside { position: sticky; top: 28px; display: grid; gap: 36px; padding-top: 10px; font-size: var(--t-sm); max-height: calc(100vh - 56px); overflow: auto; }
.co-docnav { display: grid; }
.co-docnav a { padding: 9px 0; color: var(--ink-3); transition: color 0.2s; border-bottom: 1px solid var(--line); }
.co-docnav a:first-child { border-top: 1px solid var(--line); }
.co-docnav a:hover { color: var(--ink); }
.co-docnav a[aria-current='page'] { color: var(--ink); font-weight: 600; }
.co-aside-title { color: var(--ink-3); margin-bottom: 10px; }
.co-toc { display: grid; gap: 8px; }
.co-toc a { color: var(--ink-2); line-height: 1.35; transition: color 0.2s; }
.co-toc a:hover { color: var(--ink); }
.co-article { min-width: 0; }
.co-head-doc { margin-bottom: clamp(32px, 5vw, 56px); }
.co-head-doc .h1 { font-size: var(--t-3xl); letter-spacing: -0.03em; }

.co-prose { max-width: 66ch; font-size: 1.0625rem; line-height: 1.72; }
.co-prose > * + * { margin-top: 1.05em; }
.co-prose h2 { scroll-margin-top: 24px; margin-top: 2.6em; padding-top: 1.1em; border-top: 1px solid var(--line); font-size: var(--t-xl); letter-spacing: -0.015em; }
.co-prose h2:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.co-prose h3 { scroll-margin-top: 24px; font-size: var(--t-lg); margin-top: 2em; }
.co-prose h2 + *, .co-prose h3 + * { margin-top: 0.7em; }
.co-prose ol, .co-prose ul { padding-left: 1.3em; }
.co-prose ol > li::marker { color: var(--ink-3); font-variant-numeric: tabular-nums; }
.co-prose ul > li::marker { color: var(--ink-3); }
.co-prose li { padding-left: 0.2em; }
.co-prose .table-wrap, .co-prose .ledger, .co-prose .co-kv, .co-prose .co-tools, .co-prose .co-errands { max-width: none; }
.co-reader-wide .co-prose .ledger { width: min(100%, 980px); }
.doc-table { font-size: var(--t-sm); line-height: 1.5; }
.doc-table td { color: var(--ink-2); }
.doc-table td:first-child { color: var(--ink); font-weight: 600; white-space: nowrap; }
.doc-note { font-size: var(--t-md); line-height: 1.6; color: var(--ink); border-color: var(--line-strong); }

/* A job in a person's words. */
.job-lines { display: grid; gap: 4px; margin-block: 1.4em; }
.co-prose .job-lines + p { margin-top: 1.2em; }
.job-line { font-size: var(--t-xl); line-height: 1.38; color: var(--ink); padding: 12px 0; border-bottom: 1px solid var(--line); text-wrap: pretty; }
.job-line:first-child { border-top: 1px solid var(--line); }
.co-prose h2 + .job-lines .job-line:first-child, .co-prose h3 + .job-lines .job-line:first-child { border-top: 0; padding-top: 4px; }
.slot { font-family: var(--sans); font-style: normal; font-weight: 400; font-size: 0.72em; color: var(--ink-2); text-decoration: underline dotted var(--ink-3); text-underline-offset: 5px; text-decoration-thickness: 2px; white-space: nowrap; }

.co-next { margin-top: 3.2em !important; padding-top: 1.4em; border-top: 1px solid var(--line); }
.co-next-link { display: inline-grid; gap: 4px; font-size: var(--t-xl); color: var(--ink); border: 0 !important; font-weight: 600; letter-spacing: -0.015em; }
.co-next-link .quiet { font-size: var(--t-sm); font-weight: 400; letter-spacing: 0; }

/* ---------- the rules ledger ---------- */
.ledger { display: grid; gap: 34px; font-size: var(--t-sm); color: var(--ink-2); margin-block: 1.6em; }
.ledger-key { display: grid; grid-template-columns: minmax(0, 1fr) minmax(150px, 0.62fr) 104px; gap: 24px; color: var(--ink-3); padding-bottom: 10px; border-bottom: 1px solid var(--line-strong); }
.ledger-key span:nth-child(3) { text-align: right; }
.ledger-group-title { font-size: var(--t-md) !important; color: var(--ink); font-weight: 600; margin: 0 0 4px !important; padding: 0 !important; border: 0 !important; letter-spacing: -0.01em; }
.ledger-rows { margin: 0; }
.ledger-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(150px, 0.62fr) 104px; gap: 24px; padding: 14px 0; border-bottom: 1px solid var(--line); align-items: baseline; }
.ledger-row dt { color: var(--ink); line-height: 1.45; }
.ledger-note { display: block; color: var(--ink-3); margin-top: 4px; line-height: 1.5; }
.ledger-row dd { margin: 0; }
.ledger-value { color: var(--ink); font-size: var(--t-md); line-height: 1.4; font-weight: 500; }
.ledger-by { text-align: right; color: var(--ink-3); white-space: nowrap; }
.ledger-by.by-contract { color: var(--ink); font-weight: 600; }
.ledger-compact { gap: 26px; }

/* ---------- key and value rows, live lines ---------- */
.co-kv { grid-template-columns: minmax(150px, max-content) minmax(0, 1fr); font-size: var(--t-sm); }
.co-kv dd { overflow-wrap: anywhere; }
.co-prose .co-kv { font-size: var(--t-sm); }
.ex { color: var(--ink); border-bottom: 1px solid var(--line-strong); transition: border-color 0.2s; }
.ex:hover { border-bottom-color: var(--ink); }
.ex-full { word-break: break-all; }
.co-empty-line { color: var(--ink-2); padding: 18px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); max-width: 66ch; }
.co-copyline { display: flex; flex-wrap: wrap; gap: 12px 16px; align-items: center; padding: 14px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.co-copytext { font-size: var(--t-md) !important; background: none !important; padding: 0 !important; overflow-wrap: anywhere; flex: 1 1 260px; }
.co-cell-note { display: block; color: var(--ink-3); margin-top: 4px; font-size: var(--t-xs); line-height: 1.5; }
.co-errand-route { color: var(--ink-2); }
.co-errand-route strong { color: var(--ink); }

/* MCP tools */
.co-tools { display: grid; border-top: 1px solid var(--line); }
.co-tool { display: grid; grid-template-columns: minmax(170px, 0.4fr) minmax(0, 1fr); column-gap: 28px; padding: 16px 0; border-bottom: 1px solid var(--line); font-size: var(--t-sm); line-height: 1.55; }
.co-tool-name code { font-weight: 600; }
.co-tool-text { color: var(--ink); }
.co-tool-args { grid-column: 2; margin-top: 4px !important; }
.co-tool > * + * { margin: 0; }

/* API routes */
.co-routes td { vertical-align: top; }
.co-route { white-space: nowrap; }
.co-method { display: inline-block; min-width: 52px; color: var(--ink-3); font-size: var(--t-xs); font-weight: 600; letter-spacing: 0.02em; }
.co-routes code { background: none !important; padding: 0 !important; }

/* ---------- sections on data pages ---------- */
.co-section { padding-top: clamp(40px, 6vw, 64px); margin-top: clamp(40px, 6vw, 64px); border-top: 1px solid var(--line); }
.co-section-head { display: grid; gap: 8px; margin-bottom: 26px; max-width: 70ch; }
.co-stats { margin-top: 8px; }
.co-stats .stat-value { font-size: var(--t-2xl); }
.co-more { display: flex; flex-wrap: wrap; gap: 14px 28px; margin-top: clamp(40px, 6vw, 64px); }

/* ---------- hooks ---------- */
.co-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(24px, 4vw, 64px); align-items: center; margin-bottom: clamp(32px, 5vw, 56px); }
.co-hero .co-head { margin-bottom: 0; }
.co-hero-art { width: 100%; }
.co-figure { width: 100%; height: auto; }
.co-choices { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line-strong); }
.co-choice { display: grid; gap: 16px; align-content: start; padding: 28px clamp(18px, 2.4vw, 36px) 32px 0; }
.co-choice + .co-choice { border-left: 1px solid var(--line); padding-left: clamp(18px, 2.4vw, 36px); }
.co-choice-text { color: var(--ink-2); line-height: 1.6; max-width: 46ch; }
.co-choice-state { color: var(--ink-2); font-size: var(--t-sm); padding: 12px 0; border-top: 1px solid var(--line); }
.co-choice.is-closed h2 { color: var(--ink-2); }
.co-choice-contract { font-size: var(--t-sm); display: flex; gap: 10px; }
.co-mini { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: 14px 20px; margin: 0; padding: 16px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.co-mini > div { display: grid; gap: 4px; }
.co-mini dt { color: var(--ink-3); font-size: var(--t-xs); }
.co-mini dd { margin: 0; font-size: var(--t-md); font-weight: 600; letter-spacing: -0.01em; }

/* ---------- burn ---------- */
.co-now { display: grid; gap: 28px; }
.co-now-state { font-size: var(--t-xl); letter-spacing: -0.01em; }
.co-rule .co-prose { max-width: 70ch; }
.co-rule .co-prose ol > li { margin-top: 0.8em; }
.co-columns-wrap { overflow-x: auto; margin-bottom: 20px; }
.co-columns { height: 140px; width: auto; max-width: none; }
.co-burns { border-top: 1px solid var(--line); }
.co-burnrow { border-bottom: 1px solid var(--line); }
.co-burnrow > summary { list-style: none; cursor: pointer; display: grid; grid-template-columns: 1.3fr 1.2fr 1fr 0.9fr 0.9fr 1fr; gap: 16px; align-items: baseline; padding: 14px 0; font-size: var(--t-sm); }
.co-burnrow > summary::-webkit-details-marker { display: none; }
.co-burnrow > summary:hover .co-br-time { color: var(--ink); }
.co-burnrow[open] > summary { color: var(--ink); }
.co-br-amt .quiet { margin-left: 6px; }
.co-br-kind { color: var(--ink-2); }
.co-br-tx { display: flex; gap: 14px; }
.co-br-check { text-align: right; color: var(--ink-2); }
.co-br-check.is-off { color: var(--ink); font-weight: 700; }
.co-br-detail { margin: 0 0 18px; padding: 4px 0 4px 18px; border-left: 1px solid var(--line); max-width: 760px; }

/* ---------- stats ---------- */
.co-statgroup { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 24px clamp(24px, 5vw, 80px); padding: clamp(28px, 4vw, 44px) 0; border-top: 1px solid var(--line); }
.co-statgroup-head { display: grid; gap: 8px; align-content: start; }
.co-statlist { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 30px 36px; margin: 0; }
.co-stat { display: flex; flex-direction: column; gap: 8px; }
.co-stat-value { margin: 0; font-size: var(--t-3xl); font-weight: 600; letter-spacing: -0.035em; line-height: 1.02; overflow-wrap: anywhere; }
.co-stat-value { white-space: nowrap; }
.co-unit { font-size: 0.42em; font-weight: 500; letter-spacing: 0; color: var(--ink-2); margin-left: 0.35em; }
.co-stat-label { color: var(--ink-2); font-size: var(--t-sm); line-height: 1.45; display: grid; gap: 4px; }
.co-foot { margin-top: 32px; padding-top: 20px; border-top: 1px solid var(--line); }

/* ---------- proof ---------- */
.co-events { display: grid; border-top: 1px solid var(--line); }
.co-event { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--line); align-items: baseline; }
.co-event-meta { display: inline-flex; gap: 16px; font-size: var(--t-sm); white-space: nowrap; }
.co-contracts td:nth-child(2) { max-width: 46ch; }

/* ---------- changelog ---------- */
.co-day { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 24px clamp(32px, 6vw, 112px); padding: clamp(32px, 5vw, 48px) 0; border-top: 1px solid var(--line-strong); }
.co-day-date { font-size: var(--t-xl); font-weight: 600; letter-spacing: -0.015em; position: sticky; top: 24px; align-self: start; }
.co-day-entries { display: grid; max-width: 70ch; }
.co-entry { padding: 22px 0; border-bottom: 1px solid var(--line); }
.co-entry:first-child { padding-top: 0; }
.co-entry:last-child { border-bottom: 0; }
.co-entry ul { margin: 12px 0 0; padding-left: 1.2em; color: var(--ink-2); display: grid; gap: 8px; line-height: 1.6; }
.co-entry li::marker { color: var(--ink-3); }

/* ---------- press ---------- */
.co-press-about .h3, .co-press .co-section > .h3 { margin-bottom: 22px; }
.co-copyblock { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px; align-items: start; max-width: 980px; }
.co-press-para { font-size: var(--t-xl); line-height: 1.5; letter-spacing: -0.01em; text-wrap: pretty; }
.co-marks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(20px, 3vw, 40px); max-width: 980px; }
.co-markcard { margin: 0; display: grid; gap: 14px; }
.co-markart { aspect-ratio: 4 / 3; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 14px; }
.mark-black-on-white .co-markart { background: #fff; border-color: #fff; }
.co-markart img { width: 62%; height: auto; }
.co-markcard figcaption { display: flex; justify-content: space-between; gap: 12px; font-size: var(--t-sm); color: var(--ink-2); }
.co-dl { display: inline-flex; gap: 16px; }
.co-swatches { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 20px; max-width: 980px; }
.co-swatch { display: grid; gap: 6px; font-size: var(--t-sm); }
.co-chip { display: block; aspect-ratio: 1 / 1; border-radius: 12px; border: 1px solid var(--line); margin-bottom: 8px; }
.co-type { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; max-width: 980px; margin-top: 40px; }
.co-type-item { display: grid; gap: 6px; padding-top: 20px; border-top: 1px solid var(--line); }
.co-type-sample { font-size: clamp(64px, 9vw, 120px); line-height: 1; letter-spacing: -0.04em; font-weight: 500; margin-bottom: 10px; }

/* ---------- small screens ---------- */
@media (max-width: 900px) {
  .co-reader { grid-template-columns: minmax(0, 1fr); }
  .co-aside { position: static; max-height: none; order: 0; gap: 24px; }
  .co-toc { display: none; }
  .co-docnav { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 20px; }
  .co-docnav a:nth-child(2) { border-top: 1px solid var(--line); }
  .co-hero { grid-template-columns: minmax(0, 1fr); }
  .co-choices { grid-template-columns: minmax(0, 1fr); }
  .co-choice, .co-choice + .co-choice { padding: 26px 0; border-left: 0; }
  .co-choice + .co-choice { border-top: 1px solid var(--line); }
  .co-statgroup, .co-day { grid-template-columns: minmax(0, 1fr); }
  .co-day-date { position: static; }
  .co-burnrow > summary { grid-template-columns: 1fr 1fr; row-gap: 6px; }
  .co-br-check { text-align: left; }
  .co-marks, .co-type { grid-template-columns: minmax(0, 1fr); }
  .co-swatches { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .ledger-key { display: none; }
  .ledger-row { grid-template-columns: minmax(0, 1fr) auto; gap: 6px 16px; }
  .ledger-row dt { grid-column: 1 / -1; }
  .ledger-value { font-size: var(--t-sm); }
  .co-tool { grid-template-columns: minmax(0, 1fr); }
  .co-tool-args { grid-column: 1; }
  .co-copyblock { grid-template-columns: minmax(0, 1fr); }
  .co-press-para { font-size: var(--t-lg); }
  .co-event { grid-template-columns: minmax(0, 1fr); gap: 6px; }
  .co-kv { grid-template-columns: minmax(0, 1fr); }
  .co-kv > dt { border-bottom: 0; padding-bottom: 0; }
  .co-kv > dd { padding-top: 4px; }
  .job-line { font-size: var(--t-lg); }
  .co-docnav { grid-template-columns: minmax(0, 1fr); }
  .co-docnav a:nth-child(2) { border-top: 0; }
}
.co-burnrow-none { display: flex; gap: 24px; padding: 12px 0; border-bottom: 1px solid var(--line); font-size: var(--t-sm); }
