.course-news-banner {
  --news-accent: var(--lime); --news-border: rgba(200,255,90,.45); --news-body: #d1dce8;
  --news-background: linear-gradient(100deg, #162918, #10243a); --news-hover-text: #11180d;
  width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 28px;
  padding: 18px max(24px, calc((100vw - 1160px) / 2)); border-bottom: 1px solid var(--news-border);
  background: var(--news-background); color: var(--text);
}
.course-news-banner.tone-info { --news-accent: #8ec5ff; --news-border: rgba(92,179,255,.65); --news-body: #d9eaff; --news-background: linear-gradient(100deg, #0b2440, #122e54); --news-hover-text: #071525; }
.course-news-banner.tone-success { --news-accent: #6ef2a9; --news-border: rgba(71,214,140,.65); --news-body: #d9f8e7; --news-background: linear-gradient(100deg, #102b22, #173a27); --news-hover-text: #082016; }
.course-news-banner.tone-warning { --news-accent: #ffd778; --news-border: rgba(255,200,87,.7); --news-body: #fff1d3; --news-background: linear-gradient(100deg, #3a2610, #402f13); --news-hover-text: #2b1b00; }
.course-news-banner.tone-danger { --news-accent: #ff8fa0; --news-border: rgba(255,102,122,.7); --news-body: #ffe0e5; --news-background: linear-gradient(100deg, #3b141c, #2c1828); --news-hover-text: #2b0710; }
.course-news-banner.tone-accent { --news-accent: #d0a5ff; --news-border: rgba(180,124,255,.7); --news-body: #eee1ff; --news-background: linear-gradient(100deg, #2a183f, #18243f); --news-hover-text: #1d0c31; }
.course-news-banner > div { min-width: 0; display: grid; grid-template-columns: auto 1fr; align-items: baseline; gap: 4px 14px; }
.course-news-banner > div > span { color: var(--news-accent); font: 800 9px "JetBrains Mono", monospace; text-transform: uppercase; letter-spacing: .1em; }
.course-news-banner > div > strong { font-size: 17px; }
.course-news-body { grid-column: 2; min-width: 0; color: var(--news-body); font-size: 13px; line-height: 1.5; overflow-wrap: anywhere; }
.course-news-body p { margin: 0 0 6px; }
.course-news-body p:last-child { margin-bottom: 0; }
.course-news-body ul, .course-news-body ol { margin: 5px 0; padding-left: 21px; }
.course-news-body a { color: var(--news-accent); font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
.course-news-body code { padding: 1px 4px; border-radius: 3px; background: rgba(0,0,0,.22); }
.course-news-banner button { flex: 0 0 auto; padding: 9px 14px; border: 1px solid var(--news-accent); border-radius: 4px; background: transparent; color: var(--news-accent); font-weight: 800; cursor: pointer; }
.course-news-banner button:hover { background: var(--news-accent); color: var(--news-hover-text); }
.course-news-banner button:disabled { opacity: .5; cursor: wait; }
html[data-course-theme=light] .course-news-banner { --news-accent: #659510; --news-border: #91bd43; --news-body: #35465d; --news-background: linear-gradient(100deg, #eef8dc, #e5f1ff); }
html[data-course-theme=light] .course-news-banner.tone-info { --news-accent: #1769aa; --news-border: #65a9df; --news-body: #294b68; --news-background: linear-gradient(100deg, #e6f3ff, #dcecff); }
html[data-course-theme=light] .course-news-banner.tone-success { --news-accent: #147044; --news-border: #58b786; --news-body: #285944; --news-background: linear-gradient(100deg, #e4f8ec, #d9f2e4); }
html[data-course-theme=light] .course-news-banner.tone-warning { --news-accent: #875700; --news-border: #d69822; --news-body: #614617; --news-background: linear-gradient(100deg, #fff4cc, #ffe5b8); }
html[data-course-theme=light] .course-news-banner.tone-danger { --news-accent: #b4233b; --news-border: #e36a7c; --news-body: #702b38; --news-background: linear-gradient(100deg, #fff0f2, #ffe6eb); }
html[data-course-theme=light] .course-news-banner.tone-accent { --news-accent: #7139a6; --news-border: #aa78d8; --news-body: #533371; --news-background: linear-gradient(100deg, #f4eaff, #eae8ff); }
@media (max-width: 650px) {
  .course-news-banner { align-items: flex-start; gap: 14px; padding: 15px 16px; }
  .course-news-banner > div { grid-template-columns: 1fr; }
  .course-news-body { grid-column: 1; margin-top: 3px; }
  .course-news-banner > div > strong { font-size: 15px; }
  .course-news-banner button { padding: 8px 10px; font-size: 10px; }
}
