.news-page { --news-accent: #4dabf7; margin: 0; padding: 0; }
.news-width { max-width: 960px; }
.news-hero { padding: 8rem 0 4rem; color: #fff; background: radial-gradient(circle at 85% 35%, rgba(77,171,247,.22), transparent 40%), linear-gradient(135deg, #101820, #162532 55%, #16344a); }
.news-hero h1 { color: #fff; overflow-wrap: anywhere; }
.news-hero p { color: rgba(255,255,255,.8); line-height: 1.75; }
.news-badge, .news-category { display: inline-flex; align-items: center; padding: .4rem .8rem; border: 1px solid rgba(77,171,247,.4); border-radius: 999px; background: rgba(77,171,247,.1); font-size: .85rem; font-weight: 600; }
.news-badge { color: #80c4fa; }
.news-back { display: block; width: fit-content; margin-bottom: 1.5rem; color: #a7d9ff; text-decoration: none; }
.news-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .65rem; color: var(--bs-secondary-color); font-size: .9rem; }
.news-hero .news-meta { color: rgba(255,255,255,.75); }
.news-panel, .news-article { border: 1px solid rgba(77,171,247,.3); border-radius: 1rem; background: var(--bs-body-bg); }
.news-title, .news-read { color: #17669f; text-decoration: none; }
.news-read { font-weight: 600; }
.news-title:hover, .news-read:hover, .news-back:hover { text-decoration: underline; }
.news-article { line-height: 1.85; overflow-wrap: anywhere; }
.news-article > :last-child { margin-bottom: 0; }
.news-article h2, .news-article h3 { margin-top: 2rem; margin-bottom: 1rem; font-weight: 700; }
.news-article > :first-child { margin-top: 0; }
.news-article a { color: #17669f; text-decoration: underline; }
.news-article pre { padding: 1.25rem; border: 1px solid var(--bs-border-color); border-radius: .75rem; background: var(--bs-tertiary-bg); overflow-x: auto; }
.news-article pre code { white-space: pre; overflow-wrap: normal; }
.news-article img { max-width: 100%; height: auto; border-radius: .75rem; }
.news-article blockquote { border-left: 3px solid var(--news-accent); padding: .5rem 1rem; background: rgba(77,171,247,.06); }
.news-article table { display: block; overflow-x: auto; border-collapse: collapse; }
.news-article th, .news-article td { padding: .5rem .75rem; border: 1px solid var(--bs-border-color); }
.news-page main a:focus-visible, .news-back:focus-visible { outline: 3px solid var(--news-accent); outline-offset: 4px; }
[data-bs-theme="dark"] .news-panel, [data-bs-theme="dark"] .news-article { background: var(--bs-gray-800); }
[data-bs-theme="dark"] :is(.news-title, .news-read, .news-article a) { color: #80c4fa; }
@media(max-width: 575px) { .news-hero { padding: 7rem 0 3rem; } .news-hero h1 { font-size: 2.5rem; } }

/* Match the subtle grid used by the directory and profile heroes. */
.news-hero { position: relative; overflow: hidden; }
.news-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
    background-size: 32px 32px;
    pointer-events: none;
}
.news-hero > .container { position: relative; z-index: 1; }
