.resultado{
  width:100%; max-width:720px; margin-top:38px;
  display:grid; grid-template-rows:0fr;
  transition:grid-template-rows .45s cubic-bezier(.22,1,.36,1);
}
.resultado.abierto{ grid-template-rows:1fr; }
.resultado-inner{ overflow:hidden; min-height:0; }
.tarjeta{
  background:#ffffff;
  border:4px solid #23283a;
  border-radius:28px;
  box-shadow:0 10px 0 rgba(35,40,58,.18);
  padding:26px 26px 30px;
  opacity:0; transform:translateY(16px) scale(.98);
  transition:opacity .4s ease .12s, transform .4s ease .12s;
}
.resultado.abierto .tarjeta{ opacity:1; transform:none; }
.tarjeta.error{ border-color:#e23b3b; box-shadow:0 10px 0 #ffb1b1; }

.res-cabecera{ display:flex; align-items:center; gap:12px; margin-bottom:6px; }
.res-cabecera .icono{
  width:40px;height:40px;border-radius:13px;border:3px solid;
  display:grid;place-items:center;font-size:22px;font-weight:700;flex:none;
}
.res-cabecera.bad .icono{ background:#ffe2e2;border-color:#e23b3b;color:#e23b3b; }
.res-cabecera h2{ font-size:24px; font-weight:700; }
.res-cabecera p{ font-size:14px; font-weight:400; color:#5a6076; }

.burbuja-ia{
  background:#eef3ff; border:3px solid #3b82f6;
  border-radius:20px 20px 20px 6px; padding:16px 18px;
}
.burbuja-ia .mini{ font-size:12px;font-weight:600;color:#2563eb;margin-bottom:8px;letter-spacing:.4px; }
.burbuja-ia .texto-claro{
  font-family:'Fira Code',monospace; font-size:18px; font-weight:600; color:#23283a; word-break:break-word;
}

.claves{ display:flex; gap:14px; flex-wrap:wrap; }
.clave{ flex:1 1 0; min-width:200px; border-radius:18px; padding:16px 18px; border:3px solid; }
.clave.publica{ background:#eef3ff; border-color:#3b82f6; }
.clave.privada{ background:#fff3f3; border-color:#ff5c5c; }
.clave .nombre{ font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px; }
.clave.publica .nombre{ color:#2563eb; }
.clave.privada .nombre{ color:#e23b3b; }
.clave .par{ font-family:'Fira Code',monospace; font-size:22px; font-weight:600; color:#23283a; }

.nota{
  margin-top:18px; background:#fffbe9; border:2px solid #e0ab00;
  border-radius:14px; padding:12px 16px; font-size:14px; color:#7a5e00; font-weight:400;
  display:flex; gap:10px; align-items:flex-start; line-height:1.45;
}
.nota b{ color:#6b5300; }
