/* ============================================
   全局基础样式 — 重置、变量、排版
   ============================================ */

/* CSS 变量（主题色） */
:root {
    --color-primary: #2563eb;
    --color-primary-dark: #1d4ed8;
    --color-primary-light: #dbeafe;
    --color-dark: #1e293b;
    --color-text: #334155;
    --color-text-light: #64748b;
    --color-border: #e2e8f0;
    --color-bg: #ffffff;
    --color-bg-alt: #f8fafc;
    --color-bg-card: #ffffff;
    --color-white: #ffffff;
    --color-accent: #f59e0b;
    --color-danger: #ef4444;

    --radius: 8px;
    --radius-lg: 16px;
    --shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);
    --shadow: 0 4px 6px -1px rgba(0, 0, 0, .08), 0 2px 4px -1px rgba(0, 0, 0, .04);
    --shadow-lg: 0 10px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .04);

    --container-width: 1200px;
    --header-height: 70px;
    --transition: all .3s ease;

    --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
}

/* 重置 */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

html { font-size: 16px; -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

body {
    font-family: var(--font-sans);
    font-size: 15px;
    line-height: 1.7;
    color: var(--color-text);
    background: var(--color-bg);
    text-align: left;
    opacity: 0;
    transition: opacity .15s ease;
}
body.ready { opacity: 1; }

ul, ol { list-style: none; }

a {
    color: var(--color-primary);
    text-decoration: none;
    transition: var(--transition);
}
a:hover { color: var(--color-primary-dark); }

img { max-width: 100%; height: auto; display: block; }

button { font-family: inherit; cursor: pointer; border: none; background: none; }

table { border-collapse: collapse; width: 100%; }

/* 通用容器 */
.container {
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 0 20px;
}

/* 清除浮动 */
.clearfix::after { content: ""; display: table; clear: both; }
.clear { clear: both; }

/* 文本工具类 */
.text-center { text-align: center; }
.text-muted { color: var(--color-text-light); }

/* 可见性 */
.hidden { display: none !important; }

/* 选中文本 */
::selection { background: var(--color-primary-light); color: var(--color-primary-dark); }

/* 滚动条 */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: var(--color-bg-alt); }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #94a3b8; }
