@import url("chrome.css?v=4");
@import url("site-actions.css?v=20261016");
/* 研知道新前台 · 公共样式（2026-10-14）
 * design-system: 研知道 design.md —— 文字只用 Ink / Meta；黛青只做大件（按钮、色块）；暖赭一屏一笔、只做线不写字；无渐变、无红色
 * 字号走 §2.3 五档（48/30/22/16/12），电脑端首屏标题按 PC 倍率 1.33×（64），刊头品牌字固定 16
 * 字号分两类（ww 2026-10-15 定）：
 *   吸引注意 —— 告诉用户「这是什么板块」，做大：首页大标题 64 / 各页标题 48 / 板块标题 30 / 关键大数字 48；手机 40 / 30 / 22 / 30
 *   正常阅读 —— 注意到之后读得舒服就行，不做大：正文、按钮、选项 16 / 条目名（某条路、某个专业、某所学校）22 / 说明小字 12，不低于 12
 * 操作指引：凡要用户动手的地方，用 .hint 写一句「点哪里、会怎样」，并把下一步该点的那一组标出来（.next） */
* { box-sizing: border-box; margin: 0; padding: 0; }
html, body { background: var(--paper); overflow-x: clip; }
body { color: var(--ink); font-family: var(--sans); font-size: 16px; line-height: 1.75; }
a { color: inherit; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.wrap { max-width: var(--site-page-width); margin: 0 auto; padding: 0 var(--site-page-gutter); }
/* 内页没有刊头（导航上已有品牌，ww 2026-10-15），顶部留白由这里给；首页保留刊头 */
body:not([data-page="home"]) main.wrap { padding-top: 40px; }

/* 刊头 C 式 */
.masthead { padding: 40px 0 14px; border-bottom: 1px solid var(--rule); }
.masthead .name { display: flex; align-items: center; gap: 10px; font-family: var(--serif); font-weight: 600; font-size: 16px; letter-spacing: .5em; }
.masthead .name i { width: 10px; height: 10px; background: var(--accent); flex: none; }
.masthead .sub { margin: 2px 0 0 20px; color: var(--meta); font-size: 12px; line-height: 1.5; letter-spacing: .12em; }

.sec-title { display: flex; align-items: center; gap: 10px; font-family: var(--serif); font-weight: 600; font-size: 22px; line-height: 1.45; }
.sec-title i { width: 8px; height: 8px; background: var(--accent); flex: none; }
.sec-lede { margin-top: 6px; color: var(--meta); font-size: 16px; }


.link { color: var(--ink); text-decoration: underline; text-decoration-color: var(--border); text-underline-offset: 4px; }
.link:hover { text-decoration-color: var(--accent); }

.chip { display: inline-flex; align-items: center; padding: 6px 14px; border: 0.5px solid var(--border); border-radius: 999px; background: var(--card); color: var(--ink);
  font: 400 16px/1.4 var(--sans); cursor: pointer; white-space: nowrap; transition: background .15s ease, border-color .15s ease; }
.chip:hover { border-color: var(--accent); }
.chip[aria-pressed="true"] { background: var(--accent-soft); border-color: var(--accent); }


/* 路径区别对比：一张卡片一个对比维度（ww 2026-10-15 定：图片改成网页卡片，内容读上下文库《考研路径图文提炼》10.3） */
.cmp-nav { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.cmp-chip { display: inline-flex; align-items: center; padding: 6px 14px; border: 0.5px solid var(--border); border-radius: 999px; background: var(--card); color: var(--ink); font-size: 16px; text-decoration: none; }
.cmp-chip:hover { border-color: var(--accent); }
.cmp { margin-top: 24px; padding: 22px 24px; background: var(--card); border: 0.5px solid var(--border); border-radius: 16px; scroll-margin-top: 80px; }
.cmp h3 { font-family: var(--serif); font-weight: 600; font-size: 22px; line-height: 1.4; }
.cmp .cmp-intro { margin-top: 4px; color: var(--meta); font-size: 16px; }
.cmp-scroll { margin-top: 14px; overflow-x: auto; -webkit-overflow-scrolling: touch; }
/* 表格是密集数据（site.css 字号规则的例外）：格子 14，表头 16 */
.cmp table { width: 100%; border-collapse: collapse; font-size: 14px; line-height: 1.65; }
.cmp table.wide { min-width: 900px; }
.cmp th, .cmp td { padding: 10px 12px; text-align: left; vertical-align: top; border-bottom: 0.5px solid var(--divider); }
.cmp thead th { font-family: var(--serif); font-weight: 600; font-size: 16px; border-bottom: 1px solid var(--rule); white-space: nowrap; }
.cmp tbody th { position: sticky; left: 0; z-index: 1; background: var(--card); color: var(--meta); font-size: 12px; font-weight: 600; white-space: nowrap; }
.cmp thead th:first-child { position: sticky; left: 0; z-index: 2; background: var(--card); }
.cmp td span { display: block; }
.cmp td span + span { margin-top: 4px; }
.cmp .swipe { margin-top: 8px; color: var(--meta); font-size: 12px; }
@media (max-width: 760px) {
  .cmp { padding: 18px 16px; }
  /* 手机：两三列的表直接放下（表头换行、第一列收窄），列多的才左右滑 */
  .cmp thead th { white-space: normal; }
  .cmp th, .cmp td { padding: 8px; }
  .cmp tbody th { white-space: normal; width: 4.5em; }
}

/* 评估人数的统一说明（ww 2026-10-15 定）：凡写考试人群数量的地方都带这一句 */
.est { color: var(--meta); font-size: 12px; line-height: 1.6; }

.pending { display: inline-block; padding: 0 8px; border: 1px dashed var(--meta); border-radius: 6px; color: var(--meta); font-size: 12px; line-height: 1.8; font-family: var(--sans); font-weight: 400; letter-spacing: 0; }

@media (max-width: 640px) {
  .wrap { padding: 0 16px; }
  .masthead { padding-top: 24px; }
  body:not([data-page="home"]) main.wrap { padding-top: 24px; }
  .masthead .name { letter-spacing: .4em; }
  .next { padding: 22px 18px; } .next h2 { font-size: 22px; }
  .chip { min-height: 40px; }   /* 手机上可点的东西至少 40 像素高（ww 2026-10-16 手机端体检） */
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; scroll-behavior: auto !important; } }

/* 研知道服务同学分布图（about / 首页共用） */
.sm { position: relative; }
.sm-svg { display: block; width: 100%; height: auto; }
.sm-prov { fill: var(--card); stroke: var(--border); stroke-width: 1.2; }
.sm-prov.cq { fill: var(--accent-soft); stroke: var(--accent); }
.sm-city circle { fill: var(--accent); fill-opacity: .72; stroke: var(--card); stroke-width: 1.5; cursor: pointer; transition: fill-opacity .15s ease; }
.sm-city.mn circle { fill: var(--band); }
.sm-city.on circle, .sm-city:hover circle { fill-opacity: 1; }
.sm-city:focus { outline: none; }
.sm-city:focus-visible circle { stroke: var(--ink); stroke-width: 2; }
.sm-city text { font-family: var(--sans); font-size: 12px; fill: var(--ink); pointer-events: none; paint-order: stroke; stroke: var(--card); stroke-width: 3px; }
.sm-tip { position: absolute; transform: translate(-50%, calc(-100% - 8px)); padding: 6px 10px; border-radius: 8px; background: var(--band); color: var(--card); font-size: 12px; line-height: 1.6; white-space: nowrap; pointer-events: none; }
.sm-tip b { font-family: var(--serif); font-size: 16px; }
.sm-tip small { display: block; color: var(--accent-soft); }
.sm-key { display: flex; flex-wrap: wrap; gap: 6px 16px; margin-top: 8px; color: var(--meta); font-size: 12px; }
.sm-key i { display: inline-block; width: 10px; height: 10px; border-radius: 50%; margin-right: 6px; vertical-align: -1px; background: var(--accent); }
.sm-key i.mn { background: var(--band); }
.src-note { margin-top: 6px; color: var(--meta); font-size: 12px; }


/* 操作指引（ww 2026-10-15 定）：要用户动手的地方，第一次打开就告诉他点哪里 */
.hint { display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px 6px 12px; border-radius: 999px; background: var(--accent-soft); color: var(--ink); font-size: 16px; line-height: 1.5; }
.hint i { flex: none; width: 8px; height: 8px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 0 rgba(58,106,114,.5); animation: hint-pulse 1.8s ease-out infinite; }
.hint b { font-weight: 600; }
.hint.done { background: transparent; padding-left: 0; color: var(--meta); }
.hint.done i { animation: none; background: var(--meta); }
@keyframes hint-pulse { 0% { box-shadow: 0 0 0 0 rgba(58,106,114,.45); } 70% { box-shadow: 0 0 0 10px rgba(58,106,114,0); } 100% { box-shadow: 0 0 0 0 rgba(58,106,114,0); } }
.next-tag { display: inline-block; margin-left: 8px; padding: 0 8px; border-radius: 999px; background: var(--band); color: var(--card); font-size: 12px; font-weight: 600; line-height: 1.8; vertical-align: 2px; }
@media (prefers-reduced-motion: reduce) { .hint i { animation: none; } }
