@tailwind base; @tailwind components; @tailwind utilities; :root { color-scheme: dark; } * { -webkit-tap-highlight-color: transparent; } body { margin: 0; background: #0a0a0a; color: #e8e8e8; font-family: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; min-height: 100vh; min-height: 100dvh; } button { color: inherit; } .card { background: #141414; border: 1px solid rgba(255,255,255,0.08); border-radius: 1rem; } .btn { @apply inline-flex items-center justify-center rounded-xl px-4 py-2 text-sm font-medium transition; } .btn-primary { @apply btn; background: #e8e8e8; color: #0a0a0a; } .btn-primary:hover { background: #ffffff; } .btn-ghost { @apply btn; border: 1px solid rgba(255,255,255,0.12); color: #a0a0a0; } .btn-ghost:hover { border-color: rgba(255,255,255,0.2); color: #e8e8e8; } /* 对话气泡 */ .bubble-ai { background: #1c1c1c; color: #e8e8e8; border-radius: 1rem 1rem 1rem 0.25rem; } .bubble-user { background: #e8e8e8; color: #0a0a0a; border-radius: 1rem 1rem 0.25rem 1rem; margin-left: auto; } /* 输入框 */ .chat-input { background: #1c1c1c; border: 1px solid rgba(255,255,255,0.1); color: #e8e8e8; border-radius: 1rem; outline: none; transition: border-color 0.2s; } .chat-input::placeholder { color: #555; } .chat-input:focus { border-color: rgba(255,255,255,0.25); } /* lingjing chat continue button force pure white */ .chat-page .continue-btn, .chat-page .continue-btn:visited, .chat-page .continue-btn:hover, .chat-page .continue-btn:active, .chat-page .continue-btn:focus, .chat-page .continue-btn:disabled { color: #ffffff !important; -webkit-text-fill-color: #ffffff !important; opacity: 1 !important; } .send-btn { background: #e8e8e8; color: #0a0a0a; border-radius: 0.875rem; width: 2.5rem; height: 2.5rem; display: flex; align-items: center; justify-content: center; transition: opacity 0.2s; flex-shrink: 0; } .send-btn:disabled { opacity: 0.2; } .send-btn:not(:disabled):hover { opacity: 0.85; } /* PWA 安装提示 */ .install-hint { position: fixed; bottom: 1.5rem; left: 50%; transform: translateX(-50%); background: #1c1c1c; border: 1px solid rgba(255,255,255,0.1); border-radius: 1rem; padding: 0.75rem 1.25rem; font-size: 0.75rem; color: #a0a0a0; white-space: nowrap; z-index: 50; animation: fadeInUp 0.4s ease; } @keyframes fadeInUp { from { opacity: 0; transform: translateX(-50%) translateY(8px); } to { opacity: 1; transform: translateX(-50%) translateY(0); } }