@import"https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;600&family=Noto+Serif+SC:wght@400;500;600&display=swap";*{margin:0;padding:0;box-sizing:border-box}:root{--paper: #f2ede4;--paper-deep: #eae3d6;--paper-edge: #ddd3c0;--ink-900: #1a1a1a;--ink-700: #3d3935;--ink-500: #6b655e;--ink-300: #a39e94;--ink-100: #d4cec2;--vermilion: #b83a2b;--vermilion-deep: #8e2a1f;--vermilion-halo: rgba(184, 58, 43, .08);--vermilion-mist: rgba(184, 58, 43, .16);--state-success: #5c7a5a;--state-warning: #a6843e;--state-error: #8e2a1f;--font-serif: "Noto Serif SC", "Source Han Serif SC", "思源宋体", "Songti SC", "STSong", serif;--font-sans: "Noto Sans SC", "Source Han Sans SC", "思源黑体", "PingFang SC", "Microsoft YaHei", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", "Cascadia Code", Consolas, monospace;font-family:var(--font-sans);font-size:var(--text-base);line-height:1.75;font-weight:400;letter-spacing:.02em;--text-xs: 12px;--text-sm: 14px;--text-base: 16px;--text-md: 18px;--text-lg: 20px;--text-xl: 24px;--text-2xl: 32px;--text-3xl: 44px;--text-4xl: 60px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-8: 48px;--space-10: 64px;--space-12: 96px;--space-16: 128px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 20px;--radius-full: 9999px;--border-hair: 1px solid var(--paper-edge);--border-soft: 1px solid var(--ink-100);--border-firm: 1px solid var(--ink-300);--border-ink: 1.5px solid var(--ink-700);--border-vermilion: 1px solid var(--vermilion);--shadow-mist: 0 1px 2px rgba(26, 26, 26, .04), 0 2px 8px rgba(26, 26, 26, .03);--shadow-hover: 0 4px 12px rgba(26, 26, 26, .06), 0 8px 24px rgba(26, 26, 26, .04);--shadow-focus: 0 0 0 3px rgba(184, 58, 43, .12);--shadow-ink-wash: 0 8px 32px rgba(26, 26, 26, .08);--ease-ink: cubic-bezier(.6, .04, .2, 1);--ease-brush: cubic-bezier(.83, 0, .17, 1);--ease-out-soft: cubic-bezier(.2, 0, 0, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--dur-instant: .1s;--dur-fast: .18s;--dur-base: .28s;--dur-slow: .48s;--dur-brand: .8s;--z-base: 0;--z-raised: 10;--z-sticky: 100;--z-dropdown: 200;--z-overlay: 1000;--z-modal: 1100;--z-popover: 1200;--z-toast: 1300;--z-ceremony: 9999;--max-width: 1200px;--header-height: 64px}html{scrollbar-gutter:stable}body.ant-scrolling-effect{width:100%!important;overflow:hidden!important}body{background:var(--paper);color:var(--ink-700);font-family:var(--font-sans);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}::selection{background:var(--vermilion-halo);color:var(--ink-900)}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);font-weight:600;color:var(--ink-900);line-height:1.35}.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(--ink-700);text-decoration:underline;text-underline-offset:2px;transition:color var(--dur-fast) var(--ease-ink)}a:hover{color:var(--ink-900)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--ink-100);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--ink-300)}.ant-select-dropdown,.ant-dropdown .ant-dropdown-menu,.ant-picker-dropdown .ant-picker-panel-container{background:var(--paper)!important;border:1px solid var(--paper-edge)!important;border-radius:var(--radius-md)!important;box-shadow:var(--shadow-hover)!important}.ant-select-dropdown{padding:4px!important}.ant-select-dropdown .ant-select-item,.ant-dropdown-menu .ant-dropdown-menu-item,.ant-dropdown-menu .ant-dropdown-menu-submenu-title{color:var(--ink-700)!important;border-radius:var(--radius-sm)!important}.ant-select-dropdown .ant-select-item-option-active:not(.ant-select-item-option-disabled),.ant-dropdown-menu .ant-dropdown-menu-item-active,.ant-dropdown-menu .ant-dropdown-menu-submenu-title-active{background:var(--paper-deep)!important}.ant-select-dropdown .ant-select-item-option-selected:not(.ant-select-item-option-disabled){background:var(--vermilion-halo)!important;color:var(--ink-900)!important;font-weight:500}.ant-select-dropdown .ant-select-item-option-selected:not(.ant-select-item-option-disabled) .ant-select-item-option-state{color:var(--vermilion)!important}.ant-dropdown-menu .ant-dropdown-menu-item-selected,.ant-dropdown-menu .ant-dropdown-menu-item-selected:hover{background:var(--vermilion-halo)!important;color:var(--ink-900)!important}.ant-select-dropdown .ant-select-item-empty,.ant-select-dropdown .ant-empty-description{color:var(--ink-500)!important}.ant-tree .ant-tree-node-content-wrapper:hover{background:var(--paper-deep)!important}.ant-tree .ant-tree-node-content-wrapper.ant-tree-node-selected{background:var(--vermilion-halo)!important;color:var(--ink-900)!important}.ant-tree .ant-tree-checkbox-checked .ant-checkbox-inner,.ant-tree .ant-tree-checkbox-indeterminate .ant-checkbox-inner{background-color:var(--vermilion)!important;border-color:var(--vermilion)!important}.ant-tree-treenode.drop-container>[draggable]{box-shadow:0 0 0 2px var(--vermilion)!important}.markdown-body{font-size:var(--text-sm);line-height:1.75;color:var(--ink-700)}.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-family:var(--font-serif);font-weight:600;margin:16px 0 8px;line-height:1.4;color:var(--ink-900)}.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(--ink-300);padding:8px 16px;margin:12px 0;background:var(--vermilion-halo);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--ink-500)}.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:var(--border-soft);padding:8px 12px;text-align:left}.markdown-body th{background:var(--paper-deep);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: 48px;--space-12: 64px;--space-16: 96px}}.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:#f2ede4db;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--paper-edge);position:sticky;top:0;z-index:100;box-shadow:var(--shadow-mist);display:flex;align-items:center}@media (max-width: 768px){.app-header{padding:0 var(--space-4)!important}}.card-base{background:var(--paper);border-radius:var(--radius-lg);border:1px solid var(--paper-edge);box-shadow:var(--shadow-mist);transition:box-shadow var(--dur-base) var(--ease-ink),transform var(--dur-base) var(--ease-ink)}.card-base:hover{box-shadow:var(--shadow-hover);transform:translateY(-1px)}.feature-card{background:var(--paper);border-radius:var(--radius-lg);border:1px solid var(--paper-edge);padding:var(--space-6);cursor:pointer;transition:all var(--dur-base) var(--ease-ink);height:100%}.feature-card:hover{border-color:var(--ink-300);box-shadow:var(--shadow-focus);transform:translateY(-2px)}.stat-card{background:var(--paper);border-radius:var(--radius-md);border:1px solid var(--paper-edge);padding:var(--space-4) var(--space-5);text-align:center;cursor:pointer;transition:all var(--dur-base) var(--ease-ink)}.stat-card:hover{border-color:var(--ink-300);box-shadow:var(--shadow-mist)}.stat-number{font-size:28px;font-weight:700;line-height:1;margin-bottom:6px}.stat-label{font-size:12px;color:var(--ink-500)}.welcome-banner{background:var(--ink-900);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(--paper);border-right:1px solid var(--paper-edge)}.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:var(--ink-900);color:var(--paper);border-radius:18px 4px 18px 18px;padding:11px 18px;max-width:68%;box-shadow:var(--shadow-focus);font-size:14px;line-height:1.75;animation:msgSlideRight .2s ease forwards}.msg-bubble-ai{background:var(--paper);color:var(--ink-900);border:1px solid var(--paper-edge);border-radius:4px 18px 18px;padding:16px 20px;max-width:78%;box-shadow:var(--shadow-mist);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:var(--ink-900);border-radius:0 18px 0 0;opacity:.55}.msg-bubble-ai .markdown-body{color:var(--ink-900);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;font-family:var(--font-serif);color:var(--ink-900);margin:22px 0 10px;padding-bottom:8px;border-bottom:2px solid var(--vermilion-halo);letter-spacing:.02em}.msg-bubble-ai .markdown-body h1:before{content:"";display:inline-block;width:4px;height:17px;background:var(--ink-900);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;font-family:var(--font-serif);color:var(--ink-900);margin:18px 0 8px;padding-left:10px;border-left:3px solid var(--vermilion)}.msg-bubble-ai .markdown-body h3{font-size:13.5px;font-weight:600;font-family:var(--font-serif);color:var(--vermilion);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:var(--ink-300)}.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 var(--ink-300);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:var(--vermilion);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:var(--vermilion);border:1.5px solid var(--ink-300);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:var(--vermilion-halo);border-left:4px solid var(--ink-300);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:var(--vermilion);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:var(--vermilion-halo);transition:background .12s}.msg-bubble-ai .markdown-body code:not(pre code){background:var(--vermilion-halo);color:var(--vermilion);border:1px solid var(--ink-300);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,var(--ink-300) 30%,var(--ink-300) 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:var(--vermilion);text-decoration:none;border-bottom:1px dashed var(--ink-300)}.msg-bubble-ai .markdown-body a:hover{border-bottom-style:solid}.chat-input-area{background:var(--paper);border-top:1px solid var(--paper-edge);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(--vermilion-halo);color:var(--vermilion);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(--ink-300)}.empty-state-icon{font-size:48px;margin-bottom:var(--space-4);opacity:.4}.prompt-chip{border-radius:var(--radius-full)!important;border-color:var(--paper-edge)!important;color:var(--ink-500)!important;font-size:13px!important;height:34px!important;padding:0 16px!important;transition:all var(--dur-fast) var(--ease-ink)!important;background:var(--paper)!important}.prompt-chip:hover{border-color:var(--ink-300)!important;color:var(--vermilion)!important;background:var(--vermilion-halo)!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(--paper-edge);margin:var(--space-6) 0}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--paper) 25%,var(--paper-edge) 50%,var(--paper) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}._logo_1lc5v_1{display:block;flex-shrink:0;object-fit:contain}._wordmark_by4rl_1{display:inline-flex;align-items:baseline;gap:.45em;line-height:1.1;min-width:0}._zh_by4rl_9{font-family:var(--font-serif);font-weight:600;color:var(--ink-900);letter-spacing:.04em}._en_by4rl_16{font-family:var(--font-sans);font-weight:500;text-transform:uppercase;color:var(--ink-500);letter-spacing:.22em}._sm_by4rl_24 ._zh_by4rl_9{font-size:1.25rem}._sm_by4rl_24 ._en_by4rl_16{font-size:.62rem}._md_by4rl_32,._lg_by4rl_33{flex-direction:column;align-items:center;gap:.35em}._md_by4rl_32 ._zh_by4rl_9{font-size:clamp(2rem,4.5vw,2.75rem)}._md_by4rl_32 ._en_by4rl_16{font-size:clamp(.65rem,1.2vw,.8rem);letter-spacing:.26em}._lg_by4rl_33 ._zh_by4rl_9{font-size:clamp(2.5rem,5.5vw,3.25rem)}._lg_by4rl_33 ._en_by4rl_16{font-size:clamp(.7rem,1.4vw,.875rem);letter-spacing:.28em}
