/* ══ Design Tokens — 观汐 VI「潮汐纹」Brand System ══ */
:root {
    /* 色彩 */
    --bg-primary: #0A0A0A;
    --bg-secondary: #0E0E0E;
    --bg-elevated: #111111;
    --bg-glass: rgba(10,10,10,0.85);
    --gold: #D6A461;
    --gold-light: #E8C98A;
    --gold-dim: #C49A3C;
    --gold-deep: #8B6914;
    --gold-bg-10: rgba(214,164,97,0.06);
    --gold-bg-15: rgba(214,164,97,0.12);
    --gold-bg-20: rgba(214,164,97,0.18);
    --text-1: rgba(255,255,255,0.80);
    --text-2: rgba(255,255,255,0.55);
    --text-3: rgba(255,255,255,0.35);
    --text-4: rgba(255,255,255,0.15);
    --text-5: rgba(255,255,255,0.06);
    --positive: #D6A461;
    --negative: #C49A3C;
    --neutral: rgba(255,255,255,0.35);
    /* 圆角 */
    --radius-xs: 4px;
    --radius-sm: 8px;
    --radius-md: 12px;
    --radius-lg: 16px;
    --radius-xl: 20px;
    --radius-pill: 99px;
    /* 动效 */
    --duration-micro: 0.15s;
    --duration-fast: 0.2s;
    --duration-normal: 0.3s;
    --duration-slow: 0.5s;
    --ease-default: ease;
    --ease-smooth: ease-in-out;
    --ease-bounce: cubic-bezier(0.175, 0.885, 0.32, 1.275);
    --ease-drawer: cubic-bezier(0.25, 0.46, 0.45, 0.94);

    /* 品牌字体 — VI 潮汐纹 Brand System */
    --font-brand: 'Songti SC', 'Noto Serif SC', 'STSongti', 'SimSun', 'Source Han Serif SC', serif;
    --font-mono: 'Space Mono', 'SF Mono', 'Menlo', monospace;

    /* 品牌分隔线 */
    --divider-brand: linear-gradient(90deg, transparent, rgba(214,164,97,0.12), transparent);
}

/* 品牌字体 — 本地 woff2 托管，不依赖 Google Fonts */
@font-face {
    font-family: 'Noto Serif SC';
    font-weight: 700;
    font-display: swap;
    src: url('fonts/noto-serif-sc-700-61.woff2') format('woff2');
    unicode-range: U+4E00-4FFF;
}
@font-face {
    font-family: 'Noto Serif SC';
    font-weight: 700;
    font-display: swap;
    src: url('fonts/noto-serif-sc-700-107.woff2') format('woff2');
    unicode-range: U+5000-5FFF;
}
@font-face {
    font-family: 'Noto Serif SC';
    font-weight: 700;
    font-display: swap;
    src: url('fonts/noto-serif-sc-700-113.woff2') format('woff2');
    unicode-range: U+6000-6FFF;
}
@font-face {
    font-family: 'Noto Serif SC';
    font-weight: 700;
    font-display: swap;
    src: url('fonts/noto-serif-sc-700-116.woff2') format('woff2');
    unicode-range: U+7000-7FFF;
}
@font-face {
    font-family: 'Noto Serif SC';
    font-weight: 700;
    font-display: swap;
    src: url('fonts/noto-serif-sc-700-117.woff2') format('woff2');
    unicode-range: U+8000-8FFF;
}
@font-face {
    font-family: 'Noto Serif SC';
    font-weight: 700;
    font-display: swap;
    src: url('fonts/noto-serif-sc-700-118.woff2') format('woff2');
    unicode-range: U+9000-9FFF;
}
@font-face {
    font-family: 'Noto Serif SC';
    font-weight: 700;
    font-display: swap;
    src: url('fonts/noto-serif-sc-700-119.woff2') format('woff2');
    unicode-range: U+200-2FF, U+2000-206F, U+2070-209F, U+20A0-20CF, U+2100-214F, U+3000-303F, U+FF00-FFEF;
}
/* Noto Sans SC — 正文/UI 字体，本地 woff2 托管 */
@font-face {
    font-family: 'Noto Sans SC';
    font-weight: 400 700;
    font-display: swap;
    src: url('fonts/noto-sans-sc-400-61.woff2') format('woff2');
    unicode-range: U+4E00-4FFF;
}
@font-face {
    font-family: 'Noto Sans SC';
    font-weight: 400 700;
    font-display: swap;
    src: url('fonts/noto-sans-sc-400-107.woff2') format('woff2');
    unicode-range: U+5000-5FFF;
}
@font-face {
    font-family: 'Noto Sans SC';
    font-weight: 400 700;
    font-display: swap;
    src: url('fonts/noto-sans-sc-400-113.woff2') format('woff2');
    unicode-range: U+6000-6FFF;
}
@font-face {
    font-family: 'Noto Sans SC';
    font-weight: 400 700;
    font-display: swap;
    src: url('fonts/noto-sans-sc-400-116.woff2') format('woff2');
    unicode-range: U+7000-7FFF;
}
@font-face {
    font-family: 'Noto Sans SC';
    font-weight: 400 700;
    font-display: swap;
    src: url('fonts/noto-sans-sc-400-117.woff2') format('woff2');
    unicode-range: U+8000-8FFF;
}
@font-face {
    font-family: 'Noto Sans SC';
    font-weight: 400 700;
    font-display: swap;
    src: url('fonts/noto-sans-sc-400-118.woff2') format('woff2');
    unicode-range: U+9000-9FFF;
}
@font-face {
    font-family: 'Noto Sans SC';
    font-weight: 400 700;
    font-display: swap;
    src: url('fonts/noto-sans-sc-400-119.woff2') format('woff2');
    unicode-range: U+200-2FF, U+2000-206F, U+2070-209F, U+20A0-20CF, U+2100-214F, U+3000-303F, U+FF00-FFEF;
}

@font-face {
    font-family: 'Space Mono';
    font-weight: 400;
    font-display: swap;
    src: url('fonts/space-mono-400.woff2') format('woff2');
}
@font-face {
    font-family: 'Space Mono';
    font-weight: 700;
    font-display: swap;
    src: url('fonts/space-mono-700.woff2') format('woff2');
}

/* 无障碍：尊重用户减弱动效偏好 */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* 品牌动效 */
@keyframes brand-breathe {
    0%, 100% { transform: scale(0.95); }
    50% { transform: scale(1.05); }
}
@keyframes gx-ripple-out {
    0% { width: 10px; height: 10px; opacity: 0.7; }
    100% { width: 80px; height: 80px; opacity: 0; }
}
