/* ============================================================
   theme-2026.css — 数位视界「深空高斯」共享主题层
   深色科技感基调 + 青→紫渐变高光 + 玻璃拟态 + 发光描边
   后加载于各页内联 <style>，整体换肤，不改任何文案与功能
   ============================================================ */

:root {
  /* 变量重映射：沿用各页已有变量名，整体换肤 */
  --bg: #05080f;
  --ink: #e9f1fa;
  --muted: #a6b8cb;
  --line: rgba(124, 199, 255, .14);
  --panel: #0a0f1c;
  --paper: #0a0f1c;
  --green: #5eead4;
  --cyan: #7cc7ff;
  --blue: #7cc7ff;
  --cyan-deep: #8fd0ff;
  --teal: #5eead4;
  --soft: rgba(124, 199, 255, .12);

  /* 新增主题变量 */
  --violet: #a78bfa;
  --bg-2: #0a0f1c;
  --bg-3: #0d1526;
  --glass: linear-gradient(165deg, rgba(124, 199, 255, .075), rgba(167, 139, 250, .05) 58%, rgba(124, 199, 255, .035));
  --glass-line: rgba(124, 199, 255, .18);
  --glass-line-strong: rgba(124, 199, 255, .45);
  --glow-cyan: 0 0 26px rgba(124, 199, 255, .34);
  --glow-mix: 0 0 22px rgba(124, 199, 255, .38), 0 0 64px rgba(167, 139, 250, .22);
  --grad-text: linear-gradient(100deg, #f2f8ff 8%, #7cc7ff 46%, #a78bfa 78%);
  --grad-cta: linear-gradient(100deg, #7cc7ff, #a78bfa);
}

/* ---------- 全局底色与氛围 ---------- */
html {
  background: var(--bg);
}

body {
  background:
    radial-gradient(1100px 620px at 82% -10%, rgba(124, 199, 255, .07), transparent 60%),
    radial-gradient(900px 700px at 8% 108%, rgba(167, 139, 250, .06), transparent 62%),
    var(--bg);
  color: var(--ink);
}

/* 高斯泼溅粒子场画布（由 theme-2026.js 创建） */
#gs-splat-field {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

::selection {
  background: rgba(124, 199, 255, .32);
  color: #f4faff;
}

/* ---------- 导航栏 ---------- */
header,
.site-header {
  background: rgba(5, 8, 15, .58) !important;
  border-bottom: 1px solid rgba(124, 199, 255, .14) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, .3);
  transition: background .3s ease, box-shadow .3s ease;
}

.nav {
  transition: min-height .3s cubic-bezier(.22, 1, .36, 1);
}

/* 滚动收缩态（由 JS 添加 .nav-compact） */
.nav-compact {
  background: rgba(5, 8, 15, .86) !important;
  box-shadow: 0 12px 38px rgba(0, 0, 0, .48), inset 0 -1px 0 rgba(124, 199, 255, .2) !important;
}
.nav-compact .nav {
  min-height: 56px !important;
}

.links a {
  transition: color .2s ease, transform .2s ease, text-shadow .2s ease;
}
.links a:hover,
.links a.active {
  color: #fff;
  text-shadow: 0 0 16px rgba(124, 199, 255, .65);
}
.links a.active::after,
.links a:hover::after {
  background: var(--grad-cta);
  box-shadow: 0 0 10px rgba(124, 199, 255, .55);
}

/* ---------- 渐变标题文字 ---------- */
main h1,
main h2,
.copy h1,
.hero-title,
.section-heading h2,
.page-head h1,
.enroll-copy h2 {
  background: var(--grad-text);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}

/* 深色区块里的浅色标题保持可读 */
.social-band h2,
.social-band h3,
.company-band h2,
.paths h3,
.journey-step h3 {
  background: none;
  -webkit-background-clip: initial;
  background-clip: initial;
  color: #fff;
  -webkit-text-fill-color: #fff;
}

/* ---------- 正文可读性（原浅底深字 → 深底浅字） ---------- */
p { color: var(--muted); }

.detail p,
.service-heading p,
.service-point,
.section-heading p,
.opportunity-copy > p,
.platform-item p,
.practice-item p,
.course-block p,
.benefit-item p,
.support-item p,
.support-copy > p,
.contact-box p,
.module-card p,
.about-copy p,
.checks,
.section-label,
.form-field label,
.scene-title,
.stack span,
.contact-line,
.info-item b {
  color: var(--muted);
}

.service-point strong,
.platform-item h3,
.practice-item h3,
.course-block h3,
.benefit-item h3,
.support-item h3,
.audience-item h3,
.value-card h3,
.contact-card h3,
.stack strong {
  color: var(--ink);
}

.scene-title {
  color: #dceaff;
}

.service-intro {
  border-bottom-color: var(--line);
}

.opportunity-row,
.platform-item,
.practice-item,
.course-block,
.benefit-item,
.support-item,
.audience-item,
.opportunity-list,
.platform-list,
.practice-list,
.benefit-list,
.support-list,
.audience-grid {
  border-color: var(--line) !important;
}

/* ---------- 浅色区块 → 深空区块 ---------- */
.process-band,
.mission,
.values,
.opportunity,
.platform,
.practice,
.benefits,
.course,
.support,
.audience {
  background: linear-gradient(180deg, rgba(13, 21, 38, .72), rgba(8, 13, 24, .72));
  border-top-color: var(--line);
}

main {
  background: transparent;
}

section {
  border-top-color: var(--line);
}

/* ---------- 玻璃拟态卡片 ---------- */
.module-card,
.stack div,
.contact-box,
.value-card,
.contact-card,
.social-card,
.enroll-side,
.journey-note,
.hero-fact,
.enroll-fact,
.info {
  background: var(--glass);
  border: 1px solid var(--glass-line);
  box-shadow: 0 18px 46px rgba(2, 6, 14, .42), inset 0 1px 0 rgba(255, 255, 255, .05);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.module-card-feature {
  background: #060b16;
}

.value-card,
.contact-card,
.social-card,
.contact-box,
.enroll-side {
  position: relative;
  overflow: hidden;
}

/* 发光描边 hover */
.module-card:hover,
.stack div:hover,
.contact-box:hover,
.value-card:hover,
.contact-card:hover,
.social-card:hover,
.enroll-side:hover {
  border-color: var(--glass-line-strong);
  box-shadow: 0 22px 54px rgba(2, 6, 14, .5), var(--glow-cyan), inset 0 1px 0 rgba(255, 255, 255, .07);
}

.module-card:hover,
.stack div:hover {
  border-color: var(--glass-line-strong);
}

/* 卡片光泽扫过（sheen sweep） */
.module-card::after,
.stack div::after,
.value-card::after,
.contact-card::after,
.social-card::after,
.contact-box::after,
.enroll-side::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  background: linear-gradient(105deg, transparent 32%, rgba(255, 255, 255, .13) 47%, rgba(124, 199, 255, .1) 53%, transparent 68%);
  transform: translateX(-130%) skewX(-8deg);
  transition: transform .8s cubic-bezier(.22, 1, .36, 1);
  pointer-events: none;
}

.module-card:hover::after,
.stack div:hover::after,
.value-card:hover::after,
.contact-card:hover::after,
.social-card:hover::after,
.contact-box:hover::after,
.enroll-side:hover::after {
  transform: translateX(130%) skewX(-8deg);
}

/* 3D 倾斜的透视容器 */
.module-grid,
.stack,
.value-grid,
.contact-grid,
.social-grid,
.scene-grid {
  perspective: 900px;
}

.module-card,
.stack div,
.value-card,
.contact-card,
.social-card,
.scene-card {
  transform-style: preserve-3d;
  will-change: transform;
}

/* stack 图标覆盖层保持浅色（logo 为深色图标） */
.stack-icon {
  background: rgba(232, 242, 252, .94);
}
.stack-visual::before {
  background: rgba(222, 236, 250, .88);
}

/* ---------- 场景卡片 ---------- */
.scene-media {
  border: 1px solid var(--glass-line);
  box-shadow: 0 24px 60px rgba(2, 6, 14, .5);
  transition: box-shadow .3s ease, border-color .3s ease;
}
.scene-card:hover .scene-media {
  border-color: var(--glass-line-strong);
  box-shadow: 0 28px 68px rgba(2, 6, 14, .55), var(--glow-cyan);
}

.scene-view-badge {
  background: rgba(4, 10, 20, .55);
  border: 1px solid rgba(124, 199, 255, .26);
}

/* ---------- 流程区 ---------- */
.process-grid::before {
  background: linear-gradient(90deg, rgba(124, 199, 255, .08), rgba(124, 199, 255, .5), rgba(167, 139, 250, .4), rgba(167, 139, 250, .08));
  box-shadow: 0 0 18px rgba(124, 199, 255, .28);
}
.process-step::before {
  border-color: var(--bg-2);
  box-shadow: 0 0 0 6px rgba(124, 199, 255, .12), 0 0 18px rgba(124, 199, 255, .4);
}

/* ---------- 按钮：渐变 + 发光 ---------- */
.btn.primary,
.submit-btn,
.action:not(.secondary),
.support-qr-button {
  background: var(--grad-cta);
  border-color: transparent;
  color: #05080f;
  box-shadow: var(--glow-mix);
  transition: transform .18s ease, box-shadow .25s ease, filter .25s ease;
}

.btn.primary:hover,
.submit-btn:hover,
.action:not(.secondary):hover,
.support-qr-button:hover {
  filter: brightness(1.08);
  box-shadow: 0 0 30px rgba(124, 199, 255, .5), 0 0 84px rgba(167, 139, 250, .3);
}

.btn:not(.primary),
.action.secondary,
.social-action {
  transition: transform .18s ease, border-color .2s ease, box-shadow .25s ease, background .2s ease, color .2s ease;
}
.btn:not(.primary):hover,
.action.secondary:hover {
  border-color: var(--glass-line-strong);
  box-shadow: var(--glow-cyan);
}

.social-action:hover {
  background: var(--grad-cta);
  border-color: transparent;
  color: #05080f;
  box-shadow: var(--glow-mix);
}

/* ---------- Hero 细节 ---------- */
.eyebrow,
.hero-kicker {
  text-shadow: 0 0 18px rgba(124, 199, 255, .5);
}

.hero::after {
  background:
    linear-gradient(90deg, rgba(3, 6, 12, .82), rgba(4, 10, 20, .5) 54%, rgba(4, 8, 16, .3)),
    linear-gradient(180deg, rgba(3, 6, 12, .18), rgba(3, 6, 12, .5));
}

.hero-dot.active {
  background: var(--grad-cta);
  border-color: transparent;
  box-shadow: 0 0 12px rgba(124, 199, 255, .8);
}

/* ---------- 表单（consult） ---------- */
.info-grid input,
textarea {
  background: rgba(10, 16, 30, .66);
  border: 1px solid rgba(124, 199, 255, .22);
  color: var(--ink);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.info-grid input:focus,
textarea:focus {
  border-color: var(--cyan);
  box-shadow: 0 0 0 3px rgba(124, 199, 255, .16), 0 0 22px rgba(124, 199, 255, .22);
}
.info-grid input::placeholder,
textarea::placeholder {
  color: #a9bacb;
}
.count {
  color: #a9bacb;
}

/* Contrast guardrails for content that keeps page-specific legacy selectors. */
.opportunity-row span,
.definition-copy > p {
  color: #a9bacb !important;
}

.mini-icon {
  color: #155d89 !important;
}

.earning-note,
.footer-item span,
.footer-icon,
.foot {
  color: #b5c3d2 !important;
}

.beian-line {
  color: #b5c3d2 !important;
  opacity: 1 !important;
}

:where(a, button, input, select, textarea):focus-visible {
  outline: 2px solid #c5e8ff;
  outline-offset: 3px;
}

/* ---------- 关于页细节 ---------- */
.about-title-motion {
  background: linear-gradient(180deg, rgba(13, 21, 38, .6), rgba(8, 13, 24, .6));
  border: 0;
  border-radius: 16px;
}
.about-title-motion::after {
  background: radial-gradient(circle at 50% 50%, transparent 34%, rgba(10, 15, 28, .5) 100%);
}
.info-item {
  border-radius: 12px;
  padding-left: 10px;
  padding-right: 10px;
}
.info-item:hover {
  background: rgba(124, 199, 255, .05);
}

/* 二维码卡片保持白底（保证可扫描） */
.qr-card {
  background: #fff;
}

/* ---------- 人才班细节 ---------- */
.hero-facts {
  border-color: rgba(124, 199, 255, .3);
  box-shadow: 0 0 30px rgba(124, 199, 255, .12);
}
.course-badges span {
  border-color: rgba(124, 199, 255, .3);
  color: var(--cyan);
  background: rgba(124, 199, 255, .08);
}
.journey-step::before {
  border-color: var(--bg-2);
  box-shadow: 0 0 0 5px rgba(124, 199, 255, .12), 0 0 16px rgba(124, 199, 255, .5);
}

/* 客服二维码悬浮面板保持白底深字 */
.customer-dock-panel {
  background: #fff;
  border-radius: 8px;
}
.customer-dock-panel p {
  color: #101716;
}

/* ---------- 页脚 ---------- */
footer {
  background: rgba(3, 6, 12, .92) !important;
  border-top: 1px solid rgba(124, 199, 255, .12) !important;
}
.footer-icon {
  transition: border-color .2s ease, box-shadow .25s ease, color .2s ease;
}
.footer-icon:hover {
  border-color: var(--glass-line-strong);
  box-shadow: var(--glow-cyan);
  color: #fff;
}

/* ---------- 滚动入场增强：轻微模糊 ---------- */
.reveal {
  filter: blur(7px);
  transition:
    opacity .5s ease,
    translate .68s cubic-bezier(.16, 1, .3, 1),
    scale .68s cubic-bezier(.16, 1, .3, 1),
    filter .62s ease;
}
.reveal.in {
  filter: blur(0);
}

.stagger > * {
  filter: blur(6px);
  transition:
    opacity .48s ease,
    translate .72s cubic-bezier(.16, 1, .3, 1),
    scale .72s cubic-bezier(.16, 1, .3, 1),
    filter .66s ease;
}
.stagger.in > * {
  filter: blur(0);
}

/* ---------- 动效降级 ---------- */
@media (prefers-reduced-motion: reduce) {
  #gs-splat-field {
    opacity: .55;
  }
  .module-card::after,
  .stack div::after,
  .value-card::after,
  .contact-card::after,
  .social-card::after,
  .contact-box::after,
  .enroll-side::after {
    display: none;
  }
  .reveal,
  .stagger > * {
    filter: none;
  }
}
