:root{--os-deep-space:#0a0a0a;--os-prime-blue:#3dbdee;--os-flare-yellow:#d0f884;--os-airglow-yellow:#e8fbc2;--os-satellite-gray:#b8c8ca;--os-event-horizon:#0d1014;--os-ion-blue:#a2e7fb;--color-background:var(--os-deep-space);--color-surface-primary:var(--os-event-horizon);--color-accent-primary:var(--os-prime-blue);--color-accent-tertiary:var(--os-airglow-yellow);--color-text:var(--os-satellite-gray);--color-text-highlight:#f4f7f7;--color-text-light:#96a4a6;--color-link:var(--os-prime-blue);--color-input-bg:#ffffff0a;--color-input-bg-focus:#ffffff12;--color-border-light:#3dbdee40;--color-border-faint:#3dbdee1a;--color-border-glow:#a2e7fb1f;--color-overlay-light:#fff6;--color-overlay-light-faint:#ffffff1a;--font-headings:"Roboto", sans-serif;--font-body:"IBM Plex Sans", sans-serif;--font-monospace:"IBM Plex Mono", monospace;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-md:1rem;--font-size-lg:1.25rem;--font-size-2xl:2rem;--font-weight-demibold:550;--font-weight-bold:700;--layout-section-padding:2rem 3vw 3rem;--layout-border-radius:12px;--layout-border-radius-small:6px;--animation-duration-fast:.15s;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}html{overflow-x:hidden}body{background-color:var(--color-background);color:var(--color-text);font-family:var(--font-body);font-size:var(--font-size-md);line-height:1.6}a{color:var(--color-link);text-decoration:none}a:hover{text-decoration:underline}strong{color:var(--color-accent-tertiary);font-weight:var(--font-weight-bold)}.page-header{border-bottom:1px solid var(--color-border-faint);padding:3rem 3vw 2rem}.page-header__eyebrow{font-family:var(--font-monospace);font-size:var(--font-size-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent-primary);margin-bottom:.5rem}.page-header h1{font-family:var(--font-headings);font-size:clamp(2rem,4vw,3rem);font-weight:var(--font-weight-bold);letter-spacing:-.01em;color:var(--color-text-highlight);line-height:1.15}.content-section{padding:var(--layout-section-padding);border-bottom:1px solid var(--color-border-faint);background:var(--color-background)}.content-section:nth-child(2n of .content-section){background:var(--color-surface-primary)}.content-section h2{font-family:var(--font-headings);font-size:var(--font-size-2xl);font-weight:var(--font-weight-demibold);letter-spacing:.02em;color:var(--color-text-highlight);border-bottom:1px solid var(--color-border-faint);margin-bottom:1.5rem;padding-bottom:.5rem}.content-section p{max-width:120ch;color:var(--color-text);margin-bottom:1rem}.filter{font-size:var(--font-size-sm);flex-wrap:wrap;align-items:center;gap:1rem;margin:1.5rem 0 1rem;display:flex}.filter label{font-weight:var(--font-weight-demibold);letter-spacing:.08em;text-transform:uppercase;font-size:var(--font-size-xs);color:var(--color-text-light);align-items:center;gap:.5rem;display:flex}.filter input{font:inherit;font-size:var(--font-size-sm);letter-spacing:normal;text-transform:none;color:var(--color-text-highlight);background-color:var(--color-input-bg);border:1px solid var(--color-border-glow);border-radius:var(--layout-border-radius-small);transition:border-color var(--animation-duration-fast) ease, background-color var(--animation-duration-fast) ease;padding:.4rem .6rem}.filter input:focus{background-color:var(--color-input-bg-focus);border-color:var(--color-accent-primary);outline:none}.filter__presets{flex-wrap:wrap;gap:.5rem;display:flex}.filter button,.button{font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-demibold);color:var(--color-text);border:1px solid var(--color-overlay-light);border-radius:var(--layout-border-radius-small);transition:background var(--animation-duration-fast) ease, color var(--animation-duration-fast) ease;background:0 0;padding:.4rem 1.25rem}.filter button:not(:disabled),.button{cursor:pointer}.filter button:not(:disabled):hover,.button:hover{background:var(--color-overlay-light-faint);color:#fff}.filter button[aria-pressed=true]{border-color:var(--color-accent-primary);color:var(--color-text-highlight);background:#3dbdee26}.filter button:focus-visible,.filter input:focus-visible,.button:focus-visible,.country-table summary:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:3px}.maps{grid-template-columns:repeat(auto-fit,minmax(min(100%,640px),1fr));gap:1.25rem;display:grid}.usage-map,.country-map{border-radius:var(--layout-border-radius);border:1px solid var(--color-border-faint);height:60vh;min-height:400px;overflow:hidden}.usage-map.leaflet-container,.country-map{background:var(--color-surface-primary)}.maps .chart-card{padding:0;overflow:hidden}.maps .chart-card .country-map{border:none;border-radius:0}.country-table{font-size:var(--font-size-sm);margin-top:1.25rem}.country-table summary{cursor:pointer;color:var(--color-link);width:fit-content}.country-table table{border-collapse:collapse;min-width:min(100%,480px);margin-top:.75rem}.country-table th,.country-table td{border-bottom:1px solid var(--color-border-faint);text-align:left;padding:.3rem 1rem .3rem 0;font-weight:400}.country-table thead th{color:var(--color-text-light);font-size:var(--font-size-xs);letter-spacing:.08em;text-transform:uppercase}.country-table td{font-family:var(--font-monospace);text-align:right}.usage-map .leaflet-popup-content{color:#000}.usage-map .leaflet-popup-content strong{color:inherit}.chart-card{background:var(--color-surface-primary);border:1px solid var(--color-border-faint);border-radius:var(--layout-border-radius);padding:.75rem}.content-section:nth-child(2n of .content-section) .chart-card{background:var(--color-background)}.chart-stack{flex-direction:column;gap:1.25rem;display:flex}.chart-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,560px),1fr));gap:1.25rem;display:grid}.chart-small{height:260px}.chart-medium{height:400px}.chart-large{height:60vh;min-height:450px}.summary{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:1.25rem;display:grid}.stat{background:var(--color-surface-primary);border:1px solid var(--color-border-faint);border-radius:var(--layout-border-radius);padding:1rem 1.25rem}.stat dt{font-size:var(--font-size-xs);font-weight:var(--font-weight-demibold);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-light)}.stat dd{flex-direction:column;display:flex}.stat__value{font-family:var(--font-headings);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-highlight)}.stat__detail{font-size:var(--font-size-xs);color:var(--color-text-light)}.stat-skeleton{height:110px}.skeleton{border-radius:var(--layout-border-radius);border:1px solid var(--color-border-faint);background:linear-gradient(90deg, var(--color-surface-primary) 0%, #b8c8ca0f 50%, var(--color-surface-primary) 100%);background-size:200% 100%;animation:1.5s ease-in-out infinite skeleton-shimmer}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}.error__details{font-family:var(--font-monospace);font-size:var(--font-size-sm);color:var(--color-text-light)}.chart-error{color:var(--color-text-light);justify-content:center;align-items:center;display:flex}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}
