/* 全站统一视觉：流动极光背景 + 动态渐变页头（与拆题工作台一致） */
:root{--brand:#2f6bff;--brand2:#6f5bff;--grad-brand:linear-gradient(120deg,#2f6bff,#6f5bff,#3b82f6,#2f6bff)}
body::before,body::after{content:"";position:fixed;z-index:-1;border-radius:50%;filter:blur(90px);opacity:.5;pointer-events:none}
body::before{width:540px;height:540px;left:-150px;top:-130px;background:radial-gradient(circle,#7ea2ff,transparent 70%);animation:themeDrift1 16s ease-in-out infinite}
body::after{width:580px;height:580px;right:-170px;bottom:-150px;background:radial-gradient(circle,#b39aff,transparent 70%);animation:themeDrift2 20s ease-in-out infinite}
@keyframes themeDrift1{0%,100%{transform:translate(0,0)}50%{transform:translate(90px,70px)}}
@keyframes themeDrift2{0%,100%{transform:translate(0,0)}50%{transform:translate(-100px,-60px)}}
@keyframes themeBrandShift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.top,.hero,.header,.site-header,.sub-header,.landing-header,.top-header,.topbar,header{background:var(--grad-brand);background-size:280% 280%;animation:themeBrandShift 9s ease infinite;color:#fff}
.top a,.hero a,.header a,.site-header a,.sub-header a,.landing-header a,.top-header a,.topbar a,header a{color:#fff;text-decoration:none}

/* ===== D 阶段：移动端响应式兜底层（页面自身样式优先生效） ===== */
html{-webkit-text-size-adjust:100%}
img,video{max-width:100%;height:auto}
@media (max-width:768px){
  body{font-size:14.5px}
  .top,.hero,.header,.site-header,.sub-header,.landing-header,.top-header,.topbar,header{padding:16px}
  .top h1,.hero h1,.header h1,.site-header h1{font-size:20px}
  .wrap,.container{padding:0 12px}
  /* 16px 防 iOS Safari 聚焦自动放大 */
  input,select,textarea{font-size:16px !important}
  .btn,button{min-height:40px}
  table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
}
/* 尊重系统减弱动效设置 */
@media (prefers-reduced-motion:reduce){
  body::before,body::after,.top,.hero,.header,.site-header,.sub-header,.landing-header,.top-header,.topbar,header{animation:none}
}
