#vnc-widget{position:fixed;right:18px;top:50%;bottom:auto;transform:translateY(-50%);z-index:999999;font:14px/1.5 system-ui,sans-serif;color:#172033}#vnc-widget *{box-sizing:border-box}#vnc-toggle{background:#1762c4;color:#fff;border:0;border-radius:24px;padding:12px 18px;cursor:pointer;box-shadow:0 4px 18px #0003}#vnc-box{position:absolute;right:calc(100% + 12px);top:50%;transform:translateY(-50%);width:min(340px,calc(100vw - 30px));height:420px;background:#fff;box-shadow:0 8px 30px #0004;border-radius:12px;overflow:hidden;margin:0}#vnc-box[hidden]{display:none}.vnc-head{background:#1762c4;color:#fff;padding:12px;font-weight:700;display:flex;justify-content:space-between}.vnc-head button{border:0;background:none;color:#fff;font-size:22px;cursor:pointer}#vnc-log{height:226px;overflow:auto;padding:12px}.vnc-msg{white-space:pre-wrap;overflow-wrap:anywhere;padding:8px 10px;margin:6px 0;border-radius:9px;background:#eef2f6}.vnc-msg.visitor{background:#dceafe;margin-left:25px}#vnc-form{display:flex;padding:6px;gap:5px}#vnc-form textarea{flex:1;height:49px;resize:none;font:inherit}#vnc-form button{background:#1762c4;color:#fff;border:0;border-radius:5px;padding:0 12px;cursor:pointer}#vnc-box small{display:block;padding:0 8px;color:#666;font-size:10px}

@media(max-width:700px){#vnc-widget{right:10px}#vnc-box{position:absolute;right:0;top:50%;transform:translateY(-50%);height:min(420px,calc(100vh - 24px));}#vnc-log{height:calc(100% - 194px)}}
#vnc-toggle{position:relative;transition:background .2s,transform .2s,box-shadow .2s}#vnc-toggle:hover{transform:scale(1.06)}#vnc-toggle.vnc-attention{animation:vnc-pulse 1.2s ease-in-out infinite}#vnc-unread:not([hidden]){display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:5px;padding:0 4px;background:#e31b36;color:white;border-radius:999px;font-size:12px;font-weight:700}@keyframes vnc-pulse{0%,100%{background:#1762c4;box-shadow:0 0 0 0 #e31b3670}50%{background:#e31b36;box-shadow:0 0 0 12px #e31b3600}}

#vnc-widget .vnc-intro{height:40px;overflow:hidden;background:linear-gradient(90deg,#e7f2ff,#b9dcff);border-bottom:1px solid #90bfe9;display:flex;align-items:center}#vnc-widget .vnc-intro-text{display:block;white-space:nowrap;width:max-content;color:#06457f;font-size:13px;font-weight:700;animation:vnc-marquee 13s linear infinite;padding-left:0}#vnc-widget .vnc-intro:hover .vnc-intro-text{animation-play-state:paused}@keyframes vnc-marquee{from{transform:translateX(340px)}to{transform:translateX(-100%)}}@media(prefers-reduced-motion:reduce){#vnc-widget .vnc-intro-text{animation:none;white-space:normal;font-size:11px;line-height:1.2}}

/* Chat launcher: high-contrast blue and gold, gentle periodic emphasis. */
#vnc-widget #vnc-toggle{display:flex;align-items:center;gap:11px;position:relative;isolation:isolate;max-width:calc(100vw - 36px);padding:12px 15px 12px 12px;border:1px solid #91c4ff;border-radius:20px;background:linear-gradient(125deg,#124b9d,#17366e);color:#fff;font-family:inherit;line-height:1.3;text-align:left;text-transform:none;letter-spacing:normal;box-shadow:0 8px 24px #071e4652;transition:transform .2s,box-shadow .2s;animation:vnc-launch-glow 5s ease-out infinite;cursor:pointer}
#vnc-widget .vnc-launch-icon{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,#ffe59a,#ffc447);color:#17366e;box-shadow:inset 0 1px 0 #fff9}
#vnc-widget .vnc-launch-icon svg{display:block}
#vnc-widget .vnc-launch-copy{display:flex;flex-direction:column;gap:4px;min-width:0}
#vnc-widget .vnc-launch-title{color:#ffe391;font-size:16px;font-weight:800;line-height:1.3}
#vnc-widget .vnc-launch-subtitle{color:#f0f6ff;font-size:11px;font-weight:500;line-height:1.4}
#vnc-widget .vnc-launch-arrow{color:#ffe391;font-size:22px;line-height:1;margin-left:2px;transition:transform .2s}
#vnc-widget #vnc-toggle:hover{transform:translateY(-3px);box-shadow:0 12px 28px #071e4666}
#vnc-widget #vnc-toggle:hover .vnc-launch-arrow{transform:translateX(3px)}
#vnc-widget #vnc-toggle:focus-visible{outline:3px solid #ffca50;outline-offset:5px}
#vnc-widget #vnc-toggle[aria-expanded="true"]{animation:none}
#vnc-widget #vnc-toggle.vnc-attention{animation:vnc-launch-glow 1.8s ease-out infinite;border-color:#ffd46c}
#vnc-widget #vnc-unread:not([hidden]){position:absolute;right:-6px;top:-8px;display:grid;place-items:center;min-width:25px;height:25px;margin:0;padding:0 6px;border:2px solid #fff;border-radius:999px;background:#bd1838;color:#fff;font-size:12px;font-weight:800;box-shadow:0 3px 8px #0003}
@keyframes vnc-launch-glow{0%,65%,100%{box-shadow:0 8px 24px #071e4652,0 0 0 0 #ffcd5b00}72%{box-shadow:0 8px 24px #071e4652,0 0 0 0 #ffcd5b80}92%{box-shadow:0 8px 24px #071e4652,0 0 0 10px #ffcd5b00}}
@media(max-width:700px){#vnc-widget #vnc-toggle{gap:9px;padding:10px 12px 10px 10px;border-radius:17px}#vnc-widget .vnc-launch-icon{flex-basis:38px;width:38px;height:38px;border-radius:12px}#vnc-widget .vnc-launch-title{font-size:14px}#vnc-widget .vnc-launch-subtitle{font-size:10px}}
@media(prefers-reduced-motion:reduce){#vnc-widget #vnc-toggle,#vnc-widget #vnc-toggle.vnc-attention{animation:none;transition:none}#vnc-widget .vnc-launch-arrow{transition:none}#vnc-widget #vnc-toggle:hover,#vnc-widget #vnc-toggle:hover .vnc-launch-arrow{transform:none}}

/* Keep connection status and composer visible at every supported screen size. */
#vnc-widget #vnc-box:not([hidden]){display:flex;flex-direction:column;max-height:calc(100dvh - 24px)}#vnc-widget .vnc-head,#vnc-widget .vnc-intro,#vnc-widget #vnc-form,#vnc-widget #vnc-box small{flex-shrink:0}#vnc-widget #vnc-log{flex:1;min-height:40px;height:auto}#vnc-widget #vnc-status{flex-shrink:0;padding:5px 10px;font:11px/1.4 system-ui;color:#176442;background:#edf8f2;overflow-wrap:anywhere}#vnc-widget #vnc-status.vnc-error{color:#9c2431;background:#fff0f0}#vnc-widget #vnc-form textarea{min-width:0}#vnc-widget #vnc-form button:disabled{opacity:.65;cursor:wait}#vnc-widget #vnc-box small{padding-bottom:6px}
