/* =============================================================================
   SectraTEK Lab: lab-0005.css
   Styles for LAB-0005 only (What privacy settings leave behind on a device). 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, sources)
     2  Figure 1: record table
     3  Figure 3: setting explorer
     4  Figure 3 table fallback
     5  Figures 2 and 4: extra fills
   ============================================================================= */

/* 1 Tables ------------------------------------------------------------------- */
.lt-gen { font-size: 0.9375rem; }
.lt-gen th, .lt-gen td { vertical-align: top; line-height: 1.5; }
.lt-gen tbody th { font-weight: var(--weight-semibold); white-space: nowrap; }
.lt-src { font-size: 0.9375rem; table-layout: fixed; min-width: 0; }
.lt-src th, .lt-src td { vertical-align: top; line-height: 1.5; overflow-wrap: anywhere; }
.lt-src thead th:first-child { width: 62%; }
@media (max-width: 47.99em) {
  .lt-gen thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .lt-gen, .lt-gen tbody, .lt-gen tr, .lt-gen th, .lt-gen td { display: block; width: 100%; }
  .lt-gen tr { padding: var(--space-4) 0; border-block-end: 1px solid var(--line); }
  .lt-gen caption { display: block; }
  .lt-gen th, .lt-gen td { height: auto; padding: 3px 0; border: 0; }
  .lt-gen td:nth-of-type(1)::before { content: "What happened"; }
  .lt-gen td:nth-of-type(2)::before { content: "May say"; }
  .lt-gen td:nth-of-type(3)::before { content: "May not say"; }
  .lt-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 ----------------------------------------------------------------- */
.lt-flow { table-layout: fixed; width: 100%; min-width: 0; font-size: 0.9375rem; }
.lt-flow th, .lt-flow td { vertical-align: top; padding: var(--space-4); line-height: 1.45; }
.lt-flow thead th { font-size: var(--text-small); color: var(--muted); font-weight: var(--weight-medium); }
.lt-flow thead th:first-child { width: 24%; }
.lt-flow tbody th { font-weight: var(--weight-regular); }
.lt-rname { display: block; font-weight: var(--weight-semibold); font-size: var(--text-ui); color: var(--ink); }
.lt-rsub { display: block; margin-block-start: 2px; font-size: var(--text-caption); color: var(--muted); }
.lt-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; }
.lt-box--on { background: var(--accent-soft); border-color: var(--accent-fill); }
.lt-box--dim { border-style: dashed; background: var(--surface-2); color: var(--muted); }
.lt-box--miss { border-style: dashed; background: transparent; }
.lt-cell-note { display: block; margin-block-start: 6px; font-size: var(--text-caption); line-height: 1.4; color: var(--muted); }
@media (max-width: 47.99em) {
  .lt-flow thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .lt-flow, .lt-flow tbody, .lt-flow tr, .lt-flow th, .lt-flow td { display: block; width: 100%; }
  .lt-flow tr { padding: var(--space-4) var(--space-4); border-block-end: 1px solid var(--line); }
  .lt-flow tr:last-child { border-block-end: 0; }
  .lt-flow caption { display: block; }
  .lt-flow th, .lt-flow td { height: auto; padding: 4px 0; border: 0; }
  .lt-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 3: explorer ------------------------------------------------------- */
.lt-explorer .rs-figbar__label { color: var(--ink-2); }
.lt-explorer:not(.is-ready) .lt-live { display: none; }
.lt-explorer.is-ready .lt-nojs { display: none; }
.lt-explorer .lt-nojs { padding: var(--space-5); }
.lt-field { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2) var(--space-3); min-width: 0; }
.lt-field--grow { flex: 1 1 18rem; }
.lt-field--grow .select { flex: 1 1 12rem; min-width: 0; }
.lt-resbar { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3) var(--space-5); padding: var(--space-4) var(--space-5); border-block-end: 1px solid var(--line); }
.lt-panel { padding: var(--space-5); }
.lt-h { margin: 0 0 var(--space-4); font-size: 1.375rem; line-height: 1.2; letter-spacing: -0.02em; }
.lt-h .rs-code { color: var(--link); border-color: var(--line-strong); }
.lt-keys { margin-block-end: var(--space-5); }
.lt-keys dd { overflow-wrap: anywhere; line-height: 1.5; }
.lt-keys code { font-size: 0.9rem; background: none; padding: 0; }
.lt-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; }
.lt-tag--present { background: var(--accent-fill); border-color: var(--accent-fill); color: var(--on-accent); }
.lt-tag--absent { background: var(--surface-2); border-color: var(--ink-2); color: var(--ink); }
.lt-tag--unreadable { background: var(--accent-soft); border: 2px solid var(--accent-fill); color: var(--info-ink); }
.lt-tag--cannot { background: transparent; border-style: dashed; border-color: var(--ink-2); color: var(--ink-2); }
.lt-syn { display: inline-block; margin-inline-start: 8px; padding: 0 8px; border: 1px dashed var(--control-border); border-radius: var(--radius-pill); font-size: var(--text-caption); color: var(--muted); }
.lt-result { padding-block-start: var(--space-4); border-block-start: 1px solid var(--line); }
.lt-rh { margin: 0 0 var(--space-4); font-size: var(--text-ui); font-weight: var(--weight-semibold); line-height: 1.4; }
.lt-def { display: block; margin-block-start: 4px; font-size: var(--text-small); font-weight: var(--weight-regular); color: var(--ink-2); }
.lt-cols { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
@media (min-width: 40em) { .lt-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.lt-col { min-width: 0; padding: var(--space-4); border: 1px solid var(--line-strong); border-radius: var(--radius-md); background: var(--surface); }
.lt-col--no { border-style: dashed; background: var(--surface-2); }
.lt-col h5 { margin: 0 0 var(--space-2); font-size: var(--text-micro); letter-spacing: var(--track-eyebrow); text-transform: uppercase; font-weight: var(--weight-semibold); color: var(--muted); }
.lt-list { margin: 0; padding-inline-start: 1.1em; font-size: var(--text-small); line-height: 1.5; color: var(--ink); }
.lt-list li { margin-block: 0.3em; }
.lt-note2, .lt-say { margin: var(--space-4) 0 0; font-size: var(--text-small); line-height: 1.55; color: var(--ink-2); overflow-wrap: anywhere; }
.lt-say { padding: var(--space-3) var(--space-4); border-radius: var(--radius-md); background: var(--surface-2); }
.lt-note2 strong, .lt-say strong { color: var(--ink); }

/* 4 Figure 3 table fallback --------------------------------------------------- */
.lt-table { font-size: 0.875rem; table-layout: fixed; min-width: 0; }
.lt-table th, .lt-table td { vertical-align: top; padding-block: var(--space-4); line-height: 1.5; overflow-wrap: anywhere; }
.lt-table thead th:nth-child(1) { width: 14%; }
.lt-table thead th:nth-child(2) { width: 22%; }
.lt-table thead th:nth-child(3) { width: 17%; }
.lt-table thead th:nth-child(4) { width: 19%; }
.lt-table tbody th { font-weight: var(--weight-semibold); }
.lt-plat-sub { display: block; font-size: var(--text-caption); font-weight: var(--weight-regular); color: var(--muted); }
.lt-tlist { margin: 0; padding-inline-start: 1.1em; }
.lt-tlist li { margin-block: 0.35em; }
@media (max-width: 74.99em) {
  .lt-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .lt-table, .lt-table tbody, .lt-table tr, .lt-table th, .lt-table td { display: block; width: 100%; }
  .lt-table tr { padding: var(--space-4); border-block-end: 1px solid var(--line); }
  .lt-table tr:last-child { border-block-end: 0; }
  .lt-table caption { display: block; }
  .lt-table th, .lt-table td { height: auto; padding: 4px 0; border: 0; }
  .lt-table tbody th { font-size: 1.0625rem; padding-block-end: var(--space-2); }
  .lt-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 fills and type size (Figures 2 and 4) ---------------------------------- */
.lt-svg .d-t { font-size: 16px; }
.lt-svg .d-t2 { font-size: 14.5px; }
.lt-svg .d-mono { font-size: 14.5px; }
.lt-seg3 { fill: var(--ink-2); }
.lt-seg4 { fill: var(--surface); stroke: var(--line-strong); stroke-width: 1.5; stroke-dasharray: 4 3; }
.oss-figure .rs-details { margin-block-start: var(--space-3); }

@media (forced-colors: active) {
  .lt-tag { border: 1px solid CanvasText; }
  .lt-box--on, .lt-tag--present { outline: 2px solid Highlight; }
}
