/* Generated from config/brand.json by tools/build_brand_tokens.py. */
html:has(> body.country-portal){color-scheme:only light}
[data-terrascore-country],.country-portal {
  color-scheme:only light;
  --bg: #F5F5F5;
  --s1: #FFFFFF;
  --s2: #FEFEFE;
  --s3: #F5F5F5;
  --bd: #D9DFE8;
  --bd2: #60697B;
  --bdh: #60697B;
  --t1: #383838;
  --t2: #60697B;
  --t3: #60697B;
  --t4: #60697B;
  --primary: #0F4B91;
  --primary-text: #0F4B91;
  --link-hover: #0F4B91;
  --link: #2054B3;
  --accent-soft: #F5F5F5;
  --on-primary: #FFFFFF;
  --ok: #166534;
  --ok-ink: #166534;
  --warn: #854D0E;
  --warn-ink: #854D0E;
  --crit: #B91C1C;
  --crit-ink: #B91C1C;
  --info: #475569;
  --info-ink: #475569;
  --focus: #0F4B91;
  --serif: 'IBM Plex Serif',Georgia,'Times New Roman',serif;
  --sans: 'IBM Plex Sans',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --mono: 'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  --fs-h1: clamp(34px,4.6vw,58px);
  --fs-h2: clamp(26px,3vw,38px);
  --fs-h3: 19px;
  --fs-body: 16px;
  --fs-sm: 14px;
  --fs-caption: 13px;
  --fs-label: 11px;
  --fs-data: 24px;
  --fs-nav: 14px;
  --sp1: 4px;
  --sp2: 8px;
  --sp3: 12px;
  --sp4: 16px;
  --sp5: 24px;
  --sp6: 32px;
  --sp7: 48px;
  --sp8: 72px;
  --sp9: 104px;
  --r1: 4px;
  --r2: 6px;
  --r3: 10px;
  --tap: 44px;
  --max: 1200px;
  --gutter: 40px;
}

/* Country portal layout only. Active light tokens are embedded from config/brand_tokens.css. */
@font-face{font-family:'IBM Plex Sans';font-weight:400;src:url('fonts/IBMPlexSans-Regular.woff2') format('woff2');font-display:swap}
@font-face{font-family:'IBM Plex Sans';font-weight:600;src:url('fonts/IBMPlexSans-SemiBold.woff2') format('woff2');font-display:swap}
@font-face{font-family:'IBM Plex Serif';font-weight:400;src:url('fonts/IBMPlexSerif-Regular.woff2') format('woff2');font-display:swap}
@font-face{font-family:'IBM Plex Serif';font-weight:600;src:url('fonts/IBMPlexSerif-SemiBold.woff2') format('woff2');font-display:swap}
@font-face{font-family:'IBM Plex Mono';font-weight:400;src:url('fonts/IBMPlexMono-Regular.woff2') format('woff2');font-display:swap}
.country-portal{background:var(--bg);color:var(--t1);font:16px/1.6 var(--sans);margin:0;min-width:0}
.country-portal *{box-sizing:border-box}.country-portal a{color:var(--link);text-underline-offset:4px}.country-portal a:hover{color:var(--link-hover)}.country-portal :focus-visible{outline:3px solid var(--focus);outline-offset:4px}.country-portal .skip{position:absolute;left:12px;top:-90px;background:var(--primary);color:var(--on-primary);padding:12px;z-index:9}.country-portal .skip:focus{top:8px}
.top,main,footer{max-width:1240px;margin:auto;padding:0 32px}.top{background:var(--s1);display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;min-height:86px;padding-top:16px;padding-bottom:16px;border-bottom:1px solid var(--bd)}.identity{display:flex;gap:22px;align-items:center;flex-wrap:wrap}.brand{color:var(--t1)!important;font:600 21px var(--serif);letter-spacing:.2px;white-space:nowrap;text-decoration:none}.brand .score{color:var(--primary)}.brand sup{font:10px var(--sans);vertical-align:super;margin-left:3px}.country{border-left:1px solid var(--bd);padding-left:22px;color:var(--t2);font-size:15px}.languages{display:flex;gap:4px;flex-wrap:wrap}.languages a{display:grid;place-items:center;min-height:44px;min-width:44px;font-size:13px;text-decoration:none;border:1px solid transparent}.languages a[aria-current]{border-color:var(--link);color:var(--primary-text);background:var(--s3)}
.portal-head{padding:36px 0 22px}.eyebrow{font:12px/1.5 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--primary-text);margin:0 0 12px}.country-portal h1{font:600 clamp(28px,3.1vw,40px)/1.25 var(--serif);margin:0 0 14px}.country-portal h2{font:400 26px/1.3 var(--serif);margin:0 0 16px}.country-portal h3{font-size:16px;line-height:1.4;margin:0 0 12px}.country-portal p{margin:0 0 14px}.lead{color:var(--t2);max-width:850px}.coverage{display:flex;flex-wrap:wrap;gap:8px 24px;font-size:13px;color:var(--t3)}.tabs{display:flex;flex-wrap:wrap;gap:4px 20px;border-bottom:1px solid var(--bd)}.tabs a{display:flex;align-items:center;min-height:48px;padding:8px 0;font-size:14px;text-decoration:none;border-bottom:2px solid transparent}.tabs a[aria-current]{color:var(--primary-text);border-bottom-color:var(--link)}
.filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) minmax(85px,.45fr) auto;gap:14px;align-items:end;padding:24px 0;border-bottom:1px solid var(--bd);margin-bottom:32px}.filters label{display:flex;flex-direction:column;min-width:0;font-size:13px;color:var(--t2);gap:7px}.filters select,.filters button{font:16px var(--sans);min-height:46px;border:1px solid var(--bd2);border-radius:2px;padding:10px 12px;max-width:100%;min-width:0}.filters select{width:100%;color:var(--t1);background:var(--s2);color-scheme:light}.filters button{background:var(--primary);color:var(--on-primary);font-weight:600;cursor:pointer}.filters button:hover{background:var(--primary);border-color:var(--link);box-shadow:inset 0 0 0 1px var(--link)}
.selection,.section-head{display:flex;justify-content:space-between;align-items:start;gap:16px;flex-wrap:wrap;margin:0 0 20px}.selection h2{font-size:32px;margin:0}.pill{display:inline-block;border:1px solid var(--bd);padding:5px 10px;color:var(--t2);font-size:12px;max-width:100%}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--bd);border:1px solid var(--bd);margin:24px 0}.metrics article{padding:24px;background:var(--s1)}.metrics span{font-size:14px;color:var(--t2)}.metrics strong{display:block;font:400 clamp(23px,3vw,34px)/1.4 var(--mono);margin-top:14px;overflow-wrap:anywhere}.panel{padding:26px;background:var(--s1);border:1px solid var(--bd);margin-bottom:24px;min-width:0}.panel>p{color:var(--t2)}.baseline-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:26px 0}.baseline-grid article{min-width:0;border-left:2px solid var(--bd);padding-left:18px}.baseline-grid strong{display:block;font:400 27px var(--mono);margin:14px 0}.baseline-grid p{font-size:13px}.caption{font-size:13px;color:var(--t3)}.mono,.country-portal code,.country-portal td{font-family:var(--mono)}.two-col{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:24px}.chart svg{display:block;max-width:100%;height:auto;margin:24px 0}.chart details{border-top:1px solid var(--bd);padding-top:10px}.country-portal summary{cursor:pointer;padding:8px 0;min-height:44px;color:var(--primary-text)}.export-links{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}.export-links a,.download-button{display:inline-block;min-height:44px;border:1px solid var(--bd2);padding:10px 14px;text-decoration:none;font-size:14px;color:var(--primary-text)}.export-links a:hover,.download-button:hover{background:var(--s3)}.country-portal code{display:block;font-size:11px;overflow-wrap:anywhere;color:var(--t3)}.downloads small{display:block;color:var(--t3)}.risk-note{border-left:2px solid var(--bd);padding:0 20px;margin:12px 0 30px;color:var(--t2)}.risk-note p{margin-top:10px;font-size:14px}
.territory-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:24px}.territory-card{padding:18px;background:var(--s1);border:1px solid var(--bd)}.territory-card h3 a{display:flex;justify-content:space-between;gap:8px;align-items:center;min-height:44px}.territory-card h3 a span{color:var(--primary)}.territory-card p{font-size:13px;color:var(--t2)}.territory-card strong{display:block;font-size:22px;font-weight:400;margin-top:10px}.text-link{color:var(--primary-text)!important}.scroll{overflow-x:auto;max-width:100%;scrollbar-color:var(--bd2) var(--s1)}.country-portal table{border-collapse:collapse;width:100%;min-width:530px;font-size:13px}.country-portal th,.country-portal td{padding:12px;text-align:right;border-bottom:1px solid var(--bd);font-weight:400}.country-portal th:first-child{text-align:left}.country-portal thead th{color:var(--t3);background:var(--s2)}.country-portal th a{display:inline-block;min-height:24px}.country-portal tbody tr:hover{background:var(--s3)}.country-portal dl{margin-top:25px}.country-portal dt{font-size:13px;color:var(--t3);margin-top:18px}.country-portal dd{margin:4px 0;overflow-wrap:anywhere;font-size:14px}.data-gaps{padding-left:20px;color:var(--t2)}.data-gaps li{margin-bottom:18px}.formula{font-family:var(--mono);color:var(--primary-text)!important;overflow-wrap:anywhere}.method{max-width:940px}.method h3{margin-top:32px}.notes{border-top:1px solid var(--bd);padding:24px 0;margin-top:36px;font-size:13px;color:var(--t3)}.notes p{margin-bottom:8px}footer{border-top:1px solid var(--bd);padding-top:24px;padding-bottom:32px;color:var(--t3);font-size:13px}.footer-top{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}.footer-top strong{color:var(--t2);font-weight:600}footer small{font-size:11px}
@media(max-width:1000px){.territory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.two-col{grid-template-columns:minmax(0,1fr)}.filters{grid-template-columns:1fr 1.5fr}.filters button{width:100%}}
@media(max-width:650px){.top,main,footer{padding-left:18px;padding-right:18px}.identity{gap:12px}.country{padding-left:12px}.top{gap:8px}.languages{margin-left:auto}.portal-head{padding-top:26px}.metrics{grid-template-columns:minmax(0,1fr)}.metrics article{padding:18px;display:flex;justify-content:space-between;align-items:center;gap:12px}.metrics span{max-width:52%;font-size:13px}.metrics strong{margin:0;font-size:25px}.baseline-grid{grid-template-columns:minmax(0,1fr);gap:22px}.baseline-grid strong{font-size:25px}.territory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel{padding:18px}.selection h2{font-size:28px}.tabs{column-gap:18px}.filters{grid-template-columns:minmax(0,1fr)}.country-portal h2{font-size:23px}.section-head{gap:12px}}
@media(max-width:370px){.territory-grid{grid-template-columns:minmax(0,1fr)}.identity{gap:8px}.country{padding-left:8px}.top{padding-top:12px;padding-bottom:12px}.metrics article{display:block}.metrics span{max-width:none}.metrics strong{margin-top:6px}}
@media print{.country-portal{background:#fff;color:#171717}.top,.tabs,.filters,.languages,.downloads,.skip{display:none}.panel,.metrics article,.territory-card{background:#fff;color:#171717}.panel,.metrics{border-color:#ccc}.notes,footer,.caption{color:#444}.country-portal h1,.country-portal h2,.country-portal p,.country-portal strong{color:#171717}.scroll{overflow:visible}.country-portal table{min-width:0}.country-portal th,.country-portal td{color:#171717}.country-portal thead th{background:#F5F5F5;color:#171717}}

.map-panel{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:30px}.map-visual,.map-description{min-width:0}.country-map{display:block;max-width:100%;width:100%;height:auto;max-height:620px}.country-map .selected-territory{stroke-width:2.5;filter:drop-shadow(0 0 1px #fff)}.country-map a:focus-visible path,.country-map a:hover path{stroke-width:3;filter:drop-shadow(0 0 1.5px #fff)}.map-description{padding-top:54px}.map-scale{display:flex;height:16px;margin:20px 0 10px}.map-scale i{flex:1}.map-scale i:nth-child(1){background:#deebf7}.map-scale i:nth-child(2){background:#9ecae1}.map-scale i:nth-child(3){background:#6baed6}.map-scale i:nth-child(4){background:#3182bd}.map-scale i:nth-child(5){background:#08519c}@media(max-width:700px){.map-panel{grid-template-columns:minmax(0,1fr);gap:18px}.map-description{padding-top:0}.country-map{max-height:480px}}

.country-portal .compare-form{display:grid;gap:.65rem;max-width:48rem}.country-portal .compare-form select{width:100%;min-height:10rem}.country-portal .compare-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem}

.country-portal .compare-form select,.country-portal .map-filter select{font:16px var(--sans);color:var(--t1);background:var(--s2);color-scheme:light;padding:10px;border:1px solid var(--bd2);max-width:100%}.country-portal .compare-form button,.country-portal .map-filter button{font:600 16px var(--sans);background:var(--primary);color:var(--on-primary);min-height:46px;padding:10px 16px;border:1px solid var(--link);cursor:pointer}.country-portal .map-filter{display:grid;gap:10px}

/* Native controls stay light even when the operating system requests dark UI. */
.country-portal select,.country-portal option,.country-portal input{color-scheme:light;background:var(--s2);color:var(--t1);accent-color:var(--link)}
.country-portal select:hover{border-color:var(--bdh)}
.country-portal option:checked{background:var(--primary);color:var(--on-primary)}
.country-portal option:hover{background:var(--s3);color:var(--t1)}
.country-portal button:hover{box-shadow:inset 0 0 0 1px var(--link)}
.country-portal :disabled{color:var(--t2);background:var(--bd);border-color:var(--bd2);cursor:not-allowed;opacity:1}
.country-portal .languages a:hover,.country-portal .tabs a:hover{background:var(--s3);color:var(--link)}
.country-portal a:active{color:var(--t1)}
.country-portal .brand:hover{color:var(--t1)}
.country-portal .error-wrap{max-width:800px;padding-top:40px;padding-bottom:40px}
.country-portal .error-message{color:var(--t1);border-left:4px solid var(--link)}
.country-portal .error-wrap .back-link{color:var(--link);display:inline-block;min-height:44px;padding:10px 0}

/* Keep the requested outer control border and a clearly visible inner edge. */
.country-portal select,.country-portal .export-links a,.country-portal .download-button{box-shadow:inset 0 0 0 1px var(--bdh)}
.country-portal .filters button{border-color:var(--link)}
.country-portal option:checked:hover{background:var(--primary);color:var(--on-primary)}
.country-portal .chart-visual{overflow-x:auto;max-width:100%;scrollbar-color:var(--bd2) var(--s1)}
.country-portal .chart-visual svg{min-width:640px;width:100%;margin:16px 0}
@media print{.country-portal .chart-visual{overflow:visible}.country-portal .chart-visual svg{min-width:0}}

.climate-filters{grid-template-columns:minmax(0,1.5fr) minmax(130px,1fr) minmax(130px,1fr) auto}.climate-filters input{font:16px var(--sans);min-height:46px;border:1px solid var(--bdh);padding:10px;width:100%;min-width:0}@media(max-width:750px){.climate-filters{grid-template-columns:minmax(0,1fr)}}
