/* Asistente local de Issa Herrería — v1.0.0 */
.bot{position:fixed;right:clamp(.7rem,2.4vw,1.6rem);bottom:clamp(.7rem,2.4vw,1.6rem);z-index:var(--z-bot);width:min(24.5rem,calc(100vw - 1.4rem));height:min(36rem,calc(100dvh - 1.6rem));display:grid;grid-template-rows:auto 1fr auto auto;background:var(--bg-2);border:1px solid var(--line);border-radius:6px;box-shadow:0 40px 80px -24px oklch(0 0 0/.75);overflow:hidden;transform-origin:100% 100%;animation:bot-in .45s var(--ease)}
.bot[hidden]{display:none}
@keyframes bot-in{from{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:none}}
.bot__hd{display:flex;align-items:center;gap:.8rem;padding:.9rem 1rem;background:var(--panel);border-bottom:1px solid var(--line)}
.bot__hd img{width:2.7rem;height:2.7rem;border-radius:50%;box-shadow:0 0 0 2px var(--ember)}
.bot__hd b{display:block;font:800 1.2rem/1 var(--f-display);text-transform:uppercase;letter-spacing:.05em}
.bot__hd small{color:var(--ink-2);font-size:.8rem}
.bot__x{margin-left:auto;width:2.2rem;height:2.2rem;border-radius:50%;border:1px solid var(--line);background:transparent;cursor:pointer;display:grid;place-items:center}
.bot__x:hover{border-color:var(--ink-2)}
.bot__log{overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.7rem;scroll-behavior:smooth;overscroll-behavior:contain}
.msg{max-width:88%;padding:.7rem .95rem;border-radius:4px;font-size:.96rem;line-height:1.5;animation:msg-in .35s var(--ease)}
.msg p{margin:0 0 .5em;max-width:none}.msg p:last-child{margin:0}
.msg a{color:var(--ember-text);text-underline-offset:3px;font-weight:600}
.msg--bot{align-self:flex-start;background:var(--bg-3);border:1px solid var(--line)}
.msg--me{align-self:flex-end;background:var(--ember);color:var(--ember-ink);font-weight:500}
@keyframes msg-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.bot__chips{display:flex;flex-wrap:wrap;gap:.45rem;padding:.2rem 1rem .8rem}
.bot__chips:empty{display:none}
.bot__chips button{padding:.5rem .8rem;border-radius:2px;border:1px solid var(--line);background:transparent;cursor:pointer;font-size:.88rem;font-weight:500;transition:border-color .2s,background .2s}
.bot__chips button:hover{border-color:var(--ember);background:color-mix(in oklab,var(--ember) 12%,transparent)}
.bot__wa{margin:0 1rem .9rem;justify-content:center}
.bot__wa[hidden]{display:none}
.bot__form{display:flex;gap:.5rem;padding:.7rem;border-top:1px solid var(--line);background:var(--bg)}
:root[data-theme="light"] .bot__form{background:oklch(1 0 0)}
.bot__form input{flex:1;min-width:0;padding:.75rem .9rem;border:1px solid var(--line);border-radius:3px;background:transparent}
.bot__form input:focus{outline:none;border-color:var(--ember)}
.bot__form button{padding:0 1rem;border:0;border-radius:3px;background:var(--ember);color:var(--ember-ink);font-weight:700;cursor:pointer}
@media (max-width:520px){.bot{right:.7rem;left:.7rem;width:auto;bottom:.7rem;height:min(34rem,calc(100dvh - 1.4rem))}}
@media (prefers-reduced-motion:reduce){.bot,.msg{animation:none}}

/* ---- Mascota arrastrable (reemplaza al botón circular) ---- */
.mascot{position:fixed;left:0;top:0;z-index:var(--z-bot);width:clamp(84px,10.5vw,118px);touch-action:none;transform:translate3d(var(--tx,-200px),var(--ty,-200px),0);user-select:none;-webkit-user-select:none}
.mascot[hidden]{display:none}
.mascot__btn{display:block;width:100%;padding:0;border:0;background:none;cursor:grab;position:relative;-webkit-tap-highlight-color:transparent;border-radius:12px}
.mascot__btn::before{content:"";position:absolute;left:12%;right:6%;bottom:-.2rem;height:.9rem;border-radius:50%;background:radial-gradient(closest-side,oklch(0 0 0/.55),transparent);filter:blur(2px);z-index:-1}
.mascot__btn img{display:block;width:100%;height:auto;pointer-events:none;-webkit-user-drag:none;filter:drop-shadow(0 10px 12px oklch(0 0 0/.45));transform-origin:50% 100%;animation:mascot-bob 4.6s ease-in-out infinite}
.mascot__btn:hover img{animation:mascot-hi .9s var(--ease) 1}
.mascot.is-drag .mascot__btn{cursor:grabbing}
.mascot.is-drag .mascot__btn img{animation:none;transform:rotate(var(--tilt,0deg)) scale(1.05);transition:transform .12s linear}
.mascot__btn:focus-visible{outline-offset:2px}
@keyframes mascot-bob{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-5px) rotate(.6deg)}}
@keyframes mascot-hi{0%{transform:rotate(0)}30%{transform:rotate(-5deg) scale(1.04)}60%{transform:rotate(3deg) scale(1.04)}100%{transform:none}}
.mascot__tip{position:absolute;bottom:calc(100% - .4rem);right:35%;width:max-content;max-width:min(15rem,60vw);padding:.65rem .9rem;border-radius:10px 10px 2px 10px;background:var(--ember);color:var(--ember-ink);font:600 .9rem/1.35 var(--f-body);box-shadow:0 10px 24px -10px oklch(0 0 0/.6);animation:msg-in .45s var(--ease);pointer-events:none}
.mascot__tip[hidden]{display:none}
.mascot.tip-left .mascot__tip{right:auto;left:35%;border-radius:10px 10px 10px 2px}
@media (prefers-reduced-motion:reduce){.mascot__btn img,.mascot__btn:hover img{animation:none}}
