/* =========================================================================
   gx-tpl：球形按钮（叠在 mzh-cards 紫底之上，只升级形态不替换紫底）
   ========================================================================= */
.gx-tpl{
  border-radius:0!important;
  padding:0!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:translateZ(0) scale(1);
  position:relative;
  overflow:visible;
}

/* =========================================================================
 * prod-collapse：折叠小卡 → 球状星团容器
 * ========================================================================= */
.prod-collapse{
  border-radius:14px!important;
  border:1px solid rgba(176,38,207,.32)!important;
  background:
    radial-gradient(ellipse 50% 80% at 0% 0%, rgba(217,140,240,.18), transparent 70%),
    linear-gradient(135deg, rgba(138,23,168,.10) 0%, rgba(43,16,48,.40) 100%)!important;
  box-shadow:
    0 4px 14px rgba(0,0,0,.42),
    inset 0 1px 0 rgba(255,255,255,.08),
    0 0 18px rgba(176,38,207,.12)!important;
  transition:all .25s ease;
}
.prod-collapse:hover{
  border-color:rgba(251,191,36,.55)!important;
  box-shadow:
    0 8px 22px rgba(0,0,0,.50),
    0 0 28px rgba(251,191,36,.28),
    inset 0 1px 0 rgba(255,255,255,.12)!important;
  transform:translateY(-2px) scale(1.01);
}
.prod-collapse summary{
  border-radius:14px!important;
  padding:9px 12px!important;
}
/* prod-chip：圆球化微调（带轻微辉光） */
.prod-chip{
  border-radius:999px!important;
  background:
    radial-gradient(circle at 30% 30%, rgba(255,255,255,.10), transparent 70%),
    rgba(255,255,255,.03)!important;
  transition:all .2s ease;
  border-width:1px!important;
  box-shadow:0 0 0 1px rgba(176,38,207,.10) inset, 0 1px 0 rgba(255,255,255,.05) inset;
}
.prod-chip:hover{
  transform:translateY(-1px) scale(1.04);
  box-shadow:
    0 0 12px rgba(176,38,207,.30),
    0 0 0 1px rgba(176,38,207,.30) inset!important;
}

/* =========================================================================
 * galaxy-nebula：星云容器（透明星云 + 旋臂暗带 + 内部亮斑）
 *   套在 .tpl-group 上，让大框"星云看到"
 * ========================================================================= */
.tpl-group.galaxy-nebula{
  background:
    /* 整片星云核心光 */
    radial-gradient(ellipse 60% 80% at 50% 50%, rgba(176,38,207,.10), transparent 70%),
    /* 上层亮云带 */
    radial-gradient(ellipse 110% 30% at 50% 20%, rgba(217,140,240,.22), transparent 65%),
    /* 下层暗带（球底） */
    radial-gradient(ellipse 110% 35% at 50% 95%, rgba(0,0,0,.55), transparent 65%),
    /* 左上角光晕 */
    radial-gradient(ellipse 40% 30% at 8% 10%, rgba(252,211,77,.20), transparent 65%),
    /* 右下角光晕 */
    radial-gradient(ellipse 40% 30% at 92% 88%, rgba(138,23,168,.20), transparent 65%),
    /* 主底色 */
    linear-gradient(170deg, rgba(107,18,133,.65) 0%, rgba(43,16,48,.90) 50%, rgba(26,13,31,.95) 100%)!important;
}
/* 5 章节主色调额外覆盖（让每章星云有不同主色调） */
.tpl-group.galaxy-nebula.g-yi{
  background:
    radial-gradient(ellipse 60% 80% at 50% 50%, rgba(252,211,77,.15), transparent 70%),
    radial-gradient(ellipse 110% 30% at 50% 20%, rgba(252,211,77,.30), transparent 65%),
    radial-gradient(ellipse 110% 35% at 50% 95%, rgba(0,0,0,.55), transparent 65%),
    radial-gradient(ellipse 50% 40% at 5% 5%, rgba(252,211,77,.40), transparent 60%),
    radial-gradient(ellipse 45% 35% at 95% 95%, rgba(245,158,11,.30), transparent 60%),
    linear-gradient(170deg, rgba(120,53,15,.65) 0%, rgba(43,16,48,.92) 50%, rgba(26,13,31,.95) 100%)!important;
}
.tpl-group.galaxy-nebula.g-er{
  background:
    radial-gradient(ellipse 60% 80% at 50% 50%, rgba(138,23,168,.15), transparent 70%),
    radial-gradient(ellipse 110% 30% at 50% 20%, rgba(34,211,238,.30), transparent 65%),
    radial-gradient(ellipse 110% 35% at 50% 95%, rgba(0,0,0,.55), transparent 65%),
    radial-gradient(ellipse 50% 40% at 5% 5%, rgba(138,23,168,.40), transparent 60%),
    radial-gradient(ellipse 45% 35% at 95% 95%, rgba(34,211,238,.30), transparent 60%),
    linear-gradient(170deg, rgba(51,18,57,.70) 0%, rgba(43,16,48,.92) 50%, rgba(26,13,31,.95) 100%)!important;
}
.tpl-group.galaxy-nebula.g-san{
  background:
    radial-gradient(ellipse 60% 80% at 50% 50%, rgba(176,38,207,.15), transparent 70%),
    radial-gradient(ellipse 110% 30% at 50% 20%, rgba(217,70,239,.30), transparent 65%),
    radial-gradient(ellipse 110% 35% at 50% 95%, rgba(0,0,0,.55), transparent 65%),
    radial-gradient(ellipse 50% 40% at 5% 5%, rgba(217,70,239,.40), transparent 60%),
    radial-gradient(ellipse 45% 35% at 95% 95%, rgba(176,38,207,.30), transparent 60%),
    linear-gradient(170deg, rgba(107,18,133,.70) 0%, rgba(43,16,48,.92) 50%, rgba(26,13,31,.95) 100%)!important;
}
.tpl-group.galaxy-nebula.g-strat{
  background:
    radial-gradient(ellipse 60% 80% at 50% 50%, rgba(244,63,94,.15), transparent 70%),
    radial-gradient(ellipse 110% 30% at 50% 20%, rgba(251,191,36,.30), transparent 65%),
    radial-gradient(ellipse 110% 35% at 50% 95%, rgba(0,0,0,.55), transparent 65%),
    radial-gradient(ellipse 50% 40% at 5% 5%, rgba(251,191,36,.45), transparent 60%),
    radial-gradient(ellipse 45% 35% at 95% 95%, rgba(244,63,94,.35), transparent 60%),
    linear-gradient(170deg, rgba(127,29,29,.65) 0%, rgba(43,16,48,.92) 50%, rgba(26,13,31,.95) 100%)!important;
}
.tpl-group.galaxy-nebula.g-biz{
  background:
    radial-gradient(ellipse 60% 80% at 50% 50%, rgba(244,114,182,.15), transparent 70%),
    radial-gradient(ellipse 110% 30% at 50% 20%, rgba(176,38,207,.30), transparent 65%),
    radial-gradient(ellipse 110% 35% at 50% 95%, rgba(0,0,0,.55), transparent 65%),
    radial-gradient(ellipse 50% 40% at 5% 5%, rgba(244,114,182,.40), transparent 60%),
    radial-gradient(ellipse 45% 35% at 95% 95%, rgba(176,38,207,.35), transparent 60%),
    linear-gradient(170deg, rgba(131,24,67,.65) 0%, rgba(43,16,48,.92) 50%, rgba(26,13,31,.95) 100%)!important;
}

/* tpl-group 章节整体：4 角多层星云大底（叠在 3D 球壳主体之下，让"星云"真的看到） */
.tpl-group[data-planet$="-cluster"]::before{
  content:"";position:absolute;left:-8%;top:-8%;width:116%;height:116%;
  background:
    /* 4 角不同色星云 */
    radial-gradient(ellipse 36% 26% at 6% 10%,  rgba(252,211,77,.46), transparent 60%),
    radial-gradient(ellipse 32% 28% at 94% 8%,  rgba(34,211,238,.40), transparent 60%),
    radial-gradient(ellipse 36% 28% at 90% 92%, rgba(217,70,239,.40), transparent 60%),
    radial-gradient(ellipse 32% 26% at 8% 92%,  rgba(244,63,94,.34), transparent 60%),
    /* 中心微光晕 */
    radial-gradient(ellipse 50% 38% at 50% 50%, rgba(176,38,207,.16), transparent 65%),
    /* 极地暗带 */
    radial-gradient(ellipse 100% 30% at 50% 100%, rgba(0,0,0,.45), transparent 70%);
  pointer-events:none;z-index:0;border-radius:inherit;
  animation:gxNebulaDrift 18s ease-in-out infinite;
}
@keyframes gxNebulaDrift{
  0%,100%{ filter:hue-rotate(0deg) brightness(1); transform:rotate(0deg); }
  50%    { filter:hue-rotate(12deg) brightness(1.20); transform:rotate(2.5deg); }
}
/* 5 章节主色调额外覆盖 */
.g-yi    .tpl-group[data-planet$="-cluster"]::before{
  background:
    radial-gradient(ellipse 38% 28% at 6% 10%,  rgba(252,211,77,.55), transparent 60%),
    radial-gradient(ellipse 32% 28% at 94% 92%, rgba(245,158,11,.45), transparent 60%),
    radial-gradient(ellipse 55% 38% at 50% 50%, rgba(252,211,77,.18), transparent 65%),
    radial-gradient(ellipse 100% 30% at 50% 100%, rgba(0,0,0,.45), transparent 70%)!important;
}
.g-er    .tpl-group[data-planet$="-cluster"]::before{
  background:
    radial-gradient(ellipse 38% 28% at 94% 8%, rgba(34,211,238,.55), transparent 60%),
    radial-gradient(ellipse 32% 28% at 8% 92%,  rgba(138,23,168,.48), transparent 60%),
    radial-gradient(ellipse 55% 38% at 50% 50%, rgba(138,23,168,.18), transparent 65%),
    radial-gradient(ellipse 100% 30% at 50% 100%, rgba(0,0,0,.45), transparent 70%)!important;
}
.g-san   .tpl-group[data-planet$="-cluster"]::before{
  background:
    radial-gradient(ellipse 38% 28% at 6% 10%,  rgba(217,70,239,.55), transparent 60%),
    radial-gradient(ellipse 32% 28% at 94% 92%,rgba(138,23,168,.45), transparent 60%),
    radial-gradient(ellipse 55% 38% at 50% 50%, rgba(176,38,207,.20), transparent 65%),
    radial-gradient(ellipse 100% 30% at 50% 100%, rgba(0,0,0,.45), transparent 70%)!important;
}
.g-strat .tpl-group[data-planet$="-cluster"]::before{
  background:
    radial-gradient(ellipse 38% 28% at 6% 10%,  rgba(251,191,36,.60), transparent 60%),
    radial-gradient(ellipse 32% 28% at 94% 8%, rgba(244,63,94,.50), transparent 60%),
    radial-gradient(ellipse 55% 38% at 50% 50%, rgba(244,63,94,.18), transparent 65%),
    radial-gradient(ellipse 100% 30% at 50% 100%, rgba(0,0,0,.45), transparent 70%)!important;
}
.g-biz   .tpl-group[data-planet$="-cluster"]::before{
  background:
    radial-gradient(ellipse 38% 28% at 6% 10%,  rgba(244,114,182,.55), transparent 60%),
    radial-gradient(ellipse 32% 28% at 94% 8%, rgba(176,38,207,.45), transparent 60%),
    radial-gradient(ellipse 55% 38% at 50% 50%, rgba(244,114,182,.18), transparent 65%),
    radial-gradient(ellipse 100% 30% at 50% 100%, rgba(0,0,0,.45), transparent 70%)!important;
}

/* 章节标题旁的小主星球（tgh-ico）：真 3D 球壳 + 外环 */
.tgh-ico{
  width:48px!important;height:48px!important;
  border-radius:50%!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  font-size:24px!important;
  background:
    radial-gradient(circle at 30% 28%, rgba(255,255,255,.85) 0%, rgba(255,255,255,.18) 12%, transparent 30%),
    radial-gradient(circle at 38% 38%, #D98CF0 0%, #B026CF 50%, #6B1285 100%)!important;
  box-shadow:
    0 0 0 1.5px rgba(176,38,207,.5),
    0 0 22px rgba(176,38,207,.65),
    0 0 44px rgba(176,38,207,.35),
    0 12px 22px rgba(0,0,0,.55),
    inset 4px 6px 12px rgba(255,255,255,.28),
    inset -5px -7px 18px rgba(0,0,0,.45)!important;
  animation:gxTplGroupHead 8s ease-in-out infinite;
  position:relative;
}
@keyframes gxTplGroupHead{
  0%,100%{ transform:translateY(0) rotate(0); }
  50%    { transform:translateY(-3px) rotate(8deg); }
}
.g-yi    .tgh-ico{ background:radial-gradient(circle at 30% 28%, rgba(255,255,255,.85) 0%, rgba(255,255,255,.18) 12%, transparent 30%),radial-gradient(circle at 38% 38%, #FCD34D 0%, #F59E0B 50%, #78350F 100%)!important; box-shadow:0 0 0 1.5px rgba(252,211,77,.6),0 0 22px rgba(252,211,77,.65),0 0 44px rgba(245,158,11,.35),0 12px 22px rgba(0,0,0,.55),inset 4px 6px 12px rgba(255,255,255,.28),inset -5px -7px 18px rgba(0,0,0,.45)!important; }
.g-er    .tgh-ico{ background:radial-gradient(circle at 30% 28%, rgba(255,255,255,.85) 0%, rgba(255,255,255,.18) 12%, transparent 30%),radial-gradient(circle at 38% 38%, #22D3EE 0%, #C13FE0 50%, #452053 100%)!important; box-shadow:0 0 0 1.5px rgba(34,211,238,.6),0 0 22px rgba(34,211,238,.65),0 0 44px rgba(138,23,168,.35),0 12px 22px rgba(0,0,0,.55),inset 4px 6px 12px rgba(255,255,255,.28),inset -5px -7px 18px rgba(0,0,0,.45)!important; }
.g-san   .tgh-ico{ background:radial-gradient(circle at 30% 28%, rgba(255,255,255,.85) 0%, rgba(255,255,255,.18) 12%, transparent 30%),radial-gradient(circle at 38% 38%, #F0ABFC 0%, #C026D3 50%, #6B1285 100%)!important; box-shadow:0 0 0 1.5px rgba(217,70,239,.6),0 0 22px rgba(217,70,239,.65),0 0 44px rgba(138,23,168,.35),0 12px 22px rgba(0,0,0,.55),inset 4px 6px 12px rgba(255,255,255,.28),inset -5px -7px 18px rgba(0,0,0,.45)!important; }
.g-strat .tgh-ico{ background:radial-gradient(circle at 30% 28%, rgba(255,255,255,.85) 0%, rgba(255,255,255,.18) 12%, transparent 30%),radial-gradient(circle at 38% 38%, #FBBF24 0%, #F43F5E 50%, #7F1D1D 100%)!important; box-shadow:0 0 0 1.5px rgba(244,63,94,.6),0 0 22px rgba(251,191,36,.65),0 0 44px rgba(244,63,94,.35),0 12px 22px rgba(0,0,0,.55),inset 4px 6px 12px rgba(255,255,255,.28),inset -5px -7px 18px rgba(0,0,0,.45)!important; }
.g-biz   .tgh-ico{ background:radial-gradient(circle at 30% 28%, rgba(255,255,255,.85) 0%, rgba(255,255,255,.18) 12%, transparent 30%),radial-gradient(circle at 38% 38%, #F472B6 0%, #DB2777 50%, #831843 100%)!important; box-shadow:0 0 0 1.5px rgba(244,114,182,.6),0 0 22px rgba(244,114,182,.65),0 0 44px rgba(176,38,207,.35),0 12px 22px rgba(0,0,0,.55),inset 4px 6px 12px rgba(255,255,255,.28),inset -5px -7px 18px rgba(0,0,0,.45)!important; }

/* =========================================================================
   mode-badge：紫蓝+金色 → 圆形小徽章
   ========================================================================= */
.mode-badge{
  border-radius:999px!important;
  padding:8px 16px!important;
  background:
    radial-gradient(circle at 30% 30%, rgba(251,191,36,.20), transparent 55%),
    linear-gradient(135deg, rgba(138,23,168,.45), rgba(138,23,168,.45))!important;
  border:1px solid rgba(217,140,240,.55)!important;
  box-shadow:
    0 4px 16px rgba(0,0,0,.45),
    0 0 18px rgba(176,38,207,.30),
    inset 0 1px 0 rgba(255,255,255,.18)!important;
  color:#FFF!important;
  font-weight:700!important;
  letter-spacing:.5px;
}

/* =========================================================================
   topbar logo：圆形球壳 + 金辉光晕
   ========================================================================= */
.brand .logo,.brand .logo-img{
  border-radius:50%!important;
  box-shadow:
    0 0 28px rgba(251,191,36,.50),
    0 0 60px rgba(176,38,207,.40),
    inset -3px -5px 12px rgba(180,83,9,.30)!important;
  border:2px solid rgba(251,191,36,.40)!important;
}

/* =========================================================================
   scene 章节：扁平黑压压 → 球壳
   ========================================================================= */
.scene{
  background:
    radial-gradient(ellipse 80% 60% at 50% 0%, rgba(138,23,168,.20), transparent 60%),
    radial-gradient(ellipse 70% 45% at 50% 100%, rgba(217,140,240,.18), transparent 60%),
    linear-gradient(180deg, rgba(59,22,66,.35), rgba(43,16,48,.45))!important;
  border:1px solid rgba(217,140,240,.30)!important;
  border-radius:22px!important;
  box-shadow:
    0 18px 50px rgba(0,0,0,.50),
    inset 0 0 60px rgba(176,38,207,.12),
    inset 0 1px 0 rgba(255,255,255,.10)!important;
}
.scene::before{
  content:"";position:absolute;left:0;right:0;top:0;height:3px;
  background:linear-gradient(90deg, transparent, #22D3EE, #C13FE0, #22D3EE, transparent);
  background-size:200% 100%;
  animation:gxSceneBeam 5s linear infinite;
  border-radius:22px 22px 0 0;
  opacity:.9;
}
@keyframes gxSceneBeam{0%{background-position:0% 0}100%{background-position:200% 0}}

/* =========================================================================
   composer：指挥球壳
   ========================================================================= */
.composer{
  background:
    radial-gradient(ellipse 90% 50% at 50% 0%, rgba(251,191,36,.20), transparent 60%),
    radial-gradient(ellipse 80% 60% at 50% 100%, rgba(138,23,168,.20), transparent 60%),
    linear-gradient(180deg, rgba(59,22,66,.32), rgba(43,16,48,.45))!important;
  border:1px solid rgba(217,140,240,.32)!important;
  border-radius:22px!important;
  box-shadow:
    0 20px 56px rgba(0,0,0,.50),
    inset 0 0 60px rgba(176,38,207,.12),
    inset 0 1px 0 rgba(255,255,255,.10)!important;
}
.composer textarea{
  background:rgba(26,13,31,.55)!important;
  border:1px solid rgba(217,140,240,.30)!important;
  border-radius:14px!important;
  color:#FAEFFE!important;
}

/* =========================================================================
   agri / realtime / intel / synthesis：标题升级 + 主星球小标
   ========================================================================= */
.agri.galaxy-nebula,
.realtime.galaxy-cluster,
.intel.galaxy-nebula,
.synthesis.galaxy-globe{
  border:0!important;
}
.agri .agri-head,
.realtime .agri-head,
.intel .agri-head,
.synthesis .synthesis-head{
  font-size:18px!important;
  font-weight:800!important;
  letter-spacing:1.2px;
  color:#FFF!important;
  text-shadow:
    0 0 12px rgba(217,140,240,.55),
    0 0 28px rgba(176,38,207,.40);
  padding-bottom:14px!important;
  margin-bottom:14px!important;
  border-bottom:1px solid rgba(217,140,240,.30)!important;
  display:flex;align-items:center;gap:14px;
}
.agri .agri-head .logo-sm,
.intel .agri-head .logo-sm,
.realtime .agri-head .logo-sm{
  width:36px;height:36px;border-radius:50%;
  background:radial-gradient(circle at 30% 30%, #F7EAFB, #C13FE0 22%, #8A17A8 80%);
  box-shadow:0 0 18px rgba(193,63,224,.5), inset -3px -5px 12px rgba(90,10,110,.5);
  display:inline-flex;align-items:center;justify-content:center;
  font-size:18px;color:#F7EAFB;
}
.agri .agri-head .logo-sm .ti-ico,
.intel .agri-head .logo-sm .ti-ico,
.realtime .agri-head .logo-sm .ti-ico{ color:#F7EAFB; }
.scene-head{
  font-size:15px!important;
  font-weight:800!important;
  letter-spacing:.5px;
  color:#FFF!important;
  text-shadow:0 0 12px rgba(217,140,240,.50);
}
#sceneEmoji,#sceneTitle{
  display:inline-flex;align-items:center;gap:8px;
}

/* =========================================================================
   statusbar / icp-footer 球带
   ========================================================================= */
.statusbar,.icp-footer{
  letter-spacing:.5px;
  font-size:11.5px!important;
}
.statusbar b,.icp-footer .icp-item{
  color:#FBBF24;
  text-shadow:0 0 8px rgba(251,191,36,.40);
}
.icp-footer .icp-item{
  background:rgba(251,191,36,.10);
  padding:3px 10px;
  border-radius:999px;
  border:1px solid rgba(251,191,36,.30);
}
.icp-footer a.icp-item{
  background:rgba(138,23,168,.10);
  border-color:rgba(138,23,168,.30);
  color:#D98CF0;
  text-decoration:none;
}
.icp-footer a.icp-item:hover{ background:rgba(138,23,168,.20); }

/* =========================================================================
   hud 状态条
   ========================================================================= */
.hud{
  border-radius:14px!important;
  padding:10px 16px!important;
}

/* 主板块强覆盖（接管 inline style 的绿底） */
section.agri.galaxy-nebula,
section.realtime.galaxy-cluster,
section.intel.galaxy-nebula,
div.synthesis.galaxy-globe{
  background:
    radial-gradient(ellipse 80% 60% at 18% 18%, rgba(251,191,36,.22), transparent 55%),
    radial-gradient(ellipse 70% 55% at 88% 12%, rgba(138,23,168,.20), transparent 55%),
    radial-gradient(ellipse 60% 50% at 82% 88%, rgba(217,140,240,.22), transparent 55%),
    radial-gradient(ellipse 75% 45% at 12% 92%, rgba(138,23,168,.18), transparent 55%),
    radial-gradient(ellipse 100% 75% at 50% 50%, rgba(176,38,207,.10), transparent 60%),
    linear-gradient(180deg, rgba(43,16,48,.18), rgba(26,13,31,.30))!important;
  color:#FAEFFE;
}
.synthesis.galaxy-globe{
  background:
    radial-gradient(ellipse 90% 50% at 50% 0%, rgba(138,23,168,.20), transparent 60%),
    radial-gradient(ellipse 80% 50% at 50% 100%, rgba(251,191,36,.18), transparent 60%),
    linear-gradient(180deg, rgba(59,22,66,.32), rgba(43,16,48,.45))!important;
}
/* agri-head 主色文本（去掉绿色） */
.agri-head,.agri .agri-head{
  color:#FAEFFE!important;
}
.realtime,.realtime .agri-head,.realtime .agri-head div{
  color:#FAEFFE!important;
}
.intel,.intel .agri-head,.intel-date{
  color:#FAEFFE!important;
}
.synthesis-body{
  background:rgba(26,13,31,.55)!important;
  color:#FAEFFE!important;
  border-color:rgba(217,140,240,.30)!important;
}
.synthesis-body .syn-h2{ color:#FBBF24!important; border-left-color:#FBBF24!important; }
.synthesis-body .syn-h3{ color:#D98CF0!important; }
.synthesis-body .syn-line,.synthesis-body .syn-tbl td{ color:#F7EAFB!important; }
.synthesis-body .syn-tbl tr:first-child td{ background:rgba(138,23,168,.18)!important; color:#FFF!important; }
.roi-line{ background:rgba(138,23,168,.14)!important; color:#FAEFFE!important; border-color:rgba(217,140,240,.30)!important; }

/* ============================================================
 * v12「真·星系」：中心大星 + 卫星轨道（galaxy-system.js 配套）
 * 设计：中心大星（CSS 球壳）+ 绕行卫星（前后遮挡）。
 * 外圈能力卫星 = 现有 .tpl 按钮（WebGL 球自动跟随 DOM 位置）。
 * 内圈品类卫星 = 从 .tpl-products 提取的品类名（纯 CSS 小星 + 标签）。
 * ============================================================ */
.tpl-group .templates.gx-arena{
  position:relative!important;
  display:block!important;
  min-height:380px!important;
  margin-bottom:14px!important;
  padding:18px 4px 8px!important;
}
/* 外圈能力卫星（原 .tpl 按钮，绝对定位到轨道点，WebGL 球自动跟随） */
.tpl-group .gx-arena .tpl.gx-sat-tool{
  position:absolute!important;
  left:0; top:0; margin:0!important;
  will-change:transform,opacity;
}
/* 中心大星（CSS 球壳 + 章节配色 + 外发光 + 赤道光环） */
.gx-core{
  position:absolute; left:50%; top:50%;
  width:140px; height:140px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:
    radial-gradient(circle at 32% 28%, rgba(255,255,255,.92) 0%, rgba(255,255,255,.22) 11%, transparent 30%),
    radial-gradient(circle at 38% 42%, var(--c1) 0%, var(--c2) 52%, var(--c3) 100%);
  box-shadow:
    0 0 0 2px var(--ring),
    0 0 46px var(--glow),
    0 0 92px var(--glow),
    inset 6px 8px 18px rgba(255,255,255,.28),
    inset -8px -11px 26px rgba(0,0,0,.55);
  z-index:4; pointer-events:none;
  animation:gxCoreBreath 6s ease-in-out infinite;
}
@keyframes gxCoreBreath{ 0%,100%{ filter:brightness(1) } 50%{ filter:brightness(1.18) } }
/* 赤道光环（土星环式，3D 倾斜旋转） */
.gx-core::after{
  content:""; position:absolute; left:50%; top:50%;
  width:210px; height:210px;
  border-radius:50%;
  border:2px solid var(--ring);
  box-shadow:0 0 16px var(--glow), inset 0 0 22px var(--glow);
  opacity:.5;
  transform:translate(-50%,-50%) rotateX(74deg) rotateZ(0deg);
  animation:gxRingSpin 26s linear infinite;
}
@keyframes gxRingSpin{
  0%{ transform:translate(-50%,-50%) rotateX(74deg) rotateZ(0deg); }
  100%{ transform:translate(-50%,-50%) rotateX(74deg) rotateZ(360deg); }
}
/* 轨道环（淡环，视觉暗示，不强制与卫星轨迹重合） */
.gx-orbit{
  position:absolute; left:50%; top:50%;
  border:1px solid rgba(255,255,255,.08);
  border-radius:50%; pointer-events:none;
}
.gx-orbit-inner{ width:64%; height:40%; transform:translate(-50%,-50%); }
.gx-orbit-outer{ width:96%; height:60%; transform:translate(-50%,-50%); }
/* 内圈品类卫星（纯 CSS 小星 + 标签，沿内圈轨道绕行） */
.gx-sat-product{
  position:absolute; left:0; top:0;
  display:flex; flex-direction:column; align-items:center; gap:2px;
  pointer-events:auto; will-change:transform,opacity;
}
.gx-sat-product .gx-sat-emoji{ display:none; }
.gx-sat-product .gx-sat-label{
  font-size:11px!important; font-weight:600; color:#fff!important; white-space:nowrap;
  background:rgba(13,4,15,.55); padding:2px 9px; border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  text-shadow:0 0 8px rgba(176,38,207,.7);
  box-shadow:0 0 12px rgba(176,38,207,.25);
}
/* 品类折叠明细弱化（品类已卫星化，原块缩小半透明不抢戏） */
.tpl-group .tpl-products.gx-products-min{
  opacity:.30!important;
  transform:scale(.9); transform-origin:top left;
  max-height:96px; overflow:auto;
  filter:saturate(.7);
  position:relative; z-index:1;
}
/* 移动端：星域高度收一点，避免过长 */
@media (max-width:768px){
  .tpl-group .templates.gx-arena{ min-height:320px!important; }
  .gx-core{ width:110px; height:110px; }
  .gx-core::after{ width:165px; height:165px; }
}

/* ===================== 移动端/触屏性能降级（2026-09-07 性能专项） =====================
   只砍"每帧重栅格化"的 filter/background-position 帧动画，星云/球壳/配色全保留 */
@media (pointer: coarse), (max-width: 820px){
  /* 章节 4 角星云大底：gxNebulaDrift 含 filter:hue-rotate 帧动画
     （每帧对 116% 卡片区做色相旋转重栅格化，移动端第一大杀手）→ 静态星云 */
  .tpl-group[data-planet$="-cluster"]::before{ animation:none; }
  /* 章节标题小主星球浮动（保留，transform 便宜），但其 6 层阴影 hover 无意义，不动 */
  /* scene 顶部流光 background-position 帧动画 → 静态 */
  .scene::before{ animation:none; }
  /* composer 边框流光（index.html 内 beamx background-position 帧动画）→ 静态 */
  .composer{ animation:none; }
  /* tpl-group 顶部 mzhBeam 流光（index.html 内 background-position 帧动画）→ 静态 */
  .tpl-group::after{ animation:none; }
  /* v12 中心大星呼吸 filter:brightness 帧动画 → 静态 */
  .gx-core{ animation:none; }
  /* 外圈能力卫星/品类卫星的常驻 will-change → 释放合成层内存 */
  .tpl-group .gx-arena .tpl.gx-sat-tool,
  .gx-sat-product{ will-change:auto; }
}
