/* ================================================================
 * AI 八字排盘 — 设计系统变量
 * 统一管理颜色、间距、圆角、阴影、动画等设计 Token
 * ================================================================ */

:root {
    /* ---- 背景色 ---- */
    --bg-main: #1a1410;
    --bg-page-end: #2d1f14;
    --bg-card: linear-gradient(145deg, #2a1f18, #1f1610);
    --bg-inner: rgba(40, 30, 24, 0.6);
    --bg-dark: rgba(20, 16, 12, 0.6);
    --bg-input: rgba(30, 22, 18, 0.8);
    --bg-input-focus: rgba(40, 30, 24, 0.9);
    --bg-btn-primary: linear-gradient(145deg, #a87d5a, #8a6a48);
    --bg-btn-primary-hover: linear-gradient(145deg, #b88a64, #96744e);
    --bg-btn-secondary: rgba(60, 48, 38, 0.6);
    --bg-tag: rgba(160, 120, 80, 0.12);
    --bg-tag-strong: rgba(200, 160, 100, 0.15);
    --bg-glass: rgba(255, 255, 255, 0.03);

    /* ---- 文字色 ---- */
    --text-primary: #f0e6d3;
    --text-gold: #f0d5b0;
    --text-accent: #c9a87c;
    --text-sub: #b89a7a;
    --text-light: #a08060;
    --text-fade: #7a6a5a;
    --text-weak: #5a4a3a;

    /* ---- 五行配色 ---- */
    --wx-wood: #4caf50;
    --wx-fire: #ff7043;
    --wx-earth: #a1887f;
    --wx-metal: #b0bec5;
    --wx-water: #42a5f5;

    /* ---- 边框色 ---- */
    --border-base: rgba(160, 120, 80, 0.12);
    --border-light: rgba(160, 120, 80, 0.08);
    --border-focus: rgba(200, 160, 100, 0.3);

    /* ---- 圆角 ---- */
    --radius-sm: 8px;
    --radius-md: 10px;
    --radius-lg: 12px;
    --radius-xl: 16px;
    --radius-full: 24px;

    /* ---- 阴影 ---- */
    --shadow-card: 0 20px 60px rgba(0, 0, 0, 0.8),
        inset 0 1px 0 rgba(255, 215, 150, 0.08),
        0 0 0 1px rgba(180, 120, 70, 0.15);
    --shadow-btn: 0 4px 20px rgba(160, 120, 80, 0.2);
    --shadow-btn-hover: 0 8px 32px rgba(180, 130, 80, 0.35);
    --shadow-focus: 0 0 0 3px rgba(200, 160, 100, 0.15);
    --shadow-float: 0 8px 24px rgba(0, 0, 0, 0.4);

    /* ---- 间距 ---- */
    --space-xs: 4px;
    --space-sm: 6px;
    --space-md: 8px;
    --space-lg: 12px;
    --space-xl: 16px;
    --space-2xl: 24px;
    --space-3xl: 32px;

    /* ---- 动画 ---- */
    --anim-fast: 0.2s;
    --anim-normal: 0.35s;
    --anim-slow: 0.6s;
    --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
    --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);

    /* ---- 字体 ---- */
    --font-serif: 'Noto Serif SC', 'Georgia', 'Times New Roman', '宋体', serif;
    --font-sans: 'Noto Sans SC', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

    font-size: 14px;
}

/* ---- 全局重置 ---- */
*,
*::before,
*::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    font-size: 14px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    scroll-behavior: smooth;
}

body {
    font-family: var(--font-serif);
    background: var(--bg-main);
    color: var(--text-primary);
    min-height: 100vh;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    padding: var(--space-lg);
    background-image:
        radial-gradient(ellipse at 20% 50%, rgba(139, 69, 19, 0.15) 0%, transparent 60%),
        radial-gradient(ellipse at 80% 50%, rgba(139, 69, 19, 0.1) 0%, transparent 60%),
        linear-gradient(180deg, var(--bg-main) 0%, var(--bg-page-end) 100%);
    background-attachment: fixed;
}

/* ---- 滚动条美化 ---- */
::-webkit-scrollbar {
    width: 6px;
}
::-webkit-scrollbar-track {
    background: transparent;
}
::-webkit-scrollbar-thumb {
    background: rgba(160, 120, 80, 0.3);
    border-radius: 3px;
}
::-webkit-scrollbar-thumb:hover {
    background: rgba(160, 120, 80, 0.5);
}

/* ---- 选中文本 ---- */
::selection {
    background: rgba(200, 160, 100, 0.25);
    color: var(--text-gold);
}
