:root{--fondo:#0e1116;--tarjeta:#171c24;--borde:#2a3240;--texto:#e8ecf2;--suave:#9aa6b6;--acento:#ffb020;--ok:#3ecf8e;--mal:#ff6b6b;--aviso:#ffb020}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--fondo);color:var(--texto);font:17px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
a{color:var(--acento)}
main{max-width:720px;margin:0 auto;padding:20px 16px 48px}
h1{font-size:1.9rem;line-height:1.15;margin:.4em 0 .3em}
h2{font-size:1.3rem;margin:1.8em 0 .5em}
.entrada{color:var(--suave);font-size:1.05rem;margin:0 0 1.2em}
.barra{display:flex;justify-content:space-between;align-items:center;gap:12px;max-width:720px;margin:0 auto;padding:14px 16px;flex-wrap:wrap}
.barra nav{display:flex;gap:16px}
.barra a{text-decoration:none;color:var(--suave);font-size:.95rem}
.barra .marca{color:var(--texto);font-weight:700}
.tarjeta{background:var(--tarjeta);border:1px solid var(--borde);border-radius:14px;padding:18px;margin:16px 0}
label{display:block;font-weight:600;margin:14px 0 6px}
label small,.nota{font-weight:400;color:var(--suave);font-size:.88rem}
input,select{width:100%;padding:12px;border-radius:10px;border:1px solid var(--borde);background:#0b0e13;color:var(--texto);font:inherit}
input:focus,select:focus,button:focus-visible{outline:2px solid var(--acento);outline-offset:2px}
.opciones{display:flex;gap:8px;flex-wrap:wrap}
.opciones button{flex:1;min-width:120px}
button{padding:12px 16px;border-radius:10px;border:1px solid var(--borde);background:#0b0e13;color:var(--texto);font:inherit;cursor:pointer}
button[aria-pressed="true"]{border-color:var(--acento);color:var(--acento)}
button.principal{background:var(--acento);color:#16130a;border:0;font-weight:700;width:100%;margin-top:18px}
.resultado{border-left:5px solid var(--borde);min-height:1px}
.resultado.ok{border-left-color:var(--ok)}
.resultado.mal{border-left-color:var(--mal)}
.resultado.aviso{border-left-color:var(--aviso)}
.veredicto{font-size:1.45rem;font-weight:800;margin:0 0 .3em}
.resultado ul{padding-left:1.1em;margin:.5em 0 0}
.resultado li{margin:.35em 0}
.fuente{color:var(--suave);font-size:.88rem}
table{width:100%;border-collapse:collapse;font-size:.95rem}
th,td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--borde);vertical-align:top}
.pie{max-width:720px;margin:0 auto;padding:24px 16px 40px;color:var(--suave);font-size:.85rem;border-top:1px solid var(--borde)}
.lista-herramientas a{display:block;text-decoration:none;color:var(--texto)}
.lista-herramientas strong{color:var(--acento)}
