.announcement-tag{display:inline-flex;align-items:center;flex-shrink:0;padding:2px 7px;border-radius:4px;background:var(--brand-default);color:#fff;font-size:var(--type-badge);font-weight:700;line-height:1.4}.announcement-rows{margin:0;padding:0;list-style:none}.announcement-rows li+li{border-top:1px solid var(--border-default)}.announcement-rows button{display:flex;flex-direction:column;gap:4px;width:100%;min-height:56px;padding:12px 2px;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.announcement-rows button:hover b{color:var(--brand-default)}.announcement-row-title{display:flex;align-items:center;gap:8px;min-width:0}.announcement-row-title b{overflow:hidden;color:var(--text-strong);font-size:var(--type-body);font-weight:600;text-overflow:ellipsis;white-space:nowrap}.announcement-rows small{color:var(--text-secondary);font-size:var(--type-caption)}.announcement-new{flex-shrink:0;width:7px;height:7px;border-radius:50%;background:var(--status-error,#d92d20)}.announcement-article{display:flex;flex-direction:column;gap:16px}.announcement-meta{display:flex;align-items:center;gap:8px;margin:0;color:var(--text-secondary);font-size:var(--type-caption)}.announcement-body{color:var(--text-body);font-size:var(--type-body);line-height:1.75;white-space:pre-wrap;word-break:keep-all;overflow-wrap:anywhere}.announcement-body a{color:var(--brand-default);text-decoration:underline}.announcement-files{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.announcement-files a,.announcement-files span{display:flex;align-items:center;gap:8px;min-height:48px;padding:10px 14px;border:1px solid var(--border-default);border-radius:8px;color:var(--text-secondary);text-decoration:none}.announcement-files a:hover{border-color:var(--border-strong);color:var(--brand-default)}.announcement-files b{flex:1;min-width:0;overflow-wrap:anywhere;color:var(--text-strong);font-size:var(--type-sub);font-weight:600}.announcement-files small{flex-shrink:0;font-size:var(--type-caption)}.ops-shell .announcement-body,.ops-shell .announcement-row-title b{font-size:var(--type-ops-body)}.ops-shell .announcement-files b,.ops-shell .announcement-meta,.ops-shell .announcement-rows small{font-size:var(--type-ops-sub)}.home-announcements{margin-top:24px}.home-announcements .section-title{margin-bottom:4px}.home-announcements .section-title h2{display:inline-flex;align-items:center;gap:8px}.home-announcements .section-title h2 svg{flex-shrink:0;color:var(--brand-default)}