#aa-vivi-widget{font-family:'AA Lato',Arial,sans-serif;color:#14365b;line-height:1.5;font-size:15px}#aa-vivi-widget *{box-sizing:border-box}#aa-vivi-widget [hidden]{display:none!important}#aa-vivi-widget button,#aa-vivi-widget input,#aa-vivi-widget textarea{font:inherit}#aa-vivi-widget button{cursor:pointer}#aa-vivi-widget a{color:#14365b;text-decoration:underline;text-underline-offset:3px}#aa-vivi-widget button:focus-visible,#aa-vivi-widget a:focus-visible,#aa-vivi-widget input:focus-visible,#aa-vivi-widget textarea:focus-visible{outline:3px solid #eab32a;outline-offset:3px}#aa-vivi-widget button:disabled{opacity:.6;cursor:wait}.vivi-launcher{position:fixed;right:24px;bottom:24px;z-index:99990;display:flex;align-items:center;gap:11px;background:#14365b;color:#fff;border:2px solid #fff;border-radius:40px;padding:14px 21px;box-shadow:0 6px 25px #102f5533;min-height:58px}.vivi-launcher svg{color:#ffbd23}.vivi-launcher strong{letter-spacing:.03em}#vivi-dialog{position:fixed;inset:auto 24px 98px auto;width:410px;max-width:calc(100vw - 32px);height:610px;max-height:calc(100dvh - 125px);padding:0;margin:0;background:white;color:#14365b;border:1px solid #dfe6ec;border-radius:22px;box-shadow:0 12px 65px #102f5540;z-index:99991;overflow:hidden}#vivi-dialog[open]{display:flex;flex-direction:column}.vivi-header{display:flex;align-items:center;gap:11px;padding:18px 18px;background:#14365b;color:#fff;flex:none}.vivi-avatar{display:grid;place-items:center;background:#ffbd23;color:#14365b;border-radius:50%;width:40px;height:40px;font-size:25px;font-weight:800;flex:none}.vivi-header h2{font:700 22px 'AA Lato',Arial!important;margin:0!important;color:white!important}.vivi-header p{font-size:11px;line-height:1.4;margin:2px 0 0}.vivi-header button{margin-left:auto;background:transparent;color:#fff;border:0;font-size:30px!important;padding:0;width:36px;height:36px}.vivi-scroll{padding:19px;overflow-y:auto;overscroll-behavior:contain;flex:1;min-height:0;background:#fafcfd;scrollbar-width:thin}.vivi-message{padding:13px 15px;border-radius:15px;margin:0 22px 14px 0;background:#eef3f6;font-size:14px;overflow-wrap:anywhere;white-space:pre-wrap}.vivi-message p{margin:0}.vivi-message.vivi-user{margin:0 0 14px 25px;background:#14365b;color:#fff}.vivi-message a{display:block;margin-top:9px;font-weight:600;white-space:normal}.vivi-help{font-size:12px;color:#526775;margin:12px 0}.vivi-check{display:flex!important;align-items:flex-start;gap:8px;font-size:13px}.vivi-check input{width:16px!important;flex:none;margin-top:3px}#vivi-intro{font-size:14px}#vivi-availability{margin:0 0 16px}.vivi-primary{background:#14365b;color:white;border:0;border-radius:24px;padding:10px 18px}.vivi-contact-link{display:inline-block;margin:15px 0}.vivi-feedback{display:flex;gap:9px;align-items:center;font-size:12px;margin:12px 0}.vivi-feedback button{border:1px solid #cad8e1;color:#14365b;background:white;border-radius:20px;padding:4px 12px}.vivi-feedback button[aria-pressed=true]{background:#14365b;color:white}#vivi-contact-details{font-size:13px;padding:12px 0;border-top:1px solid #dbe5ed}#vivi-contact-details summary{cursor:pointer;font-weight:700}#vivi-contact-form{display:grid;gap:12px;margin-top:15px}#vivi-contact-form label{display:block}#vivi-contact-form input:not([type=checkbox]){display:block;width:100%;border:1px solid #b7c8d5;border-radius:8px;padding:10px;background:white;color:#14365b}#vivi-contact-form button{justify-self:start}#vivi-status{font-size:12px;margin:0;padding:0 18px;background:white;flex:none;overflow-wrap:anywhere}#vivi-status:not(:empty){padding:8px 18px}#vivi-message-form{display:flex;align-items:center;gap:10px;padding:14px 16px 9px;border-top:1px solid #dfe6ec;flex:none}#vivi-input{width:100%;resize:none;min-height:48px;max-height:110px;border:1px solid #b8c9d6;border-radius:12px;padding:10px 12px;background:white;color:#12345b;font-size:16px!important}#vivi-send{width:43px;height:43px;flex:none;border-radius:50%;border:0;background:#14365b;color:white;display:grid;place-items:center}.vivi-bottom{display:flex;justify-content:space-between;align-items:center;padding:8px 17px 12px;font-size:10px;color:#526775;flex:none}.vivi-bottom button{background:none;border:0;color:#526775;text-decoration:underline;font-size:11px!important;padding:4px}.vivi-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}@media(max-width:540px){.vivi-launcher{right:14px;bottom:calc(14px + env(safe-area-inset-bottom));padding:12px 17px;min-height:52px;font-size:14px}#vivi-dialog{right:12px;bottom:calc(80px + env(safe-area-inset-bottom));width:calc(100vw - 24px);max-width:none;height:620px;max-height:calc(100dvh - 100px - env(safe-area-inset-bottom));border-radius:18px}.vivi-header{padding:14px}.vivi-scroll{padding:14px}}@media(prefers-reduced-motion:reduce){#aa-vivi-widget *{scroll-behavior:auto!important}}
/* VIVI 2: original avatar framed using CSS, no alteration of the source image. */
.vivi-face{display:inline-block;position:relative;overflow:hidden;width:46px;height:46px;border-radius:50%;background:#e9e9e9;flex:none;vertical-align:middle;border:2px solid #ffbd23}.vivi-face img{position:absolute!important;width:140%!important;max-width:none!important;height:auto!important;left:-20%;top:-3%;margin:0!important}.vivi-launcher{padding:7px 18px 7px 7px;gap:10px}.vivi-launcher .vivi-face{width:43px;height:43px}.vivi-header .vivi-face{width:48px;height:48px}.vivi-intro-face{text-align:center}.vivi-intro-face .vivi-face{width:82px;height:82px;border-width:3px}#vivi-intro h3{text-align:center;font-size:22px;margin:12px 0 8px;color:#14365b}#vivi-intro>p:first-of-type{text-align:center}#vivi-identify,#vivi-verify,#vivi-anonymous{display:grid;gap:12px}#aa-vivi-widget form label{display:block}#aa-vivi-widget input:not([type=checkbox]){display:block;width:100%;border:1px solid #b7c8d5;border-radius:10px;padding:11px;background:white;color:#14365b;font-size:16px}#aa-vivi-widget .vivi-check{display:flex}.vivi-help{margin:0;font-size:12px}.vivi-divider{display:flex;align-items:center;gap:12px;margin:20px 0;color:#647782;font-size:12px}.vivi-divider:before,.vivi-divider:after{content:'';height:1px;background:#d8e3e9;flex:1}.vivi-secondary{border:1px solid #14365b;background:white;color:#14365b;border-radius:24px;padding:10px 18px}.vivi-text-button{border:0;background:none;color:#14365b;text-decoration:underline;padding:5px;font-size:12px!important}#vivi-anonymous p{margin:0}#vivi-retention{margin-top:18px}.vivi-message.vivi-assistant{position:relative;margin-left:30px;margin-right:0}.vivi-message-face{position:absolute;left:-35px;top:0;width:29px;height:29px;border-width:1px}.vivi-bottom{gap:8px}.vivi-bottom>div{display:flex;gap:8px}.vivi-header p{font-size:12px}#vivi-availability:empty{display:none}.vivi-scroll{scroll-padding-bottom:20px}

.vivi-entry-choice{display:flex;gap:6px;padding:4px;background:#e9eff3;border-radius:25px;margin:0 0 17px}.vivi-entry-choice button{flex:1;border:0;background:transparent;color:#14365b;border-radius:22px;padding:10px 7px;font-size:12px!important;font-weight:700}.vivi-entry-choice button[aria-pressed=true]{background:#14365b;color:white}.vivi-intro-face .vivi-face{width:68px;height:68px}#vivi-intro h3{font-size:21px;margin:9px 0 6px}

.vivi-pending p{font-style:italic;color:#526775}.vivi-failed small{display:block;margin-top:9px;font-size:12px;color:#fff}

/* Paragraph rhythm follows the chat width; keep user text and waiting state compact. */
#aa-vivi-widget .vivi-assistant{white-space:normal;line-height:1.6}
#aa-vivi-widget .vivi-assistant p{margin:0;white-space:pre-line}
#aa-vivi-widget .vivi-assistant p+p{margin-top:1em}
#aa-vivi-widget .vivi-assistant strong{font-weight:700;color:#14365b}

#aa-vivi-widget #vivi-nickname{display:block;width:100%;border:1px solid #b7c8d5;border-radius:8px;padding:10px;background:white;color:#14365b;margin-top:6px;font-size:16px}
#aa-vivi-widget .vivi-nickname-options{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
#aa-vivi-widget .vivi-nickname-options button{border:1px solid #c7d6e1;border-radius:20px;padding:6px 13px;background:#eef3f6;color:#14365b}
#aa-vivi-widget .vivi-nickname-options button:hover{background:#fff0cf;border-color:#eab32a}
#aa-vivi-widget .vivi-nickname-label{display:block;font-size:11px;font-weight:700;margin-bottom:5px;opacity:.85}

#aa-vivi-widget .vivi-assistant strong{font-weight:800;color:#102f55}
#aa-vivi-widget .vivi-writing p:not([hidden]):last-of-type::after{content:'▍';color:#b77b00;margin-left:2px;animation:vivi-caret .8s step-end infinite}
@keyframes vivi-caret{50%{opacity:0}}
@media(prefers-reduced-motion:reduce){#aa-vivi-widget .vivi-writing p::after{animation:none}}

#vivi-training-toolbar,#vivi-training-form{padding:12px;margin:12px 0;background:#edf5fb;border-radius:12px}#vivi-training-form label{display:block;margin:10px 0}#vivi-training-form textarea,#vivi-training-form select{width:100%;box-sizing:border-box}#vivi-training-preview{white-space:pre-wrap;overflow-wrap:anywhere;max-height:220px;overflow:auto;font:inherit}.vivi-review-button,#vivi-training-toolbar button,#vivi-training-form button{padding:8px 12px;border:1px solid #24749a;border-radius:8px;background:white;color:#164c69;cursor:pointer}#aa-vivi-widget [hidden]{display:none!important}
