/* ============================================================
   追加：a11y 焦点样式 + 跳转链接 + 相关阅读（2026-10-03）
   ============================================================ */

/* 键盘可达性：所有可聚焦元素给出清晰的焦点圈。
   原先全站无 :focus 样式，键盘用户无法判断当前焦点位置（WCAG 2.4.7）。 */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible{
  outline:3px solid var(--cyan);
  outline-offset:2px;
  border-radius:4px;
}
/* 不支持 :focus-visible 的浏览器回退 */
a:focus,
button:focus{
  outline:3px solid var(--cyan);
  outline-offset:2px;
}
/* 仅键盘可见（鼠标点击不显示焦点圈） */
a:focus:not(:focus-visible),
button:focus:not(:focus-visible){
  outline:none;
}

/* 跳到主要内容：默认隐藏在视口外，键盘聚焦时出现（WCAG 2.4.1 bypass block） */
.skip-link{
  position:absolute;
  left:-9999px;
  top:0;
  z-index:9999;
  background:var(--navy);
  color:#fff;
  padding:12px 20px;
  border-radius:0 0 8px 0;
  font-weight:600;
  text-decoration:none;
}
.skip-link:focus,
.skip-link:focus-visible{
  left:0;
  outline:3px solid var(--cyan);
  outline-offset:-3px;
}

/* 锚点跳转目标获得焦点时不被 sticky header 遮挡 */
#main:focus{outline:none;}

/* 相关阅读：解决详情页零内链（权重无法传递） */
.related{
  max-width:820px;
  margin:40px auto 0;
  padding-top:24px;
  border-top:1px solid var(--line);
}
.related h2{
  font-size:20px;
  margin:0 0 16px;
  color:var(--navy);
}
.rel-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
}
.rel-card{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:14px 16px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--bg-2);
  text-decoration:none;
  transition:border-color .18s ease, transform .18s ease, background .18s ease;
}
.rel-card:hover{
  border-color:var(--cyan);
  background:#fff;
  transform:translateY(-2px);
}
.rel-cat{
  font-size:12px;
  color:var(--cyan-2);
  font-weight:600;
}
.rel-title{
  font-size:15px;
  line-height:1.5;
  color:var(--ink);
  font-weight:600;
}
.rel-date{
  font-size:12px;
  color:var(--muted);
}

@media(max-width:600px){
  .rel-grid{grid-template-columns:1fr}
}
