html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}.markdown-content{line-height:1.6;color:#374151;word-wrap:break-word}.markdown-h1{font-size:1.875rem;font-weight:700;color:#1f2937;margin:1.5rem 0 1rem;line-height:1.2;border-bottom:2px solid #e5e7eb;padding-bottom:.5rem}.markdown-h2{font-size:1.5rem;font-weight:600;color:#1f2937;margin:1.25rem 0 .75rem;line-height:1.3;border-bottom:1px solid #e5e7eb;padding-bottom:.25rem}.markdown-h3{font-size:1.25rem;font-weight:600;color:#374151;margin:1rem 0 .5rem;line-height:1.4}.markdown-h4{font-size:1.125rem;font-weight:600;color:#374151;margin:.875rem 0 .5rem;line-height:1.4}.markdown-h5{font-size:1rem;font-weight:600;color:#4b5563;margin:.75rem 0 .5rem;line-height:1.4}.markdown-h6{font-size:.875rem;font-weight:600;color:#4b5563;margin:.75rem 0 .5rem;line-height:1.4;text-transform:uppercase;letter-spacing:.05em}.markdown-p{margin:.75rem 0;line-height:1.7;color:#374151}.markdown-p:first-child{margin-top:0}.markdown-p:last-child{margin-bottom:0}.markdown-list{margin:.75rem 0;padding-left:1.5rem}.markdown-list ul,.markdown-list ol{margin:.5rem 0}.markdown-li{margin:.25rem 0;line-height:1.6;color:#374151}.markdown-list ul{list-style-type:disc}.markdown-list ol{list-style-type:decimal}.markdown-list ul ul{list-style-type:circle}.markdown-list ul ul ul{list-style-type:square}.markdown-code-block{margin:1rem 0;border-radius:8px;overflow:hidden;background:#1f2937;border:1px solid #374151;position:relative}.code-header{background:#374151;display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem;border-bottom:1px solid #4b5563}.code-language{color:#d1d5db;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.code-copy-btn{background:transparent;border:1px solid #6b7280;color:#d1d5db;padding:.25rem .5rem;border-radius:4px;cursor:pointer;display:flex;align-items:center;gap:.25rem;font-size:.75rem;transition:all .2s ease}.code-copy-btn:hover{background:#4b5563;border-color:#9ca3af;color:#f3f4f6}.code-copy-btn.copied{background:#059669;border-color:#10b981;color:#fff}.copy-button{background:#f3f4f6;border:1px solid #d1d5db;color:#6b7280;padding:.25rem;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.copy-button:hover{background:#e5e7eb;border-color:#9ca3af;color:#374151}.copy-button.copied{background:#dcfce7;border-color:#16a34a;color:#15803d}.markdown-code-block pre{margin:0;padding:1rem;overflow-x:auto;background:transparent}.markdown-code-block code{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.875rem;line-height:1.5;color:#e5e7eb;background:transparent;padding:0;border-radius:0}.markdown-inline-code{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.875em;background:#f3f4f6;color:#dc2626;padding:.125rem .375rem;border-radius:4px;border:1px solid #e5e7eb}.markdown-bold{font-weight:600;color:#1f2937}.markdown-italic{font-style:italic;color:#4b5563}.markdown-link{color:#0ea5e9;text-decoration:none;border-bottom:1px solid transparent;transition:all .2s ease}.markdown-link:hover{color:#0284c7;border-bottom-color:#0284c7}.markdown-link:visited{color:#7c3aed}.markdown-blockquote{margin:1rem 0;padding:.75rem 1rem;border-left:4px solid #0ea5e9;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-radius:0 8px 8px 0;font-style:italic;color:#0f172a}.markdown-blockquote p{margin:0}.markdown-hr{margin:2rem 0;border:none;height:2px;background:linear-gradient(90deg,transparent 0%,#e5e7eb 50%,transparent 100%)}.markdown-table{width:100%;margin:1rem 0;border-collapse:collapse;border-radius:8px;overflow:hidden;border:1px solid #e5e7eb}.markdown-table th,.markdown-table td{padding:.75rem;text-align:left;border-bottom:1px solid #e5e7eb}.markdown-table th{background:#f9fafb;font-weight:600;color:#374151}.markdown-table tr:last-child td{border-bottom:none}.markdown-table tr:nth-child(2n){background:#f9fafb}@media (max-width: 768px){.markdown-h1{font-size:1.5rem}.markdown-h2{font-size:1.25rem}.markdown-h3{font-size:1.125rem}.markdown-code-block{margin:.75rem -.5rem;border-radius:0}.markdown-code-block pre{padding:.75rem .5rem}.markdown-list{padding-left:1.25rem}.markdown-blockquote{margin:.75rem -.5rem;border-radius:0 4px 4px 0}}.dark .markdown-content{color:#d1d5db}.dark .markdown-h1,.dark .markdown-h2{color:#f9fafb;border-bottom-color:#4b5563}.dark .markdown-h3,.dark .markdown-h4{color:#e2e8f0}.dark .markdown-h5,.dark .markdown-h6,.dark .markdown-p,.dark .markdown-li{color:#d1d5db}.dark .markdown-inline-code{background:#374151;color:#fbbf24;border-color:#4b5563}.dark .markdown-bold{color:#f9fafb}.dark .markdown-italic{color:#d1d5db}.dark .markdown-link{color:#38bdf8}.dark .markdown-link:hover{color:#0ea5e9;border-bottom-color:#0ea5e9}.dark .markdown-link:visited{color:#a78bfa}.dark .markdown-blockquote{background:linear-gradient(135deg,#1e293b,#334155);border-left-color:#38bdf8;color:#e2e8f0}.dark .markdown-hr{background:linear-gradient(90deg,transparent 0%,#4b5563 50%,transparent 100%)}.dark .markdown-table{border-color:#4b5563}.dark .markdown-table th,.dark .markdown-table td{border-bottom-color:#4b5563}.dark .markdown-table th{background:#374151;color:#e2e8f0}.dark .markdown-table tr:nth-child(2n){background:#374151}.dark .copy-button{background:#374151;border-color:#4b5563;color:#d1d5db}.dark .copy-button:hover{background:#4b5563;border-color:#6b7280;color:#f3f4f6}.dark .copy-button.copied{background:#065f46;border-color:#059669;color:#6ee7b7}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#f0f9ff,#e0f2fe,#f8fafc);min-height:100vh;color:#1e293b}#root{min-height:100vh;display:flex}.chat-layout{width:100%;height:100vh;display:flex;background:#fff;position:relative}.mobile-header{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid #e5e7eb;background:#fff;position:sticky;top:0;z-index:10}.sidebar-toggle-btn{width:40px;height:40px;border:none;border-radius:8px;background:#f3f4f6;color:#374151;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.sidebar-toggle-btn:hover{background:#e5e7eb}.mobile-logo{display:flex;align-items:center;gap:8px}.mobile-logo .logo-icon{font-size:20px}.mobile-logo .logo-text{font-size:18px;font-weight:700;background:linear-gradient(135deg,#0ea5e9,#3b82f6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.sidebar-overlay{position:fixed;inset:0;background:#00000080;z-index:40;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.chat-sidebar{position:fixed;top:0;left:0;width:280px;height:100vh;background:linear-gradient(180deg,#f1f5f9,#e2e8f0);border-right:1px solid #e2e8f0;display:flex;flex-direction:column;transform:translate(-100%);transition:transform .3s ease;z-index:50}.chat-sidebar.open{transform:translate(0)}.chat-sidebar:before{content:"";position:absolute;inset:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="20" cy="20" r="2" fill="%23cbd5e1" opacity="0.3"/><circle cx="80" cy="40" r="1.5" fill="%23cbd5e1" opacity="0.4"/><circle cx="40" cy="70" r="1" fill="%23cbd5e1" opacity="0.5"/><circle cx="70" cy="10" r="1.5" fill="%23cbd5e1" opacity="0.3"/><circle cx="10" cy="60" r="1" fill="%23cbd5e1" opacity="0.4"/></svg>') repeat;pointer-events:none}.sidebar-header{padding:20px;border-bottom:1px solid #e2e8f0;position:relative;z-index:1}.sidebar-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.sidebar-close-btn{width:32px;height:32px;border:none;border-radius:6px;background:#fffc;color:#64748b;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.sidebar-close-btn:hover{background:#fff;color:#374151}.logo{display:flex;align-items:center;gap:10px}.logo-icon{font-size:24px;filter:drop-shadow(0 2px 4px rgba(59,130,246,.3))}.logo-text{font-size:20px;font-weight:700;background:linear-gradient(135deg,#0ea5e9,#3b82f6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.subtitle{font-size:14px;color:#64748b;font-weight:500}.sidebar-content{flex:1;padding:20px;position:relative;z-index:1}.chat-info{background:#ffffffb3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(226,232,240,.8);border-radius:12px;padding:16px}.info-item{display:flex;justify-content:space-between;align-items:center}.info-label{font-size:14px;color:#64748b;font-weight:500}.info-value{font-size:16px;font-weight:600;color:#0ea5e9}.chat-main{flex:1;display:flex;flex-direction:column;height:100vh;width:100%}.chat-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:20px;background:#fff}.message-wrapper{display:flex;gap:8px;align-items:flex-start;width:100%}.message-wrapper.user{flex-direction:row-reverse;justify-content:flex-start}.message-wrapper.assistant{flex-direction:row;justify-content:flex-start}.message-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;margin-top:2px}.message-wrapper.user .message-avatar{background:linear-gradient(135deg,#0ea5e9,#3b82f6);color:#fff;padding:2px}.message-wrapper.assistant .message-avatar{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border:2px solid #cbd5e1;padding:2px}.ai-avatar-image,.user-avatar-image{width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:center}.message-content{flex:1;min-width:0}.message-wrapper.user .message-content{flex:0 1 auto;min-width:200px;max-width:calc(100% - 60px)}.message-wrapper.assistant .message-content{flex:1;min-width:200px;max-width:calc(100% - 60px)}.message-wrapper.user .message-content{text-align:right}.message-wrapper.user .message-text{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd;border-radius:16px;padding:12px 16px;display:inline-block;max-width:100%;word-wrap:break-word}.message-wrapper.assistant .message-text{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:12px 16px;display:block;word-wrap:break-word}.message-text{line-height:1.7;color:#374151}.message-text p{margin-bottom:12px}.message-text p:last-child{margin-bottom:0}.message-wrapper.user .message-text{color:#1f2937}.message-wrapper.assistant .message-text{color:#374151}.loading-indicator{display:flex;align-items:center;gap:12px;color:#64748b;font-size:14px}.loading-dots{display:flex;gap:6px}.loading-dots span{width:6px;height:6px;border-radius:50%;background:linear-gradient(135deg,#0ea5e9,#3b82f6);animation:loading-pulse 1.5s ease-in-out infinite both}.loading-dots span:nth-child(1){animation-delay:-.3s}.loading-dots span:nth-child(2){animation-delay:-.15s}.loading-dots span:nth-child(3){animation-delay:0s}@keyframes loading-pulse{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1.2);opacity:1}}.chat-input-container{border-top:1px solid #e5e7eb;background:#fff;padding:16px;padding-bottom:max(16px,env(safe-area-inset-bottom))}.chat-input-form{width:100%}.input-wrapper{display:flex;align-items:center;background:#f9fafb;border:2px solid #e5e7eb;border-radius:12px;padding:3px;transition:all .2s ease;position:relative}.input-wrapper:focus-within{border-color:#0ea5e9;background:#fff;box-shadow:0 0 0 4px #0ea5e91a}.chat-input{flex:1;padding:12px 16px;border:none;background:transparent;font-size:16px;outline:none;color:#374151;font-family:inherit;resize:none}.chat-input::placeholder{color:#9ca3af}.chat-input:disabled{cursor:not-allowed;opacity:.6}.send-button{width:40px;height:40px;border:none;border-radius:10px;background:linear-gradient(135deg,#0ea5e9,#3b82f6);color:#fff;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0}.send-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 25px #0ea5e94d}.send-button:active:not(:disabled){transform:translateY(0)}.send-button:disabled{opacity:.4;cursor:not-allowed;transform:none;background:#9ca3af}.error-message{background:linear-gradient(135deg,#fef2f2,#fee2e2);color:#dc2626;padding:12px 16px;border-radius:12px;font-size:14px;margin-top:12px;display:flex;align-items:center;gap:8px;border:1px solid #fecaca}.error-icon{font-size:16px}@media (min-width: 768px){.mobile-header{display:none}.chat-sidebar{position:static;transform:translate(0)!important;width:280px;border-right:1px solid #e2e8f0}.sidebar-close-btn{display:none}.sidebar-overlay{display:none!important}.chat-messages{padding:24px 32px;gap:28px}.message-wrapper.user .message-content,.message-wrapper.assistant .message-content{max-width:calc(100% - 70px)}.message-avatar{width:36px;height:36px;font-size:16px}.message-wrapper.assistant .message-avatar,.message-wrapper.user .message-avatar{padding:2px}.message-wrapper{gap:12px}.chat-input-container{padding:20px 32px 24px}.input-wrapper{border-radius:14px;padding:4px}.chat-input{padding:14px 18px}.send-button{width:42px;height:42px}}@media (min-width: 1024px){.chat-messages{padding:32px 48px;gap:32px}.message-wrapper.user .message-content,.message-wrapper.assistant .message-content{max-width:calc(100% - 80px)}.message-avatar{width:40px;height:40px;font-size:18px}.message-wrapper.assistant .message-avatar,.message-wrapper.user .message-avatar{padding:2px}.chat-input-container{padding:24px 48px 32px}.input-wrapper{border-radius:16px}.chat-input{padding:16px 20px}.send-button{width:44px;height:44px}}@media (min-width: 1200px){.chat-sidebar{width:320px}}@media (min-width: 1440px){.chat-messages{padding:32px min(10vw,120px)}.message-wrapper.user .message-content,.message-wrapper.assistant .message-content{max-width:calc(100% - 100px)}}@media (min-width: 1920px){.chat-messages{padding:32px min(15vw,200px)}.message-wrapper.user .message-content,.message-wrapper.assistant .message-content{max-width:calc(100% - 120px)}}@media (min-width: 2560px){.chat-messages{padding:32px min(20vw,300px)}.message-wrapper.user .message-content,.message-wrapper.assistant .message-content{max-width:calc(100% - 150px)}}.chat-messages::-webkit-scrollbar{width:8px}.chat-messages::-webkit-scrollbar-track{background:transparent}.chat-messages::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#cbd5e1,#94a3b8);border-radius:4px;border:2px solid transparent;background-clip:content-box}.chat-messages::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#94a3b8,#64748b);background-clip:content-box}.snow-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:hidden;z-index:0}.snowflake{position:absolute;top:-10px;color:#fffc;font-size:14px;animation:snowfall linear infinite;-webkit-user-select:none;user-select:none}@keyframes snowfall{0%{transform:translateY(-10px) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(360deg);opacity:0}}.theme-section{position:relative;z-index:1}.theme-label{font-size:14px;color:#64748b;font-weight:500;margin-bottom:12px}.theme-toggle-btn{width:100%;background:#ffffffb3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(226,232,240,.8);border-radius:12px;padding:12px 16px;cursor:pointer;color:#374151;transition:all .2s ease;display:flex;align-items:center;gap:12px;font-size:14px;font-weight:500}.theme-toggle-btn:hover{background:#ffffffe6;border-color:#e2e8f0;transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.theme-icon{display:flex;align-items:center;justify-content:center;color:#0ea5e9}.theme-text{flex:1;text-align:left}.message-wrapper{animation:fadeInUp .3s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.chat-input:focus{outline:none}::selection{background:#0ea5e933;color:#0f172a}.dark{color-scheme:dark}.dark body{background:linear-gradient(135deg,#0f172a,#1e293b,#334155);color:#e2e8f0}.dark .chat-layout{background:#0f172a}.dark .chat-sidebar{background:linear-gradient(180deg,#1e293b,#334155);border-right-color:#475569}.dark .sidebar-header{border-bottom-color:#475569}.dark .sidebar-close-btn{background:#0000004d;color:#94a3b8}.dark .sidebar-close-btn:hover{background:#00000080;color:#e2e8f0}.dark .subtitle{color:#94a3b8}.dark .chat-info{background:#0000004d;border-color:#475569cc}.dark .info-label{color:#94a3b8}.dark .info-value{color:#38bdf8}.dark .theme-label{color:#94a3b8}.dark .theme-toggle-btn{background:#0000004d;border-color:#475569cc;color:#e2e8f0}.dark .theme-toggle-btn:hover{background:#00000080;border-color:#475569;box-shadow:0 4px 12px #0000004d}.dark .theme-icon{color:#38bdf8}.dark .mobile-header{background:#1e293b;border-bottom-color:#475569}.dark .sidebar-toggle-btn{background:#374151;color:#e2e8f0}.dark .sidebar-toggle-btn:hover{background:#4b5563}.dark .chat-messages{background:#0f172a}.dark .message-wrapper.assistant .message-avatar{background:linear-gradient(135deg,#374151,#4b5563);border-color:#6b7280}.dark .message-text{color:#d1d5db}.dark .message-wrapper.user .message-text{background:linear-gradient(135deg,#1e40af,#3b82f6);border-color:#60a5fa;color:#e2e8f0}.dark .message-wrapper.assistant .message-text{background:#374151;border-color:#4b5563;color:#d1d5db}.dark .loading-indicator{color:#94a3b8}.dark .chat-input-container{background:#1e293b;border-top-color:#475569}.dark .input-wrapper{background:#374151;border-color:#4b5563}.dark .input-wrapper:focus-within{border-color:#38bdf8;background:#475569;box-shadow:0 0 0 4px #38bdf81a}.dark .chat-input{color:#e2e8f0}.dark .chat-input::placeholder{color:#94a3b8}.dark .send-button:disabled{background:#4b5563}.dark .error-message{background:linear-gradient(135deg,#7f1d1d,#991b1b);color:#fca5a5;border-color:#dc2626}.dark .snowflake{color:#bae6fd99}.dark .chat-messages::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#4b5563,#6b7280)}.dark .chat-messages::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#6b7280,#9ca3af)}
