:root {
    color-scheme: dark;

    --bg: #07070c;
    --panel: #100b18;
    --panel2: #151020;
    --border: rgba(194, 83, 255, .24);
    --text: #ffffff;
    --muted: #a49bad;
    --purple: #b84cff;
}

* {
    box-sizing: border-box;
}

html,
body {
    margin: 0;
    min-height: 100%;
}

body {
    background:
        radial-gradient(
            circle at 80% 20%,
            rgba(113, 21, 120, .18),
            transparent 34rem
        ),
        radial-gradient(
            circle at 8% 55%,
            rgba(71, 37, 145, .12),
            transparent 30rem
        ),
        var(--bg);

    color: var(--text);

    font-family:
        Inter,
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;
}

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

.arcade-topbar {
    min-height: 78px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    padding:
        0 max(
            24px,
            calc((100vw - 1320px) / 2)
        );

    border-bottom:
        1px solid rgba(255,255,255,.07);

    background:
        rgba(5,5,10,.88);

    backdrop-filter:
        blur(16px);
}

.arcade-logo {
    display: flex;
    flex-direction: column;

    gap: 2px;
}

.arcade-logo strong {
    font-size: 20px;
    font-weight: 950;
    letter-spacing: .05em;
}

.arcade-logo span {
    color: var(--purple);

    font-size: 10px;
    font-weight: 900;
    letter-spacing: .17em;
}

.arcade-back {
    min-height: 42px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 0 16px;

    border:
        1px solid var(--border);

    border-radius: 10px;

    background:
        rgba(181,74,255,.06);

    font-size: 12px;
    font-weight: 900;
}

.arcade-back:hover {
    background:
        rgba(181,74,255,.13);
}

.arcade-shell {
    width:
        min(
            1320px,
            calc(100% - 44px)
        );

    margin: 0 auto;

    padding:
        52px 0 90px;
}

.arcade-title {
    margin-bottom: 28px;
}

.arcade-title p {
    margin: 0 0 7px;

    color: var(--purple);

    font-size: 11px;
    font-weight: 900;
    letter-spacing: .16em;
}

.arcade-title h1 {
    margin: 0;

    font-size:
        clamp(
            42px,
            6vw,
            68px
        );

    line-height: 1;
}

.game-grid {
    display: grid;

    grid-template-columns:
        repeat(
            3,
            minmax(0, 1fr)
        );

    gap: 18px;
}

.game-card {
    min-height: 240px;

    display: flex;
    flex-direction: column;

    position: relative;

    padding: 22px;

    overflow: hidden;

    border:
        1px solid var(--border);

    border-radius: 18px;

    background:
        linear-gradient(
            145deg,
            rgba(181,74,255,.10),
            rgba(255,255,255,.015)
        );

    transition:
        transform .16s ease,
        border-color .16s ease,
        background .16s ease;
}

.game-card:hover {
    transform:
        translateY(-4px);

    border-color:
        rgba(194,83,255,.55);

    background:
        linear-gradient(
            145deg,
            rgba(181,74,255,.17),
            rgba(255,255,255,.025)
        );
}

.game-icon {
    width: 54px;
    height: 54px;

    display: grid;
    place-items: center;

    margin-bottom: 26px;

    border:
        1px solid rgba(181,74,255,.3);

    border-radius: 14px;

    background:
        rgba(181,74,255,.1);

    font-size: 27px;
}

.game-info {
    flex: 1;
}

.game-type {
    color: var(--purple);

    font-size: 10px;
    font-weight: 900;
    letter-spacing: .14em;
}

.game-info h2 {
    margin:
        7px 0 8px;

    font-size: 25px;
}

.game-info p {
    margin: 0;

    max-width: 340px;

    color: var(--muted);

    font-size: 14px;
    line-height: 1.5;
}

.game-open {
    margin-top: 24px;

    font-size: 12px;
    font-weight: 900;

    color: #e9d1ff;
}

@media (max-width: 900px) {

    .game-grid {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }
}

@media (max-width: 600px) {

    .arcade-topbar {
        padding:
            0 16px;
    }

    .arcade-shell {
        width:
            calc(100% - 26px);

        padding-top:
            34px;
    }

    .game-grid {
        grid-template-columns:
            1fr;
    }

    .arcade-logo strong {
        font-size: 16px;
    }
}