.chat-widget{z-index:var(--z-modal);width:380px;max-width:calc(100vw - 32px);height:550px;max-height:calc(100vh - 120px);transition:all var(--transition-slow)cubic-bezier(.4,0,.2,1);position:fixed;bottom:80px;right:16px}.chat-widget.fullscreen{width:100vw;max-width:100vw;height:100vh;max-height:100vh;inset:0}.chat-container{background:hsl(var(--color-card));height:100%;box-shadow:var(--shadow-xl);border:1px solid hsl(var(--color-border));flex-direction:column;display:flex;overflow:hidden}.chat-header{background:hsl(var(--color-primary));color:hsl(var(--color-primary-foreground));border-bottom:1px solid hsl(var(--color-primary));justify-content:space-between;align-items:center;padding:16px;display:flex}.chat-header h3{color:hsl(var(--color-primary-foreground));margin:0;font-size:18px;font-weight:600}.chat-header-actions{gap:8px;display:flex}.chat-header-actions button{color:hsl(var(--color-primary-foreground));padding:6px}.chat-header-actions button:hover{background:#0000001a}.chat-messages{background:hsl(var(--color-background));flex-direction:column;flex:1;gap:12px;padding:16px;display:flex;overflow-y:auto}.chat-empty-state{height:100%;color:hsl(var(--color-muted-foreground));text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:32px;display:flex}.chat-empty-state svg{color:hsl(var(--color-primary))}.chat-empty-state p{margin:0;font-size:14px}.chat-message{margin-bottom:8px;display:flex}.chat-message.user{justify-content:flex-end}.chat-message.assistant{justify-content:flex-start}.message-content{border-radius:var(--radius-lg);word-wrap:break-word;white-space:pre-wrap;max-width:80%;padding:12px 16px}.chat-message.user .message-content{background:hsl(var(--color-primary));color:hsl(var(--color-primary-foreground));border-bottom-right-radius:var(--radius-sm)}.chat-message.assistant .message-content{background:hsl(var(--color-card));color:hsl(var(--color-foreground));border-bottom-left-radius:var(--radius-sm);border:1px solid hsl(var(--color-border))}.chat-message.assistant .message-content p{color:inherit;margin:0 0 8px;line-height:1.5}.chat-message.assistant .message-content p:last-child{margin-bottom:0}.chat-message.assistant .message-content ul,.chat-message.assistant .message-content ol{margin:8px 0;padding-left:20px}.chat-message.assistant .message-content li{margin:4px 0;line-height:1.5}.chat-message.assistant .message-content strong{color:hsl(var(--color-foreground));font-weight:600}.chat-message.assistant .message-content em{font-style:italic}.chat-message.assistant .message-content code{background:hsl(var(--color-muted));color:hsl(var(--color-foreground));border-radius:var(--radius-sm);font-family:var(--font-body);padding:2px 6px;font-size:.9em}.chat-message.assistant .message-content a{color:hsl(var(--color-primary));text-decoration:underline}.chat-message.assistant .message-content a:hover{opacity:.8}.message-content.loading{color:hsl(var(--color-muted-foreground));align-items:center;gap:8px;display:flex}.loading-dots{gap:4px;display:flex}.loading-dots span{background:hsl(var(--color-primary));border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite both bounce}.loading-dots span:first-child{animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.chat-input-container{background:hsl(var(--color-card));border-top:1px solid hsl(var(--color-border));gap:8px;padding:16px;display:flex}.chat-input{flex:1;background:hsl(var(--color-background))!important;color:#fff!important;border-color:hsl(var(--color-border))!important}.chat-input::placeholder{color:#a0a0a0!important;opacity:.8!important}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-track{background:hsl(var(--color-background))}.chat-messages::-webkit-scrollbar-thumb{background:hsl(var(--color-primary)/.5);border-radius:3px}.chat-messages::-webkit-scrollbar-thumb:hover{background:hsl(var(--color-primary))}.ui-resource-container{clear:both;width:100%;margin-top:12px}.ui-resource-container iframe{border:1px solid hsl(var(--color-border));border-radius:var(--radius-md);overflow:hidden}@media (max-width:640px){.chat-widget{width:calc(100vw - 32px);height:calc(100vh - 120px);bottom:16px}.message-content{max-width:85%}}
.chat-btn{background:hsl(var(--color-primary));color:hsl(var(--color-primary-foreground));cursor:pointer;transition:all var(--transition-slow)cubic-bezier(.4,0,.2,1);white-space:nowrap;border:none;border-radius:30px;align-items:center;gap:8px;padding:12px 16px;font-family:inherit;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.chat-btn:hover{background:hsl(var(--color-primary));opacity:.9;box-shadow:var(--shadow-lg);transform:translateY(-2px)}.chat-btn.floating{z-index:var(--z-tooltip);background:hsl(var(--color-primary));width:56px;height:56px;box-shadow:var(--shadow-lg);transition:background var(--transition-slow)cubic-bezier(.4,0,.2,1),box-shadow var(--transition-slow)cubic-bezier(.4,0,.2,1),transform var(--transition-slow)cubic-bezier(.4,0,.2,1);border-radius:50%;justify-content:center;gap:0;padding:0;position:fixed;bottom:16px;right:16px;overflow:hidden}.chat-btn.floating span{display:none}.chat-btn.floating:hover{background:hsl(var(--color-primary));opacity:.9;width:auto;box-shadow:var(--shadow-xl);border-radius:30px;gap:8px;padding:12px 16px;transform:translateY(-2px)}.chat-btn.floating:hover span{display:inline}
