/* ═══════════════════════════════════════════════════════════ */
/* ═══ 零点原核 · 内页风格包 v1.0                           ═══ */
/* ═══ 深空主权控制台 · 与首页星空同源 · 霜砚设计            ═══ */
/* ═══ 国作登字-2026-A-00037559                              ═══ */
/* ═══════════════════════════════════════════════════════════ */

/* ─── 1. 核心变量覆盖 · 月光金色系 ─── */
:root {
  /* 深空背景 */
  --bg: #0a0e27;
  --bg-deep: #0a0e27;
  --bg-purple: #1a1438;
  --bg-panel: #0f1333;
  --panel: rgba(15, 19, 51, 0.75);

  /* 月光金 */
  --moon-gold: #d4a574;
  --moon-gold-soft: rgba(212, 165, 116, 0.4);
  --moon-gold-faint: rgba(212, 165, 116, 0.12);

  /* 玻璃面板 */
  --glass-bg: rgba(20, 25, 60, 0.4);
  --glass-border: rgba(212, 165, 116, 0.18);

  /* 文字层级 */
  --text: #e8eaf6;
  --text-main: #e8eaf6;
  --text-soft: #8892b0;
  --text-faint: #4a5278;
  --dim: #8892b0;
  --muted: rgba(74, 82, 120, 0.8);

  /* 功能色 */
  --ok: #6fc3a8;
  --warn: #d4a574;
  --err: #d47a6f;
  --idle: #8892b0;

  /* 边框重映射 */
  --border: rgba(212, 165, 116, 0.12);
  --border-active: rgba(212, 165, 116, 0.3);
  --card: var(--glass-bg);
  --card-border: var(--glass-border);
  --card-hover: var(--moon-gold-soft);

  /* 字体 */
  --font-serif: 'Noto Serif SC', 'Songti SC', 'STSong', serif;
  --font-mono: 'JetBrains Mono', 'SF Mono', 'Fira Code', monospace;
}

/* ─── 2. 全局背景 · 深空径向渐变 ─── */
body {
  background: var(--bg) !important;
}

body::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: -3;
  background: radial-gradient(ellipse at 50% 0%, var(--bg-purple) 0%, var(--bg) 60%);
  pointer-events: none;
}

body::after {
  content: '';
  position: fixed;
  inset: 0;
  z-index: -2;
  opacity: 0.3;
  background-image:
    radial-gradient(1px 1px at 20% 30%, #fff, transparent),
    radial-gradient(1px 1px at 80% 60%, #d4a574, transparent),
    radial-gradient(1px 1px at 50% 80%, #fff, transparent),
    radial-gradient(1px 1px at 10% 70%, #fff, transparent),
    radial-gradient(1px 1px at 65% 20%, #d4a574, transparent),
    radial-gradient(1px 1px at 90% 40%, #fff, transparent);
  background-size: 400px 400px;
  animation: consoleTwinkle 6s ease-in-out infinite;
  pointer-events: none;
}

@keyframes consoleTwinkle {
  0%, 100% { opacity: 0.2; }
  50% { opacity: 0.5; }
}

/* ─── 3. 水平光带 · Sky Sweep ─── */
.sky-sweep {
  position: fixed;
  top: 0;
  left: -50%;
  width: 200%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(212, 165, 116, 0.4), transparent);
  animation: skySweep 12s linear infinite;
  z-index: -1;
  pointer-events: none;
}

@keyframes skySweep {
  from { transform: translateX(-50%); }
  to { transform: translateX(50%); }
}

/* ─── 4. 星空背景降密度 ─── */
.cosmos {
  opacity: 0.3;
}

.nebula {
  opacity: 0.04 !important;
}

.lake {
  background: linear-gradient(to top, rgba(212, 165, 116, 0.02), rgba(212, 165, 116, 0.005), transparent) !important;
}

.lake::before {
  background: linear-gradient(90deg, transparent, rgba(212, 165, 116, 0.12), rgba(212, 165, 116, 0.08), transparent) !important;
}

/* ─── 5. 侧栏 · 深空玻璃面板 ─── */
.sidebar {
  background: rgba(15, 19, 51, 0.6) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  border-right: 1px solid var(--glass-border) !important;
  box-shadow: 1px 0 20px rgba(0, 0, 0, 0.4) !important;
}

.sidebar-header {
  border-bottom-color: var(--glass-border) !important;
}

/* Logo 月光呼吸 */
.logo-glyph {
  background: radial-gradient(circle at 35% 35%, rgba(255,255,255,0.15), rgba(212, 165, 116, 0.2) 60%, rgba(90, 60, 31, 0.15)) !important;
  border: 1px solid rgba(212, 165, 116, 0.3) !important;
  color: var(--moon-gold) !important;
  box-shadow: 0 0 16px var(--moon-gold-soft) !important;
  animation: consoleBreathe 4s ease-in-out infinite !important;
}

@keyframes consoleBreathe {
  0%, 100% {
    transform: scale(1);
    filter: brightness(1);
    box-shadow: 0 0 12px rgba(212, 165, 116, 0.2);
  }
  50% {
    transform: scale(1.05);
    filter: brightness(1.15);
    box-shadow: 0 0 24px rgba(212, 165, 116, 0.4), 0 0 48px rgba(212, 165, 116, 0.15);
  }
}

.logo-text {
  font-family: var(--font-serif) !important;
  letter-spacing: 0.15em !important;
}

/* 侧栏分组标题 */
.snav-section {
  color: var(--text-faint) !important;
  letter-spacing: 0.3em !important;
}

/* 侧栏导航项 */
.snav-item {
  color: var(--text-soft) !important;
  border-left: 2px solid transparent !important;
  transition: all 0.3s !important;
}

.snav-item:hover {
  background: var(--moon-gold-faint) !important;
  color: var(--text-main) !important;
}

.snav-item.active {
  background: rgba(212, 165, 116, 0.08) !important;
  color: var(--moon-gold) !important;
  border-left-color: var(--moon-gold) !important;
}

.snav-item.active::before {
  content: '';
  position: absolute;
  left: 0;
  top: 8px;
  bottom: 8px;
  width: 3px;
  background: var(--moon-gold);
  border-radius: 0 2px 2px 0;
  box-shadow: 0 0 8px var(--moon-gold-soft);
}

.snav-item {
  position: relative;
}

/* 侧栏徽章 */
.snav-badge {
  color: var(--moon-gold) !important;
  background: var(--moon-gold-faint) !important;
}

/* 侧栏分隔线 */
.snav-divider {
  background: var(--glass-border) !important;
}

/* Architecture Flow */
.sidebar-arch {
  border-top-color: var(--glass-border) !important;
}

.arch-dot.notion {
  background: var(--moon-gold) !important;
  box-shadow: 0 0 7px var(--moon-gold-soft) !important;
}

.arch-dot.web {
  background: #6fc3a8 !important;
  box-shadow: 0 0 7px rgba(111, 195, 168, 0.5) !important;
}

/* 侧栏底部 */
.sidebar-footer {
  border-top-color: var(--glass-border) !important;
}

.status-dot {
  background: var(--ok) !important;
  box-shadow: 0 0 8px rgba(111, 195, 168, 0.5) !important;
}

/* ─── 6. 顶部主Header · 玻璃模糊 ─── */
.main-header {
  background: rgba(10, 14, 39, 0.75) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  border-bottom: 1px solid var(--glass-border) !important;
}

.persona-avatar {
  background: radial-gradient(circle at 35% 35%, rgba(255,255,255,0.12), rgba(212, 165, 116, 0.2) 60%, rgba(90, 60, 31, 0.12)) !important;
  border: 1px solid rgba(212, 165, 116, 0.3) !important;
  color: var(--moon-gold) !important;
  box-shadow: 0 0 12px rgba(212, 165, 116, 0.2);
  animation: consoleBreathe 4s ease-in-out infinite !important;
}

.persona-name {
  font-family: var(--font-serif) !important;
  letter-spacing: 0.1em !important;
}

/* Heartbeat */
.heartbeat {
  background: rgba(111, 195, 168, 0.06) !important;
  border: 1px solid rgba(111, 195, 168, 0.12) !important;
}

.heartbeat-dot {
  background: var(--ok) !important;
  box-shadow: 0 0 6px rgba(111, 195, 168, 0.5) !important;
}

/* ─── 7. 主区域 ─── */
.main {
  border-left: 1px solid var(--glass-border) !important;
}

.dashboard {
  background: transparent;
}

/* ─── 8. 页面标题 · 宋体 + 金色辉光 ─── */
.dash-headline-glyph {
  background: radial-gradient(circle at 35% 35%, rgba(255,255,255,0.12), rgba(212, 165, 116, 0.2) 60%, rgba(90, 60, 31, 0.15)) !important;
  border: 1px solid rgba(212, 165, 116, 0.3) !important;
  color: var(--moon-gold) !important;
  box-shadow: 0 0 16px rgba(212, 165, 116, 0.2) !important;
  animation: consoleBreathe 4s ease-in-out infinite !important;
}

.dash-headline-text h2 {
  font-family: var(--font-serif) !important;
  background: none !important;
  -webkit-text-fill-color: var(--text-main) !important;
  -webkit-background-clip: unset !important;
  background-clip: unset !important;
  text-shadow: 0 0 20px rgba(212, 165, 116, 0.3);
  letter-spacing: 0.15em !important;
}

/* Section 标题 */
.dash-section-title {
  color: var(--text-soft) !important;
}

.dash-section-title::after {
  background: var(--glass-border) !important;
}

/* MODULE 标签 · 月光金 */
.module-tag {
  background: var(--moon-gold-faint) !important;
  border: 1px solid var(--moon-gold-soft) !important;
  color: var(--moon-gold) !important;
}

/* Section 子标题 */
.dash-section-sub {
  color: var(--text-soft) !important;
}

/* ─── 9. 玻璃卡片 · 全局统一 ─── */
.srv-card,
.s-card,
.agent-card,
.project-card,
.shield-stat,
.shield-layer,
.novel-module,
.novel-stat,
.shield-log {
  background: var(--glass-bg) !important;
  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;
  border: 1px solid var(--glass-border) !important;
  border-radius: 14px !important;
  transition: all 0.4s !important;
}

/* 卡片顶部渐变线 → 月光金 */
.srv-card::before {
  background: linear-gradient(90deg, var(--moon-gold), rgba(212, 165, 116, 0.3)) !important;
  opacity: 0.3 !important;
}

.s-card::before {
  background: linear-gradient(90deg, transparent, var(--moon-gold), transparent) !important;
}

/* 卡片悬停 · translateY + 金边 + 发光 */
.srv-card:hover,
.s-card:hover,
.agent-card:hover,
.project-card:hover {
  transform: translateY(-2px) !important;
  border-color: var(--moon-gold-soft) !important;
  box-shadow: 0 12px 32px rgba(212, 165, 116, 0.12), 0 0 60px rgba(212, 165, 116, 0.04) !important;
}

.srv-card:hover::before {
  opacity: 0.6 !important;
}

.srv-card::after {
  background: radial-gradient(ellipse, rgba(212, 165, 116, 0.03), transparent 70%) !important;
}

/* 卡片呼吸动画 · 月光金 */
@keyframes consoleCardBreathe {
  0%, 100% {
    border-color: rgba(212, 165, 116, 0.12);
    box-shadow: 0 0 0 rgba(212, 165, 116, 0), 0 2px 12px rgba(0, 0, 0, 0.3);
  }
  50% {
    border-color: rgba(212, 165, 116, 0.25);
    box-shadow: 0 0 28px rgba(212, 165, 116, 0.06), 0 0 60px rgba(212, 165, 116, 0.02), 0 2px 12px rgba(0, 0, 0, 0.3);
  }
}

.srv-card, .s-card, .agent-card, .project-card {
  animation: consoleCardBreathe 7s ease-in-out infinite !important;
  will-change: border-color, box-shadow;
}

.shield-stat, .shield-layer, .novel-module, .novel-stat, .shield-log {
  animation: consoleCardBreathe 8s ease-in-out infinite !important;
  will-change: border-color, box-shadow;
}

/* OpenClaw 特殊呼吸 */
.openclaw-card {
  background: linear-gradient(135deg, rgba(212, 165, 116, 0.04), rgba(20, 25, 60, 0.4)) !important;
  border: 1px solid rgba(212, 165, 116, 0.15) !important;
}

.openclaw-card:hover {
  border-color: rgba(212, 165, 116, 0.35) !important;
}

/* ─── 10. 状态点 · 呼吸光晕 ─── */
.srv-status-dot.on,
.svr-dot.on,
.snav-dot.ok {
  background: var(--ok) !important;
  box-shadow: 0 0 10px rgba(111, 195, 168, 0.5) !important;
}

.srv-status-dot.pending,
.svr-dot.pending,
.snav-dot.warn {
  background: var(--warn) !important;
  box-shadow: 0 0 8px rgba(212, 165, 116, 0.5) !important;
}

.srv-status-dot.off,
.svr-dot.off {
  background: var(--err) !important;
  box-shadow: 0 0 6px rgba(212, 122, 111, 0.4) !important;
}

/* Agent 心跳点 */
.agent-hb-dot.alive {
  background: var(--ok) !important;
  box-shadow: 0 0 8px rgba(111, 195, 168, 0.5) !important;
}

.agent-hb-dot.dead {
  background: var(--err) !important;
}

/* ─── 11. 服务器卡片名称 · 宋体 ─── */
.srv-card-name {
  font-family: var(--font-serif) !important;
  letter-spacing: 0.1em !important;
}

/* 服务器徽章 */
.srv-badge.loc {
  background: var(--moon-gold-faint) !important;
  color: var(--moon-gold) !important;
  border: 1px solid var(--moon-gold-soft) !important;
}

.srv-badge.spec {
  background: var(--moon-gold-faint) !important;
  color: var(--moon-gold) !important;
  border: 1px solid rgba(212, 165, 116, 0.2) !important;
}

.srv-badge.ok {
  background: rgba(111, 195, 168, 0.08) !important;
  color: var(--ok) !important;
  border: 1px solid rgba(111, 195, 168, 0.15) !important;
}

.srv-badge.warn {
  background: rgba(212, 165, 116, 0.08) !important;
  color: var(--warn) !important;
  border: 1px solid rgba(212, 165, 116, 0.15) !important;
}

/* 分割线 */
.srv-divider {
  background: var(--glass-border) !important;
}

/* 服务点 */
.srv-svc-dot.live {
  background: var(--ok) !important;
}

.srv-svc-dot.mcp {
  background: var(--moon-gold) !important;
}

.srv-svc-dot.db {
  background: #a78bfa !important;
}

.srv-svc-dot.vpn {
  background: var(--warn) !important;
}

.srv-svc-dot.relay {
  background: var(--ok) !important;
}

/* 服务名 · 更柔和的标题 */
.srv-svc-name {
  color: var(--text-main) !important;
}

/* 服务端口标签 */
.srv-svc-port {
  background: rgba(212, 165, 116, 0.05) !important;
  border: 1px solid rgba(212, 165, 116, 0.1) !important;
  color: var(--text-faint) !important;
}

/* 连接标签 */
.srv-conn-tag {
  background: rgba(10, 14, 39, 0.4) !important;
  border: 1px solid rgba(212, 165, 116, 0.08) !important;
  color: var(--text-soft) !important;
}

/* ─── 12. 服务器分页 ─── */
.paged-card-btn {
  border: 1px solid var(--glass-border) !important;
  background: var(--glass-bg) !important;
  color: var(--text-soft) !important;
}

.paged-card-btn:hover:not(:disabled) {
  border-color: var(--moon-gold) !important;
  color: var(--moon-gold) !important;
  background: var(--moon-gold-faint) !important;
}

.paged-dot.active {
  background: var(--moon-gold) !important;
  box-shadow: 0 0 6px rgba(212, 165, 116, 0.4) !important;
}

/* ─── 13. 大数字 · 月光金 ─── */
.metric-val,
.shield-stat-num,
.novel-stat-num {
  font-family: var(--font-mono) !important;
  color: var(--moon-gold) !important;
}

.bignum {
  font-family: var(--font-mono);
  font-size: 36px;
  font-weight: 300;
  color: var(--moon-gold);
  letter-spacing: 0.02em;
  line-height: 1;
}

.bignum-label {
  font-size: 10px;
  color: var(--text-soft);
  letter-spacing: 0.25em;
  margin-top: 4px;
}

/* 在线计数 */
#svrOnlineCount {
  color: var(--moon-gold) !important;
  font-size: 16px;
}

/* ─── 14. 项目卡片 ─── */
.project-card-name {
  font-family: var(--font-serif) !important;
  letter-spacing: 0.05em !important;
}

.project-card-server {
  color: var(--text-faint) !important;
}

.proj-badge.active {
  background: rgba(212, 165, 116, 0.1) !important;
  color: var(--moon-gold) !important;
  border: 1px solid rgba(212, 165, 116, 0.2) !important;
}

.proj-badge.done {
  background: rgba(111, 195, 168, 0.1) !important;
  color: var(--ok) !important;
  border: 1px solid rgba(111, 195, 168, 0.2) !important;
}

.proj-badge.enabled {
  background: var(--moon-gold-faint) !important;
  color: var(--moon-gold) !important;
  border: 1px solid rgba(212, 165, 116, 0.18) !important;
}

.proj-badge.planned {
  background: rgba(136, 146, 176, 0.08) !important;
  color: var(--text-soft) !important;
  border: 1px solid rgba(136, 146, 176, 0.15) !important;
}

.proj-badge.pending {
  background: rgba(212, 165, 116, 0.08) !important;
  color: var(--warn) !important;
  border: 1px solid rgba(212, 165, 116, 0.15) !important;
}

/* ─── 15. Agent 卡片 ─── */
.agent-name {
  font-family: var(--font-serif) !important;
  letter-spacing: 0.05em !important;
}

.agent-icon.claw {
  background: linear-gradient(135deg, rgba(212, 165, 116, 0.15), rgba(212, 165, 116, 0.05)) !important;
  border: 1px solid rgba(212, 165, 116, 0.25) !important;
  color: var(--moon-gold) !important;
}

.agent-icon.mcp {
  background: linear-gradient(135deg, rgba(167, 139, 250, 0.12), rgba(212, 165, 116, 0.06)) !important;
  border: 1px solid rgba(167, 139, 250, 0.2) !important;
}

.agent-icon.gh {
  background: linear-gradient(135deg, rgba(111, 195, 168, 0.12), rgba(212, 165, 116, 0.06)) !important;
  border: 1px solid rgba(111, 195, 168, 0.2) !important;
  color: var(--ok) !important;
}

.agent-heartbeat {
  background: rgba(10, 14, 39, 0.4) !important;
  border: 1px solid var(--glass-border) !important;
}

.agent-card[data-alive="true"]:hover {
  box-shadow: 0 8px 32px rgba(212, 165, 116, 0.08) !important;
}

/* Agent chat button */
.agent-chat-btn {
  background: rgba(212, 165, 116, 0.08) !important;
  border: 1px solid rgba(212, 165, 116, 0.15) !important;
  color: var(--moon-gold) !important;
}

.agent-chat-btn:hover {
  background: rgba(212, 165, 116, 0.15) !important;
  border-color: rgba(212, 165, 116, 0.3) !important;
}

/* OpenClaw phases */
.oc-phase.done {
  background: rgba(111, 195, 168, 0.1) !important;
  color: var(--ok) !important;
  border: 1px solid rgba(111, 195, 168, 0.15) !important;
}

.oc-phase.pending {
  background: rgba(212, 165, 116, 0.08) !important;
  color: var(--warn) !important;
  border: 1px solid rgba(212, 165, 116, 0.15) !important;
}

/* ─── 16. 人格体卡片 ─── */
.persona-pname {
  font-family: var(--font-serif) !important;
}

.persona-icon.zy {
  background: rgba(212, 165, 116, 0.1) !important;
  color: var(--moon-gold) !important;
  border: 1px solid rgba(212, 165, 116, 0.2) !important;
}

.persona-icon.ym {
  background: rgba(167, 139, 250, 0.1) !important;
  color: #c4b5fd !important;
  border: 1px solid rgba(167, 139, 250, 0.2) !important;
}

/* 人格体状态徽章 */
.s-card-badge.badge-ok {
  background: rgba(111, 195, 168, 0.1) !important;
  color: var(--ok) !important;
  border: 1px solid rgba(111, 195, 168, 0.15) !important;
}

.s-card-badge.badge-warn {
  background: rgba(212, 165, 116, 0.1) !important;
  color: var(--warn) !important;
  border: 1px solid rgba(212, 165, 116, 0.15) !important;
}

.s-card-badge.badge-err {
  background: rgba(212, 122, 111, 0.1) !important;
  color: var(--err) !important;
  border: 1px solid rgba(212, 122, 111, 0.15) !important;
}

/* ─── 17. 保护罩日志 ─── */
.shield-layer-tag {
  color: var(--moon-gold) !important;
}

.shield-log-head {
  border-bottom-color: var(--glass-border) !important;
}

.shield-log-title {
  color: var(--text-soft) !important;
}

.shield-log-action.ban {
  color: var(--err) !important;
}

.shield-log-action.unban {
  color: var(--ok) !important;
}

.shield-log-ip {
  color: var(--warn) !important;
}

/* ─── 18. 智库节点 ─── */
.novel-module-name {
  font-family: var(--font-serif) !important;
}

/* ─── 19. 系统状态面板 ─── */
.s-card-title {
  color: var(--text-soft) !important;
}

/* ─── 20. 聊天视图 · 月光金版本 ─── */
.welcome-glyph {
  background: radial-gradient(circle at 35% 35%, rgba(255,255,255,0.1), rgba(212, 165, 116, 0.2) 60%, rgba(90, 60, 31, 0.12)) !important;
  border: 1px solid rgba(212, 165, 116, 0.3) !important;
  color: var(--moon-gold) !important;
  box-shadow: 0 0 16px rgba(212, 165, 116, 0.2) !important;
}

.welcome-title {
  background: none !important;
  -webkit-text-fill-color: var(--text-main) !important;
  -webkit-background-clip: unset !important;
  background-clip: unset !important;
  font-family: var(--font-serif) !important;
  text-shadow: 0 0 20px rgba(212, 165, 116, 0.3);
}

/* 人格体路径卡片 */
.persona-path-card {
  background: var(--glass-bg) !important;
  border: 1px solid var(--glass-border) !important;
}

.persona-path-card:hover {
  border-color: var(--moon-gold-soft) !important;
  box-shadow: 0 4px 24px rgba(212, 165, 116, 0.1) !important;
}

.persona-path-name {
  font-family: var(--font-serif) !important;
}

.persona-path-icon.notion-icon {
  background: linear-gradient(135deg, rgba(212, 165, 116, 0.15), rgba(167, 139, 250, 0.08)) !important;
  border: 1px solid rgba(212, 165, 116, 0.25) !important;
  color: var(--moon-gold) !important;
}

.persona-path-icon.github-icon {
  background: linear-gradient(135deg, rgba(111, 195, 168, 0.12), rgba(212, 165, 116, 0.08)) !important;
  border: 1px solid rgba(111, 195, 168, 0.2) !important;
  color: var(--ok) !important;
}

.persona-path-dot.ok {
  background: var(--ok) !important;
  box-shadow: 0 0 6px rgba(111, 195, 168, 0.4) !important;
}

.persona-path-card:hover .persona-path-arrow {
  color: var(--moon-gold) !important;
}

/* Chat hints */
.hint-chip {
  background: var(--moon-gold-faint) !important;
  border: 1px solid rgba(212, 165, 116, 0.15) !important;
  color: var(--text-soft) !important;
}

.hint-chip:hover {
  border-color: var(--moon-gold-soft) !important;
  color: var(--text-main) !important;
  background: rgba(212, 165, 116, 0.15) !important;
}

/* Chat input area */
.input-area {
  background: rgba(10, 14, 39, 0.9) !important;
  border-top-color: var(--glass-border) !important;
}

.input-wrap {
  background: var(--glass-bg) !important;
  border-color: var(--glass-border) !important;
}

.input-wrap:focus-within {
  border-color: var(--moon-gold-soft) !important;
}

.send-btn {
  background: linear-gradient(135deg, var(--moon-gold), rgba(212, 165, 116, 0.6)) !important;
}

/* Persona selector */
.persona-selector {
  background: rgba(15, 19, 51, 0.7) !important;
  border: 1px solid var(--glass-border) !important;
}

.persona-sel-btn.active {
  background: var(--moon-gold-faint) !important;
  border-color: rgba(212, 165, 116, 0.25) !important;
  color: var(--moon-gold) !important;
}

.persona-sel-btn.active .persona-sel-name {
  color: var(--moon-gold) !important;
}

.persona-sel-icon.zy-sel {
  background: rgba(212, 165, 116, 0.1) !important;
  color: var(--moon-gold) !important;
  border: 1px solid rgba(212, 165, 116, 0.2) !important;
}

/* Chat target bar */
.chat-target-bar {
  background: rgba(15, 19, 51, 0.5) !important;
  border: 1px solid var(--glass-border) !important;
}

.chat-target-select {
  background: rgba(15, 19, 51, 0.8) !important;
  border: 1px solid var(--glass-border) !important;
}

.chat-target-select:focus {
  border-color: var(--moon-gold) !important;
}

/* ─── 21. 登录面板 · 与深空同源 ─── */
.login-card {
  background: rgba(15, 19, 51, 0.8) !important;
  border: 1px solid var(--glass-border) !important;
  backdrop-filter: blur(24px) !important;
  -webkit-backdrop-filter: blur(24px) !important;
}

.login-glyph {
  background: radial-gradient(circle at 35% 35%, rgba(255,255,255,0.1), rgba(212, 165, 116, 0.2) 60%, rgba(90, 60, 31, 0.15)) !important;
  border: 1px solid rgba(212, 165, 116, 0.3) !important;
  color: var(--moon-gold) !important;
  box-shadow: 0 0 16px rgba(212, 165, 116, 0.2);
  animation: consoleBreathe 4s ease-in-out infinite !important;
}

.login-input {
  background: rgba(10, 14, 39, 0.6) !important;
  border: 1px solid var(--glass-border) !important;
}

.login-input:focus {
  border-color: var(--moon-gold) !important;
  box-shadow: 0 0 12px rgba(212, 165, 116, 0.15);
}

.login-send-btn {
  border: 1px solid rgba(212, 165, 116, 0.25) !important;
  background: rgba(212, 165, 116, 0.08) !important;
  color: var(--moon-gold) !important;
}

.login-send-btn:hover:not(:disabled) {
  background: rgba(212, 165, 116, 0.15) !important;
  border-color: rgba(212, 165, 116, 0.4) !important;
}

.login-submit {
  background: linear-gradient(135deg, rgba(212, 165, 116, 0.2), rgba(167, 139, 250, 0.12)) !important;
  border: 1px solid rgba(212, 165, 116, 0.25) !important;
}

.login-submit:hover:not(:disabled) {
  background: linear-gradient(135deg, rgba(212, 165, 116, 0.3), rgba(167, 139, 250, 0.2)) !important;
  border-color: rgba(212, 165, 116, 0.5) !important;
}

.login-msg.ok {
  color: var(--ok) !important;
}

.login-msg.err {
  color: var(--err) !important;
}

.login-msg.info {
  color: var(--moon-gold) !important;
}

/* 登录用户条 */
.login-user-bar {
  background: rgba(212, 165, 116, 0.06) !important;
  border: 1px solid rgba(212, 165, 116, 0.1) !important;
}

.login-user-bar:hover {
  border-color: rgba(212, 165, 116, 0.25) !important;
}

.login-user-dot {
  background: var(--ok) !important;
  box-shadow: 0 0 6px rgba(111, 195, 168, 0.5) !important;
}

/* ─── 22. 标签 chips ─── */
.chip.gold,
.data-src-tag.live {
  background: var(--moon-gold-faint) !important;
  color: var(--moon-gold) !important;
  border: 1px solid var(--moon-gold-soft) !important;
}

.chip.soft {
  background: rgba(136, 146, 176, 0.1) !important;
  color: var(--text-soft) !important;
  border: 1px solid rgba(136, 146, 176, 0.2) !important;
}

/* ─── 23. 滚动条 · 月光金 ─── */
::-webkit-scrollbar-thumb {
  background: rgba(212, 165, 116, 0.15) !important;
}

::-webkit-scrollbar-thumb:hover {
  background: rgba(212, 165, 116, 0.25) !important;
}

/* ─── 24. 导航标签 ─── */
.nav-tab.active {
  color: var(--moon-gold) !important;
  border-bottom-color: var(--moon-gold) !important;
}

/* ─── 25. New chat button ─── */
.new-chat-btn {
  border: 1px dashed var(--glass-border) !important;
  background: var(--moon-gold-faint) !important;
  color: var(--moon-gold) !important;
}

.new-chat-btn:hover {
  background: rgba(212, 165, 116, 0.12) !important;
  border-color: var(--moon-gold) !important;
}

/* ─── 26. Tools panel ─── */
.tools-panel {
  background: rgba(15, 19, 51, 0.9) !important;
  border: 1px solid var(--glass-border) !important;
}

.tool-card {
  background: var(--glass-bg) !important;
  border: 1px solid var(--glass-border) !important;
}

.tool-card:hover {
  border-color: var(--moon-gold-soft) !important;
  background: var(--moon-gold-faint) !important;
}

.tool-status.connected {
  color: var(--ok) !important;
  background: rgba(111, 195, 168, 0.08) !important;
  border-color: rgba(111, 195, 168, 0.15) !important;
}

/* ─── 27. System status dots · enhanced ─── */
#sysDot_main.on, #sysDot_mcp.on, #sysDot_glada.on, #sysDot_ops.on,
.srv-status-dot.on {
  animation: consoleStatusPulse 2s ease-in-out infinite !important;
}

@keyframes consoleStatusPulse {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.3); opacity: 0.7; }
}

/* ─── 28. 认知链 · Cognitive Chain ─── */
.cog-node.notion {
  color: var(--moon-gold) !important;
  border-color: rgba(212, 165, 116, 0.2) !important;
  background: rgba(212, 165, 116, 0.05) !important;
}

.cog-node.web {
  color: var(--ok) !important;
  border-color: rgba(111, 195, 168, 0.2) !important;
  background: rgba(111, 195, 168, 0.05) !important;
}

.cog-node.github {
  color: var(--ok) !important;
  border-color: rgba(111, 195, 168, 0.2) !important;
  background: rgba(111, 195, 168, 0.05) !important;
}

/* ─── 29. 消息气泡 · subtle gold ─── */
.msg-content.ai strong,
.msg-content.ai b {
  color: var(--moon-gold) !important;
}

.msg-content.ai h2 {
  color: var(--moon-gold) !important;
}

.msg-meta {
  background: rgba(212, 165, 116, 0.04) !important;
  border: 1px solid rgba(212, 165, 116, 0.08) !important;
}

.msg-meta-item .value {
  color: var(--moon-gold) !important;
}

/* ─── 30. Connection log ─── */
.conn-log {
  background: rgba(10, 14, 39, 0.7) !important;
  border: 1px solid var(--glass-border) !important;
}

.conn-log-line.log-ok .log-msg {
  color: var(--ok) !important;
}

.conn-log-line.log-info .log-msg {
  color: var(--moon-gold) !important;
}

/* ─── 31. Data freshness tag ─── */
.s-card-fresh {
  animation: consoleFreshPulse 0.8s ease-out !important;
}

@keyframes consoleFreshPulse {
  0% { border-color: rgba(212, 165, 116, 0.35); }
  100% { border-color: var(--glass-border); }
}

/* ─── 32. Reduced Motion ─── */
@media (prefers-reduced-motion: reduce) {
  .sky-sweep { animation: none !important; }
  body::after { animation: none !important; }
}

/* ─── 33. 链接色 · 月光金 ─── */
a {
  color: var(--moon-gold);
}

a:hover {
  color: #e8c49a;
}

/* 保留聊天内特殊链接 */
.msg-content a {
  color: var(--moon-gold);
  text-decoration: underline;
  text-decoration-color: rgba(212, 165, 116, 0.3);
}

/* ─── 34. 用户消息气泡 · 月光金调 ─── */
.msg-content.user {
  background: rgba(212, 165, 116, 0.07) !important;
  border: 1px solid rgba(212, 165, 116, 0.1) !important;
}

.msg-avatar.user {
  background: rgba(212, 165, 116, 0.06) !important;
  border: 1px solid rgba(212, 165, 116, 0.12) !important;
  color: var(--moon-gold) !important;
}

/* AI 消息保持紫色调以区分 */
.msg-content.ai {
  background: rgba(167, 139, 250, 0.05) !important;
  border: 1px solid rgba(167, 139, 250, 0.08) !important;
}

.msg-avatar.ai {
  background: linear-gradient(135deg, rgba(212, 165, 116, 0.1), rgba(167, 139, 250, 0.08)) !important;
  border: 1px solid rgba(212, 165, 116, 0.15) !important;
  color: var(--moon-gold) !important;
}

/* ─── 35. 系统步骤点 · 统一色调 ─── */
.sys-step .dot.pending {
  background: var(--warn) !important;
  box-shadow: 0 0 5px rgba(212, 165, 116, 0.4) !important;
}

.sys-step .dot.done {
  background: var(--ok) !important;
  box-shadow: 0 0 5px rgba(111, 195, 168, 0.4) !important;
}

.sys-step .dot.active {
  background: var(--moon-gold) !important;
  box-shadow: 0 0 7px rgba(212, 165, 116, 0.5) !important;
}

/* ─── 36. Welcome 状态点 ─── */
.ws-dot.online {
  background: var(--ok) !important;
  box-shadow: 0 0 8px rgba(111, 195, 168, 0.4) !important;
}

.ws-dot.offline {
  background: var(--err) !important;
  box-shadow: 0 0 5px rgba(212, 122, 111, 0.3) !important;
}

/* ─── 37. Dashboard Headline 光晕 ─── */
.dash-headline::before {
  background: radial-gradient(circle, rgba(212, 165, 116, 0.04), transparent 70%) !important;
}

.dash-section::before {
  background: radial-gradient(circle, rgba(212, 165, 116, 0.025), transparent 70%) !important;
}

/* ─── 38. 数据解释卡片 ─── */
.s-card-explain {
  background: rgba(212, 165, 116, 0.03) !important;
  border: 1px solid rgba(212, 165, 116, 0.06) !important;
}

/* ─── 38b. 进度条 ─── */
.prog-fill.ok {
  background: linear-gradient(90deg, var(--ok), var(--moon-gold)) !important;
}

.prog-fill.warn {
  background: linear-gradient(90deg, var(--warn), var(--err)) !important;
}

/* ─── 39. Nav Tabs (chat/dashboard) ─── */
.nav-tab {
  border-bottom: 2px solid transparent;
}

.nav-tab:hover {
  color: var(--text-main) !important;
}

/* ─── 40. CAB 看板 · 待办状态色 ─── */
.proj-badge.error {
  background: rgba(212, 122, 111, 0.1) !important;
  color: var(--err) !important;
  border: 1px solid rgba(212, 122, 111, 0.2) !important;
}

/* ─── 41. Back link ─── */
.back-link {
  color: var(--text-soft) !important;
}

.back-link:hover {
  color: var(--moon-gold) !important;
  border-color: var(--glass-border) !important;
}

/* ─── 42. 移动端适配 ─── */
@media (max-width: 768px) {
  .sky-sweep {
    display: none;
  }
}
