/* ============================================================
   写逸网络 V8.2「净蓝」设计系统 —— 全站唯一色源
   规则：任何新样式只允许引用这里的变量，不再出现零散色值
   ============================================================ */

:root {
    /* ---------- 品牌强调色（全站唯一） ---------- */
    --blue: #1660E8;            /* 主色：按钮/链接/图标/强调 */
    --blue-hover: #1048C0;      /* 悬停 */
    --blue-2: #3B82F6;          /* 渐变端 */
    --blue-soft: #EEF4FF;       /* 浅蓝底：标签底/悬浮底/选中底 */
    --blue-line: #E2ECFF;       /* 描边/分隔线 */
    --blue-grad: linear-gradient(135deg, #1660E8 0%, #3B82F6 100%);

    /* ---------- 中性文字（统一蓝灰体系） ---------- */
    --ink-900: #0F1830;         /* 标题 */
    --ink-600: #3D4A63;         /* 正文 */
    --ink-400: #8A93A6;         /* 辅助说明 */

    /* ---------- 底色 ---------- */
    --day-0: #FFFFFF;           /* 卡片 */
    --day-100: #F6F8FC;         /* 区块底 */

    /* ---------- 深色锚点（仅导航/页脚/横幅） ---------- */
    --navy: #0A1128;
    --navy-2: #0F1830;
    --navy-text: #E8EDF7;
    --navy-text-2: #A9B4CC;

    /* ---------- 圆角 ---------- */
    --r-sm: 10px;
    --r-md: 14px;
    --r-lg: 20px;
    --r-xl: 24px;
    --r-pill: 999px;

    /* ---------- 阴影（唯一三级） ---------- */
    --sh-1: 0 1px 2px rgba(15, 24, 48, 0.04), 0 6px 24px rgba(15, 24, 48, 0.05);
    --sh-2: 0 12px 32px rgba(22, 96, 232, 0.14);
    --sh-navy: 0 24px 60px rgba(6, 12, 26, 0.35);

    /* ---------- 过渡 ---------- */
    --ease: cubic-bezier(0.16, 1, 0.3, 1);
    --t-fast: 0.2s;
    --t-mid: 0.45s;

    /* ---------- 布局 ---------- */
    --container: 1200px;
    --sec-pad: clamp(48px, 7vw, 96px);

    /* ---------- 字体 ---------- */
    --font-cn: "MiSans", "HarmonyOS Sans SC", "PingFang SC", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
}

/* ---------- 基础微调（低侵入） ---------- */
body {
    font-family: var(--font-cn);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

/* ---------- 全站旧青色统一为品牌蓝（页脚/装饰条/时间线） ---------- */
.footer-title::before {
    background-color: var(--blue);
}

.footer-list a:hover {
    color: var(--blue);
}

/* 线性图标基类：配合 js/icons.js 注入的 sprite */
.i {
    width: 1em;
    height: 1em;
    display: inline-block;
    vertical-align: -0.12em;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.75;
    stroke-linecap: round;
    stroke-linejoin: round;
    flex: none;
}

/* ---------- 滚动显现（v3：无 JS 时内容直接可见） ---------- */
html.v3-js .v3-reveal {
    opacity: 0;
    transform: translateY(22px);
    transition: opacity 0.7s var(--ease), transform 0.7s var(--ease);
}

html.v3-js .v3-reveal.in {
    opacity: 1;
    transform: translateY(0);
}

/* 显现入场次序 */
html.v3-js .v3-reveal[data-d="1"] { transition-delay: 0.06s; }
html.v3-js .v3-reveal[data-d="2"] { transition-delay: 0.12s; }
html.v3-js .v3-reveal[data-d="3"] { transition-delay: 0.18s; }
html.v3-js .v3-reveal[data-d="4"] { transition-delay: 0.24s; }
html.v3-js .v3-reveal[data-d="5"] { transition-delay: 0.30s; }
html.v3-js .v3-reveal[data-d="6"] { transition-delay: 0.36s; }

/* ---------- 动效降级 ---------- */
@media (prefers-reduced-motion: reduce) {
    html.v3-js .v3-reveal {
        opacity: 1;
        transform: none;
        transition: none;
    }

    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}
