lingjing/app/globals.css

136 lines
2.5 KiB
CSS

@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); }
}