/* 职途指南 · 全站设计令牌与共享组件（oil-ui-plus 改版）
   在 css/style.css 之后引入，覆盖其配色令牌：深色顶栏/页脚 + 纸色底 + 荧光黄绿强调。
   所有页面（含构建脚本生成的聚合页、详情页）都引入本文件；首页专属样式见 css/home.css。 */
:root {
  --ink: #0e1211; --ink-soft: #171d1b; --lime: #c9f158; --lime-2: #d8f97f; --lime-soft: #eef8cf;
  --paper: #f2f3ee; --paper-2: #e9ebe3; --line: #dcdfd4; --muted-d: #949e96;
  /* 覆盖 style.css 的令牌，组件自动跟随 */
  --bg: #f2f3ee;
  --surface: #ffffff;
  --text: #14181a;
  --muted: #5a625d;          /* 在纸色/白底上对比度 ≥ 5.5 */
  --border: #dcdfd4;
  --brand: #14181a;          /* 主按钮：墨色底 + 白字 */
  --brand-dark: #0e1211;
  --brand-soft: #eef8cf;     /* 选中/悬停：浅黄绿 */
  --accent: #c9f158;
  --shadow: none;
  --shadow-hover: 0 8px 24px rgba(14, 18, 17, .08);
}
body { background: var(--bg); color: var(--text); }
a { color: var(--text); }
a:hover { color: var(--ink); }
:focus-visible { outline: 2px solid var(--text); outline-offset: 3px; border-radius: 6px; }
.site-header :focus-visible, .site-footer :focus-visible { outline-color: var(--lime); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* 顶栏 */
.site-header { background: var(--ink); border-bottom: 1px solid rgba(255,255,255,.08); backdrop-filter: none; -webkit-backdrop-filter: none; }
.logo { color: #eef2e9; white-space: nowrap; flex: 0 0 auto; }
.logo:hover { color: #fff; }
.logo .mark { background: var(--lime); color: var(--ink); box-shadow: none; }
.nav a { color: #b3bdb5; background: transparent; border-radius: 0; position: relative; }
.nav a:hover { color: #fff; background: transparent; }
.nav a.active { color: #fff; background: transparent; }
.nav a.active::after { content: ""; position: absolute; left: 10px; right: 10px; bottom: 0; height: 2px; border-radius: 2px; background: var(--lime); }
/* 手机端：logo 一行、导航单独一行等分铺满，五个入口全部可见（修复「收藏」「关于」被裁） */
@media (max-width: 640px) {
  .site-header .inner { height: auto; flex-wrap: wrap; row-gap: 0; padding-top: 8px; padding-bottom: 2px; }
  .nav { width: 100%; margin-left: 0; flex-wrap: nowrap; overflow: visible; justify-content: space-between; gap: 0; }
  .nav a { padding: 8px 6px; font-size: 14px; }
  .nav a.active::after { left: 6px; right: 6px; }
}

/* 页脚 */
.site-footer { background: var(--ink); color: #a9b3ac; border-top: 0; }
.site-footer a { color: #d3dad4; }
.site-footer a:hover { color: var(--lime); }

/* 区块标题 */
.section-head h2 { font-weight: 800; letter-spacing: -.01em; }
.section-head .more { font-weight: 600; color: var(--text); border-bottom: 2px solid var(--lime); }
.section-head .more:hover { border-color: var(--text); }
.crumbs a:hover { color: var(--text); text-decoration: underline; text-decoration-color: var(--lime); }

/* 卡片：扁平白卡 + 细线，悬停墨色描边 */
.job-card, .link-card, .company-card, .job-detail, .similar-card, .stat-card, .cmp-scroll, .prose {
  border-color: var(--line); box-shadow: none;
}
.job-card:hover, .link-card:hover, .company-card:hover, .similar-card:hover { border-color: var(--text); box-shadow: var(--shadow-hover); }
.job-card h3 a:hover, .company-card:hover .name { color: var(--text); text-decoration: underline; text-decoration-color: var(--lime); text-decoration-thickness: 3px; }
.job-card .salary { color: var(--text); }
.job-card .foot a, .company-card .go { color: var(--text); font-weight: 600; }
.job-card .foot a { border-bottom: 2px solid var(--lime); }
.link-card .tagline, .link-card .best-for b, .link-card .tips b { color: var(--text); }

/* chips / 按钮 / 表单 */
.chip { background: transparent; border-color: #c4c9bb; color: var(--text); }
.chip:hover { background: var(--lime); border-color: var(--lime); color: var(--ink); }
.chip .n { color: var(--muted); font-variant-numeric: tabular-nums; }
.chip-on, .chip.on, .chip.active { background: var(--lime-soft); border-color: #a8c94a; color: var(--ink); }
.btn-more { background: transparent; color: var(--text); border-color: #c4c9bb; }
.btn-more:hover { border-color: var(--text); box-shadow: none; }
.search-box button, .toolbar button:not(.btn-filter), .btn-primary { background: var(--ink); color: #fff; }
.search-box button:hover, .btn-primary:hover { background: #262d2b; color: #fff; }
.toolbar input:focus, .toolbar select:focus, .search-box input:focus { border-color: var(--ink); box-shadow: 0 0 0 3px rgba(201,241,88,.35); outline: none; }
.btn-filter.on, [aria-expanded="true"].btn-filter { border-color: var(--ink); background: var(--lime-soft); color: var(--ink); }
.new-banner { background: var(--lime); color: var(--ink); border: 0; }
.new-banner b { color: var(--ink); }
.new-banner a { color: var(--ink); font-weight: 700; text-decoration: underline; }
.skeleton { background: linear-gradient(90deg, #e9ebe3 25%, #dfe2d6 37%, #e9ebe3 63%); background-size: 400% 100%; }

/* 对比度修正（WCAG AA ≥ 4.5） */
.site-footer .inner { color: #a9b3ac; }
.co-badge { color: hsl(var(--h, 220) 60% 28%); }
.job-detail-actions .salary { color: var(--text); }
.pill { background: #e9ebe3; color: #3f4743; }
.pill.intern { background: #fff1e6; color: #9a3f0f; }
.pill.full { background: #e4f1fb; color: #134f80; }
.pill.campus { background: #f1e9ff; color: #5331b8; }
.pill.new { background: var(--lime); color: var(--ink); }
