/* 校园反诈独立模块外壳。核心剧情与资料布局复用 train.css。 */
.campus-module { min-width:0; background:var(--bg-0); }
.campus-skip { position:fixed; z-index:20; top:8px; left:8px; padding:10px 14px; color:#000; background:var(--yellow); border:1px solid #000; transform:translateY(-160%); }
.campus-skip:focus { transform:translateY(0); }
.campus-topbar { display:flex; min-height:64px; align-items:center; justify-content:space-between; gap:24px; padding:0 32px; border-bottom:1px solid var(--ink); background:var(--bg-0); }
.campus-brand { display:flex; flex:none; align-items:baseline; gap:12px; color:var(--ink); text-decoration:none; white-space:nowrap; }
.campus-brand b { font-size:22px; letter-spacing:-.04em; }
.campus-brand span { font-size:12px; font-weight:900; }
.campus-topbar nav { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:4px; }
.campus-topbar nav a { display:inline-flex; min-height:40px; align-items:center; padding:0 12px; color:var(--ink); border:1px solid transparent; text-decoration:none; font-size:13px; font-weight:900; }
.campus-topbar nav a:hover,.campus-topbar nav a:focus-visible { border-color:var(--ink); }
.campus-topbar nav a[aria-current="page"] { color:#000; background:var(--yellow); border-color:#000; }
.campus-main { min-height:calc(100dvh - 64px); }
.campus-footer { display:grid; grid-template-columns:1fr auto; gap:20px; align-items:end; padding:28px 32px; color:#fff; background:#202020; border-top:8px solid var(--yellow); }
.campus-footer__brand b { display:block; font-size:22px; }
.campus-footer__brand span { display:block; margin-top:6px; color:#d9d9d9; font-size:12px; }
.campus-footer__links { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px 16px; }
.campus-footer a { color:#fff; text-underline-offset:3px; }
.campus-footer a[hidden] { display:none; }

@media (max-width:700px) {
  .campus-topbar { min-height:0; padding:18px 20px; align-items:flex-start; flex-wrap:wrap; gap:12px; }
  .campus-brand span { display:none; }
  .campus-topbar nav { max-width:none; flex:1 1 220px; justify-content:flex-start; }
  .campus-topbar nav a { min-height:36px; padding:0 8px; }
  .campus-footer { grid-template-columns:1fr; padding:24px 20px; }
  .campus-footer__links { justify-content:flex-start; }
}

@media (prefers-reduced-motion:reduce) {
  .campus-skip { transition:none; }
}
