/* SPA→静态视觉桥 · neon-club · 深靛底 + 品红/青霓虹边线 */
:root {
  --sh-bg: #0c0e22;
  --sh-bg-2: #12152e;
  --sh-card: #161a38;
  --sh-card-2: #1a2045;
  --sh-border: rgba(0, 212, 255, 0.16);
  --sh-border-2: rgba(233, 30, 140, 0.22);
  --sh-text-1: #eef0ff;
  --sh-text-2: #c4c8e8;
  --sh-text-3: #8b90b8;
  --sh-text-4: #6a7098;
  --sh-pri: #e91e8c;
  --sh-pri-2: #ff3da8;
  --sh-pri-3: #00d4ff;
  --sh-pri-tint: rgba(233, 30, 140, 0.12);
  --sh-good: #00d4ff;
  --sh-grad: linear-gradient(135deg, #12152e 0%, #1a1240 55%, #0f2840 100%);
  --sh-grad-soft: linear-gradient(180deg, #0c0e22 0%, #12152e 100%);
  --site-neon-magenta: #e91e8c;
  --site-neon-cyan: #00d4ff;
  color-scheme: dark;
}

body.sh-body {
  background: var(--sh-bg);
  color: var(--sh-text-1);
}

.sh-header {
  background: rgba(12, 14, 34, 0.94);
  border-bottom: 1px solid var(--sh-border);
  backdrop-filter: blur(10px);
}

.sh-logo__mark {
  color: var(--sh-pri-3);
}

.sh-nav__item.is-active,
.sh-nav__item:hover {
  color: var(--sh-pri-3);
}

.sh-hero {
  background: var(--sh-grad);
  border-bottom: 1px solid var(--sh-border-2);
}

.sh-section--alt {
  background: var(--sh-bg-2);
}

.sh-cat {
  border: 1px solid var(--sh-border);
  background: var(--sh-card);
}

.sh-cat:hover {
  border-color: var(--sh-pri-3);
}

.sh-card {
  border: 1px solid var(--sh-border);
  background: var(--sh-card);
}

.sh-card:hover {
  border-color: var(--sh-pri-3);
  box-shadow: 0 0 0 1px rgba(0, 212, 255, 0.28);
}

.sh-btn--primary {
  background: transparent;
  border: 1px solid var(--sh-pri);
  color: #fff;
  box-shadow: 0 0 0 1px rgba(233, 30, 140, 0.25);
}

.sh-btn--primary:hover {
  background: rgba(233, 30, 140, 0.15);
  border-color: var(--sh-pri-2);
}

.sh-btn--ghost {
  border: 1px solid var(--sh-border);
  color: var(--sh-text-2);
}

.sh-btn--ghost:hover {
  border-color: var(--sh-pri-3);
  color: var(--sh-pri-3);
}

.sh-footer {
  background: linear-gradient(180deg, var(--sh-bg) 0%, #080a18 100%);
  border-top: 1px solid var(--sh-border);
}

.sh-pstage {
  background: linear-gradient(180deg, #080a18, #0c0e22);
}

.page-main {
  min-height: 50vh;
}
