/* Generated by tools/extract-home-css.mjs from ui/style.css. */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    --bg: #0a0a0a;
    --bg-2: #101010;
    --bg-3: #171717;
    --bg-4: #232323;
    --line: rgba(255, 255, 255, 0.08);
    --line-soft: rgba(255, 255, 255, 0.04);
    --text: #ffffff;
    --muted: #b9b9b9;
    --accent: #b45cff;
    --accent-strong: #ff9b54;
    --badge: #344cc6;
    --shadow: 0 18px 38px rgba(0, 0, 0, 0.32);
    --glow-x: 50vw;
    --glow-y: 56vh;
    --glow-scale: 1;
    --glow-opacity: 0.58;
    --glow-purple: 151, 79, 157;
    --glow-purple-light: 210, 128, 218;
    --galaxy-base: #050313;
    --galaxy-panel: rgba(10, 12, 22, 0.86);
}

html,
body {
    color: var(--text);
    font-family: Arial, Helvetica, sans-serif;
}

html {
    background: var(--galaxy-base);
}

body {
    position: relative;
    min-height: 100vh;
    overflow-x: hidden;
    background:
        radial-gradient(ellipse at -8% -4%, rgba(94, 24, 143, 0.34) 0%, rgba(53, 13, 94, 0.2) 34%, rgba(7, 5, 18, 0) 64%),
        linear-gradient(105deg, rgba(47, 12, 82, 0.2) 0%, rgba(25, 8, 54, 0.12) 30%, rgba(4, 6, 17, 0) 62%),
        linear-gradient(118deg, rgba(29, 102, 168, 0.08) 0%, rgba(29, 102, 168, 0) 34%),
        linear-gradient(248deg, rgba(172, 74, 167, 0.1) 0%, rgba(172, 74, 167, 0) 36%),
        linear-gradient(180deg, #070316 0%, #070719 44%, #03040c 100%);
    isolation: isolate;
}

body::before,
body::after {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
}

body::before {
    background-image:
        radial-gradient(circle at 7% 16%, rgba(255, 255, 255, 0.82) 0 1px, transparent 1.7px),
        radial-gradient(circle at 16% 74%, rgba(198, 232, 255, 0.72) 0 1px, transparent 1.6px),
        radial-gradient(circle at 24% 28%, rgba(255, 255, 255, 0.64) 0 1px, transparent 1.8px),
        radial-gradient(circle at 34% 82%, rgba(255, 232, 204, 0.68) 0 1px, transparent 1.7px),
        radial-gradient(circle at 42% 18%, rgba(208, 226, 255, 0.62) 0 1px, transparent 1.6px),
        radial-gradient(circle at 53% 64%, rgba(255, 255, 255, 0.72) 0 1px, transparent 1.8px),
        radial-gradient(circle at 65% 32%, rgba(205, 232, 255, 0.68) 0 1px, transparent 1.6px),
        radial-gradient(circle at 72% 78%, rgba(255, 255, 255, 0.6) 0 1px, transparent 1.7px),
        radial-gradient(circle at 84% 22%, rgba(255, 232, 204, 0.66) 0 1px, transparent 1.7px),
        radial-gradient(circle at 93% 58%, rgba(224, 242, 255, 0.72) 0 1px, transparent 1.8px);
    background-size: 340px 260px, 420px 300px, 510px 360px, 460px 330px, 390px 290px, 540px 380px, 430px 310px, 500px 350px, 370px 270px, 560px 400px;
    opacity: 0.72;
    animation: galaxyStarDrift 36s linear infinite;
}

body::after {
    background-image:
        radial-gradient(circle at 12% 34%, rgba(255, 255, 255, 1) 0 1.3px, transparent 2.8px),
        radial-gradient(circle at 28% 68%, rgba(179, 224, 255, 0.94) 0 1.4px, transparent 3px),
        radial-gradient(circle at 45% 38%, rgba(255, 246, 217, 0.96) 0 1.2px, transparent 2.8px),
        radial-gradient(circle at 61% 18%, rgba(255, 255, 255, 0.98) 0 1.3px, transparent 3px),
        radial-gradient(circle at 78% 72%, rgba(194, 229, 255, 0.94) 0 1.5px, transparent 3.1px),
        radial-gradient(circle at 91% 42%, rgba(255, 255, 255, 0.94) 0 1.3px, transparent 3px);
    opacity: 0.46;
    filter: drop-shadow(0 0 5px rgba(166, 212, 255, 0.42));
    mix-blend-mode: screen;
    animation: galaxyStarTwinkle 3.6s ease-in-out infinite alternate;
}

@keyframes galaxyStarDrift {
    from {
        transform: translate3d(0, 0, 0);
    }

    to {
        transform: translate3d(-34px, 24px, 0);
    }
}

@keyframes galaxyStarTwinkle {
    0%,
    100% {
        opacity: 0.18;
        filter: drop-shadow(0 0 3px rgba(166, 212, 255, 0.3));
        transform: scale(0.998);
    }

    45% {
        opacity: 0.72;
        filter: drop-shadow(0 0 9px rgba(255, 255, 255, 0.7));
        transform: scale(1.004);
    }

    70% {
        opacity: 0.32;
        filter: drop-shadow(0 0 4px rgba(255, 222, 178, 0.38));
        transform: scale(1);
    }
}

@keyframes galaxySparklePulse {
    0%,
    100% {
        opacity: 0.06;
        filter: blur(0) drop-shadow(0 0 2px rgba(175, 220, 255, 0.2));
        transform: translate3d(0, 0, 0) scale(0.96);
    }

    32% {
        opacity: 0.58;
        filter: blur(0) drop-shadow(0 0 8px rgba(255, 255, 255, 0.72));
        transform: translate3d(0, -1px, 0) scale(1.08);
    }

    63% {
        opacity: 0.18;
        filter: blur(0) drop-shadow(0 0 4px rgba(255, 224, 176, 0.34));
        transform: translate3d(0, 0, 0) scale(1);
    }
}

@media (prefers-reduced-motion: reduce) {
body::before,
    body::after,
    .page-shell::before,
    .page-shell::after {
        animation: none;
    }
}

a {
    color: inherit;
    text-decoration: none;
}

ul {
    list-style: none;
    margin-bottom: 0;
    padding-left: 0;
}

button,
input {
    font: inherit;
}

button {
    cursor: pointer;
}

img {
    max-width: 100%;
}

.page-shell {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.page-shell::before,
.page-shell::after {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    mix-blend-mode: screen;
}

.page-shell::before {
    background-image:
        radial-gradient(circle at 9% 58%, rgba(255, 255, 255, 0.95) 0 1px, transparent 3px),
        radial-gradient(circle at 19% 22%, rgba(189, 228, 255, 0.9) 0 1px, transparent 3px),
        radial-gradient(circle at 31% 86%, rgba(255, 237, 203, 0.9) 0 1px, transparent 3px),
        radial-gradient(circle at 48% 12%, rgba(255, 255, 255, 0.95) 0 1px, transparent 3px),
        radial-gradient(circle at 59% 74%, rgba(188, 225, 255, 0.9) 0 1px, transparent 3px),
        radial-gradient(circle at 73% 44%, rgba(255, 255, 255, 0.95) 0 1px, transparent 3px),
        radial-gradient(circle at 88% 18%, rgba(255, 232, 190, 0.88) 0 1px, transparent 3px);
    opacity: 0.28;
    animation: galaxySparklePulse 2.8s ease-in-out infinite;
}

.page-shell::after {
    background-image:
        radial-gradient(circle at 14% 82%, rgba(255, 255, 255, 0.9) 0 1.2px, transparent 3.4px),
        radial-gradient(circle at 36% 48%, rgba(201, 233, 255, 0.88) 0 1.2px, transparent 3.4px),
        radial-gradient(circle at 54% 30%, rgba(255, 240, 210, 0.86) 0 1.2px, transparent 3.4px),
        radial-gradient(circle at 67% 88%, rgba(255, 255, 255, 0.9) 0 1.2px, transparent 3.4px),
        radial-gradient(circle at 83% 62%, rgba(185, 226, 255, 0.88) 0 1.2px, transparent 3.4px),
        radial-gradient(circle at 96% 34%, rgba(255, 255, 255, 0.9) 0 1.2px, transparent 3.4px);
    opacity: 0.2;
    animation: galaxySparklePulse 3.9s ease-in-out 1.25s infinite;
}

.ambient-glow {
    position: fixed;
    inset: 0;
    pointer-events: none;
    overflow: hidden;
    z-index: 0;
}

.ambient-glow__halo,
.ambient-glow__core {
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 50%;
    mix-blend-mode: screen;
    will-change: transform, opacity;
}

.ambient-glow__halo {
    width: clamp(680px, 62vw, 1120px);
    aspect-ratio: 1;
    background: radial-gradient(circle,
            rgba(var(--glow-purple-light), 0.44) 0%,
            rgba(var(--glow-purple), 0.34) 24%,
            rgba(var(--glow-purple), 0.22) 46%,
            rgba(var(--glow-purple), 0.08) 64%,
            rgba(0, 0, 0, 0) 78%);
    filter: blur(88px);
    opacity: calc(var(--glow-opacity) + 0.18);
    transform: translate3d(calc(var(--glow-x) - 50%),
            calc(var(--glow-y) - 50%),
            0) scale(calc(var(--glow-scale) + 0.16));
}

.ambient-glow__core {
    width: clamp(360px, 34vw, 620px);
    aspect-ratio: 1;
    background: radial-gradient(circle,
            rgba(252, 224, 255, 0.84) 0%,
            rgba(var(--glow-purple-light), 0.68) 16%,
            rgba(var(--glow-purple), 0.48) 36%,
            rgba(var(--glow-purple), 0.24) 58%,
            rgba(0, 0, 0, 0) 80%);
    filter: blur(42px);
    opacity: var(--glow-opacity);
    transform: translate3d(calc(var(--glow-x) - 50%),
            calc(var(--glow-y) - 50%),
            0) scale(var(--glow-scale));
}

.storefront-global-header {
    background: rgba(10, 12, 20, 0.88);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.page-shell > .header-wrapper {
    display: none;
}

.epic-home-body {
    background: transparent;
}

.epic-home-body .ambient-glow,
.epic-home-body .summer-icon-fall,
.epic-home-body .activity-popup,
.epic-home-body .header-wrapper {
    display: none;
}

.epic-home-body .page-shell {
    min-height: 100vh;
    background: transparent;
}

.epic-home-main {
    --epic-home-slide-duration: 6200ms;
    min-height: 100vh;
    color: #f5f5f7;
    background: transparent;
    font-family: Arial, Helvetica, sans-serif;
}

.epic-home-header {
    position: relative;
    z-index: 320;
    min-height: 76px;
    padding: 0 14px;
    display: flex;
    align-items: center;
    gap: 24px;
    overflow: visible;
}

.epic-home-brand {
    display: inline-flex;
    align-items: center;
    gap: 18px;
    flex: 0 0 auto;
    color: #ffffff;
    text-decoration: none;
}

.epic-home-brand-logo {
    width: auto;
    height: 29px;
    display: block;
    object-fit: contain;
}

.epic-home-logo-mark {
    width: 32px;
    height: 36px;
    border-radius: 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #0b0b0d;
    background: #ffffff;
    font-size: 11px;
    font-weight: 900;
    line-height: 1;
}

.epic-home-brand-title {
    color: #ffffff;
    font-size: 24px;
    font-weight: 500;
    line-height: 1;
}

.epic-home-topnav {
    display: flex;
    align-items: center;
    gap: 30px;
    min-width: 0;
}

.epic-home-topnav-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #f2f2f4;
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
}

.epic-home-topnav-link i {
    font-size: 12px;
}

.epic-home-topnav-link:hover,
.epic-home-topnav-link:focus-visible,
.epic-home-brand:hover,
.epic-home-brand:focus-visible {
    color: #ffffff;
}

.epic-home-actions {
    position: relative;
    z-index: 1;
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 0 0 auto;
}

.epic-home-icon-button,
.epic-home-signin,
.epic-home-download {
    min-height: 35px;
    border: 0;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    line-height: 1;
}

.epic-home-icon-button {
    width: 35px;
    color: #ffffff;
    background: transparent;
    font-size: 21px;
}

.epic-home-signin {
    padding: 0 14px;
    color: #ffffff;
    background: #33333a;
    font-size: 13px;
    font-weight: 600;
}

.epic-home-account {
    min-height: 35px;
    display: inline-flex;
    align-items: center;
    gap: 11px;
    min-width: 0;
    max-width: min(240px, 30vw);
    color: #f4f4f6;
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    text-decoration: none;
}

.epic-home-account-shell {
    position: relative;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    padding-block: 14px;
    margin-block: -14px;
}

.epic-home-account-shell::after {
    content: "";
    position: absolute;
    top: 100%;
    right: 0;
    width: min(324px, calc(100vw - 28px));
    height: 18px;
}

.epic-home-account-avatar {
    width: 35px;
    height: 35px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    color: #ffffff;
    background: #484851;
    font-size: 14px;
    font-weight: 800;
}

.epic-home-account-name {
    min-width: 0;
    overflow: hidden;
    font-weight: 500;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.epic-home-account-menu {
    position: absolute;
    top: 100%;
    right: 0;
    z-index: 1200;
    width: min(324px, calc(100vw - 28px));
    padding: 16px 10px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 14px;
    display: grid;
    gap: 4px;
    background:
        radial-gradient(circle at 0% 100%, rgba(151, 82, 190, 0.22), transparent 46%),
        linear-gradient(180deg, #2a2a30 0%, #35313c 100%);
    box-shadow: 0 28px 70px rgba(0, 0, 0, 0.46);
    opacity: 0;
    pointer-events: none;
    transform: translateY(8px);
    transition: opacity 0.16s ease, transform 0.16s ease;
}

.epic-home-account-shell:hover .epic-home-account-menu,
.epic-home-account-shell:focus-within .epic-home-account-menu {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

.epic-home-account-menu a,
.epic-home-account-menu button {
    width: 100%;
    min-height: 50px;
    padding: 0 12px;
    border: 0;
    border-radius: 8px;
    display: grid;
    grid-template-columns: 26px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    color: rgba(255, 255, 255, 0.88);
    background: transparent;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.2;
    text-align: left;
    text-decoration: none;
}

.epic-home-account-menu i {
    color: rgba(255, 255, 255, 0.9);
    font-size: 20px;
    line-height: 1;
    text-align: center;
}

.epic-home-account-menu a:hover,
.epic-home-account-menu a:focus-visible,
.epic-home-account-menu button:hover,
.epic-home-account-menu button:focus-visible {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.08);
    outline: none;
}

.epic-home-account-menu__logout {
    margin: 8px 0 0;
    padding-top: 8px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.epic-home-download {
    padding: 0 16px;
    color: #050506;
    background: #27b9ff;
    font-size: 13px;
    font-weight: 600;
}

.epic-home-signin:hover,
.epic-home-signin:focus-visible,
.epic-home-account:hover,
.epic-home-account:focus-visible {
    color: #ffffff;
}

.epic-home-signin:hover,
.epic-home-signin:focus-visible {
    background: #3d3d45;
}

.epic-home-account:hover .epic-home-account-avatar,
.epic-home-account:focus-visible .epic-home-account-avatar {
    background: #585862;
}

.epic-home-download:hover,
.epic-home-download:focus-visible {
    color: #050506;
    background: #51c8ff;
}

.epic-home-storefront {
    --storefront-content-inset: 34px;
    width: min(calc(100% - 86px), 1270px);
    margin: 0 auto;
    padding: 28px 0 42px;
}

.epic-home-subnav {
    position: relative;
    display: flex;
    align-items: center;
    gap: 32px;
    margin: 0 34px 30px;
}

.epic-home-main > .epic-home-storefront > .epic-home-subnav {
    position: sticky;
    top: 0;
    z-index: 90;
    margin: -28px 0 30px;
    padding: 28px 34px 12px;
    isolation: isolate;
}

.epic-home-main > .epic-home-storefront > .epic-home-subnav::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    z-index: -1;
    width: 100vw;
    transform: translateX(-50%);
    background: rgba(8, 10, 18, 0.84);
    backdrop-filter: blur(18px);
    box-shadow: 0 1px 0 rgba(245, 245, 247, 0.04);
}

.epic-home-search {
    width: 260px;
    min-height: 44px;
    margin: 0;
    padding: 0 15px;
    border-radius: 999px;
    display: flex;
    align-items: center;
    gap: 13px;
    color: #9ea0a8;
    background: #202026;
}

.epic-home-search-button {
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    padding: 0;
    border: 0;
    display: inline-grid;
    place-items: center;
    color: inherit;
    background: transparent;
    line-height: 1;
}

.epic-home-search-button i,
.epic-home-search i {
    font-size: 16px;
}

.epic-home-search-button:hover,
.epic-home-search-button:focus-visible {
    color: #ffffff;
    outline: none;
}

.epic-home-search input {
    width: 100%;
    min-width: 0;
    border: 0;
    outline: 0;
    color: #ffffff;
    background: transparent;
    font-size: 14px;
    font-weight: 400;
}

.epic-home-search input::placeholder {
    color: #d2d7e7;
    opacity: 1;
}

.epic-home-search-close {
    display: none;
}

.epic-home-tabs {
    display: flex;
    align-items: center;
    gap: 32px;
    min-width: 0;
}

.epic-home-tabs-trigger {
    display: none;
}

.epic-home-tab-actions {
    display: none;
}

.epic-home-tab {
    color: #8f8f96;
    font-size: 14px;
    font-weight: 400;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
}

.epic-home-tab.is-active,
.epic-home-tab:hover,
.epic-home-tab:focus-visible {
    color: #ffffff;
}

.epic-products-main .epic-home-storefront {
    width: min(calc(100% - 86px), 1270px);
}

.saved-games-toast-stack {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 1100;
    width: min(360px, calc(100vw - 32px));
    display: grid;
    gap: 10px;
    pointer-events: none;
}

.saved-games-toast {
    min-height: 56px;
    padding: 12px 12px 12px 14px;
    border: 1px solid rgba(245, 245, 247, 0.14);
    border-left: 3px solid #27b9ff;
    border-radius: 8px;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    color: #f5f5f7;
    background: rgba(20, 22, 28, 0.96);
    box-shadow: 0 18px 44px rgba(0, 0, 0, 0.36);
    opacity: 0;
    pointer-events: auto;
    transform: translateY(12px);
    transition: opacity 0.18s ease, transform 0.18s ease;
}

.saved-games-toast.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.saved-games-toast.is-error {
    border-left-color: #ff5c7a;
}

.saved-games-toast > i {
    color: #27b9ff;
    font-size: 18px;
    line-height: 1;
}

.saved-games-toast.is-error > i {
    color: #ff5c7a;
}

.saved-games-toast span {
    min-width: 0;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.35;
}

.saved-games-toast__close {
    width: 28px;
    height: 28px;
    border: 0;
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: rgba(245, 245, 247, 0.72);
    background: transparent;
    cursor: pointer;
}

.saved-games-toast__close:hover,
.saved-games-toast__close:focus-visible {
    color: #ffffff;
    background: rgba(245, 245, 247, 0.12);
    outline: none;
}

@media (max-width: 1199.98px) {
.epic-products-main .epic-home-storefront {
        width: min(calc(100% - 86px), 1270px);
    }
}

@media (max-width: 767.98px) {
.epic-products-main .epic-home-storefront {
        width: calc(100% - 28px);
    }

.saved-games-toast-stack {
            right: 14px;
            bottom: 14px;
            width: calc(100vw - 28px);
        }
}

.epic-home-feature-layout {
    margin-inline: 34px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 204px;
    gap: 22px;
    align-items: stretch;
}

.epic-home-hero {
    position: relative;
    min-height: 574px;
    border-radius: 18px;
    overflow: hidden;
    background: #15161b;
    isolation: isolate;
}

.epic-home-hero-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
    opacity: 1;
    transform: scale(1);
    transition: opacity 0.34s ease, transform 0.54s ease, filter 0.54s ease;
    will-change: opacity, transform;
}

.epic-home-hero.is-switching .epic-home-hero-image {
    opacity: 0.38;
    transform: scale(1.018);
    filter: saturate(0.88);
}

.epic-home-hero-shade {
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(90deg, rgba(5, 10, 22, 0.82) 0%, rgba(5, 10, 22, 0.52) 34%, rgba(5, 10, 22, 0.08) 64%, rgba(5, 10, 22, 0.24) 100%),
        linear-gradient(180deg, rgba(0, 0, 0, 0.02) 0%, rgba(0, 0, 0, 0.1) 48%, rgba(0, 0, 0, 0.62) 100%);
}

.epic-home-hero-content {
    position: relative;
    z-index: 2;
    width: min(400px, calc(100% - 86px));
    min-height: 574px;
    padding: 168px 0 42px 44px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.24s ease, transform 0.24s ease;
}

.epic-home-hero.is-switching .epic-home-hero-content {
    opacity: 0.2;
    transform: translateY(8px);
}

.epic-home-collab {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 42px;
    color: #ffffff;
    font-size: 21px;
    font-weight: 600;
    line-height: 1;
    text-transform: uppercase;
}

.epic-home-collab span + span {
    padding-left: 16px;
    border-left: 3px solid rgba(255, 255, 255, 0.92);
}

.epic-home-kicker {
    margin: 0 0 10px;
    color: #ffffff;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.1;
    text-transform: uppercase;
}

.epic-home-hero h1 {
    margin: 0;
    max-width: 390px;
    color: #ffffff;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
}

.epic-home-price-row {
    margin-top: 34px;
    display: flex;
    align-items: center;
    gap: 12px;
    color: #ffffff;
    font-size: 13px;
    line-height: 1;
}

.epic-home-discount {
    min-width: 55px;
    min-height: 23px;
    padding: 0 9px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #020408;
    background: #18baff;
    font-size: 13px;
    font-weight: 500;
}

.epic-home-old-price {
    color: rgba(255, 255, 255, 0.68);
    text-decoration: line-through;
}

.epic-home-price-row strong {
    color: #ffffff;
    font-size: 13px;
    font-weight: 600;
}

.epic-home-hero-actions {
    margin-top: 20px;
    display: flex;
    align-items: center;
    gap: 12px;
}

.epic-home-buy,
.epic-home-square-action {
    min-height: 45px;
    border: 0;
    border-radius: 9px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

.epic-home-buy {
    min-width: 114px;
    padding: 0 23px;
    color: #ffffff;
    background: #111316;
    font-size: 14px;
    font-weight: 600;
}

.epic-home-square-action {
    width: 45px;
    color: #ffffff;
    background: rgba(17, 19, 22, 0.56);
    font-size: 19px;
    backdrop-filter: blur(12px);
}

.epic-home-buy:hover,
.epic-home-buy:focus-visible {
    color: #ffffff;
    background: #1b1e23;
}

.epic-home-square-action:hover,
.epic-home-square-action:focus-visible {
    color: #ffffff;
    background: rgba(17, 19, 22, 0.72);
}

.epic-home-side-list {
    display: grid;
    align-content: start;
    gap: 18px;
}

.epic-home-side-item {
    position: relative;
    min-height: 74px;
    padding: 0 13px 0 16px;
    border: 0;
    border-radius: 9px;
    display: grid;
    grid-template-columns: 45px minmax(0, 1fr);
    align-items: center;
    gap: 16px;
    color: #ffffff;
    text-decoration: none;
    background: transparent;
    text-align: left;
    overflow: hidden;
    transition: background 0.22s ease, transform 0.22s ease;
}

.epic-home-side-item.is-active,
.epic-home-side-item:hover,
.epic-home-side-item:focus-visible {
    color: #ffffff;
    background: #2b2b31;
}

.epic-home-side-item:focus-visible {
    outline: 2px solid rgba(39, 185, 255, 0.72);
    outline-offset: 3px;
}

.epic-home-side-item:hover {
    transform: translateX(2px);
}

.epic-home-side-item::before,
.epic-home-side-item::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0;
}

.epic-home-side-item::before {
    z-index: 0;
    background: rgba(255, 255, 255, 0.105);
    transform: scaleX(0);
    transform-origin: left center;
}

.epic-home-side-item::after {
    z-index: 1;
    width: 36%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.12), transparent);
    transform: translateX(-120%);
}

.epic-home-side-item.is-active::before {
    opacity: 1;
    animation: epicHomeSideProgress var(--epic-home-slide-duration) linear forwards;
}

.epic-home-side-item.is-active::after {
    opacity: 1;
    animation: epicHomeSideShine var(--epic-home-slide-duration) ease-in-out forwards;
}

.epic-home-side-item img {
    position: relative;
    z-index: 2;
    width: 45px;
    height: 60px;
    border-radius: 5px;
    display: block;
    object-fit: cover;
    background: #25252b;
}

.epic-home-side-item span {
    position: relative;
    z-index: 2;
    min-width: 0;
    color: #ffffff;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.28;
    overflow-wrap: break-word;
}

.epic-sale-section {
    position: relative;
    margin: 72px 34px 0;
}

.epic-sale-section--savings {
    margin-top: 72px;
}

.epic-sale-heading {
    margin-bottom: 28px;
}

.epic-sale-heading-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #ffffff;
    text-decoration: none;
    font-size: 21px;
    font-weight: 600;
    line-height: 1.1;
}

.epic-sale-heading-link i {
    font-size: 20px;
    line-height: 1;
}

.epic-sale-controls {
    position: absolute;
    right: 0;
    top: -48px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.epic-sale-section--savings .epic-sale-controls {
    top: -2px;
}

.epic-sale-control {
    width: 32px;
    height: 32px;
    border: 0;
    padding: 0;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    background: transparent;
    font-size: 17px;
    line-height: 1;
}

.epic-sale-control i {
    width: 1em;
    height: 1em;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.epic-sale-control:disabled {
    cursor: default;
    opacity: 0.32;
}

.epic-sale-layout {
    display: grid;
    grid-template-columns: minmax(250px, 350px) minmax(0, 1fr);
    align-items: center;
    gap: 36px;
}

.epic-sale-promo-card {
    position: relative;
    width: 100%;
    aspect-ratio: 1;
    border-radius: 10px;
    display: block;
    overflow: hidden;
    background: #211647;
    text-decoration: none;
}

.epic-sale-promo-card img {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.epic-sale-promo-copy {
    position: absolute;
    left: 50%;
    top: calc(21% + 10px);
    z-index: 3;
    width: 84%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    color: #020202;
    font-family: Impact, "Arial Black", sans-serif;
    font-weight: 900;
    text-align: center;
    text-transform: uppercase;
    text-shadow: 0 2px 2px rgba(0, 0, 0, 0.32);
    pointer-events: none;
    transform: translateX(-50%);
}

.epic-sale-promo-date {
    font-family: "Arial Black", Impact, sans-serif;
    font-size: 18px;
    line-height: 1.05;
    white-space: nowrap;
}

.epic-sale-promo-title {
    margin-top: 2px;
    font-size: 46px;
    line-height: 0.9;
    white-space: nowrap;
}

.epic-sale-promo-subtitle {
    font-size: 29px;
    line-height: 0.96;
    white-space: nowrap;
}

.epic-sale-promo-button {
    position: absolute;
    left: 50%;
    bottom: 52px;
    z-index: 3;
    min-width: 104px;
    min-height: 46px;
    padding: 0 22px;
    border-radius: 9px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    background: #111316;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
    transform: translateX(-50%);
}

.epic-sale-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(238px, 1fr));
    gap: 34px 26px;
    overflow: hidden;
}

.epic-sale-item {
    position: relative;
    min-width: 0;
    display: grid;
    grid-template-columns: 118px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    color: #ffffff;
    text-decoration: none;
    animation-duration: 0.28s;
    animation-fill-mode: both;
    animation-timing-function: ease;
    animation-delay: var(--epic-sale-stagger, 0ms);
}

.epic-sale-media {
    position: relative;
    width: 118px;
    height: 78px;
    border-radius: 5px;
    display: block;
    overflow: hidden;
    color: inherit;
    background: #24242a;
    text-decoration: none;
}

.epic-sale-item.is-sale-exiting-left {
    pointer-events: none;
    animation-name: epicSaleExitLeft;
}

.epic-sale-item.is-sale-exiting-right {
    pointer-events: none;
    animation-name: epicSaleExitRight;
}

.epic-sale-item.is-sale-entering-left {
    animation-name: epicSaleEnterLeft;
}

.epic-sale-item.is-sale-entering-right {
    animation-name: epicSaleEnterRight;
}

.epic-sale-item img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.epic-sale-copy {
    min-width: 0;
    max-width: 100%;
    display: grid;
    gap: 10px;
    overflow: hidden;
    color: inherit;
    text-decoration: none;
}

.epic-sale-copy:hover,
.epic-sale-copy:focus-visible {
    color: #ffffff;
    outline: none;
}

.epic-sale-save {
    position: absolute;
    top: 4px;
    left: 91px;
    z-index: 3;
    width: 24px;
    height: 24px;
    border: 1px solid rgba(255, 255, 255, 0.56);
    border-radius: 50%;
    display: inline-grid;
    place-items: center;
    color: #ffffff;
    background: rgba(5, 6, 9, 0.86);
    box-shadow: 0 5px 14px rgba(0, 0, 0, 0.42);
    font-size: 13px;
    line-height: 1;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    touch-action: manipulation;
}

.epic-sale-save:hover,
.epic-sale-save:focus-visible {
    border-color: #ffffff;
    outline: none;
}

.epic-sale-save.is-saved {
    border-color: #27b9ff;
    color: #061018;
    background: #27b9ff;
}

.epic-sale-save.is-pending {
    opacity: 0.62;
    pointer-events: none;
}

.epic-sale-copy strong {
    min-width: 0;
    color: #ffffff;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.18;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.epic-sale-price {
    min-width: 0;
    max-width: 100%;
    display: flex;
    align-items: center;
    width: 100%;
    overflow: hidden;
    color: rgba(255, 255, 255, 0.92);
    font-size: 15px;
    font-weight: 400;
    line-height: 1;
    white-space: nowrap;
}

.epic-sale-price-track {
    width: max-content;
    min-width: max-content;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    white-space: nowrap;
    will-change: transform;
}

.epic-sale-price.is-overflowing .epic-sale-price-track {
    animation: epicSalePriceMarquee var(--epic-sale-price-duration, 7s) linear infinite;
}

@keyframes epicSalePriceMarquee {
    0%, 6% {
        transform: translateX(0);
    }

    94%, 100% {
        transform: translateX(var(--epic-sale-price-shift, 0px));
    }
}

@media (prefers-reduced-motion: reduce) {
.epic-sale-price.is-overflowing .epic-sale-price-track {
        animation: none;
    }
}

.epic-sale-price s {
    color: rgba(255, 255, 255, 0.56);
}

.epic-sale-discount {
    min-width: 49px;
    min-height: 23px;
    padding: 0 9px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #050506;
    background: #27b9ff;
    font-size: 13px;
    font-weight: 500;
}

.epic-wide-banner-section {
    margin: 62px 34px 0;
}

.epic-wide-banner-card {
    position: relative;
    min-height: 350px;
    border-radius: 10px;
    display: block;
    overflow: hidden;
    color: #ffffff;
    background: #19191e;
    text-decoration: none;
    isolation: isolate;
}

.epic-wide-banner-card img {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
}

.epic-wide-banner-shade {
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(180deg, rgba(0, 0, 0, 0.02) 0%, rgba(0, 0, 0, 0.03) 42%, rgba(0, 0, 0, 0.32) 100%),
        radial-gradient(circle at 50% 78%, rgba(0, 0, 0, 0.34), rgba(0, 0, 0, 0) 34%);
}

.epic-wide-banner-content {
    position: absolute;
    left: 50%;
    bottom: 44px;
    z-index: 2;
    width: min(560px, calc(100% - 44px));
    display: grid;
    justify-items: center;
    gap: 12px;
    text-align: center;
    transform: translateX(-50%);
}

.epic-wide-banner-content strong {
    color: #ffffff;
    font-size: 22px;
    font-weight: 600;
    line-height: 1.15;
}

.epic-wide-banner-content > span:not(.epic-wide-banner-button) {
    color: rgba(255, 255, 255, 0.74);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.35;
}

.epic-wide-banner-button {
    min-width: 128px;
    min-height: 45px;
    margin-top: 10px;
    padding: 0 22px;
    border-radius: 9px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    background: #111316;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
}

.epic-weekly-section {
    margin: 62px 34px 0;
}

.epic-weekly-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 34px;
}

.epic-weekly-card {
    min-width: 0;
    display: grid;
    grid-template-rows: auto 1fr;
    gap: 26px;
}

.epic-weekly-media {
    position: relative;
    min-width: 0;
    aspect-ratio: 16 / 9;
    border-radius: 8px;
    display: block;
    overflow: hidden;
    color: #ffffff;
    text-decoration: none;
    background: #19191e;
    isolation: isolate;
}

.epic-weekly-media > img {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
    transition: transform 0.22s ease;
}

.epic-weekly-media:hover > img,
.epic-weekly-media:focus-visible > img {
    transform: scale(1.025);
}

.steam-activation-corner-label {
    position: absolute;
    top: -1px;
    left: -1px;
    z-index: 2;
    width: auto;
    max-width: calc(100% - 13px);
    height: 36px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 0 27px 0 12px;
    overflow: hidden;
    color: #f3fbff;
    font-family: "Bahnschrift SemiCondensed", "Bahnschrift", "Agency FB", "Arial Narrow", "Segoe UI", sans-serif;
    font-size: clamp(11px, 0.78vw, 13px);
    font-stretch: condensed;
    font-weight: 800;
    letter-spacing: 0.04em;
    line-height: 1;
    text-transform: uppercase;
    white-space: nowrap;
    pointer-events: none;
    border: 1px solid rgba(45, 229, 237, 0.20);
    border-top-color: rgba(45, 229, 237, 0.16);
    border-left-color: rgba(45, 229, 237, 0.16);
    border-radius: 0;
    background:
        linear-gradient(135deg, rgba(76, 205, 230, 0) 0 12px, rgba(76, 205, 230, 0.07) 13px 58px, rgba(76, 205, 230, 0) 59px 100%),
        linear-gradient(90deg, rgba(3, 12, 17, 0.95) 0%, rgba(7, 27, 34, 0.94) 64%, rgba(7, 27, 34, 0.82) 88%, rgba(7, 27, 34, 0.12) 100%);
    box-shadow:
        0 10px 15px rgba(0, 0, 0, 0.30),
        inset 0 1px 0 rgba(255, 255, 255, 0.06),
        inset 0 -1px 0 rgba(45, 229, 237, 0.16);
    backdrop-filter: blur(2px) saturate(1.1);
    -webkit-backdrop-filter: blur(2px) saturate(1.1);
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 14px), calc(100% - 20px) 100%, 0 100%);
}

.steam-activation-corner-label::before,
.steam-activation-corner-label::after {
    content: "";
    position: absolute;
    pointer-events: none;
}

.steam-activation-corner-label::before {
    left: 0;
    right: 18px;
    top: 0;
    bottom: 5px;
    border-top: 1px solid rgba(45, 229, 237, 0.14);
    border-bottom: 1px solid rgba(45, 229, 237, 0.34);
    border-left: 1px solid rgba(45, 229, 237, 0.26);
    background:
        linear-gradient(135deg, transparent 0 18px, rgba(45, 229, 237, 0.12) 19px 20px, transparent 21px 100%),
        linear-gradient(90deg, rgba(45, 229, 237, 0.10), rgba(45, 229, 237, 0) 34%);
    border-radius: 0;
    clip-path: polygon(0 0, 20px 0, 100% 0, 100% 100%, 0 100%);
}

.steam-activation-corner-label::after {
    right: 8px;
    bottom: 5px;
    width: 27px;
    height: 13px;
    border-right: 1px solid rgba(45, 229, 237, 0.42);
    border-bottom: 1px solid rgba(45, 229, 237, 0.52);
    box-shadow: -5px 5px 0 -4px rgba(45, 229, 237, 0.36);
    transform: skewX(-34deg);
    transform-origin: bottom right;
}

.steam-activation-icon {
    position: relative;
    z-index: 1;
    flex: 0 0 auto;
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background:
        radial-gradient(circle at 34% 30%, #f7fdff 0%, #c7f2ff 44%, #5bc4e3 100%);
    color: #0d2430;
    font-size: 14px;
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.42),
        0 0 18px rgba(45, 229, 237, 0.22);
}

.steam-activation-text {
    position: relative;
    z-index: 1;
    min-width: 0;
    overflow: visible;
    text-overflow: clip;
}

.steam-activation-text strong {
    color: #27eee9;
    font-weight: 850;
}

.epic-weekly-body {
    min-width: 0;
    display: grid;
    align-content: start;
    gap: 24px;
}

.epic-weekly-body h3 {
    min-width: 0;
    margin: 0;
    color: #ffffff;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.18;
    overflow-wrap: anywhere;
}

.epic-weekly-body h3 a {
    color: inherit;
    display: -webkit-box;
    overflow: hidden;
    text-decoration: none;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.epic-weekly-body h3 a:hover,
.epic-weekly-body h3 a:focus-visible {
    color: #ffffff;
    text-decoration: underline;
    text-underline-offset: 4px;
}

.epic-weekly-price {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 9px;
    color: rgba(255, 255, 255, 0.92);
    font-size: 16px;
    line-height: 1;
    white-space: nowrap;
}

.epic-weekly-price s {
    color: rgba(255, 255, 255, 0.58);
    text-decoration-thickness: 1.5px;
}

.epic-weekly-price strong {
    color: #ffffff;
    font-weight: 600;
}

.epic-weekly-discount {
    min-width: 52px;
    min-height: 22px;
    padding: 0 9px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    background: #27b9ff;
    font-size: 13px;
    font-weight: 700;
}

.epic-ranking-section {
    margin: 72px 34px 0;
}

.epic-ranking-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.epic-ranking-column {
    min-width: 0;
    padding: 0 34px;
}

.epic-ranking-column:first-child {
    padding-left: 0;
}

.epic-ranking-column:last-child {
    padding-right: 0;
}

.epic-ranking-column + .epic-ranking-column {
    border-left: 1px solid rgba(255, 255, 255, 0.22);
}

.epic-ranking-heading {
    min-height: 58px;
    margin-bottom: 20px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    color: #ffffff;
    text-decoration: none;
}

.epic-ranking-heading span {
    min-width: 0;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.22;
    letter-spacing: 0;
}

.epic-ranking-heading i {
    flex: 0 0 auto;
    margin-top: 4px;
    color: rgba(255, 255, 255, 0.92);
    font-size: 26px;
    line-height: 1;
}

.epic-ranking-heading:hover,
.epic-ranking-heading:focus-visible {
    color: #ffffff;
}

.epic-ranking-list {
    display: grid;
    gap: 24px;
}

.epic-ranking-item {
    min-width: 0;
    min-height: 126px;
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    align-items: center;
    gap: 28px;
    color: #ffffff;
    text-decoration: none;
    border-radius: 10px;
}

.epic-ranking-item:hover,
.epic-ranking-item:focus-visible {
    color: #ffffff;
}

.epic-ranking-item img {
    width: 112px;
    aspect-ratio: 1;
    border-radius: 5px;
    display: block;
    object-fit: cover;
    background: #202027;
}

.epic-ranking-copy {
    min-width: 0;
    display: grid;
    gap: 14px;
}

.epic-ranking-copy strong {
    min-width: 0;
    color: #ffffff;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.28;
    overflow-wrap: anywhere;
}

.epic-ranking-price {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 12px;
    color: rgba(255, 255, 255, 0.96);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.2;
    flex-wrap: wrap;
}

.epic-ranking-price s {
    color: rgba(255, 255, 255, 0.55);
    text-decoration-thickness: 1.5px;
}

.epic-ranking-discount {
    min-width: 48px;
    min-height: 22px;
    padding: 0 8px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    background: #27b9ff;
    font-size: 12px;
    font-weight: 600;
}

.epic-ranking-muted {
    color: rgba(255, 255, 255, 0.62);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.25;
}

@keyframes epicSaleExitLeft {
    from {
        opacity: 1;
        transform: translateX(0);
    }

    to {
        opacity: 0;
        transform: translateX(-54px);
    }
}

@keyframes epicSaleExitRight {
    from {
        opacity: 1;
        transform: translateX(0);
    }

    to {
        opacity: 0;
        transform: translateX(54px);
    }
}

@keyframes epicSaleEnterRight {
    from {
        opacity: 0;
        transform: translateX(54px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes epicSaleEnterLeft {
    from {
        opacity: 0;
        transform: translateX(-54px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes epicHomeSideProgress {
    from {
        transform: scaleX(0);
    }

    to {
        transform: scaleX(1);
    }
}

@keyframes epicHomeSideShine {
    0% {
        transform: translateX(-120%);
    }

    45%,
    100% {
        transform: translateX(320%);
    }
}

@media (prefers-reduced-motion: reduce) {
.epic-home-side-item.is-active::before,
    .epic-home-side-item.is-active::after {
        animation: none;
    }

.epic-home-hero-image,
    .epic-home-hero-content,
    .epic-home-side-item,
    .epic-sale-item {
        transition: none;
        animation: none;
    }
}

@media (max-width: 1199.98px) {
.epic-home-storefront {
        width: min(calc(100% - 36px), 960px);
    }

.epic-home-feature-layout {
        grid-template-columns: minmax(0, 1fr) 210px;
    }

.epic-home-hero,
    .epic-home-hero-content {
        min-height: 514px;
    }

.epic-home-hero-content {
        padding-left: 36px;
    }

.epic-home-side-list {
        gap: 14px;
    }

.epic-home-side-item span {
        font-size: 14px;
    }

.epic-sale-layout {
        grid-template-columns: minmax(230px, 300px) minmax(0, 1fr);
        gap: 28px;
    }

.epic-sale-grid {
        grid-template-columns: repeat(2, minmax(238px, 1fr));
    }

.epic-wide-banner-card {
        min-height: 296px;
    }

.epic-weekly-grid {
        gap: 28px;
    }

.steam-activation-corner-label {
        width: auto;
        max-width: calc(100% - 9px);
        height: 36px;
        gap: 9px;
        padding: 0 24px 0 10px;
        font-size: 11px;
    }

.steam-activation-corner-label::before {
        left: 0;
        right: 15px;
        top: 0;
        bottom: 5px;
        clip-path: polygon(0 0, 16px 0, 100% 0, 100% 100%, 0 100%);
    }

.steam-activation-corner-label::after {
        right: 6px;
        bottom: 5px;
        width: 22px;
        height: 10px;
        transform: skewX(-34deg);
    }

.steam-activation-icon {
        width: 23px;
        height: 23px;
        font-size: 14px;
    }

.epic-weekly-card {
        gap: 22px;
    }

.epic-weekly-body {
        gap: 20px;
    }

.epic-weekly-body h3 {
        font-size: 18px;
    }

.epic-weekly-price {
        gap: 9px;
        font-size: 15px;
    }

.epic-weekly-discount {
        min-width: 48px;
        min-height: 21px;
        font-size: 13px;
    }

.epic-sale-heading-link {
        font-size: 20px;
    }

.epic-ranking-column {
        padding: 0 24px;
    }

.epic-ranking-heading span {
        font-size: 19px;
    }

.epic-ranking-item {
        min-height: 108px;
        grid-template-columns: 92px minmax(0, 1fr);
        gap: 22px;
    }

.epic-ranking-item img {
        width: 92px;
    }

.epic-ranking-copy strong {
        font-size: 15px;
    }

.epic-ranking-price {
        font-size: 14px;
    }
}

@media (max-width: 991.98px) {
.epic-home-header {
        min-height: 70px;
        padding: 0 18px;
        gap: 20px;
        flex-wrap: wrap;
    }

.epic-home-brand-title {
        font-size: 22px;
    }

.epic-home-topnav {
        gap: 22px;
    }

.epic-home-topnav-link,
    .epic-home-account,
    .epic-home-signin,
    .epic-home-download {
        font-size: 14px;
    }

.epic-home-storefront {
        padding-top: 22px;
    }

.epic-home-subnav {
        gap: 22px;
        margin-bottom: 24px;
    }

.epic-home-main > .epic-home-storefront > .epic-home-subnav {
        margin: -22px 0 24px;
        padding: 22px 34px 12px;
    }

.epic-home-feature-layout {
        grid-template-columns: 1fr;
    }

.epic-home-side-list {
        grid-template-columns: repeat(6, minmax(160px, 1fr));
        overflow-x: auto;
        padding-bottom: 4px;
        scrollbar-width: none;
    }

.epic-home-side-list::-webkit-scrollbar {
        display: none;
    }

.epic-sale-section {
        margin-top: 60px;
    }

.epic-sale-layout {
        grid-template-columns: 1fr;
        align-items: start;
    }

.epic-sale-promo-card {
        max-width: 350px;
    }

.epic-sale-grid {
        grid-template-columns: repeat(2, minmax(238px, 1fr));
    }

.epic-weekly-section {
        margin-top: 54px;
    }

.epic-weekly-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }

.epic-weekly-card {
        gap: 20px;
    }

.epic-weekly-body {
        gap: 22px;
    }

.epic-weekly-body h3 {
        font-size: 18px;
    }

.epic-weekly-price {
        flex-wrap: wrap;
        white-space: normal;
    }

.epic-ranking-section {
        margin-top: 58px;
    }

.epic-ranking-grid {
        grid-template-columns: 1fr;
        border-top: 0;
        gap: 36px;
    }

.epic-ranking-column,
    .epic-ranking-column:first-child,
    .epic-ranking-column:last-child {
        padding: 0;
    }

.epic-ranking-column + .epic-ranking-column {
        padding-top: 36px;
        border-left: 0;
        border-top: 1px solid rgba(255, 255, 255, 0.16);
    }

.epic-ranking-heading {
        min-height: auto;
        margin-bottom: 18px;
        align-items: center;
    }

.epic-ranking-list {
        gap: 20px;
    }
}

@media (max-width: 767.98px) {
.epic-home-header {
        align-items: flex-start;
        padding: 16px 15px 0;
    }

.epic-home-brand {
        gap: 14px;
    }

.epic-home-topnav {
        order: 3;
        width: 100%;
        overflow-x: auto;
        padding-bottom: 4px;
    }

.epic-home-actions {
        gap: 10px;
    }

.epic-home-account {
        max-width: min(220px, 48vw);
    }

.epic-home-icon-button {
        display: none;
    }

.epic-home-storefront {
        --storefront-content-inset: 0px;
        width: calc(100% - 28px);
        padding-top: 22px;
    }

.epic-home-subnav {
        align-items: stretch;
        flex-direction: column;
        gap: 18px;
    }

.epic-home-main > .epic-home-storefront > .epic-home-subnav {
        margin: -22px 0 24px;
        padding: 22px 0 12px;
    }

.epic-home-search {
        width: 100%;
    }

.epic-home-tabs {
        gap: 24px;
        overflow-x: auto;
        padding-bottom: 2px;
    }

.epic-home-hero,
    .epic-home-hero-content {
        min-height: 468px;
    }

.epic-home-hero {
        border-radius: 16px;
    }

.epic-home-hero-content {
        width: calc(100% - 36px);
        padding: 132px 0 26px 22px;
    }

.epic-home-collab {
        gap: 12px;
        margin-bottom: 30px;
        font-size: 18px;
        flex-wrap: wrap;
    }

.epic-home-collab span + span {
        padding-left: 12px;
        border-left-width: 2px;
    }

.epic-home-hero h1 {
        font-size: 15px;
        line-height: 1.45;
    }

.epic-home-price-row {
        margin-top: 24px;
        flex-wrap: wrap;
    }

.epic-home-hero-actions {
        width: 100%;
        gap: 10px;
    }

.epic-home-buy {
        flex: 1 1 auto;
        min-width: 0;
    }

.epic-home-buy,
    .epic-home-square-action {
        min-height: 45px;
    }

.epic-home-square-action {
        width: 45px;
    }

.epic-sale-section {
        margin: 54px 0 0;
    }

.epic-sale-controls {
        top: -48px;
    }

.epic-sale-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

.epic-sale-promo-button {
        bottom: 42px;
    }

.epic-sale-heading {
        margin-bottom: 24px;
    }

.epic-sale-heading-link {
        font-size: 19px;
    }

.epic-wide-banner-section {
        margin: 50px 0 0;
    }

.epic-wide-banner-card {
        min-height: 260px;
    }

.epic-wide-banner-content {
        bottom: 34px;
        gap: 10px;
    }

.epic-wide-banner-content strong {
        font-size: 20px;
    }

.epic-wide-banner-content > span:not(.epic-wide-banner-button) {
        font-size: 15px;
    }

.epic-wide-banner-button {
        min-height: 46px;
        margin-top: 8px;
    }

.epic-weekly-section {
        margin: 50px 0 0;
    }

.epic-weekly-grid {
        gap: 30px;
    }

.epic-ranking-section {
        margin: 50px 0 0;
    }

.epic-ranking-heading span {
        font-size: 18px;
    }
}

@media (max-width: 575.98px) {
.epic-home-header {
        gap: 14px;
    }

.epic-home-logo-mark {
        width: 30px;
        height: 34px;
        font-size: 10px;
    }

.epic-home-brand-title {
        font-size: 22px;
    }

.epic-home-signin,
    .epic-home-account,
    .epic-home-download {
        min-height: 34px;
        padding: 0 12px;
        font-size: 13px;
    }

.epic-home-account {
        gap: 9px;
        padding: 0;
        max-width: 180px;
    }

.epic-home-account-avatar {
        width: 34px;
        height: 34px;
        font-size: 13px;
    }

.epic-home-search {
        min-height: 42px;
    }

.epic-home-tab {
        font-size: 14px;
    }

.epic-home-hero,
    .epic-home-hero-content {
        min-height: 420px;
    }

.epic-home-hero-content {
        width: calc(100% - 28px);
        padding: 108px 0 20px 18px;
    }

.epic-home-collab {
        font-size: 17px;
    }

.epic-home-kicker,
    .epic-home-price-row,
    .epic-home-price-row strong,
    .epic-home-discount {
        font-size: 13px;
    }

.epic-home-hero h1 {
        font-size: 14px;
    }

.epic-home-side-list {
        grid-template-columns: repeat(6, minmax(158px, 1fr));
    }

.epic-home-side-item {
        min-height: 68px;
        padding: 0 12px;
        grid-template-columns: 40px minmax(0, 1fr);
        gap: 12px;
    }

.epic-home-side-item img {
        width: 40px;
        height: 53px;
    }

.epic-home-side-item span {
        font-size: 14px;
    }

.epic-ranking-item {
        min-height: 88px;
        grid-template-columns: 76px minmax(0, 1fr);
        gap: 16px;
    }

.epic-ranking-item img {
        width: 76px;
    }

.epic-ranking-copy {
        gap: 9px;
    }

.epic-ranking-copy strong {
        font-size: 14px;
    }

.epic-ranking-price {
        gap: 8px;
        font-size: 13px;
    }

.epic-ranking-discount {
        min-width: 48px;
        min-height: 22px;
        padding: 0 8px;
        font-size: 12px;
    }

.epic-ranking-muted {
        font-size: 13px;
    }

.epic-sale-item {
        grid-template-columns: 114px minmax(0, 1fr);
        gap: 12px;
    }

.epic-sale-media {
        width: 114px;
        height: 76px;
    }

.epic-sale-item img {
        width: 100%;
        height: 100%;
    }

.epic-sale-save {
        left: 87px;
    }

.epic-sale-copy strong {
        font-size: 16px;
    }

.epic-sale-price {
        gap: 9px;
        font-size: 15px;
        flex-wrap: wrap;
    }

.epic-sale-promo-button {
        min-height: 42px;
        font-size: 14px;
    }

.epic-sale-promo-copy {
        top: calc(20% + 10px);
        width: 86%;
        gap: 5px;
    }

.epic-sale-promo-date {
        font-size: 15px;
    }

.epic-sale-promo-title {
        margin-top: 1px;
        font-size: 35px;
    }

.epic-sale-promo-subtitle {
        font-size: 22px;
    }

.epic-wide-banner-card {
        min-height: 245px;
    }

.epic-wide-banner-content {
        bottom: 24px;
        width: calc(100% - 32px);
    }

.epic-wide-banner-content strong {
        font-size: 18px;
    }

.epic-wide-banner-content > span:not(.epic-wide-banner-button) {
        font-size: 14px;
    }

.epic-wide-banner-button {
        min-width: 126px;
        min-height: 42px;
        font-size: 14px;
    }

.epic-weekly-card {
        gap: 16px;
    }

.steam-activation-corner-label {
        width: auto;
        max-width: calc(100% - 5px);
        height: 28px;
        gap: 5px;
        padding: 0 16px 0 6px;
        font-size: 7.5px;
        clip-path: polygon(0 0, 100% 0, 100% calc(100% - 10px), calc(100% - 13px) 100%, 0 100%);
    }

.steam-activation-corner-label::before {
        left: 0;
        right: 10px;
        top: 0;
        bottom: 5px;
        clip-path: polygon(0 0, 12px 0, 100% 0, 100% 100%, 0 100%);
    }

.steam-activation-corner-label::after {
        right: 6px;
        bottom: 4px;
        width: 16px;
        height: 7px;
        transform: skewX(-34deg);
        border-right-width: 1px;
        border-bottom-width: 1px;
    }

.steam-activation-icon {
        width: 17px;
        height: 17px;
        font-size: 10px;
    }

.epic-weekly-body h3 {
        font-size: 16px;
    }

.epic-weekly-price {
        gap: 8px;
        font-size: 14px;
    }

.epic-weekly-discount {
        min-width: 46px;
        min-height: 21px;
        padding: 0 8px;
        font-size: 12px;
    }
}

.epic-home-mobile-menu-toggle,
.epic-home-mobile-menu,
.epic-home-mobile-hero {
    display: none;
}

@media (max-width: 767.98px) {
html {
        -webkit-text-size-adjust: 100%;
        scroll-padding-top: 132px;
    }

.epic-home-header.storefront-global-header {
        position: sticky;
        top: 0;
        z-index: 160;
        min-height: 66px;
        padding: calc(10px + env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) 10px max(16px, env(safe-area-inset-left));
        align-items: center;
        gap: 12px;
        flex-wrap: nowrap;
        background: rgba(8, 10, 18, 0.88);
        box-shadow: 0 1px 0 rgba(245, 245, 247, 0.05);
        backdrop-filter: blur(18px);
        -webkit-backdrop-filter: blur(18px);
    }

.epic-home-brand {
        min-width: 0;
        flex: 0 1 auto;
    }

.epic-home-brand-logo {
        height: 40px;
        max-width: 92px;
        object-fit: contain;
    }

.epic-home-topnav {
        display: none;
    }

.epic-home-actions {
        margin-left: auto;
        gap: 8px;
    }

.epic-home-actions .epic-home-icon-button,
    .epic-home-actions .epic-home-signin,
    .epic-home-actions .epic-home-account-shell {
        display: none;
    }

.epic-home-download {
        min-height: 42px;
        padding: 0 14px;
        border-radius: 8px;
        color: #ffffff;
        font-size: 17px;
        font-weight: 700;
    }

.epic-home-mobile-menu-toggle {
        width: 44px;
        height: 44px;
        border: 0;
        padding: 0;
        border-radius: 10px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: #ffffff;
        background: transparent;
        font-size: 32px;
        line-height: 1;
    }

.epic-home-mobile-menu-toggle:focus-visible {
        outline: 2px solid rgba(39, 185, 255, 0.72);
        outline-offset: 2px;
    }

.epic-home-mobile-menu {
        position: absolute;
        top: calc(100% + 8px);
        right: max(16px, env(safe-area-inset-right));
        left: max(16px, env(safe-area-inset-left));
        z-index: 220;
        max-height: min(72vh, 430px);
        padding: 10px;
        border: 1px solid rgba(255, 255, 255, 0.08);
        border-radius: 14px;
        display: grid;
        gap: 4px;
        overflow-y: auto;
        color: #ffffff;
        background: rgba(35, 35, 41, 0.98);
        box-shadow: 0 26px 70px rgba(0, 0, 0, 0.5);
        opacity: 0;
        pointer-events: none;
        transform: translateY(-8px);
        transition: opacity 0.18s ease, transform 0.18s ease;
        -webkit-overflow-scrolling: touch;
    }

.epic-home-mobile-menu.is-open {
        opacity: 1;
        pointer-events: auto;
        transform: translateY(0);
    }

.epic-home-mobile-menu a {
        min-height: 46px;
        padding: 0 12px;
        border-radius: 9px;
        display: flex;
        align-items: center;
        color: rgba(255, 255, 255, 0.84);
        font-size: 15px;
        font-weight: 600;
        text-decoration: none;
    }

.epic-home-mobile-menu a[href="/tai-app"] {
        display: none;
    }

.epic-home-mobile-menu a:hover,
    .epic-home-mobile-menu a:focus-visible,
    .epic-home-mobile-menu a.is-active {
        color: #ffffff;
        background: rgba(255, 255, 255, 0.08);
        outline: none;
    }

.epic-home-header.storefront-global-header {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto auto;
    }

.epic-home-brand {
        grid-column: 1;
    }

.epic-home-actions,
    .epic-home-mobile-menu-toggle {
        justify-self: end;
    }

.epic-home-actions {
        grid-column: 2;
    }

.epic-home-mobile-menu-toggle {
        grid-column: 3;
        display: inline-flex !important;
        visibility: visible;
    }

.epic-home-download {
        white-space: nowrap;
    }

.epic-home-storefront {
        --storefront-content-inset: 0px;
        width: 100%;
        padding-top: 0;
        padding-bottom: calc(48px + env(safe-area-inset-bottom));
    }

.epic-home-main > .epic-home-storefront > .epic-home-subnav {
        position: sticky;
        top: calc(66px + env(safe-area-inset-top));
        z-index: 140;
        margin: 0 0 22px;
        padding: 14px max(18px, env(safe-area-inset-right)) 12px max(18px, env(safe-area-inset-left));
        flex-direction: row;
        align-items: center;
        gap: 16px;
    }

.epic-home-main > .epic-home-storefront > .epic-home-subnav::before {
        background: rgba(8, 10, 18, 0.88);
        backdrop-filter: blur(18px);
        -webkit-backdrop-filter: blur(18px);
    }

.epic-home-search {
        width: 44px;
        min-height: 44px;
        padding: 0;
        border-radius: 50%;
        flex: 0 0 44px;
        justify-content: center;
        color: #ffffff;
        background: transparent;
    }

.epic-home-search-button {
        width: 44px;
        height: 44px;
        font-size: 23px;
    }

.epic-home-search-button i,
    .epic-home-search i {
        font-size: 23px;
    }

.epic-home-search input {
        position: absolute;
        width: 1px;
        height: 1px;
        opacity: 0;
        pointer-events: none;
    }

.epic-home-tabs {
        flex: 1 1 auto;
        gap: 24px;
        overflow-x: auto;
        overflow-y: hidden;
        padding: 0 2px 2px;
        scrollbar-width: none;
        scroll-snap-type: x proximity;
        -webkit-overflow-scrolling: touch;
    }

.epic-home-tabs::-webkit-scrollbar {
        display: none;
    }

.epic-home-tab {
        flex: 0 0 auto;
        min-height: 44px;
        display: inline-flex;
        align-items: center;
        color: rgba(245, 245, 247, 0.72);
        font-size: 16px;
        font-weight: 700;
        scroll-snap-align: start;
    }

.epic-home-tab.is-active {
        color: #ffffff;
    }

:root {
        --epic-mobile-header-height: 86px;
        --epic-mobile-subnav-height: 72px;
    }

html {
        scroll-padding-top: var(--epic-mobile-subnav-height);
    }

.epic-home-header.storefront-global-header {
        position: relative;
        top: auto;
        min-height: var(--epic-mobile-header-height);
        padding: calc(14px + env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) 14px max(24px, env(safe-area-inset-left));
        align-items: center;
        gap: 12px;
    }

.epic-home-brand {
        min-width: 0;
        flex: 1 1 auto;
        overflow: hidden;
    }

.epic-home-brand-logo {
        width: min(132px, 34vw);
        max-width: min(132px, 100%);
        height: auto;
        max-height: 34px;
        object-fit: contain;
        object-position: left center;
    }

.epic-home-actions {
        flex: 0 0 auto;
        margin-left: 0;
    }

.epic-home-download {
        min-width: 112px;
        min-height: 38px;
        padding: 0 14px;
        color: #050506;
        font-size: 18px;
        font-weight: 500;
        letter-spacing: 0;
    }

.epic-home-mobile-menu-toggle {
        width: 38px;
        height: 38px;
        flex: 0 0 38px;
        font-size: 28px;
    }

.epic-home-subnav,
    .epic-home-main > .epic-home-storefront > .epic-home-subnav {
        position: sticky;
        top: 0;
        z-index: 150;
        min-height: var(--epic-mobile-subnav-height);
        margin: 0 0 18px;
        padding: 0 max(28px, env(safe-area-inset-right)) 0 max(28px, env(safe-area-inset-left));
        display: grid;
        grid-template-columns: 38px minmax(0, 1fr) auto;
        align-items: center;
        gap: 0;
        isolation: isolate;
    }

.epic-home-subnav::before,
    .epic-home-main > .epic-home-storefront > .epic-home-subnav::before {
        content: "";
        position: absolute;
        inset: 0;
        left: 50%;
        z-index: -1;
        width: 100vw;
        transform: translateX(-50%);
        background: rgba(8, 10, 18, 0.9);
        box-shadow: 0 1px 0 rgba(245, 245, 247, 0.04);
        backdrop-filter: blur(18px);
        -webkit-backdrop-filter: blur(18px);
    }

.epic-home-search {
        grid-column: 1;
        grid-row: 1;
        z-index: 2;
        width: 34px;
        min-height: 34px;
        padding: 0;
        border-radius: 50%;
        flex: 0 0 34px;
        justify-content: center;
        color: #ffffff;
        background: transparent;
    }

.epic-home-search-button {
        width: 34px;
        height: 34px;
        color: inherit;
        font-size: 18px;
    }

.epic-home-search-button i,
    .epic-home-search i {
        font-size: 18px;
    }

.epic-home-search input {
        position: absolute;
        width: 1px;
        height: 1px;
        opacity: 0;
        pointer-events: none;
    }

.epic-home-search-close {
        display: none;
    }

.epic-home-tabs-trigger {
        grid-column: 1 / -1;
        grid-row: 1;
        z-index: 1;
        justify-self: center;
        min-width: 0;
        min-height: 44px;
        border: 0;
        padding: 0 8px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 7px;
        color: #ffffff;
        background: transparent;
        font-size: 16px;
        font-weight: 400;
        line-height: 1;
        letter-spacing: 0;
    }

.epic-home-tabs-trigger i {
        font-size: 11px;
        line-height: 1;
        transition: transform 0.16s ease;
    }

.epic-home-tab-actions {
        grid-column: 3;
        grid-row: 1;
        z-index: 2;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 8px;
    }

.epic-home-tab-icon-link {
        position: relative;
        width: 30px;
        height: 30px;
        border: 0;
        display: inline-grid;
        place-items: center;
        color: rgba(245, 245, 247, 0.66);
        background: transparent;
        font-size: 19px;
        line-height: 1;
        text-decoration: none;
    }

.epic-home-tab-icon-link:hover,
    .epic-home-tab-icon-link:focus-visible,
    .epic-home-tab-icon-link.is-active {
        color: #ffffff;
        outline: none;
    }

.epic-home-tab-icon-link--cart {
        font-size: 20px;
    }

.epic-home-tab-icon-badge {
        position: absolute;
        top: -1px;
        right: -2px;
        min-width: 17px;
        height: 17px;
        padding: 0 6px;
        border-radius: 999px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: #ffffff;
        background: #27b9ff;
        font-size: 10px;
        font-weight: 600;
        line-height: 1;
    }

.epic-home-tabs-trigger[aria-expanded="true"] i {
        transform: rotate(180deg);
    }

.epic-home-tabs {
        position: absolute;
        top: 100%;
        left: max(34px, env(safe-area-inset-left));
        right: max(24px, env(safe-area-inset-right));
        z-index: 210;
        max-height: calc(100vh - var(--epic-mobile-subnav-height) - 20px);
        padding: 24px 36px 28px;
        border-radius: 0;
        display: grid;
        gap: 0;
        overflow-y: auto;
        color: #ffffff;
        background: rgba(10, 12, 20, 0.96);
        box-shadow: 0 30px 70px rgba(0, 0, 0, 0.52);
        opacity: 0;
        pointer-events: none;
        transform: translateY(-6px);
        transition: opacity 0.16s ease, transform 0.16s ease;
        -webkit-overflow-scrolling: touch;
    }

.epic-home-subnav.is-tabs-open .epic-home-tabs {
        opacity: 1;
        pointer-events: auto;
        transform: translateY(0);
    }

.epic-home-tab {
        min-height: 64px;
        border-bottom: 1px solid rgba(245, 245, 247, 0.17);
        display: flex;
        align-items: center;
        color: rgba(245, 245, 247, 0.56);
        font-size: 18px;
        font-weight: 400;
        line-height: 1.2;
        white-space: normal;
        scroll-snap-align: none;
    }

.epic-home-tab--desktop-only {
        display: none;
    }

.epic-home-tab:last-child {
        border-bottom: 0;
    }

.epic-home-tab.is-active,
    .epic-home-tab:hover,
    .epic-home-tab:focus-visible {
        color: #ffffff;
    }

.epic-home-subnav.is-search-open {
        grid-template-columns: minmax(0, 1fr);
        padding-inline: 0;
    }

.epic-home-subnav.is-search-open .epic-home-search {
        grid-column: 1 / -1;
        width: 100%;
        height: 100%;
        min-height: var(--epic-mobile-subnav-height);
        padding: 0 max(39px, env(safe-area-inset-right)) 0 max(39px, env(safe-area-inset-left));
        border-radius: 0;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 34px;
        background: #17171c;
    }

.epic-home-subnav.is-search-open .epic-home-search input {
        position: static;
        width: 100%;
        height: auto;
        opacity: 1;
        pointer-events: auto;
        color: #ffffff;
        font-size: 21px;
        font-weight: 500;
    }

.epic-home-subnav.is-search-open .epic-home-search input::placeholder {
        color: #d2d7e7;
        opacity: 1;
    }

.epic-home-subnav.is-search-open .epic-home-search-close {
        width: 44px;
        height: 44px;
        border: 0;
        padding: 0;
        display: inline-grid;
        place-items: center;
        flex: 0 0 44px;
        color: #ffffff;
        background: transparent;
        font-size: 28px;
        line-height: 1;
    }

.epic-home-subnav.is-search-open .epic-home-tabs-trigger,
    .epic-home-subnav.is-search-open .epic-home-tabs,
    .epic-home-subnav.is-search-open .epic-home-tab-actions {
        opacity: 0;
        pointer-events: none;
    }

.epic-product-storefront-nav .epic-home-subnav {
        position: relative;
        top: auto;
        margin: 0 0 18px;
    }

@media (max-width: 420px) {
:root {
            --epic-mobile-header-height: 78px;
            --epic-mobile-subnav-height: 68px;
        }

.epic-home-header.storefront-global-header {
            padding: calc(12px + env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) 12px max(18px, env(safe-area-inset-left));
            gap: 10px;
        }

.epic-home-brand-logo {
            width: min(116px, 36vw);
            max-width: min(116px, 100%);
        }

.epic-home-download {
            min-width: 96px;
            min-height: 34px;
            padding: 0 10px;
            font-size: 16px;
        }

.epic-home-mobile-menu-toggle {
            width: 34px;
            height: 34px;
            flex-basis: 34px;
            font-size: 25px;
        }

.epic-home-subnav,
        .epic-home-main > .epic-home-storefront > .epic-home-subnav {
            padding-inline: max(24px, env(safe-area-inset-left));
            grid-template-columns: 36px minmax(0, 1fr) auto;
        }

.epic-home-tabs {
            left: max(24px, env(safe-area-inset-left));
            right: max(16px, env(safe-area-inset-right));
            padding-inline: 30px;
        }

.epic-home-subnav.is-search-open .epic-home-search {
            padding-inline: max(24px, env(safe-area-inset-left));
            gap: 22px;
        }
}

@media (max-width: 340px) {
.epic-home-download {
            min-width: 100px;
            font-size: 16px;
        }
}

.epic-home-header.storefront-global-header {
        padding-right: max(64px, env(safe-area-inset-right));
    }

.epic-home-mobile-menu-toggle {
        position: absolute;
        top: 50%;
        right: max(16px, env(safe-area-inset-right));
        z-index: 3;
        transform: translateY(-50%);
    }

.epic-home-feature-layout {
        display: none;
    }

.epic-home-mobile-hero {
        display: block;
        margin-top: 6px;
    }

.epic-home-mobile-hero-rail {
        display: flex;
        gap: 20px;
        overflow-x: auto;
        overflow-y: hidden;
        padding: 0 max(28px, env(safe-area-inset-left)) 10px;
        scroll-padding-inline: max(28px, env(safe-area-inset-left));
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-x: contain;
    }

.epic-home-mobile-hero-rail::-webkit-scrollbar {
        display: none;
    }

.epic-home-mobile-card {
        position: relative;
        flex: 0 0 clamp(300px, 72vw, 420px);
        aspect-ratio: 3 / 4;
        border-radius: 20px;
        overflow: hidden;
        color: #ffffff;
        background: #17181d;
        scroll-snap-align: center;
        box-shadow: 0 18px 46px rgba(0, 0, 0, 0.34);
        isolation: isolate;
    }

.epic-home-mobile-card-link {
        position: absolute;
        inset: 0;
        display: block;
        color: #ffffff;
        text-decoration: none;
    }

.epic-home-mobile-card-link:hover,
    .epic-home-mobile-card-link:focus-visible {
        color: #ffffff;
    }

.epic-home-mobile-card-link:focus-visible {
        outline: 2px solid rgba(39, 185, 255, 0.72);
        outline-offset: -4px;
    }

.epic-home-mobile-card img {
        position: absolute;
        inset: 0;
        z-index: 0;
        width: 100%;
        height: 100%;
        display: block;
        object-fit: cover;
        object-position: center;
        transform: scale(1.002);
    }

.epic-home-mobile-card-shade {
        position: absolute;
        inset: 0;
        z-index: 1;
        background:
            linear-gradient(180deg, rgba(4, 7, 12, 0.04) 0%, rgba(4, 7, 12, 0.2) 42%, rgba(4, 7, 12, 0.9) 100%),
            linear-gradient(90deg, rgba(4, 7, 12, 0.58) 0%, rgba(4, 7, 12, 0.08) 62%, rgba(4, 7, 12, 0.34) 100%);
    }

.epic-home-mobile-card-content {
        position: absolute;
        inset: auto 0 0;
        z-index: 2;
        min-width: 0;
        padding: 34px 28px 28px;
        display: grid;
        gap: 10px;
    }

.epic-home-mobile-card-collab {
        max-width: calc(100% - 46px);
        display: flex;
        align-items: center;
        gap: 10px;
        color: #ffffff;
        font-size: 14px;
        font-weight: 700;
        line-height: 1;
        text-transform: uppercase;
    }

.epic-home-mobile-card-collab span {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

.epic-home-mobile-card-collab span + span {
        padding-left: 10px;
        border-left: 2px solid rgba(255, 255, 255, 0.78);
    }

.epic-home-mobile-card-kicker {
        margin-top: 18px;
        color: rgba(255, 255, 255, 0.92);
        font-size: 13px;
        font-weight: 500;
        line-height: 1.2;
    }

.epic-home-mobile-card-content > strong {
        min-width: 0;
        display: -webkit-box;
        overflow: hidden;
        color: #ffffff;
        font-size: clamp(16px, 4vw, 20px);
        font-weight: 500;
        line-height: 1.34;
        overflow-wrap: anywhere;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 6;
    }

.epic-home-mobile-card-price {
        min-width: 0;
        margin-top: 22px;
        display: flex;
        align-items: center;
        gap: 12px;
        color: #ffffff;
        font-size: 20px;
        font-weight: 700;
        line-height: 1.1;
        flex-wrap: wrap;
    }

.epic-home-mobile-card-price s {
        color: rgba(255, 255, 255, 0.58);
        font-weight: 500;
    }

.epic-home-mobile-card-discount {
        min-height: 30px;
        padding: 0 12px;
        border-radius: 999px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: #ffffff;
        background: #27b9ff;
        font-size: 17px;
        font-weight: 800;
    }

.epic-home-mobile-card-save {
        position: absolute;
        top: 12px;
        right: 12px;
        z-index: 4;
        width: 28px;
        height: 28px;
        border: 1px solid rgba(255, 255, 255, 0.48);
        border-radius: 50%;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: #ffffff;
        background: rgba(4, 5, 8, 0.84);
        box-shadow: 0 5px 13px rgba(0, 0, 0, 0.42);
        font-size: 14px;
        line-height: 1;
        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
        touch-action: manipulation;
    }

.epic-home-mobile-card-save.is-saved {
        border-color: #27b9ff;
        color: #061018;
        background: #27b9ff;
    }

.epic-home-mobile-card-save:focus-visible {
        outline: 2px solid rgba(39, 185, 255, 0.88);
        outline-offset: 2px;
    }

.epic-home-mobile-hero-dots {
        min-height: 34px;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 16px;
        padding: 10px 0 0;
    }

.epic-home-mobile-hero-dots span {
        width: 7px;
        height: 7px;
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.28);
        transition: background 0.18s ease, opacity 0.18s ease, transform 0.18s ease;
    }

.epic-home-mobile-hero-dots span.is-active {
        background: #ffffff;
        transform: scale(1.02);
    }

.epic-sale-section {
        margin: 62px 0 0;
        padding-inline: max(16px, env(safe-area-inset-left));
    }

.epic-sale-section--savings,
    .epic-wide-banner-section,
    .epic-weekly-section,
    .epic-ranking-section {
        margin: 56px 0 0;
        padding-inline: max(16px, env(safe-area-inset-left));
    }

.epic-sale-controls {
        display: none;
    }

.epic-sale-heading {
        margin-bottom: 22px;
    }

.epic-sale-heading-link {
        max-width: 100%;
        font-size: 20px;
        overflow-wrap: anywhere;
    }

.epic-sale-layout {
        display: grid;
        grid-template-columns: 1fr;
        gap: 24px;
    }

.epic-sale-promo-card {
        max-width: none;
        aspect-ratio: 1;
        border-radius: 16px;
    }

.epic-sale-promo-button {
        bottom: clamp(36px, 8vw, 54px);
        min-width: 116px;
        min-height: 52px;
        padding-inline: 22px;
        border-radius: 10px;
        color: #050506;
        background: #ffffff;
        font-size: 16px;
        font-weight: 500;
    }

.epic-sale-grid {
        display: grid;
        grid-auto-flow: column;
        grid-auto-columns: minmax(304px, calc(100vw - 64px));
        grid-template-columns: none;
        grid-template-rows: repeat(3, minmax(0, auto));
        gap: 22px 28px;
        overflow-x: auto;
        overflow-y: hidden;
        padding: 18px 14px 20px;
        border: 1px solid rgba(255, 255, 255, 0.09);
        border-radius: 14px;
        scroll-padding-inline: 0;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-x: contain;
        touch-action: pan-x;
    }

.epic-sale-grid::-webkit-scrollbar {
        display: none;
    }

.epic-sale-item {
        min-height: 142px;
        grid-template-columns: 136px minmax(0, 1fr);
        gap: 16px;
        border-radius: 10px;
        scroll-snap-align: start;
        touch-action: manipulation;
    }

.epic-sale-media {
        width: 136px;
        height: 118px;
        border-radius: 7px;
    }

.epic-sale-item img {
        width: 100%;
        height: 100%;
    }

.epic-sale-save {
        top: 18px;
        left: 109px;
        width: 25px;
        height: 25px;
        font-size: 14px;
    }

.epic-sale-copy {
        gap: 18px;
    }

.epic-sale-copy strong {
        font-size: 18px;
        font-weight: 600;
        line-height: 1.18;
        white-space: normal;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

.epic-sale-price {
        gap: 10px;
        font-size: 18px;
        line-height: 1.15;
        flex-wrap: wrap;
        white-space: normal;
    }

.epic-sale-discount {
        min-height: 28px;
        padding-inline: 10px;
        color: #ffffff;
        font-size: 15px;
        font-weight: 800;
    }

.epic-wide-banner-card {
        min-height: 250px;
        border-radius: 16px;
    }

.epic-weekly-grid,
    .epic-ranking-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767.98px) {
.epic-home-body .epic-ranking-section {
        padding-inline: 0;
        overflow: hidden;
    }

.epic-home-body .epic-ranking-grid {
        display: grid;
        grid-template-columns: none;
        grid-auto-flow: column;
        grid-auto-columns: clamp(288px, calc(100vw - 64px), 430px);
        gap: 0;
        overflow-x: auto;
        overflow-y: hidden;
        padding: 0 max(16px, env(safe-area-inset-right)) 10px max(16px, env(safe-area-inset-left));
        scroll-padding-inline: max(16px, env(safe-area-inset-left));
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-x: contain;
        touch-action: pan-x;
    }

.epic-home-body .epic-ranking-grid::-webkit-scrollbar {
        display: none;
    }

.epic-home-body .epic-ranking-column,
    .epic-home-body .epic-ranking-column:first-child,
    .epic-home-body .epic-ranking-column:last-child {
        min-width: 0;
        padding: 0 24px;
        scroll-snap-align: start;
    }

.epic-home-body .epic-ranking-column:first-child {
        padding-left: 0;
    }

.epic-home-body .epic-ranking-column:last-child {
        padding-right: 0;
    }

.epic-home-body .epic-ranking-column + .epic-ranking-column {
        padding-top: 0;
        border-top: 0;
        border-left: 1px solid rgba(255, 255, 255, 0.18);
    }

.epic-home-body .epic-ranking-heading {
        min-height: 58px;
        margin-bottom: 20px;
        align-items: flex-start;
        gap: 14px;
    }

.epic-home-body .epic-ranking-heading span {
        font-size: 24px;
        font-weight: 700;
        line-height: 1.18;
    }

.epic-home-body .epic-ranking-heading i {
        margin-top: 3px;
        font-size: 26px;
    }

.epic-home-body .epic-ranking-list {
        gap: 24px;
    }

.epic-home-body .epic-ranking-item {
        min-height: 102px;
        grid-template-columns: 80px minmax(0, 1fr);
        gap: 20px;
    }

.epic-home-body .epic-ranking-item img {
        width: 80px;
        border-radius: 6px;
    }

.epic-home-body .epic-ranking-copy {
        gap: 9px;
    }

.epic-home-body .epic-ranking-copy strong {
        font-size: 17px;
        line-height: 1.22;
    }

.epic-home-body .epic-ranking-price,
    .epic-home-body .epic-ranking-muted {
        font-size: 16px;
        line-height: 1.25;
    }
}

@media (max-width: 399.98px) {
.epic-home-mobile-card {
        flex-basis: clamp(286px, 80vw, 330px);
        border-radius: 18px;
    }

.epic-home-mobile-card-content {
        padding: 28px 24px 24px;
        gap: 9px;
    }

.epic-home-mobile-card-kicker {
        margin-top: 12px;
        font-size: 12px;
    }

.epic-home-mobile-card-content > strong {
        font-size: 16px;
        font-weight: 500;
        line-height: 1.34;
        -webkit-line-clamp: 5;
    }

.epic-home-mobile-card-price {
        margin-top: 16px;
        gap: 10px;
        font-size: 18px;
    }

.epic-home-mobile-card-discount {
        min-height: 28px;
        font-size: 15px;
    }

.epic-sale-copy strong {
        font-size: 18px;
    }

.epic-sale-price {
        font-size: 17px;
    }
}

@keyframes summerIconFall {
    0% {
        opacity: 0;
        transform: translate3d(var(--fall-x, 50vw), -16vh, 0) rotate(var(--fall-rotation, 0deg));
    }

    10%,
    88% {
        opacity: var(--fall-opacity, 0.74);
    }

    100% {
        opacity: 0;
        transform: translate3d(calc(var(--fall-x, 50vw) + var(--fall-drift, 80px)), 112vh, 0) rotate(calc(var(--fall-rotation, 0deg) + 160deg));
    }
}

@keyframes summerIconSway {
    from {
        transform: translateX(calc(var(--sway-distance, 18px) * -1)) rotate(-8deg);
    }

    to {
        transform: translateX(var(--sway-distance, 18px)) rotate(8deg);
    }
}

@keyframes headerServiceMarquee {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(calc(-50% - clamp(22px, 2.5vw, 43px)));
    }
}

@keyframes marqueeMove {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-50%);
    }
}

@keyframes home-catalog-spin {
    to {
        transform: rotate(360deg);
    }
}

.product-site-footer {
    padding: 40px 0 0;
    background: rgba(5, 5, 7, 0.98);
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.product-site-footer-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1.35fr 1.3fr;
    gap: 34px;
    padding-bottom: 38px;
}

.product-site-footer-col h2 {
    margin: 0 0 18px;
    color: #ffffff;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.3;
}

.product-site-footer-list {
    display: flex;
    flex-direction: column;
    gap: 18px;
    margin: 0;
    padding: 0;
}

.product-site-footer-list li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    color: rgba(255, 255, 255, 0.84);
    font-size: 0.94rem;
    line-height: 1.45;
}

.product-site-footer-list li i {
    flex-shrink: 0;
    margin-top: 2px;
    color: #d6d6d6;
    font-size: 0.95rem;
}

.product-site-footer-list a {
    color: rgba(255, 255, 255, 0.84);
    transition: color 0.2s ease, transform 0.2s ease;
}

.product-site-footer-list a:hover,
.product-site-footer-list a:focus-visible {
    color: #ffffff;
}

.product-site-footer-list:not(.is-contact) li::before {
    content: "›";
    color: #d6d6d6;
    font-size: 1.1rem;
    line-height: 1;
    margin-top: 1px;
}

.product-site-footer-payments {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.product-site-footer-social {
    display: flex;
    align-items: center;
    gap: clamp(8px, 1vw, 12px);
    margin-top: 16px;
    flex-wrap: nowrap;
    min-width: 0;
}

.product-site-footer-social__link {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: 1.1rem;
    transition: transform 0.2s ease, filter 0.2s ease;
    text-decoration: none;
}

.product-site-footer-social__link:hover,
.product-site-footer-social__link:focus-visible {
    transform: translateY(-1px);
    filter: brightness(1.06);
}

.product-site-footer-social__wordmark {
    font-size: 0.64rem;
    font-weight: 700;
    letter-spacing: -0.01em;
    line-height: 1;
    transform: translateY(0.5px);
}

.product-site-footer-social__link.is-zalo {
    background: linear-gradient(135deg, #0f6fff 0%, #19b5ff 100%);
}

.product-site-footer-social__link.is-facebook {
    background: #476bc6;
}

.product-site-footer-social__link.is-tiktok {
    background: #111111;
}

.product-site-footer-social__link.is-youtube {
    background: #df4935;
}

.product-site-footer-social__link.is-discord {
    background: #8aa1ff;
}

.product-site-footer-bottom {
    padding: 18px 0 16px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.56);
    font-size: 0.92rem;
    text-align: center;
}

.cart-feedback {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 22px;
    padding: 16px 18px;
    border-radius: 18px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(15, 17, 21, 0.92);
}

.cart-feedback i {
    font-size: 1.1rem;
    line-height: 1;
}

.cart-feedback span {
    color: rgba(255, 255, 255, 0.9);
    font-size: 0.96rem;
    line-height: 1.6;
}

.cart-feedback--success {
    border-color: rgba(96, 184, 124, 0.35);
    background: linear-gradient(180deg, rgba(13, 36, 20, 0.94), rgba(10, 24, 15, 0.94));
}

.cart-feedback--success i {
    color: #89d792;
}

.cart-feedback--error {
    border-color: rgba(227, 104, 104, 0.34);
    background: linear-gradient(180deg, rgba(44, 16, 16, 0.94), rgba(28, 10, 10, 0.94));
}

.cart-feedback--error i {
    color: #ff9f9f;
}

@media (max-width: 1199.98px) {
.product-site-footer-grid {
        grid-template-columns: 1.6fr 1fr 1.2fr 1.2fr;
        gap: 24px;
    }
}

@media (max-width: 991.98px) {
.product-site-footer {
        padding-top: 34px;
    }

.product-site-footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 28px;
    }
}

@media (max-width: 767.98px) {
.cart-feedback {
        gap: 10px;
        padding: 14px 16px;
    }

.product-site-footer {
        padding-top: 28px;
    }

.product-site-footer-grid {
        grid-template-columns: 1fr;
        gap: 24px;
        padding-bottom: 28px;
    }

.product-site-footer-col h2 {
        margin-bottom: 14px;
        font-size: 0.96rem;
    }

.product-site-footer-list {
        gap: 14px;
    }

.product-site-footer-list li {
        gap: 10px;
        font-size: 0.88rem;
    }

.product-site-footer-payments {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 10px;
    }

.product-site-footer-bottom {
        font-size: 0.8rem;
        line-height: 1.45;
    }
}

@media (max-width: 575.98px) {
.cart-feedback {
        flex-direction: column;
        padding: 14px;
    }

.cart-feedback span {
        font-size: 0.88rem;
        line-height: 1.55;
    }

.cart-feedback,
    .cart-item-card,
    .cart-summary-card {
        border-radius: 14px;
    }

.product-site-footer-payments {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

.product-site-footer-social {
        gap: 8px;
    }

.product-site-footer-social a {
        width: 38px;
        height: 38px;
        font-size: 1rem;
    }
}

.product-site-footer {
    padding: 72px 0 56px;
    background: #18181c;
    color: #f5f5f7;
    font-family: Arial, Helvetica, sans-serif;
    border-top: 0;
}

.product-site-footer-inner {
    width: min(calc(100% - 86px), 1560px);
    margin: 0 auto;
}

.product-site-footer-brand {
    display: none;
}

.product-site-footer-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 44px;
    padding: 86px 0 92px;
}

.product-site-footer-col {
    display: block;
}

.product-site-footer-col summary {
    list-style: none;
    margin: 0 0 22px;
    color: #ffffff;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.2;
    pointer-events: none;
}

.product-site-footer-col summary::-webkit-details-marker {
    display: none;
}

.product-site-footer-col summary i {
    display: none;
}

details.product-site-footer-col:not([open]) > .product-site-footer-list {
    display: flex;
}

.product-site-footer-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin: 0;
    padding: 0;
}

.product-site-footer-list li {
    display: block;
    color: rgba(245, 245, 247, 0.62);
    font-size: 15px;
    font-weight: 400;
    line-height: 1.35;
}

.product-site-footer-list li i,
.product-site-footer-list:not(.is-contact) li::before {
    display: none;
    content: none;
}

.product-site-footer-list a {
    color: rgba(245, 245, 247, 0.62);
    text-decoration: none;
    transition: color 0.18s ease;
}

.product-site-footer-list a:hover,
.product-site-footer-list a:focus-visible {
    color: #ffffff;
}

.product-site-footer-payments {
    display: none;
}

.product-site-footer-social {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 22px;
    margin: 0;
    flex-wrap: nowrap;
    min-width: 0;
}

.product-site-footer-social__link,
.product-site-footer-social a {
    width: auto;
    height: auto;
    border-radius: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: rgba(245, 245, 247, 0.58);
    background: transparent;
    font-size: 21px;
    line-height: 1;
    text-decoration: none;
    transition: color 0.18s ease, transform 0.18s ease;
}

.product-site-footer-social__link:hover,
.product-site-footer-social__link:focus-visible,
.product-site-footer-social a:hover,
.product-site-footer-social a:focus-visible {
    color: #ffffff;
    background: transparent;
    transform: translateY(-1px);
    filter: none;
}

.product-site-footer-legal {
    max-width: 820px;
    padding: 0 0 34px;
}

.product-site-footer-legal p {
    max-width: 820px;
    margin: 0;
    color: rgba(245, 245, 247, 0.58);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.55;
}

.product-site-footer-backtop {
    margin-top: 36px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: rgba(245, 245, 247, 0.88);
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
    transition: color 0.18s ease;
}

.product-site-footer-backtop i {
    font-size: 18px;
    line-height: 1;
}

.product-site-footer-backtop:hover,
.product-site-footer-backtop:focus-visible {
    color: #ffffff;
}

.product-site-footer-bottom {
    display: flex;
    align-items: center;
    gap: 28px;
    flex-wrap: wrap;
    padding: 0;
    border-top: 0;
    color: rgba(245, 245, 247, 0.62);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.3;
    text-align: left;
}

.product-site-footer-bottom a {
    color: rgba(245, 245, 247, 0.62);
    text-decoration: none;
    transition: color 0.18s ease;
}

.product-site-footer-bottom a:hover,
.product-site-footer-bottom a:focus-visible {
    color: #ffffff;
}

@media (max-width: 1199.98px) {
.product-site-footer-inner {
        width: min(calc(100% - 56px), 1040px);
    }

.product-site-footer-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 42px 54px;
    }
}

@media (max-width: 767.98px) {
.product-site-footer {
        padding: 24px 0 32px;
        background: #18181c;
    }

.product-site-footer-inner {
        width: calc(100% - 28px);
    }

.product-site-footer-brand {
        display: block;
        margin: 0 0 16px;
        color: #f5f5f7;
        font-size: 22px;
        font-weight: 700;
        line-height: 1;
        text-align: center;
        letter-spacing: 0;
    }

.product-site-footer-social {
        justify-content: center;
        gap: 18px;
        margin: 0 0 22px;
    }

.product-site-footer-social__link,
    .product-site-footer-social a {
        color: rgba(245, 245, 247, 0.68) !important;
        background: transparent !important;
        font-size: 22px;
    }

.product-site-footer-social__link i,
    .product-site-footer-social a i {
        color: currentColor !important;
    }

.product-site-footer-grid {
        border-top: 1px solid rgba(245, 245, 247, 0.14);
        grid-template-columns: 1fr;
        gap: 0;
        padding: 0;
    }

.product-site-footer-col {
        border-bottom: 1px solid rgba(245, 245, 247, 0.14);
    }

.product-site-footer-col summary {
        min-height: 44px;
        margin: 0;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        color: #ffffff;
        cursor: pointer;
        font-size: 15px;
        font-weight: 600;
        line-height: 1.15;
        pointer-events: auto;
        user-select: none;
    }

.product-site-footer-col summary i {
        display: inline-flex;
        flex: 0 0 auto;
        color: #ffffff;
        font-size: 16px;
        transition: transform 0.18s ease;
    }

.product-site-footer-col[open] summary i {
        transform: rotate(180deg);
    }

details.product-site-footer-col:not([open]) > .product-site-footer-list {
        display: none;
    }

.product-site-footer-list {
        gap: 8px;
        padding: 0 0 12px;
    }

.product-site-footer-list li {
        font-size: 13px;
        line-height: 1.28;
    }

.product-site-footer-list a {
        color: rgba(245, 245, 247, 0.72);
    }

.product-site-footer-legal {
        grid-template-columns: 1fr;
        max-width: none;
        padding: 22px 8px 0;
        text-align: center;
    }

.product-site-footer-legal p {
        max-width: none;
        color: rgba(245, 245, 247, 0.64);
        font-size: 11px;
        line-height: 1.32;
    }

.product-site-footer-backtop {
        width: fit-content;
        min-height: 36px;
        margin: 20px auto 0;
        padding: 0 14px;
        border-radius: 8px;
        display: flex;
        justify-content: center;
        color: #ffffff;
        background: #3b3b40;
        font-size: 12px;
        font-weight: 500;
    }

.product-site-footer-backtop i {
        font-size: 14px;
    }

.product-site-footer-bottom {
        justify-content: center;
        gap: 8px 16px;
        padding: 18px 8px 0;
        color: rgba(245, 245, 247, 0.68);
        font-size: 11px;
        line-height: 1.28;
        text-align: center;
    }

.product-site-footer-bottom a {
        color: rgba(245, 245, 247, 0.68);
    }
}

.storefront-cart-feedback {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 1200;
    width: min(470px, calc(100vw - 48px));
    margin: 0;
    padding: 16px 18px;
    border-radius: 8px;
    background: #202026;
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.38);
    pointer-events: none;
    animation: epicCartFeedbackToast 5.2s ease forwards;
}

@keyframes epicCartFeedbackToast {
    0% {
        opacity: 0;
        transform: translate3d(18px, 12px, 0) scale(0.98);
    }

    10%,
    82% {
        opacity: 1;
        transform: translate3d(0, 0, 0) scale(1);
    }

    100% {
        opacity: 0;
        transform: translate3d(18px, 12px, 0) scale(0.98);
    }
}

@keyframes cartCheckoutPulse {
    0%, 100% {
        transform: scaleY(.55);
        opacity: .48;
    }

    50% {
        transform: scaleY(1);
        opacity: 1;
    }
}

.account-page-body .ambient-glow,
.account-page-body .summer-icon-fall,
.account-page-body .activity-popup {
    display: none !important;
}

.account-page-body .account-page-section > .epic-home-subnav {
    margin: -28px 0 34px;
}

@media (max-width: 767.98px) {
.account-page-body .account-page-section > .epic-home-subnav {
        margin: 0 0 18px;
    }
}

@media (max-width: 767.98px) {
.storefront-cart-feedback {
        right: 14px;
        bottom: 14px;
        width: calc(100vw - 28px);
    }
}

.epic-product-body .ambient-glow,
.epic-product-body .summer-icon-fall,
.epic-product-body .activity-popup,
.epic-product-body .header-wrapper {
    display: none;
}

.epic-product-body .page-shell {
    min-height: 100vh;
    background: transparent;
}

.epic-product-storefront-nav .epic-home-subnav {
    margin-bottom: 18px;
}

@media (max-width: 767.98px) {
.epic-product-storefront-nav .epic-home-subnav {
        margin: 0 0 8px;
    }

.epic-product-body .product-summary-mobile .product-summary-cover-frame .steam-activation-corner-label {
        position: absolute;
        top: 0;
        left: -4px;
        z-index: 3;
        max-width: calc(100% + 4px);
    }
}

@media (max-width: 767.98px) {
.epic-home-body .epic-weekly-section {
        margin-top: 44px;
        padding-inline: 0;
        overflow: hidden;
    }

.epic-home-body .epic-weekly-grid {
        display: flex;
        grid-template-columns: none;
        gap: 14px;
        overflow-x: auto;
        overflow-y: hidden;
        padding: 0 max(16px, env(safe-area-inset-right)) 8px max(16px, env(safe-area-inset-left));
        scroll-padding-inline: max(16px, env(safe-area-inset-left));
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-x: contain;
        touch-action: pan-x;
    }

.epic-home-body .epic-weekly-grid::-webkit-scrollbar {
        display: none;
    }

.epic-home-body .epic-weekly-card {
        flex: 0 0 min(82vw, 340px);
        width: min(82vw, 340px);
        min-width: 0;
        gap: 14px;
        scroll-snap-align: start;
    }

.epic-home-body .epic-weekly-media {
        border-radius: 8px;
    }

.epic-home-body .epic-weekly-body {
        gap: 10px;
    }

.epic-home-body .epic-weekly-body h3 {
        font-size: clamp(16px, 4.5vw, 18px);
        font-weight: 600;
        line-height: 1.22;
    }

.epic-home-body .epic-weekly-price {
        gap: 8px;
        font-size: 15px;
    }
}

@media (max-width: 767.98px) {
.epic-home-body .epic-sale-section,
    .epic-home-body .epic-sale-section--savings,
    .epic-home-body .epic-weekly-section,
    .epic-home-body .epic-ranking-section {
        margin-top: 38px;
    }

.epic-home-body .epic-sale-heading-link {
        font-size: 17px;
        font-weight: 600;
        line-height: 1.2;
    }

.epic-home-body .epic-sale-layout {
        gap: 16px;
    }

.epic-home-body .epic-sale-grid {
        grid-auto-columns: clamp(286px, calc(100vw - 96px), 360px);
        gap: 16px 20px;
        padding: 14px 12px 16px;
        border-radius: 12px;
    }

.epic-home-body .epic-sale-item {
        min-height: 104px;
        grid-template-columns: 136px minmax(0, 1fr);
        gap: 11px;
    }

.epic-home-body .epic-sale-media {
        width: 136px;
        height: 96px;
        border-radius: 7px;
    }

.epic-home-body .epic-sale-save {
        top: 9px;
        left: 110px;
        width: 23px;
        height: 23px;
        font-size: 12px;
    }

.epic-home-body .epic-sale-copy {
        gap: 8px;
        align-content: center;
    }

.epic-home-body .epic-sale-copy strong {
        font-size: 14px;
        font-weight: 500;
        line-height: 1.23;
        -webkit-line-clamp: 2;
    }

.epic-home-body .epic-sale-price {
        gap: 7px;
        font-size: 13px;
        font-weight: 400;
        line-height: 1.22;
    }

.epic-home-body .epic-sale-discount {
        min-height: 22px;
        padding-inline: 8px;
        font-size: 12px;
        font-weight: 700;
    }

.epic-home-body .epic-ranking-grid {
        grid-auto-columns: clamp(250px, calc(100vw - 96px), 360px);
        padding-bottom: 8px;
    }

.epic-home-body .epic-ranking-column {
        padding: 0 18px;
    }

.epic-home-body .epic-ranking-heading {
        min-height: 42px;
        margin-bottom: 14px;
        gap: 10px;
    }

.epic-home-body .epic-ranking-heading span {
        font-size: 18px;
        font-weight: 600;
        line-height: 1.18;
    }

.epic-home-body .epic-ranking-heading i {
        font-size: 21px;
    }

.epic-home-body .epic-ranking-list {
        gap: 16px;
    }

.epic-home-body .epic-ranking-item {
        min-height: 74px;
        grid-template-columns: 58px minmax(0, 1fr);
        gap: 13px;
    }

.epic-home-body .epic-ranking-item img {
        width: 58px;
        border-radius: 6px;
    }

.epic-home-body .epic-ranking-copy {
        gap: 6px;
    }

.epic-home-body .epic-ranking-copy strong {
        font-size: 13px;
        font-weight: 500;
        line-height: 1.23;
    }

.epic-home-body .epic-ranking-price,
    .epic-home-body .epic-ranking-muted {
        font-size: 12.5px;
        font-weight: 400;
        line-height: 1.24;
    }

.epic-home-body .epic-ranking-discount {
        min-height: 20px;
        padding-inline: 7px;
        font-size: 11px;
        font-weight: 700;
    }

.epic-home-body .epic-weekly-grid {
        gap: 12px;
        padding-bottom: 6px;
    }

.epic-home-body .epic-weekly-card {
        flex-basis: min(72vw, 280px);
        width: min(72vw, 280px);
        gap: 10px;
    }

.epic-home-body .epic-weekly-body {
        gap: 7px;
    }

.epic-home-body .epic-weekly-body h3 {
        font-size: 14px;
        font-weight: 500;
        line-height: 1.25;
    }

.epic-home-body .epic-weekly-price {
        gap: 6px;
        font-size: 13px;
        line-height: 1.22;
    }

.epic-home-body .epic-weekly-price strong {
        font-weight: 500;
    }
}

@media (max-width: 374.98px) {
.epic-home-body .epic-sale-grid {
        grid-auto-columns: clamp(274px, calc(100vw - 82px), 326px);
        gap: 14px 18px;
        padding-inline: 10px;
    }

.epic-home-body .epic-sale-item {
        grid-template-columns: 124px minmax(0, 1fr);
        gap: 11px;
    }

.epic-home-body .epic-sale-media {
        width: 124px;
        height: 88px;
    }

.epic-home-body .epic-sale-save {
        left: 100px;
    }

.epic-home-body .epic-ranking-grid {
        grid-auto-columns: clamp(238px, calc(100vw - 82px), 320px);
    }

.epic-home-body .epic-ranking-column {
        padding-inline: 16px;
    }

.epic-home-body .epic-weekly-card {
        flex-basis: min(76vw, 260px);
        width: min(76vw, 260px);
    }
}
