@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-normal-CnvboYUG.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-normal-Ca2vKHc0.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-normal-ukD16Tqj.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--font-display: "Fraunces Variable", "Iowan Old Style", Georgia, serif;--font-body: "Inter Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--bg: #f4efe6;--surface: #fbf8f2;--surface-raised: #ffffff;--surface-sunken: #ece5d7;--ink: #1d2433;--ink-2: #4a5265;--ink-3: #737a8b;--line: #ded5c3;--accent: #c2410c;--accent-soft: #f9dfcf;--on-accent: #ffffff;--shadow: 0 1px 2px rgb(29 36 51 / 6%), 0 12px 32px -12px rgb(29 36 51 / 22%);--map-ocean: #b9d2dd;--map-ocean-lit: #d6e6ec;--map-land: #f6f1e4;--map-land-hover: #ffffff;--map-border: #b3aa95;--map-visited: #d4521c;--map-visited-hover: #ee6a30;--map-selected: #1d2433;--map-graticule: rgb(29 36 51 / 7%);--map-glow: rgb(120 160 185 / 28%);--map-glow-off: rgb(120 160 185 / 0%);--map-shade: rgb(40 60 90 / 22%);--map-shade-off: rgb(40 60 90 / 0%);--map-rim: rgb(29 36 51 / 18%)}:root[data-theme=dark]{color-scheme:dark;--bg: #0b1020;--surface: #111829;--surface-raised: #18213a;--surface-sunken: #0d1425;--ink: #eef1f8;--ink-2: #b6bfd2;--ink-3: #8690a8;--line: #243049;--accent: #fbbf24;--accent-soft: rgb(251 191 36 / 14%);--on-accent: #1a1304;--shadow: 0 1px 2px rgb(0 0 0 / 30%), 0 16px 40px -12px rgb(0 0 0 / 60%);--map-ocean: #0c1730;--map-ocean-lit: #17274a;--map-land: #2b3858;--map-land-hover: #42527a;--map-border: #0c1730;--map-visited: #fbbf24;--map-visited-hover: #fde08a;--map-selected: #ffffff;--map-graticule: rgb(255 255 255 / 6%);--map-glow: rgb(96 165 250 / 30%);--map-glow-off: rgb(96 165 250 / 0%);--map-shade: rgb(0 0 0 / 50%);--map-shade-off: rgb(0 0 0 / 0%);--map-rim: rgb(148 180 255 / 30%)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased;transition:background-color .25s,color .25s}button,input{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none;padding:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1,h2,p,dl,dd,ul{margin:0;padding:0}small{font-size:.8em;color:var(--ink-3);font-weight:400}.eyebrow{font-size:11px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3)}.app{display:grid;grid-template-columns:minmax(340px,400px) 1fr;height:100%;overflow:hidden}.sidebar{display:flex;flex-direction:column;gap:20px;min-height:0;overflow-y:auto;padding:28px 24px 14px;background:var(--surface);border-right:1px solid var(--line);transition:background-color .25s,border-color .25s}.stage{position:relative;min-width:0;min-height:0;overflow:hidden}.masthead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.masthead h1{margin-top:6px;font-family:var(--font-display);font-size:30px;font-weight:560;line-height:1.05;letter-spacing:-.02em;text-wrap:balance}.stats__hero{display:flex;align-items:center;gap:14px}.stats__number{font-family:var(--font-display);font-size:76px;font-weight:500;line-height:.85;letter-spacing:-.04em;color:var(--accent)}.stats__caption{color:var(--ink-2);font-size:14px}.stats__row{display:grid;grid-template-columns:repeat(3,1fr);margin-top:16px;border:1px solid var(--line);border-radius:12px}.stats__row>div{padding:10px 12px}.stats__row>div+div{border-left:1px solid var(--line)}.stats__row dt{font-size:11px;color:var(--ink-3)}.stats__row dd{font-family:var(--font-display);font-size:22px;font-weight:520;font-variant-numeric:tabular-nums}.regions{display:grid;gap:1px}.region{display:grid;grid-template-columns:108px 1fr 48px;align-items:center;gap:10px;margin:0 -8px;padding:5px 8px;border-radius:8px;font-size:13px;text-align:left}.region:hover{background:var(--surface-sunken)}.region[aria-pressed=true]{background:var(--accent-soft)}.region[aria-pressed=true] .region__name{font-weight:600}.region__meter{height:6px;border-radius:3px;background:var(--surface-sunken);overflow:hidden}.region:hover .region__meter,.region[aria-pressed=true] .region__meter{background:var(--line)}.region__meter span{display:block;height:100%;min-width:0;border-radius:3px;background:var(--accent)}.region__count{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.filters{display:grid;gap:8px}.search{width:100%;padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-raised)}.search::placeholder{color:var(--ink-3)}.segmented{display:flex;padding:3px;border-radius:10px;background:var(--surface-sunken);border:1px solid var(--line)}.segmented button{flex:1;min-width:34px;padding:5px 10px;border-radius:7px;font-size:13px;font-weight:500;color:var(--ink-2);white-space:nowrap}.segmented button:hover{color:var(--ink)}.segmented button[aria-pressed=true]{background:var(--surface-raised);color:var(--ink);box-shadow:0 1px 2px #0000001f}.segmented--icons{flex:none}.segmented--icons button{display:grid;place-items:center;padding:6px 8px}.segmented--icons svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.list{flex:1 0 auto;flex-basis:0;min-height:220px;margin:0 -12px;padding:0 12px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.list__empty{padding:24px 0;color:var(--ink-3);text-align:center}.group h2{position:sticky;top:0;z-index:1;padding:8px 0 6px;background:var(--surface);font-size:11px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);transition:background-color .25s}.row{display:flex;align-items:flex-start;gap:10px;width:calc(100% + 16px);margin:0 -8px;padding:8px;border-radius:10px;text-align:left}.row:hover,.row[data-hovered]{background:var(--surface-sunken)}.row[aria-pressed=true]{background:var(--accent-soft)}.row__flag{font-size:20px;line-height:1.1}.row__body{flex:1;min-width:0;display:grid;gap:1px}.row__name{font-weight:550}.row__note{font-size:13px;color:var(--ink-2)}.row__check{flex:none;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--accent);color:var(--on-accent);font-size:11px;font-weight:700}.globe,.globe__canvas{position:absolute;inset:0;width:100%;height:100%}.globe__canvas{cursor:grab;touch-action:none}.globe__tip{position:absolute;top:0;left:0;margin:14px 0 0 14px;padding:4px 9px;border-radius:7px;background:var(--ink);color:var(--bg);font-size:12px;font-weight:600;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .12s}.globe__tip:empty{display:none}.globe__controls{position:absolute;top:20px;right:20px;display:flex;gap:8px}.globe__controls .segmented,.tour,.legend{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}.stage__bottom{position:absolute;left:20px;right:20px;bottom:20px;display:grid;gap:12px;justify-items:center;pointer-events:none}.stage__bottom>*{pointer-events:auto}.stage__bar{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;pointer-events:none}.stage__bar>*{pointer-events:auto}.legend{display:flex;gap:14px;padding:7px 12px;border-radius:10px;list-style:none;font-size:12px;color:var(--ink-2)}.legend li{display:flex;align-items:center;gap:6px}.legend__swatch{width:11px;height:11px;border-radius:3px;background:var(--map-land);border:1px solid var(--map-border)}:root[data-theme=dark] .legend__swatch{border-color:var(--map-land-hover)}.legend__swatch--visited,:root[data-theme=dark] .legend__swatch--visited{background:var(--map-visited);border-color:var(--map-visited)}.tour{padding:8px 14px;border-radius:10px;font-size:13px;font-weight:600}.tour:hover{border-color:var(--ink-3)}.tour[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.card{position:relative;display:flex;align-items:flex-start;gap:14px;width:min(100%,520px);padding:16px 44px 16px 16px;border-radius:16px;background:var(--surface-raised);border:1px solid var(--line);box-shadow:var(--shadow);animation:rise .28s ease-out}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}.card__flag{font-size:40px;line-height:1}.card__body{flex:1;min-width:0}.card h2{font-family:var(--font-display);font-size:24px;font-weight:560;letter-spacing:-.01em;line-height:1.15}.card__note{margin-top:4px;color:var(--ink-2)}.card__close{position:absolute;top:8px;right:8px;width:28px;height:28px;border-radius:8px;font-size:18px;line-height:1;color:var(--ink-3)}.card__close:hover{background:var(--surface-sunken);color:var(--ink)}.badge{flex:none;padding:3px 9px;border-radius:999px;border:1px solid var(--line);font-size:12px;font-weight:600;color:var(--ink-2);white-space:nowrap}.badge--visited{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}@media(max-width:860px){html,body,#root{height:auto}.app{display:flex;flex-direction:column;gap:20px;height:auto;overflow:visible;padding-bottom:16px;background:var(--surface)}.sidebar{display:contents}.sidebar>*{margin-inline:16px}.masthead{order:-2;margin-top:16px}.stage{order:-1;height:58svh;min-height:380px;border-block:1px solid var(--line);background:var(--bg)}.masthead h1{font-size:26px}.list{overflow:visible;padding:0}.group h2{position:static}.globe__controls{top:12px;right:12px}.stage__bottom{left:12px;right:12px;bottom:12px}.card__flag{font-size:30px}.card .badge{display:none}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
