body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'PingFang SC', 'Noto Sans SC', sans-serif; }
.scrollbar-thin::-webkit-scrollbar { width: 4px; }
.scrollbar-thin::-webkit-scrollbar-track { background: transparent; }
.scrollbar-thin::-webkit-scrollbar-thumb { background: #3f3f46; border-radius: 2px; }
.typing-dot { animation: typingDot 1.4s ease-in-out infinite; }
.typing-dot:nth-child(2) { animation-delay: 0.2s; }
.typing-dot:nth-child(3) { animation-delay: 0.4s; }
@keyframes typingDot { 0%, 60%, 100% { transform: translateY(0); opacity: 0.4; } 30% { transform: translateY(-4px); opacity: 1; } }
code[class*="language-"] { font-family: 'SF Mono', 'Consolas', 'Monaco', monospace; font-size: 13px; line-height: 1.5; }
pre[class*="language-"] { margin: 0; }
.code-block:hover .copy-btn, .code-block:hover .save-btn { opacity: 1; }
.copy-btn, .save-btn { opacity: 0; transition: opacity 0.2s; }
.orb-glow { animation: orbGlow 4s ease-in-out infinite; }
.orb-thinking { animation: orbRotate 3s linear infinite, orbGlowThinking 2s ease-in-out infinite; }
@keyframes orbGlow { 0%,100% { box-shadow: 0 0 20px rgba(255,255,255,0.15); } 50% { box-shadow: 0 0 30px rgba(255,255,255,0.25); } }
@keyframes orbRotate { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
@keyframes orbGlowThinking { 0%,100% { box-shadow: 0 0 20px rgba(59,130,246,0.3); } 50% { box-shadow: 0 0 40px rgba(59,130,246,0.5); } }
.sidebar-item:hover { background: rgba(59, 130, 246, 0.1); }
.sidebar-item.active { background: rgba(59, 130, 246, 0.15); color: #60a5fa; }
.cursor-blink::after { content: '▌'; animation: blink 1s infinite; margin-left: 2px; opacity: 0.6; }
@keyframes blink { 0%,50% { opacity: 0.6; } 51%,100% { opacity: 0; } }
.message-content p { margin: 0; }
.message-content p + p { margin-top: 0.75em; }
.tab-btn.active { color: #3b82f6; }
.tab-btn.active svg { color: #3b82f6; }
.tab-btn { color: #71717a; }
.light-mode { background: #fafafa !important; color: #18181b !important; }
.light-mode .bg-dark-700 { background: #f4f4f5 !important; }
.light-mode .bg-dark-800 { background: #ffffff !important; }
.light-mode .bg-dark-900 { background: #fafafa !important; }
.light-mode .border-dark-600 { border-color: #e4e4e7 !important; }
.light-mode .text-white { color: #18181b !important; }
.light-mode .text-gray-400 { color: #71717a !important; }
.light-mode .text-gray-500 { color: #a1a1aa !important; }
.light-mode .sidebar-item:hover { background: #f4f4f5; }
.light-mode .sidebar-item.active { background: #eff6ff; color: #2563eb; }
.light-mode .tab-btn { color: #a1a1aa; }
.light-mode .tab-btn.active { color: #2563eb; }
.page { display: none; }
.page.active { display: flex; }
.card-hover { transition: all 0.2s ease; }
.card-hover:hover { transform: translateY(-2px); }
.knowledge-card { transition: all 0.3s ease; }
.knowledge-card:hover { transform: translateY(-2px); box-shadow: 0 10px 30px rgba(0,0,0,0.2); }
.category-chip { transition: all 0.2s ease; }
.category-chip.active { background: #3b82f6; color: white; }
.shake { animation: shake 0.5s ease-in-out; }
@keyframes shake { 0%,100% { transform: translateX(0); } 25% { transform: translateX(-5px); } 75% { transform: translateX(5px); } }
.pop-in { animation: popIn 0.3s cubic-bezier(0.34, 1.56, 0.64, 1); }
@keyframes popIn { 0% { transform: scale(0.8); opacity: 0; } 100% { transform: scale(1); opacity: 1; } }
