/* 子站模板风格变体：整站（导航 / 页脚 / 按钮 / 背景）跟随 html[data-gf-style] */
/* 风格：ocean / emerald / violet / amber / rose / slate / teal / indigo */

/* —— ocean（海蓝） —— */
html[data-gf-style="ocean"]:not([data-theme="light"]) {
  --bg-primary: #0d1117;
  --bg-secondary: #161b22;
  --bg-tertiary: #21262d;
  --border-color: #30363d;
  --text-primary: #f0f6fc;
  --text-secondary: #8b949e;
  --text-muted: #6e7681;
  --accent-primary: #58a6ff;
  --accent-secondary: #79c0ff;
  --gradient-start: #58a6ff;
  --gradient-end: #79c0ff;
  --btn-primary-fg: #0d1117;
  --focus-ring: rgba(88, 166, 255, 0.25);
  --nav-tint: color-mix(in srgb, #58a6ff 38%, #0d1117);
  --nav-border-accent: rgba(88, 166, 255, 0.28);
}
html[data-gf-style="ocean"][data-theme="light"] {
  --bg-primary: #f6f8fa;
  --bg-secondary: #ffffff;
  --bg-tertiary: #eaeef2;
  --border-color: #d0d7de;
  --text-primary: #1f2328;
  --text-secondary: #656d76;
  --text-muted: #8c959f;
  --accent-primary: #0969da;
  --accent-secondary: #218bff;
  --gradient-start: #0969da;
  --gradient-end: #218bff;
  --btn-primary-fg: #ffffff;
  --focus-ring: rgba(9, 105, 218, 0.22);
  --nav-tint: color-mix(in srgb, #0969da 16%, #ffffff);
  --nav-border-accent: rgba(9, 105, 218, 0.22);
}

/* —— emerald —— */
html[data-gf-style="emerald"]:not([data-theme="light"]) {
  --bg-primary: #0b1410;
  --bg-secondary: #12201a;
  --bg-tertiary: #1a2e24;
  --border-color: #2a4036;
  --text-primary: #ecfdf5;
  --text-secondary: #8bbf9e;
  --text-muted: #6a9478;
  --accent-primary: #3fb950;
  --accent-secondary: #56d364;
  --gradient-start: #3fb950;
  --gradient-end: #56d364;
  --btn-primary-fg: #0b1410;
  --focus-ring: rgba(63, 185, 80, 0.28);
  --nav-tint: color-mix(in srgb, #3fb950 40%, #0b1410);
  --nav-border-accent: rgba(63, 185, 80, 0.28);
}
html[data-gf-style="emerald"][data-theme="light"] {
  --bg-primary: #f3faf6;
  --bg-secondary: #ffffff;
  --bg-tertiary: #e6f4ec;
  --border-color: #c6e2d1;
  --text-primary: #0f291a;
  --text-secondary: #3d6b50;
  --text-muted: #6b9080;
  --accent-primary: #0f7b46;
  --accent-secondary: #18a35a;
  --gradient-start: #0f7b46;
  --gradient-end: #18a35a;
  --btn-primary-fg: #ffffff;
  --focus-ring: rgba(15, 123, 70, 0.22);
  --nav-tint: color-mix(in srgb, #0f7b46 18%, #ffffff);
  --nav-border-accent: rgba(15, 123, 70, 0.22);
}

/* —— violet —— */
html[data-gf-style="violet"]:not([data-theme="light"]) {
  --bg-primary: #110d1a;
  --bg-secondary: #1a1428;
  --bg-tertiary: #251d38;
  --border-color: #3a2f52;
  --text-primary: #f5f0ff;
  --text-secondary: #b5a3d6;
  --text-muted: #8878a8;
  --accent-primary: #a371f7;
  --accent-secondary: #bf8aff;
  --gradient-start: #a371f7;
  --gradient-end: #bf8aff;
  --btn-primary-fg: #110d1a;
  --focus-ring: rgba(163, 113, 247, 0.28);
  --nav-tint: color-mix(in srgb, #a371f7 40%, #110d1a);
  --nav-border-accent: rgba(163, 113, 247, 0.28);
}
html[data-gf-style="violet"][data-theme="light"] {
  --bg-primary: #f7f4fc;
  --bg-secondary: #ffffff;
  --bg-tertiary: #efe8fa;
  --border-color: #d8cceb;
  --text-primary: #1e1033;
  --text-secondary: #5b4a78;
  --text-muted: #8a7aa8;
  --accent-primary: #7c3aed;
  --accent-secondary: #8b5cf6;
  --gradient-start: #7c3aed;
  --gradient-end: #8b5cf6;
  --btn-primary-fg: #ffffff;
  --focus-ring: rgba(124, 58, 237, 0.22);
  --nav-tint: color-mix(in srgb, #7c3aed 16%, #ffffff);
  --nav-border-accent: rgba(124, 58, 237, 0.22);
}

/* —— amber —— */
html[data-gf-style="amber"]:not([data-theme="light"]) {
  --bg-primary: #14110a;
  --bg-secondary: #1e1a10;
  --bg-tertiary: #2a2416;
  --border-color: #3d3420;
  --text-primary: #fff8e7;
  --text-secondary: #c9b48a;
  --text-muted: #9a8860;
  --accent-primary: #e3b341;
  --accent-secondary: #f0c674;
  --gradient-start: #e3b341;
  --gradient-end: #f0c674;
  --btn-primary-fg: #14110a;
  --focus-ring: rgba(227, 179, 65, 0.28);
  --nav-tint: color-mix(in srgb, #e3b341 38%, #14110a);
  --nav-border-accent: rgba(227, 179, 65, 0.28);
}
html[data-gf-style="amber"][data-theme="light"] {
  --bg-primary: #fbf8f1;
  --bg-secondary: #ffffff;
  --bg-tertiary: #f3ead6;
  --border-color: #e5d5a8;
  --text-primary: #2a1f0a;
  --text-secondary: #7a5c28;
  --text-muted: #a0844a;
  --accent-primary: #b45309;
  --accent-secondary: #d97706;
  --gradient-start: #b45309;
  --gradient-end: #d97706;
  --btn-primary-fg: #ffffff;
  --focus-ring: rgba(180, 83, 9, 0.22);
  --nav-tint: color-mix(in srgb, #b45309 16%, #ffffff);
  --nav-border-accent: rgba(180, 83, 9, 0.22);
}

/* —— rose —— */
html[data-gf-style="rose"]:not([data-theme="light"]) {
  --bg-primary: #160d12;
  --bg-secondary: #21141c;
  --bg-tertiary: #2e1c27;
  --border-color: #46303c;
  --text-primary: #fff0f6;
  --text-secondary: #d4a0b8;
  --text-muted: #a87890;
  --accent-primary: #f778ba;
  --accent-secondary: #ff9ecd;
  --gradient-start: #f778ba;
  --gradient-end: #ff9ecd;
  --btn-primary-fg: #160d12;
  --focus-ring: rgba(247, 120, 186, 0.28);
  --nav-tint: color-mix(in srgb, #f778ba 38%, #160d12);
  --nav-border-accent: rgba(247, 120, 186, 0.28);
}
html[data-gf-style="rose"][data-theme="light"] {
  --bg-primary: #fff5f8;
  --bg-secondary: #ffffff;
  --bg-tertiary: #fce7ef;
  --border-color: #f0c2d4;
  --text-primary: #2a101c;
  --text-secondary: #7a3d58;
  --text-muted: #a86b84;
  --accent-primary: #be185d;
  --accent-secondary: #db2777;
  --gradient-start: #be185d;
  --gradient-end: #db2777;
  --btn-primary-fg: #ffffff;
  --focus-ring: rgba(190, 24, 93, 0.22);
  --nav-tint: color-mix(in srgb, #be185d 16%, #ffffff);
  --nav-border-accent: rgba(190, 24, 93, 0.22);
}

/* —— slate —— */
html[data-gf-style="slate"]:not([data-theme="light"]) {
  --bg-primary: #0f1216;
  --bg-secondary: #171b21;
  --bg-tertiary: #222830;
  --border-color: #343b45;
  --text-primary: #f0f2f5;
  --text-secondary: #9aa3ad;
  --text-muted: #757e8a;
  --accent-primary: #8b949e;
  --accent-secondary: #a8b1bb;
  --gradient-start: #8b949e;
  --gradient-end: #a8b1bb;
  --btn-primary-fg: #0f1216;
  --focus-ring: rgba(139, 148, 158, 0.28);
  --nav-tint: color-mix(in srgb, #8b949e 32%, #0f1216);
  --nav-border-accent: rgba(139, 148, 158, 0.28);
}
html[data-gf-style="slate"][data-theme="light"] {
  --bg-primary: #f4f5f7;
  --bg-secondary: #ffffff;
  --bg-tertiary: #e8eaee;
  --border-color: #c9ced6;
  --text-primary: #1e293b;
  --text-secondary: #475569;
  --text-muted: #64748b;
  --accent-primary: #475569;
  --accent-secondary: #64748b;
  --gradient-start: #475569;
  --gradient-end: #64748b;
  --btn-primary-fg: #ffffff;
  --focus-ring: rgba(71, 85, 105, 0.22);
  --nav-tint: color-mix(in srgb, #475569 12%, #ffffff);
  --nav-border-accent: rgba(71, 85, 105, 0.2);
}

/* —— teal —— */
html[data-gf-style="teal"]:not([data-theme="light"]) {
  --bg-primary: #0a1416;
  --bg-secondary: #122022;
  --bg-tertiary: #1a2e31;
  --border-color: #2a4145;
  --text-primary: #e8fffc;
  --text-secondary: #8ec9c3;
  --text-muted: #6a9e98;
  --accent-primary: #39c5bb;
  --accent-secondary: #5ed7cf;
  --gradient-start: #39c5bb;
  --gradient-end: #5ed7cf;
  --btn-primary-fg: #0a1416;
  --focus-ring: rgba(57, 197, 187, 0.28);
  --nav-tint: color-mix(in srgb, #39c5bb 40%, #0a1416);
  --nav-border-accent: rgba(57, 197, 187, 0.28);
}
html[data-gf-style="teal"][data-theme="light"] {
  --bg-primary: #f0fafa;
  --bg-secondary: #ffffff;
  --bg-tertiary: #dff3f2;
  --border-color: #b7e0dd;
  --text-primary: #0c2a28;
  --text-secondary: #3d6e6a;
  --text-muted: #6b9692;
  --accent-primary: #0f766e;
  --accent-secondary: #14b8a6;
  --gradient-start: #0f766e;
  --gradient-end: #14b8a6;
  --btn-primary-fg: #ffffff;
  --focus-ring: rgba(15, 118, 110, 0.22);
  --nav-tint: color-mix(in srgb, #0f766e 18%, #ffffff);
  --nav-border-accent: rgba(15, 118, 110, 0.22);
}

/* —— indigo —— */
html[data-gf-style="indigo"]:not([data-theme="light"]) {
  --bg-primary: #0d101c;
  --bg-secondary: #151a2b;
  --bg-tertiary: #1f2640;
  --border-color: #303a5a;
  --text-primary: #eef0ff;
  --text-secondary: #a4add6;
  --text-muted: #7a84ad;
  --accent-primary: #818cf8;
  --accent-secondary: #a5b4fc;
  --gradient-start: #818cf8;
  --gradient-end: #a5b4fc;
  --btn-primary-fg: #0d101c;
  --focus-ring: rgba(129, 140, 248, 0.28);
  --nav-tint: color-mix(in srgb, #818cf8 40%, #0d101c);
  --nav-border-accent: rgba(129, 140, 248, 0.28);
}
html[data-gf-style="indigo"][data-theme="light"] {
  --bg-primary: #f4f5ff;
  --bg-secondary: #ffffff;
  --bg-tertiary: #e8eafc;
  --border-color: #c7cbf0;
  --text-primary: #16183a;
  --text-secondary: #45497a;
  --text-muted: #6f74a0;
  --accent-primary: #4338ca;
  --accent-secondary: #4f46e5;
  --gradient-start: #4338ca;
  --gradient-end: #4f46e5;
  --btn-primary-fg: #ffffff;
  --focus-ring: rgba(67, 56, 202, 0.22);
  --nav-tint: color-mix(in srgb, #4338ca 14%, #ffffff);
  --nav-border-accent: rgba(67, 56, 202, 0.22);
}

/* —— coral —— */
html[data-gf-style="coral"]:not([data-theme="light"]) {
  --bg-primary: #160c0e;
  --bg-secondary: #221114;
  --bg-tertiary: #30181c;
  --border-color: #4a252c;
  --text-primary: #fff1f2;
  --text-secondary: #d4a0a8;
  --text-muted: #a87880;
  --accent-primary: #fb7185;
  --accent-secondary: #fda4af;
  --gradient-start: #fb7185;
  --gradient-end: #fda4af;
  --btn-primary-fg: #160c0e;
  --focus-ring: rgba(251, 113, 133, 0.28);
  --nav-tint: color-mix(in srgb, #fb7185 38%, #160c0e);
  --nav-border-accent: rgba(251, 113, 133, 0.28);
}
html[data-gf-style="coral"][data-theme="light"] {
  --bg-primary: #fff5f6;
  --bg-secondary: #ffffff;
  --bg-tertiary: #ffe4e8;
  --border-color: #fecdd3;
  --text-primary: #4c0519;
  --text-secondary: #9f1239;
  --text-muted: #be123c;
  --accent-primary: #e11d48;
  --accent-secondary: #f43f5e;
  --gradient-start: #e11d48;
  --gradient-end: #f43f5e;
  --btn-primary-fg: #ffffff;
  --focus-ring: rgba(225, 29, 72, 0.22);
  --nav-tint: color-mix(in srgb, #e11d48 14%, #ffffff);
  --nav-border-accent: rgba(225, 29, 72, 0.22);
}

/* —— lime —— */
html[data-gf-style="lime"]:not([data-theme="light"]) {
  --bg-primary: #0f1408;
  --bg-secondary: #181f0e;
  --bg-tertiary: #242e14;
  --border-color: #38461f;
  --text-primary: #f7fee7;
  --text-secondary: #b8c98a;
  --text-muted: #8a9a60;
  --accent-primary: #a3e635;
  --accent-secondary: #bef264;
  --gradient-start: #a3e635;
  --gradient-end: #bef264;
  --btn-primary-fg: #0f1408;
  --focus-ring: rgba(163, 230, 53, 0.28);
  --nav-tint: color-mix(in srgb, #a3e635 36%, #0f1408);
  --nav-border-accent: rgba(163, 230, 53, 0.28);
}
html[data-gf-style="lime"][data-theme="light"] {
  --bg-primary: #f7fee7;
  --bg-secondary: #ffffff;
  --bg-tertiary: #ecfccb;
  --border-color: #d9f99d;
  --text-primary: #1a2e05;
  --text-secondary: #3f6212;
  --text-muted: #4d7c0f;
  --accent-primary: #4d7c0f;
  --accent-secondary: #65a30d;
  --gradient-start: #4d7c0f;
  --gradient-end: #65a30d;
  --btn-primary-fg: #ffffff;
  --focus-ring: rgba(77, 124, 15, 0.22);
  --nav-tint: color-mix(in srgb, #4d7c0f 14%, #ffffff);
  --nav-border-accent: rgba(77, 124, 15, 0.22);
}

/* —— wine —— */
html[data-gf-style="wine"]:not([data-theme="light"]) {
  --bg-primary: #14080c;
  --bg-secondary: #1f0e14;
  --bg-tertiary: #2c1520;
  --border-color: #442230;
  --text-primary: #fff0f3;
  --text-secondary: #d4a0b0;
  --text-muted: #a87888;
  --accent-primary: #e11d48;
  --accent-secondary: #fb7185;
  --gradient-start: #e11d48;
  --gradient-end: #fb7185;
  --btn-primary-fg: #14080c;
  --focus-ring: rgba(225, 29, 72, 0.28);
  --nav-tint: color-mix(in srgb, #e11d48 36%, #14080c);
  --nav-border-accent: rgba(225, 29, 72, 0.28);
}
html[data-gf-style="wine"][data-theme="light"] {
  --bg-primary: #fff1f2;
  --bg-secondary: #ffffff;
  --bg-tertiary: #ffe4e6;
  --border-color: #fecdd3;
  --text-primary: #4c0519;
  --text-secondary: #881337;
  --text-muted: #9f1239;
  --accent-primary: #9f1239;
  --accent-secondary: #be123c;
  --gradient-start: #9f1239;
  --gradient-end: #be123c;
  --btn-primary-fg: #ffffff;
  --focus-ring: rgba(159, 18, 57, 0.22);
  --nav-tint: color-mix(in srgb, #9f1239 14%, #ffffff);
  --nav-border-accent: rgba(159, 18, 57, 0.22);
}

/* —— mint —— */
html[data-gf-style="mint"]:not([data-theme="light"]) {
  --bg-primary: #071412;
  --bg-secondary: #0f201c;
  --bg-tertiary: #162e28;
  --border-color: #24453c;
  --text-primary: #ecfdf5;
  --text-secondary: #99d6c0;
  --text-muted: #6eaa94;
  --accent-primary: #34d399;
  --accent-secondary: #6ee7b7;
  --gradient-start: #34d399;
  --gradient-end: #6ee7b7;
  --btn-primary-fg: #071412;
  --focus-ring: rgba(52, 211, 153, 0.28);
  --nav-tint: color-mix(in srgb, #34d399 38%, #071412);
  --nav-border-accent: rgba(52, 211, 153, 0.28);
}
html[data-gf-style="mint"][data-theme="light"] {
  --bg-primary: #f0fdf9;
  --bg-secondary: #ffffff;
  --bg-tertiary: #d1fae5;
  --border-color: #a7f3d0;
  --text-primary: #064e3b;
  --text-secondary: #047857;
  --text-muted: #059669;
  --accent-primary: #059669;
  --accent-secondary: #10b981;
  --gradient-start: #059669;
  --gradient-end: #10b981;
  --btn-primary-fg: #ffffff;
  --focus-ring: rgba(5, 150, 105, 0.22);
  --nav-tint: color-mix(in srgb, #059669 14%, #ffffff);
  --nav-border-accent: rgba(5, 150, 105, 0.22);
}

/* —— midnight —— */
html[data-gf-style="midnight"]:not([data-theme="light"]) {
  --bg-primary: #070b18;
  --bg-secondary: #0d1426;
  --bg-tertiary: #15203a;
  --border-color: #243356;
  --text-primary: #e8eeff;
  --text-secondary: #93a4d4;
  --text-muted: #6b7aab;
  --accent-primary: #60a5fa;
  --accent-secondary: #93c5fd;
  --gradient-start: #60a5fa;
  --gradient-end: #93c5fd;
  --btn-primary-fg: #070b18;
  --focus-ring: rgba(96, 165, 250, 0.28);
  --nav-tint: color-mix(in srgb, #60a5fa 36%, #070b18);
  --nav-border-accent: rgba(96, 165, 250, 0.28);
}
html[data-gf-style="midnight"][data-theme="light"] {
  --bg-primary: #eff6ff;
  --bg-secondary: #ffffff;
  --bg-tertiary: #dbeafe;
  --border-color: #bfdbfe;
  --text-primary: #0c1a3a;
  --text-secondary: #1e3a8a;
  --text-muted: #1d4ed8;
  --accent-primary: #1e3a8a;
  --accent-secondary: #2563eb;
  --gradient-start: #1e3a8a;
  --gradient-end: #2563eb;
  --btn-primary-fg: #ffffff;
  --focus-ring: rgba(30, 58, 138, 0.22);
  --nav-tint: color-mix(in srgb, #1e3a8a 14%, #ffffff);
  --nav-border-accent: rgba(30, 58, 138, 0.22);
}

/* —— coffee —— */
html[data-gf-style="coffee"]:not([data-theme="light"]) {
  --bg-primary: #120d08;
  --bg-secondary: #1c1510;
  --bg-tertiary: #2a2018;
  --border-color: #403024;
  --text-primary: #fff7ed;
  --text-secondary: #d4b89a;
  --text-muted: #a89070;
  --accent-primary: #d97706;
  --accent-secondary: #fbbf24;
  --gradient-start: #d97706;
  --gradient-end: #fbbf24;
  --btn-primary-fg: #120d08;
  --focus-ring: rgba(217, 119, 6, 0.28);
  --nav-tint: color-mix(in srgb, #d97706 34%, #120d08);
  --nav-border-accent: rgba(217, 119, 6, 0.28);
}
html[data-gf-style="coffee"][data-theme="light"] {
  --bg-primary: #faf6f1;
  --bg-secondary: #ffffff;
  --bg-tertiary: #f3e8d8;
  --border-color: #e7d4bc;
  --text-primary: #292016;
  --text-secondary: #78350f;
  --text-muted: #92400e;
  --accent-primary: #92400e;
  --accent-secondary: #b45309;
  --gradient-start: #92400e;
  --gradient-end: #b45309;
  --btn-primary-fg: #ffffff;
  --focus-ring: rgba(146, 64, 14, 0.22);
  --nav-tint: color-mix(in srgb, #92400e 14%, #ffffff);
  --nav-border-accent: rgba(146, 64, 14, 0.22);
}

/* —— sakura —— */
html[data-gf-style="sakura"]:not([data-theme="light"]) {
  --bg-primary: #160d14;
  --bg-secondary: #22151f;
  --bg-tertiary: #301f2c;
  --border-color: #4a3042;
  --text-primary: #fff0f7;
  --text-secondary: #e0a8c8;
  --text-muted: #b07898;
  --accent-primary: #f472b6;
  --accent-secondary: #f9a8d4;
  --gradient-start: #f472b6;
  --gradient-end: #f9a8d4;
  --btn-primary-fg: #160d14;
  --focus-ring: rgba(244, 114, 182, 0.28);
  --nav-tint: color-mix(in srgb, #f472b6 38%, #160d14);
  --nav-border-accent: rgba(244, 114, 182, 0.28);
}
html[data-gf-style="sakura"][data-theme="light"] {
  --bg-primary: #fff5fa;
  --bg-secondary: #ffffff;
  --bg-tertiary: #fce7f3;
  --border-color: #fbcfe8;
  --text-primary: #500724;
  --text-secondary: #9d174d;
  --text-muted: #be185d;
  --accent-primary: #db2777;
  --accent-secondary: #ec4899;
  --gradient-start: #db2777;
  --gradient-end: #ec4899;
  --btn-primary-fg: #ffffff;
  --focus-ring: rgba(219, 39, 119, 0.22);
  --nav-tint: color-mix(in srgb, #db2777 14%, #ffffff);
  --nav-border-accent: rgba(219, 39, 119, 0.22);
}

/* —— graphite —— */
html[data-gf-style="graphite"]:not([data-theme="light"]) {
  --bg-primary: #0a0a0b;
  --bg-secondary: #141416;
  --bg-tertiary: #1e1e22;
  --border-color: #2e2e34;
  --text-primary: #f4f4f5;
  --text-secondary: #a1a1aa;
  --text-muted: #71717a;
  --accent-primary: #a1a1aa;
  --accent-secondary: #d4d4d8;
  --gradient-start: #a1a1aa;
  --gradient-end: #d4d4d8;
  --btn-primary-fg: #0a0a0b;
  --focus-ring: rgba(161, 161, 170, 0.28);
  --nav-tint: color-mix(in srgb, #a1a1aa 28%, #0a0a0b);
  --nav-border-accent: rgba(161, 161, 170, 0.28);
}
html[data-gf-style="graphite"][data-theme="light"] {
  --bg-primary: #f4f4f5;
  --bg-secondary: #ffffff;
  --bg-tertiary: #e4e4e7;
  --border-color: #d4d4d8;
  --text-primary: #18181b;
  --text-secondary: #3f3f46;
  --text-muted: #52525b;
  --accent-primary: #27272a;
  --accent-secondary: #3f3f46;
  --gradient-start: #27272a;
  --gradient-end: #3f3f46;
  --btn-primary-fg: #ffffff;
  --focus-ring: rgba(39, 39, 42, 0.22);
  --nav-tint: color-mix(in srgb, #27272a 10%, #ffffff);
  --nav-border-accent: rgba(39, 39, 42, 0.2);
}

/* ========== 整站 chrome：导航 / 页脚 / 按钮 / 浮层 / 公告 ========== */
html[data-gf-style] body {
  background-color: var(--bg-primary);
  color: var(--text-primary);
}

html[data-gf-style] .navbar {
  background: linear-gradient(90deg, var(--bg-primary) 0%, var(--nav-tint) 50%, var(--bg-primary) 100%) !important;
  border-bottom-color: var(--nav-border-accent) !important;
}

html[data-gf-style][data-theme="light"] .navbar {
  background: linear-gradient(90deg, var(--bg-secondary) 0%, var(--nav-tint) 45%, var(--bg-secondary) 100%) !important;
  border-bottom-color: var(--nav-border-accent) !important;
}

html[data-gf-style] .navbar-nav a:hover,
html[data-gf-style] .navbar-nav a.active {
  color: var(--accent-primary) !important;
}

html[data-gf-style] .btn-primary,
html[data-gf-style] .navbar-nav .btn-primary,
html[data-gf-style] .lx-btn-primary {
  background: linear-gradient(135deg, var(--gradient-start), var(--gradient-end)) !important;
  border-color: transparent !important;
  color: var(--btn-primary-fg, #fff) !important;
  box-shadow: 0 1px 3px color-mix(in srgb, var(--accent-primary) 28%, transparent);
}

html[data-gf-style] .btn-primary:hover,
html[data-gf-style] .lx-btn-primary:hover {
  filter: brightness(1.06);
  box-shadow: 0 4px 14px color-mix(in srgb, var(--accent-primary) 32%, transparent);
}

html[data-gf-style] .subsite-portal-site-footer {
  background: var(--bg-secondary) !important;
  border-top-color: var(--border-color) !important;
  color: var(--text-secondary) !important;
}

html[data-gf-style] .subsite-portal-footer-links a {
  color: var(--accent-primary) !important;
}

html[data-gf-style] .home-announce-bar,
html[data-gf-style] .lx-announce {
  background: linear-gradient(
    90deg,
    color-mix(in srgb, var(--accent-primary) 10%, var(--bg-secondary)),
    color-mix(in srgb, var(--accent-secondary) 6%, var(--bg-tertiary))
  ) !important;
  border-bottom-color: color-mix(in srgb, var(--accent-primary) 22%, var(--border-color)) !important;
}

html[data-gf-style] .home-announce-tag,
html[data-gf-style] #lxAnnounceTag {
  background: color-mix(in srgb, var(--accent-primary) 16%, transparent) !important;
  color: var(--accent-primary) !important;
  border-color: color-mix(in srgb, var(--accent-primary) 30%, transparent) !important;
}

html[data-gf-style] .site-chrome-stack__drag,
html[data-gf-style] .site-chrome-stack__close,
html[data-gf-style] .theme-toggle-btn,
html[data-gf-style] .lang-dropdown__select {
  border-color: var(--border-color) !important;
  background: var(--bg-tertiary) !important;
  color: var(--text-secondary) !important;
}

html[data-gf-style] .site-chrome-fab {
  background: linear-gradient(145deg, var(--accent-primary), var(--gradient-end)) !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.45) !important;
  box-shadow:
    0 6px 22px color-mix(in srgb, var(--accent-primary) 35%, transparent),
    0 2px 6px rgba(0, 0, 0, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.25) !important;
}

html[data-gf-style] .theme-toggle-btn:hover,
html[data-gf-style] .lang-dropdown__select:hover {
  border-color: var(--accent-primary) !important;
  color: var(--text-primary) !important;
}

html[data-gf-style] .site-chrome-fab:hover {
  filter: brightness(1.08);
}

html[data-gf-style] .site-chrome-panel .btn-primary {
  background: linear-gradient(135deg, var(--gradient-start), var(--gradient-end)) !important;
  color: var(--btn-primary-fg, #fff) !important;
}

/* luxe 首页导航与氛围背景 */
html[data-gf-style] .lx-nav {
  background: color-mix(in srgb, var(--bg-secondary) 86%, transparent) !important;
  border-bottom-color: var(--nav-border-accent) !important;
}

html[data-gf-style] .lx-mesh {
  background-color: var(--bg-primary) !important;
}

html[data-gf-style][data-theme="light"] .lx-mesh {
  background-image:
    radial-gradient(at 0% 0%, color-mix(in srgb, var(--accent-primary) 14%, transparent) 0, transparent 50%),
    radial-gradient(at 100% 0%, color-mix(in srgb, var(--accent-secondary) 10%, transparent) 0, transparent 45%),
    radial-gradient(at 50% 100%, color-mix(in srgb, var(--accent-primary) 8%, transparent) 0, transparent 50%) !important;
}

html[data-gf-style]:not([data-theme="light"]) .lx-mesh {
  background-image:
    radial-gradient(at 0% 0%, color-mix(in srgb, var(--accent-primary) 10%, transparent) 0, transparent 50%),
    radial-gradient(at 100% 0%, color-mix(in srgb, var(--accent-secondary) 8%, transparent) 0, transparent 45%),
    radial-gradient(at 50% 100%, color-mix(in srgb, var(--accent-primary) 6%, transparent) 0, transparent 50%) !important;
}

html[data-gf-style][data-theme="light"] body {
  background-color: var(--bg-primary) !important;
  background-image:
    radial-gradient(at 0% 0%, color-mix(in srgb, var(--accent-primary) 8%, transparent) 0, transparent 50%),
    radial-gradient(at 100% 20%, color-mix(in srgb, var(--accent-secondary) 5%, transparent) 0, transparent 45%) !important;
}

/* Tailwind brand 工具类 → 跟随风格变量 */
html[data-gf-style] .text-brand-600,
html[data-gf-style] .text-brand-700,
html[data-gf-style] .hover\:text-brand-600:hover {
  color: var(--accent-primary) !important;
}
html[data-gf-style] .bg-brand-600,
html[data-gf-style] .bg-brand-500 {
  background-color: var(--accent-primary) !important;
}
html[data-gf-style] .bg-brand-50,
html[data-gf-style] .bg-brand-50\/80,
html[data-gf-style] .bg-brand-100 {
  background-color: color-mix(in srgb, var(--accent-primary) 12%, var(--bg-secondary)) !important;
}
html[data-gf-style] .bg-brand-200\/80 {
  background-color: color-mix(in srgb, var(--accent-primary) 35%, transparent) !important;
}
html[data-gf-style] .bg-brand-600\/10 {
  background-color: color-mix(in srgb, var(--accent-primary) 10%, transparent) !important;
}
html[data-gf-style] .border-brand-100,
html[data-gf-style] .border-brand-100\/80,
html[data-gf-style] .border-brand-200\/50 {
  border-color: color-mix(in srgb, var(--accent-primary) 28%, var(--border-color)) !important;
}
html[data-gf-style] .from-brand-600,
html[data-gf-style] .from-brand-600\/20,
html[data-gf-style] .from-brand-600\/15,
html[data-gf-style] .from-brand-600\/18,
html[data-gf-style] .from-brand-600\/10,
html[data-gf-style] .from-brand-400 {
  --tw-gradient-from: color-mix(in srgb, var(--accent-primary) 85%, transparent) var(--tw-gradient-from-position) !important;
  --tw-gradient-to: color-mix(in srgb, var(--accent-primary) 0%, transparent) var(--tw-gradient-to-position) !important;
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) !important;
}
html[data-gf-style] .to-brand-500\/50,
html[data-gf-style] .to-brand-500\/40,
html[data-gf-style] .to-brand-500\/35,
html[data-gf-style] .to-brand-500\/48,
html[data-gf-style] .to-brand-400\/55,
html[data-gf-style] .to-brand-600,
html[data-gf-style] .to-indigo-600 {
  --tw-gradient-to: color-mix(in srgb, var(--accent-secondary) 70%, transparent) var(--tw-gradient-to-position) !important;
}
html[data-gf-style] .text-brand-600\/70 {
  color: color-mix(in srgb, var(--accent-primary) 70%, transparent) !important;
}

/* 社媒 / 出海商城 / 短信接码面包屑 */
html[data-gf-style] .services-flow-trail,
html[data-gf-style] .card .services-flow-trail {
  background: color-mix(in srgb, var(--accent-primary) 14%, transparent) !important;
  border-color: color-mix(in srgb, var(--accent-primary) 32%, transparent) !important;
  color: var(--text-primary) !important;
}
html[data-gf-style][data-theme="light"] .services-flow-trail,
html[data-gf-style][data-theme="light"] .card .services-flow-trail {
  background: color-mix(in srgb, var(--accent-primary) 9%, transparent) !important;
  border-color: color-mix(in srgb, var(--accent-primary) 22%, transparent) !important;
  color: var(--text-secondary) !important;
}
html[data-gf-style] .services-flow-trail a,
html[data-gf-style] .services-flow-trail a:link,
html[data-gf-style] .services-flow-trail a:visited,
html[data-gf-style] .card .services-flow-trail a,
html[data-gf-style] .card .services-flow-trail a:link,
html[data-gf-style] .card .services-flow-trail a:visited {
  color: var(--accent-secondary) !important;
  text-decoration-color: color-mix(in srgb, var(--accent-primary) 75%, transparent) !important;
}
html[data-gf-style][data-theme="light"] .services-flow-trail a,
html[data-gf-style][data-theme="light"] .services-flow-trail a:link,
html[data-gf-style][data-theme="light"] .services-flow-trail a:visited,
html[data-gf-style][data-theme="light"] .card .services-flow-trail a,
html[data-gf-style][data-theme="light"] .card .services-flow-trail a:link,
html[data-gf-style][data-theme="light"] .card .services-flow-trail a:visited {
  color: var(--accent-primary) !important;
  text-decoration-color: color-mix(in srgb, var(--accent-primary) 55%, transparent) !important;
}
html[data-gf-style] .services-flow-trail a:hover,
html[data-gf-style] .card .services-flow-trail a:hover {
  color: var(--text-primary) !important;
  text-decoration-color: var(--accent-secondary) !important;
}
html[data-gf-style][data-theme="light"] .services-flow-trail a:hover,
html[data-gf-style][data-theme="light"] .card .services-flow-trail a:hover {
  color: var(--gradient-start) !important;
  text-decoration-color: var(--accent-primary) !important;
}
html[data-gf-style] .services-flow-trail__sep,
html[data-gf-style] .card .services-flow-trail__sep {
  color: var(--text-muted) !important;
}
html[data-gf-style] .services-flow-trail__here,
html[data-gf-style] .card .services-flow-trail__here {
  color: var(--text-primary) !important;
}
