:root{--chat-user-bubble-bg:linear-gradient(135deg,hsl(var(--foreground)) 0%,hsl(var(--foreground)/0.9) 100%);--chat-user-bg-solid:hsl(var(--foreground));--chat-user-text:hsl(var(--background));--chat-assistant-bubble-bg:linear-gradient(135deg,hsl(var(--card)) 0%,hsl(var(--background)) 100%);--chat-assistant-bg-solid:hsl(var(--background));--chat-assistant-text:hsl(var(--foreground));--chat-avatar-user-bg:hsl(var(--muted));--chat-avatar-assistant-bg:hsl(var(--primary)/0.08);--chat-avatar-assistant-text:hsl(var(--primary));--chat-input-bg:hsl(var(--card)/0.85);--chat-input-border:hsl(var(--border)/0.6);--chat-input-focus-ring:hsl(var(--primary)/0.15);--chat-input-backdrop:blur(20px);--chat-code-bg:hsl(var(--foreground));--chat-code-header-bg:hsl(var(--foreground)/0.85);--chat-code-text:hsl(var(--background));--chat-accent:hsl(var(--primary));--chat-accent-hover:hsl(var(--primary)/0.85);--chat-accent-light:hsl(var(--primary)/0.08);--chat-accent-glow:hsl(var(--primary)/0.3);--chat-shadow-sm:var(--shadow-xs,0 1px 2px #0000000a);--chat-shadow-md:var(--shadow-md,0 4px 6px -1px #0000000d);--chat-shadow-lg:var(--shadow-lg,0 10px 15px -3px #0000000f);--chat-shadow-xl:var(--shadow-xl,0 20px 25px -5px #00000014);--chat-transition-fast:var(--transition-fast) var(--ease-default);--chat-transition-normal:var(--transition-normal) var(--ease-default);--chat-transition-slow:var(--transition-slow) var(--ease-default);--chat-font-sans:var(--font-sans,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);--chat-font-mono:var(--font-mono,"SF Mono",monospace)}.dark{--chat-user-bubble-bg:linear-gradient(135deg,hsl(var(--muted)) 0%,hsl(var(--muted)/0.8) 100%);--chat-user-bg-solid:hsl(var(--muted));--chat-user-text:hsl(var(--foreground));--chat-assistant-bubble-bg:linear-gradient(135deg,hsl(var(--card)) 0%,hsl(var(--background)) 100%);--chat-assistant-bg-solid:hsl(var(--card));--chat-assistant-text:hsl(var(--foreground));--chat-avatar-user-bg:hsl(var(--muted));--chat-input-bg:hsl(var(--background)/0.85);--chat-input-border:hsl(var(--border)/0.6);--chat-input-focus-ring:hsl(var(--primary)/0.2);--chat-code-bg:hsl(var(--background));--chat-code-header-bg:hsl(var(--card));--chat-shadow-sm:var(--shadow-xs,0 1px 2px #00000026);--chat-shadow-md:var(--shadow-md,0 4px 6px -1px #0003);--chat-shadow-lg:var(--shadow-lg,0 10px 15px -3px #00000040);--chat-shadow-xl:var(--shadow-xl,0 20px 25px -5px #0000004d)}.chat-container{display:flex;flex-direction:column;height:100%;background:linear-gradient(180deg,hsl(var(--background)) 0,hsl(var(--muted)/.5) 100%);font-family:var(--chat-font-sans);position:relative}.dark .chat-container{background:linear-gradient(180deg,hsl(var(--background)) 0,hsl(var(--background)/.9) 100%)}.chat-messages{flex:1;min-height:0;overflow-y:scroll;scroll-behavior:smooth;padding:0 1rem;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-track{background:#0000}.chat-messages::-webkit-scrollbar-thumb{background-color:hsl(var(--foreground)/.08);border-radius:4px;transition:background-color var(--chat-transition-fast)}.chat-messages::-webkit-scrollbar-thumb:hover{background-color:hsl(var(--foreground)/.15)}.chat-message{display:flex;gap:1rem;padding:1.25rem 0;animation:message-slide-in .3s ease-in-out;max-width:48rem;margin:0 auto;width:100%}@keyframes message-slide-in{0%{opacity:0;transform:translateY(16px) scale(.96);filter:blur(2px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}.chat-message:nth-child(2){animation-delay:50ms}.chat-message:nth-child(3){animation-delay:.1s}.chat-message:nth-child(4){animation-delay:.15s}.chat-message--user{justify-content:flex-end;flex-direction:row-reverse}.chat-message--assistant{justify-content:flex-start}.chat-message__avatar{flex-shrink:0;width:2.25rem;height:2.25rem;border-radius:.625rem;display:flex;align-items:center;justify-content:center;transition:transform var(--chat-transition-fast),box-shadow var(--chat-transition-fast)}.chat-message__avatar:hover{transform:scale(1.05)}.chat-message__avatar--user{background-color:var(--chat-avatar-user-bg);color:hsl(var(--muted-foreground));box-shadow:var(--chat-shadow-sm)}.chat-message__avatar--assistant{background:var(--chat-avatar-assistant-bg);color:var(--chat-avatar-assistant-text);box-shadow:var(--chat-shadow-sm)}.chat-message__bubble{max-width:75%;padding:.75rem 1.125rem;border-radius:1.125rem;line-height:1.65;letter-spacing:-.01em;position:relative;transition:box-shadow var(--chat-transition-fast),transform var(--chat-transition-fast)}.chat-message__bubble:hover{transform:translateY(-1px)}.chat-message__bubble--user{background:var(--chat-user-bubble-bg);color:var(--chat-user-text);border-bottom-right-radius:.5rem}.chat-message__bubble--user,.chat-message__bubble--user:hover{box-shadow:var(--chat-shadow-md)}.chat-message__bubble--assistant{background:var(--chat-assistant-bubble-bg);color:var(--chat-assistant-text);border-bottom-left-radius:.5rem;box-shadow:var(--chat-shadow-sm);border:1px solid hsl(var(--border)/.3)}.dark .chat-message__bubble--assistant{border-color:hsl(var(--border)/.3)}.chat-message__bubble--assistant:hover{box-shadow:var(--chat-shadow-md)}.chat-message__actions{position:absolute;top:.5rem;right:.5rem;display:flex;gap:.25rem;opacity:.4;transition:opacity .2s ease-in-out,transform .2s ease-in-out}.chat-message__bubble:hover .chat-message__actions{opacity:1;transform:scale(1.05)}.chat-message__action-btn{width:1.75rem;height:1.75rem;border-radius:.5rem;border:none;background:hsl(var(--foreground)/.08);color:hsl(var(--muted-foreground));cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease-in-out;box-shadow:var(--chat-shadow-sm)}.chat-message__action-btn:hover{background:hsl(var(--foreground)/.15);color:hsl(var(--foreground));transform:scale(1.1);box-shadow:var(--chat-shadow-md)}.chat-message__action-btn:active{transform:scale(.95)}.dark .chat-message__action-btn{background:hsl(var(--foreground)/.08);color:hsl(var(--muted-foreground));box-shadow:var(--chat-shadow-sm)}.dark .chat-message__action-btn:hover{background:hsl(var(--foreground)/.15);color:hsl(var(--foreground));box-shadow:var(--chat-shadow-md)}.chat-code-block{margin:.75rem 0;border-radius:.5rem;background-color:var(--chat-code-bg)}.chat-code-block__header{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;background-color:var(--chat-code-header-bg);font-size:.75rem;color:hsl(var(--muted-foreground))}.chat-code-block__content{padding:1rem;overflow-x:auto;font-family:JetBrains Mono,Fira Code,monospace;font-size:.75rem;line-height:1.5;color:var(--chat-code-text)}.chat-code-block__copy-btn{padding:.25rem .5rem;border-radius:.25rem;background:#0000;border:none;color:hsl(var(--muted-foreground));cursor:pointer;transition:color .2s,background-color .2s}.chat-code-block__copy-btn:hover{color:hsl(var(--background));background-color:hsl(var(--foreground)/.1)}.chat-input-container{padding:1rem 1.5rem 1.5rem;background:#0000}.chat-input-container:before{content:"";position:absolute;top:-2rem;left:0;right:0;height:3rem;pointer-events:none}.chat-input-container:before,.dark .chat-input-container:before{background:linear-gradient(to top,hsl(var(--background)/.95),#0000)}.chat-input-wrapper{display:flex;flex-direction:column;gap:.75rem;padding:.75rem 1rem;border:1px solid var(--chat-input-border);border-radius:.5rem;background:var(--chat-input-bg);backdrop-filter:var(--chat-input-backdrop);-webkit-backdrop-filter:var(--chat-input-backdrop);box-shadow:var(--chat-shadow-sm);transition:all var(--chat-transition-normal);width:100%}.chat-input-wrapper:hover{border-color:hsl(var(--primary)/.3);box-shadow:var(--chat-shadow-md)}.chat-input-wrapper:focus-within{border-color:var(--chat-accent);box-shadow:0 0 0 3px var(--chat-input-focus-ring)}.chat-input{flex:1;resize:none;border:none;outline:none;background:#0000;font-family:var(--chat-font-sans);font-size:.9375rem;line-height:1.5;max-height:200px;color:inherit;letter-spacing:-.01em;scrollbar-width:thin;scrollbar-color:hsl(var(--foreground)/.15) #0000}.chat-input::-webkit-scrollbar{width:4px}.chat-input::-webkit-scrollbar-track{background:#0000}.chat-input::-webkit-scrollbar-thumb{background-color:hsl(var(--foreground)/.15);border-radius:4px}.chat-input::placeholder{color:hsl(var(--muted-foreground));font-weight:400}.chat-input-actions{display:flex;align-items:center;gap:.5rem}.chat-input-btn{flex-shrink:0;width:2.25rem;height:2.25rem;border-radius:.625rem;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--chat-transition-fast);position:relative;overflow:hidden}.chat-input-btn:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at center,#ffffff26,#0000);opacity:0;transition:opacity var(--chat-transition-fast)}.chat-input-btn:hover:before{opacity:1}.chat-input-btn:active{transform:scale(.92)}.chat-input-btn--attach{background:hsl(var(--foreground)/.04);color:hsl(var(--muted-foreground))}.chat-input-btn--attach:hover{background:hsl(var(--foreground)/.08);color:hsl(var(--foreground))}.dark .chat-input-btn--attach{background:hsl(var(--foreground)/.04);color:hsl(var(--muted-foreground))}.dark .chat-input-btn--attach:hover{background:hsl(var(--foreground)/.1);color:hsl(var(--foreground))}.chat-input-btn--send{background:linear-gradient(135deg,var(--chat-accent) 0,var(--chat-accent-hover) 100%);color:#fff;box-shadow:0 2px 8px var(--chat-accent-glow)}.chat-input-btn--send:hover{box-shadow:0 4px 12px var(--chat-accent-glow);transform:translateY(-1px)}.chat-input-btn--send:active{transform:translateY(0) scale(.95)}.chat-input-btn--send:disabled{background:hsl(var(--muted));color:hsl(var(--muted-foreground));cursor:not-allowed;box-shadow:none}.chat-input-btn--send:disabled:hover{transform:none}.dark .chat-input-btn--send:disabled{background:hsl(var(--muted));color:hsl(var(--muted-foreground))}@keyframes send-pulse{0%,to{box-shadow:0 2px 8px var(--chat-accent-glow)}50%{box-shadow:0 4px 16px var(--chat-accent-glow)}}.chat-input-btn--send.ready{animation:send-pulse 2s ease-in-out infinite}.chat-input-hints{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:.625rem;font-size:.75rem;color:hsl(var(--muted-foreground))}.chat-input-hint{display:flex;align-items:center;gap:.5rem}.chat-input-hint kbd{font-family:var(--chat-font-sans);font-size:.625rem;padding:.125rem .5rem;background:#0000000f;border-radius:.25rem;border:1px solid #00000014}.dark .chat-input-hint kbd{background:#ffffff0f;border-color:#ffffff14}.chat-welcome{flex-direction:column;min-height:60vh;padding:2rem}.chat-welcome,.chat-welcome__logo{display:flex;align-items:center;justify-content:center}.chat-welcome__logo{width:4rem;height:4rem;border-radius:1rem;background:var(--chat-avatar-assistant-bg);color:var(--chat-avatar-assistant-text);margin-bottom:1.5rem;box-shadow:0 10px 25px -5px hsl(var(--primary)/.2)}.chat-welcome__title{font-size:1.875rem;font-weight:600;color:var(--chat-assistant-text);margin-bottom:.5rem}.chat-welcome__subtitle{text-align:center;color:hsl(var(--muted-foreground));max-width:28rem;line-height:1.6}.chat-welcome__prompts{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.75rem;width:100%;max-width:40rem;margin-top:2rem}.chat-welcome__prompt-card{display:flex;flex-direction:column;gap:.5rem;padding:1rem;border-radius:.75rem;border:1px solid var(--chat-input-border);background-color:var(--chat-input-bg);cursor:pointer;text-align:left;transition:border-color .2s,box-shadow .2s}.chat-welcome__prompt-card:hover{border-color:hsl(var(--muted-foreground));box-shadow:0 4px 12px #0000000d}.dark .chat-welcome__prompt-card:hover{box-shadow:0 4px 12px #0000004d}.chat-welcome__prompt-icon{width:2rem;height:2rem;border-radius:.5rem;display:flex;align-items:center;justify-content:center}.chat-welcome__prompt-icon,.dark .chat-welcome__prompt-icon{background-color:hsl(var(--muted));color:hsl(var(--foreground))}.chat-typing-indicator{display:flex;align-items:center;gap:.25rem;padding:.5rem}.chat-typing-dot{width:.5rem;height:.5rem;border-radius:50%;background-color:currentColor;animation:typing-bounce 1.4s ease-in-out infinite both}.chat-typing-dot:first-child{animation-delay:-.32s}.chat-typing-dot:nth-child(2){animation-delay:-.16s}@keyframes typing-bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.streaming-cursor{width:2px;height:1.1em;background:linear-gradient(180deg,currentColor,currentColor);animation:cursor-pulse 1.2s ease-in-out infinite;margin-left:1px;border-radius:4px;opacity:.8}.streaming-cursor,.streaming-cursor--block{display:inline-block;vertical-align:text-bottom}.streaming-cursor--block{width:8px;height:1.2em;background-color:currentColor;animation:cursor-blink 1s step-end infinite;margin-left:2px;opacity:.7}.chat-streaming-cursor{display:inline-block;width:2px;height:1.1em;background:linear-gradient(180deg,currentColor,currentColor);animation:cursor-pulse 1.2s ease-in-out infinite;vertical-align:text-bottom;margin-left:1px;border-radius:4px;opacity:.8}@keyframes cursor-pulse{0%,to{opacity:.8;transform:scaleY(1)}50%{opacity:.3;transform:scaleY(.95)}}@keyframes cursor-blink{0%,to{opacity:.7}50%{opacity:0}}.streaming-text{animation:text-fade-in .15s ease-out}@keyframes text-fade-in{0%{opacity:.7}to{opacity:1}}.streaming-content{will-change:contents}.streaming-content .prose>:last-child{animation:streaming-token-appear .12s ease-out}@keyframes streaming-token-appear{0%{opacity:.6}to{opacity:1}}.streaming-message-wrapper{position:relative;transition:border-color .3s ease}.streaming-message-wrapper:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(180deg,hsl(var(--primary)/.6) 0,hsl(var(--primary)/.2) 100%);border-radius:1px;opacity:1;transition:opacity .3s ease}.send-stop-btn{transition:all .2s cubic-bezier(.4,0,.2,1)}.send-stop-btn-enter{animation:btn-morph-in .2s cubic-bezier(.4,0,.2,1)}@keyframes btn-morph-in{0%{transform:scale(.85) rotate(-90deg);opacity:0}to{transform:scale(1) rotate(0deg);opacity:1}}.token-speed-indicator{font-variant-numeric:tabular-nums;font-size:.6875rem;letter-spacing:.01em;opacity:0;animation:speed-fade-in .3s ease-out .5s forwards}@keyframes speed-fade-in{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.message-actions-appear{animation:actions-fade-in .3s ease-out}@keyframes actions-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.thinking-block-content{overflow:hidden;transition:max-height .3s cubic-bezier(.4,0,.2,1),opacity .2s ease}.thinking-block-content--collapsed{max-height:0;opacity:0}.thinking-block-content--expanded{max-height:2000px;opacity:1}@media (max-width:640px){.chat-message{padding:1rem .75rem}.chat-message__bubble{max-width:90%;padding:.625rem .75rem}.chat-welcome__prompts{grid-template-columns:1fr}.chat-input-container{padding:.75rem}}@media (prefers-reduced-motion:reduce){.chat-message,.chat-streaming-cursor,.chat-typing-dot{animation:none}.chat-message{opacity:1;transform:none}}.chat-input-btn:focus-visible,.chat-welcome__prompt-card:focus-visible{outline:2px solid var(--chat-accent);outline-offset:2px}.artifact-panel{border-left:1px solid hsl(var(--border)/.3);position:relative;overflow:hidden}.artifact-panel,.dark .artifact-panel{background:linear-gradient(180deg,hsl(var(--card)) 0,hsl(var(--background)) 100%)}.dark .artifact-panel{border-left-color:hsl(var(--border)/.3)}.artifact-panel__header{background:#ffffffb3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);position:sticky;top:0;z-index:var(--z-sticky)}.dark .artifact-panel__header{background:#1f2937b3}.artifact-panel__title-icon{display:flex;align-items:center;justify-content:center;background:var(--chat-avatar-assistant-bg);color:var(--chat-avatar-assistant-text);border-radius:.5rem;font-size:.75rem}.artifact-tabs{display:flex;align-items:center;gap:.125rem;padding:.5rem;background:#0000000a;border-radius:.625rem}.dark .artifact-tabs{background:#ffffff0a}.artifact-tab{font-family:var(--chat-font-sans);font-size:.75rem}.artifact-tab--active{background:#fff;color:hsl(var(--foreground));box-shadow:var(--chat-shadow-sm)}.dark .artifact-tab--active{background:#374151cc;color:hsl(var(--foreground))}.artifact-panel__actions{gap:.25rem}.artifact-panel__action{width:1.75rem;height:1.75rem;border-radius:.5rem;border:none;background:#0000;color:hsl(var(--muted-foreground));cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--chat-transition-fast)}.artifact-panel__action:hover{background:#0000000f;color:hsl(var(--foreground))}.dark .artifact-panel__action:hover{background:#ffffff14;color:hsl(var(--foreground))}.artifact-panel__content{overflow:auto;padding:1rem}.artifact-panel__content::-webkit-scrollbar{width:6px}.artifact-panel__content::-webkit-scrollbar-thumb{background-color:hsl(var(--foreground)/.08);border-radius:4px}.artifact-card{background:#fff;border-radius:.75rem;border:1px solid #0000000f;overflow:hidden;box-shadow:var(--chat-shadow-md);transition:all var(--chat-transition-normal)}.artifact-card:hover{box-shadow:var(--chat-shadow-lg);transform:translateY(-2px)}.dark .artifact-card{background:#1f293799;border-color:#ffffff0f}.artifact-card__preview{position:relative;aspect-ratio:16/10;background:hsl(var(--background));overflow:hidden}.dark .artifact-card__preview{background:#11182780}.artifact-card__preview-content{position:absolute;inset:0;padding:1rem}.artifact-card__preview iframe{width:100%;height:100%;border:none;border-radius:.5rem}.artifact-card__info{padding:.75rem 1rem;border-top:1px solid #0000000a}.dark .artifact-card__info{border-top-color:#ffffff0a}.artifact-card__name{font-weight:600;font-size:.75rem;margin-bottom:.25rem}.artifact-card__name,.dark .artifact-card__name{color:hsl(var(--foreground))}.artifact-card__type{font-size:.75rem;color:hsl(var(--muted-foreground));display:flex;align-items:center;gap:.5rem}.artifact-fullscreen{position:fixed;inset:0;z-index:var(--z-overlay);background:#000c;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:2rem;animation:artifact-fullscreen-in .3s cubic-bezier(.16,1,.3,1)}@keyframes artifact-fullscreen-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.artifact-fullscreen__content{width:100%;max-width:90vw;max-height:90vh;background:#fff;border-radius:1rem;overflow:hidden;box-shadow:var(--chat-shadow-xl)}.dark .artifact-fullscreen__content{background:hsl(var(--card))}.artifact-fullscreen__close{position:absolute;top:1rem;right:1rem;width:2.5rem;height:2.5rem;border-radius:.75rem;border:none;background:#ffffff1a;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--chat-transition-fast)}.artifact-fullscreen__close:hover{background:#fff3;transform:scale(1.05)}.glow-effect{position:relative}.glow-effect:after{content:"";position:absolute;inset:-2px;background:linear-gradient(135deg,var(--chat-accent),var(--chat-accent-hover));border-radius:inherit;opacity:0;z-index:var(--z-base);filter:blur(8px);transition:opacity var(--chat-transition-normal)}.glow-effect:hover:after{opacity:.4}@keyframes shine{0%{background-position:200%}to{background-position:-200%}}.shine-effect{background:linear-gradient(90deg,#0000,#fff3 50%,#0000);background-size:200% auto}.shine-effect:hover{animation:shine 1.5s ease-in-out}.chat-tooltip{position:relative}.chat-tooltip:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translateX(-50%) translateY(-.5rem);padding:.5rem .625rem;background:hsl(var(--background));color:#fff;font-size:.75rem;font-weight:500;border-radius:.5rem;white-space:nowrap;opacity:0;pointer-events:none;transition:all var(--chat-transition-fast);box-shadow:var(--chat-shadow-md)}.chat-tooltip:hover:after{opacity:1;transform:translateX(-50%) translateY(-.75rem)}.chat-divider{display:flex;align-items:center;gap:1rem;margin:1.5rem 0}.chat-divider:after,.chat-divider:before{content:"";flex:1;height:1px;background:#00000014}.dark .chat-divider:after,.dark .chat-divider:before{background:#ffffff14}.chat-divider__text{font-size:.75rem;font-weight:500;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em}.scroll-to-bottom-btn{position:absolute;bottom:6rem;left:50%;transform:translateX(-50%) translateY(0);z-index:var(--z-fab);display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#fffffff2;border:1px solid #0000001a;border-radius:.375rem;box-shadow:var(--chat-shadow-lg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);cursor:pointer;transition:all var(--chat-transition-normal);animation:scroll-btn-enter .3s cubic-bezier(.16,1,.3,1)}.dark .scroll-to-bottom-btn{background:#1f2937f2;border-color:#ffffff1a}.scroll-to-bottom-btn:hover{transform:translateX(-50%) translateY(-2px);box-shadow:var(--chat-shadow-xl)}.scroll-to-bottom-btn:active{transform:translateX(-50%) translateY(0) scale(.98)}@keyframes scroll-btn-enter{0%{opacity:0;transform:translateX(-50%) translateY(20px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.scroll-to-bottom-btn__icon{width:1.25rem;height:1.25rem;color:hsl(var(--muted-foreground));animation:bounce-arrow 1s ease-in-out infinite}.scroll-to-bottom-btn:hover .scroll-to-bottom-btn__icon{color:var(--chat-accent)}@keyframes bounce-arrow{0%,to{transform:translateY(0)}50%{transform:translateY(3px)}}.scroll-to-bottom-btn__text{font-size:.75rem;font-weight:500}.dark .scroll-to-bottom-btn__text,.scroll-to-bottom-btn__text{color:hsl(var(--foreground))}.scroll-to-bottom-btn__count{display:flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 .5rem;background:hsl(var(--muted-foreground));color:#fff;font-size:.625rem;font-weight:600;border-radius:9999px}.message-edit-mode{background:hsl(var(--primary)/.08);border:2px solid var(--chat-accent);border-radius:1rem;padding:1rem;animation:edit-mode-enter .2s ease-out}@keyframes edit-mode-enter{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.message-edit-textarea{width:100%;min-height:100px;padding:.75rem;border:1px solid var(--chat-input-border);border-radius:.5rem;background:var(--chat-input-bg);font-family:var(--chat-font-sans);font-size:.75rem;line-height:1.6;resize:vertical;outline:none;transition:border-color var(--chat-transition-fast)}.message-edit-textarea:focus{border-color:var(--chat-accent);box-shadow:0 0 0 3px var(--chat-input-focus-ring)}.message-edit-actions{display:flex;align-items:center;gap:.5rem;margin-top:.75rem}.message-edit-btn{padding:.5rem 1rem;border-radius:.5rem;font-size:.75rem;font-weight:500;cursor:pointer;transition:all var(--chat-transition-fast)}.message-edit-btn--save{background:linear-gradient(135deg,var(--chat-accent),var(--chat-accent-hover));color:#fff;border:none;box-shadow:0 2px 8px var(--chat-accent-glow)}.message-edit-btn--save:hover{transform:translateY(-1px);box-shadow:0 4px 12px var(--chat-accent-glow)}.message-edit-btn--cancel{background:#0000;color:hsl(var(--muted-foreground));border:1px solid var(--chat-input-border)}.message-edit-btn--cancel:hover{background:#0000000d}.dark .message-edit-btn--cancel:hover{background:#ffffff0d}.message-edited-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .5rem;font-size:.625rem;font-weight:500;color:hsl(var(--muted-foreground));background:#0000000a;border-radius:.25rem;margin-left:.5rem}.dark .message-edited-badge{background:#ffffff0a}.message-collapsed{position:relative;max-height:120px;overflow:hidden;cursor:pointer}.message-collapsed:after{content:"";position:absolute;bottom:0;left:0;right:0;height:60px;background:linear-gradient(to top,var(--chat-assistant-bg-solid,hsl(var(--background))),#0000);pointer-events:none}.dark .message-collapsed:after{background:linear-gradient(to top,var(--chat-assistant-bg-solid,hsl(var(--card))),#0000)}.message-collapse-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.5rem;margin-top:.5rem;background:#00000005;border:1px dashed #0000001a;border-radius:.5rem;color:hsl(var(--muted-foreground));font-size:.75rem;font-weight:500;cursor:pointer;transition:all var(--chat-transition-fast)}.dark .message-collapse-btn{background:#ffffff05;border-color:#ffffff1a}.message-collapse-btn:hover{background:#0000000d;border-color:#0003;color:hsl(var(--foreground))}.dark .message-collapse-btn:hover{background:#ffffff0d;border-color:#fff3;color:hsl(var(--foreground))}.message-collapse-btn__icon{width:1rem;height:1rem;transition:transform var(--chat-transition-fast)}.message-collapse-btn--expanded .message-collapse-btn__icon{transform:rotate(180deg)}.welcome-animation{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;padding:2rem;animation:welcome-fade-in .8s cubic-bezier(.16,1,.3,1)}@keyframes welcome-fade-in{0%{opacity:0}to{opacity:1}}.welcome-logo{position:relative;width:5rem;height:5rem;margin-bottom:2rem}.welcome-logo__ring{position:absolute;inset:0;border:2px solid var(--chat-accent);border-radius:.75rem;animation:logo-ring-pulse 2s ease-in-out infinite}@keyframes logo-ring-pulse{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.1);opacity:.2}}.welcome-logo__ring:nth-child(2){animation-delay:.5s}.welcome-logo__ring:nth-child(3){animation-delay:1s}.welcome-logo__icon{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--chat-avatar-assistant-bg);color:var(--chat-avatar-assistant-text);border-radius:.75rem;box-shadow:0 10px 40px var(--chat-accent-glow);animation:logo-icon-enter .6s cubic-bezier(.16,1,.3,1) .2s both}@keyframes logo-icon-enter{0%{opacity:0;transform:scale(.5) rotate(-10deg)}to{opacity:1;transform:scale(1) rotate(0)}}.welcome-logo__sparkle{color:var(--chat-avatar-assistant-text);width:2.5rem;height:2.5rem;animation:sparkle-rotate 8s linear infinite}@keyframes sparkle-rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.welcome-title{font-size:2rem;font-weight:700;color:var(--chat-assistant-text);margin-bottom:.5rem;animation:welcome-text-enter .6s cubic-bezier(.16,1,.3,1) .3s both}.dark .welcome-title,.welcome-title{background:linear-gradient(135deg,hsl(var(--foreground)) 0,hsl(var(--muted-foreground)) 100%);-webkit-background-clip:text;-webkit-text-fill-color:#0000;background-clip:text}@keyframes welcome-text-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.welcome-subtitle{font-size:1rem;color:hsl(var(--muted-foreground));text-align:center;max-width:28rem;line-height:1.6;animation:welcome-text-enter .6s cubic-bezier(.16,1,.3,1) .4s both}.welcome-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;width:100%;max-width:36rem;margin-top:2.5rem;animation:welcome-text-enter .6s cubic-bezier(.16,1,.3,1) .5s both}.welcome-feature{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.25rem;background:#fff9;border:1px solid #0000000f;border-radius:1rem;transition:all var(--chat-transition-normal);cursor:pointer}.dark .welcome-feature{background:#1f293799;border-color:#ffffff0f}.welcome-feature:hover{transform:translateY(-4px);box-shadow:var(--chat-shadow-lg);background:#ffffffe6}.dark .welcome-feature:hover{background:#1f2937e6}.welcome-feature__icon{width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;border-radius:.75rem;background:var(--chat-accent-light);color:var(--chat-accent)}.dark .welcome-feature__icon{background:hsl(var(--primary)/.15);color:var(--chat-accent)}.welcome-feature__text{font-size:.75rem;font-weight:500;text-align:center}.dark .welcome-feature__text,.welcome-feature__text{color:hsl(var(--foreground))}.branch-indicator{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#9ca3af1a;border:1px solid #9ca3af33;border-radius:.375rem;font-size:.75rem;font-weight:500;color:hsl(var(--muted-foreground))}.dark .branch-indicator{background:#9ca3af26;border-color:#9ca3af4d;color:hsl(var(--muted-foreground))}.branch-indicator__icon{width:.75rem;height:.75rem}.branch-selector{position:relative}.branch-selector__dropdown{position:absolute;top:100%;left:0;margin-top:.5rem;min-width:200px;background:#fff;border:1px solid #0000001a;border-radius:.75rem;box-shadow:var(--chat-shadow-xl);z-index:var(--z-dropdown);animation:dropdown-enter .2s cubic-bezier(.16,1,.3,1)}.dark .branch-selector__dropdown{background:hsl(var(--card));border-color:#ffffff1a}@keyframes dropdown-enter{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.branch-selector__item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;background:#0000;border:none;color:hsl(var(--foreground));font-size:.75rem;text-align:left;cursor:pointer;transition:background var(--chat-transition-fast)}.branch-selector__item:first-child{border-radius:.75rem .75rem 0 0}.branch-selector__item:last-child{border-radius:0 0 .75rem .75rem}.branch-selector__item:hover{background:#0000000d}.dark .branch-selector__item{color:hsl(var(--foreground))}.dark .branch-selector__item:hover{background:#ffffff0d}.branch-selector__item--active{background:hsl(var(--primary)/.1);color:var(--chat-accent)}.dark .branch-selector__item--active{background:hsl(var(--primary)/.15);color:var(--chat-accent)}.branch-create-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem .625rem;background:#0000;border:1px dashed #9ca3af4d;border-radius:.5rem;color:hsl(var(--muted-foreground));font-size:.75rem;font-weight:500;cursor:pointer;transition:all var(--chat-transition-fast)}.branch-create-btn:hover{background:hsl(var(--primary)/.08);border-color:var(--chat-accent);color:var(--chat-accent);border-style:solid}.dark .branch-create-btn{color:hsl(var(--muted-foreground));border-color:#9ca3af66}.dark .branch-create-btn:hover{background:hsl(var(--primary)/.15);border-color:var(--chat-accent);color:var(--chat-accent)}.artifact-panel-container{display:flex;height:100%;width:100%;overflow:hidden}.artifact-panel{display:flex;flex-direction:column;height:100%;background:hsl(var(--background));border-left:1px solid #00000014;transition:width .3s cubic-bezier(.16,1,.3,1),transform .3s cubic-bezier(.16,1,.3,1),opacity .3s ease}.dark .artifact-panel{background:hsl(var(--background));border-left-color:#ffffff14}.artifact-panel--collapsed{width:0!important;opacity:0;transform:translateX(100%)}.artifact-panel--expanded{opacity:1;transform:translateX(0)}.artifact-panel__header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid #0000000f;background:#fffc;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);min-height:52px}.dark .artifact-panel__header{background:#111827cc;border-bottom-color:#ffffff0f}.artifact-panel__title{display:flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:600}.artifact-panel__title,.dark .artifact-panel__title{color:hsl(var(--foreground))}.artifact-panel__title-icon{width:1.25rem;height:1.25rem;color:hsl(var(--primary))}.artifact-panel__tabs{display:flex;align-items:center;gap:.25rem;padding:.5rem;border-bottom:1px solid #0000000f;overflow-x:auto;scrollbar-width:none}.artifact-panel__tabs::-webkit-scrollbar{display:none}.dark .artifact-panel__tabs{border-bottom-color:#ffffff0f}.artifact-tab{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:.5rem;font-size:.8125rem;font-weight:500;color:hsl(var(--muted-foreground));background:#0000;border:none;cursor:pointer;transition:all var(--chat-transition-fast);white-space:nowrap}.artifact-tab:hover{background:#0000000a;color:hsl(var(--foreground))}.dark .artifact-tab:hover{background:#ffffff0a;color:hsl(var(--foreground))}.artifact-tab--active{background:#6366f11a;color:hsl(var(--primary))}.dark .artifact-tab--active{background:#6366f126;color:hsl(var(--primary))}.artifact-tab__close,.artifact-tab__icon{width:1rem;height:1rem}.artifact-tab__close{display:flex;align-items:center;justify-content:center;margin-left:.25rem;border-radius:.25rem;opacity:0;transition:opacity var(--chat-transition-fast),background var(--chat-transition-fast)}.artifact-tab:hover .artifact-tab__close{opacity:1}.artifact-tab__close:hover{background:#ef444426;color:hsl(var(--destructive))}.artifact-panel__content{flex:1;overflow:hidden;display:flex;flex-direction:column}.artifact-panel__preview{flex:1;overflow:auto;padding:1rem;background:#fff}.dark .artifact-panel__preview{background:hsl(var(--background))}.artifact-panel__code{flex:1;overflow:auto;font-family:var(--chat-font-mono);font-size:.8125rem;line-height:1.6}.artifact-panel__toolbar{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;border-top:1px solid #0000000f;background:#ffffffe6}.dark .artifact-panel__toolbar{background:#111827e6;border-top-color:#ffffff0f}.artifact-action-btn,.artifact-panel__actions{display:flex;align-items:center;gap:.5rem}.artifact-action-btn{justify-content:center;padding:.5rem .75rem;border-radius:.5rem;font-size:.75rem;font-weight:500;color:hsl(var(--muted-foreground));background:#0000000a;border:none;cursor:pointer;transition:all var(--chat-transition-fast)}.artifact-action-btn:hover{background:#00000014;color:hsl(var(--foreground))}.dark .artifact-action-btn{background:#ffffff0a}.dark .artifact-action-btn:hover{background:#ffffff14;color:hsl(var(--foreground))}.artifact-action-btn--primary{background:hsl(var(--primary));color:#fff}.artifact-action-btn--primary:hover{background:hsl(var(--primary)/.9);color:#fff}.artifact-resize-handle{position:absolute;left:0;top:0;bottom:0;width:4px;cursor:col-resize;background:#0000;transition:background var(--chat-transition-fast);z-index:var(--z-sticky)}.artifact-resize-handle:active,.artifact-resize-handle:hover{background:#6366f14d}.artifact-resize-handle:after{content:"";position:absolute;left:1px;top:50%;transform:translateY(-50%);width:2px;height:40px;border-radius:4px;background:#0000;transition:background var(--chat-transition-fast)}.artifact-resize-handle:hover:after{background:#6366f180}.chat-input-container{flex-shrink:0;margin-top:auto;padding:.75rem 1rem 1rem;background:linear-gradient(0deg,#fff 0,#fffffff2 50%,#fff0);border-top:1px solid #0000000f}.dark .chat-input-container{background:linear-gradient(0deg,#111827 0,#111827f2 50%,#11182700);border-top-color:#ffffff0f}.chat-input-box{display:flex!important;flex-direction:column!important;background:#fff!important;border:1px solid #0000001f!important;border-radius:.5rem!important;box-shadow:0 4px 12px #0000000f,0 8px 24px #0000000a,inset 0 1px 0 #fffc!important;overflow:hidden!important;transition:all var(--chat-transition-fast)}.chat-input-box:hover{border-color:#0000002e!important;box-shadow:0 6px 16px #00000014,0 12px 32px #0000000f,inset 0 1px 0 #fffc!important}.dark .chat-input-box{background:hsl(var(--card))!important;border-color:#ffffff1f!important;box-shadow:0 4px 12px #00000040,0 8px 24px #0003,inset 0 1px 0 #ffffff0d!important}.dark .chat-input-box:hover{border-color:#ffffff2e!important}.chat-input-box:focus-within{border-color:hsl(var(--primary))!important;box-shadow:0 0 0 3px #6366f126,0 4px 12px #6366f11f,0 8px 24px #0000000a!important}.dark .chat-input-box:focus-within{border-color:hsl(var(--primary))!important;box-shadow:0 0 0 3px #818cf833,0 4px 12px #6366f133,0 8px 24px #0003!important}.chat-input-toolbar,.dark .chat-input-toolbar{display:none}.chat-input-toolbar-btn{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:.5rem;color:hsl(var(--muted-foreground));background:#00000008;border:1px solid #0000000f;cursor:pointer;transition:all var(--chat-transition-fast)}.dark .chat-input-toolbar-btn{background:#ffffff08;border-color:#ffffff0f;color:hsl(var(--muted-foreground))}.chat-input-toolbar-btn:hover{background:#00000014;color:hsl(var(--foreground));border-color:#0000001f;transform:translateY(-1px)}.dark .chat-input-toolbar-btn:hover{background:#ffffff14;color:hsl(var(--foreground));border-color:#ffffff1f}.chat-input-toolbar-btn--active{background:#6366f126;color:hsl(var(--primary));border-color:#6366f14d}.dark .chat-input-toolbar-btn--active{background:#6366f133;color:hsl(var(--primary));border-color:#6366f166}.chat-input-toolbar-btn--recording{background:#ef44441a;color:hsl(var(--destructive));animation:pulse-recording 1.5s infinite}@keyframes pulse-recording{0%,to{opacity:1}50%{opacity:.6}}.chat-input-toolbar-divider{width:1px;height:1.25rem;background:#00000014;margin:0 .25rem}.dark .chat-input-toolbar-divider{background:#ffffff14}.chat-input-textarea-wrapper{position:relative;padding:.75rem 1rem}.chat-input-textarea{width:100%!important;min-height:3.5rem!important;max-height:14rem!important;padding:.5rem 0!important;border:none!important;background:#0000!important;font-family:inherit;font-size:1rem!important;line-height:1.6;resize:none!important;outline:none!important;border-radius:0!important;box-shadow:none!important}.chat-input-textarea,.dark .chat-input-textarea{color:hsl(var(--foreground))}.chat-input-textarea::placeholder,.dark .chat-input-textarea::placeholder{color:hsl(var(--muted-foreground))}.chat-input-footer{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem}.chat-input-footer,.dark .chat-input-footer{border-top:none;background:#0000}.chat-input-meta{display:flex;align-items:center;gap:.75rem;font-size:.75rem;color:hsl(var(--muted-foreground))}.chat-input-send-btn{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:.625rem;background:linear-gradient(135deg,hsl(var(--primary)) 0,hsl(var(--primary)/.9) 100%);color:#fff;border:none;cursor:pointer;transition:all var(--chat-transition-fast);box-shadow:0 2px 8px #6366f14d}.chat-input-send-btn:hover:not(:disabled){background:linear-gradient(135deg,hsl(var(--primary)/.9) 0,hsl(var(--primary)/.8) 100%);transform:scale(1.05) translateY(-1px);box-shadow:0 4px 12px #6366f166}.chat-input-send-btn:disabled{background:hsl(var(--muted));color:hsl(var(--muted-foreground));cursor:not-allowed;box-shadow:none}.dark .chat-input-send-btn{background:linear-gradient(135deg,hsl(var(--primary)) 0,hsl(var(--primary)/.9) 100%);box-shadow:0 2px 8px #6366f166}.dark .chat-input-send-btn:hover:not(:disabled){background:linear-gradient(135deg,hsl(var(--primary)/.8) 0,hsl(var(--primary)) 100%);box-shadow:0 4px 12px #6366f180}.dark .chat-input-send-btn:disabled{background:hsl(var(--muted));color:hsl(var(--muted-foreground));box-shadow:none}.chat-input-send-btn--stop{background:hsl(var(--destructive))}.chat-input-send-btn--stop:hover{background:hsl(var(--destructive)/.9)}.model-selector-inline{display:flex;align-items:center;gap:.5rem;padding:.25rem .5rem;border-radius:.5rem;font-size:.75rem;font-weight:500;color:hsl(var(--muted-foreground));background:#0000000a;border:none;cursor:pointer;transition:all var(--chat-transition-fast)}.model-selector-inline:hover{background:#00000014;color:hsl(var(--foreground))}.dark .model-selector-inline{background:#ffffff0a}.dark .model-selector-inline:hover{background:#ffffff14;color:hsl(var(--foreground))}.model-selector-inline__dot{width:.5rem;height:.5rem;border-radius:50%;background:hsl(var(--success))}.chat-input-attachments{display:flex;flex-wrap:wrap;gap:.5rem;padding:.5rem .75rem;border-bottom:1px solid #0000000a}.dark .chat-input-attachments{border-bottom-color:#ffffff0a}.chat-input-attachment{display:flex;align-items:center;gap:.5rem;padding:.5rem;border-radius:.5rem;background:#0000000a;font-size:.75rem;color:hsl(var(--foreground))}.dark .chat-input-attachment{background:#ffffff0a;color:hsl(var(--foreground))}.chat-input-attachment__icon,.chat-input-attachment__remove{width:1rem;height:1rem;color:hsl(var(--muted-foreground))}.chat-input-attachment__remove{display:flex;align-items:center;justify-content:center;margin-left:.125rem;border-radius:50%;background:#0000;border:none;cursor:pointer;transition:all var(--chat-transition-fast)}.chat-input-attachment__remove:hover{background:#ef44441a;color:hsl(var(--destructive))}.chat-layout{width:100%}.chat-layout,.chat-main{display:flex;height:100%;overflow:hidden}.chat-main{flex:1;flex-direction:column;min-width:0}.chat-header-toolbar{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.chat-header-toolbar button,.flex.items-center.gap-2 button[class*=h-8],.flex.items-center.gap-3 button[class*=h-8]{min-height:2.25rem;font-size:.8125rem;font-weight:500;padding-left:.75rem;padding-right:.75rem;border:1px solid #00000014;background:#ffffffb3;backdrop-filter:blur(4px);transition:all .15s ease}.dark .flex.items-center.gap-2 button[class*=h-8],.dark .flex.items-center.gap-3 button[class*=h-8]{border-color:#ffffff1a;background:#ffffff0d}.flex.items-center.gap-2 button[class*=h-8]:hover,.flex.items-center.gap-3 button[class*=h-8]:hover{background:#0000000f;border-color:#00000026;transform:translateY(-1px)}.dark .flex.items-center.gap-2 button[class*=h-8]:hover,.dark .flex.items-center.gap-3 button[class*=h-8]:hover{background:#ffffff1a;border-color:#fff3}.flex.items-center.gap-2 button[class*=h-8] svg,.flex.items-center.gap-3 button[class*=h-8] svg{width:1rem;height:1rem}@media (max-width:768px){.artifact-panel{position:fixed;top:0;right:0;bottom:0;width:100%!important;max-width:100%;z-index:var(--z-drawer)}.artifact-panel--collapsed{transform:translateX(100%)}.chat-input-toolbar{flex-wrap:wrap;gap:.125rem}.chat-input-toolbar-btn{width:2.25rem;height:2.25rem}.chat-input-meta{flex-wrap:wrap;gap:.5rem}}@media (max-width:480px){.chat-input-container{padding:.5rem .75rem .75rem}.chat-input-box{border-radius:.75rem}.chat-input-textarea{font-size:1rem}}.create-artifact-modal{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;background:#000c;backdrop-filter:blur(4px);animation:modal-backdrop-fade .2s ease}@keyframes modal-backdrop-fade{0%{opacity:0}to{opacity:1}}.create-artifact-dialog{width:100%;max-width:min(700px,calc(100vw - 2rem));max-height:90vh;max-height:90dvh;margin:1rem;background:#fff;border-radius:1rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;overflow:hidden;display:flex;flex-direction:column;animation:modal-slide-up .3s cubic-bezier(.16,1,.3,1)}.dark .create-artifact-dialog{background:hsl(var(--card))}@keyframes modal-slide-up{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.create-artifact-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid #0000000f}.dark .create-artifact-header{border-bottom-color:#ffffff0f}.create-artifact-title{display:flex;align-items:center;gap:.625rem;font-size:1rem;font-weight:600}.create-artifact-title,.dark .create-artifact-title{color:hsl(var(--foreground))}.create-artifact-title-icon{width:1.25rem;height:1.25rem;color:hsl(var(--primary))}.create-artifact-close{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:.5rem;color:hsl(var(--muted-foreground));background:#0000;border:none;cursor:pointer;transition:all .15s ease}.create-artifact-close:hover{background:#0000000a;color:hsl(var(--foreground))}.dark .create-artifact-close:hover{background:#ffffff0a;color:hsl(var(--foreground))}.create-artifact-types{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;padding:1rem 1.25rem;border-bottom:1px solid #0000000f}.dark .create-artifact-types{border-bottom-color:#ffffff0f}@media (max-width:480px){.create-artifact-types{grid-template-columns:repeat(2,1fr)}}.create-artifact-type{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.75rem .5rem;border-radius:.5rem;background:#0000;border:1px solid #0000;cursor:pointer;transition:all .15s ease}.create-artifact-type:hover{background:#6366f10a;border-color:#6366f11a}.dark .create-artifact-type:hover{background:#6366f114}.create-artifact-type--selected{background:#6366f114;border-color:hsl(var(--primary))}.dark .create-artifact-type--selected{background:#6366f126}.create-artifact-type__icon{width:1.5rem;height:1.5rem;color:hsl(var(--muted-foreground))}.create-artifact-type--selected .create-artifact-type__icon{color:hsl(var(--primary))}.create-artifact-type__label{font-size:.6875rem;font-weight:500;text-align:center}.create-artifact-type__label,.dark .create-artifact-type__label{color:hsl(var(--muted-foreground))}.create-artifact-type--selected .create-artifact-type__label{color:hsl(var(--primary))}.create-artifact-editor{flex:1;display:flex;flex-direction:column;padding:1rem 1.25rem;min-height:0;overflow:hidden}.create-artifact-editor__title-input{width:100%;padding:.625rem .75rem;margin-bottom:.75rem;border:1px solid #0000001a;border-radius:.5rem;font-size:.75rem;background:#fff;color:hsl(var(--foreground));outline:none;transition:border-color .15s ease}.create-artifact-editor__title-input:focus{border-color:hsl(var(--primary))}.dark .create-artifact-editor__title-input{background:hsl(var(--background));border-color:#ffffff1a;color:hsl(var(--foreground))}.create-artifact-editor__code{flex:1;width:100%;min-height:250px;padding:.75rem;border:1px solid #0000001a;border-radius:.5rem;font-family:JetBrains Mono,Fira Code,monospace;font-size:.8125rem;line-height:1.6;background:hsl(var(--card));color:hsl(var(--foreground));resize:none;outline:none}.create-artifact-editor__code:focus{border-color:hsl(var(--primary))}.create-artifact-footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1rem 1.25rem;border-top:1px solid #0000000f;background:#00000005}.dark .create-artifact-footer{border-top-color:#ffffff0f;background:#ffffff05}.create-artifact-btn,.create-artifact-footer__left,.create-artifact-footer__right{display:flex;align-items:center;gap:.5rem}.create-artifact-btn{padding:.5rem 1rem;border-radius:.5rem;font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .15s ease}.create-artifact-btn--secondary{background:#0000;border:1px solid #0000001a;color:hsl(var(--muted-foreground))}.create-artifact-btn--secondary:hover{background:#0000000a;color:hsl(var(--foreground))}.dark .create-artifact-btn--secondary{border-color:#ffffff1a}.dark .create-artifact-btn--secondary:hover{background:#ffffff0a;color:hsl(var(--foreground))}.create-artifact-btn--primary{background:hsl(var(--primary));border:none;color:#fff}.create-artifact-btn--primary:hover{background:hsl(var(--primary)/.9)}.create-artifact-btn--primary:disabled{opacity:.5;cursor:not-allowed}.create-artifact-btn--run{background:hsl(var(--success));border:none;color:#fff}.create-artifact-btn--run:hover{background:hsl(var(--success)/.9)}.artifact-execution-bar{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;background:hsl(var(--card));border-bottom:1px solid #ffffff0f}.artifact-execution-language{display:flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:500;color:hsl(var(--muted-foreground))}.artifact-execution-language__dot{width:.5rem;height:.5rem;border-radius:50%}.artifact-execution-language__dot--js{background:#f7df1e}.artifact-execution-language__dot--ts{background:#3178c6}.artifact-execution-language__dot--python{background:#3776ab}.artifact-execution-language__dot--html{background:#e34f26}.artifact-execution-language__dot--react{background:#61dafb}.artifact-execution-actions,.artifact-run-btn{display:flex;align-items:center;gap:.25rem}.artifact-run-btn{padding:.5rem .75rem;border-radius:.5rem;font-size:.75rem;font-weight:500;background:hsl(var(--success));color:#fff;border:none;cursor:pointer;transition:all .15s ease}.artifact-run-btn:hover{background:hsl(var(--success)/.9)}.artifact-run-btn--stop{background:hsl(var(--destructive))}.artifact-run-btn--stop:hover{background:hsl(var(--destructive)/.9)}.artifact-output{border-top:1px solid #ffffff0f;background:hsl(var(--background));max-height:200px;overflow:auto}.artifact-output__header{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;background:hsl(var(--card));border-bottom:1px solid #ffffff0a}.artifact-output__title{display:flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:500;color:hsl(var(--muted-foreground))}.artifact-output__clear{padding:.25rem .5rem;border-radius:.25rem;font-size:.6875rem;color:hsl(var(--muted-foreground));background:#0000;border:none;cursor:pointer}.artifact-output__clear:hover{background:#ffffff0a;color:hsl(var(--muted-foreground))}.artifact-output__content{padding:.75rem;font-family:JetBrains Mono,Fira Code,monospace;font-size:.8125rem;line-height:1.6;color:hsl(var(--success));white-space:pre-wrap}.artifact-output__content--error{color:hsl(var(--destructive))}.artifact-preview{flex:1;background:#fff;overflow:hidden}.dark .artifact-preview{background:hsl(var(--background))}.artifact-preview__iframe{width:100%;height:100%;border:none}.chat-input-create-btn{display:flex;align-items:center;gap:.25rem;padding:.5rem .625rem;border-radius:.5rem;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em;color:hsl(var(--primary));background:#6366f11a;border:none;cursor:pointer;transition:all .15s ease}.chat-input-create-btn:hover{background:#6366f126;color:hsl(var(--primary))}@keyframes pulse-border{0%,to{border-color:#ef444480;box-shadow:0 0 0 0 #ef444466}50%{border-color:#ef4444cc;box-shadow:0 0 0 8px #ef444400}}.animate-pulse-border{animation:pulse-border 2s ease-in-out infinite}@keyframes pulse-subtle{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.9}}.animate-pulse-subtle{animation:pulse-subtle 1.5s ease-in-out infinite}.attachment-thumbnail-enter{animation:attachment-fade-in .3s ease-out}@keyframes attachment-fade-in{0%{opacity:0;transform:scale(.9) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.input-mode-transition{transition:all .3s cubic-bezier(.4,0,.2,1)}@keyframes count-warning{0%,to{opacity:1}50%{opacity:.7}}.count-warning{animation:count-warning 1s ease-in-out infinite}@keyframes drag-overlay-fade{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.drag-overlay{animation:drag-overlay-fade .2s ease-out}.enhanced-input-idle{border-color:#d1d5db;box-shadow:0 1px 2px #0000000d}.enhanced-input-typing{border-color:#3b82f680;box-shadow:0 0 0 3px #3b82f61a,0 1px 3px #0000001a}.enhanced-input-voice{border-color:#ef444499;box-shadow:0 0 0 3px #ef444426,0 4px 12px #ef444433,0 0 20px #ef444426}.enhanced-input-uploading{border-color:#3b82f699;box-shadow:0 0 0 3px #3b82f626,0 1px 3px #0000001a}.enhanced-input-processing{border-color:#a855f799;box-shadow:0 0 0 3px #a855f726,0 1px 3px #0000001a}.dark .enhanced-input-idle{border-color:#374151;box-shadow:0 1px 2px #0003}.dark .enhanced-input-typing{border-color:#3b82f699;box-shadow:0 0 0 3px #3b82f626,0 1px 3px #0000004d}.dark .enhanced-input-voice{border-color:#ef4444b3;box-shadow:0 0 0 3px #ef444433,0 4px 12px #ef44444d,0 0 20px #ef444433}.dark .enhanced-input-uploading{border-color:#3b82f6b3;box-shadow:0 0 0 3px #3b82f633,0 1px 3px #0000004d}.dark .enhanced-input-processing{border-color:#a855f7b3;box-shadow:0 0 0 3px #a855f733,0 1px 3px #0000004d}.shortcut-hint kbd{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.75rem;padding:.125rem .5rem;background:#0000000d;border:1px solid #0000001a;border-radius:.25rem;box-shadow:0 1px 2px #0000000d}.dark .shortcut-hint kbd{background:#ffffff0d;border-color:#ffffff1a}.upload-progress-overlay{background:linear-gradient(90deg,#3b82f633,#3b82f666,#3b82f633);background-size:200% 100%;animation:shimmer 1.5s linear infinite}@keyframes status-icon-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.status-icon-animated{animation:status-icon-bounce .5s ease-in-out}@media (max-width:640px){.enhanced-input-container{padding:.75rem 1rem}.attachment-thumbnail{width:60px;height:60px}.shortcut-hint{display:none}}.enhanced-input-btn:focus-visible{outline:2px solid #3b82f699;outline-offset:2px}.attachment-remove-btn,.enhanced-input-btn,.enhanced-input-textarea{transition:all .2s cubic-bezier(.4,0,.2,1)}.mode-indicator-glow-voice{box-shadow:0 0 10px #ef444480,0 0 20px #ef44444d,0 0 30px #ef44441a}.mode-indicator-glow-typing{box-shadow:0 0 10px #3b82f666,0 0 20px #3b82f633}.mode-indicator-glow-processing{box-shadow:0 0 10px #a855f766,0 0 20px #a855f733}.char-count-normal{color:#9ca3af}.char-count-warning{color:#eab308;animation:count-warning 1s ease-in-out infinite}.char-count-error{color:#ef4444;font-weight:600;animation:count-warning .5s ease-in-out infinite}.dark .char-count-normal{color:#6b7280}.dark .char-count-warning{color:#facc15}.dark .char-count-error{color:#f87171}@keyframes message-arrive{0%{opacity:0;transform:translateY(20px) scale(.95);filter:blur(4px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes message-arrive-user{0%{opacity:0;transform:translateX(20px) scale(.95);filter:blur(4px)}to{opacity:1;transform:translateX(0) scale(1);filter:blur(0)}}@keyframes message-arrive-assistant{0%{opacity:0;transform:translateX(-20px) scale(.95);filter:blur(4px)}to{opacity:1;transform:translateX(0) scale(1);filter:blur(0)}}.message-animate-in{animation:message-arrive .5s cubic-bezier(.16,1,.3,1) forwards}.message-animate-in-user{animation:message-arrive-user .4s cubic-bezier(.16,1,.3,1) forwards}.message-animate-in-assistant{animation:message-arrive-assistant .5s cubic-bezier(.16,1,.3,1) forwards}@keyframes message-highlight{0%{background-color:initial;box-shadow:0 0 0 0 hsl(var(--primary)/0)}50%{background-color:hsl(var(--primary)/.08);box-shadow:0 0 0 8px hsl(var(--primary)/.15)}to{background-color:initial;box-shadow:0 0 0 0 hsl(var(--primary)/0)}}.dark .message-highlight{animation:message-highlight-dark 2s cubic-bezier(.16,1,.3,1)}@keyframes message-highlight-dark{0%{background-color:initial;box-shadow:0 0 0 0 hsl(var(--primary)/0)}50%{background-color:hsl(var(--primary)/.12);box-shadow:0 0 0 8px hsl(var(--primary)/.2)}to{background-color:initial;box-shadow:0 0 0 0 hsl(var(--primary)/0)}}.message-highlight{animation:message-highlight 2s cubic-bezier(.16,1,.3,1);border-radius:12px;transition:all .3s ease}.message-role-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;transition:all .3s cubic-bezier(.16,1,.3,1);position:relative}.message-role-icon:before{content:"";position:absolute;inset:-2px;border-radius:50%;opacity:0;transition:opacity .3s ease}.message-role-icon:hover:before{opacity:1}.message-role-icon--user{background:linear-gradient(135deg,hsl(var(--muted)) 0,hsl(var(--border)) 100%);box-shadow:0 2px 8px #00000014,inset 0 1px 2px #fffc}.dark .message-role-icon--user{background:linear-gradient(135deg,hsl(var(--muted)) 0,hsl(var(--card)) 100%);box-shadow:0 2px 8px #0000004d,inset 0 1px 2px #ffffff0d}.message-role-icon--user:before{background:linear-gradient(135deg,#3b82f61a,#93c5fd1a)}.message-role-icon--assistant{background:linear-gradient(135deg,hsl(var(--primary)/.05) 0,hsl(var(--primary)/.1) 100%);box-shadow:0 2px 8px hsl(var(--primary)/.15),inset 0 1px 2px #fffc}.dark .message-role-icon--assistant{background:linear-gradient(135deg,hsl(var(--primary)/.3) 0,hsl(var(--primary)/.2) 100%);box-shadow:0 2px 8px hsl(var(--primary)/.2),inset 0 1px 2px hsl(var(--primary)/.1)}.message-role-icon--assistant:before{background:linear-gradient(135deg,hsl(var(--primary)/.15) 0,hsl(var(--primary)/.1) 100%)}.message-role-icon:hover{transform:scale(1.08) rotate(3deg)}.message-content-wrapper{position:relative;padding:16px;border-radius:12px;transition:all .3s cubic-bezier(.16,1,.3,1)}.message-content-wrapper--user{background:linear-gradient(135deg,#3b82f608,#3b82f603);border-left:3px solid #3b82f64d;box-shadow:0 1px 3px #0000000d,0 1px 2px #00000008}.dark .message-content-wrapper--user{background:linear-gradient(135deg,#3b82f614,#3b82f608);border-left:3px solid #3b82f666;box-shadow:0 1px 3px #0000004d,inset 0 1px 1px #ffffff08}.message-content-wrapper--assistant{background:linear-gradient(135deg,hsl(var(--primary)/.02) 0,hsl(var(--primary)/.01) 100%);border-left:3px solid hsl(var(--primary)/.25);box-shadow:0 1px 3px #0000000d,0 1px 2px #00000008}.dark .message-content-wrapper--assistant{background:linear-gradient(135deg,hsl(var(--primary)/.06) 0,hsl(var(--primary)/.02) 100%);border-left:3px solid hsl(var(--primary)/.35);box-shadow:0 1px 3px #0000004d,inset 0 1px 1px #ffffff05}.message-content-wrapper:hover{box-shadow:0 4px 12px #00000014,0 2px 4px #0000000a;transform:translateY(-1px)}.dark .message-content-wrapper:hover{box-shadow:0 4px 12px #0006,0 2px 4px #0003,inset 0 1px 1px #ffffff0d}.message-status{display:inline-flex;align-items:center;gap:4px;font-size:11px;margin-left:8px;transition:all .3s ease}.dark .message-status,.message-status{color:hsl(var(--muted-foreground))}.message-status-icon{width:16px;height:16px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}@keyframes status-sending{0%,to{opacity:.4;transform:scale(.9)}50%{opacity:1;transform:scale(1)}}.message-status--sending .message-status-icon{background:linear-gradient(135deg,hsl(var(--muted-foreground)/.3) 0,hsl(var(--muted-foreground)/.5) 100%);animation:status-sending 1.5s ease-in-out infinite;box-shadow:0 0 8px #9ca3af66}@keyframes status-sent{0%{transform:scale(.8);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.message-status--sent .message-status-icon{background:linear-gradient(135deg,hsl(var(--success)) 0,hsl(var(--success)/.9) 100%);box-shadow:0 0 8px #10b9814d;animation:status-sent .4s cubic-bezier(.16,1,.3,1)}.message-status--delivered .message-status-icon{background:linear-gradient(135deg,hsl(var(--info)) 0,hsl(var(--info)/.9) 100%);box-shadow:0 0 8px #3b82f64d;position:relative}.message-status--delivered .message-status-icon:after{content:"";position:absolute;width:10px;height:10px;background:linear-gradient(135deg,hsl(var(--info)) 0,hsl(var(--info)/.9) 100%);border-radius:50%;right:-3px;top:50%;transform:translateY(-50%);box-shadow:0 0 6px #3b82f666}@keyframes status-read-pulse{0%,to{box-shadow:0 0 8px #9333ea4d}50%{box-shadow:0 0 12px #9333ea80}}.message-status--read .message-status-icon{background:linear-gradient(135deg,hsl(var(--muted-foreground)) 0,hsl(var(--muted-foreground)/.85) 100%);animation:status-read-pulse 2s ease-in-out infinite}@keyframes status-error-shake{0%,to{transform:translateX(0)}25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}.message-status--error .message-status-icon{background:linear-gradient(135deg,hsl(var(--destructive)) 0,hsl(var(--destructive)/.9) 100%);box-shadow:0 0 8px #ef444466;animation:status-error-shake .4s ease-in-out}.dark .message-status--error,.message-status--error{color:hsl(var(--destructive))}@keyframes typing-dot-bounce{0%,60%,to{transform:translateY(0) scale(1);opacity:.7}30%{transform:translateY(-8px) scale(1.1);opacity:1}}.typing-indicator{display:inline-flex;align-items:center;gap:4px;padding:12px 16px;background:linear-gradient(135deg,hsl(var(--primary)/.05) 0,hsl(var(--primary)/.02) 100%);border-radius:12px;border-left:3px solid hsl(var(--primary)/.3);box-shadow:0 2px 8px #0000000a;animation:message-arrive-assistant .4s cubic-bezier(.16,1,.3,1)}.dark .typing-indicator{background:linear-gradient(135deg,hsl(var(--primary)/.08) 0,hsl(var(--primary)/.03) 100%);border-left:3px solid hsl(var(--primary)/.4);box-shadow:0 2px 8px #0000004d}.typing-indicator-dot{width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,hsl(var(--primary)) 0,hsl(var(--primary)/.9) 100%);animation:typing-dot-bounce 1.4s ease-in-out infinite;box-shadow:0 0 4px hsl(var(--primary)/.4)}.typing-indicator-dot:first-child{animation-delay:0s}.typing-indicator-dot:nth-child(2){animation-delay:.2s}.typing-indicator-dot:nth-child(3){animation-delay:.4s}@keyframes timestamp-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:.5;transform:translateY(0)}}.message-timestamp{font-size:11px;opacity:.5;transition:opacity .3s ease;animation:timestamp-fade-in .4s cubic-bezier(.16,1,.3,1) .2s both}.dark .message-timestamp,.message-timestamp{color:hsl(var(--muted-foreground))}.message-timestamp:hover{opacity:1}.message-divider{position:relative;height:1px;margin:24px 0;background:linear-gradient(90deg,#0000,#e5e7eb80 25%,#e5e7ebcc 50%,#e5e7eb80 75%,#0000)}.dark .message-divider{background:linear-gradient(90deg,#0000,#4b55634d 25%,#4b556380 50%,#4b55634d 75%,#0000)}.message-divider:after{content:attr(data-date);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);padding:4px 12px;background:hsl(var(--background));color:hsl(var(--muted-foreground));font-size:11px;font-weight:500;border-radius:12px;white-space:nowrap;box-shadow:0 1px 3px #0000001a}.dark .message-divider:after{background:hsl(var(--card));color:hsl(var(--muted-foreground));box-shadow:0 1px 3px #0000004d}.message-scroll-target{scroll-margin-top:80px;scroll-behavior:smooth}.message-action-button{padding:8px;border-radius:8px;background:#0000;border:1px solid #0000;color:hsl(var(--muted-foreground));transition:all .2s cubic-bezier(.16,1,.3,1);cursor:pointer;display:inline-flex;align-items:center;gap:4px;font-size:13px}.message-action-button:hover{background:hsl(var(--primary)/.08);border-color:hsl(var(--primary)/.2);color:hsl(var(--primary));transform:translateY(-1px);box-shadow:0 2px 4px hsl(var(--primary)/.15)}.dark .message-action-button:hover{background:hsl(var(--primary)/.12);border-color:hsl(var(--primary)/.3);color:hsl(var(--primary))}.message-action-button:active{transform:translateY(0);box-shadow:0 1px 2px hsl(var(--primary)/.1)}.status-checkmark{display:inline-block;width:10px;height:10px;border-radius:50%;background:currentColor;position:relative}.status-checkmark:before{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:7px;color:#fff;font-weight:700}.message-reactions{display:inline-flex;gap:4px;margin-top:8px;flex-wrap:wrap;animation:timestamp-fade-in .4s cubic-bezier(.16,1,.3,1)}.message-reaction{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:#00000008;border:1px solid #00000014;border-radius:12px;font-size:12px;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1)}.dark .message-reaction{background:#ffffff0d;border-color:#ffffff1a}.message-reaction:hover{background:hsl(var(--primary)/.1);border-color:hsl(var(--primary)/.3);transform:scale(1.05)}.message-reaction--active{background:hsl(var(--primary)/.15);border-color:hsl(var(--primary)/.4)}.animate-on-arrival{animation:message-arrive .5s cubic-bezier(.16,1,.3,1) forwards}.animate-on-scroll{animation:message-highlight 2s cubic-bezier(.16,1,.3,1)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}[role=button]:focus-visible,[role=link]:focus-visible,[role=menuitem]:focus-visible,[role=tab]:focus-visible,[tabindex]:not([tabindex="-1"]):focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--chat-accent);outline-offset:2px;border-radius:.25rem}.chat-input-btn:focus-visible{outline:3px solid var(--chat-accent);outline-offset:2px;box-shadow:0 0 0 4px var(--chat-input-focus-ring)}.chat-message__action-btn:focus-visible{outline:2px solid var(--chat-accent);outline-offset:1px;transform:scale(1.05)}.chat-message__bubble:focus-within{box-shadow:0 0 0 3px var(--chat-input-focus-ring)}.keyboard-navigation-active :focus{outline:2px solid var(--chat-accent);outline-offset:2px}.mouse-navigation-active :focus{outline:none}.focus-trap-overlay{position:fixed;inset:0;background:#00000080;z-index:var(--z-overlay);animation:overlay-fade-in .2s ease-out}@keyframes overlay-fade-in{0%{opacity:0}to{opacity:1}}@media (prefers-contrast:high){.chat-code-block,.chat-input-wrapper,.chat-message__bubble{border:2px solid}.chat-message__bubble--assistant,.chat-message__bubble--user{box-shadow:0 2px 4px #00000080}:focus-visible{outline-width:3px;outline-offset:3px}.chat-input-btn,.chat-message__action-btn{border:2px solid}.chat-message__bubble--assistant{background:#fff;color:#000}.dark .chat-message__bubble--assistant{background:#000;color:#fff}.chat-code-block__header{background:#0000;border-bottom:2px solid}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.chat-message{animation:none}.chat-input-btn:hover,.chat-message__action-btn:hover,.chat-message__bubble:hover{transform:none}.animate-pulse,.animate-spin,[class*=pulse],[class*=spin]{animation:none!important}.chat-messages,html{scroll-behavior:auto}.chat-message__avatar:hover{transform:none}.mode-indicator-glow-processing,.mode-indicator-glow-typing,.mode-indicator-glow-voice{box-shadow:none}}[aria-hidden=true]{pointer-events:none}[aria-disabled=true],[disabled]{opacity:.6;cursor:not-allowed;pointer-events:none}[role=button][aria-disabled=true]:focus,button[aria-disabled=true]:focus{outline:2px solid #9ca3af80}[aria-busy=true]{cursor:wait}[role=tooltip]{position:absolute;z-index:var(--z-toast);padding:.5rem .75rem;background:#000000e6;color:#fff;font-size:.75rem;border-radius:.5rem;pointer-events:none;white-space:nowrap}[role=alertdialog],[role=dialog]{position:fixed;z-index:var(--z-modal);background:#fff;border-radius:.5rem;box-shadow:var(--chat-shadow-xl);max-width:90vw;max-height:90vh;overflow:auto}.dark [role=alertdialog],.dark [role=dialog]{background:hsl(var(--card));border:1px solid #ffffff1a}[role=alertdialog] button[aria-label*=close]:focus-visible,[role=dialog] button[aria-label*=close]:focus-visible{outline:2px solid var(--chat-accent);outline-offset:2px}[aria-expanded=true] .expand-icon{transform:rotate(180deg)}[aria-expanded=false] .expand-icon{transform:rotate(0deg)}[aria-selected=true]{background:var(--chat-accent-light);border-left:3px solid var(--chat-accent)}.dark [aria-selected=true]{background:hsl(var(--primary)/.15)}[aria-pressed=true]{background:var(--chat-accent);color:#fff}[aria-invalid=true]{border-color:#ef4444;background:#ef44440d}[aria-invalid=true]:focus{outline-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}[aria-required=true]:after,[required]:after{content:" *";color:#ef4444;margin-left:.25rem}.keyboard-shortcut{display:inline-flex;align-items:center;gap:.25rem;font-family:var(--chat-font-mono);font-size:.75rem;padding:.125rem .5rem;background:#0000000d;border:1px solid #0000001a;border-radius:.25rem;color:hsl(var(--muted-foreground))}.dark .keyboard-shortcut{background:#ffffff0d;border-color:#ffffff1a;color:hsl(var(--muted-foreground))}@media (pointer:coarse){.chat-input-btn,.chat-message__action-btn,[role=button],[role=link],a,button:not([role=checkbox]):not([role=radio]):not([role=switch]),input[type=checkbox],input[type=radio]{min-width:44px;min-height:44px}}.modal-open{overflow:hidden}.modal-open .chat-container{filter:blur(2px);pointer-events:none}.announcement-banner{position:relative;padding:1rem;background:var(--chat-accent-light);border-left:4px solid var(--chat-accent);border-radius:.5rem;margin-bottom:1rem}.announcement-banner[role=alert]{background:#ef44441a;border-left-color:#ef4444}.announcement-banner[role=status]{background:#3b82f61a;border-left-color:#3b82f6}@media (min-width:640px){html{font-size:100%}@supports (font-size:clamp(1rem,1rem,2rem)){.chat-input,.chat-message__bubble{font-size:clamp(.75rem,1vw,1.125rem)}}}.status-success:before{content:"✓ "}.status-error:before{content:"✗ "}.status-warning:before{content:"⚠ "}.status-info:before{content:"ℹ "}:root{--a11y-focus-color:#06c;--a11y-error-color:#d93025;--a11y-success-color:#137333;--a11y-warning-color:#b06000}@media (prefers-contrast:high) and (-ms-high-contrast:active){a,button,input,select,textarea{border:2px solid}.chat-message__bubble--user{background:ButtonFace;color:ButtonText;border:2px solid ButtonText}.chat-message__bubble--assistant{background:Window;color:WindowText;border:2px solid WindowText}}.help-text{font-size:.75rem;margin-top:.25rem}.dark .help-text,.help-text{color:hsl(var(--muted-foreground))}[role=banner],[role=complementary],[role=contentinfo],[role=main],[role=navigation]{position:relative}.show-focus-order [tabindex]:not([tabindex="-1"]):before{content:attr(tabindex);position:absolute;top:0;left:0;background:red;color:#fff;padding:2px 4px;font-size:10px;z-index:var(--z-toast)}@media (max-width:768px){.chat-input-toolbar{padding:.5rem .75rem;gap:.5rem}.chat-input-toolbar-btn{width:2.5rem;height:2.5rem;min-width:2.5rem;min-height:2.5rem;touch-action:manipulation}.chat-input-toolbar-btn:after{content:"";position:absolute;inset:-.25rem}.chat-input-toolbar .hidden.sm\\:flex{display:none!important}.chat-input-textarea-wrapper{padding:.5rem .75rem}.chat-input-textarea{font-size:16px!important;min-height:3rem!important}.chat-input-footer{padding:.5rem .75rem;gap:.5rem}.chat-input-meta{font-size:.75rem}.chat-input-send-btn{width:2.75rem;height:2.75rem;min-width:2.75rem}.chat-input-hint{display:none}[data-radix-popper-content-wrapper]{max-width:calc(100vw - 1rem)!important}.output-panel{position:fixed!important;inset:0!important;width:100%!important;max-width:100%!important;border-radius:0!important;z-index:var(--z-drawer)}.chat-message__bubble{max-width:100%}.chat-input-attachments{gap:.5rem;padding:.5rem .75rem}.chat-input-attachment{padding:.5rem;font-size:.75rem}}@media (max-width:480px){.chat-input-toolbar{padding:.5rem}.chat-input-toolbar-btn{width:2.25rem;height:2.25rem;min-width:2.25rem;min-height:2.25rem}.chat-input-textarea{min-height:2.5rem!important;padding:.5rem 0!important}.model-selector-inline{font-size:.7rem;padding:.25rem .5rem}}@media (hover:none) and (pointer:coarse){.chat-input-toolbar-btn:hover{transform:none;background:#00000008}.dark .chat-input-toolbar-btn:hover{background:#ffffff08}.chat-input-toolbar-btn:active{background:#0000001f;transform:scale(.95)}.dark .chat-input-toolbar-btn:active{background:#ffffff1f}}@supports (padding:env(safe-area-inset-bottom)){.chat-input-container{padding-bottom:calc(.75rem + env(safe-area-inset-bottom))}.chat-input-footer{padding-bottom:env(safe-area-inset-bottom)}}@media (max-height:500px) and (orientation:landscape){.chat-input-toolbar{padding:.25rem .5rem}.chat-input-textarea{min-height:2rem!important;max-height:6rem!important}.chat-input-footer{padding:.25rem .5rem}}.chat-message{animation:messageSlideUp .35s cubic-bezier(.16,1,.3,1) both}@keyframes messageSlideUp{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.chat-message:first-child{animation-delay:0ms}.chat-message:nth-child(2){animation-delay:40ms}.chat-message:nth-child(3){animation-delay:80ms}.chat-message:nth-child(4){animation-delay:.12s}.chat-message:nth-child(5){animation-delay:.16s}.chat-message--user .chat-message__bubble,.chat-message__bubble--user{box-shadow:0 2px 8px #00000014,0 4px 16px #0000000a;border-bottom-right-radius:6px}.chat-message--assistant .chat-message__bubble,.chat-message__bubble--assistant{box-shadow:0 1px 4px #0000000a,0 2px 8px #00000005;border-bottom-left-radius:6px;backdrop-filter:blur(8px)}.chat-input-container{background:var(--chat-input-bg);backdrop-filter:var(--chat-input-backdrop) saturate(180%);-webkit-backdrop-filter:var(--chat-input-backdrop) saturate(180%);box-shadow:0 -1px 0 #00000008,0 -4px 12px #0000000a,0 -8px 24px #00000005;transition:box-shadow .3s ease,background .3s ease}.chat-input-container:focus-within{box-shadow:0 -1px 0 #00000008,0 -4px 12px #0000000f,0 -12px 32px #0000000a}.chat-input-textarea{transition:box-shadow .2s ease,border-color .2s ease,background-color .2s ease}.chat-input-textarea:focus{box-shadow:0 0 0 3px var(--chat-input-focus-ring),0 2px 8px #0000000a}.chat-input-toolbar-btn{border-radius:8px;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.chat-input-toolbar-btn:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at center,#0000001a 0,#0000 70%);opacity:0;transition:opacity .2s ease}.chat-input-toolbar-btn:active:after{opacity:1}.chat-send-btn{position:relative;overflow:hidden;transition:all .2s cubic-bezier(.4,0,.2,1)}.chat-send-btn:not(:disabled):before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#0000,#ffffff26 50%,#0000);transform:translateX(-100%);transition:transform .4s ease}.chat-send-btn:not(:disabled):hover:before{transform:translateX(100%)}.chat-send-btn:not(:disabled):hover{transform:scale(1.05);box-shadow:0 4px 16px var(--chat-accent-glow),0 2px 6px #00000014}.chat-send-btn:not(:disabled):active{transform:scale(.98)}.chat-code-block{border-radius:12px;overflow:hidden;box-shadow:0 4px 16px #0000001f,0 2px 8px #00000014;transition:box-shadow .3s ease,transform .3s ease}.chat-code-block:hover{box-shadow:0 6px 24px #00000026,0 4px 12px #0000001a}.chat-code-header{backdrop-filter:blur(8px);border-bottom:1px solid #ffffff14}.chat-code-copy-btn{transition:all .2s ease;border-radius:8px}.chat-code-copy-btn:hover{background:#ffffff1f;transform:scale(1.05)}.chat-code-copy-btn:active{transform:scale(.95)}.chat-typing-indicator{background:linear-gradient(135deg,#0000000a,#00000005);border-radius:.5rem;padding:1rem 1.5rem;box-shadow:0 2px 8px #0000000a;animation:typingFadeIn .3s ease}.dark .chat-typing-indicator{background:linear-gradient(135deg,#ffffff0a,#ffffff05)}@keyframes typingFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.chat-loading-shimmer{background:linear-gradient(90deg,#0000000a 25%,#00000014 50%,#0000000a 75%);background-size:200% 100%;animation:shimmerSlide 1.5s ease-in-out infinite;border-radius:8px}.dark .chat-loading-shimmer{background:linear-gradient(90deg,#ffffff0a 25%,#ffffff14 50%,#ffffff0a 75%);background-size:200% 100%}@keyframes shimmerSlide{0%{background-position:200% 0}to{background-position:-200% 0}}.chat-welcome__prompt-card{transition:all .25s cubic-bezier(.4,0,.2,1);border-left-width:4px;border-left-style:solid;position:relative;overflow:hidden}.chat-welcome__prompt-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.chat-welcome__prompt-card:hover:before{transform:scaleX(1)}.chat-welcome__prompt-card:first-child{border-left-color:hsl(var(--info))}.chat-welcome__prompt-card:first-child:before{background:linear-gradient(90deg,hsl(var(--info)),hsl(var(--info)/.3))}.chat-welcome__prompt-card:nth-child(2){border-left-color:hsl(var(--warning))}.chat-welcome__prompt-card:nth-child(2):before{background:linear-gradient(90deg,hsl(var(--warning)),hsl(var(--warning)/.3))}.chat-welcome__prompt-card:nth-child(3){border-left-color:hsl(var(--success))}.chat-welcome__prompt-card:nth-child(3):before{background:linear-gradient(90deg,hsl(var(--success)),hsl(var(--success)/.3))}.chat-welcome__prompt-card:nth-child(4){border-left-color:hsl(var(--muted-foreground))}.chat-welcome__prompt-card:nth-child(4):before{background:linear-gradient(90deg,hsl(var(--muted-foreground)),hsl(var(--muted-foreground)/.3))}.chat-welcome__prompt-card:nth-child(5){border-left-color:hsl(var(--destructive))}.chat-welcome__prompt-card:nth-child(5):before{background:linear-gradient(90deg,hsl(var(--destructive)),hsl(var(--destructive)/.3))}.chat-welcome__prompt-card:nth-child(6){border-left-color:hsl(var(--primary))}.chat-welcome__prompt-card:nth-child(6):before{background:linear-gradient(90deg,hsl(var(--primary)),hsl(var(--primary)/.3))}.chat-message__avatar{transition:transform .2s ease,box-shadow .2s ease}.chat-message__avatar:hover{transform:scale(1.1);box-shadow:0 4px 12px #0000001a}.chat-message__actions button{transition:all .2s ease;border-radius:8px}.chat-message__actions button:hover{background:#0000000f;transform:translateY(-1px)}.dark .chat-message__actions button:hover{background:#ffffff14}.chat-input-textarea:focus-visible,.chat-input-toolbar-btn:focus-visible,.chat-send-btn:focus-visible,.chat-welcome__prompt-card:focus-visible{outline:2px solid var(--chat-accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){.chat-loading-shimmer,.chat-message,.chat-send-btn,.chat-typing-indicator,.chat-welcome__prompt-card{animation:none!important;transition-duration:.01ms!important}.chat-welcome__prompt-card:hover{transform:none}}@media (prefers-contrast:high){.chat-message__bubble{border:2px solid}.chat-input-textarea{border-width:2px}.chat-welcome__prompt-card{border-left-width:4px}}