

























:root[data-theme="warm"] {
  --bg: #faf6f0;
  --card: #ffffff;
  --text: #2a2320;
  --text-2: rgba(42, 35, 32, 0.82);
  --text-3: rgba(42, 35, 32, 0.5);
  --accent: #c2410c;
  --accent-weak: rgba(194, 65, 12, 0.1);
  --line: rgba(42, 35, 32, 0.1);
  --gray-bg: #f3ece2;
  --success: #2f7d4f;
  --warn: #b45309;
  --shadow: rgba(74, 48, 24, 0.16) 3px 5px 26px;
  --radius-s: 10px;
  --radius-m: 12px;
  --radius-l: 14px;
}


:root[data-theme="tech"] {
  --bg: #0b1016;
  --card: #131a23;
  --text: #e7eef7;
  --text-2: rgba(231, 238, 247, 0.82);
  --text-3: rgba(231, 238, 247, 0.52);
  --accent: #2b8cff;
  --accent-weak: rgba(43, 140, 255, 0.16);
  --line: rgba(255, 255, 255, 0.1);
  --gray-bg: #182231;
  --success: #34d399;
  --warn: #fbbf24;
  --shadow: rgba(0, 0, 0, 0.5) 0 6px 26px;
  --radius-s: 6px;
  --radius-m: 8px;
  --radius-l: 10px;
  
  --sb: rgba(255, 255, 255, 0.16);
  --sb-hover: rgba(255, 255, 255, 0.32);
}


:root[data-theme="hand"] {
  --bg: #fbf7ee;
  --card: #fffdf7;
  --text: #3b3226;
  --text-2: rgba(59, 50, 38, 0.8);
  --text-3: rgba(59, 50, 38, 0.5);
  --accent: #4f7a4a;
  --accent-weak: rgba(79, 122, 74, 0.12);
  --line: rgba(59, 50, 38, 0.16);
  --gray-bg: #f4efe2;
  --success: #3f7a4a;
  --warn: #a0621e;
  --shadow: rgba(90, 74, 52, 0.18) 2px 3px 0;
  --radius-s: 12px;
  --radius-m: 14px;
  --radius-l: 18px;
  
  --font: "楷体", "KaiTi", "STKaiti", "Kaiti SC", "楷体_GB2312",
    -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
}


:root[data-theme="cartoon"] {
  --bg: #eef7ff;
  --card: #ffffff;
  --text: #17324d;
  --text-2: rgba(23, 50, 77, 0.82);
  --text-3: rgba(23, 50, 77, 0.5);
  --accent: #ff6b3d;
  --accent-weak: rgba(255, 107, 61, 0.12);
  --line: rgba(23, 50, 77, 0.1);
  --gray-bg: #e4f0fb;
  --success: #22a06b;
  --warn: #e08a00;
  --shadow: rgba(23, 50, 77, 0.14) 0 6px 20px;
  --radius-s: 14px;
  --radius-m: 18px;
  --radius-l: 22px;
}


:root[data-theme="ai"] {
  --bg: #f6f5ff;
  --card: #ffffff;
  --text: #221d3a;
  --text-2: rgba(34, 29, 58, 0.82);
  --text-3: rgba(34, 29, 58, 0.5);
  --accent: #6d4aff;
  --accent-weak: rgba(109, 74, 255, 0.12);
  --line: rgba(34, 29, 58, 0.1);
  --gray-bg: #efeaff;
  --success: #16a34a;
  --warn: #b45309;
  --shadow: rgba(76, 48, 166, 0.18) 0 8px 30px;
  --radius-s: 12px;
  --radius-m: 14px;
  --radius-l: 16px;
}











:root[data-theme="green"] {
  --bg: #f2f2f2;
  --card: #ffffff;
  --text: #333333;
  --text-2: rgba(0, 0, 0, 0.7);
  --text-3: rgba(0, 0, 0, 0.45);
  --accent: #16baaa;
  --accent-weak: rgba(22, 186, 170, 0.12);
  --line: #e6e6e6;
  --gray-bg: #f7f7f7;
  --success: #16baaa;
  --warn: #ffb800;
  --shadow: rgba(0, 0, 0, 0.16) 0 2px 10px;
  --radius-s: 2px;
  --radius-m: 2px;
  --radius-l: 2px;

  
  --frame-bg: #20222a;
  --frame-fg: #ffffff;
  --frame-fg-2: rgba(255, 255, 255, 0.66);
  --frame-line: rgba(255, 255, 255, 0.08);
}








:root[data-theme="tech"] .btn-danger,
:root[data-theme="tech"] .btn-danger-text,
:root[data-theme="tech"] .field-label .req,
:root[data-theme="tech"] .stat-card-danger .stat-value,
:root[data-theme="tech"] .stat-card-danger .stat-sub,
:root[data-theme="tech"] .update-step.step-fail,
:root[data-theme="tech"] .update-step.step-fail .update-step-mark {
  color: #ff7b72;
}
:root[data-theme="tech"] .btn-danger { color: #1b0a0a; background: #ff7b72; }
:root[data-theme="tech"] .btn-danger-text:hover { background: rgba(255, 123, 114, 0.14); }
:root[data-theme="tech"] .tag-ok { color: #4ade80; background: rgba(74, 222, 128, 0.14); }
:root[data-theme="tech"] .tag-honor { color: #fbbf24; background: rgba(251, 191, 36, 0.16); }
:root[data-theme="tech"] .tag-source.tag-env { color: #fbbf24; background: rgba(251, 191, 36, 0.14); }

:root[data-theme="tech"] .data-table th { background: #182231; }
:root[data-theme="tech"] .data-table tbody tr:hover { background: rgba(255, 255, 255, 0.04); }
