/* ================================================================
   VERITAS · 12 种页面展示风格
   通过 html[data-color] 覆盖 CSS 变量（与 data-layout 独立），内容不变、视觉焕新
   ================================================================ */

html.theme-transition,
html.theme-transition * {
  transition: background-color .35s ease, color .25s ease, border-color .35s ease,
              fill .25s ease, stroke .25s ease, box-shadow .35s ease !important;
}

/* ── 1. 鸢尾经典（默认，与 :root 一致）──────────────────────── */
html[data-color="iris-blue"], html[data-theme="classic-iris"] {
  --font: 'Inter', 'PingFang SC', 'Microsoft YaHei', system-ui, sans-serif;
  --font-display: 'Inter', 'PingFang SC', sans-serif;
  --r: 10px; --rl: 18px;
}

/* ── 2. 午夜石板 ───────────────────────────────────────────── */
html[data-color="midnight"], html[data-color="midnight"], html[data-theme="midnight-slate"] {
  --black: #0E1117; --d1: #151922; --d2: #1A2030; --d3: #222838;
  --t1: #E8ECF4; --t2: #A8B0C4; --t3: #6B7590;
  --g: #4DA3FF; --gl: #7BB8FF; --gll: #A8D4FF; --gd: #2B7FD4;
  --g10: rgba(77,163,255,.12); --g20: rgba(77,163,255,.22); --ln: rgba(77,163,255,.18); --ln2: rgba(77,163,255,.30);
  --geo: #4DA3FF; --geo-l: #7BB8FF; --geo-bg: rgba(77,163,255,.12);
  --seo: #7B93FF; --seo-l: #A0B4FF; --seo-bg: rgba(123,147,255,.12);
  --orm: #3DD6C6; --orm-l: #6EEADB; --orm-bg: rgba(61,214,198,.12);
  --kmo-kol: #FFB84D; --kmo-kol-l: #FFD080; --kmo-kol-bg: rgba(255,184,77,.12);
  --kmo-eval: #C084FC; --kmo-eval-l: #D8B4FE; --kmo-eval-bg: rgba(192,132,252,.12);
  --kmo-mon: #38BDF8; --kmo-mon-l: #7DD3FC; --kmo-mon-bg: rgba(56,189,248,.12);
  --accent-warm: #FFB84D; --accent-warm-bg: rgba(255,184,77,.10);
  --grad-brand: linear-gradient(135deg,#2B7FD4 0%,#4DA3FF 50%,#7BB8FF 100%);
  --font: 'Inter', 'PingFang SC', sans-serif;
  --font-display: 'Inter', sans-serif;
  --r: 8px; --rl: 14px;
}
html[data-color="midnight"], html[data-color="midnight"], html[data-theme="midnight-slate"] body::before {
  background-image:
    radial-gradient(ellipse 80% 50% at 8% 12%, rgba(77,163,255,.08) 0%, transparent 55%),
    radial-gradient(ellipse 70% 45% at 92% 18%, rgba(61,214,198,.06) 0%, transparent 50%);
}

/* ── 3. 翡翠森林 ───────────────────────────────────────────── */
html[data-color="emerald"], html[data-color="emerald"], html[data-theme="forest-jade"] {
  --black: #F2F7F4; --d1: #F8FBF9; --d2: #E8F2EC; --d3: #D8EAE0;
  --t1: #1A2E24; --t2: #2D4A3A; --t3: #5A7A68;
  --g: #2D8B6E; --gl: #3DA882; --gll: #5CB88A; --gd: #1F6B52;
  --g10: rgba(45,139,110,.11); --g20: rgba(45,139,110,.20); --ln: rgba(45,139,110,.20); --ln2: rgba(45,139,110,.32);
  --geo: #2D8B6E; --geo-l: #3DA882; --geo-bg: rgba(45,139,110,.11);
  --seo: #3A9E78; --seo-l: #52B890; --seo-bg: rgba(58,158,120,.10);
  --orm: #4A9080; --orm-l: #6AB0A0; --orm-bg: rgba(74,144,128,.10);
  --kmo-kol: #8B7355; --kmo-kol-l: #A89070; --kmo-kol-bg: rgba(139,115,85,.10);
  --kmo-eval: #6B8F71; --kmo-eval-l: #8AAF91; --kmo-eval-bg: rgba(107,143,113,.10);
  --kmo-mon: #3D7A8C; --kmo-mon-l: #5A9AAC; --kmo-mon-bg: rgba(61,122,140,.10);
  --accent-warm: #8B7355; --accent-warm-bg: rgba(139,115,85,.10);
  --grad-brand: linear-gradient(135deg,#1F6B52 0%,#2D8B6E 50%,#3DA882 100%);
  --font: 'Inter', 'PingFang SC', sans-serif;
  --font-display: 'Noto Serif SC', 'PingFang SC', serif;
  --r: 12px; --rl: 20px;
}
html[data-color="emerald"], html[data-color="emerald"], html[data-theme="forest-jade"] .section-title,
html[data-color="emerald"], html[data-color="emerald"], html[data-theme="forest-jade"] .hero-title-glyph { font-family: var(--font-display); }

/* ── 4. 暮光琥珀 ───────────────────────────────────────────── */
html[data-color="amber-gold"], html[data-color="amber-gold"], html[data-theme="sunset-amber"] {
  --black: #FBF6EF; --d1: #FDFAF5; --d2: #F5EDE0; --d3: #EBE0CE;
  --t1: #2C1810; --t2: #5C3D28; --t3: #8A6548;
  --g: #C47A2A; --gl: #D4943A; --gll: #E8B060; --gd: #A06020;
  --g10: rgba(196,122,42,.11); --g20: rgba(196,122,42,.20); --ln: rgba(196,122,42,.22); --ln2: rgba(196,122,42,.34);
  --geo: #C47A2A; --geo-l: #D4943A; --geo-bg: rgba(196,122,42,.11);
  --seo: #B86830; --seo-l: #D08048; --seo-bg: rgba(184,104,48,.10);
  --orm: #A08050; --orm-l: #C0A070; --orm-bg: rgba(160,128,80,.10);
  --kmo-kol: #D4A030; --kmo-kol-l: #E8C050; --kmo-kol-bg: rgba(212,160,48,.10);
  --kmo-eval: #C06080; --kmo-eval-l: #D880A0; --kmo-eval-bg: rgba(192,96,128,.10);
  --kmo-mon: #6090A0; --kmo-mon-l: #80B0C0; --kmo-mon-bg: rgba(96,144,160,.10);
  --accent-warm: #D4943A; --accent-warm-bg: rgba(212,148,58,.12);
  --grad-brand: linear-gradient(135deg,#A06020 0%,#C47A2A 50%,#E8B060 100%);
  --font: 'DM Sans', 'PingFang SC', sans-serif;
  --font-display: 'DM Sans', sans-serif;
  --r: 14px; --rl: 22px;
}

/* ── 5. 皇家紫韵 ───────────────────────────────────────────── */
html[data-color="royal-purple"], html[data-color="royal-purple"], html[data-theme="royal-violet"] {
  --black: #F5F2FA; --d1: #FAF8FD; --d2: #EDE8F5; --d3: #E0D8EE;
  --t1: #1E1030; --t2: #3D2860; --t3: #6B5090;
  --g: #6B3FA0; --gl: #8B5FC8; --gll: #A87FE0; --gd: #502880;
  --g10: rgba(107,63,160,.11); --g20: rgba(107,63,160,.20); --ln: rgba(107,63,160,.20); --ln2: rgba(107,63,160,.32);
  --geo: #6B3FA0; --geo-l: #8B5FC8; --geo-bg: rgba(107,63,160,.11);
  --seo: #8040B0; --seo-l: #A060D0; --seo-bg: rgba(128,64,176,.10);
  --orm: #5040A0; --orm-l: #7060C0; --orm-bg: rgba(80,64,160,.10);
  --kmo-kol: #B08030; --kmo-kol-l: #D0A050; --kmo-kol-bg: rgba(176,128,48,.10);
  --kmo-eval: #C060C0; --kmo-eval-l: #E080E0; --kmo-eval-bg: rgba(192,96,192,.10);
  --kmo-mon: #4060C0; --kmo-mon-l: #6080E0; --kmo-mon-bg: rgba(64,96,192,.10);
  --accent-warm: #B08030; --accent-warm-bg: rgba(176,128,48,.10);
  --grad-brand: linear-gradient(135deg,#502880 0%,#6B3FA0 50%,#A87FE0 100%);
  --font: 'Inter', 'PingFang SC', sans-serif;
  --font-display: 'Playfair Display', 'Noto Serif SC', serif;
  --r: 10px; --rl: 16px;
}
html[data-color="royal-purple"], html[data-color="royal-purple"], html[data-theme="royal-violet"] .section-title,
html[data-color="royal-purple"], html[data-color="royal-purple"], html[data-theme="royal-violet"] .hero-title-glyph { font-family: var(--font-display); font-weight: 700; }

/* ── 6. 海洋青蓝 ───────────────────────────────────────────── */
html[data-color="ocean-cyan"], html[data-color="ocean-cyan"], html[data-theme="ocean-teal"] {
  --black: #F0F8FA; --d1: #F5FBFC; --d2: #E4F2F6; --d3: #D0E8EE;
  --t1: #0C2A32; --t2: #1A5060; --t3: #4A8090;
  --g: #0E7490; --gl: #0891B2; --gll: #22D3EE; --gd: #0A5870;
  --g10: rgba(14,116,144,.11); --g20: rgba(14,116,144,.20); --ln: rgba(14,116,144,.20); --ln2: rgba(14,116,144,.32);
  --geo: #0E7490; --geo-l: #0891B2; --geo-bg: rgba(14,116,144,.11);
  --seo: #0284C7; --seo-l: #38BDF8; --seo-bg: rgba(2,132,199,.10);
  --orm: #0D9488; --orm-l: #2DD4BF; --orm-bg: rgba(13,148,136,.10);
  --kmo-kol: #CA8A04; --kmo-kol-l: #EAB308; --kmo-kol-bg: rgba(202,138,4,.10);
  --kmo-eval: #7C3AED; --kmo-eval-l: #A78BFA; --kmo-eval-bg: rgba(124,58,237,.10);
  --kmo-mon: #0369A1; --kmo-mon-l: #0EA5E9; --kmo-mon-bg: rgba(3,105,161,.10);
  --accent-warm: #CA8A04; --accent-warm-bg: rgba(202,138,4,.10);
  --grad-brand: linear-gradient(135deg,#0A5870 0%,#0E7490 50%,#22D3EE 100%);
  --font: 'Nunito Sans', 'PingFang SC', sans-serif;
  --font-display: 'Nunito Sans', sans-serif;
  --r: 16px; --rl: 24px;
}

/* ── 7. 玫瑰轻奢 ───────────────────────────────────────────── */
html[data-color="rose-pink"], html[data-color="rose-pink"], html[data-theme="rose-blush"] {
  --black: #FDF5F7; --d1: #FFFAFB; --d2: #F8E8EE; --d3: #F0D8E2;
  --t1: #2A1018; --t2: #5C2840; --t3: #8A5070;
  --g: #BE4B6A; --gl: #D46580; --gll: #E8889A; --gd: #9A3050;
  --g10: rgba(190,75,106,.11); --g20: rgba(190,75,106,.20); --ln: rgba(190,75,106,.20); --ln2: rgba(190,75,106,.32);
  --geo: #BE4B6A; --geo-l: #D46580; --geo-bg: rgba(190,75,106,.11);
  --seo: #A04070; --seo-l: #C06090; --seo-bg: rgba(160,64,112,.10);
  --orm: #8050A0; --orm-l: #A070C0; --orm-bg: rgba(128,80,160,.10);
  --kmo-kol: #C08040; --kmo-kol-l: #E0A060; --kmo-kol-bg: rgba(192,128,64,.10);
  --kmo-eval: #9060B0; --kmo-eval-l: #B080D0; --kmo-eval-bg: rgba(144,96,176,.10);
  --kmo-mon: #5080A0; --kmo-mon-l: #70A0C0; --kmo-mon-bg: rgba(80,128,160,.10);
  --accent-warm: #C08040; --accent-warm-bg: rgba(192,128,64,.10);
  --grad-brand: linear-gradient(135deg,#9A3050 0%,#BE4B6A 50%,#E8889A 100%);
  --font: 'Inter', 'PingFang SC', sans-serif;
  --font-display: 'Cormorant Garamond', 'Noto Serif SC', serif;
  --r: 12px; --rl: 20px;
}
html[data-color="rose-pink"], html[data-color="rose-pink"], html[data-theme="rose-blush"] .section-title { font-family: var(--font-display); font-weight: 700; letter-spacing: .02em; }

/* ── 8. 墨色极简 ───────────────────────────────────────────── */
html[data-color="mono-ink"], html[data-color="mono-ink"], html[data-theme="ink-minimal"] {
  --black: #FAFAFA; --d1: #FFFFFF; --d2: #F0F0F0; --d3: #E0E0E0;
  --t1: #111111; --t2: #333333; --t3: #666666;
  --g: #111111; --gl: #333333; --gll: #555555; --gd: #000000;
  --g10: rgba(17,17,17,.08); --g20: rgba(17,17,17,.15); --ln: rgba(17,17,17,.14); --ln2: rgba(17,17,17,.24);
  --geo: #111111; --geo-l: #333333; --geo-bg: rgba(17,17,17,.08);
  --seo: #444444; --seo-l: #666666; --seo-bg: rgba(68,68,68,.08);
  --orm: #555555; --orm-l: #777777; --orm-bg: rgba(85,85,85,.08);
  --kmo-kol: #888888; --kmo-kol-l: #AAAAAA; --kmo-kol-bg: rgba(136,136,136,.08);
  --kmo-eval: #666666; --kmo-eval-l: #888888; --kmo-eval-bg: rgba(102,102,102,.08);
  --kmo-mon: #444444; --kmo-mon-l: #666666; --kmo-mon-bg: rgba(68,68,68,.08);
  --accent-warm: #888888; --accent-warm-bg: rgba(136,136,136,.08);
  --grad-brand: linear-gradient(135deg,#000 0%,#333 50%,#555 100%);
  --font: 'IBM Plex Sans', 'PingFang SC', sans-serif;
  --font-display: 'IBM Plex Sans', sans-serif;
  --r: 4px; --rl: 6px;
}
html[data-color="mono-ink"], html[data-color="mono-ink"], html[data-theme="ink-minimal"] .service-card,
html[data-color="mono-ink"], html[data-color="mono-ink"], html[data-theme="ink-minimal"] .stat-item { box-shadow: none !important; border: 1px solid var(--ln); }

/* ── 9. 赤红力量 ───────────────────────────────────────────── */
html[data-color="vermilion"], html[data-color="vermilion"], html[data-theme="crimson-bold"] {
  --black: #FDF5F5; --d1: #FFFAFA; --d2: #F8E8E8; --d3: #F0D0D0;
  --t1: #1A0808; --t2: #4A1818; --t3: #7A4040;
  --g: #B91C1C; --gl: #DC2626; --gll: #EF4444; --gd: #991B1B;
  --g10: rgba(185,28,28,.11); --g20: rgba(185,28,28,.20); --ln: rgba(185,28,28,.20); --ln2: rgba(185,28,28,.32);
  --geo: #B91C1C; --geo-l: #DC2626; --geo-bg: rgba(185,28,28,.11);
  --seo: #9A2020; --seo-l: #C03030; --seo-bg: rgba(154,32,32,.10);
  --orm: #804040; --orm-l: #A06060; --orm-bg: rgba(128,64,64,.10);
  --kmo-kol: #B45309; --kmo-kol-l: #D97706; --kmo-kol-bg: rgba(180,83,9,.10);
  --kmo-eval: #7C2D12; --kmo-eval-l: #C2410C; --kmo-eval-bg: rgba(124,45,18,.10);
  --kmo-mon: #1E40AF; --kmo-mon-l: #3B82F6; --kmo-mon-bg: rgba(30,64,175,.10);
  --accent-warm: #B45309; --accent-warm-bg: rgba(180,83,9,.10);
  --grad-brand: linear-gradient(135deg,#991B1B 0%,#B91C1C 50%,#EF4444 100%);
  --font: 'Noto Sans SC', 'PingFang SC', sans-serif;
  --font-display: 'Noto Sans SC', sans-serif;
  --r: 6px; --rl: 10px;
}

/* ── 10. 薄荷春新 ──────────────────────────────────────────── */
html[data-color="mint-fresh"], html[data-color="mint-fresh"], html[data-theme="mint-spring"] {
  --black: #F0FDF9; --d1: #F5FFFC; --d2: #DCFCE8; --d3: #BBF7D0;
  --t1: #052E16; --t2: #14532D; --t3: #166534;
  --g: #059669; --gl: #10B981; --gll: #34D399; --gd: #047857;
  --g10: rgba(5,150,105,.11); --g20: rgba(5,150,105,.20); --ln: rgba(5,150,105,.20); --ln2: rgba(5,150,105,.32);
  --geo: #059669; --geo-l: #10B981; --geo-bg: rgba(5,150,105,.11);
  --seo: #0D9488; --seo-l: #14B8A6; --seo-bg: rgba(13,148,136,.10);
  --orm: #0891B2; --orm-l: #22D3EE; --orm-bg: rgba(8,145,178,.10);
  --kmo-kol: #CA8A04; --kmo-kol-l: #EAB308; --kmo-kol-bg: rgba(202,138,4,.10);
  --kmo-eval: #8B5CF6; --kmo-eval-l: #A78BFA; --kmo-eval-bg: rgba(139,92,246,.10);
  --kmo-mon: #0284C7; --kmo-mon-l: #38BDF8; --kmo-mon-bg: rgba(2,132,199,.10);
  --accent-warm: #CA8A04; --accent-warm-bg: rgba(202,138,4,.10);
  --grad-brand: linear-gradient(135deg,#047857 0%,#059669 50%,#34D399 100%);
  --font: 'Quicksand', 'PingFang SC', sans-serif;
  --font-display: 'Quicksand', sans-serif;
  --r: 18px; --rl: 26px;
}

/* ── 11. 墨韵书卷 ──────────────────────────────────────────── */
html[data-color="bronze-classic"], html[data-color="bronze-classic"], html[data-theme="calligraphy"] {
  --black: #F9F5EE; --d1: #FDFAF5; --d2: #F0E8DA; --d3: #E4D8C4;
  --t1: #2A1810; --t2: #4A3020; --t3: #7A6048;
  --g: #8B4513; --gl: #A0522D; --gll: #C07040; --gd: #6B3410;
  --g10: rgba(139,69,19,.11); --g20: rgba(139,69,19,.20); --ln: rgba(139,69,19,.20); --ln2: rgba(139,69,19,.32);
  --geo: #5B73B7; --geo-l: #7B93D4; --geo-bg: rgba(91,115,183,.11);
  --seo: #8B4513; --seo-l: #A0522D; --seo-bg: rgba(139,69,19,.10);
  --orm: #4A6741; --orm-l: #6A8761; --orm-bg: rgba(74,103,65,.10);
  --kmo-kol: #B8860B; --kmo-kol-l: #DAA520; --kmo-kol-bg: rgba(184,134,11,.10);
  --kmo-eval: #6B4423; --kmo-eval-l: #8B6043; --kmo-eval-bg: rgba(107,68,35,.10);
  --kmo-mon: #2F4F4F; --kmo-mon-l: #4F6F6F; --kmo-mon-bg: rgba(47,79,79,.10);
  --accent-warm: #B8860B; --accent-warm-bg: rgba(184,134,11,.10);
  --grad-brand: linear-gradient(135deg,#6B3410 0%,#8B4513 50%,#C07040 100%);
  --font: 'Inter', 'PingFang SC', sans-serif;
  --font-display: 'Ma Shan Zheng', 'Noto Serif SC', cursive;
  --r: 6px; --rl: 12px;
}
html[data-color="bronze-classic"], html[data-color="bronze-classic"], html[data-theme="calligraphy"] .hero-title-glyph { font-family: 'Ma Shan Zheng', cursive; font-weight: 400; }
html[data-color="bronze-classic"], html[data-color="bronze-classic"], html[data-theme="calligraphy"] .section-title { font-family: 'Noto Serif SC', serif; font-weight: 700; }

/* ── 12. 霓虹赛博 ──────────────────────────────────────────── */
html[data-color="neon-volt"], html[data-color="neon-volt"], html[data-theme="neon-cyber"] {
  --black: #0A0A12; --d1: #10101C; --d2: #161624; --d3: #1E1E30;
  --t1: #F0F0FF; --t2: #B0B0D0; --t3: #707090;
  --g: #00F0FF; --gl: #40F8FF; --gll: #80FCFF; --gd: #00C0D0;
  --g10: rgba(0,240,255,.12); --g20: rgba(0,240,255,.22); --ln: rgba(0,240,255,.20); --ln2: rgba(255,0,170,.28);
  --geo: #00F0FF; --geo-l: #40F8FF; --geo-bg: rgba(0,240,255,.12);
  --seo: #FF00AA; --seo-l: #FF40CC; --seo-bg: rgba(255,0,170,.12);
  --orm: #7B2FFF; --orm-l: #A060FF; --orm-bg: rgba(123,47,255,.12);
  --kmo-kol: #FFD700; --kmo-kol-l: #FFE840; --kmo-kol-bg: rgba(255,215,0,.12);
  --kmo-eval: #FF00AA; --kmo-eval-l: #FF60CC; --kmo-eval-bg: rgba(255,0,170,.12);
  --kmo-mon: #00F0FF; --kmo-mon-l: #60F8FF; --kmo-mon-bg: rgba(0,240,255,.12);
  --accent-warm: #FFD700; --accent-warm-bg: rgba(255,215,0,.10);
  --grad-brand: linear-gradient(135deg,#7B2FFF 0%,#00F0FF 50%,#FF00AA 100%);
  --font: 'Inter', 'PingFang SC', sans-serif;
  --font-display: 'Orbitron', 'Inter', sans-serif;
  --r: 4px; --rl: 8px;
  --green: #00FF88; --red: #FF3366;
}
html[data-color="neon-volt"], html[data-color="neon-volt"], html[data-theme="neon-cyber"] body::before {
  background-image:
    radial-gradient(ellipse 60% 40% at 20% 20%, rgba(0,240,255,.06) 0%, transparent 50%),
    radial-gradient(ellipse 50% 35% at 80% 30%, rgba(255,0,170,.05) 0%, transparent 50%),
    radial-gradient(ellipse 40% 30% at 50% 80%, rgba(123,47,255,.05) 0%, transparent 50%);
}
html[data-color="neon-volt"], html[data-color="neon-volt"], html[data-theme="neon-cyber"] .section-title,
html[data-color="neon-volt"], html[data-color="neon-volt"], html[data-theme="neon-cyber"] .hero-title-glyph { font-family: var(--font-display); letter-spacing: .04em; }
html[data-color="neon-volt"], html[data-color="neon-volt"], html[data-theme="neon-cyber"] .service-card:hover,
html[data-color="neon-volt"], html[data-color="neon-volt"], html[data-theme="neon-cyber"] .btn-primary:hover { box-shadow: 0 0 20px rgba(0,240,255,.25); }

/* ── 全局：标题字体继承 ─────────────────────────────────────── */
.section-title { font-family: var(--font-display, var(--font)); }
.hero-title-glyph { font-family: var(--font-display, var(--font)); }

/* ── 图标/描边随主题色 ─────────────────────────────────────── */
.ui-icon { stroke: currentColor; }
.service-icon .ui-icon { stroke: inherit; }
