/**
 * 首页设计规范 — 清爽数据风
 * 在 global-optimize 之后、各页面 CSS 之前加载
 */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,500;9..40,600;9..40,700&family=Noto+Sans+SC:wght@400;500;600;700&display=swap');

:root {
  --c-bg: #f5f6f8;
  --c-bg-soft: #eef1f6;
  --c-card: #ffffff;
  --c-primary: #4f46e5;
  --c-primary-hover: #4338ca;
  --c-primary-soft: #eef2ff;
  --c-primary-muted: rgba(79, 70, 229, 0.12);
  --c-text: #1e293b;
  --c-text-secondary: #475569;
  --c-muted: #64748b;
  --c-border: #e2e8f0;
  --c-border-light: #eef1f5;
  --c-big: #ef4444;
  --c-small: #3b82f6;
  --c-success: #22c55e;
  --c-warning: #f59e0b;
  --font-ui: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
  --font-num: "DM Sans", "Noto Sans SC", ui-monospace, tabular-nums, sans-serif;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-xl: 20px;
  --shadow-sm: 0 1px 3px rgba(15, 23, 42, 0.06);
  --shadow-md: 0 4px 16px rgba(15, 23, 42, 0.08);
  --shadow-primary: 0 4px 14px rgba(79, 70, 229, 0.22);
  --text-title: 17px;
  --text-body: 14px;
  --text-caption: 12px;
  --text-micro: 13px;
  --header-gradient: linear-gradient(135deg, #6366f1 0%, #818cf8 100%);
}

body {
  font-family: var(--font-ui);
  font-size: var(--text-body);
  line-height: 1.55;
  color: var(--c-text);
  background: var(--c-bg) !important;
  -webkit-font-smoothing: antialiased;
}

#homePage,
#algoPage,
#myPage {
  background: linear-gradient(180deg, var(--c-bg) 0%, var(--c-bg-soft) 42%, var(--c-bg) 100%) !important;
}

/* 顶栏 */
.site-header {
  background: var(--header-gradient) !important;
  box-shadow: 0 4px 20px rgba(99, 102, 241, 0.28) !important;
}

.site-title {
  font-weight: 600 !important;
  letter-spacing: 0.01em;
}

#userArea .login-btn {
  color: var(--c-primary) !important;
}

.nav-tab.active {
  color: var(--c-primary) !important;
}

/* 算法公式卡 */
.formulaCard {
  border-radius: var(--radius-lg) !important;
  border-color: var(--c-border) !important;
  box-shadow: var(--shadow-sm) !important;
}

.formulaCard:hover {
  box-shadow: var(--shadow-md) !important;
  border-color: var(--c-primary-muted) !important;
}

.formulaCard .card-body {
  font-size: var(--text-micro);
}

/* 数字等宽 */
.hall-draw-ball,
.hall-draw-countdown strong,
.dash-countdown-time,
.dash-num-box,
.dash-num-sum,
.dash-table td:first-child {
  font-family: var(--font-num);
  font-variant-numeric: tabular-nums;
}
