body.announcements-body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 90% 0,#172635 0,transparent 45%),#090d12;color:#f4f6f9;font-family:Arial,sans-serif;overflow-x:hidden}
.announcements-body [hidden]{display:none!important}
.announcements-body .lobby-topbar{position:relative}
.announcements-main{max-width:1100px;margin:auto;padding:60px 24px 80px}
.announcements-intro{border-bottom:1px solid #303c48;padding-bottom:32px;margin-bottom:28px}
.announcements-intro small,.announcement-eyebrow{color:#ff5365;font-weight:800;letter-spacing:.16em;font-size:11px}
.announcements-intro h1{font-size:clamp(32px,6vw,64px);letter-spacing:-.04em;margin:14px 0}
.announcements-intro p{color:#9faebb;line-height:1.6}
.announcements-body a{color:inherit}
.announcement-composer,.announcement-card,.announcement-empty{border:1px solid #354350;background:linear-gradient(120deg,#18222d,#0d131a);padding:28px;margin-bottom:20px;border-radius:4px;min-width:0}
.announcement-composer h2{margin-top:0}
.announcement-composer label{display:block;margin:18px 0 8px;font-size:13px;font-weight:700}
.announcement-composer input,.announcement-composer textarea{width:100%;padding:13px;border:1px solid #495563;border-radius:4px;background:#090e14;color:#fff;font:inherit}
.announcement-composer textarea{resize:vertical;min-height:190px;line-height:1.6}
.announcement-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.announcements-body .announcement-actions button,.announcement-confirm button{width:auto;margin:0;padding:11px 18px;border:1px solid #485665;border-radius:4px;background:#202d3a;color:white;font-weight:700;cursor:pointer}
.announcements-body .announcement-primary{background:#bc2337;border-color:#eb4055}
.announcements-body button:disabled{opacity:.55;cursor:wait}
.announcements-body :is(button,a,input,textarea):focus-visible{outline:2px solid #8ed6ff;outline-offset:3px}
.announcement-card.is-pinned{border-top:3px solid #83cfee}
.announcement-meta{display:flex;gap:12px;flex-wrap:wrap;align-items:center;color:#a0b0bf;font-size:12px;line-height:1.5}
.announcement-pin{color:#9be0ff;border:1px solid #386981;background:#102735;padding:4px 8px;font-size:10px;font-weight:bold;letter-spacing:.1em}
.announcement-card h2{font-size:clamp(22px,3vw,30px);line-height:1.25;margin:18px 0;overflow-wrap:anywhere}
.announcement-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;color:#c4cdd7}
#announcements-status{min-height:24px;color:#a8d9ed;line-height:1.6}
#announcements-status.is-error{color:#ff8d9b}
.announcement-empty{color:#aebdca;line-height:1.6}
.announcement-confirm{max-width:440px;width:calc(100% - 32px);max-height:calc(100dvh - 32px);overflow:auto;padding:28px;background:#131c25;color:white;border:1px solid #4e5965;border-top:3px solid #e73b51;border-radius:8px}
.announcement-confirm::backdrop{background:#000b}
.announcement-confirm p{line-height:1.6;color:#c4cdd7;overflow-wrap:anywhere}
.announcements-footer{max-width:1100px;margin:auto;padding:22px 24px;border-top:1px solid #293541;font-size:11px;color:#8b9aa9}
@media(max-width:650px){.announcements-main{padding:32px 16px 48px}.announcement-card,.announcement-composer,.announcement-empty{padding:20px}.announcements-body .lobby-topbar{padding:12px;gap:8px;flex-wrap:wrap;height:auto}.announcements-body .lobby-brand strong{font-size:12px}.announcements-body .lobby-tabs{display:none}.announcements-intro{padding-bottom:20px}}
