/* Official portal-header + options — from tsyl688 chunk-177603f7 (+ purple --button-home-recharge) */
/* Ignore: captcha CSS, chunk-libs, #via_source_tool_v2 */

:root {
  --btn-text-color: #fff;
}

/* —— portal-header (AppShell sticky top) —— */
.portal-header {
  font-size: min(3.2vw, 13.696px);
  color: #fff;
}

.portal-header .header,
.portal-header.header {
  box-sizing: border-box;
  position: sticky;
  top: 0;
  z-index: 99;
  width: 100%;
  height: calc(min(11.733vw, 50.219px) + env(safe-area-inset-top, 0px));
  padding-top: env(safe-area-inset-top, 0px);
  padding-left: min(3.2vw, 13.696px);
  padding-right: min(3.2vw, 13.696px);
  display: flex;
  justify-content: space-between;
  align-items: center;
  backdrop-filter: blur(min(13.333vw, 57.067px));
  -webkit-backdrop-filter: blur(min(13.333vw, 57.067px));
  background: rgba(18, 12, 36, 0.35);
  border: 1px solid transparent;
  box-shadow: none;
}

.portal-header .logo1,
.portal-header .logo {
  display: block;
  flex-shrink: 0;
  height: min(10.133vw, 43.371px);
  width: auto;
  max-width: min(30.667vw, 131.253px);
  object-fit: contain;
}

.portal-header .notLogged {
  height: min(7.733vw, 33.099px);
  display: flex;
  justify-content: space-around;
  align-items: center;
  text-align: center;
  flex-shrink: 0;
}

.portal-header .notLogged .afterBtn {
  display: flex;
  align-items: center;
  height: min(8.533vw, 36.523px);
  padding: 0 min(1.067vw, 4.565px);
  margin-right: min(0.267vw, 1.141px);
  border-radius: min(4.267vw, 18.261px);
  background-image: linear-gradient(180deg, rgba(64, 47, 71, 0.12), rgba(252, 245, 255, 0.12));
  border-style: solid;
  border-width: min(0.133vw, 0.571px);
  border-color: hsla(0, 0%, 100%, 0.08);
  box-sizing: border-box;
  position: relative;
}

.portal-header .notLogged .afterBtn .usdt_icon {
  width: min(5.6vw, 23.968px);
  height: min(5.333vw, 22.827px);
  flex-shrink: 0;
  background: url(/assets/tsyl-home/icon-usdt-header.webp) center / 100% 100% no-repeat;
}

.portal-header .notLogged .afterBtn span {
  display: inline-block;
  width: auto;
  min-width: min(8vw, 34.24px);
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  margin: 0 min(1.6vw, 6.848px);
  font-size: min(3.2vw, 13.696px);
  font-weight: 600;
  color: #fff;
  line-height: 1;
}

.portal-header .notLogged .afterBtn .update {
  width: min(3.2vw, 13.696px);
  height: min(3.2vw, 13.696px);
  flex-shrink: 0;
  margin: 0 min(1.333vw, 5.707px);
  background: url(/assets/tsyl-home/icon-update.png) center / 100% 100% no-repeat;
  border: 0;
  padding: 0;
  cursor: pointer;
}

.portal-header .notLogged .rechargeBtn {
  font-size: min(3.2vw, 13.696px);
  justify-content: center;
  display: flex;
  align-items: center;
  width: min(9.6vw, 41.088px);
  height: min(6.4vw, 27.392px);
  line-height: min(6.4vw, 27.392px);
  color: var(--btn-text-color);
  background: url(/assets/tsyl-home/btn-home-recharge.webp) center / 100% 100% no-repeat;
  border: 0;
  padding: 0;
  flex-shrink: 0;
  cursor: pointer;
}

.portal-header .rechargeQuickBtn {
  height: min(8.533vw, 36.523px);
  width: min(8.533vw, 36.523px);
  background: url(/assets/tsyl-home/btn-usdt-recharge.webp) center / 100% 100% no-repeat;
  margin: 0 0 0 min(1.333vw, 5.707px);
  display: flex;
  align-items: center;
  border: 0;
  padding: 0;
  flex-shrink: 0;
  cursor: pointer;
}

/* legacy aliases (older hotpatches) */
.tsyl-home-balance {
  display: flex;
  align-items: center;
  height: min(8.533vw, 36.523px);
  padding: 0 min(1.067vw, 4.565px);
  margin-right: min(0.267vw, 1.141px);
  border-radius: min(4.267vw, 18.261px);
  background-image: linear-gradient(180deg, rgba(64, 47, 71, 0.12), rgba(252, 245, 255, 0.12));
  border-style: solid;
  border-width: min(0.133vw, 0.571px);
  border-color: hsla(0, 0%, 100%, 0.08);
  box-sizing: border-box;
}
.tsyl-home-balance-num {
  display: inline-block;
  width: auto;
  min-width: min(8vw, 34.24px);
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  margin: 0 min(1.6vw, 6.848px);
  font-size: min(3.2vw, 13.696px);
  font-weight: 600;
  color: #fff;
  line-height: 1;
}
.tsyl-home-recharge-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  height: min(6.4vw, 27.392px);
  width: min(9.6vw, 41.088px);
  padding: 0;
  border: 0;
  flex-shrink: 0;
  font-size: min(3.2vw, 13.696px);
  font-weight: 600;
  line-height: min(6.4vw, 27.392px);
  text-align: center;
  color: #fff;
  background: url(/assets/tsyl-home/btn-home-recharge.webp) center / 100% 100% no-repeat;
}
.tsyl-home-usdt-btn {
  display: flex;
  align-items: center;
  height: min(8.533vw, 36.523px);
  width: min(8.533vw, 36.523px);
  margin: 0 0 0 min(1.333vw, 5.707px);
  padding: 0;
  border: 0;
  flex-shrink: 0;
  background: url(/assets/tsyl-home/btn-usdt-recharge.webp) center / 100% 100% no-repeat;
  background-size: 100% 100%;
}

/* —— 五宫 .options —— */
.home .options,
.app-shell .options,
.tsyl-home-options-wrap .options,
.tsyl-home-options-wrap > .options,
.tsyl-home-options {
  display: flex !important;
  justify-content: space-between !important;
  flex-wrap: nowrap !important;
  padding: 0 min(4.133vw, 17.691px) min(2.667vw, 11.413px) min(0.4vw, 1.712px);
  color: #fff;
  border-radius: min(0.667vw, 2.853px);
}

.home .options .item,
.app-shell .options .item,
.tsyl-home-options-wrap .options .item,
.tsyl-home-options .item {
  width: min(14.933vw, 63.915px);
  min-height: min(6.4vw, 27.392px);
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  text-align: center;
  position: relative;
  background: transparent;
  border: 0;
  padding: 0;
  color: inherit;
  flex-shrink: 0;
}

.home .options .item .icon,
.app-shell .options .item .icon,
.tsyl-home-options-wrap .options .item .icon,
.tsyl-home-options .item .icon {
  height: min(11.733vw, 50.219px);
  width: min(11.733vw, 50.219px);
  object-fit: contain;
  display: block;
}

.home .options .item .label,
.app-shell .options .item .label,
.tsyl-home-options-wrap .options .item .label,
.tsyl-home-options .item .label {
  margin-top: min(0.533vw, 2.283px);
  font-size: min(3.2vw, 13.696px);
  color: #e6e6e6;
  text-align: center;
  line-height: min(4.267vw, 18.261px);
  font-weight: 400;
}

.tsyl-home-options-wrap {
  width: 100%;
}

/* —— home-content body (tsyl688 chunk-177603f7) —— */
.home {
  color: #fff;
}
.home .home-content {
  position: relative;
  padding: 0 0 min(25.067vw, 107.285px) min(3.733vw, 15.979px);
  overflow: auto;
}
.home .home-content .margin16 {
  margin: min(2.133vw, 9.131px) min(2.667vw, 11.413px) 0 0;
  border-radius: min(2.4vw, 10.272px);
}
.home_swiper {
  padding-bottom: min(6.4vw, 27.392px);
  line-height: 1.5;
  position: relative;
}
.home_swiper .slide-big {
  height: min(41.067vw, 175.765px);
  border-radius: min(2.4vw, 10.272px);
  overflow: hidden;
  position: relative;
  background: rgba(255, 255, 255, 0.04);
}
.home_swiper .banner-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: min(2.4vw, 10.272px);
}
.home_swiper .swiper-dots {
  display: flex;
  justify-content: center;
  gap: 6px;
  margin-top: 8px;
}
.home_swiper .swiper-dots .dot {
  width: min(2.667vw, 11.413px);
  height: min(0.533vw, 2.283px);
  border-radius: 2px;
  border: 0;
  padding: 0;
  background: hsla(0, 0%, 100%, 0.35);
}
.home_swiper .swiper-dots .dot.active {
  background: hsla(0, 0%, 100%, 0.9);
}

/* menu tabs */
.home .menu {
  margin-right: min(3.2vw, 13.696px);
  margin-bottom: min(1.6vw, 6.848px);
  z-index: 20;
}
.home .menu .van-tabs--card > .van-tabs__wrap {
  margin-top: min(1.6vw, 6.848px);
  margin-bottom: min(1.6vw, 6.848px);
  height: min(8.533vw, 36.523px);
}
.home .menu .van-tabs__nav--card {
  display: flex;
  align-items: center;
  border-width: min(0.133vw, 0.571px);
  border-style: solid;
  border-color: hsla(0, 0%, 100%, 0.08);
  height: min(8.533vw, 36.523px);
  margin: 0;
  border-radius: min(26.667vw, 114.133px);
  background-image: linear-gradient(180deg, rgba(64, 47, 71, 0.12), rgba(28, 4, 40, 0.12));
  backdrop-filter: blur(min(6.667vw, 28.533px));
  overflow-x: auto;
  width: min(93.067vw, 398.325px);
  max-width: 100%;
}
.home .menu .van-tabs__nav--card .van-tab {
  border: 0;
  background: transparent;
  height: min(7.467vw, 31.957px);
  margin: min(0.4vw, 1.712px) min(0.533vw, 2.283px);
  font-size: min(3.2vw, 13.696px);
  color: #b2b3bf;
  font-weight: 400;
  padding: 0 min(2.133vw, 9.131px);
  border-radius: min(4.8vw, 20.544px);
  white-space: nowrap;
  flex-shrink: 0;
}
.home .menu .van-tabs__nav--card .van-tab--active {
  background-image: linear-gradient(175deg, rgba(33, 22, 39, 0.12), rgba(252, 245, 255, 0.12));
  color: #fff;
  font-weight: 600;
}
.home .menu .van-tab__text {
  display: flex;
  align-items: center;
}

/* hotGame row */
.home .title_line {
  display: flex;
  height: min(10.667vw, 45.653px);
  line-height: min(10.667vw, 45.653px);
  align-items: center;
}
.home .title_line .mine_icon {
  height: min(5.333vw, 22.827px);
  width: min(5.333vw, 22.827px);
}
.home .title_line .title {
  display: flex;
  align-items: center;
  padding-left: min(1.6vw, 6.848px);
  font-size: min(4.267vw, 18.261px);
  color: #fff;
  font-weight: 600;
  line-height: min(10.667vw, 45.653px);
}
.home .title_line .left_btn,
.home .title_line .right_btn {
  height: min(7.467vw, 31.957px);
  width: min(7.467vw, 31.957px);
  text-align: center;
  line-height: min(7.467vw, 31.957px);
  border-radius: min(1.067vw, 4.565px);
  border: 0;
  background: rgba(255, 255, 255, 0.08);
  color: #c1c9e6;
  margin-left: auto;
  flex-shrink: 0;
  font-size: 16px;
  padding: 0;
}
.home .title_line .right_btn {
  margin-left: max(-0.533vw, -2.283px);
  margin-right: min(2.133vw, 9.131px);
}
.home .hotGame .gameListNew {
  display: flex;
  height: min(30.4vw, 130.112px);
  overflow-x: auto;
  overflow-y: hidden;
  padding-right: min(2.667vw, 11.413px);
  scrollbar-width: none;
}
.home .hotGame .gameListNew::-webkit-scrollbar {
  display: none;
}
.home .hotGame .gameListNew .gameItem {
  min-width: min(20.8vw, 89.024px);
  max-width: min(20.8vw, 89.024px);
  height: min(27.733vw, 118.699px);
  margin-right: min(1.6vw, 6.848px);
  position: relative;
  border: 0;
  padding: 0;
  background: transparent;
  border-radius: min(1.6vw, 6.848px);
  overflow: hidden;
  flex-shrink: 0;
}
.home .hotGame .gameListNew .gameItem .gameImg {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: min(1.6vw, 6.848px);
}
.home .hotGame .gameListNew .gameItem .gameName {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 4px;
  font-size: 10px;
  color: #fff;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.65));
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}
.home .hotGame .gameListNew .gameItem.is-off {
  opacity: 0.55;
}
.home .hotGame .login-hint,
.home .hotGame .empty-row {
  padding: 16px 8px;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.5);
}
.home .hotGame .login-hint button {
  display: block;
  margin-top: 8px;
  border: 0;
  border-radius: 999px;
  padding: 6px 14px;
  color: #fff;
  background: linear-gradient(90deg, #7c3aed, #4f46e5);
}

/* Buy Crypto */
.home .officaWallet .top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: min(4.267vw, 18.261px) 0 0 0;
  font-size: min(4.8vw, 20.544px);
  font-weight: 600;
  color: #fff;
  height: min(10.667vw, 45.653px);
  line-height: min(10.667vw, 45.653px);
}
.home .officaWallet .top .softwareDownload {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: min(3.2vw, 13.696px);
  padding: 0 min(4.267vw, 18.261px);
  height: min(7.467vw, 31.957px);
  color: var(--btn-text-color);
  background: linear-gradient(90deg, #7c3aed, #4f46e5);
  text-align: center;
  margin-right: min(2.667vw, 11.413px);
  border: 0;
  border-radius: 999px;
  cursor: pointer;
}
.home .officaWallet .officaWalletBox {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-radius: min(3.467vw, 14.837px);
}
.home .officaWallet .officaWalletBox .box {
  padding: min(1.6vw, 6.848px) min(3.2vw, 13.696px) min(1.6vw, 6.848px) 0;
  display: flex;
  justify-content: space-between;
  flex-wrap: nowrap;
  border-radius: min(3.467vw, 14.837px);
  overflow: auto;
  width: 100%;
  gap: min(2.133vw, 9.131px);
}
.home .officaWallet .officaWalletBox .box .wallet {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  min-width: min(29.867vw, 127.829px);
  text-align: center;
  padding: min(3.2vw, 13.696px) 0;
  background-image: linear-gradient(175deg, rgba(252, 245, 255, 0.12), rgba(96, 64, 111, 0.12));
  backdrop-filter: blur(min(2.667vw, 11.413px));
  border-radius: min(1.6vw, 6.848px);
  border: 0;
  color: inherit;
  cursor: pointer;
}
.home .officaWallet .officaWalletBox .box .wallet .icon {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  width: min(11.733vw, 50.219px);
  height: min(11.733vw, 50.219px);
  border-radius: min(1.6vw, 6.848px);
  object-fit: contain;
}
.home .officaWallet .officaWalletBox .box .wallet .text {
  font-size: min(3.2vw, 13.696px);
  font-weight: 400;
  color: #dbdff2;
  text-align: center;
  padding-top: min(2.133vw, 9.131px);
}

/* Partners + license */
.home .home-content .gameProvider, .home.home-content .gameProvider {
  overflow: hidden;
}
.home .home-content .gameProvider, .home.home-content .gameProvider .provider .title {
  padding-left: min(1.067vw, 4.565px);
  font-size: min(4.267vw, 18.261px);
  color: #fff;
  font-weight: 600;
}
.home .home-content .gameProvider, .home.home-content .gameProvider .provider .gameProviders {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: nowrap;
  overflow-x: auto;
  margin-bottom: min(6.933vw, 29.675px);
  scrollbar-width: none;
}
.home .home-content .gameProvider, .home.home-content .gameProvider .provider .gameProviders::-webkit-scrollbar {
  display: none;
}
.home .home-content .gameProvider, .home.home-content .gameProvider .provider .box .gameImg {
  width: min(30.667vw, 131.253px);
  height: min(12.8vw, 54.784px);
  margin-right: min(1.867vw, 7.989px);
  border-radius: min(1.6vw, 6.848px);
  background-image: linear-gradient(175deg, rgba(252, 245, 255, 0.12), rgba(96, 64, 111, 0.12));
  flex-shrink: 0;
  overflow: hidden;
}
.home .home-content .gameProvider, .home.home-content .gameProvider .provider .box .gameImg .icon,
.home .home-content .gameProvider, .home.home-content .gameProvider .provider .box .gameImg img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.home .home-content .gameProvider, .home.home-content .gameProvider .provider .zz {
  height: min(21.333vw, 91.307px);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: min(4.267vw, 18.261px);
  margin-right: min(3.2vw, 13.696px);
  border-radius: min(1.6vw, 6.848px);
  background-image: linear-gradient(173deg, rgba(252, 245, 255, 0.12), rgba(96, 64, 111, 0.12));
}
.home .home-content .gameProvider, .home.home-content .gameProvider .provider .zz img {
  height: min(14.4vw, 61.632px);
  width: min(48.8vw, 208.864px);
  object-fit: contain;
}

/* Live hotpatch bridges: restyle existing live sections toward tsyl */
.app-shell .tsyl-home-options-wrap {
  padding-left: min(0.4vw, 1.712px);
}
section.px-5.flex.flex-col.gap-3 {
  /* buy crypto live block */
}

/* Live dwCard inside official gameListNew */
.home .hotGame .gameListNew > button,
.home .hotGame .gameListNew > div {
  min-width: min(20.8vw, 89.024px) !important;
  max-width: min(20.8vw, 89.024px) !important;
  width: min(20.8vw, 89.024px) !important;
  height: min(27.733vw, 118.699px) !important;
  margin-right: min(1.6vw, 6.848px) !important;
  flex-shrink: 0 !important;
  border-radius: min(1.6vw, 6.848px) !important;
  overflow: hidden !important;
}
.home .hotGame .gameListNew img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

/* Live sticky tabs as van-tabs card when .menu */
.menu.sticky .van-tabs__nav--card,
.menu.sticky > .relative > div:first-child {
  border-radius: min(26.667vw, 114.133px) !important;
}


/* force partners row */
.gameProvider .gameProviders {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  align-items: center !important;
}
.gameProvider .gameProviders .gameImg {
  width: min(30.667vw, 131.253px) !important;
  height: min(12.8vw, 54.784px) !important;
  margin-right: min(1.867vw, 7.989px) !important;
  flex-shrink: 0 !important;
  border-radius: min(1.6vw, 6.848px) !important;
  background-image: linear-gradient(175deg, rgba(252, 245, 255, 0.12), rgba(96, 64, 111, 0.12)) !important;
  overflow: hidden !important;
}
.gameProvider .gameProviders .gameImg img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}
.gameProvider .zz {
  height: min(21.333vw, 91.307px) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 min(3.2vw, 13.696px) min(4.267vw, 18.261px) 0 !important;
  border-radius: min(1.6vw, 6.848px) !important;
  background-image: linear-gradient(173deg, rgba(252, 245, 255, 0.12), rgba(96, 64, 111, 0.12)) !important;
}
.gameProvider .zz img {
  height: min(14.4vw, 61.632px) !important;
  width: min(48.8vw, 208.864px) !important;
  object-fit: contain !important;
}
/* hide license if partners ate it - ensure visible */
.gameProvider .provider .title {
  font-size: min(4.267vw, 18.261px) !important;
  font-weight: 600 !important;
  color: #fff !important;
  padding-left: min(1.067vw, 4.565px) !important;
}
