/* 公告延续站点字体与明暗主题，以广播标记区分普通页面内容。 */
.site-announcement {
    background: color-mix(in srgb, var(--brand) 8%, var(--bg-card));
    border-block: 1px solid var(--rule);
    color: var(--text-primary);
    margin-bottom: 20px;
}
.site-announcement[hidden] { display: none; }
.site-announcement-row { display: flex; align-items: center; gap: 14px; padding-block: 10px; }
.site-announcement-label { display: flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 600; flex-shrink: 0; }
.site-announcement-label i { color: var(--brand); }
.site-announcement-link { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 14px; color: var(--text-primary); }
.site-announcement-all { font-size: 12px; flex-shrink: 0; }
.site-announcement button { background: none; border: 0; color: var(--text-secondary); font-size: 24px; line-height: 1; min-width: 32px; min-height: 32px; border-radius: 6px; }
.site-announcement button:focus-visible, .site-announcement a:focus-visible { outline: 2px solid var(--brand); outline-offset: 3px; }
.announcement-page { max-width: 840px; margin-inline: auto; }
.announcement-public-card { background: var(--bg-card); border: 1px solid var(--rule); border-radius: var(--radius-m); padding: clamp(20px, 4vw, 36px); margin-bottom: 20px; }
.announcement-body { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.8; }
.announcement-card h2, .announcement-page h1, .announcement-page h2 { overflow-wrap: anywhere; }
.announcement-page h1 { line-height: 1.3; }
@media (max-width: 575px) {
    .site-announcement-row { flex-wrap: wrap; gap: 6px 12px; }
    .site-announcement-link { order: 1; flex-basis: 100%; white-space: normal; overflow-wrap: anywhere; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
    .site-announcement-all { margin-left: auto; }
}
