/* Assistente Vyxa flutuante (vyxa.io) — client/studio/assets/js/assistant.js.
   Botão redondo no canto inferior direito, arrastável; o painel abre junto
   dele. Cores do site (hf.css), sem depender dele (funciona em qualquer página). */
.vx-as{--vx-acid:#d4ff00;--vx-ink:#0a0f00;--vx-bg:#0d0d11;--vx-bg2:#15151b;--vx-line:rgba(255,255,255,.1);--vx-text:#f6f6f3;--vx-muted:#a3a3ad;--vx-violet:#a855f7;
  position:fixed;z-index:900;font:15px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--vx-text)}
.vx-as *{box-sizing:border-box}
.vx-as-fab{position:fixed;width:58px;height:58px;border-radius:50%;border:0;padding:0;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;
  background:radial-gradient(circle at 30% 25%,#e9ff6b,var(--vx-acid) 45%,#8ee600);color:var(--vx-ink);
  box-shadow:0 10px 30px rgba(0,0,0,.5),0 0 0 3px rgba(168,85,247,.55);display:flex;align-items:center;justify-content:center;transition:transform .15s ease,box-shadow .2s ease}
.vx-as-fab:hover{transform:scale(1.05)}
.vx-as-fab:focus-visible{outline:3px solid #fff;outline-offset:3px}
.vx-as-fab.is-drag{cursor:grabbing;transform:scale(1.08);transition:none}
.vx-as-fab svg{width:28px;height:28px;pointer-events:none}
.vx-as-fab .vx-as-dot{position:absolute;top:3px;right:3px;width:12px;height:12px;border-radius:50%;background:var(--vx-violet);border:2px solid var(--vx-acid)}
.vx-as-tip{position:fixed;padding:6px 10px;border-radius:999px;background:var(--vx-bg);border:1px solid var(--vx-line);font-size:.8rem;font-weight:700;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .2s}
.vx-as-tip.is-on{opacity:1}
.vx-as-panel{position:fixed;width:min(380px,calc(100vw - 16px));height:min(560px,calc(100vh - 110px));display:none;flex-direction:column;overflow:hidden;
  background:var(--vx-bg);border:1px solid var(--vx-line);border-radius:18px;box-shadow:0 24px 60px rgba(0,0,0,.6)}
.vx-as-panel.is-open{display:flex}
.vx-as-head{display:flex;align-items:center;gap:10px;padding:12px 12px 12px 14px;border-bottom:1px solid var(--vx-line);background:linear-gradient(120deg,rgba(124,58,237,.35),rgba(212,255,0,.08));cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}
.vx-as-head.is-drag{cursor:grabbing}
.vx-as-av{width:34px;height:34px;flex:none;border-radius:50%;background:var(--vx-acid);color:var(--vx-ink);display:flex;align-items:center;justify-content:center}
.vx-as-av svg{width:20px;height:20px}
.vx-as-ttl{flex:1;min-width:0}
.vx-as-ttl b{display:block;font-size:.98rem}
.vx-as-ttl span{display:block;font-size:.75rem;color:var(--vx-muted)}
.vx-as-x{width:34px;height:34px;flex:none;border:0;border-radius:10px;background:transparent;color:var(--vx-text);font-size:1.3rem;line-height:1;cursor:pointer}
.vx-as-x:hover,.vx-as-x:focus-visible{background:rgba(255,255,255,.08)}
.vx-as-log{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px;overscroll-behavior:contain}
.vx-as-msg{max-width:88%;padding:9px 12px;border-radius:14px;white-space:normal;word-wrap:break-word;overflow-wrap:anywhere}
.vx-as-msg.bot{align-self:flex-start;background:var(--vx-bg2);border:1px solid var(--vx-line);border-bottom-left-radius:4px}
.vx-as-msg.me{align-self:flex-end;background:var(--vx-acid);color:var(--vx-ink);border-bottom-right-radius:4px;font-weight:600}
.vx-as-msg a{color:var(--vx-acid);text-decoration:underline}
.vx-as-msg.me a{color:var(--vx-ink)}
.vx-as-msg ul{margin:4px 0;padding-left:18px}
.vx-as-typing{align-self:flex-start;color:var(--vx-muted);font-size:.85rem;padding:2px 4px}
.vx-as-chips{display:flex;flex-wrap:wrap;gap:6px}
.vx-as-chip{border:1px solid var(--vx-line);background:transparent;color:var(--vx-text);border-radius:999px;padding:6px 11px;font:inherit;font-size:.82rem;cursor:pointer}
.vx-as-chip:hover,.vx-as-chip:focus-visible{border-color:var(--vx-acid);color:var(--vx-acid)}
.vx-as-cta{align-self:flex-start;border:0;border-radius:999px;background:var(--vx-violet);color:#fff;padding:8px 14px;font:inherit;font-weight:700;font-size:.85rem;cursor:pointer}
.vx-as-foot{border-top:1px solid var(--vx-line);padding:10px}
.vx-as-row{display:flex;gap:8px;align-items:flex-end}
.vx-as-in{flex:1;min-height:42px;max-height:120px;resize:none;border:1px solid var(--vx-line);border-radius:12px;background:var(--vx-bg2);color:var(--vx-text);padding:10px 12px;font:inherit}
.vx-as-in:focus{outline:none;border-color:var(--vx-acid)}
.vx-as-send{width:42px;height:42px;flex:none;border:0;border-radius:12px;background:var(--vx-acid);color:var(--vx-ink);cursor:pointer;display:flex;align-items:center;justify-content:center}
.vx-as-send:disabled{opacity:.5;cursor:default}
.vx-as-send svg{width:20px;height:20px}
.vx-as-mini{margin-top:6px;display:flex;justify-content:space-between;gap:8px;font-size:.72rem;color:var(--vx-muted)}
.vx-as-link{border:0;background:none;color:var(--vx-muted);font:inherit;text-decoration:underline;cursor:pointer;padding:0}
.vx-as-link:hover{color:var(--vx-text)}
.vx-as-ts{display:flex;justify-content:center}
.vx-as-ts:empty{display:none}
.vx-as-form{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--vx-line);border-radius:14px;background:var(--vx-bg2)}
.vx-as-form b{font-size:.9rem}
.vx-as-form p{margin:0;font-size:.78rem;color:var(--vx-muted)}
.vx-as-form input,.vx-as-form textarea{width:100%;border:1px solid var(--vx-line);border-radius:10px;background:var(--vx-bg);color:var(--vx-text);padding:9px 10px;font:inherit;font-size:.9rem}
.vx-as-form textarea{min-height:84px;resize:vertical}
.vx-as-form input:focus,.vx-as-form textarea:focus{outline:none;border-color:var(--vx-acid)}
.vx-as-att{display:flex;flex-direction:column;gap:4px;font-size:.78rem;color:var(--vx-muted)}
.vx-as-att input{font-size:.8rem;color:var(--vx-text)}
.vx-as-form .vx-as-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.vx-as-fbtns{display:flex;gap:8px;justify-content:flex-end}
.vx-as-fbtns button{border:0;border-radius:999px;padding:8px 14px;font:inherit;font-weight:700;font-size:.85rem;cursor:pointer}
.vx-as-fbtns .ok{background:var(--vx-acid);color:var(--vx-ink)}
.vx-as-fbtns .no{background:transparent;color:var(--vx-muted);border:1px solid var(--vx-line)}
.vx-as-fbtns button:disabled{opacity:.5;cursor:default}
.vx-as-st{font-size:.8rem}
.vx-as-st.ok{color:var(--vx-acid)}
.vx-as-st.err{color:#ff7a7a}
@media (max-width:520px){
  .vx-as-panel{left:8px!important;right:8px!important;top:auto!important;bottom:8px!important;width:auto;height:min(78vh,620px)}
  .vx-as.is-open .vx-as-fab,.vx-as.is-open .vx-as-tip{display:none}
}
@media print{.vx-as{display:none}}
@media (prefers-reduced-motion:reduce){.vx-as-fab{transition:none}}
