:root{--bg:#0b1624;--panel:#12223a;--line:#24395a;--ink:#eaf1fb;--mute:#9fb2cc;--acc:#c8814a;--acc2:#4f8fd9;--neg:#d9705a;--zone:rgba(159,178,204,.18);--r:14px;font-family:Inter,"Segoe UI",system-ui,sans-serif}
[data-theme=tavro]{--bg:#f6f3ee;--panel:#ffffff;--line:#e2dacd;--ink:#1d1a16;--mute:#6d6458;--acc:#8c3b2e;--acc2:#2f5d50;--neg:#b5452f;--zone:rgba(109,100,88,.16)}
*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink);overflow-x:hidden}
.wrap{width:100%;max-width:1120px;margin:0 auto;padding:16px 16px 22px;overflow-wrap:anywhere}
.hd{border-bottom:2px solid var(--acc);padding-bottom:10px}
.kicker{margin:0;font-weight:700;color:var(--acc);text-transform:uppercase;letter-spacing:.12em;font-size:12px}
h1{font-size:clamp(20px,3.4vw,28px);line-height:1.15;letter-spacing:-.02em;margin:6px 0 6px}
.lead{margin:0;color:var(--mute);font-size:14px;line-height:1.5;max-width:80ch}
h3{font-size:14px;margin:14px 0 6px}

/* small multiples: 4 metrics x 10 countries, always visible */
.panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}
@media(max-width:700px){.panels{grid-template-columns:minmax(0,1fr)}}
.pn{margin:0;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;min-width:0}
.pn figcaption{font-weight:650;font-size:13.5px;line-height:1.3;margin-bottom:6px}
.dl-lg{margin:-2px 0 4px;font-size:11.5px;color:var(--mute);display:flex;align-items:center;gap:5px}
.dl-lg i{position:static;display:inline-block;margin:0 1px 0 6px}
.r{display:grid;grid-template-columns:minmax(0,8.6em) minmax(0,1fr) max-content;gap:8px;align-items:center;min-height:22px;font-size:12.5px}
.r .cn{line-height:1.15;letter-spacing:-.01em;overflow-wrap:normal;word-break:normal;hyphens:manual}
.r .vl{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--ink)}
.tr{position:relative;height:14px;min-width:0}
.tr i{position:absolute;display:block}
.tr.na{height:auto;font-size:11px;color:var(--mute);line-height:1.25;white-space:normal}
.zero{top:-3px;bottom:-3px;width:0;border-left:1px solid var(--mute);opacity:.7}
.bar{top:2px;height:10px;border-radius:2px;background:var(--acc2);left:var(--l);width:var(--w);transition:left .6s ease,width .6s ease;transition-delay:calc(var(--i,0) * 45ms)}
.bar.neg{background:var(--neg)}
.ln{top:6px;height:2px;background:var(--mute);left:var(--l);width:var(--w);transition:left .6s ease,width .6s ease;transition-delay:calc(var(--i,0) * 45ms)}
.d23,.d25{top:2px;width:10px;height:10px;margin-left:-5px;border-radius:50%}
.d23{border:2px solid var(--mute);background:var(--panel)}
.d25{background:var(--acc);left:var(--x);transition:left .6s ease;transition-delay:calc(var(--i,0) * 45ms)}
.dl-lg .d23,.dl-lg .d25{margin-left:6px}
@media(max-width:420px){.wrap{padding:10px 10px 16px}.r{grid-template-columns:8.5em minmax(0,1fr) max-content;gap:5px;font-size:12px;min-height:19px}.pn{padding:9px 10px}.pn figcaption{font-size:13px}.panels{gap:9px}.lead{font-size:13.5px}.concl{font-size:13.5px;line-height:1.5;padding:10px 12px}details.dt>summary{padding:8px 12px}details.dt{margin-top:8px}}

.concl{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;margin-top:12px;font-size:14px;line-height:1.55}
.concl p{margin:0}.concl .norank{margin-top:8px;padding-left:10px;border-left:3px solid var(--acc);font-weight:600}

/* collapsed details */
details.dt{margin-top:10px;background:var(--panel);border:1px solid var(--line);border-radius:12px}
details.dt>summary{cursor:pointer;padding:10px 14px;font-weight:650;font-size:13.5px;color:var(--acc2)}
details.dt[open]>summary{border-bottom:1px solid var(--line)}
.dbody{padding:4px 14px 12px;font-size:13px;line-height:1.5}
.tblw{overflow-x:auto;margin-top:8px}
table{border-collapse:collapse;width:100%;font-size:12.5px;font-variant-numeric:tabular-nums}
caption{text-align:left;font-weight:650;padding:6px 0}
th,td{padding:4px 7px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}
th:first-child,td:first-child{text-align:left}th[scope=row]{font-weight:400}
.fn,.warn,.srcl{margin:6px 0;padding-left:18px}.fn li+li,.warn li+li,.srcl li+li{margin-top:4px}
.srcl a{color:var(--acc2);word-break:break-all}
.warn{border-left:3px solid var(--acc);padding-left:24px}
.flow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.st{border:1px solid var(--line);border-radius:10px;padding:8px 10px;display:flex;flex-direction:column;gap:3px;font-size:12.5px}
.st b{font-size:13px}.st span{color:var(--mute)}.st-out{border-style:dashed}.st-na{border-color:var(--acc)}
@media(max-width:700px){.flow{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.legend{list-style:none;margin:10px 0 6px;padding:0;display:flex;flex-wrap:wrap;gap:4px 14px;font-size:11.5px;color:var(--mute)}
.legend li{display:flex;align-items:center;gap:6px}
.sw{display:inline-block;flex:0 0 auto}.sw-cor{width:20px;height:10px;background:var(--zone);border-radius:3px}
.sw-band{width:20px;height:4px;background:var(--acc2)}.sw-dot{width:10px;height:10px;border-radius:50%;background:var(--acc)}.sw-mid{width:0;height:12px;border-left:1px dashed var(--mute)}
.hchart .r{grid-template-columns:minmax(0,9.5em) minmax(0,1fr) max-content}
.cor{top:0;bottom:0;background:var(--zone);border-radius:3px}
.mid{top:-2px;bottom:-2px;width:0;border-left:1px dashed var(--mute)}
.band{top:5px;height:4px;background:var(--acc2);border-radius:2px;left:var(--l);width:var(--w);transition:opacity .5s ease;transition-delay:calc(var(--i,0) * 60ms)}
.dot{top:2px;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:var(--acc);left:var(--x);transition:opacity .5s ease;transition-delay:calc(var(--i,0) * 60ms + 150ms)}

.ft{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:flex-start;justify-content:space-between;margin-top:12px}
.src{flex:1 1 300px;margin:0;font-size:12px;color:var(--mute);line-height:1.5}
button#replay{font:inherit;font-size:13px;background:var(--bg);color:var(--ink);border:1px solid var(--acc);border-radius:10px;padding:6px 12px;cursor:pointer;font-weight:600}
summary:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid var(--acc2);outline-offset:2px}

/* start state (removed by append.js; never applied with reduced motion) */
.pre .bar{left:var(--x0);width:0}
.pre .ln{left:var(--a);width:0}
.pre .d25{left:var(--a)}
.pre-h .band,.pre-h .dot{opacity:0}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}
