:root{--ui:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
[hidden]{display:none!important}
.skip-link{position:fixed;top:-100px;left:1rem;z-index:500;background:var(--ink);color:var(--paper);padding:.75rem 1rem;font-family:var(--ui);font-size:.9rem}
.skip-link:focus{top:1rem;color:white}
.site-nav{align-items:center;flex-wrap:wrap}
.site-nav a{color:var(--slate);white-space:nowrap}
.site-nav .research-nav-link{color:var(--violet);border-bottom:1px solid var(--violet)}
.category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;padding-bottom:5rem}
.category-card{display:flex;flex-direction:column;padding:1.8rem;background:var(--shell);border-top:2px solid var(--haze);min-width:0}
.category-available{border-top-color:var(--violet)}
.category-card h2{font:300 clamp(1.15rem,2vw,1.45rem)/1.5 var(--display);letter-spacing:.06em;text-transform:uppercase;margin:1.3rem 0 1rem}
.category-card h2 a{color:var(--ink)}
.category-card>p{font-size:.97rem;line-height:1.75;margin:0 0 1.4rem}
.category-tool{border-top:1px solid var(--hair);padding-top:1rem;margin-bottom:1.8rem}
.category-tool h3{font:300 1.05rem/1.6 var(--display);letter-spacing:.02em;margin:.6rem 0 0}
.category-status{display:block;font:.69rem/1.6 var(--ui);color:var(--violet)}
.category-pending{color:var(--pewter);padding:1rem 0 1.8rem;border-top:1px solid var(--hair)}
.category-action{display:flex;justify-content:space-between;gap:1rem;margin-top:auto;padding-top:1rem;border-top:1px solid var(--hair);font:.75rem/1.6 var(--ui);color:var(--violet)}
.category-action span{flex:none}
.category-empty{padding-bottom:6rem}
.category-empty>div{background:var(--shell);border-top:2px solid var(--haze);padding:2rem 2.5rem}
.category-empty h2{font-size:1.5rem;font-weight:300;margin-bottom:.9rem}
.category-empty p:not(.eyebrow){font-size:1rem}
.category-empty-links{display:flex;align-items:center;flex-wrap:wrap;gap:1.5rem;margin-top:1.7rem}
.category-empty .cta{margin:0;font-size:.7rem}
@media(max-width:900px){.category-grid{grid-template-columns:1fr;gap:1.2rem}.category-card{padding:1.6rem}.category-card h2{font-size:1.45rem}.category-empty>div{padding:1.5rem}.category-action{padding-top:1rem}.category-card>p{max-width:42rem}}
.home-tools{padding-block:1.5rem 4.5rem;display:grid;grid-template-columns:1fr 1.7fr;gap:3rem}
.home-tools h2{font-size:clamp(1.6rem,3.4vw,2.3rem);text-transform:uppercase;letter-spacing:.06em}
.home-tool-link{display:grid;gap:.9rem;border-top:1px solid var(--hair);padding:1.5rem 0;color:var(--ink)}
.home-tool-link>.eyebrow{margin:0}
.home-tool-link>span:nth-child(2){font-family:var(--display);font-weight:300;font-size:clamp(1.35rem,2.5vw,1.9rem);line-height:1.4;text-transform:uppercase;letter-spacing:.04em}
.text-link{font-family:var(--ui);font-size:.86rem;color:var(--violet)}
.text-link span{margin-left:.8rem}
.research-hero{padding-block:1.8rem 3.5rem}
.breadcrumbs{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;font-family:var(--ui);font-size:.73rem;color:var(--pewter);margin-bottom:3.5rem}
.breadcrumbs a{color:var(--slate)}
.breadcrumbs a:hover{color:var(--violet)}
.research-hero h1{font-size:clamp(2rem,4.4vw,3.3rem);line-height:1.2;letter-spacing:.05em;font-weight:250}
.research-hero .rule{width:5.5rem;margin:1.4rem 0}
.research-hero .lede{max-width:39rem;font-size:1.1rem}
.tool-directory{display:grid;grid-template-columns:1fr 2.25fr;gap:4rem;padding-block:1rem 6rem}
.directory-label{border-top:1px solid var(--hair);padding-top:1.5rem}
.directory-number{font-family:var(--mono);font-size:.76rem;color:var(--lilac)}
.directory-label h2{font-size:1.2rem;text-transform:uppercase;letter-spacing:.12em;margin:1rem 0}
.directory-label p{font-size:.98rem;color:var(--pewter);line-height:1.8}
.tool-feature{padding:2.6rem;background:var(--shell);border-top:2px solid var(--violet)}
.tool-feature h3{font-size:clamp(1.5rem,2.6vw,2.15rem);line-height:1.4;text-transform:uppercase;letter-spacing:.04em;font-weight:300}
.tool-feature h3 a{color:var(--ink)}
.tool-feature>p:not(.eyebrow):not(.tool-source){font-size:1.02rem;max-width:37rem;margin:1.2rem 0}
.tool-feature .cta{margin-top:1.4rem;font-size:.7rem;letter-spacing:.14em}
.period-tag{font-family:var(--mono);font-size:.68rem;letter-spacing:.02em;border-left:1px solid var(--haze);margin-left:.7rem;padding-left:.9rem;color:var(--pewter);white-space:nowrap}
.tool-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;border-block:1px solid var(--hair);padding:1.3rem 0;margin:1.8rem 0 0}
.tool-facts dt{font-family:var(--ui);font-size:.69rem;color:var(--pewter);margin-bottom:.5rem}
.tool-facts dd{margin:0;font-family:var(--display);font-size:1.75rem;font-weight:300;color:var(--ink)}
.tool-source{font-family:var(--ui);font-size:.74rem;color:var(--pewter);line-height:1.7;margin:1.25rem 0 0}
.dashboard-hero{max-width:90rem;padding-bottom:2.7rem}
.dashboard-intro{display:grid;grid-template-columns:2.2fr 1fr;align-items:end;gap:4rem}
.dashboard-intro h1{font-size:clamp(1.8rem,3.5vw,2.9rem)}
.dataset-note{border-left:1px solid var(--hair);padding:1rem 0 0 2.2rem}
.dataset-note .eyebrow{font-size:.64rem}
.dataset-note p{font-family:var(--ui);font-size:.82rem;line-height:2;color:var(--slate);margin:0 0 .7rem}
.dataset-note strong{font-family:var(--mono);font-size:.85rem;font-weight:500;color:var(--ink)}
.section-nav{display:flex;flex-wrap:wrap;gap:1.5rem;max-width:90rem;padding-block:1rem;border-top:1px solid var(--hair)}
.section-nav a{font-family:var(--ui);font-size:.76rem;color:var(--slate)}
.section-nav a:hover{color:var(--violet)}
.trade-dashboard{--bg:var(--paper);--card:#fff;--border:var(--hair);--tx:var(--ink);--tx2:var(--slate);--tx3:var(--pewter);--acc:var(--violet);--ns:#8B8197;--sh:var(--violet);--s0:#9A91A6;--s1:#B79EDC;--s2:#8A5AD6;--s3:#6E33B8;--s4:#3B1570;--amber:#805585;--purple:var(--amethyst)}
.ctrl{background:var(--shell);border-block:1px solid var(--hair);padding:.85rem var(--gutter)}
.ctrl-in{max-width:calc(90rem - 2 * var(--gutter));margin:auto;display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;font-family:var(--ui)}
.ctrl label,.control-label{font-size:.63rem;color:var(--slate);text-transform:uppercase;letter-spacing:.09em;font-weight:500;margin-right:.3rem}
.yb,.tb button,.tb select,.sample-ctrl button,.hm-excl-tag{font-family:var(--ui);font-size:.74rem;border:1px solid var(--hair);background:var(--paper);color:var(--slate);border-radius:2px;padding:.4rem .55rem;cursor:pointer;transition:background .15s,color .15s}
.yb:hover,.tb button:hover{border-color:var(--violet);color:var(--violet)}
.yb.on,.tb button.on{background:var(--violet);border-color:var(--violet);color:white}
.yb.ex{background:#ebe3f4;border-color:var(--haze);color:var(--grape);text-decoration:line-through}
#exYears{display:flex;gap:.22rem;flex-wrap:wrap}
.sep{width:1px;height:22px;background:var(--hair);margin:0 .5rem}
.slider-wrap{display:flex;align-items:center;gap:.5rem}
.slider-wrap input{width:90px;accent-color:var(--violet)}
.slider-val{font: .75rem var(--mono);min-width:2rem;color:var(--violet)}
.con{max-width:90rem;margin:auto;padding:1.5rem var(--gutter) 5rem;font-family:var(--ui);font-size:.85rem;line-height:1.6}
.filter-scope{font-size:.73rem;color:var(--pewter);margin:0 0 2rem;max-width:64rem}
.overview-label{font-size:.64rem;margin-bottom:1.1rem}
.kpi-row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1rem}
.kpi{padding:1rem 0;border-top:2px solid var(--hair);min-width:0}
.kpi:nth-child(1),.kpi:nth-child(6){border-color:var(--ink)}
.kpi:nth-child(3),.kpi:nth-child(5){border-color:var(--violet)}
.kl{font-size:.65rem;min-height:2.6em;line-height:1.5;color:var(--pewter)}
.kpi .kv{font-family:var(--display);font-size:clamp(1.5rem,2.4vw,2rem);font-weight:300;letter-spacing:-.02em;color:var(--ink);line-height:1.6}
.kpi:nth-child(3) .kv,.kpi:nth-child(5) .kv{color:var(--violet)}
.ks{font-size:.66rem;color:var(--pewter)}
.kpi-note{font: .7rem var(--mono);color:var(--pewter);margin:.4rem 0 2.3rem}
.st{display:flex;gap:.8rem;align-items:baseline;font:300 clamp(1.05rem,1.9vw,1.4rem)/1.5 var(--display);letter-spacing:.055em;text-transform:uppercase;margin:3rem 0 1.3rem;padding-bottom:.8rem;border-bottom:1px solid var(--hair);scroll-margin-top:6rem}
.st span{font: .72rem var(--mono);color:var(--lilac)}
.cg{display:grid;gap:1.25rem;margin-bottom:1.25rem}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g1{grid-template-columns:minmax(0,1fr)}
.cd{padding:1.5rem;border:1px solid var(--hair);background:white;min-width:0}
.cd h3{font:300 1.08rem/1.5 var(--display);color:var(--ink);padding-right:4.2rem;letter-spacing:.01em;margin:0 0 .35rem}
.cd .ds{color:var(--pewter);font-size:.73rem;margin:.4rem 0 1rem;line-height:1.6;max-width:62rem}
.cd canvas{display:block;max-width:100%;background:white}
#boxShareC,#boxStrC{width:100%;height:300px}
.chart-frame{position:relative;height:310px;width:100%;margin-top:1rem}
.chart-frame-tall{height:460px}
.chart-frame-country{height:390px}
.dl-btn{position:absolute;right:0;top:.15rem;background:var(--paper);border:1px solid var(--hair);border-radius:2px;color:var(--slate);padding:.3rem .45rem;cursor:pointer;font:.63rem var(--ui)}
.dl-btn:hover{color:var(--violet);border-color:var(--violet)}
.export-status{font:.73rem/1.6 var(--ui);margin:1rem 0 0;padding-top:.7rem;border-top:1px solid var(--hair);color:var(--pewter)}
.export-status a{text-decoration:underline;text-underline-offset:3px}
.tb{display:flex;gap:.35rem;flex-wrap:wrap;margin:.6rem 0}
.tb button{font-size:.68rem;padding:.3rem .55rem}
.sample-ctrl{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;font-size:.69rem;color:var(--pewter);margin:1rem 0}
input[type=number],select{font-family:var(--ui);font-size:.76rem;border:1px solid var(--hair);border-radius:2px;padding:.4rem;color:var(--slate);background:var(--paper)}
.sample-ctrl input{width:5rem}
.stat-note{font-size:.72rem;line-height:1.6;color:var(--slate);background:var(--shell);border-left:2px solid var(--haze);padding:.8rem 1rem;margin-top:1rem}
.tbl-wrap{overflow:auto;max-height:500px}
table{width:100%;border-collapse:collapse;font-size:.75rem}
th{text-align:left;font:500 .63rem/1.5 var(--ui);text-transform:uppercase;letter-spacing:.05em;color:var(--pewter);padding:.75rem .6rem;border-bottom:1px solid var(--hair);white-space:nowrap}
td{padding:.65rem .6rem;border-bottom:1px solid var(--hair);color:var(--slate)}
.tbl-wrap th{position:sticky;top:0;background:var(--shell)}
th[data-sort]{cursor:pointer}
th[data-sort]:hover,th[aria-sort=ascending],th[aria-sort=descending]{color:var(--violet)}
th[aria-sort=ascending]::after{content:' ↑'}
th[aria-sort=descending]::after{content:' ↓'}
tr:hover td{background:var(--shell)}
.mono{font-family:var(--mono);font-size:.72rem}
.pill{display:inline-block;padding:.12rem .4rem;font-size:.65rem;border-radius:2px}
.pill-y{background:#eee7f7;color:var(--violet)}
.pill-n{background:var(--shell);color:var(--pewter)}
.hm-c{position:relative;overflow:auto;max-width:100%;padding:.5rem 0}
.hm-c canvas{max-width:none}
.hm-t{position:fixed;background:var(--ink);color:var(--paper);border:1px solid var(--hair-dark);padding:.55rem .8rem;font:.76rem/1.5 var(--ui);pointer-events:none;z-index:200;display:none}
.hm-excl-tag{display:inline-flex;align-items:center;gap:.3rem;font-size:.69rem;background:var(--shell);color:var(--violet)}
.meth{margin-top:2rem;border-block:1px solid var(--hair);padding:1.4rem 0;font-size:.8rem;color:var(--slate);scroll-margin-top:6rem}
.meth summary,.mini-note summary{cursor:pointer;list-style:none;color:var(--ink);display:flex;justify-content:space-between;gap:1rem;font-size:.8rem}
.meth summary::-webkit-details-marker,.mini-note summary::-webkit-details-marker{display:none}
.meth summary::after,.mini-note summary::after{content:'+';font-family:var(--mono);color:var(--violet)}
.meth details[open]>summary::after,.mini-note[open]>summary::after{content:'−'}
.meth details>div{margin-top:1.6rem;overflow-x:auto}
.meth h4{font:300 1.1rem var(--display);color:var(--ink);margin:1.5rem 0 .6rem}
.meth ul{padding-left:1.2rem;margin:.9rem 0;line-height:1.8}
.meth table{min-width:620px;font-size:.73rem;margin:.8rem 0 1.5rem}
.meth td{vertical-align:top}
.meth th{background:var(--shell)}
.interpretation-note{padding:1rem 1.2rem;background:var(--shell);border-left:2px solid var(--violet);line-height:1.8}
.mini-note{border:1px solid var(--hair);padding:.6rem .8rem;margin:.5rem 0 1rem;background:var(--paper)}
.mini-note summary{color:var(--violet);font-size:.7rem}
.mini-note table{font-size:.67rem;margin-top:.5rem}
.mini-note td,.mini-note th{padding:.35rem .4rem;white-space:normal}
.tool-error{font: .9rem/1.5 var(--ui);color:var(--grape);padding-block:1.2rem;background:var(--shell)}
button:focus-visible,select:focus-visible,input:focus-visible,th:focus-visible{outline:2px solid var(--amethyst);outline-offset:3px}
@media(max-width:1100px){.kpi-row{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-intro{gap:2rem}.g2{grid-template-columns:minmax(0,1fr)}.chart-frame{height:330px}}
@media(max-width:900px){.head-in{flex-wrap:wrap;gap:.9rem}.site-nav{gap:1.3rem}.dashboard-intro{grid-template-columns:1fr}.dataset-note{display:none}.tool-directory{grid-template-columns:1fr;gap:1.5rem}.directory-label p{display:none}.directory-label{display:flex;align-items:baseline;gap:1rem}.home-tools{grid-template-columns:1fr;gap:1.5rem}.dashboard-hero .breadcrumbs{margin-bottom:2.4rem}}
@media(max-width:760px){.head-in{padding-block:1rem}.brand{width:100%}.site-nav{gap:1.1rem;flex-wrap:wrap}.site-nav a,.nav-tools summary{font-size:.65rem;letter-spacing:.11em}.nav-tools-menu{left:0;right:auto;min-width:14rem}.research-hero{padding-block:1.3rem 2.5rem}.breadcrumbs{font-size:.67rem;margin-bottom:2.5rem}.tool-feature{padding:1.5rem}.tool-feature h3 br,.dashboard-intro h1 br{display:none}.tool-facts{gap:.7rem}.tool-facts dt{font-size:.62rem}.tool-facts dd{font-size:1.4rem}.section-nav{gap:.65rem 1rem}.section-nav a{font-size:.7rem}.ctrl{padding:.85rem 1.25rem}.ctrl-in{gap:.3rem}.ctrl .sep{flex-basis:100%;height:0;margin:.25rem 0;border-top:1px solid var(--hair)}.kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))}.con{padding-inline:1.25rem}.cd{padding:1rem}.cd h3{font-size:1rem}.st{font-size:1.05rem}.chart-frame{height:300px}.chart-frame-tall{height:440px}.chart-frame-country{height:350px}#boxShareC,#boxStrC{height:290px}.filter-scope{font-size:.7rem;line-height:1.7}.home-tools{padding-bottom:2.5rem}}
