/* HNC Site Shell v1.0 (2026-11-09) — 主站正式版外壳
   配色同 App「黑板绿 × 荧光笔」, 但更克制: 黑板绿做主色和深色大块, 荧光绿只用在标题划线、当前项和一处重点。
   字体: 中文用系统字(国内打不开 Google Fonts); 数字和拉丁用 App 自托管的 Bricolage Grotesque。 */

@font-face {
  font-family: "Bricolage Grotesque"; font-style: normal; font-weight: 500 800; font-display: swap;
  src: url(/app/fonts/bricolage-latin.woff2?v=1) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+2000-206F, U+2212;
}

body.hnc-shell {
  --hs-brand: #0E3B2E; --hs-brand-2: #155441; --hs-tint: #E3EFE8; --hs-lime: #CDEB63; --hs-lime-ink: #3F5A00;
  --hs-ink: #15201B; --hs-ink-2: #4C5751; --hs-ink-3: #66706A;
  --hs-bg: #F6F7F4; --hs-line: #DDE1D8; --hs-line-2: #C9CEC3; --hs-rule: #E4E7E0;
  --hs-ui: -apple-system, BlinkMacSystemFont, "PingFang SC", "HarmonyOS Sans SC", "MiSans", "Microsoft YaHei", "Noto Sans SC", sans-serif;
  --hs-num: "Bricolage Grotesque", -apple-system, "PingFang SC", sans-serif;
  background: var(--hs-bg);
  color: var(--hs-ink);
  font-family: var(--hs-ui);
}
body.hnc-shell #wrapper { background: transparent; }

/* ── 撤下旧外壳 ── */
body.hnc-shell #masthead,
body.hnc-shell #colophon,
body.hnc-shell #hnc-creator-card,
body.hnc-shell .hnc-creator-card,
body.hnc-shell #edge-nav-trigger,
body.hnc-shell #edge-nav-panel { display: none !important; }

/* ── 顶栏 ── */
.hs-wrap { max-width: 1200px; margin: 0 auto; padding: 0 24px; box-sizing: border-box; }
.hs-top { background: #FFFFFF; border-bottom: 1px solid var(--hs-line); position: relative; z-index: 50; font-family: var(--hs-ui); }
.hs-top .hs-wrap { display: flex; align-items: center; gap: 12px 32px; min-height: 64px; flex-wrap: wrap; }
.hs-brand { display: flex; align-items: center; gap: 10px; color: var(--hs-ink) !important; text-decoration: none !important; }
.hs-mark { width: 36px; height: 36px; border-radius: 10px; background: var(--hs-brand); color: var(--hs-lime); display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--hs-num); font-weight: 800; font-size: 14px; letter-spacing: -0.02em; flex: none; }
.hs-name { display: flex; flex-direction: column; line-height: 1.2; }
.hs-name b { font-size: 17px; font-weight: 700; }
.hs-name small { font-size: 11px; color: var(--hs-ink-3); letter-spacing: 0.04em; }
.hs-nav { display: flex; gap: 4px 26px; flex: 1 1 auto; flex-wrap: wrap; }
.hs-nav a { color: var(--hs-ink) !important; text-decoration: none !important; font-size: 15px; padding: 20px 0 18px; border-bottom: 3px solid transparent; }
.hs-nav a:hover { color: var(--hs-brand) !important; }
.hs-nav a.is-on { color: var(--hs-brand) !important; font-weight: 700; border-bottom-color: var(--hs-lime); }
.hs-act { display: flex; align-items: center; gap: 18px; }
.hs-acct { color: var(--hs-ink-2) !important; text-decoration: none !important; font-size: 15px; white-space: nowrap; }
.hs-app { background: var(--hs-brand); color: #FFFFFF !important; text-decoration: none !important; font-size: 14px; font-weight: 600; padding: 9px 16px; border-radius: 10px; white-space: nowrap; }
.hs-app:hover { background: var(--hs-brand-2); }
@media (max-width: 767px) {
  .hs-top .hs-wrap { min-height: 56px; padding: 0 16px; flex-wrap: nowrap; justify-content: space-between; }
  .hs-nav { display: none; }   /* 手机上用底部导航 */
  .hs-mark { width: 32px; height: 32px; font-size: 13px; }
  .hs-name b { font-size: 16px; }
  .hs-name small { font-size: 10px; }
  .hs-act { gap: 12px; }
  .hs-acct { font-size: 14px; padding: 10px 2px; }
  .hs-app { padding: 8px 12px; font-size: 13px; }
}
@media (max-width: 359px) { .hs-name small { display: none; } .hs-act { gap: 8px; } }

/* ── 页脚 ── */
.hs-foot { background: var(--hs-brand); color: rgba(255,255,255,0.78); font-family: var(--hs-ui); font-size: 14px; line-height: 1.7; }
.hs-foot .hs-wrap { padding-top: 48px; padding-bottom: 28px; display: flex; flex-direction: column; gap: 32px; }
.hs-foot-top { display: flex; flex-wrap: wrap; gap: 28px 64px; }
.hs-foot-brand { flex: 1 1 240px; display: flex; flex-direction: column; gap: 10px; }
.hs-foot-name { display: flex; align-items: center; gap: 10px; color: #FFFFFF; font-size: 17px; }
.hs-foot .hs-mark { background: var(--hs-lime); color: var(--hs-brand); width: 32px; height: 32px; font-size: 13px; }
.hs-col { display: flex; flex-direction: column; gap: 6px; }
.hs-col b { color: #FFFFFF; font-size: 14px; }
.hs-col a, .hs-foot-bottom a { color: rgba(255,255,255,0.78) !important; text-decoration: none !important; }
.hs-col a:hover, .hs-foot-bottom a:hover { color: #FFFFFF !important; }
.hs-foot-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,0.14); font-size: 13px; }
@media (max-width: 767px) {
  .hs-foot .hs-wrap { padding: 32px 16px 24px; gap: 24px; }
  .hs-foot-top { gap: 20px 32px; }
  .hs-foot-brand { flex-basis: 100%; }
}

/* ── 各模块标题: 去掉红竖条 / 红点, 统一成正式的黑体标题 ── */
/* 各模块自己用「#模块id .hnc-module-title { … !important }」定了衬线字和红条, 这里用 :not(#hs-x) 把优先级抬到带 id 的那一档 */
html body.hnc-shell .hnc-module-title:not(#hs-x)::before,
html body.hnc-shell .hnc-module-title:not(#hs-x)::after { content: none !important; display: none !important; }
html body.hnc-shell .hnc-module-title:not(#hs-x) {
  font-family: var(--hs-ui) !important; color: var(--hs-ink) !important; font-weight: 700 !important;
  font-size: 28px !important; line-height: 1.35 !important; letter-spacing: 0 !important;
  padding-left: 0 !important; border-left: 0 !important; background: none !important;
}
@media (max-width: 767px) { html body.hnc-shell .hnc-module-title:not(#hs-x) { font-size: 22px !important; } }

/* ── 资料下载页: 撤下「即将上线」的雅思 / 托福 / PTE 占位卡 ── */
body.hnc-shell .hnc-test-card.coming-soon { display: none !important; }

/* ── 四六级下载页(1625 / 1627): 字号回到正常, 按钮统一成描边款 ── */
body.hnc-shell .hnc-cet4-root, body.hnc-shell .hnc-cet6-root { max-width: 960px; font-family: var(--hs-ui); color: var(--hs-ink); }
body.hnc-shell .hnc-cet4-header, body.hnc-shell .hnc-cet6-header { text-align: left; margin-bottom: 24px; }
body.hnc-shell .hnc-cet4-header h2, body.hnc-shell .hnc-cet6-header h2 { font-size: 34px; line-height: 1.3; }
body.hnc-shell .hnc-cet4-subtitle, body.hnc-shell .hnc-cet6-subtitle { font-size: 17px; font-weight: 500; color: var(--hs-ink-2); }
body.hnc-shell .hnc-cet4-hint, body.hnc-shell .hnc-cet6-hint { font-size: 15px; color: var(--hs-ink-3); }
body.hnc-shell .hnc-cet4-hint a, body.hnc-shell .hnc-cet6-hint a { color: var(--hs-brand); }
body.hnc-shell .hnc-cet4-exam, body.hnc-shell .hnc-cet6-exam { border: 1px solid var(--hs-line); box-shadow: none; border-radius: 16px; padding: 18px 22px; }
body.hnc-shell .hnc-cet4-exam-title, body.hnc-shell .hnc-cet6-exam-title { font-size: 19px; border-bottom-color: var(--hs-rule); color: var(--hs-ink); }
body.hnc-shell .hnc-cet4-dl-group, body.hnc-shell .hnc-cet6-dl-group { gap: 8px; }
body.hnc-shell .hnc-cet4-dl-btn, body.hnc-shell .hnc-cet6-dl-btn {
  font-size: 14px; padding: 7px 14px; border-radius: 10px; background: #FFFFFF; color: var(--hs-ink); border: 1px solid var(--hs-line-2); font-weight: 500;
}
body.hnc-shell .hnc-cet4-dl-btn:hover, body.hnc-shell .hnc-cet6-dl-btn:hover { border-color: var(--hs-brand); color: var(--hs-brand); }
body.hnc-shell .hnc-cet4-dl-analysis, body.hnc-shell .hnc-cet6-dl-analysis { color: var(--hs-ink-2); }
body.hnc-shell .hnc-cet4-dl-listen, body.hnc-shell .hnc-cet6-dl-listen { background: var(--hs-tint); color: var(--hs-brand); border-color: transparent; }
body.hnc-shell .hnc-cet4-dl-listen.active, body.hnc-shell .hnc-cet6-dl-listen.active { background: var(--hs-brand); color: #FFFFFF; }
body.hnc-shell .hnc-cet4-footer-note, body.hnc-shell .hnc-cet6-footer-note { font-size: 14px; color: var(--hs-ink-3); }
@media (max-width: 767px) {
  body.hnc-shell .hnc-cet4-header h2, body.hnc-shell .hnc-cet6-header h2 { font-size: 26px; }
}

/* ── 手机底部导航: 线条图标, 当前页黑板绿 ── */
body.hnc-shell .edge-nav-mobile { background: rgba(255,255,255,0.97); border-top: 1px solid var(--hs-line); box-shadow: none; }
body.hnc-shell .edge-nav-mobile-list { padding: 4px 4px 2px; }
body.hnc-shell .edge-nav-mobile-link { color: var(--hs-ink-2); font-size: 12px; gap: 3px; padding: 7px 2px; font-family: var(--hs-ui); }
body.hnc-shell .edge-nav-mobile-link:hover, body.hnc-shell .edge-nav-mobile-link:active { background: transparent; color: var(--hs-brand); }
body.hnc-shell .edge-nav-mobile-link.is-current { color: var(--hs-brand); font-weight: 700; }
body.hnc-shell .edge-nav-mobile-icon { font-size: 0; line-height: 0; }
body.hnc-shell .edge-nav-mobile-icon svg { width: 22px; height: 22px; }
@media (prefers-color-scheme: dark) {
  body.hnc-shell .edge-nav-mobile { background: rgba(255,255,255,0.97); }
}

/* ================================================================
   首页 .hnc-home(post 54 的内容)
   ================================================================ */
.hnc-home { font-family: var(--hs-ui); color: var(--hs-ink); font-size: 16px; line-height: 1.7; background: var(--hs-bg); }
.hnc-home a { text-decoration: none; }
.hnc-home h1, .hnc-home h2, .hnc-home p { margin: 0; }
.hh-sec { padding: 64px 0; }
.hh-sec.white { background: #FFFFFF; border-top: 1px solid var(--hs-line); border-bottom: 1px solid var(--hs-line); }
.hh-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 8px 24px; margin-bottom: 28px; }
.hh-head > div { display: flex; flex-direction: column; gap: 6px; }
.hh-head h2 { font-size: 30px; line-height: 1.3; font-weight: 700; color: var(--hs-ink); }
.hh-head p { color: var(--hs-ink-2); max-width: 44em; }
.hh-more { font-size: 15px; font-weight: 600; color: var(--hs-brand) !important; }
.hh-num { font-family: var(--hs-num); font-weight: 800; font-variant-numeric: tabular-nums; }

/* 首屏 */
.hh-hero .hs-wrap { display: flex; flex-wrap: wrap; gap: 48px; align-items: center; padding-top: 72px; padding-bottom: 64px; }
.hh-hero-l { flex: 1 1 480px; min-width: 0; display: flex; flex-direction: column; gap: 22px; }
.hh-kicker { font-size: 13px; letter-spacing: 0.08em; color: var(--hs-ink-2); font-weight: 500; }
.hh-hero h1 { font-size: 52px; line-height: 1.15; font-weight: 700; letter-spacing: -0.01em; color: var(--hs-ink); }
.hh-hl { background: linear-gradient(transparent 62%, var(--hs-lime) 62%, var(--hs-lime) 92%, transparent 92%); padding: 0 4px; }
.hh-lead { font-size: 18px; line-height: 1.75; color: var(--hs-ink-2); max-width: 34em; }
.hh-ctas { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 4px; }
.hh-btn { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; font-size: 16px; padding: 12px 22px; border-radius: 12px; border: 1px solid var(--hs-line-2); background: #FFFFFF; color: var(--hs-ink) !important; }
.hh-btn.primary { background: var(--hs-brand); border-color: var(--hs-brand); color: #FFFFFF !important; }
.hh-btn.primary:hover { background: var(--hs-brand-2); }
.hh-btn svg { width: 18px; height: 18px; }
.hh-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: 16px; margin-top: 12px; padding-top: 20px; border-top: 1px solid var(--hs-line); }
.hh-stats span { display: flex; flex-direction: column; font-size: 13px; color: var(--hs-ink-2); }
.hh-stats b { font-family: var(--hs-num); font-size: 30px; line-height: 1.1; color: var(--hs-ink); font-weight: 800; }

/* 黑板: 一节课里的「写—评—改」 */
.hh-board { flex: 1 1 400px; min-width: 0; background-color: var(--hs-brand); background-image: radial-gradient(rgba(255,255,255,0.07) 1.2px, transparent 1.4px); background-size: 16px 16px;
  border-radius: 24px; padding: 28px; color: #FFFFFF; display: flex; flex-direction: column; gap: 16px; }
.hh-board-k { font-size: 13px; letter-spacing: 0.08em; color: var(--hs-lime); font-weight: 600; }
.hh-loop { list-style: none; margin: 0 !important; padding: 0 !important; display: flex; flex-direction: column; }
.hh-loop li { display: flex; align-items: center; gap: 14px; padding: 11px 0; border-top: 1px solid rgba(255,255,255,0.12); margin: 0; }
.hh-loop li:last-child { border-bottom: 1px solid rgba(255,255,255,0.12); }
.hh-loop i { flex: none; width: 30px; height: 30px; border-radius: 50%; border: 1.5px solid rgba(255,255,255,0.5); display: flex; align-items: center; justify-content: center;
  font-style: normal; font-family: var(--hs-num); font-weight: 800; font-size: 14px; box-sizing: border-box; }
.hh-loop li > span { display: flex; flex-direction: column; line-height: 1.45; }
.hh-loop b { font-size: 16px; }
.hh-loop small { font-size: 13px; color: rgba(255,255,255,0.72); }
.hh-loop li.on { background: var(--hs-lime); color: var(--hs-ink); border-radius: 12px; margin: 0 -12px; padding: 11px 12px; border-top-color: transparent; }
.hh-loop li.on + li { border-top-color: transparent; }
.hh-loop li.on i { background: var(--hs-brand); color: var(--hs-lime); border: 0; }
.hh-loop li.on small { color: var(--hs-lime-ink); }
.hh-board-note { font-size: 12px; color: rgba(255,255,255,0.62); }

/* 卡片网格 */
.hh-grid { display: grid; gap: 20px; }
.hh-grid.g3 { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
.hh-grid.g2 { grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); }
.hh-grid.g5 { grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 16px; }
.hh-card { display: flex; flex-direction: column; gap: 14px; padding: 24px; border: 1px solid var(--hs-line); border-radius: 18px; background: #FFFFFF; color: var(--hs-ink) !important; transition: border-color .15s; }
a.hh-card:hover { border-color: var(--hs-brand); }
.hh-card-k { font-size: 13px; color: var(--hs-ink-2); }
.hh-card-t { font-size: 24px; font-weight: 700; line-height: 1.3; }
.hh-card-s { font-size: 14px; color: var(--hs-ink-2); }
.hh-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.hh-chips span { font-size: 13px; padding: 3px 10px; border-radius: 999px; background: var(--hs-bg); border: 1px solid var(--hs-line); }
.hh-models { display: flex; flex-direction: column; gap: 8px; }
.hh-models span { display: flex; justify-content: space-between; gap: 8px; font-size: 14px; padding-bottom: 8px; border-bottom: 1px dashed var(--hs-line); }
.hh-models span:last-child { border-bottom: 0; padding-bottom: 0; }
.hh-models b { color: var(--hs-brand); }
.hh-models b.lat { font-family: var(--hs-num); }

/* 四六级 */
.hh-exam { display: flex; flex-direction: column; gap: 18px; padding: 26px; border-radius: 18px; background: #FFFFFF; border: 1px solid var(--hs-line); }
.hh-exam-h { display: flex; justify-content: space-between; align-items: baseline; }
.hh-exam-h b { font-size: 22px; }
.hh-exam-h span { font-family: var(--hs-num); font-weight: 600; color: var(--hs-ink-2); }
.hh-exam-n { display: flex; flex-wrap: wrap; gap: 8px 28px; }
.hh-exam-n span { display: flex; flex-direction: column; font-size: 13px; color: var(--hs-ink-2); }
.hh-exam-n b { font-family: var(--hs-num); font-size: 34px; line-height: 1.1; color: var(--hs-ink); font-weight: 800; }
.hh-exam-f { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding-top: 14px; border-top: 1px solid var(--hs-rule); font-size: 14px; color: var(--hs-ink-2); }
.hh-exam-f a { font-weight: 600; font-size: 15px; color: var(--hs-brand) !important; }

/* AI 工具 */
.hh-tool { display: flex; flex-direction: column; gap: 10px; padding: 22px; border-radius: 16px; border: 1px solid var(--hs-line); background: #FFFFFF; color: var(--hs-ink) !important; }
a.hh-tool:hover { border-color: var(--hs-brand); }
.hh-ico { width: 40px; height: 40px; border-radius: 12px; background: var(--hs-tint); color: var(--hs-brand); display: flex; align-items: center; justify-content: center; }
.hh-ico svg { width: 20px; height: 20px; }
.hh-tool b { font-size: 18px; }
.hh-tool > span { font-size: 14px; color: var(--hs-ink-2); }
.hh-tool small { font-size: 12px; color: var(--hs-ink-3); margin-top: auto; }
.hh-rules { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 24px; margin-top: 20px; padding: 16px 20px; border-radius: 14px; background: var(--hs-bg); border: 1px solid var(--hs-line); font-size: 14px; color: var(--hs-ink-2); }
.hh-rules b { color: var(--hs-ink); }

/* 关于平台 */
.hh-about .hs-wrap { display: flex; flex-wrap: wrap; gap: 32px 56px; align-items: flex-start; }
.hh-about-l { flex: 1 1 320px; min-width: 0; display: flex; flex-direction: column; gap: 12px; }
.hh-about-l h2 { font-size: 30px; line-height: 1.35; font-weight: 700; }
.hh-about-l p { color: var(--hs-ink-2); }
.hh-about-r { flex: 2 1 560px; min-width: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; }
.hh-pr { padding: 22px; border-radius: 16px; background: #FFFFFF; border: 1px solid var(--hs-line); display: flex; flex-direction: column; gap: 8px; }
.hh-pr b { font-size: 17px; }
.hh-pr span { font-size: 14px; color: var(--hs-ink-2); }
.hh-pr small { font-size: 12px; color: var(--hs-ink-3); margin-top: auto; }

@media (max-width: 767px) {
  .hh-sec { padding: 40px 0; }
  .hh-hero .hs-wrap { padding-top: 32px; padding-bottom: 32px; gap: 28px; }
  .hh-hero h1 { font-size: 34px; }
  .hh-lead { font-size: 16px; }
  .hh-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hh-stats b { font-size: 26px; }
  .hh-board { padding: 20px; border-radius: 20px; }
  .hh-head h2, .hh-about-l h2 { font-size: 22px; }
  .hh-head { margin-bottom: 18px; }
  .hh-card { padding: 18px; }
  .hh-card-t { font-size: 20px; }
  .hh-grid.g5 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .hh-tool { padding: 16px; }
  .hh-tool > span { font-size: 13px; }
  .hs-wrap { padding: 0 16px; }
}
@media (max-width: 359px) { .hh-grid.g5 { grid-template-columns: 1fr; } }

/* ── 第二轮: 资料下载卡、进阶英语页、写作翻译工坊手机筛选、悬浮翻译按钮 ── */
body.hnc-shell .hnc-test-card { border: 1px solid var(--hs-line); box-shadow: none; border-radius: 18px; }
body.hnc-shell .hnc-test-card:hover { border-color: var(--hs-brand); }
body.hnc-shell .hnc-test-card-level { color: var(--hs-ink-2); font-family: var(--hs-num); font-weight: 600; letter-spacing: 0.04em; }
body.hnc-shell .hnc-test-card-name { color: var(--hs-ink); font-family: var(--hs-ui); }
body.hnc-shell .hnc-test-card-button { background: var(--hs-brand) !important; background-image: none !important; color: #FFFFFF !important; border-radius: 12px; box-shadow: none !important; }
body.hnc-shell .hnc-test-hub-title { font-family: var(--hs-ui); color: var(--hs-ink); }

/* 进阶英语第二册: 「即将上线」的单元先不显示; 顶部色块换成黑板绿 */
body.hnc-shell .unit-card[aria-disabled="true"] { display: none !important; }
body.hnc-shell .content-header { background: var(--hs-brand) !important; background-image: radial-gradient(rgba(255,255,255,0.07) 1.2px, transparent 1.4px) !important; background-size: 16px 16px !important; }
body.hnc-shell .content-header::before { display: none; }
body.hnc-shell .content-header h1 { font-family: var(--hs-ui) !important; font-weight: 700 !important; }
body.hnc-shell .unit-number { font-family: var(--hs-num); background: var(--hs-tint); color: var(--hs-brand); }
body.hnc-shell .unit-card { box-shadow: none; border-color: var(--hs-line); }

/* 写作 / 翻译工坊: 手机上筛选区原来被挤成一字一行的窄列, 改成上下排 */
@media (max-width: 767px) {
  body.hnc-shell .hnc-cet4-controls,
  body.hnc-shell .hnc-translation-controls,
  body.hnc-shell .hnc-filter-controls { flex-direction: column !important; align-items: stretch !important; }
  body.hnc-shell .hnc-cet4-controls > *,
  body.hnc-shell .hnc-translation-controls > *,
  body.hnc-shell .hnc-filter-controls > * { width: 100% !important; max-width: none !important; flex: 1 1 auto !important; }
  body.hnc-shell .hnc-select-wrapper div { flex-wrap: wrap !important; }
}

/* 悬浮翻译: 紫色渐变换成黑板绿 */
body.hnc-shell #translator-toggle-btn,
body.hnc-shell .translator-header,
body.hnc-shell .translator-login-btn,
body.hnc-shell #translator-submit-btn { background: var(--hs-brand) !important; background-image: none !important; }
body.hnc-shell #translator-toggle-btn { box-shadow: 0 6px 18px rgba(14,59,46,0.28) !important; }

/* ── 第三轮: 底层配色(主题 Kadence / 会员插件 PMPro / WooCommerce)映射到同一套色 ──
   原来链接、按钮、标题用的是主题默认的蓝 #2B6CB0 和深蓝灰, 卡片 4px 圆角带阴影。 */
body.hnc-shell {
  --global-palette1: #0E3B2E; --global-palette2: #155441; --global-palette3: #15201B; --global-palette4: #15201B;
  --global-palette5: #4C5751; --global-palette6: #66706A; --global-palette7: #E4E7E0; --global-palette8: #F6F7F4; --global-palette9: #FFFFFF;
  --global-palette-highlight: #0E3B2E; --global-palette-highlight-alt: #155441;
  --global-palette-btn-bg: #0E3B2E; --global-palette-btn-bg-hover: #155441; --global-palette-btn: #FFFFFF; --global-palette-btn-hover: #FFFFFF;
  --global-body-font-family: var(--hs-ui); --global-heading-font-family: var(--hs-ui);
  --pmpro--color--accent: #0E3B2E; --pmpro--color--accent--variation: #155441;
  --pmpro--color--contrast: #15201B; --pmpro--color--contrast--variation: #4C5751;
  --pmpro--color--border: #C9CEC3; --pmpro--color--border--variation: #DDE1D8; --pmpro--color--base: #FFFFFF;
  --pmpro--base--border-radius: 12px; --pmpro--btn--border-radius: 10px; --pmpro--box-shadow: none;
  --pmpro--color--error-text: #A8381F; --pmpro--color--error-background: #FBE9E4; --pmpro--color--error-border: #E8B9AC; --pmpro--color--error-link: #A8381F;
  --pmpro--color--alert-text: #8A5A00; --pmpro--color--alert-background: #FBF0D6; --pmpro--color--alert-border: #E9D29A;
  --pmpro--color--success-text: #0E3B2E; --pmpro--color--success-background: #E3EFE8; --pmpro--color--success-border: #B9D3C3;
  --wc-primary: #0E3B2E; --wc-primary-text: #FFFFFF; --wc-secondary: #E3EFE8; --wc-secondary-text: #15201B; --wc-highlight: #0E3B2E; --wc-highligh-text: #FFFFFF;
}
body.hnc-shell .entry.content-bg,
body.hnc-shell .content-bg.loop-entry { box-shadow: none; border: 1px solid var(--hs-line); border-radius: 16px; }
body.hnc-shell :is(h1, h2, h3, h4, h5, h6) { font-family: var(--hs-ui); }
body.hnc-shell :is(.wp-block-button__link, .button, input[type="submit"]) { border-radius: 10px; box-shadow: none; }
body.hnc-shell :is(input[type="text"], input[type="email"], input[type="password"], input[type="search"], input[type="url"], input[type="number"], textarea, select):focus {
  border-color: var(--hs-brand); outline: none; box-shadow: 0 0 0 3px rgba(14, 59, 46, 0.14);
}
body.hnc-shell .pmpro_card { box-shadow: none; border: 1px solid var(--hs-line); border-radius: 16px; }
/* PMPro 自带的焦点样式是 Bootstrap 蓝(#80BDFF), 选择器带 #loginform, 这里用同级 id 盖掉 */
body.hnc-shell .pmpro :is(#loginform, #lostpasswordform, #resetpassform) .input:focus,
body.hnc-shell .pmpro :is(.pmpro_form_input-text, .pmpro_form_input-email, .pmpro_form_input-password, .pmpro_form_input-select, .pmpro_form_input-textarea, .pmpro_form_input-number, .pmpro_form_input-url, .pmpro_form_input-search):focus {
  border-color: var(--hs-brand); box-shadow: 0 0 0 3px rgba(14, 59, 46, 0.14);
}
body.hnc-shell .pmpro .pmpro_form_field-password-toggle button:focus { box-shadow: 0 0 0 3px rgba(14, 59, 46, 0.14); }
body.hnc-shell .woocommerce span.onsale, body.hnc-shell span.onsale { background: var(--hs-lime); color: var(--hs-lime-ink); border-radius: 999px; }
/* 短页面: 主题给 #wrapper 设了 min-height:100vh, 加上新顶栏后页脚被推到首屏以下, 内容和页脚之间空一大块 */
body.hnc-shell #wrapper { min-height: calc(100vh - 65px); }
body.hnc-shell:not(.home) #primary.content-area { margin-bottom: 64px; }
@media (max-width: 767px) {
  body.hnc-shell #wrapper { min-height: calc(100vh - 57px); }
  body.hnc-shell:not(.home) #primary.content-area { margin-bottom: 32px; }
}

/* 教材切换(新视野 / 进阶英语), 只在两个教材页顶部 */
.hs-books { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0 0 40px; font-family: var(--hs-ui); position: relative; z-index: 2; }
.hs-books a { display: flex; flex-direction: column; gap: 4px; padding: 14px 18px; background: #FFFFFF; border: 1px solid var(--hs-line); border-radius: 14px;
  color: var(--hs-ink) !important; text-decoration: none !important; min-height: 44px; box-sizing: border-box; }
.hs-books a:hover { border-color: var(--hs-brand); }
.hs-books a.is-on { border-color: var(--hs-brand); box-shadow: inset 0 -3px 0 var(--hs-lime); }
.hs-books b { font-size: 16px; font-weight: 700; line-height: 1.35; }
.hs-books small { font-size: 13px; color: var(--hs-ink-3); line-height: 1.4; }
@media (max-width: 767px) { .hs-books { gap: 8px; margin-bottom: 40px; } .hs-books a { padding: 12px 14px; } .hs-books b { font-size: 15px; } .hs-books small { font-size: 12px; } }
@media (max-width: 359px) { .hs-books { grid-template-columns: 1fr; } }

/* ── 终检(11/9 晚) ── */
/* 教材库、进阶英语目录和单元页: 模块自己就是整块版面, 主题的白色正文卡片在上下露出一条边 → 去掉这层卡片 */
body.hnc-shell:is(.page-id-5411, .page-id-5658, .page-id-5752, .page-id-5662, .page-id-5755, .page-id-5757) article.entry.content-bg { background: transparent; border: 0; border-radius: 0; box-shadow: none; }
body.hnc-shell:is(.page-id-5411, .page-id-5658, .page-id-5752, .page-id-5662, .page-id-5755, .page-id-5757) article.entry .entry-content-wrap { padding: 0; }
/* 教材资源库模块原来用负边距铺满整个屏宽(还带阴影和蓝灰边), 改成和别的页一样的白卡片 */
body.hnc-shell.page-id-5411 #hnc-teaching-resources.hnc-module-card:not(#hs-x) { margin: 0 !important; width: auto !important; max-width: 100% !important; box-sizing: border-box !important; left: auto !important; transform: none !important; padding: 28px 28px 20px !important; background: #FFFFFF !important; border: 1px solid var(--hs-line) !important; border-radius: 16px !important; box-shadow: none !important; }
body.hnc-shell #hnc-search-results { scroll-margin-top: 16px; }
@media (max-width: 767px) {
  body.hnc-shell.page-id-5411 #hnc-teaching-resources.hnc-module-card:not(#hs-x) { padding: 20px 16px 16px !important; margin: 0 16px !important; }
  /* 手机上「句子解构」「看答案 / 重做」「翻译」这几个悬浮钮会压住最后几行, 给正文底部留出位置 */
  body.hnc-shell.page-id-5411 #primary.content-area { margin-bottom: 120px; }
  body.hnc-shell:is(.page-id-5752, .page-id-5662, .page-id-5755, .page-id-5757) .hnc-app-container .main-content { padding-bottom: 120px; }
}
/* 每日新闻: 打开文章弹层时收起底栏和悬浮钮, 不压正文 */
body.hnc-shell.hnc-dn-locked .edge-nav-mobile,
body.hnc-shell.hnc-dn-locked #translator-toggle-btn,
body.hnc-shell.hnc-dn-locked #hnc-deconstructor-toggle { display: none !important; }
