/* sky-bg.css · 苍穹电光流动背景（三层） */
body::before{
  content:'';position:fixed;inset:0;z-index:-2;pointer-events:none;
  background:
    radial-gradient(ellipse 80% 60% at 20% 10%, rgba(37,99,235,0.16), transparent 60%),
    radial-gradient(ellipse 60% 80% at 80% 30%, rgba(8,145,178,0.14), transparent 60%),
    radial-gradient(ellipse 70% 50% at 50% 90%, rgba(34,211,238,0.12), transparent 60%),
    radial-gradient(ellipse 50% 60% at 10% 70%, rgba(29,78,216,0.10), transparent 60%);
  filter:blur(60px);
  animation:mesh-drift 30s ease-in-out infinite alternate;
}
@keyframes mesh-drift{
  0%{transform:translate(0,0) scale(1);}
  50%{transform:translate(3%,-2%) scale(1.05);}
  100%{transform:translate(-2%,3%) scale(1.02);}
}
body::after{
  content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.35'/%3E%3C/svg%3E");
  opacity:0.03;mix-blend-mode:multiply;
}
/* 光晕装饰 */
.glow-orb{position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none;z-index:0;}
/* 流体线条 */
.flow-line{position:absolute;pointer-events:none;z-index:0;opacity:0.5;}
.flow-line path{stroke:url(#grad-sky);fill:none;stroke-width:1.5;stroke-dasharray:6 10;animation:dash 12s linear infinite;}
@keyframes dash{to{stroke-dashoffset:-320;}}
