.aim { max-width: var(--ds-size-container, 1300px); margin: 0 auto; box-sizing: border-box; padding: 16px var(--ds-size-gutter, 24px) 72px; }
.aim-tabs { display: flex; flex-wrap: nowrap; overflow-x: auto; white-space: nowrap; scrollbar-width: thin; scroll-snap-type: x proximity; gap: 4px; border-bottom: 1px solid var(--ds-color-border-card, #e9ecf1); margin-bottom: 16px; }
.aim-tab { flex: 0 0 auto; scroll-snap-align: start; font: inherit; background: none; border: 0; border-bottom: 2px solid transparent; padding: 8px 10px; color: var(--ds-color-legacy-page-muted, #5b6678); cursor: pointer; text-decoration: none; }
.aim-tab[aria-selected="true"] { color: var(--ds-color-navy, #002244); border-bottom-color: var(--ds-color-text-accent-link, #0a6bb0); font-weight: 600; }
.aim-tab:focus-visible, .aim-svg:focus-visible { outline: 2px solid var(--ds-color-text-accent-link, #0a6bb0); outline-offset: 2px; }
.aim-finding { font-size: 1.05rem; color: var(--ds-color-text-heading, #1a2433); }
.aim-fig { margin: 24px 0 4px; }
.aim-fig-title { font-size: 0.95rem; color: var(--ds-color-navy, #002244); margin: 0 0 6px; }
.aim-svg { display: block; max-width: 100%; height: auto; font-family: inherit; fill: var(--ds-color-text-body, #475569); }
.aim-cap, .aim-dl, .aim-note, .aim-empty { font-size: 12px; color: var(--ds-color-legacy-page-muted, #5b6678); margin: 4px 0; }
.aim-data { font-size: 12px; margin: 4px 0; }
.aim-data summary { cursor: pointer; color: var(--ds-color-legacy-page-muted, #5b6678); }
.aim-data table { border-collapse: collapse; margin-top: 6px; display: block; overflow-x: auto; max-width: 100%; }
.aim-data th, .aim-data td { text-align: left; padding: 3px 8px; border-bottom: 1px solid var(--ds-color-border-card, #e9ecf1); white-space: nowrap; }
.aim-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.aim-map { aspect-ratio: 4 / 3; max-height: 420px; width: 100%; border: 1px solid var(--ds-color-border-card, #e9ecf1); }
.aim-sources { border-collapse: collapse; font-size: 12px; width: 100%; }
.aim-sources caption { text-align: left; font-weight: 600; color: var(--ds-color-navy, #002244); padding-bottom: 6px; }
.aim-sources th, .aim-sources td { text-align: left; padding: 6px 8px; border-bottom: 1px solid var(--ds-color-border-card, #e9ecf1); }
.aim-err { color: var(--ds-color-danger, #991b1b); }
.aim-loading { min-height: 200px; }
@media (max-width: 480px) { .aim { padding: 16px 12px; } .aim-tab { padding: 8px 6px; font-size: 0.9rem; } .aim-sources { display: block; overflow-x: auto; } }
@media (min-width: 900px) { .aim-tab { padding: 8px 7px; } }

.aim-tip { pointer-events: none; }
.aim-tip .maplibregl-popup-content { padding: 8px 10px; font-size: 12px; line-height: 1.45; pointer-events: none; }

.aim-key { margin: 6px 0 2px; font-size: 12px; color: var(--ds-color-legacy-page-muted, #5b6678); }
.aim-key-head { margin: 0 0 4px; }
.aim-key-swatch { vertical-align: middle; }
.aim-key-list { margin: 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 2px 16px; }
.aim-key-n { display: inline-block; min-width: 1.3em; height: 1.3em; line-height: 1.3em; border-radius: 50%; background: #b45309; color: #fff; font-size: 11px; font-weight: 700; text-align: center; }

.aim-tooltip { position: fixed; z-index: 1000; display: none; max-width: 280px; padding: 6px 9px; background: #fff; color: #1a2433; border: 1px solid #cbd5e1; border-radius: 4px; box-shadow: 0 2px 8px rgba(0, 34, 68, 0.15); font-size: 12px; line-height: 1.4; pointer-events: none; }
.aim-svg [data-tip] { cursor: default; }

.aim-note-about { margin: 28px 0 0; padding-top: 12px; border-top: 1px solid var(--ds-color-legacy-page-border, #d8dee8); }
.aim-note-about h2 { margin: 0 0 6px; font-size: 12px; font-weight: 700; color: var(--ds-color-legacy-page-text, #1a2433); }
.aim-note-about p { margin: 0 0 0.6em; font-size: 12px; line-height: 1.5; color: var(--ds-color-legacy-page-muted, #5b6678); }
.aim-aid { font-size: 12px; color: var(--ds-color-legacy-page-muted, #5b6678); margin: 0 0 4px; }
