@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Instrument+Serif:ital@0;1&display=swap');
:root{--ocean:#102e3a;--ink:#18343d;--paper:#f7f7f1;--muted:#738185;--gold:#e8bd76;--teal:#a2d5c8;--border:#dedfd8;--sans:'DM Sans',sans-serif;--serif:'Instrument Serif',Georgia,serif}*{box-sizing:border-box}body{margin:0;background:var(--ocean);color:var(--ink);font:14px var(--sans);-webkit-font-smoothing:antialiased}button,select,input{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{color:inherit}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid #d6a44e;outline-offset:4px}button{border:0;background:none}a{color:inherit}button:hover{filter:brightness(1.08)}.masthead{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 32px;background:var(--paper);border-bottom:1px solid var(--border);gap:24px}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;font-size:22px;font-family:var(--serif);white-space:nowrap}.brand i{font-style:normal;color:#83908d}.brand-icon{font-family:Georgia;font-size:35px;width:40px;height:40px;text-align:center;line-height:40px}.masthead nav{display:flex;align-items:center;gap:36px;height:100%;font-size:12px;font-weight:500}.nav-active{height:100%;display:flex;align-items:center;position:relative}.nav-active:after{position:absolute;bottom:-1px;width:100%;height:2px;background:var(--ink);content:''}.masthead nav button{padding:10px 0;color:#6c7979}.masthead nav button span{margin-left:9px}.edition{font-size:9px;letter-spacing:1.5px;display:flex;align-items:center;gap:9px;color:#768381}.status-dot{width:5px;height:5px;border-radius:50%;background:#6f9383}.edition-line{color:#bec5bd;margin:0 4px}.workspace{height:calc(100dvh - 82px);min-height:690px;display:grid;grid-template-columns:minmax(0,1fr) 362px}.map-shell{position:relative;overflow:hidden;background:radial-gradient(ellipse at 45% 54%,#153a47 0,#102e3a 60%,#0e2935 100%);color:var(--paper)}#map{display:block;width:100%;height:100%;touch-action:none;cursor:grab}#map:active{cursor:grabbing}.map-heading{position:absolute;top:35px;left:35px;pointer-events:none}.eyebrow{font-size:9px;letter-spacing:2px;font-weight:600;color:#9bb2b6}.map-heading h1{font:57px/.99 var(--serif);font-weight:400;letter-spacing:-1px;margin:17px 0 15px}.map-heading em{font-weight:400;color:#dfc698}.map-heading p{font-size:11px;color:#9ab1b7;letter-spacing:.05px}.map-top-right{position:absolute;right:27px;top:32px;display:flex;align-items:flex-end;flex-direction:column;gap:20px}.search-button{color:#cad5d5;border:1px solid #46606b;border-radius:5px;display:flex;align-items:center;gap:10px;font-size:11px;padding:9px 10px;background:#122f3b}.search-button>span{font-size:20px;line-height:17px}.search-button kbd{font-family:inherit;font-size:10px;margin-left:18px;padding:1px 5px;border:1px solid #385361;border-radius:2px;color:#8ca5b0}.view-switch{display:flex;background:#0a242f;padding:4px;border:1px solid #304d59;border-radius:6px;gap:2px}.view-switch button{font-size:10px;color:#92aeb7;padding:8px 11px;border-radius:3px}.view-switch button.active{background:#e3bd7e;color:#18323c}.filter-bar{position:absolute;top:260px;left:35px;display:flex;align-items:center;gap:16px;background:#102e3aea;border:1px solid #3a5662;padding:12px 16px;border-radius:5px;box-shadow:0 3px 15px #06182315}.filter-bar label{display:flex;flex-direction:column;gap:6px}.filter-bar label>span{color:#829da9;font-size:8px;letter-spacing:1.5px}.filter-bar select{color:#d9e2e1;background:transparent;border:0;outline-offset:6px;font-size:11px;max-width:170px;cursor:pointer;padding-right:8px}.filter-bar option{background:#173744;color:white}.filter-rule{height:27px;width:1px;background:#39535e}.filter-sample{display:none}.zoom-controls{position:absolute;right:23px;bottom:121px;display:flex;flex-direction:column;overflow:hidden;border:1px solid #47616b;border-radius:5px;background:#14313d}.zoom-controls button{color:#e0e7e3;font-size:22px;width:36px;height:36px;border-bottom:1px solid #3a5662;line-height:20px}.zoom-controls button:last-child{border:0}.zoom-controls button:hover{background:#294c58}.map-note{position:absolute;bottom:113px;left:30px;display:flex;align-items:center;gap:9px;color:#8ba4ac;font-size:9px}.line-key{width:22px;height:1px;background:#9fb2b8;display:inline-block}.map-bottom{position:absolute;left:25px;right:25px;bottom:29px;border-top:1px solid #3b5661;display:flex;align-items:center;justify-content:space-between;gap:15px;height:65px}.legend{display:flex;align-items:center;gap:7px;font-size:9px;color:#9db2b7;white-space:nowrap}.legend-circle{width:5px;height:5px;border-radius:50%;background:var(--teal)}.legend-divider{height:11px;width:1px;background:#395561;margin:0 4px}.timeline{display:flex;gap:16px;align-items:center}.timeline-caption{font-size:8px;letter-spacing:1.2px;color:#8ca4ad}.year-buttons{display:flex;align-items:center;gap:4px}.year-buttons button{position:relative;padding:9px 6px;font-size:10px;color:#8ea8b1;border-radius:3px}.year-buttons button.active{background:#e6be7d;color:#18343d}.year-buttons button:hover:not(.active){background:#2b4955}.info-button{width:20px;height:20px;border:1px solid #69838b;border-radius:50%;color:#a9bcc0;font:italic 12px Georgia}.map-attribution{position:absolute;bottom:12px;left:26px;color:#678792;font-size:8px}.map-message{position:absolute;left:50%;top:53%;transform:translate(-50%,-50%);color:#d8dfdb;font-size:13px;background:#132f3a;padding:14px;border-radius:4px}.map-message:empty{display:none}#tooltip{position:absolute;pointer-events:none;background:#f7f7f1;color:#19343e;border-radius:5px;padding:12px 15px;font-size:11px;box-shadow:0 8px 30px #0003;z-index:5;display:none;max-width:250px}#tooltip strong{display:block;font-size:12px;margin-bottom:5px}#tooltip small{display:block;margin-top:6px;color:#778680}.country-path{fill:#284954;stroke:#53717b;stroke-width:.65;transition:fill .3s}.country-path.is-region{fill:#375965;stroke:#6a8691}.country-path.selected{fill:#cfb37d;stroke:#f2d6a1}.graticule{fill:none;stroke:#7c9ca8;stroke-width:.4;stroke-opacity:.14;stroke-dasharray:2 5}.country-label{fill:#a8bdc3;font-size:8px;letter-spacing:1.1px;font-weight:500;paint-order:stroke;stroke:#12313d;stroke-width:3px;stroke-linejoin:round;pointer-events:none}.country-label.selected{fill:#f4d9a4;font-size:10px;letter-spacing:1.2px}.water-label{fill:#7996a1;font:italic 19px var(--serif);letter-spacing:6px;opacity:.55;pointer-events:none}.flow-line{fill:none;stroke:var(--teal);stroke-linecap:round;opacity:.45;transition:opacity .2s}.flow-line.hover{opacity:1}.flow-hit{fill:none;stroke:transparent;stroke-width:14;cursor:pointer}.node{cursor:pointer;outline:none}.node .node-core{fill:#a8c9cc;stroke:#173945;stroke-width:1.5}.node .node-halo{fill:transparent;stroke:none}.node.selected .node-core{fill:#f1cf96;stroke:#fae1b5;stroke-width:1.5}.node.selected .node-halo{fill:#e0ba7412;stroke:#d2af6870;stroke-width:1}.node:hover .node-core,.node:focus .node-core{fill:white;stroke:white}.flow-particle{fill:#d6eee4;pointer-events:none;opacity:.85}.region-border{fill:none;stroke:#9ec3cb;stroke-width:1;stroke-opacity:.25}.economy-panel{background:var(--paper);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#c8d0c6 transparent}.panel-inner{padding:31px 27px 24px}.panel-eyebrow{display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:1.5px;color:#7b8985}.panel-index{letter-spacing:1px;color:#9da6a0}.country-title{display:flex;align-items:center;justify-content:space-between;margin:13px 0}.country-title h2{font:42px/1.05 var(--serif);font-weight:400;letter-spacing:-.4px;margin:0}.country-title button{width:29px;height:29px;border:1px solid #cdd5c9;border-radius:50%;color:#7c8c80}.country-meta{display:flex;align-items:center;gap:9px;font-size:9px;color:#849085}.pill{font-size:7px;letter-spacing:.7px;padding:5px 7px;border-radius:3px;background:#e5ebe1;color:#55745d}.flow-switch{display:flex;margin-top:25px;background:#e9ece4;border-radius:4px;padding:4px}.flow-switch button{width:50%;font-size:11px;display:flex;align-items:center;justify-content:center;gap:35px;padding:8px;border-radius:3px;color:#738075}.flow-switch button.active{background:#fff;box-shadow:0 1px 3px #233c2512;color:#254039}.flow-switch button span{font-size:15px}.metric-caption{display:flex;justify-content:space-between;margin-top:24px;color:#738178;font-size:10px}.metric-caption span:last-child{font-size:9px;border:1px solid #d7ded1;padding:2px 5px;border-radius:3px}.main-metric{font:48px var(--serif);font-weight:400;letter-spacing:-1px;margin:4px 0 2px;font-variant-numeric:tabular-nums}.metric-footnote{color:#8a958b;font-size:9px}.stat-row{display:flex;margin-top:19px;padding-bottom:22px;border-bottom:1px solid var(--border)}.stat-row>div{width:50%;display:flex;flex-direction:column;gap:5px}.stat-row>div+div{border-left:1px solid var(--border);padding-left:23px}.stat-row strong{font-size:19px;letter-spacing:-.5px;font-weight:500}.stat-row span{color:#879286;font-size:9px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-top:23px;margin-bottom:17px}.section-heading h3{margin:0;font-size:12px;font-weight:550;letter-spacing:-.2px}.section-heading>span{font-size:7px;letter-spacing:1px;color:#98a094}.partner-row{width:100%;text-align:left;padding:0 0 14px;display:block;position:relative}.partner-text{display:flex;align-items:center;gap:8px;font-size:10px}.partner-rank{font-size:8px;color:#a4aaa0;width:10px}.partner-name{flex:1}.partner-value{font-size:10px;color:#6a7c70;font-variant-numeric:tabular-nums}.partner-bar{height:3px;margin:7px 0 0 18px;border-radius:2px;background:#e6e9df;overflow:hidden}.partner-bar>span{display:block;height:100%;background:#739b8c;border-radius:2px;transition:width .4s}.partner-row:hover .partner-name{color:#698f77}.composition-heading{margin-top:9px}#composition-bar{display:flex;gap:3px;height:8px;margin-bottom:13px}#composition-bar>span{border-radius:2px;transition:width .35s}#composition-list{display:grid;grid-template-columns:1fr 1fr;gap:9px 12px}.composition-item{display:flex;align-items:center;font-size:8px;color:#788678;gap:5px;min-width:0}.composition-item span{width:5px;height:5px;border-radius:1px;flex-shrink:0}.composition-item strong{font-weight:500;margin-left:auto;color:#657567}.insight{display:flex;gap:10px;margin-top:21px;padding-top:16px;border-top:1px solid var(--border);font-size:10px;line-height:1.7;color:#738273}.insight>span{font-size:18px;color:#a08c65}.insight p{margin:0}.insight strong{font-weight:500;color:#395845}.data-notice{margin-top:20px;padding:13px 10px;display:flex;gap:8px;text-align:left;width:100%;background:#ecefe7;border-radius:4px;align-items:center;color:#8a9586;font-size:8px;line-height:1.65}.data-notice strong{font-weight:500;color:#667b62}.data-notice>span:last-child{margin-left:auto}.notice-dot{width:5px;height:5px;background:#b99b67;border-radius:50%;flex-shrink:0}dialog{border:1px solid #d6ddcf;padding:28px 32px 32px;max-width:560px;width:calc(100% - 32px);border-radius:10px;background:var(--paper);color:var(--ink);max-height:85dvh;box-shadow:0 25px 100px #0004}dialog::backdrop{background:#061c29b5;backdrop-filter:blur(6px)}.dialog-top{display:flex;justify-content:space-between;align-items:center}.dialog-top .eyebrow{color:#7e8b7c}.close-dialog{font-size:25px;color:#7d8c7a;padding:0 4px}dialog h2{font:40px var(--serif);font-weight:400;margin:14px 0 20px}dialog p{font-size:12px;line-height:1.8;color:#667665}dialog h3{font-size:13px;font-weight:600;margin-top:22px}.source-link{font-size:12px;display:inline-block;margin-top:16px}#economy-search{width:100%;padding:13px 15px;background:#fff;border:1px solid #d2dace;border-radius:5px;font-size:13px;margin-bottom:14px}#search-results{max-height:380px;overflow-y:auto}.search-result{display:flex;justify-content:space-between;width:100%;padding:12px 8px;text-align:left;border-bottom:1px solid #e4e7dc;font-size:12px}.search-result:hover{background:#e9eee3}.search-result span{color:#8a9785;font-size:9px}.empty-result{color:#778573;font-size:12px;padding:18px 0}.focus-chip{font-size:9px;fill:#d6c49f}.flow-line.exports{stroke:var(--gold)}
@media(min-width:1550px){.workspace{grid-template-columns:minmax(0,1fr) 400px}.panel-inner{padding:36px 32px}.map-heading{top:42px;left:42px}.map-heading h1{font-size:70px}.filter-bar{top:290px;left:42px}.country-title h2{font-size:47px}.partner-row{padding-bottom:18px}.section-heading{margin-top:27px}}
@media(max-width:1150px){.masthead{padding:0 22px}.workspace{grid-template-columns:minmax(0,1fr) 325px}.panel-inner{padding:28px 22px}.map-heading{left:25px;top:29px}.map-heading h1{font-size:51px}.map-top-right{right:20px;top:28px}.search-button{font-size:0;gap:0;padding:8px;width:35px;height:35px;justify-content:center}.search-button>span{font-size:23px}.search-button kbd{display:none}.view-switch{margin-top:0}.view-switch button{font-size:9px;padding:7px 8px}.filter-bar{top:245px;left:25px;gap:12px;padding:10px 13px}.map-bottom{left:20px;right:20px;flex-wrap:wrap;height:80px;gap:0;padding-top:10px}.legend{width:100%;font-size:8px}.timeline{gap:13px}.year-buttons button{padding:7px 9px}.map-note{bottom:130px;left:24px;font-size:8px}.zoom-controls{bottom:133px}.country-title h2{font-size:37px}.brand{font-size:21px}.edition{font-size:8px}.masthead nav{gap:22px;font-size:11px}}
@media(max-width:850px){.masthead{height:68px;padding:0 18px}.masthead nav{gap:12px}.edition{display:none}.brand{font-size:20px}.brand-icon{font-size:29px;width:28px}.workspace{height:auto;min-height:0;display:block}.map-shell{height:720px;min-height:580px}.map-heading h1{font-size:55px}.map-top-right{top:24px}.search-button{font-size:11px;width:auto;gap:8px;padding:10px}.search-button>span{font-size:18px}.economy-panel{overflow:visible}.panel-inner{padding:26px;max-width:620px;margin:auto}.country-title h2{font-size:44px}.panel-index{font-size:9px}.partner-text{font-size:12px}.partner-value{font-size:11px}.composition-item{font-size:10px}.data-notice{font-size:10px}.insight{font-size:12px}.country-meta{font-size:11px}.stat-row span{font-size:11px}.section-heading h3{font-size:14px}.map-bottom{flex-wrap:nowrap;height:65px;gap:12px}.legend{width:auto}.timeline-caption{display:none}.map-note{bottom:110px}.zoom-controls{bottom:110px}}
@media(max-width:520px){.masthead nav .nav-active{display:none}.masthead nav button{font-size:10px}.brand{font-size:19px}.brand-icon{font-size:25px}.map-shell{height:670px}.map-heading{left:22px;top:27px}.map-heading .eyebrow{font-size:7px;letter-spacing:1.4px}.map-heading h1{font-size:49px;margin-top:14px}.map-heading p{font-size:9px;width:210px;line-height:1.6}.map-top-right{right:15px;top:25px}.search-button{font-size:0;padding:8px;width:33px;height:33px}.view-switch{position:absolute;right:0;top:175px;white-space:nowrap}.filter-bar{top:250px;left:20px;right:20px;gap:15px;justify-content:space-between;padding:9px 12px}.filter-bar select{font-size:10px;max-width:155px}.filter-bar label>span{font-size:7px}.map-bottom{flex-wrap:wrap;height:77px;left:20px;right:20px;gap:0;bottom:23px}.legend{width:100%;font-size:8px}.timeline{margin-top:6px}.timeline-caption{display:block;font-size:7px}.year-buttons button{padding:7px 9px;font-size:10px}.info-button{margin-top:6px}.map-note{bottom:116px;font-size:7px}.zoom-controls{bottom:125px;right:15px}.zoom-controls button{width:31px;height:31px;font-size:20px}.country-label{font-size:7px}.country-label.selected{font-size:8px}.water-label{font-size:14px;letter-spacing:4px}.map-attribution{font-size:7px;left:20px;bottom:9px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}.flow-particle{display:none}}
/* Keep the atlas visible at laptop height and reserve the upper right for controls. */
.partner-bar{display:block}
@media(min-width:851px){.workspace{min-height:600px}.filter-bar{top:154px;left:auto;right:27px}.country-label{font-size:9px}.country-label.selected{font-size:11px}}
@media(min-width:851px) and (max-width:1150px){.filter-bar{top:145px;right:20px;left:auto}}
.coverage-notice{font-size:10px;line-height:1.6;margin:0 0 14px;color:#777d65;background:#edeade;border:1px solid #e0dccb;padding:9px 11px;border-radius:4px}.coverage-notice:empty{display:none}.coverage-notice button{padding:2px 0;text-decoration:underline;font-size:10px;display:block;color:#476b5a}.coverage-notice.current{background:#e8eee4;border-color:#dce5d5;color:#607762}.composition-note{font-size:9px;line-height:1.7;color:#84917e;margin:10px 0}.year-buttons button.unavailable{opacity:.36}.year-buttons button.unavailable.active{opacity:1;background:#a79c81}.node.no-report .node-core{fill:#173641;stroke:#91a6ab;stroke-dasharray:2 1}.coverage-summary{padding:12px;background:#e7eee2;font-size:12px;line-height:1.8;border-radius:4px}.coverage-table-row{display:flex;justify-content:space-between;gap:18px;padding:7px 0;border-bottom:1px solid #e3e6db;font-size:10px}.coverage-table-row span:last-child{color:#75866e;text-align:right}.source-actions{display:flex;gap:18px;align-items:center;font-size:11px;margin-top:18px}.source-actions button{padding:10px;background:#e2eadb;border-radius:4px}.query-link{display:block;font-size:10px;margin-bottom:7px;color:#567d65;overflow-wrap:anywhere}.empty-partners{font-size:11px;line-height:1.7;color:#82917d;padding-bottom:15px}.map-note{max-width:calc(100% - 100px);line-height:1.6}.map-message{max-width:320px;text-align:center;border:1px solid #526d75;line-height:1.6;z-index:2}.flow-particle{fill:inherit}.timeline-caption{font-size:7px}.year-buttons{gap:1px}.year-buttons button{padding-left:5px;padding-right:5px}.partner-name{line-height:1.5}.search-result{gap:12px}.search-result span{text-align:right;line-height:1.5}.data-notice{font-size:9px}

/* Trade connection detail sheet. */
.flow-hit:focus-visible{outline:none;stroke:#f5dba5;stroke-width:6;stroke-opacity:.85}
.flow-hit{pointer-events:stroke;stroke-width:18}
#route-dialog{max-width:740px;padding:26px 32px 24px;max-height:90dvh;overflow-y:auto;overscroll-behavior:contain}
#route-dialog h2{font-size:35px;line-height:1.1;margin:14px 0 7px;letter-spacing:-.4px}
#route-dialog .route-context{margin:0 0 20px;font-size:11px;color:#7b887d}
.route-connection{display:grid;grid-template-columns:1fr 42px 1fr;align-items:center;gap:10px;padding:20px 22px;background:#13343d;color:#f6f4e9;border-radius:6px;border-bottom:2px solid #94bcab}
.route-connection>div{display:flex;flex-direction:column;gap:7px;min-width:0}
.route-connection>div:last-child{text-align:right}
.route-connection div>span{font-size:8px;letter-spacing:1.6px;color:#9bb8bb}
.route-connection strong{font-weight:450;font-size:16px;line-height:1.4}
.route-arrow{text-align:center;font-size:32px;font-family:var(--serif);color:#d9be89}
.route-switch{display:flex;margin-top:20px;padding:4px;background:#e8ece3;border-radius:5px;gap:4px}
.route-switch button{flex:1;padding:10px 12px;font-size:12px;border-radius:3px;color:#718374;display:flex;align-items:center;justify-content:center;gap:15px}
.route-switch button.active{background:white;box-shadow:0 1px 4px #18343d10;color:#244b43}
#route-dialog .route-perspective{font-size:10px;margin:8px 0 0;color:#82907d;line-height:1.5}
.route-metrics{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:22px;align-items:center;margin:24px 0;padding:0 0 24px;border-bottom:1px solid var(--border)}
.route-metrics>div{display:flex;flex-direction:column;gap:5px}
.route-metric-label{font-size:11px;color:#6a7c70}
#route-value{font:56px/1.1 var(--serif);letter-spacing:-1.3px}
#route-valuation{font-size:10px;color:#7e8a7e;line-height:1.6;font-variant-numeric:tabular-nums}
.route-metrics>div:last-child{border-left:1px solid var(--border);padding-left:24px}
#route-share{font-size:26px;letter-spacing:-.8px;font-weight:500}
#route-share-label{font-size:10px;line-height:1.6;color:#7e8a7e}
.route-table{width:100%;border-collapse:collapse;font-size:11px;font-variant-numeric:tabular-nums}
.route-table caption{text-align:left;font-size:14px;font-weight:550;margin-bottom:18px}
.route-table thead th{font-size:9px;font-weight:500;color:#84917e;text-align:right;padding:0 8px 10px;line-height:1.4}
.route-table thead th:first-child{text-align:left}
.route-table tbody th{font-size:11px;font-weight:400;text-align:left;width:48%;padding:13px 8px}
.route-table td{text-align:right;padding:13px 8px;white-space:nowrap;font-size:11px}
.route-table tbody tr{border-top:1px solid #e1e5da}
.route-table td small{display:block;font-size:8px;margin-top:4px;color:#8a9584}
.route-table tbody tr.route-selected-row{background:#e8eee3}
.route-row-title{display:flex;align-items:center;gap:7px;line-height:1.5;flex-wrap:wrap}
.route-row-title i{width:6px;height:6px;border-radius:2px;flex-shrink:0}
.route-view-tag{font-size:7px;text-transform:uppercase;letter-spacing:.7px;color:#68826f;margin-left:auto}
.route-row-bar{display:block;background:#e3e8dc;height:3px;margin:7px 0 0 13px;border-radius:2px;overflow:hidden}
.route-row-bar>span{height:100%;display:block}
#route-dialog .route-data-note{font-size:10px;line-height:1.7;color:#7f8d78;margin:14px 0 22px}
.route-footer{border-top:1px solid var(--border);padding-top:14px}
#route-dialog .route-footer p{font-size:10px;line-height:1.7;margin:0 0 12px;color:#83907b}
.route-footer details summary{font-size:11px;cursor:pointer;color:#446959;padding:5px 0}
.route-footer details summary span{float:right}
#route-dialog #route-retrieved{margin:12px 0 8px}
#route-source-links{display:flex;gap:10px 16px;flex-wrap:wrap;font-size:10px;color:#557a63}
#route-dialog[data-direction="exports"] .route-connection{border-color:#d5b880}
@media(max-width:520px){#route-dialog{padding:20px 16px;width:calc(100% - 20px);max-height:92dvh}#route-dialog h2{font-size:29px}.route-connection{padding:16px 14px;grid-template-columns:1fr 26px 1fr;gap:6px}.route-connection strong{font-size:13px}.route-metrics{grid-template-columns:minmax(0,1fr) 110px;gap:12px}.route-metrics>div:last-child{padding-left:14px}#route-value{font-size:46px}#route-share{font-size:23px}.route-table tbody th,.route-table td{font-size:10px;padding:11px 5px}.route-table thead th{padding-left:5px;padding-right:5px;font-size:8px}.route-table tbody th{width:43%}.route-view-tag{display:none}.route-table caption{font-size:13px}.route-row-title{gap:5px}.route-table-wrap{max-width:100%}}
@media(pointer:coarse){.flow-hit{stroke-width:26}}

@media(min-width:721px){#route-dialog{max-width:960px;padding:24px 28px}.route-detail-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:26px;margin-top:24px}.route-connection{padding:17px 15px;grid-template-columns:1fr 24px 1fr}.route-connection strong{font-size:13px}.route-switch{margin-top:16px}.route-metrics{grid-template-columns:minmax(0,1fr) 100px;gap:12px;margin:22px 0 0;padding-bottom:0;border:0}.route-metrics>div:last-child{padding-left:14px}#route-value{font-size:48px}#route-share{font-size:23px}.route-table caption{margin-bottom:16px}.route-table tbody th,.route-table td{padding:10px 6px;font-size:10px}.route-table tbody th{width:43%}.route-table thead th{padding-left:6px;padding-right:6px;font-size:8px}.route-view-tag{display:none}#route-dialog .route-data-note{font-size:9px;margin:12px 0 20px}.route-footer{margin-top:5px}#route-dialog .route-footer p{margin-bottom:7px}}
/* Commodity explorer: keep the hierarchy visible as detail deepens. */
#composition-bar>button{padding:0;min-width:2px;border-radius:2px;height:8px}
.composition-item{padding:0;text-align:left}.composition-item i{font-style:normal;color:#6d8a72;font-size:15px}.composition-item:disabled{cursor:default;opacity:.5}
.route-product-link{display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;padding:0;flex:1;font-size:inherit;line-height:1.5}.route-product-link>span{color:#6a8873;font-size:17px}.route-product-link:hover{text-decoration:underline;text-underline-offset:3px}
.product-retry{display:inline-block;margin:6px 0 0 8px;padding:4px 8px;border:1px solid #c4d2bf;border-radius:4px;font-size:10px;color:#386147}
#product-dialog{max-width:960px;padding:25px 30px;max-height:92dvh;overflow-y:auto;overscroll-behavior:contain}
#product-dialog h2{font-size:35px;line-height:1.15;margin:15px 0 7px;letter-spacing:-.5px}
#product-dialog #product-context{font-size:11px;margin:0 0 16px;color:#7c8c7a}
#product-breadcrumbs{display:flex;flex-wrap:wrap;gap:5px 10px;margin-top:17px;font-size:10px}
#product-breadcrumbs button{padding:0;color:#82917c;max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}
#product-breadcrumbs button+button:before{content:'›';margin-right:10px;color:#a2b09b}
#product-breadcrumbs button[aria-current="page"]{color:#2d5c48}
.product-toolbar{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:17px 20px;background:#12363e;border-radius:6px;color:#faf7eb;margin:19px 0}
.product-toolbar>div:first-child{display:flex;flex-direction:column;gap:3px}.product-toolbar span{font-size:10px;color:#a4bec0}#product-total{font:39px/1.1 var(--serif);font-weight:400;letter-spacing:-.7px}
.product-toolbar .route-switch{margin:0;min-width:230px;background:#21454c}.product-toolbar .route-switch button{color:#b1c5c1}.product-toolbar .route-switch button.active{background:#e5c38d;color:#23433e}
.product-search-label{display:flex;flex-direction:column;gap:7px;margin:18px 0 12px}.product-search-label>span{font-size:8px;letter-spacing:1px;color:#83917d}#product-search{padding:11px 13px;border:1px solid #d6dece;border-radius:5px;background:white;font-size:12px;color:#23483e;width:100%}
#product-status{font-size:11px;line-height:1.7;background:#e9eee3;border-radius:4px;padding:10px 12px}#product-status:empty{display:none}
.product-table-wrap{overflow-x:auto;max-height:45dvh;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#c5d3bf transparent;border-bottom:1px solid #dce4d4}
#product-table{width:100%;border-collapse:separate;border-spacing:0;font-size:11px;font-variant-numeric:tabular-nums}
#product-table thead th{position:sticky;top:0;background:var(--paper);z-index:1;font-weight:500;font-size:9px;color:#87937f;text-align:left;padding:10px 8px;border-bottom:1px solid #dbe3d2}
#product-table thead th:nth-child(n+3){text-align:right}
#product-table tbody th,#product-table td{padding:12px 8px;border-bottom:1px solid #e1e7d9;font-size:11px;font-weight:400;text-align:left;vertical-align:top}
#product-table tbody th{width:58%;line-height:1.65}#product-table td:nth-child(n+3){text-align:right;white-space:nowrap}
#product-table th button{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;text-align:left;padding:0;line-height:1.65;font-size:inherit;width:100%}
#product-table th button span{color:#7a967c;font-size:17px;line-height:1.2}#product-table th button:hover{color:#4f805b;text-decoration:underline;text-underline-offset:3px}
#product-table td small{display:block;margin-top:4px;font-size:8px;color:#899781}
#product-table .commodity-code{color:#758e75;font-size:10px;font-family:ui-monospace,SFMono-Regular,monospace;white-space:nowrap;padding-top:15px}
.commodity-bar{display:block;height:3px;background:#e6ebdf;margin-top:7px;border-radius:2px;overflow:hidden}.commodity-bar>span{display:block;height:100%;background:#88a88d}
#product-dialog #product-level-note{font-size:10px;line-height:1.7;color:#8a977e;margin:13px 0}
.product-provenance{border-top:1px solid #dce4d4;padding-top:12px;font-size:10px;color:#647e60}.product-provenance summary{cursor:pointer;font-size:11px}.product-provenance p{font-size:10px}.product-provenance>a{display:block;margin-top:10px}#product-sources{display:flex;gap:10px 15px;flex-wrap:wrap}
@media(max-width:520px){#product-dialog{padding:20px 14px;width:calc(100% - 16px);max-height:94dvh}#product-dialog h2{font-size:29px}.product-toolbar{padding:13px;gap:12px;align-items:flex-start;flex-direction:column}.product-toolbar .route-switch{width:100%;min-width:0}#product-total{font-size:35px}.product-table-wrap{max-height:42dvh}#product-table tbody th,#product-table td{padding:10px 5px;font-size:10px}#product-table thead th{padding:9px 5px;font-size:8px}#product-table tbody th{width:auto;min-width:100px}#product-table .commodity-code{font-size:8px;padding-top:13px}#product-table td:nth-child(3){font-size:9px}#product-table td small{font-size:7px}.product-search-label>span{font-size:7px}#product-breadcrumbs button{max-width:160px}}

.research-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:12px 0;font-size:10px}.research-actions button,.research-link{font-size:10px;padding:7px 10px;border:1px solid #c4d2bf;border-radius:4px;color:#315d48}.research-actions button:disabled{opacity:.4;cursor:not-allowed}.research-actions span{font-size:10px;color:#667b60}.research-link{margin:0 0 8px}#partner-search{width:100%;padding:9px;border:1px solid #c4d2bf;border-radius:4px;margin:0 0 8px;font-size:11px}#partner-list.expanded{max-height:300px;overflow:auto}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #bd8a3f;outline-offset:3px}
