/*
   Space Gate Nova+ — Ultimate Visual Contract
   Final visual-system layer built from the approved production screenshots.
   Loaded LAST on purpose: it normalizes legacy CSS without deleting functional code.

   Brand-gradient law:
   - YES: search frames, active filter/chip frames, active-tab underlines,
          primary CTA fills, secondary CTA outlines, approved nav indicators.
   - NO: media/content/studio/show/channel/collection cards and data panels.
*/

:root {
    --nova-v3-bg: #000000;
    --nova-v3-bg-elevated: #05060a;
    --nova-v3-surface: rgba(8, 10, 15, .86);
    --nova-v3-surface-strong: rgba(10, 12, 18, .96);
    --nova-v3-surface-soft: rgba(255, 255, 255, .035);
    --nova-v3-card: #07080d;
    --nova-v3-card-2: #0a0c12;
    --nova-v3-text: #f8f9fd;
    --nova-v3-text-2: rgba(248, 249, 253, .72);
    --nova-v3-text-3: rgba(248, 249, 253, .50);
    --nova-v3-line: rgba(255, 255, 255, .085);
    --nova-v3-line-strong: rgba(255, 255, 255, .15);
    --nova-v3-pink: #f04ad8;
    --nova-v3-violet: #9b4dff;
    --nova-v3-cyan: #14d7ff;
    --nova-v3-gradient: linear-gradient(100deg, var(--nova-v3-pink) 0%, var(--nova-v3-violet) 50%, var(--nova-v3-cyan) 100%);
    --nova-v3-gradient-soft: linear-gradient(100deg, rgba(240,74,216,.16), rgba(155,77,255,.12) 50%, rgba(20,215,255,.12));
    --nova-v3-glass: linear-gradient(155deg, rgba(14, 16, 24, .86), rgba(5, 6, 10, .94));
    --nova-v3-glass-strong: linear-gradient(155deg, rgba(16, 18, 27, .95), rgba(5, 6, 10, .985));
    --nova-v3-shadow-card: 0 12px 28px rgba(0, 0, 0, .34), 0 2px 8px rgba(0, 0, 0, .18);
    --nova-v3-shadow-card-hover: 0 18px 38px rgba(0, 0, 0, .44), 0 4px 12px rgba(0, 0, 0, .22);
    --nova-v3-shadow-panel: 0 18px 48px rgba(0, 0, 0, .38);
    --nova-v3-shadow-cta: 0 14px 34px rgba(108, 76, 255, .22), 0 0 20px rgba(20, 215, 255, .07);
    --nova-v3-radius-xs: 8px;
    --nova-v3-radius-sm: 10px;
    --nova-v3-radius-md: 14px;
    --nova-v3-radius-lg: 18px;
    --nova-v3-radius-xl: 24px;
    --nova-v3-pill: 999px;
    --nova-v3-space-1: 4px;
    --nova-v3-space-2: 8px;
    --nova-v3-space-3: 12px;
    --nova-v3-space-4: 16px;
    --nova-v3-space-5: 20px;
    --nova-v3-space-6: 24px;
    --nova-v3-space-7: 32px;
    --nova-v3-space-8: 40px;
    --nova-v3-page-inline: clamp(12px, 3vw, 28px);
    --nova-v3-section-gap: clamp(24px, 4vw, 40px);
    --nova-v3-control-h: 46px;
    --nova-v3-control-h-lg: 54px;
    --nova-v3-ease: cubic-bezier(.2, .8, .2, 1);

    /* Fold legacy names into one authoritative contract. */
    --sgn-background: var(--nova-v3-bg);
    --sgn-background-alt: var(--nova-v3-bg-elevated);
    --sgn-white: var(--nova-v3-text);
    --sgn-cyan: var(--nova-v3-cyan);
    --sgn-violet: var(--nova-v3-violet);
    --sgn-magenta: var(--nova-v3-pink);
    --sgn-gradient: var(--nova-v3-gradient);
    --sgn-neon-button-gradient: var(--nova-v3-gradient);
    --sgn-border-soft: var(--nova-v3-line);
    --sgn-text-soft: var(--nova-v3-text-2);
    --sgn-text-muted: var(--nova-v3-text-3);
    --sgn-shadow-card: var(--nova-v3-shadow-card);
    --sgn-shadow-panel: var(--nova-v3-shadow-panel);
    --sgn-radius-card: var(--nova-v3-radius-md);
    --page-pad: var(--nova-v3-page-inline);
}

/* ------------------------------------------------------------------
   GLOBAL FOUNDATIONS
   ------------------------------------------------------------------ */
html,
body,
#app,
.app-root,
.main-layout-shell,
.sg-route-frame,
.sg-route-surface {
    background: var(--nova-v3-bg) !important;
    color: var(--nova-v3-text) !important;
}

body {
    font-family: "Tajawal", "Noto Sans Arabic", "Segoe UI", Arial, sans-serif !important;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

:is(h1, h2, h3, h4, strong) {
    text-wrap: balance;
}

:is(p, small, dd, .secondary-meta, .media-meta, .card-meta) {
    color: var(--nova-v3-text-2);
}

:is(.oscar-app, .nova-app, .discover-page, .nova-live-page, .rail-catalog-app, .server-collections-shell, .server-collection-details-shell) {
    background: #000 !important;
}

:is(button, a, [role="button"], input, select) {
    -webkit-tap-highlight-color: transparent;
}

:is(button, a, [role="button"]):focus-visible {
    outline: none;
}

/* ------------------------------------------------------------------
   HEADERS + BOTTOM NAV: one dark premium shell
   ------------------------------------------------------------------ */
:is(.oscar-toolbar, .account-pro-header, .favorites-pro-header, .notifications-pro-header,
    .nova-catalog-fixed-header, .catalog-landing-toolbar, .nova-native-catalog-header,
    .rail-catalog-header, .details-standard-header, .nova-live-fixed-header) {
    color: var(--nova-v3-text) !important;
    border-bottom: 1px solid rgba(255,255,255,.055) !important;
    background: linear-gradient(180deg, rgba(0,0,0,.94), rgba(0,0,0,.82)) !important;
    backdrop-filter: blur(18px) saturate(1.05) !important;
    -webkit-backdrop-filter: blur(18px) saturate(1.05) !important;
    box-shadow: 0 8px 26px rgba(0,0,0,.18) !important;
}

/* Home / hero headers stay visually transparent over artwork. */
:is(.home-toolbar-shell, .oscar-toolbar.home-toolbar, .target-home .home-toolbar-shell) {
    border-bottom-color: transparent !important;
    background: linear-gradient(180deg, rgba(0,0,0,.72), rgba(0,0,0,.28) 58%, transparent) !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

:is(.icon-button, .home-header-action, .catalog-landing-toolbar-button, .nova-catalog-icon,
    .details-header-action, .nova-live-icon, .notification-action-icon) {
    border: 1px solid transparent !important;
    background: rgba(0,0,0,.16) !important;
    color: #fff !important;
    transition: background-color 160ms var(--nova-v3-ease), transform 140ms var(--nova-v3-ease), border-color 160ms var(--nova-v3-ease) !important;
}

@media (hover: hover) and (pointer: fine) {
    :is(.icon-button, .home-header-action, .catalog-landing-toolbar-button, .nova-catalog-icon,
        .details-header-action, .nova-live-icon, .notification-action-icon):hover {
        border-color: rgba(255,255,255,.10) !important;
        background: rgba(255,255,255,.075) !important;
    }
}

:is(.icon-button, .home-header-action, .catalog-landing-toolbar-button, .nova-catalog-icon,
    .details-header-action, .nova-live-icon, .notification-action-icon):active {
    transform: scale(.94) !important;
}

.sg-layout-bottom-nav > nav.oscar-bottom-nav.original-bottom-nav,
nav.oscar-bottom-nav.original-bottom-nav {
    border-top: 1px solid rgba(255,255,255,.075) !important;
    background: rgba(3,4,7,.94) !important;
    backdrop-filter: blur(22px) saturate(1.08) !important;
    -webkit-backdrop-filter: blur(22px) saturate(1.08) !important;
    box-shadow: 0 -14px 36px rgba(0,0,0,.42) !important;
}

nav.oscar-bottom-nav.original-bottom-nav :is(button, a) {
    color: rgba(248,249,253,.48) !important;
    transition: color 160ms var(--nova-v3-ease), transform 150ms var(--nova-v3-ease) !important;
}

nav.oscar-bottom-nav.original-bottom-nav :is(button, a).active {
    color: #fff !important;
}

nav.oscar-bottom-nav.original-bottom-nav :is(button, a).active .nav-icon {
    filter: drop-shadow(0 4px 10px rgba(155,77,255,.26)) !important;
}

nav.oscar-bottom-nav.original-bottom-nav :is(button, a).active .nav-label-text,
nav.oscar-bottom-nav.original-bottom-nav :is(button, a).active b {
    color: #fff !important;
    font-weight: 800 !important;
}

/* ------------------------------------------------------------------
   SEARCH: gradient border is REQUIRED by the approved identity
   ------------------------------------------------------------------ */
:is(.search-field,
    .discover-desktop-search,
    .discover-search-box,
    .nova-catalog-search,
    .sg-reference-search,
    .nova-live-search,
    .nova-search-bar,
    .episode-gallery-search,
    .world-hub-search,
    .search-solid-input) {
    border: 1px solid transparent !important;
    border-radius: var(--nova-v3-radius-sm) !important;
    background:
        linear-gradient(180deg, rgba(8,10,16,.98), rgba(3,4,8,.99)) padding-box,
        var(--nova-v3-gradient) border-box !important;
    background-image:
        linear-gradient(180deg, rgba(8,10,16,.98), rgba(3,4,8,.99)),
        var(--nova-v3-gradient) !important;
    color: var(--nova-v3-text) !important;
    box-shadow: 0 10px 26px rgba(0,0,0,.32), 0 0 14px rgba(155,77,255,.07) !important;
    backdrop-filter: blur(14px) saturate(1.04) !important;
    -webkit-backdrop-filter: blur(14px) saturate(1.04) !important;
    transition: box-shadow 180ms var(--nova-v3-ease), background 180ms var(--nova-v3-ease) !important;
}

:is(.search-field,
    .discover-desktop-search,
    .discover-search-box,
    .nova-catalog-search,
    .sg-reference-search,
    .nova-live-search,
    .nova-search-bar,
    .episode-gallery-search,
    .world-hub-search):focus-within,
.search-solid-input:focus {
    border-color: transparent !important;
    box-shadow: 0 12px 30px rgba(0,0,0,.40), 0 0 20px rgba(155,77,255,.13) !important;
}

:is(.search-field, .discover-desktop-search, .discover-search-box, .nova-catalog-search,
    .sg-reference-search, .nova-live-search, .nova-search-bar, .episode-gallery-search,
    .world-hub-search) input,
.search-solid-input {
    color: #fff !important;
    caret-color: var(--nova-v3-cyan) !important;
}

:is(.search-field, .discover-desktop-search, .discover-search-box, .nova-catalog-search,
    .sg-reference-search, .nova-live-search, .nova-search-bar, .episode-gallery-search,
    .world-hub-search) input::placeholder,
.search-solid-input::placeholder {
    color: rgba(248,249,253,.38) !important;
}

/* ------------------------------------------------------------------
   BUTTON SYSTEM
   ------------------------------------------------------------------ */
:is(.primary-action,
    .nova-btn-primary,
    .target-watch-button,
    .cinematic-watch-button,
    .channel-primary-action,
    .standalone-episode-play,
    .standalone-episode-state-action,
    .watch-retry-button,
    .nova-offline-retry,
    .nova-not-found-actions .primary,
    .server-driven-error button,
    .discover-preview-actions .primary,
    .settings-actions .primary,
    .sg-account-plan-action,
    .sg-account-login form button,
    .rewarded-test-actions .primary,
    .favorites-featured-copy button,
    .sg-anime-pro-home .hero-actions .primary,
    .sg-wrestling-home .hero-actions .primary) {
    min-height: var(--nova-v3-control-h-lg) !important;
    border: 0 !important;
    border-radius: var(--nova-v3-pill) !important;
    background: var(--nova-v3-gradient) !important;
    background-image: var(--nova-v3-gradient) !important;
    color: #fff !important;
    font-weight: 900 !important;
    box-shadow: var(--nova-v3-shadow-cta) !important;
    transition: transform 150ms var(--nova-v3-ease), filter 180ms var(--nova-v3-ease), box-shadow 180ms var(--nova-v3-ease) !important;
}

@media (hover: hover) and (pointer: fine) {
    :is(.primary-action, .nova-btn-primary, .target-watch-button, .cinematic-watch-button,
        .channel-primary-action, .standalone-episode-play, .standalone-episode-state-action,
        .watch-retry-button, .nova-offline-retry, .nova-not-found-actions .primary,
        .server-driven-error button, .discover-preview-actions .primary, .settings-actions .primary,
        .sg-account-plan-action, .sg-account-login form button, .favorites-featured-copy button,
        .sg-anime-pro-home .hero-actions .primary, .sg-wrestling-home .hero-actions .primary):hover {
        filter: brightness(1.055) saturate(1.06) !important;
        box-shadow: 0 16px 38px rgba(108,76,255,.27), 0 0 22px rgba(20,215,255,.09) !important;
    }
}

:is(.primary-action, .nova-btn-primary, .target-watch-button, .cinematic-watch-button,
    .channel-primary-action, .standalone-episode-play, .standalone-episode-state-action,
    .watch-retry-button, .nova-offline-retry, .nova-not-found-actions .primary,
    .server-driven-error button, .discover-preview-actions .primary, .settings-actions .primary,
    .sg-account-plan-action, .sg-account-login form button, .favorites-featured-copy button,
    .sg-anime-pro-home .hero-actions .primary, .sg-wrestling-home .hero-actions .primary):active {
    transform: scale(.985) !important;
}

/* Secondary = dark fill + thin brand-gradient outline. */
:is(.outline-action,
    .nova-btn-secondary,
    .target-save-button,
    .cinematic-secondary-action,
    .channel-detail-save,
    .nova-not-found-actions .secondary,
    .discover-preview-actions button:not(.primary),
    .sg-anime-pro-home .hero-actions .secondary,
    .sg-wrestling-home .hero-actions .secondary) {
    min-height: var(--nova-v3-control-h-lg) !important;
    border: 1px solid transparent !important;
    border-radius: var(--nova-v3-pill) !important;
    background:
        linear-gradient(180deg, rgba(4,5,9,.97), rgba(0,0,0,.99)) padding-box,
        var(--nova-v3-gradient) border-box !important;
    background-image:
        linear-gradient(180deg, rgba(4,5,9,.97), rgba(0,0,0,.99)),
        var(--nova-v3-gradient) !important;
    color: #fff !important;
    font-weight: 850 !important;
    box-shadow: 0 10px 24px rgba(0,0,0,.34) !important;
    transition: transform 150ms var(--nova-v3-ease), box-shadow 180ms var(--nova-v3-ease) !important;
}

:is(.outline-action, .nova-btn-secondary, .target-save-button, .cinematic-secondary-action,
    .channel-detail-save, .discover-preview-actions button:not(.primary),
    .sg-anime-pro-home .hero-actions .secondary, .sg-wrestling-home .hero-actions .secondary):active {
    transform: scale(.985) !important;
}

/* ------------------------------------------------------------------
   ACTIVE STATES
   Chip-style tabs/filters = gradient frame.
   Content/detail tabs = gradient underline only.
   ------------------------------------------------------------------ */
:is(.category-tabs button,
    .filter-chip,
    .nova-catalog-select-card,
    .discover-desktop-tabs button,
    .discover-result-tabs button,
    .discover-topic-chip,
    .favorites-filters button,
    .notifications-filters button,
    .mc-day-tabs button,
    .mc-league-tabs button,
    .anime-season-chip,
    .related-type-chip,
    .schedule-day-control,
    .archive-year-control) {
    border: 1px solid rgba(255,255,255,.105) !important;
    border-radius: var(--nova-v3-radius-sm) !important;
    background: rgba(8,9,14,.90) !important;
    background-image: none !important;
    color: var(--nova-v3-text-2) !important;
    box-shadow: 0 5px 14px rgba(0,0,0,.16) !important;
    transition: color 160ms var(--nova-v3-ease), background 160ms var(--nova-v3-ease), box-shadow 160ms var(--nova-v3-ease), transform 140ms var(--nova-v3-ease) !important;
}

:is(.category-tabs button,
    .filter-chip,
    .nova-catalog-select-card,
    .discover-desktop-tabs button,
    .discover-result-tabs button,
    .discover-topic-chip,
    .favorites-filters button,
    .notifications-filters button,
    .mc-day-tabs button,
    .mc-league-tabs button,
    .anime-season-chip,
    .related-type-chip,
    .schedule-day-control,
    .archive-year-control).active {
    border: 1px solid transparent !important;
    background:
        linear-gradient(180deg, rgba(8,9,15,.98), rgba(3,4,8,.99)) padding-box,
        var(--nova-v3-gradient) border-box !important;
    background-image:
        linear-gradient(180deg, rgba(8,9,15,.98), rgba(3,4,8,.99)),
        var(--nova-v3-gradient) !important;
    color: #fff !important;
    box-shadow: 0 8px 20px rgba(0,0,0,.28), 0 0 12px rgba(155,77,255,.075) !important;
}

:is(.category-tabs button, .filter-chip, .nova-catalog-select-card, .discover-desktop-tabs button,
    .discover-result-tabs button, .discover-topic-chip, .favorites-filters button,
    .notifications-filters button, .mc-day-tabs button, .mc-league-tabs button,
    .anime-season-chip, .related-type-chip, .schedule-day-control, .archive-year-control):active {
    transform: scale(.975) !important;
}

:is(.cinematic-tabs, .pro-comments-tabs, .standalone-episode-tabs,
    .sg-anime-pro-nav, .sg-wrestling-section-nav) {
    border: 0 !important;
    border-bottom: 1px solid var(--nova-v3-line) !important;
    background: #000 !important;
    box-shadow: none !important;
}

:is(.cinematic-tabs button, .pro-comments-tabs button, .standalone-episode-tabs button,
    .sg-anime-pro-nav button, .sg-wrestling-section-nav button) {
    position: relative !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--nova-v3-text-3) !important;
    box-shadow: none !important;
}

:is(.cinematic-tabs button, .pro-comments-tabs button, .standalone-episode-tabs button,
    .sg-anime-pro-nav button, .sg-wrestling-section-nav button).active {
    color: #fff !important;
}

:is(.cinematic-tabs button, .pro-comments-tabs button, .standalone-episode-tabs button,
    .sg-anime-pro-nav button, .sg-wrestling-section-nav button).active::after {
    content: "" !important;
    position: absolute !important;
    right: 18% !important;
    bottom: -1px !important;
    left: 18% !important;
    height: 3px !important;
    border-radius: var(--nova-v3-pill) var(--nova-v3-pill) 0 0 !important;
    background: var(--nova-v3-gradient) !important;
    box-shadow: 0 0 10px rgba(155,77,255,.22) !important;
}

/* ------------------------------------------------------------------
   MEDIA / CONTENT CARDS — HARD NO-NEON CONTRACT
   ------------------------------------------------------------------ */
:is(.poster-wrapper,
    .poster-wrap,
    .nova-media-art,
    .discover-desktop-art,
    .discover-similar button img,
    .movie-collection-card-art,
    .anime-ref-poster-art,
    .anime-v2-episode-art,
    .anime-ref-episode-art,
    .related-poster-shell,
    .episode-gallery-card,
    .sg-anime-pro-card .art,
    .sg-wrestling-card .artwork,
    .shahid-poster-image,
    .shahid-ranked-poster,
    .shahid-landscape-image,
    .shahid-live-poster) {
    border: 1px solid var(--nova-v3-line) !important;
    background: var(--nova-v3-card) !important;
    background-image: none !important;
    box-shadow: var(--nova-v3-shadow-card) !important;
    overflow: hidden !important;
}

:is(.poster-wrapper,
    .poster-wrap,
    .nova-media-art,
    .discover-desktop-art,
    .movie-collection-card-art,
    .anime-ref-poster-art,
    .anime-v2-episode-art,
    .anime-ref-episode-art,
    .related-poster-shell,
    .episode-gallery-card,
    .sg-anime-pro-card .art,
    .sg-wrestling-card .artwork,
    .shahid-poster-image,
    .shahid-ranked-poster,
    .shahid-landscape-image,
    .shahid-live-poster)::before,
:is(.poster-wrapper,
    .poster-wrap,
    .nova-media-art,
    .discover-desktop-art,
    .movie-collection-card-art,
    .anime-ref-poster-art,
    .anime-v2-episode-art,
    .anime-ref-episode-art,
    .related-poster-shell,
    .episode-gallery-card,
    .sg-anime-pro-card .art,
    .sg-wrestling-card .artwork,
    .shahid-poster-image,
    .shahid-ranked-poster,
    .shahid-landscape-image,
    .shahid-live-poster)::after {
    border: 0 !important;
    background-image: none !important;
    box-shadow: none !important;
}

/* selected discovery card stays clean: selection is depth/contrast, never rainbow chrome */
.discover-desktop-card.selected .discover-desktop-art {
    border-color: rgba(255,255,255,.22) !important;
    background: var(--nova-v3-card) !important;
    background-image: none !important;
    box-shadow: 0 18px 38px rgba(0,0,0,.46), 0 0 0 1px rgba(255,255,255,.035) !important;
}

/* Content tiles/panels are neutral glass, not branded frames. */
:is(.studio-tile,
    .anime-v2-studio-card,
    .anime-native-studio,
    .wrestling-brand-tile,
    .brand-tile-shell,
    .movie-producer-card,
    .world-hub-action-tile,
    .settings-status-card,
    .settings-section,
    .sg-account-profile-card,
    .sg-account-plan-card,
    .sg-account-stats,
    .sg-account-quick-grid > button,
    .sg-account-menu,
    .notification-card,
    .favorite-card,
    .favorites-card,
    .channel-card,
    .mc-match-card,
    .standalone-source-card,
    .standalone-source-panel,
    .offline-device-card,
    .nova-server-card,
    .reference-panel,
    .reference-production-card,
    .reference-promo-card,
    .download-link-card) {
    border: 1px solid var(--nova-v3-line) !important;
    background: var(--nova-v3-glass) !important;
    background-image: var(--nova-v3-glass) !important;
    box-shadow: var(--nova-v3-shadow-card) !important;
}

:is(.studio-tile, .anime-v2-studio-card, .anime-native-studio, .wrestling-brand-tile,
    .brand-tile-shell, .movie-producer-card, .world-hub-action-tile,
    .sg-account-profile-card, .sg-account-plan-card, .sg-account-quick-grid > button,
    .channel-card, .mc-match-card, .standalone-source-card, .standalone-source-panel,
    .offline-device-card, .nova-server-card,
    .reference-panel, .reference-production-card, .reference-promo-card)::before,
:is(.studio-tile, .anime-v2-studio-card, .anime-native-studio, .wrestling-brand-tile,
    .brand-tile-shell, .movie-producer-card, .world-hub-action-tile,
    .sg-account-profile-card, .sg-account-plan-card, .sg-account-quick-grid > button,
    .channel-card, .mc-match-card, .standalone-source-card, .standalone-source-panel,
    .offline-device-card, .nova-server-card,
    .reference-panel, .reference-production-card, .reference-promo-card)::after {
    background-image: none !important;
}

/* Uniform cinematic ratios. */
:is(.poster-wrapper, .poster-wrap, .nova-media-art,
    .sg-anime-pro-card.poster .art, .sg-wrestling-card.poster .artwork,
    .sg-wrestling-card.ranked .artwork, .anime-ref-poster-art) {
    aspect-ratio: 2 / 3 !important;
}

:is(.sg-anime-pro-card.episode .art, .sg-wrestling-card.landscape .artwork,
    .shahid-landscape-image, .anime-v2-episode-art, .anime-ref-episode-art,
    .episode-gallery-card .ep-thumb) {
    aspect-ratio: 16 / 9 !important;
}

/* Collection tiles are cinematic widescreen surfaces. */
.movie-collection-card-art {
    aspect-ratio: 16 / 9 !important;
    border-radius: var(--nova-v3-radius-lg) !important;
}

/* Media titles/meta: premium contrast hierarchy. */
:is(.media-title, .card-title, .poster-title,
    .nova-media-card > strong, .discover-desktop-card > strong,
    .sg-anime-pro-card .copy b, .sg-wrestling-card .copy > b,
    .anime-ref-card-copy strong, .movie-collection-card-copy strong) {
    color: rgba(255,255,255,.96) !important;
    font-weight: 800 !important;
}

:is(.media-meta, .card-meta, .nova-media-card > small,
    .discover-desktop-card > small, .sg-anime-pro-card .copy small,
    .sg-wrestling-card .secondary-meta, .anime-ref-card-copy small,
    .movie-collection-card-copy small) {
    color: rgba(248,249,253,.56) !important;
}

/* Micro interaction = artwork depth, not neon. */
@media (hover: hover) and (pointer: fine) {
    :is(.nova-item-card, .oscar-card, .nova-media-card, .discover-desktop-card,
        .movie-collection-card, .sg-anime-pro-card, .sg-wrestling-card,
        .anime-ref-poster-card, .anime-v2-episode-card, .related-media-card) {
        transition: transform 180ms var(--nova-v3-ease) !important;
    }

    :is(.nova-item-card, .oscar-card, .nova-media-card, .discover-desktop-card,
        .movie-collection-card, .sg-anime-pro-card, .sg-wrestling-card,
        .anime-ref-poster-card, .anime-v2-episode-card, .related-media-card):hover {
        transform: translateY(-2px) !important;
    }

    :is(.nova-item-card, .oscar-card, .nova-media-card, .discover-desktop-card,
        .movie-collection-card, .sg-anime-pro-card, .sg-wrestling-card,
        .anime-ref-poster-card, .anime-v2-episode-card, .related-media-card):hover
    :is(.poster-wrapper, .poster-wrap, .nova-media-art, .discover-desktop-art,
        .movie-collection-card-art, .art, .artwork, .anime-ref-poster-art, .anime-v2-episode-art) {
        border-color: var(--nova-v3-line-strong) !important;
        box-shadow: var(--nova-v3-shadow-card-hover) !important;
    }

    :is(.nova-item-card, .oscar-card, .nova-media-card, .discover-desktop-card,
        .movie-collection-card, .sg-anime-pro-card, .sg-wrestling-card,
        .anime-ref-poster-card, .anime-v2-episode-card, .related-media-card):hover img {
        transform: scale(1.025) !important;
    }
}

:is(.nova-item-card, .oscar-card, .nova-media-card, .discover-desktop-card,
    .movie-collection-card, .sg-anime-pro-card, .sg-wrestling-card,
    .anime-ref-poster-card, .anime-v2-episode-card, .related-media-card):active {
    transform: scale(.988) !important;
}

:is(.nova-item-card, .oscar-card, .nova-media-card, .discover-desktop-card,
    .movie-collection-card, .sg-anime-pro-card, .sg-wrestling-card,
    .anime-ref-poster-card, .anime-v2-episode-card, .related-media-card) img {
    transition: transform 260ms var(--nova-v3-ease), opacity 180ms var(--nova-v3-ease) !important;
}

/* ------------------------------------------------------------------
   HOME + MOVIES + SERIES + ANIME + WRESTLING LANDINGS
   ------------------------------------------------------------------ */
:is(.home-main, .catalog-landing-main, .sg-anime-pro-home-body, .sg-wrestling-home) {
    background: #000 !important;
}

:is(.shahid-home-section, .oscar-section, .sg-anime-pro-section, .home-section,
    .anime-ref-section, .anime-v2-studios, .anime-v2-episodes,
    .movie-producers-section, .movie-collections-rail) {
    margin-block: 0 var(--nova-v3-section-gap) !important;
}

:is(.shahid-section-heading, .section-heading, .sg-anime-pro-section > header,
    .home-section > header, .anime-ref-section-head, .anime-v2-section-head,
    .movie-producers-head, .movie-collections-rail-head) {
    min-height: 48px !important;
    padding-bottom: 10px !important;
}

:is(.shahid-section-heading h2, .section-heading h2, .sg-anime-pro-section h2,
    .home-section h2, .anime-ref-section-head h2, .anime-v2-section-head h2,
    .movie-producers-head h2, .movie-collections-rail-head h2) {
    color: #fff !important;
    font-weight: 900 !important;
    letter-spacing: -.01em;
}

:is(.target-home-hero-shell, .world-hub-stage, .anime-ref-hero, .wrestling-hero) {
    background-color: #000 !important;
}

:is(.target-home-hero-shell, .world-hub-stage, .wrestling-hero) :is(h1, h2, strong),
.anime-ref-hero :is(h1, h2, strong) {
    color: #fff !important;
    text-shadow: 0 3px 18px rgba(0,0,0,.68) !important;
}

:is(.target-home-hero-shell, .world-hub-stage, .wrestling-hero, .anime-ref-hero) :is(p, small, .hero-meta) {
    color: rgba(255,255,255,.74) !important;
}

/* Hero dots / carousel active indicator: small gradient indicator only. */
:is(.hero-dots button.active, .target-home-hero-shell .target-hero-dot.active, .world-hub-stage .active-dot) {
    background: var(--nova-v3-gradient) !important;
    box-shadow: 0 0 10px rgba(155,77,255,.22) !important;
}

/* Quick-nav tiles are navigation surfaces, not media artwork: restrained glass. */
:is(.anime-hub-quick-nav, .wrestling-hub-quick-nav, .world-hub-action-tiles) button,
.world-hub-action-tile {
    border-color: var(--nova-v3-line) !important;
    border-radius: var(--nova-v3-radius-md) !important;
    background: var(--nova-v3-glass) !important;
    background-image: var(--nova-v3-glass) !important;
    box-shadow: 0 10px 26px rgba(0,0,0,.26) !important;
}

/* ------------------------------------------------------------------
   CATALOGS + DISCOVER
   ------------------------------------------------------------------ */
:is(.nova-catalog-page, .sg-anime-catalog, .sg-wrestling-catalog,
    .discover-page, .rail-catalog-app) {
    color: var(--nova-v3-text) !important;
    background: #000 !important;
}

:is(.nova-catalog-page, .sg-anime-catalog, .sg-wrestling-catalog) :is(.catalog-tools, .sg-anime-catalog-tools),
.discover-desktop-filters {
    gap: 8px !important;
}

:is(.nova-catalog-page, .sg-anime-catalog, .sg-wrestling-catalog) :is(.catalog-intro, .sg-anime-catalog-intro),
.discover-desktop-header,
.rail-catalog-summary {
    margin-bottom: 18px !important;
}

.discover-desktop-catalog {
    border-inline-end: 1px solid var(--nova-v3-line) !important;
    background: #000 !important;
}

.discover-desktop-preview {
    background: #000 !important;
}

.discover-preview-shade {
    background: linear-gradient(180deg, rgba(0,0,0,.03) 8%, rgba(0,0,0,.16) 38%, rgba(0,0,0,.86) 73%, #000 94%) !important;
}

.discover-preview-copy h2 {
    color: #fff !important;
    text-shadow: 0 4px 22px rgba(0,0,0,.68) !important;
}

.discover-preview-copy p {
    color: rgba(248,249,253,.76) !important;
    line-height: 1.8 !important;
}

.discover-preview-facts {
    border-color: var(--nova-v3-line) !important;
    background: #000 !important;
}

.discover-preview-facts > div {
    border-color: var(--nova-v3-line) !important;
}

/* Smart suggestion cards: neutral glass; brand lives in icon accents only. */
.discover-smart-card {
    border: 1px solid var(--nova-v3-line) !important;
    border-radius: var(--nova-v3-radius-lg) !important;
    background: var(--nova-v3-glass) !important;
    background-image: var(--nova-v3-glass) !important;
    box-shadow: var(--nova-v3-shadow-card) !important;
}

/* ------------------------------------------------------------------
   DETAILS / EPISODES
   ------------------------------------------------------------------ */
:is(.details-app, .cinematic-details-page, .standalone-episode-page, .nova-channel-details) {
    background: #000 !important;
    color: var(--nova-v3-text) !important;
}

:is(.cinematic-details-shade, .channel-detail-shade, .standalone-episode-shade) {
    background: linear-gradient(180deg, rgba(0,0,0,.08) 5%, rgba(0,0,0,.18) 42%, rgba(0,0,0,.84) 78%, #000 100%) !important;
}

:is(.cinematic-title, .cinematic-title-en, .channel-detail-copy h1, .standalone-episode-series-name) {
    color: #fff !important;
    text-shadow: 0 4px 24px rgba(0,0,0,.72) !important;
}

:is(.cinematic-meta, .channel-detail-meta, .standalone-episode-meta) {
    color: rgba(248,249,253,.72) !important;
}

:is(.reference-story-block, .series-story, .episode-story, .standalone-story-card,
    .reference-info-panel, .reference-watch-panel, .channel-detail-status-card,
    .channel-detail-source-card, .episode-panel, .episode-gallery-panel) {
    border-color: var(--nova-v3-line) !important;
    background: var(--nova-v3-glass) !important;
    background-image: var(--nova-v3-glass) !important;
    box-shadow: var(--nova-v3-shadow-card) !important;
}

:is(.reference-story-block, .series-story, .episode-story, .standalone-story-card) :is(p, .nova-directional-text) {
    color: rgba(248,249,253,.76) !important;
    line-height: 1.85 !important;
}

:is(.reference-details-overview-grid, .reference-wide-details-grid, .standalone-episode-info-grid) {
    gap: clamp(10px, 2vw, 18px) !important;
}

:is(.reference-related-card, .related-media-card) {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* Episodic cards remain dark + clean, no rainbow border. */
:is(.nova-episode-card, .episode-gallery-entry, .standalone-episode-jump-rail button) {
    border: 1px solid var(--nova-v3-line) !important;
    background: var(--nova-v3-glass) !important;
    background-image: var(--nova-v3-glass) !important;
    box-shadow: var(--nova-v3-shadow-card) !important;
}

/* ------------------------------------------------------------------
   PLAYER
   ------------------------------------------------------------------ */
.sg-player-layer,
.sg-player-shell {
    background: #000 !important;
}

.sg-player-vignette {
    background: radial-gradient(circle at center, transparent 42%, rgba(0,0,0,.20) 76%, rgba(0,0,0,.46) 100%) !important;
}

.sg-player-topbar {
    border: 0 !important;
    background: linear-gradient(180deg, rgba(0,0,0,.80), rgba(0,0,0,.24) 66%, transparent) !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

.sg-player-topbar :is(.sg-player-icon, .sg-player-select-wrap) {
    border-color: rgba(255,255,255,.12) !important;
    background: rgba(5,6,10,.54) !important;
    color: #fff !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
}

:is(.sg-player-main-play, .sg-player-badge, .sg-player-progress-fill) {
    background: var(--nova-v3-gradient) !important;
}

.sg-player-progress-track {
    background: rgba(255,255,255,.18) !important;
}

/* ------------------------------------------------------------------
   LIVE TV
   ------------------------------------------------------------------ */
.nova-live-page {
    background: #000 !important;
}

:is(.nova-live-filter-panel, .nova-live-menu, .channel-detail-body) {
    border-color: var(--nova-v3-line) !important;
    background: var(--nova-v3-glass-strong) !important;
    box-shadow: var(--nova-v3-shadow-panel) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
}

.channel-card {
    border-radius: var(--nova-v3-radius-md) !important;
}

.channel-logo-wrapper {
    border: 1px solid var(--nova-v3-line) !important;
    background: rgba(255,255,255,.025) !important;
    box-shadow: inset 0 0 0 1px rgba(0,0,0,.16) !important;
}

.live-badge {
    background: rgba(240,74,216,.14) !important;
    color: #fff !important;
    border: 1px solid rgba(240,74,216,.28) !important;
}

/* ------------------------------------------------------------------
   ACCOUNT / FAVORITES / NOTIFICATIONS / SETTINGS
   ------------------------------------------------------------------ */
:is(.account-page-shell, .favorites-page-shell, .notifications-page-shell, .settings-page-shell) {
    background: #000 !important;
}

:is(.sg-account-portal, .favorites-page-content, .notifications-page-content, .settings-layout) {
    gap: clamp(16px, 2.4vw, 24px) !important;
}

/* Profile avatar is not a neon control: neutral ring, clean depth. */
body .account-page-app .sg-account-avatar-wrap {
    border: 1px solid rgba(255,255,255,.16) !important;
    background: #05060a !important;
    background-image: none !important;
    box-shadow: 0 14px 34px rgba(0,0,0,.38) !important;
}

body .account-page-app .sg-account-profile-copy b {
    border: 1px solid rgba(155,77,255,.28) !important;
    background: rgba(155,77,255,.09) !important;
    background-image: none !important;
    color: #c9a8ff !important;
}

body .account-page-app :is(.sg-account-stats, .sg-account-menu, .sg-account-plan-card,
    .sg-account-profile-card, .sg-account-quick-grid > button, .sg-account-offers article) {
    border-color: var(--nova-v3-line) !important;
    background: var(--nova-v3-glass) !important;
    background-image: var(--nova-v3-glass) !important;
    box-shadow: var(--nova-v3-shadow-card) !important;
}

body .account-page-app .sg-account-quick-grid > button:hover,
body .account-page-app .sg-account-menu > button:hover {
    border-color: var(--nova-v3-line-strong) !important;
    background: var(--nova-v3-glass-strong) !important;
}

:is(.favorites-featured, .notifications-delivery-state, .settings-intro) {
    border: 1px solid var(--nova-v3-line) !important;
    background: var(--nova-v3-glass) !important;
    background-image: var(--nova-v3-glass) !important;
    box-shadow: var(--nova-v3-shadow-panel) !important;
}

/* Favorites media artwork must obey the same no-neon law. */
.favorites-page-app :is(.poster-wrapper, .favorites-featured-art, .favorite-card-art, .favorites-card-art) {
    border: 1px solid var(--nova-v3-line) !important;
    background: var(--nova-v3-card) !important;
    background-image: none !important;
    box-shadow: var(--nova-v3-shadow-card) !important;
}

.notifications-page-app :is(.notification-card, .notification-item) {
    border: 1px solid var(--nova-v3-line) !important;
    background: var(--nova-v3-glass) !important;
    background-image: var(--nova-v3-glass) !important;
    box-shadow: var(--nova-v3-shadow-card) !important;
}


/* Favorites + notifications: final content-card contract. */
.favorites-page-app .favorites-card {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transition: transform 170ms var(--nova-v3-ease), opacity 170ms var(--nova-v3-ease) !important;
}

.favorites-page-app .favorites-card-art,
.notifications-page-app .notification-media {
    border: 1px solid var(--nova-v3-line) !important;
    background: var(--nova-v3-card) !important;
    background-image: none !important;
    box-shadow: var(--nova-v3-shadow-card) !important;
}

.notifications-page-app .notification-card.unread {
    border: 1px solid var(--nova-v3-line-strong) !important;
    background: var(--nova-v3-glass-strong) !important;
    background-image: var(--nova-v3-glass-strong) !important;
    box-shadow: 0 14px 32px rgba(0,0,0,.34), inset 0 0 0 1px rgba(255,255,255,.018) !important;
}

.notifications-page-app .notifications-preferences {
    border: 1px solid var(--nova-v3-line) !important;
    background: var(--nova-v3-glass) !important;
    background-image: var(--nova-v3-glass) !important;
    box-shadow: var(--nova-v3-shadow-card) !important;
}

.notifications-page-app .notification-title-row i {
    background: var(--nova-v3-cyan) !important;
    background-image: none !important;
    box-shadow: 0 0 12px rgba(20,215,255,.22) !important;
}

:is(.favorites-empty button, .notifications-empty button, .discover-error button) {
    min-height: 44px !important;
    padding-inline: 20px !important;
    border: 1px solid transparent !important;
    border-radius: var(--nova-v3-pill) !important;
    background:
        linear-gradient(180deg, rgba(4,5,9,.98), rgba(0,0,0,.99)) padding-box,
        var(--nova-v3-gradient) border-box !important;
    color: #fff !important;
    font-weight: 900 !important;
    box-shadow: 0 8px 20px rgba(0,0,0,.30) !important;
}

@media (hover: hover) and (pointer: fine) {
    .favorites-page-app .favorites-card:hover {
        transform: translateY(-3px) !important;
    }
}

.settings-section,
.settings-status-card {
    border-radius: var(--nova-v3-radius-lg) !important;
}

.settings-row {
    border-color: rgba(255,255,255,.06) !important;
}

.settings-row:hover {
    background: rgba(255,255,255,.022) !important;
}

.settings-toggle {
    border: 1px solid rgba(255,255,255,.12) !important;
    background: rgba(255,255,255,.07) !important;
    box-shadow: none !important;
}

.settings-toggle.active {
    border-color: transparent !important;
    background: var(--nova-v3-gradient) !important;
    box-shadow: 0 6px 18px rgba(155,77,255,.18) !important;
}

.settings-select {
    border: 1px solid rgba(255,255,255,.10) !important;
    background: rgba(6,7,11,.88) !important;
}

/* ------------------------------------------------------------------
   COLLECTIONS / RAIL CATALOG / MATCH CENTER / COMMENTS / DOWNLOADS
   ------------------------------------------------------------------ */
:is(.movie-collections-rail, .server-collections-shell, .server-collection-details-shell,
    .rail-catalog-main, .mc-root, .content-comments, .download-link-card) {
    color: var(--nova-v3-text) !important;
}

.movie-collections-entry-button {
    border: 1px solid var(--nova-v3-line) !important;
    border-radius: var(--nova-v3-radius-lg) !important;
    background: var(--nova-v3-glass) !important;
    background-image: var(--nova-v3-glass) !important;
    box-shadow: var(--nova-v3-shadow-card) !important;
}

.movie-collections-entry-button::before {
    content: none !important;
    background: none !important;
}

.rail-catalog-grid {
    gap: clamp(18px, 2.2vw, 24px) clamp(9px, 1.4vw, 15px) !important;
}

:is(.mc-match-card, .mc-list-hero, .mc-detail-card, .pro-comment-composer, .content-comment) {
    border-color: var(--nova-v3-line) !important;
    background: var(--nova-v3-glass) !important;
    background-image: var(--nova-v3-glass) !important;
    box-shadow: var(--nova-v3-shadow-card) !important;
}

.content-comment-composer :is(textarea, input) {
    border-color: rgba(255,255,255,.10) !important;
    background: rgba(4,5,9,.92) !important;
    color: #fff !important;
}

/* ------------------------------------------------------------------
   EMPTY / ERROR / OFFLINE / LOADING STATES
   ------------------------------------------------------------------ */
:is(.favorites-empty, .notifications-empty, .catalog-empty, .rail-catalog-empty,
    .sg-anime-catalog-empty, .schedule-empty, .day-empty, .nova-empty-state,
    .discover-error, .server-driven-error, .standalone-watch-empty) {
    color: var(--nova-v3-text) !important;
}

:is(.favorites-empty, .notifications-empty, .catalog-empty, .rail-catalog-empty,
    .sg-anime-catalog-empty, .schedule-empty, .nova-empty-state, .discover-error) p {
    color: var(--nova-v3-text-2) !important;
}

:is(.nova-offline-state, .nova-not-found, .nova-progressive-loader, .nova-motion-loader,
    .nova-initial-gate) {
    color: var(--nova-v3-text) !important;
}

/* Skeletons: elegant graphite pulse, no rainbow-card chrome. */
:is(.catalog-shimmer, .nova-shimmer, .home-skeleton-card, .home-skeleton-heading,
    .catalog-landing-skeleton-card, .catalog-landing-skeleton-heading,
    .anime-ref-skeleton-brand, .anime-ref-skeleton-tools > *, .anime-ref-skeleton-switcher > *,
    .anime-ref-skeleton-hero-copy > *, .anime-ref-skeleton-cards > *,
    .catalog-skeleton, .catalog-skeleton > *, .home-skeleton-row > *,
    .home-hero-skeleton-copy > *, .schedule-skeleton > *, .skeleton-match,
    .favorites-skeletons > *, .favorites-skeletons i,
    .watch-quality-skeletons > *, .watch-server-skeletons > *,
    .standalone-quality-skeletons > *, .standalone-server-skeletons > *) {
    position: relative !important;
    overflow: hidden !important;
    border: 1px solid rgba(255,255,255,.045) !important;
    background: linear-gradient(110deg, #07080c 12%, #0b0d14 44%, #0e1018 52%, #0b0d14 60%, #07080c 88%) !important;
    background-size: 240% 100% !important;
    box-shadow: 0 8px 22px rgba(0,0,0,.20) !important;
    animation: novaV3SkeletonSweep 1.55s ease-in-out infinite !important;
}

@keyframes novaV3SkeletonSweep {
    0% { background-position: 100% 50%; opacity: .82; }
    50% { opacity: 1; }
    100% { background-position: -120% 50%; opacity: .82; }
}


/* Loading/offline visual surfaces are dark objects; brand light is ambient, never a rainbow frame. */
.offline-device-card,
.standalone-source-panel {
    border: 1px solid var(--nova-v3-line) !important;
    background: var(--nova-v3-glass-strong) !important;
    background-image: var(--nova-v3-glass-strong) !important;
    box-shadow: var(--nova-v3-shadow-panel) !important;
}

.offline-device-card::before,
.offline-device-card::after,
.standalone-source-panel::before,
.standalone-source-panel::after {
    border-image: none !important;
}

/* ------------------------------------------------------------------
   DENSITY + RESPONSIVE RHYTHM
   ------------------------------------------------------------------ */
:is(.poster-rail, .shahid-home-rail, .studio-rail, .episode-rail, .brand-rail,
    .continue-rail, .anime-ref-continue-rail, .anime-v2-studio-rail,
    .anime-v2-episode-rail, .movie-producers-rail, .movie-collections-rail-row) {
    gap: clamp(9px, 1.5vw, 14px) !important;
}

:is(.oscar-grid, .discover-desktop-grid, .rail-catalog-grid,
    .sg-anime-commercial-grid, .sg-wrestling-media-grid, .nova-related-grid) {
    align-items: start !important;
}

@media (max-width: 760px) {
    :root {
        --nova-v3-page-inline: 10px;
        --nova-v3-section-gap: 26px;
        --nova-v3-control-h-lg: 50px;
    }

    :is(.account-pro-header, .favorites-pro-header, .notifications-pro-header,
        .nova-catalog-fixed-header, .catalog-landing-toolbar, .nova-native-catalog-header,
        .rail-catalog-header, .details-standard-header, .nova-live-fixed-header) {
        box-shadow: none !important;
    }

    :is(.shahid-section-heading, .section-heading, .sg-anime-pro-section > header,
        .home-section > header, .anime-ref-section-head, .anime-v2-section-head) {
        min-height: 44px !important;
        padding-bottom: 8px !important;
    }

    .discover-mobile-section {
        margin-top: 26px !important;
    }

    :is(.poster-wrapper, .poster-wrap, .nova-media-art, .discover-desktop-art,
        .sg-anime-pro-card .art, .sg-wrestling-card .artwork) {
        border-radius: 9px !important;
        box-shadow: 0 9px 22px rgba(0,0,0,.30) !important;
    }

    .movie-collection-card-art {
        border-radius: 14px !important;
    }
}

@media (max-width: 390px) {
    :root {
        --nova-v3-page-inline: 8px;
    }

    :is(.oscar-grid, .rail-catalog-grid) {
        gap: 16px 8px !important;
    }
}

/* ------------------------------------------------------------------
   ACCESSIBILITY + MOTION SAFETY
   ------------------------------------------------------------------ */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 1ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 1ms !important;
        scroll-behavior: auto !important;
    }
}

/* ------------------------------------------------------------------
   OVERLAYS / DRAWER / NOTIFICATION HUB / ADS / SERVER HOSTS
   ------------------------------------------------------------------ */
.search-sheet {
    border-bottom: 1px solid var(--nova-v3-line) !important;
    background: rgba(3,4,7,.96) !important;
    box-shadow: 0 16px 36px rgba(0,0,0,.48) !important;
    backdrop-filter: blur(20px) saturate(1.06) !important;
    -webkit-backdrop-filter: blur(20px) saturate(1.06) !important;
}

.menu-backdrop,
.sg-notification-scrim {
    background: rgba(0,0,0,.68) !important;
    backdrop-filter: blur(4px) !important;
    -webkit-backdrop-filter: blur(4px) !important;
}

body .side-menu {
    border-inline-start: 1px solid var(--nova-v3-line) !important;
    background: linear-gradient(180deg, rgba(13,15,22,.98), rgba(3,4,7,.995)) !important;
    box-shadow: -24px 0 54px rgba(0,0,0,.58) !important;
    backdrop-filter: blur(24px) saturate(1.05) !important;
    -webkit-backdrop-filter: blur(24px) saturate(1.05) !important;
}

body .side-menu > :is(a, button) {
    color: rgba(248,249,253,.74) !important;
    background: transparent !important;
    transition: background 150ms var(--nova-v3-ease), color 150ms var(--nova-v3-ease), transform 140ms var(--nova-v3-ease) !important;
}

body .side-menu > :is(a, button):hover {
    color: #fff !important;
    background: rgba(255,255,255,.045) !important;
}

body .side-menu > :is(a, button):active {
    transform: scale(.99) !important;
    background: rgba(255,255,255,.065) !important;
}

body .sg-notification-panel,
body .sg-notification-headsup {
    border: 1px solid var(--nova-v3-line) !important;
    background: var(--nova-v3-glass-strong) !important;
    background-image: var(--nova-v3-glass-strong) !important;
    box-shadow: 0 22px 60px rgba(0,0,0,.58) !important;
    backdrop-filter: blur(24px) saturate(1.06) !important;
    -webkit-backdrop-filter: blur(24px) saturate(1.06) !important;
}

body .sg-notification-item {
    border-color: rgba(255,255,255,.07) !important;
    background: transparent !important;
    background-image: none !important;
}

body .sg-notification-item.unread {
    background: rgba(155,77,255,.055) !important;
}

body .sg-notification-media,
body .sg-headsup-image {
    border: 1px solid var(--nova-v3-line) !important;
    background: #05060a !important;
    background-image: none !important;
    box-shadow: 0 8px 20px rgba(0,0,0,.26) !important;
}

body .sg-notification-empty span {
    border: 1px solid rgba(255,255,255,.12) !important;
    background: rgba(255,255,255,.035) !important;
    background-image: none !important;
    box-shadow: none !important;
}

body .sg-commercial-ad {
    border: 1px solid var(--nova-v3-line) !important;
    background: var(--nova-v3-glass) !important;
    background-image: var(--nova-v3-glass) !important;
    box-shadow: var(--nova-v3-shadow-card) !important;
}

body .sg-commercial-ad > img {
    border: 1px solid var(--nova-v3-line) !important;
    background: #07080d !important;
    box-shadow: 0 7px 18px rgba(0,0,0,.24) !important;
}

body .sg-commercial-ad > button:not(.sg-ad-close) {
    border: 0 !important;
    border-radius: var(--nova-v3-pill) !important;
    background: var(--nova-v3-gradient) !important;
    color: #fff !important;
    font-weight: 900 !important;
    box-shadow: 0 8px 20px rgba(108,76,255,.18) !important;
}

.rewarded-test-card {
    border: 1px solid var(--nova-v3-line) !important;
    background: var(--nova-v3-glass) !important;
    background-image: var(--nova-v3-glass) !important;
    box-shadow: var(--nova-v3-shadow-card) !important;
}

.public-link-resolver,
.nova-server-rendered-page-host {
    background: #000 !important;
    color: var(--nova-v3-text) !important;
}

/* ==================================================================
   FINAL GUARD: content/media surfaces can NEVER receive brand-gradient
   border/background from older late-stage CSS. Keep this block last.
   ================================================================== */
:is(.poster-wrapper,
    .poster-wrap,
    .nova-media-art,
    .discover-desktop-art,
    .movie-collection-card-art,
    .favorites-card-art,
    .notification-media,
    .sg-anime-pro-card .art,
    .sg-wrestling-card .artwork,
    .studio-tile,
    .anime-v2-studio-card,
    .anime-native-studio,
    .wrestling-brand-tile,
    .brand-tile-shell,
    .movie-producer-card,
    .channel-card,
    .mc-match-card,
    .related-poster-shell,
    .episode-gallery-card,
    .anime-ref-poster-art,
    .anime-v2-episode-art,
    .anime-ref-episode-art) {
    border-image: none !important;
    outline: 0 !important;
}

:is(.poster-wrapper,
    .poster-wrap,
    .nova-media-art,
    .discover-desktop-art,
    .movie-collection-card-art,
    .favorites-card-art,
    .notification-media,
    .sg-anime-pro-card .art,
    .sg-wrestling-card .artwork,
    .studio-tile,
    .anime-v2-studio-card,
    .anime-native-studio,
    .wrestling-brand-tile,
    .brand-tile-shell,
    .movie-producer-card,
    .channel-card,
    .mc-match-card,
    .related-poster-shell,
    .episode-gallery-card,
    .anime-ref-poster-art,
    .anime-v2-episode-art,
    .anime-ref-episode-art)::before,
:is(.poster-wrapper,
    .poster-wrap,
    .nova-media-art,
    .discover-desktop-art,
    .movie-collection-card-art,
    .favorites-card-art,
    .notification-media,
    .sg-anime-pro-card .art,
    .sg-wrestling-card .artwork,
    .studio-tile,
    .anime-v2-studio-card,
    .anime-native-studio,
    .wrestling-brand-tile,
    .brand-tile-shell,
    .movie-producer-card,
    .channel-card,
    .mc-match-card,
    .related-poster-shell,
    .episode-gallery-card,
    .anime-ref-poster-art,
    .anime-v2-episode-art,
    .anime-ref-episode-art)::after {
    background-image: none !important;
    border-image: none !important;
    box-shadow: none !important;
}
