/* Flat announcement rows, persistent unread badges and a quiet reading page. */
.announcement-list,.announcement-detail{--announcement-line:var(--border,#303034);--announcement-soft:var(--surface-2,#202023);color:var(--text);min-width:0}
.announcement-list{padding:0 2px 24px;min-height:55vh}
.announcement-list svg,.announcement-detail svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
body.ui-polished .announcement-list button,body.ui-polished .announcement-detail button{box-shadow:none!important;translate:none}
.announcement-list button,.announcement-detail button{font:inherit;-webkit-tap-highlight-color:transparent;cursor:pointer}
.announcement-list button:focus-visible,.announcement-detail button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.announcement-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:66px;padding:5px 2px 16px;border-bottom:1px solid var(--announcement-line)}
.announcement-toolbar h2{font-size:17px;line-height:1.5;font-weight:650;margin:0;letter-spacing:-.02em}
.announcement-toolbar p{font-size:11px;line-height:1.5;color:var(--muted);margin:5px 0 0}
body .announcement-clean{display:flex;align-items:center;justify-content:center;gap:6px;flex-shrink:0;min-height:39px;padding:9px 11px;background:var(--announcement-soft);border:1px solid var(--announcement-line);border-radius:12px;color:var(--muted);font-size:11px;line-height:1.4;font-weight:500}
.announcement-clean svg{width:17px;height:17px;color:var(--text)}
.announcement-clean:disabled{cursor:default;opacity:.4}
.announcement-clean.is-pending{opacity:.7}
body .announcement-row{display:flex;align-items:center;gap:13px;width:100%;min-height:88px;padding:19px 3px;border:0;border-bottom:1px solid var(--announcement-line);border-radius:0;background:transparent;color:var(--text);text-align:left}
.announcement-row-icon{position:relative;display:grid;place-items:center;flex:0 0 39px;height:39px;border:1px solid var(--announcement-line);border-radius:12px;background:var(--announcement-soft);color:var(--muted)}
.announcement-row-icon svg{width:19px;height:19px;stroke-width:1.5}
.announcement-row.is-unread .announcement-row-icon{color:var(--accent);background:var(--accent-soft)}
.announcement-row-icon i{position:absolute;top:-2px;right:-2px;width:7px;height:7px;border-radius:50%;background:#f04e66;box-shadow:0 0 0 2px var(--bg)}
.announcement-row-copy{display:flex;flex:1;flex-direction:column;gap:8px;min-width:0}
.announcement-row-copy>b{font-size:14px;font-weight:600;line-height:1.55;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere}
.announcement-row-copy>span{display:flex;align-items:center;gap:10px;font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums;line-height:1.4}
.announcement-row-copy small{font-size:10px;font-weight:400}
.announcement-row.is-unread .announcement-row-copy small{color:#f4788b}
.announcement-row.is-read .announcement-row-copy>b{font-weight:500;color:var(--muted)}
.announcement-row.is-read .announcement-row-copy small{opacity:.65}
.announcement-row-arrow{display:grid;place-items:center;flex:0 0 18px;color:var(--muted);opacity:.5}
.announcement-row-arrow svg{width:16px;height:16px}
body .announcement-row:active{background:var(--announcement-soft)}
.has-announcement-badge{position:relative!important;overflow:visible!important}
.announcement-unread-badge{position:absolute;right:2px;top:-5px;display:flex;align-items:center;justify-content:center;min-width:17px;height:17px;padding:0 4px;border-radius:10px;background:#f04e66;color:white!important;border:2px solid var(--bg);font:650 9px/1 ui-sans-serif,sans-serif;font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none;z-index:2;box-sizing:content-box}
#notice-button .announcement-unread-badge{top:-5px;right:-5px}
#notice-button.has-announcement-badge .notification-dot{display:none}
.announcement-empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:58px 16px;color:var(--muted)}
.announcement-empty>svg{width:33px;height:33px;margin-bottom:15px;stroke-width:1.2;opacity:.55}
.announcement-empty h3{font-size:14px;font-weight:550;color:var(--text);margin:0}
.announcement-empty p{font-size:12px;line-height:1.8;margin:9px 0 0;overflow-wrap:anywhere}
.announcement-spinner{display:block;width:17px;height:17px;border-radius:50%;border:1.5px solid var(--announcement-line);border-top-color:var(--accent);animation:announcement-spin .8s linear infinite}
@keyframes announcement-spin{to{transform:rotate(360deg)}}
body .announcement-more,body .announcement-retry{display:block;min-height:44px;min-width:100px;margin:16px auto 0;padding:10px 15px;border:0;border-radius:11px;background:transparent;color:var(--accent);font-size:12px}
.announcement-more[hidden]{display:none!important}
.announcement-inline-status{font-size:11px;color:var(--muted);line-height:1.8;overflow-wrap:anywhere;margin:12px 2px}
.announcement-inline-status:empty{display:none}
body .announcement-inline-status button{border:0;background:none;color:var(--accent);padding:6px 8px;font-size:11px;border-radius:7px;min-height:32px}
.announcement-detail{padding:0 3px 36px;min-height:65vh}
.announcement-detail-nav{display:flex;align-items:center;min-height:48px;margin:1px 0 28px}
body .announcement-detail .strategy-back{display:flex;align-items:center;gap:7px;min-height:44px;padding:9px 13px 9px 10px;font-size:13px}
.announcement-detail .strategy-back svg{width:20px;height:20px}
.announcement-article{padding:0 3px}
.announcement-publisher{display:flex;align-items:center;gap:7px;font-size:10px;color:var(--muted);letter-spacing:.02em}
.announcement-publisher svg{width:14px;height:14px;stroke-width:1.5;color:var(--accent)}
.announcement-article h1{font-size:24px;font-weight:650;line-height:1.55;letter-spacing:-.025em;margin:15px 0 16px;overflow-wrap:anywhere}
.announcement-article-meta{display:flex;align-items:center;gap:12px;font-size:11px;line-height:1.5;color:var(--muted);font-variant-numeric:tabular-nums;padding-bottom:23px;border-bottom:1px solid var(--announcement-line)}
.announcement-article-meta>span{font-size:10px;opacity:.8}
.announcement-article-body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px;line-height:2;letter-spacing:.01em;padding:25px 0 14px;color:var(--text)}
:root[data-theme="light"] .announcement-list,:root[data-theme="light"] .announcement-detail{--announcement-line:#e1e7f0;--announcement-soft:#f0f4fa}
[data-theme="light"] .announcement-row.is-unread .announcement-row-icon{background:#eaf1ff;border-color:#dfe8f7;color:#3478ed}
[data-theme="light"] .announcement-row.is-unread .announcement-row-copy small{color:#e45269}
[data-theme="light"] .announcement-article-body{color:#354459}
@media(hover:hover){body .announcement-row:hover{background:var(--announcement-soft)}body .announcement-clean:not(:disabled):hover{color:var(--accent)}}
@media(max-width:360px){.announcement-toolbar{gap:8px}.announcement-toolbar h2{font-size:16px}.announcement-clean{padding:9px!important;gap:5px!important}.announcement-row{gap:10px!important}.announcement-row-copy>b{font-size:13px}.announcement-article h1{font-size:22px}.announcement-unread-badge{right:0;font-size:8px;min-width:15px;height:15px}}
@media(prefers-reduced-motion:reduce){.announcement-spinner{animation:none}}
