/* ===== 云大阁网站样式表 ===== */ /* 重置默认样式,消除浏览器默认margin和padding */ * { margin: 0; padding: 0; box-sizing: border-box; } /* ===== Deep Research 控制面板样式 ===== */ /* 开关切换样式 */ .toggle-switch input:checked + .toggle-slider { background: #4CAF50 !important; } .toggle-switch input:checked + .toggle-slider span { transform: translateX(20px); } .toggle-slider span { transition: transform 0.3s ease; } /* 控制面板动画 */ .deep-research-controls { animation: slideInUp 0.4s ease-out; } @keyframes slideInUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } } /* 思考过程显示样式 */ .thinking-process { background: rgba(255, 248, 220, 0.8); border-left: 4px solid #ffa500; padding: 12px 16px; margin: 8px 0; border-radius: 6px; font-style: italic; color: #8b4513; backdrop-filter: blur(5px); } .thinking-process .thinking-label { font-weight: bold; color: #ff8c00; font-size: 0.85rem; margin-bottom: 4px; } .thinking-process .thinking-content { line-height: 1.4; font-size: 0.9rem; } /* ===== 侧边栏样式 - 复刻duijie.html ===== */ /* 左侧栏容器 */ .sidebar { position: fixed; top: 0; left: 0; bottom: 0; width: 260px; background: #f8f9fa; border-right: 1px solid #e0e0e0; transition: width 0.3s ease; overflow: hidden; /* 保持duijie.html原有设置 */ z-index: 1000; } .sidebar.collapsed { width: 70px; } /* 主体内容区域 */ .main-content { margin-left: 260px; transition: margin-left 0.3s ease; flex: 1; } .sidebar.collapsed + .main-content { margin-left: 70px; } /* 侧边菜单内容 */ .sidebar-content { padding: 8px; display: flex; flex-direction: column; height: 100%; padding-top: 6px; } /* 底部菜单项容器 */ .sidebar-bottom-items { margin-top: auto; padding-top: 16px; padding-bottom: 20px; } .menu-item { padding: 10px 8px; margin-bottom: 8px; border-radius: 8px; cursor: pointer; transition: background 0.2s; white-space: nowrap; overflow: hidden; display: flex; align-items: center; } /* 新对话图标与logo的间距 */ #newChatBtn { margin-top: 15px; } /* 新对话云朵图标样式 */ .cloud-icon-container { position: relative; width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; } .cloud-main { position: relative; width: 20px; height: 14px; } .cloud-circle { position: absolute; border-radius: 50%; background: linear-gradient(135deg, #81d4fa 0%, #4fc3f7 100%); } .cloud-circle-1 { width: 6px; height: 6px; top: 4px; left: 2px; } .cloud-circle-2 { width: 8px; height: 8px; top: 2px; left: 6px; } .cloud-circle-3 { width: 7px; height: 7px; top: 3px; left: 11px; } .cloud-circle-4 { width: 5px; height: 5px; top: 5px; left: 15px; } .cloud-base { position: absolute; bottom: 2px; left: 1px; width: 18px; height: 6px; background: linear-gradient(135deg, #81d4fa 0%, #4fc3f7 100%); border-radius: 3px; } .cloud-plus { position: absolute; top: -2px; right: -2px; width: 12px; height: 12px; background: linear-gradient(135deg, #29b6f6 0%, #0288d1 100%); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 8px; font-weight: bold; color: white; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2); } .menu-item:hover { background: #e6f0ff; } .menu-icon { display: flex; width: 30px; height: 30px; text-align: center; margin-right: 8px; font-size: 1.5em; align-items: center; justify-content: center; flex-shrink: 0; } /* Logo图标特殊处理 - 保持相同的容器尺寸但图片更大 */ #logoMenuItem .menu-icon { width: 30px; height: 30px; } #logoMenuItem .menu-icon img { width: 40px !important; height: 40px !important; } /* Logo图标向上调整 */ #logoMenuItem { margin-top: -10px; } /* 菜单文字样式 - 与欢迎模块字体一致 */ .menu-text { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif; font-weight: normal; font-size: 0.875rem; color: #1f2937; line-height: 1.25rem; } /* 折叠时隐藏文字 */ .sidebar.collapsed .menu-text { display: none; } /* 历史对话区域样式 */ .chat-history-section { margin-top: 16px; flex: 1; overflow-y: auto; } .chat-history-title { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif; font-size: 0.75rem; font-weight: 500; color: #9ca3af; margin-bottom: 8px; padding: 0 8px; text-transform: uppercase; letter-spacing: 0.05em; } .chat-history-list { display: flex; flex-direction: column; gap: 2px; } .chat-history-item { padding: 8px 12px; border-radius: 6px; cursor: pointer; transition: background-color 0.2s ease; position: relative; } .chat-history-item:hover { background-color: #f3f4f6; } .chat-title { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif; font-size: 0.875rem; font-weight: normal; color: #374151; line-height: 1.2; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .chat-time { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif; font-size: 0.75rem; font-weight: normal; color: #9ca3af; line-height: 1; } /* 折叠时隐藏历史对话区域 */ .sidebar.collapsed .chat-history-section { display: none; } /* ===== 工具提示样式 - 参考yundage-keyong1 ===== */ .tooltip-wrapper { position: relative; display: inline-block; cursor: pointer; } .tooltip-text { visibility: hidden; opacity: 0; position: absolute; bottom: 125%; left: 50%; transform: translateX(-50%); background-color: #333; color: #fff; text-align: center; padding: 6px 10px; border-radius: 6px; white-space: nowrap; font-size: 13px; transition: opacity 0.3s; z-index: 99999; /* 最高层级 */ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3); /* 添加阴影确保可见性 */ border: 1px solid rgba(255, 255, 255, 0.1); /* 添加边框 */ } .tooltip-wrapper:hover .tooltip-text { visibility: visible; opacity: 1; } /* 折叠状态下tooltip由JavaScript动态定位 */ .sidebar.collapsed .tooltip-wrapper .tooltip-text { position: fixed !important; /* 强制使用fixed定位,脱离父容器层级 */ z-index: 99999 !important; /* 强制最高层级 */ } /* 响应式处理 - 移动端 */ @media (max-width: 768px) { .sidebar { transform: translateX(-100%); width: 260px; } .sidebar.show { transform: translateX(0); } .main-content { margin-left: 0; } .sidebar.collapsed + .main-content { margin-left: 0; } } /* 确保背景不会干扰侧边栏 */ .background-container { z-index: 1 !important; } .animated-gradient { z-index: 1 !important; } .backdrop-overlay { z-index: 2 !important; } /* ===== DeepSeek风格样式 ===== */ /* DeepSeek欢迎区域 */ .deepseek-welcome-section { animation: fadeInUp 0.8s ease-out 0.3s both; } /* DeepSeek输入区域 */ .deepseek-input-section { animation: fadeInUp 0.8s ease-out 0.5s both; } /* 保持原有的文字样式,只调整动画时间 */ .deepseek-welcome-section .cloud-logo { animation: logo-spin 20s linear infinite; } /* Apple风格的对话输入框样式 */ .deepseek-input-section .input-area { background: rgba(255, 255, 255, 0.85); backdrop-filter: blur(25px) saturate(1.2); border-radius: 24px; padding: 2rem; box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.8); border: 1px solid rgba(255, 255, 255, 0.3); position: relative; overflow: hidden; transition: all 0.3s ease; z-index: 10; /* 确保输入区域在上层 */ } .deepseek-input-section .input-area::before { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 20% 30%, rgba(255, 255, 255, 0.1) 0%, transparent 50%), radial-gradient(circle at 80% 70%, rgba(255, 255, 255, 0.05) 0%, transparent 50%); pointer-events: none; } .deepseek-input-section .input-area:hover { box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.8); border-color: rgba(255, 255, 255, 0.3); } .deepseek-input-section .input-area:focus-within { border-color: rgba(255, 255, 255, 0.6); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05), 0 0 0 3px rgba(255, 255, 255, 0.2); } html, body { height: 100%; margin: 0; padding: 0; } /* 导航栏特色样式 - 基于/test/css/导航栏1.css的动画效果 */ .nav-link { position: relative; text-transform: uppercase; font-weight: 800; font-size: 14px; letter-spacing: 0.5px; color: #374151; /* text-gray-700 */ text-decoration: none; padding: 8px 0; transition: color 0.2s ease-in-out; } .nav-link:hover { color: #2563eb; /* hover:text-blue-600 */ } /* 导航链接下划线动画效果 */ .nav-link::before { content: ''; display: block; height: 3px; background-color: #2563eb; position: absolute; top: -8px; width: 0%; transition: all ease-in-out 250ms; } .nav-link:hover::before { width: 100%; } /* ===== 侧边栏样式 ===== */ /* 侧边栏显示状态 */ .sidebar.show { transform: translateX(0); } /* 侧边栏默认展开状态(仅桌面端) */ @media (min-width: 769px) { .sidebar { transform: translateX(0); } } /* 侧边栏隐藏状态 */ .sidebar.hidden { transform: translateX(-100%); } /* 侧边栏遮罩层 */ .sidebar-overlay.show { display: block; opacity: 1; } /* 侧边栏内容区域调整 */ .sidebar .p-4 { padding-top: 1rem; } /* 主内容区域在侧边栏打开时的偏移 */ .main-content.sidebar-open { margin-left: 256px; } /* 主内容区域在侧边栏完全隐藏时的偏移 */ .main-content.sidebar-collapsed { margin-left: 48px; } /* 确保主内容区域不被侧边栏遮挡 */ .main-content { position: relative; z-index: 10; margin-left: 0; transition: margin-left 0.3s ease; } /* 桌面端侧边栏展开时的默认状态 */ @media (min-width: 769px) { .main-content { margin-left: 256px; } /* 侧边栏隐藏时只显示图标栏 */ .main-content.sidebar-closed { margin-left: 48px; } /* 侧边栏完全隐藏时 */ .main-content.sidebar-fully-hidden { margin-left: 0; } } /* 折叠图标栏样式 */ #collapsedSidebar { transition: all 0.3s ease; } #collapsedSidebar.show { display: flex !important; } /* 侧边栏完全隐藏状态 */ .sidebar.fully-hidden { transform: translateX(-100%); } /* 桌面端折叠图标栏默认显示 */ @media (min-width: 769px) { #collapsedSidebar { display: flex !important; } /* 当主侧边栏显示时隐藏折叠栏 */ #collapsedSidebar.hide { display: none !important; } } /* 聊天项样式 - ChatGPT风格 */ .chat-item { transition: all 0.15s ease; border-radius: 8px; } .chat-item:hover { background-color: #ffffff; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); } .chat-item.active { background-color: #ffffff; border-left: 3px solid #2563eb; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); } /* 侧边栏滚动区域优化 */ .sidebar .overflow-y-auto { scrollbar-width: thin; scrollbar-color: #d1d5db #f9fafb; } .sidebar .overflow-y-auto::-webkit-scrollbar { width: 3px; } .sidebar .overflow-y-auto::-webkit-scrollbar-track { background: transparent; } .sidebar .overflow-y-auto::-webkit-scrollbar-thumb { background: #d1d5db; border-radius: 2px; } .sidebar .overflow-y-auto::-webkit-scrollbar-thumb:hover { background: #9ca3af; } /* ===== 聊天区域样式 ===== */ /* 聊天消息样式 */ .chat-messages { scrollbar-width: thin; scrollbar-color: #cbd5e1 #f1f5f9; } .chat-messages::-webkit-scrollbar { width: 6px; } .chat-messages::-webkit-scrollbar-track { background: #f1f5f9; border-radius: 3px; } .chat-messages::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 3px; } .chat-messages::-webkit-scrollbar-thumb:hover { background: #94a3b8; } /* 用户消息样式 - Gemini风格 */ .user-message { word-wrap: break-word; backdrop-filter: blur(10px); max-width: 80%; background: rgba(37, 99, 235, 0.1); border: 1px solid rgba(37, 99, 235, 0.2); border-radius: 18px 18px 4px 18px; margin-left: auto; } /* AI消息样式 - Gemini风格 */ .ai-message { word-wrap: break-word; backdrop-filter: blur(10px); max-width: 80%; background: rgba(255, 255, 255, 0.8); border: 1px solid rgba(0, 0, 0, 0.1); border-radius: 18px 18px 18px 4px; margin-right: auto; } /* 消息时间戳样式 */ .message-item .text-xs { font-size: 0.75rem; color: rgba(0, 0, 0, 0.5); margin-top: 0.25rem; } /* 用户消息时间戳右对齐 */ .message-item .text-right { text-align: right !important; } /* AI消息时间戳左对齐 */ .message-item .text-left { text-align: left !important; } /* 消息头像样式 */ .message-avatar { width: 32px; height: 32px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 600; } /* Apple风格的输入框样式 */ .input-wrapper:focus-within { border-color: rgba(255, 255, 255, 0.6) !important; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05), 0 0 0 3px rgba(255, 255, 255, 0.2) !important; } .chat-textarea::placeholder { color: rgba(0, 0, 0, 0.5); } .send-button:hover:not(:disabled) { background: rgba(255, 255, 255, 0.8) !important; transform: scale(1.05); box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); } .send-button:disabled { cursor: not-allowed; opacity: 0.5; } /* Gemini风格按钮效果 */ .gemini-btn { position: relative; overflow: hidden; } .gemini-btn::before { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent); transition: left 0.5s; } .gemini-btn:hover::before { left: 100%; } /* 聊天区域整体样式 - 无滚动条全屏布局 */ .chat-section { height: 100vh; position: relative; overflow: hidden; } /* 主内容区域无滚动布局 */ .main-content { height: 100vh; overflow: hidden; position: relative; } /* 响应式调整 - 新的布局适应 */ @media (max-height: 700px) { .ai-welcome-section { margin-bottom: 1rem; } .ai-welcome-section .mb-4 { margin-bottom: 0.75rem; } #chatMessages { max-height: 25vh !important; min-height: 150px !important; } .text-3d-container { margin: 20px 0 !important; } } @media (max-height: 600px) { .ai-welcome-section { margin-bottom: 0.5rem; } .ai-welcome-section h2 { font-size: 1.25rem; margin-bottom: 0.5rem; } #chatMessages { max-height: 20vh !important; min-height: 120px !important; } .input-area { margin-bottom: 0.5rem; } .text-3d-container { margin: 10px 0 !important; } } /* ===== 简化背景样式 - 调试版本 ===== */ /* Chroma Hero 主容器 - 简化版 */ .chroma-hero { display: flex; overflow: clip; position: relative; background: #f8f8f8; /* 静态背景 */ } /* 移除所有背景动画和复杂效果 */ /* 聊天消息容器优化 - Gemini风格 */ .chat-messages { transition: all 0.3s ease; overflow: visible !important; /* 移除内部滚动条 */ } /* ===== 聊天字体大小调整 ===== */ .user-message, .ai-message { font-size: 18px !important; line-height: 1.6 !important; } #chatMessages .user-message p, #chatMessages .ai-message p, #chatMessages .user-message div, #chatMessages .ai-message div { font-size: 18px !important; } .ai-message pre, .user-message pre, .ai-message code, .user-message code { font-size: 15px !important; } .ai-message h1 { font-size: 26px !important; } .ai-message h2 { font-size: 24px !important; } .ai-message h3 { font-size: 22px !important; } .ai-message h4 { font-size: 20px !important; } .ai-message h5 { font-size: 18px !important; } .ai-message h6 { font-size: 18px !important; } .ai-message ul li, .ai-message ol li, .user-message ul li, .user-message ol li { font-size: 18px !important; line-height: 1.6 !important; } /* 消息动画效果 */ .message-item { animation: slideIn 0.5s ease-out; } @keyframes slideIn { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } /* 消息打字效果 */ .typing-indicator { display: flex; align-items: center; gap: 4px; padding: 12px 16px; } .typing-dot { width: 8px; height: 8px; border-radius: 50%; background-color: #94a3b8; animation: typing 1.4s infinite ease-in-out; } .typing-dot:nth-child(1) { animation-delay: -0.32s; } .typing-dot:nth-child(2) { animation-delay: -0.16s; } .typing-dot:nth-child(3) { animation-delay: 0s; } @keyframes typing { 0%, 80%, 100% { transform: scale(0.8); opacity: 0.5; } 40% { transform: scale(1); opacity: 1; } } /* 深度检索按钮样式 - 优先级提升 */ .deep-search-btn { position: relative; transition: all 0.3s ease; } .deep-search-btn.active { background-color: #dbeafe !important; border-color: #3b82f6 !important; color: #1d4ed8 !important; } .deep-search-btn.active::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(45deg, rgba(59, 130, 246, 0.1), rgba(59, 130, 246, 0.2)); border-radius: inherit; animation: pulse 2s infinite; } /* 确保新增的功能按钮不影响原有的深度检索按钮 */ .function-btn:not(.deep-search-btn) { /* 新增功能按钮的样式 */ } .function-btn.deep-search-btn { /* 保持原有深度检索按钮样式 */ background-color: transparent; border: 1px solid #e5e7eb; } @keyframes pulse { 0%, 100% { opacity: 0.7; } 50% { opacity: 1; } } /* ===== 增强型对话框样式 - duihuakuang技术集成 ===== */ /* AI Logo动画 */ @keyframes logo-spin { 0% { transform: rotate(0deg) scale(1); } 100% { transform: rotate(360deg) scale(1); } } @keyframes gradient-shift { 0% { transform: rotate(0deg) scale(1); } 100% { transform: rotate(360deg) scale(1); } } .animate-logo-spin { animation: logo-spin 20s linear infinite; transform-origin: center; } .animate-gradient-shift { animation: gradient-shift 8s linear infinite; transform-origin: center; } /* 欢迎区域样式 */ .ai-welcome-section { opacity: 0; animation: fadeInUp 0.8s ease-out 0.3s forwards; } /* 增强型输入区域 */ .enhanced-input-area { transition: all 0.3s ease; } .enhanced-input-area:hover { box-shadow: 0 12px 30px rgba(59, 130, 246, 0.15); } /* 功能按钮样式 */ .function-btn { transition: all 0.2s ease; } .function-btn.active { background-color: #dbeafe; border-color: #3b82f6; color: #1d4ed8; } .function-btn.active i, .function-btn.active svg { color: #3b82f6; } /* 发送按钮状态 - 保持原有Gemini样式 */ .send-btn.active { background: linear-gradient(to right, #2563eb, #1d4ed8) !important; color: white !important; cursor: pointer !important; } .send-btn.active:hover { background: linear-gradient(to right, #1d4ed8, #1e40af) !important; } /* 确保原有的gemini-btn样式正常工作 */ .gemini-btn { position: relative; overflow: hidden; } .gemini-btn::before { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent); transition: left 0.5s; } .gemini-btn:hover::before { left: 100%; } /* 文件上传动画 */ .upload-btn { transition: all 0.2s ease; } .upload-loading .upload-icon { animation: uploadPulse 1.5s ease-in-out infinite; } @keyframes uploadPulse { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: 0.5; transform: scale(1.1); } } /* 上传文件显示 */ .uploaded-files-container.show { display: block !important; } .uploaded-file-item { display: flex; align-items: center; gap: 8px; background-color: #f9fafb; padding: 4px 8px; border-radius: 6px; border: 1px solid #e5e7eb; font-size: 12px; color: #374151; } .uploaded-file-item .remove-file { color: #9ca3af; cursor: pointer; transition: color 0.2s; } .uploaded-file-item .remove-file:hover { color: #ef4444; } /* 动画淡入效果 */ @keyframes fadeInUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } .animate-fade-in { animation: fadeInUp 0.6s ease-out forwards; } /* 响应式调整 */ @media (max-width: 768px) { .function-controls { flex-direction: column; gap: 12px; align-items: stretch; } .function-controls > div { justify-content: center; } .enhanced-input-area { margin: 0 -1rem; border-radius: 16px; } } /* ===== 新闻跑马灯样式 ===== */ .ticker-container { white-space: nowrap; position: relative; } .ticker-content { display: inline-flex; animation: marquee 60s linear infinite; gap: 4rem; } .ticker-item { flex-shrink: 0; color: #1e40af; font-weight: 500; font-size: 12px; padding: 0 1.5rem; } .ticker-item.text-xs { font-size: 11px; padding: 0 1rem; } @keyframes marquee { 0% { transform: translateX(100%); } 100% { transform: translateX(-100%); } } /* 暂停跑马灯动画在hover时 */ .ticker-container:hover .ticker-content { animation-play-state: paused; } /* ===== 3D新闻跑马灯增强样式 ===== */ :root { --ticker-rotate-x: 0deg; --ticker-rotate-y: 0deg; --ticker-translate-z: 0px; } .ticker-3d-container { height: 120px; /* 精简高度,保持翻转效果 */ perspective: 1500px; position: relative; overflow: hidden; /* 防止内容溢出 */ background: transparent; margin: 4px 8px; z-index: 1; /* 设置较低的z-index */ /* padding通过内联样式控制为30px 0 */ } .ticker-parallax-scene { position: relative; width: 100%; height: 100%; transform: rotateX(var(--ticker-rotate-x)) rotateY(var(--ticker-rotate-y)) translateZ(var(--ticker-translate-z)); transform-style: preserve-3d; transition: transform 0.1s cubic-bezier(0.1, 0.7, 0.1, 1); will-change: transform; } /* 3D新闻轮播容器 */ .ticker-carousel { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 100%; height: 100%; transform-style: preserve-3d; display: flex; align-items: center; justify-content: center; gap: 80px; /* 确保翻转时不被裁剪 */ overflow: visible; } /* 翻转卡片容器样式 */ .ticker-flip-card { position: relative; width: 240px; /* 增加宽度到240px */ height: 100px; /* 保持高度100px */ cursor: pointer; perspective: 1000px; transform-style: preserve-3d; /* 确保翻转时卡片不被裁剪 */ overflow: visible; z-index: 5; /* 降低z-index */ } /* 卡片内部容器 */ .flip-card-inner { position: relative; width: 100%; height: 100%; text-align: center; transition: transform 0.3s ease-out; transform-style: preserve-3d; } /* 移除悬停翻转,改为鼠标跟随 */ /* 卡片正反面共同样式 */ .flip-card-front, .flip-card-back { position: absolute; width: 100%; height: 100%; -webkit-backface-visibility: hidden; backface-visibility: hidden; border-radius: 12px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 0; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1); background: transparent; border: none; } /* 卡片正面 */ .flip-card-front { /* 移除背景和边框,让图片直接显示 */ } /* 卡片背面 */ .flip-card-back { color: #1e40af; transform: rotateY(180deg); /* 移除背景和边框,让图片直接显示 */ } /* 新闻图片基础样式 - 具体尺寸由image-size-fix.css控制 */ .news-image { object-fit: cover; border-radius: 12px; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2); } /* 背面内容样式 */ .back-content { text-align: center; } .back-content p { margin: 4px 0; font-size: 14px; font-weight: 600; } .back-content .back-desc { font-size: 11px; font-weight: 400; opacity: 0.9; } /* 移除浮动动画,专注于翻转效果 */ /* 卡片悬停增强效果 */ .ticker-flip-card:hover { z-index: 10; } .ticker-flip-card:hover .flip-card-front { box-shadow: 0 8px 25px rgba(37, 99, 235, 0.2); } .ticker-flip-card:hover .flip-card-back { box-shadow: 0 8px 25px rgba(29, 78, 216, 0.4); } /* 脉冲光圈效果 */ .ticker-pulse-ring { position: absolute; border: 1px solid rgba(37, 99, 235, 0.3); border-radius: 50%; animation: tickerPulse 4s ease-in-out infinite; pointer-events: none; } @keyframes tickerPulse { 0% { transform: scale(0.3) translate(-50%, -50%); opacity: 1; border-width: 2px; } 50% { transform: scale(1) translate(-50%, -50%); opacity: 0.5; border-width: 1px; } 100% { transform: scale(1.5) translate(-50%, -50%); opacity: 0; border-width: 1px; } } /* 新闻轮播动画 */ .ticker-carousel.rotating .ticker-news-item { animation: newsRotate 15s linear infinite; } @keyframes newsRotate { 0% { transform: translateX(100px) translateZ(var(--item-z, 0px)); } 100% { transform: translateX(-100px) translateZ(var(--item-z, 0px)); } } /* 响应式调整 */ @media (max-width: 768px) { .ticker-3d-container { height: 100px; margin: 4px 8px; } .ticker-carousel { gap: 30px; } .ticker-flip-card { width: 120px; height: 70px; } .card-icon { font-size: 20px; } .news-content { font-size: 11px; } .back-content p { font-size: 12px; } .back-content .back-desc { font-size: 10px; } } /* ===== 功能按钮样式 ===== */ .feature-btn { text-decoration: none; transition: all 0.3s ease; border: none; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); } .feature-btn:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); } .feature-btn:active { transform: translateY(0); box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); } /* 移动端功能按钮适配 */ @media (max-width: 640px) { .feature-btn { width: calc(50% - 0.5rem); justify-content: center; } } /* ===== 用户头像按钮样式 ===== */ .user-avatar { cursor: pointer; } .user-avatar:hover { transform: scale(1.05); } /* 用户下拉菜单样式 */ .user-dropdown { animation: fadeIn 0.15s ease-out; min-width: 160px; } @keyframes fadeIn { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: translateY(0); } } /* ===== 响应式设计 ===== */ /* 移动端样式调整 */ @media (max-width: 768px) { /* 移动端隐藏导航栏 */ .nav-container { display: none; } /* 移动端侧边栏全屏,默认隐藏 */ .sidebar { width: 100vw; transform: translateX(-100%); } /* 移动端侧边栏显示时 */ .sidebar.show { transform: translateX(0); z-index: 45; } /* 移动端主内容不偏移 */ .main-content.sidebar-open { margin-left: 0; } /* 移动端主内容默认无偏移 */ .main-content { margin-left: 0 !important; } /* 移动端聊天消息适配 */ .user-message, .ai-message { max-width: 85%; } /* 移动端输入区域调整 */ .input-area .flex { flex-direction: column; gap: 0.75rem; } .input-area .flex > div:last-child { flex-direction: row; justify-content: space-between; } /* 移动端功能按钮调整 */ .feature-btn { width: calc(50% - 0.5rem); text-align: center; } /* 移动端跑马灯速度调整 */ .ticker-content { animation-duration: 40s; } } @media (max-width: 640px) { /* 小屏幕下的进一步调整 */ .container { padding-left: 1rem; padding-right: 1rem; } /* 聊天消息更紧凑 */ .chat-messages { height: 300px; padding: 0.75rem; } .user-message, .ai-message { max-width: 90%; padding: 0.75rem; font-size: 14px; } /* 输入框调整 */ .input-area textarea { rows: 2; min-height: 60px; } /* 侧边栏按钮调整 */ #toggleSidebar { padding: 0.5rem; } } /* ===== 无滚动条全屏展示 ===== */ html, body { height: 100vh; overflow-x: hidden; /* 只禁止水平滚动 */ overflow-y: auto; /* 允许垂直滚动,确保3D元素可见 */ scroll-behavior: smooth; } /* ===== 文字轮播样式增强(参考ziti.html) ===== */ /* 3D容器样式 */ .text-3d-container { transition: transform 0.3s ease; } /* 静态文字样式 - Apple风格 */ .main-text-static { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif; font-weight: 300; color: rgba(55, 65, 81, 0.9); letter-spacing: -0.02em; background: linear-gradient(135deg, #374151, #6B7280); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; text-shadow: none; } /* 轮播文字主体样式 - Apple风格 */ .rotating-word-3d { display: inline-block !important; position: relative !important; z-index: 30 !important; min-width: 80px !important; text-align: center !important; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif; font-weight: 300; color: rgba(55, 65, 81, 0.9); letter-spacing: -0.02em; background: linear-gradient(135deg, #374151, #6B7280); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; text-shadow: none; animation: none; transition: all 0.3s ease; overflow: visible !important; padding: 10px 0 !important; line-height: 1.5 !important; min-height: 1.5em !important; } /* 移除分隔线样式 */ .text-divider { display: none; } /* 移除倒影 */ .text-reflection { display: none; } /* 静态文字倒影 */ .reflection-static { color: transparent; background: linear-gradient( to bottom, rgba(44, 62, 80, 0.4) 0%, rgba(44, 62, 80, 0.25) 30%, rgba(44, 62, 80, 0.1) 60%, transparent 100% ); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; } /* 轮播文字倒影 */ .rotating-word-reflection { display: inline-block !important; min-width: 60px !important; text-align: center !important; font-weight: 900 !important; color: transparent; background: linear-gradient( to bottom, rgba(30, 64, 175, 0.4) 0%, rgba(30, 64, 175, 0.25) 30%, rgba(30, 64, 175, 0.1) 60%, transparent 100% ); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; overflow: visible !important; } /* 移除文字发光动画 */ @keyframes textGlow { /* 已移除 */ } /* 鼠标悬停效果 */ .text-3d-container:hover .rotating-word-3d { transform: translateY(-2px); text-shadow: 3px 3px 8px rgba(0, 0, 0, 0.4), 0 0 25px rgba(30, 64, 175, 0.6); } .text-3d-container:hover .rotating-word-reflection { opacity: 0.8; transform: translateY(2px); } /* 波纹效果关键帧 */ @keyframes ripple { to { transform: scale(2); opacity: 0; } } /* 响应式设计 */ @media (max-width: 768px) { .rotating-word-3d, .rotating-word-reflection { font-size: 0.9em; } } /* 兼容原有的ID选择器 */ #rotating-word { /* 保持兼容性,但样式由类选择器控制 */ } /* 确保文字轮播容器不裁剪内容 */ .text-3d-container, .welcome-message, .deepseek-welcome-section { overflow: visible !important; width: 100% !important; max-width: none !important; height: auto !important; min-height: auto !important; } /* 确保欢迎文字的h2标签不裁剪内容 */ .text-3d-container h2 { overflow: visible !important; white-space: nowrap; width: auto !important; max-width: none !important; padding: 10px 0 0 0 !important; margin: 0 !important; display: inline-block !important; text-align: center !important; line-height: 1.3 !important; min-height: auto !important; height: auto !important; } /* 确保容器有足够空间 */ .container { overflow: visible !important; } /* 确保主要内容区域不裁剪 */ .main-content, .chat-section { overflow: visible !important; } /* ===== 自定义滚动条样式 ===== */ ::-webkit-scrollbar { width: 8px; } ::-webkit-scrollbar-track { background: #f1f5f9; } ::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; } ::-webkit-scrollbar-thumb:hover { background: #94a3b8; } /* ===== 加载动画 ===== */ .loading-spinner { border: 3px solid #f3f3f3; border-top: 3px solid #2563eb; border-radius: 50%; width: 30px; height: 30px; animation: spin 1s linear infinite; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } /* ===== 工具提示样式 - 参考xuanting.html ===== */ .tooltip-wrapper { position: relative; display: inline-block; cursor: pointer; } .tooltip-text { visibility: hidden; opacity: 0; position: absolute; bottom: 125%; left: 50%; transform: translateX(-50%); background-color: #333; color: #fff; text-align: center; padding: 6px 10px; border-radius: 6px; white-space: nowrap; font-size: 13px; transition: opacity 0.3s; z-index: 999; } .tooltip-wrapper:hover .tooltip-text { visibility: visible; opacity: 1; } /* 折叠栏tooltip右侧显示 */ #collapsedSidebar .tooltip-wrapper .tooltip-text { bottom: 50%; left: 125%; transform: translateY(50%); } /* 折叠栏按钮悬停增强效果 */ #collapsedSidebar button:hover { background-color: rgba(229, 231, 235, 0.8); transform: scale(1.05); } #collapsedSidebar button img { transition: all 0.2s ease; } #collapsedSidebar button:hover img { transform: scale(1.1); filter: brightness(1.1); } /* 新建对话按钮特殊悬停效果 */ #newChatCollapsed:hover .cloud-plus-icon-small { transform: scale(1.1); transition: transform 0.2s ease; } #newChatCollapsed:hover .cloud-plus-icon-small svg { color: #3b82f6 !important; } #newChatCollapsed:hover .cloud-plus-icon-small .bg-blue-500 { background-color: #1d4ed8 !important; } /* ===== 页面过渡效果 ===== */ .page-transition { opacity: 0; transform: translateY(20px); transition: all 0.5s ease-out; } .page-transition.loaded { opacity: 1; transform: translateY(0); } /* ===== 输入框样式 ===== */ .form-input { border: 2px solid #e5e7eb; border-radius: 8px; padding: 12px 16px; transition: all 0.3s ease; } .form-input:focus { outline: none; border-color: #2563eb; box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1); } /* ===== 卡片阴影变化 ===== */ .card-shadow { box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); transition: box-shadow 0.3s ease; } .card-shadow:hover { box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15); } /* ===== 文字选择样式 ===== */ ::selection { background-color: #dbeafe; color: #1e40af; } /* ===== 聊天输入框自适应高度 ===== */ .auto-resize { transition: height 0.2s ease; } /* ===== 侧边栏滚动区域样式 ===== */ .sidebar .overflow-y-auto { scrollbar-width: thin; scrollbar-color: #cbd5e1 #f8fafc; } .sidebar .overflow-y-auto::-webkit-scrollbar { width: 4px; } .sidebar .overflow-y-auto::-webkit-scrollbar-track { background: #f8fafc; border-radius: 2px; } .sidebar .overflow-y-auto::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 2px; } .sidebar .overflow-y-auto::-webkit-scrollbar-thumb:hover { background: #94a3b8; } /* ===== 特殊状态样式 ===== */ /* ===== 键盘导航支持 ===== */ .keyboard-navigation *:focus { outline: 2px solid #2563eb; outline-offset: 2px; } /* ===== 打印样式 ===== */ @media print { .no-print, .sidebar, .sidebar-overlay, #toggleSidebar, .input-area, .ticker-section { display: none !important; } body { font-size: 12pt; line-height: 1.5; } .main-content { margin-left: 0 !important; padding-top: 0 !important; } h1, h2, h3 { page-break-after: avoid; } .chat-messages { height: auto !important; overflow: visible !important; page-break-inside: avoid; } } /* ===== 无障碍访问增强 ===== */ @media (prefers-reduced-motion: reduce) { * { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; } .ticker-content { animation: none; position: static; } } /* ===== Markdown内容样式 ===== */ .markdown-content { line-height: 1.6; word-break: break-word; } .markdown-content h1 { font-size: 1.75rem; font-weight: 700; margin: 1rem 0 0.75rem 0; color: #1a202c; } .markdown-content h2 { font-size: 1.5rem; font-weight: 600; margin: 0.875rem 0 0.625rem 0; color: #2d3748; } .markdown-content h3 { font-size: 1.25rem; font-weight: 600; margin: 0.75rem 0 0.5rem 0; color: #2d3748; } .markdown-content h4, .markdown-content h5, .markdown-content h6 { font-weight: 600; margin: 0.5rem 0 0.375rem 0; color: #4a5568; } .markdown-content p { margin: 0.5rem 0; } .markdown-content code { background-color: rgba(229, 231, 235, 0.5); color: #e53e3e; padding: 0.125rem 0.25rem; border-radius: 0.25rem; font-size: 0.875rem; font-family: 'Consolas', 'Monaco', 'Courier New', monospace; } .markdown-content pre { background-color: #1e293b; color: #e2e8f0; padding: 1rem; border-radius: 0.5rem; overflow-x: auto; margin: 0.75rem 0; } .markdown-content pre code { background-color: transparent; color: inherit; padding: 0; } .markdown-content blockquote { border-left: 4px solid #cbd5e0; padding-left: 1rem; margin: 0.75rem 0; color: #4a5568; font-style: italic; } .markdown-content ul, .markdown-content ol { margin: 0.5rem 0; padding-left: 1.5rem; } .markdown-content ul li, .markdown-content ol li { margin: 0.25rem 0; } .markdown-content table { border-collapse: collapse; width: 100%; margin: 0.75rem 0; overflow-x: auto; display: block; } .markdown-content th, .markdown-content td { border: 1px solid #e2e8f0; padding: 0.5rem 0.75rem; text-align: left; } .markdown-content th { background-color: #f7fafc; font-weight: 600; } .markdown-content tr:hover { background-color: #f9fafb; } .markdown-content a { color: #3182ce; text-decoration: underline; } .markdown-content a:hover { color: #2c5282; } .markdown-content img { max-width: 100%; height: auto; border-radius: 0.5rem; margin: 0.75rem 0; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); } .markdown-content hr { border: 0; height: 1px; background: #e2e8f0; margin: 1rem 0; } /* 代码块复制按钮 */ .code-block-wrapper { position: relative; margin: 0.75rem 0; } .code-header { background-color: #334155; color: #e2e8f0; padding: 0.5rem 1rem; border-radius: 0.5rem 0.5rem 0 0; display: flex; justify-content: space-between; align-items: center; font-size: 0.875rem; } .copy-code-btn { background-color: transparent; border: 1px solid #64748b; color: #cbd5e1; padding: 0.25rem 0.5rem; border-radius: 0.25rem; cursor: pointer; transition: all 0.2s; font-size: 0.75rem; } .copy-code-btn:hover { background-color: #475569; color: #f1f5f9; border-color: #94a3b8; } .code-block-wrapper pre { margin: 0; border-radius: 0 0 0.5rem 0.5rem; } /* 内联代码样式优化 */ .inline-code { font-family: 'Consolas', 'Monaco', 'Courier New', monospace; font-size: 0.875em; } /* 列表样式优化 */ .markdown-content ul { list-style-type: disc; } .markdown-content ul ul { list-style-type: circle; } .markdown-content ul ul ul { list-style-type: square; } .markdown-content ol { list-style-type: decimal; } .markdown-content ol ol { list-style-type: lower-alpha; } .markdown-content ol ol ol { list-style-type: lower-roman; } /* 语法高亮主题 */ .markdown-content .language-javascript, .markdown-content .language-js { color: #f7df1e; } .markdown-content .language-python, .markdown-content .language-py { color: #3776ab; } .markdown-content .language-html { color: #e34c26; } .markdown-content .language-css { color: #1572b6; } /* 响应式Markdown内容 */ @media (max-width: 768px) { .markdown-content h1 { font-size: 1.5rem; } .markdown-content h2 { font-size: 1.25rem; } .markdown-content h3 { font-size: 1.125rem; } .markdown-content pre { padding: 0.75rem; font-size: 0.875rem; } .code-header { padding: 0.375rem 0.75rem; font-size: 0.75rem; } }