/* Space Gate Nova+ v2.38 emergency polish: one purple identity, lighter UI and faster taps. */
:root {
    --nova-purple: #9b5cff;
    --nova-purple-2: #6f35ff;
    --nova-purple-soft: rgba(155, 92, 255, .18);
    --nova-bg: #05040a;
    --nova-panel: rgba(14, 11, 24, .82);
    --nova-panel-2: rgba(23, 17, 39, .72);
    --nova-line: rgba(166, 126, 255, .24);
    --nova-text: #f7f3ff;
    --nova-muted: #bdb3d5;
    --sg-reference-control-height: 38px;
    --sg-reference-control-padding: 13px;
    --sg-reference-body-size: .78rem;
}

html, body, #app, .oscar-app {
    background: radial-gradient(circle at 50% -10%, rgba(155, 92, 255, .22), transparent 42%), linear-gradient(180deg, #05040a, #070510 48%, #05040a) !important;
    color: var(--nova-text) !important;
    overscroll-behavior: none;
    -webkit-tap-highlight-color: transparent;
}

button, a, [role="button"], .target-card, .series-card, .catalog-card, .shahid-card, .episode-row, .schedule-row {
    touch-action: manipulation !important;
}

.oscar-toolbar,
.search-sheet,
.details-topbar {
    min-height: calc(48px + var(--safe-top)) !important;
    padding: calc(var(--safe-top) + 6px) 12px 7px !important;
    background: linear-gradient(180deg, rgba(5,4,10,.92), rgba(5,4,10,.54), transparent) !important;
    border: 0 !important;
    backdrop-filter: blur(14px) !important;
}

.nova-header-logo,
.icon-button,
.series-back-button,
.mc-round-icon,
.details-topbar .icon-button,
.anime-top-actions .icon-button {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(155, 92, 255, .28) !important;
    background: rgba(17, 12, 30, .72) !important;
    color: #f7f3ff !important;
    box-shadow: 0 8px 22px rgba(0,0,0,.28) !important;
}

.nova-header-logo img,
.side-menu-brand img {
    object-fit: cover !important;
}

.nova-header-logo img {
    width: 100% !important;
    height: 100% !important;
    border-radius: 999px !important;
}

.nova-top-tabs {
    min-height: 35px !important;
    padding: 3px !important;
    gap: 2px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(155, 92, 255, .25) !important;
    background: rgba(13, 10, 22, .70) !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.025) !important;
}

.nova-top-tabs button {
    min-height: 29px !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    font-size: .72rem !important;
    color: #cfc5e6 !important;
}

.nova-top-tabs button.active {
    color: #fff !important;
    background: linear-gradient(135deg, rgba(155,92,255,.95), rgba(111,53,255,.72)) !important;
    box-shadow: 0 8px 20px rgba(111,53,255,.28) !important;
}

.home-subscribe-cta {
    bottom: calc(64px + var(--safe-bottom)) !important;
    width: auto !important;
    min-width: 112px !important;
    max-width: 148px !important;
    min-height: 38px !important;
    height: 38px !important;
    padding: 0 14px !important;
    border-radius: 999px !important;
    font-size: .76rem !important;
    font-weight: 850 !important;
    color: #fff !important;
    background: linear-gradient(135deg, rgba(155,92,255,.94), rgba(111,53,255,.72)) !important;
    border: 1px solid rgba(195,169,255,.30) !important;
    box-shadow: 0 10px 22px rgba(111,53,255,.30) !important;
}

.side-menu {
    width: min(74vw, 282px) !important;
    padding: calc(var(--safe-top) + 12px) 10px calc(var(--safe-bottom) + 12px) !important;
    background: linear-gradient(180deg, rgba(16,12,27,.98), rgba(6,5,12,.98)) !important;
    border-left: 1px solid var(--nova-line) !important;
    box-shadow: -18px 0 46px rgba(0,0,0,.45) !important;
}

.side-menu-brand {
    grid-template-columns: 44px 1fr 34px !important;
    gap: 9px !important;
    padding: 0 4px 12px !important;
    margin-bottom: 10px !important;
}

.side-menu-brand img {
    width: 44px !important;
    height: 44px !important;
    border-radius: 12px !important;
}

.side-menu-brand strong { font-size: .88rem !important; }
.side-menu-brand small { font-size: .62rem !important; color: var(--nova-muted) !important; }

.side-menu > button,
.sg-drawer-menu > button {
    min-height: 40px !important;
    height: 40px !important;
    padding: 0 11px !important;
    gap: 10px !important;
    border-radius: 12px !important;
    font-size: .78rem !important;
    color: #ded6f2 !important;
}

.side-menu > button:active,
.side-menu > button:hover,
.sg-drawer-menu > button.active {
    color: #fff !important;
    background: rgba(155,92,255,.16) !important;
}

.oscar-bottom-nav,
.original-bottom-nav {
    height: calc(58px + var(--safe-bottom)) !important;
    padding: 4px 0 var(--safe-bottom) !important;
    background: rgba(8,6,15,.92) !important;
    border-top: 1px solid rgba(155,92,255,.18) !important;
    backdrop-filter: blur(16px) !important;
    box-shadow: 0 -12px 32px rgba(0,0,0,.34) !important;
}

.oscar-bottom-nav button,
.original-bottom-nav button {
    min-width: 0 !important;
    gap: 2px !important;
    font-size: .58rem !important;
    color: #a99ec2 !important;
}

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

.oscar-bottom-nav .oscar-icon,
.original-bottom-nav .oscar-icon {
    width: 20px !important;
    height: 20px !important;
}

/* Disable the extra floating global notification UI. Content-specific notify buttons remain. */
.sg-notification-bell,
.sg-notification-headsup {
    display: none !important;
}

.safe-background-image,
.target-hero-bg,
.series-landing-hero-image,
.catalog-showcase-image,
.channel-details-bg {
    opacity: .72 !important;
    filter: saturate(1.03) contrast(1.03) !important;
}

.target-card,
.series-card,
.shahid-card,
.catalog-card,
.nova-media-card,
.episode-card,
.details-action-card,
.account-panel,
.settings-card,
.mc-card,
.data-panel {
    border-color: rgba(155,92,255,.20) !important;
    background: linear-gradient(180deg, rgba(20,15,33,.82), rgba(8,7,14,.86)) !important;
    box-shadow: 0 12px 30px rgba(0,0,0,.28) !important;
}

.target-watch-button,
.series-watch-button,
.catalog-watch,
.episode-play,
.server-play,
.primary-action,
.account-login-button,
.primary-sync-button {
    color: #fff !important;
    background: linear-gradient(135deg, #9b5cff, #6f35ff) !important;
    border-color: rgba(197,171,255,.28) !important;
    box-shadow: 0 10px 24px rgba(111,53,255,.30) !important;
}

.target-save-button,
.series-save-button,
.catalog-save,
.favorite-button,
.notify-toggle,
.secondary-sync-button {
    color: #f5efff !important;
    background: rgba(155,92,255,.12) !important;
    border-color: rgba(155,92,255,.28) !important;
}

.details-hero,
.channel-details,
.episode-details,
.series-landing-hero,
.catalog-showcase {
    background: radial-gradient(circle at 50% 18%, rgba(155,92,255,.20), transparent 46%), linear-gradient(180deg, #080511, #05040a) !important;
}

.details-poster,
.series-card-image,
.target-hero-poster,
.poster,
.episode-thumb,
.channel-logo,
.channel-mini {
    background: linear-gradient(145deg, #171022, #08060e) !important;
    border-color: rgba(155,92,255,.22) !important;
}

img.nova-fast-image,
.safe-background-image img,
.series-card-image img,
.poster img,
.episode-thumb img {
    image-rendering: auto;
    transform: translateZ(0);
}

@media (max-width: 520px) {
    .oscar-main {
        padding-bottom: calc(70px + var(--safe-bottom)) !important;
    }

    .oscar-toolbar h1,
    .series-section-bar h1,
    .details-topbar strong {
        font-size: .98rem !important;
    }

    .nova-top-tabs button {
        padding: 0 8px !important;
        font-size: .68rem !important;
    }

    .home-subscribe-cta {
        bottom: calc(60px + var(--safe-bottom)) !important;
    }
}
