/* Chat con el asistente de IA. Boton abajo a la izquierda (Luca va abajo a la derecha). Sin estilos en linea: la CSP no los admite. */
.ch__btn{position:fixed;left:max(var(--gut),env(safe-area-inset-left));bottom:max(1rem,env(safe-area-inset-bottom));z-index:70;display:inline-flex;align-items:center;gap:.55rem;min-height:3.25rem;padding:0 1.15rem 0 1rem;border:1px solid rgba(212,164,74,.6);border-radius:999px;background:var(--bg2);color:var(--texto);font:800 .9375rem/1 var(--f-texto);letter-spacing:-.01em;cursor:pointer;box-shadow:0 14px 34px -14px rgba(0,0,0,.9);transition:transform .4s var(--suave),border-color .25s}
.ch__btn:hover{transform:translateY(-2px);border-color:var(--oro)}
.ch__btn svg{width:1.35rem;height:1.35rem;flex:none;color:var(--oro)}
.ch__btn[aria-expanded="true"]{visibility:hidden}

.ch__panel{position:fixed;left:max(var(--gut),env(safe-area-inset-left));bottom:max(1rem,env(safe-area-inset-bottom));z-index:90;display:flex;flex-direction:column;width:min(24.5rem,calc(100vw - 2 * var(--gut)));height:min(36rem,calc(100vh - 2rem));height:min(36rem,calc(100dvh - 2rem));overflow:hidden;background:var(--bg2);border:1px solid rgba(212,164,74,.3);border-radius:16px;box-shadow:0 28px 70px -24px rgba(0,0,0,.9);animation:ch-entra .45s var(--suave) both}
.ch__panel[hidden]{display:none}
@keyframes ch-entra{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}

.ch__cab{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem .75rem .85rem 1.15rem;border-bottom:1px solid var(--filete)}
.ch__tit strong{display:block;font:800 1rem/1.25 var(--f-texto);letter-spacing:-.01em}
.ch__tit span{display:block;margin-top:.15rem;color:var(--oro);font:700 .8125rem/1.2 var(--f-texto);letter-spacing:.03em;text-transform:uppercase}
.ch__x{display:grid;place-items:center;width:2.75rem;height:2.75rem;border:0;border-radius:50%;background:none;color:var(--sec);cursor:pointer;transition:color .25s,background-color .25s}
.ch__x:hover{color:var(--texto);background:rgba(255,255,255,.06)}
.ch__x svg{width:1.25rem;height:1.25rem}

.ch__log{flex:1;display:flex;flex-direction:column;gap:.65rem;overflow-y:auto;overscroll-behavior:contain;padding:1rem 1.15rem}
.ch__m{max-width:88%;padding:.65rem .9rem;border-radius:14px;font:400 .96875rem/1.5 var(--f-texto);white-space:pre-wrap;overflow-wrap:anywhere}
.ch__m--bot{align-self:flex-start;background:var(--bg);border:1px solid var(--filete);color:var(--texto);border-bottom-left-radius:4px}
.ch__m--yo{align-self:flex-end;background:var(--naranja);color:var(--bg);font-weight:600;border-bottom-right-radius:4px}
.ch__m--err{align-self:flex-start;background:none;border:1px dashed var(--filete);color:var(--sec);font-size:.9rem}
.ch__esc span{display:inline-block;width:.45rem;height:.45rem;margin:0 .12rem;border-radius:50%;background:var(--sec);animation:ch-p 1s infinite ease-in-out}
.ch__esc span:nth-child(2){animation-delay:.15s}
.ch__esc span:nth-child(3){animation-delay:.3s}
@keyframes ch-p{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}

.ch__sug{display:flex;flex-wrap:wrap;gap:.5rem;padding-top:.25rem}
.ch__chip{min-height:2.5rem;padding:.4rem .9rem;border:1px solid var(--filete);border-radius:999px;background:none;color:var(--texto);font:600 .9rem/1.25 var(--f-texto);text-align:left;cursor:pointer;transition:border-color .25s,transform .35s var(--suave)}
.ch__chip:hover{border-color:var(--oro);transform:translateY(-1px)}
.ch__aviso{margin:0;padding:.6rem 1.15rem;border-top:1px solid var(--filete);color:var(--sec);font:400 .78125rem/1.45 var(--f-texto)}
.ch__aviso a{color:var(--texto);text-underline-offset:.2em;text-decoration-color:rgba(212,164,74,.6)}
.ch__form{display:flex;align-items:flex-end;gap:.5rem;padding:.75rem 1rem 1rem;border-top:1px solid var(--filete)}
.ch__in{flex:1;min-height:2.75rem;max-height:7rem;resize:none;padding:.65rem .85rem;background:var(--bg);color:var(--texto);border:1px solid var(--filete);border-radius:14px;font:400 1rem/1.4 var(--f-texto)}
.ch__in::placeholder{color:var(--sec)}
.ch__in:focus-visible{outline:2px solid var(--oro);outline-offset:2px}
.ch__env{min-height:2.75rem;padding:0 1.1rem;border:0;border-radius:999px;background:var(--naranja);color:var(--bg);font:800 .9375rem/1 var(--f-texto);cursor:pointer;transition:transform .35s var(--suave),background-color .25s}
.ch__env:hover:not(:disabled){background:var(--naranja-claro);transform:translateY(-1px)}
.ch__env:disabled{opacity:.5;cursor:default}
.ch__hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}

@media (max-width:600px){
  .ch__panel{left:.5rem;right:.5rem;bottom:.5rem;width:auto;height:min(80vh,36rem);height:min(80dvh,36rem)}
}
@media (prefers-reduced-motion:reduce){
  .ch__panel{animation:none}
  .ch__btn,.ch__env{transition:none}
  .ch__esc span{animation:none;opacity:.7}
}
