/* ============================================================
   MUMUAPI 自定义覆写 2026-07-25
   1. 仪表盘全屏修复
   2. 登录页「极光」艺术动画
   ============================================================ */

/* ---------- 1. 仪表盘铺满全屏（仪表盘路由提前解除 1760px 限宽） ---------- */
body.dashboard-fullscreen-ready .app-main,
.app-main:has(.dashboard-console) {
  max-width: none !important;
}

body.dashboard-fullscreen-ready .app-content-frame {
  width: 100% !important;
}

/* ---------- 2. 登录页艺术动画 ---------- */

/* 基础：让两层面板浮在动画层之上 */
.auth-shell {
  position: relative !important;
  overflow: hidden !important;
}
.auth-brand-panel,
.auth-form-panel {
  position: relative !important;
  z-index: 2 !important;
}

/* 极光渐变层：三团柔和光晕缓慢漂移 */
.auth-shell::before {
  content: "" !important;
  position: absolute !important;
  inset: -25% !important;
  z-index: 0 !important;
  pointer-events: none !important;
  background:
    radial-gradient(38% 42% at 22% 28%, rgba(127, 119, 221, 0.34), transparent 70%),
    radial-gradient(34% 38% at 78% 18%, rgba(55, 138, 221, 0.30), transparent 70%),
    radial-gradient(40% 44% at 68% 78%, rgba(93, 202, 165, 0.26), transparent 70%),
    radial-gradient(30% 32% at 28% 82%, rgba(212, 83, 126, 0.16), transparent 70%) !important;
  filter: blur(52px) saturate(118%) !important;
  animation: loginAurora 26s ease-in-out infinite alternate !important;
  transform: translate3d(0, 0, 0) !important;
}

/* 细腻颗粒纹理，增加质感 */
.auth-shell::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  opacity: 0.35 !important;
  mix-blend-mode: overlay !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E") !important;
}

@keyframes loginAurora {
  0%   { transform: translate3d(-2.5%, -1.5%, 0) rotate(-1.2deg) scale(1); }
  50%  { transform: translate3d(2%, 1.5%, 0) rotate(1deg) scale(1.06); }
  100% { transform: translate3d(-1%, 2.5%, 0) rotate(-0.6deg) scale(1.03); }
}

/* 暗色模式下的极光配色 */
html.dark .auth-shell::before {
  background:
    radial-gradient(38% 42% at 22% 28%, rgba(127, 119, 221, 0.40), transparent 70%),
    radial-gradient(34% 38% at 78% 18%, rgba(55, 138, 221, 0.34), transparent 70%),
    radial-gradient(40% 44% at 68% 78%, rgba(29, 158, 117, 0.30), transparent 70%),
    radial-gradient(30% 32% at 28% 82%, rgba(212, 83, 126, 0.20), transparent 70%) !important;
}
html.dark .auth-shell::after {
  opacity: 0.22 !important;
}

/* 隐藏旧的「路由图」装饰块（用户要求删除） */
.auth-route-map {
  display: none !important;
}

/* 品牌区标题：渐变流光 */
.auth-brand-copy h1 {
  background: linear-gradient(100deg,
    var(--product-ink, #1c2437) 20%,
    #534ab7 42%,
    #185fa5 55%,
    var(--product-ink, #1c2437) 75%) !important;
  background-size: 220% 100% !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  animation: loginSheen 7s ease-in-out infinite !important;
}
html.dark .auth-brand-copy h1 {
  background: linear-gradient(100deg,
    #e8ecf6 20%, #a9a2f0 42%, #85b7eb 55%, #e8ecf6 75%) !important;
  background-size: 220% 100% !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
}
@keyframes loginSheen {
  0%, 100% { background-position: 0% 0; }
  50%      { background-position: 100% 0; }
}

/* 登录卡片：玻璃拟态 + 柔光描边 */
.auth-form-surface {
  background: rgba(255, 255, 255, 0.62) !important;
  -webkit-backdrop-filter: blur(26px) saturate(140%) !important;
  backdrop-filter: blur(26px) saturate(140%) !important;
  border: 1px solid rgba(255, 255, 255, 0.85) !important;
  border-radius: 18px !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.9) inset,
    0 24px 64px -18px rgba(39, 50, 82, 0.28),
    0 4px 18px -6px rgba(83, 74, 183, 0.18) !important;
}
html.dark .auth-form-surface {
  background: rgba(22, 29, 46, 0.66) !important;
  border: 1px solid rgba(148, 163, 204, 0.22) !important;
  box-shadow:
    0 1px 0 rgba(148, 163, 204, 0.14) inset,
    0 24px 64px -18px rgba(0, 0, 0, 0.55),
    0 4px 18px -6px rgba(83, 74, 183, 0.28) !important;
}

/* 输入框聚焦光晕 */
.auth-form-surface input:focus {
  border-color: rgba(83, 74, 183, 0.55) !important;
  box-shadow: 0 0 0 4px rgba(83, 74, 183, 0.14) !important;
}

/* 入场动画：元素依次浮现 */
.login-art-ready .auth-brand-lockup,
.login-art-ready .auth-brand-copy,
.login-art-ready .auth-form-surface,
.login-art-ready .auth-footer-links,
.login-art-ready .login-art-orbit {
  animation: loginRise 0.9s cubic-bezier(0.22, 0.8, 0.3, 1) both !important;
}
.login-art-ready .auth-brand-copy   { animation-delay: 0.10s !important; }
.login-art-ready .login-art-orbit   { animation-delay: 0.22s !important; }
.login-art-ready .auth-form-surface { animation-delay: 0.18s !important; }
.login-art-ready .auth-footer-links { animation-delay: 0.30s !important; }

@keyframes loginRise {
  from { opacity: 0; transform: translateY(18px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* 粒子画布 */
.login-art-canvas {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  width: 100% !important;
  height: 100% !important;
  pointer-events: none !important;
}

/* 品牌区底部：轨道环艺术装置（替代被删除的图） */
.login-art-orbit {
  position: relative !important;
  height: 220px !important;
  margin-top: 32px !important;
  pointer-events: none !important;
}
.login-art-orbit .ring {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  border-radius: 50% !important;
  border: 1px solid rgba(83, 74, 183, 0.22) !important;
  transform: translate(-50%, -50%) !important;
}
.login-art-orbit .r1 { width: 120px !important; height: 120px !important; animation: orbitSpin 14s linear infinite !important; }
.login-art-orbit .r2 { width: 180px !important; height: 180px !important; border-style: dashed !important; border-color: rgba(24, 95, 165, 0.20) !important; animation: orbitSpin 26s linear infinite reverse !important; }
.login-art-orbit .r3 { width: 236px !important; height: 236px !important; border-color: rgba(93, 202, 165, 0.16) !important; animation: orbitSpin 40s linear infinite !important; }
.login-art-orbit .core {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: 14px !important;
  height: 14px !important;
  border-radius: 50% !important;
  transform: translate(-50%, -50%) !important;
  background: radial-gradient(circle at 35% 35%, #a9a2f0, #534ab7) !important;
  box-shadow: 0 0 18px 4px rgba(83, 74, 183, 0.45) !important;
  animation: corePulse 3.2s ease-in-out infinite !important;
}
.login-art-orbit .sat {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
}
.login-art-orbit .s1 {
  background: #378add !important;
  box-shadow: 0 0 10px 2px rgba(55, 138, 221, 0.5) !important;
  animation: satOrbit1 14s linear infinite !important;
}
.login-art-orbit .s2 {
  background: #5dcaa5 !important;
  box-shadow: 0 0 10px 2px rgba(93, 202, 165, 0.5) !important;
  animation: satOrbit2 26s linear infinite reverse !important;
}
@keyframes orbitSpin {
  from { transform: translate(-50%, -50%) rotate(0deg); }
  to   { transform: translate(-50%, -50%) rotate(360deg); }
}
@keyframes satOrbit1 {
  from { transform: rotate(0deg)   translateX(60px)  rotate(0deg); }
  to   { transform: rotate(360deg) translateX(60px)  rotate(-360deg); }
}
@keyframes satOrbit2 {
  from { transform: rotate(0deg)   translateX(90px)  rotate(0deg); }
  to   { transform: rotate(360deg) translateX(90px)  rotate(-360deg); }
}
@keyframes corePulse {
  0%, 100% { box-shadow: 0 0 14px 3px rgba(83, 74, 183, 0.40); }
  50%      { box-shadow: 0 0 26px 8px rgba(83, 74, 183, 0.62); }
}

/* 品牌面板玻璃化，与整体融合 */
.auth-brand-panel {
  background: rgba(240, 243, 250, 0.42) !important;
  -webkit-backdrop-filter: blur(14px) !important;
  backdrop-filter: blur(14px) !important;
  border-right: 1px solid rgba(255, 255, 255, 0.55) !important;
}
html.dark .auth-brand-panel {
  background: rgba(16, 22, 36, 0.45) !important;
  border-right: 1px solid rgba(148, 163, 204, 0.14) !important;
}

/* 尊重「减弱动态效果」系统设置 */
@media (prefers-reduced-motion: reduce) {
  .auth-shell::before,
  .auth-brand-copy h1,
  .login-art-orbit .ring,
  .login-art-orbit .sat,
  .login-art-orbit .core,
  .login-art-ready .auth-brand-lockup,
  .login-art-ready .auth-brand-copy,
  .login-art-ready .auth-form-surface,
  .login-art-ready .auth-footer-links,
  .login-art-ready .login-art-orbit {
    animation: none !important;
  }
}

/* 小屏：隐藏轨道装置，保留整体氛围 */
@media (max-width: 1023px) {
  .login-art-orbit { display: none !important; }
}
