/* 赌王 · 质感层（必须在 skin-blue.css 之后加载：线上 skin-blue.css 挂在 body 末尾）
 * 目标：去掉“糊”——更清晰的层次、统一的深钴蓝、细描边代替大面积淡阴影、克制的字重。
 * 只改外观，不改结构和交互。 */
:root {
  --jb-bg: #eef2f7;
  --jb-card: #ffffff;
  --jb-soft: #f4f7fb;
  --jb-line: #e1e7f0;
  --jb-ink: #0b1a38;
  --jb-ink-2: #36435e;
  --jb-vice: #66738d;
  --jb-assist: #8b97ad;
  --jb-brand: #1560d4;
  --jb-brand-2: #2f86ff;
  --jb-gold: #b8914a;
  --jb-fill: linear-gradient(180deg, #2b7ff2 0%, #1459cc 100%);
  --jb-navy: linear-gradient(180deg, #0f2150 0%, #0b1a42 100%);
  --jb-shadow: 0 0 0 1px #0f23500d, 0 1px 2px #0f23500a, 0 .21333rem .53333rem -.26667rem #0f23502e;
  --jb-shadow-sm: 0 0 0 1px #0f23500f, 0 1px 2px #0f23500d;
}
:root body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; }

/* ---------- 大厅 ---------- */
:root .hallPage .swiper-container { border-radius: .26667rem !important; box-shadow: var(--jb-shadow); }
:root .hallPage .swiper-container:after { background: linear-gradient(0deg, #0b1a3826 0%, transparent 40%); }
:root .hallPage .noticecontent { box-shadow: var(--jb-shadow-sm) !important; }
:root .hallPage .centerArea { box-shadow: var(--jb-shadow) !important; border-radius: .37333rem !important; }

/* 大厅顶栏：去掉左上角 logo（标题仍居中）；右上角明暗切换与公告做成同一套玻璃胶囊按钮（公告按钮见 hall-account.js） */
:root .hallPage > .head_area .leftImg { display: none !important; }
:root .hallPage > .head_area .head_text { grid-column: 2; grid-row: 1; }
:root .hallPage > .head_area .right_menu { grid-column: 3; grid-row: 1; justify-self: end; display: flex !important; align-items: center; gap: .16rem; }
:root .hallPage > .head_area .right_menu .right_menu_notice,
:root .hallPage > .head_area .right_menu .unreadNum { display: none !important; }
:root .hallPage .jg-mode-toggle { order: 1; }
:root .hallPage .jg-notice-btn { order: 2; }
:root .hallPage .jg-mode-toggle,
:root .hallPage .jg-notice-btn {
  height: .88rem; min-height: 32px; border: 0; border-radius: 999px; cursor: pointer;
  background: linear-gradient(180deg, #ffffffeb, #f6f9ffd9);
  -webkit-backdrop-filter: blur(14px) saturate(160%); backdrop-filter: blur(14px) saturate(160%);
  box-shadow: 0 0 0 1px #0f235012, 0 .05333rem .18667rem -.02667rem #0f23501f, inset 0 1px 0 #fff;
  transition: transform .22s cubic-bezier(.2, .9, .3, 1.25), box-shadow .2s, background-color .2s;
}
:root .hallPage .jg-mode-toggle { width: .88rem; min-width: 32px; color: var(--jb-ink-2); }
:root .hallPage .jg-mode-toggle svg { width: .45333rem; height: .45333rem; min-width: 17px; min-height: 17px; stroke-width: 1.8; }
:root .jg-notice-btn {
  position: relative; display: inline-flex; align-items: center; justify-content: center;
  width: .88rem; min-width: 32px; padding: 0;
  color: var(--jb-ink) !important; font: inherit; font-size: .34667rem !important; font-weight: 600 !important; line-height: 1;
}
:root .jg-notice-btn svg { width: .48rem; height: .48rem; flex: none; fill: none; stroke: var(--jb-brand); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
:root .jg-notice-btn svg path:first-child { fill: #1560d41f; }
:root .jg-notice-btn.has-unread::after {
  content: ''; position: absolute; top: .05333rem; right: .08rem; width: .18667rem; height: .18667rem; border-radius: 50%;
  background: #ff3b30; box-shadow: 0 0 0 2px #fff;
}
:root .hallPage .jg-mode-toggle:active, :root .jg-notice-btn:active { transform: scale(.94); }
/* 大厅不再显示滚动公告条（公告从右上角「公告」进入） */
:root .hallPage .noticecontent { display: none !important; }

/* 品牌横幅：原始透明人物与 logo，文案使用真实文字。 */
:root .jg-hero-hall { position: relative; --jg-hero-header: 52px; }
:root .jg-hero-hall > .head_area {
  position: absolute; inset: 0 auto auto 50%; z-index: 20; width: min(100%,540px); transform: translateX(-50%);
  grid-template-columns: minmax(0, 1fr) auto !important;
  height: var(--jg-hero-header) !important; background: transparent !important; pointer-events: none;
}
:root .jg-hero-hall > .maincontent { padding-top: var(--jg-hero-header); background: linear-gradient(#f8fbff,#eef2f7 7rem); }
:root .jg-hero-hall > .head_area :is(.jg-hero-brand, button) { pointer-events: auto; }
:root .jg-hero-hall > .head_area .head_text { display: none !important; }
:root .jg-hero-hall > .head_area .right_menu { grid-column: 2; }
.jg-hero-brand {
  position: relative; grid-column: 1; grid-row: 1; justify-self: start; display: flex; align-items: center;
  --jg-logo-inset: 9px; box-sizing: border-box; min-height: 40px; padding: 0 var(--jg-logo-inset); border-radius: 999px; background: #fff;
  box-shadow: 0 0 0 1px #0f23500a, 0 .06rem .24rem #0f23500d;
}
.jg-hero-brand img { display: block; width: 114px; height: auto; }
:root .jg-hero-hall .swiper-container { display: none !important; }
.jg-brand-hero {
  position: relative; isolation: isolate; width: 100%; max-width: 540px; align-self: center; height: calc(clamp(224px, 60vw, 280px) + 8px - var(--jg-hero-header)); margin: 0;
  overflow: hidden; background: linear-gradient(180deg, #f8fbff, #eaf3ff 64%, #eef2f7);
}
.jg-brand-hero__copy { position: relative; z-index: 2; padding: calc(80px - var(--jg-hero-header)) 0 0 .6rem; width: 4.6rem; }
.jg-brand-hero__copy h2 {
  margin: 0; color: #173a68; font-family: inherit; font-size: clamp(26px, 7.4vw, 42px);
  font-weight: 800; line-height: 1.28; letter-spacing: -.02em;
}
.jg-brand-hero__copy p {
  margin: .42rem 0 0; color: #526d91; font-size: clamp(12px, .34rem, 17px);
  font-weight: 500; font-style: normal; line-height: 1.6; letter-spacing: .015em; white-space: nowrap;
}
.jg-brand-hero__person {
  position: absolute; z-index: 1; top: -.1rem; right: -.75rem;
  height: calc(100% + 1rem); width: auto; max-width: none; object-fit: contain; pointer-events: none;
}
@media (min-width: 1024px) {
  :root .jg-hero-hall { --jg-hero-header: 76px; }
  .jg-hero-brand { --jg-logo-inset: 12px; min-height: 56px; }
  .jg-hero-brand img { width: 152px; }
}

/* 合作厂商与支付方式：轮播、厂商列表共用同一套标识。 */
.jg-footer { margin-top: .24rem; }
.jg-footer__panel { padding: .4rem .36rem .48rem; border-radius: .48rem; background: #f8f8fa; }
.jg-footer__head { display: flex; align-items: center; justify-content: space-between; padding-top: .4rem; margin-bottom: .28rem; border-top: 1px solid var(--jb-line); }
.jg-footer__title { display: flex; align-items: center; gap: .12rem; padding: 0; border: 0; background: none; color: var(--jb-ink); font-size: .38rem !important; font-weight: 600 !important; cursor: pointer; }
.jg-footer__title svg, .jg-footer__arrows svg { width: .3rem; height: .3rem; fill: none; stroke: currentColor; stroke-width: 1.6; }
.jg-footer__arrows { display: flex; gap: .16rem; }
.jg-footer__arrows button { display: grid; place-items: center; width: .84rem; height: .84rem; padding: 0; border: 0; border-radius: 50%; background: var(--jb-card); color: var(--jb-vice); cursor: pointer; }
.jg-footer__arrows button:first-child svg { transform: rotate(180deg); }
.jg-partners-track { display: flex; gap: .2rem; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; overscroll-behavior-x: contain; }
.jg-partners-track::-webkit-scrollbar { display: none; }
.jg-partner-card { display: flex; flex: 0 0 calc((100% - .4rem) / 3); min-width: 0; align-items: center; justify-content: center; flex-direction: column; gap: .22rem; min-height: 1.45rem; padding: .1rem 0; border: 0; border-radius: .3rem; color: #575968; background: var(--jb-card); cursor: pointer; }
.jg-partner-mark { display: block; flex: none; width: 96px; height: 48px; background: currentColor; mask-image: var(--partner-image); mask-repeat: no-repeat; mask-size: var(--partner-size); mask-position: var(--partner-position); }
.jg-footer__payments { margin-top: .46rem; padding-top: .4rem; border-top: 1px solid var(--jb-line); }
.jg-footer__payments h3 { margin: 0 0 .32rem; font-size: .38rem; font-weight: 600; color: var(--jb-ink); }
.jg-footer__payments ul { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); padding: 0; margin: 0; list-style: none; gap: .2rem; }
.jg-footer__payments li { display: flex; align-items: center; justify-content: center; gap: .13rem; min-height: .7rem; font-size: .29rem; font-weight: 600; color: var(--jb-ink); }
.jg-footer__payments :is(img,svg) { width: .56rem; height: .56rem; flex: none; object-fit: contain; border-radius: 50%; }
.jg-footer__contact { padding: .55rem 0 .4rem; text-align: center; }
.jg-footer__contact h3 { margin: 0 0 .35rem; font-size: .5rem; font-weight: 600; color: var(--jb-ink); }
.jg-footer__contact button { min-width: 3.4rem; min-height: .96rem; padding: .18rem .5rem; border: 0; border-radius: 999px; background: linear-gradient(110deg,#389fff,#0075df); color: #fff !important; font-size: .34rem; font-weight: 600 !important; cursor: pointer; }
.jg-partner-card:focus-visible, .jg-footer button:focus-visible { outline: 2px solid var(--jb-brand); outline-offset: 2px; }
.jg-partner-page { background: radial-gradient(ellipse at 8% 5%,#9cbdff80,transparent 36%),radial-gradient(ellipse at 100% 18%,#bfd9cf80,transparent 40%),#f3f4f8; }
.jg-partner-page .jg-sheet__head { position: relative; background: #ffffff73; border-bottom: 0; backdrop-filter: blur(16px); }
.jg-partner-page .jg-sheet__title { position: absolute; left: 1.2rem; right: 1.2rem; text-align: center; pointer-events: none; }
.jg-partner-page .jg-sheet__back { background: #fff; border-radius: 50%; }
.jg-partner-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-content: start; gap: .3rem; padding: .4rem .25rem calc(.5rem + env(safe-area-inset-bottom)); }
.jg-partner-list .jg-partner-card { min-height: 2.85rem; border-radius: .42rem; color: var(--jb-ink); }
.jg-partner-card strong { font-size: .34rem; font-weight: 600; }
.jg-partner-games .jg-art-card { border-radius: .4rem; }
.jg-partner-games button.jg-art-card { padding: 0; }
.jg-partner-games .jg-art-card strong, .jg-partner-games button.jg-art-card small { display: none; }
.jg-partner-games .jg-art-media { border-radius: .4rem; }
.jg-partner-games .jg-art-filters { gap: .2rem; padding-top: .3rem; scrollbar-width: none; }
.jg-partner-games .jg-art-filters button { display: grid; place-items: center; min-width: 2rem; min-height: 1rem; padding: .1rem; border: 0; border-radius: .28rem; }
.jg-partner-games .jg-art-filters button[aria-pressed=true] { color: #2388e8 !important; background: #e8f3ff; box-shadow: inset 0 -2px #49a1f8; }
.jg-partner-games .jg-art-filters button[data-vendor="PG"] { --filter-image: url('/jg-skin/partner-pg.webp'); }
.jg-partner-games .jg-art-filters button[data-vendor="PP"] { --filter-image: url('/jg-skin/partner-pp.webp'); }
.jg-partner-games .jg-art-filters button[data-vendor="CQ9"] { --filter-image: url('/jg-skin/partner-cq9.webp'); }
.jg-partner-games .jg-art-filters button[data-vendor="JILI"] { --filter-image: url('/jg-skin/partner-jili.webp'); }
.jg-partner-games .jg-art-filters button[data-vendor="Hacksaw"] { --filter-image: url('/jg-skin/partner-hacksaw.webp'); }
.jg-partner-games .jg-art-filters button[data-vendor="NoLimit"] { --filter-image: url('/jg-skin/partner-nolimit.webp'); }
.jg-partner-games .jg-art-filters button[data-vendor="FC"] { --filter-image: url('/jg-skin/partner-fc.webp'); }
.jg-partner-games .jg-art-filters button[data-vendor="索来尔"] { --filter-image: url('/jg-skin/partner-sle.webp'); }
.jg-partner-games .jg-art-filters button[data-vendor="DB"] { --filter-image: url('/jg-skin/partner-db.webp'); }
.jg-partner-games .jg-art-filters button:not([data-vendor=""]) { font-size: 0 !important; }
.jg-partner-games .jg-art-filters button:not([data-vendor=""])::before { content: ''; width: 64px; height: 30px; background: currentColor; mask: var(--filter-image) center / contain no-repeat; }
.jg-partner-games .jg-art-count { margin: .25rem 0; }
.jg-partner-empty { color: var(--jb-vice); text-align: center; padding: 1.5rem .4rem; font-size: .36rem; }
@media (min-width: 768px) {
  .jg-partner-list, .jg-partner-games { width: min(100%,1120px); align-self: center; box-sizing: border-box; }
  .jg-partner-list { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .jg-partner-games .jg-art-grid { grid-template-columns: repeat(6,minmax(0,1fr)); }
}

/* 游客账户卡：头像占位 + 两行说明，注册（玻璃描边）/ 登录（钴蓝实心）胶囊按钮，与顶栏按钮同一套材质 */
:root .hallPage .centerArea.jg-account-guest { height: auto !important; min-height: 1.70667rem; padding: .26667rem .32rem !important; }
:root .jg-account--guest { align-items: center; gap: .26667rem; }
:root .jg-account--guest .jg-account__guest {
  flex: 1 1 auto; min-width: 0; display: grid; grid-template-columns: 1.06667rem minmax(0, 1fr); column-gap: .26667rem; row-gap: .05333rem;
  align-items: center; color: var(--jb-ink); font-size: .37333rem; font-weight: 600; line-height: 1.25; white-space: nowrap;
}
:root .jg-account--guest .jg-account__guest::before {
  content: ''; grid-row: 1 / span 2; width: 1.06667rem; height: 1.06667rem; border-radius: 50%;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='9' r='3.6' fill='none' stroke='%231560d4' stroke-width='1.7'/%3E%3Cpath d='M5.6 19.2c1.1-3.1 3.6-4.8 6.4-4.8s5.3 1.7 6.4 4.8' fill='none' stroke='%231560d4' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E") center / 58% no-repeat,
    linear-gradient(180deg, #f1f6ff, #e1ebfb);
  box-shadow: inset 0 0 0 1px #1560d41a, 0 1px 2px #0f235014;
}
:root .jg-account--guest .jg-account__guest::after {
  content: '登录后即可投注、存取款'; color: var(--jb-vice); font-size: .29333rem; font-weight: 400; overflow: hidden; text-overflow: ellipsis;
}
:root .jg-account__auth { gap: .18667rem; flex: none; }
:root .jg-account .jg-account__auth button {
  width: auto; height: .88rem; min-height: 32px; padding: 0 .42667rem; border-radius: 999px;
  font-size: .34667rem !important; font-weight: 600 !important; letter-spacing: .02667rem;
  transition: transform .22s cubic-bezier(.2, .9, .3, 1.25), box-shadow .2s, background-color .2s;
}
:root .jg-account .jg-account__auth [data-action="register"] {
  background: linear-gradient(180deg, #ffffff, #f5f8fe); color: var(--jb-ink-2) !important;
  box-shadow: 0 0 0 1px #0f235017, 0 .05333rem .16rem -.05333rem #0f23501f, inset 0 1px 0 #fff;
}
:root .jg-account .jg-account__auth [data-action="login"] {
  background: var(--jb-fill); color: #fff !important;
  box-shadow: 0 .08rem .21333rem -.02667rem #1459cc66, inset 0 1px 0 #ffffff47;
}
:root .jg-account .jg-account__auth button:active { transform: scale(.95); }

/* 登录后账户条：VIP 头像框（等级徽章嵌框底）+ 头像右侧余额；只保留 存款（钴蓝实心）/ 取款（玻璃描边）胶囊按钮。
 * 结构见 hall-account.js；游客卡样式在上面单独一段。 */
:root .hallPage .centerArea.jg-has-account:not(.jg-account-guest) { height: auto !important; min-height: 0; padding: .32rem .37333rem !important; }
:root .jg-account:not(.jg-account--guest) { display: flex !important; align-items: center; gap: .32rem; grid-template: none !important; }
:root .jg-account:not(.jg-account--guest) .jg-account__info { display: flex !important; flex: 1 1 auto; min-width: 0; flex-direction: column; gap: 0; }
:root .jg-account .jg-account__profile {
  position: relative; flex: none; display: flex; flex-direction: column; align-items: center; padding: 0;
  /* 各档颜色：--f1..--f4 为头像框渐变，--b1/--b2 为徽章底，--bt 为徽章字色 */
  --f1: #e9edf3; --f2: #7f8ba0; --f3: #d3dae5; --f4: #5d697e; --b1: #eef1f6; --b2: #a7b2c3; --bt: #2c3646; --glow: #0f235033;
}
:root :is(.jg-account__profile, .personPage .personal)[data-tier="bronze"] { --f1: #ffe2c4; --f2: #c07a45; --f3: #f6caa0; --f4: #8f5228; --b1: #ffe6cc; --b2: #d39462; --bt: #5a2e0f; --glow: #8f52283d; }
:root :is(.jg-account__profile, .personPage .personal)[data-tier="silver"] { --f1: #ffffff; --f2: #b8c6da; --f3: #f2f6fc; --f4: #8da2c0; --b1: #ffffff; --b2: #cfdaea; --bt: #2f4566; --glow: #4a6a9a33; }
:root :is(.jg-account__profile, .personPage .personal)[data-tier="gold"] { --f1: #fff3cf; --f2: #d6a94f; --f3: #fbe7b0; --f4: #b8862f; --b1: #fdeec4; --b2: #dcb265; --bt: #5b4113; --glow: #8a632047; }
:root :is(.jg-account__profile, .personPage .personal)[data-tier="sapphire"] { --f1: #d9ecff; --f2: #2f7cf0; --f3: #9fd0ff; --f4: #1747b8; --b1: #cfe6ff; --b2: #4a90f2; --bt: #0b2a66; --glow: #1747b84d; }
:root :is(.jg-account__profile, .personPage .personal)[data-tier="ruby"] { --f1: #ffe7c2; --f2: #e0485a; --f3: #ffd08a; --f4: #9e1730; --b1: #ffe1b3; --b2: #e86a5a; --bt: #5c0d18; --glow: #9e17304d; }
:root .jg-account__frame {
  display: block; width: 1.28rem; height: 1.28rem; padding: .08rem; box-sizing: border-box; border-radius: 50%;
  background: conic-gradient(from 210deg, var(--f1), var(--f2), var(--f3), var(--f4), var(--f1));
  box-shadow: 0 .05333rem .18667rem -.05333rem var(--glow);
}
:root .jg-account .jg-account__frame .jg-account__avatar { width: 100%; height: 100%; border-radius: 50%; border: 1.5px solid #fff; box-sizing: border-box; object-fit: cover; display: block; }
/* VIP 徽章在头像框下方，略压住框底 */
:root .jg-account .jg-account__vip {
  position: relative; z-index: 1; margin-top: -.16rem; min-width: 0; height: .32rem; padding: 0 .13333rem;
  border-radius: 999px; box-sizing: border-box; white-space: nowrap;
  font: italic 700 .2rem/.32rem "Noto Sans SC", Arial, sans-serif; letter-spacing: .02667rem;
  color: var(--bt); background: linear-gradient(180deg, var(--b1), var(--b2));
  box-shadow: 0 0 0 1.5px #fff, 0 1px 2px var(--glow);
}
:root .jg-account .jg-account__vip:before { content: none !important; }
:root .jg-account:not(.jg-account--guest) .jg-account__balance { display: flex; flex-direction: column; align-items: flex-start; gap: .05333rem; min-width: 0; font-family: inherit; }
:root .jg-account__label { display: inline-flex; align-items: center; gap: .08rem; color: var(--jb-vice); font-size: .29333rem; font-weight: 500; line-height: 1.2; white-space: nowrap; }
:root .jg-account__label .jg-account__coin { width: .34667rem; height: .34667rem; }
:root .jg-account .jg-account__label .jg-account__refresh { width: .45333rem; height: .45333rem; margin-left: .02667rem; border-radius: 50%; color: var(--jb-assist) !important; transition: transform .3s; }
:root .jg-account .jg-account__label .jg-account__refresh:active { transform: rotate(-90deg) scale(.9); }
:root .jg-account .jg-account__label .jg-account__refresh svg { width: .32rem; height: .32rem; }
:root .jg-account:not(.jg-account--guest) .jg-account__balance strong {
  display: block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  color: var(--jb-ink); font-size: .56rem; font-weight: 600; line-height: 1.2; letter-spacing: -.005em; font-variant-numeric: tabular-nums;
}
:root .jg-long-balance .jg-account:not(.jg-account--guest) .jg-account__balance strong { font-size: .48rem; }
:root .jg-account__id { display: none !important; }
:root .jg-account:not(.jg-account--guest) .jg-account__actions { display: flex; flex: none; gap: .37333rem; width: auto; align-self: center; }
/* 存款 / 取款：iOS 钱包式快捷按钮（圆形图标 + 下方小字），与头像组同高，视觉更轻 */
:root .jg-account .jg-account__action {
  flex-direction: column; align-items: center; gap: .10667rem; width: auto; height: auto; padding: 0; border-radius: 0;
  background: none !important; box-shadow: none !important;
  color: var(--jb-ink-2) !important; font-size: .29333rem !important; font-weight: 500 !important; line-height: 1 !important; letter-spacing: .01333rem;
}
:root .jg-account .jg-account__action .jg-account__icon {
  display: flex; align-items: center; justify-content: center; width: 1.06667rem; height: 1.06667rem; border-radius: 50%;
  transition: transform .22s cubic-bezier(.2, .9, .3, 1.25), box-shadow .2s;
}
:root .jg-account .jg-account__action .jg-account__icon svg { width: .48rem; height: .48rem; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
:root .jg-account .jg-account__action--deposit .jg-account__icon {
  color: #fff; background: var(--jb-fill) !important; box-shadow: 0 .08rem .21333rem -.05333rem #1459cc80, inset 0 1px 0 #ffffff4d !important;
}
:root .jg-account .jg-account__action--withdraw .jg-account__icon {
  color: var(--jb-brand); background: linear-gradient(180deg, #ffffff, #f2f6fd) !important; box-shadow: 0 0 0 1px #1560d41a, 0 .05333rem .16rem -.05333rem #1459cc40, inset 0 1px 0 #fff !important;
}
:root .jg-account .jg-account__action:active { transform: none !important; }
:root .jg-account .jg-account__action:active .jg-account__icon { transform: scale(.92); }


/* ---------- 游戏大厅（hall-grid.js openLobby）：横幅、分类页签、房间卡片 ---------- */
:root .jg-lobby-sheet { background: linear-gradient(180deg, #eef5ff 0, var(--jb-bg) 3.2rem); }
:root .jg-lobby-sheet .jg-sheet__head { background: #ffffffb8; -webkit-backdrop-filter: blur(18px) saturate(160%); backdrop-filter: blur(18px) saturate(160%); box-shadow: 0 1px 0 #0f23500d; }
:root .jg-lobby-sheet .jg-sheet__title { font-weight: 600; }
:root .jg-lobby { padding: 0 0 calc(.8rem + env(safe-area-inset-bottom)); }
:root .jg-lobby__banners {
  display: flex; gap: .21333rem; overflow-x: auto; scroll-snap-type: x mandatory; padding: .26667rem .32rem .16rem;
  scrollbar-width: none; -webkit-overflow-scrolling: touch;
}
:root .jg-lobby__banners::-webkit-scrollbar { display: none; }
:root .jg-lobby__banner {
  flex: 0 0 84%; aspect-ratio: 1500 / 632; padding: 0; border: 1px solid #ffffffd9; border-radius: .32rem; overflow: hidden; cursor: pointer;
  scroll-snap-align: center; background: #dfe8f6; box-shadow: 0 .13333rem .37333rem -.16rem #1d4f9a3d, 0 1px 2px #0f23500d;
}
:root .jg-lobby__banner img { display: block; width: 100%; height: 100%; object-fit: cover; }
:root .jg-lobby__sentry { display: block; height: 1px; margin-bottom: -1px; }
:root .jg-lobby__tabs {
  position: sticky; top: 0; z-index: 3; padding: .21333rem .32rem .2rem;
  background: #eef2f7db; -webkit-backdrop-filter: blur(16px) saturate(160%); backdrop-filter: blur(16px) saturate(160%);
  transition: box-shadow .25s;
}
:root .jg-lobby__tabs.is-stuck { box-shadow: 0 1px 0 #0f235012; }
/* 分类页签：四个等宽玻璃胶囊；钴蓝选中胶囊（.jg-lobby__ind）滑到 --i，按住可左右拖动 */
:root .jg-lobby__seg {
  --gap: .18667rem;
  position: relative; isolation: isolate; display: grid; grid-template-columns: repeat(var(--n, 4), minmax(0, 1fr)); gap: var(--gap);
  touch-action: pan-y; -webkit-user-select: none; user-select: none; -webkit-tap-highlight-color: transparent;
}
:root .jg-lobby__seg button {
  position: relative; height: .96rem; padding: 0; border: 0; border-radius: 999px; cursor: pointer;
  background: linear-gradient(180deg, #ffffff 0%, #f6f8fc 100%);
  box-shadow: 0 0 0 1px #0f235014, 0 1px 2px #0f23500f, 0 .05333rem .16rem -.08rem #0f235024, inset 0 1px 0 #fff;
  font-size: .34667rem !important; font-weight: 500 !important; letter-spacing: .02em; line-height: 1;
}
:root .jg-lobby__seg button:not(.is-on):active { background: linear-gradient(180deg, #f1f4f9 0%, #e9eef6 100%); }
:root .jg-lobby__ind {
  position: absolute; z-index: 1; top: 0; left: 0; height: 100%; width: calc((100% - (var(--n, 4) - 1) * var(--gap)) / var(--n, 4));
  border-radius: 999px; pointer-events: none; overflow: hidden;
  background: linear-gradient(180deg, #3a8bff 0%, #1f68e8 52%, #1757d2 100%);
  box-shadow: 0 0 0 1px #1556cc, inset 0 1px 0 #ffffff5c, inset 0 -1px 0 #0a3a9c40, 0 .08rem .21333rem -.08rem #1459ccad;
  transform: translateX(calc(var(--i, 1) * (100% + var(--gap))));
  transition: transform .46s cubic-bezier(.3, 1.28, .45, 1);
}
/* 顶部一层很淡的高光，像玻璃胶囊 */
:root .jg-lobby__ind::after { content: ''; position: absolute; left: 6%; right: 6%; top: 1px; height: 46%; border-radius: 999px 999px .21333rem .21333rem; background: linear-gradient(180deg, #ffffff38, #ffffff00); }
:root .jg-lobby__seg.is-dragging .jg-lobby__ind { transition: transform .1s cubic-bezier(.2, .8, .2, 1); }
:root .jg-lobby__lbl {
  position: relative; z-index: 2; display: flex; align-items: center; justify-content: center; gap: .10667rem; height: 100%;
  color: var(--jb-ink-2); transition: color .25s, transform .22s cubic-bezier(.3, 1.3, .45, 1);
}
:root .jg-lobby__seg button:active .jg-lobby__lbl { transform: scale(.94); }
:root .jg-lobby__seg.is-dragging button:active .jg-lobby__lbl { transform: none; }
:root .jg-lobby__seg svg {
  flex: none; width: .45333rem; height: .45333rem; color: var(--jb-brand); fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round;
  transition: color .25s, transform .35s cubic-bezier(.3, 1.3, .45, 1);
}
:root .jg-lobby__seg svg .d { fill: currentColor; fill-opacity: .16; }
:root .jg-lobby__seg button.is-on { font-weight: 600 !important; }
:root .jg-lobby__seg button.is-on .jg-lobby__lbl,
:root .jg-lobby__seg.is-dragging button.is-target .jg-lobby__lbl { color: #fff; }
:root .jg-lobby__seg button.is-on svg,
:root .jg-lobby__seg.is-dragging button.is-target svg { color: #fff; transform: scale(1.06); }
:root .jg-lobby__seg button.is-on svg .d,
:root .jg-lobby__seg.is-dragging button.is-target svg .d { fill-opacity: .3; }
/* 拖动时文字颜色跟随选中胶囊所在的页签 */
:root .jg-lobby__seg.is-dragging button.is-on:not(.is-target) .jg-lobby__lbl { color: var(--jb-ink-2); }
:root .jg-lobby__seg.is-dragging button.is-on:not(.is-target) svg { color: var(--jb-brand); transform: none; }
:root .jg-lobby__seg.is-dragging button.is-on:not(.is-target) svg .d { fill-opacity: .16; }
/* 切换页签：内容按方向轻轻滑入 */
@keyframes jgLobbyNext { from { opacity: 0; transform: translateX(.37333rem); } }
@keyframes jgLobbyPrev { from { opacity: 0; transform: translateX(-.37333rem); } }
:root .jg-lobby__pane { padding-top: .16rem; }
:root .jg-lobby__pane[data-dir="next"] > * { animation: jgLobbyNext .38s cubic-bezier(.2, .8, .2, 1) backwards; }
:root .jg-lobby__pane[data-dir="prev"] > * { animation: jgLobbyPrev .38s cubic-bezier(.2, .8, .2, 1) backwards; }
@media (prefers-reduced-motion: reduce) {
  :root .jg-lobby__ind, :root .jg-lobby__lbl, :root .jg-lobby__seg svg { transition: none; }
  :root .jg-lobby__pane > * { animation: none !important; }
}
/* 电子 / 真人页签嵌入原图册：去掉它自己的滚动和外边距，由大厅页统一滚动 */
:root .jg-lobby__pane > .jg-art { flex: none; overflow: visible; padding: 0 .32rem; }
:root .jg-lobby__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .24rem; padding: 0 .32rem; }
:root .jg-lobby__empty { margin: 1.2rem .64rem; text-align: center; color: var(--jb-assist); font-size: .34667rem; }
:root .jg-lobby__empty[hidden] { display: none; }
/* 房间卡片：CSS 绘制（有设计图后由 ROOM_ART 换成整图 .jg-rcard__img） */
:root .jg-rcard {
  --c1: #6cb8ff; --c2: #1f5fe0; position: relative; isolation: isolate; display: block; width: 100%; aspect-ratio: 3 / 4; padding: 0; overflow: hidden;
  border: 1px solid #ffffffb3; border-radius: .32rem; cursor: pointer; text-align: left;
  background: radial-gradient(120% 80% at 80% 10%, #ffffff59 0%, #ffffff00 55%), linear-gradient(160deg, var(--c1), var(--c2));
  box-shadow: 0 .13333rem .32rem -.13333rem var(--c2), 0 1px 2px #0f235014;
}
:root .jg-rcard--violet { --c1: #b49bff; --c2: #6a46e0; }
:root .jg-rcard--amber { --c1: #ffd27a; --c2: #f0861c; }
:root .jg-rcard--rose { --c1: #ffa8bd; --c2: #e44a72; }
:root .jg-rcard--jade { --c1: #7fe9c1; --c2: #12a07a; }
:root .jg-rcard--teal { --c1: #7fe0f0; --c2: #1792b8; }
:root .jg-rcard__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
:root .jg-rcard__art { position: absolute; inset: 0; }
:root .jg-rcard__mark {
  position: absolute; left: .21333rem; top: .16rem; color: #fff; font-size: .64rem; font-weight: 800; font-style: italic; line-height: 1;
  letter-spacing: -.02em; font-variant-numeric: tabular-nums; text-shadow: 0 .05333rem .16rem #0000002e;
}
:root .jg-rcard__ball {
  position: absolute; left: 50%; top: 52%; width: 1.49333rem; height: 1.49333rem; transform: translate(-50%, -50%); border-radius: 50%;
  display: flex; align-items: center; justify-content: center; color: #fff; font-size: .53333rem; font-weight: 800; font-style: italic;
  background: radial-gradient(circle at 34% 28%, #ffffff 0, #ffd9de 10%, #f0475a 42%, #b3142a 78%, #7d0b1b 100%);
  box-shadow: 0 .10667rem .26667rem #0000003d, inset 0 -.08rem .16rem #00000026; text-shadow: 0 1px 2px #00000040;
}
:root .jg-rcard--jade .jg-rcard__ball { background: radial-gradient(circle at 34% 28%, #ffffff 0, #fff4cf 10%, #f2c14e 42%, #c88a17 78%, #8a5a08 100%); }
:root .jg-rcard__name {
  position: absolute; left: 0; right: 0; bottom: 0; padding: .53333rem .16rem .21333rem; text-align: center;
  color: #fff; font-size: .34667rem; font-weight: 700; line-height: 1.2; letter-spacing: .02667rem;
  background: linear-gradient(180deg, #00000000, #0000003d); text-shadow: 0 1px 3px #0000004d;
}
:root .jg-rcard--soon {
  cursor: default; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .08rem;
  background: linear-gradient(118deg, #ffffff00 22%, #ffffff8c 40%, #ffffff00 58%), radial-gradient(120% 70% at 85% 0%, #d6e7ff99 0%, #d6e7ff00 70%), linear-gradient(165deg, #f4f9ff 0%, #e8f1fd 100%); border-color: #ffffffd9; box-shadow: 0 .13333rem .37333rem -.16rem #1d4f9a3d, 0 1px 2px #0f23500d, inset 0 1px 0 #fff;
  color: var(--jb-vice); text-align: center;
}
:root .jg-rcard__lock { display: grid; place-items: center; width: .96rem; height: .96rem; margin-bottom: .05333rem; border-radius: 50%; background: #fff; box-shadow: 0 0 0 1px #0f235012; }
:root .jg-rcard__lock svg { width: .48rem; height: .48rem; fill: none; stroke: var(--jb-assist); stroke-width: 1.8; stroke-linecap: round; }
:root .jg-rcard--soon b { color: var(--jb-ink-2); font-size: .32rem; font-weight: 600; }
:root .jg-rcard--soon small { color: var(--jb-assist); font-size: .26667rem; }
:root .jg-rcard:not(.jg-rcard--soon) { transition: transform .24s cubic-bezier(.2, .9, .3, 1.25), box-shadow .2s; }
:root .jg-rcard:not(.jg-rcard--soon):active { transform: scale(.96); }

/* 品牌主视觉与下方卡片列同宽（9.2rem 居中）、同圆角描边阴影，不再比卡片宽出一截；与账户卡之间留出卡片间距 */
:root .jg-hero-hall .jg-brand-hero {
  width: 9.2rem; max-width: calc(100% - .64rem); margin: 0 auto .24rem; box-sizing: border-box;
  border: 1px solid #ffffffd9; border-radius: .32rem;
  box-shadow: 0 .13333rem .37333rem -.16rem #1d4f9a3d, 0 1px 2px #0f23500d, inset 0 1px 0 #fff;
}

/* 账户卡（游客 / 登录）与大厅入口卡片同一种材质：淡蓝玻璃渐变、白色细描边、相同圆角与阴影；暗夜见 display-mode.css */
:root .hallPage .centerArea.jg-has-account {
  border: 1px solid #ffffffd9 !important; border-radius: .32rem !important; box-sizing: border-box;
  background: linear-gradient(118deg, #ffffff00 22%, #ffffff8c 40%, #ffffff00 58%), radial-gradient(120% 70% at 85% 0%, #d6e7ff99 0%, #d6e7ff00 70%), linear-gradient(165deg, #f4f9ff 0%, #e8f1fd 100%) !important;
  box-shadow: 0 .13333rem .37333rem -.16rem #1d4f9a3d, 0 1px 2px #0f23500d, inset 0 1px 0 #fff !important;
}

/* 「我的」页顶部与大厅统一：浅色主视觉渐变、深色文字、同样的 VIP 头像框（等级由 hall-account.js 标在 .personal 上）、
 * 玻璃余额卡（原 personBgX 蓝色条、钱包与刷新位图换成 CSS / 矢量）。 */
:root .personPage .personal { --f1: #e9edf3; --f2: #7f8ba0; --f3: #d3dae5; --f4: #5d697e; --b1: #eef1f6; --b2: #a7b2c3; --bt: #2c3646; --glow: #0f235033; }
:root .personPage .topArea { background: linear-gradient(180deg, #f8fbff, #eaf3ff 64%, #eef2f7) !important; }
:root .personPage .head_area .head_text { color: var(--jb-ink) !important; }
:root .personPage .personal .leftbox { position: relative; }
:root .personPage .personal .nickname, :root .personPage .personal .nickname > div { color: var(--jb-ink) !important; font-weight: 600; }
:root .personPage .personal .detail > div:not(.nickname), :root .personPage .personal .b_text { color: var(--jb-vice) !important; }
:root .personPage .personal .eyeimg img, :root .personPage .personal .right_arrow { filter: brightness(0) invert(.55); }
:root .personPage .personal .level_img { display: none !important; }
:root .personPage .personal .head_img {
  box-sizing: border-box; padding: 1.5px; border: .08rem solid transparent; border-radius: 50%;
  background: linear-gradient(#fff, #fff) padding-box, conic-gradient(from 210deg, var(--f1), var(--f2), var(--f3), var(--f4), var(--f1)) border-box !important;
  box-shadow: 0 .05333rem .18667rem -.05333rem var(--glow);
}
:root .personPage .personal .jg-person-vip {
  position: absolute; left: .8rem; bottom: 0; transform: translateX(-50%); z-index: 1; height: .32rem; padding: 0 .13333rem; border-radius: 999px;
  font: italic 700 .2rem/.32rem "Noto Sans SC", Arial, sans-serif; letter-spacing: .02667rem; white-space: nowrap;
  color: var(--bt); background: linear-gradient(180deg, var(--b1), var(--b2)); box-shadow: 0 0 0 1.5px #fff, 0 1px 2px var(--glow);
}
:root .personPage .personBox { background: none !important; }
:root .personPage .personBox .topbox {
  display: flex; align-items: center; justify-content: space-between; width: auto !important; height: auto !important; margin: .10667rem .37333rem 0; padding: .32rem .37333rem;
  border: 1px solid #ffffffd9; border-radius: .32rem; box-sizing: border-box;
  background: linear-gradient(118deg, #ffffff00 22%, #ffffff8c 40%, #ffffff00 58%), radial-gradient(120% 70% at 85% 0%, #d6e7ff99 0%, #d6e7ff00 70%), linear-gradient(165deg, #f4f9ff 0%, #e8f1fd 100%); box-shadow: 0 .13333rem .37333rem -.16rem #1d4f9a3d, 0 1px 2px #0f23500d, inset 0 1px 0 #fff;
}
:root .personPage .personBox .topbox .pictextwrap { display: flex; align-items: center; gap: .10667rem; }
:root .personPage .personBox .topbox img[src*="purse"] { content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='2 2 28 28'%3E%3Ccircle cx='16' cy='16' r='14' fill='%2326a17b'/%3E%3Cpath d='M9 9h14v4h-5v2.2c3.6.2 6.2 1 6.2 2s-2.6 1.8-6.2 2V25h-4v-5.8c-3.6-.2-6.2-1-6.2-2s2.6-1.8 6.2-2V13H9z' fill='%23fff'/%3E%3Cellipse cx='16' cy='17.2' rx='5.4' ry='1' fill='%2326a17b'/%3E%3C/svg%3E"); width: .45333rem; height: .45333rem; }
:root .personPage .personBox .l_Text { color: var(--jb-vice) !important; font-size: .32rem !important; font-weight: 500; }
:root .personPage .personBox .r_box { display: flex; align-items: center; gap: .13333rem; height: auto !important; }
:root .personPage .personBox .money_text { color: var(--jb-ink) !important; font-size: .56rem !important; font-weight: 600 !important; font-variant-numeric: tabular-nums; letter-spacing: -.005em; }
:root .personPage .personBox .my_refresh { content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M16 7a6.4 6.4 0 0 0-11-2L3 7m0-4v4h4m-3 6a6.4 6.4 0 0 0 11 2l2-2m0 4v-4h-4' fill='none' stroke='%238b97ad' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); width: .42667rem; height: .42667rem; }
:root .personPage .personBox .b_center { margin-top: .21333rem; }

/* 玩法入口：左侧 PC2.0 大卡跨两行，右侧 彩票/电子；下排 飞升/真人/体育。
 * 6 列网格：大卡与横卡各占 3 列，下排各占 2 列；卡片比例与透明图一致，图片（含文字）整张铺满。
 * 卡片底板为淡蓝毛玻璃，PC2.0 加细金边。暗夜底色在 display-mode.css。 */
:root .jg-play-grid--tiles { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: .21333rem; }
:root .jg-play-grid--tiles .jg-play {
  position: relative; isolation: isolate; grid-column: span 2; height: auto; aspect-ratio: 624 / 870;
  border: 1px solid #ffffffd9; border-radius: .32rem; box-sizing: border-box;
  background:
    linear-gradient(118deg, #ffffff00 22%, #ffffff8c 40%, #ffffff00 58%),
    radial-gradient(120% 70% at 85% 0%, #d6e7ff99 0%, #d6e7ff00 70%),
    linear-gradient(165deg, #f4f9ff 0%, #e8f1fd 100%);
  box-shadow: 0 .13333rem .37333rem -.16rem #1d4f9a3d, 0 1px 2px #0f23500d, inset 0 1px 0 #fff;
}
:root .jg-play-grid--tiles .jg-play--big { grid-column: span 3; }
:root .jg-play-grid--tiles .jg-play--pc20 { grid-row: span 2; aspect-ratio: auto; border-color: #dccb9c; box-shadow: 0 .13333rem .37333rem -.16rem #8a6a2a33, 0 1px 2px #0f23500d, inset 0 1px 0 #fff; }
:root .jg-play-grid--tiles .jg-play--world { aspect-ratio: 948 / 668; }
:root .jg-play-grid--tiles .jg-play--slots { aspect-ratio: 948 / 680; }
/* 图片绝对定位，不参与行高计算；大卡高度由右侧两张横卡决定 */
:root .jg-play-grid--tiles .jg-play__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }

/* 底栏：iOS 式悬浮毛玻璃胶囊。外层只负责定位并保持透明（外层带 backdrop-filter 会让内层玻璃取不到页面内容），
 * 玻璃在 .jn-nav 本身；选中块可按住左右拖动（bottom-nav.js），拖动时放大成透镜。暗夜色在 display-mode.css。 */
:root.jn-has-nav #app .bottom-taps,
:root .jg-wallet-nav {
  background: transparent !important; border: 0 !important; box-shadow: none !important;
  -webkit-backdrop-filter: none !important; backdrop-filter: none !important;
}
:root.jn-has-nav #app .bottom-taps { padding: 0 .29333rem calc(.18667rem + env(safe-area-inset-bottom)) !important; pointer-events: none; }
:root.jn-has-nav #app .bottom-taps > .jn-nav, :root .jg-wallet-nav > .jn-nav { pointer-events: auto; }
:root .jn-nav, :root .jg-wallet-nav .jn-nav {
  height: 1.4rem; padding: 0 .10667rem; border-radius: .74667rem; isolation: isolate; touch-action: none;
  background: linear-gradient(180deg, #ffffffc7 0%, #f7f9fda3 100%);
  -webkit-backdrop-filter: blur(22px) saturate(180%); backdrop-filter: blur(22px) saturate(180%);
  border: 1px solid #ffffffbf;
  box-shadow: 0 .26667rem .8rem -.21333rem #0f235047, 0 .02667rem .08rem #0f235014, inset 0 1px 0 #fffffff2, inset 0 -1px 0 #0f23500a;
  -webkit-user-select: none; user-select: none;
}
@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
  :root .jn-nav, :root .jg-wallet-nav .jn-nav { background: #fffffff7; }
}
:root .jn-nav__sel, :root .jg-wallet-nav .jn-nav__sel {
  top: .10667rem; bottom: .10667rem; margin-left: 0; border-radius: .58667rem;
  background: linear-gradient(180deg, #1560d41f, #1560d414); border: 1px solid #1560d424;
  box-shadow: inset 0 1px 0 #ffffffb3; -webkit-backdrop-filter: none; backdrop-filter: none;
  transition: transform .5s cubic-bezier(.3, 1.3, .5, 1), width .3s, opacity .2s, scale .25s, background-color .2s;
}
:root .jn-nav.is-dragging .jn-nav__sel {
  scale: 1.1; background: #ffffff8c; border-color: #ffffffe6;
  box-shadow: 0 .16rem .48rem #0f235038, inset 0 1px 0 #fff, inset 0 0 0 1px #1560d41f;
  transition: opacity .2s, scale .25s, background-color .2s;
}
:root #app .jn-nav .jn-nav__item { color: #5f6b84 !important; }
:root #app .jn-nav .jn-nav__item.is-active, :root #app .jn-nav .jn-nav__item.is-target { color: var(--jb-brand) !important; }
:root #app .jn-nav.is-dragging .jn-nav__item.is-active:not(.is-target) { color: #5f6b84 !important; }
:root .jn-nav__icon { width: .6rem; height: .6rem; }
:root .jn-nav__icon svg { stroke-width: 1.75; }
:root .jn-nav__item.is-active .jn-nav__icon { transform: none; }
:root .jn-nav__item.is-active .jn-nav__icon svg { fill: #1560d424; }
:root .jn-nav__label { font-size: .26667rem; font-weight: 500; letter-spacing: .01333rem; }
:root .jn-nav__item.is-active .jn-nav__label { font-weight: 600; }
:root .jn-nav__center {
  width: 1.12rem; height: 1.12rem; border-radius: 50%; gap: 0;
  background: radial-gradient(120% 90% at 30% 8%, #6cb4ff 0%, transparent 55%), linear-gradient(180deg, #2b7ff2 0%, #1459cc 100%);
  box-shadow: 0 .10667rem .29333rem -.05333rem #1459cc8c, inset 0 1px 0 #ffffff8c, inset 0 -1px 0 #0000001f;
}
:root .jn-nav__center .jn-nav__icon { width: .48rem; height: .48rem; }
:root .jn-nav__center .jn-nav__label { font-size: .24rem; font-weight: 600; }
/* 上面统一给底栏项设了灰色，客服按钮在蓝底上要保持白色 */
:root #app .jn-nav .jn-nav__item--service, :root #app .jn-nav .jn-nav__item--service.is-active { color: #fff !important; }
:root .jn-nav__item--service.is-active .jn-nav__center { box-shadow: 0 0 0 .06667rem #1560d42e, 0 .10667rem .29333rem -.05333rem #1459cc8c, inset 0 1px 0 #ffffff8c; }
@media (prefers-reduced-motion: reduce) { :root .jn-nav__sel { transition: opacity .2s; } }

/* ---------- 投注页 ---------- */
/* 顶栏与开奖卡片同色：深海军蓝，去掉亮青色 */
:root.jg-bet-room .zhuotou-source-chrome .header { background: var(--jb-navy) !important; box-shadow: none !important; }
/* 深蓝从顶栏延伸到开奖卡片中部，卡片“浮”在上面 */
:root.jg-bet-room #app .lotteryaaa--zhuotou:not(#\#):not(#\#):not(#\#) { background: linear-gradient(180deg, #0b1a42 0, #0b1a42 3.2rem, var(--jb-bg) 3.2rem) !important; }
:root .jg-draw {
  margin-top: 0; border-radius: .37333rem;
  background: radial-gradient(120% 80% at 90% -20%, #2a5bd04d, transparent 60%), linear-gradient(180deg, #13285e 0%, #0e1f4c 100%);
  box-shadow: 0 0 0 1px #ffffff14 inset, 0 .21333rem .53333rem -.16rem #0b1a4280;
}
:root .jg-draw::before { opacity: .25; }
:root .jg-draw__head h2 { font-weight: 700; letter-spacing: .04rem; }
:root .jg-draw__cd strong { font-weight: 700; }
:root .jg-draw__ring circle.fg { stroke: #5aa8ff; }
:root .jg-ball--sum { box-shadow: 0 0 0 .05333rem #e3c27e, 0 0 .21333rem #e3c27e59, 0 .08rem .21333rem #00000059; }

/* 页签 */
:root.jg-bet-room .jg-bet-tabs { border: 0; box-shadow: var(--jb-shadow-sm); padding: .06667rem; }
:root #app .jg-bet-tabs button { color: var(--jb-vice) !important; font-weight: 500 !important; }
:root #app .jg-bet-tabs button.is-active { background: var(--jb-ink); color: #fff !important; font-weight: 600 !important; box-shadow: 0 .05333rem .13333rem #0b1a3833; }

/* 投注面板 */
:root.jg-bet-room .pc28-standard-sheet--credit .pc28-credit-center { border: 0 !important; box-shadow: var(--jb-shadow) !important; }
:root.jg-bet-room .pc28-credit-center .credit-groups { background: var(--jb-soft) !important; border-right: 1px solid var(--jb-line) !important; }
:root #app .pc28-credit-center .credit-groups button { color: var(--jb-vice) !important; font-weight: 500 !important; position: relative; }
:root #app .pc28-credit-center .credit-groups button.active {
  background: #fff !important; color: var(--jb-brand) !important; font-weight: 600 !important;
  box-shadow: var(--jb-shadow-sm) !important;
}
:root #app .pc28-credit-center .credit-groups button.active::before {
  content: '' !important; display: block !important; position: absolute; left: 0; top: 28%; bottom: 28%; width: .08rem;
  border-radius: 0 .04rem .04rem 0; background: var(--jb-brand);
}
:root.jg-bet-room .pc28-credit-center .credit-play-section h3 { font-weight: 600 !important; color: var(--jb-ink) !important; }
:root.jg-bet-room .pc28-credit-center .credit-play-section h3::before { background: var(--jb-brand); }
:root #app .pc28-credit-center .credit-option {
  border: 1px solid var(--jb-line) !important; border-radius: .18667rem !important; box-shadow: none !important;
  background: var(--jb-card) !important; /* 用纯色：DarkReader 能转暗纯色，白色渐变会在暗夜下保持发白 */
}
:root #app .pc28-credit-center .credit-option .credit-option-name { font-weight: 600 !important; color: var(--jb-ink) !important; }
:root #app .pc28-credit-center .credit-option .credit-option-odds { color: var(--jb-brand) !important; font-weight: 500 !important; font-variant-numeric: tabular-nums; letter-spacing: .01333rem; }
:root #app .pc28-credit-center .credit-option.active,
:root #app .pc28-credit-center .credit-option[data-jg-amt] {
  border-color: var(--jb-brand) !important; background: #eef4ff !important; box-shadow: 0 0 0 1px var(--jb-brand) inset !important;
}
:root #app .pc28-credit-center .credit-game-top button { border-color: var(--jb-line) !important; color: var(--jb-vice) !important; }

/* 底部下注栏 */
:root.jg-bet-room .pc28-standard-sheet--credit .botconentent { border-top: 0 !important; box-shadow: 0 -1px 0 #0f23500f, 0 -.16rem .42667rem #0f23500d !important; }
:root #app .botconentent .moneyselectItem, :root #app .botconentent .quick-entry, :root #app .botconentent .bottom1-del {
  background: #fff !important; border-color: var(--jb-line) !important; color: var(--jb-ink-2) !important; font-weight: 500 !important;
}
:root #app .botconentent .moneyselectItem.active { background: var(--jb-ink) !important; color: #fff !important; font-weight: 600 !important; }
:root #app .botconentent .setmoney { border-color: var(--jb-line) !important; box-shadow: inset 0 0 0 1px var(--jb-brand); font-weight: 600 !important; font-variant-numeric: tabular-nums; }
:root #app .botconentent .ljtouzhubtn { background: var(--jb-fill) !important; font-weight: 600 !important; box-shadow: 0 .08rem .21333rem #1459cc4d, inset 0 1px 0 #ffffff40 !important; }
:root #app .botconentent .ljtouzhubtn.is-disabled { background: #dfe5ee !important; color: #8b97ad !important; box-shadow: none !important; }

/* 暗夜下的卡片文字、VIP、快捷图标颜色写在 display-mode.css 的 jg-night-materials 层（DarkReader 不改写该文件） */

/* ---------- 投注页低清位图换矢量 ----------
 * 原 back/menu/rules 为 20×35、34×28、26×26 的 PNG，在 3 倍屏被放大发虚；
 * img 的 content:url() 在 Blink/WebKit 下直接替换为 SVG，其他浏览器仍显示原图。 */
:root.jg-bet-room .zhuotou-source-chrome .header .back img {
  content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 19'%3E%3Cpath d='M8.6 1.6 1.6 9.5l7 7.9' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
:root.jg-bet-room .zhuotou-source-chrome .header .right-set .set img {
  content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 15'%3E%3Cpath d='M1.5 1.75h15M1.5 7.5h15M1.5 13.25h15' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
}
:root.jg-bet-room .pc28-credit-center .credit-game-top button img[src*="rules-"] {
  content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='7.25' fill='%238b97ad'/%3E%3Cpath d='M5.9 6.1a2.15 2.15 0 1 1 3.05 1.95c-.6.28-.95.7-.95 1.35v.35' fill='none' stroke='%23fff' stroke-width='1.5' stroke-linecap='round'/%3E%3Ccircle cx='8' cy='11.85' r='.95' fill='%23fff'/%3E%3C/svg%3E");
}
/* 筹码栏原用 494×60 的 longbutton.png 拉伸铺底，改为纯 CSS */
:root #app .botconentent .bottom1-select { background: var(--jb-soft) !important; border-radius: .21333rem !important; }

/* ======================= 全站细节 ======================= */
/* 二级页顶栏：标题加粗、底部细分隔线 */
:root #app .head_area .head_text,
:root .v3-secondary__header :is(h1, h2, .v3-secondary__title),
:root .agent-support-page .header .title {
  font-weight: 600 !important; color: var(--jb-ink) !important; font-size: .45333rem !important; letter-spacing: .01333rem;
}
:root #app .head_area:not(.hallPage > .head_area), :root .v3-secondary__header { box-shadow: 0 1px 0 #0f23500f; }

/* 返回箭头、列表右箭头：原为 16×25、10×16 等小 PNG，换成矢量（暗夜色见 display-mode.css） */
:root img.top_back, :root img.v3-secondary__back-img {
  content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 25'%3E%3Cpath d='M12 3 3.5 12.5 12 22' fill='none' stroke='%230b1a38' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
:root img[src*="arrow-right"], :root img[src*="right-arrow"] {
  content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 16'%3E%3Cpath d='M2.5 2.5 8 8l-5.5 5.5' fill='none' stroke='%23b3bccb' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* 设置、安全、帮助、个人资料、设备信息：iOS 式分组圆角卡片 */
:root .Setting, :root .v3-secondary, :root .HelpCenter, :root .macinfo, :root .AccountDetails, :root .NgBetRecord,
:root #app div:has(> section.toppart > .part_item) { background-color: var(--jb-bg) !important; }
:root .set-list, :root .v3-secondary__group, :root .helpList, :root section.toppart:has(> .part_item) {
  margin: .26667rem .32rem 0 !important; border-radius: .32rem !important; overflow: hidden; background: #fff !important;
  box-shadow: var(--jb-shadow-sm); border: 0 !important;
}
:root .helpList .item.borderNone { margin-top: 0 !important; border-top: .21333rem solid var(--jb-bg); }
:root .macinfo > .lines { margin: 0 .32rem; background: #fff; }
:root .macinfo > .head_area + .lines { margin-top: .26667rem; border-radius: .32rem .32rem 0 0; }
:root .macinfo > .lines:last-child { border-radius: 0 0 .32rem .32rem; box-shadow: 0 .08rem .16rem -.08rem #0f235014; }

/* 空状态插画：原图 471px，缩到约 160px 宽，3 倍屏仍清晰 */
:root img[src*="/empty."], :root img[src*="/empty-"]:not([src*="empty-support"]) { width: 4.26667rem !important; height: auto !important; }

/* 路单图「大小 / 单双」切换：原亮青色渐变，与投注页其他选中态一致改深墨蓝 */
:root #app .btndivbox.btndivboxac { background: var(--jb-ink) !important; box-shadow: 0 .05333rem .13333rem #0b1a3833 !important; color: #fff !important; }

/* 旧紫色主题遗留的位图：色相转成站内钴蓝 */
:root img[src*="/invite."], :root img[src*="empty-support"], :root img.right_menu_refesh, :root .NgBetRecord .platform img { filter: hue-rotate(-55deg); }
:root .LifeVip .cardArea, :root .agent-support-page .quotaImg { position: relative; isolation: isolate; }
:root .LifeVip .cardArea::before, :root .agent-support-page .quotaImg::before {
  content: ''; position: absolute; inset: 0; z-index: -1; background: inherit; border-radius: inherit; filter: hue-rotate(-55deg);
}

/* ---------- 交互：按下反馈与过渡（减少动态效果时关闭） ---------- */
:root * { -webkit-tap-highlight-color: transparent; }
/* 列表行：按下整行轻微变暗 */
:root :is(.set-list_item, .v3-secondary__group > button, .helpList .top, .part_item_wrap, .ceterMenu_item, .menu_item, .item_left, .van-cell, .jg-sheet__group > *) {
  transition: background-color .18s ease;
}
:root :is(.set-list_item, .v3-secondary__group > button, .helpList .top, .part_item_wrap, .ceterMenu_item, .item_left, .van-cell):active { background-color: #0f23500d !important; }
/* 卡片、筹码、选项、主按钮：按下轻微缩小，松开带一点回弹 */
:root :is(.jg-play, .jg-art-card, .jg-hot__cover, .moneyselectItem, .credit-option, .ljtouzhubtn, .jg-account__action, .van-button, .menu_item, .center_item, .jg-draw__calc, .jg-draw__hist) {
  transition: transform .24s cubic-bezier(.2, .9, .3, 1.25), background-color .2s, color .2s, border-color .2s, box-shadow .2s, opacity .2s !important;
}
:root :is(.jg-play, .jg-art-card, .jg-hot__cover, .moneyselectItem, .credit-option, .ljtouzhubtn, .jg-account__action, .van-button, .menu_item, .center_item, .jg-draw__calc, .jg-draw__hist):active {
  transform: scale(.96) !important; transition-duration: .1s !important;
}
/* 页签、玩法分组：选中态切换带过渡 */
:root #app :is(.jg-bet-tabs button, .pc28-credit-center .credit-groups button, .van-tab, .navbars *) { transition: background-color .22s, color .22s, box-shadow .22s; }
/* 其余按钮：按下降低不透明度 */
:root button:not(.jn-nav__item), :root [role="button"] { transition: opacity .15s; }
:root button:not(.jn-nav__item):not(:disabled):active, :root [role="button"]:active { opacity: .78; }
/* 页面切换：新页面淡入（polish.js 打标记；只改不透明度，不影响页面内的 fixed 元素） */
@keyframes jg-page-in { from { opacity: 0; } to { opacity: 1; } }
:root .jg-page-in { animation: jg-page-in .26s cubic-bezier(.2, .8, .2, 1) both; }
@media (prefers-reduced-motion: reduce) {
  :root .jg-page-in { animation: none; }
  :root :is(.jg-play, .jg-art-card, .jg-hot__cover, .moneyselectItem, .credit-option, .ljtouzhubtn, .jg-account__action, .van-button, .menu_item, .center_item):active { transform: none !important; }
}
