/* ============================================================
   AI 驾驶舱 · 赛博主题（作者同款）
   仅覆盖变量与少量质感，不改布局
   ============================================================ */
body[data-theme="cyber"]{
  --bg:#0b1020; --bg2:rgba(18,25,45,.76); --card:rgba(23,31,55,.78); --card2:rgba(29,39,68,.72);
  --ink:#f1f3fb; --sub:#a9b2c8; --muted:#707b96; --line:rgba(150,171,224,.16); --line2:rgba(150,171,224,.28);
  --accent:#8de8c0; --accent-soft:rgba(141,232,192,.12); --accent-ink:#b5f3d8;
  --ok:#8de8c0; --ok-soft:rgba(141,232,192,.12);
  --warn:#f0c276; --warn-soft:rgba(240,194,118,.13);
  --danger:#ff8295; --danger-soft:rgba(255,130,149,.13);
  --ai:#b7a2ff; --ai-soft:rgba(183,162,255,.14);
  --shadow:0 14px 38px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.045);
  --shadow-lift:0 20px 48px rgba(0,0,0,.35),0 0 0 1px rgba(141,232,192,.18);
  --radius:16px; --radius-sm:11px; --radius-lg:22px;
  /* 顶栏底色必须跟着主题走。默认主题是暖白的半透明，
     落在暗底上会把顶栏刷成浅色，而字又是浅色 —— 标题就看不见了。 */
  --topbar-bg:rgba(14,20,29,.86);
  --font:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
  --mono:'SF Mono','JetBrains Mono',Menlo,Consolas,monospace;
  color-scheme:dark;
}
body[data-theme="cyber"]{
  background:
    radial-gradient(ellipse at 8% -8%,rgba(116,142,255,.23),transparent 38%),
    radial-gradient(ellipse at 92% 8%,rgba(89,218,181,.13),transparent 35%),
    linear-gradient(135deg,#0b1020 0%,#11182c 48%,#0b1221 100%);
}
/* 赛博主题不区分地方色：它本来就是一套单色霓虹，再上三个色就花了。
   所以这里把「地方色」全部收回到主色。 */
body[data-theme="cyber"][data-dom]{--dom:var(--accent);--dom-soft:var(--accent-soft)}
/* 导航的分组小标题在这个主题里也走等宽字，跟其余标签一致 */
body[data-theme="cyber"] .sidebar{background:rgba(10,15,30,.72);border-right-color:rgba(154,173,229,.14);backdrop-filter:blur(22px)}
body[data-theme="cyber"] .ng-head{font-family:var(--font);letter-spacing:.08em;opacity:.72}
body[data-theme="cyber"] .nav-item.active::before{background:var(--accent);box-shadow:0 0 14px rgba(141,232,192,.8)}
body[data-theme="cyber"] .brand{color:var(--accent);text-shadow:0 0 18px rgba(141,232,192,.28)}
body[data-theme="cyber"] .nav-item{border-radius:13px;border-left:2px solid transparent}
body[data-theme="cyber"] .nav-item:hover{background:rgba(255,255,255,.055)}
body[data-theme="cyber"] .nav-item.active{border-left-color:var(--accent);background:linear-gradient(90deg,rgba(141,232,192,.14),rgba(141,232,192,.04));text-shadow:none}
body[data-theme="cyber"] .btn{border-radius:10px;font-size:13px}
body[data-theme="cyber"] .btn.primary{background:linear-gradient(135deg,#8de8c0,#7db7ff);border-color:transparent;color:#0d1725;box-shadow:0 8px 24px rgba(125,183,255,.22)}
body[data-theme="cyber"] .btn:hover{box-shadow:0 8px 24px rgba(125,183,255,.16)}
body[data-theme="cyber"] .card,body[data-theme="cyber"] .report-item,body[data-theme="cyber"] .kb-item,
body[data-theme="cyber"] .sig-item,body[data-theme="cyber"] .mail-item,body[data-theme="cyber"] .kg-node,
body[data-theme="cyber"] .stat-card,body[data-theme="cyber"] .kb-col{border-radius:16px;background:linear-gradient(145deg,rgba(27,37,66,.82),rgba(18,26,48,.72));border-color:rgba(160,180,232,.15)}
body[data-theme="cyber"] .stat-card .n{text-shadow:0 0 18px rgba(141,232,192,.35)}
body[data-theme="cyber"] .sync-dot.on{box-shadow:0 0 10px var(--ok)}
body[data-theme="cyber"] .modal{border-radius:20px;border-color:var(--line2);background:rgba(19,27,49,.92);backdrop-filter:blur(24px)}
body[data-theme="cyber"] .todaychip{color:var(--accent);font-family:var(--font);background:rgba(255,255,255,.06)}
body[data-theme="cyber"] .case-launcher{color:var(--ink);background:rgba(255,255,255,.06);border-color:rgba(160,180,232,.24)}
body[data-theme="cyber"] .case-launcher:hover{background:rgba(141,232,192,.12);border-color:var(--accent)}
body[data-theme="cyber"] .topbar{background:rgba(12,18,35,.72);border-bottom-color:rgba(160,180,232,.14)}
body[data-theme="cyber"] .content{background:radial-gradient(ellipse at 50% 0%,rgba(125,183,255,.035),transparent 48%)}
