:root{--nova-ai-navy:#082b52;--nova-ai-blue:#126bc0}
.nova-ai-widget{position:fixed;z-index:1000;right:24px;bottom:24px;width:196px;height:58px;font-family:Manrope,Arial,sans-serif;transition:width .42s cubic-bezier(.22,1,.36,1),height .42s cubic-bezier(.22,1,.36,1)}
.nova-ai-launcher{position:absolute;right:0;bottom:0;z-index:2;width:196px;height:58px;display:flex;align-items:center;gap:11px;padding:8px 17px;border:1px solid #ffffff8c;border-radius:17px;background:linear-gradient(120deg,#0e70c8,#073e78);box-shadow:0 12px 34px #092b5238;color:#fff;cursor:pointer;font:inherit;text-align:left;transition:transform .24s ease,box-shadow .24s ease,filter .24s ease,opacity .2s ease}
.nova-ai-launcher:hover,.nova-ai-launcher:focus-visible{transform:translateY(-3px);box-shadow:0 16px 36px #092b5250;filter:brightness(1.07);outline:none}
.nova-ai-launcher:focus-visible{box-shadow:0 0 0 3px #8ac9fa,0 12px 34px #092b5238}
.nova-ai-mark{flex:0 0 auto;width:38px;height:38px;display:grid;place-items:center;border:1px solid #ffffff70;border-radius:12px;background:#ffffff1c;color:#fff}
.nova-ai-mark svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
.nova-ai-label{font-size:15px;font-weight:800;letter-spacing:.035em;white-space:nowrap}
.nova-ai-label b{color:#a7d7ff}
.nova-ai-status{width:7px;height:7px;margin-left:auto;border-radius:50%;background:#9de8c6;box-shadow:0 0 0 3px #9de8c625}
.nova-ai-panel{position:absolute;right:0;bottom:0;width:min(360px,calc(100vw - 32px));height:min(500px,calc(100dvh - 32px));display:flex;flex-direction:column;overflow:hidden;border:1px solid #dce8f2;border-radius:22px;background:#f7faff;box-shadow:0 24px 72px #092b5240;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(16px) scale(.94);transform-origin:bottom right;transition:opacity .2s ease,transform .42s cubic-bezier(.22,1,.36,1),visibility 0s linear .42s}
.nova-ai-widget.is-open{width:min(360px,calc(100vw - 32px));height:min(500px,calc(100dvh - 32px))}
.nova-ai-widget.is-open .nova-ai-panel{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0) scale(1);transition:opacity .18s ease .08s,transform .42s cubic-bezier(.22,1,.36,1),visibility 0s}
.nova-ai-widget.is-open .nova-ai-launcher{opacity:0;visibility:hidden;pointer-events:none;transform:scale(.82)}
.nova-ai-header{display:flex;align-items:center;gap:11px;padding:16px 17px;background:linear-gradient(112deg,#0d67b3,#082b52);color:#fff}
.nova-ai-header .nova-ai-mark{width:36px;height:36px}
.nova-ai-header>span:nth-child(2){display:grid;gap:3px}
.nova-ai-header strong{font-size:13px;letter-spacing:.06em}
.nova-ai-header small{font-size:9px;color:#d8eaff}
.nova-ai-close{display:grid;place-items:center;width:34px;height:34px;margin-left:auto;border:1px solid #ffffff42;border-radius:50%;background:#ffffff12;color:#fff;font-size:23px;line-height:1;cursor:pointer;transition:background .2s ease,transform .2s ease}
.nova-ai-close:hover{background:#ffffff29;transform:rotate(90deg)}
.nova-ai-close:focus-visible{outline:2px solid #9cd5ff;outline-offset:2px}
.nova-ai-conversation{display:flex;align-items:flex-start;gap:9px;flex:1;padding:20px 16px}
.nova-ai-avatar{flex:0 0 auto;display:grid;place-items:center;width:30px;height:30px;border-radius:11px;background:#e2f1ff;color:#176fc1;font-size:13px;font-weight:800}
.nova-ai-welcome{max-width:270px;padding:14px 15px;border:1px solid #e2ebf4;border-radius:4px 15px 15px;background:#fff;box-shadow:0 5px 15px #0c31500a}
.nova-ai-welcome small{color:#4e89bb;font-size:8px;font-weight:800;letter-spacing:.14em}
.nova-ai-welcome p{margin:7px 0 11px;color:#233f5c;font-size:12px;line-height:1.65}
.nova-ai-coming{display:inline-flex;padding:5px 8px;border-radius:6px;background:#edf5fc;color:#58748d;font-size:9px;font-weight:700}
.nova-ai-compose{display:flex;gap:8px;padding:12px;border-top:1px solid #e1eaf2;background:#fff}
.nova-ai-compose input{min-width:0;flex:1;height:42px;padding:0 12px;border:1px solid #e0e8ef;border-radius:11px;background:#f6f8fa;color:#7890a6;font:inherit;font-size:10px}
.nova-ai-compose button{flex:0 0 auto;width:42px;height:42px;display:grid;place-items:center;border:0;border-radius:11px;background:#dce9f4;color:#7690a7}
.nova-ai-compose button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:600px){.nova-ai-widget{right:14px;bottom:14px}.nova-ai-panel,.nova-ai-widget.is-open{width:calc(100vw - 28px);height:min(480px,calc(100dvh - 28px))}.nova-ai-launcher{width:178px;height:54px;padding:7px 13px}.nova-ai-label{font-size:14px}}
@media(prefers-reduced-motion:reduce){.nova-ai-widget,.nova-ai-launcher,.nova-ai-panel,.nova-ai-close{transition:none!important}}

.nova-ai-conversation{display:flex;flex-direction:column;align-items:stretch;gap:10px;overflow-x:hidden;overflow-y:auto;padding:16px;background:#f3f7fb}.nova-ai-avatar{position:relative;z-index:1}.nova-ai-welcome{max-width:calc(100% - 42px);margin:-40px 0 4px 42px}.nova-ai-message{align-self:flex-start;max-width:82%;padding:10px 12px;border-radius:14px;margin:0;overflow-wrap:anywhere;font-size:12px;line-height:1.55}.nova-ai-message.user{align-self:flex-end;margin-left:0;background:#0b66b8;color:#fff;border-bottom-right-radius:3px}.nova-ai-message.assistant{background:#fff;color:#17395b;border:1px solid #e1eaf2;border-bottom-left-radius:3px;box-shadow:0 2px 7px #0c315009}.nova-ai-message.pending{opacity:.65;font-style:italic}.nova-ai-compose button:disabled{opacity:.55;cursor:wait}

/* Keep the floating assistant off small-screen layouts. */
@media(max-width:760px){.nova-ai-widget{display:none!important}}
