:root{
  /* New premium theme (keep old var names for JS compatibility) */
  --bg-main: #0b1220;
  --bg-white: rgba(255,255,255,0.06);
  --bg-sidebar: rgba(255,255,255,0.04);
  --accent-gold: #d6b35d;
  --accent-gold-light: rgba(214,179,93,0.12);
  --accent-gold-dark: #b7923c;
  --text-primary: rgba(255,255,255,0.92);
  --text-secondary: rgba(255,255,255,0.72);
  --text-muted: rgba(255,255,255,0.55);
  --border-light: rgba(255,255,255,0.10);
  --success: #22c55e;
  --danger: #ff4d6d;

  --shadow-sm: 0 6px 20px rgba(0,0,0,0.18);
  --shadow-md: 0 18px 50px rgba(0,0,0,0.25);

  --radius-xl: 20px;
  --radius-lg: 16px;
  --radius-md: 12px;

  --header-height: 64px;
  --nav-height: 74px;
  --container: 1200px;
}

*{box-sizing:border-box;margin:0;padding:0;}
html,body{height:100%;}
body{
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  background:
    radial-gradient(1200px 800px at 20% 10%, rgba(214,179,93,0.16), transparent 60%),
    radial-gradient(900px 700px at 85% 20%, rgba(99,102,241,0.14), transparent 60%),
    radial-gradient(1200px 900px at 50% 120%, rgba(34,197,94,0.08), transparent 55%),
    linear-gradient(180deg, #07101f 0%, #0b1220 60%, #050a14 100%);
  color: var(--text-primary);
  overflow-x:hidden;
}

a{color:inherit;text-decoration:none;}
button,input,textarea{font:inherit;color:inherit;}

/* Glass card primitives */
.ui-surface{
  background: rgba(255,255,255,0.06);
  border: 1px solid var(--border-light);
  box-shadow: var(--shadow-sm);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border-radius: var(--radius-xl);
}

.ui-container{max-width: var(--container); margin: 0 auto; padding: 18px 16px;}

/* App bar */
.ui-appbar{
  position: sticky; top: 0; z-index: 1000;
  height: var(--header-height);
  display:flex; align-items:center; justify-content:space-between;
  padding: 0 16px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  background: rgba(10,16,30,0.65);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.ui-brand{display:flex; align-items:center; gap:12px; min-width: 0;}
.ui-logo{
  width: 40px; height: 40px; border-radius: 14px;
  background: linear-gradient(135deg, rgba(214,179,93,0.95) 0%, rgba(183,146,60,0.95) 60%, rgba(255,255,255,0.22) 100%);
  box-shadow: 0 14px 26px rgba(214,179,93,0.18);
  display:flex; align-items:center; justify-content:center;
  font-weight: 900;
  color: #120b02;
}

/* Site logo image (no text, no effects). Keep aspect ratio for long images. */
.site-logo-img{display:block; height:100%; width:auto; max-width:220px; object-fit:contain;}

.has-site-logo .ui-logo{
  background: transparent;
  box-shadow: none;
  border-radius: 0;
  width: auto;
}

.ui-brand-text{display:flex; flex-direction:column; gap:1px; min-width:0;}
.ui-brand-name{font-weight: 900; letter-spacing: 0.5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.ui-brand-sub{font-size: 12px; color: var(--text-muted); letter-spacing: 1px; text-transform: uppercase;}

/* Header injected by script.js */
.header-auth-btns{display:flex; align-items:center; gap:10px;}
.user-panel{display:flex; align-items:center; gap:12px;}
.balance-box{
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.06);
}
.balance-amount{font-weight: 900; font-family: "Roboto Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;}
.avatar-circle{
  width: 40px; height: 40px;
  border-radius: 14px;
  display:flex; align-items:center; justify-content:center;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(214,179,93,0.12);
  color: rgba(255,255,255,0.9);
}

/* Buttons */
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  gap: 8px;
  border-radius: 12px;
  padding: 10px 14px;
  border: 1px solid transparent;
  cursor:pointer;
  user-select:none;
  transition: transform .15s ease, background .15s ease, border-color .15s ease, opacity .15s ease;
}
.btn:active{transform: translateY(1px);}
.btn-sm{padding: 8px 12px; border-radius: 10px; font-size: 13px;}
.btn-primary{background: linear-gradient(135deg, rgba(214,179,93,0.95), rgba(183,146,60,0.95)); color: #120b02; font-weight: 900;}
.btn-outline{background: rgba(255,255,255,0.06); border-color: rgba(255,255,255,0.14); color: rgba(255,255,255,0.9); font-weight: 800;}
.btn:disabled{opacity: 0.55; cursor:not-allowed;}

/* Bottom nav (mobile) */
.ui-nav{
  position: fixed; left: 50%; transform: translateX(-50%);
  bottom: 14px; z-index: 1100;
  width: min(680px, calc(100% - 24px));
  height: var(--nav-height);
  padding: 10px 12px;
  display:flex; align-items:center; justify-content:space-between;
}
.ui-nav.ui-surface{border-radius: 22px;}
.ui-nav a{
  flex: 1;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap: 6px;
  border-radius: 16px;
  padding: 10px 0;
  color: var(--text-muted);
  transition: background .15s ease, color .15s ease;
}
.ui-nav a.active{color: rgba(255,255,255,0.95); background: rgba(255,255,255,0.06);}
.ui-nav svg{width: 22px; height: 22px;}

/* Main spacing around bottom nav */
.ui-main{padding-bottom: calc(var(--nav-height) + 34px);}

/* Page headers */
.ui-page-title{
  display:flex; align-items:flex-end; justify-content:space-between;
  gap: 14px;
  margin: 16px 0 16px;
}
.ui-page-title h2{font-size: 22px; letter-spacing: -0.3px; font-weight: 900;}
.section-subtitle{font-size: 12px; color: var(--text-muted); font-weight: 700;}

/* Carousel */
.carousel-container{
  height: 180px;
  border-radius: var(--radius-xl);
  overflow:hidden;
  position:relative;
}
.carousel-track{position: relative; width: 100%; height: 100%;}
.carousel-slide{
  position:absolute; inset:0;
  opacity:0;
  transition: opacity .45s ease;
}
.carousel-slide.active{opacity: 1;}

.carousel-link{display:block; width:100%; height:100%;}
/* Fit inside fixed box, no crop. (May stretch ratio, but always fully visible.) */
.carousel-img{display:block; width:100%; height:100%; object-fit: fill;}


.carousel-dots{

  position:absolute; left: 50%; transform: translateX(-50%);
  bottom: 10px;
  display:flex; gap: 8px;
}
.dot{
  width: 8px; height: 8px; border-radius: 999px;
  background: rgba(255,255,255,0.25);
  border: 1px solid rgba(255,255,255,0.15);
}
.dot.active{background: rgba(214,179,93,0.95);}

/* Announcement */
.announcement-bar{padding: 14px 16px; border-radius: var(--radius-xl); display:flex; gap:12px; align-items:center;}
.announcement-icon{opacity: 0.9;}
.marquee-container{flex:1; overflow:hidden;}
.marquee-content{white-space:nowrap; display:inline-block; animation: marquee 26s linear infinite;}
@keyframes marquee{0%{transform: translateX(100%);}100%{transform: translateX(-100%);}}

/* Home nav grid */
.home-nav-grid{display:grid; grid-template-columns: repeat(4, 1fr); gap: 10px;}
.nav-item{
  padding: 12px 8px;
  border-radius: var(--radius-xl);
  text-align:center;
}
.nav-item:hover{transform: translateY(-1px);}
.nav-icon{
  width: 40px;
  height: 40px;
  border-radius: 14px;
  margin: 0 auto 8px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.nav-item .nav-icon svg{width: 20px; height: 20px;}
.nav-item > div:nth-child(2){font-size: 13px; font-weight: 900; line-height: 1.1;}
.nav-item .section-subtitle{font-size: 11px; margin-top: 2px;}

.nav-icon.recharge{background: rgba(34,197,94,0.15); color: rgba(255,255,255,0.9);}
.nav-icon.withdraw{background: rgba(255,77,109,0.15); color: rgba(255,255,255,0.9);}
.nav-icon.service{background: rgba(99,102,241,0.16); color: rgba(255,255,255,0.9);}
.nav-icon.activity{background: rgba(214,179,93,0.16); color: rgba(255,255,255,0.92);}

/* Category section */
.home-category-section{overflow:hidden;}
.category-tabs-container{display:flex; align-items:flex-start;}
.category-vertical-sidebar{
  width: 92px;
  border-right: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.03);
}
.category-sidebar-item{
  padding: calc(14px * 1.749) 10px;
  display:flex; flex-direction:column; align-items:center; gap: 8px;
  cursor:pointer;
  color: var(--text-muted);
  border-bottom: 1px solid rgba(255,255,255,0.06);
  transition: background .15s ease, color .15s ease;
}



.category-sidebar-item.active{background: rgba(255,255,255,0.06); color: rgba(255,255,255,0.95);}
.category-sidebar-item .item-icon{width: 28px; height: 28px; opacity: 0.9;}
.category-sidebar-item svg{width: 22px; height: 22px;}
.category-sidebar-item .item-label{font-size: 12px; font-weight: 800; text-align:center; line-height:1.1;}

.category-main-content{flex:1; padding: 14px; overflow:auto;}
.popular-grid{display:grid; grid-template-columns: repeat(2, 1fr); gap: 12px;}
.lottery-app-card{padding: 14px 10px; border-radius: 18px; text-align:center; min-width: 0;}

.app-card-icon{width: 54px; height: 54px; border-radius: 18px; margin: 0 auto 10px; display:flex; align-items:center; justify-content:center; font-weight: 900; overflow:hidden;}
.app-card-icon.has-img{padding: 0; line-height: 0;}
.lottery-icon-img{display:block; width:100%; height:100%; max-width:100%; max-height:100%; object-fit:cover; flex: 0 0 auto;}


.app-card-name{font-weight: 900; font-size: 14px; color: rgba(255,255,255,0.92);}
.app-card-info{font-size: 12px; color: var(--text-muted);}

/* Tabs */
.filter-tabs{
  display:flex;
  gap: 10px;
  overflow-x:auto;
  padding: 4px 2px 10px;
  scrollbar-width:none;
  max-width: 100%;
  min-width: 0;
  -webkit-overflow-scrolling: touch;
}
.filter-tabs::-webkit-scrollbar{display:none;}
.filter-tab{padding: 9px 14px; border-radius: 999px; border: 1px solid rgba(255,255,255,0.10); background: rgba(255,255,255,0.04); color: var(--text-muted); font-weight: 800; white-space: nowrap; cursor:pointer;}
.filter-tab.active{background: rgba(214,179,93,0.18); border-color: rgba(214,179,93,0.45); color: rgba(255,255,255,0.92);}


/* Results / records lists */
.results-list, .record-list{display:flex; flex-direction:column; gap: 12px;}
.result-card, .record-item{padding: 14px; border-radius: 18px;}
.result-header{display:flex; align-items:center; justify-content:space-between; gap: 10px; margin-bottom: 10px;}
.game-name{font-weight: 900;}
.draw-period, .record-time{font-size: 12px; color: var(--text-muted);}

/* Number chips */
.lottery-numbers, .draw-numbers{
  display:flex;
  align-items:center;
  gap: 8px;
  overflow-x:auto;
  scrollbar-width:none;
  max-width: 100%;
  min-width: 0;
  -webkit-overflow-scrolling: touch;
}
.lottery-numbers::-webkit-scrollbar, .draw-numbers::-webkit-scrollbar{display:none;}

.ball{
  width: 28px; height: 28px; border-radius: 999px;
  display:flex; align-items:center; justify-content:center;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.14);
  font-weight: 900;
  font-family: "Roboto Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  color: rgba(255,255,255,0.92);
}

.marksix .ball.red{background: rgba(255,77,109,0.18); border-color: rgba(255,77,109,0.35);} 
.marksix .ball.blue{background: rgba(99,102,241,0.18); border-color: rgba(99,102,241,0.35);} 
.marksix .ball.gold{background: rgba(214,179,93,0.18); border-color: rgba(214,179,93,0.45);} 

.pk10 .num{
  padding: 4px 7px;
  border-radius: 10px;
  font-weight: 900;
  font-family: "Roboto Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  background: rgba(255,255,255,0.10);
  border: 1px solid rgba(255,255,255,0.14);
}

.dice{
  width: 30px; height: 30px; border-radius: 12px;
  display:flex; align-items:center; justify-content:center;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.14);
  font-weight: 900;
  color: rgba(255,255,255,0.92);
}

.sum-tag{margin-left: 6px; padding: 6px 10px; border-radius: 999px; background: rgba(214,179,93,0.16); border: 1px solid rgba(214,179,93,0.35); color: rgba(255,255,255,0.92); font-size: 12px; font-weight: 900;}

/* Detail top nav (bet/order_detail/invite/etc) */
.detail-top-nav{
  position: fixed; top: 0; left: 0; right: 0;
  height: 56px;
  background: rgba(10,16,30,0.75);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(255,255,255,0.08);
  display:flex; align-items:center;
  padding: 0 12px;
  z-index: 1200;
}
.detail-back-btn{
  width: 40px; height: 40px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.06);
  display:flex; align-items:center; justify-content:center;
  cursor:pointer;
}
.detail-nav-title{flex:1; text-align:center; font-weight: 900; letter-spacing: .2px;}
.detail-nav-placeholder{width: 40px;}

/* Modals */
.modal{display:none; position: fixed; inset: 0; background: rgba(0,0,0,0.55); z-index: 2000; align-items:center; justify-content:center; padding: 16px;}
.modal.show{display:flex;}
.modal-content{width: min(420px, 100%); padding: 18px; border-radius: 18px; background: rgba(10,16,30,0.86); border: 1px solid rgba(255,255,255,0.12); box-shadow: var(--shadow-md);}

/* Forms */
.ui-field{display:flex; flex-direction:column; gap: 8px; margin-bottom: 14px;}
.ui-label{font-size: 13px; font-weight: 800; color: rgba(255,255,255,0.78);}
.ui-input{
  width:100%;
  height: 46px;
  padding: 0 14px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.06);
  outline:none;
}
.ui-input:focus{border-color: rgba(214,179,93,0.55); box-shadow: 0 0 0 4px rgba(214,179,93,0.12);} 

.ui-textarea{min-height: 44px; padding: 10px 14px;}

/* Bet page essentials */
.bet-options-grid{display:grid; grid-template-columns: repeat(2,1fr); gap: 12px;}
.bet-option, .num-ball{user-select:none; cursor:pointer;}
.bet-option{padding: 14px; border-radius: 18px; border: 1px solid rgba(255,255,255,0.12); background: rgba(255,255,255,0.06);}
.bet-option.active{border-color: rgba(214,179,93,0.55); background: rgba(214,179,93,0.14);}
.number-grid{display:grid; grid-template-columns: repeat(5,1fr); gap: 10px;}
.num-ball{aspect-ratio: 1; border-radius: 999px; display:flex; align-items:center; justify-content:center; border: 1px solid rgba(255,255,255,0.14); background: rgba(255,255,255,0.06); font-weight: 900;}
.num-ball.active{background: rgba(214,179,93,0.95); border-color: rgba(214,179,93,0.95); color: #120b02;}

/* Utilities */
.fade-in{animation: fadeIn .35s ease both;}
@keyframes fadeIn{from{opacity:0; transform: translateY(10px);}to{opacity:1; transform: translateY(0);}}

/* Profile page: avoid flicker on some WebViews (backdrop-filter + scroll repaint) */
.profile-actions .ui-surface{
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  /* keep card look without heavy blur */
  background: rgba(255,255,255,0.07);
}
.profile-actions a.ui-surface{transform: translateZ(0); backface-visibility: hidden;}


@media (min-width: 900px){
  .carousel-container{height: 240px;}
  .popular-grid{grid-template-columns: repeat(3, 1fr);}
  .home-nav-grid{grid-template-columns: repeat(4, 1fr);}
}



@media (max-width: 520px){
  .ui-brand-sub{display:none;}

  /* 首页公告下方 4 个按钮：强制一行更紧凑 */
  .home-nav-grid{grid-template-columns: repeat(4, 1fr); gap: 8px;}
  .nav-item{padding: 10px 6px;}
  .nav-icon{width: 34px; height: 34px; border-radius: 12px; margin-bottom: 6px;}
  .nav-item .nav-icon svg{width: 18px; height: 18px;}
  .nav-item > div:nth-child(2){font-size: 12px;}
  .nav-item .section-subtitle{display:none;}

  .category-vertical-sidebar{width: 84px;}
  .popular-grid{grid-template-columns: repeat(2, 1fr);}
}
