:root {
  --tier-1:#650006;  --tier-2:#a92321;  --tier-3:#6bc456;
  --tier-none:#e5e5e5;
  --tier-dim:.18;
}
@media (prefers-color-scheme: dark) {
  :root {
    --tier-1:#a21a1b; --tier-2:#d9544b; --tier-3:#91ec7d;
    --tier-none:#2e2e2e;
    --tier-dim:.22;
  }
}
.simmap {
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: .75rem .75rem .4rem;
  margin: 0 0 1.25rem;
}
.simmap-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .4rem .5rem;
  padding: 0 .1rem .6rem;
}
.simmap-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .3rem;
}
.simmap-filters input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  margin: 0;
  pointer-events: none;
}
.simmap-key {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .25rem .55rem;
  border: 1px solid var(--line);
  color: var(--muted);
  font-size: .68rem;
  letter-spacing: .04em;
  cursor: pointer;
  white-space: nowrap;
}
.simmap-key:hover { border-color: var(--muted); color: var(--ink); }
.simmap-filters input:checked + .simmap-key {
  border-color: var(--ink);
  color: var(--ink);
}
.simmap-filters input:focus-visible + .simmap-key {
  outline: 2px solid var(--ink);
  outline-offset: 2px;
}
.sw {
  width: 11px;
  height: 11px;
  flex: none;
  box-shadow: inset 0 0 0 1px var(--shadow-sm);
}
.k-all .sw {
  background: linear-gradient(135deg,
    var(--tier-1) 0 33.3%, var(--tier-2) 33.3% 66.6%, var(--tier-3) 66.6% 100%);
}
.k1 .sw { background: var(--tier-1); }
.k2 .sw { background: var(--tier-2); }
.k3 .sw { background: var(--tier-3); }
.k-dq .sw {
  background: var(--tier-none);
  background-image: repeating-linear-gradient(45deg,
    transparent 0 1.6px, var(--ink) 1.6px 3.2px);
}
svg.world { display: block; width: 100%; height: auto; }
.countries path {
  fill: var(--tier-none);
  stroke: var(--bg);
  stroke-width: .6;
  vector-effect: non-scaling-stroke;
  transition: opacity .2s ease, filter .12s ease;
}
.overlay { pointer-events: none; }
.overlay path { fill: url(#hx); stroke: none; transition: opacity .2s ease; }
.simmap:has(.simmap-filters input:checked:not(#f-all)) .countries path,
.simmap:has(.simmap-filters .simmap-key:not(.k-all):hover) .countries path { opacity: var(--tier-dim); }
.simmap:has(.simmap-filters input:checked:not(#f-all)) .overlay path { opacity: 0; }
.simmap:has(#f-dq:checked) .overlay path,
.simmap:has(.k-dq:hover) .overlay path { opacity: 1; }
.countries path:is(:hover, :focus-visible) {
  filter: brightness(1.2) saturate(1.05);
  stroke: var(--ink);
  stroke-width: 1.1;
  outline: none;
  opacity: 1;
}
.readout { pointer-events: none; opacity: 0; transition: opacity .15s; }
.countries:hover .readout, .countries:focus-within .readout { opacity: 1; }
.readout .panel {
  fill: var(--bg);
  stroke: var(--line);
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
}
.readout .chip { fill: var(--tier-none); }
.readout text {
  font: 700 12px/1 ui-monospace, "SF Mono", "Fira Code", "Menlo", monospace;
  fill: var(--ink);
}
.readout .rval { font-weight: 400; font-size: 11px; fill: var(--text-2); }
.readout .rname, .readout .rval { opacity: 0; }
.readout .v0 { opacity: 1; }
:is(#BD,#CN,#GH,#IN,#JO,#MM,#NG,#PE,#PH,#PK,#RU,#SA,#TH,#TZ,#UG) {
  fill: var(--tier-1);
  @media print { & { fill: url(#p1); } }
  &:is(:hover,:focus-visible) ~ .readout {
    .chip { fill: var(--tier-1); } .v1 { opacity:1 } .v0 { opacity:0 }
  }
  .simmap:has(#f-1:checked) &, .simmap:has(.k1:hover) & { opacity:1 }
}
:is(#AE,#AF,#AL,#AM,#AO,#AR,#AT,#AU,#AZ,#BA,#BE,#BF,#BG,#BI,#BJ,#BN,#BO,#BR,#BS,#BT,#BW,#BY,#BZ,#CD,#CF,#CG,#CH,#CI,#CL,#CM,#CO,#CR,#CU,#CY,#CYN,#DE,#DJ,#DO,#DZ,#EC,#EG,#EH,#ER,#ES,#ET,#FJ,#FK,#FR,#GA,#GE,#GM,#GN,#GQ,#GR,#GT,#GW,#GY,#HN,#HR,#HT,#HU,#ID,#IQ,#IR,#IT,#JM,#JP,#KE,#KG,#KH,#KP,#KR,#KW,#KZ,#LA,#LB,#LK,#LR,#LS,#LT,#LU,#LY,#MA,#ME,#MG,#MK,#ML,#MN,#MR,#MW,#MX,#MY,#MZ,#NA,#NC,#NE,#NO,#NP,#OM,#PA,#PG,#PL,#PS,#PY,#QA,#RS,#RW,#SB,#SD,#SE,#SK,#SL,#SN,#SO,#SOL,#SR,#SS,#SV,#SY,#SZ,#TD,#TG,#TJ,#TL,#TM,#TN,#TR,#TT,#TW,#UA,#UY,#UZ,#VE,#VN,#XK,#YE,#ZA,#ZM,#ZW) {
  fill: var(--tier-2);
  @media print { & { fill: url(#p2); } }
  &:is(:hover,:focus-visible) ~ .readout {
    .chip { fill: var(--tier-2); } .v2 { opacity:1 } .v0 { opacity:0 }
  }
  .simmap:has(#f-2:checked) &, .simmap:has(.k2:hover) & { opacity:1 }
}
:is(#CA,#CZ,#DK,#EE,#FI,#GB,#GL,#IE,#IL,#IS,#LV,#MD,#NI,#NL,#NZ,#PR,#PT,#RO,#SI,#US,#VU) {
  fill: var(--tier-3);
  @media print { & { fill: url(#p3); } }
  &:is(:hover,:focus-visible) ~ .readout {
    .chip { fill: var(--tier-3); } .v3 { opacity:1 } .v0 { opacity:0 }
  }
  .simmap:has(#f-3:checked) &, .simmap:has(.k3:hover) & { opacity:1 }
}
#AE:is(:hover,:focus-visible)~.readout #r-AE,
#AF:is(:hover,:focus-visible)~.readout #r-AF,
#AL:is(:hover,:focus-visible)~.readout #r-AL,
#AM:is(:hover,:focus-visible)~.readout #r-AM,
#AO:is(:hover,:focus-visible)~.readout #r-AO,
#AR:is(:hover,:focus-visible)~.readout #r-AR,
#AT:is(:hover,:focus-visible)~.readout #r-AT,
#AU:is(:hover,:focus-visible)~.readout #r-AU,
#AZ:is(:hover,:focus-visible)~.readout #r-AZ,
#BA:is(:hover,:focus-visible)~.readout #r-BA,
#BD:is(:hover,:focus-visible)~.readout #r-BD,
#BE:is(:hover,:focus-visible)~.readout #r-BE,
#BF:is(:hover,:focus-visible)~.readout #r-BF,
#BG:is(:hover,:focus-visible)~.readout #r-BG,
#BI:is(:hover,:focus-visible)~.readout #r-BI,
#BJ:is(:hover,:focus-visible)~.readout #r-BJ,
#BN:is(:hover,:focus-visible)~.readout #r-BN,
#BO:is(:hover,:focus-visible)~.readout #r-BO,
#BR:is(:hover,:focus-visible)~.readout #r-BR,
#BS:is(:hover,:focus-visible)~.readout #r-BS,
#BT:is(:hover,:focus-visible)~.readout #r-BT,
#BW:is(:hover,:focus-visible)~.readout #r-BW,
#BY:is(:hover,:focus-visible)~.readout #r-BY,
#BZ:is(:hover,:focus-visible)~.readout #r-BZ,
#CA:is(:hover,:focus-visible)~.readout #r-CA,
#CD:is(:hover,:focus-visible)~.readout #r-CD,
#CF:is(:hover,:focus-visible)~.readout #r-CF,
#CG:is(:hover,:focus-visible)~.readout #r-CG,
#CH:is(:hover,:focus-visible)~.readout #r-CH,
#CI:is(:hover,:focus-visible)~.readout #r-CI,
#CL:is(:hover,:focus-visible)~.readout #r-CL,
#CM:is(:hover,:focus-visible)~.readout #r-CM,
#CN:is(:hover,:focus-visible)~.readout #r-CN,
#CO:is(:hover,:focus-visible)~.readout #r-CO,
#CR:is(:hover,:focus-visible)~.readout #r-CR,
#CU:is(:hover,:focus-visible)~.readout #r-CU,
#CY:is(:hover,:focus-visible)~.readout #r-CY,
#CYN:is(:hover,:focus-visible)~.readout #r-CYN,
#CZ:is(:hover,:focus-visible)~.readout #r-CZ,
#DE:is(:hover,:focus-visible)~.readout #r-DE,
#DJ:is(:hover,:focus-visible)~.readout #r-DJ,
#DK:is(:hover,:focus-visible)~.readout #r-DK,
#DO:is(:hover,:focus-visible)~.readout #r-DO,
#DZ:is(:hover,:focus-visible)~.readout #r-DZ,
#EC:is(:hover,:focus-visible)~.readout #r-EC,
#EE:is(:hover,:focus-visible)~.readout #r-EE,
#EG:is(:hover,:focus-visible)~.readout #r-EG,
#EH:is(:hover,:focus-visible)~.readout #r-EH,
#ER:is(:hover,:focus-visible)~.readout #r-ER,
#ES:is(:hover,:focus-visible)~.readout #r-ES,
#ET:is(:hover,:focus-visible)~.readout #r-ET,
#FI:is(:hover,:focus-visible)~.readout #r-FI,
#FJ:is(:hover,:focus-visible)~.readout #r-FJ,
#FK:is(:hover,:focus-visible)~.readout #r-FK,
#FR:is(:hover,:focus-visible)~.readout #r-FR,
#GA:is(:hover,:focus-visible)~.readout #r-GA,
#GB:is(:hover,:focus-visible)~.readout #r-GB,
#GE:is(:hover,:focus-visible)~.readout #r-GE,
#GH:is(:hover,:focus-visible)~.readout #r-GH,
#GL:is(:hover,:focus-visible)~.readout #r-GL,
#GM:is(:hover,:focus-visible)~.readout #r-GM,
#GN:is(:hover,:focus-visible)~.readout #r-GN,
#GQ:is(:hover,:focus-visible)~.readout #r-GQ,
#GR:is(:hover,:focus-visible)~.readout #r-GR,
#GT:is(:hover,:focus-visible)~.readout #r-GT,
#GW:is(:hover,:focus-visible)~.readout #r-GW,
#GY:is(:hover,:focus-visible)~.readout #r-GY,
#HN:is(:hover,:focus-visible)~.readout #r-HN,
#HR:is(:hover,:focus-visible)~.readout #r-HR,
#HT:is(:hover,:focus-visible)~.readout #r-HT,
#HU:is(:hover,:focus-visible)~.readout #r-HU,
#ID:is(:hover,:focus-visible)~.readout #r-ID,
#IE:is(:hover,:focus-visible)~.readout #r-IE,
#IL:is(:hover,:focus-visible)~.readout #r-IL,
#IN:is(:hover,:focus-visible)~.readout #r-IN,
#IQ:is(:hover,:focus-visible)~.readout #r-IQ,
#IR:is(:hover,:focus-visible)~.readout #r-IR,
#IS:is(:hover,:focus-visible)~.readout #r-IS,
#IT:is(:hover,:focus-visible)~.readout #r-IT,
#JM:is(:hover,:focus-visible)~.readout #r-JM,
#JO:is(:hover,:focus-visible)~.readout #r-JO,
#JP:is(:hover,:focus-visible)~.readout #r-JP,
#KE:is(:hover,:focus-visible)~.readout #r-KE,
#KG:is(:hover,:focus-visible)~.readout #r-KG,
#KH:is(:hover,:focus-visible)~.readout #r-KH,
#KP:is(:hover,:focus-visible)~.readout #r-KP,
#KR:is(:hover,:focus-visible)~.readout #r-KR,
#KW:is(:hover,:focus-visible)~.readout #r-KW,
#KZ:is(:hover,:focus-visible)~.readout #r-KZ,
#LA:is(:hover,:focus-visible)~.readout #r-LA,
#LB:is(:hover,:focus-visible)~.readout #r-LB,
#LK:is(:hover,:focus-visible)~.readout #r-LK,
#LR:is(:hover,:focus-visible)~.readout #r-LR,
#LS:is(:hover,:focus-visible)~.readout #r-LS,
#LT:is(:hover,:focus-visible)~.readout #r-LT,
#LU:is(:hover,:focus-visible)~.readout #r-LU,
#LV:is(:hover,:focus-visible)~.readout #r-LV,
#LY:is(:hover,:focus-visible)~.readout #r-LY,
#MA:is(:hover,:focus-visible)~.readout #r-MA,
#MD:is(:hover,:focus-visible)~.readout #r-MD,
#ME:is(:hover,:focus-visible)~.readout #r-ME,
#MG:is(:hover,:focus-visible)~.readout #r-MG,
#MK:is(:hover,:focus-visible)~.readout #r-MK,
#ML:is(:hover,:focus-visible)~.readout #r-ML,
#MM:is(:hover,:focus-visible)~.readout #r-MM,
#MN:is(:hover,:focus-visible)~.readout #r-MN,
#MR:is(:hover,:focus-visible)~.readout #r-MR,
#MW:is(:hover,:focus-visible)~.readout #r-MW,
#MX:is(:hover,:focus-visible)~.readout #r-MX,
#MY:is(:hover,:focus-visible)~.readout #r-MY,
#MZ:is(:hover,:focus-visible)~.readout #r-MZ,
#NA:is(:hover,:focus-visible)~.readout #r-NA,
#NC:is(:hover,:focus-visible)~.readout #r-NC,
#NE:is(:hover,:focus-visible)~.readout #r-NE,
#NG:is(:hover,:focus-visible)~.readout #r-NG,
#NI:is(:hover,:focus-visible)~.readout #r-NI,
#NL:is(:hover,:focus-visible)~.readout #r-NL,
#NO:is(:hover,:focus-visible)~.readout #r-NO,
#NP:is(:hover,:focus-visible)~.readout #r-NP,
#NZ:is(:hover,:focus-visible)~.readout #r-NZ,
#OM:is(:hover,:focus-visible)~.readout #r-OM,
#PA:is(:hover,:focus-visible)~.readout #r-PA,
#PE:is(:hover,:focus-visible)~.readout #r-PE,
#PG:is(:hover,:focus-visible)~.readout #r-PG,
#PH:is(:hover,:focus-visible)~.readout #r-PH,
#PK:is(:hover,:focus-visible)~.readout #r-PK,
#PL:is(:hover,:focus-visible)~.readout #r-PL,
#PR:is(:hover,:focus-visible)~.readout #r-PR,
#PS:is(:hover,:focus-visible)~.readout #r-PS,
#PT:is(:hover,:focus-visible)~.readout #r-PT,
#PY:is(:hover,:focus-visible)~.readout #r-PY,
#QA:is(:hover,:focus-visible)~.readout #r-QA,
#RO:is(:hover,:focus-visible)~.readout #r-RO,
#RS:is(:hover,:focus-visible)~.readout #r-RS,
#RU:is(:hover,:focus-visible)~.readout #r-RU,
#RW:is(:hover,:focus-visible)~.readout #r-RW,
#SA:is(:hover,:focus-visible)~.readout #r-SA,
#SB:is(:hover,:focus-visible)~.readout #r-SB,
#SD:is(:hover,:focus-visible)~.readout #r-SD,
#SE:is(:hover,:focus-visible)~.readout #r-SE,
#SI:is(:hover,:focus-visible)~.readout #r-SI,
#SK:is(:hover,:focus-visible)~.readout #r-SK,
#SL:is(:hover,:focus-visible)~.readout #r-SL,
#SN:is(:hover,:focus-visible)~.readout #r-SN,
#SO:is(:hover,:focus-visible)~.readout #r-SO,
#SOL:is(:hover,:focus-visible)~.readout #r-SOL,
#SR:is(:hover,:focus-visible)~.readout #r-SR,
#SS:is(:hover,:focus-visible)~.readout #r-SS,
#SV:is(:hover,:focus-visible)~.readout #r-SV,
#SY:is(:hover,:focus-visible)~.readout #r-SY,
#SZ:is(:hover,:focus-visible)~.readout #r-SZ,
#TD:is(:hover,:focus-visible)~.readout #r-TD,
#TF:is(:hover,:focus-visible)~.readout #r-TF,
#TG:is(:hover,:focus-visible)~.readout #r-TG,
#TH:is(:hover,:focus-visible)~.readout #r-TH,
#TJ:is(:hover,:focus-visible)~.readout #r-TJ,
#TL:is(:hover,:focus-visible)~.readout #r-TL,
#TM:is(:hover,:focus-visible)~.readout #r-TM,
#TN:is(:hover,:focus-visible)~.readout #r-TN,
#TR:is(:hover,:focus-visible)~.readout #r-TR,
#TT:is(:hover,:focus-visible)~.readout #r-TT,
#TW:is(:hover,:focus-visible)~.readout #r-TW,
#TZ:is(:hover,:focus-visible)~.readout #r-TZ,
#UA:is(:hover,:focus-visible)~.readout #r-UA,
#UG:is(:hover,:focus-visible)~.readout #r-UG,
#US:is(:hover,:focus-visible)~.readout #r-US,
#UY:is(:hover,:focus-visible)~.readout #r-UY,
#UZ:is(:hover,:focus-visible)~.readout #r-UZ,
#VE:is(:hover,:focus-visible)~.readout #r-VE,
#VN:is(:hover,:focus-visible)~.readout #r-VN,
#VU:is(:hover,:focus-visible)~.readout #r-VU,
#XK:is(:hover,:focus-visible)~.readout #r-XK,
#YE:is(:hover,:focus-visible)~.readout #r-YE,
#ZA:is(:hover,:focus-visible)~.readout #r-ZA,
#ZM:is(:hover,:focus-visible)~.readout #r-ZM,
#ZW:is(:hover,:focus-visible)~.readout #r-ZW{opacity:1}
.simmap-tiers { border-collapse: collapse; margin: 0 0 1.25rem; }
.simmap-tiers td {
  border: 0;
  padding: .2rem .9rem .2rem 0;
  font-size: .74rem;
  line-height: 1.55;
  color: var(--text-2);
  vertical-align: top;
}
.simmap-tiers td:first-child { white-space: nowrap; color: var(--ink); }
.simmap-tiers b, .simmap-data td.st b {
  display: inline-block;
  width: 9px;
  height: 9px;
  margin-right: .45rem;
  box-shadow: inset 0 0 0 1px var(--shadow-sm);
}
.b1 { background: var(--tier-1); } .b2 { background: var(--tier-2); }
.b3 { background: var(--tier-3); }
.b0 { background: var(--tier-none); }
.bdq {
  background: var(--tier-none);
  background-image: repeating-linear-gradient(45deg,
    transparent 0 1.2px, var(--ink) 1.2px 2.4px);
}
@media (max-width: 560px) {
  .simmap-tiers, .simmap-tiers tbody, .simmap-tiers tr, .simmap-tiers td { display: block; }
  .simmap-tiers tr { margin-bottom: .6rem; }
  .simmap-tiers td:first-child { margin-bottom: .1rem; }
}
.simmap-tablewrap { max-height: 460px; overflow: auto; border-top: 1px solid var(--line-2); }
.simmap-data { border-collapse: collapse; width: 100%; font-size: .7rem; }
.simmap-data th, .simmap-data td {
  text-align: left;
  padding: .35rem .6rem;
  border-bottom: 1px solid var(--line-2);
  vertical-align: top;
  line-height: 1.5;
}
.simmap-data th {
  position: sticky;
  top: 0;
  background: var(--bg);
  color: var(--muted);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  z-index: 1;
}
.simmap-data td:first-child { white-space: nowrap; color: var(--ink); }
.simmap-data td.st { white-space: nowrap; color: var(--text-2); }
.simmap-data td.nt { color: var(--text-2); min-width: 26ch; }
@media (max-width: 700px) {
  .simmap-data th:nth-child(2), .simmap-data td:nth-child(2) { display: none; }
  .readout { display: none; }
  .simmap-spacer { display: none; }
}
@media (prefers-reduced-motion: reduce) { .simmap * { transition: none !important; } }
#p1 .pbg { fill: var(--tier-1); }
#p2 .pbg { fill: var(--tier-2); }
#p3 .pbg { fill: var(--tier-3); }
.pfg { fill: var(--bg); }
.hxfg { fill: var(--ink); fill-opacity: .45; }
.simmap-log { list-style: none; padding: 0; margin: 0; }
.simmap-log li { margin: 0 0 .35rem; font-size: .75rem; color: var(--text-2); }
.simmap-log b { color: var(--ink); font-weight: 600; }
@media (min-width: 42rem) {
  .simmap-log li { display: grid; grid-template-columns: 7rem 1fr; gap: .6rem; }
}
