:root {
    --bg: #090711;
    --surface: #11101b;
    --ink: #15131c;
    --muted: #6e6a79;
    --purple: #8458ff;
    --purple-2: #b78cff;
    --lime: #ccff3d;
    --line: #e9e6ef;
    --white: #fff;
    --max: 1180px
}

* {
    box-sizing: border-box
}

html {
    scroll-behavior: smooth
}

body {
    margin: 0;
    background: #fff;
    color: var(--ink);
    font-family: Manrope, Arial, sans-serif;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased
}

body.menu-open {
    overflow: hidden
}

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

button {
    font: inherit
}

.container {
    width: min(calc(100% - 40px), var(--max));
    margin-inline: auto
}

.skip-link {
    position: fixed;
    z-index: 99;
    top: 12px;
    left: 12px;
    padding: 10px 16px;
    background: #fff;
    transform: translateY(-150%);
    transition: .2s
}

.skip-link:focus {
    transform: none
}

.site-header {
    height: 78px;
    background: rgba(9, 7, 17, .88);
    color: #fff;
    position: absolute;
    z-index: 20;
    top: 0;
    left: 0;
    width: 100%;
    border-bottom: 1px solid rgba(255, 255, 255, .08);
    backdrop-filter: blur(15px)
}

.nav-wrap,
.main-nav {
    display: flex;
    align-items: center
}

.nav-wrap {
    height: 100%;
    justify-content: space-between
}

.brand {
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: "Space Grotesk", sans-serif;
    font-weight: 700;
    letter-spacing: -.04em;
    font-size: 20px
}

.brand-mark {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 9px;
    background: var(--lime);
    color: #0c0a13;
    font-weight: 800;
    transform: skew(-8deg)
}

.brand-accent {
    color: #ae83ff;
    font-size: 12px;
    letter-spacing: .12em
}

.main-nav {
    gap: 34px;
    font-size: 13px;
    font-weight: 700
}

.main-nav a {
    transition: color .2s
}

.main-nav a:hover {
    color: var(--lime)
}

.main-nav .nav-cta {
    border: 1px solid rgba(255, 255, 255, .22);
    padding: 9px 17px;
    border-radius: 99px
}

.menu-button {
    display: none;
    background: none;
    border: 0;
    padding: 6px
}

.menu-button span {
    display: block;
    width: 24px;
    height: 2px;
    background: #fff;
    margin: 5px
}

.hero {
    min-height: 790px;
    background: var(--bg);
    color: #fff;
    position: relative;
    overflow: hidden;
    padding-top: 78px
}

.hero:after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: linear-gradient(rgba(255, 255, 255, .025) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .025) 1px, transparent 1px);
    background-size: 70px 70px;
    mask-image: linear-gradient(to bottom, black, transparent 86%);
    pointer-events: none
}

.orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(2px);
    opacity: .4
}

.orb-one {
    width: 520px;
    height: 520px;
    right: -150px;
    top: 20px;
    background: radial-gradient(circle, #6f39ee 0, rgba(111, 57, 238, .1) 60%, transparent 70%)
}

.orb-two {
    width: 350px;
    height: 350px;
    left: -170px;
    bottom: 0;
    background: radial-gradient(circle, #a7d729 0, transparent 70%);
    opacity: .1
}

.hero-grid {
    position: relative;
    z-index: 2;
    min-height: 630px;
    display: grid;
    grid-template-columns: 1.15fr .7fr;
    align-items: center;
    gap: 90px;
    padding-top: 35px
}

.eyebrow,
.kicker {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .17em
}

.eyebrow {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #d3c7ea
}

.eyebrow span {
    width: 23px;
    height: 2px;
    background: var(--lime)
}

h1,
h2,
h3,
p {
    margin-top: 0
}

h1,
h2 {
    font-family: "Space Grotesk", sans-serif;
    letter-spacing: -.055em;
    line-height: 1.05
}

h1 {
    font-size: clamp(50px, 6vw, 78px);
    margin: 22px 0 25px;
    max-width: 760px
}

h1 em {
    font-style: normal;
    color: var(--purple-2)
}

.hero-lead {
    max-width: 660px;
    color: #b9b4c5;
    font-size: 17px;
    line-height: 1.75
}

.hero-actions {
    display: flex;
    gap: 12px;
    margin: 34px 0 20px
}

.button {
    padding: 14px 22px;
    border-radius: 10px;
    font-weight: 800;
    font-size: 13px;
    display: inline-flex;
    align-items: center;
    gap: 20px;
    transition: .2s
}

.button-primary {
    background: var(--lime);
    color: #0d0b13
}

.button-primary:hover {
    background: #d8ff6c;
    transform: translateY(-2px)
}

.button-ghost {
    border: 1px solid #36313f;
    color: #eee
}

.button-ghost:hover {
    border-color: #8c7da3
}

.age-note {
    font-size: 11px;
    color: #777184
}

.age-note strong {
    display: inline-grid;
    place-items: center;
    color: #c8c2d1;
    border: 1px solid #4e4858;
    width: 32px;
    height: 24px;
    border-radius: 5px;
    margin-right: 8px
}

.score-card {
    background: rgba(24, 20, 35, .86);
    border: 1px solid rgba(255, 255, 255, .11);
    border-radius: 18px;
    padding: 28px;
    box-shadow: 0 35px 80px rgba(0, 0, 0, .35)
}

.score-top,
.score-main,
.score-foot {
    display: flex;
    justify-content: space-between;
    align-items: center
}

.score-top {
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .15em;
    color: #91899e
}

.status {
    letter-spacing: 0;
    color: #b6b0c0
}

.status i {
    display: inline-block;
    width: 6px;
    height: 6px;
    background: #6de590;
    border-radius: 50%;
    margin-right: 6px;
    box-shadow: 0 0 0 4px rgba(109, 229, 144, .1)
}

.score-main {
    padding: 22px 0;
    border-bottom: 1px solid #302b3b
}

.score-number {
    font: 700 58px/1 "Space Grotesk"
}

.score-number small {
    font-size: 16px;
    color: #706a7d
}

.stars {
    color: #b783ff;
    letter-spacing: 3px;
    font-size: 14px
}

.stars span {
    color: #544d61
}

.score-main p {
    font-size: 11px;
    color: #8e8799;
    margin: 3px 0 0
}

.score-bars {
    padding: 22px 0 12px
}

.score-bars div {
    position: relative;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 10px;
    margin-bottom: 19px;
    font-size: 11px;
    color: #b5afbf
}

.score-bars b {
    color: #fff
}

.score-bars i {
    grid-column: 1/-1;
    height: 3px;
    background: #373141;
    position: relative
}

.score-bars i:after {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: var(--score);
    background: linear-gradient(90deg, var(--purple), var(--lime))
}

.score-foot {
    margin: 8px -28px -28px;
    padding: 17px 28px;
    border-radius: 0 0 18px 18px;
    background: rgba(255, 255, 255, .025);
    font-size: 10px;
    color: #777181
}

.score-foot strong {
    color: #b9b4c1
}

.trust-strip {
    position: absolute;
    z-index: 3;
    bottom: 0;
    width: 100%;
    border-top: 1px solid rgba(255, 255, 255, .08);
    background: rgba(255, 255, 255, .025)
}

.trust-grid {
    height: 82px;
    display: grid;
    grid-template-columns: repeat(4, 1fr)
}

.trust-grid>div {
    display: flex;
    gap: 13px;
    align-items: center;
    border-right: 1px solid rgba(255, 255, 255, .07);
    padding-left: 25px
}

.trust-grid>div:first-child {
    padding-left: 0
}

.trust-grid>div:last-child {
    border: 0
}

.trust-grid>div>span {
    color: var(--lime);
    font-weight: 800
}

.trust-grid p {
    margin: 0
}

.trust-grid strong,
.trust-grid small {
    display: block
}

.trust-grid strong {
    font-size: 11px
}

.trust-grid small {
    font-size: 9px;
    color: #797381
}

.section {
    padding: 105px 0
}

.section-heading {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: end;
    margin-bottom: 48px
}

.kicker {
    color: #7c48f0;
    display: block;
    margin-bottom: 17px
}

.section h2 {
    font-size: clamp(36px, 4vw, 52px);
    margin-bottom: 0
}

.section-heading p {
    color: var(--muted);
    font-size: 14px;
    margin: 0;
    max-width: 540px
}

.feature-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px
}

.feature-card {
    border: 1px solid var(--line);
    padding: 32px;
    border-radius: 14px;
    position: relative;
    transition: .25s
}

.feature-card:hover {
    border-color: #cfc3ea;
    box-shadow: 0 18px 45px rgba(39, 25, 67, .08);
    transform: translateY(-4px)
}

.feature-card>small {
    position: absolute;
    top: 28px;
    right: 28px;
    color: #aaa6af;
    font-size: 10px
}

.feature-icon {
    display: grid;
    place-items: center;
    width: 45px;
    height: 45px;
    border-radius: 12px;
    background: #eee9ff;
    color: #7240e7;
    font-size: 20px;
    margin-bottom: 48px
}

.feature-card h3 {
    font-family: "Space Grotesk";
    font-size: 21px;
    margin-bottom: 12px
}

.feature-card p {
    font-size: 13px;
    color: var(--muted);
    min-height: 65px
}

.feature-card a {
    font-size: 11px;
    font-weight: 800;
    color: #6336d5
}

.section-dark {
    background: var(--surface);
    color: #fff;
    position: relative;
    overflow: hidden
}

.section-dark:before {
    content: "29";
    position: absolute;
    right: -30px;
    bottom: -180px;
    font: 700 400px/1 "Space Grotesk";
    color: rgba(255, 255, 255, .018)
}

.verdict-grid {
    position: relative;
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 110px
}

.verdict-copy>p {
    color: #aaa4b1;
    font-size: 14px;
    line-height: 1.8;
    margin: 28px 0
}

.reviewer {
    display: flex;
    gap: 12px;
    align-items: center
}

.reviewer>span {
    width: 38px;
    height: 38px;
    background: #2c2539;
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: var(--lime);
    font-weight: 800;
    font-size: 11px
}

.reviewer p {
    margin: 0
}

.reviewer strong,
.reviewer small {
    display: block;
    font-size: 10px
}

.reviewer small {
    color: #716b79
}

.pros-cons {
    background: #181522;
    border: 1px solid #2b2734;
    border-radius: 16px;
    display: grid;
    grid-template-columns: 1fr 1fr
}

.pros-cons>div {
    padding: 34px
}

.pros-cons>div+div {
    border-left: 1px solid #2b2734
}

.pros-cons h3 {
    font-size: 13px;
    margin-bottom: 23px
}

.pros-cons h3 span {
    display: inline-grid;
    place-items: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    margin-right: 8px
}

.positive {
    background: rgba(204, 255, 61, .12);
    color: var(--lime)
}

.negative {
    background: rgba(255, 112, 139, .12);
    color: #ff708b
}

.pros-cons ul {
    list-style: none;
    margin: 0;
    padding: 0
}

.pros-cons li {
    font-size: 12px;
    color: #aaa4b1;
    padding: 10px 0 10px 20px;
    position: relative;
    border-bottom: 1px solid #24202d
}

.pros-cons li:before {
    content: "";
    position: absolute;
    left: 0;
    top: 17px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #7660ad
}

.games-layout {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    align-items: center;
    gap: 90px
}

.games-copy>p {
    font-size: 14px;
    color: var(--muted);
    margin: 25px 0 36px
}

.stat-row {
    display: flex;
    border-top: 1px solid var(--line);
    padding-top: 28px
}

.stat-row div {
    padding-right: 28px;
    margin-right: 28px;
    border-right: 1px solid var(--line)
}

.stat-row div:last-child {
    border: 0;
    margin: 0
}

.stat-row strong,
.stat-row span {
    display: block
}

.stat-row strong {
    font: 700 22px "Space Grotesk"
}

.stat-row span {
    font-size: 9px;
    color: #99949f
}

.game-cards {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px
}

.game-card {
    min-height: 145px;
    border-radius: 14px;
    padding: 25px;
    color: #fff;
    display: flex;
    gap: 20px;
    align-items: flex-end;
    position: relative;
    overflow: hidden
}

.game-card:after {
    content: "";
    position: absolute;
    width: 130px;
    height: 130px;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 50%;
    top: -70px;
    right: -25px
}

.game-card>span {
    font: 700 38px "Space Grotesk";
    opacity: .75
}

.game-card div {
    position: relative;
    z-index: 1
}

.game-card small {
    font-size: 8px;
    letter-spacing: .15em;
    opacity: .65
}

.game-card h3 {
    margin: 3px 0;
    font: 700 18px "Space Grotesk"
}

.game-card p {
    font-size: 9px;
    opacity: .7;
    margin: 0
}

.game-purple {
    background: linear-gradient(135deg, #6c35d8, #aa75ff)
}

.game-blue {
    background: linear-gradient(135deg, #173f7a, #307fd6)
}

.game-orange {
    background: linear-gradient(135deg, #9a381b, #ed8749)
}

.game-green {
    background: linear-gradient(135deg, #16645d, #3aa996)
}

.soft-section {
    background: #f6f4f9;
    overflow: hidden
}

.mobile-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 130px;
    align-items: center
}

.phone {
    width: 270px;
    height: 530px;
    border: 8px solid #1b1821;
    border-radius: 40px;
    margin: auto;
    box-shadow: 35px 40px 80px rgba(54, 32, 94, .18);
    background: #0e0c16;
    padding: 9px;
    transform: rotate(-3deg)
}

.phone-top {
    position: absolute;
    width: 85px;
    height: 20px;
    background: #1b1821;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 0 0 14px 14px
}

.phone-screen {
    height: 100%;
    border-radius: 26px;
    background: #100c1c;
    padding: 26px 12px 12px;
    color: #fff
}

.mini-brand {
    font-size: 12px;
    color: var(--lime);
    margin-bottom: 18px
}

.mini-brand b {
    color: #fff
}

.mini-banner {
    height: 150px;
    border-radius: 14px;
    background: linear-gradient(135deg, #4e1bb0, #9c58f7);
    display: flex;
    align-items: center;
    justify-content: space-around;
    font: 700 19px/1.15 "Space Grotesk"
}

.mini-banner i {
    font: 700 58px "Space Grotesk";
    color: rgba(255, 255, 255, .17)
}

.mini-title {
    width: 60px;
    height: 6px;
    border-radius: 5px;
    background: #ddd;
    margin: 25px 0 12px
}

.mini-games {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 7px
}

.mini-games i {
    height: 100px;
    border-radius: 8px;
    background: linear-gradient(#6931cc, #33224c)
}

.mini-games i:nth-child(2) {
    background: linear-gradient(#297898, #1e3347)
}

.mini-games i:nth-child(3) {
    background: linear-gradient(#b64c43, #54302f)
}

.mini-nav {
    display: flex;
    justify-content: space-around;
    margin-top: 32px;
    color: #8e849d;
    font-size: 13px
}

.mobile-copy>p {
    font-size: 14px;
    color: var(--muted);
    margin: 25px 0 30px
}

.check-list {
    list-style: none;
    padding: 0;
    margin: 0
}

.check-list li {
    display: flex;
    gap: 17px;
    margin: 19px 0
}

.check-list li>span {
    display: grid;
    place-items: center;
    width: 27px;
    height: 27px;
    flex: 0 0 27px;
    border-radius: 50%;
    background: #e8ddff;
    color: #7342de;
    font-weight: 800;
    font-size: 12px
}

.check-list strong {
    font-size: 12px
}

.check-list p {
    font-size: 11px;
    color: #8f8a95;
    margin: 2px 0
}

.payment-table {
    border: 1px solid var(--line);
    border-radius: 14px;
    overflow: auto
}

table {
    border-collapse: collapse;
    width: 100%;
    min-width: 720px;
    font-size: 12px
}

th,
td {
    text-align: left;
    padding: 20px 25px;
    border-bottom: 1px solid var(--line)
}

th {
    font-size: 9px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #97929c;
    background: #faf9fb
}

tbody tr:last-child td {
    border-bottom: 0
}

tbody tr:hover {
    background: #fbfaff
}

.pay-icon {
    width: 30px;
    height: 30px;
    border: 1px solid #ded9e6;
    border-radius: 8px;
    display: inline-grid;
    place-items: center;
    margin-right: 10px;
    font-weight: 800;
    color: #683bdd;
    font-size: 16px;
    line-height: 1
}

.safety-section {
    padding-top: 20px
}

.safety-card {
    background: #f2edff;
    border: 1px solid #dfd3fa;
    padding: 37px 40px;
    border-radius: 18px;
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 30px;
    align-items: center
}

.safety-icon {
    width: 65px;
    height: 65px;
    border: 2px solid #7243db;
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-weight: 800;
    color: #6e3bdc
}

.safety-card h2 {
    font-size: 28px;
    margin-bottom: 8px
}

.safety-card .kicker {
    margin-bottom: 7px
}

.safety-card p {
    font-size: 12px;
    color: #716c79;
    max-width: 650px;
    margin: 0
}

.safety-links {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.safety-links a {
    font-size: 10px;
    font-weight: 800;
    padding: 9px 14px;
    background: #fff;
    border-radius: 7px
}

.faq-section {
    padding-top: 90px
}

.faq-grid {
    display: grid;
    grid-template-columns: .7fr 1.3fr;
    gap: 110px
}

.faq-grid>div:first-child p {
    font-size: 13px;
    color: var(--muted);
    margin-top: 25px;
    max-width: 350px
}

.accordion details {
    border-bottom: 1px solid var(--line)
}

.accordion summary {
    cursor: pointer;
    list-style: none;
    padding: 21px 0;
    font-size: 13px;
    font-weight: 700;
    display: flex;
    justify-content: space-between
}

.accordion summary::-webkit-details-marker {
    display: none
}

.accordion summary span {
    font-size: 20px;
    font-weight: 400;
    transition: .2s
}

.accordion details[open] summary span {
    transform: rotate(45deg)
}

.accordion details p {
    font-size: 12px;
    color: var(--muted);
    padding-right: 45px;
    margin: -5px 0 20px
}

.site-footer {
    background: #090711;
    color: #fff;
    padding-top: 58px
}

.footer-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 35px
}

.footer-top>p {
    font-size: 13px;
    color: #7f7889;
    margin: 0
}

.footer-nav {
    display: flex;
    gap: 25px;
    font-size: 12px;
    font-weight: 700
}

.footer-note {
    border-top: 1px solid #24202c;
    border-bottom: 1px solid #24202c;
    padding-top: 24px;
    padding-bottom: 24px
}

.footer-note p {
    font-size: 11px;
    line-height: 1.8;
    color: #746e7c;
    margin: 0;
    max-width: 970px
}

.footer-bottom {
    display: flex;
    justify-content: space-between;
    padding-top: 20px;
    padding-bottom: 20px;
    font-size: 11px;
    color: #5f5968
}

.reveal {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity .65s ease, transform .65s ease
}

.reveal.visible {
    opacity: 1;
    transform: none
}

@media (prefers-reduced-motion:reduce) {
    html {
        scroll-behavior: auto
    }

    .reveal {
        opacity: 1;
        transform: none;
        transition: none
    }
}

@media (max-width:900px) {
    .main-nav {
        position: fixed;
        inset: 78px 0 auto;
        background: #100d19;
        padding: 25px 20px;
        display: none;
        flex-direction: column;
        align-items: flex-start
    }

    .main-nav.open {
        display: flex
    }

    .menu-button {
        display: block
    }

    .hero-grid {
        grid-template-columns: 1fr;
        gap: 35px;
        padding-top: 90px;
        padding-bottom: 130px
    }

    .hero {
        min-height: auto
    }

    .score-card {
        max-width: 520px;
        width: 100%
    }

    .trust-grid {
        grid-template-columns: 1fr 1fr;
        height: auto;
        padding: 10px 0
    }

    .trust-grid>div {
        padding: 12px !important;
        border: 0
    }

    .section-heading,
    .verdict-grid,
    .games-layout,
    .mobile-grid,
    .faq-grid {
        grid-template-columns: 1fr;
        gap: 50px
    }

    .feature-grid {
        grid-template-columns: 1fr 1fr
    }

    .pros-cons {
        max-width: 650px
    }

    .games-copy {
        max-width: 600px
    }

    .game-cards {
        max-width: 700px
    }

    .phone {
        order: 2
    }

    .safety-card {
        grid-template-columns: auto 1fr
    }

    .safety-links {
        grid-column: 2
    }
}

@media (max-width:600px) {
    .container {
        width: min(calc(100% - 28px), var(--max))
    }

    .site-header {
        height: 68px
    }

    .main-nav {
        inset: 68px 0 auto
    }

    .hero {
        padding-top: 68px
    }

    .hero-grid {
        padding-top: 70px
    }

    .hero-copy h1 {
        font-size: 46px
    }

    .hero-actions {
        align-items: stretch;
        flex-direction: column
    }

    .button {
        justify-content: center
    }

    .trust-strip {
        position: relative
    }

    .trust-grid {
        grid-template-columns: 1fr
    }

    .trust-grid>div {
        border-bottom: 1px solid rgba(255, 255, 255, .06)
    }

    .section {
        padding: 75px 0
    }

    .section-heading {
        gap: 25px
    }

    .feature-grid {
        grid-template-columns: 1fr
    }

    .feature-card p {
        min-height: auto
    }

    .verdict-grid {
        gap: 40px
    }

    .pros-cons {
        grid-template-columns: 1fr
    }

    .pros-cons>div+div {
        border-left: 0;
        border-top: 1px solid #2b2734
    }

    .games-layout {
        gap: 45px
    }

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

    .game-card {
        min-height: 125px
    }

    .stat-row div {
        padding-right: 15px;
        margin-right: 15px
    }

    .stat-row strong {
        font-size: 18px
    }

    .mobile-grid {
        gap: 45px
    }

    .phone {
        transform: scale(.9) rotate(-3deg);
        margin-top: -20px;
        margin-bottom: -30px
    }

    .safety-card {
        grid-template-columns: 1fr;
        padding: 28px
    }

    .safety-links {
        grid-column: auto
    }

    .faq-grid {
        gap: 30px
    }

    .footer-top {
        align-items: flex-start;
        flex-direction: column;
        gap: 25px
    }

    .footer-nav {
        flex-wrap: wrap
    }

    .footer-bottom {
        gap: 10px;
        flex-direction: column
    }

    .section h2 {
        font-size: 36px
    }
}

/* Interactive enhancement layer */
.safety-section {
    position: relative;
    overflow: hidden;
    background: radial-gradient(circle at 18% 30%, rgba(132, 88, 255, .14), transparent 32%), radial-gradient(circle at 82% 70%, rgba(204, 255, 61, .1), transparent 28%)
}

.safety-card {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: linear-gradient(135deg, rgba(255, 255, 255, .72), rgba(237, 229, 255, .42));
    border: 1px solid rgba(255, 255, 255, .86);
    box-shadow: 0 24px 65px rgba(69, 43, 119, .14), inset 0 1px 0 rgba(255, 255, 255, .95), inset 0 -1px 0 rgba(132, 88, 255, .12);
    backdrop-filter: blur(18px) saturate(145%);
    -webkit-backdrop-filter: blur(18px) saturate(145%)
}

.safety-card:before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: -70% -30%;
    background: linear-gradient(115deg, transparent 38%, rgba(255, 255, 255, .62) 48%, transparent 58%);
    transform: translateX(-55%) rotate(4deg);
    animation: glass-shine 6s ease-in-out infinite
}

.safety-card:after {
    content: "";
    position: absolute;
    z-index: -2;
    width: 190px;
    height: 190px;
    right: -55px;
    top: -90px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(204, 255, 61, .28), transparent 68%)
}

@keyframes glass-shine {

    0%,
    55% {
        transform: translateX(-55%) rotate(4deg)
    }

    85%,
    100% {
        transform: translateX(55%) rotate(4deg)
    }
}

@media (prefers-reduced-motion:reduce) {
    .safety-card:before {
        animation: none;
        opacity: .35
    }
}

.safety-card {
    grid-template-columns: 180px minmax(0, 1fr) 180px;
    gap: 32px
}

.safety-icon {
    justify-self: center
}

.safety-card>div:nth-child(2) {
    text-align: center
}

.safety-card>div:nth-child(2) p {
    margin-inline: auto
}

.safety-links {
    width: 180px;
    justify-self: center
}

.safety-links a {
    text-align: center
}

@media (max-width:900px) {
    .safety-card {
        grid-template-columns: 90px minmax(0, 1fr);
        gap: 24px
    }

    .safety-card>div:nth-child(2) {
        text-align: left
    }

    .safety-card>div:nth-child(2) p {
        margin-inline: 0
    }

    .safety-links {
        grid-column: 2;
        width: 100%;
        flex-direction: row;
        flex-wrap: wrap;
        justify-self: stretch
    }
}

@media (max-width:600px) {
    .safety-card {
        grid-template-columns: 1fr;
        text-align: center
    }

    .safety-icon {
        margin-inline: auto
    }

    .safety-card>div:nth-child(2) {
        text-align: center
    }

    .safety-card>div:nth-child(2) p {
        margin-inline: auto
    }

    .safety-links {
        grid-column: 1;
        flex-direction: column
    }

    .safety-links a {
        text-align: center
    }
}

.accordion details p {
    color: var(--purple)
}

.site-header {
    transition: box-shadow .25s, background .25s
}

.site-header.scrolled {
    position: fixed;
    background: rgba(9, 7, 17, .96);
    box-shadow: 0 8px 35px rgba(0, 0, 0, .25);
    animation: header-in .25s ease
}

@keyframes header-in {
    from {
        transform: translateY(-100%)
    }

    to {
        transform: none
    }
}

.reading-progress {
    position: fixed;
    z-index: 100;
    inset: 0 0 auto;
    height: 3px;
    pointer-events: none
}

.reading-progress span {
    display: block;
    width: 0;
    height: 100%;
    background: linear-gradient(90deg, var(--purple), var(--lime))
}

.main-nav a {
    position: relative
}

.main-nav a.active {
    color: var(--lime)
}

.main-nav a.active:not(.nav-cta):after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -10px;
    height: 2px;
    background: var(--lime)
}

.score-bars i:after {
    width: var(--animated-score, 0);
    transition: width 1.1s cubic-bezier(.2, .8, .2, 1)
}

.game-browser {
    min-width: 0
}

.game-filters {
    display: flex;
    gap: 7px;
    flex-wrap: wrap;
    margin-bottom: 14px
}

.game-filters button {
    border: 1px solid var(--line);
    background: #fff;
    color: #77717e;
    border-radius: 99px;
    padding: 8px 14px;
    font: 700 9px Manrope;
    cursor: pointer;
    transition: .2s
}

.game-filters button:hover,
.game-filters button.active {
    background: #17131f;
    border-color: #17131f;
    color: #fff
}

.game-card {
    transition: opacity .25s, transform .25s
}

.game-card.filtered-out {
    display: none
}

.game-card.filtering {
    opacity: 0;
    transform: scale(.96)
}

.back-to-top {
    position: fixed;
    z-index: 15;
    right: 22px;
    bottom: 22px;
    width: 44px;
    height: 44px;
    border: 0;
    border-radius: 50%;
    background: var(--lime);
    color: #100d17;
    font-size: 19px;
    font-weight: 800;
    box-shadow: 0 10px 28px rgba(0, 0, 0, .2);
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transform: translateY(12px);
    transition: .25s
}

.back-to-top.visible {
    opacity: 1;
    visibility: visible;
    transform: none
}

.back-to-top:hover {
    transform: translateY(-3px)
}

/* ============================================
   PHONE MOCKUP — animation additions only
   (append this AFTER your "Interactive enhancement layer"
   block, and DELETE everything you previously appended
   below that — do NOT redefine .phone/.mini-games/.mini-nav
   base styles, your original CSS already has them)
   ============================================ */

.mini-banner {
    background-size: 200% 200%;
    animation: bannerFlow 5s ease infinite;
}

@keyframes bannerFlow {
    0% {
        background-position: 0% 50%;
    }

    50% {
        background-position: 100% 50%;
    }

    100% {
        background-position: 0% 50%;
    }
}

.mini-banner span {
    transition: opacity 0.4s ease;
}

.mini-banner span.fade {
    opacity: 0;
}

.mini-games i.active {
    transform: translateY(-6px) scale(1.05);
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.35);
}

.mini-nav b {
    transition: color 0.3s ease, transform 0.3s ease;
}

.mini-nav b.active {
    color: var(--lime);
    transform: scale(1.15);
}

.mini-games i {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.mini-game-icon {
    font-size: 26px;
    line-height: 1;
}

.mini-games i small {
    font-size: 9px;
    color: rgba(255, 255, 255, 0.65);
    font-weight: 600;
    letter-spacing: 0.04em;
}

/* Button shimmer sweep effect */
.button {
    position: relative;
    overflow: hidden;
}

.button::after {
    content: "";
    position: absolute;
    top: 0;
    left: -75%;
    width: 50%;
    height: 100%;
    background: linear-gradient(120deg,
            transparent 0%,
            rgba(255, 255, 255, 0.35) 50%,
            transparent 100%);
    transform: skewX(-20deg);
    transition: left 0.6s ease;
}

.button:hover::after {
    left: 130%;
}

/* Safety banner gentle pulse animation */
.safety-card {
    animation: safetyPulse 2.4s ease-in-out infinite;
}

@keyframes safetyPulse {

    0%,
    100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.015);
    }
}

@media (prefers-reduced-motion: reduce) {
    .safety-card {
        animation: none;
    }
}

/* Keep the glass banner, without a coloured section background. */
.safety-section {
    background: transparent
}

/* Lighter glass treatment for the responsible-play banner. */
.safety-card {
    background: linear-gradient(135deg, rgba(255, 255, 255, .48), rgba(245, 240, 255, .25));
    border: 1px solid rgba(255, 255, 255, .92);
    box-shadow: 0 8px 22px rgba(69, 43, 119, .07), inset 0 1px 0 rgba(255, 255, 255, 1), inset 0 -1px 0 rgba(132, 88, 255, .08);
    backdrop-filter: blur(20px) saturate(150%);
    -webkit-backdrop-filter: blur(20px) saturate(150%)
}

.safety-card:before {
    z-index: 0;
    background: linear-gradient(115deg, transparent 39%, rgba(255, 255, 255, .72) 49%, transparent 59%);
    pointer-events: none
}

.safety-card:after {
    opacity: .55;
    pointer-events: none
}

.safety-card>* {
    position: relative;
    z-index: 1
}

/* Lime glass colour using the existing --lime (#ccff3d). */
.safety-card {
    background: linear-gradient(135deg, rgba(204, 255, 61, .38), rgba(204, 255, 61, .16));
    border-color: rgba(204, 255, 61, .62);
    box-shadow: 0 8px 22px rgba(118, 148, 31, .08), inset 0 1px 0 rgba(255, 255, 255, .82), inset 0 -1px 0 rgba(145, 184, 35, .14)
}

/* Interactive payment rows. */
.payment-table tbody tr {
    position: relative;
    transform-origin: center;
    transition: transform .22s ease, filter .22s ease, background-color .22s ease
}

.payment-table tbody tr:hover {
    z-index: 2;
    transform: scale(1.018);
    background: #fff;
    filter: drop-shadow(0 8px 12px rgba(49, 31, 82, .12))
}

.payment-table tbody tr:hover td {
    border-bottom-color: transparent
}

.payment-table tbody td {
    transition: border-color .22s ease
}

@media (prefers-reduced-motion:reduce) {
    .payment-table tbody tr {
        transition: none
    }

    .payment-table tbody tr:hover {
        transform: none;
        filter: none;
        background: #f4f0ff
    }
}

/* The custom reading-progress bar has been removed. */
.reading-progress {
    display: none
}

/* Responsive payment table without a horizontal scrollbar. */
.payment-table {
    overflow: visible
}

.payment-table table {
    min-width: 0;
    table-layout: fixed
}

.payment-table th,
.payment-table td {
    overflow-wrap: anywhere
}

@media (max-width:700px) {
    .payment-table {
        border: 0;
        overflow: visible
    }

    .payment-table table,
    .payment-table tbody,
    .payment-table tr,
    .payment-table td {
        display: block;
        width: 100%
    }

    .payment-table thead {
        display: none
    }

    .payment-table tbody {
        display: grid;
        gap: 12px
    }

    .payment-table tbody tr {
        padding: 8px 16px;
        background: #fff;
        border: 1px solid var(--line);
        border-radius: 12px;
        box-shadow: 0 5px 16px rgba(49, 31, 82, .05)
    }

    .payment-table tbody tr:hover {
        transform: none
    }

    .payment-table tbody td {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 18px;
        padding: 12px 0;
        text-align: right;
        border-bottom: 1px solid var(--line)
    }

    .payment-table tbody td:last-child {
        border-bottom: 0
    }

    .payment-table tbody td:before {
        flex: 0 0 auto;
        color: #817b88;
        font-size: 9px;
        font-weight: 800;
        letter-spacing: .08em;
        text-align: left;
        text-transform: uppercase
    }

    .payment-table tbody td:nth-child(1):before {
        content: "Method"
    }

    .payment-table tbody td:nth-child(2):before {
        content: "Deposit time"
    }

    .payment-table tbody td:nth-child(3):before {
        content: "Withdrawal"
    }

    .payment-table tbody td:nth-child(4):before {
        content: "Typical fee"
    }
}

.mobile-copy h2 {
    color: var(--lime)
}

.mobile-copy h2 {
    color: inherit
}

.mobile-copy h2 .green-text {
    color: var(--lime)
}

.mobile-copy h2 .green-text {
    display: inline-block;
    padding: .06em .18em .1em;
    border-radius: .18em;
    background: var(--ink);
    color: var(--lime);
    box-shadow: 0 .12em .3em rgba(21, 19, 28, .12)
}

.mobile-copy h2 .green-text {
    position: relative;
    isolation: isolate;
    overflow: hidden
}

.mobile-copy h2 .green-text:after {
    content: "";
    position: absolute;
    z-index: -1;
    inset: -45% auto -45% -55%;
    width: 38%;
    background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .6), transparent);
    transform: skewX(-18deg);
    animation: mobile-glass-shine 3.4s ease-in-out infinite;
    pointer-events: none
}

@keyframes mobile-glass-shine {

    0%,
    35% {
        left: -55%
    }

    75%,
    100% {
        left: 125%
    }
}

@media (prefers-reduced-motion:reduce) {
    .mobile-copy h2 .green-text:after {
        animation: none;
        left: 35%;
        opacity: .25
    }
}

.mobile-copy h2 .green-text {
    line-height: 1;
    vertical-align: .04em;
    padding: .04em .18em .07em
}

/* Clean inline glass shine that does not affect heading alignment. */
.mobile-copy h2 .green-text {
    display: inline;
    padding: 0;
    border-radius: 0;
    background: linear-gradient(105deg, #91b51e 0%, var(--lime) 35%, #fff 48%, var(--lime) 61%, #91b51e 100%);
    background-size: 240% 100%;
    color: transparent;
    line-height: inherit;
    vertical-align: baseline;
    box-shadow: none;
    text-shadow: none;
    -webkit-background-clip: text;
    background-clip: text;
    animation: mobile-text-shine 3.6s ease-in-out infinite;
    overflow: visible;
    isolation: auto
}

.mobile-copy h2 .green-text:after {
    display: none
}

@keyframes mobile-text-shine {

    0%,
    25% {
        background-position: 100% 50%
    }

    75%,
    100% {
        background-position: 0 50%
    }
}

@media (prefers-reduced-motion:reduce) {
    .mobile-copy h2 .green-text {
        animation: none;
        background-position: 50% 50%
    }
}

/* Enlarging hover effect for game cards. */
.game-cards {
    overflow: visible
}

.game-card {
    cursor: pointer;
    transform-origin: center;
    transition: transform .25s cubic-bezier(.2, .8, .2, 1), box-shadow .25s ease, filter .25s ease
}

.game-card:hover {
    z-index: 3;
    transform: scale(1.055) translateY(-4px);
    box-shadow: 0 18px 34px rgba(34, 22, 55, .24);
    filter: saturate(1.12) brightness(1.04)
}

@media (prefers-reduced-motion:reduce) {
    .game-card:hover {
        transform: none;
        box-shadow: 0 8px 20px rgba(34, 22, 55, .16)
    }
}

/* Purple hierarchy for the payments section. */
#payments {
    background: linear-gradient(180deg, #f7f3ff 0%, #eee6ff 100%)
}

#payments .kicker {
    color: #6831df
}

#payments h2 {
    color: #24163f
}

#payments .section-heading>p {
    color: #685d78
}

.payment-table {
    border-color: #d8c9f5;
    background: rgba(255, 255, 255, .68);
    box-shadow: 0 14px 35px rgba(74, 42, 132, .08)
}

.payment-table thead th {
    background: #3b1b70;
    color: #f3edff;
    border-bottom-color: #3b1b70
}

.payment-table thead th:first-child {
    background: #2c1158
}

.payment-table tbody tr {
    background: rgba(255, 255, 255, .78)
}

.payment-table tbody tr:nth-child(even) {
    background: #f1eaff
}

.payment-table tbody td {
    color: #645a70;
    border-bottom-color: #ddd2ef
}

.payment-table tbody td:first-child {
    color: #341864;
    font-weight: 800;
    background: rgba(132, 88, 255, .08)
}

.payment-table .pay-icon {
    border-color: #bba4e8;
    background: #fff;
    color: #6c35d8;
    box-shadow: 0 3px 9px rgba(76, 43, 139, .1)
}

.payment-table tbody tr:hover {
    background: #e6d8ff;
    filter: drop-shadow(0 8px 12px rgba(72, 38, 134, .16))
}

.payment-table tbody tr:hover td:first-child {
    background: rgba(132, 88, 255, .16)
}

@media (max-width:700px) {
    .payment-table {
        background: transparent;
        box-shadow: none
    }

    .payment-table tbody tr,
    .payment-table tbody tr:nth-child(even) {
        background: linear-gradient(135deg, #fff, #f3edff);
        border-color: #d8c9f5
    }

    .payment-table tbody td:first-child {
        margin: -8px -16px 0;
        width: calc(100% + 32px);
        padding: 15px 16px;
        border-radius: 11px 11px 0 0;
        background: #e4d7ff
    }

    .payment-table tbody td:before {
        color: #704ca8
    }
}

.safety-section {
    padding-top: 90px
}

@media (max-width:600px) {
    .safety-section {
        padding-top: 65px
    }
}

.safety-section {
    padding-top: 130px
}

@media (max-width:600px) {
    .safety-section {
        padding-top: 90px
    }
}

/* Clear, high-contrast responsible-play alert. */
.safety-card {
    background: linear-gradient(135deg, rgba(204, 255, 61, .88), rgba(204, 255, 61, .62));
    border: 2px solid #a9d51d;
    box-shadow: 0 7px 18px rgba(70, 91, 14, .09), inset 0 1px 0 rgba(255, 255, 255, .72);
    backdrop-filter: none;
    -webkit-backdrop-filter: none
}

.safety-card:before {
    opacity: .32
}

.safety-card:after {
    display: none
}

.safety-card h2 {
    color: #17131f
}

.safety-card .kicker {
    color: #5424bd
}

.safety-card>div:nth-child(2) p {
    color: #302a38;
    font-weight: 600
}

.safety-icon {
    background: #17131f;
    border-color: #17131f;
    color: var(--lime);
    box-shadow: 0 0 0 5px rgba(23, 19, 31, .1)
}

.safety-links a {
    background: #17131f;
    color: #fff;
    border: 1px solid rgba(255, 255, 255, .12);
    box-shadow: none
}

.safety-links a:hover {
    background: #3d1c73;
    color: var(--lime)
}

.safety-card {
    border: 0
}

.safety-icon {
    background: #fff;
    color: var(--purple);
    border-color: var(--purple);
    box-shadow: 0 0 0 5px rgba(132, 88, 255, .12)
}

.safety-icon {
    font-size: 21px;
    line-height: 1
}

/* Interactive casino phone demo. */
.phone-screen {
    display: flex;
    flex-direction: column;
    overflow: hidden
}

.mini-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px
}

.mini-header .mini-brand {
    display: flex;
    align-items: center;
    gap: 5px;
    margin: 0
}

.mini-header .mini-brand>span {
    display: grid;
    place-items: center;
    width: 20px;
    height: 20px;
    border-radius: 6px;
    background: var(--lime);
    color: #120d1c;
    font-weight: 900
}

.mini-balance {
    text-align: right
}

.mini-balance small,
.mini-balance strong {
    display: block
}

.mini-balance small {
    font-size: 5px;
    letter-spacing: .12em;
    color: #8d829d
}

.mini-balance strong {
    font: 700 12px "Space Grotesk";
    color: var(--lime)
}

.phone-screen .mini-banner {
    position: relative;
    height: 172px;
    flex: 0 0 172px;
    padding: 18px 13px;
    display: block;
    background: radial-gradient(circle at 82% 25%, rgba(204, 255, 61, .26), transparent 27%), linear-gradient(145deg, #42158d, #863de2);
    overflow: hidden
}

.phone-screen .mini-banner>div:first-child small {
    display: block;
    font-size: 5px;
    letter-spacing: .15em;
    color: #d7c3f5
}

.phone-screen .mini-banner>div:first-child span {
    display: block;
    margin-top: 4px;
    font: 700 17px/1.05 "Space Grotesk"
}

.mini-reels {
    display: flex;
    gap: 5px;
    position: absolute;
    right: 12px;
    top: 31px
}

.mini-reels i {
    display: grid;
    place-items: center;
    width: 30px;
    height: 42px;
    border-radius: 7px;
    background: linear-gradient(#fff, #d9cef1);
    box-shadow: inset 0 -4px 8px rgba(60, 25, 105, .18);
    color: #54209e;
    font: 800 15px "Space Grotesk"
}

.mini-reels i.spinning {
    animation: mini-reel-spin .16s linear infinite
}

@keyframes mini-reel-spin {
    50% {
        transform: translateY(3px);
        filter: blur(2px)
    }
}

.mini-spin {
    position: absolute;
    left: 13px;
    right: 13px;
    bottom: 12px;
    height: 31px;
    border: 0;
    border-radius: 8px;
    background: var(--lime);
    color: #15101d;
    font: 900 8px Manrope;
    letter-spacing: .12em;
    cursor: pointer;
    box-shadow: 0 6px 16px rgba(10, 8, 15, .2);
    transition: .18s
}

.mini-spin:hover {
    transform: translateY(-2px);
    background: #dcff77
}

.mini-spin:disabled {
    cursor: wait;
    opacity: .75
}

.mini-tabs {
    display: flex;
    gap: 5px;
    margin: 13px 0 9px
}

.mini-tabs button {
    border: 1px solid #30283d;
    background: transparent;
    color: #82798e;
    border-radius: 99px;
    padding: 5px 10px;
    font: 700 6px Manrope;
    cursor: pointer
}

.mini-tabs button.active {
    border-color: #7544d2;
    background: #7544d2;
    color: #fff
}

.phone-screen .mini-games {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 6px
}

.phone-screen .mini-games button {
    height: 79px;
    padding: 0;
    border: 1px solid transparent;
    border-radius: 9px;
    background: linear-gradient(155deg, #302241, #1e1728);
    color: #fff;
    cursor: pointer;
    overflow: hidden;
    transition: .18s
}

.phone-screen .mini-games button:hover,
.phone-screen .mini-games button.selected {
    transform: translateY(-3px);
    border-color: var(--lime);
    box-shadow: 0 7px 15px rgba(0, 0, 0, .25)
}

.phone-screen .mini-games button>span {
    display: grid;
    place-items: center;
    height: 52px;
    font-size: 23px;
    background: linear-gradient(145deg, rgba(132, 88, 255, .45), transparent)
}

.phone-screen .mini-games button small {
    display: block;
    padding: 6px 2px;
    font-size: 5px;
    color: #cfc6d8
}

.mini-status {
    height: 16px;
    margin: 8px 0 0;
    color: #9b90a8;
    font-size: 6px;
    text-align: center
}

.phone-screen .mini-nav {
    margin: auto -12px -12px;
    padding: 8px 13px 5px;
    border-top: 1px solid #2b2435;
    display: flex;
    justify-content: space-around
}

.phone-screen .mini-nav button {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    border: 0;
    background: transparent;
    color: #6f667a;
    font-size: 12px;
    cursor: pointer
}

.phone-screen .mini-nav button small {
    font-size: 5px
}

.phone-screen .mini-nav button.active {
    color: var(--lime)
}

@media (prefers-reduced-motion:reduce) {
    .mini-reels i.spinning {
        animation: none
    }
}

/* Restore the original compact phone mockup. */
.phone-screen {
    display: block;
    overflow: visible;
    height: 100%;
    padding: 26px 12px 12px
}

.phone-screen .mini-banner {
    position: static;
    display: flex;
    align-items: center;
    justify-content: space-around;
    height: 150px;
    padding: 0;
    overflow: visible;
    background: linear-gradient(135deg, #4e1bb0, #9c58f7)
}

.phone-screen .mini-banner>span {
    font: 700 19px/1.15 "Space Grotesk"
}

.phone-screen .mini-banner>i {
    font: 700 58px "Space Grotesk";
    color: rgba(255, 255, 255, .17)
}

.phone-screen .mini-games {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 7px
}

.phone-screen .mini-games i {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100px;
    border-radius: 8px;
    background: linear-gradient(#6931cc, #33224c);
    font-style: normal;
    transition: transform .25s, box-shadow .25s
}

.phone-screen .mini-games i:nth-child(2) {
    background: linear-gradient(#297898, #1e3347)
}

.phone-screen .mini-games i:nth-child(3) {
    background: linear-gradient(#b64c43, #54302f)
}

.phone-screen .mini-games i.active {
    transform: translateY(-4px) scale(1.04);
    box-shadow: 0 8px 18px rgba(0, 0, 0, .3)
}

.mini-game-icon {
    font-size: 22px
}

.phone-screen .mini-games small {
    margin-top: 6px;
    color: #fff;
    font-size: 6px
}

.phone-screen .mini-nav {
    display: flex;
    justify-content: space-around;
    margin: 32px 0 0;
    padding: 0;
    border: 0;
    color: #8e849d;
    font-size: 13px
}

.phone-screen .mini-nav b {
    transition: color .2s, transform .2s
}

.phone-screen .mini-nav b.active {
    color: var(--lime);
    transform: translateY(-2px)
}

.mini-banner span {
    transition: opacity .4s
}

.mini-banner span.fade {
    opacity: 0
}

.phone-screen .mini-game-icon {
    font-size: 30px;
    line-height: 1
}

.phone-screen .mini-games small {
    margin-top: 9px;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .02em
}

.feature-grid .feature-card:first-child {
    cursor: pointer;
    transition: transform .28s cubic-bezier(.2, .8, .2, 1), box-shadow .28s ease, border-color .28s ease
}

.feature-grid .feature-card:first-child .feature-icon {
    transition: transform .28s cubic-bezier(.2, .8, .2, 1), background-color .28s ease
}

.feature-grid .feature-card:first-child:hover {
    transform: translateY(-10px) scale(1.025);
    border-color: var(--purple);
    box-shadow: 0 22px 42px rgba(78, 42, 145, .15)
}

.feature-grid .feature-card:first-child:hover .feature-icon {
    transform: rotate(-8deg) scale(1.12);
    background: var(--lime)
}

@media (prefers-reduced-motion:reduce) {
    .feature-grid .feature-card:first-child:hover {
        transform: none
    }

    .feature-grid .feature-card:first-child:hover .feature-icon {
        transform: none
    }
}

.feature-grid .feature-card:nth-child(2),
.feature-grid .feature-card:nth-child(3) {
    cursor: pointer;
    transition: transform .28s cubic-bezier(.2, .8, .2, 1), box-shadow .28s ease, border-color .28s ease
}

.feature-grid .feature-card:nth-child(2) .feature-icon,
.feature-grid .feature-card:nth-child(3) .feature-icon {
    transition: transform .28s cubic-bezier(.2, .8, .2, 1), background-color .28s ease
}

.feature-grid .feature-card:nth-child(2):hover,
.feature-grid .feature-card:nth-child(3):hover {
    transform: translateY(-10px) scale(1.025);
    border-color: var(--purple);
    box-shadow: 0 22px 42px rgba(78, 42, 145, .15)
}

.feature-grid .feature-card:nth-child(2):hover .feature-icon {
    transform: rotate(8deg) scale(1.12);
    background: var(--lime)
}

.feature-grid .feature-card:nth-child(3):hover .feature-icon {
    transform: rotate(-8deg) scale(1.12);
    background: var(--lime)
}

@media (prefers-reduced-motion:reduce) {

    .feature-grid .feature-card:nth-child(2):hover,
    .feature-grid .feature-card:nth-child(3):hover {
        transform: none
    }

    .feature-grid .feature-card:nth-child(2):hover .feature-icon,
    .feature-grid .feature-card:nth-child(3):hover .feature-icon {
        transform: none
    }
}

/* Sequential gaming-machine statistics. */
.stat-row strong[data-counter] {
    display: inline-block;
    min-width: 2.8ch;
    color: var(--purple);
    font-variant-numeric: tabular-nums;
    transform-origin: center bottom
}

.stat-row strong[data-counter].rolling {
    animation: counter-roll .14s ease-in-out infinite alternate;
    text-shadow: 0 3px 10px rgba(132, 88, 255, .24)
}

@keyframes counter-roll {
    from {
        transform: translateY(-2px);
        filter: blur(.35px)
    }

    to {
        transform: translateY(2px);
        filter: blur(0)
    }
}

@media (prefers-reduced-motion:reduce) {
    .stat-row strong[data-counter].rolling {
        animation: none
    }
}

.stat-row>div {
    flex: 1;
    min-width: 0
}

.stat-row strong[data-counter] {
    display: block;
    width: 6ch;
    min-width: 6ch;
    text-align: left;
    white-space: nowrap
}

/* Make each feature card's full surface clickable. */
.feature-card>a:after {
    content: "";
    position: absolute;
    z-index: 2;
    inset: 0;
    border-radius: inherit
}

.feature-card:has(a:focus-visible) {
    outline: 3px solid var(--purple);
    outline-offset: 4px
}

.feature-card>a:focus-visible {
    outline: none
}

.mobile-copy h2 .green-text {
    animation-duration: 6.5s
}

.pay-icon-bank svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round
}

/* More visible responsible-play pulse. */
.safety-card {
    animation: safety-banner-pulse 2.6s ease-in-out infinite
}

.safety-icon {
    animation: safety-icon-pulse 2.6s ease-in-out infinite
}

@keyframes safety-banner-pulse {

    0%,
    100% {
        box-shadow: 0 7px 18px rgba(70, 91, 14, .08), 0 0 0 0 rgba(204, 255, 61, 0)
    }

    50% {
        box-shadow: 0 8px 20px rgba(70, 91, 14, .1), 0 0 0 10px rgba(204, 255, 61, .18)
    }
}

@keyframes safety-icon-pulse {

    0%,
    100% {
        transform: scale(1)
    }

    50% {
        transform: scale(1.09)
    }
}

@media (prefers-reduced-motion:reduce) {

    .safety-card,
    .safety-icon {
        animation: none
    }
}

/* Slow breathing rhythm for the responsible-play banner. */
.safety-card {
    animation: safety-breathe 4.8s ease-in-out infinite;
    transform-origin: center
}

.safety-icon {
    animation: safety-icon-breathe 4.8s ease-in-out infinite
}

@keyframes safety-breathe {

    0%,
    100% {
        transform: scale(1);
        box-shadow: 0 6px 16px rgba(70, 91, 14, .07), 0 0 0 0 rgba(204, 255, 61, 0);
        filter: saturate(1)
    }

    50% {
        transform: scale(1.008);
        box-shadow: 0 9px 22px rgba(70, 91, 14, .09), 0 0 0 12px rgba(204, 255, 61, .14);
        filter: saturate(1.07)
    }
}

@keyframes safety-icon-breathe {

    0%,
    100% {
        transform: scale(1)
    }

    50% {
        transform: scale(1.055)
    }
}

@media (prefers-reduced-motion:reduce) {

    .safety-card,
    .safety-icon {
        animation: none
    }
}

.safety-card,
.safety-icon {
    animation: none;
    transform: none;
    filter: none
}

.safety-card {
    background: var(--lime);
    box-shadow: 0 6px 16px rgba(70, 91, 14, .08)
}

.safety-card:before,
.safety-card:after {
    display: none
}

.safety-card h2 {
    color: #121015;
    font-size: 30px;
    font-weight: 700
}

.safety-card>div:nth-child(2) p {
    color: #211e26;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.65
}

.safety-card .kicker {
    color: #4e1daf;
    font-weight: 900
}

.safety-links a {
    font-size: 11px;
    font-weight: 800
}

/* Glass and pulse live on decorative layers; banner content stays static. */
.safety-card {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: linear-gradient(135deg, rgba(204, 255, 61, .9), rgba(180, 230, 40, .72));
    backdrop-filter: blur(8px) saturate(125%);
    -webkit-backdrop-filter: blur(8px) saturate(125%)
}

.safety-card:before {
    content: "";
    display: block;
    position: absolute;
    z-index: 0;
    inset: -60% auto -60% -45%;
    width: 28%;
    background: linear-gradient(105deg, transparent, rgba(255, 255, 255, .62), transparent);
    transform: skewX(-18deg);
    pointer-events: none;
    animation: safety-glass-sweep 6s ease-in-out infinite
}

.safety-card:after {
    content: "";
    display: block;
    position: absolute;
    z-index: 0;
    inset: 0;
    border-radius: inherit;
    background: radial-gradient(circle at 50% 50%, rgba(255, 255, 255, .28), transparent 66%);
    box-shadow: inset 0 0 0 0 rgba(255, 255, 255, 0);
    opacity: .18;
    pointer-events: none;
    animation: safety-surface-pulse 3.8s ease-in-out infinite
}

.safety-card>* {
    position: relative;
    z-index: 1;
    transform: none;
    animation: none
}

@keyframes safety-glass-sweep {

    0%,
    30% {
        left: -45%
    }

    70%,
    100% {
        left: 125%
    }
}

@keyframes safety-surface-pulse {

    0%,
    100% {
        opacity: .12;
        box-shadow: inset 0 0 0 0 rgba(255, 255, 255, 0)
    }

    50% {
        opacity: .72;
        box-shadow: inset 0 0 38px rgba(255, 255, 255, .3)
    }
}

@media (prefers-reduced-motion:reduce) {

    .safety-card:before,
    .safety-card:after {
        animation: none
    }

    .safety-card:before {
        left: 38%;
        opacity: .22
    }

    .safety-card:after {
        opacity: .22
    }
}

.safety-card:after {
    background: radial-gradient(circle at center, rgba(255, 255, 255, .5) 0%, rgba(204, 255, 61, .18) 45%, transparent 72%);
    animation: safety-surface-pulse-strong 3s ease-in-out infinite
}

@keyframes safety-surface-pulse-strong {

    0%,
    100% {
        opacity: .1;
        transform: scale(.9);
        box-shadow: inset 0 0 0 rgba(255, 255, 255, 0)
    }

    50% {
        opacity: .9;
        transform: scale(1.08);
        box-shadow: inset 0 0 52px rgba(255, 255, 255, .4)
    }
}

@media (prefers-reduced-motion:reduce) {
    .safety-card:after {
        animation: none;
        transform: none;
        opacity: .2
    }
}

/* Visible breathing glow without moving the banner content. */
.safety-card {
    animation: safety-breathing-glow 3.6s ease-in-out infinite
}

.safety-icon {
    animation: none
}

@keyframes safety-breathing-glow {

    0%,
    100% {
        box-shadow: 0 6px 16px rgba(70, 91, 14, .07), 0 0 0 0 rgba(204, 255, 61, .3)
    }

    50% {
        box-shadow: 0 9px 22px rgba(70, 91, 14, .1), 0 0 0 15px rgba(204, 255, 61, .2)
    }
}

@media (prefers-reduced-motion:reduce) {
    .safety-card {
        animation: none
    }
}

.feature-grid .feature-card {
    transition: transform .28s cubic-bezier(.2, .8, .2, 1), box-shadow .28s ease, border-color .28s ease, background-color .28s ease
}

.feature-grid .feature-card:hover {
    background-color: #eee7ff
}

.pros-cons h3 {
    font-size: 17px;
    line-height: 1.35;
    margin-bottom: 25px;
    color: #fff
}

.pros-cons h3 span {
    font-size: 16px
}

.pros-cons li {
    font-size: 14px;
    line-height: 1.55;
    color: #e2dce9;
    padding-top: 13px;
    padding-bottom: 13px
}

.pros-cons li:before {
    top: 21px;
    width: 6px;
    height: 6px
}

.feature-grid .feature-card:hover {
    box-shadow: 0 22px 42px rgba(78, 42, 145, .16), 0 0 48px rgba(132, 88, 255, .38), 0 0 85px rgba(183, 140, 255, .2)
}

.feature-grid .feature-card:hover h3 {
    color: #17131f
}

.feature-grid .feature-card:hover p {
    color: #3c3348;
    font-weight: 600
}

.feature-grid .feature-card:hover a {
    color: #4e1fb8;
    font-weight: 900
}

.feature-grid .feature-card:hover>small {
    color: #5e3a9c;
    font-weight: 800
}

.feature-grid .feature-icon {
    transition: transform .28s cubic-bezier(.2, .8, .2, 1), background-color .28s ease, box-shadow .28s ease, filter .28s ease
}

.feature-grid .feature-card:hover .feature-icon {
    color: #4c1ba8;
    box-shadow: 0 0 14px rgba(204, 255, 61, .95), 0 0 32px rgba(204, 255, 61, .72), 0 0 52px rgba(132, 88, 255, .3);
    filter: brightness(1.12) saturate(1.18)
}

/* Pink, white and dark-blue site theme. */
:root{--bg:#06162f;--surface:#0a1f3d;--ink:#0b1b35;--muted:#647089;--purple:#ff4f9a;--purple-2:#ff9ac8;--lime:#ff5ca8;--line:#dfe6f0;--white:#fff}.site-header,.site-header.scrolled{background:rgba(6,22,47,.96)}.brand-mark{background:#ff5ca8;color:#07172f}.brand-accent,.eyebrow,.stars{color:#ff91c1}.hero{background:#06162f}.orb-one{background:radial-gradient(circle,#e93688 0,rgba(233,54,136,.12) 60%,transparent 70%)}.orb-two{background:radial-gradient(circle,#ff85bd 0,transparent 70%)}.score-card{background:rgba(10,31,61,.9);border-color:rgba(255,255,255,.12)}.score-bars i:after{background:linear-gradient(90deg,#ff4f9a,#ffb2d5)}.button-primary,.back-to-top{background:#ff5ca8;color:#07172f}.button-primary:hover{background:#ff86bd}.trust-grid>div>span,.reviewer>span{color:#ff6caf}.kicker{color:#e93688}.feature-icon{background:#ffe5f1;color:#d92b79}.feature-grid .feature-card:hover{background-color:#fff0f7;border-color:#ff6eae;box-shadow:0 22px 42px rgba(15,37,72,.14),0 0 48px rgba(255,79,154,.32),0 0 85px rgba(255,154,200,.18)}.feature-grid .feature-card:hover .feature-icon{background:#ff5ca8;color:#07172f;box-shadow:0 0 14px rgba(255,92,168,.9),0 0 32px rgba(255,79,154,.55),0 0 52px rgba(10,31,61,.22)}.feature-grid .feature-card:hover a{color:#c91f6d}.section-dark{background:#0a1f3d}.pros-cons{background:#0d294d;border-color:#1c3a60}.pros-cons>div+div{border-color:#1c3a60}.pros-cons li{border-color:#183658}.positive{background:rgba(255,92,168,.15);color:#ff8fc2}.reviewer>span{background:#13345b}.game-purple{background:linear-gradient(135deg,#b52268,#ff6dad)}.game-blue{background:linear-gradient(135deg,#081e3c,#174b7c)}.game-orange{background:linear-gradient(135deg,#751b4b,#e4458b)}.game-green{background:linear-gradient(135deg,#0b3154,#2875a1)}.soft-section{background:#f7f9fc}.phone{border-color:#07172f;background:#07172f}.phone-screen{background:#091c37}.phone-screen .mini-banner{background:linear-gradient(135deg,#0b2b55,#df347f)}.phone-screen .mini-games i{background:linear-gradient(#d6327b,#591b45)}.phone-screen .mini-games i:nth-child(2){background:linear-gradient(#174c78,#0c284a)}.phone-screen .mini-games i:nth-child(3){background:linear-gradient(#ff6cab,#6e214e)}.phone-screen .mini-games i.active{box-shadow:0 8px 20px rgba(255,79,154,.35)}.phone-screen .mini-nav b.active{color:#ff6eae}.mobile-copy h2 .green-text{background:linear-gradient(105deg,#ce236f 0%,#ff5ca8 35%,#fff 48%,#ff5ca8 61%,#ce236f 100%);background-size:240% 100%;-webkit-background-clip:text;background-clip:text}.check-list li>span{background:#ffe3f0;color:#cf216e}#payments{background:linear-gradient(180deg,#fff6fa 0%,#ffe8f3 100%)}#payments .kicker{color:#d52674}#payments h2{color:#0b1b35}#payments .section-heading>p{color:#68738a}.payment-table{border-color:#f2bdd6;box-shadow:0 14px 35px rgba(16,42,78,.08)}.payment-table thead th{background:#12345d;color:#fff;border-bottom-color:#12345d}.payment-table thead th:first-child{background:#081e3d}.payment-table tbody tr:nth-child(even){background:#fff0f7}.payment-table tbody td:first-child{color:#0c2b50;background:rgba(255,79,154,.08)}.payment-table .pay-icon{border-color:#efa9ca;color:#d82675}.payment-table tbody tr:hover{background:#ffd9eb;filter:drop-shadow(0 8px 12px rgba(15,41,76,.14))}.safety-card{background:linear-gradient(135deg,rgba(255,92,168,.94),rgba(255,154,200,.82));box-shadow:0 6px 16px rgba(15,41,76,.08)}.safety-card:before{background:linear-gradient(105deg,transparent,rgba(255,255,255,.7),transparent)}.safety-card:after{background:radial-gradient(circle at center,rgba(255,255,255,.55) 0%,rgba(255,92,168,.18) 45%,transparent 72%)}.safety-card h2{color:#07172f}.safety-card .kicker{color:#0a2b55}.safety-card>div:nth-child(2) p{color:#102746}.safety-icon{background:#fff;color:#dc2876;border-color:#dc2876;box-shadow:0 0 0 5px rgba(255,255,255,.25)}.safety-links a{background:#071d3b;color:#fff}.safety-links a:hover{background:#c92570;color:#fff}@keyframes safety-breathing-glow{0%,100%{box-shadow:0 6px 16px rgba(15,41,76,.07),0 0 0 0 rgba(255,79,154,.28)}50%{box-shadow:0 9px 22px rgba(15,41,76,.1),0 0 0 15px rgba(255,79,154,.18)}}.accordion details p{color:#d52674}.site-footer{background:#06162f}.reading-progress span{background:linear-gradient(90deg,#ff4f9a,#ffb2d5)}.stat-row strong[data-counter]{color:#e52f7d}.stat-row strong[data-counter].rolling{text-shadow:0 3px 10px rgba(255,79,154,.25)}@media (max-width:700px){.payment-table tbody tr,.payment-table tbody tr:nth-child(even){background:linear-gradient(135deg,#fff,#fff0f7);border-color:#f2bdd6}.payment-table tbody td:first-child{background:#ffddeb}.payment-table tbody td:before{color:#b32a67}}

/* Featured game image gallery. */
.game-gallery-section{margin-top:90px}.game-gallery-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:28px;padding-top:38px}.game-gallery-heading h3{margin:0;font:700 clamp(27px,3vw,38px)/1.1 "Space Grotesk";letter-spacing:-.04em;color:var(--ink)}.game-gallery-heading .kicker{margin-bottom:10px}.game-gallery-heading p{max-width:420px;margin:0;color:var(--muted);font-size:13px}.image-game-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.image-game{position:relative;isolation:isolate;overflow:hidden;margin:0;border-radius:16px;background:#081e3d;box-shadow:0 12px 30px rgba(7,23,47,.1);cursor:pointer}.image-game-wide{grid-column:span 2;aspect-ratio:16/8.5}.image-game-square{grid-column:span 1;aspect-ratio:1}.image-game img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .45s cubic-bezier(.2,.8,.2,1),filter .45s ease}.image-game:after{content:"";position:absolute;z-index:0;inset:35% 0 0;background:linear-gradient(transparent,rgba(6,22,47,.88));transition:opacity .3s}.image-game figcaption{position:absolute;z-index:1;left:20px;right:20px;bottom:17px;color:#fff;transform:translateY(5px);transition:transform .3s}.image-game figcaption span,.image-game figcaption strong{display:block}.image-game figcaption span{margin-bottom:3px;color:#ff9ac8;font-size:8px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.image-game figcaption strong{font:700 16px "Space Grotesk"}.image-game:hover img{transform:scale(1.06);filter:brightness(1.08) saturate(1.1)}.image-game:hover figcaption{transform:none}.image-game:hover{box-shadow:0 18px 38px rgba(7,23,47,.17),0 0 30px rgba(255,79,154,.18)}@media (max-width:800px){.image-game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.image-game-wide{grid-column:span 2}.image-game-square{grid-column:span 1}.game-gallery-heading{align-items:flex-start;flex-direction:column;gap:15px}}@media (max-width:520px){.game-gallery-section{margin-top:65px}.image-game-grid{grid-template-columns:1fr;gap:13px}.image-game-wide,.image-game-square{grid-column:span 1}.image-game-wide{aspect-ratio:16/9}.image-game-square{aspect-ratio:1}.image-game figcaption{left:15px;bottom:13px}.image-game figcaption strong{font-size:14px}}@media (prefers-reduced-motion:reduce){.image-game img,.image-game figcaption{transition:none}.image-game:hover img{transform:none}}

#game-collection{scroll-margin-top:105px}

.site-header .brand-logo{display:block;width:42px;height:42px;object-fit:contain;border-radius:9px}

.site-header .brand-logo{width:58px;height:58px}@media (max-width:600px){.site-header .brand-logo{width:50px;height:50px}}
.site-footer .brand-logo{display:block;width:48px;height:48px;object-fit:contain;border-radius:10px}
.site-footer .brand{flex-direction:row;gap:10px;text-align:left}
.site-footer .brand-accent{transform:translateY(3px)}
.footer-links-group{display:grid;gap:12px}
.footer-links-group>strong{color:#ff91c1;font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.footer-links-group .footer-nav{display:grid;grid-template-columns:repeat(4,max-content);gap:10px 22px}
.footer-links-group .footer-nav a{color:#d4dbe6;transition:color .2s ease}
.footer-links-group .footer-nav a:hover{color:#ff91c1}
@media (max-width:900px){.footer-links-group .footer-nav{grid-template-columns:repeat(3,max-content)}}
@media (max-width:600px){.footer-links-group{width:100%}.footer-links-group .footer-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px}}

.image-game .game-image-caption{position:absolute;z-index:1;left:20px;right:20px;bottom:17px;color:#fff;transform:translateY(5px);transition:transform .3s}.image-game .game-image-caption>span,.image-game .game-image-caption>strong{display:block}.image-game .game-image-caption>span{margin-bottom:3px;color:#ff9ac8;font-size:8px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.image-game .game-image-caption>strong{font:700 16px "Space Grotesk"}.image-game:hover .game-image-caption{transform:none}.image-game:focus-visible{outline:3px solid #ff5ca8;outline-offset:5px}@media (max-width:520px){.image-game .game-image-caption{left:15px;bottom:13px}.image-game .game-image-caption>strong{font-size:14px}}

.faq-grid>div:first-child p{font-size:15px;line-height:1.75}.accordion summary{font-size:16px;line-height:1.45;padding:25px 0}.accordion summary span{font-size:25px}.accordion details p{font-size:14px;line-height:1.75;margin-bottom:24px}

/* Shared layout for Review, Games, Payments and FAQ pages. */
.subpage-header{position:absolute}.subpage-main{min-height:70vh}.page-hero{position:relative;overflow:hidden;padding:165px 0 95px;background:radial-gradient(circle at 80% 35%,rgba(255,79,154,.22),transparent 30%),#06162f;color:#fff}.page-hero:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:65px 65px;pointer-events:none}.page-hero.compact{padding-bottom:75px}.page-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr auto;align-items:center;gap:80px}.page-hero h1{margin:16px 0 22px;font-size:clamp(48px,6vw,76px)}.page-hero p{max-width:650px;margin:0;color:#bdc8d8;font-size:16px}.page-score{min-width:190px;padding:30px;text-align:center;border:1px solid rgba(255,255,255,.14);border-radius:18px;background:rgba(255,255,255,.06);backdrop-filter:blur(12px)}.page-score strong,.page-score span,.page-score small{display:block}.page-score strong{font:700 65px/1 "Space Grotesk";color:#ff72b1}.page-score span{margin:10px 0 15px;color:#fff;font-size:8px;font-weight:800;letter-spacing:.15em}.page-score small{color:#8290a4;font-size:9px}.page-symbol{width:180px;height:180px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,#ff78b7,#cf236f);box-shadow:0 0 70px rgba(255,79,154,.25);font:700 90px "Space Grotesk";color:#fff}.subpage-mobile-art{width:300px;height:420px;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:auto;border:8px solid #07172f;border-radius:42px;background:radial-gradient(circle at 50% 35%,rgba(255,92,168,.45),transparent 35%),#0a1f3d;color:#fff;box-shadow:25px 30px 60px rgba(7,23,47,.18)}.subpage-mobile-art span{color:#ff8fc2;font:700 58px/1 "Space Grotesk"}.subpage-mobile-art strong{font:700 110px/1 "Space Grotesk"}.subpage-mobile-art small{margin-top:20px;color:#ff9ac8;font-size:9px;font-weight:800;letter-spacing:.18em}.standalone-faq{padding-top:100px}.faq-help-button{margin-top:24px;background:#06162f;color:#fff}.faq-help-button:hover{background:#ff4f9a}.subpage-main #payments{padding-top:105px}@media (max-width:900px){.page-hero-grid{grid-template-columns:1fr;gap:40px}.page-score,.page-symbol{justify-self:start}.page-symbol{width:130px;height:130px;font-size:65px}.subpage-mobile-art{order:2}}@media (max-width:600px){.page-hero{padding:125px 0 65px}.page-hero h1{font-size:44px}.page-hero p{font-size:14px}.page-symbol{width:100px;height:100px;font-size:50px}.page-score{min-width:165px;padding:22px}.page-score strong{font-size:52px}.subpage-mobile-art{width:250px;height:360px}}

.games-gallery-page .game-gallery-section{margin-top:0}
.games-gallery-page{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(135deg,#f8fbff 0%,#fcecf5 48%,#edf6ff 100%)}.games-gallery-page:before,.games-gallery-page:after{content:"";position:absolute;z-index:-1;width:360px;height:360px;border-radius:50%;filter:blur(24px);opacity:.55;pointer-events:none}.games-gallery-page:before{top:-150px;left:-90px;background:radial-gradient(circle,#ff78b7 0%,rgba(255,120,183,.12) 48%,transparent 70%);animation:games-background-drift 12s ease-in-out infinite alternate}.games-gallery-page:after{right:-120px;bottom:-170px;background:radial-gradient(circle,#61b8ff 0%,rgba(97,184,255,.12) 48%,transparent 70%);animation:games-background-drift 15s ease-in-out infinite alternate-reverse}.games-gallery-page .game-gallery-section{position:relative}.games-gallery-page .game-gallery-section:before,.games-gallery-page .game-gallery-section:after{position:absolute;z-index:-1;top:-170px;color:rgba(255,79,154,.11);font:800 76px/1 "Space Grotesk";letter-spacing:.1em;white-space:pre;pointer-events:none}.games-gallery-page .game-gallery-section:before{content:"FF29\A        FF29\A  FF29\A             FF29";left:2%;animation:games-ff29-fall 14s linear infinite}.games-gallery-page .game-gallery-section:after{content:"      FF29\A FF29\A           FF29\A    FF29";right:0;color:rgba(24,92,160,.1);animation:games-ff29-fall 18s linear infinite -7s}@keyframes games-background-drift{from{transform:translate3d(-20px,-15px,0) scale(.9)}to{transform:translate3d(85px,55px,0) scale(1.18)}}@keyframes games-ff29-fall{from{transform:translateY(-80px) rotate(-5deg)}to{transform:translateY(620px) rotate(5deg)}}@media (prefers-reduced-motion:reduce){.games-gallery-page:before,.games-gallery-page:after,.games-gallery-page .game-gallery-section:before,.games-gallery-page .game-gallery-section:after{animation:none}}
.games-gallery-page{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(135deg,#f8fbff 0%,#fcecf5 48%,#edf6ff 100%)}.games-gallery-page:before,.games-gallery-page:after{content:"";position:absolute;z-index:-1;width:360px;height:360px;border-radius:50%;filter:blur(24px);opacity:.55;pointer-events:none}.games-gallery-page:before{top:-150px;left:-90px;background:radial-gradient(circle,#ff78b7 0%,rgba(255,120,183,.12) 48%,transparent 70%);animation:games-background-drift 12s ease-in-out infinite alternate}.games-gallery-page:after{right:-120px;bottom:-170px;background:radial-gradient(circle,#61b8ff 0%,rgba(97,184,255,.12) 48%,transparent 70%);animation:games-background-drift 15s ease-in-out infinite alternate-reverse}.games-gallery-page .game-gallery-section{position:relative}.games-gallery-page .game-gallery-section:before,.games-gallery-page .game-gallery-section:after{position:absolute;z-index:-1;top:-170px;color:rgba(255,35,144,.14);font:900 italic 76px/1 Arial Black,Arial,sans-serif;letter-spacing:.02em;text-shadow:5px 5px 0 rgba(7,23,47,.1);white-space:pre;pointer-events:none}.games-gallery-page .game-gallery-section:before{content:"FF29\A        FF29\A  FF29\A             FF29";left:2%;animation:games-ff29-fall 14s linear infinite}.games-gallery-page .game-gallery-section:after{content:"      FF29\A FF29\A           FF29\A    FF29";right:0;color:rgba(255,35,144,.11);animation:games-ff29-fall 18s linear infinite -7s}@keyframes games-background-drift{from{transform:translate3d(-20px,-15px,0) scale(.9)}to{transform:translate3d(85px,55px,0) scale(1.18)}}@keyframes games-ff29-fall{from{transform:translateY(-80px) rotate(-5deg)}to{transform:translateY(620px) rotate(5deg)}}@media (prefers-reduced-motion:reduce){.games-gallery-page:before,.games-gallery-page:after,.games-gallery-page .game-gallery-section:before,.games-gallery-page .game-gallery-section:after{animation:none}}

/* Casino atmosphere and motion layer. */
.casino-ticker{position:absolute;z-index:12;top:78px;left:0;width:100%;height:34px;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.09);background:linear-gradient(90deg,#ff4f9a,#bd2064,#0a2a50,#ff4f9a);background-size:260% 100%;color:#fff;animation:ticker-background 8s linear infinite}.casino-ticker>div{display:flex;width:max-content;height:100%;align-items:center;animation:casino-ticker-move 28s linear infinite}.casino-ticker span{padding:0 28px;border-right:1px solid rgba(255,255,255,.22);font-size:9px;font-weight:900;letter-spacing:.15em;white-space:nowrap}.has-casino-ticker .hero{padding-top:112px}.casino-floaters{position:absolute;z-index:1;inset:0;overflow:hidden;pointer-events:none}.casino-floaters i{--left:calc(8% + var(--i)*16%);position:absolute;left:var(--left);bottom:-70px;color:rgba(255,116,180,.17);font:700 calc(30px + var(--i)*5px) "Space Grotesk";font-style:normal;text-shadow:0 0 20px rgba(255,79,154,.25);animation:casino-symbol-float calc(11s + var(--i)*1.6s) linear infinite;animation-delay:calc(var(--i)*-2.1s)}.casino-floaters i:nth-child(even){color:rgba(255,255,255,.1)}@keyframes casino-ticker-move{to{transform:translateX(-50%)}}@keyframes ticker-background{to{background-position:260% 0}}@keyframes casino-symbol-float{0%{transform:translateY(0) rotate(0deg);opacity:0}10%{opacity:1}85%{opacity:.8}100%{transform:translateY(-900px) rotate(300deg);opacity:0}}.hero-grid,.page-hero-grid{z-index:3}.hero h1 em,.page-hero h1 em{background:linear-gradient(90deg,#ff73b4,#fff,#ff73b4);background-size:220% 100%;color:transparent;-webkit-background-clip:text;background-clip:text;animation:casino-title-shine 5.5s ease-in-out infinite}@keyframes casino-title-shine{0%,25%{background-position:100% 50%}75%,100%{background-position:0 50%}}.score-card{position:relative;overflow:hidden;animation:score-neon-breathe 4s ease-in-out infinite}.score-card:before{content:"";position:absolute;inset:-80% auto -80% -45%;width:28%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.2),transparent);transform:skewX(-16deg);animation:score-card-sweep 5.8s ease-in-out infinite;pointer-events:none}.button-primary,.nav-cta{position:relative;overflow:hidden}.button-primary:after,.nav-cta:after{content:"";position:absolute;inset:-50% auto -50% -45%;width:28%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.65),transparent);transform:skewX(-18deg);animation:button-casino-shine 4.2s ease-in-out infinite;pointer-events:none}@keyframes score-neon-breathe{0%,100%{box-shadow:0 35px 80px rgba(0,0,0,.35),0 0 0 rgba(255,79,154,0)}50%{box-shadow:0 35px 80px rgba(0,0,0,.35),0 0 34px rgba(255,79,154,.25)}}@keyframes score-card-sweep{0%,45%{left:-45%}80%,100%{left:125%}}@keyframes button-casino-shine{0%,55%{left:-45%}90%,100%{left:130%}}.image-game{will-change:transform;transition:transform .22s ease,box-shadow .3s ease}.image-game:before{content:"";position:absolute;z-index:2;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12),inset 0 0 32px rgba(255,79,154,0);transition:box-shadow .3s;pointer-events:none}.image-game:hover:before{box-shadow:inset 0 0 0 2px rgba(255,130,188,.7),inset 0 0 38px rgba(255,79,154,.2)}.page-symbol{animation:casino-symbol-pulse 3.5s ease-in-out infinite}@keyframes casino-symbol-pulse{0%,100%{transform:rotate(-3deg) scale(1);box-shadow:0 0 45px rgba(255,79,154,.18)}50%{transform:rotate(3deg) scale(1.055);box-shadow:0 0 80px rgba(255,79,154,.42)}}@media (max-width:600px){.casino-ticker{top:68px}.has-casino-ticker .hero{padding-top:102px}.casino-ticker span{padding:0 20px}.casino-floaters i{font-size:28px}}@media (prefers-reduced-motion:reduce){.casino-ticker,.casino-ticker>div,.casino-floaters i,.hero h1 em,.page-hero h1 em,.score-card,.score-card:before,.button-primary:after,.nav-cta:after,.page-symbol{animation:none}.casino-ticker>div{transform:none}.casino-floaters{display:none}}

.casino-floaters i:nth-child(1){left:8%}.casino-floaters i:nth-child(2){left:24%}.casino-floaters i:nth-child(3){left:40%}.casino-floaters i:nth-child(4){left:58%}.casino-floaters i:nth-child(5){left:75%}.casino-floaters i:nth-child(6){left:91%}

/* Games-page hero card collage. */
.hero-game-stack{position:relative;width:450px;height:340px}.hero-game-stack>a{position:absolute;width:215px;aspect-ratio:1;overflow:hidden;border:4px solid rgba(255,255,255,.88);border-radius:22px;background:#0a1f3d;box-shadow:0 22px 45px rgba(0,0,0,.3);transition:transform .3s,filter .3s;animation:hero-game-float 5s ease-in-out infinite}.hero-game-stack>a:nth-child(1){z-index:1;left:0;top:64px;transform:rotate(-10deg);animation-delay:-1.5s}.hero-game-stack>a:nth-child(2){z-index:3;left:118px;top:3px;animation-delay:-3s}.hero-game-stack>a:nth-child(3){z-index:2;right:0;top:70px;transform:rotate(10deg);animation-delay:-4.2s}.hero-game-stack img{width:100%;height:100%;display:block;object-fit:cover}.hero-game-stack>a:hover{z-index:5;transform:translateY(-12px) rotate(0) scale(1.08);filter:brightness(1.12);box-shadow:0 26px 55px rgba(0,0,0,.36),0 0 38px rgba(255,79,154,.4)}.hero-game-stack>span{position:absolute;z-index:6;left:50%;bottom:0;transform:translateX(-50%);width:max-content;padding:8px 18px;border-radius:99px;background:#ff4f9a;color:#07172f;text-align:center;font-size:8px;font-weight:900;letter-spacing:.12em;box-shadow:0 8px 25px rgba(255,79,154,.3)}.hero-game-stack>span strong{color:#fff}@keyframes hero-game-float{0%,100%{margin-top:0}50%{margin-top:-10px}}@media (max-width:900px){.hero-game-stack{justify-self:start;margin-top:5px}}@media (max-width:480px){.hero-game-stack{width:320px;height:250px}.hero-game-stack>a{width:160px;border-width:3px}.hero-game-stack>a:nth-child(1){top:52px}.hero-game-stack>a:nth-child(2){left:80px}.hero-game-stack>a:nth-child(3){top:55px}}@media (prefers-reduced-motion:reduce){.hero-game-stack>a{animation:none}}

/* Site-wide readability improvements. */
.payment-symbol,.faq-symbol{font-size:120px}

body{font-size:16px;line-height:1.65}
p,li,.page-hero p,.game-gallery-heading p,.section-heading>p,.mobile-copy>p,.accordion details p{font-size:16px!important;line-height:1.7}
.main-nav a,.footer-nav,.button,.nav-cta,.safety-links a,.feature-card a,.faq-help-button{font-size:15px!important}
.kicker,.eyebrow,.feature-card small,.score-label,.page-score span,.page-score small,.subpage-mobile-art small,.casino-ticker span,.hero-game-stack>span,.image-game figcaption span,.image-game .game-image-caption>span{font-size:12px!important;line-height:1.4}
.feature-card h3,.image-game figcaption strong,.image-game .game-image-caption>strong{font-size:18px!important}
.payment-table th,.payment-table td,.accordion summary{font-size:15px!important;line-height:1.55}
.footer-top>p,.footer-note p,.footer-bottom{font-size:14px!important}
@media (max-width:600px){body{font-size:16px}.page-hero p{font-size:16px!important}.payment-symbol,.faq-symbol{font-size:72px}}

/* Looser, less uniform FF29 fall pattern on the Games page. */
.games-gallery-page .game-gallery-section:before{
    content:"FF29\A                 FF29\A     FF29\A                           FF29\A            FF29";
    left:-4%;
    top:-240px;
    font-size:68px;
    line-height:1.85;
    letter-spacing:.04em;
    opacity:.72;
    animation:games-ff29-fall-left 17s cubic-bezier(.38,.02,.62,.98) infinite
}

.games-gallery-page .game-gallery-section:after{
    content:"            FF29\A  FF29\A                         FF29\A        FF29\A                              FF29";
    right:-8%;
    top:-360px;
    font-size:88px;
    line-height:2.15;
    letter-spacing:-.02em;
    opacity:.55;
    animation:games-ff29-fall-right 23s cubic-bezier(.42,0,.58,1) infinite -11s
}

@keyframes games-ff29-fall-left{
    0%{transform:translate3d(-45px,-140px,0) rotate(-9deg);opacity:0}
    12%{opacity:.72}
    46%{transform:translate3d(70px,330px,0) rotate(4deg)}
    78%{transform:translate3d(-20px,700px,0) rotate(-3deg);opacity:.6}
    100%{transform:translate3d(95px,980px,0) rotate(8deg);opacity:0}
}

@keyframes games-ff29-fall-right{
    0%{transform:translate3d(80px,-180px,0) rotate(7deg);opacity:0}
    15%{opacity:.55}
    38%{transform:translate3d(-55px,260px,0) rotate(-5deg)}
    72%{transform:translate3d(35px,660px,0) rotate(3deg);opacity:.48}
    100%{transform:translate3d(-90px,1050px,0) rotate(-8deg);opacity:0}
}

@media (prefers-reduced-motion:reduce){
    .games-gallery-page .game-gallery-section:before,
    .games-gallery-page .game-gallery-section:after{animation:none}
}

/* Circular glow focused behind the responsible-play age badge. */
.safety-card{animation:none;box-shadow:0 10px 26px rgba(15,41,76,.1)}
.safety-card:after{display:none}
.safety-icon{
    position:relative;
    width:90px;
    height:90px;
    font-size:28px;
    box-shadow:0 0 0 5px rgba(255,255,255,.3),0 0 28px 14px rgba(255,255,255,.38),0 0 55px 25px rgba(255,79,154,.34);
    animation:safety-icon-round-glow 3.2s ease-in-out infinite
}

@keyframes safety-icon-round-glow{
    0%,100%{box-shadow:0 0 0 5px rgba(255,255,255,.28),0 0 24px 12px rgba(255,255,255,.3),0 0 44px 20px rgba(255,79,154,.25)}
    50%{box-shadow:0 0 0 7px rgba(255,255,255,.42),0 0 34px 18px rgba(255,255,255,.48),0 0 68px 32px rgba(255,79,154,.48)}
}

@media (max-width:600px){.safety-icon{width:82px;height:82px;font-size:26px}}
@media (prefers-reduced-motion:reduce){.safety-icon{animation:none}}

/* Larger payment comparison on the standalone Payments page. */
.subpage-main #payments .payment-table th,
.subpage-main #payments .payment-table td{
    padding:22px 24px;
    font-size:17px!important
}

.subpage-main #payments .pay-icon{
    width:42px;
    height:42px;
    font-size:21px
}

.image-game[aria-disabled="true"],
.hero-game-stack>a[aria-disabled="true"]{cursor:default}

.review-games-section{padding-top:25px;background:linear-gradient(180deg,#fff,#fff4f9)}
.review-game-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.review-game-grid .image-game{cursor:pointer}
@media (max-width:800px){.review-game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.review-game-grid{grid-template-columns:1fr}.review-game-grid .image-game-square{aspect-ratio:16/10}}
.section-dark>.review-games-section{padding:55px 0 10px;background:transparent;color:#fff}
.section-dark>.review-games-section .game-gallery-heading h3{color:#fff}
.section-dark>.review-games-section .game-gallery-heading p{color:#aebdd0}

/* Login and registration pages. */
.account-page{min-height:100vh;display:grid;place-items:center;padding:150px 20px 90px;background:radial-gradient(circle at 75% 20%,rgba(255,79,154,.25),transparent 28%),#06162f}
.account-card{width:min(100%,520px);padding:42px;border:1px solid rgba(255,255,255,.14);border-radius:22px;background:#fff;box-shadow:0 28px 75px rgba(0,0,0,.32)}
.account-card h1{margin:8px 0 10px;font-size:clamp(38px,6vw,56px)}
.account-card>p{margin:0 0 26px;color:var(--muted)}
.account-form{display:grid;gap:10px}
.account-form label{margin-top:8px;color:var(--ink);font-size:14px;font-weight:800}
.account-form input:not([type="checkbox"]){width:100%;min-height:52px;padding:12px 15px;border:1px solid #ccd5e2;border-radius:10px;background:#f9fbfd;color:var(--ink);font:600 16px Manrope,sans-serif}
.account-form input:focus{outline:3px solid rgba(255,79,154,.22);border-color:#ff4f9a}
.account-form .button{margin-top:16px;border:0;cursor:pointer}
.account-consent{display:flex;align-items:flex-start;gap:10px;line-height:1.45}
.account-consent input{margin-top:4px}
.account-switch{margin:25px 0 0!important;text-align:center;font-size:14px!important}
.account-switch a{color:#d52674;font-weight:800}
.main-nav .account-nav-link{padding:10px 16px;border:1px solid rgba(255,255,255,.42);border-radius:9px;color:#fff;background:rgba(255,255,255,.05)}
.main-nav .account-nav-link:hover{border-color:#fff;background:rgba(255,255,255,.13);color:#fff}
.main-nav .account-nav-register{border-color:#ff4f9a;background:#ff4f9a;color:#07172f;box-shadow:0 7px 18px rgba(255,79,154,.24)}
.main-nav .account-nav-register:hover{border-color:#ff86bd;background:#ff86bd;color:#07172f;box-shadow:0 9px 24px rgba(255,79,154,.34)}
.main-nav .account-nav-register.active,
.main-nav .account-nav-register:active,
.main-nav .account-nav-register:focus,
.main-nav .account-nav-register:focus-visible,
.main-nav .account-nav-register[aria-current="page"]{background:#ff9ac8;color:#06162f!important;border-color:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.22),0 9px 24px rgba(255,79,154,.34)}
.main-nav .account-nav-register.active:after{display:block;left:14px;right:14px;bottom:-7px;width:auto;height:3px;background:#ff9ac8;box-shadow:0 0 8px rgba(255,154,200,.65)}
@media (max-width:600px){.account-page{padding:120px 15px 65px}.account-card{padding:30px 22px}.account-card h1{font-size:40px}}

@media (min-width:701px){
    .subpage-main #payments .payment-table{
        width:calc(100% + 60px);
        margin-left:-30px
    }
}

@media (max-width:700px){
    .subpage-main #payments .payment-table td{
        padding:16px 8px;
        font-size:16px!important
    }
}

/* Payments-page certification artwork. */
.certification-section{padding-top:35px;background:#fff}
.certification-heading{text-align:center;margin-bottom:28px}
.certification-heading h2{margin:8px 0 0;font-size:clamp(30px,4vw,44px)}
.certification-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(210px,1fr);align-items:center;gap:28px;padding:28px;border:1px solid #e0e7f0;border-radius:20px;background:#f8fbff;box-shadow:0 16px 40px rgba(7,23,47,.09)}
.certification-grid figure{margin:0;text-align:center}
.certification-grid img{display:block;max-width:100%;height:auto;margin:auto;border-radius:12px}
.certification-wide img{width:100%}
@media (max-width:700px){.certification-section{padding-top:20px}.certification-grid{grid-template-columns:1fr;padding:18px}.certification-grid figure:not(.certification-wide) img{max-width:230px}}

/* Branded trust-panel treatment for differently shaped certification artwork. */
.certification-section{padding:70px 0;background:linear-gradient(180deg,#fff6fa,#fff)}
.certification-section>.container{position:relative;isolation:isolate;overflow:hidden;padding:54px;border-radius:30px;background:radial-gradient(circle at 88% 15%,rgba(255,79,154,.3),transparent 28%),linear-gradient(145deg,#06162f,#0d2d53);box-shadow:0 24px 60px rgba(7,23,47,.2)}
.certification-section>.container:before,.certification-section>.container:after{content:"";position:absolute;z-index:-1;border-radius:50%;pointer-events:none}
.certification-section>.container:before{width:220px;height:220px;left:-90px;bottom:-120px;background:rgba(255,79,154,.16);filter:blur(4px)}
.certification-section>.container:after{width:130px;height:130px;right:28%;top:-80px;border:1px solid rgba(255,255,255,.1)}
.certification-heading{margin-bottom:34px;text-align:left}
.certification-heading .kicker{color:#ff91c1}
.certification-heading h2{max-width:680px;color:#fff;font-size:clamp(32px,4vw,48px);letter-spacing:-.035em}
.certification-grid{grid-template-columns:minmax(0,3.3fr) minmax(230px,1fr);gap:24px;padding:0;border:0;background:transparent;box-shadow:none}
.certification-grid figure{display:grid;place-items:center;min-height:190px;padding:18px;border:1px solid rgba(255,255,255,.18);border-radius:22px;background:rgba(255,255,255,.09);box-shadow:inset 0 1px rgba(255,255,255,.15),0 15px 35px rgba(0,0,0,.2);backdrop-filter:blur(12px)}
.certification-grid .certification-wide{border-color:rgba(255,215,64,.48);background:linear-gradient(145deg,rgba(255,255,255,.16),rgba(255,215,64,.07))}
.certification-grid figure:not(.certification-wide){background:linear-gradient(145deg,rgba(255,255,255,.95),rgba(255,225,239,.9));transform:rotate(2deg)}
.certification-grid img{border-radius:14px;filter:drop-shadow(0 9px 15px rgba(0,0,0,.16))}
.certification-grid figure:not(.certification-wide) img{width:min(100%,270px)}
@media (max-width:800px){.certification-section{padding:45px 0}.certification-section>.container{width:calc(100% - 30px);padding:34px 22px}.certification-grid{grid-template-columns:1fr}.certification-grid figure{min-height:auto}.certification-grid figure:not(.certification-wide){transform:none}.certification-grid figure:not(.certification-wide) img{max-width:220px}}

.certification-section+.safety-section{padding-top:35px}
@media (max-width:600px){.certification-section+.safety-section{padding-top:20px}}

/* Restrained, professional motion for the trust marks. */
.certification-grid{overflow:hidden}
.certification-grid figure{position:relative;overflow:hidden;transform:none!important;animation:trust-mark-drift 10s cubic-bezier(.45,0,.55,1) infinite}
.certification-grid figure:nth-child(2){animation-delay:-.35s}
.certification-grid figure:after{content:"";position:absolute;inset:-40% auto -40% -35%;width:18%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.32),transparent);transform:skewX(-18deg);animation:trust-mark-sheen 7s ease-in-out infinite;pointer-events:none}
@keyframes trust-mark-drift{0%,100%{translate:-5px 0}50%{translate:5px 0}}
@keyframes trust-mark-sheen{0%,62%{left:-35%;opacity:0}70%{opacity:1}88%,100%{left:125%;opacity:0}}
@media (max-width:800px){.certification-grid figure{animation-duration:12s}@keyframes trust-mark-drift{0%,100%{translate:-3px 0}50%{translate:3px 0}}}
@media (prefers-reduced-motion:reduce){.certification-grid figure,.certification-grid figure:after{animation:none!important;translate:none}}

/* Community artwork on the Games page. */
.community-section{position:relative;overflow:hidden;padding:90px 0;background:radial-gradient(circle at 15% 20%,rgba(255,79,154,.18),transparent 25%),#06162f;color:#fff}
.community-heading{display:grid;grid-template-columns:1fr minmax(260px,480px);align-items:end;gap:10px 50px;margin-bottom:34px}
.community-heading .kicker{grid-column:1;color:#ff91c1}
.community-heading h2{grid-column:1;margin:0;font-size:clamp(34px,5vw,52px);letter-spacing:-.04em}
.community-heading p{grid-column:2;grid-row:1/span 2;margin:0;color:#afbdd0;font-size:16px!important}
.community-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.community-banner{position:relative;overflow:hidden;margin:0;padding:10px;border:1px solid rgba(255,255,255,.14);border-radius:20px;background:rgba(255,255,255,.07);box-shadow:0 18px 38px rgba(0,0,0,.24);transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}
.community-banner-featured,.community-banner-wide{grid-column:1/-1}
.community-banner img{display:block;width:100%;height:auto;border-radius:13px}
.community-banner:not(.community-banner-featured){width:100%;height:220px;aspect-ratio:auto}
.community-banner:not(.community-banner-featured) img{width:100%;height:100%;object-fit:fill}
.community-banner>a{display:block;width:100%;height:100%;border-radius:13px}
.community-banner>a:focus-visible{outline:3px solid #ff72b1;outline-offset:4px}
.community-banner:hover{transform:translateY(-5px);border-color:rgba(255,121,181,.55);box-shadow:0 24px 45px rgba(0,0,0,.3),0 0 30px rgba(255,79,154,.15)}
@media (max-width:760px){.community-section{padding:65px 0}.community-heading{grid-template-columns:1fr}.community-heading .kicker,.community-heading h2,.community-heading p{grid-column:1;grid-row:auto}.community-heading p{margin-top:8px}.community-grid{grid-template-columns:1fr}.community-banner,.community-banner-featured,.community-banner-wide{grid-column:1}.community-banner{padding:6px;border-radius:14px}.community-banner:not(.community-banner-featured){height:clamp(120px,34vw,190px)}.community-banner img{border-radius:9px}}
@media (prefers-reduced-motion:reduce){.community-banner{transition:none}.community-banner:hover{transform:none}}

/* Larger, stable game-library controls and cards. */
.game-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;flex-wrap:initial;margin-bottom:22px}
.game-filters button{width:100%;min-height:48px;padding:11px 14px;font-size:14px;font-weight:800;white-space:nowrap}
.game-card{min-height:185px;padding:30px}
.game-card>span{font-size:48px}
.game-card small{font-size:12px;line-height:1.4}
.game-card h3{margin:7px 0 5px;font-size:24px}
.game-card p{font-size:15px!important;line-height:1.5}
.game-card.filtered-out{display:flex;visibility:hidden;opacity:0;pointer-events:none}
@media (max-width:600px){.game-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.game-filters button{font-size:13px}.game-card{min-height:160px;padding:24px}.game-card h3{font-size:21px}.game-card p{font-size:14px!important}}

/* Precisely centred header logo on mobile. */
@media (max-width:600px){
    .site-header .nav-wrap{position:relative;justify-content:flex-end}
    .site-header .nav-wrap>.brand{position:absolute;left:50%;top:50%;margin:0;transform:translate(-50%,-50%)}
    .site-header .menu-button{position:relative;z-index:2;margin-left:auto}
}

/* Generated background used only by the homepage Review hero. */
.hero{
    background-color:#06162f;
    background-image:linear-gradient(90deg,rgba(6,22,47,.28),rgba(6,22,47,.06)),url("images/review-hero-background.png");
    background-position:center;
    background-size:cover;
    background-repeat:no-repeat
}
@media (max-width:700px){.hero{background-position:60% center}}

/* Shared generated background for Login and Register pages. */
.account-page{
    background-color:#06162f;
    background-image:linear-gradient(90deg,rgba(6,22,47,.72),rgba(6,22,47,.38)),url("images/review-hero-background.png");
    background-position:center;
    background-size:cover;
    background-repeat:no-repeat;
    background-attachment:fixed
}
@media (max-width:700px){.account-page{background-position:62% center;background-attachment:scroll}}

.site-footer .brand-logo{width:72px;height:72px}
@media (max-width:600px){.site-footer .brand-logo{width:64px;height:64px}}
.site-header .brand-logo{width:72px;height:72px}
@media (max-width:600px){.site-header .brand-logo{width:64px;height:64px}}

/* Real game artwork inside the phone mockup. */
.phone-screen .mini-game-icon{display:block;width:100%;height:56px;overflow:hidden;border-radius:7px 7px 4px 4px}
.phone-screen .mini-game-icon img{display:block;width:100%;height:100%;object-fit:cover}
.phone-screen .mini-games i{height:86px;padding:5px 5px 7px}
.phone-screen .mini-games small{margin-top:5px}
