/* 科技感背景 + 配色（与 SibyX 同源：青绿安全色 + 深空网格 + 节点连线）
   设计系统令牌集中在 app.css，本文件只负责「氛围背景层」，确保所有页面共享同一安全感基调。 */
:root {
  --bg: #0b0f1a;
  --panel: #131a2b;
  --panel-2: #1a2340;
  --accent: #2de2c4;
  --accent-2: #6c8cff;
  --text: #e7ecf5;
  --muted: #8a97b3;
  --danger: #ff5d6c;
  --ok: #38d39f;
  --warn: #ffcc66;
  --border: rgba(108,140,255,.18);
}

* { box-sizing: border-box; }

html, body {
  margin: 0; min-height: 100%;
  background: radial-gradient(1200px 600px at 80% -10%, #16213f 0%, var(--bg) 55%);
  background-attachment: fixed;
  color: var(--text);
  font-family: "Segoe UI", system-ui, -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif;
}

/* 固定全屏背景层：网格 + 双色光晕 + 节点连线（保留原科技感，叠加暗角增加纵深） */
.tech-bg { position: fixed; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; }
.tech-bg::after {
  content: ""; position: absolute; inset: 0;
  background: radial-gradient(120% 90% at 50% 0%, transparent 55%, rgba(4,7,14,.55) 100%);
}
.wg-grid {
  position: absolute; inset: -2px;
  background-image:
    linear-gradient(rgba(45,226,196,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(45,226,196,.06) 1px, transparent 1px);
  background-size: 46px 46px;
  -webkit-mask-image: radial-gradient(circle at 50% 38%, #000 22%, transparent 78%);
          mask-image: radial-gradient(circle at 50% 38%, #000 22%, transparent 78%);
}
.wg-glow { position: absolute; border-radius: 50%; filter: blur(64px); opacity: .5; }
.wg-glow-1 { width: 540px; height: 540px; left: -130px; top: -110px;
  background: radial-gradient(circle, rgba(45,226,196,.42), transparent 70%);
  animation: wgf 14s ease-in-out infinite alternate; }
.wg-glow-2 { width: 480px; height: 480px; right: -110px; bottom: -130px;
  background: radial-gradient(circle, rgba(108,140,255,.42), transparent 70%);
  animation: wgf 18s ease-in-out infinite alternate-reverse; }
@keyframes wgf { from { transform: translate(0,0) scale(1); } to { transform: translate(40px,30px) scale(1.15); } }
.wg-nodes { position: absolute; inset: 0; width: 100%; height: 100%; opacity: .5; }
.wg-lines line { stroke: var(--accent); stroke-width: 1.2; opacity: .35;
  stroke-dasharray: 6 10; animation: wgdash 3.2s linear infinite; }
@keyframes wgdash { to { stroke-dashoffset: -32; } }
.wg-dots circle { fill: var(--accent-2); filter: drop-shadow(0 0 6px rgba(108,140,255,.8)); animation: wgpulse 3.4s ease-in-out infinite; }
.wg-dots circle:nth-child(2n) { fill: var(--accent); }
@keyframes wgpulse { 0%,100% { opacity: .55; } 50% { opacity: 1; } }

/* 让所有可见内容浮在背景之上 */
body > *:not(.tech-bg) { position: relative; z-index: 1; }
