/* Termómetro Bursátil · v4
   Base clara y sobria (confianza), modo oscuro completo. Tipos: Bricolage Grotesque (títulos),
   IBM Plex Sans (texto), IBM Plex Mono (cifras). Colores de estado reservados: good / warn / bad. */

:root{
  color-scheme:light;
  --bg:#F4F6F9;--bg2:#ECEFF4;--surface:#FFFFFF;--surface2:#F1F3F7;--raise:#E7EBF2;
  --ink:#0B1324;--ink2:#3A4660;--muted:#66728B;--hair:#E1E5EC;--hair2:#CDD4E0;
  --accent:#2447D5;--accent-ink:#FFFFFF;--accent-soft:rgba(36,71,213,.08);--accent-2:#1B36A8;
  --good:#0B8A5A;--warn:#B06E0C;--bad:#C93636;--mute:#A0AABC;--nodata:#DCE1E9;
  --good-bg:#E4F4EC;--warn-bg:#FBF0DE;--bad-bg:#FBE6E4;
  --barra:#AEB9CF;
  --s1:#2a78d6;--s2:#eb6834;--s3:#4a3aa7;
  --seg1:#7F8CA8;--seg2:#B8C2D6;--seg3:#2447D5;
  --t1:#A82626;--t2:#DA5A45;--t3:#E3A33A;--t4:#4FAE7C;--t5:#0F8452;--t-ink:#FFFFFF;--t3-ink:#2A1B02;--t-nd:#C7CEDA;
  --sombra:0 1px 2px rgba(16,24,40,.05),0 8px 24px rgba(16,24,40,.06);
  --sombra-2:0 2px 6px rgba(16,24,40,.06),0 18px 40px rgba(16,24,40,.10);
  --hero:radial-gradient(70% 90% at 0% 0%,rgba(11,138,90,.07),transparent 60%),radial-gradient(60% 80% at 100% 0%,rgba(36,71,213,.08),transparent 60%);
  --radio:14px;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --bg:#0A0F1C;--bg2:#0D1424;--surface:#111A2D;--surface2:#172238;--raise:#1E2A45;
    --ink:#EAF0FA;--ink2:#B4C0D6;--muted:#8591AB;--hair:#1F2B47;--hair2:#2A3A5E;
    --accent:#8CA8FF;--accent-ink:#0A0F1C;--accent-soft:rgba(140,168,255,.13);--accent-2:#B5C6FF;
    --good:#34D399;--warn:#F5B942;--bad:#F87171;--mute:#56627F;--nodata:#27324D;
    --good-bg:rgba(52,211,153,.13);--warn-bg:rgba(245,185,66,.14);--bad-bg:rgba(248,113,113,.14);
    --barra:#40507A;
    --s1:#3987e5;--s2:#d95926;--s3:#d85aa9;
    --seg1:#5E6F96;--seg2:#3A4768;--seg3:#8CA8FF;
    --t1:#8A2222;--t2:#B84A3A;--t3:#B7822A;--t4:#2F8A5C;--t5:#157048;--t-ink:#F4F7FC;--t3-ink:#1C1204;--t-nd:#2A3452;
    --sombra:0 1px 2px rgba(0,0,0,.3),0 8px 24px rgba(0,0,0,.25);
    --sombra-2:0 2px 6px rgba(0,0,0,.35),0 18px 40px rgba(0,0,0,.35);
    --hero:radial-gradient(70% 90% at 0% 0%,rgba(52,211,153,.09),transparent 60%),radial-gradient(60% 80% at 100% 0%,rgba(140,168,255,.10),transparent 60%);
  }
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --bg:#0A0F1C;--bg2:#0D1424;--surface:#111A2D;--surface2:#172238;--raise:#1E2A45;
  --ink:#EAF0FA;--ink2:#B4C0D6;--muted:#8591AB;--hair:#1F2B47;--hair2:#2A3A5E;
  --accent:#8CA8FF;--accent-ink:#0A0F1C;--accent-soft:rgba(140,168,255,.13);--accent-2:#B5C6FF;
  --good:#34D399;--warn:#F5B942;--bad:#F87171;--mute:#56627F;--nodata:#27324D;
  --good-bg:rgba(52,211,153,.13);--warn-bg:rgba(245,185,66,.14);--bad-bg:rgba(248,113,113,.14);
  --barra:#40507A;
  --s1:#3987e5;--s2:#d95926;--s3:#d85aa9;
  --seg1:#5E6F96;--seg2:#3A4768;--seg3:#8CA8FF;
  --t1:#8A2222;--t2:#B84A3A;--t3:#B7822A;--t4:#2F8A5C;--t5:#157048;--t-ink:#F4F7FC;--t3-ink:#1C1204;--t-nd:#2A3452;
  --sombra:0 1px 2px rgba(0,0,0,.3),0 8px 24px rgba(0,0,0,.25);
  --sombra-2:0 2px 6px rgba(0,0,0,.35),0 18px 40px rgba(0,0,0,.35);
  --hero:radial-gradient(70% 90% at 0% 0%,rgba(52,211,153,.09),transparent 60%),radial-gradient(60% 80% at 100% 0%,rgba(140,168,255,.10),transparent 60%);
}

/* ---------------- base ---------------- */
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;background:var(--bg);color:var(--ink);font:15.5px/1.6 "IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--accent);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{color:var(--accent-2)}
h1,h2,h3{font-family:"Bricolage Grotesque","IBM Plex Sans",system-ui,sans-serif;letter-spacing:-.022em;line-height:1.14;text-wrap:balance;color:var(--ink)}
.wrap{max-width:1200px;margin:0 auto;padding-inline:20px}
.mono,.num{font-family:"IBM Plex Mono",ui-monospace,monospace;font-variant-numeric:tabular-nums}
.chica{font-size:12.5px;color:var(--muted)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}
.saltar{position:absolute;left:-999px;top:8px;background:var(--accent);color:var(--accent-ink);padding:8px 12px;border-radius:8px;z-index:99}
.saltar:focus{left:12px}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}html{scroll-behavior:auto}}
.h4{font:600 12px "IBM Plex Sans",sans-serif;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 12px}
.lede{font-size:17px;color:var(--ink2);max-width:66ch;margin:0}
.tarjeta{background:var(--surface);border:1px solid var(--hair);border-radius:var(--radio);padding:18px;box-shadow:var(--sombra)}

/* ---------------- cabecera ---------------- */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:color-mix(in srgb,var(--surface) 88%,transparent);
  backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--hair)}
.top-in{display:flex;align-items:center;gap:22px;min-height:62px}
.marca{display:flex;align-items:center;gap:9px;color:var(--ink);text-decoration:none;flex:none}
.marca svg{width:26px;height:26px;color:var(--accent)}
.marca b{font:800 18px "Bricolage Grotesque",sans-serif;letter-spacing:-.02em}
.menu ul{display:flex;gap:2px;list-style:none;margin:0;padding:0}
.menu a{color:var(--ink2);text-decoration:none;font-size:14.5px;font-weight:500;padding:7px 11px;border-radius:9px}
.menu a:hover{background:var(--surface2);color:var(--ink)}
.menu a.activo{color:var(--accent);background:var(--accent-soft)}
.buscador{position:relative}
.buscador.mini{margin-left:auto;width:250px}
.buscador input{width:100%;font:inherit;font-size:14.5px;color:var(--ink);background:var(--surface2);border:1px solid var(--hair);border-radius:10px;padding:8px 12px;outline:none;transition:border-color .15s,box-shadow .15s,background .15s}
.buscador input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:var(--surface)}
.buscador.grande{max-width:600px;margin-top:26px}
.buscador.grande input{font-size:17px;padding:16px 16px 16px 50px;border-radius:14px;background:var(--surface);border-color:var(--hair2);box-shadow:var(--sombra)}
.buscador .lupa{position:absolute;left:17px;top:50%;transform:translateY(-50%);width:20px;height:20px;color:var(--muted)}
.top-lista{position:relative;display:grid;place-items:center;width:40px;height:40px;border-radius:10px;color:var(--ink2);border:1px solid var(--hair)}
.top-lista:hover{color:var(--warn);border-color:var(--hair2)}
.top-lista svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}
.top-lista-n{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;border-radius:9px;background:var(--accent);color:var(--accent-ink);font:600 11px/18px "IBM Plex Mono",monospace;text-align:center;padding:0 4px}
.sugerencias{position:absolute;left:0;right:0;top:calc(100% + 6px);background:var(--surface);border:1px solid var(--hair2);border-radius:12px;box-shadow:var(--sombra-2);padding:6px;z-index:50;max-height:390px;overflow:auto;min-width:290px}
.sugerencias a,.sugerencias button{display:grid;grid-template-columns:62px 1fr auto;gap:10px;align-items:center;width:100%;text-align:left;padding:8px 10px;border-radius:8px;color:var(--ink);text-decoration:none;background:none;border:0;font:inherit;cursor:pointer}
.sugerencias [aria-selected=true],.sugerencias a:hover,.sugerencias button:hover{background:var(--surface2)}
.sugerencias .tk{font:600 13px "IBM Plex Mono",monospace}
.sugerencias .nm{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sugerencias .nm small{display:block;color:var(--muted);font-size:12px}
.sugerencias .vacio{padding:12px;color:var(--muted)}
@media(max-width:900px){.menu{display:none}.buscador.mini{width:auto;flex:1}.top-in{gap:12px}}
@media(max-width:420px){.marca b{font-size:16px}}
.migas{font-size:13px;color:var(--muted);padding-block:16px 0}
.migas a{color:var(--ink2)}
.migas span{margin-inline:4px}
.aviso-vp{background:var(--warn-bg);color:var(--ink);font-size:13px;padding-block:8px;border-bottom:1px solid var(--hair)}

/* ---------------- botones, insignias, pills ---------------- */
.btn{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--hair2);background:var(--surface);color:var(--ink);border-radius:10px;padding:10px 16px;font:inherit;font-weight:600;cursor:pointer;text-decoration:none;transition:border-color .15s,background .15s}
.btn:hover{border-color:var(--accent);color:var(--ink)}
.btn.pri{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.btn.pri:hover{background:var(--accent-2);border-color:var(--accent-2);color:var(--accent-ink)}
.badge{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;border-radius:999px;padding:4px 11px;white-space:nowrap}
.badge svg{width:11px;height:11px}
.b-good{color:var(--good);background:var(--good-bg)}.b-warn{color:var(--warn);background:var(--warn-bg)}
.b-bad{color:var(--bad);background:var(--bad-bg)}.b-mute{color:var(--muted);background:var(--surface2)}
.pills{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:14px}
.pills>span{font-size:12.5px;color:var(--muted)}
.pill{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:500;border:1px solid var(--hair);background:var(--surface);color:var(--ink);border-radius:999px;padding:5px 12px;text-decoration:none;transition:border-color .15s}
a.pill:hover{border-color:var(--accent);color:var(--ink)}
.pill i{width:8px;height:8px;border-radius:50%}
.sw{width:12px;height:12px;border-radius:3px;display:inline-block;flex:none;vertical-align:-1px}
.sw.nd{background:var(--nodata)}
.leyenda{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12.5px;color:var(--ink2)}
.leyenda span{display:inline-flex;align-items:center;gap:6px}
.logo{width:36px;height:36px;border-radius:10px;flex:none;display:grid;place-items:center;font:600 11px "IBM Plex Mono",monospace;background:var(--surface2);color:var(--ink2);border:1px solid var(--hair)}
.logo.grande{width:60px;height:60px;border-radius:16px;font-size:14px;background:var(--surface);box-shadow:var(--sombra)}

/* ---------------- portada ---------------- */
.hero{padding-block:48px 36px;background:var(--hero);border-bottom:1px solid var(--hair)}
.hero-in{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:56px;align-items:center}
.hero-txt,.hero-lado{min-width:0}
.hero-lado{display:flex;flex-direction:column;gap:14px}
@media(max-width:940px){.hero-in{grid-template-columns:1fr;gap:30px}}
.ceja{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:500;color:var(--ink2);background:var(--surface);border:1px solid var(--hair);border-radius:999px;padding:5px 12px;margin:0}
.ceja i{width:7px;height:7px;border-radius:50%;background:var(--good);box-shadow:0 0 0 3px var(--good-bg)}
.hero h1{font-weight:800;letter-spacing:-.04em;line-height:1.02;font-size:clamp(36px,5.4vw,62px);margin:18px 0 16px;max-width:14ch}
.hero h1 em{font-style:normal;background:linear-gradient(90deg,var(--bad),var(--warn) 45%,var(--good));-webkit-background-clip:text;background-clip:text;color:transparent}
.stats{display:flex;flex-wrap:wrap;gap:10px 34px;margin-top:28px;padding-top:22px;border-top:1px solid var(--hair)}
.stats b{display:block;font:800 28px/1.1 "Bricolage Grotesque",sans-serif;letter-spacing:-.02em}
.stats span{font-size:12.5px;color:var(--muted)}
.ejemplo{display:flex;flex-direction:column;gap:12px;text-decoration:none;color:var(--ink);background:var(--surface);border:1px solid var(--hair);border-radius:20px;padding:20px 20px 16px;box-shadow:var(--sombra-2);transition:transform .2s,border-color .2s}
.ejemplo:hover{transform:translateY(-3px);border-color:var(--accent);color:var(--ink)}
.ejemplo-ceja{font:600 11px "IBM Plex Mono",monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.ejemplo-cab{display:flex;align-items:center;gap:12px}
.ejemplo-cab>span:nth-child(2){flex:1;min-width:0}
.ejemplo-cab b{display:block;font:700 17px "Bricolage Grotesque",sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ejemplo-cab small{color:var(--muted);font-size:12.5px}
.ejemplo-medidor{display:block;margin:-4px auto -6px;width:100%;max-width:230px}
.mini-pilares{display:flex;flex-direction:column;gap:8px}
.mini-pilar{display:grid;grid-template-columns:118px 1fr 78px;gap:10px;align-items:center;font-size:13px}
.mini-pilar span:first-child{color:var(--ink2)}
.mini-pilar .trk{height:7px}
.mini-pilar b{font:500 12px "IBM Plex Mono",monospace;text-align:right}
.ejemplo-pie{border-top:1px solid var(--hair);padding-top:12px;font-weight:600;color:var(--accent);font-size:14px}
.gancho{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;text-decoration:none;color:var(--ink);background:var(--bad-bg);border:1px solid color-mix(in srgb,var(--bad) 30%,transparent);border-radius:16px;padding:14px 16px}
.gancho:hover{color:var(--ink)}
.gancho b{font:800 34px/1 "Bricolage Grotesque",sans-serif;color:var(--bad);letter-spacing:-.02em}
.gancho span{font-size:14px;line-height:1.4}
.gancho i{font-style:normal;font-size:18px;color:var(--bad);transition:transform .2s}
.gancho:hover i{transform:translateX(4px)}
@media(max-width:560px){.mini-pilar{grid-template-columns:96px 1fr 70px}}
.seccion{padding-block:44px 0}
.sec-cab{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.sec-cab h2{font-size:clamp(24px,3.2vw,32px);margin:0}
.sec-cab p{margin:6px 0 0;color:var(--ink2);max-width:64ch}
.mapa-caja{background:var(--surface);border:1px solid var(--hair);border-radius:var(--radio);padding:6px;box-shadow:var(--sombra);overflow-x:auto}
.mapa{display:block;width:100%;min-width:760px;height:auto}
.ma-marco{fill:var(--surface);stroke:none}
.ma-sec{fill:var(--muted);font:600 11px "IBM Plex Sans",sans-serif;letter-spacing:.06em}
.ma-celda{stroke:var(--surface);stroke-width:1.5;transition:filter .12s}
.mapa a:hover .ma-celda,.mapa a:focus .ma-celda{filter:brightness(1.15);stroke:var(--ink);stroke-width:2}
.ma-celda.t1,.sw.ma-t1{fill:var(--t1);background:var(--t1)}.ma-celda.t2,.sw.ma-t2{fill:var(--t2);background:var(--t2)}
.ma-celda.t3,.sw.ma-t3{fill:var(--t3);background:var(--t3)}.ma-celda.t4,.sw.ma-t4{fill:var(--t4);background:var(--t4)}
.ma-celda.t5,.sw.ma-t5{fill:var(--t5);background:var(--t5)}.ma-celda.nodata,.sw.ma-nodata{fill:var(--t-nd);background:var(--t-nd)}
.ma-tk{fill:var(--t-ink);font-family:"IBM Plex Mono",monospace;font-weight:600;pointer-events:none}
.ma-p{fill:var(--t-ink);opacity:.85;font-family:"IBM Plex Mono",monospace;pointer-events:none}
.herramientas{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media(max-width:820px){.herramientas{grid-template-columns:1fr}}
.herr{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;text-decoration:none;color:var(--ink);background:var(--surface);border:1px solid var(--hair);border-radius:var(--radio);padding:18px;box-shadow:var(--sombra);transition:transform .2s,border-color .2s}
.herr:hover{transform:translateY(-2px);border-color:var(--accent);color:var(--ink)}
.herr-i{grid-row:span 2;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent)}
.herr-i svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linejoin:round;stroke-linecap:round}
.herr b{font:700 17px "Bricolage Grotesque",sans-serif}
.herr span:last-child{font-size:14px;color:var(--ink2)}
.rejilla-rank{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.rank{display:flex;flex-direction:column;gap:6px;text-decoration:none;color:var(--ink);transition:transform .2s,border-color .2s}
.rank b{font:700 16.5px/1.25 "Bricolage Grotesque",sans-serif}
.rank span{font-size:13.5px;color:var(--ink2)}
.rank:hover{border-color:var(--accent);transform:translateY(-2px);color:var(--ink)}
.dos{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:760px){.dos{grid-template-columns:1fr}}
.cta{background:var(--surface);border:1px solid var(--hair);border-radius:var(--radio);padding:22px;display:flex;flex-direction:column;gap:14px;box-shadow:var(--sombra)}
.cta h2{margin:0;font-size:21px}
.cta p{margin:6px 0 0;color:var(--ink2);font-size:14.5px}
.cta-premium{background:linear-gradient(135deg,var(--surface),var(--surface2));border-style:dashed;box-shadow:none}
.form-correo{display:flex;flex-wrap:wrap;gap:8px}
.form-correo input{flex:1 1 200px;font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--hair2);border-radius:10px;padding:10px 12px}
.form-correo input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.nota-form{flex-basis:100%;margin:0;font-size:13px;color:var(--good)}
.metodo-mini h2{margin:0 0 8px;font-size:21px}
.metodo-mini p{margin:0 0 10px;color:var(--ink2);max-width:78ch}
.mas{font-weight:600}
.sectores{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:12px}
.sector{background:var(--surface);border:1px solid var(--hair);border-radius:var(--radio);padding:16px;box-shadow:var(--sombra)}
.sector h3{margin:0;font:600 15px "IBM Plex Sans",sans-serif;letter-spacing:0;display:flex;justify-content:space-between;gap:8px}
.sector h3 a{color:var(--ink);text-decoration:none}
.sector h3 a:hover{color:var(--accent)}
.sector h3 small{color:var(--muted);font:400 12px "IBM Plex Mono",monospace}
.sector .med{font-size:12.5px;color:var(--muted);margin:2px 0 10px}
.sector .med b{color:var(--ink);font-family:"IBM Plex Mono",monospace}
.teselas{display:flex;flex-wrap:wrap;gap:3px}
.tesela{width:17px;height:17px;border-radius:4px;display:block}
.tesela:hover,.tesela:focus-visible{outline:2px solid var(--ink);outline-offset:1px}

/* ---------------- páginas internas ---------------- */
.pag-cab{padding-block:28px 20px}
.pag-cab h1{font-size:clamp(28px,4.4vw,44px);font-weight:800;margin:0 0 12px}
.revisado{font:12.5px "IBM Plex Mono",monospace;color:var(--muted);margin:10px 0 0}
.bloque{margin-top:26px}
.tabla-scroll{overflow-x:auto;border:1px solid var(--hair);border-radius:var(--radio);background:var(--surface);margin-top:10px;box-shadow:var(--sombra)}
.tabla{width:100%;border-collapse:collapse;font-size:14px;min-width:460px}
.tabla th,.tabla td{padding:10px 12px;border-bottom:1px solid var(--hair);text-align:left}
.tabla thead th{background:var(--surface2);font-size:12px;color:var(--muted);font-weight:600;white-space:nowrap;position:sticky;top:0}
.tabla tbody tr:hover{background:color-mix(in srgb,var(--accent) 4%,transparent)}
.tabla tr:last-child td{border-bottom:0}
.tabla td.num,.tabla th.num{text-align:right}
.tabla a{color:var(--ink);text-decoration:none;font-weight:500}
.tabla a:hover{color:var(--accent)}
.tabla.comp td:not(:first-child),.tabla.comp th:not(:first-child){text-align:right;font-family:"IBM Plex Mono",monospace}
td.mejor{color:var(--good);font-weight:600}
td.mejor::before{content:"▲ ";font-size:9px}
.sbar{display:flex;align-items:center;gap:9px;min-width:130px}
.sbar b{font:700 17px "Bricolage Grotesque",sans-serif;width:28px;text-align:right}
.sbar .t{flex:1;height:7px;border-radius:99px;background:var(--surface2);overflow:hidden}
.sbar .t i{display:block;height:100%;border-radius:99px}
.nota{font-size:14.5px;color:var(--ink2);background:var(--warn-bg);border:1px solid color-mix(in srgb,var(--warn) 25%,transparent);border-radius:10px;padding:11px 13px;margin:0 0 8px;max-width:80ch}
.aviso-estado{margin-top:22px;background:var(--surface);border:1px dashed var(--hair2);border-radius:16px;padding:22px}
.aviso-estado h2{margin:0 0 8px;font-size:22px}
.aviso-estado p{margin:0 0 6px;color:var(--ink2)}
.fuente{margin-top:18px;font-size:13px;color:var(--muted)}
.datos{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.datos.cuatro{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
.dato{background:var(--surface);border:1px solid var(--hair);border-radius:12px;padding:12px 14px}
.dato span{display:block;font-size:12px;color:var(--muted)}
.dato b{font:600 18px "IBM Plex Mono",monospace;font-variant-numeric:tabular-nums}
.dato em{display:block;font-style:normal;font-size:12px;margin-top:3px;color:var(--muted)}
.dato em.mejor{color:var(--good)}.dato em.peor{color:var(--bad)}
.trk{position:relative;display:block;height:10px;border-radius:99px;background:var(--surface2)}
.trk i{position:absolute;inset:0 auto 0 0;border-radius:99px;background:var(--accent)}
.trk u{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--ink);opacity:.75;border-radius:2px}
.trk.vacio{background:none;height:auto;font-size:12.5px;color:var(--muted)}

/* ---------------- ficha v4 ---------------- */
.ficha{padding-bottom:10px}
.ficha-cab{display:flex;gap:16px;align-items:center;padding-block:22px 18px;flex-wrap:wrap}
.ficha-tit{flex:1;min-width:240px}
.ficha-cab h1{font-size:clamp(26px,4vw,40px);font-weight:800;margin:0}
.sub{margin:6px 0 0;color:var(--ink2);font-size:14px}
.sub a{color:var(--ink2)}
.ficha-acc{display:flex;gap:8px;flex-wrap:wrap}
.btn-lista,.btn-seguir{display:inline-flex;align-items:center;gap:7px;font:600 14px "IBM Plex Sans",sans-serif;border-radius:10px;padding:9px 14px;cursor:pointer;text-decoration:none}
.btn-lista{color:var(--ink);background:var(--surface);border:1px solid var(--hair2)}
.btn-lista svg,.btn-seguir svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linejoin:round;stroke-linecap:round}
.btn-lista[aria-pressed="true"]{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 45%,transparent);background:var(--warn-bg)}
.btn-lista[aria-pressed="true"] svg{fill:currentColor}
.btn-lista.falso{padding:2px 8px;font-size:13px;cursor:default}
.btn-seguir{color:var(--accent-ink);background:var(--accent);border:1px solid var(--accent)}
.btn-seguir:hover{background:var(--accent-2);color:var(--accent-ink)}
.ficha-grid{display:grid;grid-template-columns:300px minmax(0,1fr);gap:28px;align-items:start}
.resumen-lat{position:sticky;top:80px}
.lat-caja{background:var(--surface);border:1px solid var(--hair);border-radius:18px;padding:18px;box-shadow:var(--sombra)}
.lat-medidor .medidor{max-width:230px}
.lat-caja .insignias{justify-content:center;margin:2px 0 14px}
.kvs{display:flex;flex-direction:column;border-top:1px solid var(--hair)}
.kv{display:grid;grid-template-columns:1fr auto;gap:0 10px;padding:9px 0;border-bottom:1px solid var(--hair);align-items:baseline}
.kv span{font-size:13px;color:var(--ink2)}
.kv b{font:600 14.5px "IBM Plex Mono",monospace;font-variant-numeric:tabular-nums;text-align:right}
.kv em{grid-column:1/-1;font-style:normal;font-size:11.5px;color:var(--muted)}
.lat-nav{display:flex;flex-direction:column;margin-top:14px}
.lat-nav a{color:var(--ink2);text-decoration:none;font-size:14px;font-weight:500;padding:7px 10px;border-radius:8px;border-left:2px solid transparent}
.lat-nav a:hover{background:var(--surface2);color:var(--ink)}
.lat-nav a.activo{color:var(--accent);background:var(--accent-soft);border-left-color:var(--accent)}
@media(max-width:980px){
  .ficha-grid{grid-template-columns:1fr}
  .resumen-lat{position:static}
  .lat-caja{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:0 20px;align-items:center}
  .lat-caja .insignias{grid-column:1}
  .kvs{grid-column:2;grid-row:1/3}
  .lat-nav{grid-column:1/-1;flex-direction:row;overflow-x:auto;gap:4px;margin-top:12px;padding-top:12px;border-top:1px solid var(--hair)}
  .lat-nav a{white-space:nowrap;border-left:0;background:var(--surface2)}
}
@media(max-width:600px){.lat-caja{display:block}}
.principal{min-width:0}
.sec{margin-top:8px;padding-block:24px;border-bottom:1px solid var(--hair)}
.sec:first-child{padding-top:0}
.sec h2{font-size:24px;margin:0 0 6px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.sec-lede{margin:0 0 16px;color:var(--muted);font-size:14px}
.cuenta{font:600 13px "IBM Plex Mono",monospace;color:var(--good);background:var(--good-bg);border-radius:999px;padding:3px 10px;letter-spacing:0}
.lectura{margin-top:10px}
.lectura p{max-width:72ch;margin:0 0 10px;font-size:16px}
.grafico{padding:16px 18px 12px;margin-top:18px}
.grafico .h4{margin-bottom:6px}
.posicion{display:block;width:100%;height:auto}
.p-eje{fill:var(--muted);font:11px "IBM Plex Mono",monospace}
.p-med{stroke:var(--ink);stroke-width:1.5;stroke-dasharray:4 4;opacity:.7}
.p-par{fill:var(--mute);opacity:.8;stroke:var(--surface);stroke-width:1.5}
.posicion a:hover .p-par,.posicion a:focus .p-par{opacity:1;fill:var(--ink2)}
.p-tallo{stroke:var(--ink);stroke-width:1.5}
.p-etq{fill:var(--ink);font:700 13px "IBM Plex Mono",monospace}
.clave{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin:10px 0 0}
.clave span{display:inline-flex;align-items:center;gap:6px}
.linea-med{width:2px;height:12px;background:var(--ink);opacity:.8;display:inline-block}
.linea-med.punteada{background:none;border-left:2px dashed var(--ink);width:0}
.chqs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:700px){.chqs{grid-template-columns:1fr}}
.chq{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;background:var(--surface);border:1px solid var(--hair);border-radius:12px;padding:12px 14px}
.chq-i{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font:700 13px "IBM Plex Sans",sans-serif}
.chq.si .chq-i{color:var(--good);background:var(--good-bg)}
.chq.no .chq-i{color:var(--bad);background:var(--bad-bg)}
.chq b{display:block;font-size:14.5px}
.chq div span{font-size:13.5px;color:var(--ink2)}
.pilares-grid{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:24px;align-items:center}
@media(max-width:760px){.pilares-grid{grid-template-columns:1fr}}
.huella-caja{background:var(--surface);border:1px solid var(--hair);border-radius:16px;padding:8px}
.huella{display:block;width:100%;height:auto;max-width:420px;margin-inline:auto}
.hu-anillo{fill:none;stroke:var(--hair2);stroke-dasharray:2 4}
.hu-fondo{fill:var(--surface2)}
.hu-petalo{stroke:var(--surface);stroke-width:1.5;opacity:.92}
.hu-etq{fill:var(--ink2);font:500 11.5px "IBM Plex Sans",sans-serif}
.hu-val{fill:var(--ink);font:600 11.5px "IBM Plex Mono",monospace}
.hu-centro{fill:var(--surface);stroke:var(--hair2)}
.hu-total{fill:var(--ink);font:800 26px "Bricolage Grotesque",sans-serif}
.pilar{display:grid;grid-template-columns:minmax(150px,1.1fr) 2fr 92px;gap:14px;align-items:center;padding:10px 0;border-bottom:1px solid var(--hair)}
.pilar .l{font-size:14px}
.pilar .l small{display:block;color:var(--muted);font-size:12px}
.pilar .v{font:500 13px "IBM Plex Mono",monospace;text-align:right}
@media(max-width:560px){.pilar{grid-template-columns:1fr 80px}.pilar .trk{grid-column:1/-1;grid-row:2}}
.cals{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}
.cal{background:var(--surface);border:1px solid var(--hair);border-radius:14px;padding:16px;box-shadow:var(--sombra)}
.cal h3{margin:0 0 10px;font:600 14px "IBM Plex Sans",sans-serif;letter-spacing:0;display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.cal h3 b{font:800 26px "Bricolage Grotesque",sans-serif}
.cal h3 b small{font-size:14px;color:var(--muted);font-weight:600}
.cal p{font-size:13px;color:var(--ink2);margin:10px 0 0}
.escala{display:block;width:100%;height:auto}
.es-zona{fill:var(--muted);font:11px "IBM Plex Sans",sans-serif}
.es-marca{fill:var(--ink)}
.f-barra{display:grid;grid-template-columns:repeat(9,1fr);gap:4px}
.f-barra i{height:10px;border-radius:3px;background:var(--surface2);border:1px solid var(--hair)}
.f-barra i.on{background:var(--good);border-color:var(--good)}
.f-lista{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-template-columns:1fr;gap:4px;font-size:13px}
.f-lista li{display:flex;gap:8px;align-items:center;color:var(--ink2)}
.f-lista li span{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700;flex:none}
.f-lista li.si span{color:var(--good);background:var(--good-bg)}
.f-lista li.no span{color:var(--bad);background:var(--bad-bg)}
.f-lista li.nd{color:var(--muted)}
.f-lista li.nd span{background:var(--surface2)}
.cob{position:relative;height:12px;border-radius:99px;background:var(--surface2);overflow:visible}
.cob i{position:absolute;inset:0 auto 0 0;border-radius:99px}
.cob u{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--ink);opacity:.6}
.cob-ejes{display:flex;justify-content:space-between;font:11px "IBM Plex Mono",monospace;color:var(--muted);margin-top:6px}
.pila{display:flex;height:34px;border-radius:10px;overflow:hidden;gap:2px;background:var(--surface)}
.pila div{display:flex;align-items:center;justify-content:center;font:12px "IBM Plex Mono",monospace;white-space:nowrap;overflow:hidden}
.pila-ley{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12.5px;color:var(--ink2);margin-top:8px}
.pila-ley span{display:inline-flex;align-items:center;gap:6px}
.historial{display:block;width:100%;max-width:720px;height:auto}
.historial polygon{pointer-events:none}
.h-grid{stroke:var(--hair)}.h-eje{fill:var(--muted);font:11px "IBM Plex Mono",monospace}
.h-linea{stroke:var(--accent);stroke-width:2.2}.h-val{fill:var(--ink);font:600 12px "IBM Plex Mono",monospace}
.minis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px}
@media(max-width:1100px){.minis{grid-template-columns:repeat(2,minmax(0,1fr))}}
.mini-caja{margin:0;background:var(--surface);border:1px solid var(--hair);border-radius:14px;padding:12px 12px 6px}
.mini-caja figcaption{font-size:13px;font-weight:600;color:var(--ink2)}
.mini{display:block;width:100%;height:auto}
.mi-cero{stroke:var(--hair2)}.mi-eje{fill:var(--muted);font:10.5px "IBM Plex Mono",monospace}
.mi-val{fill:var(--ink);font:600 11.5px "IBM Plex Mono",monospace}
.tabla-det{margin-top:14px}
.tabla-det summary{cursor:pointer;font-weight:600;color:var(--accent);font-size:14px}
.verif{margin-top:26px;background:var(--good-bg);border:1px solid color-mix(in srgb,var(--good) 25%,transparent);border-radius:14px;padding:16px 18px}
.verif h2{margin:0 0 8px;font:700 16px "IBM Plex Sans",sans-serif;letter-spacing:0;display:flex;align-items:center;gap:8px;color:var(--good)}
.verif svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linejoin:round;stroke-linecap:round}
.verif ul{margin:0;padding-left:20px;font-size:13.5px;color:var(--ink2)}
.afils{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.afil{display:flex;flex-direction:column;gap:4px;background:var(--surface);border:1px solid var(--hair);border-radius:12px;padding:14px;text-decoration:none;color:var(--ink)}
.afil:hover{border-color:var(--accent);color:var(--ink)}
.afil span{font-size:13px;color:var(--ink2)}
.ficha .cta,article>.cta,.principal>.cta{margin-top:26px}
.pills+.h4{margin-top:22px}
.cta-seguir{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;border-color:var(--accent);background:linear-gradient(135deg,var(--surface),color-mix(in srgb,var(--accent) 7%,var(--surface)))}
.cta-seguir>div:nth-child(2) h2{margin:0}
.cta-seguir .form-correo,.cta-seguir>.chica{grid-column:1/-1;margin:0}
.seguir-icono{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent)}
.seguir-icono svg{width:22px;height:22px}
.medidor{width:100%;max-width:260px;display:block;margin-inline:auto}
.medidor.chico{max-width:180px}
.m-num{font:800 46px "Bricolage Grotesque",sans-serif;fill:var(--ink)}
.m-sub{font:11px "IBM Plex Mono",monospace;fill:var(--muted)}
.insignias{display:flex;flex-wrap:wrap;gap:8px;align-items:center}

/* ---------------- comparación, comparador ---------------- */
.cols-comp{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.col-comp{text-align:center;position:relative;padding-top:22px}
.col-comp h2{font-size:19px;margin:0}
.col-comp h2 a{color:var(--ink);text-decoration:none}
.col-comp p{margin:2px 0 6px;color:var(--muted);font-size:13px}
.franja{position:absolute;left:16px;right:16px;top:0;height:3px;border-radius:0 0 3px 3px}
.cbs{display:flex;flex-direction:column;gap:16px}
.cb h3{margin:0 0 6px;font:600 14px "IBM Plex Sans",sans-serif;letter-spacing:0;display:flex;justify-content:space-between}
.cb h3 small{color:var(--muted);font-weight:400}
.cb-fila{display:grid;grid-template-columns:58px 1fr 92px;gap:10px;align-items:center;margin:4px 0}
.cb-fila b{font:600 12px "IBM Plex Mono",monospace}
.cb-fila .trk{height:12px;border-radius:4px}
.cb-fila .trk i{border-radius:0 4px 4px 0}
.cb-fila span:last-child{font:12.5px "IBM Plex Mono",monospace;text-align:right}
.comparador{display:flex;flex-direction:column;gap:18px}
.comp-busc{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.comp-busc .buscador{flex:1 1 260px}
.elegidas{display:flex;gap:8px;flex-wrap:wrap}
.elegida{display:inline-flex;align-items:center;gap:6px;background:var(--surface2);border:1px solid var(--hair2);border-radius:9px;padding:5px 6px 5px 10px;font:600 13px "IBM Plex Mono",monospace}
.elegida button{border:0;background:none;color:var(--muted);cursor:pointer;font-size:16px;line-height:1}

/* ---------------- filtro y mi lista ---------------- */
.filtros{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:flex-end}
.filtros label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.filtros input[type=search],.filtros select{font:inherit;font-size:14px;text-transform:none;letter-spacing:0;color:var(--ink);background:var(--bg);border:1px solid var(--hair2);border-radius:9px;padding:8px 10px;min-width:170px}
.filtros input[type=range]{accent-color:var(--accent);width:170px}
.filtros output{font:600 12px "IBM Plex Mono",monospace;color:var(--ink)}
.f-cuenta{margin:0 0 4px auto;font-size:14px;color:var(--ink2)}
.f-cuenta b{font:700 20px "Bricolage Grotesque",sans-serif;color:var(--ink)}
.filtro-tabla{max-height:78vh;overflow:auto}
.filtro-tabla .tabla{min-width:980px}
.filtro-tabla th button{all:unset;cursor:pointer;display:inline-flex;gap:4px;align-items:center}
.filtro-tabla th button::after{content:"↕";opacity:.35;font-size:11px}
.filtro-tabla th[aria-sort=ascending] button::after{content:"↑";opacity:1;color:var(--accent)}
.filtro-tabla th[aria-sort=descending] button::after{content:"↓";opacity:1;color:var(--accent)}
.filtro-tabla td .tk{display:inline-block;min-width:52px;font:600 12px "IBM Plex Mono",monospace;color:var(--muted)}
.lista-vacia{max-width:640px}
.lista-vacia p{margin:0 0 8px}
.ml-acc{margin-bottom:14px}
.ml-rejilla{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.ml-item{display:flex;flex-direction:column;gap:10px}
.ml-cab{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.ml-cab a,.ml-cab>span:first-child{color:var(--ink);text-decoration:none;min-width:0}
.ml-cab b{display:block;font:700 16px "Bricolage Grotesque",sans-serif}
.ml-cab small{color:var(--muted);font-size:12.5px}
.ml-p{font:800 30px/1 "Bricolage Grotesque",sans-serif}
.ml-pils{display:flex;flex-direction:column;gap:6px}
.ml-pil{display:grid;grid-template-columns:130px 1fr;gap:10px;align-items:center;font-size:12.5px;color:var(--ink2)}
.ml-pil .trk{height:6px}
.ml-quitar{align-self:flex-start;border:0;background:none;color:var(--muted);font:inherit;font-size:13px;cursor:pointer;padding:0;text-decoration:underline}

/* ---------------- listas A–Z y textos ---------------- */
.az{columns:3 280px;column-gap:28px}
.letra{break-inside:avoid;margin-bottom:18px}
.letra h2{font-size:22px;margin:0 0 6px;color:var(--accent)}
.letra ul{list-style:none;margin:0;padding:0}
.letra li{display:flex;justify-content:space-between;gap:10px;padding:5px 0;border-bottom:1px solid var(--hair);font-size:14px}
.letra li a{color:var(--ink);text-decoration:none}
.letra li a:hover{color:var(--accent)}
.punt{font:600 13px "IBM Plex Mono",monospace}
.texto{max-width:820px}
.texto h2{font-size:24px;margin:32px 0 10px}
.texto p,.texto li{color:var(--ink2);font-size:16px}
.lista-check{list-style:none;padding:0}
.lista-check li{position:relative;padding-left:28px;margin-bottom:10px}
.lista-check li::before{content:"";position:absolute;left:4px;top:.45em;width:12px;height:7px;border-left:2px solid var(--good);border-bottom:2px solid var(--good);transform:rotate(-45deg)}
.correo{font-family:"IBM Plex Mono",monospace;font-weight:600;color:var(--ink);user-select:all}
.formula{font:13px/1.8 "IBM Plex Mono",monospace;background:var(--surface);border:1px solid var(--hair);border-radius:10px;padding:14px 16px;overflow-x:auto;color:var(--ink)}

/* ---------------- pie ---------------- */
.pie{margin-top:64px;border-top:1px solid var(--hair);background:var(--surface);padding-block:30px 44px;font-size:13px;color:var(--muted)}
.pie p{max-width:92ch;margin:0 0 10px}
.descargo{color:var(--ink2)}
.pie-links a{color:var(--ink2)}

/* ---------------- gráficos heredados (sector, comparaciones) ---------------- */
.enjambre{display:block;width:100%;height:auto}
.e-banda{fill:var(--ink2);font:600 13px "IBM Plex Sans",sans-serif}
.e-guia{stroke:var(--hair2);stroke-dasharray:3 5}
.e-eje{fill:var(--muted);font:12px "IBM Plex Mono",monospace}
.e-etq{fill:var(--ink);font:600 12px "IBM Plex Mono",monospace;pointer-events:none}
.e-punto{stroke:var(--surface);stroke-width:1.5}

.sec h2.h4,.sec h3.h4{font:600 12px "IBM Plex Sans",sans-serif;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);display:block;margin:22px 0 12px}
.sec .bloque:first-of-type h2.h4{margin-top:0}
.sec>.bloque{margin-top:18px}
.ficha-grid>*{min-width:0}.lat-nav{max-width:100%}
.filtro-tabla td{white-space:nowrap}.filtro-tabla td .tk{min-width:56px}.filtros label{justify-content:flex-end}
.matiz{background:var(--accent-soft);border-radius:8px;padding:8px 10px;color:var(--ink)!important}
.precio{margin-top:14px}.tv-caja{min-height:220px}.tv-espera{padding-top:90px;text-align:center}
.premium-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:20px;align-items:start}
@media(max-width:900px){.premium-grid{grid-template-columns:1fr}}
.planes td:first-child{color:var(--ink);font-size:14px}.plan-g,.plan-p{font-size:13.5px;text-align:center}
.plan-p{color:var(--accent);font-weight:600;background:var(--accent-soft)}
.planes th:nth-child(3){background:var(--accent-soft);color:var(--accent)}
.precio-lanz{display:block;font:600 11px "IBM Plex Mono",monospace;margin-top:3px}
.form-premium{display:flex;flex-direction:column;gap:12px}.form-premium h2{margin:0;font-size:22px}.form-premium p{margin:0;color:var(--ink2);font-size:14px}
.form-premium fieldset{border:1px solid var(--hair);border-radius:10px;padding:10px 12px;display:grid;grid-template-columns:1fr 1fr;gap:6px}
.form-premium legend{font-size:13px;font-weight:600;color:var(--ink2);padding:0 4px}
.op{font-size:14px;display:flex;gap:6px;align-items:center}
.candados{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.candado{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:500;color:var(--ink2);text-decoration:none;
  border:1px dashed var(--hair2);border-radius:999px;padding:5px 12px;background:var(--surface)}
.candado:hover{border-color:var(--accent);color:var(--accent)}
.candado svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.9}
.candado span{font:600 10.5px "IBM Plex Mono",monospace;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);border-radius:4px;padding:1px 5px}
.candado.falso{display:inline-block;border:0;padding:0;background:none}
.destacado{margin-top:18px;border-color:var(--accent);max-width:720px}.destacado h2{margin:6px 0;font-size:24px}.destacado p{margin:0 0 6px;color:var(--ink2)}
.q{display:inline-grid;place-items:center;width:16px;height:16px;margin-left:5px;border-radius:50%;border:1px solid var(--hair2);
  font:600 10px "IBM Plex Sans",sans-serif;color:var(--muted);text-decoration:none;vertical-align:1px}
.q:hover{color:var(--accent);border-color:var(--accent)}.q.falso{display:inline-grid}
.sen-ok{display:flex;gap:12px;align-items:flex-start;background:var(--good-bg);border-radius:12px;padding:14px}
.sen-ok>span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--surface);color:var(--good);font-weight:700;flex:none}
.sen-ok p{margin:4px 0 0;font-size:14px;color:var(--ink2)}
.sen-peor{margin-top:12px;background:var(--surface);border:1px solid var(--hair);border-left:3px solid var(--bad);border-radius:12px;padding:14px}
.sen-peor b{display:block;font-size:16px;margin-top:8px}.sen-peor p{margin:4px 0 0;font-size:14px;color:var(--ink2)}
.glosas{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.glos{display:flex;flex-direction:column;gap:4px;text-decoration:none;color:var(--ink)}.glos span{font-size:13.5px;color:var(--ink2)}
.glos:hover{border-color:var(--accent);color:var(--ink)}
.delta{font:600 13px "IBM Plex Mono",monospace;border-radius:6px;padding:1px 7px}
.delta.sube{color:var(--good);background:var(--good-bg)}.delta.baja{color:var(--bad);background:var(--bad-bg)}
.movs{list-style:none;margin:0;padding:0}.movs li{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid var(--hair);font-size:14px}
.movs li:last-child{border-bottom:0}.movs a{color:var(--ink);text-decoration:none;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.movs a b{font-family:"IBM Plex Mono",monospace;font-size:13px;margin-right:6px}
