.zva-widget,.zva-widget *{box-sizing:border-box}.zva-widget{--zva-blue:#087fb5;--zva-deep:#075477;--zva-green:#0e9b78;--zva-ink:#12364a;--zva-muted:#617887;--zva-shadow:0 16px 55px #12364a2b;position:fixed;left:24px;bottom:24px;z-index:99999;font:14px/1.45 system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--zva-ink)}.zva-launcher{position:relative;width:68px;height:68px;padding:11px;border:3px solid #fff;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;background:linear-gradient(145deg,#e3f8fa,#ddf3e7);box-shadow:0 5px 24px #173b5030;cursor:pointer;color:var(--zva-blue);transition:transform .2s,box-shadow .2s}.zva-launcher:hover{transform:translateY(-3px);box-shadow:0 9px 30px #173b5040}.zva-launcher-bot,.zva-avatar svg{width:42px;height:42px;fill:#e8fbf6;stroke:#087fb5;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.zva-launcher-bot circle{fill:#0e9b78;stroke:#fff;stroke-width:1.5}.zva-launcher-label{position:absolute;right:4px;bottom:5px;font-size:9px;font-weight:800;letter-spacing:.4px;color:#fff;background:var(--zva-green);border:2px solid #fff;border-radius:8px;padding:0 4px}.zva-badge{position:absolute;top:-7px;right:-3px;width:22px;height:22px;border-radius:50%;background:#ed453d;color:white;border:2px solid white;font-weight:800;font-size:12px;line-height:18px}.zva-invite{position:absolute;left:0;bottom:84px;width:min(365px,calc(100vw - 36px));padding:19px 20px 16px;background:white;border:1px solid #e0ebf0;border-radius:18px;box-shadow:var(--zva-shadow);animation:zva-rise .28s ease-out}.zva-invite:after{content:"";position:absolute;left:28px;bottom:-8px;width:15px;height:15px;background:#fff;border-right:1px solid #e0ebf0;border-bottom:1px solid #e0ebf0;transform:rotate(45deg)}.zva-invite p{margin:0 24px 14px 0;font-size:16px;line-height:1.45}.zva-invite p strong{color:var(--zva-deep)}.zva-invite-close,.zva-close{display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:50%;background:#f1f5f7;color:#506979;font-size:22px;line-height:1;cursor:pointer}.zva-invite-close{position:absolute;right:10px;top:10px}.zva-invite-open,.zva-primary{width:100%;min-height:44px;padding:11px 15px;display:flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:11px;background:linear-gradient(95deg,var(--zva-blue),var(--zva-green));color:white;font-family:inherit;font-size:14px;font-weight:700;line-height:1.2;text-decoration:none;cursor:pointer}.zva-invite-open:hover,.zva-primary:hover{filter:brightness(.96);color:white}.zva-panel{position:absolute;left:0;bottom:84px;width:min(390px,calc(100vw - 32px));height:min(580px,calc(100dvh - 125px));min-height:410px;display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid #dbe8ed;border-radius:20px;box-shadow:var(--zva-shadow);animation:zva-rise .25s ease-out}.zva-panel[hidden]{display:none}.zva-header{flex:none;display:flex;align-items:center;gap:11px;padding:14px 15px;background:linear-gradient(110deg,#eaf8f7,#edf5ff);border-bottom:1px solid #e0edf0}.zva-avatar{width:43px;height:43px;flex:none;display:grid;place-items:center;border-radius:50%;background:#fff;border:1px solid #d8ece6}.zva-avatar svg{width:34px;height:34px}.zva-title{flex:1;min-width:0}.zva-title strong,.zva-title small{display:block}.zva-title strong{font-size:14px;color:#143e52}.zva-title small{margin-top:2px;color:var(--zva-muted);font-size:11px}.zva-messages{flex:1;min-height:0;overflow:auto;padding:17px 15px;scroll-behavior:smooth;background:linear-gradient(180deg,#fbfdfd,#fff)}.zva-message{max-width:92%;padding:11px 13px;border-radius:4px 15px 15px 15px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.zva-message-bot{background:#edf6f6;color:#244b5a}.zva-message-user{margin:10px 0 10px auto;border-radius:15px 4px 15px 15px;background:#e5f2fc;color:#174761}.zva-suggestions{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0 4px}.zva-suggestions button{border:1px solid #cfe3e9;border-radius:18px;padding:7px 10px;background:#fff;color:#187394;font-size:12px;cursor:pointer}.zva-suggestions button:hover{background:#eff9fa}.zva-tour-card{display:block;margin:9px 0 0;padding:11px 12px;border:1px solid #deebe9;border-radius:12px;background:#fff;color:#087d75;text-decoration:none}.zva-tour-card strong,.zva-tour-card small{display:block}.zva-tour-card small{margin-top:3px;color:var(--zva-muted)}.zva-disabled-note{margin:16px 0 12px;color:var(--zva-muted);font-size:13px}.zva-secondary{display:block;margin:10px 0;padding:10px;text-align:center;border:1px solid #d6e7e9;border-radius:10px;color:#17677f;text-decoration:none;font-weight:700}.zva-form{flex:none;padding:11px 13px 9px;border-top:1px solid #e7eef0;background:#fff}.zva-privacy{display:block;margin:0 0 8px;color:#647985;font-size:10.5px;line-height:1.4}.zva-consent{display:flex;align-items:flex-start;gap:7px;margin:7px 0 8px;color:#516773;font-size:10.5px;line-height:1.4}.zva-consent input{width:15px;height:15px;flex:none;margin:0;accent-color:var(--zva-green)}.zva-compose{display:flex;align-items:flex-end;gap:8px;padding:7px 8px;border:1px solid #d7e4e9;border-radius:14px;background:#fbfdfd}.zva-compose:focus-within{border-color:#79bdd1;box-shadow:0 0 0 3px #087fb518}.zva-compose textarea{flex:1;width:0;min-height:42px;max-height:96px;resize:vertical;border:0;outline:0;background:transparent;color:#17384b;font-family:inherit;font-size:13px;line-height:1.45}.zva-compose textarea::placeholder{color:#91a2aa}.zva-compose button{width:37px;height:37px;flex:none;border:0;border-radius:50%;background:var(--zva-blue);color:#fff;font-size:16px;cursor:pointer}.zva-compose button:disabled{opacity:.55;cursor:wait}.zva-status{min-height:0;margin:0;color:#9c5723;font-size:11px}.zva-status:not(:empty){padding-top:5px}.zva-status.zva-ok{color:#16734d}.zva-widget button:focus-visible,.zva-widget a:focus-visible,.zva-widget textarea:focus-visible{outline:3px solid #f2ba48;outline-offset:2px}@keyframes zva-rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:520px){.zva-widget{left:14px;bottom:14px}.zva-launcher{width:62px;height:62px}.zva-panel{left:-2px;bottom:75px;width:min(390px,calc(100vw - 20px));height:min(620px,calc(100dvh - 100px));min-height:380px}.zva-invite{left:-1px;bottom:76px;width:min(350px,calc(100vw - 20px))}.zva-invite:after{left:22px}}@media(prefers-reduced-motion:reduce){.zva-widget *{animation:none!important;scroll-behavior:auto!important;transition:none!important}}
/* Cat mascot, voice controls and compact greeting for phones/tablets. */
.zva-widget .zva-cat{display:block;width:42px;height:42px;fill:none;stroke:none}
.zva-widget .zva-cat-ear{fill:#16a19b;stroke:#087fb5;stroke-width:1.5;stroke-linejoin:round}.zva-widget .zva-cat-face{fill:#f5fdff;stroke:#087fb5;stroke-width:2.2}.zva-widget .zva-cat-inner{fill:none;stroke:#f39aa2;stroke-width:2.6;stroke-linecap:round}.zva-widget .zva-cat-blush{fill:none;stroke:#f39aa2;stroke-width:2.5;stroke-linecap:round}.zva-widget .zva-cat-eyes{fill:none;stroke:#174a65;stroke-width:3.2;stroke-linecap:round}.zva-widget .zva-cat-mouth{fill:none;stroke:#174a65;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.zva-widget .zva-cat-scarf{fill:#16a47e;stroke:#087f78;stroke-width:1.2;stroke-linejoin:round}.zva-widget .zva-cat-scarf-tail{fill:#f2b53c;stroke:#087f78;stroke-width:1.2;stroke-linejoin:round}.zva-widget .zva-launcher .zva-cat{width:38px;height:38px}
.zva-widget .zva-mic,.zva-widget .zva-speak-toggle{display:grid;place-items:center;flex:none;width:37px;height:37px;border:1px solid #d6e6ea;border-radius:50%;background:#fff;color:#087b9c;font-size:16px;cursor:pointer}.zva-widget .zva-mic[hidden],.zva-widget .zva-speak-toggle[hidden]{display:none}.zva-widget .zva-mic.is-listening{background:#fff1ee;border-color:#f2aaa2;color:#c44036;animation:zva-pulse 1s infinite}.zva-widget .zva-speak-toggle[aria-pressed="true"]{background:#e6f6f0;border-color:#8ccab6}.zva-widget .zva-voice-privacy{margin:0 0 6px;color:#667b83;font-size:10px;line-height:1.35}@keyframes zva-pulse{50%{box-shadow:0 0 0 5px #ea665526}}
@media(max-width:850px){.zva-widget{left:18px;bottom:18px}.zva-invite{width:min(295px,calc(100vw - 82px));padding:14px 14px 12px;border-radius:16px}.zva-invite p{margin:0 23px 10px 0;font-size:14px;line-height:1.35}.zva-invite-close{width:27px;height:27px;right:7px;top:7px;font-size:19px}.zva-invite-open{min-height:38px;padding:9px 10px;font-size:12px;border-radius:9px}.zva-launcher{width:62px;height:62px}}
@media(max-width:520px){.zva-widget{left:12px;bottom:12px}.zva-invite{left:0;bottom:73px;width:min(265px,calc(100vw - 80px));padding:12px 12px 10px}.zva-invite p{font-size:13px;margin-right:21px}.zva-invite-open{min-height:36px;font-size:11.5px}.zva-invite:after{left:19px}}
/* Zivi is the mascot, not a text badge: shaded 3D-style cat with a gentle idle animation. */
.zva-widget .zva-launcher-label,.zva-widget .zva-badge{display:none!important}
.zva-widget .zva-launcher{width:76px;height:76px;padding:5px;border:3px solid #fff;background:radial-gradient(circle at 32% 23%,#fff 0,#e8fbfb 42%,#c7eee6 100%);box-shadow:0 8px 24px #123b5038,inset 0 2px 6px #fff}
.zva-widget .zva-cat{display:block;width:34px;height:34px;overflow:visible;fill:none;stroke:none}
.zva-widget .zva-cat-large{width:62px;height:62px;filter:drop-shadow(0 3px 2px #0a526033);animation:zva-cat-float 3.6s ease-in-out infinite;transform-origin:50% 75%}
.zva-widget .zva-cat-ground{fill:#124e6040;transform-origin:center;animation:zva-cat-shadow 3.6s ease-in-out infinite}
.zva-widget .zva-cat-ear{fill:url(#zva-ear-gradient);stroke:#087b9d;stroke-width:1.5;stroke-linejoin:round}
.zva-widget .zva-cat-inner{fill:none;stroke:#f49baa;stroke-width:3.4;stroke-linecap:round;stroke-linejoin:round}
.zva-widget .zva-cat-face{fill:url(#zva-fur-gradient);stroke:#4aa9b7;stroke-width:1.6}
.zva-widget .zva-cat-forehead,.zva-widget .zva-cat-whiskers{fill:none;stroke:#287f92;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.zva-widget .zva-cat-blush{fill:#ff9eae;opacity:.65;stroke:none}
.zva-widget .zva-cat-eyes{fill:#174861;stroke:none;transform-box:fill-box;transform-origin:center;animation:zva-cat-blink 5.2s ease-in-out infinite}
.zva-widget .zva-cat-eye-glint{fill:#fff;stroke:none}
.zva-widget .zva-cat-nose{fill:#ef8198;stroke:#d56a82;stroke-width:.7}
.zva-widget .zva-cat-mouth{fill:none;stroke:#174861;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transform-box:fill-box;transform-origin:top center}
.zva-widget .zva-cat-scarf{fill:url(#zva-scarf-gradient);stroke:#087b78;stroke-width:1.1;stroke-linejoin:round}
.zva-widget .zva-cat-scarf-tail{fill:#f6c44e;stroke:#d99a28;stroke-width:1;stroke-linejoin:round}
.zva-widget .zva-cat-bell{fill:#ffd75c;stroke:#e1a62b;stroke-width:1}
.zva-widget .zva-cat-tail{fill:none;stroke:#078b78;stroke-width:5;stroke-linecap:round;transform-box:fill-box;transform-origin:15% 90%;animation:zva-cat-tail 2.3s ease-in-out infinite}
.zva-widget.is-open .zva-cat-mouth{animation:zva-cat-talk .38s ease-in-out infinite alternate}
.zva-widget .zva-launcher:hover .zva-cat-large{animation:zva-cat-nod .6s ease-in-out 2,zva-cat-float 3.6s ease-in-out infinite}
@keyframes zva-cat-float{0%,100%{transform:translateY(1px) rotate(-1deg)}50%{transform:translateY(-3px) rotate(1deg)}}
@keyframes zva-cat-shadow{0%,100%{transform:scaleX(1);opacity:.45}50%{transform:scaleX(.8);opacity:.24}}
@keyframes zva-cat-tail{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(15deg)}}
@keyframes zva-cat-blink{0%,41%,45%,86%,90%,100%{transform:scaleY(1)}43%,88%{transform:scaleY(.08)}}
@keyframes zva-cat-talk{from{transform:scaleY(.72)}to{transform:scaleY(1.25)}}
@keyframes zva-cat-nod{0%,100%{translate:0 0}50%{translate:0 2px;rotate:-3deg}}
@media(max-width:850px){.zva-widget .zva-launcher{width:68px;height:68px}.zva-widget .zva-cat-large{width:57px;height:57px}}
@media(max-width:520px){.zva-widget{left:12px;bottom:12px}.zva-widget .zva-launcher{width:66px;height:66px}.zva-widget .zva-cat-large{width:55px;height:55px}}
@media(prefers-reduced-motion:reduce){.zva-widget .zva-cat-large,.zva-widget .zva-cat-ground,.zva-widget .zva-cat-tail,.zva-widget .zva-cat-eyes,.zva-widget .zva-cat-mouth{animation:none!important}}
/* Preserve the mascot's full artwork size against the older generic SVG rules. */
.zva-widget .zva-launcher .zva-cat-large{width:62px;height:62px}
@media(max-width:850px){.zva-widget .zva-launcher .zva-cat-large{width:57px;height:57px}}
@media(max-width:520px){.zva-widget .zva-launcher .zva-cat-large{width:55px;height:55px}}
/* High-contrast layered fills keep every part visible in small launchers. */
.zva-widget .zva-cat-face{fill:#aee9e6!important;stroke:#378e9d;stroke-width:1.8}.zva-widget .zva-cat-ear{fill:#16a5aa!important;stroke:#176d88;stroke-width:1.8}.zva-widget .zva-cat-shade{fill:#37a9b4;opacity:.42;stroke:none}.zva-widget .zva-cat-shine{fill:#fff;opacity:.78;stroke:none}.zva-widget .zva-cat-muzzle{fill:#efffff;stroke:#79c9ce;stroke-width:.8}.zva-widget .zva-cat-scarf{fill:#0ca883!important;stroke:#087b70}.zva-widget .zva-cat-launcher{filter:drop-shadow(0 4px 2px #07547740)}
.zva-widget .zva-launcher .zva-cat-large{width:62px!important;height:62px!important}
@media(max-width:850px){.zva-widget .zva-launcher .zva-cat-large{width:57px!important;height:57px!important}}
@media(max-width:520px){.zva-widget .zva-launcher .zva-cat-large{width:55px!important;height:55px!important}}
