/* 数告星动效层：独立文件，文章发布中心构建时会随 assets 一并保留。 */
.site-loader{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;background:#fff;transition:opacity .45s ease,visibility .45s ease}.site-loader b{position:relative;z-index:1;color:#0e61da;font-size:25px;letter-spacing:-2px}.loader-orbit{position:absolute;width:58px;height:58px;border:2px solid rgba(16,91,230,.16);border-top-color:#12badf;border-right-color:#0e64e7;border-radius:50%;animation:loader-spin .85s linear infinite}.page-ready .site-loader{visibility:hidden;opacity:0}
.hero-copy .hero-tag{animation:rise-in .65s .08s both}.hero-copy h1{animation:rise-in .75s .15s both}.hero-copy>p:not(.hero-tag){animation:rise-in .75s .25s both}.hero-actions{animation:rise-in .75s .35s both}.hero-art{animation:rise-in .9s .18s both}.art-core{animation:core-float 5s ease-in-out infinite}.art-core:after{content:"";position:absolute;inset:-18px;border:1px solid rgba(33,163,235,.27);border-radius:50%;animation:core-pulse 2.7s ease-out infinite}.ring-a{animation:orbit-one 14s linear infinite}.ring-b{animation:orbit-two 10s linear infinite}.pulse-a{animation:pulse-glow 3s ease-in-out infinite}.pulse-b{animation:pulse-glow 3s 1.1s ease-in-out infinite}.node{animation:node-ping 2.4s ease-out infinite}.node-b{animation-delay:.8s}.node-c{animation-delay:1.45s}.panel-one{animation:panel-float 4.8s .25s ease-in-out infinite}.panel-two{animation:panel-float 5.4s 1s ease-in-out infinite}.hero-dots{animation:dots-drift 11s ease-in-out infinite}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.8,.2,1)}.reveal.is-visible{opacity:1;transform:none}.about-art.reveal{transform:translateX(-34px)}.about-art.reveal.is-visible{transform:none}.about-copy.reveal{transform:translateX(34px)}.about-copy.reveal.is-visible{transform:none}.service-grid article.is-visible:nth-child(2),.article-grid article.is-visible:nth-child(2){transition-delay:80ms}.service-grid article.is-visible:nth-child(3),.article-grid article.is-visible:nth-child(3){transition-delay:160ms}.service-grid article.is-visible:nth-child(4){transition-delay:240ms}.feature-grid article,.service-grid article,.article-grid article{will-change:transform}.feature-grid article:hover .feature-icon,.service-grid article:hover .service-icon{animation:icon-bounce .55s ease}.theme-btn:hover{transform:translateY(-2px);box-shadow:0 13px 27px rgba(18,103,229,.28)}.theme-btn{transition:transform .2s ease,box-shadow .2s ease}.outline-link,.article-grid h3 a,.main-nav a{transition:color .2s ease,background .2s ease}
@keyframes loader-spin{to{transform:rotate(360deg)}}@keyframes rise-in{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@keyframes core-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}@keyframes core-pulse{0%{opacity:.8;transform:scale(.82)}75%,100%{opacity:0;transform:scale(1.35)}}@keyframes orbit-one{to{transform:rotate(336deg)}}@keyframes orbit-two{to{transform:rotate(-384deg)}}@keyframes pulse-glow{0%,100%{opacity:.55;transform:scale(.85)}50%{opacity:1;transform:scale(1.13)}}@keyframes node-ping{0%{box-shadow:0 0 0 0 rgba(19,193,224,.35)}80%,100%{box-shadow:0 0 0 17px rgba(19,193,224,0)}}@keyframes panel-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-11px)}}@keyframes dots-drift{0%,100%{transform:translate(0,0)}50%{transform:translate(12px,-9px)}}@keyframes icon-bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px) scale(1.06)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.site-loader{display:none}.reveal{opacity:1;transform:none}}
