auto-coder-web 0.1.39__py3-none-any.whl → 0.1.41__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- auto_coder_web/auto_coder_runner_wrapper.py +6 -1
- auto_coder_web/common_router/model_router.py +4 -4
- auto_coder_web/init_project.py +26 -0
- auto_coder_web/proxy.py +40 -74
- auto_coder_web/version.py +1 -1
- auto_coder_web/web/asset-manifest.json +6 -6
- auto_coder_web/web/index.html +1 -1
- auto_coder_web/web/static/css/{main.0ef9afe0.css → main.d58ae48e.css} +3 -3
- auto_coder_web/web/static/css/main.d58ae48e.css.map +1 -0
- auto_coder_web/web/static/js/{main.c3e68e66.js → main.0fc8391d.js} +3 -3
- auto_coder_web/web/static/js/{main.c3e68e66.js.map → main.0fc8391d.js.map} +1 -1
- {auto_coder_web-0.1.39.dist-info → auto_coder_web-0.1.41.dist-info}/METADATA +1 -1
- {auto_coder_web-0.1.39.dist-info → auto_coder_web-0.1.41.dist-info}/RECORD +17 -17
- auto_coder_web/auto_coder_runner.py +0 -836
- auto_coder_web/web/static/css/main.0ef9afe0.css.map +0 -1
- /auto_coder_web/web/static/js/{main.c3e68e66.js.LICENSE.txt → main.0fc8391d.js.LICENSE.txt} +0 -0
- {auto_coder_web-0.1.39.dist-info → auto_coder_web-0.1.41.dist-info}/WHEEL +0 -0
- {auto_coder_web-0.1.39.dist-info → auto_coder_web-0.1.41.dist-info}/entry_points.txt +0 -0
- {auto_coder_web-0.1.39.dist-info → auto_coder_web-0.1.41.dist-info}/top_level.txt +0 -0
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"static/css/main.0ef9afe0.css","mappings":"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NE,kCAAoC,CACpC,8BAAgC,CAChC,oBAUF,CANA,8DAKE,2BAA6B,CAD7B,wBAEF,CAGA,qMAIE,oBACF,CAGA,4EACE,yBACF,CAEA,kFACE,oBACF,CAEA,oCACE,kCAAoC,CACpC,kCACF,CAEA,gCACE,oBACF,CAEA,8CACE,kCACF,CAEA,gDACE,kCACF,CAEA,kDACE,oBACF,CAEA,iCACE,kCAAwC,CACxC,uBACF,CAEA,iCACE,uBACF,CAGA,mCACE,uBACF,CAEA,mCACE,uBACF,CAEA,yCACE,uBACF,CAEA,gCACE,8BACF,CAEA,sCACE,kCACF,CAEA,kBACE,kCAAoC,CACpC,8BAAgC,CAChC,uBACF,CAEA,+BACE,uBACF,CAEA,gDAEE,8BAAgC,CAChC,wCACF,CAGA,OACE,YAAa,CACb,kBACF,CAEA,QACE,wBAAyB,CACzB,iBAAkB,CAClB,mBACF,CAEA,cACE,wBACF,CAGA,cACE,kCAAoC,CACpC,8BAAgC,CAChC,uBACF,CAEA,2BACE,uBAAyB,CACzB,mBACF,CAEA,wCAEE,8BAAgC,CAChC,wCACF,CAEA,oBACE,kCAAwC,CACxC,uBACF,CAEA,uBACE,uBACF,CAOA,6CACE,kCACF,CAEA,wCACE,kCAGF,CAEA,gFAHE,yCAA2C,CAD3C,oBAOF,CAEA,8CACE,kCACF,CAEA,4CACE,kCAAoC,CACpC,8BAAgC,CAChC,oBACF,CAEA,+BACE,kBAAoB,CACpB,mBACF,CAEA,sDACE,kCACF,CAEA,4DACE,kCACF,CAGA,8EACE,kCAAoC,CACpC,8BAAgC,CAChC,oBACF,CAEA,sFACE,oBACF,CAEA,qFACE,yBACF,CAEA,2FACE,oBACF,CAGA,oBAEE,kCAEF,CAEA,yDALE,kCAAoC,CAEpC,uBAMF,CAEA,mDACE,kCACF,CAEA,qDACE,kCAAoC,CACpC,oBACF,CAEA,2CACE,uBACF,CAEA,2CACE,uBAAyB,CACzB,eAAiB,CACjB,gBACF,CAGA,aACE,+BACF,CAEA,iCACE,kCACF,CAEA,uCACE,kCACF,CAKA,8BACE,wBAAyB,CAEzB,iBAAkB,CADlB,aAEF,CAEA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","sources":["index.css","styles/custom_antd.css","components/AutoMode/MessageTypes/MessageStyles.css","components/Sidebar/ChatPanel.css","components/Editor/components/FileTree/FileTree.css","components/Editor/components/MonacoEditor/MonacoEditor.css","components/Editor/CodeEditor.css","components/MainContent/FileDirectorySelector.css","components/MainContent/FileGroupPanel.css","components/MainContent/ModelConfig.css","../node_modules/@xterm/xterm/css/xterm.css","components/MainContent/PreviewPanel.css","components/MainContent/TaskStatus/TaskStatusView.css","components/MainContent/TodoPanel.css","components/ExpertMode/SplitStyles.css","App.css"],"sourcesContent":["@import 'tailwindcss/base';\n@import 'tailwindcss/components';\n@import 'tailwindcss/utilities';\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',\n 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',\n sans-serif;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n font-size: 14px;\n line-height: 1.5;\n}\n\ncode {\n font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',\n monospace;\n}\n\n/* 自定义动画效果 */\n@keyframes fadeIn {\n from { opacity: 0; transform: translateY(10px); }\n to { opacity: 1; transform: translateY(0); }\n}\n\n@keyframes slideIn {\n from { transform: translateX(-20px); opacity: 0; }\n to { transform: translateX(0); opacity: 1; }\n}\n\n@keyframes pulse {\n 0% { transform: scale(1); }\n 50% { transform: scale(1.05); }\n 100% { transform: scale(1); }\n}\n\n.animate-fade-in {\n animation: fadeIn 0.3s ease-out forwards;\n}\n\n.animate-slide-in {\n animation: slideIn 0.3s ease-out forwards;\n}\n\n.animate-pulse {\n animation: pulse 2s infinite;\n}\n\n.transition-all {\n transition-property: all;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 300ms;\n}\n\n/* 美化滚动条 */\n::-webkit-scrollbar {\n width: 8px;\n height: 8px;\n}\n\n::-webkit-scrollbar-track {\n background: #f1f1f1;\n border-radius: 4px;\n}\n\n::-webkit-scrollbar-thumb {\n background: #c1c1c1;\n border-radius: 4px;\n}\n\n::-webkit-scrollbar-thumb:hover {\n background: #a1a1a1;\n}\n\n/* DiffViewer标签样式 */\n.diff-viewer-tabs .ant-tabs-nav {\n margin-bottom: 0 !important;\n}\n\n.diff-viewer-tabs .ant-tabs-tab {\n background-color: #1a2234 !important;\n border: 1px solid #374151 !important;\n border-bottom: none !important;\n padding: 0 !important;\n margin-right: 2px !important;\n border-radius: 6px 6px 0 0 !important;\n transition: all 0.3s;\n}\n\n.diff-viewer-tabs .ant-tabs-tab-active {\n background-color: #2d3748 !important;\n border-color: #4b5563 !important;\n}\n\n.diff-viewer-tabs .ant-tabs-content-holder {\n border-top: 1px solid #374151;\n background-color: #111827;\n}\n\n.diff-viewer-tabs .ant-tabs-content {\n height: 100%;\n background-color: #111827;\n}\n\n.custom-tabs-bar {\n padding: 0 !important;\n margin: 0 !important;\n}\n\n/* 深色主题滚动条 */\n.bg-\\[\\#111827\\]::-webkit-scrollbar-track,\n.bg-\\[#1F2937\\]::-webkit-scrollbar-track {\n background: #1f2937;\n}\n\n.bg-\\[\\#111827\\]::-webkit-scrollbar-thumb,\n.bg-\\[#1F2937\\]::-webkit-scrollbar-thumb {\n background: #4b5563;\n}\n\n.bg-\\[\\#111827\\]::-webkit-scrollbar-thumb:hover,\n.bg-\\[#1F2937\\]::-webkit-scrollbar-thumb:hover {\n background: #6b7280;\n}\n\n","/* \n * Custom Ant Design (antd) Component Styles - Dark Theme\n * 这个文件包含所有 antd 组件的自定义暗色主题样式\n */\n\n/* ============ 通用变量 ============ */\n:root {\n --dark-bg-primary: #111827;\n --dark-bg-secondary: #1f2937;\n --dark-bg-tertiary: #0d1829;\n --dark-border: #1e293b;\n --dark-border-light: rgba(75, 85, 99, 0.5);\n --dark-text-primary: #f8fafc;\n --dark-text-secondary: #e5e7eb;\n --dark-text-tertiary: #94a3b8;\n --dark-text-disabled: rgba(229, 231, 235, 0.4);\n --dark-primary: #3b82f6;\n --dark-primary-hover: #2563eb;\n --dark-primary-active: #1d4ed8;\n --dark-success: #10b981;\n --dark-warning: #f59e0b;\n --dark-error: #ef4444;\n --dark-highlight: rgba(234, 179, 8, 0.3);\n}\n\n/* ============ Button 组件 ============ */\n.dark-button.ant-btn {\n background-color: var(--dark-bg-secondary) !important;\n border-color: var(--dark-border-light) !important;\n color: var(--dark-text-secondary) !important;\n transition: all 0.2s ease;\n height: 32px;\n padding: 4px 12px;\n border-radius: 6px;\n}\n\n.dark-button.ant-btn:hover:not(:disabled) {\n background-color: rgba(55, 65, 81, 0.8) !important;\n border-color: rgba(107, 114, 128, 0.5) !important;\n transform: translateY(-1px);\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);\n}\n\n.dark-button.ant-btn-primary {\n background-color: var(--dark-primary) !important;\n border-color: var(--dark-primary-active) !important;\n}\n\n.dark-button.ant-btn-primary:hover:not(:disabled) {\n background-color: var(--dark-primary-hover) !important;\n}\n\n.dark-button.ant-btn:disabled {\n background-color: rgba(37, 99, 235, 0.5) !important;\n border-color: rgba(29, 78, 216, 0.5) !important;\n color: rgba(229, 231, 235, 0.5) !important;\n}\n\n/* ============ Input 组件 ============ */\n.dark-input.ant-input,\n.dark-input.ant-input-affix-wrapper {\n background-color: var(--dark-bg-primary) !important;\n border: 1px solid var(--dark-border) !important;\n color: var(--dark-text-primary) !important;\n border-radius: 0.25rem !important;\n transition: all 0.2s ease;\n}\n\n.dark-input.ant-input:hover,\n.dark-input.ant-input-affix-wrapper:hover {\n border-color: rgba(75, 85, 99, 0.7) !important;\n}\n\n.dark-input.ant-input:focus,\n.dark-input.ant-input-affix-wrapper:focus,\n.dark-input.ant-input-affix-wrapper-focused {\n border-color: var(--dark-primary) !important;\n box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.1) !important;\n}\n\n.dark-input.ant-input::placeholder {\n color: rgba(156, 163, 175, 0.8) !important;\n}\n\n.dark-input.ant-input-affix-wrapper .ant-input {\n background-color: transparent !important;\n color: var(--dark-text-secondary) !important;\n}\n\n.dark-input.ant-input-affix-wrapper .anticon {\n color: var(--dark-text-tertiary) !important;\n}\n\n.dark-input.ant-input-textarea .ant-input {\n background-color: var(--dark-bg-primary) !important;\n color: var(--dark-text-secondary) !important;\n}\n\n/* ============ Select 组件 ============ */\n.dark-select.ant-select .ant-select-selector,\n.custom-select .ant-select-selector {\n background-color: var(--dark-bg-primary) !important;\n border: 1px solid var(--dark-border) !important;\n color: var(--dark-text-primary) !important;\n height: 2rem !important;\n border-radius: 0.25rem !important;\n display: flex;\n align-items: center;\n padding: 0 0.5rem !important;\n}\n\n.dark-select.ant-select .ant-select-selection-item,\n.custom-select .ant-select-selection-item {\n color: var(--dark-text-primary) !important;\n font-size: 0.8rem;\n}\n\n.dark-select.ant-select .ant-select-selection-placeholder,\n.custom-select .ant-select-selection-placeholder {\n color: var(--dark-text-tertiary) !important;\n}\n\n.dark-select-dropdown,\n.custom-select-dropdown {\n background-color: var(--dark-bg-primary) !important;\n border: 1px solid var(--dark-border) !important;\n border-radius: 0.25rem !important;\n padding: 0.1rem 0 !important;\n}\n\n.dark-select-dropdown .ant-select-item,\n.custom-select-dropdown .ant-select-item {\n color: var(--dark-text-primary) !important;\n padding: 0.3rem 0.5rem !important;\n font-size: 0.8rem;\n}\n\n.dark-select-dropdown .ant-select-item-option-selected,\n.custom-select-dropdown .ant-select-item-option-selected {\n background-color: var(--dark-border) !important;\n font-weight: 500;\n}\n\n.dark-select-dropdown .ant-select-item-option-active,\n.custom-select-dropdown .ant-select-item-option-active {\n background-color: #334155 !important;\n}\n\n.dark-select .ant-select-arrow,\n.custom-select .ant-select-arrow {\n color: var(--dark-text-tertiary) !important;\n}\n\n.dark-select:not(.ant-select-disabled):hover .ant-select-selector,\n.custom-select:not(.ant-select-disabled):hover .ant-select-selector {\n border-color: #475569 !important;\n}\n\n.dark-select.ant-select-focused .ant-select-selector,\n.dark-select .ant-select-selector:focus,\n.dark-select .ant-select-selector:active,\n.custom-select.ant-select-focused .ant-select-selector,\n.custom-select .ant-select-selector:focus,\n.custom-select .ant-select-selector:active {\n border-color: var(--dark-primary) !important;\n box-shadow: 0 0 0 1px rgba(59, 130, 246, 0.2) !important;\n}\n\n/* ============ Checkbox 组件 ============ */\n.dark-checkbox .ant-checkbox-inner {\n background-color: rgba(31, 41, 55, 0.8) !important;\n border-color: rgba(75, 85, 99, 0.6) !important;\n transition: all 0.15s ease;\n}\n\n.dark-checkbox .ant-checkbox-checked .ant-checkbox-inner {\n background-color: var(--dark-primary) !important;\n border-color: var(--dark-primary) !important;\n}\n\n.dark-checkbox .ant-checkbox-wrapper {\n color: var(--dark-text-secondary) !important;\n}\n\n/* ============ Switch 组件 ============ */\n.dark-switch.ant-switch {\n background-color: rgba(75, 85, 99, 0.5) !important;\n}\n\n.dark-switch.ant-switch.ant-switch-checked {\n background-color: var(--dark-primary) !important;\n}\n\n/* ============ Radio 组件 ============ */\n.dark-radio-button .ant-radio-button-wrapper {\n background-color: rgba(31, 41, 55, 0.8) !important;\n border-color: rgba(75, 85, 99, 0.5) !important;\n color: var(--dark-text-secondary) !important;\n}\n\n.dark-radio-button .ant-radio-button-wrapper-checked {\n background-color: var(--dark-primary) !important;\n border-color: var(--dark-primary) !important;\n color: white !important;\n}\n\n/* ============ Table 组件 ============ */\n.dark-table.ant-table {\n background-color: transparent;\n}\n\n.dark-table .ant-table-thead > tr > th {\n background-color: var(--dark-bg-secondary) !important;\n color: var(--dark-text-secondary) !important;\n border-bottom: 1px solid var(--dark-border) !important;\n}\n\n.dark-table .ant-table-tbody > tr > td {\n border-bottom: 1px solid var(--dark-border) !important;\n color: var(--dark-text-secondary) !important;\n background-color: var(--dark-bg-primary) !important;\n}\n\n.dark-table .ant-table-tbody > tr:hover > td {\n background-color: rgba(55, 65, 81, 0.5) !important;\n}\n\n.dark-table .ant-pagination-item {\n background-color: var(--dark-bg-secondary) !important;\n border-color: var(--dark-border) !important;\n}\n\n.dark-table .ant-pagination-item-active {\n border-color: var(--dark-primary) !important;\n}\n\n.dark-table .ant-pagination-item a {\n color: var(--dark-text-secondary) !important;\n}\n\n.dark-table .ant-pagination-item-active a {\n color: var(--dark-primary) !important;\n}\n\n.dark-table .ant-pagination-prev .ant-pagination-item-link,\n.dark-table .ant-pagination-next .ant-pagination-item-link {\n background-color: var(--dark-bg-secondary) !important;\n border-color: var(--dark-border) !important;\n color: var(--dark-text-secondary) !important;\n}\n\n/* ============ Tree 组件 ============ */\n.dark-tree.ant-tree {\n background-color: transparent !important;\n color: var(--dark-text-secondary) !important;\n font-size: 13px !important;\n}\n\n.dark-tree .ant-tree-treenode {\n padding: 2px 0 !important;\n transition: all 0.15s ease;\n}\n\n.dark-tree .ant-tree-node-content-wrapper {\n color: var(--dark-text-secondary) !important;\n padding: 2px 4px !important;\n border-radius: 4px !important;\n transition: all 0.15s ease;\n}\n\n.dark-tree .ant-tree-node-content-wrapper:hover {\n background-color: rgba(55, 65, 81, 0.7) !important;\n}\n\n.dark-tree .ant-tree-node-selected {\n background-color: rgba(30, 64, 175, 0.6) !important;\n}\n\n.dark-tree .ant-tree-checkbox-inner {\n background-color: rgba(55, 65, 81, 0.5) !important;\n border-color: rgba(75, 85, 99, 0.7) !important;\n transition: all 0.15s ease;\n}\n\n.dark-tree .ant-tree-checkbox-checked .ant-tree-checkbox-inner {\n background-color: var(--dark-primary) !important;\n border-color: var(--dark-primary) !important;\n}\n\n.dark-tree .ant-tree-switcher {\n color: rgba(156, 163, 175, 0.8) !important;\n transition: all 0.15s ease;\n}\n\n.dark-tree .ant-tree-switcher:hover {\n color: rgba(209, 213, 219, 0.9) !important;\n}\n\n.dark-tree .ant-tree-title {\n color: var(--dark-text-secondary) !important;\n transition: all 0.15s ease;\n}\n\n/* ============ Modal 组件 ============ */\n.dark-modal .ant-modal-content {\n background-color: var(--dark-bg-secondary) !important;\n border: 1px solid var(--dark-border) !important;\n border-radius: 8px !important;\n}\n\n.dark-modal .ant-modal-header {\n background-color: var(--dark-bg-secondary) !important;\n border-bottom: 1px solid var(--dark-border) !important;\n border-radius: 8px 8px 0 0 !important;\n}\n\n.dark-modal .ant-modal-title {\n color: var(--dark-text-primary) !important;\n}\n\n.dark-modal .ant-modal-body {\n color: var(--dark-text-secondary) !important;\n}\n\n.dark-modal .ant-modal-footer {\n border-top: 1px solid var(--dark-border) !important;\n}\n\n.dark-modal .ant-modal-close-icon {\n color: var(--dark-text-secondary) !important;\n}\n\n/* ============ Form 组件 ============ */\n.dark-form .ant-form-item-label > label {\n color: var(--dark-text-secondary) !important;\n}\n\n.dark-form .ant-form-item-explain-error {\n color: var(--dark-error) !important;\n}\n\n/* ============ Message 组件 ============ */\n.dark-message.ant-message .ant-message-notice-content {\n background-color: var(--dark-bg-secondary) !important;\n border: 1px solid var(--dark-border) !important;\n color: var(--dark-text-secondary) !important;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important;\n}\n\n/* ============ Popconfirm 组件 ============ */\n.dark-popconfirm .ant-popover-inner {\n background-color: var(--dark-bg-secondary) !important;\n border: 1px solid var(--dark-border) !important;\n border-radius: 6px !important;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important;\n}\n\n.dark-popconfirm .ant-popover-title {\n color: var(--dark-text-secondary) !important;\n background-color: var(--dark-bg-secondary) !important;\n border-bottom: 1px solid var(--dark-border) !important;\n}\n\n.dark-popconfirm .ant-popover-inner-content {\n color: var(--dark-text-secondary) !important;\n}\n\n.dark-popconfirm .ant-popover-buttons .ant-btn {\n background-color: var(--dark-bg-secondary) !important;\n border-color: var(--dark-border-light) !important;\n color: var(--dark-text-secondary) !important;\n}\n\n.dark-popconfirm .ant-popover-buttons .ant-btn-primary {\n background-color: var(--dark-primary) !important;\n border-color: var(--dark-primary) !important;\n color: white !important;\n}\n\n/* ============ Menu 组件 ============ */\n.dark-menu.ant-menu {\n background-color: var(--dark-bg-secondary) !important;\n color: var(--dark-text-secondary) !important;\n border-right: 1px solid var(--dark-border) !important;\n}\n\n.dark-menu .ant-menu-item {\n color: var(--dark-text-secondary) !important;\n transition: all 0.15s ease !important;\n}\n\n.dark-menu .ant-menu-item:hover {\n background-color: rgba(59, 130, 246, 0.15) !important;\n color: var(--dark-primary) !important;\n}\n\n.dark-menu .ant-menu-item-selected {\n background-color: rgba(30, 64, 175, 0.6) !important;\n color: white !important;\n}\n\n.dark-menu .ant-menu-item-disabled {\n color: var(--dark-text-disabled) !important;\n}\n\n/* ============ Dropdown 组件 ============ */\n.dark-dropdown .ant-dropdown-menu {\n background-color: var(--dark-bg-secondary) !important;\n border: 1px solid var(--dark-border) !important;\n border-radius: 6px !important;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important;\n}\n\n.dark-dropdown .ant-dropdown-menu-item {\n color: var(--dark-text-secondary) !important;\n transition: all 0.15s ease !important;\n}\n\n.dark-dropdown .ant-dropdown-menu-item:hover {\n background-color: rgba(59, 130, 246, 0.15) !important;\n color: var(--dark-primary) !important;\n}\n\n/* ============ Tabs 组件 ============ */\n.dark-tabs .ant-tabs-nav {\n border-bottom: 1px solid var(--dark-border) !important;\n}\n\n.dark-tabs .ant-tabs-tab {\n color: var(--dark-text-tertiary) !important;\n}\n\n.dark-tabs .ant-tabs-tab:hover {\n color: var(--dark-primary) !important;\n}\n\n.dark-tabs .ant-tabs-tab-active .ant-tabs-tab-btn {\n color: var(--dark-primary) !important;\n}\n\n.dark-tabs .ant-tabs-ink-bar {\n background-color: var(--dark-primary) !important;\n}\n\n/* ============ Skeleton 组件 ============ */\n.dark-skeleton .ant-skeleton-input,\n.dark-skeleton .ant-skeleton-button,\n.dark-skeleton .ant-skeleton-avatar,\n.dark-skeleton .ant-skeleton-title,\n.dark-skeleton .ant-skeleton-paragraph > li {\n background-color: #1e293b !important;\n} ","/* 通用消息组件样式 */\n.message-font {\n font-size: 14px;\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n.message-title {\n display: flex;\n align-items: center;\n margin-bottom: 0.5rem;\n}\n\n.message-title-icon {\n width: 1rem;\n height: 1rem;\n margin-right: 0.5rem;\n}\n\n.message-title-text {\n font-weight: 600;\n}\n\n.message-toggle-button {\n margin-right: 0.5rem;\n padding: 0.125rem;\n border-radius: 0.25rem;\n transition-property: background-color;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n\n.message-toggle-button:hover {\n background-color: rgba(55, 65, 81, 1);\n}\n\n.message-toggle-icon {\n width: 0.75rem;\n height: 0.75rem;\n}\n\n.message-content-container {\n margin-top: 0.5rem;\n background-color: rgba(31, 41, 55, 0.5);\n border-radius: 0.375rem;\n overflow: hidden;\n border: 1px solid rgba(55, 65, 81, 1);\n box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);\n} ","/* Custom Modal Styling */\n.custom-modal .ant-modal-content {\n background-color: #1F2937;\n border: 1px solid #4B5563;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5);\n color: #FFFFFF;\n}\n\n.custom-modal .ant-modal-header {\n background-color: #1F2937;\n border-bottom: 1px solid #4B5563;\n padding: 16px 24px;\n}\n\n.custom-modal .ant-modal-title {\n color: #FFFFFF;\n}\n\n.custom-modal .ant-modal-close {\n color: #9CA3AF;\n}\n\n.custom-modal .ant-modal-close:hover {\n color: #E5E7EB;\n}\n\n.custom-modal .ant-modal-footer {\n border-top: 1px solid #4B5563;\n background-color: #1F2937;\n padding: 12px 24px;\n}\n\n.custom-modal .ant-modal-footer .ant-btn-default {\n background-color: transparent;\n border-color: #4B5563;\n color: #E5E7EB;\n}\n\n.custom-modal .ant-modal-footer .ant-btn-default:hover {\n background-color: #374151;\n border-color: #6B7280;\n}\n\n.custom-modal .ant-modal-footer .ant-btn-primary:not(:disabled) {\n background-color: #8B5CF6;\n border-color: #8B5CF6;\n}\n\n.custom-modal .ant-modal-footer .ant-btn-primary:not(:disabled):hover {\n background-color: #7C3AED;\n border-color: #7C3AED;\n}\n",".file-tree-container {\n display: flex;\n flex-direction: column;\n height: 100%;\n background-color: #1e1e1e;\n border-right: 1px solid #333;\n font-size: 0.9rem;\n}\n\n.file-tree-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 8px 12px;\n border-bottom: 1px solid #333;\n background-color: #252525;\n}\n\n.file-tree-header-title {\n font-weight: 500;\n color: #e0e0e0;\n font-size: 0.95rem;\n user-select: none;\n}\n\n.file-tree-actions {\n display: flex;\n gap: 8px;\n}\n\n.action-button {\n color: #aaa;\n background: transparent;\n border: none;\n cursor: pointer;\n padding: 4px;\n border-radius: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: all 0.2s ease;\n}\n\n.action-button:hover {\n color: #fff;\n background-color: rgba(255, 255, 255, 0.1);\n}\n\n.file-tree-search {\n padding: 8px 12px;\n border-bottom: 1px solid #333;\n background-color: #252525;\n}\n\n.file-tree-content {\n flex: 1;\n overflow-y: auto;\n padding: 4px 0;\n}\n\n.custom-input {\n background-color: #2c2c2c !important;\n border-color: #444 !important;\n color: #ddd !important;\n border-radius: 4px !important;\n transition: all 0.3s ease !important;\n}\n\n.custom-input:hover, .custom-input:focus-within {\n border-color: #1890ff !important;\n}\n\n.custom-input input {\n color: #ddd !important;\n}\n\n.custom-input .ant-input-prefix {\n color: #999 !important;\n}\n\n/* File tree node styling */\n.file-tree-container .ant-tree {\n background-color: transparent !important;\n}\n\n.file-tree-container .ant-tree-node-content-wrapper {\n transition: all 0.2s ease;\n padding: 2px 4px;\n border-radius: 2px;\n}\n\n.file-tree-container .ant-tree-node-content-wrapper:hover {\n background-color: rgba(255, 255, 255, 0.1) !important;\n}\n\n.file-tree-container .ant-tree-node-selected {\n background-color: rgba(24, 144, 255, 0.2) !important;\n}\n\n.file-tree-container .ant-tree-switcher {\n color: #aaa;\n}\n\n.file-tree-container .ant-tree-title {\n color: #e0e0e0;\n font-size: 0.9rem;\n}\n\n.file-node {\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.file-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 1rem;\n width: 16px;\n height: 16px;\n}\n\n.file-icon.folder {\n color: #e8c37b;\n}\n\n.file-icon.file {\n color: #9cdcfe;\n}\n\n.file-icon.file-js, .file-icon.file-ts, .file-icon.file-jsx, .file-icon.file-tsx {\n color: #4fc1ff;\n}\n\n.file-icon.file-css, .file-icon.file-scss, .file-icon.file-less {\n color: #ce9178;\n}\n\n.file-icon.file-json {\n color: #fad67d;\n}\n\n.file-icon.file-md {\n color: #c586c0;\n}\n\n.file-icon.file-html {\n color: #e06c75;\n}\n\n.file-icon.file-py {\n color: #4ec9b0;\n}\n\n.file-name {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 100%;\n color: #777;\n text-align: center;\n padding: 20px;\n}\n\n.empty-state-icon {\n font-size: 2rem;\n margin-bottom: 12px;\n opacity: 0.6;\n}\n\n.empty-state-text {\n font-size: 0.9rem;\n}\n\n.path-breadcrumb {\n color: #888;\n font-size: 0.8rem;\n margin-top: 2px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n max-width: 100%;\n}\n",".monaco-editor-container {\n height: 100%;\n width: 100%;\n background-color: #1e1e1e;\n}\n\n.loading {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n width: 100%;\n color: #888;\n font-size: 14px;\n background-color: #1e1e1e;\n}\n",".code-editor-container {\n height: 100%;\n display: flex;\n flex-direction: column;\n background-color: #1e1e1e;\n}\n\n.code-editor-header {\n padding: 8px;\n background-color: #252526;\n border-bottom: 1px solid #333;\n}\n\n.code-editor-header-content {\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n\n.file-info {\n color: #cccccc;\n font-size: 12px;\n}\n\n.save-button {\n display: flex;\n align-items: center;\n gap: 4px;\n padding: 4px 8px;\n background-color: #0e639c;\n color: white;\n border: none;\n border-radius: 3px;\n cursor: pointer;\n font-size: 12px;\n transition: background-color 0.2s;\n}\n\n.save-button:hover {\n background-color: #1177bb;\n}\n\n.save-button:disabled {\n background-color: #2d2d2d;\n color: #666;\n cursor: not-allowed;\n}\n\n.code-editor-content {\n flex: 1;\n display: flex;\n}\n\n.file-tree-panel {\n background-color: #252526;\n padding: 8px;\n overflow: auto;\n}\n\n.editor-panel {\n flex: 1;\n background-color: #1e1e1e;\n overflow: hidden;\n display: flex;\n flex-direction: column;\n}\n\n/* Custom Tab Styles */\n.editor-panel .ant-tabs {\n height: 100%;\n display: flex;\n flex-direction: column;\n background-color: #1e1e1e;\n}\n\n.editor-panel .ant-tabs-content {\n height: 100%;\n flex: 1;\n}\n\n.editor-panel .ant-tabs-tabpane {\n height: 100%;\n}\n\n.editor-panel .ant-tabs-nav {\n margin: 0 !important;\n background-color: #252526;\n border-bottom: 1px solid #333;\n}\n\n.editor-panel .ant-tabs-tab {\n background: #2d2d2d !important;\n border: none !important;\n border-radius: 0 !important;\n margin: 0 !important;\n padding: 4px 16px !important;\n color: #969696 !important;\n transition: background-color 0.2s, color 0.2s;\n}\n\n.editor-panel .ant-tabs-tab:not(:first-child) {\n border-left: 1px solid #333 !important;\n}\n\n.editor-panel .ant-tabs-tab:hover {\n background: #383838 !important;\n color: #ffffff !important;\n}\n\n.editor-panel .ant-tabs-tab-active {\n background: #1e1e1e !important;\n color: #ffffff !important;\n}\n\n.editor-panel .ant-tabs-tab-active .ant-tabs-tab-btn {\n color: #ffffff !important;\n}\n\n.editor-panel .ant-tabs-tab-btn {\n color: #969696;\n}\n\n.editor-panel .ant-tabs-tab-remove {\n color: #666 !important;\n margin-left: 8px;\n}\n\n.editor-panel .ant-tabs-tab-remove:hover {\n color: #ff6b6b !important;\n}\n\n.editor-panel .ant-tabs-nav-add {\n background-color: #2d2d2d !important;\n border: none !important;\n color: #969696 !important;\n transition: background-color 0.2s, color 0.2s;\n}\n\n.editor-panel .ant-tabs-nav-add:hover {\n background-color: #383838 !important;\n color: #ffffff !important;\n}\n\n/* Split Gutter Style */\n.gutter {\n background-color: #333;\n}\n\n.gutter:hover {\n background-color: #454545;\n}\n\n.gutter.gutter-horizontal {\n cursor: col-resize;\n}\n\n.gutter.gutter-vertical {\n cursor: row-resize;\n}\n\n/* Ensure split containers take full height */\n.split {\n display: flex;\n flex-direction: row;\n height: 100%;\n}\n\n.split > div {\n height: 100%;\n}\n","/* FileDirectorySelector 优化暗色主题样式 */\n\n/* 容器样式 */\n.file-directory-selector {\n background-color: #111827;\n border-right: 1px solid rgba(75, 85, 99, 0.5);\n height: 100%;\n display: flex;\n flex-direction: column;\n transition: all 0.2s ease;\n overflow: hidden; /* 防止内部超出造成整体滚动 */\n}\n\n/* 搜索区域样式 */\n.search-container {\n padding: 12px;\n border-bottom: 1px solid rgba(75, 85, 99, 0.3);\n}\n\n/* 搜索头部样式 */\n.search-header {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-bottom: 8px;\n}\n\n/* 视图切换按钮 */\n.view-mode-toggle {\n flex-shrink: 0;\n}\n\n.view-mode-toggle .ant-radio-button-wrapper {\n background-color: rgba(31, 41, 55, 0.8) !important;\n border-color: rgba(75, 85, 99, 0.5) !important;\n color: #e5e7eb !important;\n}\n\n.view-mode-toggle .ant-radio-button-wrapper-checked {\n background-color: #3b82f6 !important;\n border-color: #3b82f6 !important;\n color: white !important;\n}\n\n/* 面包屑导航 */\n.directory-breadcrumb {\n display: flex;\n align-items: center;\n gap: 4px;\n font-size: 12px;\n color: #9ca3af;\n margin-bottom: 8px;\n flex-wrap: wrap;\n padding: 4px 0;\n border-bottom: 1px solid rgba(75, 85, 99, 0.2);\n}\n\n.breadcrumb-item {\n display: flex;\n align-items: center;\n gap: 4px;\n}\n\n.breadcrumb-item .ant-btn {\n color: #d1d5db;\n font-size: 12px;\n padding: 0 4px;\n height: auto;\n min-height: 24px;\n}\n\n.breadcrumb-item .ant-btn:hover {\n color: #3b82f6;\n background-color: rgba(59, 130, 246, 0.1);\n}\n\n/* 输入框样式优化 */\n.search-input.ant-input-affix-wrapper {\n background-color: rgba(31, 41, 55, 0.8) !important;\n border: 1px solid rgba(75, 85, 99, 0.5) !important;\n border-radius: 6px !important;\n transition: all 0.2s ease;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\n flex: 1;\n}\n\n.filter-icon {\n color: #9ca3af;\n cursor: pointer;\n transition: color 0.2s;\n}\n\n.filter-icon:hover {\n color: #d1d5db;\n}\n\n.search-input.ant-input-affix-wrapper:hover,\n.search-input.ant-input-affix-wrapper:focus {\n border-color: #3b82f6 !important;\n box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.1);\n}\n\n.search-input .ant-input {\n background-color: transparent !important;\n color: #e5e7eb !important;\n}\n\n.search-input .ant-input::placeholder {\n color: rgba(156, 163, 175, 0.8) !important;\n}\n\n/* 按钮样式优化 */\n.action-buttons {\n display: flex;\n gap: 8px;\n margin-top: 10px;\n}\n\n/* 选择控制区域样式 */\n.selection-controls {\n display: flex;\n gap: 4px;\n}\n\n.add-button.ant-btn {\n background-color: #2563eb !important;\n border-color: #1d4ed8 !important;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\n transition: all 0.2s ease;\n height: 32px;\n padding: 4px 12px;\n border-radius: 6px;\n}\n\n.add-button.ant-btn:hover:not(:disabled) {\n background-color: #1d4ed8 !important;\n transform: translateY(-1px);\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);\n}\n\n.add-button.ant-btn:disabled {\n background-color: rgba(37, 99, 235, 0.5) !important;\n border-color: rgba(29, 78, 216, 0.5) !important;\n color: rgba(229, 231, 235, 0.5) !important;\n}\n\n/* 切换选择按钮样式 */\n.selection-toggle-button.ant-btn {\n background-color: rgba(31, 41, 55, 0.8) !important;\n border-color: rgba(75, 85, 99, 0.5) !important;\n color: #e5e7eb !important;\n transition: all 0.3s ease;\n height: 32px;\n padding: 4px 12px;\n border-radius: 6px;\n position: relative;\n}\n\n.selection-toggle-button.ant-btn:hover {\n background-color: rgba(55, 65, 81, 0.8) !important;\n border-color: rgba(107, 114, 128, 0.5) !important;\n}\n\n/* 全选模式样式 */\n.selection-toggle-button.select-all-mode {\n background-color: rgba(31, 41, 55, 0.8) !important;\n}\n\n/* 反选模式样式 */\n.selection-toggle-button.invert-mode {\n background-color: rgba(37, 99, 235, 0.15) !important;\n}\n\n.selection-toggle-button.invert-mode:hover {\n background-color: rgba(37, 99, 235, 0.25) !important;\n}\n\n/* 树组件容器 */\n.file-tree-container {\n flex: 1;\n overflow: auto;\n padding: 8px;\n margin-top: 4px;\n scrollbar-width: thin;\n scrollbar-color: #4b5563 #1f2937;\n overflow-x: auto !important;\n min-width: 100%;\n width: auto;\n}\n\n.file-tree-container::-webkit-scrollbar {\n width: 6px;\n height: 8px; /* 增大高度使滚动条更易点击 */\n}\n\n.file-tree-container::-webkit-scrollbar-track {\n background: rgba(31, 41, 55, 0.5);\n border-radius: 6px;\n}\n\n.file-tree-container::-webkit-scrollbar-thumb {\n background-color: rgba(75, 85, 99, 0.7);\n border-radius: 6px;\n border: 1px solid rgba(31, 41, 55, 0.5);\n}\n\n.file-tree-container::-webkit-scrollbar-thumb:hover {\n background-color: rgba(107, 114, 128, 0.7);\n}\n\n/* 树组件样式优化 */\n.custom-dark-tree.ant-tree {\n background-color: transparent !important;\n color: #e5e7eb !important;\n font-size: 13px !important;\n width: max-content !important;\n min-width: 100% !important;\n overflow-x: visible !important;\n}\n\n/* 确保树节点内容可以完整显示 */\n.custom-dark-tree .ant-tree-list,\n.custom-dark-tree .ant-tree-list-holder,\n.custom-dark-tree .ant-tree-list-holder-inner {\n width: auto !important;\n min-width: 100% !important;\n overflow: visible !important;\n}\n\n/* 重要:消除可能限制滚动的样式 */\n.custom-dark-tree .ant-tree-list-holder {\n position: relative !important;\n min-width: 100% !important;\n}\n\n.custom-dark-tree .ant-tree-list-holder > div {\n display: flex !important;\n flex-direction: column !important;\n min-width: 100% !important;\n width: max-content !important;\n}\n\n.custom-dark-tree .ant-tree-treenode {\n padding: 2px 0 !important;\n transition: all 0.15s ease;\n width: auto !important;\n min-width: max-content !important;\n}\n\n.custom-dark-tree .ant-tree-node-content-wrapper {\n color: #e5e7eb !important;\n padding: 2px 4px !important;\n border-radius: 4px !important;\n transition: all 0.15s ease;\n width: auto !important;\n}\n\n.custom-dark-tree .ant-tree-node-content-wrapper:hover {\n background-color: rgba(55, 65, 81, 0.7) !important;\n}\n\n.custom-dark-tree .ant-tree-node-selected {\n background-color: rgba(30, 64, 175, 0.6) !important;\n}\n\n.custom-dark-tree .ant-tree-checkbox-inner {\n background-color: rgba(55, 65, 81, 0.5) !important;\n border-color: rgba(75, 85, 99, 0.7) !important;\n transition: all 0.15s ease;\n}\n\n.custom-dark-tree .ant-tree-checkbox-checked .ant-tree-checkbox-inner {\n background-color: #2563eb !important;\n border-color: #2563eb !important;\n}\n\n.custom-dark-tree .ant-tree-switcher {\n color: rgba(156, 163, 175, 0.8) !important;\n transition: all 0.15s ease;\n}\n\n.custom-dark-tree .ant-tree-switcher:hover {\n color: rgba(209, 213, 219, 0.9) !important;\n}\n\n.custom-dark-tree .ant-tree-title {\n color: #e5e7eb !important;\n transition: all 0.15s ease;\n white-space: nowrap;\n overflow: visible;\n text-overflow: initial;\n max-width: none;\n}\n\n/* 树节点内容容器 */\n.file-node-title {\n display: flex;\n align-items: center;\n max-width: none !important;\n width: auto !important;\n}\n\n.file-name {\n flex: 1;\n overflow: visible !important;\n white-space: nowrap !important;\n text-overflow: clip !important;\n}\n\n/* 搜索高亮样式 */\n.search-highlight {\n background-color: rgba(234, 179, 8, 0.3);\n font-weight: bold;\n border-radius: 2px;\n padding: 0 2px;\n}\n\n/* 列表视图样式 */\n.file-list-view {\n width: 100%;\n}\n\n.file-list-item {\n padding: 4px 8px !important;\n border-radius: 4px !important;\n margin-bottom: 2px !important;\n transition: all 0.15s ease;\n cursor: pointer;\n border: none !important;\n background-color: transparent !important;\n}\n\n.file-list-item:hover {\n background-color: rgba(55, 65, 81, 0.5) !important;\n}\n\n.file-list-item.selected {\n background-color: rgba(30, 64, 175, 0.5) !important;\n}\n\n.file-list-icon {\n background-color: transparent !important;\n}\n\n.file-list-title {\n color: #e5e7eb !important;\n font-size: 13px !important;\n}\n\n.file-list-item .ant-checkbox-wrapper {\n color: #e5e7eb !important;\n}\n\n/* 文件类型过滤菜单 */\n.file-type-filter-menu {\n background-color: #1f2937 !important;\n border: 1px solid rgba(75, 85, 99, 0.6) !important;\n border-radius: 6px !important;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important;\n padding: 6px 0 !important;\n max-height: 300px;\n overflow-y: auto;\n}\n\n.file-type-filter-menu .ant-menu-item-group-title {\n color: #60a5fa !important;\n font-size: 12px !important;\n padding: 6px 12px !important;\n}\n\n.file-type-filter-menu .ant-menu-item {\n padding: 6px 12px !important;\n}\n\n.file-type-filter-menu .ant-checkbox-wrapper {\n color: #e5e7eb !important;\n font-size: 13px !important;\n}\n\n.file-type-filter-menu .ant-checkbox-inner {\n background-color: rgba(31, 41, 55, 0.8) !important;\n border-color: rgba(75, 85, 99, 0.6) !important;\n}\n\n.file-type-filter-menu .ant-checkbox-checked .ant-checkbox-inner {\n background-color: #3b82f6 !important;\n border-color: #3b82f6 !important;\n}\n\n/* 右键菜单样式 */\n.file-context-menu {\n background-color: #1f2937 !important;\n border: 1px solid rgba(75, 85, 99, 0.6) !important;\n border-radius: 6px !important;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important;\n padding: 6px 0 !important;\n min-width: 160px !important;\n}\n\n.file-context-menu .ant-menu-item {\n color: #e5e7eb !important;\n transition: all 0.15s ease !important;\n padding: 6px 12px !important;\n font-size: 13px !important;\n}\n\n.file-context-menu .ant-menu-item:hover {\n background-color: rgba(59, 130, 246, 0.15) !important;\n color: #60a5fa !important;\n}\n\n.file-context-menu .ant-menu-item-disabled {\n color: rgba(229, 231, 235, 0.4) !important;\n}\n\n.file-context-menu .ant-menu-item .anticon {\n margin-right: 8px !important;\n}\n\n.context-menu-wrapper {\n z-index: 1050;\n}\n\n/* 文件和文件夹图标样式 */\n.custom-dark-tree .file-icon {\n margin-right: 6px;\n font-size: 14px;\n opacity: 0.8;\n}\n\n.custom-dark-tree .folder-icon {\n color: #d97706 !important;\n} ","/* FileGroupPanel 暗色主题样式 */\n\n/* 全局暗色主题表格样式 */\n.dark-mode-table .ant-table {\n background-color: transparent !important;\n color: #e5e7eb !important;\n}\n\n.dark-mode-table .ant-table-thead > tr > th {\n background-color: #1f2937 !important;\n color: #e5e7eb !important;\n border-bottom: 1px solid #374151 !important;\n}\n\n.dark-mode-table .ant-table-tbody > tr > td {\n border-bottom: 1px solid #374151 !important;\n transition: background 0.2s;\n}\n\n.dark-mode-table .ant-table-tbody > tr:hover > td {\n background-color: #374151 !important;\n}\n\n.dark-mode-table .ant-table-tbody > tr.ant-table-row-selected > td {\n background-color: #1e40af !important;\n}\n\n.dark-mode-table .ant-empty-description {\n color: #9ca3af !important;\n}\n\n/* 修复空表格的样式问题 */\n.dark-mode-table .ant-table-placeholder {\n background-color: #111827 !important;\n border-bottom: 1px solid #374151 !important;\n}\n\n.dark-mode-table .ant-empty {\n color: #9ca3af !important;\n}\n\n.dark-mode-table .ant-empty-img-simple-g {\n stroke: #4b5563 !important;\n}\n\n.dark-mode-table .ant-empty-img-simple-path {\n fill: #1f2937 !important;\n}\n\n.dark-mode-table .ant-empty-img-simple-ellipse {\n fill: #374151 !important;\n}\n\n/* 修复空状态的图标颜色 */\n.ant-empty-img-default-path {\n fill: #1f2937 !important;\n}\n\n.ant-empty-img-default-g {\n stroke: #4b5563 !important;\n}\n\n.ant-empty-img-default-ellipse {\n fill: #374151 !important;\n}\n\n/* 自定义空状态图标容器 */\n.custom-empty-container {\n background-color: #111827 !important;\n padding: 24px;\n border-radius: 8px;\n}\n\n/* 暗色模态框样式 */\n.dark-theme-modal .ant-modal-content {\n background-color: #1f2937 !important;\n box-shadow: 0 8px 30px rgba(0, 0, 0, 0.5) !important;\n}\n\n.dark-theme-modal .ant-modal-header {\n background-color: #1f2937 !important;\n border-bottom: 1px solid #374151 !important;\n}\n\n.dark-theme-modal .ant-modal-title {\n color: #e5e7eb !important;\n}\n\n.dark-theme-modal .ant-modal-close {\n color: #9ca3af !important;\n}\n\n.dark-theme-modal .ant-modal-close:hover {\n color: #e5e7eb !important;\n}\n\n.dark-theme-modal .ant-modal-footer {\n border-top: 1px solid #374151 !important;\n}\n\n.dark-theme-modal .ant-btn-default {\n background-color: #374151 !important;\n border-color: #4b5563 !important;\n color: #e5e7eb !important;\n}\n\n.dark-theme-modal .ant-btn-default:hover {\n background-color: #4b5563 !important;\n border-color: #6b7280 !important;\n}\n\n.dark-theme-modal .ant-btn-primary {\n background-color: #2563eb !important;\n border-color: #1d4ed8 !important;\n}\n\n.dark-theme-modal .ant-btn-primary:hover {\n background-color: #1d4ed8 !important;\n border-color: #1e40af !important;\n}\n\n/* 自定义滚动条 */\ndiv {\n scrollbar-width: thin;\n scrollbar-color: #4b5563 #1f2937;\n}\n\ndiv::-webkit-scrollbar {\n width: 8px;\n height: 8px;\n}\n\ndiv::-webkit-scrollbar-track {\n background: #1f2937;\n}\n\ndiv::-webkit-scrollbar-thumb {\n background-color: #4b5563;\n border-radius: 4px;\n border: 2px solid #1f2937;\n}\n\ndiv::-webkit-scrollbar-corner {\n background-color: #1f2937;\n}\n\n/* 表单元素样式 */\n.ant-input,\n.ant-input-affix-wrapper,\n.ant-input-number,\n.ant-select-selector,\n.ant-select-dropdown {\n background-color: #1f2937 !important;\n border-color: #374151 !important;\n color: #e5e7eb !important;\n}\n\n.ant-input:hover,\n.ant-input-affix-wrapper:hover,\n.ant-input-number:hover,\n.ant-select-selector:hover {\n border-color: #4b5563 !important;\n}\n\n.ant-input:focus,\n.ant-input-affix-wrapper-focused,\n.ant-input-number-focused,\n.ant-select-focused .ant-select-selector {\n border-color: #3b82f6 !important;\n box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2) !important;\n}\n\n.ant-input-affix-wrapper .ant-input {\n background-color: transparent !important;\n border: none !important;\n}\n\n/* 复选框样式 */\n.ant-checkbox-inner {\n background-color: #374151 !important;\n border-color: #4b5563 !important;\n}\n\n.ant-checkbox-checked .ant-checkbox-inner {\n background-color: #2563eb !important;\n border-color: #2563eb !important;\n}\n\n/* 自定义空状态样式 */\n.custom-empty-state .ant-empty-image {\n filter: invert(20%) sepia(10%) saturate(200%) hue-rotate(180deg) brightness(95%) contrast(80%);\n opacity: 0.6;\n}\n\n.custom-empty-state .ant-empty-description {\n color: #9ca3af !important;\n}\n\n/* 空文件列表区域的样式 */\n.empty-files-container {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n background-color: #111827;\n border-radius: 8px;\n padding: 24px;\n color: #9ca3af;\n}\n\n/* 文件列表表格背景 */\n.dark-mode-table .ant-table-container {\n background-color: transparent !important;\n}\n\n.dark-mode-table .ant-table-content {\n background-color: transparent !important;\n}\n\n.dark-mode-table .ant-table-cell {\n background-color: transparent !important;\n}\n\n/* 修复图标样式 */\n.ant-empty-normal .ant-empty-image {\n height: 60px;\n} ","/* 组件特定样式 */\n.settings-container {\n max-width: 100%;\n margin: 0 auto;\n color: #e2e8f0;\n padding: 0 0.5rem;\n}\n\n.settings-section {\n margin-bottom: 1rem;\n border-bottom: 1px solid #1e293b;\n padding-bottom: 1rem;\n}\n\n.settings-section:last-child {\n border-bottom: none;\n}\n\n.settings-title {\n font-size: 1rem;\n font-weight: 600;\n margin-bottom: 1rem;\n color: #f8fafc;\n}\n\n/* Language selector styles */\n.language-selector {\n margin-bottom: 1rem;\n max-width: 100%;\n}\n\n.language-label {\n display: block;\n font-size: 0.75rem;\n font-weight: 500;\n margin-bottom: 0.25rem;\n color: #cbd5e1;\n}\n\n/* Model config styles */\n.model-config-item {\n margin-bottom: 0.75rem;\n padding: 0.75rem;\n background-color: #0d1829;\n border-radius: 0.25rem;\n}\n\n.model-config-label {\n display: block;\n font-size: 0.8rem;\n font-weight: 500;\n margin-bottom: 0.5rem;\n color: #f8fafc;\n}\n\n.model-config-description {\n font-size: 0.7rem;\n color: #94a3b8;\n margin-top: 0.25rem;\n}\n\n/* 模型管理页面样式 */\n.model-management-container {\n min-height: 100%;\n height: 100%;\n}\n\n/* 模型表格自定义样式 */\n.model-table {\n margin-top: 12px;\n border-radius: 6px;\n}\n\n/* 响应式调整 */\n@media (max-width: 768px) {\n .model-management-container {\n padding: 12px;\n }\n \n .model-table .ant-table {\n font-size: 13px;\n }\n} ","/**\n * Copyright (c) 2014 The xterm.js authors. All rights reserved.\n * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)\n * https://github.com/chjj/term.js\n * @license MIT\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n *\n * Originally forked from (with the author's permission):\n * Fabrice Bellard's javascript vt100 for jslinux:\n * http://bellard.org/jslinux/\n * Copyright (c) 2011 Fabrice Bellard\n * The original design remains. The terminal itself\n * has been extended to include xterm CSI codes, among\n * other features.\n */\n\n/**\n * Default styles for xterm.js\n */\n\n.xterm {\n cursor: text;\n position: relative;\n user-select: none;\n -ms-user-select: none;\n -webkit-user-select: none;\n}\n\n.xterm.focus,\n.xterm:focus {\n outline: none;\n}\n\n.xterm .xterm-helpers {\n position: absolute;\n top: 0;\n /**\n * The z-index of the helpers must be higher than the canvases in order for\n * IMEs to appear on top.\n */\n z-index: 5;\n}\n\n.xterm .xterm-helper-textarea {\n padding: 0;\n border: 0;\n margin: 0;\n /* Move textarea out of the screen to the far left, so that the cursor is not visible */\n position: absolute;\n opacity: 0;\n left: -9999em;\n top: 0;\n width: 0;\n height: 0;\n z-index: -5;\n /** Prevent wrapping so the IME appears against the textarea at the correct position */\n white-space: nowrap;\n overflow: hidden;\n resize: none;\n}\n\n.xterm .composition-view {\n /* TODO: Composition position got messed up somewhere */\n background: #000;\n color: #FFF;\n display: none;\n position: absolute;\n white-space: nowrap;\n z-index: 1;\n}\n\n.xterm .composition-view.active {\n display: block;\n}\n\n.xterm .xterm-viewport {\n /* On OS X this is required in order for the scroll bar to appear fully opaque */\n background-color: #000;\n overflow-y: scroll;\n cursor: default;\n position: absolute;\n right: 0;\n left: 0;\n top: 0;\n bottom: 0;\n}\n\n.xterm .xterm-screen {\n position: relative;\n}\n\n.xterm .xterm-screen canvas {\n position: absolute;\n left: 0;\n top: 0;\n}\n\n.xterm .xterm-scroll-area {\n visibility: hidden;\n}\n\n.xterm-char-measure-element {\n display: inline-block;\n visibility: hidden;\n position: absolute;\n top: 0;\n left: -9999em;\n line-height: normal;\n}\n\n.xterm.enable-mouse-events {\n /* When mouse events are enabled (eg. tmux), revert to the standard pointer cursor */\n cursor: default;\n}\n\n.xterm.xterm-cursor-pointer,\n.xterm .xterm-cursor-pointer {\n cursor: pointer;\n}\n\n.xterm.column-select.focus {\n /* Column selection mode */\n cursor: crosshair;\n}\n\n.xterm .xterm-accessibility:not(.debug),\n.xterm .xterm-message {\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n right: 0;\n z-index: 10;\n color: transparent;\n pointer-events: none;\n}\n\n.xterm .xterm-accessibility-tree:not(.debug) *::selection {\n color: transparent;\n}\n\n.xterm .xterm-accessibility-tree {\n user-select: text;\n white-space: pre;\n}\n\n.xterm .live-region {\n position: absolute;\n left: -9999px;\n width: 1px;\n height: 1px;\n overflow: hidden;\n}\n\n.xterm-dim {\n /* Dim should not apply to background, so the opacity of the foreground color is applied\n * explicitly in the generated class and reset to 1 here */\n opacity: 1 !important;\n}\n\n.xterm-underline-1 { text-decoration: underline; }\n.xterm-underline-2 { text-decoration: double underline; }\n.xterm-underline-3 { text-decoration: wavy underline; }\n.xterm-underline-4 { text-decoration: dotted underline; }\n.xterm-underline-5 { text-decoration: dashed underline; }\n\n.xterm-overline {\n text-decoration: overline;\n}\n\n.xterm-overline.xterm-underline-1 { text-decoration: overline underline; }\n.xterm-overline.xterm-underline-2 { text-decoration: overline double underline; }\n.xterm-overline.xterm-underline-3 { text-decoration: overline wavy underline; }\n.xterm-overline.xterm-underline-4 { text-decoration: overline dotted underline; }\n.xterm-overline.xterm-underline-5 { text-decoration: overline dashed underline; }\n\n.xterm-strikethrough {\n text-decoration: line-through;\n}\n\n.xterm-screen .xterm-decoration-container .xterm-decoration {\n\tz-index: 6;\n\tposition: absolute;\n}\n\n.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer {\n\tz-index: 7;\n}\n\n.xterm-decoration-overview-ruler {\n z-index: 8;\n position: absolute;\n top: 0;\n right: 0;\n pointer-events: none;\n}\n\n.xterm-decoration-top {\n z-index: 2;\n position: relative;\n}\n",".split-container {\n display: flex;\n width: 100%;\n height: 100%;\n}\n\n.gutter {\n background-color: #4B5563;\n position: relative;\n}\n\n.gutter:hover {\n background-color: #6B7280;\n}\n\n.gutter.gutter-horizontal {\n cursor: col-resize;\n}\n\n.gutter::after {\n content: \"\";\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 4px;\n height: 20px;\n background-color: #9CA3AF;\n border-radius: 2px;\n}\n\n.gutter:hover::after {\n background-color: #F3F4F6;\n}\n\n/* Make sure panels take full height */\n.split-container > div {\n height: 100%;\n min-width: 0; /* Prevent flex items from growing beyond their container */\n overflow: hidden;\n}",".task-status-card {\n width: 100%;\n margin-bottom: 16px;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);\n background-color: #2d2d2d;\n border: 1px solid #374151;\n}\n\n.task-status-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 16px;\n}\n\n.task-status-loading {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 40px 0;\n gap: 16px;\n}\n\n.task-status-footer {\n display: flex;\n justify-content: flex-end;\n padding-top: 8px;\n}\n",".todo-container {\n background-color: transparent;\n}\n\n.todo-column {\n background-color: #1a1a1a;\n border: 1px solid #2d2d2d;\n transition: all 0.2s ease;\n min-height: 200px;\n transition: all 0.3s ease-in-out;\n position: relative;\n overflow: hidden;\n}\n\n.todo-column:hover {\n border-color: #3d3d3d;\n}\n\n.todo-column.is-dragging-over {\n border-color: #3b82f6;\n background: rgba(59, 130, 246, 0.1);\n transition: background 0.2s ease;\n}\n\n.todo-card {\n background-color: #2d2d2d;\n border: 1px solid #374151;\n transition: all 0.2s ease;\n cursor: move;\n user-select: none;\n}\n\n.todo-card:hover {\n background-color: #374151;\n transform: translateY(-1px);\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n}\n\n.todo-card.is-dragging {\n border-color: #3b82f6;\n box-shadow: 0 4px 8px rgba(59, 130, 246, 0.2);\n transform: scale(1.02);\n opacity: 0.8;\n}\n\n.todo-title {\n color: #e5e7eb;\n font-size: 14px;\n line-height: 1.4;\n}\n\n.todo-due-date {\n color: #9ca3af;\n font-size: 12px;\n margin-top: 4px;\n}\n\n.todo-tags {\n display: flex;\n gap: 4px;\n flex-wrap: wrap;\n}\n\n/* 适配Antd组件 */\n.ant-modal-title {\n color: #e5e7eb !important;\n}\n\n.ant-modal-close {\n color: #9ca3af !important;\n}\n\n.ant-modal-close:hover {\n color: #e5e7eb !important;\n}\n\n.custom-input {\n background-color: #1f2937 !important;\n border-color: #374151 !important;\n color: #e5e7eb !important;\n}\n\n.custom-input:hover,\n.custom-input:focus {\n border-color: #6366F1 !important;\n box-shadow: 0 0 0 2px rgba(99, 102, 241, 0.2) !important;\n}\n\n.custom-select .ant-select-selector {\n background-color: #1f2937 !important;\n border-color: #374151 !important;\n color: #e5e7eb !important;\n}\n\n.custom-select .ant-select-arrow {\n color: #9ca3af !important;\n}\n\n/* 添加自定义滚动条样式 */\n.custom-scrollbar::-webkit-scrollbar {\n width: 6px;\n}\n\n.custom-scrollbar::-webkit-scrollbar-track {\n background: #1e293b;\n}\n\n.custom-scrollbar::-webkit-scrollbar-thumb {\n background: #334155;\n border-radius: 3px;\n}\n\n.custom-scrollbar::-webkit-scrollbar-thumb:hover {\n background: #475569;\n}\n\n/* 为 Firefox 添加滚动条样式 */\n.custom-scrollbar {\n scrollbar-width: thin;\n scrollbar-color: #4B5563 #374151;\n}\n\n/* 添加动画效果 */\n@keyframes fadeIn {\n from {\n opacity: 0;\n transform: translateY(-10px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n.animate-fadeIn {\n animation: fadeIn 0.3s ease-in-out;\n}\n\n/* 加载效果 */\n.loading-spinner {\n display: inline-block;\n width: 30px;\n height: 30px;\n border: 3px solid rgba(59, 130, 246, 0.3);\n border-radius: 50%;\n border-top-color: #3b82f6;\n animation: spin 1s ease-in-out infinite;\n}\n\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n\n/* 自定义背景色,添加中间灰度值 */\n.bg-gray-750 {\n background-color: #222933;\n}\n\n/* 增强拆分结果视图样式 */\n.task-split-result-view {\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);\n animation: slideDown 0.3s ease-in-out;\n border-radius: 8px;\n overflow: hidden;\n}\n\n@keyframes slideDown {\n from {\n opacity: 0;\n transform: translateY(-10px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n.task-split-result-view .ant-typography {\n transition: color 0.3s ease;\n}\n\n.task-split-result-view .ant-collapse-item {\n margin-bottom: 8px;\n border-radius: 6px;\n overflow: hidden;\n}\n\n.task-split-result-view .ant-card {\n transition: all 0.3s ease;\n}\n\n.task-split-result-view .ant-card:hover {\n transform: translateY(-1px);\n box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);\n}\n\n.task-split-result-view .ant-divider {\n margin: 16px 0;\n}\n\n.task-split-result-view .ant-tag {\n transition: all 0.3s ease;\n}\n\n.task-split-result-view .ant-tag:hover {\n transform: scale(1.05);\n}\n\n/* 解决面板之间的边距问题 */\n.todo-board {\n gap: 1rem;\n}\n\n/* 当某个面板最大化时,添加轻微的缩放效果 */\n.todo-column.flex.w-full {\n animation: scaleUp 0.3s ease-in-out;\n}\n\n@keyframes scaleUp {\n from {\n transform: scale(0.98);\n }\n to {\n transform: scale(1);\n }\n}\n\n/* 当面板恢复到正常大小时添加动画 */\n.todo-column.flex-1 {\n animation: fadeIn 0.3s ease-in-out;\n}\n\n.todo-column.maximized {\n flex: 1 0 100%;\n}\n\n.todo-column .maximize-button {\n opacity: 0.7;\n transition: opacity 0.2s ease;\n}\n\n.todo-column:hover .maximize-button {\n opacity: 1;\n}\n\n.todo-column-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 0.75rem;\n}\n\n.todo-column-header h3 {\n margin: 0;\n font-weight: 500;\n}","/* Split 组件的自定义样式 */\n\n/* 垂直分割的容器 */\n.split-vertical {\n display: flex !important;\n flex-direction: column !important;\n height: 100% !important;\n width: 100% !important;\n}\n\n/* 垂直分隔条(gutter)的样式 */\n.split-vertical > .gutter {\n height: 5px !important;\n width: 100% !important; /* 确保宽度为100% */\n background-color: #4B5563; /* Tailwind 的 gray-600 */\n cursor: row-resize !important;\n margin: 0 !important;\n z-index: 10 !important;\n transition: background-color 0.2s;\n position: relative !important;\n left: 0 !important; /* 确保从左边开始 */\n right: 0 !important; /* 确保延伸到右边 */\n}\n\n.split-vertical > .gutter:hover,\n.split-vertical > .gutter.dragging {\n background-color: #3B82F6; /* Tailwind 的 blue-500 */\n}\n\n/* 添加一个小拖动手柄图标 */\n.split-vertical > .gutter::after {\n content: '';\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n width: 30px;\n height: 2px;\n background-color: rgba(255, 255, 255, 0.6);\n border-radius: 1px;\n box-shadow: 0 -2px 0 rgba(255, 255, 255, 0.6), 0 2px 0 rgba(255, 255, 255, 0.6);\n}\n\n/* 水平分割的容器 (如果需要) */\n.split-horizontal {\n display: flex !important;\n height: 100% !important;\n}\n\n/* 水平分隔条的样式 (如果需要) */\n.split-horizontal > .gutter {\n width: 5px !important;\n background-color: #4B5563;\n cursor: col-resize !important;\n margin: 0 !important;\n z-index: 10 !important;\n transition: background-color 0.2s;\n}\n\n.split-horizontal > .gutter:hover,\n.split-horizontal > .gutter.dragging {\n background-color: #3B82F6;\n} ","@tailwind base;\n@tailwind components;\n@tailwind utilities;\n\nhtml, body {\n @apply h-full m-0;\n background-color: #1a1a1a;\n}\n\n#root {\n @apply h-full;\n}\n\n/* 滚动条样式 */\n::-webkit-scrollbar {\n width: 4px;\n height: 4px;\n}\n\n::-webkit-scrollbar-track {\n background: #2d2d2d;\n}\n\n::-webkit-scrollbar-thumb {\n background: #888;\n border-radius: 4px;\n}\n\n::-webkit-scrollbar-thumb:hover {\n background: #555;\n}\n\n/* Select custom styles */\n.custom-select .ant-select-selector {\n background-color: #374151 !important;\n border-color: #4B5563 !important;\n color: white !important;\n height: 24px !important;\n padding: 0 6px !important;\n font-size: 12px !important;\n}\n\n.custom-select .ant-select-selection-placeholder {\n color: #9CA3AF !important;\n}\n\n.custom-select .ant-select-selection-item {\n background-color: #4B5563 !important;\n border-color: #6B7280 !important;\n color: white !important;\n}\n\n/* 添加特定样式以确保多选标签在暗色主题下可见 */\n.custom-select.ant-select-multiple .ant-select-selection-item {\n background-color: #4B5563 !important;\n border-color: #6B7280 !important;\n color: white !important;\n margin-top: 2px !important;\n margin-bottom: 2px !important;\n}\n\n/* 确保标签文本在Ant Design 4.x和5.x版本中都可见 */\n.custom-select .ant-select-selection-item-content,\n.custom-select .ant-select-selection-item-remove,\n.custom-select .ant-select-selection-item .anticon,\n.custom-select .ant-select-selection-item span {\n color: white !important;\n}\n\n/* 修复标签关闭按钮的样式 */\n.custom-select .ant-select-selection-item .ant-select-selection-item-remove {\n color: rgba(255, 255, 255, 0.65) !important;\n}\n\n.custom-select .ant-select-selection-item .ant-select-selection-item-remove:hover {\n color: white !important;\n}\n\n.custom-select .ant-select-dropdown {\n background-color: #374151 !important;\n border: 1px solid #4B5563 !important;\n}\n\n.custom-select .ant-select-item {\n color: white !important;\n}\n\n.custom-select .ant-select-item-option-active {\n background-color: #4B5563 !important;\n}\n\n.custom-select .ant-select-item-option-selected {\n background-color: #6B7280 !important;\n}\n\n.custom-select .ant-select-selection-search input {\n color: white !important;\n}\n\n.custom-select .ant-select-clear {\n background-color: transparent !important;\n color: #9CA3AF !important;\n}\n\n.custom-select .ant-select-arrow {\n color: #9CA3AF !important;\n}\n\n/* Dark theme modal styles */\n.dark-theme-modal .ant-modal-title {\n color: #e5e7eb !important;\n}\n\n.dark-theme-modal .ant-modal-close {\n color: #9CA3AF !important;\n}\n\n.dark-theme-modal .ant-modal-close:hover {\n color: #e5e7eb !important;\n}\n\n.dark-theme-list .ant-list-item {\n border-color: #374151 !important;\n}\n\n.dark-theme-list .ant-list-item:hover {\n background-color: #374151 !important;\n}\n\n.dark-theme-input {\n background-color: #1f2937 !important;\n border-color: #374151 !important;\n color: #e5e7eb !important;\n}\n\n.dark-theme-input::placeholder {\n color: #9CA3AF !important;\n}\n\n.dark-theme-input:hover,\n.dark-theme-input:focus {\n border-color: #6366F1 !important;\n box-shadow: 0 0 0 2px rgba(99, 102, 241, 0.2) !important;\n}\n\n/* Split pane styles */\n.split {\n display: flex;\n flex-direction: row;\n}\n\n.gutter {\n background-color: #4B5563;\n cursor: col-resize;\n width: 2px !important;\n}\n\n.gutter:hover {\n background-color: #6B7280;\n}\n\n/* Custom input styles for dark mode */\n.custom-input {\n background-color: #1F2937 !important;\n border-color: #4B5563 !important;\n color: #E5E7EB !important;\n}\n\n.custom-input::placeholder {\n color: #9CA3AF !important;\n opacity: 1 !important;\n}\n\n.custom-input:hover,\n.custom-input:focus {\n border-color: #6366F1 !important;\n box-shadow: 0 0 0 2px rgba(99, 102, 241, 0.2) !important;\n}\n\n.custom-input input {\n background-color: transparent !important;\n color: #E5E7EB !important;\n}\n\n.custom-input .anticon {\n color: #9CA3AF !important;\n}\n\n/* Dark mode table styles */\n.dark-mode-table {\n background-color: transparent !important;\n}\n\n.dark-mode-table .ant-table {\n background-color: transparent !important;\n}\n\n.dark-mode-table .ant-table-thead > tr > th {\n background-color: #374151 !important;\n color: #ffffff !important;\n border-bottom: 1px solid #4B5563 !important;\n}\n\n.dark-mode-table .ant-table-tbody > tr > td {\n border-bottom: 1px solid #4B5563 !important;\n color: #ffffff !important;\n}\n\n.dark-mode-table .ant-table-tbody > tr:hover > td {\n background-color: #4B5563 !important;\n}\n\n.dark-mode-table .ant-table-row-expand-icon {\n background-color: #4B5563 !important;\n border-color: #6B7280 !important;\n color: #ffffff !important;\n}\n\n.dark-mode-table .nested-table {\n margin: 0 !important;\n padding: 0 !important;\n}\n\n.dark-mode-table .nested-table .ant-table-tbody > tr > td {\n background-color: #1F2937 !important;\n}\n\n.dark-mode-table .nested-table .ant-table-tbody > tr:hover > td {\n background-color: #374151 !important;\n}\n\n/* 为Ant Design 5.x添加额外兼容样式 */\n.custom-select .ant-select-selection-overflow-item .ant-select-selection-item {\n background-color: #4B5563 !important;\n border-color: #6B7280 !important;\n color: white !important;\n}\n\n.custom-select .ant-select-selection-overflow-item .ant-select-selection-item-content {\n color: white !important;\n}\n\n.custom-select .ant-select-selection-overflow-item .ant-select-selection-item-remove {\n color: rgba(255, 255, 255, 0.65) !important;\n}\n\n.custom-select .ant-select-selection-overflow-item .ant-select-selection-item-remove:hover {\n color: white !important;\n}\n\n/* 下拉菜单深色主题样式 */\n.dark-dropdown-menu {\n background-color: #1f2937 !important;\n border: 1px solid #374151 !important;\n color: #e5e7eb !important;\n}\n\n.dark-dropdown-menu .ant-select-item {\n color: #e5e7eb !important;\n background-color: #1f2937 !important;\n}\n\n.dark-dropdown-menu .ant-select-item-option-active {\n background-color: #374151 !important;\n}\n\n.dark-dropdown-menu .ant-select-item-option-selected {\n background-color: #3b82f6 !important;\n color: white !important;\n}\n\n.dark-dropdown-menu .ant-select-item-empty {\n color: #9ca3af !important;\n}\n\n.dark-dropdown-menu .ant-select-item-group {\n color: #9ca3af !important;\n font-weight: bold;\n padding: 8px 12px;\n}\n\n/* 文件选项样式 */\n.file-option {\n transition: background-color 0.2s;\n}\n\n.dark-dropdown-menu .file-option {\n background-color: transparent !important;\n}\n\n.dark-dropdown-menu .file-option:hover {\n background-color: #374151 !important;\n}\n\n/* ================ 全局 Ant Design 暗色主题样式 ================ */\n\n/* 暗色主题表格样式 */\n.dark-table.ant-table-wrapper {\n background-color: #1e1e1e;\n color: #e0e0e0;\n border-radius: 6px;\n}\n\n.dark-table .ant-table {\n background-color: #1e1e1e !important;\n color: #e0e0e0 !important;\n}\n\n.dark-table .ant-table-container {\n background-color: #1e1e1e !important;\n border-radius: 6px;\n}\n\n.dark-table .ant-table-thead > tr > th {\n background-color: #2c2c2c !important;\n color: #e0e0e0 !important;\n border-bottom: 1px solid #383838 !important;\n}\n\n.dark-table .ant-table-tbody > tr > td {\n background-color: #1e1e1e !important;\n border-bottom: 1px solid #383838 !important;\n color: #e0e0e0 !important;\n}\n\n.dark-table .ant-table-tbody > tr.ant-table-row:hover > td {\n background-color: #2c2c2c !important;\n}\n\n/* 表格空状态 */\n.dark-table .ant-empty {\n color: #a0a0a0 !important;\n}\n\n.dark-table .ant-empty-image svg {\n fill: #333333 !important;\n}\n\n.dark-table .ant-empty-description {\n color: #a0a0a0 !important;\n}\n\n.dark-table .ant-empty-footer {\n color: #a0a0a0 !important;\n}\n\n/* 修复空表格状态下的颜色 */\n.model-table .ant-table-placeholder .ant-table-cell {\n background-color: #1e1e1e !important;\n color: #a0a0a0 !important;\n border-bottom: none !important;\n}\n\n.model-table .ant-empty-normal .ant-empty-image {\n height: 40px;\n margin-bottom: 8px;\n}\n\n/* 确保分页组件也使用暗色主题 */\n.dark-table .ant-pagination {\n background-color: transparent !important;\n color: #e0e0e0 !important;\n}\n\n.dark-table .ant-pagination-item {\n background-color: #2c2c2c !important;\n border-color: #383838 !important;\n}\n\n.dark-table .ant-pagination-item a {\n color: #e0e0e0 !important;\n}\n\n.dark-table .ant-pagination-item-active {\n background-color: #177ddc !important;\n border-color: #177ddc !important;\n}\n\n.dark-table .ant-pagination-item-active a {\n color: white !important;\n}\n\n.dark-table .ant-pagination-prev button,\n.dark-table .ant-pagination-next button {\n color: #e0e0e0 !important;\n background-color: #2c2c2c !important;\n border-color: #383838 !important;\n}\n\n/* 暗色主题模态框样式 */\n.dark-modal .ant-modal-content {\n background-color: #1e1e1e;\n color: #e0e0e0;\n border-radius: 6px;\n box-shadow: 0 6px 16px -8px rgba(0, 0, 0, 0.6);\n}\n\n.dark-modal .ant-modal-header {\n background-color: #1e1e1e;\n border-bottom: 1px solid #383838;\n border-radius: 6px 6px 0 0;\n}\n\n.dark-modal .ant-modal-title {\n color: #e0e0e0;\n}\n\n.dark-modal .ant-modal-close {\n color: #a0a0a0;\n}\n\n.dark-modal .ant-modal-footer {\n border-top: 1px solid #383838;\n}\n\n/* 暗色主题表单样式 */\n.dark-form .ant-form-item-label > label {\n color: #e0e0e0;\n}\n\n.dark-input {\n background-color: #2c2c2c;\n border-color: #434343;\n color: #e0e0e0;\n}\n\n.dark-input:hover, .dark-input:focus {\n border-color: #177ddc;\n}\n\n.dark-input::placeholder {\n color: #6c6c6c;\n}\n\n.dark-input[disabled] {\n background-color: #3a3a3a;\n color: #a0a0a0;\n}\n\n/* 暗色主题选择器样式 */\n.dark-select .ant-select-selector {\n background-color: #2c2c2c !important;\n border-color: #434343 !important;\n color: #e0e0e0 !important;\n}\n\n.dark-select.ant-select-disabled .ant-select-selector {\n background-color: #3a3a3a !important;\n color: #a0a0a0 !important;\n}\n\n.dark-select .ant-select-arrow {\n color: #a0a0a0 !important;\n}\n\n/* 黑暗主题下拉菜单 - 全局覆盖 */\n.ant-select-dropdown {\n background-color: #1e1e1e !important;\n border: 1px solid #383838 !important;\n}\n\n.ant-select-item {\n color: #e0e0e0 !important;\n}\n\n.ant-select-item-option-selected {\n background-color: #111b26 !important;\n}\n\n.ant-select-item-option-active {\n background-color: #2a2a2a !important;\n}\n\n/* 暗色主题按钮样式 */\n.dark-button.ant-btn {\n border-color: #434343;\n background-color: #2c2c2c;\n color: #e0e0e0;\n}\n\n.dark-button.ant-btn:hover {\n border-color: #177ddc;\n color: #177ddc;\n}\n\n.dark-button.ant-btn-primary {\n background-color: #177ddc;\n border-color: #177ddc;\n color: #ffffff;\n}\n\n.dark-button.ant-btn-primary:hover {\n background-color: #1884e0;\n border-color: #1884e0;\n}\n\n.dark-button.ant-btn-dangerous {\n color: #ff4d4f;\n border-color: #ff4d4f;\n}\n\n.dark-button.ant-btn-dangerous:hover {\n background-color: #2c2c2c;\n color: #ff7875;\n border-color: #ff7875;\n}\n\n/* 暗色主题开关样式 */\n.dark-switch.ant-switch {\n background-color: #434343;\n}\n\n.dark-switch.ant-switch-checked {\n background-color: #177ddc;\n}\n\n/* 暗色主题确认框 */\n.dark-popconfirm .ant-popover-inner {\n background-color: #1e1e1e;\n border: 1px solid #383838;\n}\n\n.dark-popconfirm .ant-popover-title,\n.dark-popconfirm .ant-popover-inner-content {\n color: #e0e0e0;\n}\n\n.dark-popconfirm .ant-popover-arrow-content {\n background-color: #1e1e1e;\n}\n\n/* 设置面板的选项卡样式 */\n.settings-tabs .ant-tabs-nav {\n margin-bottom: 16px !important;\n background-color: #111827 !important;\n border-bottom: 1px solid #1e293b !important;\n}\n\n.settings-tabs .ant-tabs-tab {\n color: #a0a0a0 !important;\n padding: 8px 16px !important;\n}\n\n.settings-tabs .ant-tabs-tab:hover {\n color: #3b82f6 !important;\n}\n\n.settings-tabs .ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn {\n color: #3b82f6 !important;\n font-weight: 500 !important;\n}\n\n.settings-tabs .ant-tabs-ink-bar {\n background-color: #3b82f6 !important;\n}\n\n.settings-tabs .ant-tabs-content {\n background-color: transparent !important;\n}\n"],"names":[],"sourceRoot":""}
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|