*{margin:0;padding:0;box-sizing:border-box}:root{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Segoe UI,Roboto,sans-serif;line-height:1.6;font-weight:400;font-size:16px;--color-primary: #5B6CF6;--color-primary-hover: #4A5CE8;--color-primary-light: #EEF0FE;--color-primary-mid: #C7CBF9;--color-success: #10B981;--color-warning: #F59E0B;--color-danger: #EF4444;--color-info: #3B82F6;--color-bg: #F7F6F3;--color-bg-card: #FFFFFF;--color-bg-hover: #F3F2EF;--color-border: #E8E6E1;--color-border-light: #F0EEE9;--color-text-primary: #1C1917;--color-text-secondary: #78716C;--color-text-tertiary: #A8A29E;--color-text-inverse: #FFFFFF;--gradient-primary: linear-gradient(135deg, #5B6CF6 0%, #818CF8 50%, #A78BFA 100%);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0,0,0,.04);--shadow-sm: 0 1px 4px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 4px 12px rgba(0,0,0,.08), 0 1px 3px rgba(0,0,0,.05);--shadow-lg: 0 8px 24px rgba(0,0,0,.1), 0 2px 6px rgba(0,0,0,.06);--shadow-primary: 0 4px 14px rgba(91,108,246,.25);--transition-fast: .12s ease;--transition-normal: .22s ease;--transition-slow: .38s ease;--max-width: 1200px;--header-height: 64px}html{scrollbar-gutter:stable}body{background:var(--color-bg);color:var(--color-text-primary);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ant-input-textarea>textarea.ant-input,textarea.ant-input{overflow-y:auto}textarea:not(.ant-input){overflow-y:auto}#root{min-height:100vh}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-hover)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}.markdown-body{font-size:14px;line-height:1.75;color:var(--color-text-primary)}.markdown-body p{margin:0 0 10px}.markdown-body p:last-child{margin-bottom:0}.markdown-body h1,.markdown-body h2,.markdown-body h3{font-weight:600;margin:16px 0 8px;line-height:1.4}.markdown-body ul,.markdown-body ol{padding-left:20px;margin:8px 0}.markdown-body li{margin:4px 0}.markdown-body blockquote{border-left:3px solid var(--color-primary-mid);padding:8px 16px;margin:12px 0;background:var(--color-primary-light);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--color-text-secondary)}.markdown-body pre{margin:12px 0;border-radius:var(--radius-md);overflow:hidden}.markdown-body table{border-collapse:collapse;width:100%;margin:12px 0;font-size:13px}.markdown-body th,.markdown-body td{border:1px solid var(--color-border);padding:8px 12px;text-align:left}.markdown-body th{background:var(--color-bg);font-weight:600}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}@keyframes msgSlideLeft{0%{opacity:0;transform:translate(-10px) translateY(4px)}to{opacity:1;transform:translate(0) translateY(0)}}@keyframes msgSlideRight{0%{opacity:0;transform:translate(10px) translateY(4px)}to{opacity:1;transform:translate(0) translateY(0)}}@keyframes codeTagFade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){:root{--space-10: 20px;--space-12: 24px;--space-16: 32px}}.page-container{max-width:var(--max-width);margin:0 auto;width:100%;padding:0 var(--space-10)}@media (max-width: 768px){.page-container{padding:0 var(--space-4)}}.app-header{height:var(--header-height);background:#ffffffeb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border-light);position:sticky;top:0;z-index:100;box-shadow:var(--shadow-xs);display:flex;align-items:center}@media (max-width: 768px){.app-header{padding:0 var(--space-4)!important}}.card-base{background:var(--color-bg-card);border-radius:var(--radius-lg);border:1px solid var(--color-border-light);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-normal),transform var(--transition-normal)}.card-base:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.feature-card{background:var(--color-bg-card);border-radius:var(--radius-lg);border:1px solid var(--color-border-light);padding:var(--space-6);cursor:pointer;transition:all var(--transition-normal);height:100%}.feature-card:hover{border-color:var(--color-primary-mid);box-shadow:var(--shadow-primary);transform:translateY(-2px)}.stat-card{background:var(--color-bg-card);border-radius:var(--radius-md);border:1px solid var(--color-border-light);padding:var(--space-4) var(--space-5);text-align:center;cursor:pointer;transition:all var(--transition-normal)}.stat-card:hover{border-color:var(--color-primary-mid);box-shadow:var(--shadow-sm)}.stat-number{font-size:28px;font-weight:700;line-height:1;margin-bottom:6px}.stat-label{font-size:12px;color:var(--color-text-secondary)}.welcome-banner{background:linear-gradient(135deg,#5b6cf6,#818cf8,#a78bfa);border-radius:var(--radius-xl);padding:var(--space-8) var(--space-10);color:#fff;margin-bottom:var(--space-8);position:relative;overflow:hidden}.welcome-banner:before{content:"";position:absolute;top:-40%;right:-10%;width:300px;height:300px;background:#ffffff0f;border-radius:50%}.welcome-banner:after{content:"";position:absolute;bottom:-30%;right:15%;width:200px;height:200px;background:#ffffff0a;border-radius:50%}.sidebar{background:var(--color-bg-card);border-right:1px solid var(--color-border-light)}.chat-messages{flex:1;overflow-y:auto;padding:var(--space-6) var(--space-10)}@media (max-width: 768px){.chat-messages{padding:var(--space-4)}}.msg-bubble-user{background:linear-gradient(135deg,#5b6cf6,#818cf8);color:#fff;border-radius:18px 4px 18px 18px;padding:11px 18px;max-width:68%;box-shadow:0 4px 16px #5b6cf64d;font-size:14px;line-height:1.75;animation:msgSlideRight .2s ease forwards}.msg-bubble-ai{background:#fff;color:var(--color-text-primary);border:1px solid rgba(91,108,246,.12);border-radius:4px 18px 18px;padding:16px 20px;max-width:78%;box-shadow:0 2px 12px #0000000f,0 0 0 1px #5b6cf60a;font-size:14px;line-height:1.8;word-break:break-word;animation:msgSlideLeft .22s ease forwards;position:relative}.msg-bubble-ai:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#5b6cf6,#818cf8,#a78bfa);border-radius:0 18px 0 0;opacity:.6}.msg-bubble-ai .markdown-body{color:#1f2937;font-size:14px;line-height:1.85}.msg-bubble-ai .markdown-body>*:first-child{margin-top:0!important}.msg-bubble-ai .markdown-body>*:last-child{margin-bottom:0!important}.msg-bubble-ai .markdown-body h1{font-size:17px;font-weight:700;color:#111827;margin:22px 0 10px;padding-bottom:8px;border-bottom:2px solid #EEF0FE;letter-spacing:-.2px}.msg-bubble-ai .markdown-body h1:before{content:"";display:inline-block;width:4px;height:17px;background:linear-gradient(180deg,#5b6cf6,#a78bfa);border-radius:2px;margin-right:10px;vertical-align:middle;position:relative;top:-1px}.msg-bubble-ai .markdown-body h2{font-size:15px;font-weight:700;color:#1f2937;margin:18px 0 8px;padding-left:10px;border-left:3px solid #5B6CF6}.msg-bubble-ai .markdown-body h3{font-size:13.5px;font-weight:600;color:#5b6cf6;margin:14px 0 6px}.msg-bubble-ai .markdown-body h3:before{content:"▍";margin-right:5px;opacity:.5;font-size:11px}.msg-bubble-ai .markdown-body p{margin:0 0 10px;color:#374151;line-height:1.85}.msg-bubble-ai .markdown-body ul{list-style:none;padding-left:0;margin:8px 0 12px}.msg-bubble-ai .markdown-body ul li{position:relative;padding:4px 0 4px 20px;color:#374151;line-height:1.75}.msg-bubble-ai .markdown-body ul li:before{content:"";position:absolute;left:4px;top:12px;width:6px;height:6px;border-radius:50%;background:#818cf8}.msg-bubble-ai .markdown-body ul ul{margin:4px 0 4px 8px}.msg-bubble-ai .markdown-body ul ul li:before{width:4px;height:4px;background:transparent;border:1.5px solid #818CF8;top:13px}.msg-bubble-ai .markdown-body ol{list-style:none;padding-left:0;margin:8px 0 12px;counter-reset:md-ol}.msg-bubble-ai .markdown-body ol li{position:relative;padding:5px 0 5px 32px;color:#374151;line-height:1.75;counter-increment:md-ol}.msg-bubble-ai .markdown-body ol li:before{content:counter(md-ol);position:absolute;left:0;top:6px;width:20px;height:20px;background:#5b6cf6;color:#fff;border-radius:50%;font-size:11px;font-weight:700;line-height:20px;text-align:center}.msg-bubble-ai .markdown-body ol ol{margin:4px 0 4px 8px;counter-reset:md-ol-2}.msg-bubble-ai .markdown-body ol ol li{padding-left:28px;counter-increment:md-ol-2}.msg-bubble-ai .markdown-body ol ol li:before{content:counter(md-ol-2,lower-alpha);width:18px;height:18px;background:transparent;color:#5b6cf6;border:1.5px solid #C7CBF9;font-size:10px;line-height:16px;top:7px}.msg-bubble-ai .markdown-body li>p{margin:0}.msg-bubble-ai .markdown-body li+li{margin-top:2px}.msg-bubble-ai .markdown-body blockquote{margin:14px 0;padding:10px 16px;background:#f8f7ff;border-left:4px solid #818CF8;border-radius:0 8px 8px 0;color:#4b5563;font-style:italic}.msg-bubble-ai .markdown-body blockquote p{margin:0;color:#4b5563}.msg-bubble-ai .markdown-body table{width:100%;border-collapse:collapse;margin:14px 0;font-size:13px;border-radius:8px;overflow:hidden;box-shadow:0 1px 4px #00000012}.msg-bubble-ai .markdown-body th{background:#5b6cf6;color:#fff;padding:9px 13px;font-weight:600;text-align:left;font-size:12.5px}.msg-bubble-ai .markdown-body td{padding:8px 13px;border-bottom:1px solid #F3F4F6;color:#374151;vertical-align:top}.msg-bubble-ai .markdown-body tr:last-child td{border-bottom:none}.msg-bubble-ai .markdown-body tr:nth-child(2n) td{background:#fafafa}.msg-bubble-ai .markdown-body tr:hover td{background:#eef0fe;transition:background .12s}.msg-bubble-ai .markdown-body code:not(pre code){background:#eef0fe;color:#5b6cf6;border:1px solid #C7CBF9;border-radius:4px;padding:1px 6px;font-size:.87em;font-family:JetBrains Mono,Fira Code,monospace;font-weight:500}.msg-bubble-ai .markdown-body pre{margin:12px 0;border-radius:10px;overflow:hidden;box-shadow:0 3px 14px #00000021}.msg-bubble-ai .markdown-body hr{border:none;height:1px;background:linear-gradient(90deg,transparent,#C7CBF9 30%,#C7CBF9 70%,transparent);margin:16px 0}.msg-bubble-ai .markdown-body strong{color:#111827;font-weight:700}.msg-bubble-ai .markdown-body em{color:#6b7280;font-style:italic}.msg-bubble-ai .markdown-body a{color:#5b6cf6;text-decoration:none;border-bottom:1px dashed #C7CBF9}.msg-bubble-ai .markdown-body a:hover{border-bottom-style:solid}.chat-input-area{background:var(--color-bg-card);border-top:1px solid var(--color-border-light);padding:var(--space-4) var(--space-10) var(--space-6)}@media (max-width: 768px){.chat-input-area{padding:var(--space-3) var(--space-4) var(--space-4)}}.badge-primary{background:var(--color-primary-light);color:var(--color-primary);border-radius:var(--radius-full);padding:2px 10px;font-size:12px;font-weight:500}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-16) var(--space-6);color:var(--color-text-tertiary)}.empty-state-icon{font-size:48px;margin-bottom:var(--space-4);opacity:.4}.prompt-chip{border-radius:var(--radius-full)!important;border-color:var(--color-border)!important;color:var(--color-text-secondary)!important;font-size:13px!important;height:34px!important;padding:0 16px!important;transition:all var(--transition-fast)!important;background:var(--color-bg-card)!important}.prompt-chip:hover{border-color:var(--color-primary-mid)!important;color:var(--color-primary)!important;background:var(--color-primary-light)!important}.grid-auto{display:grid;gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}@media (max-width: 640px){.grid-auto{grid-template-columns:1fr}}.divider-soft{border:none;border-top:1px solid var(--color-border-light);margin:var(--space-6) 0}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--color-bg) 25%,var(--color-border-light) 50%,var(--color-bg) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}
