:root {
  color-scheme:light;--ink:#182a43;--muted:#697d98;--blue:#3672e1;--navy:#111f36;
  --line:#e3e9f2;--canvas:#f5f7fb;--paper:#fff;
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink);font-size:14px}
button,input,select{font:inherit}button{cursor:pointer}
button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #91b4f8;outline-offset:2px}
[hidden]{display:none!important}
.app{min-height:100vh;display:grid;grid-template-columns:286px minmax(0,1fr)}
.side{background:#111f36;color:#ecf3ff;padding:28px 20px 22px;display:flex;flex-direction:column;gap:2px;min-height:100vh;z-index:1}
.brand{display:flex;align-items:center;gap:12px;margin:2px 9px 34px}
.brand-mark{width:43px;height:43px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:800;color:white;background:#2c5cc4;position:relative;letter-spacing:-2px}
.brand-mark span{font-size:8px;position:absolute;right:7px;top:5px;color:#d7e7ff}
.brand strong{display:block;font-size:19px;font-weight:800;letter-spacing:3.1px;line-height:1.2}
.brand small{display:block;color:#9db0d0;font-size:9px;font-weight:800;letter-spacing:2.1px;margin-top:5px}
.side-heading{color:#8298b8;font-size:10px;letter-spacing:1.9px;font-weight:800;margin:0 9px 10px}
.primary-nav{display:grid;gap:5px;margin-bottom:29px}
.nav-link{width:100%;display:flex;align-items:center;gap:13px;padding:12px 15px;border:0;border-radius:9px;background:transparent;color:#b3c2dd;text-align:left;font-size:13px;font-weight:650}
.nav-link:hover,.nav-link.selected{color:#fff;background:#273f64}
.nav-icon{font-size:19px;line-height:1}
.filter-title{margin-bottom:14px}
.filter-block{padding:0 7px 20px}
.filter-block label{font-size:12px;font-weight:700;color:#e2eaf8;display:block;margin-bottom:9px}
.filter-block select,.filter-block input{background:#1b304e;border:1px solid #35496a;color:#edf5ff;padding:10px 11px;width:100%;border-radius:9px;outline-offset:1px;min-height:40px}
.filter-block select:focus,.filter-block input:focus{border-color:#789ee3}
.filter-block input::placeholder{color:#8397b5}
.filter-block small{display:block;color:#8ea4c4;font-size:10.5px;line-height:1.5;margin-top:8px}
#search-indicator{margin-bottom:7px}
.label-inline{display:flex;align-items:center;justify-content:space-between}
.tiny{background:transparent;border:0;color:#9cc2ff;padding:0 0 7px;font-size:11px}
.geo-options{background:#1b304e;border:1px solid #35496a;border-radius:10px;margin-top:7px;max-height:165px;min-height:48px;overflow:auto}
.geo-item{display:flex;align-items:center;gap:9px;padding:8px 10px;color:#b9cbe4;font-size:12px;cursor:pointer}
.geo-item:hover{background:#294166}
.geo-item input{width:15px;height:15px;min-height:0;accent-color:#70a4ff;margin:0;flex-shrink:0}
.geo-item b{font-weight:650;color:#f0f6ff}
.geo-item span{font-size:10px;margin-left:auto;color:#8096b4}
.geo-empty{padding:13px;font-size:11px;color:#94a9cb}
.date-pair{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.date-pair .sub-label{font-size:10px;color:#8fa3c2;margin-bottom:6px}
.apply-btn{width:calc(100% - 14px);margin:0 7px;background:#3673e3;border:0;border-radius:10px;padding:13px 14px;display:flex;justify-content:space-between;color:white;font-weight:750;box-shadow:0 5px 15px #0a295077}
.apply-btn:hover{background:#477ff1}
.sidebar-foot{display:flex;gap:10px;align-items:flex-start;border-top:1px solid #30415d;margin:28px 9px 0;padding:23px 0 0}
.sidebar-foot strong{font-size:11px;display:block}
.sidebar-foot small{font-size:10px;color:#899fbd;display:block;line-height:1.5;margin-top:3px}
.privacy-dot{height:9px;width:9px;border-radius:50%;background:#a8c3fd;margin-top:3px;box-shadow:0 0 0 4px #2b4160}
main{min-width:0;overflow:hidden}
.topbar{height:71px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,4vw,52px)}
.breadcrumb{font-size:12px;color:#8a98ad}
.breadcrumb span{margin:0 11px;color:#c6cfda}
.breadcrumb b{color:#304965}
.topbar-right{display:flex;align-items:center;gap:22px}
.live-pill{display:flex;align-items:center;gap:7px;font-size:11px;color:#466789;background:#edf3ff;padding:7px 10px;border-radius:20px;font-weight:650}
.live-pill i{display:block;width:6px;height:6px;background:#477ad8;border-radius:50%}
.github-link{color:#536b8a;text-decoration:none;font-size:12px;font-weight:650}
.github-link:hover{text-decoration:underline}
.content{max-width:1515px;margin:auto;padding:35px clamp(20px,4vw,52px) 30px}
.intro{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:27px}
.eyebrow{font-weight:800;font-size:10px;letter-spacing:1.6px;color:#4773bb;margin:5px 0 10px}
h1{margin:0;color:#1b2f4a;font-size:clamp(25px,2.7vw,36px);letter-spacing:-1.2px;font-weight:800;line-height:1.17}
.intro p{margin:11px 0 0;color:#72839c;max-width:750px;font-size:13px;line-height:1.7}
.snapshot-tag{background:#fff;border:1px solid var(--line);border-radius:11px;padding:16px 19px;min-width:176px;box-shadow:0 5px 22px #19335708}
.snapshot-tag .snapshot-caption{display:block;color:#92a0b2;letter-spacing:1px;font-size:9px;font-weight:800}
.snapshot-tag strong{display:block;margin:6px 0 4px;font-size:12px;overflow-wrap:anywhere}
.snapshot-tag small{color:#8998a9;font-size:10px}
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:31px}
.metric-card{border-radius:13px;background:#fff;border:1px solid var(--line);box-shadow:0 5px 22px #19335709;padding:20px 19px}
.metric-title{font-size:11px;color:#6f819a;font-weight:700;display:flex;justify-content:space-between;align-items:center;gap:4px}
.metric-icon{color:#5b86cc;font-size:17px}
.metric-card strong{display:block;font-size:clamp(21px,2.1vw,30px);font-weight:800;letter-spacing:-1.1px;margin:14px 0 5px}
.metric-card span:last-child{color:#91a0b3;font-size:10px}
.catalog-overview{background:#eef3fc;border:1px solid #dce5f3;border-radius:12px;padding:17px 21px;display:flex;align-items:center;gap:17px;margin:-11px 0 28px}
.catalog-icon{border-radius:11px;background:#dde9fc;color:#3971bd;min-width:37px;height:37px;display:grid;place-items:center;font-size:21px}
.catalog-copy{flex:1}
.catalog-copy strong{display:block;color:#27496f;font-size:12px}
.catalog-copy p{font-size:11px;line-height:1.5;color:#7185a3;margin:5px 0 0}
.catalog-overview button{background:#fff;border:1px solid #cedcf0;border-radius:8px;color:#305f9b;padding:10px 13px;font-size:11px;font-weight:700}
.catalog-overview button:hover{background:#e9f2ff}
@media(max-width:600px){.catalog-overview{align-items:flex-start;flex-wrap:wrap}.catalog-overview button{margin-left:54px}}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 16px}
.section-heading h2{font-size:18px;letter-spacing:-.3px;margin:0}
.section-heading p{margin:7px 0 0;color:#8290a5;font-size:12px;line-height:1.5}
.outline-btn{background:white;color:#365783;border:1px solid #dce5f1;border-radius:8px;font-size:11px;font-weight:750;padding:11px 15px}
.outline-btn:hover{border-color:#8ca8d4}
.graph-card,.mini-card,.catalog-card{background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:0 5px 22px #19335709}
.graph-card{padding:23px;overflow:hidden}
.chart-header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:13px}
.chart-overline{color:#5680bf;letter-spacing:1.1px;font-size:9px;font-weight:800;text-transform:uppercase;margin-bottom:8px}
.chart-header h3{font-size:17px;margin:0 0 8px;letter-spacing:-.3px}
.chart-header p{font-size:11px;color:#8b99ac;line-height:1.5;margin:0}
.chart-controls{display:flex;background:#f1f4f9;border:1px solid #e8edf5;border-radius:8px;padding:4px;gap:2px;flex-wrap:wrap}
.chart-type{padding:7px 12px;border:0;background:transparent;color:#677f9a;font-size:11px;border-radius:6px;font-weight:650}
.chart-type.active{color:#244b8f;background:white;box-shadow:0 1px 4px #23415b22}
.chart{width:100%;min-height:355px;position:relative}
.chart svg{display:block;width:100%;height:auto;overflow:visible}
.chart-empty{height:355px;display:flex;justify-content:center;align-items:center;text-align:center;color:#9aa9bb;border-radius:10px;background:linear-gradient(180deg,#fbfdff,#fff);font-size:13px;padding:24px}
.chart-foot{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:38px;margin-top:13px}
.legend{display:flex;flex-wrap:wrap;gap:10px 16px}
.legend span{display:inline-flex;align-items:center;gap:7px;color:#6c7b92;font-size:11px}
.legend i{display:inline-block;width:10px;height:10px;border-radius:50%;flex-shrink:0}
.record-count{color:#9aa7b8;font-size:11px;text-align:right}
.notice{border:1px solid #ead5ac;background:#fffbf4;color:#725b30;border-radius:9px;padding:11px 13px;font-size:11px;line-height:1.55;margin:10px 0 17px}
.two-cards{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:17px}
.mini-card{padding:22px}
.mini-icon{width:34px;height:34px;border-radius:10px;background:#eef4fe;color:#3976d7;display:grid;place-items:center;font-size:20px}
.mini-card h3{margin:15px 0 7px;font-size:13px}
.mini-card p{margin:0;color:#8695aa;line-height:1.65;font-size:11px}
.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.catalog-card{padding:19px;display:flex;flex-direction:column;gap:11px}
.catalog-card .catalog-eyebrow{font-size:10px;font-weight:800;letter-spacing:1px;color:#5883bc}
.catalog-card h3{font-size:14px;line-height:1.4;margin:0}
.catalog-card .catalog-stats{display:flex;gap:12px;color:#8394aa;font-size:11px;flex-wrap:wrap}
.catalog-card .catalog-stats b{color:#435d80}
.catalog-card p{font-size:11px;line-height:1.55;color:#8290a4;margin:0;flex:1}
.catalog-card button{border:1px solid #dfe7f3;border-radius:7px;background:#f8fbff;color:#2b5c9b;padding:9px;font-size:11px;font-weight:750;margin-top:5px}
.catalog-card button:hover{background:#edf4ff}
.table-wrap{max-height:425px;overflow:auto;border:1px solid #e8eef5;border-radius:9px}
.data-table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}
.data-table th{background:#f4f7fc;color:#71819a;font-size:10px;letter-spacing:.2px;font-weight:750;padding:11px 12px;position:sticky;top:0}
.data-table td{padding:11px 12px;border-top:1px solid #edf1f6;font-size:11px;color:#37516e}
.data-table tr:hover td{background:#f9fbff}
.data-table td.numeric{text-align:right;font-variant-numeric:tabular-nums}
.data-table th.numeric{text-align:right}
.chart-svg .gridline{stroke:#e8edf5;stroke-width:1}
.chart-svg .axis-text{fill:#94a3b7;font-size:11px}
.chart-svg .axis-label{fill:#657b96;font-size:11px;font-weight:600}
.chart-svg .line{fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.chart-svg .dot{stroke:#fff;stroke-width:1.5}
.chart-svg .bar{rx:3}
.chart-svg .plot-bg{fill:#fff}
.chart-svg .plot-empty{fill:#8a9db3;font-size:15px}
.chart-tooltip{position:absolute;background:#182b48;color:#fff;padding:8px 11px;border-radius:7px;font-size:11px;pointer-events:none;white-space:nowrap;z-index:10;box-shadow:0 5px 15px #172c4938}
footer{font-size:11px;color:#9aa8b9;margin:36px 0 8px;line-height:1.5}
@media(max-width:1180px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-header{flex-wrap:wrap}}
@media(max-width:800px){.app{display:block}.side{min-height:0;padding:17px 18px 18px}.brand{margin-bottom:15px}.primary-nav{grid-template-columns:1fr 1fr;margin-bottom:13px}.side-heading.filter-title{margin-top:5px}.side .filter-block{display:inline-block;vertical-align:top;width:calc(50% - 4px);padding:0 6px 12px}.side .filter-block:nth-of-type(5){width:100%}.side .geo-options{max-height:120px}.side .sidebar-foot{display:none}.side .apply-btn{width:calc(100% - 12px);margin:0 6px}.content{padding:28px 20px}.intro{flex-wrap:wrap}.snapshot-tag{min-width:0}.topbar{padding:0 20px}.two-cards{grid-template-columns:1fr}.catalog-grid{grid-template-columns:1fr}}
@media(max-width:520px){.kpis{grid-template-columns:1fr 1fr;gap:9px}.metric-card{padding:14px 12px}.metric-card strong{font-size:23px}.metric-title{font-size:10px}.side .filter-block{width:100%}.topbar-right{gap:9px}.live-pill{font-size:10px}.github-link{font-size:10px}.chart-type{padding:7px 8px}.chart{min-height:270px}.chart-empty{height:270px}.graph-card{padding:15px}.chart-header{gap:10px}.snapshot-tag{display:none}}

/* Guided explorer: first-class, readable country and indicator controls. */
.content{display:flex;flex-direction:column}
.content>.intro{order:1}
.content>#explore-view,.content>#catalog-view{order:2}
.content>.kpis{order:3;margin-top:24px}
.content>.catalog-overview{order:4;margin-top:0}
.content>.public-attribution{order:5}
.content>footer{order:6}
.quick-explorer{background:#fff;border:1px solid #dce6f5;border-radius:18px;
  padding:clamp(20px,2.5vw,32px);box-shadow:0 15px 48px #183c7210;margin-bottom:27px}
.quick-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:24px}
.quick-eyebrow{display:block;color:#4b75b8;letter-spacing:1.65px;font-size:10px;font-weight:800;margin-bottom:7px}
.quick-intro h2{margin:0;color:#172d4b;font-size:clamp(22px,2.2vw,29px);letter-spacing:-.7px}
.quick-intro p{color:#71839d;line-height:1.6;margin:8px 0 0;font-size:13px}
.quick-data-pill{font-size:10px;background:#edf7f2;color:#237b5a;border:1px solid #d8ecdf;
  border-radius:99px;padding:8px 12px;white-space:nowrap;font-weight:750}
.quick-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) minmax(180px,.8fr);gap:15px}
.quick-field{display:flex;flex-direction:column;min-width:0}
.quick-field>label{display:flex;align-items:center;gap:8px;color:#284364;font-size:12px;font-weight:800;margin-bottom:10px}
.quick-step{display:grid;place-items:center;width:23px;height:23px;border-radius:7px;color:#fff;background:#3672e1;font-size:11px}
.quick-field>input,.quick-field>select,.quick-years input{min-width:0;width:100%;height:45px;
  border:1px solid #d6e1ef;background:#fff;color:#233d60;border-radius:10px;padding:0 12px;outline-offset:2px}
.quick-field>input[type="search"]{background:#f8faff;margin-bottom:8px}
.quick-field input::placeholder{color:#8da0b7}
.quick-field>input:focus,.quick-field>select:focus,.quick-years input:focus{border-color:#3672e1;box-shadow:0 0 0 3px #3573e315}
.quick-field>select{font-weight:700}
.quick-field>small{font-size:10px;line-height:1.55;color:#8293ab;margin-top:9px}
.quick-years{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.quick-years label{font-size:10px;color:#8190a5;display:block;margin-bottom:6px}
.quick-action{background:#3672e1;border:0;color:#fff;border-radius:10px;padding:11px 15px;min-height:40px;
  font-size:12px;font-weight:800;display:flex;justify-content:space-between;align-items:center;margin-top:12px}
.quick-action:hover{background:#245fc6}
.quick-action:disabled{opacity:.6;cursor:not-allowed}
.geo-item.selected{background:#233b5d}
@media(max-width:1190px){.quick-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-field:last-child{grid-column:1/-1}.quick-field:last-child .quick-years{max-width:360px}}
@media(max-width:800px){.quick-fields{grid-template-columns:1fr}.quick-field:last-child{grid-column:auto}.quick-field:last-child .quick-years{max-width:none}
 .quick-explorer{padding:20px}.quick-intro{flex-wrap:wrap}.quick-data-pill{order:-1}
 .content>.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.quick-explorer{padding:17px;border-radius:13px}.quick-fields{gap:22px}.quick-intro{margin-bottom:18px}
 .quick-intro h2{font-size:23px}.quick-field>input,.quick-field>select{height:48px}.quick-action{min-height:46px}
 .content>.kpis{margin-top:18px}}

/* Keep the guided explorer first on mobile; reveal comparisons only on demand. */
.mobile-toggle{display:none}
@media(max-width:800px){
 .mobile-toggle{display:block;width:100%;text-align:center;padding:10px 12px;background:#213c61;
  color:#d7e6ff;border:1px solid #3c577c;border-radius:9px;font-size:12px;font-weight:750;margin:0 0 6px}
 .sidebar-filters{display:none}
 .side.show-filters .sidebar-filters{display:block;padding-top:12px}
 .side.show-filters .filter-block{width:100%;display:block}
 .side.show-filters .apply-btn{width:calc(100% - 14px)}
}

.public-attribution{display:flex;flex-wrap:wrap;gap:7px 14px;background:#edf4fe;border:1px solid #d8e5f5;border-radius:12px;padding:15px 19px;margin:0 0 23px;color:#46668f;font-size:11px;line-height:1.6}.public-attribution strong{color:#214d86}.public-attribution span{flex:1;min-width:210px}.public-attribution a{color:#245eb8;text-decoration:underline}

.research-downloads{order:4;display:flex;align-items:center;justify-content:space-between;gap:24px;margin:4px 0 24px;border:1px solid #d5e4f5;background:#f0f6ff;padding:23px 26px;border-radius:15px}.research-downloads h2{font-size:19px;margin:8px 0;color:#24466f}.research-eyebrow{font-size:10px;letter-spacing:1.3px;font-weight:800;color:#416cb3}.research-downloads p{font-size:12px;line-height:1.55;color:#657e9c;max-width:650px;margin:0}.research-links{display:grid;grid-template-columns:1fr 1fr;gap:8px;min-width:370px}.research-links a{display:block;text-decoration:none;padding:11px 12px;background:#fff;color:#24568e;font-size:11px;font-weight:700;border:1px solid #d4e1f3;border-radius:8px}.research-links a:hover{background:#e8f1fc}@media(max-width:1170px){.research-downloads{flex-direction:column;align-items:stretch}.research-links{min-width:0}}@media(max-width:540px){.research-downloads{padding:18px}.research-links{grid-template-columns:1fr}}

.primary-nav a.nav-link{text-decoration:none}.project-link-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#fff;border:1px solid #d8e5f5;border-radius:12px;padding:20px 23px;margin:0 0 23px}.project-link-banner span{display:block;color:#3f70b5;font-size:10px;font-weight:800;letter-spacing:1.1px;margin-bottom:6px}.project-link-banner strong{font-size:17px;color:#203f68}.project-link-banner p{margin:6px 0 0;color:#607a98;font-size:12px;line-height:1.6}.project-link-banner a{white-space:nowrap;text-decoration:none;background:#eaf1ff;color:#245ba2;font-weight:750;padding:12px 15px;border-radius:8px;font-size:12px}.project-link-banner a:hover{background:#dce9ff}@media(max-width:720px){.project-link-banner{flex-direction:column;align-items:stretch}.project-link-banner a{white-space:normal;text-align:center}}
