#kdvland-chat-24-root{left:12px;bottom:12px;width:min(288px,calc(100vw - 24px));height:150px}
#kdvland-chat-24-root .kdv-chat-launcher-portrait{left:0;bottom:8px;width:108px;height:126px;object-fit:contain;filter:drop-shadow(0 8px 14px #1377d52b);animation:kdv-robot-float 2.8s ease-in-out infinite;pointer-events:none}
#kdvland-chat-24-root .kdv-chat-launcher{left:108px;right:0;bottom:40px;padding:13px 12px;text-align:left;border:1px solid #b6ddff;border-radius:17px;background:linear-gradient(125deg,#fffffff2,#edf7ffed);color:#113c76;box-shadow:0 8px 32px #0a519d20;backdrop-filter:blur(16px);white-space:normal;font:700 13px/1.4 Arial,sans-serif;min-height:58px}
#kdvland-chat-24-root .kdv-chat-launcher small{color:#57789b;font-size:10px;line-height:1.5;margin-top:3px}
#kdvland-chat-24-root .kdv-chat-launcher::before{background:#fff;border-color:#b6ddff;left:-5px;top:24px}
#kdvland-chat-24-root .kdv-chat-launcher:focus-visible{outline:3px solid #117cf7;outline-offset:4px}
#kdvland-chat-24-root.kdv-chat-open{left:14px;bottom:14px;width:min(464px,calc(100vw - 28px));height:min(740px,calc(100dvh - 28px));border-radius:26px;background:#eaf6ff70;backdrop-filter:blur(20px);box-shadow:0 20px 64px #06356a35;isolation:isolate}
@keyframes kdv-robot-float{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-8px) rotate(2deg)}}
@media(max-width:640px){#kdvland-chat-24-root{left:8px;bottom:max(8px,env(safe-area-inset-bottom));width:min(258px,calc(100vw - 16px));height:128px}#kdvland-chat-24-root .kdv-chat-launcher-portrait{width:90px;height:106px;bottom:4px}#kdvland-chat-24-root .kdv-chat-launcher{left:90px;bottom:28px;font-size:12px;padding:11px 10px}#kdvland-chat-24-root.kdv-chat-open{left:6px;bottom:max(6px,env(safe-area-inset-bottom));width:calc(100vw - 12px);height:calc(92dvh - 12px);border-radius:22px}}
@media(prefers-reduced-motion:reduce){#kdvland-chat-24-root .kdv-chat-launcher-portrait{animation:none}}

/* Refraction and edge highlights stay inside the panel; no expanded click target. */
#kdvland-chat-24-root.kdv-chat-open{background:linear-gradient(135deg,#ffffff66,#c4efff29 46%,#d9f6ff40);backdrop-filter:blur(22px) saturate(135%);-webkit-backdrop-filter:blur(22px) saturate(135%);box-shadow:0 22px 64px #032e6040,0 0 24px #66d9ff24,inset 1px 1px 0 #ffffffed,inset -1px -1px 0 #73d7ff99}
#kdvland-chat-24-root .kdv-chat-launcher{background:linear-gradient(125deg,#ffffffdb,#d7f4ff9c);border-color:#ffffffed;backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);box-shadow:0 8px 28px #12579629,inset 0 1px 0 #fff}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){#kdvland-chat-24-root.kdv-chat-open{background:#e8f6fff2}}
@media(prefers-reduced-transparency:reduce){#kdvland-chat-24-root.kdv-chat-open,#kdvland-chat-24-root .kdv-chat-launcher{background:#eff9ff;backdrop-filter:none;-webkit-backdrop-filter:none}}

/* Clear glass: see the website through the panel without frosting. */
#kdvland-chat-24-root.kdv-chat-open{background:linear-gradient(135deg,#ffffff12,#70d8ff0a);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:0 15px 48px #032e6033,inset 1px 1px 0 #ffffffcc,inset -1px -1px 0 #70dcffb3}
@media(prefers-reduced-transparency:reduce){#kdvland-chat-24-root.kdv-chat-open{background:#eff9ff}}

/* Floating bubble panel: readable surface with a soft blue rim. */
#kdvland-chat-24-root.kdv-chat-open{border-radius:32px;background:#f1f8ff;box-shadow:0 20px 60px #07365d40,0 0 0 1px #a6d9ff,0 0 0 5px #e4f5ff66;backdrop-filter:none;-webkit-backdrop-filter:none}
#kdvland-chat-24-root .kdv-chat-launcher{border-radius:25px;background:linear-gradient(135deg,#fff,#e5f5ff);border:1px solid #a5d9ff;box-shadow:0 7px 24px #14588e2b;color:#103e72;backdrop-filter:none;-webkit-backdrop-filter:none}
@media(max-width:640px){#kdvland-chat-24-root.kdv-chat-open{border-radius:25px}}

/* Right-hand launcher, above the existing Zalo contact control. */
#kdvland-chat-24-root{left:auto;right:12px;bottom:var(--kdv-contact-clearance,100px)}
#kdvland-chat-24-root .kdv-chat-launcher-portrait{left:auto;right:0}
#kdvland-chat-24-root .kdv-chat-launcher{left:0;right:108px}
#kdvland-chat-24-root .kdv-chat-launcher::before{left:auto;right:-5px;transform:rotate(135deg)}
#kdvland-chat-24-root.kdv-chat-open{left:auto;right:14px}
@media(max-width:640px){#kdvland-chat-24-root{left:auto;right:8px;bottom:max(var(--kdv-contact-clearance,100px),env(safe-area-inset-bottom))}#kdvland-chat-24-root .kdv-chat-launcher{left:0;right:90px}#kdvland-chat-24-root.kdv-chat-open{left:auto;right:6px}}

/* Speech bubble directly above the robot's head. */
#kdvland-chat-24-root:not(.kdv-chat-open){width:min(172px,calc(100vw - 24px));height:212px}
#kdvland-chat-24-root .kdv-chat-launcher-portrait{right:32px}
#kdvland-chat-24-root .kdv-chat-launcher{left:0;right:0;bottom:148px;text-align:center;padding:11px 8px;border-radius:22px;min-height:56px}
#kdvland-chat-24-root .kdv-chat-launcher::before{left:calc(50% - 5px);right:auto;top:auto;bottom:-5px;transform:rotate(45deg)}
@media(max-width:640px){#kdvland-chat-24-root:not(.kdv-chat-open){width:min(156px,calc(100vw - 16px));height:184px}#kdvland-chat-24-root .kdv-chat-launcher-portrait{right:33px}#kdvland-chat-24-root .kdv-chat-launcher{left:0;right:0;bottom:126px;padding:10px 7px;min-height:50px}}

/* Larger reading area, while keeping the mobile viewport and keyboard behavior. */
#kdvland-chat-24-root.kdv-chat-open{width:min(560px,calc(100vw - 28px));height:min(800px,calc(100dvh - 28px))}
@media(max-width:640px){#kdvland-chat-24-root.kdv-chat-open{width:calc(100vw - 12px);height:calc(94dvh - 12px)}}

/* Both visible launcher elements open chat; empty surrounding space stays click-through. */
#kdvland-chat-24-root .kdv-chat-launcher-portrait{pointer-events:auto;cursor:pointer}
#kdvland-chat-24-root .kdv-chat-launcher-portrait:focus-visible{outline:3px solid #117cf7;outline-offset:3px;border-radius:20px}

/* Female android assistant, with the speech bubble above her hair. */
#kdvland-chat-24-root:not(.kdv-chat-open){height:248px}
#kdvland-chat-24-root .kdv-chat-launcher-portrait{width:112px;height:166px;right:30px;bottom:8px}
#kdvland-chat-24-root .kdv-chat-launcher{bottom:188px}
@media(max-width:640px){#kdvland-chat-24-root:not(.kdv-chat-open){height:218px}#kdvland-chat-24-root .kdv-chat-launcher-portrait{width:96px;height:140px;right:30px;bottom:4px}#kdvland-chat-24-root .kdv-chat-launcher{bottom:158px}}

/* Half-length portrait and larger conversation workspace. */
#kdvland-chat-24-root:not(.kdv-chat-open){width:190px;height:238px}
#kdvland-chat-24-root .kdv-chat-launcher-portrait{width:190px;height:170px;right:0;bottom:4px;object-fit:contain;object-position:center top;animation:kdv-assistant-float 4s ease-in-out infinite}
#kdvland-chat-24-root .kdv-chat-launcher{bottom:184px}
#kdvland-chat-24-root.kdv-chat-open{width:min(640px,calc(100vw - 28px));height:min(820px,calc(100dvh - 24px))}
@keyframes kdv-assistant-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@media(max-width:640px){#kdvland-chat-24-root:not(.kdv-chat-open){width:156px;height:194px;right:8px;left:auto;bottom:max(var(--kdv-contact-clearance,110px),env(safe-area-inset-bottom))}#kdvland-chat-24-root .kdv-chat-launcher-portrait{width:156px;height:130px;right:0;bottom:4px}#kdvland-chat-24-root .kdv-chat-launcher{bottom:144px}#kdvland-chat-24-root.kdv-chat-open{width:calc(100vw - 12px);right:6px;left:auto;height:calc(100dvh - 24px)}}
@media(prefers-reduced-motion:reduce){#kdvland-chat-24-root .kdv-chat-launcher-portrait{animation:none}}

/* One contact dock shared by desktop and mobile, directly below the assistant. */
html body #button-contact-vr{position:fixed!important;left:auto!important;right:12px!important;bottom:max(12px,env(safe-area-inset-bottom))!important;width:190px!important;height:auto!important;transform:none!important;z-index:999980}
html body #button-contact-vr #gom-all-in-one{position:static!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;gap:12px!important;width:100%!important;height:64px!important;padding:7px!important;margin:0!important;background:#ffffffef!important;border:1px solid #c9e6fc;border-radius:36px!important;box-shadow:0 5px 22px #103b6024;transform:none!important}
html body #button-contact-vr #gom-all-in-one .button-contact,html body #button-contact-vr #gom-all-in-one .phone-vr{position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;width:48px!important;height:48px!important;margin:0!important;padding:0!important;float:none!important;transform:none!important}
html body #button-contact-vr #gom-all-in-one .phone-vr-img-circle{position:static!important;width:48px!important;height:48px!important;margin:0!important;transform:none!important;animation:none!important;float:none!important}
html body #button-contact-vr #gom-all-in-one .phone-vr-img-circle a{display:flex!important;align-items:center!important;justify-content:center!important;width:48px!important;height:48px!important}
html body #button-contact-vr #gom-all-in-one img{position:static!important;transform:none!important;width:25px!important;height:25px!important;max-width:25px!important}
html body #button-contact-vr #gom-all-in-one .phone-vr-circle-fill,html body #button-contact-vr #gom-all-in-one .phone-bar{display:none!important}
@media(max-width:640px){html body #button-contact-vr{right:8px!important;width:156px!important}html body #button-contact-vr #gom-all-in-one{height:60px!important;gap:12px!important}}

/* Gentle desktop hover enlargement, anchored above the contact dock. */
#kdvland-chat-24-root:not(.kdv-chat-open){transform-origin:bottom right;transition:transform .24s cubic-bezier(.2,.7,.3,1)}
@media(hover:hover) and (pointer:fine){#kdvland-chat-24-root:not(.kdv-chat-open):has(.kdv-chat-launcher:hover,.kdv-chat-launcher-portrait:hover){transform:scale(1.08)}#kdvland-chat-24-root:not(.kdv-chat-open):has(.kdv-chat-launcher:hover,.kdv-chat-launcher-portrait:hover) .kdv-chat-launcher{box-shadow:0 10px 30px #1268a833;border-color:#60baff}}
#kdvland-chat-24-root.kdv-chat-open{transform:none}
@media(prefers-reduced-motion:reduce){#kdvland-chat-24-root:not(.kdv-chat-open){transition:none;transform:none!important}}
