/* fykj-net · 背景科技感动效层(v10)
   原则:只加在背景/装饰层,不动布局、不改文案、不抢正文;低亮度、慢节奏、可关闭 */

/* ---------- 0. 星链画布 ---------- */
#fykj-net{
  position:fixed;inset:0;display:block;width:100%;height:100%;
  z-index:0;pointer-events:none;opacity:.9;
}

/* ---------- 1. 极光色块:缓慢漂移 ---------- */
html::before{
  content:"";position:fixed;inset:-18% -12%;z-index:0;pointer-events:none;
  background:
    radial-gradient(38% 42% at 16% 20%, rgba(43,110,246,.17), transparent 70%),
    radial-gradient(32% 36% at 86% 10%, rgba(57,211,255,.13), transparent 72%),
    radial-gradient(44% 44% at 64% 90%, rgba(79,141,255,.11), transparent 74%);
  animation:fykj-drift 36s ease-in-out infinite alternate;
  will-change:transform;
}
@keyframes fykj-drift{
  0%{transform:translate3d(-2%,-1%,0) scale(1)}
  50%{transform:translate3d(2%,1.5%,0) scale(1.07)}
  100%{transform:translate3d(-1.5%,2%,0) scale(1.02)}
}

/* ---------- 2. 品牌头像(蓝色 F) ---------- */
.fykj-mark{
  display:block;flex:none;width:36px;height:36px;border-radius:11px;
  box-shadow:0 10px 26px -12px rgba(43,110,246,.9), 0 0 0 1px rgba(79,141,255,.22);
  transition:transform .25s ease, box-shadow .25s ease;
}
.fykj-mark-lg{width:64px;height:64px;border-radius:19px;
  box-shadow:0 18px 46px -18px rgba(43,110,246,.95), 0 0 0 1px rgba(79,141,255,.26);
  animation:fykj-mark-float 7s ease-in-out infinite}
@keyframes fykj-mark-float{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-3px)}
}
a:hover>.fykj-mark{transform:translateY(-2px) scale(1.03);box-shadow:0 16px 34px -14px rgba(79,141,255,1)}

/* ---------- 3. 首屏/区块微光:进屏淡淡亮一下 ---------- */
@keyframes fykj-sheen{
  0%{opacity:0;transform:translateX(-14%)}
  22%{opacity:1}
  100%{opacity:0;transform:translateX(14%)}
}

/* ---------- 4. 常驻联系方式:手机端收成一个小圆钮,不挡内容 ---------- */
.fykj-dock-toggle{display:none}

@media (max-width:768px){
  .fykj-dock{right:12px;bottom:12px;gap:0;align-items:flex-end}
  .fykj-dock-toggle{
    pointer-events:auto;display:grid;place-items:center;width:50px;height:50px;padding:0;border:0;
    border-radius:50%;cursor:pointer;background:rgba(9,14,28,.92);
    border:1px solid rgba(79,141,255,.5);
    box-shadow:0 14px 34px -14px rgba(0,0,0,.9), 0 0 0 0 rgba(79,141,255,.45);
    animation:fykj-tgl-pulse 3s ease-out infinite;
  }
  .fykj-dock-toggle img{width:32px;height:32px;border-radius:10px;display:block}
  .fykj-dock-toggle .x{display:none;font-size:20px;font-weight:800;color:#9dc0ff;line-height:1}
  .fykj-dock.open .fykj-dock-toggle .x{display:block}
  .fykj-dock.open .fykj-dock-toggle img{display:none}
  .fykj-dock-list{
    display:flex;flex-direction:column;gap:8px;align-items:flex-end;
    margin-bottom:10px;opacity:0;transform:translateY(10px) scale(.96);pointer-events:none;
    transition:opacity .22s ease, transform .22s ease;
  }
  .fykj-dock.open .fykj-dock-list{opacity:1;transform:none;pointer-events:auto}
  .fykj-dock.open .fykj-dock-toggle{animation:none}
}
@keyframes fykj-tgl-pulse{
  0%{box-shadow:0 14px 34px -14px rgba(0,0,0,.9),0 0 0 0 rgba(79,141,255,.5)}
  70%{box-shadow:0 14px 34px -14px rgba(0,0,0,.9),0 0 0 14px rgba(79,141,255,0)}
  100%{box-shadow:0 14px 34px -14px rgba(0,0,0,.9),0 0 0 0 rgba(79,141,255,0)}
}

@media (prefers-reduced-motion:reduce){
  html::before{animation:none}
  .fykj-mark-lg,.fykj-dock-toggle{animation:none}
  #fykj-net{opacity:.45}
}
