/* Resources part 2 — status, proof, knowledge base, infrastructure map, security matrix.
   School-OS tokens only (tokens-school-os.css); logical properties so RTL mirrors. */
.mkt-r2 { display: block; min-inline-size: 0; color: var(--school-ink); }
.mkt-r2 h1, .mkt-r2 h2, .mkt-r2 h3 { color: var(--school-ink); }

/* Ruled-paper sheet with a margin line, used as the page head */
.mkt-r2-paper { position: relative; margin-block: 2rem 1.5rem; padding: 2rem 2rem 1.75rem 3.25rem; background-color: var(--school-paper); background-image: repeating-linear-gradient(to bottom, transparent 0, transparent 1.74rem, color-mix(in srgb, var(--school-ruled) 70%, transparent) 1.74rem, color-mix(in srgb, var(--school-ruled) 70%, transparent) 1.8rem); border: 1px solid var(--school-ruled); border-radius: 0.5rem; }
.mkt-r2-paper::before { content: ""; position: absolute; inset-block: 0; inset-inline-start: 2rem; inline-size: 2px; background: var(--school-margin); }
.mkt-r2-paper h1 { margin: 0 0 0.6rem; font-size: clamp(1.75rem, 4vw, 2.75rem); line-height: 1.1; }
.mkt-r2-paper__lead { margin: 0 0 1.1rem; max-inline-size: 44rem; font-size: 1.0625rem; color: var(--school-ink-muted); }
.mkt-r2-paper__meta { margin: 0.9rem 0 0; font: 600 0.8125rem/1.5 var(--font-mono, monospace); color: var(--school-ink-muted); overflow-wrap: anywhere; }
.mkt-r2-paper__meta a { color: var(--school-green); }
.mkt-r2-paper__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; align-items: center; margin-block-start: 1.1rem; }

/* Stamps: a state or a responsible party, printed like a rubber stamp */
.mkt-r2-stamp { display: inline-block; padding: 0.2rem 0.6rem; border: 2px solid currentColor; border-radius: 0.25rem; font: 700 0.75rem/1.3 var(--font-mono, monospace); letter-spacing: 0.08em; text-transform: uppercase; white-space: nowrap; color: var(--school-ink-muted); background: var(--school-paper); }
.mkt-r2-stamp--operational, .mkt-r2-stamp--school { color: var(--school-green); }
.mkt-r2-stamp--degraded, .mkt-r2-stamp--outage { color: var(--school-red); }
.mkt-r2-stamp--unknown, .mkt-r2-stamp--third { color: var(--school-gold); }
.mkt-r2-stamp--platform { color: var(--school-blue); }

.mkt-r2-overall { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; margin: 0; }
.mkt-r2-overall .mkt-r2-stamp { font-size: 0.9375rem; padding: 0.35rem 0.8rem; transform: rotate(-2deg); }
.mkt-r2-overall__label { font-size: clamp(1.25rem, 3vw, 1.75rem); font-weight: 700; }

.mkt-r2-peak { display: grid; gap: 0.25rem; margin-block-end: 1rem; padding: 0.9rem 1.1rem; background: var(--school-highlighter); color: var(--school-ink); border-radius: 0.5rem; }
body.marketing-surface .mkt-r2 .mkt-r2-peak { color: var(--school-chalkboard); }

/* Status register */
.mkt-r2-register { margin: 0; padding: 0; list-style: none; background: var(--school-tile); border: 1px solid var(--school-ruled); border-radius: 0.5rem; }
.mkt-r2-reg { display: grid; grid-template-columns: minmax(0, 1.4fr) 8.5rem minmax(0, 1fr); gap: 1rem; align-items: start; padding: 1rem 1.25rem; border-bottom: 1px solid var(--school-ruled); }
.mkt-r2-reg:last-child { border-bottom: 0; }
.mkt-r2-reg__name { display: grid; gap: 0.2rem; }
.mkt-r2-reg__name span { color: var(--school-ink-muted); font-size: 0.875rem; }
.mkt-r2-reg__read { margin: 0; color: var(--school-ink); font-size: 0.9375rem; }
.mkt-r2-reg .mkt-r2-stamp { justify-self: start; text-align: center; }

.mkt-r2-notes { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mkt-r2-note { padding: 1.25rem 1.5rem; background: var(--school-manila); border: 1px solid var(--school-ruled); border-inline-start: 4px solid var(--school-margin); border-radius: 0.5rem; }
.mkt-r2-note h3 { margin: 0 0 0.5rem; font-size: 1.0625rem; }
.mkt-r2-note p, .mkt-r2-note ul { margin: 0; color: var(--school-ink-muted); }
.mkt-r2-note ul { padding-inline-start: 1.1rem; }
.mkt-r2-limits { margin: 0; padding: 0; list-style: none; display: grid; gap: 0.6rem; max-inline-size: 48rem; }
.mkt-r2-limits li { padding: 0.8rem 1.1rem; background: var(--school-tile); border: 1px solid var(--school-ruled); border-inline-start: 4px solid var(--school-gold); border-radius: 0.5rem; color: var(--school-ink-muted); }

/* Proof: claims ledger */
.mkt-r2-tally { display: grid; gap: 0.75rem; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; }
.mkt-r2-tally li { display: grid; gap: 0.25rem; padding: 1rem 1.25rem; background: var(--school-tile); border: 1px solid var(--school-ruled); border-radius: 0.5rem; }
.mkt-r2-tally strong { font: 700 2.25rem/1 var(--font-mono, monospace); color: var(--school-ink); }
.mkt-r2-tally span { color: var(--school-ink-muted); font-size: 0.875rem; }
.mkt-r2-ledger { margin: 0; padding: 0; list-style: none; background: var(--school-tile); border: 1px solid var(--school-ruled); border-radius: 0.5rem; }
.mkt-r2-claim { display: grid; grid-template-columns: 11rem minmax(0, 1fr); gap: 1rem; align-items: start; padding: 0.85rem 1.25rem; border-bottom: 1px solid var(--school-ruled); }
.mkt-r2-claim:last-child { border-bottom: 0; }
.mkt-r2-claim .mkt-r2-stamp { justify-self: start; font-size: 0.6875rem; white-space: normal; }
.mkt-r2-claim[data-claim-class="product-backed"] .mkt-r2-stamp { color: var(--school-green); }
.mkt-r2-claim[data-claim-class="illustrative"] .mkt-r2-stamp { color: var(--school-gold); }
.mkt-r2-claim[data-claim-class="unproven"] .mkt-r2-stamp { color: var(--school-red); }
.mkt-r2-claim p { margin: 0; text-align: start; }
.mkt-r2-claim { text-align: start; }
.mkt-r2-build { display: flex; flex-wrap: wrap; gap: 0.5rem 1.5rem; margin: 1rem 0 0; font: 600 0.8125rem/1.5 var(--font-mono, monospace); color: var(--school-ink-muted); overflow-wrap: anywhere; }
.mkt-r2-miss { margin: 0; padding: 0; list-style: none; display: grid; gap: 0.6rem; }
.mkt-r2-miss li { padding: 0.9rem 1.1rem 0.9rem 2.6rem; position: relative; background: var(--school-manila); border: 1px dashed var(--school-ruled); border-radius: 0.5rem; color: var(--school-ink-muted); }
.mkt-r2-miss li::before { content: ""; position: absolute; inset-inline-start: 0.95rem; inset-block-start: 1.15rem; inline-size: 0.9rem; block-size: 0.9rem; border: 2px solid var(--school-ink-muted); border-radius: 0.15rem; }

/* Knowledge base */
.mkt-r2-kbhead { display: grid; gap: 0.75rem; margin-block: 2rem 1rem; padding: 1.75rem 2rem; background: var(--school-chalkboard); color: var(--school-chalk); border: 1px solid var(--school-ruled); border-radius: 0.75rem; }
body.marketing-surface .mkt-r2 .mkt-r2-kbhead h1, body.marketing-surface .mkt-r2 .mkt-r2-kbhead p, body.marketing-surface .mkt-r2 .mkt-r2-kbhead a { color: var(--school-chalk) !important; }
.mkt-r2-kbhead h1 { margin: 0; font-size: clamp(1.5rem, 3.6vw, 2.25rem); }
.mkt-r2-kbhead p { margin: 0; max-inline-size: 42rem; }
.mkt-r2-crumbs { display: flex; flex-wrap: wrap; gap: 0.25rem 0.5rem; margin: 0; padding: 0; list-style: none; font: 600 0.75rem/1.4 var(--font-mono, monospace); letter-spacing: 0.04em; text-transform: uppercase; }
.mkt-r2-crumbs li + li::before { content: "/"; margin-inline-end: 0.5rem; opacity: 0.7; }
.mkt-r2-kbsearch { display: flex; gap: 0.5rem; max-inline-size: 34rem; }
.mkt-r2-kbsearch input { flex: 1 1 auto; min-inline-size: 0; padding: 0.7rem 0.9rem; border: 2px solid var(--school-chalk); border-radius: 0.5rem; background: var(--school-paper); color: var(--school-ink); font-size: 1rem; }
.mkt-r2-kbsearch button { padding: 0.7rem 1.1rem; border: 0; border-radius: 0.5rem; background: var(--school-highlighter); color: var(--school-chalkboard); font-weight: 700; cursor: pointer; }
.mkt-r2-count { font: 600 0.8125rem/1.4 var(--font-mono, monospace); }
.mkt-r2-results { margin: 0; padding: 0; list-style: none; background: var(--school-tile); border: 1px solid var(--school-ruled); border-radius: 0.5rem; }
.mkt-r2-results li { border-bottom: 1px solid var(--school-ruled); }
.mkt-r2-results li:last-child { border-bottom: 0; }
.mkt-r2-results a { display: grid; gap: 0.2rem; padding: 0.9rem 1.25rem; color: var(--school-ink); text-decoration: none; }
.mkt-r2-results a:hover, .mkt-r2-results a:focus-visible { background: var(--school-manila); }
.mkt-r2-results strong { color: var(--school-green); }
.mkt-r2-results span { color: var(--school-ink-muted); font-size: 0.9375rem; }
.mkt-r2-empty { padding: 1.25rem; background: var(--school-manila); border: 1px dashed var(--school-ruled); border-radius: 0.5rem; color: var(--school-ink-muted); }
.mkt-r2-pager { display: flex; flex-wrap: wrap; gap: 0.75rem; align-items: center; margin-block: 1.25rem 0; font: 600 0.8125rem/1.4 var(--font-mono, monospace); }
.mkt-r2-pager a { padding: 0.4rem 0.9rem; border: 1px solid var(--school-ruled); border-radius: 0.4rem; background: var(--school-tile); color: var(--school-green); text-decoration: none; }
.mkt-r2-sheet { position: relative; padding: 1.75rem 2rem 1.75rem 3.25rem; background: var(--school-paper); border: 1px solid var(--school-ruled); border-radius: 0.5rem; }
.mkt-r2-sheet::before { content: ""; position: absolute; inset-block: 0; inset-inline-start: 2rem; inline-size: 2px; background: var(--school-margin); }
.mkt-r2-sheet__summary { margin: 0 0 1rem; font-size: 1.125rem; color: var(--school-ink-muted); }
.mkt-r2-sheet__body { max-inline-size: 46rem; overflow-wrap: anywhere; }
.mkt-r2-sheet__body img { max-inline-size: 100%; block-size: auto; }
.mkt-r2-sheet__body pre { overflow-x: auto; padding: 0.9rem 1rem; background: var(--school-manila); border: 1px solid var(--school-ruled); border-radius: 0.4rem; }
.mkt-r2-sheet__body a { color: var(--school-green); }

/* Infrastructure map */
.mkt-r2-map { display: grid; gap: 1.25rem; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; margin: 0; padding: 0; list-style: none; counter-reset: zone; }
.mkt-r2-zone { counter-increment: zone; position: relative; padding: 1.1rem 1.1rem 1.25rem; background: var(--school-tile); border: 1px solid var(--school-ruled); border-radius: 0.5rem; }
.mkt-r2-zone::before { content: counter(zone, decimal-leading-zero); position: absolute; inset-block-start: -0.8rem; inset-inline-start: 1rem; padding-inline: 0.5rem; background: var(--school-paper); font: 700 0.875rem/1.6 var(--font-mono, monospace); color: var(--school-margin); }
.mkt-r2-zone:not(:last-child)::after { content: ""; position: absolute; inset-block-start: 2.5rem; inset-inline-end: -1.25rem; inline-size: 1.25rem; border-block-start: 2px dashed var(--school-margin); }
.mkt-r2-zone h3 { margin: 0.25rem 0 0.2rem; font-size: 1.125rem; }
.mkt-r2-zone > p { margin: 0 0 0.9rem; color: var(--school-ink-muted); font-size: 0.9375rem; }
.mkt-r2-nodes { margin: 0; padding: 0; list-style: none; display: grid; gap: 0.6rem; }
.mkt-r2-node { display: grid; gap: 0.3rem; padding: 0.7rem 0.85rem; background: var(--school-paper); border: 1px solid var(--school-ruled); border-inline-start: 4px solid var(--school-blue); border-radius: 0.4rem; }
.mkt-r2-node--school { border-inline-start-color: var(--school-green); }
.mkt-r2-node--third { border-inline-start-color: var(--school-gold); }
.mkt-r2-node strong { font-size: 0.9375rem; }
.mkt-r2-node span:not(.mkt-r2-stamp) { color: var(--school-ink-muted); font-size: 0.875rem; }
.mkt-r2-node .mkt-r2-stamp { justify-self: start; font-size: 0.625rem; padding: 0.1rem 0.4rem; }
.mkt-r2-nodes--wide { grid-template-columns: repeat(auto-fit, minmax(min(18rem, 100%), 1fr)); }
.mkt-r2-facts { margin: 0; padding: 0; list-style: none; display: grid; gap: 0.75rem; grid-template-columns: repeat(auto-fit, minmax(min(14rem, 100%), 1fr)); }
.mkt-r2-facts li { display: grid; gap: 0.25rem; padding: 0.9rem 1.1rem; background: var(--school-tile); border: 1px solid var(--school-ruled); border-radius: 0.5rem; }
.mkt-r2-facts strong { font: 700 1.75rem/1 var(--font-mono, monospace); }
.mkt-r2-facts span { color: var(--school-ink-muted); font-size: 0.875rem; }

/* Security matrix */
.mkt-r2-key { display: flex; flex-wrap: wrap; gap: 0.5rem 1.25rem; margin: 0 0 1rem; padding: 0; list-style: none; color: var(--school-ink-muted); font-size: 0.875rem; }
.mkt-r2-key li { display: flex; gap: 0.5rem; align-items: center; }
.mkt-r2-tablewrap { overflow-x: auto; border: 1px solid var(--school-ruled); border-radius: 0.5rem; background: var(--school-tile); }
.mkt-r2-grid { inline-size: 100%; min-inline-size: 52rem; border-collapse: collapse; }
.mkt-r2-grid th, .mkt-r2-grid td { padding: 0.85rem 1rem; text-align: start; vertical-align: top; border-bottom: 1px solid var(--school-ruled); }
.mkt-r2-grid thead th { font: 700 0.75rem/1.2 var(--font-mono, monospace); letter-spacing: 0.06em; text-transform: uppercase; color: var(--school-ink-muted); background: var(--school-manila); }
.mkt-r2-grid tbody th { font-weight: 700; color: var(--school-ink); inline-size: 14rem; }
.mkt-r2-grid tbody tr:last-child th, .mkt-r2-grid tbody tr:last-child td { border-bottom: 0; }
.mkt-r2-grid td { color: var(--school-ink-muted); font-size: 0.9375rem; }
.mkt-r2-grid td:nth-child(2) { color: var(--school-ink); }
.mkt-r2-who { display: grid; gap: 0.4rem; justify-items: start; }

@media (max-width: 64rem) {
  .mkt-r2-map { grid-template-columns: minmax(0, 1fr); }
  .mkt-r2-zone:not(:last-child)::after { inset-block-start: auto; inset-block-end: -1.25rem; inset-inline-end: 50%; inline-size: 0; block-size: 1.25rem; border-block-start: 0; border-inline-start: 2px dashed var(--school-margin); }
}
@media (max-width: 52rem) {
  .mkt-r2-grid { min-inline-size: 0; }
  .mkt-r2-grid, .mkt-r2-grid tbody, .mkt-r2-grid tr, .mkt-r2-grid th, .mkt-r2-grid td { display: block; }
  .mkt-r2-grid thead { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); }
  .mkt-r2-grid tbody th { inline-size: auto; padding-block-end: 0.25rem; border-bottom: 0; font-size: 1.0625rem; }
  .mkt-r2-grid td { padding-block: 0.4rem; border-bottom: 0; }
  .mkt-r2-grid td::before { content: attr(data-label); display: block; margin-block-end: 0.15rem; font: 700 0.6875rem/1.2 var(--font-mono, monospace); letter-spacing: 0.06em; text-transform: uppercase; color: var(--school-ink-muted); }
  .mkt-r2-grid tr { padding-block-end: 0.75rem; border-bottom: 1px solid var(--school-ruled); }
  .mkt-r2-grid tbody tr:last-child { border-bottom: 0; }
  .mkt-r2-reg { grid-template-columns: minmax(0, 1fr); gap: 0.6rem; }
  .mkt-r2-notes, .mkt-r2-tally { grid-template-columns: minmax(0, 1fr); }
  .mkt-r2-claim { grid-template-columns: minmax(0, 1fr); gap: 0.4rem; }
}
@media (max-width: 30rem) {
  .mkt-r2-paper, .mkt-r2-sheet { padding: 1.25rem 1rem 1.25rem 2.25rem; }
  .mkt-r2-paper::before, .mkt-r2-sheet::before { inset-inline-start: 1.1rem; }
  .mkt-r2-kbhead { padding: 1.25rem 1rem; }
  .mkt-r2-kbsearch { flex-direction: column; }
}
