/*
 * NWA Broadcast Combat visual layer
 *
 * This file intentionally loads after the public and league stylesheets. It
 * strengthens the existing visual system without changing page behaviour or
 * requiring new content fields.
 */

.nwa-broadcast {
    --bg: #070a10;
    --bg-soft: #0b1018;
    --panel: #121824;
    --panel-2: #192231;
    --panel-3: #202c3d;
    --line: rgba(219, 228, 245, 0.11);
    --line-strong: rgba(226, 233, 247, 0.22);
    --text: #f7f9fc;
    --muted: #a9b0be;
    --gold: #f2b632;
    --gold-bright: #ffd873;
    --orange: #ff6a00;
    --blue: #2f6bff;
    --success: #20d982;
    --danger: #ff334e;
    --purple: #8b5cf6;
    --broadcast-shadow: 0 24px 70px rgba(0, 0, 0, 0.42);
    --broadcast-inset: inset 0 1px rgba(255, 255, 255, 0.045);
    color-scheme: dark;
    background:
        radial-gradient(circle at 12% 8%, rgba(255, 106, 0, 0.1), transparent 30rem),
        radial-gradient(circle at 88% 16%, rgba(47, 107, 255, 0.1), transparent 34rem),
        #070a10;
}

.nwa-broadcast::before {
    z-index: -3;
    opacity: 1;
    background:
        linear-gradient(rgba(255, 255, 255, 0.018) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.018) 1px, transparent 1px),
        radial-gradient(circle at 18% 12%, rgba(255, 106, 0, 0.08), transparent 31rem),
        radial-gradient(circle at 82% 22%, rgba(47, 107, 255, 0.08), transparent 35rem);
    background-size: 72px 72px, 72px 72px, auto, auto;
}

.nwa-broadcast main {
    position: relative;
    isolation: isolate;
}

.nwa-broadcast main::before {
    position: fixed;
    z-index: -1;
    inset: 0;
    pointer-events: none;
    content: "";
    background: linear-gradient(115deg, rgba(255, 255, 255, 0.014), transparent 28%, transparent 72%, rgba(255, 255, 255, 0.012));
}

/* Header and league identity */
.nwa-broadcast .site-header {
    border-bottom-color: rgba(242, 182, 50, 0.18);
    background: rgba(5, 8, 13, 0.92);
    box-shadow: 0 14px 38px rgba(0, 0, 0, 0.25);
}

.nwa-broadcast .site-header::after {
    position: absolute;
    right: 0;
    bottom: -1px;
    left: 0;
    height: 1px;
    pointer-events: none;
    content: "";
    background: linear-gradient(90deg, transparent, rgba(242, 182, 50, 0.75) 24%, rgba(242, 182, 50, 0.16) 58%, transparent);
}

.nwa-broadcast .site-utility-bar {
    background: linear-gradient(90deg, rgba(242, 182, 50, 0.045), rgba(255, 255, 255, 0.015) 42%, rgba(47, 107, 255, 0.035));
}

.nwa-broadcast .brand-mark {
    border: 0;
    background: transparent;
    box-shadow: none;
    transform: none;
}

.nwa-broadcast .brand-mark img {
    filter: none;
}

.nwa-broadcast .primary-nav a {
    color: #c4c9d3;
}

.nwa-broadcast .primary-nav a:hover,
.nwa-broadcast .primary-nav a.active {
    color: #fff;
    text-shadow: 0 0 18px rgba(255, 255, 255, 0.16);
}

.nwa-broadcast .account-action,
.nwa-broadcast .notification-bell-button {
    background: rgba(255, 255, 255, 0.025);
    box-shadow: var(--broadcast-inset);
}

.nwa-broadcast .account-signout:hover,
.nwa-broadcast .account-signout:focus-visible {
    border-color: rgba(255, 255, 255, 0.32);
    background: rgba(255, 255, 255, 0.07);
}

.nwa-broadcast .account-join,
.nwa-broadcast .account-portal {
    border-color: var(--gold-bright);
    background: linear-gradient(135deg, var(--gold-bright), var(--gold));
    box-shadow: 0 7px 24px rgba(242, 182, 50, 0.22);
}

/* Type, buttons and shared headings */
.nwa-broadcast h1,
.nwa-broadcast h2,
.nwa-broadcast h3 {
    text-wrap: balance;
}

.nwa-broadcast .section-kicker,
.nwa-broadcast .eyebrow {
    color: var(--gold-bright);
    text-shadow: 0 0 20px rgba(242, 182, 50, 0.2);
}

.nwa-broadcast .section-kicker::before {
    display: inline-block;
    width: 18px;
    height: 2px;
    margin: 0 9px 3px 0;
    content: "";
    background: currentColor;
    box-shadow: 0 0 10px currentColor;
}

.nwa-broadcast .button {
    position: relative;
    overflow: hidden;
    box-shadow: var(--broadcast-inset);
}

.nwa-broadcast .button::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: -55%;
    width: 35%;
    pointer-events: none;
    content: "";
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.26), transparent);
    transform: skewX(-18deg);
    transition: left 320ms ease;
}

.nwa-broadcast .button:hover::before {
    left: 125%;
}

.nwa-broadcast .button-primary {
    border-color: var(--gold-bright);
    background: linear-gradient(135deg, var(--gold-bright), var(--gold) 62%, #cf8d11);
    box-shadow: 0 12px 32px rgba(242, 182, 50, 0.2), var(--broadcast-inset);
}

.nwa-broadcast .button-secondary {
    border-color: rgba(205, 216, 236, 0.22);
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.085), rgba(255, 255, 255, 0.025));
}

.nwa-broadcast .text-link,
.nwa-broadcast .card-link {
    color: #eef1f6;
}

/* Layered page backgrounds */
.nwa-broadcast .section {
    position: relative;
}

.nwa-broadcast .section-raised {
    border-block: 1px solid rgba(255, 255, 255, 0.055);
    background:
        radial-gradient(circle at 10% 20%, rgba(255, 106, 0, 0.07), transparent 26rem),
        linear-gradient(135deg, #0c1119, #090d14 65%);
}

.nwa-broadcast .section-panel {
    background:
        radial-gradient(circle at 86% 20%, rgba(47, 107, 255, 0.075), transparent 27rem),
        linear-gradient(145deg, #0a0f17, #101621);
}

.nwa-broadcast .page-section {
    background:
        linear-gradient(rgba(255, 255, 255, 0.012) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.012) 1px, transparent 1px),
        radial-gradient(circle at 8% 4%, rgba(242, 182, 50, 0.06), transparent 25rem);
    background-size: 84px 84px, 84px 84px, auto;
}

.nwa-broadcast .page-hero,
.nwa-broadcast .news-hero {
    position: relative;
    overflow: hidden;
    border-bottom-color: rgba(242, 182, 50, 0.16);
    background:
        radial-gradient(circle at 13% 55%, rgba(242, 182, 50, 0.13), transparent 30rem),
        radial-gradient(circle at 88% 22%, rgba(47, 107, 255, 0.1), transparent 31rem),
        linear-gradient(120deg, #111722, #070a10 58%);
}

.nwa-broadcast .page-hero::before,
.nwa-broadcast .news-hero::after {
    position: absolute;
    inset: 0;
    pointer-events: none;
    content: "";
    opacity: 0.7;
    background:
        linear-gradient(112deg, transparent 0 66%, rgba(242, 182, 50, 0.08) 66.1% 74%, transparent 74.1%),
        repeating-linear-gradient(90deg, transparent 0 95px, rgba(255, 255, 255, 0.022) 96px);
}

.nwa-broadcast .page-hero .container,
.nwa-broadcast .news-hero-inner {
    position: relative;
    z-index: 1;
}

.nwa-broadcast .page-hero h1,
.nwa-broadcast .news-hero h1 {
    text-shadow: 0 18px 50px rgba(0, 0, 0, 0.52);
}

/* Home broadcast */
.nwa-broadcast .hero {
    min-height: 720px;
    border-bottom-color: rgba(242, 182, 50, 0.18);
    background:
        linear-gradient(90deg, rgba(5, 8, 13, 0.98), rgba(5, 8, 13, 0.72) 56%, rgba(5, 8, 13, 0.93)),
        radial-gradient(circle at 18% 35%, rgba(255, 106, 0, 0.18), transparent 31rem),
        radial-gradient(circle at 88% 64%, rgba(47, 107, 255, 0.18), transparent 34rem),
        #070a10;
}

.nwa-broadcast .hero::before {
    position: absolute;
    inset: auto 0 0;
    z-index: 1;
    height: 150px;
    pointer-events: none;
    content: "";
    background: linear-gradient(transparent, rgba(7, 10, 16, 0.96));
}

.nwa-broadcast .hero::after {
    border-left-color: rgba(242, 182, 50, 0.22);
    background:
        linear-gradient(140deg, rgba(242, 182, 50, 0.16), transparent 48%),
        linear-gradient(35deg, rgba(47, 107, 255, 0.1), transparent 58%);
}

.nwa-broadcast .hero-grid,
.nwa-broadcast .profile-grid-lines,
.nwa-broadcast .event-hero-lines,
.nwa-broadcast .brand-hero-grid {
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px);
}

.nwa-broadcast .hero-content {
    min-height: 720px;
}

.nwa-broadcast .hero h1 {
    text-shadow: 0 20px 70px rgba(0, 0, 0, 0.7);
}

.nwa-broadcast .hero h1 span {
    -webkit-text-stroke-color: var(--gold-bright);
    filter: drop-shadow(0 0 22px rgba(242, 182, 50, 0.15));
}

.nwa-broadcast .hero-stats {
    border-color: rgba(242, 182, 50, 0.2);
    background: linear-gradient(135deg, rgba(21, 27, 39, 0.92), rgba(9, 13, 20, 0.88));
    box-shadow: 0 16px 44px rgba(0, 0, 0, 0.35), var(--broadcast-inset);
}

.nwa-broadcast .hero-stats strong {
    color: var(--gold-bright);
}

.nwa-broadcast .league-command {
    border-bottom-color: rgba(242, 182, 50, 0.18);
    background:
        linear-gradient(90deg, rgba(242, 182, 50, 0.045), transparent 38%),
        #090e16;
}

.nwa-broadcast .league-feature {
    overflow: hidden;
    border: 1px solid rgba(242, 182, 50, 0.24);
    border-left: 4px solid var(--gold);
    border-radius: var(--radius);
    background:
        linear-gradient(115deg, rgba(242, 182, 50, 0.1), transparent 47%),
        linear-gradient(135deg, #1a2332, #101722);
    box-shadow: var(--broadcast-shadow), var(--broadcast-inset);
}

.nwa-broadcast .league-feature::after {
    position: absolute;
    right: -35px;
    bottom: -70px;
    color: rgba(242, 182, 50, 0.045);
    content: "NWA";
    font-family: var(--display);
    font-size: 190px;
    font-style: italic;
    font-weight: 900;
    line-height: 1;
}

.nwa-broadcast .league-feature > *,
.nwa-broadcast .league-desk > * {
    position: relative;
    z-index: 1;
}

.nwa-broadcast .league-desk {
    border-color: rgba(47, 107, 255, 0.24);
    border-radius: var(--radius);
    background:
        radial-gradient(circle at 100% 0, rgba(47, 107, 255, 0.15), transparent 16rem),
        var(--panel);
    box-shadow: var(--broadcast-inset);
}

/* Shared cards */
.nwa-broadcast .event-card,
.nwa-broadcast .superstar-card,
.nwa-broadcast .title-card,
.nwa-broadcast .team-card,
.nwa-broadcast .draft-card,
.nwa-broadcast .news-card,
.nwa-broadcast .content-card,
.nwa-broadcast .portal-action-card,
.nwa-broadcast .notification-centre-item {
    border-color: rgba(205, 216, 236, 0.14);
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.055), transparent 44%),
        linear-gradient(155deg, var(--panel-2), var(--panel) 64%);
    box-shadow: 0 14px 42px rgba(0, 0, 0, 0.2), var(--broadcast-inset);
}

.nwa-broadcast .event-card:hover,
.nwa-broadcast .superstar-card:hover,
.nwa-broadcast .title-card:hover,
.nwa-broadcast .team-card:hover,
.nwa-broadcast .draft-card:hover,
.nwa-broadcast .news-card:hover {
    border-color: rgba(242, 182, 50, 0.42);
    box-shadow: 0 26px 65px rgba(0, 0, 0, 0.38), 0 0 34px rgba(242, 182, 50, 0.07), var(--broadcast-inset);
}

.nwa-broadcast .event-card--impact:hover {
    border-color: rgba(255, 106, 0, 0.34);
    box-shadow:
        0 26px 65px rgba(0, 0, 0, 0.38),
        0 0 32px rgba(255, 106, 0, 0.08),
        var(--broadcast-inset);
}

.nwa-broadcast .event-card--lockdown:hover {
    border-color: rgba(47, 107, 255, 0.34);
    box-shadow:
        0 26px 65px rgba(0, 0, 0, 0.38),
        0 0 32px rgba(47, 107, 255, 0.08),
        var(--broadcast-inset);
}

.nwa-broadcast .event-card--impact {
    --event-card-ambient: #ff6a00;
}

.nwa-broadcast .event-card--lockdown {
    --event-card-ambient: #2f6bff;
}

.nwa-broadcast .event-card {
    background:
        radial-gradient(circle at 100% 0, color-mix(in srgb, var(--event-card-ambient, var(--gold)) 18%, transparent), transparent 18rem),
        linear-gradient(145deg, rgba(255, 255, 255, 0.045), transparent 48%),
        var(--panel);
}

.nwa-broadcast .event-card::after {
    position: absolute;
    right: -36px;
    bottom: -54px;
    width: 145px;
    height: 190px;
    border-left: 1px solid color-mix(in srgb, var(--event-card-ambient, var(--gold)) 22%, transparent);
    pointer-events: none;
    content: "";
    background: color-mix(in srgb, var(--event-card-ambient, var(--gold)) 5%, transparent);
    transform: skewX(-15deg);
}

.nwa-broadcast .event-card > * {
    position: relative;
    z-index: 1;
}

.nwa-broadcast .event-card-accent {
    height: 4px;
    box-shadow: 0 0 30px color-mix(in srgb, var(--brand-color) 75%, transparent);
}

.nwa-broadcast .brand-card {
    border-color: color-mix(in srgb, var(--brand-color) 48%, transparent);
    background:
        radial-gradient(circle at 20% 85%, color-mix(in srgb, var(--brand-color) 24%, transparent), transparent 20rem),
        linear-gradient(135deg, color-mix(in srgb, var(--brand-color) 18%, transparent), transparent 58%),
        var(--panel);
    box-shadow: 0 16px 45px rgba(0, 0, 0, 0.24), var(--broadcast-inset);
}

.nwa-broadcast .brand-card::after {
    position: absolute;
    inset: 0;
    border-left: 4px solid var(--brand-color);
    pointer-events: none;
    content: "";
}

.nwa-broadcast .brand-card:hover {
    border-color: color-mix(in srgb, var(--brand-color) 72%, white);
    box-shadow: 0 26px 70px color-mix(in srgb, var(--brand-color) 16%, transparent), var(--broadcast-inset);
}

.nwa-broadcast .champion-list,
.nwa-broadcast .ranking-list {
    border-color: rgba(205, 216, 236, 0.16);
    background: linear-gradient(145deg, var(--panel-2), var(--panel));
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.24), var(--broadcast-inset);
}

.nwa-broadcast .champion-row:hover {
    background: linear-gradient(90deg, rgba(242, 182, 50, 0.12), rgba(242, 182, 50, 0.025));
}

.nwa-broadcast .ranking-row:hover {
    background: linear-gradient(90deg, rgba(47, 107, 255, 0.12), rgba(47, 107, 255, 0.025));
}

.nwa-broadcast .title-medallion {
    border-color: #e3ad3a;
    background: radial-gradient(circle at 35% 28%, #fff0a6, #d8981e 46%, #76500c);
    box-shadow: inset 0 0 0 3px #38240a, 0 0 22px rgba(242, 182, 50, 0.22);
}

.nwa-broadcast .team-logo {
    border-color: rgba(242, 182, 50, 0.28);
    background:
        radial-gradient(circle at 30% 25%, rgba(242, 182, 50, 0.18), transparent 60%),
        linear-gradient(145deg, #283448, #0e141e);
    box-shadow: 0 14px 35px rgba(0, 0, 0, 0.34), var(--broadcast-inset);
}

/* Filters and standings */
.nwa-broadcast .filter-bar {
    border: 1px solid rgba(205, 216, 236, 0.15);
    border-radius: var(--radius);
    background:
        linear-gradient(110deg, rgba(242, 182, 50, 0.075), transparent 38%),
        var(--panel);
    box-shadow: var(--broadcast-inset);
}

.nwa-broadcast select,
.nwa-broadcast input,
.nwa-broadcast textarea {
    border-color: rgba(205, 216, 236, 0.2);
    background-color: #0c121b;
}

.nwa-broadcast .table-shell {
    border-color: rgba(205, 216, 236, 0.16);
    background: linear-gradient(150deg, var(--panel-2), #0e141e);
    box-shadow: var(--broadcast-shadow), var(--broadcast-inset);
}

.nwa-broadcast .data-table thead {
    background: linear-gradient(90deg, rgba(242, 182, 50, 0.1), rgba(47, 107, 255, 0.065));
}

.nwa-broadcast .data-table tbody tr {
    transition: background 160ms ease;
}

.nwa-broadcast .data-table tbody tr:hover {
    background: rgba(255, 255, 255, 0.035);
}

.nwa-broadcast .rank-number-table {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border: 1px solid rgba(242, 182, 50, 0.25);
    border-radius: 50%;
    background: rgba(242, 182, 50, 0.08);
    color: var(--gold-bright);
}

/* Superstars and profile presentation */
.nwa-broadcast .superstar-card {
    border-top-color: color-mix(in srgb, var(--brand-color, var(--gold)) 72%, transparent);
    background:
        radial-gradient(circle at 50% 22%, color-mix(in srgb, var(--brand-color, var(--gold)) 20%, transparent), transparent 17rem),
        linear-gradient(165deg, var(--panel-2), var(--panel) 62%);
}

.nwa-broadcast .superstar-portrait {
    background:
        radial-gradient(circle at 50% 55%, color-mix(in srgb, var(--brand-color, var(--gold)) 18%, transparent), transparent 45%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.03), transparent);
}

.nwa-broadcast .avatar:not(.avatar-has-image) {
    border-color: rgba(242, 182, 50, 0.24);
    background:
        radial-gradient(circle at 35% 25%, rgba(255, 255, 255, 0.1), transparent 40%),
        linear-gradient(145deg, #293446, #111722);
    box-shadow: inset 0 0 30px rgba(242, 182, 50, 0.045), var(--broadcast-inset);
}

.nwa-broadcast .profile-hero,
.nwa-broadcast .event-hero,
.nwa-broadcast .brand-hero,
.nwa-broadcast .team-hero,
.nwa-broadcast .gold-hero,
.nwa-broadcast .portal-hero,
.nwa-broadcast .registration-hero,
.nwa-broadcast .challenge-hero {
    border-bottom-color: color-mix(in srgb, var(--brand-color, var(--gold)) 26%, transparent);
    background:
        radial-gradient(circle at 14% 48%, color-mix(in srgb, var(--brand-color, var(--gold)) 22%, transparent), transparent 30rem),
        linear-gradient(105deg, #111824, #070a10 58%, color-mix(in srgb, var(--brand-color, var(--gold)) 10%, #070a10));
}

.nwa-broadcast .profile-hero::before,
.nwa-broadcast .event-hero::before,
.nwa-broadcast .brand-hero::before,
.nwa-broadcast .team-hero::before,
.nwa-broadcast .gold-hero::before,
.nwa-broadcast .portal-hero::before,
.nwa-broadcast .registration-hero::before,
.nwa-broadcast .challenge-hero::before {
    position: absolute;
    inset: 0;
    pointer-events: none;
    content: "";
    opacity: 0.7;
    background: linear-gradient(112deg, transparent 0 68%, color-mix(in srgb, var(--brand-color, var(--gold)) 10%, transparent) 68.1% 79%, transparent 79.1%);
}

.nwa-broadcast .profile-portrait::before,
.nwa-broadcast .portrait-glow {
    border-color: color-mix(in srgb, var(--brand-color, var(--gold)) 48%, transparent);
    background: radial-gradient(circle, color-mix(in srgb, var(--brand-color, var(--gold)) 14%, transparent), transparent 67%);
    box-shadow: 0 0 65px color-mix(in srgb, var(--brand-color, var(--gold)) 10%, transparent);
}

.nwa-broadcast .profile-rating,
.nwa-broadcast .team-record,
.nwa-broadcast .hero-champion {
    border-color: color-mix(in srgb, var(--brand-color, var(--gold)) 45%, transparent);
    background:
        radial-gradient(circle at 50% 0, color-mix(in srgb, var(--brand-color, var(--gold)) 13%, transparent), transparent 70%),
        rgba(7, 10, 16, 0.78);
    box-shadow: 0 15px 42px rgba(0, 0, 0, 0.32), var(--broadcast-inset);
}

.nwa-broadcast .profile-stat-band,
.nwa-broadcast .portal-stat-band {
    background: linear-gradient(90deg, #0d141f, #111a27 50%, #0d141f);
    box-shadow: inset 0 1px rgba(255, 255, 255, 0.04);
}

.nwa-broadcast .profile-tabs-shell,
.nwa-broadcast .portal-tabs-shell,
.nwa-broadcast .news-tabs-shell {
    border-bottom-color: rgba(242, 182, 50, 0.14);
    background: rgba(7, 11, 17, 0.94);
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.26);
}

.nwa-broadcast .profile-tab:hover,
.nwa-broadcast .profile-tab.active,
.nwa-broadcast .news-tab:hover,
.nwa-broadcast .news-tab.active {
    background: linear-gradient(180deg, transparent, rgba(242, 182, 50, 0.055));
}

.nwa-broadcast .profile-tab-section {
    background:
        radial-gradient(circle at 10% 4%, color-mix(in srgb, var(--brand-color, var(--gold)) 9%, transparent), transparent 29rem),
        linear-gradient(rgba(255, 255, 255, 0.012) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.012) 1px, transparent 1px);
    background-size: auto, 86px 86px, 86px 86px;
}

/* Championships, drafts and special records */
.nwa-broadcast .gold-hero {
    --brand-color: var(--gold);
}

.nwa-broadcast .belt-placeholder,
.nwa-broadcast .belt-large > span {
    border-color: #d4a439;
    background:
        radial-gradient(circle at 35% 30%, #fff2aa, #d6971e 42%, #65420a 82%),
        #8d6412;
    box-shadow: inset 0 0 0 5px #2f220d, 0 18px 45px rgba(0, 0, 0, 0.38), 0 0 32px rgba(242, 182, 50, 0.18);
}

.nwa-broadcast .draft-results-hero {
    --brand-color: var(--purple);
}

.nwa-broadcast .draft-card {
    border-top: 3px solid var(--purple);
    background:
        radial-gradient(circle at 100% 0, rgba(139, 92, 246, 0.18), transparent 19rem),
        linear-gradient(155deg, var(--panel-2), var(--panel));
}

.nwa-broadcast .draft-pick,
.nwa-broadcast .reign-entry,
.nwa-broadcast .history-row,
.nwa-broadcast .profile-match-card,
.nwa-broadcast .match-side,
.nwa-broadcast .member-card,
.nwa-broadcast .roster-strip > a {
    border-color: rgba(205, 216, 236, 0.13);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.012));
    box-shadow: var(--broadcast-inset);
}

.nwa-broadcast .draft-pick:hover,
.nwa-broadcast .history-row:hover,
.nwa-broadcast .profile-match-card:hover,
.nwa-broadcast .member-card:hover,
.nwa-broadcast .roster-strip > a:hover {
    border-color: rgba(242, 182, 50, 0.3);
    background: linear-gradient(90deg, rgba(242, 182, 50, 0.075), rgba(255, 255, 255, 0.018));
}

/* Newsroom */
.nwa-broadcast .news-section {
    background:
        radial-gradient(circle at 12% 8%, rgba(255, 106, 0, 0.08), transparent 27rem),
        radial-gradient(circle at 92% 48%, rgba(47, 107, 255, 0.06), transparent 29rem),
        #080c12;
}

.nwa-broadcast .news-featured {
    border-color: rgba(242, 182, 50, 0.28);
    background: linear-gradient(145deg, #192231, #101722);
    box-shadow: 0 32px 85px rgba(0, 0, 0, 0.4), 0 0 48px rgba(242, 182, 50, 0.055), var(--broadcast-inset);
}

.nwa-broadcast .news-featured-media,
.nwa-broadcast .news-card-media {
    background:
        radial-gradient(circle at 50% 50%, rgba(255, 106, 0, 0.18), transparent 43%),
        linear-gradient(135deg, #202a3a, #0a0f17);
}

.nwa-broadcast .news-featured-media::after,
.nwa-broadcast .news-card-media::after {
    background:
        linear-gradient(180deg, transparent 55%, rgba(4, 7, 11, 0.7)),
        linear-gradient(135deg, transparent 52%, rgba(242, 182, 50, 0.12) 52.2%, transparent 52.4%);
}

.nwa-broadcast .news-leading-label {
    border-color: rgba(255, 106, 0, 0.46);
    background: rgba(255, 106, 0, 0.11);
    color: #ffab69;
}

.nwa-broadcast .news-article-body {
    border-top-color: var(--gold-bright);
    background:
        linear-gradient(145deg, rgba(242, 182, 50, 0.055), transparent 34%),
        var(--panel);
}

/* Portal, notifications and forms */
.nwa-broadcast .portal-tab-section,
.nwa-broadcast .portal-auth-section,
.nwa-broadcast .portal-register-section {
    background:
        radial-gradient(circle at 12% 7%, rgba(242, 182, 50, 0.075), transparent 28rem),
        radial-gradient(circle at 88% 48%, rgba(47, 107, 255, 0.06), transparent 30rem),
        #080c12;
}

.nwa-broadcast .portal-action-card.is-urgent,
.nwa-broadcast .portal-registration-callout {
    border-color: rgba(242, 182, 50, 0.42);
    background:
        radial-gradient(circle at 100% 0, rgba(242, 182, 50, 0.18), transparent 16rem),
        linear-gradient(145deg, var(--panel-2), var(--panel));
}

.nwa-broadcast .portal-challenge-callout,
.nwa-broadcast .challenge-card {
    border-color: rgba(255, 51, 78, 0.28);
    background:
        radial-gradient(circle at 100% 0, rgba(255, 51, 78, 0.13), transparent 18rem),
        var(--panel);
}

.nwa-broadcast .portal-form-card,
.nwa-broadcast .portal-status-card,
.nwa-broadcast .portal-password-card,
.nwa-broadcast .challenge-create-card,
.nwa-broadcast .challenge-rules-card,
.nwa-broadcast .registration-event {
    border-color: rgba(205, 216, 236, 0.16);
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.045), transparent 40%),
        var(--panel);
    box-shadow: var(--broadcast-shadow), var(--broadcast-inset);
}

.nwa-broadcast .notification-popover {
    border-color: rgba(242, 182, 50, 0.26);
    background: #101722;
    box-shadow: 0 32px 90px rgba(0, 0, 0, 0.65), var(--broadcast-inset);
}

.nwa-broadcast .notification-centre-item.is-unread,
.nwa-broadcast .notification-popover-item.is-unread {
    background:
        linear-gradient(100deg, rgba(242, 182, 50, 0.14), transparent 48%),
        var(--panel);
}

.nwa-broadcast .portal-alert-success {
    border-color: rgba(32, 217, 130, 0.38);
    background: rgba(32, 217, 130, 0.1);
}

.nwa-broadcast .portal-alert-error {
    border-color: rgba(255, 51, 78, 0.4);
    background: rgba(255, 51, 78, 0.1);
}

/* Footer */
.nwa-broadcast .site-footer {
    position: relative;
    border-top-color: rgba(242, 182, 50, 0.2);
    background:
        radial-gradient(circle at 12% 110%, rgba(255, 106, 0, 0.1), transparent 25rem),
        radial-gradient(circle at 88% 110%, rgba(47, 107, 255, 0.09), transparent 27rem),
        #05080d;
}

.nwa-broadcast .site-footer::before {
    position: absolute;
    top: -1px;
    right: 0;
    left: 0;
    height: 1px;
    content: "";
    background: linear-gradient(90deg, transparent, var(--gold) 30%, rgba(47, 107, 255, 0.65) 70%, transparent);
}

/* Motion is restrained to interaction feedback. */
@media (hover: hover) {
    .nwa-broadcast .champion-row,
    .nwa-broadcast .ranking-row,
    .nwa-broadcast .member-card,
    .nwa-broadcast .roster-strip > a,
    .nwa-broadcast .draft-pick,
    .nwa-broadcast .history-row,
    .nwa-broadcast .profile-match-card {
        transition: background 180ms ease, border-color 180ms ease, transform 180ms ease;
    }

    .nwa-broadcast .member-card:hover,
    .nwa-broadcast .roster-strip > a:hover,
    .nwa-broadcast .draft-pick:hover,
    .nwa-broadcast .history-row:hover,
    .nwa-broadcast .profile-match-card:hover {
        transform: translateY(-2px);
    }
}

@media (max-width: 780px) {
    .nwa-broadcast {
        background:
            radial-gradient(circle at 0 4%, rgba(255, 106, 0, 0.08), transparent 22rem),
            radial-gradient(circle at 100% 14%, rgba(47, 107, 255, 0.08), transparent 24rem),
            var(--bg);
    }

    .nwa-broadcast::before {
        background-size: 48px 48px, 48px 48px, auto, auto;
    }

    .nwa-broadcast .section-kicker::before {
        width: 13px;
        margin-right: 7px;
    }

    .nwa-broadcast .hero,
    .nwa-broadcast .hero-content {
        min-height: 610px;
    }

    .nwa-broadcast .hero::after {
        right: -48%;
        width: 95%;
        opacity: 0.62;
    }

    .nwa-broadcast .hero-stats {
        width: 100%;
    }

    .nwa-broadcast .hero-stats div {
        min-width: 0;
    }

    .nwa-broadcast .page-hero::before,
    .nwa-broadcast .news-hero::after {
        opacity: 0.42;
    }

    .nwa-broadcast .event-card,
    .nwa-broadcast .superstar-card,
    .nwa-broadcast .title-card,
    .nwa-broadcast .team-card,
    .nwa-broadcast .draft-card,
    .nwa-broadcast .content-card {
        box-shadow: 0 12px 32px rgba(0, 0, 0, 0.26), var(--broadcast-inset);
    }

    .nwa-broadcast .profile-tabs-shell,
    .nwa-broadcast .portal-tabs-shell,
    .nwa-broadcast .news-tabs-shell {
        box-shadow: 0 10px 24px rgba(0, 0, 0, 0.32);
    }

    .nwa-broadcast .filter-bar {
        background:
            linear-gradient(145deg, rgba(242, 182, 50, 0.075), transparent 46%),
            var(--panel);
    }
}

@media (max-width: 560px) {
    .nwa-broadcast .hero h1 {
        font-size: clamp(52px, 17vw, 76px);
    }

    .nwa-broadcast .hero-stats strong {
        font-size: 21px;
    }

    .nwa-broadcast .hero-stats span {
        font-size: 9px;
    }

    .nwa-broadcast .league-feature::after {
        right: -25px;
        bottom: -36px;
        font-size: 115px;
    }

    .nwa-broadcast .page-section {
        background-size: 56px 56px, 56px 56px, auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    .nwa-broadcast .button::before {
        display: none;
    }
}
