.vachat{--vachat-bg:#ffffff;--vachat-fg:#1a1a1a;--vachat-muted:#666666;--vachat-border:#dddddd;--vachat-accent:#111111;--vachat-on-accent:#ffffff;--vachat-user:#111111;--vachat-on-user:#ffffff;--vachat-bot:#f1f1f1;--vachat-error:#b3261e;--vachat-focus:#3b82f6;position:fixed;right:calc(16px + env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom));z-index:9999;display:flex;flex-direction:column;align-items:flex-end;gap:12px;font-family:inherit;font-size:15px;line-height:1.45;color:var(--vachat-fg)}@media(prefers-color-scheme:dark){.vachat{--vachat-bg:#1c1c1e;--vachat-fg:#f2f2f2;--vachat-muted:#a1a1a6;--vachat-border:#3a3a3c;--vachat-accent:#f2f2f2;--vachat-on-accent:#111111;--vachat-user:#f2f2f2;--vachat-on-user:#111111;--vachat-bot:#2c2c2e;--vachat-error:#ff8a80;--vachat-focus:#60a5fa}}.vachat *,.vachat *::before,.vachat *::after{box-sizing:border-box}.vachat button,.vachat textarea{font:inherit;color:inherit}.vachat :focus-visible{outline:2px solid var(--vachat-focus);outline-offset:2px}.vachat-toggle{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:0;border-radius:999px;background:var(--vachat-accent);color:var(--vachat-on-accent)!important;font-weight:600;box-shadow:0 4px 16px rgba(0,0,0,.25);cursor:pointer}.vachat-toggle:hover{transform:translateY(-1px)}.vachat-panel{display:flex;flex-direction:column;width:360px;height:min(560px,calc(100vh - 100px - env(safe-area-inset-top) - env(safe-area-inset-bottom)));height:min(560px,calc(100dvh - 100px - env(safe-area-inset-top) - env(safe-area-inset-bottom)));background:var(--vachat-bg);border:1px solid var(--vachat-border);border-radius:16px;box-shadow:0 12px 40px rgba(0,0,0,.25);overflow:hidden}.vachat-panel[hidden]{display:none}.vachat-panel:focus{outline:none}.vachat-header{display:flex;align-items:center;gap:8px;padding:12px 12px 12px 16px;border-bottom:1px solid var(--vachat-border)}.vachat-title{flex:1;margin:0;font-size:16px;font-weight:600}.vachat-reset,.vachat-close{border:0;background:0 0;color:var(--vachat-muted);cursor:pointer;border-radius:8px}.vachat-reset{padding:4px 8px;font-size:13px}.vachat-close{width:32px;height:32px;font-size:22px;line-height:1}.vachat-reset:hover,.vachat-close:hover{color:var(--vachat-fg);background:var(--vachat-bot)}.vachat-log{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px}.vachat-msg{max-width:85%;padding:8px 12px;border-radius:14px}.vachat-msg p{margin:0}.vachat-text{white-space:pre-wrap;overflow-wrap:anywhere}.vachat-user{align-self:flex-end;background:var(--vachat-user);color:var(--vachat-on-user);border-bottom-right-radius:4px}.vachat-assistant{align-self:flex-start;background:var(--vachat-bot);border-bottom-left-radius:4px}.vachat-thinking{color:var(--vachat-muted);font-style:italic}.vachat-error{align-self:flex-start;color:var(--vachat-error);font-size:14px}.vachat-sources-label{margin-top:8px!important;font-size:13px;color:var(--vachat-muted)}.vachat-sources{margin:2px 0 0;padding-left:18px;font-size:13px}.vachat-sources a{color:inherit;text-decoration:underline}.vachat-suggestions{display:flex;flex-wrap:wrap;gap:6px;max-width:90%}.vachat-chip{padding:5px 12px;border:1px solid var(--vachat-border);border-radius:999px;background:0 0;font-size:14px;text-align:left;cursor:pointer}.vachat-chip:hover{background:var(--vachat-bot)}.vachat-form{display:flex;gap:8px;padding:12px;border-top:1px solid var(--vachat-border)}.vachat-input{flex:1;min-height:44px;max-height:120px;padding:10px 12px;border:1px solid var(--vachat-border);border-radius:12px;background:var(--vachat-bg);resize:none}.vachat-input::placeholder{color:var(--vachat-muted)}.vachat-send{align-self:flex-end;padding:10px 14px;border:0;border-radius:12px;background:var(--vachat-accent);color:var(--vachat-on-accent)!important;font-weight:600;cursor:pointer}.vachat-send:disabled{opacity:.5;cursor:default}.vachat-mic{align-self:flex-end;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--vachat-border);border-radius:12px;background:0 0;cursor:pointer}.vachat-mic[hidden]{display:none}.vachat-mic:hover{background:var(--vachat-bot)}.vachat-mic:disabled{opacity:.5;cursor:default}.vachat-listening,.vachat-listening:hover{border-color:var(--vachat-error);background:var(--vachat-error);color:var(--vachat-bg)!important;animation:vachat-pulse 1.2s ease-in-out infinite}.vachat-speak{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;margin:6px 0 0 -6px;padding:0;border:0;border-radius:999px;background:0 0;color:var(--vachat-muted);cursor:pointer}.vachat-speak:hover{color:var(--vachat-fg);background:var(--vachat-bg)}.vachat-speak-loading{animation:vachat-pulse 1.2s ease-in-out infinite}@keyframes vachat-pulse{50%{opacity:.55}}@media(prefers-reduced-motion:reduce){.vachat-listening,.vachat-speak-loading{animation:none}}.vachat-note{margin:0;padding:0 12px 10px;font-size:11px;color:var(--vachat-muted)}@media(max-width:480px),(max-height:500px){.vachat{right:calc(12px + env(safe-area-inset-right));bottom:calc(12px + env(safe-area-inset-bottom))}.vachat-open .vachat-toggle{display:none}.vachat-panel{position:fixed;left:var(--vachat-left,0px);top:var(--vachat-top,0px);width:var(--vachat-width,100%);height:var(--vachat-height,100vh);border:0;border-radius:0;box-shadow:none;padding-top:env(safe-area-inset-top);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.vachat-header{padding:6px 6px 6px 16px}.vachat-title{font-size:17px}.vachat-reset{padding:10px 12px;font-size:15px}.vachat-close{width:44px;height:44px;font-size:30px;color:var(--vachat-fg)}.vachat-log{font-size:16px;overscroll-behavior:contain}.vachat-msg{max-width:90%}.vachat-sources{font-size:15px}.vachat-chip{min-height:40px;font-size:15px}.vachat-sources li{padding:3px 0}.vachat-form{padding:8px 8px 8px 12px}.vachat .vachat-input{font-size:16px}.vachat-send{min-height:44px}.vachat-speak{width:40px;height:40px}.vachat-note{padding-bottom:max(8px,env(safe-area-inset-bottom))}.vachat-keyboard .vachat-note{padding-bottom:8px}}html.vachat-lock,html.vachat-lock body{overflow:hidden}