.stage{background:var(--page);height:calc(100vh - 56px);min-height:520px;position:relative;overflow:hidden}.stage.embed{height:100vh}.stage:before{content:"";background:linear-gradient(var(--page) 55%, transparent);z-index:4;pointer-events:none;height:150px;position:absolute;top:0;left:0;right:0}#map,#map svg{width:100%;height:100%;display:block}.country{stroke:var(--page);stroke-width:.7px;cursor:pointer}.country.selected{stroke:var(--ink);stroke-width:1.5px}.dot{stroke:var(--page);cursor:pointer}.dot.selected{stroke:var(--ink)}.figures{z-index:5;pointer-events:none;gap:48px;display:flex;position:absolute;top:22px;left:28px}.kpi-val{font-family:var(--font-display);font-size:var(--type-figure-xl-size);line-height:var(--type-figure-xl-line);font-variant-numeric:lining-nums tabular-nums}.kpi-label{font-size:var(--type-label-size);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);margin-top:6px;font-weight:600}.tools{z-index:25;align-items:center;gap:8px;display:flex;position:absolute;top:22px;right:28px}.icon-btn{border:1px solid var(--rule);border-radius:var(--radius-control);background:var(--surface);width:36px;height:36px;color:var(--ink-soft);place-items:center;display:grid}.icon-btn:hover{color:var(--ink);border-color:var(--ink)}.crumb{color:var(--ink-soft);z-index:5;font-size:13px;position:absolute;top:112px;left:28px}.crumb b{color:var(--ink);font-weight:600}.crumb a:hover{color:var(--ink);text-decoration:underline}.legend{color:var(--ink-soft);z-index:5;pointer-events:none;align-items:center;gap:6px;font-size:12.5px;display:flex;position:absolute;bottom:22px;left:28px}.ramp-box{width:30px;height:10px;display:block}.null-key{white-space:nowrap;align-items:center;gap:6px;margin-left:14px;display:flex}.null-box{background:repeating-linear-gradient(45deg, var(--not-added-hatch) 0 1px, var(--not-added) 1px 5px);width:30px;height:10px;display:block}.embed-cite{font-family:var(--font-mono);color:var(--ink-faint);z-index:5;font-size:12px;position:absolute;bottom:22px;right:28px}.tip{z-index:20;background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius-control);width:330px;box-shadow:var(--shadow);padding:12px 14px;transition:opacity .1s;position:absolute}.tip .n{font-size:14px;font-weight:600}.tip .pop{color:var(--ink-faint);margin-top:1px;font-size:12.5px}.tip .lead{color:var(--ink-soft);margin-top:6px;font-size:13px;line-height:1.3}.tip .big{font-family:var(--font-display);color:var(--ink);font-variant-numeric:lining-nums;font-size:25px}.tip .bs{color:var(--ink-soft);margin:2px 0 4px;font-size:13px}.tip .row{color:var(--ink-soft);font-variant-numeric:tabular-nums;grid-template-columns:96px 1fr;gap:12px;margin-top:5px;font-size:13px;display:grid}.tip .row b{color:var(--ink);font-weight:500}.tip .row b small{color:var(--ink-faint);font-size:12px;font-weight:400}.tip .top-row span{white-space:nowrap}.tip ol.top{counter-reset:top;margin:0;padding:0;line-height:1.55;list-style:none}.tip ol.top li{counter-increment:top;color:var(--ink);white-space:nowrap;font-weight:500}.tip ol.top li:before{content:counter(top) ". ";color:var(--ink-faint);font-weight:400}.tip .go{border-top:1px solid var(--rule-soft);margin-top:9px;padding-top:8px}.tip .go a{color:var(--accent);text-underline-offset:2px;cursor:pointer;font-size:13px;font-weight:600;text-decoration:underline}.panel{background:linear-gradient(to right, transparent, color-mix(in srgb, var(--page) 92%, transparent) 28px);z-index:15;flex-direction:column;width:480px;padding:8px 32px 28px;display:flex;position:absolute;top:76px;bottom:0;right:0;overflow-y:auto}.panel-header{justify-content:space-between;align-items:flex-start;display:flex}.panel-title{font-family:var(--font-display);font-size:var(--type-title-size);font-weight:400;line-height:var(--type-title-line);margin:0}.panel-close{color:var(--ink-faint);margin:-2px -6px 0 0;padding:6px}.panel-close:hover{color:var(--ink)}.period{color:var(--ink-faint);margin:4px 0 18px;font-size:12.5px}.data-item{border-top:1px solid var(--rule-soft);padding:12px 0}.d-label{font-size:var(--type-label-size);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);margin-bottom:3px;font-weight:600}.d-val{font-family:var(--font-display);font-size:var(--type-figure-size);line-height:var(--type-figure-line);font-variant-numeric:lining-nums}.d-sub{color:var(--ink-soft);margin-top:1px;font-size:12.5px}.d-lines{color:var(--ink-soft);margin:8px 0 0;padding:0;font-size:14px;line-height:1.5;list-style:none}.d-lines li+li{margin-top:2px}.d-val.text{font-family:var(--font-text);font-size:14px;font-weight:500;line-height:1.45}.d-top{counter-reset:top;margin:0;padding:0;font-size:14px;font-weight:500;line-height:1.6;list-style:none}.d-top li{counter-increment:top}.panel .data-item{padding:18px 0}.panel .d-val{font-size:var(--type-figure-xl-size);line-height:var(--type-figure-xl-line)}.panel .d-sub{margin-top:4px;font-size:14px}.panel .d-top{font-family:var(--font-display);font-size:var(--type-figure-size);font-weight:400;line-height:1.4}.d-top li:before{content:counter(top) ". ";color:var(--ink-faint);font-weight:400}.notadded{color:var(--ink-soft);margin:8px 0 0;font-size:14px}.full-link{color:var(--accent);text-underline-offset:3px;margin-top:18px;font-size:14px;font-weight:600;text-decoration:underline;display:inline-block}.toast{opacity:0;pointer-events:none;background:var(--ink);color:var(--page);border-radius:var(--radius-control);z-index:60;padding:9px 16px;font-size:13px;transition:opacity .15s,transform .15s;position:fixed;bottom:28px;left:50%;transform:translate(-50%,12px)}.toast.on{opacity:1;transform:translate(-50%)}@media (max-width:1260px){.tools{top:auto;bottom:22px}}@media (max-width:1000px){.figures{gap:32px}.kpi-val{font-size:32px}.tools{top:auto;bottom:22px}.search-wrapper{width:220px}}@media (max-width:640px){.stage{flex-direction:column;height:auto;min-height:0;display:flex;overflow:visible}.stage:before{display:none}.figures{flex-wrap:wrap;gap:16px 20px;padding:16px;position:static}.kpi-val{font-size:26px}.kpi-label{letter-spacing:.06em;white-space:nowrap;font-size:10px}.tools{padding:0 16px 12px;position:static}.search-wrapper{flex:1;width:auto}#map{aspect-ratio:1.6;height:auto}.crumb{padding:8px 16px 0;position:static}.legend{flex-wrap:wrap;order:5;padding:10px 16px 16px;position:static}.tip{display:none}.panel{background:0 0;order:6;width:auto;padding:8px 16px 24px;position:static}}
