* {
    font-family: 'Poppins';
}
:root {
    --primary-background: #0a1847;
    --root-wrap-bg: #fff;
    --text-primary: #16285a;
    --text-secondary: #6879FF;
}

html {
    font-size: 100%!important;
}

@media (max-width: 375px) {
    html {
        font-size: 90%!important;
    }
}
.gameitem.game-tab img {
    height: 3.5rem;
    width: auto;
}
@media (max-width: 320px) {
    html {
        font-size: 85%!important;
    }
}
body {
    background-color: var(--primary-background);
    line-height: normal !important;
}
/* Hide specical zodiac tab for MK6 */
button.odd_tabbtn[data-part="specical zodiac"],
button.odds-tab[data-part="specical zodiac"] {
    display: none !important;
}
a span {
    text-decoration: none;
    color: #666;
    cursor: pointer;
}
#root {
    display: flex;
    flex-direction: column;
    max-width: 450px;
    align-items: center;
    margin: 0 auto;
    height: 100dvh;
}

.main-root_wrapper {
    overflow-y: auto;
    overflow-x: hidden;
    margin: 0 auto;
    display: flex;
    flex-flow: column;
    text-align: start;
    background: var(--root-wrap-bg);
    max-width: 450px;
}
.root.header, .section_header {
    flex: 0 0 0%;
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    font-size: .9rem;
    padding: .25rem;
    padding-inline: .85rem;
}
.section_header {
    justify-content: flex-start;
    gap: .5rem;
    padding: 0;
}
.section_header .backBtn a img {
    width: 1.5rem;
    height: 1.5rem;
}
.root.body, .section_body {
    flex: 1 1 0%;
    display: flex;
    flex-flow: column;
    width: 100%;
    height: 100%;
    padding-inline: .5rem;
    margin-top: .25rem;
}
.divider {
    background: rgba(255, 255, 255, 0.20);
    height: 1px;
    margin-top: 1rem;
    margin-bottom: 1rem;
}
a.contact_link {
    width: 100%;
    height: 100%;
}
/*.root.footer, */.section_footer {
    flex: 0;
    position: relative;
    min-height: 10%;
}

.forward_arrow {
    height: .5rem;
}
.innerItem>div>img {
    width: 1.9rem;
    height: 1.9rem;
}
.innerItem {
    display: flex;
    width: 100%;
    justify-content: space-between;
    padding: 1rem .5rem;
}
img.logo {
    height: 40px;
}
.view_able_record {
    display: flex;
    flex-flow: column;
    gap: .5rem;
}
hr.devider_custom {
    max-width: 100%;
    display: flex;
    justify-content: flex-end;
    margin-left: 10%;
    background: #6071fdbd;
}
.settings_left {
    align-items: center;
}
.profileSettings.items {
    overflow: hidden;
    padding: 0 .5rem 0;
    background: #98a3ff45;
    border-radius: 1rem;
}
.announcement {
    flex: 0;
    width: 100%;
    height: 100%;
    line-height: 2.3;
    font-size: .75rem;
    background: rgba(96, 113, 253, 0.20);
}
.balance_card {
    height: auto;
    background: linear-gradient(270deg, #6879FF 0%, #835EFD 100%);
    padding: 1.25rem;
    border-radius: 1.2rem;
}
.balance_title {
    color: rgba(255, 255, 255, 0.50);
    font-family: 'Poppins';
    font-size: 0.75rem;
    font-style: normal;
    font-weight: 300;
}

.earning, .profit {
    color: #FFF;
    font-family: 'Poppins';
    font-size: 1rem;
    font-style: normal;
    font-weight: 700;
}

span.balance {
    color: #FFF;
    font-family: 'Poppins';
    font-style: normal;
    font-weight: 700;
}
.anno_wrap {
    display: grid;
    grid-template-columns: 5% 95%;
    align-items: center;
    padding-left: .8rem;
    width: 100%;
    overflow: hidden;
    white-space: nowrap;
    box-sizing: border-box;
}
.announcement_icon img {
    width: auto;
    min-height: .78rem;
} 
.announcement_text {
    color: #6975CF;
    font-family: 'Poppins', 'Open Sans', Helvetica, Calibri, sans-serif;
    font-style: normal;
    font-weight: 500;
}


.header_label {
    color: #6975CF;
    font-family: 'Poppins', 'Open Sans', Helvetica, Calibri, sans-serif;
    font-style: normal;
    font-weight: 500;
    font-size: .75rem;
}
.input-container {
    border-radius: 2.1rem;
    border: 1px solid #284186;
    background: transparent;
    display: flex;
    align-items: center;
    box-sizing: border-box;
    padding: .3rem .15rem;
}
.input-container .content {
    color: var(--text-primary);
    font-family: 'Poppins', 'Open Sans', Helvetica, Calibri, sans-serif;
    font-style: normal;
    font-weight: 500;
    margin: 0 !important;
    background: none;
    border: none;
    width: 100%;
    font-size: .9rem;
    line-height: 1;
}
.input-container .label {
    color: #6975CF;
    font-family: 'Poppins', 'Open Sans', Helvetica, Calibri, sans-serif;
    line-height: 1;
    font-weight: 500;
    font-size: .75rem;
}
input:focus,
input:focus-visible,
input:-webkit-focus-ring-color {
    outline: none !important;
    box-shadow: none !important;
    border-color: transparent !important;
}
input {
    outline: 0 !important;
}
.input-container .icon {
    margin-left: 1.4rem;
    margin-right: 1rem;
    filter: invert(1)grayscale(1);
    width: 1.4rem;
}

.scrolling-text-item {
    overflow: hidden;
}
.scrolling-text {
  display: inline-block;
  padding-left: 100%;
  animation: scroll-left 35s linear infinite;
}

@keyframes scroll-left {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}
.swiper.homepageSwiper{
    width: 100%;
}
.swiper-pagination-bullet-active {
    background: #6879FF;
}
.item-topmenu {
    padding-top: 0;
    text-align: center;
    align-items: center;
    display: flex;
    flex-flow: column;
    padding: 1rem 1rem 0 1rem;
    padding-bottom: 0;
    padding-top: 0;
}
.item-topmenu img {
    max-width: 60%;
    aspect-ratio: 1 / 1;
    background: var(--text-primary);
    border-radius: 50%;
    overflow: auto;
}


span.title-topmenu {
    margin-top: 0.21rem;
    color: var(--text-primary);
    text-align: center;
    font-family: 'Poppins', 'Open Sans', Helvetica, Calibri, sans-serif;
    font-style: normal;
    font-weight: 600;
    font-size: .75rem;
    display: flex;
}
.section_header-title {
    font-size: 1.3rem;
    color: var(--text-primary);
    font-family: 'Poppins', 'Open Sans', Helvetica, Calibri, sans-serif;
    font-style: normal;
    font-weight: 600;
}

.inner_title {
    font-size: 1rem;
    color: var(--text-primary)c9;
    font-family: 'Poppins', 'Open Sans', Helvetica, Calibri, sans-serif;
    font-style: normal;
    font-weight: 600;
}

div#remember_button span {
    color: var(--text-primary)c9;
    font-family: 'Poppins', 'Open Sans', Helvetica, Calibri, sans-serif;
    font-style: normal;
    font-weight: 500;
    margin-left: .5rem;
}

.gameitem {
    background: rgba(96, 113, 253, 0.20);
    border-radius: .5rem;
    display: flex;
    flex-flow: column;
    padding: .5rem;
    align-items: center;
    text-align: center;
    justify-content: space-between;
    width: 100%;
    height: 6rem;
    cursor: pointer;
}
.bet_right img {
    cursor: pointer;
}
.game {
    gap: 1rem;
    margin-bottom: 1rem;
    margin-top: 1rem;
}
.gameitem img {
    width: 4rem;
    height: 4rem;
}

span.game-title-text {
    font-size: 1rem;
    color: var(--text-primary);
    font-weight: 600;
    letter-spacing: 0.3px;
    font-family: poppins;
}

span.platformName {
    font-size: 1.1rem;
    color: var(--text-primary);
    font-weight: 600;
    font-family: poppins;
}

/*.game-title {
    margin-top: 1rem;
    margin-bottom: .85rem;
}*/
span.title-gameitem {
    color: var(--text-primary);
    text-align: center;
    font-family: poppins;
    font-size: .9rem;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    margin-top: .45rem;
    text-transform: uppercase;
}
.gameitem img {
    width: 2rem;
    height: 2rem;
}
.min, .balance_require {
    font-family: poppins;
    color: var(--text-primary);
    font-weight: 600;
}
.footer_wrapper {
    padding: 0 0.7rem;
    position: fixed;
    width: 100%;
    max-width: 450px;
    margin: 0 auto;
    bottom: 1rem;
    left: 50%;
    transform: translateX(-50%);
}
.footermenu {
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    position: relative;
    border-radius: 2rem;
    background: rgba(96, 113, 253, 0.20)
}
.footermenu-item {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}
img.footermenu-img {
    height: 1.38rem;
}
.footermenu-item.main img.footermenu-img {
    width: 3.5rem;
    height: 3.5rem;
    scale: 1.1;
}
span.footermenu-text {
    font-size: .7rem;
    font-weight: 600;
}
section {
    width: 100%;
    height: 100%;
    display: flex;
    flex-flow: column;
    gap: .8rem;
}
a.routerLink.active {
    filter: brightness(1.41) saturate(500%) hue-rotate(25deg);
}
a.routerLink.footermenu-item.main.active {
    filter: brightness(1.1);
}

a.routerLink.footermenu-item.main {
    filter: brightness(1);
}
.main-root_wrapper {
    width: 100vw;
    height: 100dvh; 
}
section#bet, section#deposit, section#withdraw, section#accinfo, section#paymentpass, section#loginpassword, section#contact, section#profileSettings, section#order, section#login,section#account, section#register, section#record, section#drawHistory, section#draw, section#vip, section#withdrawRecord, section#depositRecord, section#terms {
    position: fixed;
    width: 100%;
    height: 100dvh;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9;
    background: #fff;
    max-width: 450px;
    margin: 0 auto;
    overflow: auto;
    z-index: 99999;
} 
section#account {
    max-height: 100dvh;
    width: 100%;
    overflow: hidden;
}
.form_title {
    font-weight: 600;
}

img.contact__img {
    width: 1.85rem;
    height: 1.85rem;
}
.section-wrapper {
    width: 100%;
    height: 100%;
    overflow: hidden;
}
.contactRender {
    gap: 1rem;
    display: flex;
    flex-flow: column;
}
input[type="date"] {
    border: 1px solid #98A3FF;
    border-radius: .35rem;
    padding: .15rem;
    color: #98a3ff;
}
.bet_details {
    position: absolute;
    width: 100%;
    min-height: 75%;
    left: 0;
    top: auto;
    background: #98a3ff;
    border-top-right-radius: 25px;
    border-top-left-radius: 25px;
    padding: 1rem;
}
button.apply_btn {
    padding: 0.2rem 0.8rem;
    border-radius: 0.26rem;
    background: #98A3FF;
    color: #FFF;
    text-align: center;
    font-family: poppins;
    font-size: .8rem;
    height: 100%;
    font-style: normal;
    font-weight: 600;
    text-transform: uppercase;
}
.flex.w-full.date-calendar {
    font-size: .8rem;
    align-items: center;
    display: flex;
    justify-content: space-around;
    gap: .5rem;
}
.contact-item_og {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.06rem 1rem;
    box-sizing: border-box;
    border-radius: .5rem;
    background: linear-gradient(90deg, rgba(104, 121, 255, 0.10) 0%, rgba(62, 73, 153, 0.10) 100%);
}
a.contact_link {
    display: flex;
    gap: 1rem;
}
section.active {
    transition: .5s ease-in-out;
    animation: slowShow .5s;
    flex: 1;
}
@keyframes slowShow {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}
.toast_wrapper {
    display: flex;
    width: 100%;
    justify-content: flex-start;

}
img.logo.loginLogo {
    height: auto;
    width: 5rem;
    align-items: center;
    margin: 0 auto;
}
.agreement-container {
    padding: 0.5rem 0;
}
.agreement-checkbox {
    width: 18px;
    height: 18px;
    min-width: 18px;
    accent-color: #6879FF;
    cursor: pointer;
    border-radius: 4px;
}
.agreement-label {
    cursor: pointer;
    user-select: none;
}
.agreement-link {
    text-decoration: none;
    font-weight: 500;
}
.agreement-link:hover {
    text-decoration: underline;
}
.terms-shell {
    display: flex;
    width: 100%;
    height: 100%;
    padding: 1rem 0.75rem;
    background: linear-gradient(180deg, #f2f5ff 0%, #ffffff 100%);
}
.terms-card {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    background: #ffffff;
    border-radius: 1rem;
    box-shadow: 0 18px 40px rgba(23, 41, 94, 0.12);
    overflow: hidden;
}
.terms-card-header {
    display: grid;
    grid-template-columns: 2.5rem 1fr 2.5rem;
    align-items: center;
    gap: 0.5rem;
    padding: 0.85rem 0.9rem;
    background: linear-gradient(135deg, #ff6d5d 0%, #ff4b55 100%);
    color: #ffffff;
}
.terms-card-title {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    text-align: center;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.2px;
}
.terms-title-emoji {
    font-size: 1.1rem;
    line-height: 1;
}
.terms-nav-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.16);
}
.terms-nav-btn img {
    width: 1.2rem;
    height: 1.2rem;
    filter: brightness(0) invert(1);
}
.terms-nav-btn i {
    color: #ffffff;
    font-size: 1rem;
}
.terms-home-btn {
    color: #ffffff;
    font-size: 1rem;
}
.terms-home-btn i {
    color: inherit;
}
.terms-card-body {
    flex: 1;
    overflow-y: auto;
    padding: 1rem 0.95rem 1.25rem;
    background: #f8f9ff;
}
.terms-reader {
    white-space: normal;
    word-break: break-word;
    color: #435072;
    font-size: 0.92rem;
    line-height: 1.65;
}
.terms-heading {
    color: #d31324;
    font-size: 1.02rem;
    font-weight: 700;
    line-height: 1.4;
    margin: 0.5rem 0 0.3rem;
}
.terms-paragraph {
    margin: 0 0 0.3rem;
    color: #445275;
}
.terms-bullet {
    display: flex;
    align-items: flex-start;
    gap: 0.3rem;
    margin: 0 0 0.3rem;
    color: #445275;
}
.terms-bullet-icon {
    color: #5a6073;
    font-size: 0.78rem;
    line-height: 1.75;
    min-width: 0.7rem;
}
.terms-empty {
    color: #6b7694;
    font-size: 0.92rem;
    line-height: 1.7;
    background: #ffffff;
    border: 1px dashed #cfd7ef;
    border-radius: 0.85rem;
    padding: 1rem;
}
.login-button, .btn_save {
    background: #6879FF;
    width: 100%;
    padding: .5rem;
    border-radius: 5rem;
    color: #fff;
    font-weight: 500;
    font-family: poppins;
    display: flex;
    align-items: center;
    text-align: center;
    justify-content: center;
}
.drawitem, .drawitem_record {
    display: flex;
    background: linear-gradient(45deg, #6071fd33, #6071fd12);
    padding: .85rem .8rem;
    border-radius: .5rem;
    align-items: center;
    min-height: 5rem;
    margin-bottom: .5rem;
}
img.drawitem-img {
    width: 2.5rem;
}
span.drawitem-textsmall {
    color: var(--text-primary);
    font-family: 'Poppins', 'Open Sans', Helvetica, Calibri, sans-serif;
    font-style: normal;
    font-weight: 500;
    font-size: .7rem;
}
span.drawtext-top, span.drawtext-bottom {
    width: 100%;
    margin-left: 1rem;
}
span.drawtext-top {
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-primary);
    font-family: 'Poppins', 'Open Sans', Helvetica, Calibri, sans-serif;
}
span.drawtext-bottom {
    font-size: .68rem;
    color: #6975CF;
    font-family: poppins;
    font-weight: 500;
}
.top_card, .small_card {
    background: linear-gradient(0deg, rgb(176 198 255 / 50%) 0%, rgb(106 146 255 / 50%) 100%);
}
.top_imgVip img {
    object-fit: contain;
}

.top_imgVip {
    max-height: 4rem;
}
.top_card {
    height: 31rem!important
}
.small_card {
    width: 100%;
    max-height: 10rem;
    height: 10rem;
}
.min, .balance_require {
    display: flex;
    flex-flow: column;
    text-align: center;
}
.main_img {
    display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: center;
    margin-top: 2rem;
    margin-bottom: 3rem;
}
.main_img img {
    position: relative;
    left: 0;
    top: 6%;
    right: 0;
    width: 100%;
    height: auto;
    margin: 0 auto;
    scale: 1.15;
}
.part_card {
    display: flex;
    justify-content: space-between;
    width: 100%;
}

.small_card-wrapper {
    overflow: hidden;
}

.right_part_card img {
    max-height: 3rem;
}
.left_part_card.vip_badge {
    display: flex;
    align-items: center;
    text-align: center;
    z-index: 1;
    position: relative;
}
.left_part_card.vip_badge span {
    z-index: 1;
    font-size: 1rem;
    font-family: poppins;
    font-weight: 600;
    letter-spacing: .05rem;
    color: white;
}
.vip_badge::after {
    content: "";
    position: absolute;
    width: 6rem;
    height: 2rem;
    left: -35px;
    border-top-right-radius: 50px;
    border-bottom-right-radius: 50px;
    border: 1px solid #fff;
}

.vip1::after {
    background: linear-gradient(270deg, #bb9f80 0%, #7a5327 100%);
}

.vip2::after {
    background: linear-gradient(270deg, #bdbdbd 0%, #a3a3a3 100%);
}

.vip3::after {
    background: linear-gradient(270deg, rgb(228 186 11) 0%, #987023 100%);
}
.vip4::after {
    background: linear-gradient(270deg, rgb(100 172 255) 0%, #0e37ff 100%);
}
button#vipContinueBtn:disabled{
    border-radius: 50px;
    background: rgba(104, 121, 255, 0.20);
    line-height: 1.5;
    margin: 0 auto;
    color: var(--text-primary);
    text-align: center;
    font-family: poppins;
    font-size: 1rem;
    font-style: normal;
    font-weight: 700;
    opacity: .5;
    box-shadow: none;
}
button#vipContinueBtn {
    position: absolute;
    bottom: 3rem;
    left: 0;
    width: 90%;
    right: 0;
}
#vipContinueBtn {
    opacity: 1;
    border-radius: 50px;
    background: rgba(104, 121, 255, 0.20);
    line-height: 1.5;
    margin: 0 auto;
    color: var(--text-primary);
    text-align: center;
    font-family: poppins;
    font-size: 1rem;
    font-style: normal;
    font-weight: 700;
    box-shadow: 0px 2px 5px var(--text-primary);
    border: 1px solid #96edff;
}

.small_card.rounded-md.selected-vip, .selected-vip { 
    border-radius: .5rem;
    box-shadow: 0px 2px 5px var(--text-primary);
    border: 1px solid #96edff;
}

.bet_right img {
    height: 1.5rem;
    width: auto;
}
div#latestResult { 
    background: linear-gradient(180deg, rgb(104 121 255) 0%, rgb(62 73 153) 84.76%);
    box-shadow: 0 2px 2px 0 rgb(19 34 89 / 35%) inset;
    padding: 1rem;
    color: white;
    border-radius: .5rem;
    padding-top: 0;
}
.resultBall {
    margin: 1.5rem 1rem;
    display: flex;
    justify-content: space-between;
}
.topResult {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.roundBadge {
    padding-top: 0.65rem;
    background: url(../img/round_bg.png);
    background-size: 100% auto;
    background-repeat: no-repeat;
    font-weight: 600;
    font-family: poppins;
    min-width: 10rem;
    text-align: center;
    align-items: center;
}
.roundBadge span {
    position: relative;
    bottom: 8px;
    color: #fff;
    font-size: 1rem;
}
.outcome {
    display: flex;
    width: 100%;
    justify-content: space-around;
    padding: 0 1rem .6rem;
}
.outcomeNum {
    width: 2rem;
    height: 2rem;
    display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: center;
    background: url(../img/ball.png);
    background-size: 100% auto;
    background-repeat: no-repeat;
    color: var(--text-primary);
    font-weight: 600;
    font-family: poppins;
    text-align: center;
    font-size: .75rem;
}
.roundIdentifier {
    display: flex;
    width: 100%;
    padding: .15rem;
    background: #182153;
    border-radius: 2rem;
    align-items: center;
    text-align: center;
    justify-content: space-around;
    color: #98A3FF;
    font-weight: 500;
    font-family: poppins;
    text-align: center;
    font-size: .9rem;
}

.currentBalance {
    font-size: 1rem;
    font-weight: 500;
    font-family: poppins;
    display: flex;
    color: #FFF;
    align-items: center;
}
.resultBall {
    margin: 1.5rem 1.5rem 1rem;
    display: flex;
    justify-content: space-between;
}
.currentBalance .balance {
    font-size: 1rem;
}
.currentBalance img {
    width: auto;
    height: 1rem;
}
.resutlBalance {
    padding: 1rem 0;
}
.resultBalance {
    display: flex;
    width: 100%;
    justify-content: space-between;
    padding: 1rem 0 0;
}
div#oddsContainer {
    min-height: 100%;
    overflow: auto;
}
button.odds-tab {
    padding: .25rem .5rem;
    margin-bottom: .5rem;
    border-radius: 2rem;
    border: 2px solid #667eea;
    min-width: 6rem;
    text-transform: uppercase;
}
button.odds-tab.active {
    background: #667eea;
    color: white;
}
/* position-title moved to BETTING NUMBER PAD STYLES section below */
/* ===== BETTING NUMBER PAD STYLES ===== */
.odds-grid-inner {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 0.5rem;
    padding: 0.75rem;
    background: linear-gradient(135deg, #f8f9ff 0%, #eef1ff 100%);
    border-radius: 0 0 0.75rem 0.75rem;
    margin-bottom: 1rem;
}

.odd-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 0.6rem 0.4rem;
    font-weight: 600;
    font-size: 1rem;
    background: #ffffff !important;
    border-radius: 0.6rem;
    border: 2px solid #e0e5ff !important;
    color: #6879ff !important;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 2px 6px rgba(104, 121, 255, 0.1);
    min-height: 3.5rem;
    transform: none;
}

.odd-item:hover:not(.selected) {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(104, 121, 255, 0.25);
    border-color: #b0b8ff !important;
    background: #fafaff !important;
}

.odd-item:active:not(.selected) {
    transform: translateY(0);
    box-shadow: 0 2px 4px rgba(104, 121, 255, 0.15);
}

.odd-item.selected {
    background: linear-gradient(135deg, #6879FF 0%, #5a6ae0 100%) !important;
    color: white !important;
    border-color: #5a6ae0 !important;
    box-shadow: 0 4px 15px rgba(104, 121, 255, 0.4);
    transform: scale(1.02);
}

.odd-item .odd-number {
    font-size: 1.1rem;
    font-weight: 700;
    line-height: 1.2;
}

.odd-item .odd-value {
    font-size: 0.7rem;
    font-weight: 500;
    opacity: 0.85;
    margin-top: 0.15rem;
}

.odd-item.selected .odd-value {
    opacity: 1;
}

.position-section {
    padding: 0.5rem;
    margin-bottom: 0.5rem;
}

.position-title {
    line-height: 1.5;
    text-align: left;
    background: linear-gradient(90deg, #6879FF 0%, #5a6ae0 100%);
    color: #ffffff;
    font-size: 0.9rem;
    font-weight: 600;
    padding: 0.6rem 1rem;
    border-radius: 0.75rem 0.75rem 0 0;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

/* Grid adjustments for different content types */
/* 2 items per row for small grids */
.odds-grid-inner:has(.odd-item:nth-child(2):last-child),
.odds-grid-inner:has(.odd-item:nth-child(3):last-child),
.odds-grid-inner:has(.odd-item:nth-child(4):last-child) {
    grid-template-columns: repeat(2, 1fr);
}

/* 3 items per row for medium grids */
.odds-grid-inner:has(.odd-item:nth-child(6):last-child),
.odds-grid-inner:has(.odd-item:nth-child(9):last-child) {
    grid-template-columns: repeat(3, 1fr);
}

/* 4 items per row for larger sections like MIX */
.odds-grid-inner:has(.odd-item:nth-child(8):last-child),
.odds-grid-inner:has(.odd-item:nth-child(12):last-child) {
    grid-template-columns: repeat(4, 1fr);
}

/* For SUM and special sections with fewer items - fallback */
@supports not selector(:has(*)) {
    .position-section:last-child .odds-grid-inner {
        grid-template-columns: repeat(2, 1fr);
    }
}
div#oddsContent {
    margin-bottom: 1rem;
}
.draw-header {
    display: flex;
    width: 100%;
    justify-content: space-between;
}
.betBody {
    width: 100%;
    height: 100%;
    display: flex;
    flex-flow: column;
    padding: 1rem;
}
.quick-amounts {
    width: 100%;
    display: flex;
    justify-content: space-around; 
}
button#vipContinueBtn {
    display: none;
}
.inputbetamt {
    color: #6778FE;
    border: 2px solid #6778FE;
}
button.quick-amount.active {
    background: #6778fe;
    color: white;
}




.quick-amount {
    width: 15%;
    height: 2rem;
    border-radius: .5rem;
    color: #6778FE;
    border: 2px solid #6778FE;
}
button#confirmBetBtn {
    padding: .75rem 0rem;
    background: #6778fe;
    border-radius: 5rem;
    font-size: 1.15rem;
    color: white;
}
.betPick {
    color: #6778FE;
}
div#betModalClose {
    font-size: 2rem;
    color: white;
    position: absolute;
    right: 15px;
    top: 5px;
}
.wrapperBet {
    width: 100%;
    height: 100%;
    display: flex;
    flex-flow: column;
    align-items: center;
    text-align: center;
    padding: 0;
    overflow: hidden;
}
.betModalTitle {
    font-size: 1.35rem;
    color: white;
    font-weight: 600;
}
.betModal_header {
    width: 100%;
    padding-top: .25rem;
    background: var(--primary-background);
    padding-bottom: .25rem;
}
div#betModal {
    width: 100%;
    background: #243070;
    border-radius: 0.8rem 0.8rem 0rem 0rem;
    max-width: inherit;
    padding: 0;
    overflow: hidden;
    left: 50%;
    box-sizing: border-box;
    position: fixed;
    bottom: 0px;
    min-height: 4rem;
    height: 35%;
    max-width: 450px;
    margin: 0 auto;
    transform: translateX(-50%) !important;
}
div#oddsGrid {
    height: 100dvh;
    overflow: auto;
}
.odds-tabs {
    display: flex;
    width: 100%;
    gap: 1rem;
    justify-content: flex-start;
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-primary);
    font-family: poppins;
}
.odd_tabbtn {
    border: 4px solid #B7BFFF;
    color: white;
    padding: .25rem 1rem;
    border-radius: 2rem;
    transition: .15s 
ease-in-out;
    font-weight: 500;
    font-size: .9rem;
}
div#latestResult {
    position: sticky; 
    top: 0
}
.odd_tabbtn.odd_tab-active {
    background: linear-gradient(180deg, #6879FF 0%, #6879FF 100%);
}
.odd_tabbtn.odd_tab-inactive {
    background: transparent;
    color: var(--text-primary);
}
h4.betcard_title {
    background: #6879ff;
    color: #fff;
    font-size: 1rem;
    font-weight: 500;
    letter-spacing: 2px;
    padding: .35rem 1rem;
}
.background.BALL, .background {
    min-width: 2.63rem;
    height: 2.63rem;
    display: flex;
    flex-flow: column;
    align-items: center;
    text-align: center;
    justify-content: center;
    background: url(../img/ball.png);
    background-size: 100% 100%;
    background-repeat: no-repeat;
}
.background.SMALL, .background.ODD, .background.EVEN, .background.BIG, .TOP1\+2, .TOP1\+2SMALL, .background.SUM {
    background: transparent !important;
}
.BALL.SMALL, .BALL.ODD, .BALL.EVEN, .BALL.BIG, .BALL.TOP, .SUM.DRAGONTIGERTIE {
    display: flex;
    flex-flow: column;
    text-align: center;
    font-size: 1rem;
    font-weight: 600;
    font-family: poppins;
    color: var(--text-primary);
}
.oddTitle {
    line-height: 1.3;
    font-weight: 600;
}
.text-right .odd_display {
    display: flex;
    flex-wrap: nowrap;
    font-size: .92rem !important;
    font-weight: 500;
    font-family: poppins;
    color: var(--text-primary);
}
.card_odd_show {
    border-radius: .5rem;
    overflow: hidden;
}
button#dh-apply {
    background: #6879FF;
    color: #fff;
    font-weight: 600;
    font-family: poppins;
    font-size: .85rem;
}
input#dh-startdate, input#dh-enddate {
    font-size: .85rem;
}
.drawHistory.Pane {
    margin-top: 1rem;
}

.dh-tab {
    text-transform: uppercase;
    font-weight: 600;
    font-family: poppins;
    font-size: .85rem;
    min-height: 3rem;
    transition: .25s ease-in-out;
}
.drawHistoryCard {
    font-weight: 600;
    font-family: poppins;
    font-size: .85rem;
}
.drawHistory-tabs {
    border-radius: 2rem;
    overflow: hidden;
    background: linear-gradient(45deg, #6071fd33, #6071fd12)
}

button.dh-tab.active {
    background: #6879FF;
    border-radius: 2rem;
    color: #fff;
    transition: .25s ease-in-out;
}

.ball_li {
    background: url(../img/ball.png);
    background-size: 100% auto;
    background-position: center;
}

.drawHistoryCard {
    background: linear-gradient(45deg, #6071fd33, #6071fd12);
    border-radius: 1rem;
    padding: 1rem;
}

.drawHistoryCardHeader {
    font-size: .9rem;
    color: var(--text-primary);
}

.ball_wrapper {
    font-size: .8rem;
    color: var(--text-primary);
    padding-inline: .15rem;
}
li.w-14.h-8.flex.items-center.justify-center.border.rounded.text-\[\#EF8955\].small {
    color: #0A1847;
    background: #EF8955 !important;
}
li.w-14.h-8.flex.items-center.justify-center.border.rounded.text-\[\#1389C6\].big {
    color: #FFF;
    background: #1389C6 !important;
}
li.w-14.h-8.flex.items-center.justify-center.border.rounded.text-\[\#EF8955\].odd {
    background: transparent !important;
    color: #EF8955;
    border: 1px solid #EF8955;
}
li.w-14.h-8.flex.items-center.justify-center.border.rounded.text-\[\#1389C6\].even {
    background: transparent !important;
    color: #1389C6;
    border: 1px solid #1389C6;
}

#toastOverlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    max-width: 450px;
    margin: 0 auto;
    z-index: 999999999999;
    padding: 1rem;
    pointer-events: none;
}
.hidden {
    display: none !important;
}

#toastOverlay.hidden {
    display: none;
}

#alertContainer {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.alert {
    pointer-events: auto;
}

.second-modal {
    width: 100%
}

.btn-second {
    background: transparent;
    border: 1px solid #6879ff;
    color: #6879ff;
    backdrop-filter: blur(10px);
    padding: .25rem .5rem;
    border-radius: 2rem;
    width: 100%;
    text-align: center;
}
.btn-primary {
    background: #6879FF;
    padding: .25rem .5rem; 
    border-radius: 2rem;
    border: 1px solid transparent;
    width: 100%;
    text-align: center;
    color: white
}
@keyframes slideIn {
    from {
        transform: translateY(-20px);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

@keyframes slideOut {
    from {
        transform: translateY(0);
        opacity: 1;
    }
    to {
        transform: translateY(-20px);
        opacity: 0;
    }
}
.avatar {
    width: 5rem;
    height: 5rem;
    overflow: hidden;
    border-radius: 50%;
    border: 3px solid #fff;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

.avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.top_accinfo {
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    position: relative;
    bottom: 1rem;
}
.avatar_username {
    font-size: 1.25rem;
    line-height: 1;
}
.balance_card_wrapper {
    background: linear-gradient(45deg, #6879ff, #6879ffc9);
    border-radius: 1rem;
}

.balance_card_wrapper.withdraw {
    margin-top: 2rem;
}

img.account_bg {
    position: fixed;
    width: 100%;
    max-width: 450px;
    margin: 0 auto;
    top: 2rem;
    left: 0;
    right: 0;
    z-index: -1;
    transform: rotate(33deg);
}
.root.footer {
    position: relative;
    z-index: 9999;
}
a.btn_accinfoTab {
    background: #6879FF;
    padding: .5rem 1rem;
    border-radius: 2rem;
    border: 1px solid transparent;
    width: 100%;
    text-align: center;
}

span.deposit.form_title.text-xl {
    color: white;
}
span.withdraw.form_title.text-xl {
    color: #6879FF;
}
.withdraw_partBG > * {
    color: var(--text-primary) !important;
}
a.withdraw.btn_accinfoTab {
    background: transparent;
    border: 1px solid #6879ff;
    backdrop-filter: blur(10px);
}
.blur__bg {
    background: linear-gradient(90deg #d2c4ff78, #fff)!important;
    backdrop-filter: blur(100px);
    --webkit-backdrop-filter: blur(100px);
    border-radius: 1rem;
}
img.service_item {
    width: 2rem;
    height: auto;
}
.service_text {
    font-size: .8rem;
    font-weight: 500;
    color: #fff;
    line-height: 1.2;
}
.card__service {
    padding: 2rem 1rem 1.5rem;
    background: #0a184794;
    border-radius: .8rem;
    width: 100%;
}
div#pendingBetsPanel {
    z-index: 999999;
}
a.btn_save.shine {
    box-shadow: 0 13px 20px -15px #6879FF;
    padding: .75rem;
}
div#bettingModal {
    z-index: 99999999;
}
.disabled {
    opacity: .5!important;
}
input#comment::placeholder {
    font-size: .8rem;
}

/* ===== 5D GAME MOBILE STYLES ===== */

/* Result Container - Mobile First */
.resultContainerDisplay {
    position: relative;
    padding-top: 1.5rem;
}

/* Ball Display - Responsive */
.outcome {
    display: flex;
    width: 100%;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.5rem;
    flex-wrap: nowrap;
}

.outcomeNum {
    width: 1.8rem;
    height: 1.8rem;
    min-width: 1.8rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: url(../img/ball.png);
    background-size: 100% 100%;
    background-repeat: no-repeat;
    color: var(--text-primary);
    font-weight: 700;
    font-family: poppins;
    font-size: 0.9rem;
}

@media (max-width: 375px) {
    .outcomeNum {
        width: 1.9rem;
        height: 1.9rem;
        min-width: 1.9rem;
        font-size: 0.8rem;
    }
}

/* Betting Tabs - ALL / 1st-5th */
.betting-mode-tabs {
    display: flex;
    gap: 0.5rem;
    margin-bottom: 1rem;
    padding: 0 0.5rem;
}

.betting-mode-tab {
    padding: 0.5rem 1.5rem;
    border-radius: 2rem;
    font-weight: 600;
    font-size: 0.85rem;
    cursor: pointer;
    transition: all 0.2s ease;
    border: 2px solid #6879FF;
    background: transparent;
    color: var(--text-primary);
}

.betting-mode-tab.active {
    background: #6879FF;
    color: white;
}

/* Betting Cards - Mobile Optimized */
.card_odd_show {
    margin-bottom: 1rem;
    border-radius: 0.5rem;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

h4.betcard_title {
    background: linear-gradient(90deg, #6879FF 0%, #5a6ae0 100%);
    color: #fff;
    font-size: 0.9rem;
    font-weight: 600;
    letter-spacing: 1px;
    padding: 0.6rem 1rem;
    text-transform: uppercase;
}

/* Betting Options Grid */
.bet_boxes {
    padding: 0.8rem !important;
    border-bottom: 1px solid #f0f0f0;
    cursor: pointer;
    transition: background 0.2s ease;
}

.bet_boxes:hover,
.bet_boxes:active {
    background: #f8f9ff !important;
}

.bet_boxes .flex {
    align-items: center;
}

/* Ball Number in Betting */
.background.BALL .oddTitle,
.oddTitle.BALL {
    font-size: 1rem;
    font-weight: 700;
    color: var(--text-primary);
}

/* SUM Section Styling */
.SUM .oddTitle,
.DRAGONTIGERTIE .oddTitle {
    font-size: 0.95rem;
    font-weight: 600;
    text-transform: uppercase;
}

/* Big/Small/Odd/Even Labels */
.oddTitle.BIG,
.oddTitle.SMALL,
.oddTitle.ODD,
.oddTitle.EVEN {
    padding: 0.3rem 0.8rem;
    border-radius: 0.3rem;
    font-size: 0.85rem;
}

.oddTitle.BIG {
    background: #1389C6;
    color: white;
    border: 2px solid #1389C6;
}

.oddTitle.SMALL {
    background: #EF8955;
    border: 2px solid #EF8955;
    color: white;
}

.oddTitle.ODD {
    border: 2px solid #EF8955;
    color: #EF8955;
    background: transparent;
}

.oddTitle.EVEN {
    border: 2px solid #1389C6;
    color: #1389C6;
    background: transparent;
}

/* Odds Display */
.odd_display {
    font-size: 0.85rem !important;
    font-weight: 500;
    color: #666;
}

/* Quick Bet Panel - Bottom Fixed */
#quickBetPanel {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    max-width: 450px;
    margin: 0 auto;
    background: white;
    border-top-left-radius: 1.5rem;
    border-top-right-radius: 1.5rem;
    box-shadow: 0 -4px 20px rgba(0,0,0,0.15);
    z-index: 99999;
    transform: translateY(100%);
    transition: transform 0.3s ease;
}

#quickBetPanel.show {
    transform: translateY(0);
}

.quick-bet-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 1.5rem;
    border-bottom: 1px solid #eee;
}

.quick-bet-title {
    font-weight: 600;
    font-size: 1rem;
    color: var(--text-primary);
}

.quick-bet-close {
    width: 2rem;
    height: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f0f0f0;
    border-radius: 50%;
    cursor: pointer;
    font-size: 1.2rem;
}

.quick-bet-amounts {
    display: flex;
    gap: 0.5rem;
    padding: 1rem 1.5rem;
    flex-wrap: wrap;
}

.quick-bet-amount {
    padding: 0.5rem 1rem;
    border: 2px solid #ddd;
    border-radius: 0.5rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
    min-width: 3.5rem;
    text-align: center;
}

.quick-bet-amount:hover,
.quick-bet-amount.selected {
    border-color: #6879FF;
    background: #6879FF;
    color: white;
}

.quick-bet-input {
    padding: 0 1.5rem;
}

.quick-bet-input input {
    width: 100%;
    padding: 0.8rem 1rem;
    border: 2px solid #ddd;
    border-radius: 0.5rem;
    font-size: 1rem;
    text-align: center;
}

.quick-bet-input input:focus {
    border-color: #6879FF;
    outline: none;
}

.quick-bet-btn {
    margin: 1rem 1.5rem;
    padding: 1rem;
    background: linear-gradient(90deg, #6879FF 0%, #5a6ae0 100%);
    color: white;
    border: none;
    border-radius: 2rem;
    font-weight: 600;
    font-size: 1rem;
    cursor: pointer;
    width: calc(100% - 3rem);
}

.quick-bet-btn:disabled {
    background: #ccc;
    cursor: not-allowed;
}

/* Selected Bet Highlight */
.bet_boxes.selected {
    background: #e8edff !important;
    border-left: 4px solid #6879FF;
}
.top_card_balance .current_balance {
    font-size: 1.35rem;
}
img.icon.eye_close.log {
    height: 1rem;
}
.submit_wrapper {
    width: 100%;
    display: flex;
}

#currentRound {
    margin: 0 auto; 
    margin-top: 0.5rem;
    background: linear-gradient(180deg, #6879ff 0%, #3e4999 84.76%);
    box-shadow: 0 1px 2px 0 #132259 inset;
    border-radius: 0.5rem;
    width: 100%; 
    margin-bottom: .5rem;
    padding: 1rem;
    padding-top: 0;
}
.ball, .history-ball {
    width: 1.85rem;
    height: 1.85rem;
    display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: center;
    background: url(../img/ball.png);
    background-size: 100%;
    font-weight: 600;
    text-align: center;
}

.draw-numbers {
    display: flex;
    width: 100%;
    justify-content: space-around;
    padding-top: 1rem;
    padding-bottom: 1rem;
    border-bottom: 2px solid gray;
}
.bet-history-item {
    width: 100%;
    align-items: center;
    text-align: center;
}

/* Internal Transfer Improvements */
.transfer-input {
    color: var(--text-primary) !important;
    font-weight: 500;
    padding: 0.4rem 0;
    border-bottom: 2px solid #98A3FF !important;
    transition: border-color 0.3s ease;
    font-size: 0.9rem;
}

.transfer-input:focus {
    border-bottom-color: #6879FF !important;
    outline: none;
}

.transfer-input::placeholder {
    color: #98A3FF;
    opacity: 0.7;
    font-size: 0.8rem;
}

.withdraw_partBG .border-b {
    border-color: #98A3FF !important;
    margin-bottom: 0.5rem;
}

.withdraw_partBG .form_title {
    color: var(--text-primary) !important;
    font-weight: 600;
    margin-bottom: 0.25rem;
    font-size: 0.95rem;
}

.remider_title {
    color: var(--text-primary);
    font-weight: 700;
    font-size: 0.9rem;
}

.remider {
    color: #6975CF;
    font-size: 0.75rem;
    line-height: 1.4;
}

.remider p {
    margin: 0.25rem 0;
}

.second-modal-body .transfer-input {
    padding: 0.75rem;
    border: 2px solid #6879FF;
    border-radius: 0.5rem;
    color: var(--text-primary) !important;
    font-size: 1rem;
}

.second-modal-body .transfer-input:focus {
    border-color: #5a6ae0;
    box-shadow: 0 0 0 3px rgba(104, 121, 255, 0.1);
}

.btn_cancel {
    background: transparent;
    border: 2px solid #6879FF;
    color: #6879FF;
    padding: 0.5rem 1.5rem;
    border-radius: 2rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
}

.btn_cancel:hover {
    background: #6879FF;
    color: white;
}

.second-modal-title {
    color: var(--text-primary);
    font-weight: 700;
    font-size: 1.2rem;
}

.modal-footer .btn_save,
.second-modal-footer .btn_save {
    padding: 0.5rem 1.5rem;
    font-weight: 600;
}

/* Internal Transfer Button Positioning */
.withdraw_partBG > .mt-4:last-child {
    margin-top: 1rem !important;
    margin-bottom: 5.5rem;
    padding-bottom: 0.5rem;
}

.withdraw_partBG .btn_save {
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding: 0.75rem 2rem;
    font-size: 0.95rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Internal Transfer Section Padding Fix */
section#internalTransfer .section_body {
    padding-bottom: 6rem !important;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background:white;
}
section#internalTransfer {
    background:white;
}
section#internalTransfer .withdraw_partBG {
    padding-bottom: 5rem !important;
    padding-top: 0.5rem !important;
    background: white;
}

section#internalTransfer .balance_card_wrapper.withdraw {
    margin-top: 0.5rem !important;
}

/* Compact spacing for internal transfer inputs */
section#internalTransfer .border-b.mt-4 {
    margin-top: 0.75rem !important;
}

section#internalTransfer .input-withdraw {
    margin-top: 0.5rem !important;
}

/* Ensure content doesn't overlap with footer */
.withdraw_partBG .remider {
    margin-bottom: 0.5rem;
    margin-top: 0.5rem;
}

/* ===== BETTING NUMBER PAD - RESPONSIVE STYLES ===== */
@media (max-width: 400px) {
    .odds-grid-inner {
        grid-template-columns: repeat(5, 1fr);
        gap: 0.35rem;
        padding: 0.5rem;
    }

    .odd-item {
        padding: 0.5rem 0.3rem;
        min-height: 3rem;
        border-radius: 0.5rem;
    }

    .odd-item .odd-number {
        font-size: 1rem;
    }

    .odd-item .odd-value {
        font-size: 0.65rem;
    }

    .position-title {
        font-size: 0.8rem;
        padding: 0.5rem 0.75rem;
    }
}

@media (max-width: 340px) {
    .odds-grid-inner {
        gap: 0.25rem;
        padding: 0.4rem;
    }

    .odd-item {
        padding: 0.4rem 0.2rem;
        min-height: 2.8rem;
    }

    .odd-item .odd-number {
        font-size: 0.9rem;
    }

    .odd-item .odd-value {
        font-size: 0.6rem;
    }
}

/* Odds tabs improved styling */
.odds-tabs {
    display: flex;
    width: 100%;
    gap: 0.5rem;
    justify-content: flex-start;
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-primary);
    font-family: poppins;
    padding: 0.5rem;
    flex-wrap: wrap;
}
/*.gsimg {
    width: 6rem;
    height: 6rem;
    scale:2
}*/
button.odds-tab {
    padding: 0.4rem 0.75rem;
    margin-bottom: 0.5rem;
    border-radius: 2rem;
    border: 2px solid #667eea;
    min-width: auto;
    text-transform: uppercase;
    font-size: 0.75rem;
    font-weight: 600;
    transition: all 0.2s ease;
    background: transparent;
    color: var(--text-primary);
}

button.odds-tab:hover {
    background: rgba(102, 126, 234, 0.1);
}

button.odds-tab.active {
    background: linear-gradient(135deg, #667eea 0%, #5a6ae0 100%);
    color: white;
    border-color: #5a6ae0;
}

/* ===== PROFILE IMAGE PICKER MODAL ===== */
.profile-image-modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
}

.profile-image-modal.hidden {
    display: none;
}

.profile-image-modal-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(4px);
}

.profile-image-modal-content {
    position: relative;
    background: white;
    border-radius: 1rem;
    width: 90%;
    max-width: 350px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    animation: modalSlideIn 0.3s ease;
}

@keyframes modalSlideIn {
    from {
        opacity: 0;
        transform: scale(0.9) translateY(20px);
    }
    to {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}

.profile-image-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid #eee;
}

.profile-image-modal-header h3 {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 600;
    color: #16285a;
}

.profile-image-modal-close {
    background: #f5f5f5;
    border: none;
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s ease;
    color: #666;
}

.profile-image-modal-close:hover {
    background: #e0e0e0;
    color: #333;
}

.profile-image-modal-body {
    padding: 1.25rem;
}

.profile-image-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.75rem;
}

.profile-image-option {
    position: relative;
    aspect-ratio: 1;
    border-radius: 50%;
    overflow: hidden;
    cursor: pointer;
    border: 3px solid transparent;
    transition: all 0.2s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.profile-image-option img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.profile-image-option:hover {
    transform: scale(1.05);
    border-color: #b0b8ff;
    box-shadow: 0 4px 15px rgba(104, 121, 255, 0.3);
}

.profile-image-option.selected {
    border-color: #6879FF;
    box-shadow: 0 4px 15px rgba(104, 121, 255, 0.4);
}

.profile-image-option.selected::after {
    content: '\f00c';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    position: absolute;
    bottom: 0;
    right: 0;
    background: #6879FF;
    color: white;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.7rem;
}

/* Avatar Edit Icon */
.avatar-edit-icon {
    position: absolute;
    bottom: 0;
    right: 0;
    background: linear-gradient(135deg, #6879FF 0%, #5a6ae0 100%);
    color: white;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.75rem;
    border: 2px solid white;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
    transition: transform 0.2s ease;
}

#avatarContainer {
    position: relative;
}

#avatarContainer:hover .avatar-edit-icon {
    transform: scale(1.1);
}

.gameitem.game-tab[data-code="3M"], .gameitem.game-tab[data-code="11x5"], .gameitem.game-tab[data-code="ag10"], .gameitem.game-tab[data-code="5d"], .gameitem.game-tab[data-code="mk6"], .gameitem.game-tab[data-code="pc28"] {
    cursor: pointer !important;
    pointer-events: auto;
}
div[data-code] {
    pointer-events: none
}

.banner-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Sky blue theme overrides */
:root {
    --primary-background: #dff7ff;
    --root-wrap-bg: #f7fcff;
    --text-primary: #0f3a5f;
    --text-secondary: #0284c7;
    --sky-accent: #0ea5e9;
    --sky-accent-strong: #0369a1;
    --sky-accent-soft: #e0f7ff;
    --sky-border: #bae6fd;
}

body {
    background: linear-gradient(180deg, #bae6fd 0%, #f0f9ff 48%, #dff7ff 100%);
}

.main-root_wrapper,
section#bet,
section#deposit,
section#withdraw,
section#accinfo,
section#paymentpass,
section#loginpassword,
section#contact,
section#profileSettings,
section#order,
section#login,
section#account,
section#register,
section#record,
section#drawHistory,
section#draw,
section#vip,
section#withdrawRecord,
section#depositRecord,
section#terms {
    background: var(--root-wrap-bg);
}

.announcement,
.gameitem,
.footermenu,
.profileSettings.items,
button#vipContinueBtn:disabled,
#vipContinueBtn {
    background: rgba(14, 165, 233, 0.12);
}

.balance_card,
.login-button,
.btn_save,
.customer-service-btn,
.logout-button {
    background: linear-gradient(135deg, #38bdf8 0%, #0ea5e9 54%, #0369a1 100%);
    box-shadow: 0 10px 24px rgba(14, 165, 233, 0.24);
}

.top_card,
.small_card {
    background: linear-gradient(180deg, rgba(186, 230, 253, 0.78) 0%, rgba(14, 165, 233, 0.18) 100%);
}

.drawitem,
.drawitem_record {
    background: linear-gradient(45deg, rgba(14, 165, 233, 0.16), rgba(186, 230, 253, 0.26));
}

div#latestResult {
    background: linear-gradient(180deg, #0ea5e9 0%, #0369a1 84.76%);
    box-shadow: 0 2px 2px 0 rgba(3, 105, 161, 0.35) inset;
}

.bet_details {
    background: #7dd3fc;
}

button.apply_btn,
.profile-image-option.selected::after {
    background: #0ea5e9;
}

.input-container {
    border-color: #7dd3fc;
    background: rgba(255, 255, 255, 0.72);
}

input[type="date"] {
    border-color: #7dd3fc;
    color: #0284c7;
}

.contact-item_og {
    background: linear-gradient(90deg, rgba(14, 165, 233, 0.12) 0%, rgba(3, 105, 161, 0.08) 100%);
}

.terms-shell {
    background: linear-gradient(180deg, #e0f7ff 0%, #ffffff 100%);
}

.terms-card-header {
    background: linear-gradient(135deg, #0ea5e9 0%, #0369a1 100%);
}

.terms-heading {
    color: #0369a1;
}

.swiper-pagination-bullet-active,
.agreement-checkbox {
    background: #0ea5e9;
    accent-color: #0ea5e9;
}

.profile-image-option:hover,
.profile-image-option.selected,
.small_card.rounded-md.selected-vip,
.selected-vip,
#vipContinueBtn {
    border-color: var(--sky-border);
    box-shadow: 0 4px 16px rgba(14, 165, 233, 0.26);
}

.avatar-edit-icon {
    background: linear-gradient(135deg, #38bdf8 0%, #0284c7 100%);
}






