/* 研知道新前台 · 外壳样式（2026-10-15 从 site.css 拆出）：颜色 token、样稿提示条、导航、手机底部导航、页脚。
 * 全站每页都用；从 1.0 整页搬进来的页面（非全院校库）只用这一份，不吃 site.css 里的通用组件，免得 .chip / .wrap 等类名冲突。 */
:root {
  --site-page-width: 1160px; --site-page-gutter: 40px;
  --site-content-width: calc(var(--site-page-width) - var(--site-page-gutter) - var(--site-page-gutter));
  --ink: #21302F; --meta: #5E6F76;
  --accent: #3A6A72; --accent-soft: #D3E3E4; --band: #1E3D42;
  --mark: #C0843C;
  --paper: #F6F3EC; --card: #FFFFFF; --tert: #EDEEE8;
  --border: #D7E2E1; --rule: #233030; --divider: #E6EDEC;
  --nav: #17383d; --nav-text: #bfd1d2; --nav-soft: #86a8aa;
  --serif: "Source Han Serif SC", "Noto Serif SC", "Songti SC", "STSong", serif;
  --sans: "Source Han Sans SC", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
  --shadow-card: 0 2px 8px rgba(60,50,40,0.04);
  --shadow-cta: 0 6px 20px rgba(58,106,114,0.22);
}
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* 样稿提示条：只在样稿里有，正式版没有 */


/* 导航（第二版）：电脑端 品牌 | 院校库▾ | 怎么选 | 过考率 | 问 AI；标签只用两三个字 */
.nav { position: relative; z-index: 50; background: var(--nav); color: var(--paper); }
.nav-in { max-width: var(--site-page-width); margin: 0 auto; padding: 0 var(--site-page-gutter); display: flex; align-items: stretch; justify-content: space-between; min-height: 60px; }
.nav-brand { display: flex; align-items: center; gap: 10px; text-decoration: none; color: var(--card); font-family: var(--serif); font-weight: 600; font-size: 16px; letter-spacing: .2em; white-space: nowrap; }
.nav-brand b { width: 28px; height: 28px; display: grid; place-items: center; background: var(--accent); border: 1px solid rgba(255,255,255,.4); border-radius: 4px 9px 4px 9px; font-size: 16px; letter-spacing: 0; }
.nav-links { display: flex; align-items: stretch; gap: 4px; margin-left: auto; }
.nav-sub, .nav-dot { font-style: normal; }
.nav-item { position: relative; display: flex; align-items: center; gap: 6px; padding: 0 18px; border: 0; background: none; color: var(--nav-text); text-decoration: none; font: 400 16px/1 var(--sans); letter-spacing: .06em; white-space: nowrap; cursor: pointer; }
.nav-item:hover, .nav-item[aria-current="page"], .nav-lib.open .nav-item { color: var(--card); }
.nav-admin { font-size: 14px; letter-spacing: 0; opacity: .8; }   /* 管理员才看得到的三个入口 */
.nav-item[aria-current="page"]::after { content: ""; position: absolute; left: 18px; right: 18px; bottom: 0; height: 3px; background: var(--mark); }
.nav-item .chev { width: 6px; height: 6px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform .15s ease; }
.nav-lib { position: relative; display: flex; }
.nav-lib.open .chev { transform: translateY(1px) rotate(-135deg); }
.mega { position: absolute; top: 100%; left: 50%; transform: translateX(-50%); display: none; grid-template-columns: repeat(2, 230px); gap: 10px; padding: 12px; background: var(--card); border-radius: 0 0 16px 16px; box-shadow: 0 12px 30px rgba(30,61,66,.18); }
.nav-lib.open .mega { display: grid; }
.door-link { display: grid; gap: 4px; align-content: start; padding: 14px 16px; border: 0.5px solid var(--border); border-radius: 16px; color: var(--ink); text-decoration: none; background: var(--paper); }
.door-link:hover { border-color: var(--accent); background: var(--card); }
.door-link .tag { justify-self: start; }
.door-link b { font-family: var(--serif); font-weight: 600; font-size: 22px; }
.door-link small { color: var(--meta); font-size: 12px; }
/* 顶部右侧：白底椭圆分两半「AI 搜索 | 真人咨询」（ww 2026-10-15 定）；手机顶部也显示 */
.nav-pill { align-self: center; flex: none; display: flex; margin-left: 10px; padding: 3px; border-radius: 999px; background: var(--card); }
.nav-pill a { padding: 6px 16px; border-radius: 999px; color: var(--band); font-weight: 600; font-size: 16px; line-height: 1.5; text-decoration: none; white-space: nowrap; }
.nav-pill a + a { position: relative; }
.nav-pill a + a::before { content: ""; position: absolute; left: 0; top: 25%; bottom: 25%; border-left: 1px solid var(--border); }
.nav-pill a:hover, .nav-pill a[aria-current="page"] { background: var(--accent-soft); }
.nav-pill a:hover::before, .nav-pill a[aria-current="page"]::before, .nav-pill a:hover + a::before, .nav-pill a[aria-current="page"] + a::before { display: none; }
/* 每页最下面：左「不骗人 · 真服务」、右本页信息（ww 2026-10-15 定：以考研路径页为准） */
.colophon { display: flex; justify-content: space-between; gap: 16px; margin-top: 56px; padding: 14px 0 0; border-top: 1px solid var(--rule); font-family: var(--serif); font-weight: 600; font-size: 16px; letter-spacing: .2em; }
.colophon span + span { color: var(--meta); font-family: var(--sans); font-weight: 400; font-size: 12px; letter-spacing: .12em; }

/* 手机底部一排 + 院校库底部面板：只在窄屏出现 */
.tabbar, .lib-sheet { display: none; }
.tag { display: inline-block; padding: 1px 10px; border: 1px solid var(--rule); border-radius: 999px; font-size: 12px; font-weight: 600; letter-spacing: .1em; line-height: 1.6; }
.tag.solid { background: var(--band); border-color: var(--band); color: var(--card); }
.site-footer { margin-top: 28px; padding: 18px 16px calc(22px + env(safe-area-inset-bottom)); border-top: 1px solid var(--divider); color: var(--meta); font-size: 12px; line-height: 1.8; text-align: center; }
.site-footer a { color: var(--meta); white-space: nowrap; text-underline-offset: 3px; text-decoration-color: var(--border); }
.site-footer .sep { margin: 0 8px; color: var(--border); }
.site-footer .foot-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 20px; margin-bottom: 8px; font-size: 12px; }
.site-footer .foot-links a { color: var(--ink); text-decoration: none; }
.site-footer .foot-links a:hover { text-decoration: underline; }

@media (max-width: 860px) {
  .nav-item { padding: 0 12px; }
  .nav-item[aria-current="page"]::after { left: 12px; right: 12px; }
}
@media (max-width: 640px) {
  .nav-in { padding: 0 16px; min-height: 48px; }
  .nav-links { display: none; }
  .nav-pill a { padding: 8px 12px; font-size: 14px; line-height: 1.5; }
  .nav-brand { gap: 8px; letter-spacing: .06em; }
  .nav-dot { display: none; }          /* 手机品牌显示「研知道院校库」，去掉中间的「 · 」（ww 2026-10-16） */
  .colophon { flex-direction: column; gap: 2px; }
  body { padding-bottom: calc(64px + env(safe-area-inset-bottom)); }
  .tabbar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; display: grid; grid-template-columns: repeat(4, 1fr);
    padding: 6px 4px calc(6px + env(safe-area-inset-bottom)); background: var(--card); border-top: 0.5px solid var(--border); box-shadow: 0 -6px 20px rgba(30,61,66,.06); }
  .tabbar a, .tabbar button { display: grid; justify-items: center; gap: 2px; padding: 4px 0; border: 0; background: none; color: var(--meta); text-decoration: none; font: 400 12px/1.4 var(--sans); cursor: pointer; -webkit-tap-highlight-color: transparent; }
  .tabbar svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linejoin: round; stroke-linecap: round; }
  .tabbar [aria-current="page"] { color: var(--band); font-weight: 600; }
  .tabbar [aria-current="page"] svg { stroke-width: 2.2; }
  .lib-sheet:not([hidden]) { position: fixed; inset: 0; z-index: 55; display: flex; align-items: flex-end; background: rgba(30,61,66,.32); }
  .lib-sheet-panel { width: 100%; display: grid; gap: 10px; padding: 16px 16px calc(84px + env(safe-area-inset-bottom)); background: var(--card); border-radius: 16px 16px 0 0; }
  .lib-sheet-panel p { color: var(--meta); font-size: 12px; }
}

/* 登录后共用的管理导航；前台和后台使用同一组入口与状态。 */
.admin-nav{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;padding:12px max(24px,calc((100% - 1080px)/2));background:var(--card);border-bottom:1px solid var(--border);font:400 16px/1.5 var(--sans);color:var(--ink)}
.admin-nav>span{font-size:12px;color:var(--meta);margin-right:auto}
.admin-nav a{padding:6px 16px;border:1px solid var(--border);border-radius:999px;text-decoration:none;color:var(--ink);white-space:nowrap}
.admin-nav a:hover{background:var(--accent-soft)}
.admin-nav a[aria-current="page"]{background:var(--band);border-color:var(--band);color:var(--card);font-weight:600}
.admin-nav a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media(max-width:640px){.admin-nav{padding:12px 16px;gap:8px}.admin-nav>span{flex-basis:100%}.admin-nav a{padding:6px 10px;font-size:14px}}

@media print{.nav,.admin-nav,.tabbar,.site-footer,.lib-sheet{display:none!important}}
