/* Juntitos — generado desde tokens.json. No editar a mano. */
:root, [data-theme="dark"] {
  color-scheme: dark;
  --bg: #0d1418;
  --surface-1: #152027;
  --surface-2: #1d2a32;
  --surface-3: #26353f;
  --contour: #2a3a44;
  --contour-strong: #61747f;
  --text-1: #eef3f4;
  --text-2: #b4c3ca;
  --text-3: #8fa2ab;
  --brand: #6fd3b8;
  --on-brand: #05201a;
  --control-track: #152027;
  --control-thumb: #26353f;
  --nivel-0: var(--text-3);
  --nivel-1: #8cb8ff;
  --nivel-2: #ffc94d;
  --nivel-3: #ff8577;
  --status-ok: var(--brand);
  --status-stale: var(--text-2);
  --map-place: var(--brand);
  --map-water: #0a1822;
  --map-land: #1f2a31;
  --map-road: #3a4952;
  --map-border: #56666f;
  --map-space: #000000;
  --map-contour: #43535d;
  --map-contour-strong: #506370;
  --brand-text: #6fd3b8;
  --nivel-1-fill: #7fb2ff;
  --nivel-2-fill: #ffc94d;
  --nivel-3-fill: #d92d20;
  --on-nivel-1: #0d1418;
  --on-nivel-2: #1f1600;
  --on-nivel-3: #ffffff;
  --nivel-1-tint: #1b2a44;
  --nivel-2-tint: #3a2e10;
  --nivel-3-tint: #4a1814;
  --map-road-casing: #2c3940;
  --map-road-major: #56666f;
  --map-road-major-casing: #56666f;
  --map-park: #1d3832;
  --map-label: #b4c3ca;
  --map-unsafe: #8fa2ab;
  --elev-1: inset 0 0 0 1px rgba(255,255,255,0.06), 0 8px 24px rgba(0,0,0,0.45);
  --elev-sheet: inset 0 1px 0 rgba(255,255,255,0.07), 0 -12px 32px rgba(0,0,0,0.45);
}
[data-theme="light"] {
  color-scheme: light;
  --bg: #f6f3ec;
  --surface-1: #ffffff;
  --surface-2: #efebe3;
  --surface-3: #e5dfd3;
  --contour: #ddd6ca;
  --contour-strong: #8d8577;
  --text-1: #101c24;
  --text-2: #3e4d56;
  --text-3: #56656d;
  --brand: #0f7a63;
  --on-brand: #ffffff;
  --control-track: #efebe3;
  --control-thumb: #ffffff;
  --nivel-0: var(--text-3);
  --nivel-1: #2457b8;
  --nivel-2: #875800;
  --nivel-3: #b3150b;
  --status-ok: var(--brand);
  --status-stale: var(--text-2);
  --map-place: var(--brand);
  --map-water: #9cc6dd;
  --map-land: #ebe6dc;
  --map-road: #ffffff;
  --map-border: #a99f8c;
  --map-space: #ffffff;
  --map-contour: #d3cbbd;
  --map-contour-strong: #bfb6a5;
  --brand-text: #0b6b56;
  --nivel-1-fill: #4a86e8;
  --nivel-2-fill: #f5b81f;
  --nivel-3-fill: #c8261b;
  --on-nivel-1: #101c24;
  --on-nivel-2: #1f1600;
  --on-nivel-3: #ffffff;
  --nivel-1-tint: #e6eefc;
  --nivel-2-tint: #fdf0d2;
  --nivel-3-tint: #fde4e1;
  --map-road-casing: #c4bba9;
  --map-road-major: #ffffff;
  --map-road-major-casing: #a99f8c;
  --map-park: #d3e6cf;
  --map-label: #3e4d56;
  --map-unsafe: #6b6157;
  --elev-1: 0 1px 2px rgba(19,32,42,0.06), 0 8px 24px rgba(19,32,42,0.08);
  --elev-sheet: 0 -8px 32px rgba(19,32,42,0.08);
}
:root {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;
  --radius-xs: 6px;
  --radius-sm: 10px;
  --radius-md: 16px;
  --radius-lg: 24px;
  --radius-xl: 32px;
  --radius-pill: 999px;
  --touch-min: 48px;
  --touch-senior: 88px;
  --avatar: 44px;
  --font-display: "Bricolage Grotesque Variable", "Bricolage Grotesque", system-ui, sans-serif;
  --font-sans: "Atkinson Hyperlegible Next Variable", "Atkinson Hyperlegible Next", system-ui, sans-serif;
  --font-mono: "Atkinson Hyperlegible Mono Variable", "Atkinson Hyperlegible Mono", ui-monospace, monospace;
}
.t-h1 {
  font-family: var(--font-display);
  font-size: 32px;
  line-height: 38px;
  font-weight: 700;
  letter-spacing: -0.01em;
}
.t-h2 {
  font-family: var(--font-display);
  font-size: 26px;
  line-height: 32px;
  font-weight: 650;
}
.t-h3 {
  font-family: var(--font-display);
  font-size: 21px;
  line-height: 28px;
  font-weight: 600;
}
.t-body {
  font-family: var(--font-sans);
  font-size: 17px;
  line-height: 26px;
  font-weight: 400;
}
.t-body-sm {
  font-family: var(--font-sans);
  font-size: 15px;
  line-height: 22px;
  font-weight: 400;
}
.t-label {
  font-family: var(--font-sans);
  font-size: 15px;
  line-height: 20px;
  font-weight: 600;
}
.t-caption {
  font-family: var(--font-sans);
  font-size: 13px;
  line-height: 18px;
  font-weight: 500;
}
.t-data-hero {
  font-family: var(--font-mono);
  font-size: 72px;
  line-height: 64px;
  font-weight: 500;
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
}
.t-data-l {
  font-family: var(--font-mono);
  font-size: 28px;
  line-height: 32px;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
}
.t-data-m {
  font-family: var(--font-mono);
  font-size: 17px;
  line-height: 22px;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
}
.t-data-s {
  font-family: var(--font-mono);
  font-size: 13px;
  line-height: 16px;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
}
