/* css/style.css */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

body {
    font-family: 'Inter', -apple-system, sans-serif;
    background-color: #f1f5f9;
    overflow: hidden; 
}

/* 动态背景光球 */
.bg-orb { position: absolute; border-radius: 50%; filter: blur(80px); opacity: 0.6; z-index: -1; animation: float 10s infinite ease-in-out alternate; }
.orb-1 { width: 400px; height: 400px; background: #c084fc; top: -10%; left: -10%; }
.orb-2 { width: 500px; height: 500px; background: #60a5fa; bottom: -20%; right: -10%; animation-delay: -5s; }
.orb-3 { width: 300px; height: 300px; background: #f472b6; top: 40%; left: 40%; animation-delay: -2s; }

@keyframes float { 0% { transform: translate(0, 0) scale(1); } 100% { transform: translate(30px, 50px) scale(1.1); } }

/* 高级毛玻璃面板 */
.glass-container {
    background: rgba(255, 255, 255, 0.4);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    border: 1px solid rgba(255, 255, 255, 0.6);
    box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.07);
}

/* 气泡样式 & 动画 */
.msg-enter { animation: popIn 0.4s cubic-bezier(0.16, 1, 0.3, 1) forwards; transform-origin: bottom; opacity: 0; transform: translateY(10px) scale(0.95); }
@keyframes popIn { to { opacity: 1; transform: translateY(0) scale(1); } }

.ai-bubble {
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.8);
    border-radius: 20px 20px 20px 4px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.03);
    color: #1e293b;
}

.user-bubble {
    background: linear-gradient(135deg, #3b82f6 0%, #6366f1 100%);
    border-radius: 20px 20px 4px 20px;
    box-shadow: 0 4px 15px rgba(59, 130, 246, 0.3);
    color: #ffffff;
}

/* 输入框过渡 */
.input-glass { background: rgba(255,255,255,0.7); backdrop-filter: blur(16px); border: 1px solid rgba(255,255,255,0.8); transition: all 0.3s ease; }
.input-glass:focus-within { background: rgba(255,255,255,0.95); box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.15); transform: translateY(-2px); }

/* 隐藏原生滚动条 */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(0,0,0,0.15); border-radius: 10px; }

/* Markdown 美化 */
.md-prose p { margin-bottom: 0.75em; line-height: 1.6; }
.md-prose p:last-child { margin-bottom: 0; }
.md-prose pre { background: #1e293b; color: #e2e8f0; padding: 1rem; border-radius: 12px; font-size: 0.875rem; overflow-x: auto; margin: 0.75em 0; }
.md-prose code { font-family: ui-monospace, SFMono-Regular, monospace; background: rgba(0,0,0,0.05); padding: 0.2em 0.4em; border-radius: 6px; color: #ec4899; }
.md-prose pre code { background: transparent; padding: 0; color: inherit; }
.md-prose ul { list-style-type: disc; padding-left: 1.5em; margin-bottom: 0.75em; }
.md-prose strong { color: #0f172a; font-weight: 600; }