/* ════════════════════════════════════════════════════════════════════════
   LEX — mascota IA on-site de Liberate de Deudas (firma de producto · R38)
   Sello notarial vivo: medallón navy + anillos cobre + ojos que siguen el
   cursor. Construido 100% CSS/SVG (sin assets · escala vectorial · ~0 KB img).
   Cerebro client-side determinista ($0 · sin backend · Regla-conexión P0).
   Automatiza.ia · automatizaia.app · build=automatiza-ia
   Respeta prefers-reduced-motion y touch. Hereda los 7 tokens del sitio.
   ════════════════════════════════════════════════════════════════════════ */

/* ---------- Launcher (medallón flotante) ---------- */
.lex-launch{
  position:fixed;z-index:9999;right:22px;bottom:22px;
  width:66px;height:66px;padding:0;border:0;background:none;cursor:pointer;
  border-radius:50%;line-height:0;
  filter:drop-shadow(0 14px 30px rgba(15,23,42,.34));
  transition:transform .25s cubic-bezier(.2,.8,.2,1);
}
.lex-launch:hover{transform:translateY(-3px) scale(1.04)}
.lex-launch:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
@media (max-width:640px){.lex-launch{right:12px;bottom:12px;width:58px;height:58px}}

.lex-seal{position:relative;width:100%;height:100%;border-radius:50%;
  background:radial-gradient(circle at 38% 32%,#1c2a4d 0%,var(--navy) 60%,#0a1120 100%);
  border:1.5px solid var(--copper);
  box-shadow:inset 0 0 0 4px rgba(217,160,102,.18),inset 0 2px 6px rgba(255,255,255,.06);
  display:flex;align-items:center;justify-content:center;overflow:hidden}
.lex-launch.idle .lex-seal{animation:lex-float 4.8s ease-in-out infinite}
@keyframes lex-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}

/* anillo de texto giratorio */
.lex-ring{position:absolute;inset:0;animation:lex-spin 26s linear infinite}
.lex-ring text{fill:rgba(217,160,102,.85);font-family:var(--mono);font-size:7.4px;letter-spacing:1.6px}
@keyframes lex-spin{to{transform:rotate(360deg)}}

/* cara · ojos */
.lex-face{position:absolute;top:50%;left:50%;transform:translate(-50%,-46%);
  display:flex;gap:10px;align-items:center}
.lex-eye{width:13px;height:15px;border-radius:50%;background:#F5F3EF;position:relative;
  box-shadow:inset 0 -1px 2px rgba(15,23,42,.18)}
.lex-pupil{position:absolute;top:50%;left:50%;width:6.5px;height:6.5px;border-radius:50%;
  background:radial-gradient(circle at 38% 34%,#3a4a78 0%,var(--navy) 70%);
  transform:translate(-50%,-50%);will-change:transform}
.lex-launch.blink .lex-eye{height:2.5px;transition:height .12s ease}
@media (max-width:640px){.lex-eye{width:12px;height:14px}.lex-pupil{width:6px;height:6px}}

/* pulso "vivo · 24/7" */
.lex-live{position:absolute;top:5px;right:5px;width:9px;height:9px;border-radius:50%;
  background:var(--green);box-shadow:0 0 7px var(--green);z-index:3}
.lex-live::after{content:"";position:absolute;inset:-4px;border-radius:50%;
  border:1.5px solid var(--green);opacity:.6;animation:livepulse 2.2s ease-out infinite}

/* ---------- Burbuja proactiva ---------- */
.lex-bubble{position:fixed;z-index:9998;right:98px;bottom:40px;max-width:236px;
  background:#fff;border:1px solid var(--hair-copper);border-radius:14px 14px 4px 14px;
  padding:12px 34px 12px 15px;font:400 14px/1.45 var(--sans);color:var(--navy);
  box-shadow:var(--shadow-lg);cursor:pointer;animation:lex-pop .26s cubic-bezier(.2,.8,.2,1)}
.lex-bubble b{color:var(--copper)}
.lex-bubble .lex-bx{position:absolute;top:4px;right:6px;background:none;border:0;
  color:var(--navy-40);cursor:pointer;font-size:16px;line-height:1;padding:2px}
@media (max-width:640px){.lex-bubble{right:80px;bottom:30px;max-width:200px}}
@keyframes lex-pop{from{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:none}}

/* ---------- Panel de chat ---------- */
.lex-panel{position:fixed;z-index:9998;right:22px;bottom:100px;
  width:min(384px,calc(100vw - 24px));max-height:min(76vh,580px);
  display:flex;flex-direction:column;background:var(--cream);
  border:1px solid var(--hair-copper);border-radius:18px;overflow:hidden;
  box-shadow:var(--shadow-xl);animation:lex-pop .22s cubic-bezier(.2,.8,.2,1)}
@media (max-width:640px){.lex-panel{right:8px;left:8px;bottom:8px;width:auto;max-height:82vh}}

.lex-head{display:flex;align-items:center;gap:11px;padding:13px 15px;
  background:var(--navy);color:#F5F3EF}
.lex-head .lex-mini{width:34px;height:34px;flex:0 0 auto}
.lex-head .lex-h-t{flex:1;line-height:1.15}
.lex-head .lex-h-t b{font:700 14px/1.2 var(--sans);display:block}
.lex-head .lex-h-t span{font:500 11px/1.3 var(--mono);color:#D9A066;display:inline-flex;align-items:center;gap:6px}
.lex-head .lex-h-t .live-dot{width:7px;height:7px}
.lex-head .lex-close{background:none;border:0;color:#cbd2e6;cursor:pointer;font-size:21px;line-height:1;padding:4px}

.lex-log{flex:1;overflow-y:auto;padding:15px;display:flex;flex-direction:column;gap:11px;
  background:var(--cream);scroll-behavior:smooth}
.lex-row{max-width:86%;animation:lex-pop .2s ease}
.lex-row.bot{align-self:flex-start}
.lex-row.me{align-self:flex-end}
.lex-msg{padding:10px 13px;font:400 14px/1.5 var(--sans)}
.lex-row.bot .lex-msg{background:#fff;border:1px solid var(--hair-copper);color:var(--navy);
  border-radius:4px 14px 14px 14px;box-shadow:var(--shadow-sm)}
.lex-row.me .lex-msg{background:var(--navy);color:#F5F3EF;border-radius:14px 4px 14px 14px}
.lex-msg b{font-weight:600}
.lex-msg .cite{font-family:var(--mono);color:var(--copper);font-weight:500;font-size:12.5px}
.lex-row.bot .lex-msg p{margin:0 0 8px}.lex-row.bot .lex-msg p:last-child{margin:0}

.lex-typing{align-self:flex-start;padding:11px 14px;background:#fff;border:1px solid var(--hair-copper);
  border-radius:4px 14px 14px 14px;color:var(--navy-40)}
.lex-typing span{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--navy-40);
  margin:0 1.5px;animation:lex-dot 1.2s infinite}
.lex-typing span:nth-child(2){animation-delay:.18s}.lex-typing span:nth-child(3){animation-delay:.36s}
@keyframes lex-dot{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}

/* quick replies */
.lex-quick{display:flex;flex-wrap:wrap;gap:7px;margin-top:2px}
.lex-quick button{background:#fff;border:1px solid var(--hair-copper);color:var(--navy);
  border-radius:999px;padding:7px 12px;font:500 12.5px/1 var(--sans);cursor:pointer;transition:.15s}
.lex-quick button:hover{border-color:var(--copper);background:var(--copper-soft)}

/* CTAs persistentes */
.lex-ctas{display:flex;gap:8px;padding:9px 11px 0}
.lex-ctas a{flex:1;text-align:center;text-decoration:none;border-radius:10px;
  padding:9px 8px;font:600 12.5px/1.2 var(--sans)}
.lex-ctas .c-go{background:var(--copper);color:#fff}
.lex-ctas .c-wa{background:#fff;color:var(--navy);border:1px solid var(--hair-copper)}

/* disclaimer mini anti-UPL */
.lex-disc{padding:8px 13px 0;font:400 10.5px/1.4 var(--sans);color:var(--navy-55)}

/* input */
.lex-form{display:flex;gap:8px;padding:11px}
.lex-form input{flex:1;border:1.5px solid var(--hair-navy);border-radius:11px;
  padding:10px 13px;font:400 14px/1 var(--sans);outline:0;color:var(--navy);background:#fff}
.lex-form input::placeholder{color:var(--navy-40)}
.lex-form input:focus{border-color:var(--copper)}
.lex-form button{background:var(--copper);color:#fff;border:0;border-radius:11px;width:44px;
  cursor:pointer;font-size:16px;flex:0 0 auto}
.lex-form button:disabled{background:var(--hair-copper);cursor:default}
.lex-count{text-align:center;font:500 11px/1 var(--mono);color:var(--navy-40);padding:0 0 9px}

@media (prefers-reduced-motion:reduce){
  .lex-ring{animation:none}.lex-launch.idle .lex-seal{animation:none}
  .lex-launch.blink .lex-eye{transition:none}
  .lex-bubble,.lex-panel,.lex-row,.lex-typing span{animation:none !important}
}
