:root {
    --gaming-bg: #040711;
    --gaming-panel: rgba(8, 13, 28, .78);
    --gaming-panel-solid: #0b1020;
    --gaming-text: #f4ead8;
    --gaming-muted: #a8b0c4;
    --gaming-gold: #f7c35f;
    --gaming-gold-2: #d78a2d;
    --gaming-blue: #38bdf8;
    --gaming-violet: #8b5cf6;
    --gaming-red: #ef4444;
    --gaming-green: #22c55e;
    --gaming-border: rgba(247, 195, 95, .28);
    --gaming-blue-border: rgba(56, 189, 248, .26);
    --gaming-shadow: 0 24px 80px rgba(0, 0, 0, .45);
}

html.dark,
body.landing-body {
    color-scheme: dark;
    background:
        radial-gradient(circle at 18% 6%, rgba(56, 189, 248, .16), transparent 28rem),
        radial-gradient(circle at 82% 14%, rgba(247, 195, 95, .14), transparent 26rem),
        linear-gradient(180deg, #050711 0%, #090b17 46%, #05060b 100%);
    color: var(--gaming-text);
}

body.landing-body::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background-image:
        linear-gradient(rgba(255, 255, 255, .025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .02) 1px, transparent 1px);
    background-size: 72px 72px;
    mask-image: linear-gradient(to bottom, rgba(0, 0, 0, .55), transparent 82%);
}

.landing-shell {
    overflow: hidden;
    background:
        radial-gradient(circle at 50% -12%, rgba(139, 92, 246, .16), transparent 32rem),
        linear-gradient(180deg, rgba(3, 6, 18, .55), rgba(3, 6, 18, .94));
}

.landing-navbar {
    background: linear-gradient(180deg, rgba(3, 6, 18, .82), rgba(3, 6, 18, .2));
    border-bottom: 1px solid rgba(247, 195, 95, .12);
}

.landing-navbar.is-scrolled,
.landing-menu-open .landing-navbar {
    background: rgba(3, 6, 18, .9);
    border-color: var(--gaming-border);
    box-shadow: 0 16px 55px rgba(0, 0, 0, .38);
}

.landing-brand,
.landing-nav-link,
.landing-auth-links a,
.landing-auth-links button {
    color: #f1e7d5;
}

.landing-brand span {
    text-shadow: 0 0 18px rgba(247, 195, 95, .32);
}

.landing-nav-link {
    border: 1px solid transparent;
    border-radius: 999px;
}

.landing-nav-link:hover {
    color: var(--gaming-gold);
    background: rgba(247, 195, 95, .08);
    border-color: rgba(247, 195, 95, .2);
    box-shadow: 0 0 22px rgba(247, 195, 95, .12);
}

.landing-auth-links__primary,
.landing-btn--primary,
.landing-filter button.is-active,
.landing-pagination button:not(:disabled):hover {
    background: linear-gradient(135deg, #ffe7a3 0%, var(--gaming-gold) 36%, var(--gaming-gold-2) 100%);
    color: #160c02 !important;
    border-color: rgba(255, 231, 163, .76);
    box-shadow: 0 0 26px rgba(247, 195, 95, .36), inset 0 1px 0 rgba(255, 255, 255, .38);
}

.landing-hero,
.landing-page-hero {
    min-height: clamp(520px, 70vh, 820px);
    background-image:
        radial-gradient(circle at 50% 42%, rgba(247, 195, 95, .16), transparent 24rem),
        linear-gradient(180deg, rgba(2, 5, 14, .22), rgba(2, 5, 14, .86)),
        var(--hero-bg, var(--page-bg, linear-gradient(135deg, #071426, #170b1f 54%, #08070c)));
    border: 0;
    box-shadow: inset 0 -180px 160px rgba(0, 0, 0, .92);
}

.landing-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(90deg, rgba(0, 0, 0, .72), transparent 30%, transparent 70%, rgba(0, 0, 0, .72)),
        radial-gradient(ellipse at 50% 100%, rgba(56, 189, 248, .2), transparent 42%);
}

.landing-hero::after {
    content: "";
    position: absolute;
    left: -10%;
    right: -10%;
    bottom: -24%;
    height: 44%;
    pointer-events: none;
    background: radial-gradient(ellipse at center, rgba(247, 195, 95, .26), transparent 64%);
    filter: blur(10px);
    animation: gamingGlowPulse 5s ease-in-out infinite alternate;
}

.landing-hero--small {
    min-height: clamp(360px, 48vh, 560px);
}

.landing-hero__content,
.landing-page-hero > div {
    z-index: 2;
    transform: translateY(1.5rem);
}

.landing-logo {
    filter: drop-shadow(0 22px 38px rgba(0, 0, 0, .75)) drop-shadow(0 0 28px rgba(247, 195, 95, .28));
}

.landing-hero h1,
.landing-page-hero h1 {
    letter-spacing: -.055em;
    text-shadow: 0 0 34px rgba(247, 195, 95, .28), 0 20px 60px rgba(0, 0, 0, .9);
}

.landing-lead,
.landing-page-hero p:not(.landing-kicker) {
    color: #d7dceb;
    text-shadow: 0 2px 18px rgba(0, 0, 0, .82);
}

.landing-btn {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--gaming-border);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.landing-btn::before {
    content: "";
    position: absolute;
    inset: 0;
    transform: translateX(-120%);
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .38), transparent);
    transition: transform .55s ease;
}

.landing-btn:hover {
    transform: translateY(-2px);
}

.landing-btn:hover::before {
    transform: translateX(120%);
}

.landing-btn--ghost {
    background: linear-gradient(180deg, rgba(15, 23, 42, .76), rgba(3, 7, 18, .84));
    border-color: var(--gaming-blue-border);
    color: #eaf6ff;
    box-shadow: 0 0 22px rgba(56, 189, 248, .14);
}

.landing-btn--ghost:hover {
    border-color: rgba(56, 189, 248, .54);
    box-shadow: 0 0 34px rgba(56, 189, 248, .24);
}

.landing-bg-section {
    padding: clamp(2rem, 4vw, 4rem) 1rem clamp(4rem, 7vw, 7rem);
    background-image:
        linear-gradient(180deg, rgba(3, 6, 18, .88), rgba(3, 6, 18, .74) 38%, rgba(3, 6, 18, .92)),
        radial-gradient(circle at 18% 16%, rgba(56, 189, 248, .2), transparent 22rem),
        radial-gradient(circle at 88% 42%, rgba(247, 195, 95, .14), transparent 24rem),
        var(--section-bg, linear-gradient(135deg, #071426, #12091c));
}

.landing-news-panel,
.landing-event-panel,
.landing-widget,
.landing-panel,
.landing-feature,
.landing-stat,
.landing-download-card,
.landing-news-card,
.landing-article,
.landing-featured-news,
.landing-mini-news {
    background: linear-gradient(180deg, rgba(11, 16, 32, .86), rgba(4, 7, 17, .92));
    border: 1px solid var(--gaming-border);
    box-shadow: var(--gaming-shadow), inset 0 1px 0 rgba(255, 255, 255, .05);
    backdrop-filter: blur(18px);
}

.landing-news-panel,
.landing-event-panel,
.landing-widget {
    position: relative;
    overflow: hidden;
}

.landing-news-panel::before,
.landing-event-panel::before,
.landing-widget::before,
.landing-download-card::before,
.landing-news-card::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: radial-gradient(circle at 18% 0%, rgba(247, 195, 95, .16), transparent 18rem), radial-gradient(circle at 100% 12%, rgba(56, 189, 248, .12), transparent 16rem);
    opacity: .8;
}

.landing-panel__head,
.landing-download-card__body,
.landing-news-card__content,
.landing-article__content,
.landing-widget-row,
.landing-featured-news > div,
.landing-mini-news > div {
    position: relative;
    z-index: 1;
}

.landing-kicker {
    color: var(--gaming-gold);
    text-shadow: 0 0 16px rgba(247, 195, 95, .28);
}

.landing-section h2,
.landing-panel h2,
.landing-panel__head h2,
.landing-download-card h2,
.landing-news-card h2,
.landing-featured-news h3,
.landing-mini-news h3 {
    color: #fff7e8;
}

.landing-panel__head a,
.landing-read-more,
.landing-back-link,
.landing-news-card h2 a {
    color: var(--gaming-gold);
    transition: color .16s ease, text-shadow .16s ease;
}

.landing-panel__head a:hover,
.landing-read-more:hover,
.landing-back-link:hover,
.landing-news-card h2 a:hover {
    color: #ffe7a3;
    text-shadow: 0 0 18px rgba(247, 195, 95, .36);
}

.landing-widget-row {
    border-color: rgba(255, 255, 255, .08);
}

.landing-widget-row span,
.landing-download-card p,
.landing-news-card p,
.landing-featured-news p,
.landing-mini-news p,
.landing-article__content,
.landing-muted {
    color: var(--gaming-muted);
}

.landing-featured-news,
.landing-mini-news,
.landing-download-card,
.landing-news-card {
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.landing-featured-news:hover,
.landing-mini-news:hover,
.landing-download-card:hover,
.landing-news-card:hover {
    transform: translateY(-4px);
    border-color: rgba(247, 195, 95, .5);
    box-shadow: 0 28px 90px rgba(0, 0, 0, .52), 0 0 44px rgba(247, 195, 95, .14);
}

.landing-news-card__image,
.landing-featured-news a:first-child,
.landing-mini-news > img,
.landing-article__image {
    background: linear-gradient(135deg, rgba(56, 189, 248, .12), rgba(247, 195, 95, .1));
}

.landing-news-card__image img,
.landing-featured-news img,
.landing-mini-news img,
.landing-article__image {
    transition: transform .45s ease, filter .45s ease;
}

.landing-news-card:hover .landing-news-card__image img,
.landing-featured-news:hover img,
.landing-mini-news:hover img {
    transform: scale(1.045);
    filter: saturate(1.12) contrast(1.05);
}

.landing-news-meta span,
.landing-news span,
.landing-featured-news span,
.landing-mini-news span,
.landing-file-meta {
    background: linear-gradient(135deg, #ffe7a3, var(--gaming-gold));
    color: #160c02;
    border: 1px solid rgba(255, 231, 163, .5);
    box-shadow: 0 0 18px rgba(247, 195, 95, .18);
}

.landing-download-card__icon {
    background: radial-gradient(circle at 30% 22%, #fff4c7, var(--gaming-gold) 42%, var(--gaming-gold-2));
    box-shadow: 0 0 28px rgba(247, 195, 95, .3);
}

.landing-download-card__actions {
    position: relative;
    z-index: 1;
}

.landing-filter button,
.landing-pagination button {
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}

.landing-filter button:hover,
.landing-pagination button:not(:disabled):hover {
    transform: translateY(-2px);
}

.landing-pagination button:disabled {
    opacity: .45;
    cursor: not-allowed;
}

.landing-empty {
    border-color: var(--gaming-blue-border);
    background: rgba(8, 13, 28, .72);
    box-shadow: 0 0 38px rgba(56, 189, 248, .08);
}

.landing-article-wrap {
    position: relative;
    z-index: 1;
}

.landing-article {
    border-color: rgba(247, 195, 95, .34);
}

.landing-article__content h1,
.landing-article__content h2,
.landing-article__content h3,
.landing-article__content strong {
    color: #fff7e8;
}

.landing-article__content a {
    color: var(--gaming-blue);
}

.landing-footer {
    background: linear-gradient(180deg, rgba(3, 6, 18, .9), #02040a);
    border-top: 1px solid var(--gaming-border);
    box-shadow: 0 -20px 70px rgba(0, 0, 0, .35);
}

.landing-footer__links a:hover {
    color: var(--gaming-gold);
}

.landing-discord__button {
    box-shadow: 0 0 36px rgba(139, 92, 246, .38), 0 18px 44px rgba(0, 0, 0, .36);
}

.text-green,
.text-success {
    color: var(--gaming-green) !important;
}

.text-red,
.text-danger {
    color: var(--gaming-red) !important;
}

@keyframes gamingGlowPulse {
    from { opacity: .45; transform: scale(.96); }
    to { opacity: .9; transform: scale(1.04); }
}

@media (max-width: 991.98px) {
    .landing-bg-section {
        background-attachment: scroll;
    }

    .landing-navbar__inner {
        height: 60px;
    }

    .landing-hero,
    .landing-page-hero {
        min-height: 560px;
    }
}

@media (max-width: 575.98px) {
    .landing-hero,
    .landing-page-hero {
        min-height: 500px;
    }

    .landing-hero h1,
    .landing-page-hero h1 {
        font-size: clamp(2.6rem, 15vw, 4.6rem);
    }

    .landing-bg-section {
        padding-inline: .75rem;
    }

    .landing-news-panel,
    .landing-event-panel,
    .landing-widget,
    .landing-download-card,
    .landing-news-card,
    .landing-article {
        border-radius: 18px;
    }

    .landing-filter button,
    .landing-pagination button {
        min-width: auto;
        padding: .6rem .8rem;
        font-size: .75rem;
    }
}
