.site-news-center { position: fixed; z-index: 1500; right: 16px; bottom: 16px; color: #f3efff; font-family: var(--font-family,system-ui,sans-serif); }
.site-news-launcher { min-height: 46px; display: inline-flex; align-items: center; gap: 9px; padding: 7px 13px 7px 8px; color: #f4efff; font: inherit; font-size: .8rem; font-weight: 700; cursor: pointer; background: linear-gradient(145deg,#20172f,#100d17); border: 1px solid rgba(167,139,250,.4); border-radius: 999px; box-shadow: 0 10px 32px rgba(0,0,0,.42),0 0 22px rgba(139,92,246,.1); transition: border-color .18s,transform .18s; }
.site-news-launcher:hover { transform: translateY(-2px); border-color: rgba(196,181,253,.72); }
.site-news-icon { width: 30px; height: 30px; display: grid; place-items: center; color: white; background: #8051e8; border-radius: 50%; }
.site-news-count { min-width: 19px; height: 19px; display: inline-grid; padding: 0 5px; place-items: center; color: #fff; background: #c45870; border-radius: 999px; font-size: .65rem; }
.site-news-count[hidden] { display: none; }
.site-news-launcher.has-news .site-news-icon { animation: site-news-pulse 2.5s ease-in-out infinite; }
.site-news-panel { position: absolute; right: 0; bottom: 58px; width: min(390px,calc(100vw - 24px)); max-height: min(620px,calc(100vh - 100px)); display: flex; flex-direction: column; overflow: hidden; background: linear-gradient(150deg,rgba(27,21,39,.985),rgba(12,10,18,.99)); border: 1px solid rgba(167,139,250,.35); border-radius: 17px; box-shadow: 0 22px 72px rgba(0,0,0,.6),0 0 32px rgba(139,92,246,.1); animation: site-news-rise .18s ease-out both; }
.site-news-panel[hidden], .site-news-modal[hidden] { display: none !important; }
.site-news-panel > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 15px 16px 12px; border-bottom: 1px solid rgba(255,255,255,.075); }
.site-news-eyebrow { display: block; color: #bca3ee; font-size: .57rem; font-weight: 800; letter-spacing: .13em; }
.site-news-panel h2 { margin-top: 3px; color: #f4f0fa; font-size: .94rem; }
.site-news-close,.site-news-dialog-close { width: 31px; height: 31px; display: grid; flex: 0 0 auto; place-items: center; color: #c6bbd4; cursor: pointer; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.1); border-radius: 9px; }
.site-news-controls { display: flex; flex-wrap: wrap; gap: 7px; padding: 10px 12px 0; }
.site-news-controls button { min-height: 30px; display: inline-flex; align-items: center; gap: 6px; padding: 6px 9px; color: #bdb2cc; cursor: pointer; background: rgba(255,255,255,.035); border: 1px solid rgba(255,255,255,.08); border-radius: 8px; font: inherit; font-size: .66rem; }
.site-news-controls button:hover,.site-news-controls button[aria-pressed="true"] { color: #e3d5ff; border-color: rgba(167,139,250,.3); background: rgba(139,92,246,.11); }
.site-news-hint { margin: 7px 13px 0; color: #8f859d; font-size: .62rem; line-height: 1.45; }
.site-news-list { display: grid; align-content: start; gap: 7px; min-height: 90px; overflow: auto; padding: 10px 12px; }
.site-news-item { display: grid; gap: 4px; width: 100%; padding: 10px 11px; color: inherit; text-align: left; cursor: pointer; background: rgba(255,255,255,.025); border: 1px solid rgba(255,255,255,.075); border-radius: 10px; transition: border-color .15s,background .15s; }
.site-news-item:hover { background: rgba(139,92,246,.075); border-color: rgba(167,139,250,.27); }
.site-news-item time { color: #92879f; font-size: .62rem; }
.site-news-item strong { color: #f0ebf7; font-size: .78rem; line-height: 1.35; }
.site-news-item span { display: -webkit-box; overflow: hidden; color: #a9a0b4; font-size: .69rem; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.site-news-item small { color: #d5b76e; font-size: .58rem; }
.site-news-empty { margin: auto; padding: 16px; color: #a49aad; font-size: .75rem; text-align: center; }
.site-news-all { display: flex; align-items: center; justify-content: space-between; padding: 11px 14px; color: #d1c1f4; text-decoration: none; border-top: 1px solid rgba(255,255,255,.075); font-size: .72rem; font-weight: 700; }
.site-news-all:hover { color: #fff; }
.site-news-modal { position: fixed; z-index: 3000; inset: 0; display: grid; padding: 18px; place-items: center; }
.site-news-backdrop { position: absolute; inset: 0; border: 0; background: rgba(3,2,7,.8); backdrop-filter: blur(8px); cursor: pointer; }
.site-news-dialog { position: relative; width: min(730px,100%); max-height: min(84vh,900px); overflow: auto; padding: clamp(22px,5vw,42px); color: #f3efff; background: linear-gradient(150deg,#191426,#0e0b14 72%); border: 1px solid rgba(167,139,250,.38); border-radius: 20px; box-shadow: 0 28px 100px rgba(0,0,0,.62); }
.site-news-dialog-close { position: sticky; z-index: 2; top: 0; float: right; margin: -8px -8px 4px 12px; }
.site-news-dialog h2 { margin: 10px 0 7px; color: #fff; font-size: clamp(1.45rem,4vw,2.1rem); line-height: 1.2; overflow-wrap: anywhere; }
.site-news-dialog-date { color: #9e92ae; font-size: .7rem; }
.site-news-content { margin-top: 20px; color: #d1cadc; font-size: .9rem; line-height: 1.75; overflow-wrap: anywhere; }
.site-news-content h2,.site-news-content h3 { margin: 1.3em 0 .5em; color: #f2ecfb; line-height: 1.3; }
.site-news-content p { margin: .75em 0; }
.site-news-content ul,.site-news-content ol { padding-left: 1.45em; }
.site-news-content blockquote { margin: .9em 0; padding: 4px 13px; color: #bdb2cc; border-left: 2px solid #9270ce; background: rgba(255,255,255,.025); }
.site-news-content pre { overflow: auto; padding: 12px; color: #d6c7ec; background: #09070e; border: 1px solid rgba(255,255,255,.08); border-radius: 9px; }
.site-news-content code { padding: .12em .3em; color: #d7c5f4; background: rgba(255,255,255,.06); border-radius: 4px; }
.site-news-content a { color: #c7aaff; text-decoration: underline; text-underline-offset: 3px; }
.site-news-content img { display: block; max-width: min(100%,680px); height: auto; margin: 12px 0; border: 1px solid rgba(255,255,255,.1); border-radius: 10px; }
.site-news-video,.announcement-video { position: relative; width: min(100%,760px); aspect-ratio: 16/9; overflow: hidden; margin: 14px 0; background: #050408; border: 1px solid rgba(255,255,255,.1); border-radius: 12px; }
.announcement-countdown-admin { display:grid; grid-template-columns:minmax(0,1fr); gap:14px; margin:18px 0; padding:18px; background:linear-gradient(145deg,rgba(139,92,246,.085),rgba(255,255,255,.015)); border:1px solid rgba(167,139,250,.2); border-radius:14px; }
.site-news-video-tiktok,.announcement-video-tiktok { width:min(100%,420px); aspect-ratio:9/16; margin-inline:auto; }
.announcement-countdown-admin h3 { margin:7px 0 4px; }.announcement-countdown-admin p { margin:0; color:var(--text-muted,#a9a1ba); font-size:.76rem; }
.announcement-countdown-fields { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.announcement-countdown-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.announcement-countdown-heading .btn-small { flex:0 0 auto; }
.announcement-countdown-admin .announcement-checks { display:flex; align-items:center; flex-wrap:wrap; gap:14px; }
#announcement-countdown-status { color:#b6f0ca; font-size:.75rem; }
.announcement-countdown-list { display:grid; gap:8px; }
.announcement-countdown-row { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 12px; background:rgba(8,7,12,.42); border:1px solid rgba(255,255,255,.075); border-radius:10px; }
.announcement-countdown-row-copy { display:grid; min-width:0; gap:3px; }
.announcement-countdown-row-copy strong { overflow-wrap:anywhere; color:#eee8f7; font-size:.78rem; }
.announcement-countdown-row-copy small { color:#968ba2; font-size:.66rem; }
.announcement-countdown-row-actions { display:flex; flex:0 0 auto; flex-wrap:wrap; gap:6px; }
.announcement-countdown-row-actions .btn-small { min-height:31px; }
.announcement-countdown-delete-row:hover { color:#ffd5dc; border-color:rgba(230,112,132,.35); }
.announcement-countdown-list .announcement-feed-empty { margin:0; padding:12px; text-align:left; }
@media(max-width:760px){.announcement-countdown-fields{grid-template-columns:1fr}}
@media(max-width:520px){.announcement-countdown-admin{padding:13px}.announcement-countdown-heading{align-items:flex-start;flex-direction:column}.announcement-countdown-row{align-items:flex-start;flex-direction:column}.announcement-countdown-row-actions{width:100%}.announcement-countdown-row-actions button{flex:1}}
.site-news-video iframe,.announcement-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.site-news-content hr { margin: 15px 0; border: 0; border-top: 1px solid rgba(255,255,255,.13); }
.site-news-callout { margin: 10px 0; padding: 10px 13px; background: rgba(255,255,255,.025); border: 1px solid rgba(255,255,255,.07); border-left: 2px solid #a17bc6; border-radius: 8px; }
.site-news-callout strong { display: block; margin-bottom: 4px; color: #d7c4f6; font-size: .69rem; letter-spacing: .05em; text-transform: uppercase; }
.site-news-callout p { margin: 5px 0; font-size: .84rem; }
.site-news-admin-note { border-style: dashed; border-color: rgba(218,181,111,.32); border-left-color: rgba(218,181,111,.6); }
.site-news-admin-note > strong { color: #e1c98f; }
.site-news-content .rules-inline-color-red { color: #f29aa4; }.site-news-content .rules-inline-color-orange { color: #edb17e; }.site-news-content .rules-inline-color-yellow { color: #e9d179; }.site-news-content .rules-inline-color-green { color: #8bd1a9; }.site-news-content .rules-inline-color-blue { color: #88c6e8; }.site-news-content .rules-inline-color-purple { color: #c4a5ff; }.site-news-content .rules-inline-color-muted { color: #a9a1b4; }
body.site-news-modal-open { overflow: hidden; }
@keyframes site-news-rise { from { opacity: 0; transform: translateY(7px); } to { opacity: 1; transform: translateY(0); } }
@keyframes site-news-pulse { 0%,100% { box-shadow: 0 0 0 0 rgba(196,88,112,0); } 50% { box-shadow: 0 0 0 5px rgba(196,88,112,.16); } }
@media(max-width:620px) { .site-news-center { right: 12px; bottom: 12px; } .site-news-panel { right: 0; bottom: 56px; width: min(390px,calc(100vw - 24px)); max-height: min(70vh,570px); } .site-news-dialog { max-height: 92vh; padding: 21px; border-radius: 16px; } }
@media(prefers-reduced-motion:reduce) { .site-news-launcher.has-news .site-news-icon { animation: none; } .site-news-panel { animation: none; } }
.site-news-loading{color:#b7abc9;font-size:.85rem}
