@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-shimmer{animation:shimmer 1.5s linear infinite}@keyframes messageAppear{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.animate-message-appear{animation:messageAppear .15s ease-out forwards}.w-full .rounded-2xl.bg-white\/50{animation:fadeIn .3s ease-out}@keyframes attention-pulse{0%,to{box-shadow:0 0 0 0 rgba(59,130,246,.4)}50%{box-shadow:0 0 0 4px rgba(59,130,246,.4)}}.attention-pulse{animation:attention-pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes glow{0%{box-shadow:0 0 5px rgba(59,130,246,.5)}50%{box-shadow:0 0 15px rgba(59,130,246,.8),0 0 20px rgba(124,58,237,.5)}to{box-shadow:0 0 5px rgba(59,130,246,.5)}}.glow-effect{animation:glow 2s infinite}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-5px)}20%,40%,60%,80%{transform:translateX(5px)}}.shake-animation{animation:shake .5s cubic-bezier(.36,.07,.19,.97) both}.animate-fadeIn{animation:fadeIn .3s ease-out forwards}.markdown-content{color:#2d3748;line-height:1.7;font-size:1rem;width:100%;max-width:100%;overflow-wrap:break-word}.markdown-content h1{font-size:1.875rem;margin:1.75rem 0 1rem;padding-bottom:.5rem;border-bottom:1px solid #e2e8f0}.markdown-content h1,.markdown-content h2{font-weight:700;color:#1a202c;letter-spacing:-.025em}.markdown-content h2{font-size:1.5rem;margin:1.5rem 0 .75rem;padding-bottom:.25rem}.markdown-content h3{font-size:1.25rem;font-weight:600;margin:1.25rem 0 .75rem;color:#1a202c}.markdown-content h4{font-size:1.125rem;font-weight:600;margin:1rem 0 .5rem;color:#1a202c}.markdown-content h5{font-size:1rem;font-weight:600;margin:.875rem 0 .5rem;color:#1a202c}.markdown-content h6{font-size:.875rem;font-weight:600;margin:.75rem 0 .5rem;color:#2d3748;text-transform:uppercase}.markdown-content p{margin-bottom:1rem;line-height:1.75}.markdown-content a{color:#3182ce;text-decoration:none;transition:color .15s ease,text-decoration .15s ease;border-bottom:1px dashed rgba(49,130,206,.4)}.markdown-content a:hover{color:#2c5282;border-bottom:1px solid rgba(44,82,130,.8)}.markdown-content ol,.markdown-content ul{padding-left:1.5rem;margin:1rem 0}.markdown-content ul{list-style-type:disc}.markdown-content ol{list-style-type:decimal}.markdown-content li{margin:.375rem 0;padding-left:.25rem}.markdown-content li>ol,.markdown-content li>ul{margin:.25rem 0 .5rem}.markdown-content blockquote{border-left:4px solid #e2e8f0;padding:.5rem 0 .5rem 1rem;margin:1.5rem 0;color:#4a5568;background-color:#f7fafc;border-radius:.25rem}.markdown-content blockquote p{margin-bottom:.5rem}.markdown-content blockquote p:last-child{margin-bottom:0}.markdown-content pre{background:#1a202c;color:#e2e8f0;padding:1rem;border-radius:.5rem;overflow-x:auto;margin:1.5rem 0;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.markdown-content code{font-family:Menlo,Monaco,Courier New,monospace;font-size:.875rem;padding:.2em .4em;border-radius:.25rem;background-color:rgba(226,232,240,.5)}.markdown-content pre code{background-color:transparent;padding:0;color:inherit;font-size:.875rem;line-height:1.6;display:block;white-space:pre}.markdown-content .code-block-wrapper{margin:1.5rem 0;border-radius:.5rem;overflow:hidden;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.markdown-content .code-block-header{display:flex;justify-content:space-between;align-items:center;background-color:#f7fafc;padding:.5rem 1rem;border-bottom:1px solid #e2e8f0;font-family:Menlo,Monaco,Courier New,monospace;font-size:.75rem}.markdown-content .code-language{color:#4a5568;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.markdown-content .copy-button{background-color:transparent;border:1px solid #cbd5e0;border-radius:.25rem;padding:.25rem .5rem;font-size:.75rem;color:#4a5568;cursor:pointer;transition:all .15s ease}.markdown-content .copy-button:hover{background-color:#edf2f7;color:#2d3748}.markdown-content .copy-button:active{background-color:#e2e8f0}.markdown-content .copy-button.copied{background-color:#48bb78;border-color:#48bb78;color:white}.markdown-content .copy-button.copied:hover{background-color:#38a169;border-color:#38a169}.markdown-content .syntax-highlighter-container{margin:0;padding:0}.markdown-content .syntax-highlighter-container pre{margin:0!important;border-radius:0!important;font-size:.875rem!important}.markdown-content table{width:100%;border-collapse:separate;border-spacing:0;margin:1.5rem 0}.markdown-content table td,.markdown-content table th{padding:.625rem .75rem;text-align:left;border-bottom:1px solid #e2e8f0}.markdown-content table th{font-weight:600;background-color:#f7fafc;border-top:1px solid #e2e8f0;border-bottom:2px solid #cbd5e0}.markdown-content table tr:nth-child(2n){background-color:#f7fafc}.markdown-content table tr:hover{background-color:#edf2f7}.markdown-content hr{border:0;height:1px;background-color:#e2e8f0;margin:2rem 0}.markdown-content img{max-width:100%;border-radius:.375rem;margin:1.5rem 0;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.markdown-content .task-list-item{list-style-type:none;margin-left:-1.5rem}.markdown-content .task-list-item input[type=checkbox]{margin-right:.5rem}.markdown-content .token.cdata,.markdown-content .token.comment,.markdown-content .token.doctype,.markdown-content .token.prolog{color:#718096}.markdown-content .token.punctuation{color:#a0aec0}.markdown-content .token.boolean,.markdown-content .token.constant,.markdown-content .token.number,.markdown-content .token.property,.markdown-content .token.symbol,.markdown-content .token.tag{color:#d69e2e}.markdown-content .token.attr-name,.markdown-content .token.builtin,.markdown-content .token.char,.markdown-content .token.selector,.markdown-content .token.string{color:#38a169}.markdown-content .style .token.string,.markdown-content .token.entity,.markdown-content .token.operator,.markdown-content .token.url,.token.language-css .token.string{color:#319795}.markdown-content .token.atrule,.markdown-content .token.attr-value,.markdown-content .token.keyword{color:#3182ce}.markdown-content .token.function{color:#d53f8c}.markdown-content .token.important,.markdown-content .token.regex,.markdown-content .token.variable{color:#805ad5}.markdown-content .token.bold,.markdown-content .token.important{font-weight:700}.markdown-content .token.italic{font-style:italic}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.markdown-content .streaming-char{animation:fadeIn .1s ease forwards}