/* Supplied cohort overview, separate from the fictional directory below. */
.cohort-atlas {
  --cm-ink: var(--sx-ink);
  --cm-muted: var(--sx-muted);
  --cm-line: var(--sx-line);
  --cm-surface: var(--sx-surface);
  --cm-soft: var(--sx-soft);
  --cm-accent: var(--sx-teal);
  --cm-sea: #e7f1f6;
  --cm-land: #cddae3;
  --cm-border: #8ca3b5;
  --cm-1: #b6e0d3;
  --cm-2: #72c5b3;
  --cm-3: #288d80;
  --cm-4: #09554f;
  --cm-selected: #8051ba;
  scroll-margin-top: calc(var(--header-height) + 1rem);
}
:root[data-theme="dark"] .cohort-atlas {
  --cm-sea: #152c40;
  --cm-land: #2b465d;
  --cm-border: #5d7b91;
  --cm-1: #3a776a;
  --cm-2: #51a590;
  --cm-3: #7dcdb5;
  --cm-4: #baf0dc;
  --cm-selected: #e8baff;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .cohort-atlas {
    --cm-sea: #152c40; --cm-land: #2b465d; --cm-border: #5d7b91;
    --cm-1: #3a776a; --cm-2: #51a590; --cm-3: #7dcdb5; --cm-4: #baf0dc; --cm-selected: #e8baff;
  }
}
.cohort-atlas [hidden] { display: none !important; }
.cohort-atlas :is(ul, dl) { margin: 0; padding: 0; list-style: none; }
.cohort-atlas p { margin: 0; }
.cohort-atlas .cm-heading { display: flex; align-items: end; justify-content: space-between; gap: 1.5rem; margin-bottom: 1.25rem; }
.cohort-atlas .cm-eyebrow { color: var(--cm-accent); font-size: .7rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.cohort-atlas .cm-heading h2 { margin: .5rem 0 .55rem; font: 650 clamp(1.55rem, 3vw, 2.25rem)/1.18 var(--font-sans); letter-spacing: -.035em; }
.cohort-atlas .cm-intro { max-width: 45rem; color: var(--cm-muted); font-size: .92rem; line-height: 1.7; }
.cohort-atlas .cm-badge { display: inline-flex; flex: none; align-items: center; gap: .45rem; border: 1px solid var(--cm-line); background: var(--cm-surface); color: var(--cm-accent); padding: .55rem .75rem; border-radius: 99px; font-size: .75rem; font-weight: 650; }
.cohort-atlas .cm-badge::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.cohort-atlas .cm-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .85rem; margin-bottom: 1.3rem; }
.cohort-atlas .cm-stat { display: grid; grid-template-columns: auto 1fr; column-gap: 1.1rem; align-items: center; padding: 1.15rem 1.4rem; border: 1px solid var(--cm-line); background: var(--cm-surface); border-radius: 18px; box-shadow: var(--sx-shadow); }
.cohort-atlas .cm-stat-number { grid-row: span 2; font: 650 clamp(2rem, 4vw, 2.8rem)/1.15 var(--font-sans); letter-spacing: -.06em; color: var(--cm-accent); font-variant-numeric: tabular-nums; }
.cohort-atlas .cm-stat-label { font-size: .86rem; font-weight: 700; }
.cohort-atlas .cm-stat-caption { font-size: .7rem; color: var(--cm-muted); line-height: 1.5; margin-top: .2rem; }
.cohort-atlas .cm-map-layout { display: grid; grid-template-columns: minmax(0, 1fr) 290px; gap: 1rem; }
.cohort-atlas .cm-map-card { border: 1px solid var(--cm-line); border-radius: 22px; overflow: hidden; min-width: 0; background: var(--cm-surface); box-shadow: var(--sx-shadow); }
.cohort-atlas .cm-map-toolbar { display: flex; align-items: center; justify-content: space-between; padding: .85rem 1.1rem; gap: 1rem; border-bottom: 1px solid var(--cm-line); }
.cohort-atlas .cm-map-toolbar h3 { margin: 0; font-size: .88rem; line-height: 1.4; }
.cohort-atlas .cm-map-presets { display: inline-flex; padding: 3px; border-radius: 11px; background: var(--cm-soft); gap: 2px; }
.cohort-atlas .cm-map-presets button { min-width: 64px; padding: .5rem .7rem; border: 0; border-radius: 9px; background: transparent; font-size: .76rem; font-weight: 650; color: var(--cm-muted); cursor: pointer; }
.cohort-atlas .cm-map-presets button[aria-pressed="true"] { background: var(--cm-surface); color: var(--cm-accent); box-shadow: 0 2px 5px #102c3d13; }
.cohort-atlas .cm-map-frame { position: relative; background: var(--cm-sea); overflow: hidden; }
.cohort-atlas .cm-map { aspect-ratio: 1000 / 460; width: 100%; min-height: 280px; display: flex; align-items: center; justify-content: center; }
.cohort-atlas .cm-map-svg { display: block; width: 100%; height: 100%; position: absolute; inset: 0; touch-action: pan-y; }
.cohort-atlas .cm-country { stroke: var(--cm-border); stroke-width: .5px; vector-effect: non-scaling-stroke; fill: var(--cm-land); }
.cohort-atlas .cm-level-1 { fill: var(--cm-1); }
.cohort-atlas .cm-level-2 { fill: var(--cm-2); }
.cohort-atlas .cm-level-3 { fill: var(--cm-3); }
.cohort-atlas .cm-level-4 { fill: var(--cm-4); }
.cohort-atlas .cm-country[data-cm-country] { cursor: pointer; }
.cohort-atlas .cm-country.is-filtered { opacity: .3; cursor: default; }
.cohort-atlas .cm-country[data-cm-country]:not(.is-filtered):hover { stroke: var(--cm-ink); stroke-width: 1.6px; }
.cohort-atlas .cm-country.is-selected { stroke: var(--cm-selected); stroke-width: 2.5px; stroke-dasharray: 3 1; }
.cohort-atlas .cm-country:focus-visible { outline: none; stroke: var(--cm-selected); stroke-width: 3px; stroke-dasharray: 3 1; }
.cohort-atlas .cm-tooltip { position: absolute; z-index: 3; max-width: calc(100% - 16px); padding: .6rem .75rem; border: 1px solid #37556f; border-radius: 10px; color: #f1f7ff; background: #102c42; box-shadow: 0 4px 16px #001c3040; font-size: .76rem; pointer-events: none; }
.cohort-atlas .cm-zoom { position: absolute; left: .75rem; bottom: .75rem; display: flex; gap: 4px; padding: 3px; border-radius: 11px; background: var(--cm-surface); border: 1px solid var(--cm-line); }
.cohort-atlas .cm-zoom button { min-width: 44px; padding: .4rem; border: 0; border-radius: 8px; background: transparent; color: var(--cm-ink); font-size: 1.1rem; font-weight: 650; cursor: pointer; }
.cohort-atlas .cm-zoom button:last-child { padding-inline: .6rem; font-size: .73rem; }
.cohort-atlas .cm-zoom button:hover { background: var(--cm-soft); }
.cohort-atlas .cm-map-footer { display: grid; gap: .65rem; padding: .95rem 1.1rem 1rem; }
.cohort-atlas .cm-legend { display: flex; flex-wrap: wrap; gap: .45rem 1rem; align-items: center; font-size: .71rem; color: var(--cm-muted); }
.cohort-atlas .cm-legend > span { display: inline-flex; align-items: center; gap: .35rem; white-space: nowrap; }
.cohort-atlas .cm-legend i { display: inline-block; width: 12px; height: 12px; border-radius: 3px; border: 1px solid var(--cm-border); }
.cohort-atlas .cm-key-0 { background: var(--cm-land); }
.cohort-atlas .cm-key-1 { background: var(--cm-1); }
.cohort-atlas .cm-key-2 { background: var(--cm-2); }
.cohort-atlas .cm-key-3 { background: var(--cm-3); }
.cohort-atlas .cm-key-4 { background: var(--cm-4); }
.cohort-atlas .cm-muted { color: var(--cm-muted); font-size: .75rem; line-height: 1.6; }
.cohort-atlas .cm-spotlight { border: 1px solid var(--cm-line); border-radius: 22px; background: var(--cm-surface); padding: 1.4rem; display: flex; flex-direction: column; align-items: flex-start; min-width: 0; box-shadow: var(--sx-shadow); }
.cohort-atlas .cm-spotlight h3 { margin: 1rem 0 .8rem; font-size: 1.3rem; line-height: 1.35; letter-spacing: -.025em; }
.cohort-atlas .cm-spotlight-icon { display: grid; place-items: center; width: 50px; height: 50px; background: var(--sx-teal-soft); color: var(--cm-accent); border-radius: 16px; font-size: 2rem; margin-top: 1.5rem; }
.cohort-atlas .cm-detail-copy { font-size: .83rem; line-height: 1.75; color: var(--cm-muted); }
.cohort-atlas .cm-detail-foot { margin-top: auto; padding-top: 1.5rem; color: var(--cm-muted); font-size: .78rem; line-height: 1.7; }
.cohort-atlas .cm-detail-foot strong { display: block; color: var(--cm-accent); }
.cohort-atlas .cm-detail-title { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; }
.cohort-atlas .cm-detail-title .country-flag { transform: scale(1.25); margin: .25rem; }
.cohort-atlas .cm-detail-number { display: flex; flex-direction: column; margin: 1.05rem 0 0; }
.cohort-atlas .cm-detail-number strong { font: 650 4rem/1 var(--font-sans); letter-spacing: -.07em; color: var(--cm-accent); }
.cohort-atlas .cm-detail-number span { color: var(--cm-muted); font-size: .8rem; margin-top: .45rem; }
.cohort-atlas .cm-detail-share { margin-top: 1.1rem; color: var(--cm-muted); font-size: .83rem; line-height: 1.6; }
.cohort-atlas .cm-detail-share strong { color: var(--cm-ink); }
.cohort-atlas .cm-detail-facts { border-top: 1px solid var(--cm-line); padding-top: 1rem; margin-top: 1.25rem; width: 100%; font-size: .78rem; }
.cohort-atlas .cm-detail-facts > div { display: flex; justify-content: space-between; align-items: start; gap: 1rem; margin-bottom: .65rem; }
.cohort-atlas .cm-detail-facts dt { color: var(--cm-muted); }
.cohort-atlas .cm-detail-facts dd { margin: 0; font-weight: 650; text-align: right; }
.cohort-atlas .cm-clear-selection { margin-top: auto; padding: .4rem 0; background: none; border: 0; color: var(--cm-accent); font-size: .79rem; font-weight: 650; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.cohort-atlas .cm-detail-layout { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 1.25rem; margin-top: 1.25rem; align-items: start; }
.cohort-atlas .cm-panel { padding: 1.35rem; background: var(--cm-surface); border: 1px solid var(--cm-line); border-radius: 20px; min-width: 0; }
.cohort-atlas .cm-panel h3 { margin: .35rem 0 .65rem; font-size: 1.15rem; letter-spacing: -.025em; }
.cohort-atlas .cm-list-controls { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .75fr); gap: .65rem; margin: 1.1rem 0 .7rem; }
.cohort-atlas .cm-list-controls label { display: grid; gap: .35rem; font-size: .73rem; font-weight: 650; color: var(--cm-muted); min-width: 0; }
.cohort-atlas .cm-search-label { grid-column: 1 / -1; }
.cohort-atlas :is(.cm-list-controls input, .cm-list-controls select) { width: 100%; min-width: 0; min-height: 44px; padding: .65rem .8rem; border: 1px solid var(--cm-line); border-radius: 10px; background: var(--cm-soft); color: var(--cm-ink); font-size: .82rem; box-sizing: border-box; }
.cohort-atlas .cm-list-controls input::placeholder { color: var(--cm-muted); opacity: 1; }
.cohort-atlas .cm-list-heading { display: flex; justify-content: space-between; align-items: center; gap: .75rem; padding-bottom: .6rem; border-bottom: 1px solid var(--cm-line); font-size: .72rem; color: var(--cm-muted); }
.cohort-atlas .cm-reset { color: var(--cm-accent); font-size: .72rem; font-weight: 650; background: none; border: 0; padding: .4rem 0 .4rem .4rem; cursor: pointer; text-align: right; }
.cohort-atlas .cm-countries { max-height: 31rem; overflow-y: auto; overscroll-behavior-y: auto; scrollbar-width: thin; padding: 3px; margin: .3rem -3px 0; }
.cohort-atlas .cm-country-row { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 36px 49px; align-items: center; gap: .65rem; width: 100%; padding: .85rem .6rem; margin: 1px 0; background: transparent; border: 1px solid transparent; border-radius: 9px; color: var(--cm-ink); text-align: left; cursor: pointer; overflow: hidden; }
.cohort-atlas .cm-country-row:hover { background: var(--cm-soft); }
.cohort-atlas .cm-country-row[aria-pressed="true"] { background: var(--sx-teal-soft); border-color: var(--cm-accent); }
.cohort-atlas .cm-country-name { display: flex; align-items: center; gap: .65rem; min-width: 0; font-size: .82rem; font-weight: 550; }
.cohort-atlas .cm-country-name > span:last-child { overflow-wrap: anywhere; }
.cohort-atlas :is(.cm-country-count, .cm-country-share) { text-align: right; font-size: .82rem; font-variant-numeric: tabular-nums; }
.cohort-atlas .cm-country-share { color: var(--cm-muted); font-size: .73rem; }
.cohort-atlas .cm-row-detail { grid-column: 1 / -1; padding-left: 2.15rem; color: var(--cm-accent); font-size: .72rem; line-height: 1.5; }
.cohort-atlas .cm-row-bar { position: absolute; left: .6rem; right: .6rem; bottom: 0; height: 2px; }
.cohort-atlas .cm-row-bar > span { display: block; height: 100%; background: var(--cm-accent); opacity: .35; }
.cohort-atlas .cm-no-results { padding: 1.2rem .6rem; font-size: .88rem; color: var(--cm-muted); }
.cohort-atlas .cm-breakdowns { display: grid; gap: 1.25rem; }
.cohort-atlas .cm-regions { margin-top: 1.05rem; }
.cohort-atlas .cm-region + .cm-region { margin-top: 1.15rem; }
.cohort-atlas .cm-region-heading { display: flex; align-items: center; justify-content: space-between; gap: .7rem; font-size: .78rem; }
.cohort-atlas .cm-region-heading > span { font-variant-numeric: tabular-nums; color: var(--cm-muted); }
.cohort-atlas .cm-bar { height: 5px; border-radius: 6px; overflow: hidden; background: var(--cm-soft); margin: .5rem 0 .25rem; }
.cohort-atlas .cm-bar > span { display: block; height: 100%; min-width: 3px; background: var(--cm-accent); border-radius: inherit; }
.cohort-atlas .cm-group { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .8rem 0; border-bottom: 1px solid var(--cm-line); }
.cohort-atlas .cm-group:last-child { border-bottom: 0; padding-bottom: .3rem; }
.cohort-atlas .cm-group strong { display: block; font-size: .82rem; }
.cohort-atlas .cm-group-count { font-size: 1.5rem; font-weight: 650; color: var(--cm-accent); }
.cohort-atlas .cm-group-note { margin-top: 1rem; }
.cohort-atlas .cm-source { border-top: 1px solid var(--cm-line); margin-top: 1.4rem; padding-top: .65rem; color: var(--cm-muted); font-size: .76rem; line-height: 1.7; }
.cohort-atlas .cm-source > summary { cursor: pointer; padding-block: .5rem; }
.cohort-atlas .cm-source > p { max-width: 72rem; margin: .5rem 0; }
.cohort-atlas .cm-map-fallback { padding: 2rem; max-width: 35rem; text-align: center; color: var(--cm-ink); }
.cohort-atlas .cm-map-fallback p { margin: .8rem 0; font-size: .9rem; }
.cohort-atlas .cm-control { min-height: 44px; padding: .6rem .9rem; border: 1px solid var(--cm-line); border-radius: 10px; background: var(--cm-surface); color: var(--cm-ink); cursor: pointer; }
.cohort-atlas .cm-noscript { padding: 1rem; margin: .8rem 0; border: 1px solid var(--cm-line); border-radius: 12px; }
@media (max-width: 1100px) {
  .cohort-atlas .cm-stat { grid-template-columns: 1fr; gap: .15rem; padding: 1.1rem; }
  .cohort-atlas .cm-stat-number { grid-row: auto; }
  .cohort-atlas .cm-map-layout { grid-template-columns: minmax(0, 1fr) 245px; }
  .cohort-atlas .cm-spotlight { padding: 1.2rem; }
}
@media (max-width: 780px) {
  .cohort-atlas .cm-heading { display: block; }
  .cohort-atlas .cm-badge { margin-top: .85rem; }
  .cohort-atlas .cm-map-layout { grid-template-columns: 1fr; }
  .cohort-atlas .cm-map { min-height: 250px; }
  .cohort-atlas .cm-spotlight { min-height: 0; }
  .cohort-atlas .cm-spotlight:not(.has-country) .cm-spotlight-icon { display: none; }
  .cohort-atlas .cm-spotlight:not(.has-country) h3 { margin-top: .6rem; font-size: 1.1rem; }
  .cohort-atlas .cm-detail-foot { padding-top: .85rem; }
  .cohort-atlas .cm-detail-layout { grid-template-columns: 1fr; }
  .cohort-atlas .cm-detail-number strong { font-size: 3.2rem; }
}
@media (max-width: 480px) {
  .cohort-atlas .cm-stats { gap: .45rem; }
  .cohort-atlas .cm-stat { padding: .85rem .65rem; border-radius: 14px; align-content: start; }
  .cohort-atlas .cm-stat-number { font-size: 2rem; }
  .cohort-atlas .cm-stat-label { font-size: .72rem; line-height: 1.4; }
  .cohort-atlas .cm-stat-caption { font-size: .62rem; line-height: 1.5; }
  .cohort-atlas .cm-map-toolbar { gap: .65rem; padding: .75rem; }
  .cohort-atlas .cm-map-toolbar h3 { font-size: .76rem; max-width: 8rem; }
  .cohort-atlas .cm-map-presets button { min-width: 58px; padding: .4rem .55rem; }
  .cohort-atlas .cm-map { min-height: 230px; }
  .cohort-atlas .cm-map-footer { padding: .85rem; }
  .cohort-atlas .cm-panel { padding: 1rem; }
  .cohort-atlas .cm-country-row { gap: .45rem; padding-inline: .35rem; }
  .cohort-atlas .cm-country-name { font-size: .78rem; gap: .45rem; }
}
