:root {
  --bg-primary: #171517;
  --bg-secondary: #211f20;
  --bg-card: #292627;
  --brand-primary: #f0b27a;
  --brand-accent: #e99a5c;
  --text-primary: #fff7f0;
  --text-secondary: #aaa2a0;
  --border-color: #3a3535;
  --success-color: #39b77a;
  --like-color: #e5737b;
}

html,
body {
  background: var(--bg-primary) !important;
  color: var(--text-primary);
  font-family: Inter, Roboto, Arial, system-ui, sans-serif;
}

body {
  overflow-x: hidden;
}

#app {
  background: var(--bg-primary) !important;
  color: var(--text-primary);
}

#app .page,
#app .container,
#app .lottery,
#app .mine_page {
  background: var(--bg-primary) !important;
}

/* Home: use depth and spacing instead of repeated gold borders. */
#app .header,
#app .header_content {
  background: var(--bg-secondary) !important;
}

#app .header_content {
  padding-inline: 16px;
}

#app .header_content .platform-name {
  color: var(--brand-primary) !important;
  letter-spacing: 0 !important;
}

#app .banner_swiper {
  position: relative;
  overflow: hidden;
  border-radius: 0 0 16px 16px;
  background: var(--bg-secondary);
}

#app .banner_swiper::after {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  content: "";
  background: linear-gradient(180deg, transparent 42%, rgba(23, 21, 23, .72) 100%);
}

#app .notice-swiper {
  display: flex;
  align-items: center;
  min-height: 48px;
  margin: 12px 16px 20px;
  padding: 0 14px;
  overflow: hidden;
  color: var(--text-primary) !important;
  background: var(--bg-card) !important;
  border: 1px solid var(--border-color) !important;
  border-radius: 12px !important;
  white-space: nowrap;
  text-overflow: ellipsis;
}

#app .notice-swiper::before {
  flex: 0 0 auto;
  margin-right: 10px;
  color: var(--brand-primary);
  content: "Avisos";
  font-size: 12px;
  font-weight: 700;
}

#app .auth_org,
#app .wuzii {
  margin: 0 16px 20px !important;
  padding: 18px 16px !important;
  background: var(--bg-card) !important;
  border: 1px solid var(--border-color) !important;
  border-radius: 16px !important;
}

#app .auth_org .put_tit,
#app .wuzii .put_tit {
  color: var(--text-primary) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
}

#app .auth_org .put_tit::before,
#app .wuzii .put_tit::before {
  width: 4px !important;
  height: 20px !important;
  background: var(--brand-primary) !important;
  border-radius: 4px;
}

#app .auth_org .auth_list {
  gap: 12px !important;
  margin-top: 16px !important;
}

#app .auth_org .auth_list .auth_item .auth_img {
  width: 100% !important;
  max-width: 124px;
  aspect-ratio: 1 / 1;
  height: auto !important;
  border: 0 !important;
  border-radius: 14px !important;
  box-shadow: none !important;
}

#app .auth_org .auth_name {
  margin-top: 8px;
  color: var(--text-primary) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  text-align: center;
}

#app .content-bg {
  overflow: hidden;
  background: var(--bg-card) !important;
  border: 0 !important;
  border-radius: 16px !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .22) !important;
}

#app .content-bg .info_box {
  background: linear-gradient(180deg, transparent, rgba(23, 21, 23, .92)) !important;
}

#app .content-bg .location {
  color: var(--bg-primary) !important;
  background: var(--brand-primary) !important;
  border-radius: 8px !important;
}

/* Account and records: a quiet card hierarchy for repeated actions. */
#app .mine_page .c_card_b,
#app .mine_page .c_vip,
#app .mine_page .hang_bttn {
  border: 0 !important;
  border-radius: 16px !important;
  background: var(--bg-card) !important;
}

#app .mine_page .c_card_b {
  margin-inline: 16px !important;
  padding-block: 20px !important;
}

#app .mine_page .c_vip {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 108px;
  margin: 16px !important;
  padding: 20px 20px 20px 76px !important;
  overflow: hidden;
  background: linear-gradient(135deg, #342c28 0%, #2b2727 58%, #252225 100%) !important;
  border: 1px solid rgba(240, 178, 122, .26) !important;
  box-shadow: 0 10px 28px rgba(0, 0, 0, .18) !important;
}

#app .mine_page .c_vip::before {
  position: absolute;
  top: 50%;
  left: 20px;
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  color: var(--brand-primary);
  content: "VIP";
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
  border: 1px solid rgba(240, 178, 122, .58);
  border-radius: 12px;
  background: rgba(240, 178, 122, .12);
  transform: translateY(-50%);
}

#app .mine_page .c_vip::after {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 4px;
  content: "";
  background: linear-gradient(180deg, var(--brand-primary), var(--brand-accent));
}

#app .mine_page .c_vip .ee {
  position: relative;
  z-index: 1;
  color: var(--brand-primary) !important;
  font-size: 15px !important;
  font-weight: 700;
  line-height: 1.25;
}

#app .mine_page .c_vip .down {
  position: relative;
  z-index: 1;
  max-width: 100%;
  margin-top: 7px;
  color: var(--text-primary) !important;
  font-size: 17px !important;
  font-weight: 500;
  line-height: 1.35;
}

#app .mine_page .c_vip [data-vip-status] {
  position: absolute;
  top: 16px;
  right: 18px;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 9px;
  color: #cbd5e1;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  border: 1px solid rgba(203, 213, 225, .36);
  border-radius: 999px;
  background: rgba(15, 23, 42, .3);
}

#app .mine_page .c_vip [data-vip-status]::before {
  width: 6px;
  height: 6px;
  content: "";
  border-radius: 50%;
  background: #94a3b8;
}

#app .mine_page .c_vip.vip-active {
  border-color: rgba(240, 178, 122, .68) !important;
  box-shadow: 0 10px 30px rgba(240, 178, 122, .12), inset 0 0 24px rgba(240, 178, 122, .05) !important;
}

#app .mine_page .c_vip.vip-active [data-vip-status] {
  color: #bbf7d0;
  border-color: rgba(74, 222, 128, .42);
  background: rgba(22, 101, 52, .28);
}

#app .mine_page .c_vip.vip-active [data-vip-status]::before {
  background: #4ade80;
  box-shadow: 0 0 8px rgba(74, 222, 128, .8);
}

#app .mine_page .c_vip.vip-inactive .ee {
  color: #cbd5e1 !important;
}

#app .mine_page .c_card_b .q1,
#app .mine_page .c_card_b .q2 {
  color: var(--text-primary) !important;
}

#app .mine_page .c_card_b .q2 {
  color: var(--brand-primary) !important;
  font-size: 22px !important;
  font-weight: 700 !important;
}

/* Keep the account avatar perfectly circular at every viewport size. */
#app .mine_page .info_card_u .left_c .user_set {
  display: block !important;
  width: min(16vw, 83.2px) !important;
  height: min(16vw, 83.2px) !important;
  aspect-ratio: 1 / 1;
  flex: 0 0 auto;
  object-fit: cover;
  object-position: center;
  border-radius: 50% !important;
  overflow: hidden;
}

#app .record-list .record-item .record-card {
  background: var(--bg-card) !important;
  border: 1px solid var(--border-color) !important;
  border-radius: 16px !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .2) !important;
}

#app .record-list .record-item .card-header {
  border-bottom-color: var(--border-color) !important;
}

/* Bottom navigation respects safe-area space and keeps selected state clear. */
#app .van-tabbar,
#app .bottom-bar[data-v-e71ca208] {
  height: clamp(76px, 8vw, 92px) !important;
  min-height: 76px !important;
  padding: 8px 0 max(8px, env(safe-area-inset-bottom)) !important;
  box-sizing: border-box !important;
  background: #1d1a1c !important;
  border-top: 1px solid var(--border-color) !important;
}

#app .van-tabbar {
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  max-width: none !important;
  transform: none !important;
}

#app .bottom-bar[data-v-e71ca208] {
  left: 50% !important;
  right: auto !important;
  width: min(100vw, 720px) !important;
  max-width: 720px !important;
  transform: translateX(-50%);
}

#app .van-tabbar-item {
  height: 100% !important;
  padding: 4px 0 2px !important;
  color: var(--text-secondary) !important;
  font-size: 14px !important;
  line-height: 18px !important;
}

#app .van-tabbar-item--active {
  color: var(--brand-primary) !important;
}

#app .van-tabbar-item__icon img {
  width: clamp(28px, 3.2vw, 36px);
  height: clamp(28px, 3.2vw, 36px) !important;
  object-fit: contain;
}

#app .van-tabbar-item__icon {
  height: clamp(34px, 3.8vw, 42px) !important;
  margin-bottom: 2px !important;
  line-height: 38px !important;
}

#app .van-tabbar-item__text {
  line-height: 18px !important;
}

@media (max-width: 520px) {
  #app .van-tabbar,
  #app .bottom-bar[data-v-e71ca208] {
    left: 0 !important;
    width: 100% !important;
    max-width: none !important;
    transform: none;
  }
}

@media (max-width: 390px) {
  #app .auth_org,
  #app .wuzii {
    margin-inline: 12px !important;
    padding-inline: 12px !important;
  }

  #app .notice-swiper {
    margin-inline: 12px;
  }

  #app .content-bg {
    border-radius: 14px !important;
  }

  #app .mine_page .c_vip {
    min-height: 100px;
    padding: 18px 16px 18px 68px !important;
  }

  #app .mine_page .c_vip::before {
    left: 16px;
    width: 38px;
    height: 38px;
  }

  #app .mine_page .c_vip .down {
    font-size: 16px !important;
  }
}

@media (min-width: 521px) {
  #app {
    border-inline: 1px solid #2b2729;
  }
}
