/* =============================================================================
   SectraTEK Lab: lab-0009.css
   Styles for LAB-0009 only (What the AnyDesk 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 (Table 1, sources)
     2  Figure 1: timeline
     3  Figure 3: file table
     4  Figure 4: evidence explorer and its table fallback
     5  Figure 2: SVG type size
   ============================================================================= */

/* 1 Tables ------------------------------------------------------------------- */
.ad-gen { font-size: 0.9375rem; }
.ad-gen th, .ad-gen td { vertical-align: top; line-height: 1.5; }
.ad-gen tbody th { font-weight: var(--weight-semibold); overflow-wrap: break-word; }
.ad-gen thead th:first-child { width: 22%; min-width: 11rem; }
.ad-src { font-size: 0.9375rem; table-layout: fixed; min-width: 0; }
.ad-src th, .ad-src td { vertical-align: top; line-height: 1.5; overflow-wrap: anywhere; }
.ad-src thead th:first-child { width: 46%; }
@media (max-width: 47.99em) {
  .ad-gen thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .ad-gen, .ad-gen tbody, .ad-gen tr, .ad-gen th, .ad-gen td { display: block; width: 100%; }
  .ad-gen tr { padding: var(--space-4) 0; border-block-end: 1px solid var(--line); }
  .ad-gen caption { display: block; }
  .ad-gen th, .ad-gen td { height: auto; padding: 3px 0; border: 0; }
  .ad-gen td:nth-of-type(1)::before { content: "What it holds"; }
  .ad-gen td:nth-of-type(2)::before { content: "Value to an examiner"; }
  .ad-gen td:nth-of-type(3)::before { content: "Limits"; }
  .ad-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: timeline ------------------------------------------------------- */
.ad-tl { list-style: none; margin: 0; padding: var(--space-5) var(--space-5) var(--space-5) calc(var(--space-5) + 18px); position: relative; }
.ad-tl::before { content: ""; position: absolute; inset-block: var(--space-6); inset-inline-start: calc(var(--space-5) + 5px); width: 2px; background: var(--line-strong); }
.ad-tl__item { position: relative; display: grid; grid-template-columns: minmax(0, 8.5rem) minmax(0, 1fr); gap: 2px var(--space-5); padding-block: var(--space-3); }
.ad-tl__item::before { content: ""; position: absolute; inset-inline-start: -18px; inset-block-start: calc(var(--space-3) + 7px); width: 12px; height: 12px; border-radius: 50%; background: var(--accent-fill); border: 2px solid var(--surface); box-sizing: border-box; }
.ad-tl__date { grid-column: 1; font-weight: var(--weight-semibold); color: var(--ink); font-size: var(--text-ui); line-height: 1.4; }
.ad-tl__src { grid-column: 2; font-size: var(--text-caption); color: var(--muted); line-height: 1.4; }
.ad-tl__txt { grid-column: 2; font-size: var(--text-small); color: var(--ink); line-height: 1.5; overflow-wrap: anywhere; }
@media (max-width: 39.99em) {
  .ad-tl__item { grid-template-columns: minmax(0, 1fr); }
  .ad-tl__src, .ad-tl__txt { grid-column: 1; }
}

/* 3 Figure 3: file table ----------------------------------------------------- */
.ad-flow { table-layout: fixed; width: 100%; min-width: 0; font-size: 0.9375rem; }
.ad-flow th, .ad-flow td { vertical-align: top; padding: var(--space-4); line-height: 1.45; }
.ad-flow thead th { font-size: var(--text-small); color: var(--muted); font-weight: var(--weight-medium); }
.ad-flow thead th:first-child { width: 30%; }
.ad-flow tbody th { font-weight: var(--weight-regular); overflow-wrap: anywhere; }
.ad-rname { display: block; font-weight: var(--weight-semibold); font-size: var(--text-ui); color: var(--ink); }
.ad-rsub { display: block; margin-block-start: 2px; font-size: var(--text-caption); color: var(--muted); }
.ad-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); overflow-wrap: anywhere; }
.ad-box--on { background: var(--accent-soft); border-color: var(--accent-fill); }
.ad-box--dim { border-style: dashed; background: var(--surface-2); color: var(--muted); }
.ad-box--miss { border-style: dashed; background: transparent; }
@media (max-width: 47.99em) {
  .ad-flow thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .ad-flow, .ad-flow tbody, .ad-flow tr, .ad-flow th, .ad-flow td { display: block; width: 100%; }
  .ad-flow tr { padding: var(--space-4); border-block-end: 1px solid var(--line); }
  .ad-flow tr:last-child { border-block-end: 0; }
  .ad-flow caption { display: block; }
  .ad-flow th, .ad-flow td { height: auto; padding: 4px 0; border: 0; }
  .ad-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); }
}

/* 4 Figure 4: explorer ------------------------------------------------------- */
.ad-explorer:not(.is-ready) .ad-live { display: none; }
.ad-explorer.is-ready .ad-nojs { display: none; }
.ad-explorer .ad-nojs { padding: var(--space-5); }
.ad-wrap { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-5); padding: var(--space-5); }
@media (min-width: 56em) { .ad-wrap { grid-template-columns: minmax(0, 20rem) minmax(0, 1fr); } .ad-lead { grid-column: 1 / -1; } }
.ad-lead { margin: 0; font-size: var(--text-small); font-weight: var(--weight-semibold); color: var(--ink-2); }
.ad-list { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-2); align-content: start; }
.ad-pick { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px var(--space-3); width: 100%; min-height: 44px; padding: 8px 12px; text-align: start; font: inherit; font-size: var(--text-small); line-height: 1.35; color: var(--ink); background: var(--surface); border: 1.5px solid var(--line-strong); border-radius: var(--radius-md); cursor: pointer; }
.ad-pick:hover { border-color: var(--accent-fill); }
.ad-pick:focus-visible { outline: 3px solid var(--accent-fill); outline-offset: 2px; }
.ad-pick[aria-pressed="true"] { background: var(--accent-soft); border-color: var(--accent-fill); box-shadow: inset 4px 0 0 var(--accent-fill); font-weight: var(--weight-semibold); }
.ad-pick__q { flex: 1 1 10rem; min-width: 0; overflow-wrap: anywhere; }
.ad-tag { display: inline-flex; align-items: center; 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; }
.ad-tag--found { background: var(--accent-fill); border-color: var(--accent-fill); color: var(--on-accent); }
.ad-tag--partial { background: var(--accent-soft); border: 2px solid var(--accent-fill); color: var(--info-ink); }
.ad-tag--absent { background: var(--surface-2); border-color: var(--ink-2); color: var(--ink); }
.ad-tag--unknown { background: transparent; border-style: dashed; border-color: var(--ink-2); color: var(--ink-2); }
.ad-tag--outside { background: transparent; border-style: dotted; border-width: 2px; border-color: var(--ink-2); color: var(--ink); }
.ad-panel { min-width: 0; padding: var(--space-5); border: 1px solid var(--line-strong); border-radius: var(--radius-md); background: var(--surface); }
.ad-h { margin: 0 0 var(--space-3); font-size: 1.25rem; line-height: 1.25; letter-spacing: -0.02em; }
.ad-statep { margin: 0 0 var(--space-4); }
.ad-keys dd { overflow-wrap: anywhere; line-height: 1.55; }

/* Table fallback of Figure 4 */
.ad-table { font-size: 0.875rem; table-layout: fixed; min-width: 0; }
.ad-table th, .ad-table td { vertical-align: top; padding-block: var(--space-4); line-height: 1.5; overflow-wrap: anywhere; }
.ad-table thead th:nth-child(1) { width: 16%; }
.ad-table thead th:nth-child(2) { width: 11%; }
.ad-table thead th:nth-child(3) { width: 33%; }
.ad-table thead th:nth-child(4) { width: 22%; }
.ad-table tbody th { font-weight: var(--weight-semibold); }
@media (max-width: 74.99em) {
  .ad-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .ad-table, .ad-table tbody, .ad-table tr, .ad-table th, .ad-table td { display: block; width: 100%; }
  .ad-table tr { padding: var(--space-4); border-block-end: 1px solid var(--line); }
  .ad-table tr:last-child { border-block-end: 0; }
  .ad-table caption { display: block; }
  .ad-table th, .ad-table td { height: auto; padding: 4px 0; border: 0; }
  .ad-table tbody th { font-size: 1.0625rem; padding-block-end: var(--space-2); }
  .ad-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); }
}

/* 5 SVG type size (Figure 2) ---------------------------------------------------- */
.ad-svg .d-t { font-size: 16px; }
.ad-svg .d-t2 { font-size: 14.5px; }
.ad-svg .d-mono { font-size: 14.5px; }
.oss-figure .rs-details { margin-block-start: var(--space-3); }

@media (forced-colors: active) {
  .ad-tag { border: 1px solid CanvasText; }
  .ad-pick[aria-pressed="true"], .ad-tag--found { outline: 2px solid Highlight; }
}
