.chat-shimmer{color:var(--c-muted);background:linear-gradient(90deg, var(--c-muted) 0%, var(--c-muted) 35%, var(--c-ink) 50%, var(--c-muted) 65%, var(--c-muted) 100%);-webkit-text-fill-color:transparent;background-size:250% 100%;-webkit-background-clip:text;background-clip:text;animation:1.8s linear infinite chat-shimmer}@keyframes chat-shimmer{0%{background-position:100% 0}to{background-position:-150% 0}}.chat-streaming>:last-child:is(p,h1,h2,h3,h4,h5,h6,blockquote):after,.chat-streaming>:last-child:is(ul,ol)>li:last-child:after{content:"";vertical-align:-.15em;background:var(--c-accent);border-radius:1px;width:.5em;height:1.05em;margin-left:.15em;animation:1s step-end infinite chat-blink;display:inline-block}@keyframes chat-blink{50%{opacity:0}}.chat-fade-in{animation:chat-fade-in .28s var(--ease-settle) both}@keyframes chat-fade-in{0%{opacity:0}to{opacity:1}}.chat-dots span{background:var(--c-muted);border-radius:9999px;width:.375rem;height:.375rem;animation:1.2s ease-in-out infinite chat-dot;display:inline-block}.chat-dots span:nth-child(2){animation-delay:.15s}.chat-dots span:nth-child(3){animation-delay:.3s}@keyframes chat-dot{0%,80%,to{opacity:.25}40%{opacity:1}}@media (prefers-reduced-motion:reduce){.chat-shimmer{-webkit-text-fill-color:currentColor;background:0 0;animation:none}.chat-dots span{opacity:.6;animation:none}}.chat-composer-input:focus-visible{outline:none}.chat-composer:has(.chat-composer-input:focus-visible){border-color:var(--c-focus);box-shadow:0 0 0 1px var(--c-focus), 0 0 0 4px color-mix(in srgb, var(--c-focus) 18%, transparent), var(--c-shadow)}
