/* 2.0 智能版标识：登录页的智能化视觉与「保密资料室」旁的 AI 小标（登录页、管理端、提交端共用；在 design.css 之后加载） */

/* ── AI 小标 ── */
.brand-title { display: flex; align-items: center; gap: 7px; flex-wrap: nowrap; }
.ai-badge {
  display: inline-flex; align-items: center; gap: 3px; flex: none;
  height: 18px; padding: 0 6px 0 5px; border-radius: 999px;
  font-size: 10.5px; font-weight: 700; letter-spacing: .04em; line-height: 1; color: #fff;
  background: linear-gradient(120deg, #7C4DFF 0%, #3B6BFF 55%, #16B8D9 100%);
  background-size: 200% 100%;
  box-shadow: 0 0 0 1px rgba(255,255,255,.18) inset, 0 4px 12px -4px rgba(124,77,255,.8);
  animation: ai-badge-shift 6s ease-in-out infinite;
  cursor: default; user-select: none;
}
.ai-badge svg { width: 11px; height: 11px; flex: none; }
@keyframes ai-badge-shift { 0%, 100% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } }

/* ── 登录页 ── */
.login-brand .hero-grad {
  background: linear-gradient(100deg, #B69CFF 0%, #7FA6FF 45%, #5FE0F5 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.login-brand .brand-sub { color: #8FA3C8; }
.login-points > div .ic { background: linear-gradient(145deg, rgba(124,77,255,.28), rgba(59,107,255,.16)); border-color: rgba(143,176,255,.22); color: #B7C9FF; }
.login-points { gap: 13px; }

/* 右上角的「知识图谱」示意：节点缓慢呼吸、连线上有数据流动；纯装饰（aria-hidden） */
.login-graph { position: absolute; bottom: 96px; right: 40px; width: 340px; height: 260px; z-index: 0 !important; opacity: .9; pointer-events: none; }
.login-graph .e { stroke: rgba(143,176,255,.28); stroke-width: 1.2; }
.login-graph .f { stroke: rgba(127,166,255,.85); stroke-width: 1.6; stroke-dasharray: 3 14; animation: lg-flow 3.2s linear infinite; }
.login-graph .n { fill: #7FA6FF; }
.login-graph .n.v { fill: #B69CFF; }
.login-graph .n.c { fill: #5FE0F5; }
.login-graph .h { fill: none; stroke: rgba(182,156,255,.55); stroke-width: 1.2; transform-box: fill-box; transform-origin: center; animation: lg-pulse 3.6s ease-out infinite; }
.login-graph .h.d2 { animation-delay: 1.2s; }
.login-graph .h.d3 { animation-delay: 2.4s; }
@keyframes lg-flow { to { stroke-dashoffset: -34; } }
@keyframes lg-pulse { 0% { transform: scale(.6); opacity: .9; } 100% { transform: scale(2.4); opacity: 0; } }

.login-chip {
  display: inline-flex; align-items: center; gap: 6px; margin-bottom: 14px;
  padding: 4px 10px 4px 8px; border-radius: 999px; font-size: 12px; font-weight: 600;
  color: #5B3FD6; background: linear-gradient(120deg, rgba(124,77,255,.10), rgba(22,184,217,.10));
  border: 1px solid rgba(124,77,255,.22);
}
.login-chip svg { width: 13px; height: 13px; }

@media (max-width: 1100px) { .login-graph { width: 250px; height: 192px; right: 16px; bottom: 80px; opacity: .7; } }
@media (max-height: 760px) and (min-width: 901px) { .login-graph { display: none; } }
@media (max-width: 900px) { .login-graph { display: none; } }
@media (prefers-reduced-motion: reduce) {
  .ai-badge, .login-graph .f, .login-graph .h { animation: none; }
}
