/* =========================================================
   途研 · 全站公共样式
   ---------------------------------------------------------
   - 品牌色、字体等设计变量统一在这里维护，改一处全站生效。
   - 各页面 <style> 写页面专属样式，可覆盖这里的基线。
   - 引入方式：<link rel="stylesheet" href="site.css" />，
     放在字体 link 之后、页面 <style> 之前。
   ========================================================= */

:root {
  --paper: #F4F1E9; --paper-2: #EDE8DC; --surface: #FFFFFF; --surface-2: #FBFAF6;
  --ink: #131C2B; --ink-2: #2A3547; --ink-3: #5B6678; --ink-4: #6E7686; --ink-5: #B3BAC4;
  --rule: #DDD7C9; --rule-2: #E8E3D6; --rule-3: #F0ECDF;
  --brand: #1B2F5C; --brand-2: #0E1B3D; --brand-tint: #E6E9F2;
  --gold: #B68A3E; --gold-soft: #E7D8B5; --gold-bg: #F6EFDC;
  --moss: #3F6B4A; --moss-bg: #E8EFEA; --moss-tint: #C9D6CD;
  --rust: #9C4A2C; --rust-bg: #FAEDE5;
  --serif: "Noto Serif SC", "Songti SC", serif;
  --sans: "Noto Sans SC", -apple-system, "PingFang SC", system-ui, sans-serif;
  --mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;
}

/* 基础重置 */
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
a { color: inherit; text-decoration: none; }
button { font-family: inherit; }
img { display: block; max-width: 100%; }

.tuyan-online-widget {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 70;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 38px;
  padding: 9px 12px;
  border: 1px solid rgba(221,215,201,0.9);
  border-radius: 8px;
  background: rgba(255,255,255,0.92);
  box-shadow: 0 10px 28px rgba(19,28,43,0.12);
  color: var(--ink-3);
  font-family: var(--sans);
  font-size: 12px;
  line-height: 1;
  backdrop-filter: blur(10px);
}
.tuyan-online-dot {
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: var(--moss);
  box-shadow: 0 0 0 4px rgba(63,107,74,0.12);
  flex: 0 0 auto;
}
.tuyan-online-widget strong {
  color: var(--brand);
  font-family: var(--mono);
  font-size: 15px;
  font-weight: 700;
}

/* 学校层次徽章（985/211/双一流）——全站统一，杂志风分级配色：
   985 深蓝最重 · 211 金 · 双一流 苔绿，三色均取自途研色板 */
.tier-row { display: inline-flex; align-items: center; gap: 5px; flex-wrap: wrap; }
.tier-badge {
  font-family: var(--mono); font-size: 10px; font-weight: 600; letter-spacing: 0.01em;
  padding: 2px 7px; border-radius: 4px; line-height: 1.55; white-space: nowrap;
  border: 1px solid transparent;
}
.tier-985 { background: var(--brand-tint); color: var(--brand); border-color: #C7D0E4; }
.tier-211 { background: var(--gold-bg); color: #6F5021; border-color: var(--gold-soft); }
.tier-shuang { background: var(--moss-bg); color: var(--moss); border-color: var(--moss-tint); }

/* 全站紧凑页脚（index 用自己的完整页脚，其余页面统一用这个） */
.site-foot { background: var(--paper); border-top: 1px solid var(--rule-2); padding: 22px 0 26px; font-family: var(--mono); font-size: 12.5px; color: var(--ink-4); letter-spacing: 0.03em; }
.site-foot .sf-inner { max-width: 1200px; margin: 0 auto; padding: 0 32px; display: flex; justify-content: space-between; align-items: center; gap: 8px 16px; flex-wrap: wrap; }
.site-foot a { color: var(--ink-3); }
.site-foot a:hover { color: var(--brand); }

/* 移动端底部固定 CTA（全站统一） */
.mob-cta { display: none; }
@media (max-width: 860px) {
  .site-foot .sf-inner { padding: 0 18px; flex-direction: column; align-items: flex-start; }
  .tuyan-online-widget { right: 12px; bottom: calc(74px + env(safe-area-inset-bottom)); transform: scale(0.92); transform-origin: right bottom; }
  .mob-cta { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; background: rgba(255,255,255,0.97); border-top: 1px solid var(--rule-2); padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); gap: 12px; align-items: center; }
  .mob-cta .mc-t { flex: 1; font-size: 12px; color: var(--ink-3); line-height: 1.4; }
  .mob-cta .mc-t strong { display: block; color: var(--ink); font-size: 13.5px; font-family: var(--serif); }
  .mob-cta .btn { flex-shrink: 0; }
  body { padding-bottom: 74px; }
}
