/*! normalize.css v4.0.0 | MIT License | github.com/necolas/normalize.css */
html {
    font-family: sans-serif;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%
}

body {
    margin: 0
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
    display: block
}

audio,
canvas,
progress,
video {
    display: inline-block
}

audio:not([controls]) {
    display: none;
    height: 0
}

progress {
    vertical-align: baseline
}

[hidden],
template {
    display: none
}

a {
    background-color: transparent
}

a:active,
a:hover {
    outline-width: 0
}

abbr[title] {
    border-bottom: none;
    text-decoration: underline;
    text-decoration: underline dotted
}

b,
strong {
    font-weight: inherit
}

b,
strong {
    font-weight: bolder
}

dfn {
    font-style: italic
}

h1 {
    font-size: 2em;
    margin: .67em 0
}

mark {
    background-color: #ff0;
    color: #000
}

small {
    font-size: 80%
}

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

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

img {
    border-style: none
}

svg:not(:root) {
    overflow: hidden
}

code,
kbd,
pre,
samp {
    font-family: monospace, monospace;
    font-size: 1em
}

figure {
    margin: 1em 40px
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible
}

button,
input,
select,
textarea {
    font: inherit
}

optgroup {
    font-weight: 700
}

button,
input,
select {
    overflow: visible
}

button,
input,
select,
textarea {
    margin: 0
}

button,
select {
    text-transform: none
}

[type=button],
[type=reset],
[type=submit],
button {
    cursor: pointer
}

[disabled] {
    cursor: default
}

[type=reset],
[type=submit],
button,
html [type=button] {
    -webkit-appearance: button
}

button::-moz-focus-inner,
input::-moz-focus-inner {
    border: 0;
    padding: 0
}

button:-moz-focusring,
input:-moz-focusring {
    outline: 1px dotted ButtonText
}

fieldset {
    border: 1px solid silver;
    margin: 0 2px;
    padding: .35em .625em .75em
}

legend {
    box-sizing: border-box;
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal
}

textarea {
    overflow: auto
}

[type=checkbox],
[type=radio] {
    box-sizing: border-box;
    padding: 0
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    -webkit-appearance: textfield
}

[type=search]::-webkit-search-cancel-button,
[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

.slick-slider {
    position: relative;
    display: block;
    box-sizing: border-box;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent
}

.slick-list {
    position: relative;
    display: block;
    overflow: hidden;
    margin: 0;
    padding: 0
}

.slick-list:focus {
    outline: 0
}

.slick-list.dragging {
    cursor: pointer;
    cursor: hand
}

.slick-slider .slick-list,
.slick-slider .slick-track {
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
}

.slick-track {
    position: relative;
    top: 0;
    left: 0;
    display: block;
    margin-left: auto;
    margin-right: auto
}

.slick-track:after,
.slick-track:before {
    display: table;
    content: ''
}

.slick-track:after {
    clear: both
}

.slick-loading .slick-track {
    visibility: hidden
}

.slick-slide {
    display: none;
    float: left;
    height: 100%;
    min-height: 1px
}

[dir=rtl] .slick-slide {
    float: right
}

.slick-slide img {
    display: block
}

.slick-slide.slick-loading img {
    display: none
}

.slick-slide.dragging img {
    pointer-events: none
}

.slick-initialized .slick-slide {
    display: block
}

.slick-loading .slick-slide {
    visibility: hidden
}

.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent
}

.slick-arrow.slick-hidden {
    display: none
}

body,
html {
    box-sizing: border-box
}

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

html {
    height: 100%;
    width: 100%;
    background-color: #1c0902
}

dd,
dl,
dt,
figure,
li,
ol,
ul {
    margin: 0;
    padding: 0
}

ol,
ul {
    list-style: none
}

dl,
li,
p,
table {
    line-break: strict;
    word-wrap: break-word
}

img {
    border: 0;
    height: auto;
    line-height: 1;
    max-width: 100%;
    vertical-align: middle
}

a,
button,
input,
textarea {
    outline: 0
}

a {
    color: #e2f3fd;
    text-decoration: underline;
    text-transform: uppercase;
    font-weight: 700
}

b {
    color: #e2f3fd;
    text-transform: uppercase;
    font-weight: 700
}

a:hover {
    text-decoration: none
}

body {
    font-family: Roboto, sans-serif;
    background-color: #1c0902;
    min-height: 100%;
    color: #e2f3fd;
    display: flex;
    flex-direction: column
}

article {
    background: url(../images/bg.jpg) top left no-repeat;
    background-size: cover;
    background-color: #1c0902;
    padding-bottom: 4rem;
    position: relative;
    height: 100%;
    flex: 1;
    z-index: 9
}
.main_content {
    background: url(../images/bg-lg.png) top left no-repeat;
    background-size: cover;
    background-color: #1c0902;
    position: relative;
    height: 100%;
    flex: 1;
    z-index: 9
}

.background {
    bottom: 0;
    left: -17%;
    position: fixed;
    right: 0;
    top: -15%;
    width: 135%;
    height: 115%
}

.background video {
    min-height: 100%;
    min-width: 100%
}

article .container {
    margin: 0 auto;
    max-width: 500px;
    position: relative;
    width: 100%;
    z-index: 2
}

.logo {
    margin: 0 auto;
    padding-top: 2%;
    width: 65%;
    text-align: center;
}

.slogan {
    margin: -6% auto -1%;
    width: 95%
}

.sup_slogan {
    color: #fffcc7;
    font-size: 40px;
    font-weight: 500;
    text-align: center;
    text-transform: uppercase;
    text-shadow: 2px 2px 2px #000;
    margin-bottom: 2%
}

.btndk {
    animation: animation .6s linear infinite;
    cursor: pointer;
    margin: 0 auto;
    width: 69%
}

@-webkit-keyframes animation {
    0% {
        -webkit-filter: drop-shadow(2px 2px 15px #ffd747);
        filter: drop-shadow(2px 2px 15px #ffd747)
    }

    50% {
        -webkit-filter: none;
        filter: none
    }

    100% {
        -webkit-filter: drop-shadow(2px 2px 15px #ffd747);
        filter: drop-shadow(2px 2px 15px #ffd747)
    }
}

.btnwweb {
    cursor: pointer;
    margin: 4% auto 0;
    width: 70%
}

.btnwweb:hover {
    -webkit-filter: drop-shadow(2px 2px 15px #ffd747);
    filter: drop-shadow(2px 2px 15px #ffd747)
}

.note {
    font-size: 13px;
    margin: 3% auto;
    text-align: center;
    width: 100%
}

footer {
    background: rgba(18, 6, 0, .6);
    position: relative;
    z-index: 10
}

footer .container {
    margin: 0 auto;
    max-width: 1348px;
    width: 100%
}

.ftrow {
    display: flex;
    padding-bottom: 2.5rem;
    padding-top: 2.5rem
}

.ftrow>div {
    padding: 0 10px
}

.ftcopyright {
    background: #1b0a02;
    font-size: 12px;
    padding: 15px;
    text-align: center
}

.footerlogo {
    width: 14%
}

.footer_col1 {
    width: 38%
}

.footer_col2 {
    width: 29%
}

.footer_col3 {
    width: 19%
}

.ft_games {
    max-width: 290px
}

.footer_patner {
    max-width: 220px
}

.footer_ttl {
    color: #fff5d2;
    font-size: 14px;
    font-weight: 700;
    padding-bottom: .5rem
}

.footer_des {
    font-size: 13px;
    line-height: 1.5
}

.banners {
    left: calc(50% + (500px / 2) + 1rem);
    max-width: 435px;
    position: absolute;
    top: 60%;
    transform: translateY(-50%);
    width: 40%
}

#background_mobile,
#background_table,
.ipadpro,
.logintab,
.maindlapp,
.registertab,
.titlegames {
    display: none
}

#alertmodal,
.formmodal {
    align-items: center;
    background: rgba(0, 0, 0, .8);
    bottom: 0;
    display: none;
    flex-direction: column;
    justify-content: center;
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 999;
    padding: 0 15px
}

#alertmodal.active,
.formmodal.active {
    display: flex
}

.modal_box {
    margin: 0 auto;
    max-width: 544px;
    width: 100%
}

.modal_tabcontent {
    position: relative
}

.closemodal {
    cursor: pointer;
    height: 48px;
    position: absolute;
    right: -10px;
    top: 15px;
    width: 48px;
    z-index: 9
}

.tabnav {
    background: url(../images/bg-tab.png) center no-repeat;
    background-size: 100% 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto 1rem;
    padding: 8px;
    height: 50px;
    width: 48%
}

.tabnav li {
    width: 45%
}

.tabcontent_form {
    background: url(../images/bg-form.png) 50% 1.5rem no-repeat;
    background-size: 100% calc(100% - 1.5rem);
    padding: 0 0 1.5rem
}

.logintab.active,
.registertab.active {
    display: block
}

.tabcontent_form form {
    width: 80%;
    margin: 0 auto
}

.form-group {
    margin-bottom: 1rem;
    position: relative;
    display: flex;
    align-items: center;
    flex-wrap: wrap
}

.error.errors {
    width: 100%;
    font-size: 12px;
    color: #f20000;
    text-align: center;
    margin-bottom: -.9rem
}

.form_field {
    background: #130809;
    border: 2px solid #5d2722;
    height: 50px;
    border-radius: 32px;
    width: 100%;
    font-weight: 700;
    padding: 0 55px 0 25px;
    width: 100%;
    flex: 1;
    margin-left: 1rem;
    color: #eeb005
}

.form_field::-webkit-input-placeholder {
    color: #bd9088 !important
}

.btnsubmit {
    padding-top: .5rem
}

.btnsubmit button {
    background: 0 0;
    border: none;
    display: block;
    margin: 0 auto;
    padding: 0;
    width: 45%
}

.icon_field {
    width: 30px;
    min-width: 30px;
    height: 30px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    display: inline-block
}

.icon_user {
    background-image: url(../images/icon-user.png)
}

.icon_lock {
    background-image: url(../images/icon-lock.png)
}

.icon_eye {
    background-image: url(../images/icon-eye.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    display: inline-block;
    height: 50px;
    position: absolute;
    right: 25px;
    top: 0;
    width: 24px;
    cursor: pointer
}

.icon_eye.active {
    background-image: url(../images/icon-eye-active.png)
}

.maindlapp {
    margin-top: 1%
}

.maindlapp.active {
    display: block
}

.btnapp {
    display: block;
    margin: 0 auto;
    width: 95%
}

.btnweb {
    display: block;
    margin: 0 auto;
    width: 75%
}

.btnapp a,
.btnweb a {
    display: block
}

.btndkmobile {
    cursor: pointer;
    display: block;
    margin: 0 auto;
    width: 75%;
    animation: animation .6s linear infinite
}

.btnapp img,
.btndkmobile img,
.btnweb img {
    width: 100%
}

#huongdan {
    position: relative;
    z-index: 2;
    padding-top: 1rem;
    display: none
}

.hdtitle {
    background: #1f1009;
    text-align: center;
    text-transform: uppercase;
    padding: 15px
}

.huongdan_box {
    padding: 15px;
    background: linear-gradient(to bottom, #1f1009 0, #1f1009 10%, rgba(31, 16, 9, 0) 100%)
}

.huongdan_step {
    text-transform: uppercase;
    padding-bottom: 10px;
    font-weight: 700;
    color: #e8c04b
}

.huongdan_content {
    padding-bottom: 1rem;
    list-style: disc;
    margin-left: 1.5rem;
    line-height: 1.6
}

.btnsocial {
    background: rgba(17, 15, 11, .5);
    border-radius: 16px 0 0 16px;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 15px;
    position: fixed;
    right: 0;
    top: 10%;
    z-index: 99
}

.btnsocial li a {
    display: block;
    width: 32px;
    height: 32px;
    cursor: pointer
}

.btnsocial li a:hover img {
    -webkit-filter: drop-shadow(1px 1px 5px #f8d24c);
    filter: drop-shadow(1px 1px 5px #f8d24c)
}

#alertmodal .alertmodal_box {
    background: #230e10;
    border: 2px solid #936c2e;
    border-radius: .5rem;
    padding: 3rem 15px;
    position: relative;
    width: 100%;
    max-width: 500px
}

.alertmodal_des {
    color: #fce348;
    text-align: center;
    line-height: 1.6
}

#alertmodal .alertmodal_box .closealert {
    cursor: pointer;
    height: 30px;
    position: absolute;
    right: -10px;
    top: -10px;
    width: 30px;
    z-index: 9
}

@media (max-width:1500px) {
    .background {
        left: -17%;
        top: 0;
        width: 135%;
        height: 100%
    }

    .banners {
        top: 60%
    }
}

@media (max-width:1500px) and (max-height:780px) {
    article .container {
        max-width: 420px
    }

    .logo {
        padding-top: 3%;
        width: 70%
    }

    .slogan {
        margin: -7% auto -1%
    }

    .sup_slogan {
        font-size: 33px;
        margin-bottom: 2%
    }

    .btndk {
        margin-top: -5%
    }

    .btnwweb,
    .note {
        margin-top: 2%
    }

    .background {
        top: -10%;
        height: 110%
    }

    .banners {
        top: 58%;
        left: calc(50% + (420px / 2) + 1rem)
    }

    .btnsubmit {
        padding-top: .2rem
    }
}

@media (max-height:726px) {
    .logo {
        width: 65%;
        padding-top: 1%
    }

    .slogan {
        margin: -5% auto -1%
    }

    .form_field,
    .icon_eye {
        height: 46px
    }

    .tabcontent_form {
        padding: 0 0 1.2rem
    }

    .note {
        font-size: 12px;
        margin-top: 1%
    }
}

@media (max-width:1300px) {
    .background {
        left: -25%
    }

    .banners {
        max-width: 330px
    }

    .banners_item {
        width: 200px
    }

    .banners_item.slick-snext {
        transform: translate3d(30%, 0, -10px)
    }

    .banners_item.slick-sprev {
        transform: translate3d(-30%, 0, -10px)
    }
}

@media (max-width:1100px) {
    body {
        background-color: #0b0d0a
    }

    article {
        background: url(../images/bg-tablet.jpg) top center no-repeat;
        background-size: 100% auto;
        background-color: #0b0d0a;
        overflow: hidden
    }

    #background_table {
        display: block
    }

    #background_desktop {
        display: none
    }

    .background video {
        min-height: 120%
    }

    .banners {
        position: unset;
        transform: none;
        margin: 0 auto;
        max-width: 435px;
        width: 100%
    }

    .banners_item {
        width: 235px
    }

    .banners_item.slick-snext {
        transform: translate3d(45%, 0, -11px)
    }

    .banners_item.slick-sprev {
        transform: translate3d(-45%, 0, -11px)
    }

    .background {
        width: 110%;
        height: 100%;
        left: 50%;
        top: 0;
        position: absolute;
        transform: translateX(-50%)
    }

    .logo {
        padding-top: 1%;
        width: 50%
    }

    .slogan {
        margin-top: -5%
    }

    .btndk {
        margin-top: 55%
    }

    .btnwweb,
    .note {
        margin-top: 1%
    }

    footer {
        background: #120600
    }

    article .container.active .btndk,
    article .container.active .btnwweb,
    article .container.active .note {
        display: none
    }
}

@media (max-width:991px) {
    article {
        background: url(../images/bg-tablet.jpg) top center no-repeat;
        background-size: 109% auto;
        background-color: #0b0d0a
    }

    .background {
        width: 100%;
        height: 100%;
        top: -7%
    }

    .background video {
        left: 50%;
        min-width: 100%;
        position: relative;
        transform: translateX(-50%)
    }

    .ftrow {
        flex-direction: column
    }

    .ftrow>div {
        padding-bottom: 1rem;
        text-align: center;
        width: 100%
    }

    footer .footerlogo {
        margin: 0 auto;
        width: 60%
    }

    .footer_patner,
    .ft_games {
        margin: 0 auto
    }

    #background_mobile {
        display: block
    }
}

@media (min-width:758px) {
    .slick-list {
        padding-left: 25% !important;
        padding-right: 25% !important
    }

    .slick-track {
        max-width: 100% !important;
        perspective: 100px;
        transform: translate3d(0, 0, 0) !important
    }

    .slick-slide {
        bottom: 0;
        left: 0;
        opacity: 0;
        position: absolute;
        right: 0;
        top: 0;
        transform: translate3d(0, 0, 0);
        transition: transform .5s, opacity .5s
    }

    .banners_item {
        width: 235px
    }

    .slick-snext,
    .slick-sprev {
        display: block
    }

    .banners_item.slick-current {
        display: block;
        opacity: 1;
        position: relative;
        z-index: 2;
        transform: translate3d(0, 0, 0)
    }

    .banners_item.slick-snext {
        margin-right: 0;
        opacity: .5;
        transform: translate3d(45%, 0, -11px);
        z-index: 1
    }

    .banners_item.slick-sprev {
        margin-left: 0;
        opacity: .5;
        transform: translate3d(-45%, 0, -11px);
        z-index: 1
    }
}

@media (max-width:757px) {
    article {
        padding-bottom: 2rem;
        max-width: 100%;
        overflow: hidden
    }

    main {
        overflow: hidden;
        max-width: 100%;
        min-height: 100svh
    }
    .main-container {
        min-height: unset !important
    }

    .logo {
        padding-top: 2%;
        padding-left: 0;
        width: 50%
    }

    .btndk {
        margin-top: 40%
    }

    .slick-list {
        padding-left: 10% !important;
        padding-right: 10% !important
    }

    .banners_item {
        width: 250px
    }

    .slick-slide {
        position: unset
    }

    .banners_item.slick-snext {
        transform: none
    }

    .banners_item.slick-sprev {
        transform: none
    }

    .titlegames {
        display: block;
        margin: 0 auto;
        position: relative;
        padding-top: .5rem;
        width: 68%;
        z-index: 2
    }

    .background {
        height: 50%;
        top: 0;
        width: 100%
    }

    .background video {
        min-height: 100%;
        min-width: 100%;
        transform: translateX(-50%)
    }

    footer .ftrow {
        padding-bottom: 1.5rem;
        padding-top: 1.5rem
    }

    footer .footerlogo {
        padding-bottom: 2rem;
        width: 50%
    }

    .footer_ttl {
        font-size: 12px;
        padding-bottom: 1rem
    }

    .footer_des {
        font-size: 12px
    }

    .tabcontent_form {
        background-position: 50% 1.2rem;
        background-size: 100% calc(100% - 1.2rem);
        padding-bottom: 1rem
    }

    .tabnav {
        width: 60%;
        padding: 5px;
        height: 45px
    }

    .tabcontent_form form {
        width: 90%
    }

    .form_field,
    .icon_eye {
        height: 40px
    }

    .form_field {
        border-width: 1px;
        font-size: 14px;
        margin-left: .5rem;
        padding: 0 45px 0 20px
    }

    .icon_field {
        width: 20px;
        min-width: 20px;
        height: 20px
    }

    .icon_eye {
        right: 20px;
        width: 20px
    }

    .btnsubmit {
        padding-top: 0
    }

    .closemodal {
        width: 30px;
        height: 30px;
        top: 10px;
        right: 0
    }

    .btnsocial {
        padding: 12px 10px;
        border-radius: 10px 0 0 10px;
        gap: .7rem
    }

    .banners {
        overflow: hidden
    }

    .banners_row {
        max-width: 100%;
        overflow: hidden
    }
}

@media (max-width:575px) {
    article {
        background: url(../images/bg-mobile2.jpg) top center no-repeat;
        background-size: 107% auto;
        background-color: #130802
    }
    .main_content {
        background: url(../images/bg-mb.png) top center no-repeat;
        background-size: 107% auto;
        background-color: #130802
    }

    #background_table {
        display: none
    }

    #background_mobile {
        display: block
    }

    .background video {
        left: 50%;
        min-width: 100%;
        position: relative;
        transform: translateX(-50%)
    }

    article .container {
        max-width: 90%
    }

    .slogan {
        width: 90%;
        margin: -5% auto 0
    }

    .sup_slogan {
        font-size: 28px;
        margin-bottom: 3%
    }

    .banners {
        padding-top: 0
    }

    .background {
        height: 100svh;
        top: 0
    }

    .btnapp {
        margin: 1% auto
    }
}

@media (max-width:405px) {
    .sup_slogan {
        font-size: 26px
    }
}

@media (max-height:480px) {
    #background_table {
        display: none
    }

    #background_mobile {
        display: block
    }

    .modal_box {
        max-width: 345px
    }
}

@media (max-width:400px) {
    article {
        background-size: 117% auto
    }

    .btndkmobile {
        margin-bottom: -1rem
    }
}

#blocked-overlay {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 36px 0px 60px 0px;
}

#blocked-overlay[aria-hidden="true"] {
    display: none;
}

.blocked-card {
    background: url(../images/bg-content.png) top center / cover no-repeat;
    background-size: contain;
    max-width: 900px;
    border-radius: 22px;
    padding: 40px 48px;
    color: #ffffff;
    text-align: center;
}

.blocked-card::after {
    content: "";
    position: absolute;
    inset: 6px;
    border-radius: 18px;
    pointer-events: none;
    opacity: 0.95;
}

.warning-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    margin-bottom: 8px;
    margin: 0px 20px 18px 20px;
}

.warning {
    font-size: clamp(28px, 4.6vw, 36px);
    color: #ffd136;
    filter: drop-shadow(0 4px 14px rgba(0, 0, 0, 0.6));
}

.blocked-title {
    font-family: "Noto Sans", Montserrat, Arial, sans-serif;
    font-weight: 900 !important;
    font-size: 28px !important;
    line-height: 100%;
    letter-spacing: 0%;
    color: #fffe06;
}

.blocked-text {
    font-family: "Be Vietnam Pro", sans-serif;
    color: rgba(255, 255, 255, 0.95);
    font-size: clamp(14px, 1.4vw, 20px);
    line-height: 1.8;
    margin: 16px 0;
}

.blocked-text.vn {
    margin: 16px 80px 0px 80px;
    color: #efecec;
}

.blocked-text.en {
    margin: 0px 40px 0px 40px;
    color: #efecec;
    opacity: 0.95;
}

.blocked-link {
    color: #d07bff;
    text-decoration: underline;
    font-weight: 600;
}

#blocked-overlay hr {
    width: 74%;
    margin: 20px auto;
    border: none;
    height: 2px;
    border-radius: 6px;
    background: radial-gradient(56.09% 381.71% at 50% 50%, rgba(255, 223, 83, 0.4) 0%, rgba(115, 115, 115, 0) 72.78%);
}

@media (max-width: 700px) {
    .blocked-card {
        background: url(../images/bg-content-md.png) center / cover no-repeat;
        background-size: cover;
        padding: 32px 12px;
        width: 351px;
        height: 433px;
    }
    .blocked-title {
        font-size: 16px !important;
    }

    .blocked-text.vn {
        margin: 16px 0px 0px 0px;
        font-size: 14px;
    }

    .blocked-text.en {
        margin: 0px;
        font-size: 14px;
    }
}

@media (max-width: 560px) {
    #blocked-overlay hr {
        height: 4px;
        border-radius: 4px;
        width: 86%;
    }

    .blocked-card {
        padding: 22px 20px;
        border-radius: 14px;
    }

    .warning {
        font-size: 30px;
    }

    .blocked-card h1 {
        font-size: 18px;
    }

    .blocked-text {
        font-size: 14px;
    }
}
/* ==========================================================================
   Spin-wheel landing (index.html) — Figma "Nohu": Mobile 402x874, Desktop 1920x1080.
   Every length is a Figma px value times --u (one Figma px in CSS px), so each
   artboard scales as a single piece. Mobile-first; landscape uses the desktop art.
   ========================================================================== */
.lp {
    --u: calc(100vw / 402);
    position: relative;
    flex: 1 0 auto;
    width: 100%;
    height: calc(874 * var(--u));
    min-height: 100vh;
    overflow: hidden;
    background-color: #130404
}

@supports (min-height: 100svh) {
    .lp {
        min-height: 100svh
    }
}

/* Portrait tablets/monitors: fit the whole mobile artboard on screen */
@media (orientation: portrait) and (min-width: 600px) {
    .lp {
        --u: min(calc(100vw / 402), calc(100vh / 874));
        height: 100vh
    }
}

/* The global img max-width:100% would clamp the cropped desktop popup frame */
.lp img {
    max-width: none
}

.lp_bg {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: url(../images/spin/bg-mb.png) center top / cover no-repeat;
    pointer-events: none
}

.lp_bg-popup {
    background-image: url(../images/spin/bg-popup-mb.png);
    opacity: 0;
    transition: opacity .4s ease
}

.lp_stage,
.popup_stage {
    position: absolute;
    top: 0;
    left: 50%;
    width: calc(402 * var(--u));
    height: calc(874 * var(--u));
    transform: translateX(-50%)
}

.lp_pot,
.lp_model,
.lp_fade,
.popup_flare {
    display: none
}

.lp_head {
    position: absolute;
    top: calc(28 * var(--u));
    left: 0;
    right: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: calc(4 * var(--u));
    text-align: center
}

.lp_logo {
    width: calc(184.28 * var(--u));
    height: calc(112 * var(--u));
    margin: 0
}

.lp_logo img {
    display: block;
    width: 100%;
    height: 100%
}

.lp_tagline {
    display: block;
    width: calc(333 * var(--u));
    height: calc(54 * var(--u))
}

.lp_slogan {
    color: #fffcc7;
    font-size: calc(24 * var(--u));
    font-weight: 500;
    line-height: normal;
    white-space: nowrap
}

/* Wheel internals are written in desktop px; --wu shrinks them to the mobile wheel (373.19 / 710).
   The ring's axis sits at x=332 of wheel-frame.png (the lightning widens the art to the right),
   so the wheel is placed to put that axis, not the image box, on the page centre. */
.wheel {
    --wu: calc(var(--u) * .52562);
    position: absolute;
    top: calc(250 * var(--u));
    left: calc(201 * var(--u) - 332 * var(--wu));
    width: calc(710 * var(--wu));
    height: calc(761 * var(--wu));
    padding: 0;
    border: 0;
    background: none;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    transition: opacity .3s ease, visibility .3s
}

.wheel img {
    position: absolute;
    display: block;
    pointer-events: none
}

/* Button and content are centred on the ring's hole (332,407), not Figma's 325.5,405.5 */
.wheel_btn {
    top: calc(294.5 * var(--wu));
    left: calc(218 * var(--wu));
    width: calc(228 * var(--wu));
    height: calc(225 * var(--wu));
    animation: spinPulse 1.2s ease-in-out infinite
}

.wheel_content {
    top: calc(148 * var(--wu));
    left: calc(73 * var(--wu));
    width: calc(518 * var(--wu));
    height: calc(518 * var(--wu))
}

.wheel_frame {
    top: 0;
    left: 0;
    width: calc(710 * var(--wu));
    height: calc(794 * var(--wu))
}

.wheel.is-spinning {
    cursor: default
}

.wheel.is-spinning .wheel_btn {
    animation: none
}

.wheel:focus-visible .wheel_btn {
    filter: drop-shadow(0 0 12px #ffe3ab)
}

/* Mobile popups replace the wheel in-page; the dimmed background swaps in behind them */
.lp[data-step=prize] .wheel,
.lp[data-step=register] .wheel {
    opacity: 0;
    visibility: hidden
}

.lp[data-step=prize] .lp_bg-popup,
.lp[data-step=register] .lp_bg-popup {
    opacity: 1
}

.popup {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 50;
    visibility: hidden;
    opacity: 0;
    transition: opacity .35s ease, visibility .35s
}

.lp[data-step=prize] .popup,
.lp[data-step=register] .popup {
    visibility: visible;
    opacity: 1
}

.prize,
.register {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    visibility: hidden;
    opacity: 0
}

.prize>*,
.register>* {
    position: absolute
}

.prize {
    transform-origin: 50% calc(467 * var(--u))
}

.register {
    transform-origin: 50% calc(403 * var(--u))
}

.lp[data-step=prize] .prize,
.lp[data-step=register] .register {
    visibility: visible;
    opacity: 1;
    animation: spinPopIn .55s cubic-bezier(.34, 1.56, .64, 1) both
}

.prize_frame {
    display: block;
    top: calc(250 * var(--u));
    left: calc(33 * var(--u));
    width: calc(336 * var(--u));
    height: calc(435 * var(--u))
}

.prize_frame img {
    display: block;
    width: 100%;
    height: 100%
}

/* Prize copy is written in desktop px; --pu shrinks it to the mobile group (354.18 / 580) */
.prize_text {
    --pu: calc(var(--u) * .61066);
    top: calc(310 * var(--u));
    left: calc(24 * var(--u));
    width: calc(580 * var(--pu))
}

.prize_text img {
    display: block;
    margin: 0 auto
}

.prize_text .prize_title {
    width: calc(368 * var(--pu));
    height: calc(63 * var(--pu));
    margin-bottom: calc(4 * var(--pu))
}

.prize_amount {
    width: calc(580 * var(--pu));
    height: calc(129 * var(--pu))
}

.prize_badge {
    width: calc(324 * var(--pu));
    height: calc(48 * var(--pu));
    border-radius: calc(60 * var(--pu));
    background: rgba(50, 3, 0, .3)
}

.prize_flare {
    top: calc(459 * var(--u));
    left: calc(12 * var(--u));
    width: calc(377 * var(--u));
    height: calc(298 * var(--u));
    background: url(../images/spin/light-flare.png) center / 100% 100% no-repeat;
    pointer-events: none;
    animation: spinGlow 2.4s ease-in-out infinite
}

.prize_cta,
.register_submit {
    padding: 0;
    border: 0;
    background: none;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    animation: spinCta 1.4s ease-in-out infinite
}

.prize_cta img,
.register_submit img {
    display: block;
    width: 100%;
    height: 100%
}

.prize_cta:focus-visible,
.register_submit:focus-visible {
    outline: 2px solid #ffe3ab;
    outline-offset: 2px
}

.prize_cta {
    top: calc(611 * var(--u));
    left: calc(46 * var(--u));
    width: calc(310 * var(--u));
    height: calc(93 * var(--u))
}

.prize_pot {
    top: calc(478 * var(--u));
    left: calc(103 * var(--u));
    width: calc(195 * var(--u));
    height: calc(188 * var(--u));
    background: url(../images/spin/popup-pot.png) center / 100% 100% no-repeat;
    pointer-events: none
}

/* Not in the Figma frames (added on request): sits on each popup frame's top-right corner */
.popup_close {
    z-index: 2;
    width: calc(36 * var(--u));
    height: calc(36 * var(--u));
    padding: 0;
    border: 0;
    background: none;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent
}

.popup_close img {
    display: block;
    width: 100%;
    height: 100%
}

.popup_close:hover img,
.popup_close:focus-visible img {
    filter: drop-shadow(0 0 6px #f8d24c)
}

.prize .popup_close {
    top: calc(240 * var(--u));
    left: calc(340 * var(--u))
}

.register .popup_close {
    top: calc(252 * var(--u));
    left: calc(354 * var(--u))
}

.register_frame {
    top: calc(250 * var(--u));
    left: calc(12 * var(--u));
    width: calc(378 * var(--u));
    height: calc(306 * var(--u))
}

.register form {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.register_fields {
    position: absolute;
    top: calc(330 * var(--u));
    left: calc(48 * var(--u));
    width: calc(306 * var(--u));
    display: flex;
    flex-direction: column;
    gap: calc(12 * var(--u))
}

.register .form-group {
    position: relative;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: calc(12 * var(--u));
    height: calc(40 * var(--u));
    margin: 0;
    padding: 0 calc(16 * var(--u));
    border: 1px solid #c79f72;
    border-radius: calc(32 * var(--u));
    background: #140101
}

.register .icon_field {
    width: calc(20 * var(--u));
    min-width: calc(20 * var(--u));
    height: calc(20 * var(--u))
}

.register .icon_user {
    background-image: url(../images/spin/icon-user.svg)
}

.register .icon_lock {
    background-image: url(../images/spin/icon-lock.svg)
}

.form_divider {
    flex: none;
    width: 1px;
    height: calc(16 * var(--u));
    background: #432d1f
}

.register .form_field {
    flex: 1;
    min-width: 0;
    height: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #ffe3ab;
    font-size: calc(12 * var(--u));
    font-weight: 400
}

.register .form_field::-webkit-input-placeholder {
    color: #4e4122 !important
}

.register .form_field::placeholder {
    color: #4e4122
}

.register .form_field:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 100px #140101 inset;
    -webkit-text-fill-color: #ffe3ab
}

.register .icon_eye {
    position: static;
    flex: none;
    width: calc(16 * var(--u));
    height: calc(16 * var(--u));
    background-image: url(../images/spin/icon-eye-off.svg)
}

.register .icon_eye.active {
    background-image: url(../images/spin/icon-eye.svg)
}

/* jQuery Validate inserts the message inside the pill; float it into the gap below */
.register .error.errors {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    margin: 0;
    padding-top: 1px;
    color: #ffb4a8;
    font-size: max(10px, calc(10 * var(--u)));
    line-height: 1.1;
    text-align: center;
    white-space: nowrap;
    pointer-events: none
}

.register_submit {
    position: absolute;
    top: calc(493 * var(--u));
    left: calc(61 * var(--u));
    width: calc(279 * var(--u));
    height: calc(83 * var(--u))
}

/* Turnstile renders here only when Cloudflare needs a click (fixed 300x65 iframe, not scaled),
   so it sits just below the register frame instead of covering the fields */
.register_turnstile {
    position: absolute;
    z-index: 3;
    top: calc(584 * var(--u));
    left: 0;
    right: 0;
    display: flex;
    justify-content: center
}

.register_light {
    width: calc(140.22 * var(--u));
    height: calc(249.14 * var(--u));
    background: url(../images/spin/light-effect.png) center / 100% 100% no-repeat;
    mix-blend-mode: screen;
    pointer-events: none;
    animation: spinTwinkle 2.4s ease-in-out infinite
}

.register_light-left {
    top: calc(261 * var(--u));
    left: calc(-49 * var(--u))
}

.register_light-right {
    top: calc(327 * var(--u));
    left: calc(311 * var(--u));
    animation-delay: -1.2s
}

/* Phones: at top:10% the social bar covers the end of the tagline. Pinned to the top-right
   corner and compacted (124px tall) it stays beside the logo and above the tagline. */
@media (orientation: portrait) {
    .lp~.btnsocial {
        top: calc(10px + env(safe-area-inset-top, 0px));
        padding: 8px;
        gap: 6px
    }
}

@media (orientation: landscape) {
    .lp {
        --u: min(calc(100vw / 1920), calc(100vh / 1080));
        height: 100vh;
        min-height: 0
    }

    .lp_bg {
        background-image: url(../images/spin/bg-fire.png), url(../images/spin/bg-pc.png);
        background-position: center bottom;
        background-size: cover
    }

    .lp_bg-popup {
        display: none
    }

    .lp_stage,
    .popup_stage {
        top: 50%;
        width: calc(1920 * var(--u));
        height: calc(1080 * var(--u));
        transform: translate(-50%, -50%)
    }

    .lp_head {
        gap: calc(3.466 * var(--u))
    }

    .lp_logo {
        width: calc(247 * var(--u));
        height: calc(150 * var(--u))
    }

    .lp_tagline {
        width: calc(444 * var(--u));
        height: calc(72 * var(--u))
    }

    .lp_slogan {
        font-size: calc(32 * var(--u))
    }

    /* pot.webp is an 800x1080 canvas with the pot at 141,513 (366x379); this box
       scales it x1.0578 so the pot covers Figma's pot_1 slot (118,475 391x397) */
    .lp_pot {
        display: block;
        position: absolute;
        top: calc(-69.64 * var(--u));
        left: calc(-29.24 * var(--u));
        width: calc(846.28 * var(--u));
        height: calc(1142.48 * var(--u));
        background: url(../images/spin/pot.webp) center / 100% 100% no-repeat;
        pointer-events: none
    }

    /* model.webp is a 700x800 canvas (girl + coins + chest); x1.0125 at 1284,274
       puts the girl on Figma's model slot (1366,403 489x677), fitted by pixel match */
    .lp_model {
        display: block;
        position: absolute;
        top: calc(274 * var(--u));
        left: calc(1284 * var(--u));
        width: calc(708.75 * var(--u));
        height: calc(810 * var(--u));
        background: url(../images/spin/model.webp) center / 100% 100% no-repeat;
        pointer-events: none
    }

    .lp_fade {
        display: block;
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        height: max(calc(100vw * 242 / 1920), calc(100vh * 242 / 1080));
        background: url(../images/spin/bg-fade.png) center bottom / cover no-repeat;
        pointer-events: none
    }

    .wheel {
        --wu: var(--u);
        top: calc(295 * var(--u));
        left: calc(628 * var(--u))
    }

    .lp[data-step] .wheel {
        opacity: 1;
        visibility: visible
    }

    .popup {
        position: fixed;
        background: rgba(0, 0, 0, .9)
    }

    .popup_flare {
        display: block;
        position: absolute;
        top: 50%;
        left: 50%;
        width: calc(1369 * var(--u));
        height: calc(1080 * var(--u));
        margin: calc(-540 * var(--u)) 0 0 calc(-684.5 * var(--u));
        background: url(../images/spin/light-flare.png) center / 100% 100% no-repeat;
        pointer-events: none;
        animation: spinGlow 3s ease-in-out infinite
    }

    .prize,
    .register {
        transform-origin: 50% 50%
    }

    .prize_frame {
        top: calc(225 * var(--u));
        left: calc(490 * var(--u));
        width: calc(940 * var(--u));
        height: calc(631 * var(--u));
        overflow: hidden
    }

    /* Figma crops the 1004px-wide frame art to 940px, trimming 64px off the left */
    .prize_frame img {
        position: absolute;
        top: 0;
        left: -6.81%;
        width: 106.81%;
        height: 100%
    }

    .prize_text {
        --pu: var(--u);
        top: calc(345 * var(--u));
        left: calc(812 * var(--u))
    }

    .prize_badge {
        border-radius: 0;
        background: none
    }

    .prize_flare,
    .prize_pot {
        display: none;
        background-image: none
    }

    .prize_cta {
        top: calc(609 * var(--u));
        left: calc(873 * var(--u));
        width: calc(458 * var(--u));
        height: calc(137 * var(--u))
    }

    .popup_close {
        width: calc(56 * var(--u));
        height: calc(56 * var(--u))
    }

    .prize .popup_close {
        top: calc(212 * var(--u));
        left: calc(1404 * var(--u))
    }

    .register .popup_close {
        top: calc(262 * var(--u));
        left: calc(1300 * var(--u))
    }

    .register_frame {
        top: calc(240 * var(--u));
        left: calc(590 * var(--u));
        width: calc(741 * var(--u));
        height: calc(600 * var(--u))
    }

    .register_fields {
        top: calc(401 * var(--u));
        left: calc(680 * var(--u));
        width: calc(560 * var(--u));
        gap: calc(20 * var(--u))
    }

    .register .form-group {
        gap: calc(20 * var(--u));
        height: calc(62 * var(--u));
        padding: 0 calc(40 * var(--u));
        border-radius: calc(60 * var(--u))
    }

    .register .icon_field {
        width: calc(36 * var(--u));
        min-width: calc(36 * var(--u));
        height: calc(36 * var(--u))
    }

    .form_divider {
        height: calc(24 * var(--u))
    }

    .register .form_field {
        font-size: max(12px, calc(20 * var(--u)))
    }

    .register .icon_eye {
        width: calc(24 * var(--u));
        height: calc(24 * var(--u))
    }

    .register .error.errors {
        font-size: max(10px, calc(14 * var(--u)))
    }

    .register_submit {
        top: calc(659 * var(--u));
        left: calc(731 * var(--u));
        width: calc(458 * var(--u));
        height: calc(137 * var(--u))
    }

    .register_turnstile {
        top: calc(850 * var(--u))
    }

    .register_light {
        width: calc(283 * var(--u));
        height: calc(502 * var(--u))
    }

    .register_light-left {
        top: calc(370 * var(--u));
        left: calc(463 * var(--u))
    }

    .register_light-right {
        top: calc(257 * var(--u));
        left: calc(1173 * var(--u))
    }
}

@keyframes spinPulse {

    0%,
    100% {
        transform: scale(1);
        filter: drop-shadow(0 0 0 rgba(255, 215, 71, 0))
    }

    50% {
        transform: scale(1.06);
        filter: drop-shadow(0 0 14px rgba(255, 215, 71, .85))
    }
}

@keyframes spinPopIn {
    0% {
        opacity: 0;
        transform: scale(.6)
    }

    100% {
        opacity: 1;
        transform: scale(1)
    }
}

@keyframes spinGlow {

    0%,
    100% {
        opacity: .75
    }

    50% {
        opacity: 1
    }
}

@keyframes spinTwinkle {

    0%,
    100% {
        opacity: .55;
        transform: scaleY(.85)
    }

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

@keyframes spinCta {

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

    50% {
        transform: scale(1.04)
    }
}

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

    .wheel_btn,
    .prize_cta,
    .register_submit,
    .popup_flare,
    .prize_flare,
    .register_light,
    .lp[data-step=prize] .prize,
    .lp[data-step=register] .register {
        animation: none
    }
}
