Last active
October 22, 2025 07:45
-
-
Save talentestors/8b3ef78c6b5539d6d304d2be6b7e6da7 to your computer and use it in GitHub Desktop.
Cherry Studio Theme
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /* MaterialYou主题 CSS */ | |
| :root { | |
| /* MaterialYou基础尺寸 */ | |
| --material-line-width: 0.3px; | |
| --container-border-radius: 15px; | |
| --list-item-border-radius: 8px; | |
| /* 过渡时间 */ | |
| --duration-fast: 0.2s; | |
| --duration-normal: 0.3s; | |
| --easing-ease: ease; | |
| /* Material You/Nord 配色(深色模式默认) */ | |
| --color-material-accent: #88c0d0; | |
| --color-material-accent-bright: #8fbcbb; | |
| --color-material-accent-purple: #b48ead; | |
| --color-material-accent-rgb: 136, 192, 208; | |
| --color-material-accent-purple-rgb: 180, 142, 173; | |
| /* 线条 */ | |
| --color-material-line: rgba(var(--color-material-accent-rgb), 0.7); | |
| --color-material-line-dim: rgba(var(--color-material-accent-rgb), 0.3); | |
| /* 背景颜色 (增加壁纸可见度) */ | |
| --color-background: transparent; | |
| --color-background-soft: rgba(59, 66, 82, 0.7); | |
| --color-background-mute: rgba(67, 76, 94, 0.75); | |
| --navbar-background: transparent; | |
| --chat-background: transparent; | |
| --chat-background-user: rgba(46, 52, 64, 0.7); | |
| --chat-background-assistant: rgba(46, 52, 64, 0.7); | |
| --chat-customize-collapse-background: rgba(46, 52, 64, 0.6); | |
| --color-background-opacity: rgba(46, 52, 64, 0.7); | |
| --color-background-rgb: 46, 52, 64; | |
| --antd-arrow-background-color: rgba(67, 76, 94, 0.8); | |
| /* 文本颜色 */ | |
| --chat-text-user: #e5e9f0; | |
| --color-text-1: rgb(197, 232, 246); | |
| --color-text-2: #d8dee9; | |
| --chat-customize-codeHeader: #d8dee9; | |
| --color-black: #2e3440; | |
| --color-white: #eceff4; | |
| /* 阴影颜色 */ | |
| --chat-customize-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06), | |
| 0 1px 2px rgba(0, 0, 0, 0.1); | |
| --chat-customize-box-shadow2: none; | |
| --chat-customize-box-shadow3: inset 0 1px 2px rgba(0, 0, 0, 0.1); | |
| --chat-customize-box-shadow4: inset 0 0 0 1px | |
| rgba(var(--color-material-accent-rgb), 0.3); | |
| /* 其他变量 */ | |
| --color-black-rgb: 46, 52, 64; | |
| --color-white-rgb: 236, 239, 244; | |
| } | |
| body { | |
| letter-spacing: 0.03em; | |
| line-height: 1.4; | |
| } | |
| /* --- 字体栈 --- */ | |
| /* UI 字体 */ | |
| .ant-modal-content, | |
| .ant-popover-inner, | |
| div[class^="InputContainer-"], | |
| div[class^="OutputContainer-"], | |
| div[class^="HistoryContainner-"], | |
| .ant-notification-notice, | |
| .ant-message-notice-content, | |
| .ant-drawer-content, | |
| .ant-collapse-content-box, | |
| .ant-modal-body .ant-input-affix-wrapper input, | |
| .ant-segmented-group .ant-segmented-item-label, | |
| .ant-btn, | |
| .ant-dropdown-trigger, | |
| .ant-modal-header .ant-modal-title, | |
| .ant-collapse-header, | |
| li[class^="MenuItem-"], | |
| #content-container [class^="ListItemContainer-"], | |
| div[class^="SettingGroup-"] label, | |
| .ant-tooltip-inner, | |
| .markdown th, | |
| .ant-table-thead > tr > th, | |
| .markdown pre [class^="CodeHeader-"] { | |
| font-weight: 600 !important; | |
| letter-spacing: inherit; | |
| line-height: inherit; | |
| } | |
| /* Markdown 标题字体 */ | |
| .markdown h1, | |
| .markdown h2, | |
| .markdown h3, | |
| .markdown h4, | |
| .markdown h5, | |
| .markdown h6 { | |
| font-weight: 700 !important; | |
| letter-spacing: 0.08em; | |
| }*/ | |
| /* 阅读区域字体 */ | |
| .bubble .message-content-container, | |
| .inputbar-container textarea, | |
| .ant-modal .ant-modal-body, | |
| .ant-table-tbody > tr > td, | |
| .markdown blockquote, | |
| .markdown table, | |
| .markdown p, | |
| .markdown li, | |
| .markdown strong, | |
| .markdown b, | |
| .markdown em, | |
| .markdown i { | |
| letter-spacing: 0.03em !important; | |
| line-height: 1.4 !important; | |
| }*/ | |
| /* --- 主题模式 --- */ | |
| body[theme-mode="dark"] { | |
| background-image: url("https://w.wallhaven.cc/full/j8/wallhaven-j831k5.png"); | |
| background-size: cover; | |
| background-position: center center; | |
| background-repeat: no-repeat; | |
| background-attachment: fixed; | |
| } | |
| body[theme-mode="light"] { | |
| /* Material You/Nord 配色(浅色模式) */ | |
| --color-material-accent: #7bbdffe0; | |
| --color-material-accent-bright: #5e81ac; | |
| --color-material-accent-purple: #b48ead; | |
| --color-material-accent-rgb: 129, 161, 193; | |
| --color-material-accent-purple-rgb: 180, 142, 173; | |
| /* 线条 */ | |
| --color-material-line: rgba(var(--color-material-accent-rgb), 0.3); | |
| --color-material-line-dim: rgba(var(--color-material-accent-rgb), 0.1); | |
| /* 背景颜色 (增加壁纸可见度) */ | |
| --color-background: transparent; | |
| --color-background-soft: rgba(236, 239, 244, 0.6); | |
| --color-background-mute: rgba(229, 233, 240, 0.6); | |
| --navbar-background: transparent; | |
| --chat-background: transparent; | |
| --chat-background-user: rgba(245, 248, 251, 0.7); | |
| --chat-background-assistant: rgba(245, 248, 251, 0.7); | |
| --chat-customize-collapse-background: rgba(236, 239, 244, 0.85); | |
| --color-background-opacity: rgba(245, 248, 251, 0.65); | |
| --color-background-rgb: 245, 248, 251; | |
| --antd-arrow-background-color: rgba(229, 233, 240, 0.85); | |
| /* 文本颜色 */ | |
| --chat-text-user: #4c566a; | |
| --color-text-1: #2e3440; | |
| --color-text-2: #4c566a; | |
| --chat-customize-codeHeader: #4c566a; | |
| --color-white: #ffffff; | |
| --color-black: #2E340; | |
| /* 其他变量 */ | |
| --color-black-rgb: 46, 52, 64; | |
| --color-white-rgb: 255, 255, 255; | |
| background-image: url("https://gcore.jsdelivr.net/gh/talentestors/cdn@latest/images/illust_132800.webp"); | |
| background-size: cover; | |
| background-position: center center; | |
| background-repeat: no-repeat; | |
| background-attachment: fixed; | |
| /* 浅色模式覆盖 */ | |
| .inputbar-container .ant-btn:hover { | |
| background-color: rgba(var(--color-material-accent-rgb), 0.15) !important; | |
| border-color: var(--color-material-line) !important; | |
| } | |
| .markdown pre [class^="CodeBlockWrapper-"], | |
| .markdown table { | |
| border-color: var(--color-material-line) !important; | |
| } | |
| .markdown pre [class^="CodeHeader-"] { | |
| background-color: rgba(var(--color-white-rgb), 0.95) !important; | |
| background-image: none !important; | |
| color: var(--color-text-2); | |
| } | |
| .markdown pre [class^="CodeHeader-"]::after { | |
| background: linear-gradient(90deg, transparent, var(--color-material-line)); | |
| opacity: 0.8; | |
| z-index: 1; | |
| } | |
| } | |
| /* == 全局组件样式 == */ | |
| .bubble:not(.multi-select-mode) .message-assistant .message-content-container { | |
| padding-left: 5px; | |
| } | |
| /* 通用容器 */ | |
| .inputbar-container, | |
| .ant-popover-inner, | |
| div[class^="InputContainer-"], | |
| div[class^="OutputContainer-"], | |
| div[class^="HistoryContainner-"], | |
| .ant-notification-notice, | |
| .ant-message-notice-content, | |
| .ant-drawer-content, | |
| .ant-modal .ant-modal-content, | |
| div[class^="AgentCardContainer-"], | |
| .ant-table-wrapper, | |
| .ant-collapse-item { | |
| border-radius: var(--container-border-radius) !important; | |
| box-shadow: var(--chat-customize-box-shadow); | |
| background: var(--color-background-opacity) !important; | |
| border: var(--material-line-width) solid var(--color-material-line-dim); | |
| overflow: hidden; | |
| position: relative; | |
| transition: background-color var(--duration-normal) var(--easing-ease), | |
| box-shadow var(--duration-normal) var(--easing-ease), | |
| border-color var(--duration-normal) var(--easing-ease), | |
| color var(--duration-normal) var(--easing-ease); | |
| } | |
| /* 输入框区域 */ | |
| .inputbar-container textarea { | |
| resize: none; | |
| color: var(--color-text-1) !important; | |
| background-color: transparent !important; | |
| } | |
| .inputbar-container textarea:focus { | |
| border: none !important; | |
| box-shadow: none !important; | |
| } | |
| /* 输入栏按钮 */ | |
| .inputbar-container .ant-btn { | |
| color: var(--color-text-1) !important; | |
| background-color: rgba(var(--color-black-rgb), 0.08) !important; | |
| border-color: var(--color-material-line-dim) !important; | |
| box-shadow: none !important; | |
| position: relative; | |
| overflow: hidden; | |
| border-width: var(--material-line-width) !important; | |
| border-radius: var(--list-item-border-radius) !important; | |
| transition: background-color var(--duration-fast) var(--easing-ease), | |
| border-color var(--duration-fast) var(--easing-ease), | |
| color var(--duration-fast) var(--easing-ease); | |
| } | |
| .inputbar-container .ant-btn .anticon, | |
| .inputbar-container .ant-btn .iconfont { | |
| color: var(--color-text-1) !important; | |
| transition: color var(--duration-fast) var(--easing-ease); | |
| } | |
| /* 按钮 Hover */ | |
| .inputbar-container .ant-btn:hover { | |
| background-color: rgba(var(--color-white-rgb), 0.12) !important; | |
| border-color: var(--color-material-accent) !important; | |
| color: var(--color-material-accent) !important; | |
| } | |
| .inputbar-container .ant-btn:hover .anticon, | |
| .inputbar-container .ant-btn:hover .iconfont { | |
| color: var(--color-material-accent) !important; | |
| } | |
| /* Dropdown Trigger */ | |
| .ant-dropdown-trigger { | |
| background-color: transparent !important; | |
| border: transparent !important; | |
| box-shadow: none; | |
| position: relative; | |
| color: var(--color-text-2); | |
| transition: color var(--duration-fast) var(--easing-ease); | |
| } | |
| .ant-dropdown-trigger:hover { | |
| color: var(--color-text-1); | |
| } | |
| .ant-dropdown-trigger.active { | |
| color: var(--color-material-accent-bright) !important; | |
| } | |
| .active .menu { | |
| background-color: transparent !important; | |
| border-radius: var(--list-item-border-radius); | |
| } | |
| /* 消息气泡容器 */ | |
| .bubble .message-content-container { | |
| border-radius: var(--container-border-radius) !important; | |
| box-shadow: var(--chat-customize-box-shadow); | |
| background-color: var(--chat-background-assistant) !important; | |
| position: relative; | |
| overflow: hidden; | |
| transition: background-color var(--duration-normal) var(--easing-ease), | |
| box-shadow var(--duration-normal) var(--easing-ease); | |
| } | |
| /* 气泡容器 ::before 边框 */ | |
| .bubble .message-content-container::before { | |
| content: ""; | |
| position: absolute; | |
| inset: 0; | |
| border: var(--material-line-width) solid var(--color-material-line-dim); | |
| border-radius: var(--container-border-radius) !important; | |
| pointer-events: none; | |
| } | |
| /* 气泡底部渐变线 */ | |
| .bubble .message-content-container::after { | |
| content: ""; | |
| position: absolute; | |
| bottom: 0; | |
| right: 0; | |
| width: 20%; | |
| height: 1px; | |
| background: linear-gradient(90deg, transparent, var(--color-material-accent)); | |
| opacity: 0.8; | |
| z-index: 2; | |
| transition: background var(--duration-normal) var(--easing-ease); | |
| } | |
| /* 模态框特定样式 */ | |
| .ant-modal .ant-modal-content { | |
| border: 1px solid var(--color-material-accent); | |
| color: var(--color-text-1); | |
| } | |
| .ant-modal .ant-modal-content::before, | |
| .ant-modal .ant-modal-content::after { | |
| content: none !important; | |
| display: none; | |
| } | |
| .ant-modal-header { | |
| background-color: transparent !important; | |
| border-bottom: 1px solid var(--color-material-accent); | |
| border-radius: var(--container-border-radius) var(--container-border-radius) 0 | |
| 0 !important; | |
| padding: 16px 24px; | |
| color: var(--color-text-1) !important; | |
| position: relative; | |
| transition: border-color var(--duration-normal) var(--easing-ease); | |
| } | |
| .ant-modal-title { | |
| color: var(--color-text-1) !important; | |
| } | |
| /* 模态框头部渐变线 */ | |
| .ant-modal-header::after { | |
| content: ""; | |
| position: absolute; | |
| bottom: -1px; | |
| right: 0; | |
| width: 25%; | |
| height: 1px; | |
| background: linear-gradient(90deg, transparent, var(--color-material-accent)); | |
| opacity: 0.6; | |
| z-index: 1; | |
| transition: background var(--duration-normal) var(--easing-ease); | |
| } | |
| /* Agent/卡片信息 */ | |
| div[class^="AgentCardContainer-"] div[class^="CardInfo-"], | |
| .ant-modal-confirm-content div[class^="AgentPrompt-"] { | |
| background: var(--chat-customize-collapse-background) !important; | |
| box-shadow: var(--chat-customize-box-shadow3) !important; | |
| color: var(--color-text-1); | |
| border-radius: var(--list-item-border-radius) !important; | |
| transition: background-color var(--duration-normal) var(--easing-ease), | |
| box-shadow var(--duration-normal) var(--easing-ease); | |
| } | |
| /* 为 CardInfo 添加边框 */ | |
| div[class^="AgentCardContainer-"] div[class^="CardInfo-"] { | |
| border: var(--material-line-width) solid var(--color-material-line-dim); | |
| } | |
| /* --- 菜单项 / 列表项 / 分段选择标签 --- */ | |
| li[class^="MenuItem-"], | |
| #content-container [class^="ListItemContainer-"], | |
| .ant-segmented-group .ant-segmented-item-label { | |
| border: 0 !important; | |
| box-sizing: border-box; | |
| border-radius: var(--list-item-border-radius) !important; | |
| color: var(--color-text-2); | |
| position: relative; | |
| background-color: transparent !important; | |
| transition: background-color var(--duration-fast) var(--easing-ease), | |
| color var(--duration-fast) var(--easing-ease), | |
| box-shadow var(--duration-fast) var(--easing-ease), | |
| border-left-color var(--duration-fast) var(--easing-ease); | |
| } | |
| /* Active 状态 */ | |
| li[class^="MenuItem-"].active, | |
| #content-container [class^="ListItemContainer-"].active, | |
| .ant-segmented-group .ant-segmented-item-label[aria-selected="true"] { | |
| box-shadow: var(--chat-customize-box-shadow4) !important; | |
| background: var(--color-background-soft) !important; | |
| color: var(--color-text-1); | |
| border-left: 2px solid var(--color-material-accent) !important; | |
| } | |
| /* Hover 状态 */ | |
| li[class^="MenuItem-"]:hover, | |
| #content-container [class^="ListItemContainer-"]:hover, | |
| .ant-segmented-group | |
| .ant-segmented-item-label:not([aria-selected="true"]):hover { | |
| background-color: rgba(var(--color-black-rgb), 0.1) !important; | |
| color: var(--color-text-1); | |
| } | |
| /* 侧边栏图标 */ | |
| #app-sidebar [class^="Icon-"] { | |
| transition: box-shadow var(--duration-fast) var(--easing-ease), | |
| background var(--duration-fast) var(--easing-ease), | |
| border var(--duration-fast) var(--easing-ease), | |
| color var(--duration-fast) var(--easing-ease); | |
| } | |
| #app-sidebar [class^="Icon-"].active { | |
| box-shadow: var(--chat-customize-box-shadow3) !important; | |
| background: transparent !important; | |
| border: none !important; | |
| color: var(--color-material-accent-bright) !important; | |
| position: relative; | |
| } | |
| /* --- 设置分组 / 分段选择器 容器 --- */ | |
| div[class^="SettingGroup-"] .ant-segmented, | |
| div[class^="SettingContainer-"] div[class^="SettingGroup-"], | |
| .ant-segmented.ant-segmented-shape-round { | |
| border-radius: var(--container-border-radius) !important; | |
| background-color: var(--color-background-opacity) !important; | |
| box-shadow: var(--chat-customize-box-shadow) !important; | |
| border: var(--material-line-width) solid var(--color-material-line-dim); | |
| transition: background-color var(--duration-normal) var(--easing-ease), | |
| box-shadow var(--duration-normal) var(--easing-ease), | |
| border-color var(--duration-normal) var(--easing-ease); | |
| } | |
| .ant-segmented-thumb, | |
| label.ant-segmented-item.ant-segmented-item-selected { | |
| background-color: transparent !important; | |
| border: transparent !important; | |
| } | |
| .ant-segmented-thumb-motion-appear-active { | |
| display: none !important; | |
| } | |
| /* 折叠面板 */ | |
| .ant-collapse-item { | |
| margin-bottom: 1rem; | |
| } | |
| .ant-collapse-header { | |
| background-color: var(--color-background-soft) !important; | |
| border-radius: 0 !important; | |
| border-bottom: none; | |
| color: var(--color-text-1); | |
| position: relative; | |
| padding: 16px; | |
| transition: background-color var(--duration-normal) var(--easing-ease), | |
| color var(--duration-normal) var(--easing-ease); | |
| } | |
| .ant-collapse-content { | |
| background-color: transparent !important; | |
| border-radius: 0 !important; | |
| } | |
| .ant-collapse-content-box { | |
| background-color: rgba(var(--color-background-rgb), 0.1) !important; | |
| border-radius: 0 !important; | |
| padding: 16px; | |
| color: var(--color-text-1); | |
| transition: background-color var(--duration-normal) var(--easing-ease), | |
| color var(--duration-normal) var(--easing-ease); | |
| } | |
| .ant-collapse, | |
| .ant-collapse-borderless { | |
| border: none !important; | |
| background: transparent !important; | |
| } | |
| /* 输入框(模态框内) */ | |
| div[class^="EditorWrapper-"], | |
| .ant-modal-body .ant-input-affix-wrapper { | |
| background-color: var(--color-background-mute) !important; | |
| box-shadow: var(--chat-customize-box-shadow4) !important; | |
| border-radius: var(--list-item-border-radius) !important; | |
| position: relative; | |
| overflow: hidden; | |
| border: var(--material-line-width) solid var(--color-material-line-dim); | |
| transition: background-color var(--duration-fast) var(--easing-ease), | |
| box-shadow var(--duration-fast) var(--easing-ease), | |
| border-color var(--duration-fast) var(--easing-ease); | |
| } | |
| #content-container div[class^="EditorWrapper-"] { | |
| border-radius: 0 !important; | |
| } | |
| .ant-modal-body .ant-input-affix-wrapper input { | |
| background: transparent !important; | |
| color: var(--color-text-1) !important; | |
| } | |
| .ant-modal-body .ant-input-affix-wrapper-focused { | |
| background-color: var(--color-background-mute) !important; | |
| box-shadow: var(--chat-customize-box-shadow4), | |
| 0 0 0 2px rgba(var(--color-material-accent-rgb), 0.3) !important; | |
| border-color: var(--color-material-accent) !important; | |
| } | |
| div[class^="SearchIcon-"] { | |
| background-color: transparent !important; | |
| color: var(--color-text-2); | |
| } | |
| /* --- Markdown 内容 --- */ | |
| .markdown { | |
| color: var(--color-text-1); | |
| } | |
| /* Markdown 标题颜色 */ | |
| .markdown h1 { | |
| font-size: 2em; | |
| border-bottom: 2px solid var(--color-material-accent); | |
| padding-bottom: 0.3em; | |
| margin-bottom: 1em; | |
| margin-top: 1.5em; | |
| position: relative; | |
| color: var(--color-material-accent) !important; | |
| transition: border-bottom-color var(--duration-normal) var(--easing-ease), | |
| color var(--duration-normal) var(--easing-ease); | |
| } | |
| /* H1 底部渐变线 */ | |
| .markdown h1::after { | |
| content: ""; | |
| position: absolute; | |
| right: 0; | |
| bottom: -2px; | |
| width: 30%; | |
| height: 2px; | |
| background: linear-gradient(90deg, transparent, var(--color-material-accent)); | |
| transition: background var(--duration-normal) var(--easing-ease); | |
| } | |
| .markdown h2 { | |
| font-size: 1.5em; | |
| border-left: 4px solid var(--color-material-accent-bright); | |
| padding-left: 1rem; | |
| margin-bottom: 1em; | |
| margin-top: 1.5em; | |
| position: relative; | |
| color: var(--color-material-accent-bright) !important; | |
| transition: border-left-color var(--duration-normal) var(--easing-ease), | |
| color var(--duration-normal) var(--easing-ease); | |
| } | |
| .markdown h3 { | |
| font-size: 1.2em; | |
| margin-bottom: 1em; | |
| margin-top: 1.5em; | |
| color: var(--color-material-accent-purple) !important; | |
| display: inline-block; | |
| background-color: rgba(var(--color-material-accent-purple-rgb), 0.08); | |
| padding: 0.1em 0.4em; | |
| border-radius: 4px; | |
| line-height: 1.5; | |
| box-decoration-break: clone; | |
| -webkit-box-decoration-break: clone; | |
| transition: background-color var(--duration-fast) var(--easing-ease), | |
| color var(--duration-fast) var(--easing-ease); | |
| } | |
| /* H4, H5, H6 */ | |
| .markdown h4, | |
| .markdown h5, | |
| .markdown h6 { | |
| color: var(--color-text-1) !important; | |
| letter-spacing: 0.08em; | |
| margin-bottom: 1em; | |
| margin-top: 1.5em; | |
| position: relative; | |
| transition: color var(--duration-normal) var(--easing-ease); | |
| } | |
| .markdown h4 { | |
| font-size: 1.1em; | |
| } | |
| .markdown h5 { | |
| font-size: 1em; | |
| } | |
| .markdown h6 { | |
| font-size: 0.9em; | |
| } | |
| /* Markdown 引用块 */ | |
| .markdown blockquote { | |
| padding: 1rem 1.5rem; | |
| margin: 1.5rem 0; | |
| background-color: rgba(var(--color-material-accent-purple-rgb), 0.12); | |
| font-style: italic; | |
| color: var(--color-text-2); | |
| position: relative; | |
| border: 1px solid var(--color-material-accent-purple); | |
| border-left: 4px solid var(--color-material-accent-purple); | |
| border-radius: var(--container-border-radius) !important; | |
| box-shadow: var(--chat-customize-box-shadow); | |
| overflow: hidden; | |
| transition: background-color var(--duration-normal) var(--easing-ease), | |
| border-color var(--duration-normal) var(--easing-ease), | |
| box-shadow var(--duration-normal) var(--easing-ease); | |
| } | |
| /* Markdown 粗体/斜体 */ | |
| .markdown strong, | |
| .markdown b { | |
| font-weight: bold !important; | |
| color: var(--color-text-1); | |
| background-color: rgba(var(--color-material-accent-rgb), 0.08); | |
| padding: 0.1em 0.4em; | |
| margin: 0 0.1em; | |
| border-radius: 4px; | |
| line-height: 1.5; | |
| box-decoration-break: clone; | |
| -webkit-box-decoration-break: clone; | |
| } | |
| .markdown em, | |
| .markdown i { | |
| font-style: italic; | |
| color: var(--color-text-2); | |
| background-color: rgba(var(--color-material-accent-purple-rgb), 0.06); | |
| padding: 0.1em 0.4em; | |
| margin: 0 0.1em; | |
| border-radius: 4px; | |
| border: 1px solid rgba(var(--color-material-accent-purple-rgb), 0.08); | |
| line-height: 1.5; | |
| box-decoration-break: clone; | |
| -webkit-box-decoration-break: clone; | |
| } | |
| /* Markdown 代码块内部 Shiki */ | |
| .markdown pre .shiki { | |
| border: none !important; | |
| background-color: transparent !important; | |
| padding: 0 !important; | |
| margin: 0 !important; | |
| } | |
| /* Markdown 代码块 (pre) */ | |
| .markdown pre { | |
| padding: 0 !important; | |
| border-radius: var(--container-border-radius) !important; | |
| background: none !important; | |
| box-shadow: none !important; | |
| margin: 1.5rem 0; | |
| /* overflow:hidden; <-- 移除这里的 overflow */ | |
| position: relative; | |
| } | |
| /* --- 代码块 Wrapper 和 Table --- */ | |
| .markdown pre [class^="CodeBlockWrapper-"], | |
| .markdown table { | |
| border-radius: var(--container-border-radius) !important; | |
| box-shadow: var(--chat-customize-box-shadow) !important; | |
| /* overflow:hidden; <-- 移除这里的 overflow */ | |
| border: var(--material-line-width) solid var(--color-material-line-dim); | |
| position: relative; | |
| background-color: var(--color-background-opacity) !important; | |
| transition: background-color var(--duration-normal) var(--easing-ease), | |
| box-shadow var(--duration-normal) var(--easing-ease), | |
| border-color var(--duration-normal) var(--easing-ease); | |
| } | |
| /* 为代码块 Wrapper 单独设置溢出 */ | |
| .markdown pre [class^="CodeBlockWrapper-"] { | |
| overflow-x: auto; | |
| overflow-y: hidden; | |
| } | |
| /* <-- 添加或修改这个规则 */ | |
| /* Markdown Table 的 margin */ | |
| .markdown table { | |
| margin: 1.5rem 0; | |
| border-collapse: separate; | |
| border-spacing: 0; | |
| width: 100%; | |
| } | |
| /* --- Table Header --- */ | |
| .markdown th, | |
| .ant-table-thead > tr > th { | |
| background-color: rgba(var(--color-material-accent-rgb), 0.1) !important; | |
| border-bottom: 1px solid var(--color-material-accent) !important; | |
| color: var(--color-text-1); | |
| padding: 0.75rem; | |
| border-left: 1px solid rgba(var(--color-material-accent-rgb), 0.2); | |
| text-align: left; | |
| position: relative; | |
| transition: background-color var(--duration-normal) var(--easing-ease), | |
| border-color var(--duration-normal) var(--easing-ease), | |
| color var(--duration-normal) var(--easing-ease); | |
| } | |
| .markdown th:first-child, | |
| .ant-table-thead > tr > th:first-child { | |
| border-left: none; | |
| padding-left: 0.75rem; | |
| } | |
| /* --- Table Data --- */ | |
| .markdown td, | |
| .ant-table-tbody > tr > td { | |
| padding: 0.75rem; | |
| border-bottom: 1px solid rgba(var(--color-material-accent-rgb), 0.2) !important; | |
| border-left: 1px solid rgba(var(--color-material-accent-rgb), 0.2); | |
| color: var(--color-text-1); | |
| transition: border-color var(--duration-normal) var(--easing-ease), | |
| color var(--duration-normal) var(--easing-ease); | |
| } | |
| .markdown td:first-child, | |
| .ant-table-tbody > tr > td:first-child { | |
| border-left: none; | |
| padding-left: 0.75rem; | |
| } | |
| .markdown tr:last-child td, | |
| .ant-table-tbody > tr:last-child > td { | |
| border-bottom: none !important; | |
| padding-bottom: 0.75rem; | |
| } | |
| /* Markdown 代码块 Header */ | |
| .markdown pre [class^="CodeHeader-"] { | |
| border-radius: 0 !important; | |
| background-color: rgba(var(--color-black-rgb), 0.9) !important; | |
| background-image: none !important; | |
| border-bottom: none; | |
| margin-bottom: 0 !important; | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| color: var(--color-text-2); | |
| padding: 8px 16px; | |
| position: relative; | |
| overflow: hidden; | |
| padding-left: 60px; | |
| transition: background-color var(--duration-normal) var(--easing-ease), | |
| color var(--duration-normal) var(--easing-ease); | |
| } | |
| /* 交通灯圆点 */ | |
| .markdown pre [class^="CodeHeader-"]::before { | |
| content: " "; | |
| position: absolute; | |
| top: 50%; | |
| transform: translateY(-50%); | |
| left: 16px; | |
| width: 12px; | |
| height: 12px; | |
| border-radius: 50%; | |
| background: rgb(252, 132, 170); | |
| box-shadow: 20px 0 rgb(147, 243, 230), 40px 0 rgb(132, 205, 143); | |
| z-index: 1; | |
| } | |
| /* 渐变线 */ | |
| .markdown pre [class^="CodeHeader-"]::after { | |
| content: ""; | |
| position: absolute; | |
| bottom: 0; | |
| left: 0; | |
| width: 100%; | |
| height: 1px; | |
| background: linear-gradient(90deg, var(--color-material-accent), transparent); | |
| opacity: 0.8; | |
| z-index: 1; | |
| transition: background var(--duration-normal) var(--easing-ease); | |
| } | |
| /* Markdown 代码块 Content */ | |
| .markdown pre [class^="CodeContent-"] { | |
| background-color: transparent !important; | |
| border-radius: 0 !important; | |
| border-top: none !important; | |
| margin-top: 0 !important; | |
| padding: 16px; | |
| } | |
| /* Markdown 列表/HR */ | |
| .markdown ul li::marker, | |
| .markdown ol li::marker { | |
| color: var(--color-material-accent); | |
| transition: color var(--duration-fast) var(--easing-ease); | |
| } | |
| .markdown hr { | |
| border: none; | |
| height: 1px; | |
| background: linear-gradient( | |
| 90deg, | |
| transparent, | |
| var(--color-material-accent), | |
| transparent | |
| ); | |
| margin: 2rem 0; | |
| opacity: 0.4; | |
| position: relative; | |
| transition: background var(--duration-normal) var(--easing-ease); | |
| } | |
| /* HR 圆点 */ | |
| .markdown hr::after { | |
| content: ""; | |
| position: absolute; | |
| top: 50%; | |
| left: 50%; | |
| transform: translate(-50%, -50%); | |
| width: 6px; | |
| height: 6px; | |
| background-color: var(--color-material-accent); | |
| border-radius: 50%; | |
| z-index: 1; | |
| transition: background-color var(--duration-normal) var(--easing-ease); | |
| } | |
| /* 链接 */ | |
| a { | |
| color: var(--color-material-accent) !important; | |
| text-decoration: none; | |
| position: relative; | |
| transition: color var(--duration-fast) var(--easing-ease); | |
| } | |
| a:hover { | |
| text-decoration: underline; | |
| color: var(--color-material-accent-bright) !important; | |
| } | |
| /* 侧边栏图标(Home) */ | |
| .home-sidebar .anticon, | |
| .home-sidebar .iconfont { | |
| color: var(--color-text-1) !important; | |
| font-size: 24px !important; | |
| } | |
| /* 表单控件 */ | |
| .ant-switch { | |
| transition: background-color var(--duration-fast) var(--easing-ease); | |
| } | |
| .ant-switch-checked { | |
| background-color: var(--color-material-accent) !important; | |
| } | |
| .ant-checkbox-checked .ant-checkbox-inner, | |
| .ant-checkbox-indeterminate .ant-checkbox-inner { | |
| background-color: var(--color-material-accent) !important; | |
| border-color: var(--color-material-accent) !important; | |
| transition: background-color var(--duration-fast) var(--easing-ease), | |
| border-color var(--duration-fast) var(--easing-ease); | |
| } | |
| .ant-checkbox-wrapper:hover .ant-checkbox-inner, | |
| .ant-checkbox:hover .ant-checkbox-inner, | |
| .ant-checkbox-input:focus + .ant-checkbox-inner { | |
| border-color: var(--color-material-accent) !important; | |
| } | |
| .ant-checkbox-checked::after { | |
| border-color: var(--color-white) !important; | |
| } | |
| .ant-radio-checked .ant-radio-inner { | |
| border-color: var(--color-material-accent) !important; | |
| transition: border-color var(--duration-fast) var(--easing-ease); | |
| } | |
| .ant-radio-inner::after { | |
| background-color: var(--color-material-accent) !important; | |
| transition: background-color var(--duration-fast) var(--easing-ease); | |
| } | |
| .ant-radio-wrapper:hover .ant-radio, | |
| .ant-radio:hover .ant-radio-inner, | |
| .ant-radio-input:focus + .ant-radio-inner { | |
| border-color: var(--color-material-accent) !important; | |
| } | |
| /* 选中高亮 */ | |
| ::selection { | |
| background-color: rgba(var(--color-material-accent-rgb), 0.2); | |
| color: var(--color-white); | |
| text-shadow: none; | |
| transition: background-color var(--duration-fast) var(--easing-ease), | |
| color var(--duration-fast) var(--easing-ease); | |
| } | |
| body[theme-mode="light"] ::selection { | |
| color: var(--color-black); | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /* 输入框RGB效果 */ | |
| @keyframes gradientFlow { | |
| 0% { | |
| background-position: 0% 50%; | |
| } | |
| 50% { | |
| background-position: 100% 50%; | |
| } | |
| 100% { | |
| background-position: 0% 50%; | |
| } | |
| } | |
| @keyframes blinking { | |
| 0% { | |
| filter: drop-shadow(rgba(var(--color-theme-blue-rgb), 0.72) 0px 0px 3px); | |
| } | |
| 25% { | |
| filter: drop-shadow(rgba(var(--color-theme-blue-rgb), 0.72) 0px 0px 5px); | |
| } | |
| 50% { | |
| filter: drop-shadow(rgba(var(--color-theme-purple-rgb), 0.72) 0px 0px 10px); | |
| } | |
| 75% { | |
| filter: drop-shadow(rgba(var(--color-theme-blue-rgb), 0.72) 0px 0px 5px); | |
| } | |
| 100% { | |
| filter: drop-shadow(rgba(var(--color-theme-blue-rgb), 0.72) 0px 0px 3px); | |
| } | |
| } | |
| /* Dark Mode Background */ | |
| body[theme-mode="dark"] { | |
| --color-background: transparent; /* Make background transparent to show image */ | |
| background-image: url('https://hdwallsbox.com/wallpapers/l/original/46/ocean_minimalistic_soft_shading_light_gradient_background_deep_2880x1800_45707.jpg'); | |
| background-size: cover; | |
| background-position: center center; | |
| background-repeat: no-repeat; | |
| background-attachment: fixed; | |
| /* Override other background variables */ | |
| --color-background-soft: rgba(40, 44, 52, 0.2); /* Semi-transparent */ | |
| --color-background-mute: rgba(50, 55, 62, 0.2); /* Semi-transparent */ | |
| --navbar-background: transparent; | |
| --navbar-background-mac: transparent; /* Also override mac variant */ | |
| --chat-background: transparent; | |
| --chat-background-user: rgba(22, 27, 34, 0.8); /* Semi-transparent from example.css */ | |
| --chat-background-assistant: rgba(22, 27, 34, 0.8); /* Semi-transparent from example.css */ | |
| --color-group-background: transparent; | |
| } | |
| /* Light Mode Background */ | |
| body[theme-mode="light"] { | |
| --color-background: transparent; /* Make background transparent to show image */ | |
| background-image: url('https://cdn.prod.website-files.com/61e61bc712a95079885fb13f/62aace0f4b6bc83b758b04f1_wallpaper-gradient-p-1080.jpeg'); | |
| background-size: cover; | |
| background-position: center center; | |
| background-repeat: no-repeat; | |
| background-attachment: fixed; | |
| /* Override other background variables */ | |
| --color-background-soft: rgba(220, 220, 220, 0.2); /* Semi-transparent */ | |
| --color-background-mute: rgba(210, 210, 210, 0.2); /* Semi-transparent */ | |
| --navbar-background: transparent; | |
| --navbar-background-mac: transparent; /* Also override mac variant */ | |
| --chat-background: transparent; | |
| --chat-background-user: rgba(246, 248, 250, 0.8); /* Semi-transparent from example.css */ | |
| --chat-background-assistant: rgba(246, 248, 250, 0.8); /* Semi-transparent from example.css */ | |
| --color-group-background: transparent; | |
| } | |
| /* Ensure content container is also transparent */ | |
| #content-container { | |
| background-color: transparent !important; /* Use !important to ensure override */ | |
| border: none; /* Optionally remove border if it looks weird with background */ | |
| } | |
| /* == Transparent Inputs, Selects, Buttons == */ | |
| /* Define semi-transparent background variables (can be adjusted) */ | |
| :root { | |
| --transparent-bg-ui-dark: rgba(40, 44, 52, 0.35); /* Increased opacity */ | |
| --transparent-bg-ui-light: rgba(220, 220, 220, 0.35); /* Increased opacity */ | |
| --transparent-bg-hover-dark: rgba(50, 55, 62, 0.5); /* Increased opacity */ | |
| --transparent-bg-hover-light: rgba(210, 210, 210, 0.5); /* Increased opacity */ | |
| --transparent-bg-focus-dark: rgba(60, 65, 72, 0.6); /* Increased opacity */ | |
| --transparent-bg-focus-light: rgba(200, 200, 200, 0.6); /* Increased opacity */ | |
| --transparent-bg-dropdown-dark: rgba(30, 33, 39, 0.8); /* Increased opacity */ | |
| --transparent-bg-dropdown-light: rgba(235, 235, 235, 0.8); /* Increased opacity */ | |
| --ui-blur-amount: 8px; | |
| --dropdown-blur-amount: 12px; | |
| /* Windows Blue Accent */ | |
| --color-windows-blue: #0078D4; | |
| --color-windows-blue-rgb: 0, 120, 212; | |
| --shadow-windows-blue-glow: rgba(var(--color-windows-blue-rgb), 0.15); | |
| /* Keep bright blue from example.css for contrast */ | |
| --color-cyber-accent-bright: #0091FF; | |
| /* New Theme Colors & Gradient */ | |
| --color-theme-blue: #0078D4; | |
| --color-theme-purple: #8A2BE2; | |
| --color-theme-blue-rgb: 0, 120, 212; | |
| --color-theme-purple-rgb: 138, 43, 226; | |
| --gradient-theme: linear-gradient(to right, var(--color-theme-blue), var(--color-theme-purple)); | |
| /* Markdown Specific */ | |
| --markdown-border-radius: 8px; | |
| /* Light Mode Theme Colors (Using same as dark mode) */ | |
| --color-theme-light: var(--color-theme-blue); | |
| --color-theme-light-accent: var(--color-theme-purple); | |
| --color-theme-light-rgb: var(--color-theme-blue-rgb); | |
| --color-theme-light-accent-rgb: var(--color-theme-purple-rgb); | |
| --gradient-theme-light: var(--gradient-theme); | |
| } | |
| /* --- Inputs (Textarea, Input Fields) --- */ | |
| /* Input Wrapper - Restore default padding, apply background/blur */ | |
| .ant-input-affix-wrapper { | |
| background: transparent !important; /* Base transparent */ | |
| border: none !important; | |
| border-radius: 6px !important; /* Keep radius */ | |
| box-shadow: none !important; | |
| transition: all 0.3s ease !important; /* Restore transition */ | |
| position: relative !important; | |
| padding: 4px 11px !important; /* Restore default padding */ | |
| display: flex !important; /* Ensure proper alignment */ | |
| align-items: center !important; /* Vertically center content */ | |
| box-sizing: border-box !important; /* Ensure correct box sizing */ | |
| backdrop-filter: blur(var(--ui-blur-amount)); /* Apply blur */ | |
| -webkit-backdrop-filter: blur(var(--ui-blur-amount)); | |
| /* Apply theme-specific subtle background to wrapper */ | |
| } | |
| body[theme-mode="dark"] .ant-input-affix-wrapper { | |
| background-color: rgba(40, 44, 52, 0.2) !important; | |
| } | |
| body[theme-mode="light"] .ant-input-affix-wrapper { | |
| background-color: rgba(220, 220, 220, 0.2) !important; | |
| } | |
| /* Ensure suffix/prefix is transparent */ | |
| .ant-input-affix-wrapper .ant-input-prefix, | |
| .ant-input-affix-wrapper .ant-input-suffix { | |
| background: transparent !important; | |
| backdrop-filter: none !important; | |
| -webkit-backdrop-filter: none !important; | |
| } | |
| /* Apply styles DIRECTLY to the inner input and standalone inputs/textarea */ | |
| .ant-input-affix-wrapper > input.ant-input, | |
| input.ant-input:not(.ant-input-affix-wrapper input), | |
| .inputbar-container textarea { | |
| background: transparent !important; /* Start transparent */ | |
| border: none !important; | |
| border-radius: 6px !important; /* Apply radius here */ | |
| box-shadow: none !important; | |
| color: var(--color-text-1) !important; | |
| padding: 0 !important; /* Ensure padding is 0 */ | |
| margin: 0 !important; | |
| /* Keep height removed */ | |
| line-height: 1.5715 !important; /* Restore default line-height */ | |
| transition: none !important; /* Remove transition from inner input */ | |
| position: static !important; /* Reset position */ | |
| width: 100% !important; /* Ensure full width */ | |
| flex-grow: 1 !important; /* Allow input to grow */ | |
| box-sizing: border-box !important; /* Ensure correct box sizing */ | |
| } | |
| /* Ensure inner input is completely transparent and has no blur (Combine theme rules) */ | |
| .ant-input-affix-wrapper > input.ant-input { | |
| background-color: transparent !important; | |
| backdrop-filter: none !important; | |
| -webkit-backdrop-filter: none !important; | |
| } | |
| /* Apply styles to standalone input AND other textareas (EXCLUDING .inputbar-container textarea) */ | |
| input.ant-input:not(.ant-input-affix-wrapper input), | |
| textarea.ant-input:not(.inputbar-container textarea) { /* General textarea ONLY */ | |
| padding: 4px 11px !important; | |
| backdrop-filter: blur(var(--ui-blur-amount)); | |
| -webkit-backdrop-filter: blur(var(--ui-blur-amount)); | |
| border-radius: 6px !important; | |
| border: none !important; | |
| box-shadow: none !important; | |
| color: var(--color-text-1) !important; | |
| transition: all 0.3s ease !important; | |
| /* position: relative !important; REMOVED */ | |
| width: 100% !important; | |
| box-sizing: border-box !important; | |
| line-height: 1.5715 !important; | |
| margin: 0 !important; | |
| } | |
| /* Apply theme-specific background to standalone and other textareas */ | |
| body[theme-mode="dark"] input.ant-input:not(.ant-input-affix-wrapper input), | |
| body[theme-mode="dark"] textarea.ant-input:not(.inputbar-container textarea) { /* General textarea ONLY */ | |
| background-color: rgba(40, 44, 52, 0.2) !important; | |
| } | |
| body[theme-mode="light"] input.ant-input:not(.ant-input-affix-wrapper input), | |
| body[theme-mode="light"] textarea.ant-input:not(.inputbar-container textarea) { /* General textarea ONLY */ | |
| background-color: rgba(220, 220, 220, 0.2) !important; | |
| } | |
| /* --- Input Bar Container Specific Styles --- */ | |
| .inputbar-container { | |
| border-radius: 6px !important; | |
| border: none !important; | |
| box-shadow: none !important; | |
| backdrop-filter: blur(var(--ui-blur-amount)); /* Apply blur to container */ | |
| -webkit-backdrop-filter: blur(var(--ui-blur-amount)); | |
| position: relative; /* Keep relative if needed for children */ | |
| overflow: hidden; /* Keep hidden if needed */ | |
| padding: 4px 11px !important; /* Add padding to container */ | |
| } | |
| body[theme-mode="dark"] .inputbar-container { | |
| background-color: rgba(40, 44, 52, 0.2) !important; /* Apply background to container */ | |
| } | |
| body[theme-mode="light"] .inputbar-container { | |
| background-color: rgba(220, 220, 220, 0.2) !important; /* Apply background to container */ | |
| } | |
| /* Ensure textarea inside inputbar is completely transparent */ | |
| .inputbar-container textarea { | |
| background: transparent !important; | |
| backdrop-filter: none !important; | |
| -webkit-backdrop-filter: none !important; | |
| border: none !important; | |
| box-shadow: none !important; | |
| color: var(--color-text-1) !important; | |
| padding: 0 !important; /* Remove padding from textarea itself */ | |
| margin: 0 !important; | |
| resize: none !important; /* Keep resize none */ | |
| width: 100% !important; | |
| line-height: 1.5715 !important; | |
| /* position: relative !important; REMOVED */ | |
| } | |
| /* Focus States - Apply DIRECTLY to input/textarea */ | |
| input.ant-input:focus, | |
| textarea:focus { /* This applies to ALL textareas */ | |
| box-shadow: none !important; | |
| border: none !important; | |
| outline: none !important; /* Ensure no default outline */ | |
| } | |
| /* Ensure inner input remains transparent even when wrapper is focused */ | |
| .ant-input-affix-wrapper-focused > input.ant-input { | |
| background-color: transparent !important; | |
| backdrop-filter: none !important; | |
| -webkit-backdrop-filter: none !important; | |
| } | |
| /* --- Selects / Dropdowns --- */ | |
| /* Select Trigger (Apply blur here) */ | |
| .ant-select:not(.ant-select-disabled):not(.ant-select-customize-input) .ant-select-selector { | |
| border: none !important; | |
| border-radius: 6px !important; | |
| box-shadow: none !important; | |
| backdrop-filter: blur(var(--ui-blur-amount)); | |
| -webkit-backdrop-filter: blur(var(--ui-blur-amount)); | |
| background-color: transparent !important; /* Fallback */ | |
| } | |
| body[theme-mode="dark"] .ant-select:not(.ant-select-disabled):not(.ant-select-customize-input) .ant-select-selector { | |
| background-color: var(--transparent-bg-ui-dark) !important; | |
| } | |
| body[theme-mode="light"] .ant-select:not(.ant-select-disabled):not(.ant-select-customize-input) .ant-select-selector { | |
| background-color: var(--transparent-bg-ui-light) !important; | |
| } | |
| /* Select Trigger - Focused State */ | |
| .ant-select-focused:not(.ant-select-disabled):not(.ant-select-customize-input) .ant-select-selector { | |
| box-shadow: 0 0 0 2px rgba(0, 120, 215, 0.2) !important; /* Subtle focus ring */ | |
| } | |
| body[theme-mode="dark"] .ant-select-focused:not(.ant-select-disabled):not(.ant-select-customize-input) .ant-select-selector { | |
| background-color: var(--transparent-bg-focus-dark) !important; | |
| } | |
| body[theme-mode="light"] .ant-select-focused:not(.ant-select-disabled):not(.ant-select-customize-input) .ant-select-selector { | |
| background-color: var(--transparent-bg-focus-light) !important; | |
| } | |
| /* Select Trigger Inner Elements (NO blur, transparent background) */ | |
| .ant-select-selection-search-input, | |
| .ant-select-selection-item, | |
| .ant-select-selection-placeholder { | |
| background: transparent !important; | |
| backdrop-filter: none !important; | |
| -webkit-backdrop-filter: none !important; | |
| color: var(--color-text-1) !important; | |
| } | |
| /* Dropdown Panel (Apply blur here) */ | |
| .ant-select-dropdown, | |
| .ant-dropdown-menu { | |
| border: none !important; | |
| border-radius: 8px !important; /* Slightly larger radius for dropdowns */ | |
| box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important; | |
| backdrop-filter: blur(var(--dropdown-blur-amount)); | |
| -webkit-backdrop-filter: blur(var(--dropdown-blur-amount)); | |
| padding: 4px !important; /* Add some padding */ | |
| background-color: transparent !important; /* Fallback */ | |
| } | |
| body[theme-mode="dark"] .ant-select-dropdown, | |
| body[theme-mode="dark"] .ant-dropdown-menu { | |
| background-color: var(--transparent-bg-dropdown-dark) !important; | |
| } | |
| body[theme-mode="light"] .ant-select-dropdown, | |
| body[theme-mode="light"] .ant-dropdown-menu { | |
| background-color: var(--transparent-bg-dropdown-light) !important; | |
| } | |
| /* Dropdown Items (NO blur, transparent background initially) */ | |
| .ant-select-item, | |
| .ant-dropdown-menu-item { | |
| background: transparent !important; | |
| backdrop-filter: none !important; | |
| -webkit-backdrop-filter: none !important; | |
| border-radius: 4px !important; | |
| color: var(--color-text-1) !important; | |
| margin: 2px 0 !important; /* Add spacing */ | |
| } | |
| /* Dropdown Item Hover/Active State */ | |
| .ant-select-item-option-active:not(.ant-select-item-option-disabled), | |
| .ant-dropdown-menu-item:not(.ant-dropdown-menu-item-disabled):hover { | |
| color: var(--color-text-1) !important; | |
| } | |
| body[theme-mode="dark"] .ant-select-item-option-active:not(.ant-select-item-option-disabled), | |
| body[theme-mode="dark"] .ant-dropdown-menu-item:not(.ant-dropdown-menu-item-disabled):hover { | |
| background-color: var(--transparent-bg-hover-dark) !important; | |
| } | |
| body[theme-mode="light"] .ant-select-item-option-active:not(.ant-select-item-option-disabled), | |
| body[theme-mode="light"] .ant-dropdown-menu-item:not(.ant-dropdown-menu-item-disabled):hover { | |
| background-color: var(--transparent-bg-hover-light) !important; | |
| } | |
| /* Dropdown Item Selected State */ | |
| .ant-select-item-option-selected:not(.ant-select-item-option-disabled), | |
| .ant-dropdown-menu-item-selected { | |
| font-weight: 600; /* Make selected item bold */ | |
| color: var(--color-text-1) !important; /* Use default text color */ | |
| background-color: transparent !important; /* Remove default background */ | |
| position: relative; /* For pseudo-element */ | |
| padding-left: calc(1rem + 5px) !important; /* Make space for the gradient line */ | |
| } | |
| /* Add gradient line */ | |
| .ant-select-item-option-selected:not(.ant-select-item-option-disabled)::before, | |
| .ant-dropdown-menu-item-selected::before { | |
| content: ''; | |
| position: absolute; | |
| left: 4px; /* Slight indent from edge */ | |
| top: 4px; /* Add top margin */ | |
| bottom: 4px; /* Add bottom margin */ | |
| width: 5px; /* Line thickness */ | |
| background: linear-gradient(to bottom, var(--color-theme-blue), var(--color-theme-purple)); /* Vertical gradient */ | |
| border-radius: 3px; /* Rounded corners */ | |
| } | |
| /* Active items in lists - EXCEPT sidebar items */ | |
| li[class*="active"]:not([class*="SideBarItem"]), | |
| [data-active="true"]:not([class*="SideBarItem"]) { | |
| color: var(--color-text-1) !important; | |
| background-color: transparent !important; | |
| position: relative; | |
| padding-left: calc(1rem + 5px) !important; | |
| } | |
| /* Apply gradient line to active items - EXCEPT sidebar items */ | |
| li[class*="active"]:not([class*="SideBarItem"])::before, | |
| [data-active="true"]:not([class*="SideBarItem"])::before { | |
| content: ''; | |
| position: absolute; | |
| left: 4px; | |
| top: 4px; | |
| bottom: 4px; | |
| width: 5px; | |
| background: linear-gradient(to bottom, var(--color-theme-blue), var(--color-theme-purple)); | |
| border-radius: 3px; | |
| } | |
| /* Specific style for sidebar icons */ | |
| #app-sidebar [class*="SideBarItem-module__item"], /* Targeting the item container */ | |
| div[class*="SideBarItem-module__item"], | |
| #app-sidebar [class*="active"], | |
| div[class*="SideBarItem-module__active"] { | |
| border-radius: 12px !important; /* Increased radius for both hover and active states */ | |
| transition: background-color 0.2s ease; /* Smooth transition for hover */ | |
| } | |
| /* Hover state for sidebar icons */ | |
| #app-sidebar [class*="SideBarItem-module__item"]:hover, | |
| div[class*="SideBarItem-module__item"]:hover { | |
| border-radius: 12px !important; /* Ensure hover has same radius */ | |
| } | |
| body[theme-mode="dark"] #app-sidebar [class*="SideBarItem-module__item"]:hover, | |
| body[theme-mode="dark"] div[class*="SideBarItem-module__item"]:hover { | |
| background-color: var(--transparent-bg-hover-dark) !important; | |
| } | |
| body[theme-mode="light"] #app-sidebar [class*="SideBarItem-module__item"]:hover, | |
| body[theme-mode="light"] div[class*="SideBarItem-module__item"]:hover { | |
| background-color: var(--transparent-bg-hover-light) !important; | |
| } | |
| /* Active state for sidebar icons */ | |
| #app-sidebar [class*="active"], /* Guessing sidebar ID */ | |
| div[class*="SideBarItem-module__active"] /* Another common pattern */ | |
| { | |
| /* background-color applied per theme */ | |
| /* color: var(--color-primary) !important; REMOVED - Keep original icon color */ | |
| padding-left: initial !important; /* Reset padding */ | |
| position: static !important; /* Reset position */ | |
| border-radius: 12px !important; /* Use the same radius as hover */ | |
| } | |
| /* Dark mode active sidebar icon background */ | |
| body[theme-mode="dark"] #app-sidebar [class*="active"], | |
| body[theme-mode="dark"] div[class*="SideBarItem-module__active"] { | |
| background-color: var(--transparent-bg-hover-dark) !important; | |
| } | |
| /* Light mode active sidebar icon background (Lighter) */ | |
| body[theme-mode="light"] #app-sidebar [class*="active"], | |
| body[theme-mode="light"] div[class*="SideBarItem-module__active"] { | |
| background-color: var(--transparent-bg-hover-light) !important; | |
| } | |
| /* Ensure pseudo-element is explicitly hidden for sidebar icons */ | |
| #app-sidebar [class*="active"]::before, | |
| div[class*="SideBarItem-module__active"]::before { | |
| display: none !important; | |
| } | |
| /* --- Buttons --- */ | |
| .ant-btn { | |
| border: none !important; | |
| border-radius: 6px !important; | |
| box-shadow: none !important; | |
| backdrop-filter: blur(var(--ui-blur-amount)); | |
| -webkit-backdrop-filter: blur(var(--ui-blur-amount)); | |
| color: var(--color-text-1) !important; | |
| background-color: transparent !important; /* Fallback */ | |
| } | |
| /* Default Button Background - Make fully transparent */ | |
| body[theme-mode="dark"] .ant-btn:not(.ant-btn-primary):not(.ant-btn-dangerous):not(:disabled) { | |
| background-color: transparent !important; /* Fully transparent */ | |
| } | |
| body[theme-mode="light"] .ant-btn:not(.ant-btn-primary):not(.ant-btn-dangerous):not(:disabled) { | |
| background-color: transparent !important; /* Fully transparent */ | |
| } | |
| /* Button Hover State */ | |
| body[theme-mode="dark"] .ant-btn:not(.ant-btn-primary):not(.ant-btn-dangerous):not(:disabled):hover { | |
| background-color: var(--transparent-bg-hover-dark) !important; | |
| } | |
| body[theme-mode="light"] .ant-btn:not(.ant-btn-primary):not(.ant-btn-dangerous):not(:disabled):hover { | |
| background-color: var(--transparent-bg-hover-light) !important; | |
| } | |
| /* Button Active/Focus State (Optional: can use hover state or a slightly darker/lighter one) */ | |
| body[theme-mode="dark"] .ant-btn:not(.ant-btn-primary):not(.ant-btn-dangerous):not(:disabled):active, | |
| body[theme-mode="dark"] .ant-btn:not(.ant-btn-primary):not(.ant-btn-dangerous):not(:disabled):focus-visible { | |
| background-color: var(--transparent-bg-focus-dark) !important; | |
| box-shadow: 0 0 0 2px rgba(0, 120, 215, 0.2) !important; /* Focus ring */ | |
| } | |
| body[theme-mode="light"] .ant-btn:not(.ant-btn-primary):not(.ant-btn-dangerous):not(:disabled):active, | |
| body[theme-mode="light"] .ant-btn:not(.ant-btn-primary):not(.ant-btn-dangerous):not(:disabled):focus-visible { | |
| background-color: var(--transparent-bg-focus-light) !important; | |
| box-shadow: 0 0 0 2px rgba(0, 120, 215, 0.2) !important; /* Focus ring */ | |
| } | |
| /* Primary Button (Keep solid color or make semi-transparent if desired) */ | |
| .ant-btn-primary:not(:disabled) { | |
| background-color: var(--color-primary) !important; | |
| color: var(--color-white) !important; /* Ensure contrast */ | |
| backdrop-filter: none !important; /* Usually solid buttons don't need blur */ | |
| } | |
| body[theme-mode="light"] .ant-btn-primary:not(:disabled) { | |
| color: var(--color-black) !important; /* Adjust contrast for light mode if needed */ | |
| } | |
| .ant-btn-primary:not(:disabled):hover { | |
| background-color: color-mix(in srgb, var(--color-primary) 90%, black) !important; /* Darken slightly */ | |
| } | |
| /* Ensure icons inside buttons inherit color */ | |
| .ant-btn .anticon, .ant-btn .iconfont, .ant-btn .lucide { | |
| color: inherit !important; | |
| } | |
| /* Ensure selected segmented control items are transparent */ | |
| .ant-segmented-item-selected { | |
| background-color: transparent !important; | |
| } | |
| #inputbar { | |
| z-index: 1; | |
| position: relative; | |
| box-shadow: var(--box-shadow); /* Assuming --box-shadow is defined elsewhere or can be removed */ | |
| margin: 0 15px 15px 15px !important; | |
| } | |
| #inputbar::before { | |
| content: ''; | |
| position: absolute; | |
| inset: -1px; | |
| border-radius: inherit; | |
| padding: 2px; | |
| /* Use theme gradient for background */ | |
| background: var(--gradient-theme); | |
| background-size: 200% 200%; | |
| mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); | |
| mask-composite: exclude; | |
| animation: gradientFlow 4s linear infinite; | |
| opacity: 0; | |
| transition: all 0.4s ease-in-out; | |
| pointer-events: none; | |
| } | |
| #inputbar:focus-within { | |
| /* Apply blinking animation */ | |
| animation: blinking 4s linear infinite; | |
| } | |
| #inputbar:focus-within::before { | |
| opacity: 1; | |
| } | |
| /* Dark mode blinking shadow colors */ | |
| body[theme-mode='dark'] #inputbar:focus-within { | |
| filter: drop-shadow(rgba(var(--color-theme-blue-rgb), 0.72) 0px 0px 3px); | |
| } | |
| body[theme-mode='dark'] #inputbar:focus-within:hover { | |
| filter: drop-shadow(rgba(var(--color-theme-blue-rgb), 0.72) 0px 0px 5px); | |
| } | |
| body[theme-mode='dark'] #inputbar:focus-within:active { | |
| filter: drop-shadow(rgba(var(--color-theme-purple-rgb), 0.72) 0px 0px 10px); | |
| } | |
| /* Light mode blinking shadow colors */ | |
| body[theme-mode='light'] #inputbar:focus-within { | |
| filter: drop-shadow(rgba(var(--color-theme-blue-rgb), 0.72) 0px 0px 3px); | |
| } | |
| body[theme-mode='light'] #inputbar:focus-within:hover { | |
| filter: drop-shadow(rgba(var(--color-theme-blue-rgb), 0.72) 0px 0px 5px); | |
| } | |
| body[theme-mode='light'] #inputbar:focus-within:active { | |
| filter: drop-shadow(rgba(255, 105, 180, 0.72) 0px 0px 10px); /* Using a standard pink RGBA */ | |
| } | |
| /* --- Modals / Drawers --- */ | |
| /* Apply blur and semi-opaque background */ | |
| .ant-modal .ant-modal-content, | |
| .ant-drawer-content { | |
| border: none !important; | |
| border-radius: 8px !important; /* Match dropdown radius */ | |
| box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important; /* Match dropdown shadow */ | |
| backdrop-filter: blur(var(--dropdown-blur-amount)) !important; /* Use dropdown blur */ | |
| -webkit-backdrop-filter: blur(var(--dropdown-blur-amount)) !important; | |
| background-color: transparent !important; /* Fallback */ | |
| } | |
| /* Use chat bubble background colors for higher opacity */ | |
| body[theme-mode="dark"] .ant-modal .ant-modal-content, | |
| body[theme-mode="dark"] .ant-drawer-content { | |
| background-color: var(--chat-background-assistant) !important; /* Use chat bubble variable (0.8 opacity) */ | |
| } | |
| body[theme-mode="light"] .ant-modal .ant-modal-content, | |
| body[theme-mode="light"] .ant-drawer-content { | |
| background-color: var(--chat-background-assistant) !important; /* Use chat bubble variable (0.8 opacity) */ | |
| } | |
| /* Ensure header/body/footer inside are transparent if needed, or style them */ | |
| .ant-modal-header, | |
| .ant-modal-body, | |
| .ant-modal-footer, | |
| .ant-drawer-header, | |
| .ant-drawer-body, | |
| .ant-drawer-footer { | |
| background: transparent !important; /* Make inner sections transparent */ | |
| color: inherit !important; /* Inherit text color */ | |
| } | |
| /* Specific styling for header might be needed */ | |
| .ant-modal-header { | |
| border-bottom: none !important; /* Remove default border */ | |
| } | |
| .ant-drawer-header { | |
| border-bottom: none !important; /* Remove default border */ | |
| } | |
| /* --- Font Overrides (Based on example.css) --- */ | |
| /* Specific text elements within conversation/markdown */ | |
| .bubble .message-content-container, | |
| .markdown p, /* Add paragraph targeting */ | |
| .markdown li /* Add list item targeting */ | |
| { | |
| font-family: "Maple Mono NF CN", monospace !important; | |
| font-weight: 400 !important; | |
| letter-spacing: 0.03em !important; | |
| line-height: 1.6 !important; | |
| } | |
| /* Code elements font */ | |
| code, /* Inline code */ | |
| pre, /* Code blocks */ | |
| .markdown pre [class^="CodeContent-"] * /* Content within code blocks */ | |
| { | |
| font-family: "Maple Mono NF CN", monospace !important; | |
| font-weight: 400 !important; | |
| letter-spacing: normal !important; /* Use normal spacing for code */ | |
| line-height: 1.45 !important; /* Use specific line height for code */ | |
| } | |
| /* Remove potentially redundant rule */ | |
| /* | |
| .markdown pre { | |
| font-family: "Maple Mono NF CN", monospace !important; | |
| } | |
| */ | |
| /* --- New Markdown Styles --- */ | |
| /* General Markdown Container */ | |
| .markdown { | |
| color: var(--color-text-1); | |
| line-height: 1.7; /* Slightly increased line height for readability */ | |
| } | |
| /* 覆盖默认的绿色为蓝紫色调 */ | |
| :root { | |
| --color-primary: var(--color-theme-blue) !important; | |
| --color-primary-soft: rgba(var(--color-theme-blue-rgb), 0.6) !important; | |
| --color-primary-mute: rgba(var(--color-theme-blue-rgb), 0.2) !important; | |
| } | |
| /* Light Mode 覆盖变量 */ | |
| body[theme-mode="light"] { | |
| --color-primary: var(--color-theme-blue) !important; | |
| --color-primary-soft: rgba(var(--color-theme-blue-rgb), 0.6) !important; | |
| --color-primary-mute: rgba(var(--color-theme-blue-rgb), 0.2) !important; | |
| --chat-background-user: var(--color-theme-blue) !important; | |
| } | |
| /* 修改列表项标记颜色(深浅模式) */ | |
| .markdown li::marker, | |
| body[theme-mode="light"] .markdown li::marker { | |
| color: var(--color-theme-blue) !important; | |
| } | |
| /* 修改引用块样式 */ | |
| .markdown blockquote { | |
| border-left-color: var(--color-theme-blue) !important; | |
| } | |
| /* 选中项的背景 */ | |
| .ant-select-item-option-selected:not(.ant-select-item-option-disabled), | |
| .ant-dropdown-menu-item-selected { | |
| background: linear-gradient(to right, rgba(var(--color-theme-blue-rgb), 0.12), rgba(var(--color-theme-purple-rgb), 0.12)) !important; | |
| color: var(--color-theme-blue) !important; | |
| } | |
| /* 浅色模式选中项背景(更轻的阴影) */ | |
| body[theme-mode="light"] .ant-select-item-option-selected:not(.ant-select-item-option-disabled), | |
| body[theme-mode="light"] .ant-dropdown-menu-item-selected { | |
| background: linear-gradient(to right, rgba(var(--color-theme-blue-rgb), 0.08), rgba(var(--color-theme-purple-rgb), 0.08)) !important; | |
| color: var(--color-theme-blue) !important; | |
| } | |
| /* 链接颜色 */ | |
| .markdown a, | |
| .markdown .link { | |
| color: var(--color-theme-blue) !important; | |
| } | |
| .markdown a:hover, | |
| .markdown .link:hover { | |
| color: var(--color-theme-purple) !important; | |
| } | |
| /* 脚注引用样式 */ | |
| .markdown .footnote-ref, | |
| .footnotes .footnote-backref { | |
| color: var(--color-theme-blue) !important; | |
| } | |
| .markdown .footnote-ref:hover, | |
| .footnotes .footnote-backref:hover { | |
| color: var(--color-theme-purple) !important; | |
| } | |
| /* Ensure footnotes section background is transparent */ | |
| .markdown .footnotes { | |
| background-color: transparent !important; | |
| } | |
| /* Headings */ | |
| .markdown h1, .markdown h2, .markdown h3, .markdown h4, .markdown h5, .markdown h6 { | |
| font-weight: 700; /* Bold headings */ | |
| margin-top: 1.8em; | |
| margin-bottom: 1em; | |
| color: var(--color-text-1); /* Default text color */ | |
| } | |
| .markdown h1 { | |
| font-size: 2.2em; | |
| border-bottom: 3px solid; | |
| /* border-image applied per theme */ | |
| padding-bottom: 0.4em; | |
| } | |
| body[theme-mode="dark"] .markdown h1 { | |
| border-image: var(--gradient-theme) 1; /* Dark mode gradient */ | |
| } | |
| body[theme-mode="light"] .markdown h1 { | |
| border-image: var(--gradient-theme) 1; /* Use same gradient as dark mode */ | |
| } | |
| .markdown h2 { | |
| font-size: 1.8em; | |
| /* border-left: 4px solid; REMOVED */ | |
| /* border-image: var(--gradient-theme) 1; REMOVED */ | |
| padding-left: 1.5rem; /* Increased padding to make space for pseudo-element */ | |
| position: relative; /* Needed for pseudo-element */ | |
| } | |
| .markdown h2::before { | |
| content: ''; | |
| position: absolute; | |
| left: 0; | |
| top: 0; | |
| height: 100%; | |
| width: 5px; /* Make thicker */ | |
| /* background applied per theme */ | |
| border-radius: 3px; /* Adjust radius */ | |
| } | |
| body[theme-mode="dark"] .markdown h2::before { | |
| background: linear-gradient(to bottom, var(--color-theme-blue), var(--color-theme-purple)); /* Dark mode gradient */ | |
| } | |
| body[theme-mode="light"] .markdown h2::before { | |
| background: linear-gradient(to bottom, var(--color-theme-blue), var(--color-theme-purple)); /* Use same gradient as dark mode */ | |
| } | |
| .markdown h3 { | |
| font-size: 1.2em; | |
| display: inline-block; /* Allow background to wrap content */ | |
| padding: 0.3em 0.8em; /* Add padding inside the box */ | |
| border-radius: var(--markdown-border-radius); /* Use defined radius */ | |
| margin-bottom: 1em; /* Keep bottom margin */ | |
| /* Background and text color applied per theme */ | |
| } | |
| .markdown h3 { | |
| color: var(--color-white) !important; /* White text for both themes */ | |
| text-shadow: 0 1px 1px rgba(0,0,0,0.3); /* Dark shadow for better contrast */ | |
| } | |
| body[theme-mode="dark"] .markdown h3 { | |
| background: var(--gradient-theme); /* Dark mode gradient background */ | |
| } | |
| body[theme-mode="light"] .markdown h3 { | |
| background: var(--gradient-theme); /* Use same gradient as dark mode */ | |
| } | |
| .markdown h4 { | |
| font-size: 1.2em; | |
| /* color applied per theme */ | |
| } | |
| body[theme-mode="dark"] .markdown h4 { | |
| color: var(--color-theme-blue); /* Dark mode blue */ | |
| } | |
| body[theme-mode="light"] .markdown h4 { | |
| color: var(--color-theme-blue); /* Use same blue as dark mode */ | |
| } | |
| /* Code Blocks */ | |
| .markdown pre { | |
| padding: 0 !important; | |
| border-radius: var(--markdown-border-radius) !important; | |
| background: none !important; | |
| box-shadow: none !important; | |
| margin: 1.5rem 0; | |
| font-family: "Maple Mono NF CN", monospace !important; /* Ensure font */ | |
| } | |
| .markdown pre [class^="CodeBlockWrapper-"] { | |
| border-radius: 10px !important; /* 统一使用稍大的圆角 */ | |
| overflow: hidden; | |
| backdrop-filter: blur(10px); /* Slightly less blur than dropdowns */ | |
| -webkit-backdrop-filter: blur(10px); | |
| } | |
| /* 深色模式下的代码块样式 */ | |
| body[theme-mode="dark"] .markdown pre [class^="CodeBlockWrapper-"] { | |
| box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15); /* 更明显的阴影 */ | |
| background-color: rgba(30, 33, 39, 0.5); /* 调整透明度以提高可读性 */ | |
| border: none; | |
| } | |
| /* 浅色模式下的代码块样式 */ | |
| body[theme-mode="light"] .markdown pre [class^="CodeBlockWrapper-"] { | |
| box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08); /* 更柔和的阴影 */ | |
| background-color: rgba(250, 250, 250, 0.5); /* 调整透明度以提高可读性 */ | |
| border: none; /* 移除边框 */ | |
| } | |
| .markdown pre [class^="CodeHeader-"] { | |
| border-radius: 10px 10px 0 0 !important; /* 统一圆角大小 */ | |
| background-color: rgba(var(--color-theme-blue-rgb), 0.03) !important; | |
| border-bottom: none; | |
| margin-bottom: 0 !important; | |
| justify-content: center; | |
| color: var(--color-text-1); | |
| font-size: 0.9em; | |
| font-weight: 500; | |
| padding: 8px 16px; | |
| position: relative; | |
| overflow: hidden; | |
| } | |
| .markdown pre [class^="CodeHeader-"]::before { | |
| content: ' '; | |
| position: absolute; | |
| top: 12px; | |
| left: 12px; | |
| width: 12px; | |
| height: 12px; | |
| border-radius: 50%; | |
| background: #ff5f57; | |
| box-shadow: | |
| 20px 0 #ffbd2e, | |
| 40px 0 #28c840, | |
| 0 1px 2px rgba(0, 0, 0, 0.15), | |
| 20px 1px 2px rgba(0, 0, 0, 0.15), | |
| 40px 1px 2px rgba(0, 0, 0, 0.15); | |
| z-index: 1; | |
| transition: transform 0.2s ease; | |
| } | |
| .markdown pre [class^="CodeHeader-"]:hover::before { | |
| transform: scale(1.1); | |
| } | |
| .markdown pre [class^="CodeContent-"] { | |
| background-color: transparent !important; | |
| border-radius: 0 0 10px 10px !important; /* 统一圆角大小 */ | |
| border-top: none !important; | |
| margin-top: 0 !important; | |
| padding: 16px 20px !important; | |
| line-height: 1.45 !important; | |
| } | |
| /* Inline Code */ | |
| .markdown code { | |
| font-family: "Maple Mono NF CN", monospace !important; /* Ensure font */ | |
| /* background-color applied per theme */ | |
| border-radius: 4px; | |
| padding: 0.2em 0.4em; | |
| font-size: 0.9em; | |
| color: var(--color-text-1); | |
| margin: 0 2px; | |
| } | |
| /* Avoid applying background to code inside code blocks */ | |
| .markdown pre code { | |
| background-color: transparent !important; | |
| padding: 0 !important; | |
| margin: 0 !important; | |
| border-radius: 0 !important; | |
| font-size: inherit !important; | |
| } | |
| body[theme-mode="dark"] .markdown code { | |
| background-color: rgba(var(--color-theme-blue-rgb), 0.1); /* Dark mode light blue background */ | |
| } | |
| body[theme-mode="light"] .markdown code { | |
| background-color: rgba(var(--color-theme-blue-rgb), 0.1); /* Use same blue as dark mode */ | |
| } | |
| /* Avoid applying background to code inside code blocks */ | |
| .markdown pre code { | |
| background-color: transparent !important; | |
| padding: 0 !important; | |
| margin: 0 !important; | |
| border-radius: 0 !important; | |
| font-size: inherit !important; | |
| } | |
| /* Blockquotes */ | |
| .markdown blockquote { | |
| /* border-left: 4px solid var(--color-theme-purple); REMOVED */ | |
| padding: 1rem 1.5rem 1rem 2rem; /* Increased left padding */ | |
| margin: 1.5rem 0; | |
| /* background-color applied per theme */ | |
| color: var(--color-text-2); /* Muted text color */ | |
| border-radius: var(--markdown-border-radius); /* Apply radius to all corners now */ | |
| position: relative; /* Needed for pseudo-element */ | |
| } | |
| .markdown blockquote::before { | |
| content: ''; | |
| position: absolute; | |
| left: 0.5rem; /* Position slightly inset */ | |
| top: 0.5rem; /* Add some top/bottom margin */ | |
| bottom: 0.5rem; | |
| /* height: calc(100% - 1rem); Calculate height based on top/bottom */ | |
| width: 5px; /* Make thicker */ | |
| /* background applied per theme */ | |
| border-radius: 3px; /* Adjust radius */ | |
| } | |
| body[theme-mode="dark"] .markdown blockquote { | |
| background-color: rgba(var(--color-theme-purple-rgb), 0.05); /* Dark mode light purple background */ | |
| } | |
| body[theme-mode="light"] .markdown blockquote { | |
| background-color: rgba(var(--color-theme-purple-rgb), 0.05); /* Use same purple as dark mode */ | |
| } | |
| body[theme-mode="light"] .markdown blockquote::before { | |
| background: var(--color-theme-purple); /* Use same purple as dark mode */ | |
| } | |
| body[theme-mode="light"] .markdown blockquote::before { | |
| background: var(--color-theme-pink-light); /* Light mode pink */ | |
| } | |
| .markdown blockquote p { | |
| margin-bottom: 0; /* Remove extra margin inside blockquote */ | |
| } | |
| /* Lists */ | |
| .markdown ul li::marker, .markdown ol li::marker { | |
| /* color applied per theme */ | |
| } | |
| body[theme-mode="dark"] .markdown ul li::marker, | |
| body[theme-mode="dark"] .markdown ol li::marker { | |
| color: var(--color-theme-blue); /* Dark mode blue marker */ | |
| } | |
| body[theme-mode="light"] .markdown ul li::marker, | |
| body[theme-mode="light"] .markdown ol li::marker { | |
| color: var(--color-theme-blue); /* Use same blue as dark mode */ | |
| } | |
| .markdown ul, .markdown ol { | |
| padding-left: 2em; /* Standard padding */ | |
| } | |
| /* Horizontal Rule */ | |
| .markdown hr { | |
| border: none; | |
| height: 2px; /* Slightly thicker */ | |
| /* background applied per theme */ | |
| margin: 2.5rem 0; | |
| opacity: 0.8; | |
| /* Add mask for tapering effect */ | |
| mask-image: linear-gradient(to right, transparent 0%, black 15%, black 85%, transparent 100%); | |
| mask-size: 100% 100%; | |
| mask-repeat: no-repeat; | |
| /* Add vendor prefix for compatibility */ | |
| -webkit-mask-image: linear-gradient(to right, transparent 0%, black 15%, black 85%, transparent 100%); | |
| -webkit-mask-size: 100% 100%; | |
| -webkit-mask-repeat: no-repeat; | |
| } | |
| /* REMOVED duplicate -webkit-mask lines and closing brace */ | |
| body[theme-mode="dark"] .markdown hr { | |
| background: var(--gradient-theme); /* Dark mode gradient */ | |
| } | |
| body[theme-mode="light"] .markdown hr { | |
| background: var(--gradient-theme-light); /* Light mode gradient */ | |
| } | |
| /* Tables */ | |
| .markdown table { | |
| width: 100%; | |
| border-collapse: separate; /* Use separate for border-radius */ | |
| border-spacing: 0; | |
| margin: 1.5rem 0; | |
| background-color: transparent !important; | |
| /* border applied per theme */ | |
| border-radius: var(--markdown-border-radius); | |
| overflow: hidden; /* Needed for border-radius */ | |
| box-shadow: none; | |
| } | |
| body[theme-mode="dark"] .markdown table { | |
| border: 1px solid rgba(var(--color-theme-blue-rgb), 0.1); /* Dark mode subtle blue border */ | |
| } | |
| body[theme-mode="light"] .markdown table { | |
| border: 1px solid rgba(var(--color-theme-skyblue-light-rgb), 0.1); /* Light mode subtle skyblue border */ | |
| } | |
| .markdown th { | |
| /* background-color applied per theme */ | |
| color: var(--color-text-1); | |
| padding: 0.8em 1em; | |
| /* border-bottom applied per theme */ | |
| border-left: none; | |
| text-align: left; | |
| font-weight: 600; | |
| } | |
| .markdown th:first-child { border-left: none; } | |
| body[theme-mode="dark"] .markdown th { | |
| background-color: rgba(var(--color-theme-blue-rgb), 0.05) !important; /* Dark mode light blue header */ | |
| border-bottom: 1px solid rgba(var(--color-theme-blue-rgb), 0.1); | |
| } | |
| body[theme-mode="light"] .markdown th { | |
| background-color: rgba(var(--color-theme-skyblue-light-rgb), 0.05) !important; /* Light mode light skyblue header */ | |
| border-bottom: 1px solid rgba(var(--color-theme-skyblue-light-rgb), 0.1); | |
| } | |
| .markdown td { | |
| padding: 0.8em 1em; | |
| /* border-bottom applied per theme */ | |
| border-left: none; | |
| transition: background-color 0.3s ease; | |
| } | |
| body[theme-mode="dark"] .markdown td { | |
| border-bottom: 1px solid rgba(var(--color-theme-blue-rgb), 0.05); /* Dark mode lighter border */ | |
| } | |
| body[theme-mode="light"] .markdown td { | |
| border-bottom: 1px solid rgba(var(--color-theme-skyblue-light-rgb), 0.05); /* Light mode lighter border */ | |
| } | |
| .markdown td:first-child { border-left: none; } | |
| .markdown tr:last-child td { border-bottom: none; } | |
| .markdown tr:hover td { | |
| /* background-color applied per theme */ | |
| } | |
| body[theme-mode="dark"] .markdown tr:hover td { | |
| background-color: rgba(var(--color-theme-purple-rgb), 0.05) !important; /* Dark mode light purple hover */ | |
| } | |
| body[theme-mode="light"] .markdown tr:hover td { | |
| background-color: rgba(var(--color-theme-purple-rgb), 0.05) !important; /* Use same purple as dark mode */ | |
| } | |
| /* Links */ | |
| .markdown a { | |
| /* color applied per theme */ | |
| transition: color 0.3s ease; | |
| text-decoration: none; | |
| font-weight: 500; | |
| } | |
| body[theme-mode="dark"] .markdown a { | |
| color: var(--color-theme-blue) !important; /* Dark mode blue link */ | |
| } | |
| body[theme-mode="light"] .markdown a { | |
| color: var(--color-theme-blue) !important; /* Use same blue as dark mode */ | |
| } | |
| .markdown a:hover { | |
| /* color applied per theme */ | |
| text-decoration: underline; | |
| } | |
| body[theme-mode="dark"] .markdown a:hover { | |
| color: var(--color-theme-purple) !important; /* Dark mode purple hover */ | |
| } | |
| body[theme-mode="light"] .markdown a:hover { | |
| color: var(--color-theme-purple) !important; /* Use same purple as dark mode */ | |
| } | |
| /* Alert/Note Blocks (Typora Style - Keeping original colors) */ | |
| .markdown .hint-container { | |
| padding: 1em 1.5em; | |
| margin: 1.5rem 0; | |
| border-radius: var(--markdown-border-radius); | |
| border: 1px solid transparent; | |
| position: relative; | |
| overflow: hidden; | |
| } | |
| .markdown .hint-container > .hint-title { | |
| font-weight: 700; | |
| margin-bottom: 0.5em; | |
| display: flex; | |
| align-items: center; | |
| } | |
| .markdown .hint-container > .hint-title::before { | |
| /* Placeholder for icon - needs specific icons per type */ | |
| content: ''; /* Add icons via ::before if desired */ | |
| margin-right: 0.5em; | |
| font-size: 1.2em; | |
| } | |
| .markdown .hint-container p:last-child { | |
| margin-bottom: 0; | |
| } | |
| /* Alert/Note Block Variables */ | |
| :root { | |
| /* Note Colors */ | |
| --alert-note-border: rgba(0, 120, 212, 0.3); | |
| --alert-note-bg: rgba(0, 120, 212, 0.05); | |
| --alert-note-color: #0078D4; | |
| /* Tip Colors */ | |
| --alert-tip-border: rgba(138, 43, 226, 0.3); | |
| --alert-tip-bg: rgba(138, 43, 226, 0.05); | |
| --alert-tip-color: #8A2BE2; | |
| /* Important Colors */ | |
| --alert-important-border: rgba(25, 113, 194, 0.3); | |
| --alert-important-bg: rgba(25, 113, 194, 0.05); | |
| --alert-important-color: #1971C2; | |
| /* Warning Colors */ | |
| --alert-warning-border: rgba(245, 158, 11, 0.3); | |
| --alert-warning-bg: rgba(245, 158, 11, 0.05); | |
| --alert-warning-color: #F59E0B; | |
| /* Caution Colors */ | |
| --alert-caution-border: rgba(239, 68, 68, 0.3); | |
| --alert-caution-bg: rgba(239, 68, 68, 0.05); | |
| --alert-caution-color: #EF4444; | |
| } | |
| /* Alert/Note Block Styles */ | |
| .markdown blockquote:has(> [class^="hint-"]) { | |
| border: 1px solid var(--alert-note-border); | |
| background: var(--alert-note-bg); | |
| color: var(--color-text-1); | |
| padding: 1em 1.2em; | |
| margin: 1.5rem 0; | |
| border-radius: 6px; | |
| } | |
| /* Specific Alert Types */ | |
| .markdown blockquote:has(> .hint-note) { | |
| border-color: var(--alert-note-border); | |
| background-color: var(--alert-note-bg); | |
| } | |
| .markdown blockquote:has(> .hint-tip) { | |
| border-color: var(--alert-tip-border); | |
| background-color: var(--alert-tip-bg); | |
| } | |
| .markdown blockquote:has(> .hint-important) { | |
| border-color: var(--alert-important-border); | |
| background-color: var(--alert-important-bg); | |
| } | |
| .markdown blockquote:has(> .hint-warning) { | |
| border-color: var(--alert-warning-border); | |
| background-color: var(--alert-warning-bg); | |
| } | |
| .markdown blockquote:has(> .hint-caution) { | |
| border-color: var(--alert-caution-border); | |
| background-color: var(--alert-caution-bg); | |
| } | |
| /* Alert Titles */ | |
| .markdown blockquote [class^="hint-"] { | |
| font-weight: 600; | |
| color: var(--alert-note-color); | |
| display: flex; | |
| align-items: center; | |
| gap: 0.5em; | |
| margin-bottom: 0.5em; | |
| } | |
| .markdown blockquote .hint-note { | |
| color: var(--alert-note-color); | |
| } | |
| .markdown blockquote .hint-tip { | |
| color: var(--alert-tip-color); | |
| } | |
| .markdown blockquote .hint-important { | |
| color: var(--alert-important-color); | |
| } | |
| .markdown blockquote .hint-warning { | |
| color: var(--alert-warning-color); | |
| } | |
| .markdown blockquote .hint-caution { | |
| color: var(--alert-caution-color); | |
| } | |
| /* Hide default blockquote marker for alerts */ | |
| .markdown blockquote:has(> [class^="hint-"])::before { | |
| display: none; | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /* 0423 Mac风格磨砂玻璃主题 */ | |
| @import url("https://cdn.bootcdn.net/ajax/libs/lxgw-wenkai-screen-webfont/1.7.0/style.min.css"); | |
| :root { | |
| --duration-quick: 0.15s; | |
| --duration-normal: 0.3s; | |
| --duration-long: 0.5s; | |
| --easing-emphasized: cubic-bezier(0.2, 0, 0, 1); | |
| --easing-decelerate: cubic-bezier(0, 0, 0.2, 1); | |
| --easing-standard: cubic-bezier(0.4, 0, 0.2, 1); | |
| --easing-bounce: cubic-bezier(0.34, 1.56, 0.64, 1); | |
| --radius-dynamic: 12px; | |
| --radius-large: 12px; | |
| --color-brand-primary: oklch(65% 0.05 250); | |
| --color-brand-hover: color-mix( | |
| in oklch, | |
| var(--color-brand-primary) 90%, | |
| black | |
| ); | |
| --theme-lightness: 1; | |
| --shadow-intensity: 0.1; | |
| --highlight-intensity: 0.05; | |
| --file-line-width: 65rem; | |
| --font-default: "LXGW WenKai Screen", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif; | |
| --background-blur: 12px; | |
| --hover-scale: 1.01; | |
| --active-scale: 0.98; | |
| --card-translate-y: 6px; | |
| --chat-text-user: var(--color-text-1); | |
| --metal-gradient-light: linear-gradient( | |
| 90deg, | |
| rgba(255, 255, 255, 0.07) 0%, | |
| rgba(255, 255, 255, 0.15) 25%, | |
| rgba(255, 255, 255, 0.07) 50%, | |
| rgba(255, 255, 255, 0.15) 75%, | |
| rgba(255, 255, 255, 0.07) 100% | |
| ); | |
| --metal-gradient-dark: linear-gradient( | |
| 90deg, | |
| rgba(255, 255, 255, 0.03) 0%, | |
| rgba(255, 255, 255, 0.08) 25%, | |
| rgba(255, 255, 255, 0.03) 50%, | |
| rgba(255, 255, 255, 0.08) 75%, | |
| rgba(255, 255, 255, 0.03) 100% | |
| ); | |
| --border-glow: 0 0 5px rgba(255, 255, 255, 0.2); | |
| } | |
| /* 深色模式 */ | |
| body[theme-mode="dark"] { | |
| --background-image-url: url("https://gcore.jsdelivr.net/gh/talentestors/cdn@latest/images/illust_132800.webp"); | |
| --background-overlay-opacity: 0.5; | |
| --color-background: linear-gradient( | |
| 145deg, | |
| rgba(28, 28, 30, 0.56) 0%, | |
| rgba(44, 44, 46, 0.56) 100% | |
| ); | |
| --color-background-soft: linear-gradient( | |
| 145deg, | |
| rgba(44, 44, 46, 0.55) 0%, | |
| rgba(58, 58, 60, 0.55) 100% | |
| ); | |
| --color-background-mute: linear-gradient( | |
| 145deg, | |
| rgba(72, 72, 74, 0.4) 0%, | |
| rgba(99, 99, 102, 0.4) 100% | |
| ); | |
| --navbar-background: linear-gradient( | |
| to right, | |
| rgba(28, 28, 30, 0.56) 0%, | |
| rgba(44, 44, 46, 0.56) 100% | |
| ); | |
| --chat-background: linear-gradient( | |
| to bottom, | |
| rgba(44, 44, 46, 0.5) 0%, | |
| rgba(58, 58, 60, 0.5) 100% | |
| ); | |
| --chat-background-user: linear-gradient( | |
| to right, | |
| rgba(30, 144, 255, 0.4) 0%, | |
| rgba(65, 172, 255, 0.4) 100% | |
| ); | |
| --user-text-color-dark: rgba(255, 255, 255, 0.95); | |
| --chat-background-assistant: linear-gradient( | |
| to right, | |
| rgba(72, 72, 74, 0.4) 0%, | |
| rgba(85, 85, 87, 0.4) 100% | |
| ); | |
| --ctp-text: rgba(255, 255, 255, 0.85); | |
| --shadow-color: rgba(0, 0, 0, 0.25); | |
| --highlight-color: rgba(255, 255, 255, 0.08); | |
| --deep-thinking-color: rgba(180, 180, 200, 0.9); | |
| --code-bg-dark: rgba(30, 30, 32, 0.7); | |
| --footnote-bg-dark: rgba(44, 44, 46, 0.4); | |
| --theme-lightness: -1; | |
| --shadow-intensity: 0.25; | |
| --border-color: rgba(255, 255, 255, 0.05); | |
| --border-hover-color: rgba(255, 255, 255, 0.1); | |
| --metal-gradient: var(--metal-gradient-dark); | |
| --xy-controls-button-color-default: var(--code-bg-dark); | |
| --xy-controls-button-color-hover-default: rgb(0, 0, 0); | |
| --ant-modal-body-background: rgba(30, 30, 30, 0.85); | |
| } | |
| /* 浅色模式 */ | |
| body[theme-mode="light"] { | |
| --background-image-url: url("https://gcore.jsdelivr.net/gh/talentestors/cdn@latest/images/wallhaven-72o6ze.webp"); | |
| --background-overlay-opacity: 0.5; | |
| --color-background: linear-gradient( | |
| 145deg, | |
| rgba(255, 255, 255, 0.35) 0%, | |
| rgba(250, 250, 255, 0.35) 100% | |
| ); | |
| --color-background-soft: linear-gradient( | |
| 145deg, | |
| rgba(245, 245, 250, 0.25) 0%, | |
| rgba(240, 240, 245, 0.25) 100% | |
| ); | |
| --color-background-mute: linear-gradient( | |
| 145deg, | |
| rgba(235, 235, 240, 0.25) 0%, | |
| rgba(230, 230, 235, 0.25) 100% | |
| ); | |
| --navbar-background: linear-gradient( | |
| to right, | |
| rgba(255, 255, 255, 0.26) 0%, | |
| rgba(250, 250, 255, 0.26) 100% | |
| ); | |
| --chat-background: linear-gradient( | |
| to bottom, | |
| rgba(255, 255, 255, 0.3) 0%, | |
| rgba(250, 250, 255, 0.3) 100% | |
| ); | |
| --chat-background-user: linear-gradient( | |
| to right, | |
| rgba(135, 206, 250, 0.5) 0%, | |
| rgba(165, 215, 255, 0.5) 100% | |
| ); | |
| --chat-background-assistant: linear-gradient( | |
| to right, | |
| rgba(240, 240, 245, 0.4) 0%, | |
| rgba(235, 235, 240, 0.4) 100% | |
| ); | |
| --color-white: rgba(255, 255, 255, 0.9); | |
| --ctp-text: rgba(30, 30, 30, 0.9); | |
| --shadow-color: rgba(0, 0, 0, 0.06); | |
| --highlight-color: rgba(255, 255, 255, 0.3); | |
| --deep-thinking-color: rgba(80, 80, 100, 0.9); | |
| --code-bg-light: rgba(240, 240, 245, 0.4); | |
| --footnote-bg-light: rgba(245, 245, 250, 0.3); | |
| --theme-lightness: 1; | |
| --border-color: rgba(255, 255, 255, 0.15); | |
| --border-hover-color: rgba(255, 255, 255, 0.25); | |
| --metal-gradient: var(--metal-gradient-light); | |
| --ant-modal-body-background: rgba(255, 255, 255, 0.9); | |
| } | |
| *:not(.katex):not(.katex *):not(.iconfont):not(.markdown code):not(.markdown pre):not(.MathJax) { | |
| font-family: var(--font-default); | |
| line-height: 1.5; | |
| letter-spacing: 0.0625em; | |
| } | |
| body { | |
| position: relative; | |
| background-image: var(--background-image-url); | |
| background-size: cover; | |
| background-position: center; | |
| background-repeat: no-repeat; | |
| background-attachment: fixed; | |
| } | |
| body::after { | |
| content: ""; | |
| position: fixed; | |
| top: 0; | |
| left: 0; | |
| width: 100%; | |
| height: 100%; | |
| background: var(--color-background); | |
| opacity: var(--background-overlay-opacity); | |
| -webkit-backdrop-filter: blur(var(--background-blur)); | |
| backdrop-filter: blur(var(--background-blur)); | |
| z-index: -1; | |
| } | |
| .message-content-container { | |
| will-change: transform; | |
| contain: layout paint style; | |
| background: color-mix( | |
| in srgb, | |
| var(--color-background-soft), | |
| transparent 10% | |
| ) !important; | |
| -webkit-backdrop-filter: blur(16px); | |
| backdrop-filter: blur(16px); | |
| -webkit-transform: translateZ(0); | |
| transform: translateZ(0); | |
| border: none; | |
| border-radius: var(--radius-dynamic); | |
| position: relative; | |
| z-index: 1; | |
| outline: none; | |
| transition: background-color var(--duration-normal) var(--easing-standard), | |
| box-shadow var(--duration-normal) var(--easing-standard); | |
| margin-block: 8px; | |
| padding-inline: 12px; | |
| padding-block: 10px; | |
| box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); | |
| } | |
| .message-content-container::before { | |
| content: ""; | |
| position: absolute; | |
| top: 0; | |
| left: 0; | |
| right: 0; | |
| bottom: 0; | |
| border-radius: var(--radius-dynamic); | |
| background: var(--metal-gradient); | |
| opacity: 0.4; | |
| pointer-events: none; | |
| z-index: -1; | |
| border: 0.3px solid var(--border-color); | |
| transition: opacity var(--duration-normal) var(--easing-standard); | |
| } | |
| .message-content-container:hover::before { | |
| opacity: 0.7; | |
| border-color: var(--border-hover-color); | |
| } | |
| @keyframes cardAppear { | |
| from { | |
| opacity: 0; | |
| transform: translateY(var(--card-translate-y)); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: translateY(0); | |
| } | |
| } | |
| .chat-item { | |
| animation: cardAppear var(--duration-normal) var(--easing-decelerate) forwards; | |
| } | |
| div[class^="InputContainer"], | |
| #inputbar { | |
| background: color-mix( | |
| in srgb, | |
| var(--color-background), | |
| transparent 20% | |
| ) !important; | |
| -webkit-backdrop-filter: blur(12px); | |
| backdrop-filter: blur(12px); | |
| border: none; | |
| position: relative; | |
| border-radius: var(--radius-large); | |
| margin: -15px 20px 15px 20px; | |
| transition: box-shadow var(--duration-normal) var(--easing-standard); | |
| outline: none; | |
| box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); | |
| } | |
| #inputbar::before { | |
| content: ""; | |
| position: absolute; | |
| top: 0; | |
| left: 0; | |
| right: 0; | |
| bottom: 0; | |
| border-radius: var(--radius-large); | |
| background: var(--metal-gradient); | |
| opacity: 0.4; | |
| pointer-events: none; | |
| z-index: -1; | |
| border: 0.3px solid var(--border-color); | |
| } | |
| #inputbar:focus-within::before { | |
| opacity: 0.8; | |
| border-color: var(--color-brand-primary); | |
| box-shadow: var(--border-glow); | |
| } | |
| .navbar { | |
| background: color-mix( | |
| in srgb, | |
| var(--navbar-background), | |
| transparent 20% | |
| ) !important; | |
| -webkit-backdrop-filter: blur(12px); | |
| backdrop-filter: blur(12px); | |
| border: none; | |
| position: relative; | |
| box-shadow: 0 1px 5px rgba(0, 0, 0, 0.05); | |
| animation: navbarAppear var(--duration-long) var(--easing-standard) forwards; | |
| } | |
| .navbar::after { | |
| content: ""; | |
| position: absolute; | |
| left: 0; | |
| right: 0; | |
| bottom: 0; | |
| height: 0.3px; | |
| background: var(--metal-gradient); | |
| opacity: 0.5; | |
| } | |
| @keyframes navbarAppear { | |
| from { | |
| opacity: 0; | |
| transform: translateY(-10px); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: translateY(0); | |
| } | |
| } | |
| .chat-container { | |
| background: transparent !important; | |
| } | |
| .chat-item.user .message-content-container { | |
| background: color-mix( | |
| in srgb, | |
| rgba(135, 206, 250, 0.4), | |
| transparent 20% | |
| ) !important; | |
| -webkit-backdrop-filter: blur(16px); | |
| backdrop-filter: blur(16px); | |
| border-left: 3px solid rgba(30, 144, 255, 0.6); | |
| -webkit-transform: translateZ(0); | |
| transform: translateZ(0); | |
| } | |
| .chat-item.assistant .message-content-container { | |
| background: color-mix( | |
| in srgb, | |
| rgba(255, 182, 193, 0.4), | |
| transparent 20% | |
| ) !important; | |
| -webkit-backdrop-filter: blur(16px); | |
| backdrop-filter: blur(16px); | |
| border-left: 3px solid rgba(255, 182, 193, 0.6); | |
| -webkit-transform: translateZ(0); | |
| transform: translateZ(0); | |
| } | |
| @media (prefers-contrast: more) { | |
| .message-content-container::before { | |
| opacity: 0.8; | |
| border-width: 1px; | |
| } | |
| #inputbar::before { | |
| opacity: 0.8; | |
| border-width: 1px; | |
| } | |
| } | |
| body[theme-mode="dark"] .chat-item.user .nickname, | |
| body[theme-mode="dark"] .chat-item.user .message { | |
| color: var(--user-text-color-dark); | |
| } | |
| .chat-item .nickname, | |
| .chat-item .message { | |
| color: var(--ctp-text); | |
| } | |
| .ant-collapse-content-box .markdown { | |
| color: var(--deep-thinking-color); | |
| background: color-mix( | |
| in srgb, | |
| var(--color-background-soft), | |
| transparent 30% | |
| ) !important; | |
| -webkit-backdrop-filter: blur(8px); | |
| backdrop-filter: blur(8px); | |
| border-radius: 8px; | |
| padding: 10px 14px; | |
| margin-top: 8px; | |
| border-left: 2px solid rgba(180, 180, 200, 0.3); | |
| } | |
| body[theme-mode="dark"] .ant-collapse-content-box .markdown { | |
| background: color-mix( | |
| in srgb, | |
| var(--color-background-soft), | |
| transparent 50% | |
| ) !important; | |
| border-left: 2px solid rgba(180, 180, 200, 0.2); | |
| } | |
| /* 浅色模式代码背景 - Mac OS风格 */ | |
| .shiki.one-light { | |
| background-color: transparent !important; | |
| border-radius: 6px; | |
| position: relative; | |
| overflow: hidden; | |
| transition: box-shadow var(--duration-normal) var(--easing-standard); | |
| } | |
| .shiki.one-light::before { | |
| content: ""; | |
| position: absolute; | |
| top: 0; | |
| left: 0; | |
| right: 0; | |
| bottom: 0; | |
| border-radius: 6px; | |
| background: var(--metal-gradient); | |
| opacity: 0.3; | |
| pointer-events: none; | |
| z-index: -1; | |
| border: 0.3px solid rgba(0, 0, 0, 0.05); | |
| } | |
| /* 深色模式代码背景 - Mac OS风格 */ | |
| .shiki.material-theme-darker { | |
| background-color: transparent !important; | |
| border-radius: 6px; | |
| position: relative; | |
| overflow: hidden; | |
| transition: box-shadow var(--duration-normal) var(--easing-standard); | |
| } | |
| .shiki.material-theme-darker::before { | |
| content: ""; | |
| position: absolute; | |
| top: 0; | |
| left: 0; | |
| right: 0; | |
| bottom: 0; | |
| border-radius: 6px; | |
| background: var(--metal-gradient); | |
| opacity: 0.2; | |
| pointer-events: none; | |
| z-index: -1; | |
| border: 0.3px solid rgba(255, 255, 255, 0.05); | |
| } | |
| /* 代码块悬停效果 - 光泽变化 */ | |
| pre:hover .shiki::before { | |
| opacity: 0.5; | |
| } | |
| /* 引用来源背景透明 - Mac OS风格 */ | |
| .footnotes { | |
| background-color: var(--footnote-bg-light); | |
| border-radius: 8px; | |
| position: relative; | |
| -webkit-backdrop-filter: blur(12px); | |
| backdrop-filter: blur(12px); | |
| transition: box-shadow var(--duration-normal) var(--easing-standard); | |
| } | |
| .footnotes::before { | |
| content: ""; | |
| position: absolute; | |
| top: 0; | |
| left: 0; | |
| right: 0; | |
| bottom: 0; | |
| border-radius: 8px; | |
| background: var(--metal-gradient); | |
| opacity: 0.3; | |
| pointer-events: none; | |
| z-index: -1; | |
| border: 0.3px solid rgba(0, 0, 0, 0.05); | |
| } | |
| body[theme-mode="dark"] .footnotes { | |
| background-color: var(--footnote-bg-dark); | |
| } | |
| body[theme-mode="dark"] .footnotes::before { | |
| border-color: rgba(255, 255, 255, 0.05); | |
| opacity: 0.2; | |
| } | |
| /* 保留原有样式 - 输入框高度 */ | |
| #inputbar textarea.ant-input { | |
| height: 120px !important; | |
| padding: 10px; | |
| } | |
| /* 按钮 - Mac OS风格(移除动效) */ | |
| button, | |
| .ant-btn { | |
| border-radius: 6px; | |
| -webkit-backdrop-filter: blur(12px); | |
| backdrop-filter: blur(12px); | |
| transition: background-color var(--duration-quick) var(--easing-standard); | |
| position: relative; | |
| overflow: hidden; | |
| } | |
| /* 按钮金属质感 */ | |
| button::before, | |
| .ant-btn::before { | |
| content: ""; | |
| position: absolute; | |
| top: 0; | |
| left: 0; | |
| right: 0; | |
| bottom: 0; | |
| background: var(--metal-gradient); | |
| opacity: 0.2; | |
| pointer-events: none; | |
| z-index: -1; | |
| } | |
| button:hover::before, | |
| .ant-btn:hover::before { | |
| opacity: 0.4; | |
| } | |
| /* 滚动条 - Mac OS风格 */ | |
| ::-webkit-scrollbar { | |
| width: 8px; | |
| height: 8px; | |
| } | |
| ::-webkit-scrollbar-track { | |
| background: transparent; | |
| } | |
| ::-webkit-scrollbar-thumb { | |
| background: rgba(0, 0, 0, 0.2); | |
| border-radius: 4px; | |
| transition: background var(--duration-quick) var(--easing-standard); | |
| background-image: var(--metal-gradient-light); | |
| background-size: 100px 100%; | |
| } | |
| ::-webkit-scrollbar-thumb:horizontal { | |
| background: rgba(0, 0, 0, 0.2); | |
| border-radius: 4px; | |
| } | |
| body[theme-mode="dark"] ::-webkit-scrollbar-thumb { | |
| background: rgba(255, 255, 255, 0.15); | |
| background-image: var(--metal-gradient-dark); | |
| } | |
| ::-webkit-scrollbar-thumb:hover { | |
| background: rgba(0, 0, 0, 0.25); | |
| } | |
| ::-webkit-scrollbar-thumb:horizontal:hover { | |
| background: rgba(0, 0, 0, 0.3); | |
| } | |
| body[theme-mode="dark"] ::-webkit-scrollbar-thumb:hover { | |
| background: rgba(255, 255, 255, 0.3); | |
| } | |
| .markdown pre { | |
| overflow-x: auto !important; | |
| white-space: nowrap !important; | |
| } | |
| /* 加载时的页面过渡效果 */ | |
| @keyframes fadeIn { | |
| from { | |
| opacity: 0; | |
| } | |
| to { | |
| opacity: 1; | |
| } | |
| } | |
| body { | |
| animation: fadeIn 0.6s var(--easing-decelerate) forwards; | |
| } | |
| /* 卡片的内容渐入动画 */ | |
| .message-content-container .markdown { | |
| opacity: 0; | |
| animation: fadeIn 0.2s var(--easing-decelerate) 0.06s forwards; | |
| } | |
| /* 链接颜色 - Mac OS风格 */ | |
| a { | |
| color: var(--color-brand-primary); | |
| transition: color var(--duration-quick) var(--easing-standard); | |
| } | |
| a:hover { | |
| color: var(--color-brand-hover); | |
| } | |
| /* 选中文本背景色 - Mac OS风格 */ | |
| ::selection { | |
| background-color: color-mix( | |
| in srgb, | |
| var(--color-brand-primary), | |
| transparent 70% | |
| ); | |
| } | |
| /* 夜间/日间模式切换按钮(移除动效) */ | |
| .theme-toggle-button { | |
| transition: opacity var(--duration-normal) var(--easing-emphasized); | |
| } | |
| .theme-toggle-button:hover { | |
| opacity: 0.8; | |
| } | |
| .ant-modal-body { | |
| background: var(--ant-modal-body-background); | |
| } | |
| body[theme-mode="light"] .ant-tooltip { | |
| --antd-arrow-background-color: rgb(255 255 255 / 95%) !important; | |
| } | |
| body[theme-mode="light"] .ant-tooltip .ant-tooltip-content .ant-tooltip-inner, | |
| body[theme-mode="light"] .ant-tooltip .ant-tooltip-inner .ant-typography { | |
| color: #000 !important; | |
| background-color: rgb(255 255 255 / 95%) !important; | |
| } | |
| pre div[class^="CodeContent"], | |
| .ant-dropdown, | |
| .ant-dropdown-menu { | |
| border-radius: 6px !important; | |
| } | |
| body[theme-mode="light"] pre div[class^="CodeContent"] { | |
| background-color: var(--code-bg-light) !important; | |
| } | |
| body[theme-mode="dark"] pre div[class^="CodeContent"] { | |
| background-color: var(--code-bg-dark) !important; | |
| } | |
| /* 浅色模式加粗文本 */ | |
| body[theme-mode="light"] .markdown strong { | |
| color: rgba(0, 0, 0, 1); /* 纯黑色,最大对比度 */ | |
| } | |
| /* 深色模式加粗文本 */ | |
| body[theme-mode="dark"] .markdown strong { | |
| color: rgba(255, 255, 255, 1); /* 纯白色,最大对比度 */ | |
| } | |
| div[class^="ServerCard"], | |
| div[class^="AgentsList"] div[class^="AgentCardContainer"] { | |
| background: var(--color-background); | |
| } | |
| div[class^="AgentsList"] div[class^="AgentCardContainer"] div[class^="CardInfo"] { | |
| margin-top: 0; | |
| } | |
| body[theme-mode="light"] div[class^="Tag"] { | |
| color: rgb(100, 100, 100); | |
| background-color: rgba(120, 120, 120, 0.125); | |
| } | |
| button.ant-input-clear-icon { | |
| line-height: 1em !important; | |
| width: 1em; | |
| height: 1em; | |
| border-radius: 0.5em; | |
| } | |
| #home-page .active, | |
| div[class^="TopicListItem"]:hover { | |
| background: var(--color-background-soft) !important; | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment