.dc-dialog {
  --dc-left: #b5422b;
  --dc-right: #116662;
  --dc-ink: #202622;
  --dc-muted: #596159;
  --dc-rule: #ced0c4;
  --dc-paper: #f5f3eb;
  --dc-gutter: 20px;
  --dc-map-height: clamp(145px,18vh,174px);
  box-sizing: border-box;
  width: min(790px, calc(100% - 48px));
  max-width: none;
  max-height: min(90dvh, 1040px);
  padding: 0;
  margin: auto;
  overflow: auto;
  overscroll-behavior: contain;
  scroll-padding-block-start: calc(var(--dc-map-height) + 72px);
  color: var(--dc-ink);
  border: 1px solid #727c70;
  background: var(--dc-paper);
  scrollbar-width: thin;
  font-family: var(--font, Arial, sans-serif);
  box-shadow: 0 18px 68px #151b163f;
}
.dc-dialog::backdrop { background: #19211dbd; }
.dc-dialog [hidden] { display: none !important; }
.dc-dialog *, .dc-dialog *::before { box-sizing: border-box; }
.dc-shell { padding: 27px 34px 24px; }
.dc-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 22px; }
.dc-header h2 { margin: 0; color: var(--dc-ink); font: 800 clamp(30px,4vw,44px)/1.06 var(--font,Arial,sans-serif); letter-spacing: -.055em; }
.dc-header h2:focus { outline: none; }
.dc-dialog .dc-context { color: var(--dc-muted); font: 500 13px/1.45 var(--font,Arial,sans-serif); margin: 7px 0 0; }
.dc-dialog button { appearance: none; font-family: inherit; cursor: pointer; }
.dc-dialog :is(button,select,summary):focus-visible { outline: 3px solid #183e5d; outline-offset: 3px; }
.dc-close {
  display: grid; place-items: center; flex: 0 0 40px; width: 40px; height: 40px;
  border: 1px solid var(--dc-rule); border-radius: 0; background: transparent; color: var(--dc-ink);
}
.dc-close span { font: 400 28px/.8 Arial,sans-serif; }
.dc-close:hover { background: #e8e8dc; }
.dc-controls, .dc-maps, .dc-metrics { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: var(--dc-gutter); }
.dc-pick { display: grid; gap: 6px; font-size: 12px; font-weight: 650; color: var(--dc-muted); }
.dc-pick select {
  color-scheme: light; box-sizing: border-box; min-height: 42px; width: 100%; min-width: 0;
  font: 600 15px/1.35 var(--font,Arial,sans-serif); border: 1px solid #adb4a8; border-radius: 0;
  background: #fbfaf4; color: var(--dc-ink); padding: 7px 8px;
}
.dc-pick option { font: inherit; }
.dc-maps {
  position: sticky; top: 0; z-index: 1;
  margin-top: 5px; padding-block: 5px 4px; row-gap: 3px;
  background: var(--dc-paper);
}
.dc-map { display: flex; flex-direction: column; min-width: 0; margin: 0; }
.dc-map-frame { position: relative; width: 100%; height: var(--dc-map-height); overflow: hidden; border: 1px solid #c2c8ba; background: #eaece2; }
.dc-map-message {
  position: absolute; inset: 0; display: grid; place-items: center; padding: 10px;
  color: var(--dc-muted); text-align: center; font: 500 12px/1.35 var(--font,Arial,sans-serif);
}
.dc-geography { display: block; width: 100%; height: 100%; }
.dc-map-caption {
  display: flex; align-items: baseline; min-width: 0; padding-top: 6px;
  color: var(--series); font: 700 15px/1.25 var(--font,Arial,sans-serif);
}
.dc-map-name { overflow-wrap: break-word; }
.dc-map-credit {
  grid-column: 1/-1; color: var(--dc-muted); text-align: right;
  font: 400 10px/1.3 var(--font,Arial,sans-serif);
}
.dc-map-credit a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.dc-body { margin-top: 7px; }
.dc-status,.dc-coverage,.dc-quiet { font: 400 14px/1.45 var(--font,Arial,sans-serif); color: var(--dc-muted); }
.dc-status { border-top: 1px solid var(--dc-rule); margin: 0; padding: 18px 0 8px; }
.dc-coverage { margin: 12px 0 0; }
.dc-metrics { row-gap: 17px; }
.dc-left { --series: var(--dc-left); }
.dc-right { --series: var(--dc-right); }
.dc-metric { border-top: 2px solid var(--series); padding-top: 9px; min-width: 0; }
.dc-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; border: 0; clip-path: inset(50%); overflow: hidden; white-space: nowrap; }
.dc-total { color: var(--dc-ink); display: block; font: 650 clamp(36px,5.5vw,58px)/.99 var(--font,Arial,sans-serif); letter-spacing: -.063em; font-variant-numeric: tabular-nums; }
.dc-total.dc-no-total { font-size: 26px; }
.dc-unit { display: block; color: var(--dc-muted); margin-top: 4px; font-size: 13px; }
.dc-population { display: grid; grid-template-columns: 1fr auto; align-items: baseline; gap: 6px 10px; margin: 15px 0 0; }
.dc-population dt { margin: 0; color: var(--dc-muted); font-size: 12px; }
.dc-population dd { margin: 0; color: var(--dc-ink); font: 600 14px/1.3 var(--font,Arial,sans-serif); font-variant-numeric: tabular-nums; }
.dc-difference { grid-column: 1 / -1; margin: -3px 0 0; color: var(--dc-ink); font: 550 14px/1.45 var(--font,Arial,sans-serif); }
.dc-disclosure { margin-top: 14px; border-top: 1px solid var(--dc-rule); }
.dc-disclosure > summary { padding: 13px 0; cursor: pointer; color: var(--dc-ink); font: 650 15px/1.4 var(--font,Arial,sans-serif); }
.dc-disclosure + .dc-disclosure { margin-top: 0; }
.dc-disclosure[open] { padding-bottom: 12px; }
.dc-disclosure .dc-map-caption { margin: 0; }
.dc-disclosure .dc-population { margin-top: 4px; }
.dc-story-picker { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; font-size: 13px; color: var(--dc-muted); }
.dc-story-picker select { min-height: 36px; max-width: 100%; padding: 4px; border: 1px solid var(--dc-rule); background: #fbfaf4; color: var(--dc-ink); font: 600 14px/1.35 var(--font,Arial,sans-serif); }
.dc-story-period { margin: 13px 0 0; color: var(--dc-muted); font: 550 13px/1.45 var(--font,Arial,sans-serif); }
.dc-story-lead { margin: 5px 0 9px; font: 650 clamp(21px,3vw,28px)/1.2 var(--font,Arial,sans-serif); font-variant-numeric: tabular-nums; }
.dc-story-lead span { font-size: 14px; font-weight: 500; white-space: nowrap; }
.dc-story-changes { margin: 0; padding: 0; list-style: none; }
.dc-story-changes li { display: flex; justify-content: space-between; gap: 6px 12px; padding: 5px 0; flex-wrap: wrap; font-size: 14px; }
.dc-story-changes li span { color: var(--dc-muted); font-variant-numeric: tabular-nums; }
.dc-story-results .dc-story-chart { margin: 10px 0 0; }
.dc-story-chart .dc-left { --series: #5a4394; }
.dc-story-chart .dc-right { --series: #635022; }
.dc-story-chart .dc-table tr > :nth-child(2) { color: #5a4394; }
.dc-story-chart .dc-table tr > :nth-child(3) { color: #635022; }
.dc-story .dc-quiet:empty { display: none; }
.dc-section { border-top: 1px solid var(--dc-rule); margin-top: 21px; padding-top: 15px; }
.dc-section h3 { margin: 0; font: 720 21px/1.17 var(--font,Arial,sans-serif); letter-spacing: -.033em; }
.dc-legend { display: flex; gap: 5px 17px; flex-wrap: wrap; margin: 9px 0 8px; }
.dc-key { display: inline-flex; gap: 6px; align-items: center; color: var(--series); font-size: 12px; font-weight: 650; }
.dc-key::before { width: 22px; content: ''; border-top: 2px solid var(--series); }
.dc-key.dc-right::before { border-top-style: dashed; }
.dc-plot { display: grid; grid-template-columns: 48px minmax(0,1fr); align-items: stretch; }
.dc-y-labels { position: relative; }
.dc-y-labels span { position: absolute; right: 7px; transform: translateY(-50%); color: var(--dc-muted); font: 10px/1 var(--mono,monospace); }
.dc-plot svg { display: block; width: 100%; height: 135px; }
.dc-gridline { stroke: #d3d6cb; stroke-width: 1; vector-effect: non-scaling-stroke; }
.dc-line { fill: none; stroke: var(--series); stroke-width: 2.4px; stroke-linecap: round; stroke-linejoin: round; }
.dc-line.dc-right { stroke-dasharray: 6 4; }
.dc-point { fill: var(--series); }
.dc-axis { display: flex; justify-content: space-between; margin: 2px 0 0 48px; color: var(--dc-muted); font: 10px/1.3 var(--mono,monospace); }
.dc-axis.dc-single { justify-content: center; }
.dc-month-table { margin-top: 10px; }
.dc-month-table summary { width: fit-content; padding: 4px 0; color: var(--dc-muted); cursor: pointer; font: 600 12px/1.4 var(--font,Arial,sans-serif); }
.dc-table { width: 100%; table-layout: fixed; border-collapse: collapse; margin-top: 9px; color: var(--dc-ink); font-size: 13px; font-variant-numeric: tabular-nums; }
.dc-table :is(td,th) { border-bottom: 1px solid var(--dc-rule); padding: 8px 3px; text-align: right; line-height: 1.3; overflow-wrap: anywhere; }
.dc-table th:first-child { width: 53%; padding-left: 0; text-align: left; font-weight: 500; }
.dc-table thead th { font: 650 12px/1.3 var(--font,Arial,sans-serif); }
.dc-table tr > :nth-child(2) { color: var(--dc-left); }
.dc-table tr > :nth-child(3) { color: var(--dc-right); }
.dc-table tbody td { font-weight: 600; }
.dc-table tbody tr:last-child > * { border-bottom: 0; }
.dc-footer { margin-top: 20px; border-top: 1px solid var(--dc-rule); padding-top: 14px; }
.dc-years,.dc-retry { display: inline-flex; align-items: center; gap: 8px; padding: 7px 0; border: 0; border-radius: 0; color: var(--dc-ink); background: transparent; font-size: 13px; font-weight: 650; }
.dc-years:hover,.dc-retry { text-decoration: underline; text-underline-offset: 3px; }
.dc-years span { font-size: 16px; color: var(--dc-left); }
@media (max-width:600px) {
  .dc-dialog { --dc-gutter: 12px; --dc-map-height: 132px; width: 100%; max-height: 92dvh; margin: auto 0 0; border-inline: 0; border-bottom: 0; }
  .dc-shell { padding: 20px max(16px,env(safe-area-inset-right)) calc(20px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left)); }
  .dc-header { margin-bottom: 18px; gap: 8px; }
  .dc-header h2 { font-size: clamp(28px,8vw,36px); }
  .dc-close { flex-basis: 36px; width: 36px; height: 36px; }
  .dc-maps { margin-top: 3px; }
  .dc-map-caption { font-size: 13px; }
  .dc-metrics { row-gap: 12px; }
  .dc-pick select { font-size: 16px; padding-inline: 4px; }
  .dc-total { font-size: clamp(32px,9vw,45px); }
  .dc-population { grid-template-columns: 1fr; gap: 0; }
  .dc-population dd + dt { margin-top: 7px; }
  .dc-plot { grid-template-columns: 42px minmax(0,1fr); }
  .dc-plot svg { height: 122px; }
  .dc-axis { margin-left: 42px; }
  .dc-table th:first-child { width: 48%; }
  .dc-table :is(td,th) { padding-block: 7px; }
}
@media (max-height:550px) {
  .dc-dialog { --dc-map-height: 92px; }
}
@media (max-height:380px) {
  .dc-dialog { scroll-padding-block-start: 8px; }
  .dc-maps { position: static; }
}
