.rc-chat-launcher{position:fixed;right:24px;bottom:24px;width:56px;height:56px;border-radius:var(--radius-full);border:0;padding:0;background:var(--brand-navy);color:var(--brand-white);cursor:pointer;box-shadow:var(--shadow-lg);z-index:9000;display:inline-flex;align-items:center;justify-content:center;transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),opacity var(--dur-base) var(--ease-out);font-family:var(--font-primary)}.rc-chat-launcher::after{content:'';position:absolute;inset:-4px;border-radius:inherit;background:radial-gradient(closest-side,rgba(93,199,187,0.45),transparent 70%);opacity:0;transition:opacity var(--dur-base) var(--ease-out);z-index:-1}.rc-chat-launcher:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl),var(--shadow-glow)}.rc-chat-launcher:hover::after{opacity:1}.rc-chat-launcher:focus-visible{outline:0;box-shadow:var(--shadow-lg),var(--focus-ring)}.rc-chat-launcher.is-hidden{opacity:0;pointer-events:none;transform:scale(.6)}.rc-chat-panel{position:fixed;right:24px;bottom:24px;width:380px;height:560px;max-height:calc(100vh - 48px);background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);border:1px solid var(--color-border);z-index:9001;display:flex;flex-direction:column;overflow:hidden;font-family:var(--font-primary);color:var(--color-primary);transform:translateY(12px) scale(.98);opacity:0;transform-origin:100% 100%;transition:transform var(--dur-base) var(--ease-out),opacity var(--dur-base) var(--ease-out)}.rc-chat-panel.is-open{opacity:1;transform:translateY(0) scale(1)}.rc-chat-panel[hidden]{display:none}.rc-chat-header{flex:0 0 auto;padding:16px 18px 14px;color:var(--brand-white);background:radial-gradient(120% 180% at 100% 0%,rgba(93,199,187,.55),transparent 55%),linear-gradient(135deg,var(--brand-navy) 0%,#0d3a64 60%,#114a7c 100%);display:flex;align-items:flex-start;gap:12px;position:relative;isolation:isolate}.rc-chat-header::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,rgba(93,199,187,.6),transparent)}.rc-chat-header__text{flex:1;min-width:0}.rc-chat-header__title{font-family:var(--font-secondary);font-weight:var(--weight-bold);font-size:var(--text-lg);line-height:var(--leading-tight);letter-spacing:-0.01em}.rc-chat-header__sub{margin-top:2px;font-size:var(--text-xs);font-weight:var(--weight-thin);color:rgba(255,255,255,.78);line-height:var(--leading-snug)}.rc-chat-close{flex:0 0 auto;width:32px;height:32px;border-radius:var(--radius-full);border:0;background:rgba(255,255,255,.1);color:var(--brand-white);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--dur-fast) var(--ease-out)}.rc-chat-close:hover{background:rgba(255,255,255,.22)}.rc-chat-close:focus-visible{outline:0;box-shadow:var(--focus-ring)}.rc-chat-messages{flex:1 1 auto;overflow-y:auto;padding:18px 16px 12px;display:flex;flex-direction:column;gap:10px;background:linear-gradient(180deg,var(--color-bg-subtle) 0%,var(--color-surface) 35%);scrollbar-width:thin;scrollbar-color:var(--color-border-strong) transparent}.rc-chat-messages::-webkit-scrollbar{width:6px}.rc-chat-messages::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:var(--radius-full)}.rc-chat-msg{max-width:82%;padding:10px 13px;border-radius:var(--radius-lg);font-size:var(--text-sm);line-height:var(--leading-snug);font-weight:var(--weight-regular);white-space:pre-wrap;word-wrap:break-word;overflow-wrap:anywhere;box-shadow:var(--shadow-sm)}.rc-chat-msg--assistant{align-self:flex-start;background:var(--brand-white);color:var(--color-primary);border:1px solid var(--color-border);border-bottom-left-radius:var(--radius-sm)}.rc-chat-msg--user{align-self:flex-end;background:var(--brand-navy);color:var(--brand-white);border-bottom-right-radius:var(--radius-sm)}.rc-chat-typing{display:inline-flex;gap:4px;align-items:center;min-height:28px;padding:10px 14px}.rc-chat-typing span{width:6px;height:6px;border-radius:var(--radius-full);background:var(--brand-teal);opacity:.4;animation:rc-chat-bounce 1.2s infinite var(--ease-in-out)}.rc-chat-typing span:nth-child(2){animation-delay:.15s}.rc-chat-typing span:nth-child(3){animation-delay:.3s}@keyframes rc-chat-bounce{0%,80%,100%{transform:translateY(0);opacity:.35}40%{transform:translateY(-4px);opacity:1}}.rc-chat-error{align-self:stretch;text-align:center;font-size:var(--text-xs);font-weight:var(--weight-regular);color:var(--color-danger);background:var(--color-danger-bg);border:1px solid rgba(163,45,45,.2);padding:8px 12px;border-radius:var(--radius-md)}.rc-chat-compose{flex:0 0 auto;border-top:1px solid var(--color-border);background:var(--color-surface);padding:10px 10px 12px 14px;display:flex;align-items:flex-end;gap:8px}.rc-chat-input{flex:1;border:0;outline:0;resize:none;background:transparent;font:inherit;font-size:var(--text-sm);line-height:1.4;color:var(--color-primary);padding:8px 4px;min-height:22px;max-height:104px;font-family:var(--font-primary);font-weight:var(--weight-regular)}.rc-chat-input::placeholder{color:var(--color-tertiary);font-weight:var(--weight-thin)}.rc-chat-send{flex:0 0 auto;width:38px;height:38px;border-radius:var(--radius-full);border:0;cursor:pointer;background:var(--brand-teal);color:var(--brand-navy);display:inline-flex;align-items:center;justify-content:center;transition:transform var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out),opacity var(--dur-fast) var(--ease-out)}.rc-chat-send:hover:not(:disabled){background:var(--brand-navy);color:var(--brand-teal);transform:translateY(-1px)}.rc-chat-send:focus-visible{outline:0;box-shadow:var(--focus-ring)}.rc-chat-send:disabled{opacity:.4;cursor:not-allowed}@media (max-width:540px){.rc-chat-panel{right:0;bottom:0;width:100vw;height:100vh;max-height:100vh;border-radius:0;border:0}.rc-chat-launcher{right:16px;bottom:16px}}@media (prefers-reduced-motion:reduce){.rc-chat-launcher,.rc-chat-panel,.rc-chat-close,.rc-chat-send{transition:none}.rc-chat-typing span{animation:none;opacity:.6}.rc-chat-launcher:hover{transform:none}}
