@charset "utf-8";
/* estilo.css — limpio y responsive */
:root{
  --brand:#003366;
  --brand-2:#0055a5;
  --ink:#333;
  --bg:#f5f7fb;
  --card:#fff;
  --border:#e5e7eb;
  --muted:#6b7280;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:system-ui,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--ink)}

/* Header / NAV */
.site-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--brand);color:#fff;position:sticky;top:0;z-index:10}
.brand-link{display:flex;align-items:center;gap:.6rem;color:#fff;text-decoration:none}
.logo{height:42px;width:auto;display:block}
.brand-title{font-weight:700;letter-spacing:.2px}
.nav-toggle{display:none}
.nav-toggle-btn{display:none;color:#fff;font-size:1.4rem;cursor:pointer;padding:.25rem .5rem}
.site-nav ul{list-style:none;display:flex;gap:.25rem;margin:0;padding:0;background:var(--brand-2);border-radius:.6rem;overflow:hidden}
.site-nav a{display:block;color:#fff;text-decoration:none;padding:.7rem 1rem}
.site-nav a:hover,.site-nav a.active{background:var(--brand)}

/* Layout */
.site-main{padding:1rem}
.container{max-width:1000px;margin:0 auto}
.card{background:var(--card);border:1px solid var(--border);border-radius:.9rem;padding:1rem}
.hero{background:linear-gradient(180deg,#eef4ff,#fff);border:1px solid var(--border);border-radius:.9rem;padding:1.25rem;margin:1rem auto}
.hero h1{margin:.2rem 0 0}
.hero p{color:var(--muted)}

/* Footer */
.site-footer{margin-top:2rem;text-align:center;padding:1rem;background:var(--brand);color:#fff}

/* Chat (AVI) */
.chat-panel{background:#fff;border:1px solid var(--border);border-radius:.9rem;padding:1rem}
.chat-box{height:420px;overflow:auto;border:1px solid var(--border);border-radius:.6rem;padding:.75rem;background:#f8fafc}
.msg{margin:.45rem 0;padding:.6rem .7rem;border-radius:.7rem;max-width:85%;word-wrap:break-word;white-space:pre-wrap}
.msg.user{margin-left:auto;background:#e6f2ff;color:#0b3358}
.msg.avi{background:#eef4ff;color:#12223a}
.chat-controls{display:flex;gap:.5rem;margin-top:.75rem;align-items:center}
.chat-controls input{flex:1;padding:.7rem;border:1px solid #cbd5e1;border-radius:.6rem}
.btn{padding:.7rem 1rem;border:none;border-radius:.6rem;background:#005ea6;color:#fff;cursor:pointer}
.mic-btn{display:inline-flex;align-items:center;gap:.5rem;border:none;border-radius:.6rem;padding:.6rem .75rem;cursor:pointer;background:#10b981;color:#fff}
.mic-btn svg{width:20px;height:20px}
.mic-btn.listening{background:#ef4444}
.hint{font-size:.9rem;color:var(--muted);margin-top:.4rem}

/* Responsive NAV */
@media (max-width: 900px){
  .site-nav ul{flex-direction:column}
}
@media (max-width: 720px){
  .nav-toggle-btn{display:block}
  .site-nav{position:absolute;left:0;right:0;top:60px;padding:0 1rem;display:none}
  .nav-toggle:checked ~ .site-nav{display:block}
  .site-nav ul{flex-direction:column;background:var(--brand-2)}
}

/* Forms */
input, textarea, select{font:inherit}
label{font-weight:600}

/* Cursor de “máquina de escribir” para AVI */
.msg.avi.typing .caret::after{
  content: "|";
  animation: blink 1s steps(1) infinite;
  margin-left: 2px;
}
@keyframes blink { 50% { opacity: 0; } }

/* Efecto cursor titilando */
.msg.avi.typing .caret::after {
  content: "|";
  display: inline-block;
  margin-left: 2px;
  animation: blink 1s infinite;
  color: #00ffcc; /* podés cambiar el color */
  font-weight: bold;
}

@keyframes blink {
  0%, 50% { opacity: 1; }
  51%, 100% { opacity: 0; }
}

