.vindev-ai-shell{--ai-primary:#3b82f6;--ai-primary-strong:#2563eb;--ai-glow:#60a5fa;--ai-online:#22c55e;--ai-bg:rgba(255,255,255,.86);--ai-panel:rgba(255,255,255,.96);--ai-panel-solid:#fff;--ai-soft:#f3f7ff;--ai-soft-strong:#eaf2ff;--ai-text:#102a4c;--ai-muted:#64748b;--ai-border:rgba(59,130,246,.22);--ai-border-strong:rgba(59,130,246,.42);--ai-shadow:rgba(37,99,235,.18);--ai-overlay:rgba(15,35,68,.26);position:fixed;right:24px;bottom:24px;z-index:1090;width:320px;color:var(--ai-text);font-family:Inter,Rubik,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
html:not(.light-theme) .vindev-ai-shell[data-surface="landing"],html.vindev-dashboard-dark .vindev-ai-shell{--ai-bg:rgba(11,23,43,.84);--ai-panel:rgba(9,21,40,.96);--ai-panel-solid:#0c1a30;--ai-soft:rgba(17,38,70,.72);--ai-soft-strong:rgba(37,99,235,.16);--ai-text:#f8fbff;--ai-muted:#94a3b8;--ai-border:rgba(96,165,250,.28);--ai-border-strong:rgba(96,165,250,.64);--ai-shadow:rgba(37,99,235,.28);--ai-overlay:rgba(2,11,25,.62)}
.vindev-ai-launcher{position:relative;display:flex;align-items:center;width:320px;height:72px;gap:12px;padding:9px 10px 9px 13px;overflow:visible;border:1px solid var(--ai-border-strong);border-radius:999px;background:var(--ai-bg);box-shadow:0 14px 36px var(--ai-shadow),inset 0 1px 0 rgba(255,255,255,.38);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);color:var(--ai-text);text-align:left;cursor:pointer;opacity:0;transform:translateY(12px) scale(.96);animation:vindevAiLauncherIn .3s cubic-bezier(.4,0,.2,1) .05s forwards;transition:transform .3s cubic-bezier(.4,0,.2,1),border-color .3s ease,box-shadow .3s ease,opacity .24s ease,visibility .24s ease}
.vindev-ai-launcher:hover,.vindev-ai-launcher:focus-visible{border-color:var(--ai-glow);box-shadow:0 17px 42px var(--ai-shadow),0 0 22px rgba(96,165,250,.14),inset 0 1px 0 rgba(255,255,255,.44);outline:0;transform:translateY(-2px) scale(1.02)}
.vindev-ai-launcher:active{transform:translateY(0) scale(1.01)}
.vindev-ai-launcher-avatar,.vindev-ai-avatar{position:relative;display:grid;place-items:center;flex:0 0 auto;border:1px solid rgba(96,165,250,.72);border-radius:50%;background:radial-gradient(circle at 35% 25%,rgba(96,165,250,.34),rgba(12,27,53,.94) 72%);box-shadow:0 0 0 5px rgba(59,130,246,.08),0 0 19px rgba(96,165,250,.25);color:#fff;font-weight:800}
.vindev-ai-launcher-avatar{width:48px;height:48px;animation:vindevAiAvatarPulse 4.2s ease-in-out 1.1s infinite}
.vindev-ai-launcher-avatar>span,.vindev-ai-avatar>span{font-size:21px;line-height:1;letter-spacing:-.08em}.vindev-ai-launcher-avatar>span span,.vindev-ai-avatar>span span{color:var(--ai-glow)}
.vindev-ai-launcher-avatar>i,.vindev-ai-avatar>i{position:absolute;right:-1px;bottom:-1px;width:11px;height:11px;border:2px solid var(--ai-panel-solid);border-radius:50%;background:var(--ai-online);box-shadow:0 0 0 3px rgba(34,197,94,.14)}
.vindev-ai-launcher-copy{display:grid;min-width:0;gap:2px;line-height:1.15}.vindev-ai-launcher-eyebrow,.vindev-ai-eyebrow{overflow:hidden;color:var(--ai-primary);font-size:9px;font-weight:800;letter-spacing:.18em;line-height:1.2;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.vindev-ai-launcher-copy strong{overflow:hidden;color:var(--ai-text);font-size:14px;text-overflow:ellipsis;white-space:nowrap}.vindev-ai-launcher-copy small{overflow:hidden;color:var(--ai-muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.vindev-ai-launcher-icon{display:flex;align-items:center;justify-content:center;flex:0 0 auto;width:50px;height:50px;margin-left:auto;border:1px solid rgba(255,255,255,.2);border-radius:17px;background:linear-gradient(145deg,var(--ai-primary),#60a5fa);box-shadow:0 8px 18px rgba(37,99,235,.26);color:#fff}.vindev-ai-launcher-icon svg{width:20px;transition:transform .3s cubic-bezier(.4,0,.2,1)}.vindev-ai-launcher-icon b{margin-left:1px;color:rgba(255,255,255,.9);font-size:24px;font-weight:400;line-height:1}.vindev-ai-launcher:hover .vindev-ai-launcher-icon svg,.vindev-ai-launcher:focus-visible .vindev-ai-launcher-icon svg{transform:translateX(2px)}
.vindev-ai-launcher-tooltip{position:absolute;right:11px;bottom:calc(100% + 12px);padding:9px 13px;border:1px solid var(--ai-border-strong);border-radius:13px;background:var(--ai-panel-solid);box-shadow:0 12px 30px var(--ai-shadow);color:var(--ai-text);font-size:12px;font-weight:700;opacity:0;pointer-events:none;transform:translateY(6px);transition:opacity .2s ease,transform .2s cubic-bezier(.4,0,.2,1);white-space:nowrap}.vindev-ai-launcher-tooltip:after{position:absolute;right:18px;bottom:-5px;width:9px;height:9px;border-right:1px solid var(--ai-border-strong);border-bottom:1px solid var(--ai-border-strong);background:var(--ai-panel-solid);content:"";transform:rotate(45deg)}.vindev-ai-launcher:hover .vindev-ai-launcher-tooltip,.vindev-ai-launcher:focus-visible .vindev-ai-launcher-tooltip{opacity:1;transform:translateY(0)}
.vindev-ai-panel{position:absolute;right:0;bottom:0;display:flex;flex-direction:column;width:380px;height:min(560px,calc(100vh - 40px));overflow:hidden;border:1px solid var(--ai-border-strong);border-radius:24px;background:var(--ai-panel);box-shadow:0 26px 72px var(--ai-shadow),0 0 0 1px rgba(255,255,255,.08) inset;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(16px) scale(.96);transform-origin:bottom right;transition:opacity .32s cubic-bezier(.4,0,.2,1),visibility .32s ease,transform .38s cubic-bezier(.4,0,.2,1)}.vindev-ai-shell.is-open .vindev-ai-panel{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0) scale(1)}.vindev-ai-shell.is-open .vindev-ai-launcher{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(7px) scale(.98)}
.vindev-ai-header{display:flex;align-items:center;gap:11px;flex:0 0 auto;padding:16px 16px 14px;border-bottom:1px solid var(--ai-border);background:linear-gradient(135deg,rgba(59,130,246,.15),transparent 72%)}.vindev-ai-avatar{width:42px;height:42px}.vindev-ai-avatar>span{font-size:18px}.vindev-ai-avatar>i{width:9px;height:9px}.vindev-ai-header-copy{display:grid;min-width:0;gap:2px}.vindev-ai-header-copy strong{overflow:hidden;color:var(--ai-text);font-size:16px;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.vindev-ai-header-copy small{display:flex;align-items:center;gap:6px;color:var(--ai-muted);font-size:10px}.vindev-ai-header-copy small b{width:6px;height:6px;border-radius:50%;background:var(--ai-online);box-shadow:0 0 0 3px rgba(34,197,94,.14)}.vindev-ai-header-actions{display:flex;gap:4px;margin-left:auto}.vindev-ai-header-actions button{display:grid;place-items:center;width:29px;height:29px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--ai-muted);cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}.vindev-ai-header-actions button:hover,.vindev-ai-header-actions button:focus-visible{border-color:var(--ai-border);background:var(--ai-soft-strong);color:var(--ai-text);outline:0}.vindev-ai-header-actions svg{width:15px}
.vindev-ai-scope{display:flex;align-items:flex-start;gap:7px;flex:0 0 auto;padding:9px 15px;border-bottom:1px solid var(--ai-border);background:var(--ai-soft);color:var(--ai-muted);font-size:10px;line-height:1.45}.vindev-ai-scope svg{flex:0 0 14px;width:14px;margin-top:1px;color:var(--ai-primary)}
.vindev-ai-messages{display:flex;flex:1 1 auto;flex-direction:column;gap:11px;min-height:0;overflow-y:auto;padding:17px 15px 12px;background:radial-gradient(circle at 100% 0,rgba(96,165,250,.14),transparent 38%),var(--ai-panel);scrollbar-color:rgba(96,165,250,.38) transparent;scrollbar-width:thin}.vindev-ai-messages::-webkit-scrollbar{width:5px}.vindev-ai-messages::-webkit-scrollbar-thumb{border-radius:20px;background:rgba(96,165,250,.38)}
.vindev-ai-message{display:flex;max-width:91%;gap:7px;animation:vindevAiMessageIn .22s ease both}.vindev-ai-message.user{align-self:flex-end;flex-direction:row-reverse}.vindev-ai-badge{display:grid;place-items:center;flex:0 0 25px;width:25px;height:25px;margin-top:2px;border:1px solid var(--ai-border);border-radius:9px;background:var(--ai-soft);color:var(--ai-primary)}.vindev-ai-message.user .vindev-ai-badge{background:var(--ai-primary);color:#fff}.vindev-ai-badge svg{width:13px}.vindev-ai-message-body{min-width:0}.vindev-ai-bubble{border:1px solid var(--ai-border);border-radius:15px 15px 15px 5px;padding:10px 12px;background:var(--ai-soft);color:var(--ai-text);font-size:12px;line-height:1.55;overflow-wrap:anywhere}.vindev-ai-message.user .vindev-ai-bubble{border-color:var(--ai-primary);border-radius:15px 15px 5px 15px;background:linear-gradient(135deg,var(--ai-primary-strong),var(--ai-primary));color:#fff}.vindev-ai-message.refusal .vindev-ai-bubble{border-color:rgba(234,88,88,.35);background:rgba(239,68,68,.09)}.vindev-ai-time{display:block;margin-top:5px;color:var(--ai-muted);font-size:9px;line-height:1}.vindev-ai-message.user .vindev-ai-time{color:rgba(255,255,255,.72);text-align:right}.vindev-ai-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.vindev-ai-action{display:inline-flex;align-items:center;justify-content:center;min-height:29px;padding:7px 10px;border:1px solid var(--ai-border-strong);border-radius:9px;background:var(--ai-panel-solid);color:var(--ai-primary-strong);font-size:10px;font-weight:800;text-decoration:none;cursor:pointer;transition:transform .2s ease,background .2s ease,border-color .2s ease}.vindev-ai-action:hover,.vindev-ai-action:focus-visible{border-color:var(--ai-primary);background:var(--ai-soft-strong);outline:0;transform:translateY(-1px)}
.vindev-ai-feedback{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:7px;color:var(--ai-muted);font-size:9px}.vindev-ai-feedback-buttons{display:inline-flex;gap:4px}.vindev-ai-feedback-button{display:inline-flex;align-items:center;gap:3px;padding:4px 6px;border:1px solid var(--ai-border);border-radius:7px;background:transparent;color:var(--ai-muted);font:inherit;cursor:pointer}.vindev-ai-feedback-button:hover,.vindev-ai-feedback-button.is-active{border-color:var(--ai-border-strong);background:var(--ai-soft-strong);color:var(--ai-primary)}.vindev-ai-feedback-button svg{width:11px}.vindev-ai-feedback-status.is-error{color:#ef4444}
.vindev-ai-quick{display:flex;flex:0 0 auto;gap:6px;overflow-x:auto;padding:2px 15px 11px;scrollbar-width:none}.vindev-ai-quick::-webkit-scrollbar{display:none}.vindev-ai-quick button{flex:0 0 auto;padding:7px 9px;border:1px solid var(--ai-border);border-radius:999px;background:transparent;color:var(--ai-muted);font:inherit;font-size:10px;cursor:pointer;transition:border-color .2s ease,background .2s ease,color .2s ease}.vindev-ai-quick button:hover,.vindev-ai-quick button:focus-visible{border-color:var(--ai-border-strong);background:var(--ai-soft-strong);color:var(--ai-primary);outline:0}
.vindev-ai-typing{display:flex;align-items:center;gap:7px;flex:0 0 auto;min-height:22px;padding:0 15px 7px;color:var(--ai-muted);font-size:10px}.vindev-ai-typing:before{width:28px;height:3px;border-radius:99px;background:linear-gradient(90deg,transparent,var(--ai-glow),transparent);background-size:200% 100%;content:"";animation:vindevAiTypingSweep 1.8s linear infinite}
.vindev-ai-composer{display:flex;align-items:flex-end;gap:8px;flex:0 0 auto;margin:0 13px;padding:8px 8px 8px 12px;border:1px solid var(--ai-border-strong);border-radius:15px;background:var(--ai-soft);transition:border-color .2s ease,box-shadow .2s ease}.vindev-ai-composer:focus-within{border-color:var(--ai-primary);box-shadow:0 0 0 3px rgba(59,130,246,.12)}.vindev-ai-composer textarea{display:block;flex:1 1 auto;min-width:0;max-height:90px;resize:none;border:0;outline:0;background:transparent;color:var(--ai-text);font:inherit;font-size:12px;line-height:1.45}.vindev-ai-composer textarea::placeholder{color:var(--ai-muted)}.vindev-ai-composer button{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border:0;border-radius:11px;background:var(--ai-primary);color:#fff;cursor:pointer;box-shadow:0 7px 14px rgba(59,130,246,.2);transition:transform .2s ease,background .2s ease,opacity .2s ease}.vindev-ai-composer button:hover,.vindev-ai-composer button:focus-visible{background:var(--ai-primary-strong);outline:0;transform:translateY(-1px)}.vindev-ai-composer button:disabled{cursor:wait;opacity:.55}.vindev-ai-composer button svg{width:15px}
.vindev-ai-disclaimer{display:flex;align-items:center;justify-content:center;gap:4px;margin:8px 13px 11px;color:var(--ai-muted);font-size:9px;line-height:1.4;text-align:center}.vindev-ai-disclaimer svg{flex:0 0 11px;width:11px}
.vindev-ai-confirm,.vindev-ai-password{position:absolute;inset:0;z-index:9;display:grid;place-items:center;padding:20px;background:var(--ai-overlay);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility .2s ease}.vindev-ai-confirm.is-visible,.vindev-ai-password.is-visible{opacity:1;visibility:visible;pointer-events:auto}.vindev-ai-confirm-card,.vindev-ai-password-card{width:min(310px,100%);border:1px solid var(--ai-border-strong);border-radius:18px;padding:18px;background:var(--ai-panel-solid);box-shadow:0 18px 45px var(--ai-shadow)}.vindev-ai-confirm-icon{display:grid;place-items:center;width:34px;height:34px;margin-bottom:10px;border-radius:12px;background:rgba(239,68,68,.1);color:#ef4444}.vindev-ai-confirm-icon svg{width:17px}.vindev-ai-confirm-copy{display:grid;gap:5px}.vindev-ai-confirm-copy strong,.vindev-ai-password-card>strong{color:var(--ai-text);font-size:14px}.vindev-ai-confirm-copy span,.vindev-ai-password-note{color:var(--ai-muted);font-size:11px;line-height:1.5}.vindev-ai-confirm-actions,.vindev-ai-password-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:16px}.vindev-ai-confirm-actions button,.vindev-ai-password-actions button{border:1px solid var(--ai-border);border-radius:10px;padding:8px 11px;font:inherit;font-size:10px;font-weight:800;cursor:pointer}.vindev-ai-confirm-secondary{background:transparent;color:var(--ai-muted)}.vindev-ai-confirm-primary{border-color:var(--ai-primary)!important;background:var(--ai-primary);color:#fff}.vindev-ai-confirm-actions button:disabled,.vindev-ai-password-actions button:disabled{cursor:wait;opacity:.55}.vindev-ai-password-head{display:flex;align-items:flex-start;justify-content:space-between}.vindev-ai-password-head button{width:28px;height:28px;border:0;border-radius:9px;background:var(--ai-soft);color:var(--ai-muted);font-size:20px;line-height:1;cursor:pointer}.vindev-ai-password-card>strong{display:block;margin-bottom:5px}.vindev-ai-password-note{display:block;margin-bottom:14px}.vindev-ai-password-card form{display:grid;gap:9px}.vindev-ai-password-card label{display:grid;gap:5px;color:var(--ai-muted);font-size:10px;font-weight:700}.vindev-ai-password-card input{width:100%;border:1px solid var(--ai-border);border-radius:10px;padding:9px 10px;background:var(--ai-soft);color:var(--ai-text);font:inherit;font-size:11px;outline:0}.vindev-ai-password-card input:focus{border-color:var(--ai-primary);box-shadow:0 0 0 3px rgba(59,130,246,.12)}.vindev-ai-password-error{min-height:15px;color:#ef4444;font-size:10px;line-height:1.4}.vindev-ai-bubble a{color:var(--ai-primary-strong);font-weight:700;text-decoration:underline;text-underline-offset:2px}.vindev-ai-message.user .vindev-ai-bubble a{color:#fff}
@keyframes vindevAiLauncherIn{to{opacity:1;transform:translateY(0) scale(1)}}@keyframes vindevAiAvatarPulse{0%,76%,100%{box-shadow:0 0 0 5px rgba(59,130,246,.08),0 0 19px rgba(96,165,250,.25)}84%{box-shadow:0 0 0 8px rgba(59,130,246,.03),0 0 27px rgba(96,165,250,.45)}}@keyframes vindevAiMessageIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes vindevAiTypingSweep{from{background-position:200% 0}to{background-position:-200% 0}}
@media(max-width:767.98px){body.vindev-ai-open{overflow:hidden;overscroll-behavior:none}.vindev-ai-panel{position:fixed;top:var(--vindev-ai-mobile-top,80px);right:max(8px,env(safe-area-inset-right,0px));bottom:max(8px,env(safe-area-inset-bottom,0px));left:max(8px,env(safe-area-inset-left,0px));width:auto;height:auto;max-height:none}}
@media(max-width:575px){.vindev-ai-shell{right:max(16px,env(safe-area-inset-right,0px));bottom:max(16px,env(safe-area-inset-bottom,0px));width:56px}.vindev-ai-launcher{width:56px;height:56px;padding:0;border-radius:50%;justify-content:center}.vindev-ai-launcher-avatar{width:40px;height:40px}.vindev-ai-launcher-avatar>span{font-size:18px}.vindev-ai-launcher-copy,.vindev-ai-launcher-icon,.vindev-ai-launcher-tooltip{display:none}.vindev-ai-panel{border-radius:22px}.vindev-ai-header{padding-top:15px}}
@media(prefers-reduced-motion:reduce){.vindev-ai-panel,.vindev-ai-launcher,.vindev-ai-message,.vindev-ai-launcher-avatar,.vindev-ai-launcher-tooltip,.vindev-ai-launcher-icon svg{animation:none;transition:none}.vindev-ai-launcher{opacity:1;transform:none}}
body.vindev-ai-open #back-top{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
.vindev-ai-shell{visibility:hidden;opacity:0;pointer-events:none;transition:opacity .24s ease,visibility .24s ease}
.vindev-ai-shell.is-ready{visibility:visible;opacity:1;pointer-events:auto}
.vindev-ai-shell:not(.is-ready) .vindev-ai-launcher{opacity:0!important;visibility:hidden;pointer-events:none;transform:translateY(12px) scale(.96);animation:none}
.vindev-ai-shell.is-ready .vindev-ai-launcher{visibility:visible;animation:vindevAiLauncherIn .3s cubic-bezier(.4,0,.2,1) .05s forwards}
.vindev-ai-typing{visibility:hidden;opacity:0;max-height:0;min-height:0;overflow:hidden;padding:0 15px;transition:opacity .2s ease,visibility .2s ease,max-height .2s ease,padding .2s ease}
.vindev-ai-typing.is-visible{visibility:visible;opacity:1;max-height:29px;min-height:22px;padding:0 15px 7px}
.vindev-ai-composer{align-items:center}
.vindev-ai-composer textarea{min-height:34px;height:34px;padding:7px 0;line-height:1.4;overflow-y:auto}
@media(prefers-reduced-motion:reduce){.vindev-ai-shell.is-ready .vindev-ai-launcher{animation:none;opacity:1;transform:none}}
.vindev-ai-shell[data-surface="landing"] .vindev-ai-launcher-tooltip{right:clamp(54px,8vw,72px)}
