/* Scoped site notices: no changes to the game, Pub, or authentication artwork. */
.site-announcement-auth-slot { display:contents; }
.site-announcement-banner { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; width:100%; margin:0 0 18px; padding:18px 20px; border:1px solid #61ff8966; border-left:4px solid var(--green,#61ff89); background:linear-gradient(115deg,#162c26,#141825 75%); color:var(--text,#f7f7fb); box-shadow:0 8px 24px #0003; }
.site-announcement-banner[hidden], .site-announcement-panel[hidden] { display:none !important; }
.auth-gate .site-announcement-banner { width:min(1080px,100%); align-self:end; }
.site-announcement-banner > div { min-width:0; }
.site-announcement-banner .eyebrow { margin:0 0 7px; color:var(--green,#61ff89); font:800 .65rem/1.5 var(--body,"Montserrat",sans-serif); letter-spacing:.08em; }
.site-announcement-banner strong { display:block; margin-bottom:6px; font-size:1.08rem; line-height:1.4; overflow-wrap:anywhere; }
.site-announcement-banner #siteAnnouncementMessage { margin:0; font-size:.88rem; line-height:1.65; white-space:pre-wrap; overflow-wrap:anywhere; }
.site-announcement-dismiss { display:grid; place-items:center; flex:none; min-width:44px; min-height:44px; margin:-5px -7px 0 0; border:1px solid #ffffff24; background:#070b1466; color:inherit; font:inherit; font-size:1.6rem; cursor:pointer; }
.site-announcement-dismiss:hover { border-color:var(--green,#61ff89); }
.site-announcement-dismiss:focus-visible, .site-announcement-panel :is(button,input,textarea):focus-visible, .site-announcement-dialog button:focus-visible { outline:2px solid var(--cyan,#35d4ff); outline-offset:3px; }
.site-announcement-panel { margin-top:20px; }
.site-announcement-panel .panel-heading { gap:18px; flex-wrap:wrap; }
.site-announcement-panel .panel-heading > div { min-width:0; }
.site-announcement-panel h3 { margin-bottom:8px; }
.site-announcement-panel .panel-heading p, #siteAnnouncementStatus { max-width:75ch; line-height:1.6; }
#siteAnnouncementStatus { min-height:1.6em; color:var(--green,#61ff89); font-size:.86rem; overflow-wrap:anywhere; }
#siteAnnouncementStatus[data-error="true"] { color:#ffc293; }
.site-announcement-fields { display:grid; gap:8px; max-width:820px; }
.site-announcement-fields label { margin-top:7px; font-size:.9rem; font-weight:750; }
.site-announcement-fields label span { display:inline-block; margin-left:8px; color:var(--muted,#9ca3b5); font-size:.73rem; font-weight:400; }
.site-announcement-fields :is(input,textarea) { width:100%; min-width:0; min-height:46px; padding:11px 12px; border:1px solid #ffffff38; border-radius:0; background:#090d16; color:var(--text,#f7f7fb); font:inherit; line-height:1.5; }
.site-announcement-fields textarea { min-height:125px; resize:vertical; }
.site-announcement-fields .microcopy { margin:0 0 4px; line-height:1.6; }
.site-announcement-actions { display:flex; flex-wrap:wrap; justify-content:flex-start; gap:12px; margin-top:18px; }
.site-announcement-actions button { min-height:46px; max-width:100%; white-space:normal; }
.site-announcement-dialog { width:min(680px,calc(100% - 32px)); max-width:none; max-height:calc(100dvh - 32px); padding:24px; overflow:auto; overscroll-behavior:contain; border:1px solid #61ff8980; background:#111722; color:var(--text,#f7f7fb); box-shadow:0 20px 80px #000b; }
.site-announcement-dialog::backdrop { background:#03050dda; }
.site-announcement-dialog > .eyebrow { color:var(--green,#61ff89); font-size:.7rem; }
.site-announcement-preview { padding:18px; border:1px solid #61ff8944; background:#182721; }
.site-announcement-preview h2 { margin:0 0 12px; font-family:var(--body,"Montserrat",sans-serif); font-size:1.35rem; line-height:1.4; text-transform:none; letter-spacing:normal; overflow-wrap:anywhere; }
.site-announcement-preview p { margin:0; white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.65; }
#siteAnnouncementConfirmDescription { margin:16px 0 0; color:#b7c0cf; font-size:.86rem; line-height:1.6; }
@media(max-width:600px) {
  .site-announcement-banner { gap:10px; padding:14px; }
  .site-announcement-banner strong { font-size:1rem; }
  .site-announcement-banner #siteAnnouncementMessage { font-size:.84rem; }
  .site-announcement-fields label span { display:block; margin:3px 0 0; }
  .site-announcement-fields :is(input,textarea) { font-size:16px; }
  .site-announcement-dialog { padding:16px; }
  .site-announcement-preview { padding:14px; }
  .site-announcement-actions button { flex:1 1 180px; }
}
