/* Archivo (SIL Open Font License 1.1, assets/fonts/OFL.txt), servida desde el sitio: sin peticiones a terceros. */
@font-face{font-family:'Archivo';font-style:normal;font-weight:400 800;font-stretch:62% 125%;font-display:swap;src:url(assets/fonts/archivo-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Archivo';font-style:normal;font-weight:400 800;font-stretch:62% 125%;font-display:swap;src:url(assets/fonts/archivo-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* G+A Lab · sistema visual común (pizarra táctica).
   Tokens en :root; modo oscuro por preferencia del sistema o por [data-theme]. */
:root{
  color-scheme:light;
  --bg:#F5F7F6;--surface:#FFFFFF;--surface-2:#EEF3F1;--ink:#0F2A23;--muted:#546B63;--line:#D6E0DC;--line-strong:#B9C9C3;
  --accent:#12866B;--accent-ink:#0F7A61;--accent-soft:#E2F2EC;--logo-accent:#12866B;
  --amber:#E89A1F;--amber-ink:#8A5300;--amber-soft:#FCEFD9;
  --warn-bg:#FFF5E6;--warn-line:#E8B66A;--warn-ink:#6B4100;--error-bg:#FBE9E7;--error-ink:#8E2A1F;
  --pos-FW:#2F6FDE;--pos-MF:#1F9663;--pos-DF:#CC6620;--pos-GK:#8A5CD1;--pos-NA:#7C8C86;
  --lg-1:#6C3FC4;--lg-2:#D23A41;--lg-3:#1D6FD1;--lg-4:#A87F00;--lg-5:#138A72;--lg-mix:#7C8C86;
  --p1:#C47A00;--p2:#2F6FDE;--p3:#8A5CD1;--p4:#D23A41;--p5:#138A72;
  --dot:#0F2A23;--grid:#E3EAE7;--focus:#0F7A61;
  --radius:10px;--radius-sm:6px;
  --font:'Archivo',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --fs-xs:12px;--fs-sm:13.5px;--fs-md:15px;--fs-lg:18px;--fs-xl:clamp(22px,2.6vw,30px);--fs-xxl:clamp(28px,4vw,46px);
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  color-scheme:dark;
  --bg:#0B1A16;--surface:#11241E;--surface-2:#163029;--ink:#E6F0EC;--muted:#9DB5AC;--line:#24403A;--line-strong:#335850;
  --accent:#70DBC0;--accent-ink:#70DBC0;--accent-soft:#173D33;--logo-accent:#70DBC0;
  --amber:#F0A73A;--amber-ink:#F6C27A;--amber-soft:#3A2C12;
  --warn-bg:#2C2410;--warn-line:#8A6A2A;--warn-ink:#F3D49A;--error-bg:#3A1A17;--error-ink:#F7B4AA;
  --pos-FW:#6E9BFF;--pos-MF:#4CC58D;--pos-DF:#F0904A;--pos-GK:#B08CF0;--pos-NA:#8FA39C;
  --lg-1:#A889F0;--lg-2:#F27A7F;--lg-3:#6EA6FF;--lg-4:#E2BE4A;--lg-5:#4FD1B4;--lg-mix:#8FA39C;
  --p1:#F0A73A;--p2:#6E9BFF;--p3:#B08CF0;--p4:#F27A7F;--p5:#4FD1B4;
  --dot:#E6F0EC;--grid:#183630;--focus:#70DBC0;
}}
:root[data-theme="dark"]{
  color-scheme:dark;
  --bg:#0B1A16;--surface:#11241E;--surface-2:#163029;--ink:#E6F0EC;--muted:#9DB5AC;--line:#24403A;--line-strong:#335850;
  --accent:#70DBC0;--accent-ink:#70DBC0;--accent-soft:#173D33;--logo-accent:#70DBC0;
  --amber:#F0A73A;--amber-ink:#F6C27A;--amber-soft:#3A2C12;
  --warn-bg:#2C2410;--warn-line:#8A6A2A;--warn-ink:#F3D49A;--error-bg:#3A1A17;--error-ink:#F7B4AA;
  --pos-FW:#6E9BFF;--pos-MF:#4CC58D;--pos-DF:#F0904A;--pos-GK:#B08CF0;--pos-NA:#8FA39C;
  --lg-1:#A889F0;--lg-2:#F27A7F;--lg-3:#6EA6FF;--lg-4:#E2BE4A;--lg-5:#4FD1B4;--lg-mix:#8FA39C;
  --p1:#F0A73A;--p2:#6E9BFF;--p3:#B08CF0;--p4:#F27A7F;--p5:#4FD1B4;
  --dot:#E6F0EC;--grid:#183630;--focus:#70DBC0;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 var(--fs-md)/1.5 var(--font);font-variant-numeric:tabular-nums;overflow-x:hidden}
[hidden]{display:none!important}
a{color:var(--accent-ink);text-underline-offset:3px}
h1,h2,h3{margin:0;font-weight:800;line-height:1.12;letter-spacing:-.01em}
.display{font-family:var(--font);font-stretch:125%;font-weight:800;letter-spacing:-.015em}
h1{font-size:var(--fs-xxl);font-stretch:125%}
h2{font-size:var(--fs-xl);font-stretch:125%}
h3{font-size:var(--fs-lg);font-weight:700}
p{margin:0 0 .75em}
small,.muted{color:var(--muted)}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:4px}

/* Cabecera */
.skip-link{position:absolute;left:12px;top:-60px;z-index:100;background:var(--ink);color:var(--bg);padding:8px 14px;border-radius:8px;font-weight:600}
.skip-link:focus{top:10px}
.topbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:28px;padding:0 clamp(16px,3vw,40px);height:64px;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.brand{display:inline-flex;align-items:center;color:var(--ink);text-decoration:none;flex-shrink:0}
.brand svg{display:block;height:34px;width:auto}
.brand .logo-ink{fill:var(--ink)}
.brand .logo-stroke{fill:none;stroke:var(--ink)}
.brand text{font-family:'Segoe UI',Arial,sans-serif}
.brand .logo-accent{fill:var(--logo-accent)}
.site-nav{display:flex;gap:4px;align-items:center}
.site-nav a{color:var(--muted);text-decoration:none;font-weight:600;font-size:var(--fs-sm);padding:8px 12px;border-radius:999px}
.site-nav a:hover{color:var(--ink);background:var(--surface-2)}
.site-nav a[aria-current="page"]{color:var(--ink);background:var(--accent-soft)}
.header-tools{margin-left:auto;display:flex;align-items:center;gap:8px}
.header-tools select{width:auto;padding:6px 28px 6px 10px;font-size:var(--fs-sm)}
.icon-button{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;padding:0}
.icon-button:hover{border-color:var(--line-strong)}
.icon-button svg{width:18px;height:18px}
.menu-toggle{display:none}
@media (max-width:860px){
  .topbar{gap:12px;height:58px}
  .brand svg{height:28px}
  .menu-toggle{display:inline-grid}
  .site-nav{position:absolute;top:58px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:8px 16px 14px;background:var(--surface);border-bottom:1px solid var(--line);display:none}
  .site-nav.open{display:flex}
  .site-nav a{padding:12px 10px;border-radius:8px;font-size:var(--fs-md)}
  .header-tools select{max-width:120px}
}

/* Contenedor */
.page{max-width:1480px;margin:0 auto;padding:24px clamp(16px,3vw,40px) 48px}
.page-intro{margin:8px 0 22px;max-width:920px}
.page-intro p{color:var(--muted);font-size:var(--fs-md);margin-top:10px}

/* Controles */
label{font-size:var(--fs-sm);font-weight:600;color:var(--ink)}
.field{display:grid;gap:6px;min-width:0}
.field>span,.field-label{font-size:var(--fs-sm);font-weight:600}
.hint{font-size:var(--fs-xs);color:var(--muted);font-weight:400}
select,input[type=search],input[type=text],input[type=number]{font:inherit;font-size:var(--fs-md);color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:9px 11px;width:100%;min-width:0}
select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 15px) 52%,calc(100% - 10px) 52%;background-size:5px 5px;background-repeat:no-repeat;padding-right:30px}
select:disabled,input:disabled{opacity:.55}
input[type=range]{accent-color:var(--accent);width:100%;margin:0}
input[type=checkbox],input[type=radio]{accent-color:var(--accent);width:16px;height:16px;margin:0}
button{font:inherit}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;font-size:var(--fs-sm);color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:999px;padding:8px 14px;cursor:pointer;text-decoration:none;white-space:nowrap}
.btn:hover{border-color:var(--ink)}
.btn:disabled{opacity:.5;cursor:default}
.btn-primary{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.btn-primary:hover{background:color-mix(in srgb,var(--ink) 86%,var(--accent))}
.btn-quiet{border-color:transparent;background:transparent;color:var(--accent-ink);padding-inline:6px}
.btn-quiet:hover{border-color:transparent;text-decoration:underline}
.btn svg{width:16px;height:16px;flex:none}
.btn{min-height:38px;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s}
.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.btn-sm{min-height:32px;padding:6px 12px;font-size:var(--fs-xs)}
.btn-accent{background:var(--accent);border-color:var(--accent);color:var(--bg)}
.btn-accent:hover{background:var(--accent-ink);border-color:var(--accent-ink);color:var(--bg)}
.btn-icon{padding:0;width:38px;min-width:38px;justify-content:center}
.btn-icon.btn-sm{width:32px;min-width:32px}
.btn .chev{width:14px;height:14px;margin-left:-2px;opacity:.7}
details.menu{position:relative;display:inline-block}
details.menu>summary{list-style:none}
details.menu>summary::-webkit-details-marker{display:none}
details.menu[open]>summary{border-color:var(--ink)}
.menu-list{position:absolute;right:0;top:calc(100% + 6px);z-index:30;min-width:190px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.14);padding:6px;display:grid;gap:2px}
.menu-list button{display:flex;align-items:center;gap:10px;width:100%;border:0;background:transparent;color:var(--ink);font:inherit;font-size:var(--fs-sm);font-weight:600;padding:9px 10px;border-radius:8px;cursor:pointer;text-align:left}
.menu-list button:hover,.menu-list button:focus-visible{background:var(--surface-2)}
.menu-list button svg{width:16px;height:16px;color:var(--muted)}
.menu-list button:disabled{opacity:.5;cursor:default}
/* Grupo segmentado (radios) */
.segmented{display:flex;flex-wrap:wrap;background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:3px;gap:2px}
.segmented label{flex:1 1 0;min-width:max-content;position:relative;font-weight:600;font-size:var(--fs-sm);cursor:pointer}
.segmented input{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer;margin:0}
.segmented span{display:block;text-align:center;padding:6px 10px;border-radius:999px;color:var(--muted);white-space:nowrap}
.segmented input:checked+span{background:var(--surface);color:var(--ink);box-shadow:0 0 0 1px var(--line-strong)}
.segmented input:focus-visible+span{outline:2px solid var(--focus);outline-offset:1px}
.segmented input:disabled+span{opacity:.4;cursor:not-allowed}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{position:relative;display:inline-flex}
.chip input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.chip span{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-sm);font-weight:600;padding:6px 11px;border:1px solid var(--line-strong);border-radius:999px;color:var(--muted);background:var(--surface)}
.chip input:checked+span{color:var(--ink);border-color:var(--ink);background:var(--accent-soft)}
.chip input:focus-visible+span{outline:2px solid var(--focus);outline-offset:2px}

/* Avisos */
.notice{border:1px solid var(--warn-line);background:var(--warn-bg);color:var(--warn-ink);border-radius:var(--radius-sm);padding:10px 12px;font-size:var(--fs-sm)}
.notice p{margin:0}.notice p+p{margin-top:6px}
.error-box{border:1px solid currentColor;background:var(--error-bg);color:var(--error-ink);border-radius:var(--radius-sm);padding:10px 12px;font-size:var(--fs-sm);display:flex;gap:12px;align-items:center;flex-wrap:wrap}

/* Tablas genéricas */
table{border-collapse:collapse;width:100%}
th{font-weight:600;color:var(--muted);font-size:var(--fs-xs);text-align:left}

/* Pie */
.site-footer{border-top:1px solid var(--line);padding:22px clamp(16px,3vw,40px);color:var(--muted);font-size:var(--fs-sm);display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;align-items:center}
.site-footer .brand svg{height:24px}
.site-footer p{margin:0;max-width:820px}
.footer-links{display:flex;gap:16px}
.footer-links a{color:var(--muted)}
.footer-links a:hover,.footer-links a[aria-current]{color:var(--ink)}
.donate-slot{margin-left:auto}
a.donate{white-space:nowrap;color:var(--surface);background:var(--accent,#13795B);padding:6px 12px;border-radius:999px;font-weight:600;text-decoration:none}
a.donate:hover{filter:brightness(1.1);color:var(--surface)}
.footer-links{align-items:center}
.footer-credit{flex-basis:100%;font-size:var(--fs-xs,0.8rem)}
.footer-credit a{color:var(--ink)}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Compartir */
.share-dialog{border:1px solid var(--line);border-radius:16px;padding:20px 22px;max-width:min(420px,calc(100vw - 32px));background:var(--surface);color:var(--ink)}
.share-dialog::backdrop{background:rgba(0,0,0,.45)}
.share-dialog h2{margin:0 0 6px;font-size:var(--fs-lg)}
.share-dialog .muted{color:var(--muted);font-size:var(--fs-sm);margin:0 0 12px}
.share-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.share-actions .btn{justify-content:center;text-align:center;text-decoration:none}
.share-close{margin-top:12px;width:100%}

.btn-pair{display:inline-flex;gap:6px;flex-wrap:wrap}

/* Menú agrupado */
.nav-group{position:relative}
.nav-group>summary{list-style:none;cursor:pointer;color:var(--muted);font-weight:600;font-size:var(--fs-sm);padding:8px 12px;border-radius:999px;display:inline-flex;align-items:center;gap:6px}
.nav-group>summary::-webkit-details-marker{display:none}
.nav-group>summary::after{content:'';width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);opacity:.6}
.nav-group>summary:hover,.nav-group[open]>summary{color:var(--ink);background:var(--surface-2)}
.nav-group.is-current>summary{color:var(--ink);background:var(--accent-soft)}
.nav-list{position:absolute;right:0;top:calc(100% + 8px);min-width:210px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 32px rgba(0,0,0,.14);padding:6px;display:grid;gap:2px;z-index:50}
.nav-list a{display:block;border-radius:10px;padding:10px 12px}
.nav-list-cols{grid-template-columns:repeat(2,minmax(150px,1fr))}
/* Buscador de la cabecera */
.hsearch{position:relative;display:flex;align-items:center}
.hsearch-input{width:220px;padding:7px 12px;border-radius:999px;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);font:inherit;font-size:var(--fs-sm)}
.hsearch-input:focus{outline:2px solid var(--accent);outline-offset:1px}
.hsearch-toggle{display:none}
.hsearch-list{position:absolute;right:0;top:calc(100% + 8px);width:300px;max-width:calc(100vw - 32px);list-style:none;margin:0;padding:6px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 32px rgba(0,0,0,.14);z-index:60}
.hsearch-list li a{display:block;padding:9px 10px;border-radius:9px;color:var(--ink);text-decoration:none;font-weight:600;font-size:var(--fs-sm)}
.hsearch-list li a small{color:var(--muted);font-weight:400}
.hsearch-list li[aria-selected="true"] a,.hsearch-list li a:hover{background:var(--surface-2)}
.hsearch-list li.empty{padding:9px 10px;color:var(--muted);font-size:var(--fs-sm)}
@media (max-width:1100px){.hsearch-input{width:160px}}
@media (max-width:860px){
  .nav-group>summary{width:100%;justify-content:space-between;padding:12px 10px;border-radius:8px;font-size:var(--fs-md)}
  .nav-list{position:static;box-shadow:none;border:0;padding:0 0 6px 10px;min-width:0}
  .nav-list-cols{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hsearch-toggle{display:inline-grid}
  .hsearch-input{display:none;position:absolute;right:0;top:calc(100% + 8px);width:min(320px,calc(100vw - 32px));z-index:61}
  .hsearch.open .hsearch-input{display:block}
  .hsearch-list{top:calc(100% + 52px)}
}
@media (max-width:860px){
  .header-tools{gap:6px}
  .header-tools select{max-width:96px;padding-right:22px}
  .site-nav{z-index:45}
}
@media (max-width:400px){
  .header-tools select{max-width:70px}
  .brand svg{height:24px}
}
.site-nav a,.nav-group>summary{white-space:nowrap}
@media (min-width:861px) and (max-width:1180px){
  .topbar{gap:14px}
  .site-nav a,.nav-group>summary{padding:8px 8px;font-size:13px}
  .hsearch-input{width:140px}
}
@media (min-width:861px) and (max-width:960px){
  .hsearch-input{display:none}
  .hsearch-toggle{display:inline-grid}
  .hsearch.open .hsearch-input{display:block;position:absolute;right:0;top:calc(100% + 8px);width:280px;z-index:61}
  .hsearch-list{top:calc(100% + 52px)}
}

/* Preguntas rápidas */
.quick-q{margin:0 0 18px}
.quick-title{margin:0 0 8px;font-size:var(--fs-sm);font-weight:700;color:var(--muted)}
.quick-row{display:flex;flex-wrap:wrap;gap:8px}
.quick-chip{display:inline-flex;align-items:center;padding:7px 14px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);text-decoration:none;font-size:var(--fs-sm);font-weight:600;transition:border-color .15s,background .15s}
.quick-chip:hover{border-color:var(--accent);background:var(--accent-soft)}
.quick-chip[aria-current="true"]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink)}
/* Ayuda de métrica */
.metric-help{margin:6px 2px 0;font-size:var(--fs-xs);line-height:1.45;color:var(--muted)}
.metric-help a{white-space:nowrap}

/* Selector de ámbito de datos */
.scope-switch{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:0 0 14px}
.scope-opt{display:flex;flex-direction:column;gap:2px;padding:9px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);text-decoration:none;line-height:1.25}
.scope-opt strong{font-size:var(--fs-sm)}
.scope-opt small{font-size:var(--fs-xs);color:var(--muted)}
.scope-opt[aria-current="true"]{border-color:var(--accent);background:var(--accent-soft)}
.scope-opt[aria-current="true"] strong{color:var(--accent-ink)}
.chip-group-label{width:100%;margin:6px 0 2px;font-size:var(--fs-xs);font-weight:700;color:var(--muted)}

.mode-hint{margin:4px 2px 0;font-size:var(--fs-xs);line-height:1.4;color:var(--muted)}
