/* ===== 首页：绕地球 3D 环绕的 AI 图标 ===== */
.opc-orb .orbit{position:absolute;inset:0;z-index:3;pointer-events:none}
.opc-orb .orb{position:absolute;left:0;top:0;display:flex;flex-direction:column;align-items:center;
  will-change:transform,opacity;backface-visibility:hidden}
.opc-orb .orb-ic{width:44px;height:44px;border-radius:13px;display:flex;align-items:center;justify-content:center;
  background:#ffffff;
  box-shadow:0 6px 16px -8px rgba(29,79,143,.34),inset 0 0 0 1px rgba(29,79,143,.12)}
.opc-orb .orb-ic svg{width:24px;height:24px;display:block}
.opc-orb .orb-nm{display:block;margin-top:5px;font-size:11px;line-height:1.15;color:#b6d4ee;
  letter-spacing:.2px;white-space:nowrap;text-shadow:0 1px 5px rgba(0,0,0,.9)}
.opc-orb #globe{position:absolute;left:110px;top:110px;width:420px;height:420px;z-index:2;
  border-radius:50%;filter:drop-shadow(0 0 30px rgba(56,150,255,.4))}
.opc-orb .hv-sweep{position:absolute;left:936px;top:34px;width:640px;height:640px;border-radius:50%;
  z-index:2;pointer-events:none;opacity:.5;animation:hvSpin 9s linear infinite;
  background:conic-gradient(from 0deg,rgba(56,225,255,.34),rgba(56,225,255,.06) 22%,transparent 34%);
  -webkit-mask-image:radial-gradient(circle,transparent 0 86%,#000 89% 98%,transparent 100%);
  mask-image:radial-gradient(circle,transparent 0 86%,#000 89% 98%,transparent 100%)}
@keyframes hvSpin{to{transform:rotate(360deg)}}
.opc-orb .hv-rip{position:absolute;left:936px;top:34px;width:640px;height:640px;border-radius:50%;
  z-index:1;pointer-events:none;border:1px solid rgba(56,225,255,.4);opacity:0;
  animation:hvRip 6s ease-out infinite}
.opc-orb .hv-rip.b{animation-delay:3s;border-color:rgba(120,180,255,.32)}
@keyframes hvRip{0%{transform:scale(.6);opacity:0}14%{opacity:.6}100%{transform:scale(1.02);opacity:0}}
.opc-orb .hv-tag{position:absolute;z-index:4;display:flex;align-items:center;gap:7px;
  padding:5px 10px;border-radius:5px;border:1px solid rgba(56,225,255,.2);
  background:rgba(6,16,30,.8);font-size:9.5px;letter-spacing:1.4px;color:#8fb8dc}
.opc-orb .hv-tag i{width:4px;height:4px;border-radius:50%;background:var(--gr);
  box-shadow:0 0 8px var(--gr);animation:bk 2.2s infinite}
.opc-orb .hv-tag b{color:#e8f3ff;font-weight:700;letter-spacing:.5px}
.opc-orb .hv-r1,.opc-orb .hv-r2{transform-origin:320px 320px}
.opc-orb .hv-r1{animation:hvSpin 7s linear infinite}
.opc-orb .hv-r2{animation:hvSpin 12s linear infinite reverse}
.opc-orb .hv-shield{animation:hvGlow 3.8s ease-in-out infinite}
@keyframes hvGlow{0%,100%{filter:drop-shadow(0 0 5px rgba(56,225,255,.22))}
  50%{filter:drop-shadow(0 0 16px rgba(56,225,255,.62))}}

.opc-art{position:absolute;right:24px;top:34px;width:640px;height:640px;z-index:2}
.opc-art svg{width:100%;height:100%}
.sp{transform-origin:320px 320px;animation:rot 34s linear infinite}
.sp2{transform-origin:320px 320px;animation:rot 52s linear infinite reverse}
@keyframes rot{to{transform:rotate(360deg)}}
.pp{animation:pp 3.6s ease-in-out infinite}
@keyframes pp{0%,100%{opacity:.35}50%{opacity:.95}}



/* ===== 移植适配层：把原版 640×640 舞台缩放进双端布局 ===== */
.opc-orb{--gr:#41e08a;--orb-s:.84;position:absolute;left:50%;top:50%;width:640px;height:640px;
  transform:translate(-50%,-50%) scale(var(--orb-s));transform-origin:center center;pointer-events:none}
.opc-orb .opc-art{position:absolute;left:0;top:0;right:auto;width:640px;height:640px}
.opc-orb .hv-sweep,.opc-orb .hv-rip{left:0;top:0;width:640px;height:640px}
.opc-orb .hv-tag{font-size:9.5px}
@keyframes bk{0%,100%{opacity:1}50%{opacity:.35}}

/* 球心文字：第一行固定居中；第二行上移 11px 收紧间距 */
.opc-core{position:absolute;left:320px;top:320px;width:150px;height:150px;transform:translate(-50%,-50%);
  border-radius:50%;z-index:5;display:grid;place-items:center;
  background:radial-gradient(circle at 42% 38%,rgba(53,230,255,.16),rgba(10,22,44,.35) 62%,rgba(5,9,18,.05));
  border:1px solid rgba(53,230,255,.34);
  box-shadow:0 0 60px rgba(53,230,255,.18),inset 0 0 40px rgba(53,230,255,.08);
  animation:coreBeat 3.6s ease-in-out infinite}
.opc-core b{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  font:800 26px/1 var(--sans,"Microsoft YaHei");letter-spacing:1px;white-space:nowrap;color:#eaf7ff;
  text-shadow:0 0 18px rgba(53,230,255,.75)}
.opc-core span{position:absolute;left:50%;top:calc(50% + 24px);transform:translateX(-50%);
  font:700 14px/1 var(--mono,monospace);color:#a8f4ff;letter-spacing:6px;white-space:nowrap;
  text-shadow:0 0 14px rgba(53,230,255,.95),0 0 26px rgba(53,230,255,.55);
  animation:aiBlink 3.2s ease-in-out infinite}
@keyframes aiBlink{0%,100%{opacity:1}50%{opacity:.62}}
.opc-core .core-ping{position:absolute;inset:-1px;border-radius:50%;border:1px solid rgba(53,230,255,.5);
  animation:corePing 3.2s ease-out infinite}
@keyframes coreBeat{0%,100%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.045)}}
@keyframes corePing{0%{transform:scale(.85);opacity:.8}100%{transform:scale(1.35);opacity:0}}

/* 广平小天鹅徽章：站点图标在首页主视觉中的落位 */
.swan-emblem{position:absolute;left:498px;top:30px;width:86px;height:86px;z-index:6;
  animation:swanFloat 5s ease-in-out infinite;filter:drop-shadow(0 0 18px rgba(53,230,255,.45))}
.swan-emblem img{display:block;width:100%;height:100%}
.swan-emblem::after{content:"";position:absolute;inset:-9px;border-radius:50%;
  border:1px dashed rgba(53,230,255,.45);animation:hvSpin 18s linear infinite}
@keyframes swanFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}

/* 舞台容器：绝对定位，不撑开 grid 列 */
.orb-wrap{position:relative;display:block;height:560px;overflow:visible}
@media(max-width:1200px){.opc-orb{--orb-s:.66}.orb-wrap{height:460px}}
@media(max-width:900px){.opc-orb{--orb-s:.54}.orb-wrap{height:380px}}

/* 手机端：缩小舞台并放大工具名，保证可读 */
.m-globe .orb-wrap{height:340px}
.m-globe .opc-orb{--orb-s:.48}
.m-globe .opc-orb .orb-nm{font-size:18px;margin-top:7px}
.m-globe .opc-orb .orb-ic{width:52px;height:52px}
.m-globe .opc-orb .orb-ic svg{width:28px;height:28px}
.m-globe .opc-orb .hv-tag{font-size:14px;padding:7px 12px}
@media(max-width:360px){.m-globe .opc-orb{--orb-s:.42}.m-globe .orb-wrap{height:300px}}

@media(prefers-reduced-motion:reduce){
  .opc-orb .hv-r1,.opc-orb .hv-r2,.opc-orb .sp,.opc-orb .sp2,.opc-orb .hv-sweep,
  .opc-orb .hv-rip,.opc-core,.opc-core .core-ping,.opc-core span,.opc-orb .orb-ic{animation:none}
}


/* AI 工具图标：静态柔光，不做亮度呼吸（避免闪烁） */
.opc-orb .orb-ic{animation:none;box-shadow:0 6px 16px -8px rgba(29,79,143,.34),inset 0 0 0 1px rgba(29,79,143,.12)}
@keyframes toolGlow{0%,100%{filter:none}50%{filter:none}}

/* 真实 AI 品牌 APP 图标：白底圆角卡片 + 官方矢量 logo */
.opc-orb .orb-ic img.app-logo{width:30px;height:30px;display:block;object-fit:contain;pointer-events:none;user-select:none}
.m-globe .opc-orb .orb-ic img.app-logo{width:36px;height:36px}

/* 第 12 轮：50 个图标时名称小字互相重叠，隐藏标签只保留图标 */
.opc-orb .orb-nm { visibility: hidden; }  /* 保留占位，图标位置不变 */
