/* =============================================================================
   SectraTEK Lab: lab-0007.css
   Styles for LAB-0007 only (What the Zelle app leaves on an iPhone). Loaded after research.css and oss.css.
   Tokens only; no inline styles; motion is not used. State is shown by text and shape, not by colour alone.

   Contents
     1  Tables of the article (Table 1, Table 2, sources)
     2  Figure 1: four places
     3  Figure 2: public record list
     4  Figure 4: where the data lives (explorer)
     5  Figure 4 table fallback
     6  Figures 3 and 5: type size
   ============================================================================= */

/* 1 Tables ------------------------------------------------------------------- */
.zl-gen { font-size: 0.9375rem; }
.zl-gen th, .zl-gen td { vertical-align: top; line-height: 1.5; }
.zl-gen tbody th { font-weight: var(--weight-semibold); }
.zl-src { font-size: 0.9375rem; table-layout: fixed; min-width: 0; }
.zl-src th, .zl-src td { vertical-align: top; line-height: 1.5; overflow-wrap: anywhere; }
.zl-src thead th:first-child { width: 52%; }
.zl-art { font-size: 0.875rem; hyphens: none; table-layout: fixed; min-width: 0; }
.zl-art th, .zl-art td { vertical-align: top; padding-block: var(--space-4); line-height: 1.5; overflow-wrap: anywhere; }
.zl-art thead th:nth-child(1) { width: 15%; }
.zl-art thead th:nth-child(2) { width: 21%; }
.zl-art thead th:nth-child(3) { width: 24%; }
.zl-art thead th:nth-child(4) { width: 19%; }
.zl-art tbody th { font-weight: var(--weight-semibold); }
@media (max-width: 74.99em) {
  .zl-art thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .zl-art, .zl-art tbody, .zl-art tr, .zl-art th, .zl-art td { display: block; width: 100%; }
  .zl-art tr { padding: var(--space-4); border-block-end: 1px solid var(--line); }
  .zl-art tr:last-child { border-block-end: 0; }
  .zl-art caption { display: block; }
  .zl-art th, .zl-art td { height: auto; padding: 4px 0; border: 0; }
  .zl-art tbody th { font-size: 1.0625rem; padding-block-end: var(--space-2); }
  .zl-art td::before { content: attr(data-label); display: block; font-size: var(--text-micro); letter-spacing: var(--track-eyebrow); text-transform: uppercase; font-weight: var(--weight-semibold); color: var(--muted); margin-block-start: var(--space-2); }
}
@media (max-width: 47.99em) {
  .zl-gen thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .zl-gen, .zl-gen tbody, .zl-gen tr, .zl-gen th, .zl-gen td { display: block; width: 100%; }
  .zl-gen tr { padding: var(--space-4) 0; border-block-end: 1px solid var(--line); }
  .zl-gen caption { display: block; }
  .zl-gen th, .zl-gen td { height: auto; padding: 3px 0; border: 0; }
  .zl-gen td:nth-of-type(1)::before { content: "May say"; }
  .zl-gen td:nth-of-type(2)::before { content: "May not say"; }
  .zl-gen td::before { display: block; margin-block-start: var(--space-2); font-size: var(--text-micro); letter-spacing: var(--track-eyebrow); text-transform: uppercase; font-weight: var(--weight-semibold); color: var(--muted); }
}

/* 2 Figure 1 ----------------------------------------------------------------- */
.zl-flow { table-layout: fixed; width: 100%; min-width: 0; font-size: 0.9375rem; }
.zl-flow th, .zl-flow td { vertical-align: top; padding: var(--space-4); line-height: 1.45; }
.zl-flow thead th { font-size: var(--text-small); color: var(--muted); font-weight: var(--weight-medium); }
.zl-flow thead th:first-child { width: 17%; }
.zl-flow tbody th { font-weight: var(--weight-regular); }
.zl-rname { display: block; font-weight: var(--weight-semibold); font-size: var(--text-ui); color: var(--ink); }
.zl-rsub { display: block; margin-block-start: 2px; font-size: var(--text-caption); color: var(--muted); }
.zl-box { display: block; padding: 10px 12px; border: 1.5px solid var(--line-strong); border-radius: var(--radius-md); background: var(--surface); color: var(--ink); font-size: var(--text-small); font-weight: var(--weight-medium); line-height: 1.45; overflow-wrap: anywhere; }
.zl-box--on { background: var(--accent-soft); border-color: var(--accent-fill); }
.zl-box--dim { border-style: dashed; background: var(--surface-2); color: var(--muted); }
@media (max-width: 47.99em) {
  .zl-flow thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .zl-flow, .zl-flow tbody, .zl-flow tr, .zl-flow th, .zl-flow td { display: block; width: 100%; }
  .zl-flow tr { padding: var(--space-4); border-block-end: 1px solid var(--line); }
  .zl-flow tr:last-child { border-block-end: 0; }
  .zl-flow caption { display: block; }
  .zl-flow th, .zl-flow td { height: auto; padding: 4px 0; border: 0; }
  .zl-flow td::before { content: attr(data-label); display: block; margin-block: var(--space-2) 4px; font-size: var(--text-micro); letter-spacing: var(--track-eyebrow); text-transform: uppercase; font-weight: var(--weight-semibold); color: var(--muted); }
}

/* 3 Figure 2 ------------------------------------------------------------------ */
.zl-tl { margin: 0; padding: var(--space-5); list-style: none; display: grid; gap: 0; }
.zl-tl li { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); gap: 2px; margin: 0; padding: var(--space-3) 0 var(--space-3) var(--space-6); border-inline-start: 2px solid var(--line-strong); }
.zl-tl li::before { content: ""; position: absolute; inset-inline-start: -7px; inset-block-start: 1.05rem; width: 12px; height: 12px; border-radius: 50%; background: var(--surface); border: 2px solid var(--accent-fill); }
.zl-tl__d { font-size: var(--text-small); font-weight: var(--weight-semibold); color: var(--ink); }
.zl-tl__t { font-size: var(--text-small); line-height: 1.5; color: var(--ink); }
.zl-tl__s { font-size: var(--text-caption); color: var(--muted); }
@media (min-width: 48em) {
  .zl-tl li { grid-template-columns: 9.5rem minmax(0, 1fr) minmax(0, 15rem); gap: var(--space-5); align-items: start; }
}

/* 4 Figure 4: explorer ------------------------------------------------------- */
.zl-explorer .rs-figbar__label { color: var(--ink-2); }
.zl-explorer:not(.is-ready) .zl-live { display: none; }
.zl-explorer.is-ready .zl-nojs { display: none; }
.zl-explorer .zl-nojs { padding: var(--space-5); }
.zl-pickbar { display: grid; gap: var(--space-3); padding: var(--space-4) var(--space-5); border-block-end: 1px solid var(--line); }
.zl-btn { text-align: start; height: auto; min-height: 34px; padding-block: 6px; white-space: normal; }
.zl-panel { padding: var(--space-5); }
.zl-h { margin: 0 0 var(--space-3); font-size: 1.375rem; line-height: 1.2; letter-spacing: -0.02em; }
.zl-hope { margin: 0 0 var(--space-3); font-size: var(--text-small); color: var(--ink-2); line-height: 1.5; }
.zl-hope__l { font-weight: var(--weight-semibold); color: var(--ink); }
.zl-verdict { margin: 0 0 var(--space-5); font-size: var(--text-ui); font-weight: var(--weight-medium); line-height: 1.5; color: var(--ink); }
.zl-keys dd { overflow-wrap: anywhere; line-height: 1.5; }
.zl-tag { display: inline-flex; align-items: center; margin-inline-end: 6px; padding: 1px 10px; border: 1px solid var(--line-strong); border-radius: var(--radius-pill); font-size: var(--text-caption); font-weight: var(--weight-semibold); line-height: 1.5; white-space: nowrap; }
.zl-tag--local { background: var(--accent-fill); border-color: var(--accent-fill); color: var(--on-accent); }
.zl-tag--server { background: var(--accent-soft); border: 2px solid var(--accent-fill); color: var(--info-ink); }
.zl-tag--unknown { background: transparent; border-style: dashed; border-color: var(--ink-2); color: var(--ink-2); }
.zl-say { margin: var(--space-4) 0 0; padding: var(--space-3) var(--space-4); border-radius: var(--radius-md); background: var(--surface-2); font-size: var(--text-small); line-height: 1.55; color: var(--ink-2); overflow-wrap: anywhere; }
.zl-say strong { color: var(--ink); }

/* 5 Figure 4 table fallback --------------------------------------------------- */
.zl-table { font-size: 0.875rem; table-layout: fixed; min-width: 0; }
.zl-table th, .zl-table td { vertical-align: top; padding-block: var(--space-4); line-height: 1.5; overflow-wrap: anywhere; }
.zl-table thead th:nth-child(1) { width: 16%; }
.zl-table thead th:nth-child(2) { width: 10%; }
.zl-table thead th:nth-child(3) { width: 22%; }
.zl-table thead th:nth-child(4) { width: 32%; }
.zl-table tbody th { font-weight: var(--weight-semibold); }
.zl-sub { display: block; font-size: var(--text-caption); font-weight: var(--weight-regular); color: var(--muted); }
@media (max-width: 74.99em) {
  .zl-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .zl-table, .zl-table tbody, .zl-table tr, .zl-table th, .zl-table td { display: block; width: 100%; }
  .zl-table tr { padding: var(--space-4); border-block-end: 1px solid var(--line); }
  .zl-table tr:last-child { border-block-end: 0; }
  .zl-table caption { display: block; }
  .zl-table th, .zl-table td { height: auto; padding: 4px 0; border: 0; }
  .zl-table tbody th { font-size: 1.0625rem; padding-block-end: var(--space-2); }
  .zl-table td::before { content: attr(data-label); display: block; font-size: var(--text-micro); letter-spacing: var(--track-eyebrow); text-transform: uppercase; font-weight: var(--weight-semibold); color: var(--muted); margin-block-start: var(--space-2); }
}

/* 6 SVG type size (Figures 3 and 5) -------------------------------------------- */
.zl-svg .d-t { font-size: 16px; }
.zl-svg .d-t2 { font-size: 14.5px; }
.zl-svg .d-mono { font-size: 14.5px; }
.oss-figure .rs-details { margin-block-start: var(--space-3); }

@media (forced-colors: active) {
  .zl-tag { border: 1px solid CanvasText; }
  .zl-box--on, .zl-tag--local { outline: 2px solid Highlight; }
}
