@charset "UTF-8";
@import"https://fonts.googleapis.com/css2?family=Oswald:wght@300;400;500;700&display=swap";
@import"https://fonts.googleapis.com/css2?family=Michroma&family=Montserrat:wght@400;500;600;700&family=Qwigley&display=swap";

:root {
    --purple-color: #623a91;
    --dark-purple-color: #4d2d73;
    --green-color: #169651;
    --dark-green-color: #0f6b3a;
    --blue-color: #005bbd;
    --dark-blue-color: #003d7a;
    --red-color: #ec0230;
    --felt-green: #0d4a26;
    --felt-green-dark: #082e16;
    --gold-accent: #c9a94a
}

.roulette-game {
    min-height: calc(100vh - 281px);
    display: grid;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    position: relative;
    isolation: isolate;
    transition: left .2s;
    left: 0;
    background: transparent;
    padding: 1.5rem 0 2rem;
    font-family: Oswald, sans-serif;
    color: #fff;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
    grid-template-areas: "board" "chips" "wheel" "info" "actions";
    place-content: center;
    gap: 4px 0
}

.board-wrap {
    font-size: 2.4vw;
    font-weight: 500;
    grid-area: board;
    margin: 0 auto 4px;
    display: grid;
    grid-template-areas: "board1";
    position: relative;
    background: radial-gradient(ellipse at 50% 30%, #1e0b3e, #120628 55%, #0a0420);
    border-radius: 14px;
    padding: 10px 10px 14px;
    box-shadow: 0 0 0 1px #ffffff0f, 0 0 0 3px #1e0a3ce6, 0 0 0 4px #ffffff0a, 0 12px 48px #000000b3, inset 0 0 40px #00000059
}

.board-wrap .placed-chips {
    position: absolute;
    display: grid;
    place-items: center;
    grid-template-areas: "chip";
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none
}

.placed-chips .chip {
    position: relative;
    grid-area: chip;
    width: 5.5vw;
    max-width: 30px;
    height: 5.5vw;
    max-height: 30px
}

.streets {
    display: grid;
    grid-area: board1;
    grid-template-columns: repeat(14, 1fr);
    grid-template-areas: ". st0 st1 st2 st3 st4 st5 st6 st7 st8 st9 st10 st11 .";
    pointer-events: none
}

.streets>div {
    height: 5%;
    position: relative;
    top: 57.5%;
    z-index: 110;
    pointer-events: all;
    cursor: pointer;
    border-radius: 3px;
    transition: background .12s
}

.streets>div:hover {
    background-color: #c9a94a73
}

.streets .placed-chips .chip {
    margin-top: -18%
}

.verts {
    display: grid;
    grid-area: board1;
    grid-template-columns: repeat(14, 1fr);
    grid-template-rows: 20% 20% 20%;
    grid-template-areas: ". . . . . . . . . . . . . ." ". ve0 ve1 ve2 ve3 ve4 ve5 ve6 ve7 ve8 ve9 ve10 ve11 ." ". ve12 ve13 ve14 ve15 ve16 ve17 ve18 ve19 ve20 ve21 ve22 ve23 .";
    align-items: start;
    justify-items: center;
    pointer-events: none
}

.verts>div {
    position: relative;
    width: 25%;
    height: 25%;
    top: -12.5%;
    z-index: 120;
    pointer-events: all;
    cursor: pointer;
    border-radius: 3px;
    transition: background .12s
}

.verts>div:hover {
    background-color: #c9a94a73
}

.horiz {
    display: grid;
    grid-area: board1;
    grid-template-columns: repeat(14, 1fr);
    grid-template-rows: 20% 20% 20%;
    grid-template-areas: ". ho0 ho1 ho2 ho3 ho4 ho5 ho6 ho7 ho8 ho9 ho10 ho11 ." ". ho12 ho13 ho14 ho15 ho16 ho17 ho18 ho19 ho20 ho21 ho22 ho23 ." ". ho24 ho25 ho26 ho27 ho28 ho29 ho30 ho31 ho32 ho33 ho34 ho35 .";
    align-items: center;
    justify-items: start;
    pointer-events: none
}

.horiz>div {
    position: relative;
    width: 25%;
    height: 25%;
    left: -12.5%;
    z-index: 130;
    pointer-events: all;
    cursor: pointer;
    border-radius: 3px;
    transition: background .12s
}

.horiz>div:hover {
    background-color: #c9a94a73
}

.squares {
    display: grid;
    grid-area: board1;
    grid-template-columns: repeat(14, 1fr);
    grid-template-rows: 20% 20% 20%;
    grid-template-areas: ". . . . . . . . . . . . . ." ". sq0 sq1 sq2 sq3 sq4 sq5 sq6 sq7 sq8 sq9 sq10 sq11 ." ". sq12 sq13 sq14 sq15 sq16 sq17 sq18 sq19 sq20 sq21 sq22 sq23 .";
    align-items: start;
    justify-items: start;
    pointer-events: none
}

.squares>div {
    position: relative;
    width: 25%;
    height: 25%;
    left: -12.5%;
    top: -12.5%;
    z-index: 150;
    pointer-events: all;
    cursor: pointer;
    border-radius: 3px;
    transition: background .12s
}

.squares>div:hover {
    background-color: #c9a94a73
}

.verts .placed-chips .chip svg,
.horiz .placed-chips .chip svg,
.squares .placed-chips .chip svg {
    position: relative;
    top: -38%;
    left: -38%
}

.board {
    width: 95vw;
    max-width: 750px;
    height: 33.9285714286vw;
    max-height: 267.8571428571px;
    display: grid;
    grid-area: board1;
    grid-template-columns: repeat(14, 1fr);
    grid-template-areas: "n0 n3 n6 n9 n12 n15 n18 n21 n24 n27 n30 n33 n36 x3" "n0 n2 n5 n8 n11 n14 n17 n20 n23 n26 n29 n32 n35 x2" "n0 n1 n4 n7 n10 n13 n16 n19 n22 n25 n28 n31 n34 x1" ".  z1 z1 z1  z1  z2  z2  z2  z2  z3  z3  z3  z3 ." ".   s  s  e   e   r   r   b   b   o   o   g   g ."
}

.board>div {
    display: grid;
    position: relative;
    place-items: center;
    text-transform: uppercase;
    border-top: 1px solid rgba(255, 255, 255, .2);
    border-right: 1px solid rgba(255, 255, 255, .2);
    z-index: 100;
    cursor: pointer;
    transition: filter .12s, brightness .12s;
    font-size: .9em;
    letter-spacing: .02em
}

.board>div:hover {
    filter: brightness(1.25)
}

.board .red {
    background-color: #c41e37
}

.board .black {
    background-color: #1a1415
}

.board>#n0 {
    background-color: #166534
}

.board>#s,
.board>#e,
.board>#r,
.board>#b,
.board>#o,
.board>#x1,
.board>#n0,
.board>#g {
    border-bottom: 1px solid rgba(255, 255, 255, .2)
}

.board>#n0,
.board>#s,
.board>#z1 {
    border-left: 1px solid rgba(255, 255, 255, .2)
}

.board>#z1,
.board>#z2,
.board>#z3,
.board>#s,
.board>#e,
.board>#o,
.board>#g,
.board>#x1,
.board>#x2,
.board>#x3 {
    background-color: #00000047;
    font-size: .78em;
    letter-spacing: .04em
}

.board #r svg,
.board #b svg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.board #r polygon {
    fill: #c41e37;
    stroke: #ffffff40
}

.board #b polygon {
    fill: #1a1415;
    stroke: #ffffff40
}

.wheel {
    height: 55vw;
    max-height: 320px;
    grid-area: wheel;
    place-self: center;
    transition-property: transform;
    width: 55vw;
    max-width: 320px;
    filter: drop-shadow(0 8px 32px rgba(0, 0, 0, .6))
}

.wheel.base {
    z-index: 10
}

.wheel.base text {
    text-anchor: middle;
    font-size: 19px;
    fill: #ffffffe6;
    font-weight: 500
}

.wheel.display {
    z-index: 20;
    fill: #fff
}

.wheel.ball {
    z-index: 30
}

.info {
    grid-area: info;
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    margin-top: -12px;
    background: #ffffff08;
    border: 1px solid rgba(255, 255, 255, .07);
    border-radius: 10px;
    width: min(95vw, 750px);
    margin-left: auto;
    margin-right: auto;
    padding: 8px 0
}

.info>div {
    min-width: 60px;
    padding-left: 16px
}

.info .bet {
    justify-self: end;
    padding-right: 16px
}

.info .label {
    margin: 0;
    padding: 0;
    font-weight: 300;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #ffffff8c
}

.info p {
    margin: 0;
    padding: 0;
    font-weight: 500;
    font-size: 16px;
    line-height: 20px
}

.info .padded {
    opacity: .4
}

.bet-select {
    grid-area: chips;
    margin: 4px auto;
    width: min(95vw, 750px);
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 6px;
    background: #ffffff08;
    border: 1px solid rgba(255, 255, 255, .07);
    border-radius: 12px;
    padding: 10px 8px
}

.chip,
.bet-option {
    width: auto;
    flex-shrink: 0
}

.bet-option {
    transition: all .25s cubic-bezier(.34, 1.56, .64, 1);
    cursor: pointer;
    position: relative
}

.bet-option.active {
    transform: translateY(-7px)
}

.bet-option.active:after {
    content: "";
    position: absolute;
    bottom: -6px;
    left: 50%;
    transform: translate(-50%);
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--gold-accent)
}

.bet-option svg {
    width: clamp(44px, 11vw, 58px);
    height: clamp(44px, 11vw, 58px)
}

.actions {
    grid-area: actions;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    width: min(95vw, 750px);
    margin: 4px auto 0
}

.roulette-history {
    grid-area: history;
    width: min(95vw, 760px);
    margin: 16px auto 0;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 14px;
    background: #060814b3;
    padding: 14px;
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px)
}

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

.roulette-history-header h3 {
    margin: 0;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #ffffffd9
}

.roulette-history-header span {
    font-size: 11px;
    opacity: .55;
    text-transform: uppercase;
    letter-spacing: .06em
}

.roulette-history-empty {
    margin: 0;
    font-size: 13px;
    opacity: .6
}

.roulette-history-recap {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 12px
}

.roulette-recap-card {
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 10px;
    background: #ffffff0a;
    padding: 8px 12px
}

.roulette-recap-card .label {
    margin: 0 0 3px;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .08em;
    opacity: .6
}

.roulette-recap-card .value {
    margin: 0;
    font-size: 20px;
    line-height: 1
}

.roulette-history-list {
    display: grid;
    gap: 5px
}

.roulette-history-item {
    display: grid;
    grid-template-columns: 64px 1fr 1fr 1fr;
    gap: 8px;
    align-items: center;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 8px;
    background: #ffffff08;
    padding: 6px 10px;
    font-size: 13px
}

.roulette-history-item .number,
.roulette-history-item .gain,
.roulette-recap-card .value {
    font-weight: 600
}

.roulette-history-item .gain.positive,
.roulette-recap-card .value.positive {
    color: #4ade80
}

.roulette-history-item .gain.negative,
.roulette-recap-card .value.negative {
    color: #f87171
}

.roulette-game button {
    font-family: Oswald, sans-serif;
    border: none;
    outline: 1px solid rgba(255, 255, 255, .22);
    outline-offset: -3px;
    padding: 8px 16px;
    margin: 0;
    text-decoration: none;
    text-transform: uppercase;
    background: #ffffff0d;
    color: #fff;
    font-weight: 500;
    font-size: 14px;
    letter-spacing: .06em;
    cursor: pointer;
    text-align: center;
    transition: background .2s ease, transform .12s ease, outline-color .2s ease;
    border-radius: 8px
}

.roulette-game button:hover,
.roulette-game button:focus {
    background: #ffffff1a;
    outline-color: #ffffff73
}

.roulette-game button:active {
    transform: scale(.97)
}

.roulette-game button[disabled],
.roulette-game .actions button[disabled] {
    opacity: .28;
    cursor: not-allowed
}

.roulette-game .actions button:not(.spin) {
    width: 52px;
    height: 52px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px
}

.roulette-game .actions button:first-child:not(.spin) {
    width: auto;
    min-width: 80px;
    height: 52px;
    padding: 0 10px
}

.roulette-game .actions button.respin {
    width: 84px;
    height: 52px;
    padding: 0
}

.roulette-game .actions button.login-cta {
    width: min(95vw, 680px);
    max-width: 680px;
    height: 52px;
    padding: 0 18px;
    border-radius: 12px;
    outline: none;
    background: linear-gradient(180deg, #1fbdfd, #3185ff);
    color: #fff;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: .06em;
    box-shadow: 0 8px 24px #3185ff59
}

.roulette-game .actions button.login-cta:hover,
.roulette-game .actions button.login-cta:focus {
    background: linear-gradient(180deg, #39caff, #4793ff)
}

.roulette-game button.spin {
    outline: none;
    padding: 0;
    font-weight: 500;
    width: 96px;
    height: 96px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    background: radial-gradient(circle at 40% 35%, #ffffff1a, #0000000d);
    border: 2px solid rgba(201, 169, 74, .55);
    box-shadow: 0 0 20px #c9a94a26, inset 0 1px #ffffff1a;
    transition: border-color .2s, box-shadow .2s, transform .12s
}

.roulette-game button.spin:not(:disabled):hover {
    border-color: #c9a94ae6;
    box-shadow: 0 0 32px #c9a94a4d, inset 0 1px #ffffff1f;
    background: #ffffff0d
}

.roulette-game button.spin .hover {
    transition: opacity .2s;
    opacity: 0
}

.roulette-game button:hover.spin .hover {
    opacity: 1
}

.roulette-game button.spin g {
    fill: #fff
}

.roulette-game button.spin circle {
    stroke: #c9a94acc
}

.roulette-game button.spin text {
    fill: #fff
}

.display svg {
    font-weight: 500;
    stroke: #eee;
    fill: #eee
}

.display circle.number.black {
    fill: #1a1415
}

.display circle.number.red {
    fill: #c41e37
}

.display circle.number.green {
    fill: #166534
}

.ball .inner-ball {
    margin-top: 40px;
    width: 26px;
    height: 28px
}

.ball-wrap {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: grid
}

.ball-wrap .inner-ball {
    padding-top: 75px;
    width: 26px;
    height: 100%;
    place-self: center
}

@media only screen and (max-width: 640px) {
    .roulette-game {
        padding: .75rem 0 1rem;
        row-gap: 8px
    }

    .board-wrap {
        font-size: 3vw;
        padding: 8px;
        width: 100%;
        overflow-x: auto;
        border-radius: 10px
    }

    .roulette-game button {
        font-size: clamp(11px, 3vw, 14px)
    }

    .roulette-game .info p {
        font-size: 15px
    }

    .roulette-game .info h5 {
        font-size: 10px
    }

    .bet-option svg {
        width: clamp(38px, 10vw, 52px) !important;
        height: clamp(38px, 10vw, 52px) !important
    }

    .placed-chips .chip {
        width: 3.6vw !important;
        max-width: 19px !important;
        height: 3.6vw !important;
        max-height: 19px !important;
        z-index: 200 !important;
        position: relative !important
    }

    .placed-chips .chip svg,
    .placed-chips .chip img {
        width: 100% !important;
        height: 100% !important;
        max-width: 100% !important;
        max-height: 100% !important
    }

    .streets .placed-chips .chip {
        margin-top: -15% !important
    }

    .board-wrap .placed-chips {
        display: grid !important;
        place-items: center !important;
        z-index: 150
    }

    .wheel {
        height: 68vw;
        width: 68vw;
        max-width: 340px;
        max-height: 340px
    }

    .display svg text {
        font-size: 16px !important
    }

    .display svg circle.number {
        r: 48
    }

    .display svg text[y="208"] {
        font-size: 44px !important;
        y: 206
    }

    .roulette-history {
        width: min(96vw, 680px);
        margin-top: 8px;
        padding: 10px
    }

    .roulette-history-header h3 {
        font-size: 13px
    }

    .roulette-history-item {
        grid-template-columns: 52px 1fr;
        font-size: 12px
    }

    .roulette-history-recap {
        grid-template-columns: 1fr
    }

    .actions {
        width: min(96vw, 420px);
        margin: 0 auto;
        padding: 4px 8px;
        overflow: visible;
        flex-wrap: wrap;
        gap: 10px
    }

    .roulette-game .actions button.login-cta {
        width: 100%;
        min-height: 48px;
        font-size: 16px;
        line-height: 1.2;
        letter-spacing: .04em
    }

    .roulette-history-header {
        align-items: flex-start;
        gap: 6px;
        flex-direction: column
    }

    .roulette-history-item {
        align-items: flex-start;
        gap: 6px 10px
    }

    .roulette-game button.spin {
        flex-shrink: 0
    }

    .roulette-game button.spin svg {
        width: 100%;
        height: 100%;
        display: block
    }

    .roulette-game button.spin text {
        font-size: clamp(12px, 3.5vw, 16px);
        letter-spacing: .8px;
        font-weight: 700
    }
}

@media only screen and (min-width: 812px) {
    .roulette-game {
        grid-template-areas: "board wheel" "board chips" "board info" "board actions" "history history";
        grid-template-columns: minmax(auto, 760px) minmax(auto, 380px);
        padding: 2rem 1rem;
        gap: 0 16px
    }

    .board-wrap {
        font-size: 1.9vw;
        margin: 0;
        align-self: start
    }

    .board {
        width: 58vw;
        height: 20.7142857143vw;
        max-width: 750px;
        max-height: 267.8571428571px
    }

    .info {
        margin-top: 0;
        margin-left: 0;
        margin-right: 0;
        width: 100%;
        border-radius: 8px
    }

    .info>div {
        padding-left: 20px
    }

    .info .bet {
        padding-right: 20px
    }

    .info h5 {
        font-size: 14px
    }

    .info p {
        font-size: 18px;
        line-height: 24px
    }

    .wheel {
        height: auto;
        max-height: none;
        width: 28vw;
        max-width: 300px;
        place-self: center
    }

    .bet-select {
        margin: 8px 0;
        width: 100%;
        gap: 5px;
        padding: 10px 6px;
        border-radius: 10px
    }

    .bet-option.active {
        transform: translateY(-9px)
    }

    .bet-option svg {
        width: auto !important;
        height: auto !important
    }

    .actions {
        gap: 12px;
        width: 100%;
        margin-left: 0;
        margin-right: 0
    }

    .roulette-game button {
        font-size: 18px;
        padding: 10px 18px
    }

    .roulette-game .actions button:not(.spin) {
        width: 58px;
        height: 58px
    }

    .roulette-game .actions button:first-child:not(.spin) {
        width: auto;
        min-width: 90px;
        height: 58px;
        padding: 0 10px
    }

    .roulette-game .actions button.respin {
        width: 96px;
        height: 58px;
        padding: 0
    }

    .roulette-game button.spin {
        width: 108px;
        height: 108px;
        font-size: 17px
    }

    .roulette-history {
        width: 100%;
        margin: 12px 0 0
    }
}

@media only screen and (min-width: 1024px) {
    .board-wrap {
        font-size: 18px
    }

    .wheel {
        width: 26vw;
        max-width: 320px
    }
}

@media only screen and (max-width: 430px) {
    .roulette-game {
        width: 100%;
        max-width: 100vw;
        overflow-x: hidden;
        overflow-y: auto;
        padding: 0 0 .75rem;
        min-height: auto;
        gap: 6px 0
    }

    .wheel {
        height: 60vw;
        max-height: 240px;
        width: 60vw;
        max-width: 240px;
        margin: 0 auto
    }

    .board-wrap {
        font-size: 2vw;
        margin: 0 auto 2px;
        transform: scale(.9);
        transform-origin: center center;
        border-radius: 8px;
        padding: 6px
    }

    .board {
        width: 96vw;
        height: 34.2857142857vw
    }

    .streets>div:active,
    .verts>div:active,
    .horiz>div:active,
    .squares>div:active {
        background-color: #c9a94a80
    }

    .bet-select {
        margin: 0 4px 2px;
        gap: 5px;
        width: 100%;
        max-width: 100vw;
        box-sizing: border-box;
        padding: 8px;
        border-radius: 8px
    }

    .bet-option {
        width: 46px;
        height: 46px;
        flex-shrink: 0
    }

    .bet-option .chip {
        width: 100%;
        height: 100%
    }

    .bet-option.active {
        transform: translateY(-5px)
    }

    .placed-chips .chip {
        width: 3.3vw !important;
        max-width: 17px !important;
        height: 3.3vw !important;
        max-height: 17px !important;
        z-index: 200 !important;
        position: relative !important
    }

    .placed-chips .chip svg,
    .placed-chips .chip img {
        width: 100% !important;
        height: 100% !important;
        max-width: 100% !important;
        max-height: 100% !important
    }

    .streets .placed-chips .chip {
        margin-top: -12% !important
    }

    .board-wrap .placed-chips {
        display: grid !important;
        place-items: center !important;
        z-index: 150
    }

    .actions {
        flex-direction: row;
        gap: 8px;
        padding: 4px 0;
        justify-content: center;
        align-items: center;
        margin-top: 0;
        min-height: 90px;
        position: relative;
        z-index: 50;
        width: 100%;
        max-width: 100vw;
        flex-wrap: nowrap;
        overflow: visible
    }

    .roulette-game .actions button:not(.spin) {
        width: 44px;
        height: 44px;
        min-height: 44px;
        flex-shrink: 0
    }

    .roulette-game .actions button:first-child:not(.spin) {
        width: auto;
        min-width: 62px;
        height: 44px;
        padding: 0 6px
    }

    .roulette-game .actions button.respin {
        width: 66px;
        height: 44px;
        padding: 0
    }

    .roulette-game button.spin {
        width: 80px;
        height: 80px;
        font-size: 13px;
        flex-shrink: 0;
        border: 2px solid rgba(201, 169, 74, .55) !important
    }

    .roulette-game button.spin text {
        font-size: 14px;
        letter-spacing: .8px;
        font-weight: 700
    }

    .info {
        grid-template-columns: 1fr 1fr;
        gap: 4px;
        margin: 0;
        width: 100%;
        border-radius: 8px
    }

    .info>div {
        padding-left: 14px
    }

    .info .bet {
        justify-self: end;
        padding-right: 14px
    }

    .info h5 {
        font-size: 10px
    }

    .info p {
        font-size: 14px;
        line-height: 17px
    }

    .display {
        text-align: center;
        word-break: break-word
    }

    .display svg text {
        font-size: 14px !important
    }

    .display svg circle.number {
        r: 43
    }

    .display svg text[y="208"],
    .display svg text[y="205"],
    .display svg text[y="206"] {
        font-size: 38px !important;
        y: 204
    }
}

.bj-game {
    width: 100%;
    color: #f4efff;
    --bj-height: clamp(560px, calc(100vh - 170px), 840px);
    min-height: var(--bj-height)
}

.bj-grid {
    display: grid;
    grid-template-columns: 270px minmax(0, 1fr);
    gap: 10px;
    align-items: stretch;
    min-height: var(--bj-height)
}

.bj-main {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) clamp(300px, 24vw, 360px);
    gap: 10px;
    align-items: stretch;
    min-height: var(--bj-height)
}

.bj-panel {
    min-height: var(--bj-height)
}

.bj-panel-shell {
    height: 100%;
    border-radius: 12px;
    border: 1px solid rgba(123, 47, 255, .28);
    background: linear-gradient(180deg, #120a28d1, #0b051bb8);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 14px
}

.bj-panel-title-row {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 10px
}

.bj-chip-count {
    color: #f4efff;
    font-size: 17px;
    font-weight: 500;
    letter-spacing: .01em
}

.bj-bet-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #c4b4f8b8;
    font-size: 12px;
    font-weight: 500
}

.bj-bet-row {
    display: grid;
    grid-template-columns: 1fr 46px 46px 46px;
    gap: 2px;
    background: #08041499;
    border-radius: 7px;
    overflow: hidden;
    border: 1px solid rgba(123, 47, 255, .25)
}

.bj-bet-row input {
    height: 34px;
    border: 0;
    background: #120a28cc;
    color: #f4efff;
    padding: 0 10px;
    font-size: 20px;
    font-weight: 600;
    outline: none
}

.bj-bet-row button {
    border: 0;
    background: #7b2fff1f;
    color: #c4b4f8;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: background .15s
}

.bj-bet-row button:hover:not(:disabled) {
    background: #7b2fff3d
}

.bj-actions-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px
}

.bj-actions-grid button {
    height: 44px;
    border: 1px solid rgba(123, 47, 255, .28);
    border-radius: 6px;
    background: #7b2fff1a;
    color: #f4efff;
    font-size: 15px;
    font-weight: 500;
    cursor: pointer;
    transition: background .15s, border-color .15s
}

.bj-actions-grid button:hover:not(:disabled) {
    background: #7b2fff38;
    border-color: #7b2fff80
}

.bj-action-inner {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px
}

.bj-actions-grid button:disabled,
.bj-bet-row button:disabled,
.bj-primary-action:disabled {
    opacity: .4;
    cursor: not-allowed
}

.bj-primary-action {
    margin-top: 2px;
    width: 100%;
    height: 44px;
    border: 0;
    border-radius: 8px;
    background: linear-gradient(90deg, #7b2fff, #a060ff);
    color: #fff;
    font-weight: 700;
    font-size: 16px;
    cursor: pointer;
    letter-spacing: .02em;
    transition: opacity .15s
}

.bj-primary-action:hover:not(:disabled) {
    opacity: .88
}

.bj-panel-foot {
    margin-top: auto
}

.bj-panel-foot p {
    margin: 0;
    color: #c4b4f8b3;
    font-size: 12px
}

.bj-error {
    margin-top: 6px !important;
    color: #ffb4be !important
}

.bj-success {
    margin-top: 6px !important;
    color: #c7ffd8 !important;
    display: inline-flex !important;
    align-items: center;
    gap: 6px
}

.bj-table {
    min-width: 0
}

.bj-felt {
    position: relative;
    min-height: var(--bj-height);
    border-radius: 12px;
    border: 1px solid rgba(123, 47, 255, .18);
    background: radial-gradient(ellipse at 50% 0%, rgba(80, 30, 180, .18) 0%, transparent 60%), radial-gradient(ellipse at 50% 100%, rgba(40, 10, 80, .22) 0%, transparent 60%), #09041a;
    overflow: hidden
}

.bj-felt:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: radial-gradient(ellipse at 50% 50%, rgba(123, 47, 255, .04) 0%, transparent 70%);
    pointer-events: none
}

.bj-deck-stack {
    position: absolute;
    top: 14px;
    right: 18px
}

.bj-deck-card-back {
    width: 62px;
    height: 88px;
    border-radius: 8px;
    border: 2px solid rgba(123, 47, 255, .6);
    background: linear-gradient(145deg, #120a28f2, #080414fa), repeating-linear-gradient(45deg, rgba(123, 47, 255, .14) 0 8px, transparent 8px 16px);
    box-shadow: 0 8px 28px #00000080
}

.bj-payout-banner {
    position: absolute;
    left: 50%;
    top: 232px;
    transform: translate(-50%);
    width: 250px;
    height: 58px;
    background: linear-gradient(180deg, #1e0f41cc, #0f0823b3);
    clip-path: polygon(0 18%, 9% 18%, 13% 50%, 9% 82%, 0 82%, 7% 50%, 0 18%, 100% 18%, 93% 50%, 100% 82%, 91% 82%, 87% 50%, 91% 18%);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 5px;
    color: #c4b4f8e6;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .03em
}

.bj-zone {
    position: relative;
    z-index: 2;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto
}

.bj-dealer-zone {
    margin-top: 60px
}

.bj-player-zone {
    margin-top: 130px
}

.bj-cards-row {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 130px
}

.bj-cards-row.compact {
    min-height: 118px
}

.bj-cards-row .bj-card+.bj-card {
    margin-left: -28px
}

.bj-card {
    position: relative;
    width: 100px;
    height: 140px;
    border-radius: 12px;
    border: 1px solid rgba(210, 220, 240, .4);
    background: linear-gradient(160deg, #fff, #eef2fc);
    box-shadow: 0 12px 32px #0000008c, 0 2px 6px #0000004d, inset 0 1px #ffffffe6;
    color: #111826;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    transform-style: preserve-3d;
    backface-visibility: hidden
}

.bj-card.red {
    color: #b8122e
}

.bj-card .corner {
    position: absolute;
    font-weight: 900;
    font-size: 20px;
    line-height: 1;
    letter-spacing: -.5px
}

.bj-card .corner.top {
    top: 9px;
    left: 10px
}

.bj-card .corner.bottom {
    bottom: 9px;
    right: 10px;
    transform: rotate(180deg)
}

.bj-card .center {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    font-size: 58px;
    font-weight: 900;
    opacity: .82
}

.bj-card.flip-card {
    background: transparent;
    border: 0;
    box-shadow: 0 10px 24px #070a1280;
    overflow: hidden;
    perspective: 1200px;
    isolation: isolate
}

.flip-card-inner {
    position: relative;
    width: 100%;
    height: 100%;
    transform-style: preserve-3d;
    will-change: transform;
    transform: rotateY(180deg)
}

.card-face {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    border-radius: 10px;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    overflow: hidden
}

.card-face.card-front {
    border: 1px solid rgba(19, 24, 36, .16);
    background: linear-gradient(180deg, #f8f9fc, #ecf1fb);
    transform: rotateY(0) translateZ(.1px)
}

.bj-card.flip-card .card-face.card-front {
    color: #111826
}

.bj-card.flip-card.red .card-face.card-front {
    color: #c0102e
}

.card-face.card-back {
    border: 2px solid rgba(123, 47, 255, .7);
    background: linear-gradient(145deg, #13083a, #0a0420);
    transform: rotateY(180deg) translateZ(.1px)
}

.back-logo {
    position: absolute;
    top: 6px;
    right: 6px;
    bottom: 6px;
    left: 6px;
    border: 1px solid rgba(123, 47, 255, .35);
    border-radius: 7px;
    background: repeating-linear-gradient(45deg, rgba(123, 47, 255, .1) 0 4px, transparent 4px 8px), repeating-linear-gradient(-45deg, rgba(160, 96, 255, .08) 0 4px, transparent 4px 8px)
}

.bj-score-pill {
    width: 52px;
    height: 24px;
    border-radius: 999px;
    background: linear-gradient(180deg, #28145af2, #190c37e6);
    color: #c4b4f8;
    font-size: 14px;
    font-weight: 900;
    display: grid;
    place-items: center;
    margin: 0 auto 10px
}

.bj-score-pill.player {
    margin-top: 8px
}

.bj-hands-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    width: min(620px, calc(100vw - 360px))
}

.bj-hand-block {
    display: flex;
    flex-direction: column;
    align-items: center;
    border-radius: 10px;
    border: 1px solid transparent;
    padding: 6px 6px 4px
}

.bj-hand-block.active {
    border-color: #7b2fff80;
    box-shadow: inset 0 0 0 1px #7b2fff3d
}

.bj-chips-line,
.bj-hand-outcome {
    margin-top: 5px;
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    color: #c4b4f8c7
}

.bj-chip {
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 999px;
    padding: 2px 8px;
    font-size: 10px
}

.bj-chip.result-win,
.bj-tag.win {
    background: #40b87a3d;
    border-color: #94ffc35c
}

.bj-chip.result-lose,
.bj-tag.lose {
    background: #bc46593d;
    border-color: #ff9baa5c
}

.bj-chip.result-push,
.bj-tag.push {
    background: #7b2fff3d;
    border-color: #c4a0ff5c
}

.bj-chip.result-blackjack,
.bj-tag.blackjack {
    background: #5482d03d;
    border-color: #95d3ff5c
}

.positive {
    color: #99f6b3
}

.negative {
    color: #feb3c0
}

.bj-history {
    border-radius: 8px;
    border: 1px solid rgba(123, 47, 255, .2);
    background: linear-gradient(180deg, #120a2899, #0b051b80);
    padding: 12px
}

.bj-history-side {
    margin-top: 0;
    min-height: var(--bj-height);
    max-height: var(--bj-height);
    display: flex;
    flex-direction: column
}

.bj-history-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 8px
}

.bj-history-header h4 {
    margin: 0;
    font-size: 14px;
    color: #f4efff
}

.bj-history-header span,
.bj-history-empty {
    margin: 0;
    color: #c4b4f8b3;
    font-size: 12px
}

.bj-history ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 6px
}

.bj-history-side ul {
    flex: 1;
    min-height: 0;
    overflow-y: auto
}

.bj-history li {
    display: grid;
    grid-template-columns: 86px minmax(0, 1fr) 66px minmax(0, 1fr);
    gap: 6px;
    align-items: center;
    border: 1px solid rgba(123, 47, 255, .16);
    border-radius: 8px;
    background: #7b2fff0d;
    padding: 6px 8px;
    font-size: 11px;
    color: #c4b4f8d9
}

.bj-tag {
    display: inline-flex;
    justify-content: center;
    border-radius: 999px;
    border: 1px solid transparent;
    padding: 2px 8px;
    font-weight: 800
}

.bj-card.is-dealt {
    animation: bj-deal-in var(--deal-duration, .78s) cubic-bezier(.18, .86, .22, 1) both;
    animation-delay: var(--deal-delay, 0ms)
}

.bj-card.flip-reveal {
    transform-origin: center center
}

.bj-card.flip-reveal .flip-card-inner {
    animation: bj-flip-reveal var(--flip-duration, 1.1s) cubic-bezier(.22, .7, .18, 1) both
}

.bj-card.flip-card.is-revealed .flip-card-inner {
    transform: rotateY(0)
}

@keyframes bj-deal-in {
    0% {
        opacity: 0;
        transform: translate(170px, -120px) scale(.72) rotate(-8deg)
    }

    70% {
        opacity: 1;
        transform: translate(0) scale(1.04) rotate(0)
    }

    to {
        opacity: 1;
        transform: translate(0) scale(1) rotate(0)
    }
}

@keyframes bj-flip-reveal {
    0% {
        transform: rotateY(180deg)
    }

    to {
        transform: rotateY(0)
    }
}

@media (max-width: 1024px) {
    .bj-game {
        min-height: 0
    }

    .bj-grid {
        grid-template-columns: 1fr;
        min-height: 0
    }

    .bj-main {
        grid-template-columns: minmax(0, 1fr) 260px;
        min-height: 0
    }

    .bj-panel {
        min-height: 0
    }

    .bj-felt {
        min-height: 500px
    }

    .bj-hands-grid {
        width: min(620px, calc(100vw - 40px))
    }

    .bj-payout-banner {
        top: 214px
    }

    .bj-history-side {
        min-height: 0;
        max-height: none
    }
}

@media (max-width: 820px) {
    .bj-main {
        grid-template-columns: 1fr
    }

    .bj-history-side {
        min-height: 0;
        max-height: none
    }
}

@media (max-width: 720px) {
    .bj-game {
        --bj-height: auto;
        min-height: 0
    }

    .bj-grid,
    .bj-main,
    .bj-panel,
    .bj-history-side {
        min-height: 0
    }

    .bj-main {
        gap: 12px
    }

    .bj-panel-shell {
        padding: 14px
    }

    .bj-felt {
        min-height: 360px
    }

    .bj-dealer-zone {
        margin-top: 16px
    }

    .bj-player-zone {
        margin-top: 46px
    }

    .bj-card {
        width: 54px;
        height: 76px;
        border-radius: 8px
    }

    .bj-card .corner {
        font-size: 13px
    }

    .bj-card .center {
        font-size: 32px
    }

    .bj-cards-row .bj-card+.bj-card {
        margin-left: -14px
    }

    .bj-hands-grid {
        grid-template-columns: 1fr;
        gap: 8px;
        width: min(100%, 360px)
    }

    .bj-payout-banner {
        display: none
    }

    .bj-history li {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .bj-history-side ul {
        overflow: visible
    }

    .bj-bet-row {
        grid-template-columns: minmax(0, 1fr) 42px 42px 42px
    }

    .bj-bet-row input {
        font-size: 18px
    }

    .bj-actions-grid {
        grid-template-columns: 1fr 1fr
    }

    .bj-actions-grid button,
    .bj-primary-action {
        min-height: 46px
    }
}

@media (max-width: 540px) {

    .bj-grid,
    .bj-main {
        gap: 10px
    }

    .bj-panel-title-row,
    .bj-bet-meta {
        flex-wrap: wrap;
        gap: 6px
    }

    .bj-felt {
        min-height: 320px
    }

    .bj-history li {
        grid-template-columns: 1fr;
        gap: 5px
    }

    .bj-chip-count {
        font-size: 15px
    }

    .bj-actions-grid {
        grid-template-columns: 1fr
    }
}

*,
:before,
:after {
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x: ;
    --tw-pan-y: ;
    --tw-pinch-zoom: ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position: ;
    --tw-gradient-via-position: ;
    --tw-gradient-to-position: ;
    --tw-ordinal: ;
    --tw-slashed-zero: ;
    --tw-numeric-figure: ;
    --tw-numeric-spacing: ;
    --tw-numeric-fraction: ;
    --tw-ring-inset: ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgb(59 130 246 / .5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur: ;
    --tw-brightness: ;
    --tw-contrast: ;
    --tw-grayscale: ;
    --tw-hue-rotate: ;
    --tw-invert: ;
    --tw-saturate: ;
    --tw-sepia: ;
    --tw-drop-shadow: ;
    --tw-backdrop-blur: ;
    --tw-backdrop-brightness: ;
    --tw-backdrop-contrast: ;
    --tw-backdrop-grayscale: ;
    --tw-backdrop-hue-rotate: ;
    --tw-backdrop-invert: ;
    --tw-backdrop-opacity: ;
    --tw-backdrop-saturate: ;
    --tw-backdrop-sepia: ;
    --tw-contain-size: ;
    --tw-contain-layout: ;
    --tw-contain-paint: ;
    --tw-contain-style:
}

::backdrop {
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x: ;
    --tw-pan-y: ;
    --tw-pinch-zoom: ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position: ;
    --tw-gradient-via-position: ;
    --tw-gradient-to-position: ;
    --tw-ordinal: ;
    --tw-slashed-zero: ;
    --tw-numeric-figure: ;
    --tw-numeric-spacing: ;
    --tw-numeric-fraction: ;
    --tw-ring-inset: ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgb(59 130 246 / .5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur: ;
    --tw-brightness: ;
    --tw-contrast: ;
    --tw-grayscale: ;
    --tw-hue-rotate: ;
    --tw-invert: ;
    --tw-saturate: ;
    --tw-sepia: ;
    --tw-drop-shadow: ;
    --tw-backdrop-blur: ;
    --tw-backdrop-brightness: ;
    --tw-backdrop-contrast: ;
    --tw-backdrop-grayscale: ;
    --tw-backdrop-hue-rotate: ;
    --tw-backdrop-invert: ;
    --tw-backdrop-opacity: ;
    --tw-backdrop-saturate: ;
    --tw-backdrop-sepia: ;
    --tw-contain-size: ;
    --tw-contain-layout: ;
    --tw-contain-paint: ;
    --tw-contain-style:
}

*,
:before,
:after {
    box-sizing: border-box;
    border-width: 0;
    border-style: solid;
    border-color: #e5e7eb
}

:before,
:after {
    --tw-content: ""
}

html,
:host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    -moz-tab-size: 4;
    -o-tab-size: 4;
    tab-size: 4;
    font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", Segoe UI Symbol, "Noto Color Emoji";
    font-feature-settings: normal;
    font-variation-settings: normal;
    -webkit-tap-highlight-color: transparent
}

body {
    margin: 0;
    line-height: inherit
}

hr {
    height: 0;
    color: inherit;
    border-top-width: 1px
}

abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-size: inherit;
    font-weight: inherit
}

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

b,
strong {
    font-weight: bolder
}

code,
kbd,
samp,
pre {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;
    font-feature-settings: normal;
    font-variation-settings: normal;
    font-size: 1em
}

small {
    font-size: 80%
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse
}

button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    font-size: 100%;
    font-weight: inherit;
    line-height: inherit;
    letter-spacing: inherit;
    color: inherit;
    margin: 0;
    padding: 0
}

button,
select {
    text-transform: none
}

button,
input:where([type=button]),
input:where([type=reset]),
input:where([type=submit]) {
    -webkit-appearance: button;
    background-color: transparent;
    background-image: none
}

:-moz-focusring {
    outline: auto
}

:-moz-ui-invalid {
    box-shadow: none
}

progress {
    vertical-align: baseline
}

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

summary {
    display: list-item
}

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
    margin: 0
}

fieldset {
    margin: 0;
    padding: 0
}

legend {
    padding: 0
}

ol,
ul,
menu {
    list-style: none;
    margin: 0;
    padding: 0
}

dialog {
    padding: 0
}

textarea {
    resize: vertical
}

input::-moz-placeholder,
textarea::-moz-placeholder {
    opacity: 1;
    color: #9ca3af
}

input::placeholder,
textarea::placeholder {
    opacity: 1;
    color: #9ca3af
}

button,
[role=button] {
    cursor: pointer
}

:disabled {
    cursor: default
}

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
    display: block;
    vertical-align: middle
}

img,
video {
    max-width: 100%;
    height: auto
}

[hidden]:where(:not([hidden=until-found])) {
    display: none
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0
}

.pointer-events-none {
    pointer-events: none
}

.visible {
    visibility: visible
}

.collapse {
    visibility: collapse
}

.static {
    position: static
}

.fixed {
    position: fixed
}

.absolute {
    position: absolute
}

.relative {
    position: relative
}

.inset-0 {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0
}

.inset-x-0 {
    left: 0;
    right: 0
}

.bottom-0 {
    bottom: 0
}

.left-1\/2 {
    left: 50%
}

.left-2 {
    left: .5rem
}

.left-3 {
    left: .75rem
}

.left-4 {
    left: 1rem
}

.top-0 {
    top: 0
}

.top-1 {
    top: .25rem
}

.top-1\/2 {
    top: 50%
}

.isolate {
    isolation: isolate
}

.z-10 {
    z-index: 10
}

.z-20 {
    z-index: 20
}

.z-50 {
    z-index: 50
}

.z-\[90\] {
    z-index: 90
}

.order-1 {
    order: 1
}

.order-2 {
    order: 2
}

.order-3 {
    order: 3
}

.order-4 {
    order: 4
}

.order-5 {
    order: 5
}

.order-6 {
    order: 6
}

.mx-auto {
    margin-left: auto;
    margin-right: auto
}

.mb-1 {
    margin-bottom: .25rem
}

.mb-2 {
    margin-bottom: .5rem
}

.mb-3 {
    margin-bottom: .75rem
}

.mb-4 {
    margin-bottom: 1rem
}

.mb-5 {
    margin-bottom: 1.25rem
}

.mb-6 {
    margin-bottom: 1.5rem
}

.mb-8 {
    margin-bottom: 2rem
}

.mr-1 {
    margin-right: .25rem
}

.mt-1 {
    margin-top: .25rem
}

.mt-12 {
    margin-top: 3rem
}

.mt-16 {
    margin-top: 4rem
}

.mt-2 {
    margin-top: .5rem
}

.mt-3 {
    margin-top: .75rem
}

.mt-4 {
    margin-top: 1rem
}

.mt-5 {
    margin-top: 1.25rem
}

.mt-6 {
    margin-top: 1.5rem
}

.mt-8 {
    margin-top: 2rem
}

.block {
    display: block
}

.inline-block {
    display: inline-block
}

.inline {
    display: inline
}

.flex {
    display: flex
}

.inline-flex {
    display: inline-flex
}

.table {
    display: table
}

.grid {
    display: grid
}

.hidden {
    display: none
}

.h-10 {
    height: 2.5rem
}

.h-11 {
    height: 2.75rem
}

.h-12 {
    height: 3rem
}

.h-3 {
    height: .75rem
}

.h-4 {
    height: 1rem
}

.h-5 {
    height: 1.25rem
}

.h-6 {
    height: 1.5rem
}

.h-64 {
    height: 16rem
}

.h-8 {
    height: 2rem
}

.h-9 {
    height: 2.25rem
}

.h-\[48px\] {
    height: 48px
}

.h-\[520px\] {
    height: 520px
}

.h-\[98px\] {
    height: 98px
}

.h-\[clamp\(10px\,0\.352px\+2\.609vw\,14px\)\] {
    height: clamp(10px, .352px + 2.609vw, 14px)
}

.h-full {
    height: 100%
}

.max-h-\[90vh\] {
    max-height: 90vh
}

.min-h-\[124px\] {
    min-height: 124px
}

.min-h-\[232px\] {
    min-height: 232px
}

.min-h-\[278px\] {
    min-height: 278px
}

.min-h-screen {
    min-height: 100vh
}

.w-11 {
    width: 2.75rem
}

.w-12 {
    width: 3rem
}

.w-3 {
    width: .75rem
}

.w-4 {
    width: 1rem
}

.w-5 {
    width: 1.25rem
}

.w-6 {
    width: 1.5rem
}

.w-8 {
    width: 2rem
}

.w-\[70px\] {
    width: 70px
}

.w-full {
    width: 100%
}

.min-w-0 {
    min-width: 0px
}

.max-w-4xl {
    max-width: 56rem
}

.max-w-7xl {
    max-width: 80rem
}

.max-w-\[1100px\] {
    max-width: 1100px
}

.max-w-\[1280px\] {
    max-width: 1280px
}

.max-w-\[500px\] {
    max-width: 500px
}

.max-w-\[920px\] {
    max-width: 920px
}

.max-w-md {
    max-width: 28rem
}

.flex-1 {
    flex: 1 1 0%
}

.-translate-x-1\/2 {
    --tw-translate-x: -50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.-translate-y-1\/2 {
    --tw-translate-y: -50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.-translate-y-\[42\%\] {
    --tw-translate-y: -42%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.translate-y-1\/2 {
    --tw-translate-y: 50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.transform {
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

@keyframes spin {
    to {
        transform: rotate(360deg)
    }
}

.animate-spin {
    animation: spin 1s linear infinite
}

.cursor-pointer {
    cursor: pointer
}

.resize {
    resize: both
}

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

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

.grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr))
}

.grid-cols-\[120px_1\.2fr_1fr_160px\] {
    grid-template-columns: 120px 1.2fr 1fr 160px
}

.grid-cols-\[1fr_46px_46px_52px\] {
    grid-template-columns: 1fr 46px 46px 52px
}

.flex-col {
    flex-direction: column
}

.flex-wrap {
    flex-wrap: wrap
}

.items-end {
    align-items: flex-end
}

.items-center {
    align-items: center
}

.justify-end {
    justify-content: flex-end
}

.justify-center {
    justify-content: center
}

.justify-between {
    justify-content: space-between
}

.gap-2 {
    gap: .5rem
}

.gap-2\.5 {
    gap: .625rem
}

.gap-3 {
    gap: .75rem
}

.gap-4 {
    gap: 1rem
}

.gap-5 {
    gap: 1.25rem
}

.gap-6 {
    gap: 1.5rem
}

.gap-\[0\.5\%\] {
    gap: .5%
}

.space-y-1\.5>:not([hidden])~:not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(.375rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(.375rem * var(--tw-space-y-reverse))
}

.space-y-2>:not([hidden])~:not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(.5rem * var(--tw-space-y-reverse))
}

.space-y-3>:not([hidden])~:not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(.75rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(.75rem * var(--tw-space-y-reverse))
}

.space-y-4>:not([hidden])~:not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1rem * var(--tw-space-y-reverse))
}

.space-y-6>:not([hidden])~:not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1.5rem * var(--tw-space-y-reverse))
}

.overflow-hidden {
    overflow: hidden
}

.overflow-visible {
    overflow: visible
}

.overflow-y-auto {
    overflow-y: auto
}

.truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.break-all {
    word-break: break-all
}

.rounded {
    border-radius: .25rem
}

.rounded-2xl {
    border-radius: 1rem
}

.rounded-\[10px\] {
    border-radius: 10px
}

.rounded-\[14px\] {
    border-radius: 14px
}

.rounded-\[15px\] {
    border-radius: 15px
}

.rounded-\[16px\] {
    border-radius: 16px
}

.rounded-\[20px\] {
    border-radius: 20px
}

.rounded-\[22px\] {
    border-radius: 22px
}

.rounded-\[24px\] {
    border-radius: 24px
}

.rounded-\[26px\] {
    border-radius: 26px
}

.rounded-\[30px\] {
    border-radius: 30px
}

.rounded-\[34px\] {
    border-radius: 34px
}

.rounded-full {
    border-radius: 9999px
}

.rounded-lg {
    border-radius: .5rem
}

.rounded-md {
    border-radius: .375rem
}

.rounded-xl {
    border-radius: .75rem
}

.border {
    border-width: 1px
}

.border-2 {
    border-width: 2px
}

.border-b-2 {
    border-bottom-width: 2px
}

.border-l {
    border-left-width: 1px
}

.border-dashed {
    border-style: dashed
}

.border-\[\#23324a\] {
    --tw-border-opacity: 1;
    border-color: rgb(35 50 74 / var(--tw-border-opacity, 1))
}

.border-\[\#2a3a58\] {
    --tw-border-opacity: 1;
    border-color: rgb(42 58 88 / var(--tw-border-opacity, 1))
}

.border-\[\#2b5378\] {
    --tw-border-opacity: 1;
    border-color: rgb(43 83 120 / var(--tw-border-opacity, 1))
}

.border-\[\#2d3e5d\] {
    --tw-border-opacity: 1;
    border-color: rgb(45 62 93 / var(--tw-border-opacity, 1))
}

.border-\[\#45b9ff\]\/50 {
    border-color: #45b9ff80
}

.border-\[\#58ebfe\] {
    --tw-border-opacity: 1;
    border-color: rgb(88 235 254 / var(--tw-border-opacity, 1))
}

.border-\[\#58ebfe\]\/40 {
    border-color: #58ebfe66
}

.border-\[\#59b7ff\]\/15 {
    border-color: #59b7ff26
}

.border-\[\#59b7ff\]\/20 {
    border-color: #59b7ff33
}

.border-\[\#c08fff\] {
    --tw-border-opacity: 1;
    border-color: rgb(192 143 255 / var(--tw-border-opacity, 1))
}

.border-\[rgba\(123\,47\,255\,0\.3\)\] {
    border-color: #7b2fff4d
}

.border-amber-400\/60 {
    border-color: #fbbf2499
}

.border-cyan-300\/70 {
    border-color: #67e8f9b3
}

.border-emerald-400\/30 {
    border-color: #34d3994d
}

.border-emerald-400\/60 {
    border-color: #34d39999
}

.border-emerald-500\/30 {
    border-color: #10b9814d
}

.border-indigo-400\/30 {
    border-color: #818cf84d
}

.border-purple-400\/50 {
    border-color: #c084fc80
}

.border-purple-500\/50 {
    border-color: #a855f780
}

.border-red-400\/30 {
    border-color: #f871714d
}

.border-red-400\/40 {
    border-color: #f8717166
}

.border-red-500 {
    --tw-border-opacity: 1;
    border-color: rgb(239 68 68 / var(--tw-border-opacity, 1))
}

.border-red-500\/20 {
    border-color: #ef444433
}

.border-red-500\/30 {
    border-color: #ef44444d
}

.border-rose-400\/60 {
    border-color: #fb718599
}

.border-white\/10 {
    border-color: #ffffff1a
}

.border-white\/15 {
    border-color: #ffffff26
}

.border-white\/20 {
    border-color: #fff3
}

.border-yellow-500\/30 {
    border-color: #eab3084d
}

.bg-\[\#08111d\] {
    --tw-bg-opacity: 1;
    background-color: rgb(8 17 29 / var(--tw-bg-opacity, 1))
}

.bg-\[\#090c16\] {
    --tw-bg-opacity: 1;
    background-color: rgb(9 12 22 / var(--tw-bg-opacity, 1))
}

.bg-\[\#0C101D\] {
    --tw-bg-opacity: 1;
    background-color: rgb(12 16 29 / var(--tw-bg-opacity, 1))
}

.bg-\[\#0b1524\] {
    --tw-bg-opacity: 1;
    background-color: rgb(11 21 36 / var(--tw-bg-opacity, 1))
}

.bg-\[\#0d131f\] {
    --tw-bg-opacity: 1;
    background-color: rgb(13 19 31 / var(--tw-bg-opacity, 1))
}

.bg-\[\#0d1524\] {
    --tw-bg-opacity: 1;
    background-color: rgb(13 21 36 / var(--tw-bg-opacity, 1))
}

.bg-\[\#0f1320\] {
    --tw-bg-opacity: 1;
    background-color: rgb(15 19 32 / var(--tw-bg-opacity, 1))
}

.bg-\[\#0f192b\] {
    --tw-bg-opacity: 1;
    background-color: rgb(15 25 43 / var(--tw-bg-opacity, 1))
}

.bg-\[\#0f2237\] {
    --tw-bg-opacity: 1;
    background-color: rgb(15 34 55 / var(--tw-bg-opacity, 1))
}

.bg-\[\#0f2a56\] {
    --tw-bg-opacity: 1;
    background-color: rgb(15 42 86 / var(--tw-bg-opacity, 1))
}

.bg-\[\#0f6b48\] {
    --tw-bg-opacity: 1;
    background-color: rgb(15 107 72 / var(--tw-bg-opacity, 1))
}

.bg-\[\#0f9d6f\] {
    --tw-bg-opacity: 1;
    background-color: rgb(15 157 111 / var(--tw-bg-opacity, 1))
}

.bg-\[\#10263b\] {
    --tw-bg-opacity: 1;
    background-color: rgb(16 38 59 / var(--tw-bg-opacity, 1))
}

.bg-\[\#111a2a\] {
    --tw-bg-opacity: 1;
    background-color: rgb(17 26 42 / var(--tw-bg-opacity, 1))
}

.bg-\[\#121d31\] {
    --tw-bg-opacity: 1;
    background-color: rgb(18 29 49 / var(--tw-bg-opacity, 1))
}

.bg-\[\#12263b\] {
    --tw-bg-opacity: 1;
    background-color: rgb(18 38 59 / var(--tw-bg-opacity, 1))
}

.bg-\[\#1a2438\] {
    --tw-bg-opacity: 1;
    background-color: rgb(26 36 56 / var(--tw-bg-opacity, 1))
}

.bg-\[\#1d4f91\] {
    --tw-bg-opacity: 1;
    background-color: rgb(29 79 145 / var(--tw-bg-opacity, 1))
}

.bg-\[\#1f7eff\] {
    --tw-bg-opacity: 1;
    background-color: rgb(31 126 255 / var(--tw-bg-opacity, 1))
}

.bg-\[\#2453c5\] {
    --tw-bg-opacity: 1;
    background-color: rgb(36 83 197 / var(--tw-bg-opacity, 1))
}

.bg-\[\#25324a\] {
    --tw-bg-opacity: 1;
    background-color: rgb(37 50 74 / var(--tw-bg-opacity, 1))
}

.bg-\[\#2a364d\] {
    --tw-bg-opacity: 1;
    background-color: rgb(42 54 77 / var(--tw-bg-opacity, 1))
}

.bg-\[\#43327a\] {
    --tw-bg-opacity: 1;
    background-color: rgb(67 50 122 / var(--tw-bg-opacity, 1))
}

.bg-\[\#58ebfe\] {
    --tw-bg-opacity: 1;
    background-color: rgb(88 235 254 / var(--tw-bg-opacity, 1))
}

.bg-\[\#58ebfe\]\/20 {
    background-color: #58ebfe33
}

.bg-\[\#7a1f3d\] {
    --tw-bg-opacity: 1;
    background-color: rgb(122 31 61 / var(--tw-bg-opacity, 1))
}

.bg-\[\#b45309\] {
    --tw-bg-opacity: 1;
    background-color: rgb(180 83 9 / var(--tw-bg-opacity, 1))
}

.bg-\[\#c2410c\] {
    --tw-bg-opacity: 1;
    background-color: rgb(194 65 12 / var(--tw-bg-opacity, 1))
}

.bg-\[rgba\(27\,14\,52\,0\.8\)\] {
    background-color: #1b0e34cc
}

.bg-amber-500\/10 {
    background-color: #f59e0b1a
}

.bg-amber-500\/20 {
    background-color: #f59e0b33
}

.bg-black\/60 {
    background-color: #0009
}

.bg-cyan-400\/20 {
    background-color: #22d3ee33
}

.bg-emerald-500 {
    --tw-bg-opacity: 1;
    background-color: rgb(16 185 129 / var(--tw-bg-opacity, 1))
}

.bg-emerald-500\/10 {
    background-color: #10b9811a
}

.bg-emerald-500\/15 {
    background-color: #10b98126
}

.bg-emerald-500\/20 {
    background-color: #10b98133
}

.bg-gray-500\/20 {
    background-color: #6b728033
}

.bg-green-600 {
    --tw-bg-opacity: 1;
    background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1))
}

.bg-indigo-500\/20 {
    background-color: #6366f133
}

.bg-purple-500\/10 {
    background-color: #a855f71a
}

.bg-purple-500\/20 {
    background-color: #a855f733
}

.bg-purple-600 {
    --tw-bg-opacity: 1;
    background-color: rgb(147 51 234 / var(--tw-bg-opacity, 1))
}

.bg-red-500\/10 {
    background-color: #ef44441a
}

.bg-red-500\/15 {
    background-color: #ef444426
}

.bg-red-500\/20 {
    background-color: #ef444433
}

.bg-red-600 {
    --tw-bg-opacity: 1;
    background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1))
}

.bg-rose-500\/10 {
    background-color: #f43f5e1a
}

.bg-rose-500\/20 {
    background-color: #f43f5e33
}

.bg-sky-500\/20 {
    background-color: #0ea5e933
}

.bg-violet-500\/20 {
    background-color: #8b5cf633
}

.bg-white\/10 {
    background-color: #ffffff1a
}

.bg-white\/15 {
    background-color: #ffffff26
}

.bg-white\/5 {
    background-color: #ffffff0d
}

.bg-white\/\[0\.03\] {
    background-color: #ffffff08
}

.bg-yellow-500\/10 {
    background-color: #eab3081a
}

.bg-\[linear-gradient\(135deg\,\#b061ff_0\%\,\#6f34ff_55\%\,\#4a7fff_100\%\)\] {
    background-image: linear-gradient(135deg, #b061ff, #6f34ff 55%, #4a7fff)
}

.bg-\[linear-gradient\(135deg\,rgba\(8\,16\,28\,0\.97\)\,rgba\(4\,9\,18\,0\.99\)\)\] {
    background-image: linear-gradient(135deg, #08101cf7, #040912fc)
}

.bg-\[linear-gradient\(180deg\,\#d6c0ff_0\%\,\#8d57ff_100\%\)\] {
    background-image: linear-gradient(180deg, #d6c0ff, #8d57ff)
}

.bg-\[linear-gradient\(180deg\,\#ead9ff_0\%\,\#9860ff_100\%\)\] {
    background-image: linear-gradient(180deg, #ead9ff, #9860ff)
}

.bg-\[linear-gradient\(180deg\,rgba\(10\,14\,31\,1\)_0\%\,rgba\(24\,27\,44\,1\)_100\%\)\] {
    background-image: linear-gradient(180deg, #0a0e1f, #181b2c)
}

.bg-\[linear-gradient\(180deg\,rgba\(11\,18\,31\,0\.96\)\,rgba\(5\,9\,16\,0\.98\)\)\] {
    background-image: linear-gradient(180deg, #0b121ff5, #050910fa)
}

.bg-\[linear-gradient\(180deg\,rgba\(142\,78\,255\,0\.26\)\,rgba\(40\,18\,84\,0\.92\)\)\] {
    background-image: linear-gradient(180deg, #8e4eff42, #281254eb)
}

.bg-\[linear-gradient\(180deg\,rgba\(17\,8\,34\,0\.72\)\,rgba\(13\,6\,28\,0\.9\)\)\] {
    background-image: linear-gradient(180deg, #110822b8, #0d061ce6)
}

.bg-\[linear-gradient\(180deg\,rgba\(17\,8\,34\,0\.88\)\,rgba\(13\,6\,28\,0\.96\)\)\] {
    background-image: linear-gradient(180deg, #110822e0, #0d061cf5)
}

.bg-\[linear-gradient\(180deg\,rgba\(178\,126\,255\,0\.1\)\,transparent\)\] {
    background-image: linear-gradient(180deg, rgba(178, 126, 255, .1), transparent)
}

.bg-\[linear-gradient\(180deg\,rgba\(184\,136\,255\,0\.3\)\,rgba\(91\,48\,227\,0\.18\)\)\] {
    background-image: linear-gradient(180deg, #b888ff4d, #5b30e32e)
}

.bg-\[linear-gradient\(180deg\,rgba\(19\,9\,39\,0\.94\)\,rgba\(10\,4\,24\,0\.96\)\)\] {
    background-image: linear-gradient(180deg, #130927f0, #0a0418f5)
}

.bg-\[linear-gradient\(180deg\,rgba\(24\,10\,50\,0\.9\)\,rgba\(11\,5\,24\,0\.92\)\)\] {
    background-image: linear-gradient(180deg, #180a32e6, #0b0518eb)
}

.bg-\[linear-gradient\(180deg\,rgba\(255\,255\,255\,0\.04\)\,rgba\(255\,255\,255\,0\.015\)\)\] {
    background-image: linear-gradient(180deg, #ffffff0a, #ffffff04)
}

.bg-\[linear-gradient\(180deg\,rgba\(27\,14\,52\,0\.96\)\,rgba\(11\,5\,24\,0\.98\)\)\] {
    background-image: linear-gradient(180deg, #1b0e34f5, #0b0518fa)
}

.bg-\[linear-gradient\(180deg\,rgba\(31\,14\,62\,0\.92\)\,rgba\(11\,5\,24\,0\.98\)\)\] {
    background-image: linear-gradient(180deg, #1f0e3eeb, #0b0518fa)
}

.bg-\[linear-gradient\(180deg\,rgba\(99\,44\,203\,0\.46\)\,rgba\(21\,10\,42\,0\.98\)_68\%\,rgba\(11\,5\,24\,0\.98\)\)\] {
    background-image: linear-gradient(180deg, #632ccb75, #150a2afa 68%, #0b0518fa)
}

.bg-\[linear-gradient\(90deg\,\#1f7eff\,\#45b9ff\)\] {
    background-image: linear-gradient(90deg, #1f7eff, #45b9ff)
}

.bg-\[radial-gradient\(circle_at_50\%_0\%\,rgba\(143\,87\,255\,0\.34\)\,transparent_20\%\)\,radial-gradient\(circle_at_15\%_18\%\,rgba\(72\,173\,255\,0\.12\)\,transparent_18\%\)\,radial-gradient\(circle_at_85\%_28\%\,rgba\(255\,103\,193\,0\.08\)\,transparent_18\%\)\,linear-gradient\(180deg\,\#100221_0\%\,\#0b0418_46\%\,\#08020f_100\%\)\] {
    background-image: radial-gradient(circle at 50% 0%, rgba(143, 87, 255, .34), transparent 20%), radial-gradient(circle at 15% 18%, rgba(72, 173, 255, .12), transparent 18%), radial-gradient(circle at 85% 28%, rgba(255, 103, 193, .08), transparent 18%), linear-gradient(180deg, #100221, #0b0418 46%, #08020f)
}

.bg-\[radial-gradient\(circle_at_65\%_0\%\,rgba\(255\,255\,255\,0\.1\)\,transparent_30\%\)\,linear-gradient\(160deg\,transparent_38\%\,rgba\(255\,255\,255\,0\.04\)_56\%\,transparent_72\%\)\] {
    background-image: radial-gradient(circle at 65% 0%, rgba(255, 255, 255, .1), transparent 30%), linear-gradient(160deg, transparent 38%, rgba(255, 255, 255, .04) 56%, transparent 72%)
}

.object-cover {
    -o-object-fit: cover;
    object-fit: cover
}

.p-2 {
    padding: .5rem
}

.p-3 {
    padding: .75rem
}

.p-3\.5 {
    padding: .875rem
}

.p-4 {
    padding: 1rem
}

.p-5 {
    padding: 1.25rem
}

.p-6 {
    padding: 1.5rem
}

.p-8 {
    padding: 2rem
}

.px-1 {
    padding-left: .25rem;
    padding-right: .25rem
}

.px-2 {
    padding-left: .5rem;
    padding-right: .5rem
}

.px-2\.5 {
    padding-left: .625rem;
    padding-right: .625rem
}

.px-3 {
    padding-left: .75rem;
    padding-right: .75rem
}

.px-3\.5 {
    padding-left: .875rem;
    padding-right: .875rem
}

.px-4 {
    padding-left: 1rem;
    padding-right: 1rem
}

.px-5 {
    padding-left: 1.25rem;
    padding-right: 1.25rem
}

.px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem
}

.px-8 {
    padding-left: 2rem;
    padding-right: 2rem
}

.py-0\.5 {
    padding-top: .125rem;
    padding-bottom: .125rem
}

.py-1 {
    padding-top: .25rem;
    padding-bottom: .25rem
}

.py-10 {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem
}

.py-12 {
    padding-top: 3rem;
    padding-bottom: 3rem
}

.py-2 {
    padding-top: .5rem;
    padding-bottom: .5rem
}

.py-2\.5 {
    padding-top: .625rem;
    padding-bottom: .625rem
}

.py-3 {
    padding-top: .75rem;
    padding-bottom: .75rem
}

.py-5 {
    padding-top: 1.25rem;
    padding-bottom: 1.25rem
}

.py-6 {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem
}

.py-8 {
    padding-top: 2rem;
    padding-bottom: 2rem
}

.pb-1 {
    padding-bottom: .25rem
}

.pb-12 {
    padding-bottom: 3rem
}

.pb-2 {
    padding-bottom: .5rem
}

.pb-20 {
    padding-bottom: 5rem
}

.pl-10 {
    padding-left: 2.5rem
}

.pr-4 {
    padding-right: 1rem
}

.pt-0 {
    padding-top: 0
}

.pt-4 {
    padding-top: 1rem
}

.pt-7 {
    padding-top: 1.75rem
}

.pt-8 {
    padding-top: 2rem
}

.text-left {
    text-align: left
}

.text-center {
    text-align: center
}

.text-right {
    text-align: right
}

.text-2xl {
    font-size: 1.5rem;
    line-height: 2rem
}

.text-3xl {
    font-size: 1.875rem;
    line-height: 2.25rem
}

.text-4xl {
    font-size: 2.25rem;
    line-height: 2.5rem
}

.text-\[10px\] {
    font-size: 10px
}

.text-\[11px\] {
    font-size: 11px
}

.text-\[12px\] {
    font-size: 12px
}

.text-\[14px\] {
    font-size: 14px
}

.text-\[15px\] {
    font-size: 15px
}

.text-\[18px\] {
    font-size: 18px
}

.text-\[20px\] {
    font-size: 20px
}

.text-\[22px\] {
    font-size: 22px
}

.text-\[28px\] {
    font-size: 28px
}

.text-\[30px\] {
    font-size: 30px
}

.text-\[36px\] {
    font-size: 36px
}

.text-\[56px\] {
    font-size: 56px
}

.text-\[clamp\(6px\,2\.784px\+0\.87vw\,8px\)\] {
    font-size: clamp(6px, 2.784px + .87vw, 8px)
}

.text-base {
    font-size: 1rem;
    line-height: 1.5rem
}

.text-lg {
    font-size: 1.125rem;
    line-height: 1.75rem
}

.text-sm {
    font-size: .875rem;
    line-height: 1.25rem
}

.text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem
}

.text-xs {
    font-size: .75rem;
    line-height: 1rem
}

.font-black {
    font-weight: 900
}

.font-bold {
    font-weight: 700
}

.font-medium {
    font-weight: 500
}

.font-semibold {
    font-weight: 600
}

.uppercase {
    text-transform: uppercase
}

.leading-6 {
    line-height: 1.5rem
}

.leading-\[0\.92\] {
    line-height: .92
}

.leading-\[0\.9\] {
    line-height: .9
}

.leading-none {
    line-height: 1
}

.leading-tight {
    line-height: 1.25
}

.tracking-\[-0\.05em\] {
    letter-spacing: -.05em
}

.tracking-\[-0\.06em\] {
    letter-spacing: -.06em
}

.tracking-\[-0\.08em\] {
    letter-spacing: -.08em
}

.tracking-\[0\.12em\] {
    letter-spacing: .12em
}

.tracking-\[0\.14em\] {
    letter-spacing: .14em
}

.tracking-\[0\.16em\] {
    letter-spacing: .16em
}

.tracking-\[0\.18em\] {
    letter-spacing: .18em
}

.tracking-\[0\.22em\] {
    letter-spacing: .22em
}

.tracking-\[0\.24em\] {
    letter-spacing: .24em
}

.tracking-\[0\.2em\] {
    letter-spacing: .2em
}

.tracking-\[0\.35em\] {
    letter-spacing: .35em
}

.tracking-tight {
    letter-spacing: -.025em
}

.tracking-wide {
    letter-spacing: .025em
}

.tracking-wider {
    letter-spacing: .05em
}

.tracking-widest {
    letter-spacing: .1em
}

.text-\[\#041220\] {
    --tw-text-opacity: 1;
    color: rgb(4 18 32 / var(--tw-text-opacity, 1))
}

.text-\[\#041326\] {
    --tw-text-opacity: 1;
    color: rgb(4 19 38 / var(--tw-text-opacity, 1))
}

.text-\[\#140d27\] {
    --tw-text-opacity: 1;
    color: rgb(20 13 39 / var(--tw-text-opacity, 1))
}

.text-\[\#160d2b\] {
    --tw-text-opacity: 1;
    color: rgb(22 13 43 / var(--tw-text-opacity, 1))
}

.text-\[\#58ebfe\] {
    --tw-text-opacity: 1;
    color: rgb(88 235 254 / var(--tw-text-opacity, 1))
}

.text-\[\#81d2ff\] {
    --tw-text-opacity: 1;
    color: rgb(129 210 255 / var(--tw-text-opacity, 1))
}

.text-\[\#8ed8ff\] {
    --tw-text-opacity: 1;
    color: rgb(142 216 255 / var(--tw-text-opacity, 1))
}

.text-\[\#9ddfff\] {
    --tw-text-opacity: 1;
    color: rgb(157 223 255 / var(--tw-text-opacity, 1))
}

.text-\[\#b88fff\] {
    --tw-text-opacity: 1;
    color: rgb(184 143 255 / var(--tw-text-opacity, 1))
}

.text-\[\#c392ff\] {
    --tw-text-opacity: 1;
    color: rgb(195 146 255 / var(--tw-text-opacity, 1))
}

.text-\[\#cdb2ff\] {
    --tw-text-opacity: 1;
    color: rgb(205 178 255 / var(--tw-text-opacity, 1))
}

.text-\[\#d4b2ff\] {
    --tw-text-opacity: 1;
    color: rgb(212 178 255 / var(--tw-text-opacity, 1))
}

.text-\[\#d7b6ff\] {
    --tw-text-opacity: 1;
    color: rgb(215 182 255 / var(--tw-text-opacity, 1))
}

.text-\[\#f4efff\] {
    --tw-text-opacity: 1;
    color: rgb(244 239 255 / var(--tw-text-opacity, 1))
}

.text-amber-200 {
    --tw-text-opacity: 1;
    color: rgb(253 230 138 / var(--tw-text-opacity, 1))
}

.text-amber-300 {
    --tw-text-opacity: 1;
    color: rgb(252 211 77 / var(--tw-text-opacity, 1))
}

.text-black {
    --tw-text-opacity: 1;
    color: rgb(0 0 0 / var(--tw-text-opacity, 1))
}

.text-cyan-100 {
    --tw-text-opacity: 1;
    color: rgb(207 250 254 / var(--tw-text-opacity, 1))
}

.text-emerald-100 {
    --tw-text-opacity: 1;
    color: rgb(209 250 229 / var(--tw-text-opacity, 1))
}

.text-emerald-200 {
    --tw-text-opacity: 1;
    color: rgb(167 243 208 / var(--tw-text-opacity, 1))
}

.text-emerald-300 {
    --tw-text-opacity: 1;
    color: rgb(110 231 183 / var(--tw-text-opacity, 1))
}

.text-gray-300 {
    --tw-text-opacity: 1;
    color: rgb(209 213 219 / var(--tw-text-opacity, 1))
}

.text-gray-950 {
    --tw-text-opacity: 1;
    color: rgb(3 7 18 / var(--tw-text-opacity, 1))
}

.text-indigo-200 {
    --tw-text-opacity: 1;
    color: rgb(199 210 254 / var(--tw-text-opacity, 1))
}

.text-purple-400 {
    --tw-text-opacity: 1;
    color: rgb(192 132 252 / var(--tw-text-opacity, 1))
}

.text-red-100 {
    --tw-text-opacity: 1;
    color: rgb(254 226 226 / var(--tw-text-opacity, 1))
}

.text-red-200 {
    --tw-text-opacity: 1;
    color: rgb(254 202 202 / var(--tw-text-opacity, 1))
}

.text-red-300 {
    --tw-text-opacity: 1;
    color: rgb(252 165 165 / var(--tw-text-opacity, 1))
}

.text-red-400 {
    --tw-text-opacity: 1;
    color: rgb(248 113 113 / var(--tw-text-opacity, 1))
}

.text-rose-200 {
    --tw-text-opacity: 1;
    color: rgb(254 205 211 / var(--tw-text-opacity, 1))
}

.text-rose-300 {
    --tw-text-opacity: 1;
    color: rgb(253 164 175 / var(--tw-text-opacity, 1))
}

.text-sky-200 {
    --tw-text-opacity: 1;
    color: rgb(186 230 253 / var(--tw-text-opacity, 1))
}

.text-slate-100 {
    --tw-text-opacity: 1;
    color: rgb(241 245 249 / var(--tw-text-opacity, 1))
}

.text-slate-200 {
    --tw-text-opacity: 1;
    color: rgb(226 232 240 / var(--tw-text-opacity, 1))
}

.text-slate-300 {
    --tw-text-opacity: 1;
    color: rgb(203 213 225 / var(--tw-text-opacity, 1))
}

.text-slate-400 {
    --tw-text-opacity: 1;
    color: rgb(148 163 184 / var(--tw-text-opacity, 1))
}

.text-violet-200 {
    --tw-text-opacity: 1;
    color: rgb(221 214 254 / var(--tw-text-opacity, 1))
}

.text-white {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1))
}

.text-white\/20 {
    color: #fff3
}

.text-white\/25 {
    color: #ffffff40
}

.text-white\/30 {
    color: #ffffff4d
}

.text-white\/35 {
    color: #ffffff59
}

.text-white\/40 {
    color: #fff6
}

.text-white\/45 {
    color: #ffffff73
}

.text-white\/50 {
    color: #ffffff80
}

.text-white\/55 {
    color: #ffffff8c
}

.text-white\/60 {
    color: #fff9
}

.text-white\/65 {
    color: #ffffffa6
}

.text-white\/70 {
    color: #ffffffb3
}

.text-white\/75 {
    color: #ffffffbf
}

.text-white\/80 {
    color: #fffc
}

.text-yellow-300 {
    --tw-text-opacity: 1;
    color: rgb(253 224 71 / var(--tw-text-opacity, 1))
}

.opacity-50 {
    opacity: .5
}

.shadow {
    --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);
    --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.shadow-2xl {
    --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);
    --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.shadow-\[0_0_0_1px_rgba\(69\,185\,255\,0\.2\)\] {
    --tw-shadow: 0 0 0 1px rgba(69, 185, 255, .2);
    --tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.shadow-\[0_10px_22px_rgba\(6\,2\,18\,0\.34\)\] {
    --tw-shadow: 0 10px 22px rgba(6, 2, 18, .34);
    --tw-shadow-colored: 0 10px 22px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.shadow-\[0_10px_24px_rgba\(141\,87\,255\,0\.24\)\] {
    --tw-shadow: 0 10px 24px rgba(141, 87, 255, .24);
    --tw-shadow-colored: 0 10px 24px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.shadow-\[0_12px_30px_rgba\(141\,87\,255\,0\.32\)\] {
    --tw-shadow: 0 12px 30px rgba(141, 87, 255, .32);
    --tw-shadow-colored: 0 12px 30px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.shadow-\[0_14px_28px_rgba\(91\,48\,227\,0\.3\)\] {
    --tw-shadow: 0 14px 28px rgba(91, 48, 227, .3);
    --tw-shadow-colored: 0 14px 28px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.shadow-\[0_18px_40px_rgba\(103\,48\,227\,0\.25\)\] {
    --tw-shadow: 0 18px 40px rgba(103, 48, 227, .25);
    --tw-shadow-colored: 0 18px 40px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.shadow-\[0_18px_40px_rgba\(7\,3\,20\,0\.24\)\] {
    --tw-shadow: 0 18px 40px rgba(7, 3, 20, .24);
    --tw-shadow-colored: 0 18px 40px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.shadow-\[0_18px_48px_rgba\(6\,2\,18\,0\.42\)\] {
    --tw-shadow: 0 18px 48px rgba(6, 2, 18, .42);
    --tw-shadow-colored: 0 18px 48px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.shadow-\[0_1px_var\(--shadow-color\)\] {
    --tw-shadow: 0 1px var(--shadow-color);
    --tw-shadow-colored: 0 1px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.shadow-\[0_20px_80px_rgba\(0\,0\,0\,0\.45\)\] {
    --tw-shadow: 0 20px 80px rgba(0, 0, 0, .45);
    --tw-shadow-colored: 0 20px 80px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.shadow-\[0_24px_70px_-42px_rgba\(2\,6\,14\,0\.9\)\] {
    --tw-shadow: 0 24px 70px -42px rgba(2, 6, 14, .9);
    --tw-shadow-colored: 0 24px 70px -42px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.shadow-\[0_24px_80px_rgba\(0\,42\,102\,0\.28\)\] {
    --tw-shadow: 0 24px 80px rgba(0, 42, 102, .28);
    --tw-shadow-colored: 0 24px 80px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.shadow-\[0_26px_60px_rgba\(6\,2\,18\,0\.28\)\] {
    --tw-shadow: 0 26px 60px rgba(6, 2, 18, .28);
    --tw-shadow-colored: 0 26px 60px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.shadow-\[0_26px_68px_rgba\(111\,60\,228\,0\.24\)\] {
    --tw-shadow: 0 26px 68px rgba(111, 60, 228, .24);
    --tw-shadow-colored: 0 26px 68px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.shadow-\[inset_0_1px_0_rgba\(255\,255\,255\,0\.03\)\] {
    --tw-shadow: inset 0 1px 0 rgba(255, 255, 255, .03);
    --tw-shadow-colored: inset 0 1px 0 var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.shadow-\[inset_0_1px_0_rgba\(255\,255\,255\,0\.05\)\] {
    --tw-shadow: inset 0 1px 0 rgba(255, 255, 255, .05);
    --tw-shadow-colored: inset 0 1px 0 var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.shadow-sm {
    --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);
    --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.outline-none {
    outline: 2px solid transparent;
    outline-offset: 2px
}

.outline {
    outline-style: solid
}

.ring {
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)
}

.blur {
    --tw-blur: blur(8px);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
}

.drop-shadow {
    --tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
}

.drop-shadow-\[0_2px_6px_rgba\(0\,0\,0\,0\.35\)\] {
    --tw-drop-shadow: drop-shadow(0 2px 6px rgba(0, 0, 0, .35));
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
}

.filter {
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
}

.backdrop-blur-sm {
    --tw-backdrop-blur: blur(4px);
    -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
    backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)
}

.backdrop-blur-xl {
    --tw-backdrop-blur: blur(24px);
    -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
    backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)
}

.transition {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    transition-duration: .15s
}

.transition-all {
    transition-property: all;
    transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    transition-duration: .15s
}

.transition-colors {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    transition-duration: .15s
}

.ease-in {
    transition-timing-function: cubic-bezier(.4, 0, 1, 1)
}

.ease-in-out {
    transition-timing-function: cubic-bezier(.4, 0, .2, 1)
}

:root {
    font-family: Montserrat, sans-serif;
    color: #f4efff;
    background: radial-gradient(circle at top center, rgba(118, 53, 255, .3), transparent 28%), radial-gradient(circle at 50% 18%, rgba(45, 116, 255, .18), transparent 22%), linear-gradient(180deg, #0b051b, #110323 21%, #0f0320);
    color-scheme: dark;
    --page-bg: #0f0320;
    --panel-bg: rgba(27, 14, 52, .95);
    --panel-border: rgba(150, 118, 255, .18);
    --panel-highlight: rgba(243, 235, 255, .1);
    --soft-text: #c4b4f8;
    --muted-text: #a495d6;
    --accent: #7b2fff;
    --accent-2: #4d7cff;
    --footer: #4f1dca;
    --shadow: 0 0 0 1px rgba(255, 255, 255, .02) inset, 0 24px 60px rgba(0, 0, 0, .38)
}

* {
    box-sizing: border-box
}

html {
    scroll-behavior: smooth;
    overflow-x: clip
}

body {
    margin: 0;
    min-width: 320px;
    min-height: 100vh;
    overflow-x: clip;
    background: radial-gradient(circle at top, rgba(90, 39, 214, .45), transparent 30%), linear-gradient(180deg, #0b051b, #110323 18%, #0f0320)
}

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

button {
    font: inherit
}

img,
svg,
video,
canvas {
    max-width: 100%
}

#root {
    min-height: 100vh
}

.page-shell {
    min-height: 100vh;
    overflow-x: clip
}

.page {
    width: 100%;
    padding: 0 0 72px
}

.navbar {
    position: sticky;
    top: 0;
    z-index: 20;
    width: 100%;
    padding: 0 28px;
    background: #080314f7;
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
    border-bottom: 1px solid rgba(123, 47, 255, .2)
}

.navbar__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    width: 100%;
    min-height: 56px
}

.navbar__brand {
    display: flex;
    align-items: center;
    gap: 0;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: .04em;
    white-space: nowrap;
    flex-shrink: 0
}

.navbar__brand-main {
    color: #f4efff
}

.navbar__brand-accent {
    color: var(--accent)
}

.navbar-link-hover {
    position: relative;
    display: flex;
    align-items: center;
    transition: color .4s ease;
    padding-bottom: 8px
}

.navbar-link-hover:before {
    content: "";
    position: absolute;
    width: 0;
    height: 3px;
    bottom: 0;
    left: 50%;
    border-radius: 999px;
    background: linear-gradient(90deg, #ffffffeb, #b58bfffa);
    box-shadow: 0 0 14px #7b2fff57;
    transition: all .4s ease
}

.navbar-link-hover:hover:before {
    width: 100%;
    left: 0
}

@keyframes footerMarqueeLoop {
    0% {
        transform: translate(0)
    }

    to {
        transform: translate(-100%)
    }
}

.social-card-hover {
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease
}

.social-card-hover:hover {
    transform: translateY(-6px) scale(1.02);
    box-shadow: inset 0 .25px #ffffff80, 0 -1px 20px #bb9bff26, 0 -1px 5px #e9dfff4d, 0 16px 28px #4e21b447;
    background: linear-gradient(180deg, #ffffff14, #7b2fff0d)
}

.social-card-hover img,
.social-card-hover svg {
    transition: transform .22s ease, filter .22s ease
}

.social-card-hover:hover img,
.social-card-hover:hover svg {
    transform: scale(1.08);
    filter: drop-shadow(0 0 10px rgba(140, 92, 255, .28))
}

.navbar-login-hover {
    transition: all .3s ease
}

.navbar-login-hover:hover {
    background: #7c3bff !important;
    color: #fff !important;
    font-size: 14px !important;
    box-shadow: 0 10px 24px #7c3bff4d
}

@keyframes live-pulse {
    0% {
        box-shadow: 0 0 #7b2fff8c, 0 8px 20px #7b2fff4d
    }

    60% {
        box-shadow: 0 0 0 8px #7b2fff00, 0 8px 20px #7b2fff4d
    }

    to {
        box-shadow: 0 0 #7b2fff00, 0 8px 20px #7b2fff4d
    }
}

@keyframes dot-ping {

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

    50% {
        transform: scale(1.6);
        opacity: .5
    }
}

.navbar-live-btn {
    animation: live-pulse 2.4s ease-out infinite;
    transition: transform .18s ease, filter .18s ease
}

.navbar-live-btn:hover {
    transform: scale(1.04);
    filter: brightness(1.15);
    animation-play-state: paused;
    box-shadow: 0 0 0 3px #7b2fff59, 0 12px 28px #7b2fff73 !important
}

.navbar-live-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #e879f9;
    box-shadow: 0 0 6px #e879f9cc;
    display: inline-block;
    flex-shrink: 0;
    animation: dot-ping 1.4s ease-in-out infinite
}

.hero-btn {
    transition: transform .22s ease, box-shadow .22s ease, background .22s ease, border-color .22s ease, filter .22s ease
}

.hero-btn:hover {
    transform: translateY(-3px) scale(1.02)
}

.hero-btn-primary:hover {
    box-shadow: 0 18px 34px #6d2fff6b, 0 0 18px #8c5cff47;
    filter: brightness(1.05)
}

.hero-btn-secondary:hover {
    background: #ffffff14 !important;
    border-color: #fffffff2 !important;
    box-shadow: 0 12px 24px #0a061c52
}

.offers-cta-link {
    transition: transform .22s ease, box-shadow .22s ease, background .22s ease, border-color .22s ease
}

.offers-cta-link:hover {
    transform: translateY(-3px) scale(1.02);
    background: linear-gradient(180deg, #9056ff61, #391a79f5) !important;
    border-color: #ffffffeb !important;
    box-shadow: 0 18px 34px #501fbb52, 0 0 18px #885bff2e
}

.footer__logo {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .08em;
    color: #f6efff
}

.navbar__nav,
.navbar__actions,
.hero__actions,
.offers__cta,
.socials__grid,
.partners__row,
.footer__legal {
    display: flex;
    align-items: center
}

.navbar__nav {
    gap: 4px;
    flex: 1;
    justify-content: center
}

.navbar__nav-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 500;
    color: #c4b4f8bf;
    transition: background .18s ease, color .18s ease;
    white-space: nowrap
}

.navbar__nav-item:hover {
    background: #7b2fff1f;
    color: #f4efff
}

.navbar__actions {
    gap: 8px;
    flex-shrink: 0
}

.navbar__mobile {
    display: none
}

.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 6px 12px;
    min-height: 24px;
    border-radius: 7px;
    border: 1px solid transparent;
    background: linear-gradient(180deg, #8742fff2, #581ed1f2);
    color: #faf7ff;
    font-size: 9px;
    font-weight: 600;
    letter-spacing: .02em;
    box-shadow: 0 0 24px #642eec40;
    cursor: pointer;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease
}

.button:hover {
    transform: translateY(-1px);
    box-shadow: 0 0 30px #7734ff57
}

.button--ghost {
    background: #ffffff0a;
    border-color: #a485d659;
    box-shadow: none
}

.button--outline {
    background: #ffffff08;
    border-color: #a485d659;
    box-shadow: none
}

.hero {
    position: relative;
    min-height: 381px;
    padding: 85px 120px 0;
    overflow: hidden
}

.hero:before {
    content: "";
    position: absolute;
    inset: 18px 0 auto;
    height: 248px;
    background: linear-gradient(180deg, rgba(73, 31, 169, .14), transparent 62%), radial-gradient(circle at 50% 48%, rgba(41, 109, 255, .28), transparent 22%), linear-gradient(180deg, #08081759, #110420d6);
    border-bottom: 1px solid rgba(97, 71, 189, .18)
}

.hero:after {
    content: "";
    position: absolute;
    left: 50%;
    top: 30px;
    width: 458px;
    height: 278px;
    transform: translate(-50%);
    background: linear-gradient(180deg, rgba(255, 255, 255, .08), transparent 24%), linear-gradient(180deg, #201247a6, #160a3140), radial-gradient(circle at 50% 0%, rgba(66, 213, 255, .75), transparent 72%);
    clip-path: polygon(12% 0, 88% 0, 100% 22%, 100% 100%, 0 100%, 0 22%);
    opacity: .82;
    filter: drop-shadow(0 0 14px rgba(59, 190, 255, .48))
}

.hero__content {
    position: relative;
    z-index: 2;
    text-align: center
}

.brand-mark {
    display: grid;
    justify-items: center;
    gap: 2px
}

.brand-mark__script {
    font-family: Qwigley, cursive;
    font-size: 48px;
    line-height: .8;
    color: #dbc0ff8c;
    transform: translate(8px)
}

.brand-mark__tech {
    font-family: Michroma, sans-serif;
    font-size: 23px;
    line-height: 1;
    letter-spacing: .04em;
    text-transform: none;
    color: #f4efff
}

.bienvenue-title {
    background: linear-gradient(90deg, #c4b4f8, #fff, #7b2fff, #fff, #c4b4f8);
    background-size: 300% 100%;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    animation: bienvenue-shimmer 4s ease-in-out infinite
}

@keyframes bienvenue-shimmer {
    0% {
        background-position: 0% 50%
    }

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

    to {
        background-position: 0% 50%
    }
}

.hero__eyebrow {
    margin: 14px 0 0;
    font-size: 40px;
    line-height: 1;
    font-weight: 500;
    background: linear-gradient(90deg, #c4b4f8, #fff, #7b2fff, #fff, #c4b4f8);
    background-size: 300% 100%;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    animation: bienvenue-shimmer 4s ease-in-out infinite
}

.hero-scroll-arrow {
    animation: hero-arrow-bounce 1.6s ease-in-out infinite
}

.hero-scroll-arrow--delay {
    animation-delay: .25s
}

@keyframes hero-arrow-bounce {

    0%,
    to {
        transform: translateY(0);
        opacity: .6
    }

    50% {
        transform: translateY(8px);
        opacity: 1
    }
}

.hero__subtitle {
    width: 290px;
    margin: 12px auto 0;
    font-size: 12px;
    line-height: 1.45;
    color: #d7caff
}

.hero__actions {
    justify-content: center;
    gap: 8px;
    margin-top: 12px
}

.hero__orbs {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    pointer-events: none
}

.hero__orb {
    position: absolute;
    bottom: 52px;
    width: 118px;
    height: 118px;
    border-radius: 50%;
    background: radial-gradient(circle at 30% 30%, rgba(255, 255, 255, .95), transparent 24%), radial-gradient(circle at 60% 60%, rgba(120, 221, 255, .65), transparent 38%), radial-gradient(circle at 50% 50%, #2755ff47, #ffffff0a 70%);
    box-shadow: 0 0 18px #7b2fff5c, inset 0 0 22px #ffffff57;
    opacity: .95
}

.hero__orb:after {
    content: "";
    position: absolute;
    top: 16px;
    right: 16px;
    bottom: 16px;
    left: 16px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, .34);
    opacity: .65
}

.hero__orb--left {
    left: -45px
}

.hero__orb--right {
    right: -38px
}

.section-kicker {
    margin: 0;
    text-align: center;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .14em;
    color: #f2ebff
}

.partners {
    padding: 30px 80px
}

.partners__row {
    justify-content: space-between;
    gap: 14px;
    margin-top: 20px
}

.partner-logo {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 11px;
    font-weight: 600;
    color: #f2ebff;
    opacity: .82
}

.partner-logo__icon {
    width: 18px;
    height: 18px;
    border-radius: 5px;
    background: linear-gradient(135deg, #ffffffe6, #74c2ff33), linear-gradient(135deg, #7b2fffe6, #3074ff99);
    box-shadow: inset 0 0 0 1px #ffffff1f
}

.offers {
    padding: 20px 60px 0
}

.section-heading {
    width: 384px;
    margin: 0 auto;
    text-align: center
}

.section-heading--wide {
    width: 434px
}

.section-heading h2 {
    margin: 0;
    font-size: 33px;
    line-height: 1.16;
    font-weight: 500;
    color: #fff
}

.offers__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-top: 40px
}

.offer-card,
.video-card {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--panel-border);
    background: linear-gradient(180deg, #261649f5, #110723fa), #1b0e34f2;
    box-shadow: var(--shadow)
}

.offer-card {
    min-height: 210px;
    padding: 30px;
    border-radius: 18px
}

.offer-card:before,
.video-card:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    border-radius: inherit;
    box-shadow: inset 0 1px #ffffff14;
    pointer-events: none
}

.offer-card__logo {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    height: 21px;
    padding: 0 10px;
    border-radius: 999px;
    background: #ffffff14;
    color: #f6f0ff;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase
}

.offer-card__body {
    margin-top: 8px
}

.offer-card__body h3,
.video-card__inner h2 {
    margin: 0;
    font-size: 21px;
    line-height: 1;
    font-weight: 500;
    color: #f9f7ff
}

.offer-card__body p,
.video-card__inner p,
.socials .section-heading h2,
.footer__brand p {
    margin: 0;
    color: var(--soft-text)
}

.offer-card__body p {
    margin-top: 8px;
    font-size: 11px;
    line-height: 1.5
}

.offer-card__button {
    margin-top: 18px
}

.offers__cta {
    justify-content: center;
    margin-top: 32px
}

.video-card {
    margin: 40px 60px 0;
    border-radius: 18px
}

.video-card__inner {
    width: 384px;
    margin: 0 auto;
    padding: 30px 0;
    text-align: center
}

.video-card__inner p {
    margin-top: 12px;
    font-size: 12px;
    line-height: 1.45
}

.video-card .button {
    margin-top: 12px
}

.socials {
    padding: 40px 151px 0
}

.socials .section-heading h2 {
    margin-top: 12px;
    font-size: 15px;
    line-height: 1.4;
    font-weight: 500
}

.socials__grid {
    justify-content: center;
    gap: 14px;
    margin-top: 40px
}

.social-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-width: 93px;
    height: 53px;
    padding: 0 14px;
    border-radius: 12px;
    border: 1px solid rgba(150, 118, 255, .2);
    background: #1b0e348c;
    color: #f5efff;
    font-size: 11px;
    font-weight: 600;
    transition: transform .2s ease, border-color .2s ease, background .2s ease
}

.social-chip:hover {
    transform: translateY(-2px);
    border-color: #b398ff70;
    background: #2b1654b8
}

.social-chip__icon {
    width: 14px;
    height: 14px;
    border-radius: 4px;
    background: linear-gradient(180deg, #fff, #8bc2ff)
}

.footer {
    margin-top: 0;
    background: linear-gradient(180deg, #4c19c6, #4e1dcb)
}

.footer__inner {
    display: flex;
    justify-content: space-between;
    gap: 42px;
    width: min(100%, 720px);
    margin: 0 auto;
    padding: 40px 60px
}

.footer__brand {
    width: 377px
}

.footer__brand p {
    margin-top: 10px;
    width: 377px;
    font-size: 11px;
    line-height: 1.4;
    color: #f8f3ffcc
}

.footer__brand small {
    display: block;
    margin-top: 74px;
    font-size: 10px;
    color: #f8f3ffa6
}

.footer__links {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-width: 126px
}

.footer__links h3 {
    margin: 0;
    font-size: 15px;
    font-weight: 600
}

.footer__links ul {
    display: grid;
    gap: 3px;
    margin: 8px 0 0;
    padding: 0;
    list-style: none
}

.footer__links li,
.footer__legal a {
    font-size: 11px;
    color: #f8f3ffcc
}

.footer__legal {
    gap: 10px;
    font-size: 10px
}

.navbar__points {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 4px 10px;
    border-radius: 20px;
    background: #7b2fff26;
    border: 1px solid rgba(123, 47, 255, .3);
    font-size: 13px;
    font-weight: 600;
    color: #c4b4f8
}

.navbar__user {
    display: flex;
    align-items: center;
    gap: 8px
}

.navbar__avatar {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    -o-object-fit: cover;
    object-fit: cover;
    border: 2px solid rgba(123, 47, 255, .5)
}

.navbar__avatar--placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--accent), var(--accent-2));
    font-size: 13px;
    font-weight: 700;
    color: #fff
}

.navbar__username {
    font-size: 13px;
    font-weight: 600;
    color: #f4efff
}

.navbar__logout {
    display: flex;
    align-items: center;
    padding: 4px;
    background: transparent;
    border: none;
    color: #c4b4f899;
    cursor: pointer;
    transition: color .2s
}

.navbar__logout:hover {
    color: #e63946
}

.page {
    width: 100%;
    padding: 32px 24px 72px
}

.modal-overlay {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 100;
    background: #000000a6;
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px
}

.modal-box {
    position: relative;
    width: min(420px, 92vw);
    padding: 36px 32px 32px;
    border-radius: 20px;
    background: linear-gradient(180deg, #160a30fa, #0b051bfa);
    border: 1px solid rgba(123, 47, 255, .25);
    box-shadow: 0 0 60px #7b2fff33, 0 24px 80px #00000080
}

.modal-close {
    position: absolute;
    top: 14px;
    right: 14px;
    background: transparent;
    border: none;
    color: #c4b4f899;
    cursor: pointer;
    transition: color .2s
}

.modal-close:hover {
    color: #f4efff
}

.modal-header {
    text-align: center;
    margin-bottom: 28px
}

.modal-header h2 {
    margin: 0 0 6px;
    font-size: 22px;
    color: #f4efff
}

.modal-header p {
    margin: 0;
    font-size: 13px;
    color: var(--muted-text)
}

.modal-providers {
    display: flex;
    flex-direction: column;
    gap: 12px
}

.provider-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 100%;
    padding: 13px 20px;
    border-radius: 12px;
    border: 1px solid rgba(150, 118, 255, .2);
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: transform .2s, background .2s
}

.provider-btn--google {
    background: #ffffff0d;
    color: #f4efff
}

.provider-btn--discord {
    background: #5865f233;
    border-color: #5865f266;
    color: #f4efff
}

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

.provider-btn--google:hover {
    background: #ffffff17
}

.provider-btn--discord:hover {
    background: #5865f252
}

.modal-note {
    margin: 18px 0 0;
    text-align: center;
    font-size: 11px;
    color: var(--muted-text)
}

.payment-notice-overlay {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 18px;
    background: #05020ed1;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px)
}

.payment-notice-box {
    width: min(620px, 94vw);
    padding: 34px 32px;
    border-radius: 16px;
    border: 1px solid rgba(255, 112, 112, .42);
    background: linear-gradient(180deg, #360c16fa, #100516fa), #140514fa;
    box-shadow: 0 0 0 1px #ffffff0a inset, 0 28px 90px #0000009e, 0 0 42px #e639462e;
    text-align: center
}

.payment-notice-box p {
    margin: 0;
    color: #fff7f7;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.45
}

.username-form {
    display: flex;
    flex-direction: column;
    gap: 12px
}

.username-input {
    width: 100%;
    padding: 12px 16px;
    border-radius: 10px;
    border: 1px solid rgba(123, 47, 255, .3);
    background: #ffffff0d;
    color: #f4efff;
    font-size: 14px;
    font-family: inherit;
    outline: none;
    transition: border-color .2s
}

.username-input:focus {
    border-color: var(--accent)
}

.username-error {
    margin: 0;
    font-size: 12px;
    color: #e63946
}

.game-page {
    max-width: 600px;
    margin: 0 auto;
    padding: 24px 0
}

.game-title {
    margin: 0 0 4px;
    font-size: 28px;
    font-weight: 700;
    color: #f4efff;
    text-align: center
}

.game-points {
    text-align: center;
    color: var(--muted-text);
    font-size: 13px;
    margin: 0 0 24px
}

.game-result {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: 16px 24px;
    border-radius: 14px;
    margin: 20px 0;
    font-size: 15px;
    font-weight: 600
}

.game-result--win {
    background: #1db9541f;
    border: 1px solid rgba(29, 185, 84, .3);
    color: #1db954
}

.game-result--lose {
    background: #e639461a;
    border: 1px solid rgba(230, 57, 70, .25);
    color: #e63946
}

.game-result__balance {
    font-size: 12px;
    color: var(--muted-text);
    font-weight: 400
}

.game-controls {
    display: flex;
    flex-direction: column;
    gap: 16px;
    align-items: center
}

.game-bet-row {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 13px;
    color: var(--muted-text)
}

.game-bet-buttons {
    display: flex;
    gap: 6px
}

.bet-chip {
    padding: 5px 12px;
    border-radius: 20px;
    border: 1px solid rgba(123, 47, 255, .3);
    background: #7b2fff14;
    color: #c4b4f8;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: background .18s, border-color .18s
}

.bet-chip--active,
.bet-chip:hover {
    background: #7b2fff4d;
    border-color: var(--accent);
    color: #f4efff
}

.game-spin-btn {
    min-width: 160px;
    padding: 12px 32px;
    font-size: 14px
}

.roulette-container {
    position: relative;
    width: 260px;
    height: 260px;
    margin: 0 auto 24px
}

.roulette-wheel {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    border: 4px solid rgba(123, 47, 255, .4);
    overflow: hidden;
    position: relative;
    background: #0b051b;
    box-shadow: 0 0 40px #7b2fff4d
}

.roulette-slot {
    position: absolute;
    top: 0;
    left: 50%;
    width: 2px;
    height: 50%;
    transform-origin: bottom center;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding-top: 4px
}

.roulette-slot span {
    font-size: 7px;
    font-weight: 700;
    color: #ffffffe6;
    transform: rotate(0)
}

.roulette-marker {
    position: absolute;
    top: -8px;
    left: 50%;
    transform: translate(-50%);
    width: 0;
    height: 0;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-top: 16px solid var(--accent);
    z-index: 10
}

.game-bet-type {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: center
}

.bet-option {
    padding: 6px 14px;
    border-radius: 8px;
    border: 1px solid rgba(123, 47, 255, .25);
    background: #7b2fff12;
    color: #c4b4f8;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: background .18s
}

.bet-option--active,
.bet-option:hover {
    background: #7b2fff47;
    border-color: var(--accent);
    color: #f4efff
}

.plinko-container {
    position: relative;
    width: 400px;
    height: 440px;
    margin: 0 auto 24px;
    border-radius: 16px;
    border: 1px solid rgba(123, 47, 255, .2);
    background: #080314cc;
    overflow: hidden
}

.plinko-canvas {
    display: block
}

.plinko-ball {
    position: absolute;
    border-radius: 50%;
    background: radial-gradient(circle at 35% 35%, #fff, var(--accent));
    box-shadow: 0 0 10px #7b2fff99;
    transition: left .18s ease, top .18s ease;
    pointer-events: none
}

.button[disabled] {
    opacity: .5;
    cursor: not-allowed;
    transform: none !important
}

@media (max-width: 760px) {

    .page,
    .footer__inner {
        width: 100%
    }

    .navbar {
        padding: 0 16px
    }

    .navbar__nav {
        display: none
    }

    .navbar__mobile {
        display: grid;
        justify-content: center
    }

    .hero {
        min-height: 360px;
        padding: 72px 20px 0
    }

    .hero:after {
        width: calc(100% - 46px);
        height: 240px
    }

    .brand-mark__script {
        font-size: 42px
    }

    .brand-mark__tech {
        font-size: 18px
    }

    .hero__eyebrow {
        font-size: 32px
    }

    .hero__subtitle {
        width: min(290px, 100%)
    }

    .hero__actions,
    .partners__row,
    .socials__grid,
    .footer__legal {
        flex-wrap: wrap
    }

    .partners,
    .offers,
    .socials,
    .footer__inner {
        padding-left: 20px;
        padding-right: 20px
    }

    .section-heading,
    .section-heading--wide,
    .video-card__inner,
    .footer__brand,
    .footer__brand p {
        width: 100%
    }

    .section-heading h2 {
        font-size: 26px
    }

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

    .video-card {
        margin-left: 20px;
        margin-right: 20px
    }

    .socials {
        padding-top: 34px
    }

    .footer__inner {
        flex-direction: column
    }

    .footer__brand small {
        margin-top: 28px
    }
}

@media (max-width: 1024px) {
    .page {
        padding: 24px 18px 64px
    }
}

@media (max-width: 767px) {
    .page {
        padding: 18px 14px 56px
    }

    .modal-overlay {
        align-items: flex-end;
        padding: 10px
    }

    .modal-box {
        width: 100%;
        max-height: min(88vh, 760px);
        padding: 28px 18px 22px;
        border-radius: 20px 20px 16px 16px;
        overflow-y: auto
    }

    .modal-header {
        margin-bottom: 22px
    }

    .modal-header h2 {
        font-size: 20px
    }

    .modal-header p,
    .provider-btn,
    .username-input {
        font-size: 15px
    }

    .payment-notice-box {
        padding: 26px 18px
    }

    .payment-notice-box p {
        font-size: 17px
    }

    .provider-btn,
    .button,
    .username-input {
        min-height: 46px
    }

    .button {
        padding: 10px 16px;
        font-size: 12px
    }

    .game-bet-row {
        flex-wrap: wrap;
        justify-content: center
    }
}

.file\:border-0::file-selector-button {
    border-width: 0px
}

.file\:bg-transparent::file-selector-button {
    background-color: transparent
}

.file\:text-sm::file-selector-button {
    font-size: .875rem;
    line-height: 1.25rem
}

.file\:font-medium::file-selector-button {
    font-weight: 500
}

.placeholder\:text-white\/20::-moz-placeholder {
    color: #fff3
}

.placeholder\:text-white\/20::placeholder {
    color: #fff3
}

.placeholder\:text-white\/40::-moz-placeholder {
    color: #fff6
}

.placeholder\:text-white\/40::placeholder {
    color: #fff6
}

.hover\:-translate-y-0\.5:hover {
    --tw-translate-y: -.125rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.hover\:border-white\/15:hover {
    border-color: #ffffff26
}

.hover\:border-white\/20:hover {
    border-color: #fff3
}

.hover\:bg-\[\#14835a\]:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(20 131 90 / var(--tw-bg-opacity, 1))
}

.hover\:bg-\[\#15b37f\]:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(21 179 127 / var(--tw-bg-opacity, 1))
}

.hover\:bg-\[\#2460b0\]:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(36 96 176 / var(--tw-bg-opacity, 1))
}

.hover\:bg-\[\#2c3d5c\]:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(44 61 92 / var(--tw-bg-opacity, 1))
}

.hover\:bg-\[\#2f63db\]:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(47 99 219 / var(--tw-bg-opacity, 1))
}

.hover\:bg-\[\#364768\]:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(54 71 104 / var(--tw-bg-opacity, 1))
}

.hover\:bg-\[\#564199\]:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(86 65 153 / var(--tw-bg-opacity, 1))
}

.hover\:bg-\[\#58ebfe\]\/90:hover {
    background-color: #58ebfee6
}

.hover\:bg-\[\#92264a\]:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(146 38 74 / var(--tw-bg-opacity, 1))
}

.hover\:bg-\[\#c2410c\]:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(194 65 12 / var(--tw-bg-opacity, 1))
}

.hover\:bg-\[\#dd5514\]:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(221 85 20 / var(--tw-bg-opacity, 1))
}

.hover\:bg-emerald-400:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(52 211 153 / var(--tw-bg-opacity, 1))
}

.hover\:bg-green-700:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(21 128 61 / var(--tw-bg-opacity, 1))
}

.hover\:bg-purple-700:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(126 34 206 / var(--tw-bg-opacity, 1))
}

.hover\:bg-red-500\/20:hover {
    background-color: #ef444433
}

.hover\:bg-red-700:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(185 28 28 / var(--tw-bg-opacity, 1))
}

.hover\:bg-white\/10:hover {
    background-color: #ffffff1a
}

.hover\:bg-white\/20:hover {
    background-color: #fff3
}

.hover\:bg-white\/\[0\.05\]:hover {
    background-color: #ffffff0d
}

.hover\:bg-white\/\[0\.06\]:hover {
    background-color: #ffffff0f
}

.hover\:bg-\[linear-gradient\(180deg\,rgba\(24\,12\,46\,0\.92\)\,rgba\(15\,7\,32\,0\.98\)\)\]:hover {
    background-image: linear-gradient(180deg, #180c2eeb, #0f0720fa)
}

.hover\:text-white:hover {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1))
}

.hover\:text-white\/70:hover {
    color: #ffffffb3
}

.hover\:opacity-90:hover {
    opacity: .9
}

.hover\:shadow-\[0_20px_38px_rgba\(91\,48\,227\,0\.42\)\]:hover {
    --tw-shadow: 0 20px 38px rgba(91, 48, 227, .42);
    --tw-shadow-colored: 0 20px 38px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.focus\:outline-none:focus {
    outline: 2px solid transparent;
    outline-offset: 2px
}

.focus\:ring-2:focus {
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)
}

.focus\:ring-offset-2:focus {
    --tw-ring-offset-width: 2px
}

.focus-visible\:outline-none:focus-visible {
    outline: 2px solid transparent;
    outline-offset: 2px
}

.focus-visible\:ring-2:focus-visible {
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)
}

.focus-visible\:ring-offset-2:focus-visible {
    --tw-ring-offset-width: 2px
}

.disabled\:pointer-events-none:disabled {
    pointer-events: none
}

.disabled\:cursor-not-allowed:disabled {
    cursor: not-allowed
}

.disabled\:bg-\[rgba\(123\,47\,255\,0\.15\)\]:disabled {
    background-color: #7b2fff26
}

.disabled\:text-white\/30:disabled {
    color: #ffffff4d
}

.disabled\:opacity-40:disabled {
    opacity: .4
}

.disabled\:opacity-50:disabled {
    opacity: .5
}

.disabled\:shadow-none:disabled {
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

@media (min-width: 640px) {
    .sm\:order-2 {
        order: 2
    }

    .sm\:order-none {
        order: 0
    }

    .sm\:block {
        display: block
    }

    .sm\:hidden {
        display: none
    }

    .sm\:h-\[152px\] {
        height: 152px
    }

    .sm\:h-\[clamp\(12px\,0\.352px\+2\.609vw\,16px\)\] {
        height: clamp(12px, .352px + 2.609vw, 16px)
    }

    .sm\:min-h-\[170px\] {
        min-height: 170px
    }

    .sm\:w-\[109px\] {
        width: 109px
    }

    .sm\:max-w-\[300px\] {
        max-width: 300px
    }

    .sm\:grid-cols-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr))
    }

    .sm\:flex-row {
        flex-direction: row
    }

    .sm\:items-center {
        align-items: center
    }

    .sm\:justify-between {
        justify-content: space-between
    }

    .sm\:gap-3 {
        gap: .75rem
    }

    .sm\:gap-\[1\%\] {
        gap: 1%
    }

    .sm\:space-y-4>:not([hidden])~:not([hidden]) {
        --tw-space-y-reverse: 0;
        margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
        margin-bottom: calc(1rem * var(--tw-space-y-reverse))
    }

    .sm\:space-y-6>:not([hidden])~:not([hidden]) {
        --tw-space-y-reverse: 0;
        margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
        margin-bottom: calc(1.5rem * var(--tw-space-y-reverse))
    }

    .sm\:p-4 {
        padding: 1rem
    }

    .sm\:p-5 {
        padding: 1.25rem
    }

    .sm\:px-2 {
        padding-left: .5rem;
        padding-right: .5rem
    }

    .sm\:px-6 {
        padding-left: 1.5rem;
        padding-right: 1.5rem
    }

    .sm\:px-7 {
        padding-left: 1.75rem;
        padding-right: 1.75rem
    }

    .sm\:py-7 {
        padding-top: 1.75rem;
        padding-bottom: 1.75rem
    }

    .sm\:pb-2 {
        padding-bottom: .5rem
    }

    .sm\:text-\[15px\] {
        font-size: 15px
    }

    .sm\:text-\[22px\] {
        font-size: 22px
    }

    .sm\:text-\[24px\] {
        font-size: 24px
    }

    .sm\:text-\[31px\] {
        font-size: 31px
    }

    .sm\:text-\[42px\] {
        font-size: 42px
    }

    .sm\:text-\[46px\] {
        font-size: 46px
    }

    .sm\:text-\[clamp\(7px\,2\.784px\+0\.87vw\,9px\)\] {
        font-size: clamp(7px, 2.784px + .87vw, 9px)
    }

    .sm\:shadow-\[0_2px_var\(--shadow-color\)\] {
        --tw-shadow: 0 2px var(--shadow-color);
        --tw-shadow-colored: 0 2px var(--tw-shadow-color);
        box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
    }
}

@media (min-width: 768px) {
    .md\:col-span-2 {
        grid-column: span 2 / span 2
    }

    .md\:block {
        display: block
    }

    .md\:grid {
        display: grid
    }

    .md\:hidden {
        display: none
    }

    .md\:h-\[168px\] {
        height: 168px
    }

    .md\:w-\[120px\] {
        width: 120px
    }

    .md\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .md\:grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr))
    }

    .md\:grid-cols-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr))
    }

    .md\:grid-cols-\[120px_1\.2fr_1fr_160px\] {
        grid-template-columns: 120px 1.2fr 1fr 160px
    }

    .md\:grid-cols-\[120px_1fr_1fr_1fr_auto\] {
        grid-template-columns: 120px 1fr 1fr 1fr auto
    }

    .md\:grid-cols-\[1fr_1\.18fr_1fr\] {
        grid-template-columns: 1fr 1.18fr 1fr
    }

    .md\:grid-cols-\[1fr_auto\] {
        grid-template-columns: 1fr auto
    }

    .md\:flex-row {
        flex-direction: row
    }

    .md\:items-center {
        align-items: center
    }

    .md\:justify-end {
        justify-content: flex-end
    }

    .md\:justify-between {
        justify-content: space-between
    }

    .md\:gap-4 {
        gap: 1rem
    }

    .md\:p-4 {
        padding: 1rem
    }

    .md\:p-6 {
        padding: 1.5rem
    }

    .md\:px-6 {
        padding-left: 1.5rem;
        padding-right: 1.5rem
    }

    .md\:text-right {
        text-align: right
    }
}

@media (min-width: 1024px) {
    .lg\:order-none {
        order: 0
    }

    .lg\:col-span-2 {
        grid-column: span 2 / span 2
    }

    .lg\:h-7 {
        height: 1.75rem
    }

    .lg\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .lg\:grid-cols-\[1\.08fr_0\.92fr\] {
        grid-template-columns: 1.08fr .92fr
    }

    .lg\:grid-cols-\[290px_1fr\] {
        grid-template-columns: 290px 1fr
    }

    .lg\:flex-row {
        flex-direction: row
    }

    .lg\:items-end {
        align-items: flex-end
    }

    .lg\:justify-between {
        justify-content: space-between
    }

    .lg\:rounded-md {
        border-radius: .375rem
    }

    .lg\:p-5 {
        padding: 1.25rem
    }

    .lg\:px-4 {
        padding-left: 1rem;
        padding-right: 1rem
    }

    .lg\:px-8 {
        padding-left: 2rem;
        padding-right: 2rem
    }

    .lg\:pb-4 {
        padding-bottom: 1rem
    }

    .lg\:pt-10 {
        padding-top: 2.5rem
    }

    .lg\:text-\[clamp\(10px\,-16\.944px\+2\.632vw\,12px\)\] {
        font-size: clamp(10px, -16.944px + 2.632vw, 12px)
    }

    .lg\:shadow-\[0_3px_var\(--shadow-color\)\] {
        --tw-shadow: 0 3px var(--shadow-color);
        --tw-shadow-colored: 0 3px var(--tw-shadow-color);
        box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
    }
}

@media (min-width: 1280px) {
    .xl\:col-span-1 {
        grid-column: span 1 / span 1
    }

    .xl\:col-span-3 {
        grid-column: span 3 / span 3
    }

    .xl\:grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr))
    }

    .xl\:grid-cols-\[0\.85fr_1\.15fr\] {
        grid-template-columns: .85fr 1.15fr
    }

    .xl\:flex-row {
        flex-direction: row
    }

    .xl\:items-center {
        align-items: center
    }
}



.payment-notice-overlay,
.payment-notice-box {
    display: none !important;
}