/* Strature GPS: the Exposure profile block on the Tier 1 country pages (sitebuild/profile.py, src/assets/profile.js).
   Ported from C_all's template.html (11 Oct 2026, R43). Every rule is scoped under .xp (the block's sections and the
   drawer's wrapper), so nothing reaches the rest of the page; the site's tokens (--paper, --ink, --hair, --graphite,
   --tint, --navy, --serif, --sans) are used as they are; the block's own colours are set on .xp. Light only, as the site. */
.xp{--card:#FFFFFF;--on-navy:#FBF9F5;--amber:#8A5A10;--c-energy:#8A5A00;--c-vc:#17695E;--c-ck:#9C3A5C;--c-lost:#A8321C;--c-late:#6B3FA0;--late-soft:rgba(107,63,160,.12);--ghost:rgba(92,102,112,.45);--map-sea:#132338;--map-energy:#E8BE5A;--map-ck:#F2A0B8;--map-vc:#5CC8B5;--map-lost:#F0714E;--map-late2:#C9A2FF;--map-gas:#6CB4F0;--map-other:#AEB8C2;--surface:#FFFFFF;--line:var(--hair)}
.xp ul,.xp ol{padding:0;list-style:none}
.xp button{font:inherit;color:inherit;cursor:pointer}
.xp a{color:inherit;text-underline-offset:3px}
.xp :focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.xp .asof{font-family:var(--sans);font-size:12px;color:var(--graphite);margin-top:6px;display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center}
.xp .tag{display:inline-flex;align-items:center;gap:4px;font-family:var(--sans);font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--hair);padding:1px 6px;border-radius:2px;color:var(--graphite);white-space:nowrap;vertical-align:middle}
.xp .tag.ok{border-color:var(--c-vc);color:var(--c-vc)}
.xp .tag.auto{border-style:dashed;white-space:normal;text-align:left}
.xp .tag.asm{border-color:var(--c-late);color:var(--c-late)}
.xp .f65{border-color:var(--c-lost)!important;color:var(--c-lost)!important}
.xp .fw{border-color:var(--amber)!important;color:var(--amber)!important}
.sec.xp{padding:24px 0 6px}
.xp .wrap>h2{font-family:var(--serif);font-size:23px;line-height:1.15;font-weight:600;letter-spacing:-.01em}
@media (min-width:980px){.xp .wrap>h2{font-size:29px}}
.xp .sub{font-family:var(--sans);font-size:12.5px;color:var(--graphite);margin-top:4px;max-width:90ch}
.xp .note{font-family:var(--sans);font-size:12.5px;color:var(--graphite);line-height:1.45}
.xp .mt{margin-top:8px}
.xp .card{background:var(--card);border:1px solid var(--hair);padding:14px;min-width:0}
.xp button.n,.xp span.n[data-ncf]{background:none;border:0;padding:0 1px;margin:0;font:inherit;color:inherit;font-variant-numeric:tabular-nums;border-bottom:1px solid var(--ghost);cursor:pointer;line-height:inherit;text-align:inherit;white-space:nowrap;display:inline-block;min-height:24px;min-width:24px;vertical-align:baseline}
.xp button.n.srcb,.xp span.n.srcb[data-ncf]{font-family:var(--sans);font-size:11px;font-weight:600;min-width:24px;min-height:24px;padding:0 6px;border:1px solid var(--hair);border-radius:12px;line-height:22px;text-align:center;color:var(--graphite)}
.xp button.n.srcb::after,.xp span.n.srcb[data-ncf]::after{display:none}
.xp .cline{margin-top:10px;font-family:var(--sans);font-size:13.5px;border-left:3px solid var(--c-ck);padding:4px 10px;background:var(--card)}
.xp .strips3.one{grid-template-columns:minmax(0,1fr)}
@media (min-width:760px){.xp .strips3.one{grid-template-columns:minmax(0,560px)}}
@media (min-width:760px){.xp .strips3.two{grid-template-columns:repeat(2,minmax(0,1fr))}}   /* WS-394: Chokepoints + Energy */
.xp ul.watch li{font-family:var(--sans);font-size:13px;padding:5px 0;border-top:1px dotted var(--hair)}
.xp ul.watch .wd{font-weight:600;white-space:nowrap}
/* item 93: the build's no-script source spans look like the buttons, without the pointer */
.xp span.n[data-ncf]{cursor:auto}
.xp button.n:hover{border-bottom-color:var(--ink)}
.xp button.n.low,.xp span.n.low[data-ncf]{border-bottom:1px dashed var(--amber)}
.xp button.n::after,.xp span.n[data-ncf]::after{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;margin-left:3px;vertical-align:.45em;background:var(--graphite);opacity:.7}
.xp .lowt{display:inline-block;font-family:var(--sans);font-size:10px;font-weight:600;text-transform:uppercase;border:1px dashed var(--graphite);color:var(--graphite);padding:0 4px;margin-left:4px;vertical-align:1px}
.xp .ccard{margin-top:14px}
.xp .ccard .hd{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:baseline;justify-content:space-between}
.xp .ccard .hd h2{font-family:var(--serif);font-size:20px;font-weight:600}
.xp .strips3{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin-top:6px}
@media (min-width:760px){.xp .strips3{grid-template-columns:repeat(3,minmax(0,1fr))}}
.xp .strip3{background:var(--card);border:1px solid var(--hair);border-top:3px solid var(--graphite);padding:8px 12px;font-family:var(--sans);font-size:13px;min-width:0}
.xp .strip3.s-c{border-top-color:var(--c-ck)}
.xp .strip3.s-e{border-top-color:var(--c-energy)}
.xp .strip3.s-v{border-top-color:var(--c-vc)}
.xp .strip3 h3{font-family:var(--sans);font-size:11.5px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--graphite);margin-bottom:4px}
.xp .strip3 dl{margin:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px}
.xp .strip3 dt{color:var(--ink)}
.xp .strip3 dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}
.xp .strip3 dd small,.xp .strip3 dt small{color:var(--graphite)}
.xp .strip3 .ns{color:var(--graphite);font-style:italic}
.xp .ben{margin-top:10px;border-left:4px solid var(--c-energy);padding:8px 12px;background:var(--card);border-top:1px solid var(--hair);border-right:1px solid var(--hair);border-bottom:1px solid var(--hair);font-family:var(--sans);font-size:13px}
.xp .ben h3{font-family:var(--serif);font-size:17px;font-weight:600}
.xp .ben li{padding:3px 0;border-top:1px dotted var(--hair);display:flex;justify-content:space-between;gap:8px}
.xp details.more{margin-top:8px;font-family:var(--sans);font-size:13px}
.xp details.more summary{cursor:pointer;min-height:36px;display:flex;align-items:center;color:var(--graphite)}
.xp .ind li{padding:5px 0;border-top:1px dotted var(--hair)}
.xp .rctl{display:flex;flex-direction:column;gap:6px;margin-top:10px}
.xp .rrow{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center;font-family:var(--sans);min-width:0}
.xp .rrow .lab{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--graphite)}
.xp .rrow button{background:var(--card);border:1px solid var(--hair);font-family:var(--sans);font-size:12.5px;padding:4px 10px;min-height:40px;color:var(--ink)}
.xp .rrow button[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.xp .rgrid{display:grid;gap:12px;margin-top:10px}
@media (min-width:1000px){.xp .rgrid{grid-template-columns:minmax(0,1fr) 330px;align-items:start}}
.xp .rwrap{position:relative;background:var(--map-sea);overflow:hidden;border:1px solid var(--hair);min-height:200px}
.xp #rmap{display:block;width:100%;height:auto}
.xp #rdots{position:absolute;left:0;top:0;pointer-events:none}
.xp #rmap text{font-family:var(--sans);paint-order:stroke;stroke:#132338;stroke-width:3px;stroke-linejoin:round}
.xp #rmap [role=button]{cursor:pointer;outline:none}
.xp #rmap [role=button] .fr1,.xp #rmap [role=button] .fr2{display:none}
.xp #rmap [role=button]:focus-visible .fr1,.xp #rmap [role=button]:focus-visible .fr2{display:inline}
.xp .rstamp{position:absolute;left:8px;top:6px;font-family:var(--sans);font-size:11px;color:rgba(251,249,245,.85);pointer-events:none;max-width:80%}
.xp .panel{background:var(--card);border:1px solid var(--hair);padding:12px;min-width:0;display:flex;flex-direction:column;gap:4px;font-family:var(--sans);font-size:13.5px}
.xp .panel h3{font-family:var(--serif);font-size:18px;font-weight:600;line-height:1.2}
.xp .prow{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:2px 0;border-bottom:1px dotted var(--hair)}
.xp .prow .v{font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right}
.xp .prow .pk{background:none;border:0;padding:0;text-align:left;min-height:36px;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px}
.xp .ptitle{font-family:var(--sans);font-size:11.5px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--graphite);margin-top:10px}
.xp .rs{margin-top:6px}
.xp .rs .bar{display:flex;height:12px;background:var(--tint)}
.xp .rs .bar i{display:block;height:100%}
.xp .rcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px;margin-top:10px}
.xp .stc{background:var(--card);border:1px solid var(--hair);padding:8px 12px;font-family:var(--sans);font-size:13px;min-width:0}
.xp .stc b{font-family:var(--serif);font-size:16px}
.xp .stc.closed{border-left:4px solid var(--c-lost)}
.xp .stc .go{display:inline-flex;min-height:44px;align-items:center;font-weight:600}
.xp .bchip{display:inline-block;font-family:var(--sans);font-size:10px;font-weight:600;border:1px solid var(--hair);border-radius:8px;padding:0 5px;color:var(--graphite);white-space:normal}
.xp .mbar{margin-top:8px;font-family:var(--sans);font-size:13px;border-left:4px solid var(--c-late);background:var(--card);border-top:1px solid var(--hair);border-right:1px solid var(--hair);border-bottom:1px solid var(--hair);padding:8px 12px;display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center}
.xp .mbar .latesent{flex:1 1 260px;min-width:0}
.xp .mbar .note{flex:1 1 220px;min-width:0}
.xp .more{font-family:var(--sans);font-size:12.5px;background:none;border:1px solid var(--hair);padding:6px 10px;min-height:36px}
.xp .strip{display:grid;gap:8px;margin-top:10px}
@media (min-width:640px){.xp .strip{grid-template-columns:1fr 1fr}}
@media (min-width:1100px){.xp .strip{grid-template-columns:repeat(3,1fr)}}
.xp .sc{background:var(--card);border:1px solid var(--hair);padding:10px 12px;font-family:var(--sans);font-size:12.5px;display:flex;flex-direction:column;gap:6px;min-width:0}
.xp .sc .t{font-family:var(--serif);font-size:16.5px;font-weight:600;line-height:1.2}
.xp .sc .fam{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--graphite)}
.xp .sc .row{display:flex;flex-wrap:wrap;gap:6px}
.xp .sc .row button{background:none;border:1px solid var(--ink);font-family:var(--sans);font-size:12.5px;padding:6px 10px;min-height:40px;font-weight:600}
.xp .sc .row button.alt{border-color:var(--hair);font-weight:500}
.xp .sc .row button[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
.xp .illu{font-family:var(--sans);font-size:11.5px;color:var(--graphite);border:1px dashed var(--hair);padding:4px 8px;display:inline-block;margin-top:8px}
.xp .dr{position:fixed;z-index:50;background:var(--paper);color:var(--ink);border:1px solid var(--hair);box-shadow:0 -6px 30px rgba(0,0,0,.25);display:flex;flex-direction:column;font-family:var(--sans);font-size:13.5px}
.xp .dr{left:0;right:0;bottom:0;max-height:86vh;border-radius:12px 12px 0 0}
@media (min-width:900px){.xp .dr{left:auto;top:0;bottom:0;width:480px;max-height:none;border-radius:0;box-shadow:-6px 0 30px rgba(0,0,0,.25)}}
.xp .dr .dh{display:flex;align-items:flex-start;gap:8px;padding:10px 14px;border-bottom:1px solid var(--hair);background:var(--card)}
.xp .dr .dh h2{font-family:var(--serif);font-size:19px;font-weight:600;line-height:1.2;flex:1;outline:none}
.xp .dr .dh button{background:none;border:1px solid var(--hair);min-width:44px;min-height:44px;font-size:18px}
.xp .dr .db{overflow-y:auto;padding:10px 14px 24px;overscroll-behavior:contain}
.xp .tri{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--hair);margin-top:8px;background:var(--card)}
.xp .tri>div{padding:6px 8px;min-width:0}
.xp .tri>div+div{border-left:1px solid var(--hair)}
.xp .tri .k{font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--graphite)}
.xp .tri .n{display:block;font-family:var(--serif);font-size:20px;font-weight:600;line-height:1.15;white-space:nowrap}
.xp .tri .late{background:repeating-linear-gradient(135deg,var(--late-soft) 0 6px,transparent 6px 12px);color:var(--c-late)}
.xp .tri .late .k{color:var(--c-late)}
.xp .tri .late .d{display:block;font-family:var(--serif);font-size:18px;font-weight:600;white-space:nowrap}
.xp .tri .lost .n{color:var(--c-lost)}
.xp .tri .co{display:block;font-size:11px;color:var(--graphite)}
.xp .tri{grid-template-columns:minmax(0,1fr)}
.xp .tri>div+div{border-left:0;border-top:1px solid var(--hair)}
.xp .tri>div{display:grid;grid-template-columns:7.5em minmax(0,1fr);column-gap:8px;align-items:baseline}
.xp .tri .co,.xp .tri .d{grid-column:2}
.xp .latesent{font-family:var(--serif);font-size:17px;line-height:1.3;color:var(--c-late);margin-top:8px}
.xp .db ul.gl li{padding:4px 0;border-top:1px dotted var(--hair)}
.xp .db h3{font-family:var(--sans);font-size:11.5px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--graphite);margin-top:14px}
.xp .ev li{padding:5px 0;border-top:1px dotted var(--hair);font-size:12.5px}
.xp .ev .cf{color:var(--graphite);font-size:11.5px}
.xp .asm li{padding:5px 0;border-top:1px dotted var(--hair);font-size:12.5px}
.xp .chipset{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.xp .chipset button{background:none;border:1px solid var(--hair);font-size:12.5px;padding:6px 10px;min-height:40px}
.xp .chipset button[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.xp .qa{display:grid;gap:10px;margin-top:10px}
@media (min-width:900px){.xp .qa{grid-template-columns:1fr 1fr}}
.xp .qa .card h3{font-family:var(--serif);font-size:18px;font-weight:600;line-height:1.25}
.xp .qa .card p{font-size:16px;margin-top:6px}
.xp .qa .card .tag{margin-top:8px}
.xp .means{margin-top:12px;border-left:3px solid var(--c-vc);padding:2px 0 2px 12px}
.xp .means h3{font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--graphite);display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.xp .means .bmt{font-size:16px;line-height:1.45;margin-top:5px;max-width:80ch}
.xp .srcl li{font-family:var(--sans);font-size:12px;padding:4px 0;border-top:1px dotted var(--hair);overflow-wrap:anywhere}
.xp .std{font-family:var(--sans);font-size:11.5px;color:var(--graphite);margin-top:6px;max-width:100ch}
.nc-pop a{color:inherit}
.xp [data-nc],.xp .nw{white-space:nowrap}
.xp h2,.xp h3,.xp h4,.xp p,.xp ul,.xp ol{margin:0}
.xp ul,.xp ol{padding:0;list-style:none}
.xp button{font:inherit;color:inherit;cursor:pointer}
.xp [hidden]{display:none!important}
.xp .lbl{display:block;margin-bottom:6px}
.xp .xp-ylab{margin-left:6px}
.xp .xp-foot{margin-top:28px;border-top:1px solid var(--hair);padding:14px 0 8px;font-family:var(--sans);font-size:12px;color:var(--graphite)}
.xp .xp-foot p{margin-top:6px;max-width:110ch}
.gps-tops>.xp{grid-column:1/-1}
.xp .ind button.n,.xp .ben button.n,.xp .ind span.n[data-ncf],.xp .ben span.n[data-ncf]{white-space:normal;display:inline;text-align:left;overflow-wrap:anywhere}
.xp .tag{background:transparent}
/* the site's CSP (style-src 'self') refuses style attributes: the prototype's inline colours as classes */
.xp .sl-lost{border-style:solid;color:var(--c-lost)}.xp .sl-late{border-style:solid;color:var(--c-late)}
.xp .xc-late{color:var(--c-late)}.xp .xc-lost{color:var(--c-lost)}.xp .m0{margin:0}
.xp .rs .bar i[data-c="0"]{background:#7FA88F}.xp .rs .bar i[data-c="1"]{background:#E0B44C}.xp .rs .bar i[data-c="2"]{background:#D9773C}.xp .rs .bar i[data-c="3"]{background:#B2382B}
/* the source popover (net-core, appended to body): the prototype's inline styles are refused by the CSP; set here */
/* net-core's source popover: its base box lives here, not in net-core's el.style.cssText (QUALITY_BACKLOG 122; the
   same values; net-core sets only left and top). Kept equal in pages-profile.css and pages-network.css. */
.nc-pop{position:fixed;z-index:1000;max-width:min(360px,calc(100vw - 32px));background:var(--surface,#fff);color:var(--ink,#111);border:1px solid var(--line,#888);border-radius:8px;padding:12px 14px;box-shadow:0 6px 24px rgba(0,0,0,.25);font-family:var(--sans);font-size:13px;line-height:1.45}
.nc-pop p{margin:2px 0}
.nc-pop .nc-x{float:right;min-width:44px;min-height:44px;border:0;background:none;color:inherit;font-size:18px;cursor:pointer}
.nc-pop .nc-pop-t{margin:0 0 4px}.nc-pop .nc-pop-p{margin:0}.nc-pop .nc-pop-l{margin:2px 0}.nc-pop .nc-pop-e{margin:6px 0 0}
.nc-pop .nc-pop-hr{border:0;border-top:1px solid var(--hair,#888)}
/* R46 C5, C6: the approved headline under the h1 (on the navy hero), tagged as C_all shows it */
.xp-hl{font-family:var(--serif);font-size:17px;line-height:1.35;margin-top:8px;max-width:60ch;color:#FBF9F5}
@media (min-width:980px){.xp-hl{font-size:20px}}
.xp-hl .xp-tag{display:inline-block;font-family:var(--sans);font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;border:1px solid #9FD8CC;color:#9FD8CC;padding:1px 6px;border-radius:2px;white-space:nowrap;vertical-align:2px}
/* R46 C9: the section rail */
.xp .xp-rail{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:6px;font-family:var(--sans);font-size:13px}
.xp .xp-rail a{display:inline-flex;align-items:center;min-height:32px;color:var(--ink)}
/* WS-217: the "Show more" bar on phones (profile.js folds the lower sections there only) */
.xp-morebar{padding:14px 0 18px}
.xp-morebtn{font:600 15px/1.2 var(--sans);color:var(--paper,#FBF9F5);background:var(--navy,#132338);border:0;border-radius:2px;padding:12px 18px;min-height:44px;width:100%;text-align:left;cursor:pointer}
.xp-morebtn .xp-more-s{font-weight:400}
.xp-morebtn:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
/* QA N10: on phones a strip's label and figure stack (a long period never runs over the label) */
@media (max-width:520px){.xp .strip3 dl{grid-template-columns:minmax(0,1fr);gap:0}.xp .strip3 dd{text-align:left;margin-bottom:6px}}
/* WS-632: text for screen readers only (the map's pick announcement, #r-live) */
.xp .vh{position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
