/* ============================================================
   智学云 · 内容驱动设计系统 (platform.css)
   设计原则：克制用色 / 清晰层级 / 真实模块落到界面
   品牌：深藏青 #0d1730 + 暗金 #b8893e | Noto Serif/Sans SC
   ============================================================ */

:root{
  /* 品牌 */
  --navy:#0d1730;
  --navy-2:#142548;
  --navy-3:#1d2f5c;
  --navy-900:#0a1124;
  --navy-line:rgba(255,255,255,.10);
  --gold:#b8893e;
  --gold-2:#d6a85c;
  --gold-soft:rgba(184,137,62,.12);

  /* 浅色纸面（内容区，提升可读与留白感） */
  --paper:#f6f4ef;
  --paper-2:#ffffff;
  --ink:#16203a;
  --ink-2:#3a445c;
  --muted:#697389;
  --line:rgba(13,23,48,.10);
  --line-2:rgba(13,23,48,.06);

  /* 功能色（仅用于状态，克制） */
  --ok:#2f9e6e;
  --warn:#c98a2b;
  --info:#3b6fb0;

  --r-sm:10px; --r:14px; --r-lg:20px; --r-xl:28px;
  --shadow-1:0 1px 2px rgba(13,23,48,.05),0 6px 18px rgba(13,23,48,.06);
  --shadow-2:0 2px 6px rgba(13,23,48,.06),0 18px 44px rgba(13,23,48,.10);
  --wrap:1180px;
  --ease:cubic-bezier(.22,.61,.36,1);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:"Noto Sans SC",system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;
  color:var(--ink);background:var(--paper);line-height:1.7;
  font-weight:400;letter-spacing:.01em;-webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-family:"Noto Serif SC",serif;color:var(--navy);line-height:1.25;font-weight:700;letter-spacing:.01em}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.eyebrow{
  display:inline-block;font-size:13px;font-weight:700;letter-spacing:.16em;
  color:var(--gold-deep);text-transform:uppercase;margin-bottom:14px;
}
.eyebrow::before{content:"";display:inline-block;width:22px;height:2px;background:var(--gold);
  vertical-align:middle;margin-right:10px;border-radius:2px}
.eyebrow::after{content:"";display:inline-block;width:22px;height:2px;background:var(--gold);
  vertical-align:middle;margin-left:10px;border-radius:2px}

/* ---------- 按钮 ---------- */
.btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:8px;padding:13px 24px;border-radius:var(--r-sm);
  font-weight:500;font-size:15px;cursor:pointer;border:1px solid transparent;transition:border-color .35s var(--ease),box-shadow .35s var(--ease),background-color .35s var(--ease),color .35s var(--ease)}
.btn-gold{background:linear-gradient(135deg,var(--gold),var(--gold-2));color:#1a1304;font-weight:700;
  box-shadow:0 8px 22px rgba(184,137,62,.30)}
.btn-gold:hover{box-shadow:0 14px 32px rgba(184,137,62,.44)}
.btn-ghost{border-color:var(--navy-line);color:#eaf0ff;background:rgba(255,255,255,.04)}
.btn-ghost:hover{border-color:var(--gold);color:#fff;background:rgba(184,137,62,.10)}
/* CTA 磁吸光斑：跟随光标的暖色光晕（仅含 data-magnetic 的按钮启用） */
.btn::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;opacity:0;
  background:radial-gradient(130px circle at var(--mx,50%) var(--my,50%),rgba(255,240,210,.34),transparent 60%);
  transition:opacity .3s ease}
.btn:hover::after{opacity:1}
.btn-line{border-color:var(--line);color:var(--navy);background:#fff}
.btn-line:hover{border-color:var(--gold);color:var(--gold)}
.link-more{display:inline-flex;align-items:center;gap:6px;color:var(--gold-deep);font-weight:500;font-size:14px;
  transition:gap .3s var(--ease)}
.link-more::after{content:"→";transition:transform .3s var(--ease)}
.link-more:hover{gap:12px}

/* ---------- 导航 ---------- */
.nav{position:sticky;top:0;z-index:50;
  background:
    linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px),
    rgba(13,23,48,.82);
  background-size:40px 40px,40px 40px,auto;
  backdrop-filter:saturate(160%) blur(14px)}
.nav-inner{display:flex;align-items:center;gap:22px;height:68px}
.logo{display:flex;align-items:center;gap:11px;color:#fff}
.logo .mark{width:36px;height:36px;border-radius:9px;display:grid;place-items:center;
  background:linear-gradient(135deg,var(--gold),var(--gold-2));color:#1a1304;font-family:"Noto Serif SC";font-weight:700;font-size:19px}
.logo img.logo-mark{width:38px;height:38px;border-radius:10px;object-fit:cover;display:block;
  box-shadow:0 6px 16px rgba(0,0,0,.22)}
.logo-txt{white-space:nowrap}
.logo-txt b{font-family:"华文行楷","STXingkai","华文楷体","STKaiti","楷体","KaiTi","Kaiti SC","楷体_GB2312","SimKai","Noto Serif SC","Noto Serif CJK SC",serif;font-size:22px;font-weight:600;display:block;line-height:1;white-space:nowrap;letter-spacing:1.5px}
.logo-txt small{font-size:11px;color:rgba(255,255,255,.55);letter-spacing:.08em}
.main{flex:1}
.nav-menu{display:flex;gap:2px;list-style:none}
.nav-link{display:block;padding:9px 11px;border-radius:9px;color:rgba(255,255,255,.74);font-size:15px;
  font-weight:400;transition:color .25s,background .25s;position:relative}
.nav-link:hover,.nav-link.active{color:#fff;background:rgba(255,255,255,.06)}
.nav-search{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.05);
  border:1px solid var(--navy-line);border-radius:10px;padding:8px 12px;color:rgba(255,255,255,.6)}
.nav-search input{background:none;border:none;outline:none;color:#fff;font-size:13.5px;width:100px}
.nav-search input::placeholder{color:rgba(255,255,255,.45)}
.nav-right{display:flex;align-items:center;gap:12px}
.nav-login{color:rgba(255,255,255,.82);font-size:15px;padding:8px 4px}
.nav-login:hover{color:var(--gold-2)}
.nav-cta{background:linear-gradient(135deg,var(--gold),var(--gold-2));color:#1a1304;font-weight:700;
  padding:10px 18px;border-radius:10px;font-size:15px;transition:transform .3s var(--ease)}
.nav-cta:hover{transform:translateY(-2px)}
.menu-btn{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px}
.menu-btn span{width:22px;height:2px;background:#fff;border-radius:2px;transition:.3s}
.menu-btn[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-btn[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-btn[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-menu{position:fixed;inset:68px 0 auto 0;z-index:49;background:var(--deep-surface);
  display:none;flex-direction:column;padding:14px 24px 26px;border-bottom:1px solid var(--deep-line)}
.mobile-menu a{padding:14px 6px;color:var(--on-deep-soft);border-bottom:1px solid var(--deep-line);font-size:16px}
.mobile-menu .mm-cta{margin-top:14px;justify-content:center;color:#1a1304;border-bottom:none}

/* ---------- 英雄区（藏青面板，克制） ---------- */
/* 明亮配色方案 A · 晨曦蓝：#f4f7fd 冷调浅蓝底 + 蓝/青/金三层柔光，正文 #3a445c（对比度 9.05） */
.hero{background:var(--bg-soft);   /* 与「统一接入」模块一致：浅底区块色 #f4f7fd（保留模块底色） */
  --grid-color:rgba(13,23,48,.05); /* 启用全局网格：40px 单元格 + 藏青细线，密度/线色与模块完全一致 */
  color:#3a445c;padding:56px 0 66px;position:relative;overflow:hidden}
/* 覆盖 .gx-fx 默认深色底（theme.css 等特异度后加载）：保留英雄区浅底 + 深字对照，
   确保与「统一接入」模块同档底色 #f4f7fd，不被翻成藏青面板 */
.hero.gx-lite{background:var(--bg-soft);color:#3a445c;--grid-color:rgba(13,23,48,.05)}
.hero .wrap{position:relative;z-index:1}
/* 英雄区网格背景已统一交由全局 .gx-grid::before（theme.css）按 --grid* 变量绘制，
   锚定视口、与导航栏 / 统一接入模块共用同一坐标系（原 42px 改为与全局一致的 --grid） */
/* 动态背景改为「底层渐变 + 全局网格 + 神经网络粒子」三层：
   已移除原 .hero::after 极光呼吸层（金/蓝双色 blur+multiply，18s 缩放呼吸）——
   该效果与品牌克制调性不符，且粒子层接线后已能提供足够的动态感，无需叠加第二层动效 */
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 540px;gap:54px;align-items:center}
/* 左侧文字：背景与 .hero 一致（不透明纯色浅蓝），文字直接坐落于实色之上，不再叠加透明面板 */
.hero-copy{position:relative;z-index:1;
  background:transparent;border:0;box-shadow:none;padding:6px 0 6px 28px}
/* 英雄区左侧文字块：克制的暗金细竖线左边界（品牌红线：金色仅作细线/点状/选中态点缀），
   保留与右侧工作台卡片一致的金线语言，不框死、不悬空 */
.hero-copy::before{content:"";position:absolute;left:0;top:4px;width:3px;height:calc(100% - 8px);
  background:linear-gradient(180deg,var(--gold) 0%,var(--gold-deep) 70%,transparent 100%);border-radius:2px}
.hero .eyebrow{color:#8a6428}
.hero .eyebrow::before,.hero .eyebrow::after{background:#8a6428}
/* 主标题：52px → 44px（页面最高层级 h2 为 38px，保持 1.16× 领先）；
   原无显式 line-height，继承了 body 的 1.7，行距过松是"过大"的主因，收敛至 1.28 */
.hero h1{font-size:clamp(27px,3.4vw,44px);line-height:1.28;color:#0d1730;letter-spacing:.01em;margin-bottom:20px}
/* 高亮渐变：浅底上所有色标均 ≥3:1（大字号 AA），最亮处 #b07f34 实测 3.30 */
.hero h1 .hl{position:relative;color:#8a6428; /* 不支持 background-clip:text 时的兜底深金 */
  background:linear-gradient(100deg,#8a6428 0%,#94692a 22%,#a9762f 44%,#b07f34 50%,#a9762f 56%,#94692a 78%,#8a6428 100%);
  background-size:220% auto;-webkit-background-clip:text;background-clip:text}
/* 流光节奏统一交由 motion.css 的 .hl（6.5s）：此处原有一份 5s 的 animation 与同名 @keyframes，
   与 motion.css 重复且 keyframes 被后加载者覆盖，属死代码，已移除 */
@supports (-webkit-background-clip:text) or (background-clip:text){
  .hero h1 .hl{-webkit-text-fill-color:transparent;color:transparent}
}
/* h1 高亮句内强制「AI 教育」不拆行，并支持 <br> 手动断行 */
.hero h1 .hl .nowrap{white-space:nowrap}
.hero .sub{font-size:17px;color:#3a445c;max-width:560px;margin-bottom:30px}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:10px}
/* 幽灵按钮在浅底英雄区需反色，避免白色描边/文字消失（仅作用于英雄区，不影响其他深色区块） */
.hero .btn-ghost{border-color:rgba(13,23,48,.18);color:#16203a;background:rgba(255,255,255,.72)}
.hero .btn-ghost:hover{border-color:#8a6428;color:#8a6428;background:rgba(184,137,62,.10)}
.trust{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding-top:26px;border-top:2px solid rgba(13,23,48,.12)}
.trust .t b{font-family:"Noto Serif SC";font-size:30px;color:#0d1730;font-weight:700}
.trust .t em{font-style:normal;color:#8a6428;font-size:16px;margin-left:2px}
.trust .t span{display:block;font-size:12.5px;color:#5a6478;margin-top:4px}
/* 英雄区动态粒子层已取消：改不透明纯色实底，不再渲染网格/金尘 */
.hero-particles{display:none}
/* 2026-08-31 推荐方案·网格粒子流 —— 叠加柔光脉冲（纯 CSS，零结构变动）
   金色动态网格由上方 --grid-color 提供；下述 .hero::after 为「缓慢游走的金色柔光脉冲」：
   一团金晕（radial + transform 缓动）在英雄区缓移 + 呼吸；非横扫、非极光呼吸，严守品牌克制调性。
   .gx-grid 已设 isolation:isolate，mix-blend-mode 仅在该英雄区内部合成。 */
.hero::after{display:none}
/* 英雄区沿用「统一接入」模块的 .gx-fx 质感层（aurora 柔光 + 浅色神经网络粒子）：
   浅底上收敛 aurora 强度，与模块 .marquee.gx-lite 同档（opacity:.16 / mix-blend-mode:normal），避免过曝 */
.hero.gx-lite .gx-aurora::before,.hero.gx-lite .gx-aurora::after{opacity:.16;mix-blend-mode:normal}
@keyframes heroPulse{
  0%{transform:translate(-60%,-56%) scale(.86);opacity:0}
  18%{opacity:.92}
  50%{transform:translate(-42%,-40%) scale(1.14);opacity:.66}
  82%{opacity:.88}
  100%{transform:translate(-60%,-56%) scale(.86);opacity:0}}
@media (prefers-reduced-motion: reduce){.hero::after{animation:none!important;opacity:.5}}

/* ---------- 英雄右侧：院校 AI 教学工作台（单一主视觉，主次分层） ---------- */
.hero-visual{position:relative;width:540px;flex:none;margin-left:auto}
/* 玻璃面板背后的柔光晕：藏青 + 金双色晕，营造高端景深（不拦截交互） */
.hero-visual::before{content:"";position:absolute;z-index:0;left:50%;top:52%;width:112%;height:112%;
  transform:translate(-50%,-50%);pointer-events:none;
  background:
    radial-gradient(42% 42% at 50% 50%,rgba(37,99,235,.16),transparent 62%),
    radial-gradient(36% 36% at 57% 43%,rgba(214,168,92,.15),transparent 60%);
  filter:blur(36px);opacity:.9;animation:wkHalo 12s ease-in-out infinite}
@keyframes wkHalo{0%,100%{opacity:.78;transform:translate(-50%,-50%) scale(1)}50%{opacity:.96;transform:translate(-50%,-50%) scale(1.05)}}

/* 窗口本体：浅蓝玻璃，藏青文字 + 暗金强调，与左侧英雄区同一套视觉语言 */
.wk{position:relative;z-index:1;border-radius:16px;overflow:hidden;
  background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(245,248,255,.90));
  border:1px solid rgba(13,23,48,.09);
  box-shadow:0 30px 70px -30px rgba(13,23,48,.30),0 2px 10px rgba(13,23,48,.05),inset 0 1px 0 rgba(255,255,255,.9);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  animation:wkIn .9s cubic-bezier(.22,.61,.36,1) .1s both}
@keyframes wkIn{from{opacity:0;transform:translateY(20px) scale(.985)}to{opacity:1;transform:none}}

/* ① 顶部窗口条 —— 建立「这是真实产品界面」的第一印象 */
.wk-bar{display:flex;align-items:center;gap:10px;padding:12px 16px;
  background:rgba(13,23,48,.035);border-bottom:1px solid rgba(13,23,48,.08)}
.wk-dots{display:flex;gap:6px;flex:none}
.wk-dots i{width:9px;height:9px;border-radius:50%;background:rgba(13,23,48,.16)}
.wk-dots i:first-child{background:rgba(184,137,62,.5)}
.wk-name{flex:1;min-width:0;font-family:"Noto Serif SC";font-size:13px;color:#16203a;font-weight:600;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.01em}
.wk-live{flex:none;display:flex;align-items:center;gap:5px;font-size:10.5px;color:#8a6428;
  font-family:"Noto Sans SC";border:1px solid rgba(138,100,40,.32);padding:2px 9px;border-radius:20px}
.wk-live i{width:6px;height:6px;border-radius:50%;background:#1f9e6e;animation:wkPulse 2.2s ease-in-out infinite}
@keyframes wkPulse{0%,100%{box-shadow:0 0 0 0 rgba(31,158,110,.5)}50%{box-shadow:0 0 0 5px rgba(31,158,110,0)}}

/* ② 主窗舞台：五个面板绝对叠在同一区域，同一时刻只有一个可见；舞台高度取最高面板，切换不跳高 */
.wk-stage{position:relative;display:block;min-height:342px}
.wk-pane{position:absolute;left:0;right:0;top:0;bottom:0;display:flex;flex-direction:column;padding:15px 18px 13px;min-width:0;
  opacity:0;visibility:hidden;transform:translateY(8px) scale(.998);pointer-events:none;z-index:1;
  transition:opacity .2s var(--ease),transform .2s var(--ease),visibility 0s linear .2s}
.wk-pane.is-on{opacity:1;visibility:visible;transform:none;pointer-events:auto;z-index:2;
  transition:opacity .28s var(--ease),transform .28s var(--ease),visibility 0s}
.wk-ph{flex:none;display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:11px}
.wk-ph h6{font-size:12.5px;color:#5a6478;font-weight:600;font-family:"Noto Sans SC";letter-spacing:.01em;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wk-tag{font-family:"Noto Serif SC";font-size:12px;font-weight:700;color:#8a6428;
  white-space:nowrap;font-variant-numeric:tabular-nums}

/* ③ 关键指标行（主窗内统一层级：数字 > 图 > 脚注） */
.wk-kpi{flex:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:12px}
.wk-k{background:rgba(13,23,48,.04);border:1px solid rgba(13,23,48,.07);border-radius:10px;
  padding:8px 9px;min-width:0;
  transition:transform .32s var(--ease),border-color .32s var(--ease),background .32s var(--ease),box-shadow .32s var(--ease)}
.wk-k:hover{transform:translateY(-3px);border-color:rgba(184,137,62,.42);background:rgba(184,137,62,.07);
  box-shadow:0 12px 24px -16px rgba(13,23,48,.45)}
.wk-k b{display:block;font-family:"Noto Serif SC";font-size:19px;font-weight:700;color:#16203a;
  line-height:1.15;font-variant-numeric:tabular-nums}
.wk-k span{display:block;font-size:11px;color:#6e7891;margin-top:3px;font-family:"Noto Sans SC";
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* 非数值指标（例：模型数量持续变动，不写死数字） */

/* 主视觉区：flex:1 吃掉剩余高度，各面板内容垂直居中，避免底部空白；
   overflow:hidden 兜底，任何分辨率下都不会溢出到脚注上造成重叠 */
.wk-vis{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center;overflow:hidden}

/* ① 平台介绍：三层架构，把「一套平台」讲清楚 */
.wk-arch{gap:0}
.wk-layer{display:flex;align-items:center;gap:10px}
.wk-layer em{flex:none;width:52px;font-style:normal;font-size:10.5px;color:#8a6428;font-weight:600;
  font-family:"Noto Sans SC";letter-spacing:.02em}
.wk-chips{flex:1;display:flex;gap:6px;min-width:0}
.wk-chips span{flex:1;min-width:0;text-align:center;font-size:10.5px;font-family:"Noto Sans SC";
  color:#16203a;background:rgba(13,23,48,.045);border:1px solid rgba(13,23,48,.08);
  border-radius:7px;padding:8px 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  opacity:0;transform:translateY(6px)}
.wk-pane.is-on .wk-chips span{animation:wkChipIn .5s cubic-bezier(.22,.61,.36,1) forwards}
.wk-pane.is-on .wk-layer:nth-child(3) .wk-chips span{animation-delay:.42s}
.wk-pane.is-on .wk-layer:nth-child(5) .wk-chips span{animation-delay:.20s}
.wk-pane.is-on .wk-layer:nth-child(1) .wk-chips span{animation-delay:.64s}
@keyframes wkChipIn{to{opacity:1;transform:none}}
.wk-chips--base span{background:rgba(13,23,48,.075);border-color:rgba(13,23,48,.10);color:#0d1730;font-weight:600}
.wk-link{height:15px;margin-left:26px;position:relative;flex:none}
.wk-link::before{content:"";position:absolute;left:0;top:0;bottom:0;width:1.5px;
  background:linear-gradient(180deg,rgba(184,137,62,.12),rgba(184,137,62,.5))}

/* ② 平台运营大屏：12 小时调用量柱状图 */
.wk-bars-wrap{justify-content:flex-end}
.wk-bars{display:flex;align-items:flex-end;gap:5px;height:98px}
.wk-bars i{flex:1;min-width:0;height:var(--h);border-radius:4px 4px 2px 2px;cursor:pointer;
  background:linear-gradient(180deg,rgba(184,137,62,.80),rgba(184,137,62,.28));
  transform-origin:bottom;transform:scaleY(0);
  transition:filter .2s var(--ease)}
.wk-bars i.is-peak{background:linear-gradient(180deg,var(--gold),var(--gold-deep))}
.wk-bars i:hover{filter:brightness(1.1)}
.wk-pane.is-on .wk-bars i{animation:wkBarUp .62s cubic-bezier(.22,.61,.36,1) forwards}
.wk-pane.is-on .wk-bars i:nth-child(1){animation-delay:.10s}
.wk-pane.is-on .wk-bars i:nth-child(2){animation-delay:.15s}
.wk-pane.is-on .wk-bars i:nth-child(3){animation-delay:.20s}
.wk-pane.is-on .wk-bars i:nth-child(4){animation-delay:.25s}
.wk-pane.is-on .wk-bars i:nth-child(5){animation-delay:.30s}
.wk-pane.is-on .wk-bars i:nth-child(6){animation-delay:.35s}
.wk-pane.is-on .wk-bars i:nth-child(7){animation-delay:.40s}
.wk-pane.is-on .wk-bars i:nth-child(8){animation-delay:.45s}
.wk-pane.is-on .wk-bars i:nth-child(9){animation-delay:.50s}
.wk-pane.is-on .wk-bars i:nth-child(10){animation-delay:.55s}
.wk-pane.is-on .wk-bars i:nth-child(11){animation-delay:.60s}
.wk-pane.is-on .wk-bars i:nth-child(12){animation-delay:.65s}
@keyframes wkBarUp{from{transform:scaleY(0)}to{transform:scaleY(1)}}

/* ③ 院校管理大屏：六大模块开出率（单行紧凑进度条，保证 6 行全部可见） */
/* 六行进度条：行高写死 + 固定行距，六行整体居中，绝不挤压下方脚注 */
.wk-rows{display:flex;flex-direction:column;justify-content:center;gap:6px;overflow:hidden}
.wk-row{display:grid;grid-template-columns:96px minmax(0,1fr) 38px;align-items:center;gap:9px;
  height:18px;min-height:0}
.wk-row span{font-size:11px;color:#3a445c;font-family:"Noto Sans SC";
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wk-row i{display:block;height:7px;border-radius:6px;background:rgba(138,100,40,.16);overflow:hidden}
.wk-row i b{display:block;height:100%;width:var(--w);border-radius:6px;
  background:linear-gradient(90deg,var(--gold),var(--gold-deep));
  transform-origin:left;transform:scaleX(0)}
.wk-row em{font-style:normal;font-size:11px;color:#8a6428;font-weight:700;font-family:"Noto Serif SC";
  text-align:right;font-variant-numeric:tabular-nums}
.wk-pane.is-on .wk-row i b{animation:wkBarX .72s cubic-bezier(.22,.61,.36,1) forwards}
.wk-pane.is-on .wk-row:nth-child(1) i b{animation-delay:.14s}
.wk-pane.is-on .wk-row:nth-child(2) i b{animation-delay:.22s}
.wk-pane.is-on .wk-row:nth-child(3) i b{animation-delay:.30s}
.wk-pane.is-on .wk-row:nth-child(4) i b{animation-delay:.38s}
.wk-pane.is-on .wk-row:nth-child(5) i b{animation-delay:.46s}
.wk-pane.is-on .wk-row:nth-child(6) i b{animation-delay:.54s}
@keyframes wkBarX{from{transform:scaleX(0)}to{transform:scaleX(1)}}

/* ④ 教师教学大屏：7 日趋势折线（描边 → 面积 → 数据点，逐层推进） */
.wk-line-wrap{justify-content:center;gap:0}
.wk-chart-box{position:relative;opacity:0;transform:translateY(6px);
  transition:opacity .5s var(--ease) .05s,transform .5s var(--ease) .05s}
.wk-pane.is-on .wk-chart-box{opacity:1;transform:none}
/* 折线图整体收窄：图高 104px，与上方的指标行、下方的星期轴和脚注都不再抢空间 */
.wk-chart{display:block;width:100%;height:104px;overflow:visible}
.wk-grid line{stroke:rgba(13,23,48,.07);stroke-width:1}
.wk-line{stroke:var(--gold);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-dashoffset:0}
.wk-area{opacity:1}
.wk-pane.is-on .wk-area{animation:wkAreaIn .8s ease .95s backwards}
@keyframes wkAreaIn{to{opacity:1}}
.wk-pts circle{fill:#fffdf8;stroke:var(--gold);stroke-width:2;opacity:1;
  transition:fill .18s ease,stroke .18s ease}
.wk-pane.is-on .wk-pts circle{animation:wkPtIn .4s cubic-bezier(.22,.61,.36,1) forwards}
.wk-pane.is-on .wk-pts circle:nth-child(1){animation-delay:.30s}
.wk-pane.is-on .wk-pts circle:nth-child(2){animation-delay:.50s}
.wk-pane.is-on .wk-pts circle:nth-child(3){animation-delay:.68s}
.wk-pane.is-on .wk-pts circle:nth-child(4){animation-delay:.88s}
.wk-pane.is-on .wk-pts circle:nth-child(5){animation-delay:1.06s}
.wk-pane.is-on .wk-pts circle:nth-child(6){animation-delay:1.30s}
.wk-pane.is-on .wk-pts circle:nth-child(7){animation-delay:1.46s}
@keyframes wkPtIn{from{opacity:0;transform:scale(.35)}to{opacity:1;transform:none}}
.wk-pts circle.is-hot{fill:var(--gold);stroke:#fffdf8;stroke-width:2.4}
.wk-hits circle{fill:transparent;cursor:pointer}

/* 持续态：峰值点扩散光环，让视线自动落在「周五 61 分钟」这个结论上 */
.wk-peak-ring{position:absolute;width:11px;height:11px;margin:-5.5px 0 0 -5.5px;
  border-radius:50%;border:1.5px solid rgba(184,137,62,.9);pointer-events:none;opacity:0}
.wk-pane.is-on .wk-peak-ring{animation:wkRing 2.9s cubic-bezier(.22,.61,.36,1) 1.7s infinite}
@keyframes wkRing{
  0%{transform:scale(.45);opacity:.6}
  65%{transform:scale(3.1);opacity:0}
  100%{transform:scale(3.1);opacity:0}
}

/* ⑤ 学生学训大屏：五维能力雷达（居中、线条完整、字体克制） */
.wk-radar-wrap{align-items:center;justify-content:center;min-height:162px;overflow:visible}
/* 画布左右各留出 15 单位余量容纳五个维度标签，max-width 让图形在宽容器中仍然居中不散 */
.wk-radar{display:block;width:100%;max-width:280px;height:162px;overflow:visible}
/* 标签字号受控，杜绝小屏下贴边/溢出（P3-1） */
.wk-rlabel text{font-size:12px;font-weight:500;fill:var(--ink-soft)}
.wk-rgrid polygon{fill:none;stroke:rgba(13,23,48,.10);stroke-width:1}
.wk-raxis line{stroke:rgba(13,23,48,.10);stroke-width:1}
.wk-rshape{fill:rgba(184,137,62,.20);stroke:var(--gold);stroke-width:2;stroke-linejoin:round;
  transform-box:fill-box;transform-origin:center;opacity:1}
.wk-pane.is-on .wk-rshape{animation:wkRadarIn .85s cubic-bezier(.22,.61,.36,1) .22s}
@keyframes wkRadarIn{from{opacity:0;transform:scale(.55)}to{opacity:1;transform:none}}
.wk-rpts circle{fill:#fffdf8;stroke:var(--gold);stroke-width:2;opacity:1;
  transform-box:fill-box;transform-origin:center}
.wk-pane.is-on .wk-rpts circle{animation:wkPtIn .4s cubic-bezier(.22,.61,.36,1)}
.wk-pane.is-on .wk-rpts circle:nth-child(1){animation-delay:.86s}
.wk-pane.is-on .wk-rpts circle:nth-child(2){animation-delay:.95s}
.wk-pane.is-on .wk-rpts circle:nth-child(3){animation-delay:1.04s}
.wk-pane.is-on .wk-rpts circle:nth-child(4){animation-delay:1.13s}
.wk-pane.is-on .wk-rpts circle:nth-child(5){animation-delay:1.22s}
.wk-rlabel text{font-size:12px;fill:#3a445c;font-family:"Noto Sans SC";opacity:1;font-weight:500}
.wk-pane.is-on .wk-rlabel text{animation:wkAreaIn .4s ease .6s backwards}
@keyframes wkAreaIn{from{opacity:0}to{opacity:1}}

/* 脚注：一行结论，把「数字」翻译成「判断」。
   三项指标用 16px 列间距 + 6px 行间距，空间不够时整段换行而不是互相挤压重叠 */
.wk-ft{flex:none;display:flex;align-items:center;flex-wrap:wrap;gap:6px 16px;margin-top:11px;padding-top:9px;
  border-top:1px dashed rgba(13,23,48,.1);font-size:10.5px;color:#6e7891;font-family:"Noto Sans SC"}
.wk-ft span{flex:0 0 auto;max-width:100%;white-space:nowrap}
.wk-ft b{font-family:"Noto Serif SC";font-size:12px;color:#16203a;font-weight:700;font-variant-numeric:tabular-nums}
.wk-ft .wk-ok{margin-left:auto;color:#1f9e6e;font-weight:600}
.wk-ft .wk-down{color:#1f9e6e}

/* 交互态：悬停任意数据元素显示真实数值（折线点 / 柱子通用） */
.wk-tip{position:absolute;z-index:6;left:0;top:0;pointer-events:none;white-space:nowrap;
  background:#fffdf8;border:1px solid rgba(184,137,62,.45);border-radius:9px;padding:6px 11px;
  box-shadow:0 12px 26px -12px rgba(13,23,48,.5);opacity:0;
  transform:translate(-50%,-100%) scale(.94);
  transition:opacity .18s var(--ease),transform .18s var(--ease)}
.wk-tip.is-on{opacity:1;transform:translate(-50%,-100%) scale(1)}
.wk-tip b{display:block;font-family:"Noto Serif SC";font-size:13.5px;font-weight:700;color:var(--gold-deep,#8a6428);
  font-variant-numeric:tabular-nums;line-height:1.2}
.wk-tip i{display:block;font-style:normal;font-size:10.5px;color:#6b7488;
  font-family:"Noto Sans SC";margin-top:1px;line-height:1.3}
.wk-axis{flex:none;display:flex;justify-content:space-between;margin-top:6px}
.wk-axis span{flex:1;text-align:center;font-size:11px;color:#8b93a6;font-family:"Noto Sans SC"}
.wk-axis--12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:0}
.wk-axis--12 span{font-size:11px}

/* ⑥ 窗口底部状态条：每个窗口一套独立信息源，切窗即换流（位置/样式/节奏一致） */
.wk-ticker{border-top:1px solid rgba(13,23,48,.08);background:rgba(13,23,48,.022);padding:9px 0}
.wk-ticker-vp{overflow:hidden;position:relative;padding:0 18px;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
/* 持续态：逐条步进推进（由 hero-workbench.js 驱动），而非匀速平移——更接近「一条条新事件进来」 */
/* position:relative 让子项的 offsetLeft 恒以轨道自身为基准：
   否则首帧无 transform 时 offsetParent 是 .wk-ticker-vp（算进 18px 内边距），设过 transform 后又变成轨道自身，
   首条与后续条会差 18px，切窗时可见横向跳动 */
.wk-ticker-track{display:flex;gap:8px;width:max-content;position:relative;
  transition:transform .68s cubic-bezier(.22,.61,.36,1)}
.wk-ticker-track.is-jump{transition:none}
.wk-fi{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.92);
  border:1px solid rgba(13,23,48,.07);border-radius:20px;padding:5px 12px 5px 6px;
  font-size:11px;color:#16203a;white-space:nowrap;font-family:"Noto Sans SC";
  transition:border-color .5s var(--ease),background .5s var(--ease),box-shadow .5s var(--ease)}
.wk-fi.is-new{border-color:rgba(184,137,62,.55);background:#fff;
  box-shadow:0 8px 18px -10px rgba(138,100,40,.6)}
.wk-role{flex:none;font-size:11px;font-weight:600;color:#fff;padding:2px 7px;border-radius:10px;letter-spacing:.02em}
/* 五个窗口各用一个标识色：平台=藏青(中立) 运营=暗金(值守) 院校=蓝(治理) 教师=绿(教学) 学生=紫(成长) */
.wk-role.p{background:var(--ls-accent)}
.wk-role.o{background:#8a6428}
.wk-role.c{background:#1E6BFF}
.wk-role.t{background:#059669}
.wk-role.s{background:#8B5CF6}

/* ⑦ 五个窗口缩略窗 = 切换器：主窗之下同层排布，选中项暗金高亮 + 轮播进度 */
.wk-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;padding:11px 18px 14px;
  border-top:1px solid rgba(13,23,48,.08);background:rgba(13,23,48,.022)}
.wk-tab{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:2px;
  padding:9px 9px 10px;border-radius:10px;cursor:pointer;text-align:left;overflow:hidden;
  background:rgba(255,255,255,.86);border:1px solid rgba(13,23,48,.09);
  font-family:"Noto Sans SC";
  transition:transform .3s var(--ease),border-color .3s var(--ease),background .3s var(--ease),box-shadow .3s var(--ease)}
.wk-tab:hover{transform:translateY(-2px);border-color:rgba(184,137,62,.38);
  box-shadow:0 10px 20px -14px rgba(13,23,48,.5)}
.wk-tab.is-on{border-color:rgba(184,137,62,.55);background:linear-gradient(180deg,#fff,rgba(184,137,62,.09));
  box-shadow:0 10px 22px -14px rgba(138,100,40,.7)}
.wk-tab-p{position:absolute;left:0;top:0;right:0;height:2px;background:rgba(13,23,48,.07);overflow:hidden}
.wk-tab-p i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--gold),var(--gold-deep))}
.wk-tab.is-on .wk-tab-p i{animation:wkProgress var(--wk-dur,7s) linear forwards}
.wk.is-paused .wk-tab-p i{animation-play-state:paused}
@keyframes wkProgress{from{width:0}to{width:100%}}
.wk-tab-n{font-size:11px;color:#9aa3b5;font-weight:700;letter-spacing:.06em;font-family:"Noto Sans SC"}
.wk-tab-t{font-size:11.5px;color:#16203a;font-weight:600;line-height:1.25;white-space:nowrap;
  font-family:"Noto Serif SC";letter-spacing:.01em}
.wk-tab.is-on .wk-tab-t{color:#8a6428}
.wk-tab.is-on .wk-tab-n{color:var(--gold-deep)}

/* ---------- 响应式：桌面优先，逐级收敛 ---------- */
@media (max-width:1180px){.hero-visual{width:486px}.wk-chart{height:100px}}
@media (max-width:980px){
  .hero-visual{width:100%;max-width:560px;margin:30px auto 0}
  .wk-chart{height:104px}
}
@media (max-width:600px){
  .hero-visual{max-width:100%;margin:24px 0 0}
  .wk-pane{padding:13px 13px 11px}
  .wk-ph h6{font-size:11.5px}
  .wk-tag{font-size:11px}
  .wk-kpi{gap:6px;margin-bottom:10px}
  .wk-k{padding:7px 6px}
  .wk-k b{font-size:16px}
  .wk-k span{font-size:11px}
  .wk-chart{height:92px}
  .wk-axis span{font-size:11px}
  .wk-layer em{width:44px;font-size:11px}
  .wk-chips{gap:4px}
  .wk-chips span{font-size:11px;padding:7px 1px}
  .wk-row{grid-template-columns:78px minmax(0,1fr) 32px;gap:7px}
  .wk-row span{font-size:11px}
  .wk-row em{font-size:11px}
  .wk-rows{gap:7px}
  .wk-radar{height:148px;max-width:260px}
  .wk-radar-wrap{min-height:148px}
  .wk-bars{height:82px;gap:4px}
  .wk-ft{font-size:11px;gap:9px;margin-top:9px}
  .wk-ft .wk-ok{margin-left:0}
  .wk-ticker-vp{padding:0 13px}
  .wk-fi{font-size:10.5px}
  .wk-tabs{gap:5px;padding:9px 13px 12px}
  .wk-tab{padding:8px 6px 9px}
  .wk-tab-t{font-size:10.5px}
  .wk-name{font-size:12px}
  .wk-live{display:none}
}
@media (max-width:430px){
  .wk-tab-n{display:none}
  .wk-tab{align-items:center;justify-content:center}
  .wk-tab-t{font-size:11px}
}

@media (prefers-reduced-motion:reduce){
  .hero-visual::before{animation:none!important}
  .wk{animation:none!important}
  .wk-pane{transition:none!important}
  .wk-line{stroke-dashoffset:0!important;animation:none!important}
  .wk-area{opacity:1!important;animation:none!important}
  .wk-pts circle{opacity:1!important;animation:none!important}
  .wk-bars i{transform:none!important;animation:none!important}
  .wk-row i b{transform:none!important;animation:none!important}
  .wk-chips span{opacity:1!important;transform:none!important;animation:none!important}
  .wk-rshape{opacity:1!important;transform:none!important;animation:none!important}
  .wk-rpts circle{opacity:1!important;animation:none!important}
  .wk-rlabel text{opacity:1!important;animation:none!important}
  .wk-live i{animation:none!important}
  .wk-peak-ring{animation:none!important;opacity:0!important}
  .wk-ticker-track{transition:none!important}
  .wk-tab-p i{animation:none!important;width:0!important}
  .wk-k:hover,.wk-tab:hover{transform:none!important}
  .wk-tip{transition:none!important}
  .hero::before{animation:none!important}   /* 原含 .hero::after（极光层），该层已移除，选择器随之清理 */
  .hero-copy{animation:none!important}
  .hero-particles{display:none!important}
  .btn::after{display:none!important}
  .hero h1 .hl{background:none!important;-webkit-text-fill-color:#8a6428!important;color:#8a6428!important;animation:none!important}
}
/* ---------- 信任基础设施跑马灯 ---------- */
.marquee{padding:30px 0;
  background:var(--bg-soft);
  color:var(--ink);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden}
.marquee-label{text-align:center;font-size:12.5px;letter-spacing:.14em;color:rgba(255,255,255,.5);margin-bottom:18px}
.marquee-track{display:flex;gap:14px;width:max-content;animation:scroll 38s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
.marquee-item{display:inline-flex;align-items:center;gap:9px;white-space:nowrap;background:rgba(255,255,255,.05);
  border:1px solid var(--navy-line);border-radius:30px;padding:10px 18px;font-size:14px;color:rgba(255,255,255,.85)}
.mi-dot{width:7px;height:7px;border-radius:50%;background:var(--gold-2)}
@keyframes scroll{to{transform:translateX(-50%)}}
/* 统一接入模块：浅色主题（覆盖 .gx-fx 全局暗色处理，引用全局设计变量，仅作用于本模块） */
.marquee.gx-lite{background:var(--bg-soft);color:var(--ink);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.marquee.gx-lite .marquee-label{color:var(--ink);font-weight:700}
.marquee.gx-lite .marquee-item{background:#fff;border:1px solid var(--line);color:var(--ink);box-shadow:var(--shadow-1)}
.marquee.gx-lite .marquee-item:hover{border-color:rgba(184,137,62,.45);box-shadow:var(--shadow-2)}
.marquee.gx-lite .mi-dot{background:var(--gold-deep)}
.marquee.gx-lite .gx-aurora::before,.marquee.gx-lite .gx-aurora::after{mix-blend-mode:normal;opacity:.16}

/* ---------- 通用区块 ---------- */
.section{padding:90px 0;background-image:radial-gradient(circle at 50% -8%,rgba(184,137,62,.05),transparent 52%),radial-gradient(circle at 85% 105%,rgba(13,23,48,.03),transparent 42%)}
.section--soft{background-color:var(--paper-2);background-image:radial-gradient(circle at 50% -8%,rgba(184,137,62,.05),transparent 52%),radial-gradient(circle at 85% 105%,rgba(13,23,48,.03),transparent 42%)}
.section--navy{background:var(--deep-grad);color:var(--on-deep)}
.section--navy h2{color:#fff}
.sec-head{max-width:720px;margin:0 auto 52px;text-align:center}
.sec-head h2{font-size:var(--fs-h2);margin-bottom:14px}
.sec-head p{color:var(--muted);font-size:16px}

/* ---------- 资产带 ---------- */
.asset-band{padding:64px 0;background:var(--paper-2)}
.ab-head{text-align:center;margin-bottom:38px}
.ab-head .eyebrow{color:var(--gold-deep)}
.ab-head h2{color:var(--ink);font-size:clamp(24px,3vw,34px)}
.ab-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.ab{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:26px;text-align:center;box-shadow:var(--shadow-1);transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .4s}
.ab:hover{transform:translateY(-4px);box-shadow:var(--shadow-2);border-color:rgba(184,137,62,.4)}
.ab b{font-family:"Noto Serif SC";font-size:40px;color:var(--gold-2);font-weight:700;display:block}
/* 非数值资产（模型数量持续变动，不锁定固定数字） */
.ab b.ab-txt{font-size:26px;line-height:1.3;color:var(--gold-deep)}
.ab em{font-style:normal;font-size:18px;color:var(--ink);margin-left:3px}
.ab span{display:block;font-size:13.5px;color:var(--muted);margin-top:8px}

/* ---------- 四角色（内容驱动：列出真实模块） ---------- */
.roles{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.role{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:28px 24px;
  box-shadow:var(--shadow-1);transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .4s;
  display:flex;flex-direction:column}
.role:hover{transform:translateY(-4px);box-shadow:var(--shadow-2);border-color:rgba(184,137,62,.4)}
.ric{width:50px;height:50px;border-radius:13px;display:grid;place-items:center;color:var(--gold);
  background:var(--gold-soft);margin-bottom:18px}
.ric svg{width:26px;height:26px}
.role h3{font-size:20px;margin-bottom:10px}
.role>p{font-size:14px;color:var(--muted);margin-bottom:16px;min-height:76px}
/* 模块列表吸附到卡片底部：描述长短不一时，四张卡的模块清单仍然横向对齐 */
.role .mods{list-style:none;display:flex;flex-direction:column;gap:8px;margin:0 0 16px;
  margin-top:auto;padding-top:16px;border-top:1px solid var(--line-2)}
.role .mods li{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-2)}
.role .mods li::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--gold);flex:none}
.rmeta{font-size:12.5px;font-weight:600;letter-spacing:.04em;color:var(--gold-deep);
  background:var(--gold-soft);padding:7px 12px;border-radius:20px;display:inline-block}

/* ---------- 产品卡 ---------- */
.card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.pcard{display:block;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:30px;
  box-shadow:var(--shadow-1);transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .4s}
.pcard:hover{transform:translateY(-5px);box-shadow:var(--shadow-2);border-color:rgba(184,137,62,.4)}
.pcard .kicker{font-size:12px;letter-spacing:.14em;color:var(--muted);font-weight:700}
.pcard h3{font-size:var(--fs-card-title);margin:8px 0 12px}
.pcard p{font-size:15px;color:var(--muted);margin-bottom:18px}
.tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.tag{font-size:12.5px;color:var(--ink-2);background:var(--paper);border:1px solid var(--line);padding:5px 12px;border-radius:20px}
.tag--gold{color:var(--gold-deep);background:var(--gold-soft);border-color:transparent;font-weight:600}

/* ---------- 双栏面板 ---------- */
.dual{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:34px;box-shadow:var(--shadow-1)}
.panel .pic{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;color:var(--gold);background:var(--gold-soft);margin-bottom:18px}
.panel h3{font-size:22px;margin-bottom:8px}
.panel .psub{color:var(--muted);font-size:15px;margin-bottom:20px}
.panel ul{list-style:none;display:flex;flex-direction:column;gap:13px}
.panel li{display:flex;gap:11px;font-size:15px;color:var(--ink-2);align-items:flex-start}
.panel li svg{width:19px;height:19px;flex:none;color:var(--ok);margin-top:3px}

/* ---------- 认证墙 ---------- */
.cert-wall{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.cert{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:26px;box-shadow:var(--shadow-1)}
.cic{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;color:var(--gold);background:var(--gold-soft);margin-bottom:14px}
.cert h4{font-size:19px}
.csub{font-family:"Noto Serif SC";font-size:15px;color:var(--gold-deep);font-weight:700;margin-bottom:14px}
.cert ul{list-style:none;display:flex;flex-direction:column;gap:10px}
.cert li{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--ink-2)}
.cert li svg{width:16px;height:16px;flex:none;color:var(--ok)}

/* ---------- 产教融合 ---------- */
.eco{display:grid;grid-template-columns:1.15fr .85fr;gap:24px}
.eco-left,.eco-right{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:34px;box-shadow:var(--shadow-1)}
.eco-left h3,.eco-right h3{font-size:21px;margin-bottom:20px}
.eco-steps{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.eco-step{background:var(--paper);border:1px solid var(--line-2);border-radius:12px;padding:16px;font-size:14px;color:var(--ink-2)}
.eco-right{background:var(--deep-grad);color:var(--on-deep);border-color:var(--deep-line)}
.eco-right h3{color:#fff}
.eco-right p{color:rgba(234,240,255,.74);font-size:15px;margin-bottom:22px}

/* ---------- 洞察文章 ---------- */
.articles{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.article{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-1);
  transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.article:hover{transform:translateY(-5px);box-shadow:var(--shadow-2)}
/* 文章卡封面：去毒统一为 gx-lite 浅底语言（与 hero 同源，藏青固定网格 + 静态柔光） */
.acover{height:124px;position:relative;overflow:hidden;
  background:linear-gradient(135deg,#f4f7fd,#eaf1fb)}
.acover::before{content:"";position:absolute;inset:0;pointer-events:none;
  background-image:
    linear-gradient(var(--grid-color) 1px,transparent 1px),
    linear-gradient(90deg,var(--grid-color) 1px,transparent 1px);
  background-size:var(--grid) var(--grid);
  background-position:0 0;background-attachment:fixed}
.acover::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(120% 90% at 82% 12%,rgba(184,137,62,.12),transparent 60%)}
.acat{position:absolute;left:16px;top:16px;z-index:1;font-size:12px;font-weight:600;
  color:var(--gold-deep);background:rgba(255,255,255,.74);
  border:1px solid rgba(184,137,62,.34);padding:4px 11px;border-radius:20px}
.abody{padding:20px}
.adate{font-size:12.5px;color:var(--muted);margin-bottom:8px}
.abody h4{font-size:17px;margin-bottom:8px;line-height:1.4}
.abody p{font-size:13.5px;color:var(--muted);margin-bottom:14px}

/* ---------- 客户案例 ---------- */
.case-pick{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.cp{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:26px;box-shadow:var(--shadow-1)}
.cph{margin-bottom:16px}
.ctag{font-size:11.5px;color:var(--gold-deep);background:var(--gold-soft);padding:4px 10px;border-radius:20px;font-weight:600}
.cph h4{font-size:18px;margin-top:12px;line-height:1.4}
.cpb p{font-size:14px;color:var(--muted);margin-bottom:18px}
.metrics{display:flex;gap:26px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--line-2)}
.metrics b{font-family:"Noto Serif SC";font-size:26px;color:var(--navy);display:block}
.metrics span{font-size:12.5px;color:var(--muted)}
.quote{display:flex;align-items:center;gap:9px;font-size:12.5px;color:var(--ink-2)}
.quote svg{width:18px;height:18px;color:var(--gold);flex:none}

/* ---------- 差异化 ---------- */
.diff{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.dcol{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:32px;box-shadow:var(--shadow-1)}
.dcol.ours{background:var(--deep-grad);color:var(--on-deep);border-color:var(--deep-line)}
.dh{font-family:"Noto Serif SC";font-size:18px;margin-bottom:20px;font-weight:700}
.dcol.ours .dh{color:var(--gold-2)}
.dcol ul{list-style:none;display:flex;flex-direction:column;gap:15px}
.dcol li{display:flex;gap:12px;font-size:15px;align-items:flex-start;color:var(--ink-2)}
.dcol.ours li{color:rgba(234,240,255,.86)}
.dcol li svg{width:20px;height:20px;flex:none;margin-top:2px;color:var(--muted)}
.dcol.ours li svg{color:var(--ok)}

/* ---------- 关于 ---------- */
.about{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}
.bviz{background:var(--deep-grad);color:var(--on-deep);border:1px solid var(--deep-line);border-radius:var(--r-xl);padding:46px;box-shadow:var(--shadow-2)}
.bq{font-family:"Noto Serif SC";font-size:25px;line-height:1.6;font-weight:600}
.bq em{color:var(--gold-2);font-style:normal}
.bsig{margin-top:26px;font-size:13.5px;color:rgba(255,255,255,.6);letter-spacing:.04em}
.btext h3{font-size:24px;margin-bottom:16px}
.btext p{color:var(--muted);font-size:15px;margin-bottom:14px}
.bpoints{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:22px}
.bp{display:flex;gap:10px;align-items:center;font-size:13.5px;color:var(--ink-2);background:#fff;
  border:1px solid var(--line);border-radius:12px;padding:14px}
.bp svg{width:18px;height:18px;color:var(--gold);flex:none}

/* ---------- CTA ---------- */
.cta{text-align:center;max-width:680px;margin:0 auto}
.cta h2{font-size:clamp(26px,3.2vw,36px);margin-bottom:14px}
.cta p{color:rgba(234,240,255,.74);font-size:16px;margin-bottom:26px}
.cta .hero-cta{justify-content:center}
.cta-band{padding:90px 0;background:var(--paper-2)}
.cb{background:var(--deep-grad);border:1px solid var(--deep-line);border-radius:var(--r-xl);padding:48px;
  display:grid;grid-template-columns:1.2fr .8fr;gap:30px;align-items:center;box-shadow:var(--shadow-2)}
.cb h2{color:var(--on-deep);font-size:clamp(24px,2.8vw,32px)}
.cb p{color:var(--on-deep-soft);font-size:15px;margin-top:12px}
.cbbtns{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}

/* ---------- 页脚 ----------
   说明：页脚版式与视觉已由 nav.js 单一真源（SITE_FOOTER_HTML）+ footer-redesign.css
   全权接管（含 !important 浅色承载）。下方旧深色页脚定义已整体删除，避免与浅色主题
   冲突、并成为脆弱的隐藏依赖。请勿在此重新添加 .foot* 深色规则。 */

/* ============================================================
   教师工作台（产品 UI）—— 内容驱动，真实模块
   ============================================================ */
.app{display:grid;grid-template-columns:248px 1fr;min-height:100vh;background:var(--paper)}
.sidebar{background:var(--deep-grad);color:var(--on-deep);padding:22px 16px;
  position:sticky;top:0;height:100vh;overflow-y:auto}
.sb-brand{display:flex;align-items:center;gap:10px;padding:6px 8px 20px;border-bottom:1px solid var(--navy-line);margin-bottom:16px}
.sb-brand .mark{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;
  background:linear-gradient(135deg,var(--gold),var(--gold-2));color:#1a1304;font-family:"Noto Serif SC";font-weight:700}
.sb-brand b{font-family:"Noto Serif SC";color:#fff;font-size:16px}
.sb-brand small{display:block;font-size:10.5px;color:rgba(255,255,255,.5);letter-spacing:.06em}
.sb-group{font-size:11px;letter-spacing:.12em;color:rgba(255,255,255,.42);padding:14px 10px 8px;text-transform:uppercase}
.sb-item{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:10px;color:rgba(255,255,255,.74);
  font-size:14px;cursor:pointer;transition:background .25s,color .25s;margin-bottom:2px}
.sb-item svg{width:18px;height:18px;flex:none;opacity:.85}
.sb-item:hover{background:rgba(255,255,255,.06);color:#fff}
.sb-item.active{background:linear-gradient(135deg,rgba(184,137,62,.22),rgba(184,137,62,.10));color:#fff;
  box-shadow:inset 2px 0 0 var(--gold-2)}
.sb-item .badge{margin-left:auto;font-size:11px;background:var(--gold);color:#1a1304;padding:1px 7px;border-radius:20px;font-weight:700}

.workspace{padding:0}
.topbar{display:flex;align-items:center;gap:18px;padding:16px 30px;background:#fff;border-bottom:1px solid var(--line);
  position:sticky;top:0;z-index:5}
.crumb{font-size:14px;color:var(--muted)}
.crumb b{color:var(--navy);font-family:"Noto Serif SC"}
.tb-search{flex:1;max-width:420px;display:flex;align-items:center;gap:9px;background:var(--paper);
  border:1px solid var(--line);border-radius:10px;padding:9px 14px;color:var(--muted)}
.tb-search input{background:none;border:none;outline:none;flex:1;font-size:14px;color:var(--ink)}
.tb-right{display:flex;align-items:center;gap:14px;margin-left:auto}
.tb-ic{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:var(--paper);
  border:1px solid var(--line);color:var(--ink-2);position:relative;cursor:pointer}
.tb-ic .dot{position:absolute;top:9px;right:10px;width:7px;height:7px;border-radius:50%;background:var(--gold)}
.avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--cta),var(--cta-hover));
  color:var(--cta-text);display:grid;place-items:center;font-size:13px;font-weight:700}

.wmain{padding:30px}
.wpage-h{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:24px;flex-wrap:wrap}
.wpage-h h1{font-size:26px}
.wpage-h p{color:var(--muted);font-size:14px;margin-top:6px}

.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:24px}
.kpi{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px;box-shadow:var(--shadow-1)}
.kpi .k-top{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.kpi .k-ic{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;color:var(--gold);background:var(--gold-soft)}
.kpi .k-ic svg{width:19px;height:19px}
.kpi .k-lab{font-size:13px;color:var(--muted)}
.kpi b{font-family:"Noto Serif SC";font-size:30px;color:var(--navy);display:block;line-height:1}
.kpi .k-sub{font-size:12.5px;margin-top:8px;color:var(--ok-text);font-weight:600}
.kpi .k-sub.down{color:var(--warn-text)}

.wgrid{display:grid;grid-template-columns:1.5fr 1fr;gap:22px;margin-bottom:22px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:24px;box-shadow:var(--shadow-1)}
.card-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.card-h h3{font-size:18px}
.card-h a{font-size:13px;color:var(--gold)}
.lesson{display:flex;align-items:center;gap:14px;padding:14px 0;border-top:1px solid var(--line-2)}
.lesson:first-of-type{border-top:none}
.lesson .lt{width:46px;height:46px;border-radius:12px;flex:none;display:grid;place-items:center;font-family:"Noto Serif SC";
  font-weight:700;color:#1a1304;background:linear-gradient(135deg,var(--gold),var(--gold-2));font-size:15px}
.lesson .li{flex:1}
.lesson .li b{font-size:15px;display:block;color:var(--navy)}
.lesson .li span{font-size:13px;color:var(--muted)}
.lesson .lp{font-size:12.5px;color:var(--ink-2);background:var(--paper);border:1px solid var(--line);padding:4px 11px;border-radius:20px}

.bake{background:var(--deep-grad);color:var(--on-deep);border:1px solid var(--deep-line);border-radius:var(--r-lg);padding:26px;box-shadow:var(--shadow-2)}
.bake h3{color:#fff;font-size:19px;margin-bottom:8px}
.bake p{color:rgba(234,240,255,.72);font-size:14px;margin-bottom:18px}
.bake-steps{display:flex;gap:10px;margin-bottom:20px}
.bake-step{flex:1;background:rgba(255,255,255,.05);border:1px solid var(--navy-line);border-radius:12px;padding:14px}
.bake-step .n{width:24px;height:24px;border-radius:50%;background:var(--gold);color:#1a1304;display:grid;place-items:center;
  font-size:12px;font-weight:700;margin-bottom:10px}
.bake-step b{display:block;font-size:13.5px;color:#fff}
.bake-step span{font-size:12px;color:rgba(234,240,255,.6)}

.profile-ring{display:flex;align-items:center;gap:18px;margin-bottom:18px}
.ring{width:96px;height:96px;border-radius:50%;flex:none;background:
  conic-gradient(var(--gold) 0 78%,rgba(255,255,255,.14) 78% 100%);display:grid;place-items:center;position:relative}
.ring::after{content:"";position:absolute;inset:9px;border-radius:50%;background:var(--paper-2)}
.ring b{position:relative;font-family:"Noto Serif SC";font-size:22px;color:var(--navy)}
.profile-meta{font-size:13px;color:var(--ink-2)}
.profile-meta b{color:var(--navy);font-family:"Noto Serif SC";font-size:15px}
.weak{list-style:none;display:flex;flex-direction:column;gap:11px}
.weak li{font-size:13.5px;color:var(--ink-2);display:flex;align-items:center;gap:9px}
.weak .bar{flex:1;height:6px;border-radius:6px;background:var(--paper);overflow:hidden}
.weak .bar i{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,var(--gold),var(--gold-2))}

/* ---------- 内容模块·粒子 + Aurora 光斑（与英雄区同源，可复用于任意模块） ---------- */
.gx-fx{position:relative;overflow:hidden}
.gx-fx .gx-aurora{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.gx-fx .gx-aurora::before,.gx-fx .gx-aurora::after{content:"";position:absolute;filter:blur(14px);mix-blend-mode:screen;opacity:.5}
.gx-fx .gx-aurora::before{left:-12%;top:-26%;width:56%;height:80%;
  background:radial-gradient(closest-side,rgba(184,137,62,.34),rgba(184,137,62,.07) 55%,transparent 72%);
  animation:gxAurora 16s ease-in-out infinite}
.gx-fx .gx-aurora::after{right:-10%;bottom:-18%;width:58%;height:76%;
  background:radial-gradient(closest-side,rgba(184,137,62,.28),rgba(13,23,48,.10) 50%,transparent 72%);
  animation:gxAurora2 16s ease-in-out infinite}
@keyframes gxAurora{0%,100%{transform:translate(0,0) scale(1);opacity:.55}50%{transform:translate(3%,3%) scale(1.07);opacity:.72}}
@keyframes gxAurora2{0%,100%{transform:translate(0,0) scale(1);opacity:.5}50%{transform:translate(-3%,-2%) scale(1.05);opacity:.66}}
.gx-fx .gx-particles{position:absolute;inset:0;z-index:0;width:100%;height:100%;pointer-events:none}
.gx-fx > *:not(.gx-aurora):not(.gx-particles){position:relative;z-index:1}
/* 浅底模块（如行业洞察）用更克制的微光，避免 screen 混合在浅色上过曝 */
.gx-fx .gx-aurora--soft::before,.gx-fx .gx-aurora--soft::after{opacity:.26;mix-blend-mode:normal;filter:blur(20px)}
/* 方案 C · 英雄区全静态克制：弃用青绿极光层（去青绿/去呼吸）、粒子收敛为极弱点阵，
   仅保留浅蓝底 + 网格 + 暗金左竖线；金色仅作细线/点状点缀，零极光零呼吸零青绿 */
.hero .gx-aurora{display:none}
.hero .gx-particles{opacity:.32}

/* ---------- 揭示动画 ---------- */
.reveal{opacity:0.6;transform:translateY(12px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.in{opacity:1;transform:none}
.no-js .reveal{opacity:1!important;transform:none!important}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  .marquee-track{animation:none}
  .gx-fx .gx-aurora::before,.gx-fx .gx-aurora::after{animation:none!important}
  .gx-fx .gx-particles{display:none!important}
  html{scroll-behavior:auto}
}

/* ---------- 响应式 ---------- */
@media (max-width:980px){
  .hero-grid{grid-template-columns:1fr;gap:36px}
  .hero-visual{width:100%;max-width:540px;margin:0 auto}
  .pv-carousel{width:100%;max-width:540px;height:auto;aspect-ratio:54/56;transform:none}
  .roles,.ab-grid,.cert-wall{grid-template-columns:repeat(2,1fr)}
  .dual,.eco,.diff,.about,.cb{grid-template-columns:1fr}
  .card-grid,.articles,.case-pick{grid-template-columns:1fr}
  .cbbtns{justify-content:flex-start}
  .main,.nav-search{display:none}
  .menu-btn{display:flex}
  .mobile-menu.open{display:flex}
  .app{grid-template-columns:1fr}
  .sidebar{display:none}
  .kpis{grid-template-columns:repeat(2,1fr)}
  .wgrid{grid-template-columns:1fr}
  .eco-steps,.bpoints{grid-template-columns:1fr}
  .foot-top{grid-template-columns:1fr;gap:30px}
  .foot-brand{grid-column:auto}
  .foot-cols{grid-column:auto;grid-template-columns:repeat(3,1fr)}
}
@media (max-width:560px){
  .wrap{padding:0 18px}
  .section{padding:64px 0}
  .trust,.ab-grid,.roles,.cert-wall,.kpis{grid-template-columns:repeat(2,1fr)}
  .hero h1{font-size:26px;line-height:1.32;letter-spacing:0}
  .preview{padding:14px}
  .pv-carousel{transform:none}
  .pv-kpis{grid-template-columns:repeat(2,1fr)}
  .foot-cols{grid-template-columns:repeat(2,1fr)}
}

/* ============================================================
   浅色命名空间 .gx-lite —— 去毒替代 .gx-fx（仅用于浅底区块 hero / marquee）
   藏青固定网格来自全站 .gx-grid（与导航统一，不漂移）；
   流体（藏青为主 + 极淡金微光 .07）+ 静态胶片颗粒（无 steps 跳动）叠于内容之下。
   彻底解耦 theme.css 的 .gx-fx{background:var(--navy)} 藏青陷阱。
   ============================================================ */
.gx-lite{position:relative;overflow:hidden;background:var(--bg-soft);color:var(--ink)}
.gx-lite .fx-fluid{position:absolute;inset:-22%;z-index:0;pointer-events:none;will-change:transform}
.gx-lite .fluid{position:absolute;inset:-12%;
  background:
    radial-gradient(42% 50% at 24% 32%, rgba(13,23,48,.15), transparent 70%),
    radial-gradient(46% 52% at 76% 68%, rgba(184,137,62,.11), transparent 72%),
    radial-gradient(30% 36% at 54% 16%, rgba(13,23,48,.09), transparent 70%);
  animation:fluidDrift 26s ease-in-out infinite}
@keyframes fluidDrift{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(4.5%,-3.5%) scale(1.07)}}
.gx-lite .grain{position:absolute;inset:-40%;z-index:1;pointer-events:none;opacity:.05;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:160px 160px}
/* 内容层抬到背景特效（流体 z0 / 颗粒 z1）之上；背景层靠更高特异度保持低位 */
.gx-lite > *:not(.fx-fluid):not(.grain){position:relative;z-index:2}
@media (prefers-reduced-motion:reduce){
  .gx-lite .fluid{animation:none}
  .gx-lite .grain{opacity:.03}
}
