:root {
    /* 色彩体系 */
    --primary-color: #4e73df;
    --success-color: #36CFC9;
    --danger-color: #F53F3F;
    --background-color: #f8f9fc;
    --surface-color: #ffffff;
    --text-color: #5a5c69;
    --title-color: #3a3b45;
    --secondary-color: #858796; /* 辅助文字/未选中 */
    --border-color: #E5E6EB;
    --white: #fff;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    /* 字体体系 - 假设用户系统有思源黑体，否则使用备用字体 */
    font-family: "Source Han Sans", "Noto Sans SC", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}

body {
    background-color: var(--background-color);
    color: var(--text-color);
    font-size: 14px; /* 正文基础字号 */
    font-weight: 400; /* Regular */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* --- 核心改动：添加桌面端适配样式 --- */

/* 使用媒体查询，仅在屏幕宽度大于 600px 时应用以下样式 */
@media (min-width: 600px) {
    body {
        /* 将 body 背景设置为灰色，以突出显示应用容器 */
        background-color: #e9ecef;
    }

    /* 
     * 技巧：直接为 body 设置最大宽度和居中。
     * 由于您项目中的 header, main, nav 都是 body 的直接子元素，
     * 这种方式可以同时约束它们，实现整体居中。
     */
    body {
        max-width: 450px; /* 设置应用的最大宽度，您可以根据喜好调整 */
        margin: 20px auto; /* 上下留白，左右自动居中 */
        border-radius: 20px; /* 为应用容器添加圆角 */
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1); /* 添加阴影，使其有悬浮感 */
        position: relative; /* 为内部绝对定位的元素提供参照 */
        
        /* --- 核心改动：移除 overflow: hidden，并设置固定高度 --- */
        overflow: hidden; /* 保留此项以裁剪子元素圆角 */
        height: calc(100vh - 40px); /* 设置一个固定的视口高度 */
        max-height: 850px; /* 增加一个最大高度，防止在特大屏幕上过度拉伸 */
        display: flex; /* 使用 flex 布局来控制内部元素 */
        flex-direction: column; /* 垂直排列 header, main, nav */
    }

    /* --- 核心改动：适配底部导航栏 (使用 !important 强制覆盖) --- */
    .bottom-nav {
        /* 明确宽度为 body 的最大宽度 */
        width: 450px !important;
        max-width: 450px !important;
        
        /* 通过 left: 50% 和 transform: translateX(-50%) 的组合，使其水平居中 */
        left: 50% !important;
        transform: translateX(-50%) !important;
        
        /* 覆盖可能存在的 right: 0 样式，避免冲突 */
        right: auto !important;
        
        /* 继承 body 的圆角，但只保留底部的圆角 */
        border-bottom-left-radius: 20px !important;
        border-bottom-right-radius: 20px !important;

        /* 确保导航栏在 body 内部，而不是覆盖其边框 */
        bottom: 20px !important;
    }
}

/* 按钮组件风格 */
.btn {
    display: inline-block;
    text-decoration: none;
    text-align: center;
    padding: 12px 20px;
    border: 1px solid transparent;
    border-radius: 4px; /* 圆角 4px */
    font-size: 14px;
    font-weight: 500; /* Medium */
    cursor: pointer;
    width: 100%;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.btn:active {
    transform: scale(0.98); /* 点击轻微缩放 */
}

.btn-primary {
    background-color: var(--primary-color);
    color: var(--white);
    border-color: var(--primary-color);
}

.btn-primary:hover {
    background-color: #0045E0; /* 主色加深 */
}

.btn-secondary {
    background-color: var(--surface-color);
    color: var(--primary-color);
    border: 1px solid var(--primary-color);
}

.btn-secondary:hover {
    background-color: rgba(22, 93, 255, 0.05);
}

.btn-danger {
    background-color: var(--danger-color);
    color: var(--white);
    border-color: var(--danger-color);
}

.btn-danger:hover {
    background-color: #D92A2A;
}

/* Toast 轻提示风格 */
#toast-container {
    position: fixed;
    top: 20px;
    left: 50%; /* 水平居中 */
    transform: translateX(-50%); /* 水平居中 */
    width: 100%;
    max-width: 380px; /* 限制最大宽度 */
    z-index: 9999;
    display: flex;
    flex-direction: column; /* 核心改动：改为垂直排列 */
    align-items: center; /* 确保所有 toast 水平居中 */
    gap: 10px; /* 新增：为多个 toast 之间添加间距 */
    padding: 0 20px;
    pointer-events: none;
}

.toast {
    display: flex; /* 改为 flex 以更好地控制内部对齐 */
    align-items: center;
    width: 100%; /* 宽度占满容器 */
    padding: 14px 20px; /* 增加内边距，使其更饱满 */
    border-radius: 8px; /* 更大的圆角 */
    color: var(--white);
    font-size: 14px;
    font-weight: 500;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1), 0 2px 6px rgba(0, 0, 0, 0.05); /* 更精致的阴影 */
    opacity: 0;
    transform: translateY(-20px) scale(0.95); /* 动画初始状态微调 */
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); /* 过渡所有属性 */
    pointer-events: auto;
}

/* 为 Toast 添加图标 */
.toast::before {
    font-family: FontAwesome; /* 确保 Font Awesome 被加载 */
    margin-right: 10px;
    font-size: 18px; /* 稍微增大图标 */
}

.toast.show {
    opacity: 1;
    transform: translateY(0) scale(1); /* 动画结束状态 */
}

/* 根据不同类型设置颜色和图标 */
.toast-error { 
    background-color: var(--danger-color); 
}
.toast-error::before {
    content: "\f071"; /* FontAwesome: warning/exclamation-triangle */
}

.toast-success { 
    background-color: #00B42A; /* 使用更鲜明的绿色 */
}
.toast-success::before {
    content: "\f058"; /* FontAwesome: check-circle */
}

.toast-info { 
    background-color: var(--primary-color); 
}
.toast-info::before {
    content: "\f05a"; /* FontAwesome: info-circle */
}
