/* Landometer DS0.9.7 components. Inherited0.9.4 style body; colors bind lds-0.9.7-ext.css and color-srgb-10.production.css. Six-state EVID-05 and current policy apply. */

/* EvidenceCard — component.evidence-card.01 (EVID-05). No logo, no panel, no gradient, no motion, no motif (MOTIF-04 forbids motion over the primary proof). */
.lds-evidence-card { display: grid; gap: 6px; max-inline-size: 520px; padding: 14px 16px 12px; border: 1px solid var(--border-hairline); border-radius: 10px; background: var(--surface-card); color: var(--text-primary, #182327); font-family: "Bai Jamjuree", system-ui, sans-serif; font-size: .875rem; line-height: 1.45; position: relative; }
.lds-evidence-card::before { content: ""; position: absolute; inset: 0 0 auto 0; block-size: 3px; border-radius: 10px 10px 0 0; background: linear-gradient(90deg, var(--energy-coral) 0 25%, var(--energy-yellow) 25% 50%, var(--energy-mint) 50% 75%, var(--energy-sky) 75% 100%); } /* 3px four-colour rule */
.lds-evidence-card__head { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.lds-trust-badge { display: inline-flex; align-items: center; gap: 4px; padding: 2px 8px; border-radius: 999px; border: 1px solid var(--border-default); font-size: .75rem; color: var(--text-metadata); }
.lds-evidence-card__value { font-family: "JetBrains Mono", "IBM Plex Sans Thai", monospace; font-size: 1.5rem; font-weight: 600; display: flex; align-items: baseline; gap: 6px; flex-wrap: wrap; }
.lds-evidence-card__unit { font-size: .875rem; font-weight: 400; color: var(--text-secondary, #5F635A); }
.lds-evidence-card__state { font-size: .8125rem; color: var(--state-label-ink); font-family: "Bai Jamjuree", system-ui, sans-serif; font-weight: 400; }
.lds-evidence-card dl { display: grid; grid-template-columns: max-content 1fr; gap: 2px 12px; margin: 0; }
.lds-evidence-card dt { color: var(--text-metadata); font-size: .75rem; }
.lds-evidence-card dd { margin: 0; }
.lds-evidence-card__measure { inline-size: 3px; block-size: 3px; background: var(--brand-blue); display: inline-block; margin-inline-end: 6px; vertical-align: middle; } /* 3 × 3px measure line */
.lds-evidence-card__foot { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; font-size: .75rem; color: var(--text-metadata); }
.lds-evidence-card__foot a { color: var(--interaction-accent, #176B82); }
.lds-evidence-card__fallback { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; } /* one-line text fallback, also used by copy-paste */

/* DataTable — component.data-table.01 with cellStates */
.lds-table { border-collapse: collapse; inline-size: 100%; font-family: "Bai Jamjuree", system-ui, sans-serif; font-size: .875rem; }
.lds-table caption { text-align: start; font-weight: 600; padding: 0 0 8px; }
.lds-table th, .lds-table td { padding: 8px 10px; border-block-end: 1px solid var(--border-hairline); text-align: start; vertical-align: top; }
.lds-table th { color: var(--text-metadata); font-weight: 600; font-size: .8125rem; }
.lds-table td.num, .lds-table th.num { text-align: end; font-variant-numeric: tabular-nums; font-family: "JetBrains Mono", "IBM Plex Sans Thai", monospace; }
.lds-table td[data-state] .lds-cell-glyph { display: inline-block; min-inline-size: 1.4em; text-align: end; }
.lds-table td[data-state] .lds-state-label { display: block; font-size: .75rem; color: var(--state-label-ink); font-family: "Bai Jamjuree", system-ui, sans-serif; background: none; }
.lds-table td[data-state="no_data"] .lds-cell-glyph { background-image: repeating-linear-gradient(135deg, var(--state-no-data-fill) 0 3px, transparent 3px 7px); border-radius: 4px; padding: 0 4px; outline: 1px solid var(--border-emphasis); } /* hatch on the glyph box only — the label never sits on the hatch (owner decision 15 September 2026) */
.lds-table td[data-state="measured_zero"] .lds-cell-glyph { box-shadow: inset 0 0 0 2px var(--state-measured-zero-outline); border-radius: 4px; padding: 0 4px; }
.lds-table td[data-state="suppressed"] { background: var(--state-suppressed-fill); }
.lds-table td[data-state="not_yet"] { background: var(--state-not-yet-fill); }
.lds-table tr[data-state="no_data"] { order: 999; } /* no_data rows sort last (author sorts server-side; class is a visual reminder) */
@media (max-width: 600px) { .lds-table thead { position: absolute; clip: rect(0 0 0 0); } .lds-table tr { display: grid; grid-template-columns: 1fr; padding: 8px 0; border-block-end: 1px solid var(--border-default); } .lds-table td { border: 0; padding: 2px 0; } .lds-table td::before { content: attr(data-label) " "; color: var(--text-metadata); font-size: .75rem; display: block; } .lds-table td.num { text-align: start; } }

/* MotifFrame and MotionController styles live in motif/motif-frame.css (component.motif-frame.01, component.motion-controller.01) */

/* MapLegend — component.map-legend.01 with state rows (the swatch carries the treatment; the label is plain text beside it) */
.lds-map-legend { display: grid; gap: 6px; max-inline-size: 320px; padding: 12px 14px; border: 1px solid var(--border-hairline); border-radius: 10px; background: var(--surface-card); font-family: "Bai Jamjuree", system-ui, sans-serif; font-size: .8125rem; }
.lds-map-legend__title { font-weight: 600; }
.lds-map-legend__unit { color: var(--text-metadata); font-size: .75rem; }
.lds-map-legend__classes { display: flex; gap: 0; block-size: 12px; border: 1px solid var(--border-hairline); border-radius: 3px; overflow: hidden; }
.lds-map-legend__classes span { flex: 1; }
.lds-map-legend__labels { display: flex; justify-content: space-between; font-size: .75rem; color: var(--text-metadata); font-family: "JetBrains Mono", "IBM Plex Sans Thai", monospace; }
.lds-map-legend__states { list-style: none; margin: 4px 0 0; padding: 6px 0 0; border-block-start: 1px solid var(--border-hairline); display: grid; gap: 4px; }
.lds-map-legend__states li { display: grid; grid-template-columns: 18px 1.6em 1fr; align-items: center; gap: 8px; color: var(--state-label-ink); }
.lds-map-legend__states li .lds-legend-swatch { inline-size: 18px; block-size: 14px; border-radius: 3px; }
.lds-map-legend__states li[data-state="measured_zero"] .lds-legend-swatch { background: var(--scale-count-low); outline: 2px solid var(--state-measured-zero-outline); outline-offset: -2px; }
.lds-map-legend__states li[data-state="no_data"] .lds-legend-swatch { background-image: repeating-linear-gradient(135deg, var(--state-no-data-fill) 0 3px, transparent 3px 6px); border-color: var(--border-emphasis); }
.lds-map-legend__states li[data-state="out_of_scope"] .lds-legend-swatch { background: transparent; }
.lds-map-legend__states li[data-state="suppressed"] .lds-legend-swatch { background: var(--state-suppressed-fill); border: 1px dashed var(--border-emphasis); }
.lds-map-legend__states li[data-state="not_yet"] .lds-legend-swatch { background: var(--state-not-yet-fill); border: 1px dotted var(--semantic-pending-ink); }
.lds-map-legend__source { font-size: .75rem; color: var(--text-metadata); }
