/* === 浏览器兼容性优化 v2.0 === */

/* === WebKit 前缀（Safari/Chrome移动端） === */
/* 圆角 */
.btn,
.back-btn,
.stat-card,
.chart-card,
.level-card,
input,
select,
textarea {
    -webkit-border-radius: 16px;
    border-radius: 16px;
}

.chart-card,
.level-card {
    -webkit-border-radius: 24px;
    border-radius: 24px;
}

/* 渐变 */
body {
    background: -webkit-linear-gradient(135deg, #D4A4B8, #8C5A6C);
    background: linear-gradient(135deg, #D4A4B8, #8C5A6C);
}

.btn-primary {
    background: -webkit-linear-gradient(135deg, #D4A4B8, #8C5A6C);
    background: linear-gradient(135deg, #D4A4B8, #8C5A6C);
}

/* 过渡 */
.btn,
.back-btn,
.level-card,
input,
select,
textarea {
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

/* 变换 */
.btn:hover,
.level-card:hover {
    -webkit-transform: translateY(-1px);
    transform: translateY(-1px);
}

/* 阴影 */
.btn-primary:hover {
    -webkit-box-shadow: 0 6px 20px rgba(212, 164, 184, 0.3);
    box-shadow: 0 6px 20px rgba(212, 164, 184, 0.3);
}

/* === Safari flexbox 修复 === */
@supports (-webkit-overflow-scrolling: touch) {
    .container {
        display: -webkit-box;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-direction: column;
        flex-direction: column;
    }
    
    .stats-grid {
        display: -webkit-box;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
    }
    
    .charts-container {
        display: -webkit-box;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
    }
    
    .levels-grid {
        display: -webkit-box;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
    }
}

/* === Firefox 优化 === */
@-moz-document url-prefix() {
    * {
        scrollbar-width: thin;
        scrollbar-color: #D4A4B8 #F0EFEC;
    }
    
    /* Firefox 圆角 bug 修复 */
    .btn,
    .back-btn {
        -moz-border-radius: 16px;
        border-radius: 16px;
    }
}

/* === 移动端优化 === */
@media (max-width: 768px) {
    /* 移动端触摸优化 */
    .btn,
    .back-btn,
    .level-card {
        -webkit-tap-highlight-color: transparent;
        tap-highlight-color: transparent;
    }
    
    /* 移动端字体优化 */
    body {
        -webkit-text-size-adjust: 100%;
        -ms-text-size-adjust: 100%;
        text-size-adjust: 100%;
    }
    
    /* 移动端滚动优化 */
    .container {
        -webkit-overflow-scrolling: touch;
        overflow-scrolling: touch;
    }
}

/* === 字体渲染优化 === */
html {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

/* === Edge/IE 兼容性 === */
@supports (-ms-ime-align: auto) {
    .container {
        display: block;
    }
    
    .stat-card {
        display: inline-block;
        vertical-align: top;
        margin: 10px;
    }
}

/* === 打印样式 === */
@media print {
    body {
        background: white;
    }
    
    .btn,
    .back-btn {
        display: none;
    }
}

/* === 暗色模式支持（可选） === */
@media (prefers-color-scheme: dark) {
    /* 如果用户系统启用了暗色模式，可以在这里添加暗色主题 */
}

/* === 减少动画（无障碍） === */
@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* === 高对比度模式（无障碍） === */
@media (prefers-contrast: high) {
    .btn-primary {
        border: 2px solid black;
    }
    
    .stat-card,
    .chart-card {
        border: 2px solid black;
    }
}