/* 红旗工匠筑梦云 · 视觉系统 v0.6 (2026-08-13)
 * 配套：docs/operations/visual-system.md
 */

:root {
  /* 主色 */
  --hq-red: #C8102E;
  --hq-orange: #F18E00;

  /* 辅色 */
  --hq-gold: #D4AF37;
  --hq-green: #28A745;

  /* 中性色 */
  --hq-black: #212529;
  --hq-gray: #6C757D;
  --hq-bg: #F5F5F5;
  --hq-white: #FFFFFF;
  --hq-border: #DEE2E6;

  /* 文字尺寸 */
  --hq-h1: 32px;
  --hq-h2: 24px;
  --hq-h3: 18px;
  --hq-body: 14px;
  --hq-small: 12px;

  /* 间距 */
  --hq-pad-xs: 4px;
  --hq-pad-sm: 8px;
  --hq-pad-md: 16px;
  --hq-pad-lg: 24px;
  --hq-pad-xl: 32px;

  /* 圆角 */
  --hq-radius-sm: 4px;
  --hq-radius-md: 8px;
  --hq-radius-lg: 16px;

  /* 阴影 */
  --hq-shadow-sm: 0 1px 4px rgba(0, 0, 0, 0.04);
  --hq-shadow-md: 0 2px 8px rgba(0, 0, 0, 0.06);
  --hq-shadow-lg: 0 4px 16px rgba(0, 0, 0, 0.08);
}

/* 全局 */
body {
  background: var(--hq-bg);
  color: var(--hq-black);
  font-family: 'Source Han Sans CN', 'PingFang SC', 'Microsoft YaHei', sans-serif;
  font-size: var(--hq-body);
  margin: 0;
}

/* Logo */
.hq-logo {
  display: inline-flex;
  align-items: center;
  gap: var(--hq-pad-sm);
  color: var(--hq-red);
  font-weight: bold;
  font-size: var(--hq-h3);
  text-decoration: none;
}
.hq-logo-mark {
  width: 32px;
  height: 32px;
  background: var(--hq-red);
  border-radius: 50%;
  display: inline-block;
  position: relative;
}
.hq-logo-mark::before {
  content: "★";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: var(--hq-white);
  font-size: 18px;
}

/* 按钮 */
.btn-hq-primary {
  background: var(--hq-red);
  color: var(--hq-white);
  border: none;
  padding: var(--hq-pad-sm) var(--hq-pad-lg);
  border-radius: var(--hq-radius-sm);
  cursor: pointer;
  font-size: var(--hq-body);
  transition: all 0.2s;
}
.btn-hq-primary:hover {
  background: #A00D24;
  transform: scale(1.02);
  box-shadow: var(--hq-shadow-md);
}

.btn-hq-secondary {
  background: var(--hq-white);
  color: var(--hq-red);
  border: 1px solid var(--hq-red);
  padding: var(--hq-pad-sm) var(--hq-pad-lg);
  border-radius: var(--hq-radius-sm);
  cursor: pointer;
}

.btn-hq-learn {
  background: var(--hq-orange);
  color: var(--hq-white);
  border: none;
  padding: var(--hq-pad-sm) var(--hq-pad-lg);
  border-radius: var(--hq-radius-sm);
  cursor: pointer;
}

.btn-hq-master {
  background: var(--hq-gold);
  color: var(--hq-white);
  border: none;
  padding: var(--hq-pad-sm) var(--hq-pad-lg);
  border-radius: var(--hq-radius-sm);
  cursor: pointer;
}

/* 卡片 */
.hq-card {
  background: var(--hq-white);
  border-radius: var(--hq-radius-md);
  box-shadow: var(--hq-shadow-md);
  padding: var(--hq-pad-md);
  transition: all 0.2s;
}
.hq-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--hq-shadow-lg);
}

/* Banner */
.hq-banner {
  background: linear-gradient(135deg, var(--hq-red) 0%, var(--hq-orange) 100%);
  color: var(--hq-white);
  padding: var(--hq-pad-xl);
  text-align: center;
}
.hq-banner h1 {
  font-size: var(--hq-h1);
  margin: 0 0 var(--hq-pad-md);
}
.hq-banner p {
  font-size: var(--hq-h3);
  margin: 0;
  opacity: 0.9;
}

/* 导航 */
.hq-nav {
  background: var(--hq-white);
  box-shadow: var(--hq-shadow-sm);
  height: 56px;
  display: flex;
  align-items: center;
  padding: 0 var(--hq-pad-lg);
  gap: var(--hq-pad-lg);
}
.hq-nav a {
  color: var(--hq-black);
  text-decoration: none;
  padding: var(--hq-pad-sm) var(--hq-pad-md);
  border-radius: var(--hq-radius-sm);
}
.hq-nav a:hover {
  background: var(--hq-bg);
  color: var(--hq-red);
}
.hq-nav a.active {
  color: var(--hq-red);
  border-bottom: 2px solid var(--hq-red);
}

/* 徽章 */
.hq-badge {
  display: inline-block;
  padding: 2px 8px;
  border-radius: var(--hq-radius-sm);
  font-size: var(--hq-small);
  margin-right: 4px;
}
.hq-badge-national { background: var(--hq-green); color: var(--hq-white); }
.hq-badge-job { background: var(--hq-red); color: var(--hq-white); }
.hq-badge-master { background: var(--hq-gold); color: var(--hq-white); }
.hq-badge-learn { background: var(--hq-orange); color: var(--hq-white); }
.hq-badge-small { background: var(--hq-gray); color: var(--hq-white); }

/* 表单 */
.hq-input {
  height: 40px;
  padding: 0 var(--hq-pad-sm);
  border: 1px solid var(--hq-border);
  border-radius: var(--hq-radius-sm);
  font-size: var(--hq-body);
  outline: none;
}
.hq-input:focus {
  border-color: var(--hq-red);
  box-shadow: 0 0 0 3px rgba(200, 16, 46, 0.2);
}

/* Footer */
.hq-footer {
  background: var(--hq-black);
  color: rgba(255,255,255,0.7);
  padding: var(--hq-pad-xl);
  text-align: center;
  margin-top: var(--hq-pad-xl);
}
.hq-footer a {
  color: var(--hq-white);
  text-decoration: none;
  margin: 0 var(--hq-pad-sm);
}

/* 响应式 */
@media (max-width: 768px) {
  .hq-banner h1 { font-size: var(--hq-h2); }
  .hq-banner p { font-size: var(--hq-body); }
  .hq-nav { padding: 0 var(--hq-pad-sm); gap: var(--hq-pad-sm); }
  .hq-nav a { padding: var(--hq-pad-xs) var(--hq-pad-sm); }
}

/* ===== v0.8 专业顶栏（对标 BOSS 直聘 / 拉勾） ===== */
.site-header { position: sticky; top: 0; z-index: 100; background: white; border-bottom: 1px solid #F0F0F0; box-shadow: 0 1px 3px rgba(0,0,0,0.04); padding: 0; }
.site-header-inner { max-width: 1200px; margin: 0 auto; padding: 0 24px; height: 64px; display: flex; align-items: center; gap: 32px; }
.site-logo { display: flex; align-items: center; gap: 10px; text-decoration: none; flex-shrink: 0; }
.site-logo-icon { width: 36px; height: 36px; background: linear-gradient(135deg, #C8102E, #8B0000); border-radius: 8px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(200,16,46,0.25); }
.site-logo-icon svg { color: white; }
.site-logo-text { font-size: 18px; font-weight: 700; color: #C8102E; letter-spacing: 0.5px; }
.site-nav { display: flex; gap: 4px; flex: 1; }
.site-nav a { padding: 0 16px; height: 64px; display: inline-flex; align-items: center; gap: 6px; color: #555; text-decoration: none; font-size: 15px; font-weight: 500; border-bottom: 2px solid transparent; transition: all 0.15s; }
.site-nav a:hover { color: #C8102E; background: #FAFAFA; }
.site-nav a.active { color: #C8102E; font-weight: 600; border-bottom-color: #C8102E; background: linear-gradient(180deg, transparent 0%, rgba(200,16,46,0.04) 100%); }
.site-nav svg { color: currentColor; opacity: 0.7; }
.site-nav a.active svg { opacity: 1; }
.site-header-right { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
.site-link { color: #555; text-decoration: none; padding: 8px 14px; font-size: 14px; border-radius: 6px; transition: all 0.15s; }
.site-link:hover { color: #C8102E; background: #FAFAFA; }
.site-btn-primary { background: linear-gradient(135deg, #C8102E, #E63946); color: white !important; text-decoration: none; padding: 9px 20px; border-radius: 6px; font-size: 14px; font-weight: 500; box-shadow: 0 2px 8px rgba(200,16,46,0.25); transition: all 0.15s; }
.site-btn-primary:hover { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(200,16,46,0.35); background: linear-gradient(135deg, #A60D26, #C8102E); }
