/* ===== 页面缩放支持 ===== */

/* 基础缩放适配 */
html {
    /* 使用视口单位确保缩放时正确响应 */
    font-size: clamp(14px, 1vw, 18px);
}

/* 容器缩放响应 */
.container {
    width: 100%;
    max-width: min(1536px, 95vw);
    margin: 0 auto;
    padding-left: clamp(1rem, 2vw, 2rem);
    padding-right: clamp(1rem, 2vw, 2rem);
}

/* 侧边栏缩放适配 */
.sidebar {
    width: clamp(220px, 18vw, 280px);
    font-size: clamp(0.875rem, 0.9vw, 1rem);
}

.sidebar.collapsed {
    width: clamp(60px, 5vw, 80px);
}

/* 主内容区域缩放 */
.main-content {
    margin-left: clamp(220px, 18vw, 280px);
    padding: clamp(1rem, 2vw, 2rem);
}

.sidebar.collapsed + .main-content {
    margin-left: clamp(60px, 5vw, 80px);
}

/* 文字大小缩放适配 */
h1 { font-size: clamp(1.5rem, 2.5vw, 2.5rem); }
h2 { font-size: clamp(1.25rem, 2vw, 2rem); }
h3 { font-size: clamp(1.125rem, 1.5vw, 1.5rem); }
h4 { font-size: clamp(1rem, 1.25vw, 1.25rem); }
p, .text-base { font-size: clamp(0.875rem, 1vw, 1.125rem); }
.text-sm { font-size: clamp(0.75rem, 0.875vw, 1rem); }
.text-xs { font-size: clamp(0.625rem, 0.75vw, 0.875rem); }

/* 输入框缩放适配 */
.input-area {
    padding: clamp(1rem, 2vw, 2rem);
    border-radius: clamp(16px, 1.5vw, 24px);
}

.input-area textarea {
    font-size: clamp(14px, 1vw, 16px);
    min-height: clamp(40px, 5vh, 60px);
    max-height: clamp(120px, 15vh, 200px);
    padding: clamp(0.5rem, 1vw, 1rem);
}

/* 按钮缩放适配 */
button, .btn {
    padding: clamp(0.5rem, 0.75vw, 0.75rem) clamp(1rem, 1.5vw, 1.5rem);
    font-size: clamp(0.75rem, 0.9vw, 1rem);
    border-radius: clamp(0.375rem, 0.5vw, 0.5rem);
    min-height: clamp(36px, 3.5vh, 48px);
}

.feature-btn {
    padding: clamp(0.75rem, 1vw, 1rem) clamp(1rem, 1.5vw, 1.5rem);
    font-size: clamp(0.75rem, 0.875vw, 0.875rem);
}

.feature-btn i {
    font-size: clamp(1rem, 1.25vw, 1.5rem);
}

/* 聊天消息缩放 */
.chat-messages {
    height: clamp(300px, 50vh, 600px);
    padding: clamp(0.75rem, 1.5vw, 1.5rem);
}

.message-item {
    margin-bottom: clamp(0.5rem, 1vw, 1rem);
}

.user-message,
.ai-message {
    padding: clamp(0.625rem, 1vw, 1rem) clamp(0.875rem, 1.25vw, 1.25rem);
    font-size: clamp(0.813rem, 0.95vw, 1rem);
    border-radius: clamp(12px, 1vw, 18px);
    max-width: min(600px, 70%);
}

/* 3D新闻卡片样式已移至image-size-fix.css处理 */
/* .ticker-* 相关样式已被image-size-fix.css覆盖 */

.news-content {
    font-size: clamp(11px, 0.8vw, 14px);
}

/* 菜单项缩放 */
.menu-item {
    padding: clamp(0.5rem, 0.75vw, 0.75rem) clamp(0.625rem, 1vw, 1rem);
    font-size: clamp(0.75rem, 0.875vw, 0.875rem);
}

.menu-icon {
    width: clamp(24px, 2vw, 30px);
    height: clamp(24px, 2vw, 30px);
    font-size: clamp(1.125rem, 1.5vw, 1.5rem);
}

/* 聊天历史项缩放 */
.chat-history-item {
    padding: clamp(0.5rem, 0.75vw, 0.75rem) clamp(0.75rem, 1vw, 1rem);
}

.chat-title {
    font-size: clamp(0.75rem, 0.875vw, 0.875rem);
}

/* 深度研究控制面板缩放 */
.deep-research-controls {
    padding: clamp(0.75rem, 1vw, 1rem);
    margin-top: clamp(0.5rem, 0.75vw, 0.75rem);
    border-radius: clamp(0.5rem, 0.75vw, 0.75rem);
}

.toggle-switch {
    width: clamp(40px, 3vw, 48px);
    height: clamp(20px, 1.5vw, 24px);
}

.toggle-slider span {
    width: clamp(16px, 1.2vw, 20px);
    height: clamp(16px, 1.2vw, 20px);
}

/* 工具提示缩放 */
.tooltip-text {
    font-size: clamp(11px, 0.8vw, 13px);
    padding: clamp(4px, 0.5vw, 6px) clamp(8px, 1vw, 10px);
}

/* Markdown内容缩放 */
.markdown-content {
    font-size: clamp(0.813rem, 0.95vw, 1rem);
    line-height: clamp(1.4, 1.6vw, 1.8);
}

.markdown-content h1 { font-size: clamp(1.25rem, 1.75vw, 1.75rem); }
.markdown-content h2 { font-size: clamp(1.125rem, 1.5vw, 1.5rem); }
.markdown-content h3 { font-size: clamp(1rem, 1.25vw, 1.25rem); }

.markdown-content code {
    font-size: clamp(0.75rem, 0.875vw, 0.875rem);
    padding: clamp(0.125rem, 0.2vw, 0.25rem) clamp(0.25rem, 0.4vw, 0.5rem);
}

.markdown-content pre {
    padding: clamp(0.75rem, 1vw, 1rem);
    font-size: clamp(0.75rem, 0.875vw, 0.875rem);
}

/* 视口单位限制 - 防止过度缩放 */
@media (min-width: 1920px) {
    html { font-size: 16px; }
}

@media (max-width: 1280px) {
    html { font-size: 15px; }
}

@media (max-width: 1024px) {
    html { font-size: 14px; }
}

/* 浏览器缩放级别适配 */
@media (min-resolution: 120dpi) {
    /* 125% 缩放 */
    .container { max-width: 1280px; }
}

@media (min-resolution: 144dpi) {
    /* 150% 缩放 */
    .container { max-width: 1024px; }
    
    .sidebar { width: 240px; }
    .main-content { margin-left: 240px; }
}

@media (min-resolution: 192dpi) {
    /* 200% 缩放 */
    .container { max-width: 768px; }
    
    .sidebar { width: 220px; }
    .main-content { margin-left: 220px; }
    
    /* 调整间距 */
    .message-item { margin-bottom: 0.75rem; }
    .feature-btn { margin: 0.25rem; }
}

/* 页面缩放时保持比例 */
* {
    /* 使用相对单位 */
    line-height: inherit;
    letter-spacing: inherit;
}

/* 图片和媒体缩放 */
img, video, iframe {
    max-width: 100%;
    height: auto;
}

/* 固定定位元素缩放 */
.fixed {
    /* 使用视口单位定位 */
}

#chatModeInput {
    padding: clamp(0.5rem, 1vw, 1rem);
}

/* 滚动条缩放 */
::-webkit-scrollbar {
    width: clamp(4px, 0.5vw, 8px);
}

/* 动画时间缩放适配 */
@media (prefers-reduced-motion: no-preference) {
    * {
        animation-duration: inherit;
        transition-duration: inherit;
    }
}

/* 确保缩放时不出现水平滚动条 */
body {
    overflow-x: hidden;
    min-width: 320px;
}

/* 响应式网格缩放 */
.grid {
    gap: clamp(0.5rem, 1vw, 1rem);
}

/* 阴影缩放 */
.shadow-sm { box-shadow: 0 clamp(1px, 0.1vw, 2px) clamp(2px, 0.2vw, 4px) rgba(0, 0, 0, 0.05); }
.shadow { box-shadow: 0 clamp(1px, 0.1vw, 2px) clamp(3px, 0.3vw, 6px) rgba(0, 0, 0, 0.1); }
.shadow-md { box-shadow: 0 clamp(4px, 0.4vw, 8px) clamp(6px, 0.6vw, 12px) rgba(0, 0, 0, 0.1); }
.shadow-lg { box-shadow: 0 clamp(10px, 1vw, 20px) clamp(15px, 1.5vw, 30px) rgba(0, 0, 0, 0.1); }

/* 边框缩放 */
.border { border-width: clamp(1px, 0.1vw, 2px); }
.border-2 { border-width: clamp(2px, 0.2vw, 3px); }

/* 圆角缩放 */
.rounded { border-radius: clamp(0.25rem, 0.4vw, 0.5rem); }
.rounded-md { border-radius: clamp(0.375rem, 0.5vw, 0.75rem); }
.rounded-lg { border-radius: clamp(0.5rem, 0.75vw, 1rem); }
.rounded-xl { border-radius: clamp(0.75rem, 1vw, 1.5rem); }
.rounded-2xl { border-radius: clamp(1rem, 1.5vw, 2rem); }

/* 确保最小可读性 */
@supports (font-size: clamp(1rem, 1vw, 2rem)) {
    /* 现代浏览器使用 clamp */
}

@supports not (font-size: clamp(1rem, 1vw, 2rem)) {
    /* 旧浏览器回退方案 */
    html { font-size: 16px; }
    
    @media (max-width: 1200px) {
        html { font-size: 15px; }
    }
    
    @media (max-width: 768px) {
        html { font-size: 14px; }
    }
}