/* ============================================================
   烛心 · 奢华动效层 (lux.css)
   ------------------------------------------------------------
   设计基调：深空黑底 + 鎏金主色 + 极光渐变 + 玻璃拟态
   全部为「追加式」增强，不覆盖原有布局，只做视觉提纯。
   ============================================================ */

:root{
  /* ---- 鎏金主色阶 ---- */
  --lux-gold-1:#7a5a1e;
  --lux-gold-2:#c9982f;
  --lux-gold-3:#e8a33d;
  --lux-gold-4:#ffd68a;
  --lux-gold-5:#fff4d6;
  --lux-glow:rgba(232,163,61,.42);
  --lux-glow-soft:rgba(232,163,61,.16);

  /* ---- 极光辅色 ---- */
  --lux-aurora-1:#4a7cff;
  --lux-aurora-2:#9b5cff;
  --lux-aurora-3:#2ee6c8;

  /* ---- 深空底 ---- */
  --lux-void-1:#05060a;
  --lux-void-2:#0a0c12;
  --lux-void-3:#0f1219;

  --lux-line:rgba(232,163,61,.20);
  --lux-line-soft:rgba(255,255,255,.055);
}

/* ============================================================
   1. 全局：更贵气的底噪 + 鎏金光晕
   ============================================================ */
body{
  background-color:var(--lux-void-2);
  background-image:linear-gradient(180deg, rgba(232,163,61,.045), transparent 22%);
  background-repeat:no-repeat;
}



/* ============================================================
   2. 顶部栏：玻璃拟态 + 鎏金描边 + 滚动收缩
   ============================================================ */
.topbar{
  background:linear-gradient(180deg, rgba(8,10,16,.86), rgba(8,10,16,.42)) !important;
  backdrop-filter:blur(18px) saturate(1.5);
  -webkit-backdrop-filter:blur(18px) saturate(1.5);
  border-bottom:1px solid var(--lux-line-soft) !important;
  transition:background .45s ease, border-color .45s ease, box-shadow .45s ease;
}
.topbar.is-scrolled{
  background:linear-gradient(180deg, rgba(6,8,13,.96), rgba(6,8,13,.80)) !important;
  border-bottom-color:var(--lux-line) !important;
  box-shadow:0 8px 32px -14px rgba(0,0,0,.9), 0 1px 0 rgba(255,214,138,.06) inset;
}
/* 顶栏底部的鎏金流光细线 */
.topbar::after{
  content:'';
  position:absolute; left:0; right:0; bottom:-1px; height:1px;
  background:linear-gradient(90deg,
    transparent, rgba(232,163,61,.0) 8%,
    rgba(255,214,138,.55) 38%,
    rgba(255,244,214,.85) 50%,
    rgba(255,214,138,.55) 62%,
    rgba(232,163,61,0) 92%, transparent);
  background-size:220% 100%;
  animation:luxSheen 7s linear infinite;
  opacity:.7;
}
@keyframes luxSheen{
  0%  { background-position:120% 0 }
  100%{ background-position:-120% 0 }
}

/* 品牌字：鎏金渐变 + 缓慢流光 */
.brand-text b{
  background:linear-gradient(100deg,
    var(--lux-gold-2) 0%, var(--lux-gold-4) 26%,
    var(--lux-gold-5) 42%, var(--lux-gold-4) 58%,
    var(--lux-gold-3) 78%, var(--lux-gold-2) 100%);
  background-size:260% 100%;
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
  animation:luxGoldFlow 9s ease-in-out infinite;
}
@keyframes luxGoldFlow{
  0%,100%{ background-position:0% 0 }
  50%    { background-position:100% 0 }
}
/* 头像光环呼吸 */
.brand-avatar{
  position:relative;
  box-shadow:0 0 0 1px rgba(255,214,138,.28), 0 0 22px -4px var(--lux-glow);
  animation:luxAvatarBreath 4.2s ease-in-out infinite;
}
@keyframes luxAvatarBreath{
  0%,100%{ box-shadow:0 0 0 1px rgba(255,214,138,.22), 0 0 18px -6px var(--lux-glow) }
  50%    { box-shadow:0 0 0 1px rgba(255,214,138,.45), 0 0 30px -2px var(--lux-glow) }
}

/* 顶栏按钮：悬浮鎏金溢光 */
.loginbtn, .groupbtn{
  position:relative; overflow:hidden;
  transition:transform .3s cubic-bezier(.22,.75,.28,1), box-shadow .3s ease, border-color .3s ease;
}
/* 描边高光层：默认不出，指针进入才亮起 */
.loginbtn::after, .groupbtn::after{
  content:'';
  position:absolute; inset:0;
  border-radius:inherit;
  background:radial-gradient(120px circle at var(--mx,50%) var(--my,50%),
    rgba(255,244,214,.22), transparent 62%);
  opacity:0; transition:opacity .35s ease;
  pointer-events:none;
  z-index:1;
}
.loginbtn:hover::after, .groupbtn:hover::after{ opacity:1 }
.loginbtn:hover, .groupbtn:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 22px -10px var(--lux-glow), 0 0 0 1px rgba(255,214,138,.3) inset;
}
/* 按钮内容压在光层之上 */
.loginbtn > *, .groupbtn > *{ position:relative; z-index:2 }

/* ============================================================
   3. Hero：标题鎏金描光 / 层级深度 / 光斑漂移
   ============================================================ */
.gn-hero{ position:relative }

/* 标题：细腻的发丝描光 */
.gn-title{
  text-shadow:0 0 42px rgba(232,163,61,.20), 0 2px 44px rgba(0,0,0,.7);
}
.gn-title .accent{
  background:linear-gradient(96deg,
    var(--lux-gold-2) 0%, var(--lux-gold-4) 34%,
    var(--lux-gold-5) 50%, var(--lux-gold-4) 66%,
    var(--lux-gold-3) 100%);
  background-size:220% 100%;
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
  animation:luxGoldFlow 7.5s ease-in-out infinite;
  filter:drop-shadow(0 0 22px rgba(232,163,61,.42));
}

/* eyebrow：左侧鎏金竖条 + 呼吸 */
.gn-eyebrow{ position:relative; padding-left:14px }
.gn-eyebrow::before{
  content:'';
  position:absolute; left:0; top:50%; width:2px; height:14px;
  transform:translateY(-50%);
  background:linear-gradient(180deg, var(--lux-gold-4), var(--lux-gold-2));
  border-radius:2px;
  box-shadow:0 0 12px rgba(232,163,61,.7);
  animation:luxBarPulse 2.8s ease-in-out infinite;
}
@keyframes luxBarPulse{
  0%,100%{ opacity:.7; height:12px }
  50%    { opacity:1;  height:17px }
}

/* 按钮：鎏金实心 + 流光扫过；描边款加悬浮光边 */
.gn-btn{
  position:relative; overflow:hidden;
  transition:transform .32s cubic-bezier(.22,.75,.28,1), box-shadow .32s ease, border-color .32s ease;
}
.gn-btn.primary{
  background:linear-gradient(120deg, var(--lux-gold-3), var(--lux-gold-4) 52%, var(--lux-gold-3)) !important;
  background-size:200% 100% !important;
  box-shadow:0 10px 30px -12px rgba(232,163,61,.75), 0 0 0 1px rgba(255,244,214,.22) inset;
  animation:luxBtnFlow 6s ease-in-out infinite;
}
@keyframes luxBtnFlow{
  0%,100%{ background-position:0% 0 }
  50%    { background-position:100% 0 }
}
/* 流光扫过条 */
.gn-btn.primary::before{
  content:'';
  position:absolute; top:0; bottom:0; width:42%;
  background:linear-gradient(100deg, transparent, rgba(255,255,255,.55), transparent);
  transform:translateX(-160%) skewX(-18deg);
  animation:luxSweep 4.6s cubic-bezier(.5,0,.2,1) infinite;
  pointer-events:none;
}
@keyframes luxSweep{
  0%  { transform:translateX(-160%) skewX(-18deg) }
  55% { transform:translateX(360%)  skewX(-18deg) }
  100%{ transform:translateX(360%)  skewX(-18deg) }
}
.gn-btn:hover{
  transform:translateY(-3px);
  box-shadow:0 16px 40px -14px rgba(232,163,61,.85), 0 0 0 1px rgba(255,244,214,.32) inset;
}
.gn-btn:not(.primary):hover{
  border-color:rgba(255,214,138,.55) !important;
  box-shadow:0 12px 32px -16px var(--lux-glow), 0 0 0 1px rgba(255,214,138,.22) inset;
}

/* 数据卡：数字鎏金 + 悬浮上浮 */
.gn-stat .num{
  background:linear-gradient(180deg, var(--lux-gold-5), var(--lux-gold-3));
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
  filter:drop-shadow(0 0 16px rgba(232,163,61,.35));
}
.gn-stat{
  transition:transform .35s cubic-bezier(.22,.75,.28,1);
}
.gn-stat:hover{ transform:translateY(-4px) }

/* 终端窗口：玻璃 + 边框鎏金渐显 */
.gn-term, .gn-terminal{
  background:linear-gradient(165deg, rgba(14,17,24,.92), rgba(8,10,15,.86)) !important;
  border:1px solid var(--lux-line) !important;
  box-shadow:
    0 24px 60px -28px rgba(0,0,0,.95),
    0 0 0 1px rgba(255,255,255,.035) inset,
    0 0 60px -30px var(--lux-glow);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  transition:box-shadow .5s ease, transform .5s cubic-bezier(.22,.75,.28,1);
}
.gn-term:hover, .gn-terminal:hover{
  transform:translateY(-4px);
  box-shadow:
    0 32px 74px -30px rgba(0,0,0,.95),
    0 0 0 1px rgba(255,214,138,.14) inset,
    0 0 80px -24px var(--lux-glow);
}

/* ============================================================
   4. 卡片：玻璃拟态 + 鎏金悬停 + 斜切高光
   ============================================================ */
.gn-card{
  position:relative; overflow:hidden;
  background:linear-gradient(160deg, rgba(255,255,255,.045), rgba(255,255,255,.012)) !important;
  border:1px solid var(--lux-line-soft) !important;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  transition:transform .4s cubic-bezier(.22,.75,.28,1),
             border-color .4s ease, box-shadow .4s ease, background .4s ease;
}
.gn-card::before{
  content:'';
  position:absolute; inset:0;
  background:radial-gradient(420px circle at var(--mx,50%) var(--my,0%),
    rgba(232,163,61,.13), transparent 62%);
  opacity:0; transition:opacity .45s ease;
  pointer-events:none;
}
.gn-card:hover::before{ opacity:1 }
.gn-card:hover{
  transform:translateY(-6px);
  border-color:var(--lux-line) !important;
  box-shadow:0 26px 54px -26px rgba(0,0,0,.9), 0 0 0 1px rgba(255,214,138,.14) inset;
}
.gn-card .ci{
  transition:transform .45s cubic-bezier(.22,.75,.28,1), filter .45s ease;
}
.gn-card:hover .ci{
  transform:translateY(-3px) scale(1.12);
  filter:drop-shadow(0 0 14px var(--lux-glow));
}
.gn-card .ca{
  transition:transform .4s cubic-bezier(.22,.75,.28,1), opacity .4s ease;
}
.gn-card:hover .ca{ transform:translateX(5px) }

/* 折叠按钮：鎏金描边 + 呼吸 */
.gn-fold-btn{
  border:1px solid var(--lux-line) !important;
  background:linear-gradient(120deg, rgba(232,163,61,.075), rgba(232,163,61,.02)) !important;
  transition:border-color .35s ease, box-shadow .35s ease, transform .35s ease;
}
.gn-fold-btn:hover{
  transform:translateY(-2px);
  border-color:rgba(255,214,138,.5) !important;
  box-shadow:0 14px 34px -18px var(--lux-glow);
}

/* ============================================================
   5. 通用区块：reveal 上浮（比原来更柔更长）
   ============================================================ */
.block, .bar-row, .tl-item{
  transition:transform .5s cubic-bezier(.22,.75,.28,1), opacity .5s ease;
}
.block.reveal, .bar-row.reveal{
  transition:opacity .75s cubic-bezier(.22,.75,.28,1),
             transform .75s cubic-bezier(.22,.75,.28,1);
}
.block.reveal.in, .bar-row.reveal.in{ transform:translateY(0) }

/* 进度条：鎏金渐变 + 流光 */
.bar-fill{
  background:linear-gradient(90deg, var(--lux-gold-2), var(--lux-gold-4) 60%, var(--lux-gold-5)) !important;
  background-size:200% 100% !important;
  box-shadow:0 0 18px -3px var(--lux-glow);
  animation:luxGoldFlow 5s ease-in-out infinite;
}

/* 标题栏左侧鎏金竖条 */
.block-title, .sec-title{
  position:relative;
}
.block-title::before, .sec-title::before{
  content:'';
  position:absolute; left:-14px; top:50%; width:3px; height:1.05em;
  transform:translateY(-50%);
  background:linear-gradient(180deg, var(--lux-gold-4), var(--lux-gold-2));
  border-radius:3px;
  box-shadow:0 0 14px rgba(232,163,61,.6);
}

/* ============================================================
   6. 滚动进度条：鎏金
   ============================================================ */
.scroll-progress{
  background:linear-gradient(90deg, var(--lux-gold-2), var(--lux-gold-4) 65%, var(--lux-gold-5)) !important;
  box-shadow:0 0 14px rgba(232,163,61,.65);
  height:2px !important;
}

/* ============================================================
   7. 抽屉菜单：玻璃 + 鎏金分割
   ============================================================ */
.drawer{
  background:linear-gradient(160deg, rgba(10,12,18,.97), rgba(6,8,12,.94)) !important;
  backdrop-filter:blur(22px) saturate(1.4);
  -webkit-backdrop-filter:blur(22px) saturate(1.4);
  border-right:1px solid var(--lux-line) !important;
  box-shadow:24px 0 70px -30px rgba(0,0,0,.95);
}
.drawer a, .drawer button{
  transition:background .3s ease, color .3s ease, padding-left .3s cubic-bezier(.22,.75,.28,1);
}
.drawer a:hover, .drawer button:hover{
  background:linear-gradient(90deg, rgba(232,163,61,.12), transparent) !important;
  padding-left:22px;
}

/* ============================================================
   8. 滚动条：鎏金细条
   ============================================================ */
::-webkit-scrollbar{ width:9px; height:9px }
::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg, var(--lux-gold-3), var(--lux-gold-2));
  border-radius:9px;
  border:2px solid transparent;
  background-clip:padding-box;
}
::-webkit-scrollbar-thumb:hover{
  background:linear-gradient(180deg, var(--lux-gold-4), var(--lux-gold-3));
  background-clip:padding-box;
}

/* ============================================================
   10. 进入动画：分段错峰（比原来更从容）
   ============================================================ */
@keyframes luxRiseIn{
  from{ opacity:0; transform:translateY(26px) scale(.985); filter:blur(6px) }
  to  { opacity:1; transform:translateY(0)    scale(1);    filter:blur(0) }
}
.gn-hero .gn-anim{
  animation:luxRiseIn .92s cubic-bezier(.16,.84,.24,1) both;
}
.gn-hero .gn-anim.d1{ animation-delay:.06s }
.gn-hero .gn-anim.d2{ animation-delay:.16s }
.gn-hero .gn-anim.d3{ animation-delay:.26s }
.gn-hero .gn-anim.d4{ animation-delay:.36s }
.gn-hero .gn-anim.d5{ animation-delay:.46s }

/* ============================================================
   11. 无障碍：尊重减少动效
   ============================================================ */
@media(prefers-reduced-motion:reduce){
  .topbar::after, .gn-btn.primary::before,
  .brand-text b, .gn-title .accent, .brand-avatar,
  .gn-eyebrow::before, .bar-fill{
    animation:none !important;
  }
  .gn-hero .gn-anim{ animation-duration:.01ms !important }
}

/* ============================================================
   12. 移动端收敛（性能优先）
   ============================================================ */
@media(max-width:640px){
  .gn-card:hover, .gn-term:hover{ transform:none }
}

/* ============================================================
   13. 顶栏按钮统一：玻璃拟态 + 鎏金描边（取代原实心金星）
   ============================================================ */
.topbar .loginbtn,
.topbar .groupbtn{
  background:linear-gradient(140deg, rgba(232,163,61,.14), rgba(232,163,61,.05)) !important;
  border:1px solid rgba(232,163,61,.34) !important;
  color:var(--lux-gold-4) !important;
  backdrop-filter:blur(10px) saturate(1.3);
  -webkit-backdrop-filter:blur(10px) saturate(1.3);
  box-shadow:0 4px 18px -10px rgba(0,0,0,.8), 0 0 0 1px rgba(255,244,214,.06) inset;
}
.topbar .loginbtn:hover,
.topbar .groupbtn:hover{
  background:linear-gradient(140deg, rgba(232,163,61,.24), rgba(232,163,61,.10)) !important;
  border-color:rgba(255,214,138,.62) !important;
  color:var(--lux-gold-5) !important;
  box-shadow:0 10px 28px -12px var(--lux-glow), 0 0 0 1px rgba(255,244,214,.16) inset;
}
/* 群按钮保持原蓝色点缀，但同样玻璃化 */
.topbar .groupbtn{
  border-color:rgba(120,170,255,.32) !important;
  color:#a9cbff !important;
  background:linear-gradient(140deg, rgba(74,124,255,.14), rgba(74,124,255,.05)) !important;
}
.topbar .groupbtn:hover{
  border-color:rgba(160,200,255,.62) !important;
  background:linear-gradient(140deg, rgba(74,124,255,.24), rgba(74,124,255,.10)) !important;
  color:#d8e8ff !important;
  box-shadow:0 10px 28px -12px rgba(74,124,255,.55), 0 0 0 1px rgba(200,225,255,.16) inset;
}
/* 覆盖原站的脉冲动画（那会让按钮像颗跳动的大星星） */
.topbar .groupbtn,
.topbar .loginbtn{
  animation:none !important;
}

/* ============================================================
   14. ★ 性能收敛：砍掉高代价合成源
   ------------------------------------------------------------
   实测：长任务 0 但帧间隔 85~138ms，逐帧变慢 → GPU 合成压力。
   主因：① orb 70px 模糊 + 无限漂移  ② 24 个 backdrop-filter
        ③ 39 个 will-change 合成层堆积
   ============================================================ */

/* ---- ① 背景光球：模糊降到 1/3，并锁定为低帧率漂移 ---- */
.orb, .orb.o1, .orb.o2{
  filter:blur(26px) !important;
  opacity:.5 !important;
  animation-duration:46s !important;
  will-change:auto !important;
  contain:strict;
}
@media(max-width:640px){
  .orb, .orb.o1, .orb.o2{ filter:blur(20px) !important; opacity:.42 !important }
}

/* ---- ② 玻璃层收敛：只保留顶栏与终端，其余移除 backdrop ---- */
.gn-card, .gn-fold-btn, .gn-wc, .gn-group,
.loginbtn, .groupbtn, .gn-btn{
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
/* 顶栏保留（毕竟是首屏视觉核心），但降低模糊半径 */
.topbar{
  backdrop-filter:blur(12px) saturate(1.25) !important;
  -webkit-backdrop-filter:blur(12px) saturate(1.25) !important;
}
/* 终端只保留一层轻模糊 */
.gn-term, .gn-terminal{
  backdrop-filter:blur(6px) !important;
  -webkit-backdrop-filter:blur(6px) !important;
}

/* ---- ③ will-change 只留给真正需要的元素 ---- */
* { will-change:auto; }
.topbar{ will-change:background }
#bootLoader{ will-change:opacity }
.gn-hero .gn-anim{ will-change:transform, opacity }
/* 动画结束后自动释放（避免长期占着合成层） */
.gn-card, .gn-stat, .gn-btn, .loginbtn, .groupbtn{ will-change:auto !important }

/* ---- ④ 收掉嵌套的装饰性动画（视觉几乎无感，但省大量合成） ---- */
.ti, .hotPulse, .gnPulse{ animation:none !important }

/* ============================================================
   ★★★ 背景重做：零 blur / 纯合成层方案 ★★★
   ------------------------------------------------------------
   旧背景卡顿主因：
     ① .orb 70px 模糊 ×2 + 无限漂移 → 每帧全屏重光栅化
     ② .star-nebula 大块模糊叠层
     ③ 与 starfield canvas 叠加，合成压力翻倍
   新方案：只用「径向渐变 + transform 位移」，全程 GPU 合成，
           不触发重绘、不占主线程；弱机也流畅。
   ============================================================ */

/* ---- 关闭所有旧的重量级背景层 ---- */
.bg-layer,
.bg-layer .orb,
.bg-layer .grid,
.star-nebula,
.aurora,
#starCanvas{
  display:none !important;
}

/* ---- 新的统一背景容器 ---- */
body::after{
  content:'';
  position:fixed; inset:-10%;
  z-index:-2;
  pointer-events:none;
  background:
    /* 顶部鎏金暖光（静态，无模糊） */
    radial-gradient(58% 42% at 76% 2%,  rgba(232,163,61,.13),  transparent 70%),
    /* 左中极光蓝 */
    radial-gradient(48% 38% at 8% 30%,   rgba(74,124,255,.085), transparent 72%),
    /* 右下紫紫 */
    radial-gradient(52% 44% at 88% 76%,  rgba(155,92,255,.075), transparent 74%),
    /* 底部青绿点缀 */
    radial-gradient(40% 30% at 34% 104%, rgba(46,230,200,.045), transparent 76%);
  /* 只用 transform 做缓慢漂移 —— 不触发重绘 */
  animation:bgDrift 44s ease-in-out infinite alternate;
  will-change:transform;
  transform:translate3d(0,0,0);
}

@keyframes bgDrift{
  0%  { transform:translate3d(0,0,0) scale(1) }
  50% { transform:translate3d(-1.2%,1%,0) scale(1.035) }
  100%{ transform:translate3d(1%,-1.2%,0) scale(1.015) }
}

/* ---- 星空：改为两层静态点阵 + 极慢闪烁（CSS 渐变点，不用 canvas） ---- */
html body{
  background-color:transparent !important;
}
/* 点阵层（用径向渐变做小星点，密而轻） */
body::before{
  content:'';
  position:fixed; inset:0;
  z-index:-1;
  pointer-events:none;
  background-image:
    radial-gradient(1.1px 1.1px at 12% 18%, rgba(255,255,255,.62), transparent),
    radial-gradient(1px 1px   at 34% 8%,  rgba(255,244,214,.55), transparent),
    radial-gradient(1.3px 1.3px at 58% 26%, rgba(255,255,255,.45), transparent),
    radial-gradient(1px 1px   at 76% 12%, rgba(200,220,255,.5),  transparent),
    radial-gradient(1.2px 1.2px at 88% 34%, rgba(255,255,255,.4), transparent),
    radial-gradient(1px 1px   at 22% 46%, rgba(255,244,214,.42), transparent),
    radial-gradient(1.4px 1.4px at 46% 62%, rgba(255,255,255,.38), transparent),
    radial-gradient(1px 1px   at 68% 54%, rgba(200,220,255,.44), transparent),
    radial-gradient(1.1px 1.1px at 84% 68%, rgba(255,255,255,.35), transparent),
    radial-gradient(1px 1px   at 8%  78%, rgba(255,244,214,.4),  transparent),
    radial-gradient(1.2px 1.2px at 30% 92%, rgba(255,255,255,.34), transparent),
    radial-gradient(1px 1px   at 62% 86%, rgba(200,220,255,.38), transparent);
  background-size:100% 100%;
  background-repeat:no-repeat;
  /* 极慢的呼吸，只动 opacity（不重绘） */
  animation:starBreath 9s ease-in-out infinite;
  opacity:.85;
}
@keyframes starBreath{
  0%,100%{ opacity:.66 }
  50%    { opacity:.95 }
}

/* ---- 顶部一层静态鎏金辉光（增加层次，无动画） ---- */
body{
  background-image:linear-gradient(180deg, rgba(232,163,61,.045), transparent 22%) !important;
  background-color:var(--lux-void-2) !important;
  background-repeat:no-repeat !important;
  background-attachment:scroll !important;
}

/* ---- 弱机降级：检测到就关掉漂移 ---- */
@media(max-width:640px){
  body::after{ animation-duration:70s }
}
@media(prefers-reduced-motion:reduce){
  body::after, body::before{ animation:none !important }
}

/* ---- 强制关闭所有遗留的大模糊（兜底） ---- */
[class*="nebula"], [class*="aurora-layer"], .orb{
  filter:none !important;
  animation:none !important;
  display:none !important;
}

/* ============================================================
   ★ 背景重做 · 追加清理（彻底关掉所有大模糊层）
   ============================================================ */
/* .orb：无论被谁加了 !important，这里用最高优先级关掉 */
html body .orb,
html body .orb.o1,
html body .orb.o2,
html body .bg-layer .orb{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  filter:none !important;
  animation:none !important;
}
/* .aurora 层 */
html body .aurora{
  display:none !important;
  filter:none !important;
  animation:none !important;
}
/* 兜底：任何还在用大半径 blur 的装饰层 */
html body [class*="nebula"],
html body [class*="aurora"],
html body .bg-layer{
  filter:none !important;
}

/* ---- 抽屉与遮罩的 backdrop 收敛（弹层出现时才需要，且不必那么重） ---- */
.drawer{
  backdrop-filter:blur(10px) saturate(1.15) !important;
  -webkit-backdrop-filter:blur(10px) saturate(1.15) !important;
}
.drawer-mask, .rm-mask, .gmodal-mask{
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

/* ---- 顶栏移动端降模糊 ---- */
@media(max-width:640px){
  .topbar{
    backdrop-filter:blur(6px) !important;
    -webkit-backdrop-filter:blur(6px) !important;
  }
  .gn-term, .gn-terminal{
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }
}

/* ============================================================
   ★★★ Edge / Chromium 兼容与性能修正 ★★★
   ------------------------------------------------------------
   问题：Edge 上「卡 + 闪」+ 视觉与 Chrome 不一致
   原因：
     ① filter:drop-shadow() 作用在动画元素上 → Edge 每帧重算，且闪烁
     ② color-mix() 旧版 Edge 不支持 → 颜色/发光丢失
     ③ 大字发光的 text-shadow 半径过大 → 大面积重绘
   做法：把发光一律换成语义等价、但走合成层的 box-shadow /
         text-shadow（静态），并给动画元素加 translateZ 提升。
   ============================================================ */

/* ---- ① 标题 accent：drop-shadow → text-shadow（静态，不随动画重算） ---- */
.gn-title .accent{
  filter:none !important;
  text-shadow:0 0 26px rgba(232,163,61,.42), 0 0 46px rgba(232,163,61,.18) !important;
}
/* 标题本体同样处理 */
.gn-title{
  filter:none !important;
  text-shadow:0 0 30px rgba(232,163,61,.16), 0 2px 30px rgba(0,0,0,.6) !important;
}

/* ---- ② 数字：drop-shadow → text-shadow ---- */
.gn-stat .num{
  filter:none !important;
  text-shadow:0 0 18px rgba(232,163,61,.38) !important;
}

/* ---- ③ 卡片图标悬停：drop-shadow → 取消（悬浮只用 transform） ---- */
.gn-card:hover .ci{
  filter:none !important;
}
.gn-card .ci{
  transition:transform .4s cubic-bezier(.22,.75,.28,1) !important;
}

/* ---- ④ 品牌头像：drop-shadow 类效果改用 box-shadow（已是），确保不闪 ---- */
.brand-avatar{
  transform:translateZ(0);
  backface-visibility:hidden;
}

/* ---- ⑤ 所有入场动画元素提前提升为合成层，减少 Edge 闪烁 ---- */
.gn-hero .gn-anim,
.gn-replay .gn-anim{
  transform:translateZ(0);
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}

/* ---- ⑥ 鎏金流光文字：Edge 下 background-clip:text 会闪，
         改为「不加动画的静态渐变 + 光晕」 ---- */
.gn-title .accent,
.brand-text b,
.bl-title{
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
/* 在 Edge 里给流光文字加一层保护：让 background-clip 不参与动画 */
@supports (-ms-ime-align:auto){
  .gn-title .accent, .brand-text b, .bl-title{
    animation:none !important;
    background-position:50% 0 !important;
  }
}

/* ---- ⑦ color-mix 兜底：不支持的浏览器用固定金色 ---- */
@supports not (color: color-mix(in srgb, red, blue)){
  .bar-fill{
    background:linear-gradient(90deg, #c9982f, #ffd68a 60%, #fff4d6) !important;
  }
}

/* ---- ⑧ Edge 特有：关闭 backdrop-filter 的动画参与 ---- */
.topbar{
  transform:translateZ(0);
  backface-visibility:hidden;
}

/* ---- ⑨ 降低发光强度（弱机友好，视觉几乎无差） ---- */
@media(max-width:640px){
  .gn-title .accent{ text-shadow:0 0 18px rgba(232,163,61,.34) !important }
  .gn-title{ text-shadow:0 0 18px rgba(232,163,61,.12) !important }
  .gn-stat .num{ text-shadow:none !important }
}

/* ============================================================
   ★ 全局提亮（所有引擎生效）
   ------------------------------------------------------------
   实测整体偏暗：底色太深 + 背景光弱 + 正文灰。
   这里统一提亮，但只用静态渐变，零性能代价。
   ============================================================ */

/* ---- ① 底色从 #0a0c12 提到 #0d1119 ---- */
body{
  background-color:#0d1119 !important;
  background-image:
    linear-gradient(180deg, rgba(232,163,61,.055), transparent 24%),
    radial-gradient(70% 44% at 78% 0%,  rgba(232,163,61,.135), transparent 72%),
    radial-gradient(56% 40% at 6% 26%,  rgba(74,124,255,.105), transparent 74%),
    radial-gradient(58% 44% at 92% 74%, rgba(155,92,255,.09),  transparent 76%),
    radial-gradient(46% 32% at 32% 102%, rgba(46,230,200,.06), transparent 78%) !important;
  background-repeat:no-repeat !important;
}

/* ---- ② 星点提亮 ---- */
body::before{
  opacity:1 !important;
}

/* ---- ③ 顶栏：从「几乎全黑」提亮到有层次 ---- */
.topbar{
  background:linear-gradient(180deg, rgba(18,22,31,.90), rgba(14,18,25,.62)) !important;
}
.topbar.is-scrolled{
  background:linear-gradient(180deg, rgba(16,20,28,.97), rgba(12,16,22,.88)) !important;
}

/* ---- ④ 终端窗口提亮 ---- */
.gn-term, .gn-terminal{
  background:linear-gradient(165deg, rgba(24,29,39,.94), rgba(16,21,30,.90)) !important;
  border-color:rgba(232,163,61,.28) !important;
}

/* ---- ⑤ 卡片提亮 ---- */
.gn-card{
  background:linear-gradient(160deg, rgba(255,255,255,.062), rgba(255,255,255,.020)) !important;
  border-color:rgba(255,255,255,.085) !important;
}

/* ---- ⑥ 金色加浓 ---- */
.gn-title .accent{
  background:linear-gradient(100deg, #f0b848 0%, #ffd68a 40%, #fff2d4 56%, #e8a33d 100%) !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  -webkit-text-fill-color:transparent !important;
}
.brand-text b{
  background:linear-gradient(100deg, #f0b848, #ffd68a 50%, #e8a33d) !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  -webkit-text-fill-color:transparent !important;
}

/* ---- ⑦ 正文提亮 ---- */
:root{
  --muted:#a2aab8;
}
body{
  color:#b0b8c6;
}

/* ---- ⑧ 抽屉提亮 ---- */
.drawer{
  background:linear-gradient(160deg, rgba(20,25,34,.97), rgba(13,17,24,.95)) !important;
}

/* ============================================================
   ★ 提亮收口（修正 html/body 背景链路）
   ------------------------------------------------------------
   之前遗留 `html body{background:transparent}` 把底色清空，
   实际露出的是 <html> 的极黑底 → 整站偏暗。
   这里统一由 <html> 承载底色，body 只放光晕渐变。
   ============================================================ */
html{
  background-color:#0d1119 !important;
  background-image:none !important;
}
html body{
  background-color:transparent !important;
  background-image:
    linear-gradient(180deg, rgba(232,163,61,.06), transparent 24%),
    radial-gradient(72% 46% at 78% 0%,  rgba(232,163,61,.145), transparent 72%),
    radial-gradient(58% 42% at 6% 26%,  rgba(74,124,255,.115), transparent 74%),
    radial-gradient(60% 46% at 92% 74%, rgba(155,92,255,.095), transparent 76%),
    radial-gradient(48% 34% at 32% 102%, rgba(46,230,200,.065), transparent 78%) !important;
  background-repeat:no-repeat !important;
  background-attachment:scroll !important;
}
/* 弱引擎同样处理（保证优先级一致） */
html.eng-weak{
  background-color:#10151e !important;
}
html.eng-weak body{
  background-image:
    linear-gradient(180deg, rgba(232,163,61,.08), transparent 26%),
    radial-gradient(74% 48% at 78% 0%,  rgba(232,163,61,.17), transparent 72%),
    radial-gradient(60% 44% at 6% 26%,  rgba(74,124,255,.14), transparent 74%),
    radial-gradient(62% 48% at 92% 74%, rgba(155,92,255,.12), transparent 76%),
    radial-gradient(50% 36% at 32% 102%, rgba(46,230,200,.085), transparent 78%) !important;
}

/* ============================================================
   ★ 全局亮度终调（所有引擎）
   ------------------------------------------------------------
   把整站明度整体抬高一档：底色、顶栏、终端、卡片、文字。
   ============================================================ */
html{
  background-color:#111725 !important;
}
html body{
  background-image:
    linear-gradient(180deg, rgba(232,163,61,.075), transparent 26%),
    radial-gradient(76% 48% at 78% 0%,  rgba(232,163,61,.17), transparent 71%),
    radial-gradient(60% 44% at 5% 25%,  rgba(74,124,255,.13), transparent 73%),
    radial-gradient(62% 48% at 93% 73%, rgba(155,92,255,.11), transparent 75%),
    radial-gradient(50% 36% at 31% 103%, rgba(46,230,200,.075), transparent 77%) !important;
}

/* 顶栏分层更明确 */
.topbar{
  background:linear-gradient(180deg, rgba(22,27,38,.92), rgba(17,22,31,.70)) !important;
}
.topbar.is-scrolled{
  background:linear-gradient(180deg, rgba(19,24,34,.98), rgba(15,20,29,.90)) !important;
}

/* 终端提亮 */
.gn-term, .gn-terminal{
  background:linear-gradient(165deg, rgba(30,37,50,.95), rgba(21,27,38,.92)) !important;
  border-color:rgba(232,163,61,.30) !important;
}

/* 卡片提亮 */
.gn-card{
  background:linear-gradient(160deg, rgba(255,255,255,.075), rgba(255,255,255,.028)) !important;
  border-color:rgba(255,255,255,.11) !important;
}

/* 正文提亮 */
body{ color:#bcc4d2 !important }
:root{ --muted:#a8b2c1 }

/* 抽屉提亮 */
.drawer{
  background:linear-gradient(160deg, rgba(24,30,41,.98), rgba(17,22,31,.96)) !important;
}

/* 顶栏按钮：常态就带金属质感（不再是半透明灰） */
.topbar .loginbtn{
  background:linear-gradient(140deg, rgba(232,163,61,.24), rgba(232,163,61,.10)) !important;
  border:1px solid rgba(255,214,138,.46) !important;
  color:#ffd68a !important;
}
.topbar .groupbtn{
  background:linear-gradient(140deg, rgba(74,124,255,.24), rgba(74,124,255,.10)) !important;
  border:1px solid rgba(140,185,255,.46) !important;
  color:#b8d4ff !important;
}

/* ============================================================
   ★ 关闭菜单按钮（抽屉顶部右上角）
   ------------------------------------------------------------
   与头像行齐平，贴在抽屉最上方右侧。
   ============================================================ */
.drawer-close{
  position:fixed;
  top:22px;                        /* 与抽屉头部对齐（上移） */
  right:14px;
  z-index:1002;
  display:flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  padding:0;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.07);
  color:#b6bfce;
  font-size:14px;
  line-height:1;
  font-family:inherit;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  opacity:0;
  visibility:hidden;
  transform:scale(.86);
  transition:opacity .26s ease, visibility .26s ease,
             transform .3s cubic-bezier(.22,.75,.28,1),
             background .24s ease, border-color .24s ease, color .24s ease;
}
html body.drawer-open .drawer-close{
  opacity:1;
  visibility:visible;
  transform:scale(1);
}
.drawer-close .dc-ic{
  display:block;
  line-height:1;
  transition:transform .32s cubic-bezier(.22,.75,.28,1);
}
.drawer-close:hover{
  background:rgba(232,163,61,.20);
  border-color:rgba(232,163,61,.55);
  color:#ffd68a;
}
.drawer-close:hover .dc-ic{ transform:rotate(90deg) }
.drawer-close:active{
  transform:scale(.93);
  background:rgba(232,163,61,.28);
}
html.eng-weak .drawer-close:hover .dc-ic{ transform:none }
html.eng-weak body.drawer-open .drawer-close{ transform:none }

/* 头部留白 */
.drawer-head{ padding-right:52px !important }

@media(max-width:400px){
  .drawer-close{ top:19px; width:31px; height:31px; font-size:13px }
  .drawer-head{ padding-right:48px !important }
}
