/* prefill-spec: page styles */
    .pv-sec{margin:26px 0;}
    .pv-sec h2{font-size:18px;margin:0 0 4px;}
    .pv-sec .sub{font-size:12.5px;color:var(--muted);margin:0 0 12px;}
    table.cmp.pv td.k{font-weight:bold;color:var(--ink);white-space:nowrap;}
    table.cmp.pv .mono{font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;font-size:11px;}
    table.cmp.pv td{vertical-align:top;}
    .callout{border-left:3px solid var(--accent2);background:var(--panel2);border-radius:8px;padding:10px 14px;font-size:13px;line-height:1.6;margin:10px 0;}
    .callout b{color:var(--ink);}
    .keytake{border:1px solid var(--line);border-left:3px solid var(--ok);border-radius:8px;background:var(--card-bg);padding:8px 12px;font-size:12.5px;margin-top:10px;}
    .keytake b{color:var(--ink);}
    .pre{font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;font-size:11.5px;background:var(--card-bg);
      border:1px solid var(--line);border-radius:8px;padding:10px 12px;overflow:auto;line-height:1.5;white-space:pre;}
    .vlabel{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:bold;color:var(--teal);margin:14px 0 4px;}
    .tag{display:inline-block;font-size:9.5px;font-weight:bold;letter-spacing:.04em;text-transform:uppercase;
      border-radius:4px;padding:1px 6px;margin-left:6px;vertical-align:middle;white-space:nowrap;}
    .tag.free{background:rgba(34,197,94,.16);color:var(--ok);border:1px solid var(--ok);}
    .tag.paid{background:rgba(245,158,11,.18);color:var(--warn);border:1px solid var(--warn);}
    .tag.fcra{background:rgba(239,68,68,.14);color:var(--bad);border:1px solid var(--bad);}
    .tag.tier{background:var(--panel2);color:var(--accent2);border:1px solid var(--accent2);}
    .cost{font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;font-size:11px;white-space:nowrap;}
    .twocol{display:grid;grid-template-columns:1fr;gap:16px;}
    @media(min-width:920px){.twocol{grid-template-columns:1fr 1fr;}}
    /* mobile: tables + code blocks scroll inside their card, page never overflows */
    .twocol > div{min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch;}
    .pre{max-width:100%;}
    .tscroll{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;}
    .tscroll table{min-width:640px;}
    @media(max-width:760px){
      .pre{font-size:10px;}
      table.cmp.pv td.k{white-space:normal;}
      .cost{white-space:normal;}
    }
    /* §1b vendor API contract cards */
    .vcard{border:1px solid var(--line);border-radius:10px;background:var(--panel2);padding:12px 14px;margin:12px 0;}
    .vcard .vlabel{margin-top:0;}
    .vcard .docsrc{font-size:11.5px;color:var(--muted);margin:8px 0 0;}
    .vcard .docsrc a{word-break:break-all;}
    .clsbar{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:bold;color:var(--accent2);
      border-bottom:1px solid var(--line);padding-bottom:4px;margin:22px 0 2px;}
    .whychain{border-left:3px solid var(--accent2);background:var(--card-bg);border-radius:0 8px 8px 0;
      padding:7px 11px;font-size:12.5px;margin:8px 0 10px;line-height:1.55;}
    .whychain b:first-child{color:var(--accent2);}
    .plainio{font-size:12.5px;color:var(--ink);margin:8px 0 2px;line-height:1.55;}
    .plainio b{color:var(--accent2);}
    .plainio code,.whychain code{overflow-wrap:anywhere;}
  
/* converted from inline style attributes (CSP: style-src 'self') */
.sx-9e3c4cc{margin-top:6px !important}
.sx-00dd4a9{margin:8px 0 0 !important}
.sx-37de9a0{margin:2px 0 8px !important}
.sx-5419cbd{display:flex !important;gap:10px !important;flex-wrap:wrap !important;margin-top:14px !important}
.nw{white-space:nowrap;}

/* ── spec-page polish (identical block in prefill-spec.css + product-versioning.css) ── */
.arch-nav{margin:24px 0 8px;}
.pv-sec{margin:32px 0 0;scroll-margin-top:72px;}
.pv-sec h2{font-size:20px;line-height:1.3;margin:0 0 8px;}
.pv-sec .sub{font-size:13px;line-height:1.55;margin:0 0 12px;max-width:80ch;}
.callout,.keytake{font-size:13px;line-height:1.6;margin:12px 0 0;}
.callout{padding:12px 16px;}
.keytake{padding:12px 16px;}
.vlabel{margin:16px 0 8px;line-height:1.4;}
.twocol .vlabel,.vcard .vlabel{margin-top:0;}
/* tables: text ≥ 12px, mono cells share the row baseline, header gloss terms stay readable on the green bar */
table.cmp.pv td{vertical-align:baseline;}
table.cmp.pv .mono,.cost{font-size:12px;}
table.cmp.pv td.mono{white-space:nowrap;}
table.cmp thead .gloss-link,table.cmp thead .gloss{color:inherit !important;text-decoration-color:currentColor !important;}
table.cmp thead .sub{color:inherit;opacity:.8;font-weight:500;font-size:11.5px;}
.tag{font-size:10.5px;padding:2px 6px;}
.tscroll{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;}
.tscroll-hint{display:none;margin:0 0 8px;font-size:12px;color:var(--muted);}
@media (max-width:640px){
  .tscroll-hint{display:block;}
  .tscroll > table.cmp:not(.stack){width:max-content;min-width:100%;}
  .tscroll > table.cmp.stack{min-width:0;}
  .pre{font-size:11.5px;}
  .pv-sec h2{font-size:18px;}
  .callout,.keytake{padding:12px;}
}
/* vendor catalog: the seven class tables share one column grid so they read as one table */
@media (min-width:641px){
  table.cmp.vendor{table-layout:fixed;}
  table.cmp.vendor th:nth-child(1){width:20%;} table.cmp.vendor th:nth-child(2){width:15%;}
  table.cmp.vendor th:nth-child(3){width:22%;} table.cmp.vendor th:nth-child(4){width:15%;}
  table.cmp.vendor td.mono,table.cmp.vendor .cost{white-space:normal;overflow-wrap:anywhere;}
  table.cmp.vendor td.k{white-space:normal;}
}
/* storage tables stack full-width (side-by-side clipped Table 3) */
.twocol.storage{grid-template-columns:1fr !important;}
.twocol.storage > div{overflow:visible;}
/* phones: the sticky in-page nav is one swipeable row, not five rows covering the screen */
@media (max-width:640px){
  .arch-nav{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
  .arch-nav::-webkit-scrollbar{display:none;}
  .arch-nav a{flex:0 0 auto;}
}
@media (max-width:640px){ table.cmp.stack td.mono,table.cmp.stack .cost{white-space:normal;overflow-wrap:anywhere;} }
.vcard .docsrc{font-size:12px;}
.mono,code{-webkit-box-decoration-break:clone;box-decoration-break:clone;}
.vlabel .mono{overflow-wrap:anywhere;}
