/* 自动环境动画：慢速循环，仅在可见区域运行。 */
.media-lab,.skills-section{isolation:isolate}.media-lab{position:relative}.media-lab>.section-shell{position:relative;z-index:1}.media-lab:before,.media-lab:after{content:"";position:absolute;z-index:-1;border-radius:50%;pointer-events:none;filter:blur(2px);opacity:.55;animation-play-state:paused}.media-lab:before{width:56vw;height:56vw;max-width:790px;max-height:790px;right:-23%;top:-46%;background:radial-gradient(circle at 38% 38%,#b7c8ff,rgba(135,162,255,.18) 33%,transparent 67%);animation:media-mesh-one 22s cubic-bezier(.65,0,.35,1) infinite}.media-lab:after{width:42vw;height:42vw;max-width:590px;max-height:590px;left:-19%;bottom:-47%;background:radial-gradient(circle at 58% 44%,#d6ddff,rgba(85,110,237,.3) 30%,transparent 66%);animation:media-mesh-two 18s cubic-bezier(.65,0,.35,1) infinite}.media-lab.is-ambient-active:before,.media-lab.is-ambient-active:after{animation-play-state:running}@keyframes media-mesh-one{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(-8%,11%,0) scale(1.12)}}@keyframes media-mesh-two{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(12%,-9%,0) scale(.91)}}
.skill-map .field:before,.skill-map .field:after{animation-play-state:paused}.skills-section.is-ambient-active .field:before{animation:skill-object-float 7s cubic-bezier(.65,0,.35,1) infinite alternate;animation-play-state:running}.skills-section.is-ambient-active .field:after{animation:skill-ring-turn 18s linear infinite;animation-play-state:running}.skills-section.is-ambient-active .field:nth-child(2):before{animation-delay:-1.7s}.skills-section.is-ambient-active .field:nth-child(3):before{animation-delay:-3.1s}.skills-section.is-ambient-active .field:nth-child(4):before{animation-delay:-4.5s}.skills-section.is-ambient-active .field:nth-child(2):after{animation-delay:-4s}.skills-section.is-ambient-active .field:nth-child(3):after{animation-delay:-8s}.skills-section.is-ambient-active .field:nth-child(4):after{animation-delay:-12s}@keyframes skill-object-float{from{transform:translate3d(0,0,0) rotate(0)}to{transform:translate3d(-5px,-12px,0) rotate(8deg)}}@keyframes skill-ring-turn{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@media(max-width:800px){.media-lab:before{width:120vw;height:120vw;right:-68%;top:-24%}.media-lab:after{width:95vw;height:95vw;left:-48%;bottom:-30%}}@media(prefers-reduced-motion:reduce){.media-lab:before,.media-lab:after,.skill-map .field:before,.skill-map .field:after{animation:none!important}}
