/*
 * 720p-Tolerant UI Readability Candidate v0.1
 * Local/offline overlay only. The qualified Remote Surface is not modified.
 * Target capture viewport: 1920x1080 at DPR 1, downscaled after capture.
 */

:root {
  /* Preserve the blue-grey brand palette while lifting small-copy contrast. */
  --ink-muted: #b5c2d3;
  --ink-faint: #95a5ba;
  --line: rgba(190, 209, 232, 0.21);
  --line-strong: rgba(190, 209, 232, 0.31);
}

/* Shared micro-label rule: slightly larger, denser tracking, brighter ink. */
.eyebrow,
.status-label,
.node-rail__eyebrow,
.focus-kicker,
.focus-sequence,
.focus-meta__item span,
.focus-category__label,
.node-rail__count,
.rotation-copy p:last-child {
  font-size: 0.84rem;
  letter-spacing: 0.12em;
}

.status-note,
.snapshot-id {
  color: var(--ink-muted);
  font-size: 0.82rem;
}

/*
 * Main-card vertical budget. These are general rules for any long title:
 * the outer card remains fixed while internal padding and row gaps contract.
 */
.focus-card {
  padding-block: 2rem;
}

.focus-heading {
  padding-top: 1rem;
}

.focus-heading h2 {
  max-width: 50rem;
  font-size: clamp(2.55rem, 3.15vw, 3.8rem);
  line-height: 0.98;
}

.focus-summary {
  margin-top: 0.75rem;
}

.focus-coverage {
  margin-top: 0.25rem;
  color: var(--ink-muted);
  font-size: 1rem;
  font-weight: 560;
}

.focus-metrics {
  margin-top: 1.25rem;
}

.focus-metric {
  padding-block: 1.05rem;
}

.focus-metric__label {
  color: var(--ink-muted);
  font-weight: 620;
  letter-spacing: 0.01em;
}

.focus-meta {
  padding-top: 0.8rem;
}

.focus-meta__item {
  gap: 0.32rem;
}

.focus-meta__item span {
  color: var(--ink-muted);
}

.focus-meta__item strong {
  font-weight: 650;
}

/* Map captions and thin cartographic lines must survive 1280/873 downscales. */
.world-context__header h2 {
  color: var(--ink-muted);
  font-size: 0.86rem;
  letter-spacing: 0.12em;
}

.world-context__header p,
.map-focus-label {
  color: var(--ink-muted);
  font-size: 0.78rem;
  font-weight: 650;
}

.world-map-frame {
  border-top-color: rgba(190, 209, 232, 0.15);
}

.map-graticule__line {
  stroke: rgba(169, 194, 223, 0.12);
  stroke-width: 1.25;
}

.continent-shape {
  fill: rgba(121, 150, 183, 0.19);
  stroke: rgba(159, 183, 211, 0.31);
  stroke-width: 1.35;
}

.map-marker__label {
  font-size: 20px;
  font-weight: 740;
  letter-spacing: 0.05em;
}

/* Node-rail copy and boundaries: modest increases without changing geometry. */
.node-rail__item {
  border-color: rgba(190, 209, 232, 0.16);
}

.node-rail__item.is-active {
  border-color: rgba(190, 209, 232, 0.34);
}

.node-rail__name {
  font-size: 1.06rem;
}

.node-rail__index,
.node-rail__code {
  color: var(--ink-muted);
  font-size: 0.76rem;
  letter-spacing: 0.08em;
}

.node-rail__metrics {
  color: var(--ink-muted);
  font-weight: 620;
}

.node-rail__separator {
  color: var(--ink-muted);
}

.node-rail__freshness {
  color: var(--ink-muted);
  font-size: 0.75rem;
  letter-spacing: 0.075em;
}

.rotation-copy p:first-child {
  font-size: 0.9rem;
}

.accent-disclosure {
  color: var(--ink-muted);
  font-size: 0.8rem;
}
