/* 活动公告位于首屏下方，横跨主内容区，用细线和文字区分层级。 */
.home-announcements {
  margin-top:20px;
  padding-top:16px;
  border-top:1px solid var(--border-color);
  font-size:13px;
}
.home-announcements[hidden],.home-announcements [hidden],.announcements-section [hidden] { display:none; }
.announcement-bar { display:flex;align-items:center;justify-content:space-between;gap:12px;line-height:1.6; }
.announcement-bar strong { white-space:nowrap;display:flex;align-items:center;gap:7px;font-size:15px;font-weight:500;color:var(--text-primary); }
.announcement-bar strong::before { content:"";width:5px;height:5px;flex-shrink:0;border-radius:50%;background:#82a99d; }
.announcement-bar>a { font-size:12px;color:var(--text-secondary); }
.home-announcements a { text-decoration:none;text-underline-offset:4px; }
.home-announcements a:hover { color:var(--accent-primary); }
.home-announcements a:focus-visible { outline:2px solid var(--accent-primary);outline-offset:3px;border-radius:3px; }
.home-announcements ul { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px;list-style:none;padding:0;margin:8px 0 0; }
.home-announcements li { min-width:0; }
.home-announcements + .discovery-section { margin-top:28px; }
.home-announcements li>a { display:flex;align-items:center;gap:16px;justify-content:space-between;min-height:32px;padding:4px 0;line-height:1.5;color:#40566e; }
.home-announcements li>a:hover>span:first-child { text-decoration:underline; }
.home-announcements li>a>span:first-child { min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.home-announcements .announcement-dates { flex-shrink:0;white-space:nowrap;font-size:11px;font-variant-numeric:tabular-nums;color:var(--text-secondary); }
/* 详情保持普通阅读排版；深链仅用细竖线标记当前记录。 */
.announcements-section { margin-top:30px;scroll-margin-top:112px; }
.announcements-section>h2 { font-size:20px;font-weight:600; }
.announcement-record { position:relative;padding:22px 0;border-bottom:1px solid var(--border-light);scroll-margin-top:112px;overflow-wrap:anywhere; }
.announcement-record:target::before { content:"";position:absolute;left:-14px;top:24px;bottom:24px;width:2px;background:#9abbb0; }
.announcement-record:focus { outline:none; }
.announcement-record:focus-visible::before { content:"";position:absolute;left:-14px;top:24px;bottom:24px;width:2px;background:var(--accent-primary); }
.announcement-record:focus-visible h3 { text-decoration:underline;text-decoration-color:var(--accent-primary);text-decoration-thickness:1px;text-underline-offset:5px; }
.announcement-record h3 { margin:8px 0 10px;font-size:17px;font-weight:600;line-height:1.6; }
.announcement-meta { display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--text-secondary); }
.announcement-body { color:var(--text-primary);font-size:14px;line-height:1.85; }
.announcement-body strong { font-weight:600; }
.announcement-body p { margin:8px 0; }
.announcement-body ul,.announcement-body ol { padding-left:20px; }
.announcement-body li::marker { color:#839a94; }
.announcement-body pre,.announcement-body table { display:block;max-width:100%;overflow-x:auto; }
.announcement-body a,.announcement-action { color:var(--accent-primary);text-underline-offset:4px; }
.announcement-action { display:inline-flex;align-items:center;min-height:40px;font-size:13px;text-decoration:none; }
.announcement-action:hover { text-decoration:underline; }
.announcement-archive { margin-top:16px; }
.announcement-archive>summary { cursor:pointer;color:var(--text-secondary);padding:10px 0;font-size:13px; }
@media(max-width:600px) {
  .home-announcements { margin-top:8px;padding-top:14px; }
  .home-announcements li>a,.announcement-bar>a,.announcement-action,.announcement-archive>summary { min-height:44px;align-items:center; }
  .home-announcements ul { grid-template-columns:minmax(0,1fr); }
  .announcement-bar strong { gap:7px;font-size:15px; }
  .announcement-bar>a { display:flex;font-size:11px;white-space:nowrap; }
  .home-announcements li>a { gap:10px; }
  .announcement-record h3 { font-size:16px; }
  .announcement-record:target::before,.announcement-record:focus-visible::before { left:-10px; }
}

@media(pointer:coarse) {
  .home-announcements li>a,.announcement-bar>a { min-height:44px; }
}
