/* Asistente de voz. Usa las variables de styles.css. Sin estilos en línea (CSP style-src 'self'). */
.voz-root{position:fixed;right:16px;bottom:16px;z-index:60;font-family:var(--f-body,system-ui,sans-serif);color:var(--tinta,#E8EDF5)}
.voz-root [hidden]{display:none !important}
.voz-orb{position:relative;display:block;margin-left:auto;width:60px;height:60px;border:0;border-radius:50%;background:var(--naranja,#F26522);cursor:pointer;box-shadow:0 6px 24px rgba(0,0,0,.45)}
.voz-orb:focus-visible,.voz-btn:focus-visible{outline:3px solid var(--naranja-claro,#FF8A47);outline-offset:3px}
.voz-orb-core{position:absolute;inset:18px;border-radius:50%;background:var(--fondo,#0B1322)}
.voz-orb-ring{position:absolute;inset:0;border-radius:50%;border:2px solid var(--naranja-claro,#FF8A47);opacity:0}
.voz-root[data-state="listening"] .voz-orb-ring,.voz-root[data-state="connecting"] .voz-orb-ring{opacity:.8}
.voz-root[data-state="speaking"] .voz-orb{background:var(--naranja-claro,#FF8A47)}
.voz-panel{width:min(340px,calc(100vw - 32px));margin-bottom:12px;padding:16px;border:1px solid var(--linea-fuerte,rgba(151,169,199,.26));border-radius:var(--radius,4px);background:var(--fondo-2,#101A2E);box-shadow:0 12px 40px rgba(0,0,0,.5)}
.voz-panel[hidden]{display:none}
.voz-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.voz-title{font-family:var(--f-display,system-ui);font-size:.95rem}
.voz-status{margin:0 0 8px;font-size:.9rem;color:var(--tinta-2,#B7C3D8)}
.voz-root[data-state="error"] .voz-status,.voz-root[data-state="limit"] .voz-status{color:var(--naranja-claro,#FF8A47)}
.voz-captions{min-height:3.2em;margin-bottom:8px}
.voz-line{margin:0 0 6px;font-size:.9rem;line-height:1.4;overflow-wrap:anywhere}
.voz-user{color:var(--tinta-suave,#7C8CA8)}
.voz-remaining{margin:0 0 8px;font-size:.8rem;color:var(--tinta-suave,#7C8CA8)}
.voz-btn{display:inline-block;padding:8px 14px;border:1px solid var(--linea-fuerte,rgba(151,169,199,.26));border-radius:var(--radius,4px);background:transparent;color:inherit;font:inherit;font-size:.9rem;text-decoration:none;cursor:pointer}
.voz-btn-primary{background:var(--naranja,#F26522);border-color:var(--naranja,#F26522);color:#0B1322;font-weight:600}
.voz-close{padding:2px 10px;font-size:1.2rem;line-height:1.2}
.voz-consent{position:fixed;inset:0;margin:auto;height:fit-content;max-width:min(440px,calc(100vw - 32px));padding:24px;border:1px solid var(--linea-fuerte,rgba(151,169,199,.26));border-radius:var(--radius,4px);background:var(--fondo-2,#101A2E);color:var(--tinta,#E8EDF5)}
.voz-consent::backdrop{background:rgba(5,10,20,.7)}
.voz-consent h2{margin:0 0 12px;font-size:1.1rem}
.voz-consent p{margin:0 0 12px;line-height:1.5}
.voz-consent a{color:var(--naranja-claro,#FF8A47)}
.voz-consent-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}
.voz-resaltada{outline:2px solid var(--naranja,#F26522);outline-offset:-6px;transition:outline-color .6s}
@media (prefers-reduced-motion:no-preference){
  .voz-root[data-state="listening"] .voz-orb-ring{animation:voz-pulso 1.8s ease-out infinite}
  .voz-root[data-state="speaking"] .voz-orb-ring{animation:voz-pulso .9s ease-out infinite}
  @keyframes voz-pulso{from{transform:scale(1);opacity:.8}to{transform:scale(1.5);opacity:0}}
}
@media (max-width:480px){.voz-root{right:12px;bottom:12px}}
