/* KGAME 克隆站 - 1:1 eon5.org 桌面端（真实设计值重建） */
:root{
  --bg:#171a1a; --bg2:#1e2222; --bg3:#232626; --bg4:#292d2e;
  --card:#323738; --card2:#3a4142; --cell:#3a4242; --line:#2b3133;
  --txt:#fff; --txt2:#b3bec1; --txt3:#9f9aa2;
  --brand1:#4681e8; --brand2:#55caf1; --cyan:#52baef;
  --brand-grad:linear-gradient(90deg,#4681e8 0%,#55caf1 100%);
  --menu-hover:linear-gradient(0deg, rgba(255,255,255,0.05), rgba(255,255,255,0.05)),linear-gradient(90deg, rgba(72,142,234,0.2) 0%, rgba(72,142,234,0) 100%);
  --win:#24ee89; --loss:#fc3c3c; --gold:#f5c451;
  --radius:8px; --radius-lg:16px;
  --side-w:240px;
  --font:"Inter","Noto Sans TC","Microsoft YaHei UI","PingFang SC","Microsoft YaHei",sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
body{background:var(--bg);color:var(--txt);font-family:var(--font);font-size:14px;min-height:100vh;overflow-x:hidden}
a{color:inherit;text-decoration:none;cursor:pointer}
img{display:block;max-width:100%}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
input{font-family:inherit;outline:none}
.loading{color:var(--txt3);text-align:center;padding:30px 0;font-size:13px}
.hidden{display:none!important}
::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-thumb{background:var(--card);border-radius:3px}

/* #132 桌面端最小宽度对齐目标站（#166 仅桌面：手机 UA 不再强制 1200px，避免手机版横向溢出） */
@media screen and (max-width:1400px){html.is-desktop body{min-width:1200px}}

/* ================= #166 手机版全局分支（UA 检测 html.is-mobile） ================= */
/* 电脑打开=电脑版不变；手机打开=webapp 1:1 手机版 */
html.is-mobile body{min-width:0!important;max-width:100vw;overflow-x:hidden}
html.is-mobile .sidebar{display:none}          /* 手机版无左侧栏：导航走底部 tab + 首页场馆入口 */
html.is-mobile .main{margin-left:0!important;width:100%!important;max-width:100%!important}
html.is-mobile .top-burger{display:none}       /* 无汉堡菜单 */
html.is-mobile *{max-width:100vw}              /* 兜底：任何元素不得撑出视口 */
html.is-mobile img,html.is-mobile video{max-width:100%}

/* ---- #166 手机版顶栏（目标站 webapp 1:1）：登录后 = logo + 余额胶囊；登录前 = 右上「登录」 ---- */
.m-top-logo{display:none}
html.is-mobile .topbar{position:sticky;top:0;z-index:80;background:var(--bg2);padding:10px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px}
html.is-mobile .topbar .m-top-logo{display:block;cursor:pointer}
html.is-mobile .topbar .m-top-logo img{height:30px;width:auto;display:block}
html.is-mobile .top-actions{display:flex;align-items:center;gap:0;margin-left:auto;padding:0}
html.is-mobile .topbar .top-icon,
html.is-mobile .topbar .top-recharge,
html.is-mobile .topbar .top-withdraw,
html.is-mobile .topbar .language-currency{display:none!important}
html.is-mobile .topbar .login-register{display:flex;align-items:center;gap:10px}
html.is-mobile .topbar .login{font-size:15px;font-weight:700;color:var(--cyan);cursor:pointer}
html.is-mobile .topbar .user-chip{flex-direction:row;align-items:center;gap:8px;background:linear-gradient(90deg,var(--brand1,#4681e8),var(--brand2,#55caf1));border-radius:20px;padding:7px 16px;box-shadow:0 2px 10px rgba(70,129,232,.4)}
html.is-mobile .topbar .user-chip .uc-name{font-size:12px;color:rgba(255,255,255,.85)}
html.is-mobile .topbar .user-chip .uc-bal{font-size:14px;font-weight:800;color:#fff}

/* ---- #166 手机版首页：板块顺序对齐目标站 webapp（仅 actived 时 flex，避免覆盖 .view 显示切换） ---- */
/* #172 大厅轮播图 + APP 下载条登录后也显示（用户指令：手机版大厅需要有轮播图） */
html.is-mobile #viewHome.actived{display:flex;flex-direction:column}
html.is-mobile #viewHome > .app-dl-bar{order:0}
html.is-mobile #viewHome > .banner-swiper{order:1}
html.is-mobile #viewHome > .win-section{order:2}          /* 近期大胜 */
html.is-mobile #viewHome > .venue-grid{order:3}           /* 场馆卡 */
html.is-mobile #viewHome > .hot-game-section{order:4}     /* 热门游戏 */
html.is-mobile #viewHome > .home-lottery-section{order:5} /* 彩票投注 */
html.is-mobile #viewHome > #homeVenueSections{order:6}    /* 场馆海报版块 */
html.is-mobile #viewHome > #homeBetBoard{order:7}         /* 最新投注/大客榜 */
html.is-mobile #viewHome > .home-upcoming-section{order:8}/* 彩票即将开奖 */
html.is-mobile .home-upcoming-section .upcoming-row{display:flex;gap:12px;overflow-x:auto;padding-bottom:6px}
html.is-mobile .home-upcoming-section .section-more{font-size:13px;color:var(--cyan)}

/* ---- #166 手机版登录/注册：弹窗改整页（目标站 webapp 登录页 1:1） ---- */
html.is-mobile .modal.auth-page{position:fixed;inset:0;z-index:999}
html.is-mobile .modal.auth-page .modal-mask{background:#0d1117}
html.is-mobile .modal.auth-page .modal-card{position:absolute;inset:0;width:100%;max-width:100%;border-radius:0;background:#0d1117;overflow-y:auto;padding:0 26px;box-sizing:border-box}
html.is-mobile .modal.auth-page .modal-x{position:absolute;top:14px;left:14px;font-size:22px;color:#8a94a6;width:auto;height:auto}
html.is-mobile .modal.auth-page .modal-title{display:none}
html.is-mobile .modal.auth-page .auth-logo{display:flex;justify-content:center;padding:70px 0 46px}
html.is-mobile .modal.auth-page .auth-logo img{height:52px;width:auto}
html.is-mobile .modal.auth-page .form{padding:0}
html.is-mobile .modal.auth-page .form h3.auth-h1{font-size:22px;font-weight:800;color:#fff;margin:0 0 18px}
html.is-mobile .modal.auth-page .form label{display:none}
html.is-mobile .modal.auth-page .form input{background:#171c23;border:1px solid #2a313c;border-radius:8px;height:48px;color:#fff;font-size:15px;padding:0 14px;margin:0 0 14px;width:100%;box-sizing:border-box}
html.is-mobile .modal.auth-page .form input:focus{border-color:var(--cyan);outline:none}
html.is-mobile .modal.auth-page .form .btn-login-big{height:48px;border-radius:8px;font-size:16px;font-weight:800;margin-top:8px}
html.is-mobile .modal.auth-page .form-tip{color:#8a94a6;font-size:12px;margin:6px 0}
html.is-mobile .modal.auth-page .auth-links{display:flex;justify-content:space-between;margin-top:14px;font-size:13px;color:#8a94a6}
html.is-mobile .modal.auth-page .auth-links a{color:#8a94a6;cursor:pointer}
html.is-mobile .modal.auth-page .auth-league{display:flex;justify-content:space-around;gap:8px;margin-top:60px;padding-bottom:30px}
html.is-mobile .modal.auth-page .auth-league .al-item{text-align:center;font-size:11px;color:#8a94a6;display:flex;flex-direction:column;align-items:center;gap:5px}
html.is-mobile .modal.auth-page .auth-league .al-item b{width:44px;height:44px;border-radius:50%;background:#fff;color:#222;display:flex;align-items:center;justify-content:center;font-size:12px}

/* ================= 左侧边栏（真实 menu-item 值） ================= */
.sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--side-w);background:var(--bg2);display:flex;flex-direction:column;z-index:100;padding:14px 14px 14px}
.side-head{display:flex;align-items:center;gap:10px;padding:2px 4px 14px}
.side-head .burger svg{display:block}
.side-logo img{width:118px;height:auto}
.side-nav{flex:1;overflow-y:auto;overflow-x:hidden}
.side-nav::-webkit-scrollbar{width:0}
.menu-item{position:relative;height:40px;display:flex;align-items:center;border-radius:8px;background:var(--card);padding:16px 12px 16px 0;color:#fff;font-size:14px;font-weight:400;box-sizing:border-box;margin-top:6px;cursor:pointer;transition:all .2s;flex:none}
.menu-item span{display:block;min-width:60px}
.menu-item .icon-wrap{width:40px;min-width:40px;height:40px;display:flex;align-items:center;justify-content:center;margin-right:12px}
.menu-item.actived,.menu-item:hover{background:var(--menu-hover);color:var(--cyan)}
.menu-item.actived svg path[fill="#B3BEC1"],.menu-item.actived svg path[fill="#B4BEC1"],
.menu-item:hover svg path[fill="#B3BEC1"],.menu-item:hover svg path[fill="#B4BEC1"]{fill:var(--cyan)}
.side-bottom{padding-top:12px}
.app-card{background:var(--card);border-radius:12px;padding:14px;position:relative;overflow:hidden}
.app-t{font-size:15px;font-weight:700;margin-bottom:4px}
.app-d{font-size:11px;color:var(--txt2);margin-bottom:8px}
.app-card img{width:100%;border-radius:8px}
.sidebar-mask{display:none}

/* ================= 顶栏（1:1） ================= */
.main{margin-left:var(--side-w);min-height:100vh;display:flex;flex-direction:column}
.topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:flex-end;height:60px;padding:0 20px;background:rgba(30,34,34,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.top-burger{display:none;margin-right:auto}
.top-actions{display:flex;align-items:center;gap:12px}
.top-icon{width:34px;height:34px;border-radius:50%;background:var(--card);display:flex;align-items:center;justify-content:center;transition:all .15s}
.top-icon:hover{background:var(--card2)}
.top-text-btn{height:30px;line-height:30px;padding:0 14px;border-radius:8px;font-size:13px;font-weight:700;cursor:pointer;transition:all .15s;border:none}
.top-recharge{background:var(--brand-grad);color:#0e1111;box-shadow:0 -2px 0 0 #2e77d7 inset}
.top-recharge:hover{filter:brightness(1.08)}
.top-withdraw{background:var(--card);color:var(--fg);border:1px solid var(--line, #2a3438)}
.top-withdraw:hover{background:var(--card2)}
.login-register{display:flex;align-items:center}
.login{background:var(--brand-grad);color:#0e1111;font-weight:700;font-size:14px;height:34px;line-height:34px;padding:0 26px;border-radius:8px;cursor:pointer;box-shadow:0 -2px 0 0 #2e77d7 inset}
.login:hover{filter:brightness(1.08)}
.user-chip{display:flex;flex-direction:column;align-items:flex-end;cursor:pointer;line-height:1.25}
.uc-name{font-size:13px;font-weight:700}
.uc-bal{font-size:12px;color:var(--cyan);font-weight:700}
.language-currency{display:flex;align-items:center;gap:8px;background:var(--card);border-radius:8px;height:34px;padding:0 12px}
.language{display:flex;align-items:center}
.divide{width:1px;height:16px;background:var(--txt3);opacity:.4}
.currency{font-size:13px;color:var(--txt2);font-weight:600}

/* ================= banner（#136 对齐目标站：1168×254 圆角12 + 左侧渐变遮罩） ================= */
.view{display:none;flex:1;padding:16px 16px}
.view.actived{display:block}
.banner-swiper{position:relative;border-radius:12px;overflow:hidden;height:254px;background:#1c2024}
.swiper-track{display:flex;height:100%;transition:transform .55s ease}
.banner-item{flex:none;width:100%;height:100%;position:relative;background-size:cover;background-position:center}
/* 目标站实测：左侧蓝灰渐变压住背景图左 36% */
.banner-item::before{content:"";position:absolute;inset:0;background:linear-gradient(to right,rgb(31,72,93),rgba(0,0,0,0) 36%);pointer-events:none}
.banner-item.b1{background-image:url("../img/banner.0ab7.png");background-color:#141a22}
.banner-item.b2{background-image:url("../img/banner.53a9.png");background-color:#12181d}
.banner-item.b3{background-image:url("../img/banner.223d.png");background-color:#171522}
.banner-card{position:absolute;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;left:15%;top:9%}
.banner-card>p{font-weight:800;color:#fff;font-size:30px;line-height:36px;text-shadow:0 2px 12px rgba(0,0,0,.3)}
.banner-card .box{box-sizing:border-box;padding:12px 48px;border-radius:12px;font-size:18px;margin-top:16px;text-align:center;line-height:28px;color:#fff;background:rgba(18,19,20,.4);backdrop-filter:blur(3px);font-weight:700}
.banner-card .box>span,.banner-card .box .money{color:rgba(0,0,0,0);margin-left:4px;background-image:linear-gradient(to right,#52baef,#52baef);background-clip:text;-webkit-background-clip:text;font-size:24px;line-height:32px}
.btn-login-big{background:var(--brand-grad);color:#0e1111;font-weight:700;font-size:15px;height:40px;padding:0 34px;border-radius:8px;box-shadow:0 -2px 0 0 #2e77d7 inset;margin-top:18px;cursor:pointer;transition:filter .15s}
.btn-login-big:hover{filter:brightness(1.08)}
.btn-login-big.w100{width:100%;margin-top:10px}
.dot-wrap{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);display:flex;gap:8px}
.dot-wrap .dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.35);cursor:pointer;transition:all .2s}
.dot-wrap .dot.actived{background:#fff;width:20px;border-radius:4px}

/* ================= 场馆卡（真实布局） ================= */
.venue-grid{display:grid;grid-template-columns:2fr 2fr 1fr 1fr;grid-template-rows:170px 170px;gap:14px;margin-top:16px}
.venue-card{border-radius:12px;padding:18px;position:relative;cursor:pointer;overflow:hidden;transition:transform .2s}
.venue-card:hover{transform:translateY(-3px)}
.venue-card .vc-title{position:relative;z-index:1;font-size:19px;font-weight:800;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.4)}
.venue-card .vc-desc{position:absolute;left:18px;right:40%;bottom:16px;z-index:1;font-size:12px;line-height:18px;color:rgba(255,255,255,.8);text-shadow:0 1px 4px rgba(0,0,0,.4)}
.v-lottery{grid-row:span 2;background-image:linear-gradient(90deg,rgba(9,14,16,.92) 0%,rgba(9,14,16,.45) 45%,rgba(9,14,16,0) 70%),url("../img/lottery-banner.75cc.png"),linear-gradient(160deg,#123f4a 0%,#0f2e38 60%,#0d232c 100%);background-position:0 0,right bottom,0 0;background-size:cover,auto 78%,cover;background-repeat:no-repeat}
.v-sport{grid-row:span 2;background-image:linear-gradient(90deg,rgba(16,11,24,.92) 0%,rgba(16,11,24,.4) 45%,rgba(16,11,24,0) 70%),url("../img/sport-banner.4288.png"),linear-gradient(160deg,#3d2a5e 0%,#2b2340 60%,#201a30 100%);background-position:0 0,right bottom,0 0;background-size:cover,auto 78%,cover;background-repeat:no-repeat}
.v-live{background:linear-gradient(135deg,#1f4d2e 0%,#16351f 100%)}
.v-esport{background:linear-gradient(135deg,#4d3a1f 0%,#352716 100%)}
.v-slot{background:linear-gradient(135deg,#14424d 0%,#0f2f38 100%)}
.v-chess{background:linear-gradient(135deg,#3a1f4d 0%,#291635 100%)}
.venue-card::after{content:"";position:absolute;right:-24px;bottom:-24px;width:120px;height:120px;border-radius:50%;background:rgba(255,255,255,.05);z-index:0}

/* ================= section 头/近期大胜 ================= */
.section-block{margin-top:22px}
.win-head{display:flex;align-items:center;gap:8px;margin-bottom:12px}
.win-dot{width:8px;height:8px;border-radius:50%;background:var(--cyan)}
.win-title{font-size:17px;font-weight:800}
.win-tab-wrap{display:flex;gap:8px;margin-left:12px}
.win-tab{padding:4px 16px;font-size:13px;color:var(--txt2);border-radius:16px;background:var(--bg4);cursor:pointer}
.win-tab.on{background:var(--cyan);color:#000;font-weight:700}
.section-more{margin-left:auto;font-size:13px;color:var(--txt3)}
.section-more:hover{color:var(--cyan)}
.win-table-wrap{background:var(--bg3);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.table{width:100%;border-collapse:collapse;font-size:13px}
.table th{padding:11px 14px;text-align:left;color:var(--txt3);font-weight:600;background:rgba(0,0,0,.18);white-space:nowrap}
.table td{padding:10px 14px;border-top:1px solid var(--line);color:var(--txt2);white-space:nowrap}
.table td.win{color:var(--win)}
.table td.loss{color:var(--loss)}
.table.small th,.table.small td{padding:8px 10px;font-size:12px}

/* 首页彩票卡 */
.lottery-scroll{display:flex;gap:14px;overflow-x:auto;padding-bottom:6px}
.lottery-scroll::-webkit-scrollbar{height:4px}
.lot-card{flex:none;width:250px;background:var(--bg3);border:1px solid var(--line);border-radius:12px;padding:16px;cursor:pointer;transition:all .18s}
.lot-card:hover{background:var(--bg4);border-color:var(--brand1);transform:translateY(-2px)}
.lot-card .lc-top{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.lottery-icon{width:44px;height:44px;border-radius:10px;background:var(--brand-grad);display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:800;color:#0e1111;flex:none}
.lot-card .lc-name{font-size:15px;font-weight:700}
.lot-card .lc-cd{font-size:12px;color:var(--txt2)}
.lot-card .lc-cd b{color:var(--cyan);font-family:Consolas,monospace}
.lot-card .lc-nums{display:flex;gap:4px;flex-wrap:wrap;min-height:26px}

/* 开奖球 */
.ball{width:26px;height:26px;border-radius:50%;background:var(--brand-grad);color:#0e1111;font-weight:800;font-size:13px;display:inline-flex;align-items:center;justify-content:center;margin:2px}
.ball.p{background:linear-gradient(180deg,#e5bffc,#af8be6 49.25%,#8869e5);color:#2a1a3e}
.ball.sm{width:20px;height:20px;font-size:11px}

/* 合作商 */
.brands{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.brand{background:var(--bg3);border:1px solid var(--line);border-radius:12px;padding:16px 10px;display:flex;align-items:center;justify-content:center;transition:all .18s}
.brand:hover{border-color:var(--brand1);transform:translateY(-2px)}
.brand img{max-height:38px;width:auto;opacity:.85}
.brand:hover img{opacity:1}

/* ================= 彩票入口（真实 lottery-box 值） ================= */
.lottery-entrance{display:flex;flex-wrap:wrap;gap:20px;padding:8px 4px}
/* 彩票大厅 官方/信用 分栏 */
.lottery-tabs{display:flex;gap:0;margin-bottom:18px;border:1px solid var(--line);border-radius:24px;overflow:hidden;width:max-content;max-width:100%}
.lottery-tabs .lt-tab{font-size:14px;padding:9px 26px;border:none;background:var(--bg2);color:var(--txt2);cursor:pointer;transition:.15s;border-right:1px solid var(--line)}
.lottery-tabs .lt-tab:last-child{border-right:none}
.lottery-tabs .lt-tab.actived{background:linear-gradient(90deg,var(--brand),var(--brand2));color:#fff;font-weight:600}
.lottery-box .item .credit-tag{position:absolute;top:2px;right:4px;font-style:normal;font-size:9px;line-height:1;padding:1px 4px;border-radius:4px;background:var(--gold);color:#000;font-weight:700}
.lottery-box{display:flex;flex-direction:column}
.lottery-box .title-l{height:40px;background-repeat:no-repeat;background-size:contain;margin-bottom:0}
.lottery-box .title-l.lSSC{width:79px}
.lottery-box .title-l.lFFC{width:92px}
.lottery-box .title-l.lXNBC{width:104px}
.lottery-box .title-l.l11X5{width:113px}
.lottery-box .title-l.lPK10{width:121px}
.lottery-box .title-l.lK3{width:64px}
.lottery-box .title-l.lOTHER{width:64px}
.lottery-box .cate{width:170px;margin-top:0}
.lottery-box .lotto-ls{width:170px;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;border-radius:10px;padding:6px 0;border:1px solid rgba(0,0,0,0);background:linear-gradient(#23282a,#23282a) padding-box,linear-gradient(180deg,#40A5F2 0%,rgba(51,232,226,0) 100%) border-box;border:1px solid transparent}
.lottery-box .lotto-ls .item{width:158px;height:39px;line-height:39px;text-align:center;font-size:14px;cursor:pointer;transition:all .25s;border-radius:6px;color:rgba(255,255,255,.72);display:flex;align-items:center;justify-content:center}
.lottery-box .lotto-ls .item i{display:inline-block;width:12px;height:12px;background-size:contain;margin-left:4px;background-repeat:no-repeat}
.lottery-box .lotto-ls .item i.hot{background-image:url("../svg/hot.0538.svg")}
.lottery-box .lotto-ls .item i.new{background-image:url("../svg/new.9b2a.svg")}
.lottery-box .lotto-ls .item:hover{background:var(--brand-grad);color:#fff}

/* ================= 投注页（真实 bet 值） ================= */
.bet-page{max-width:1240px;margin:0 auto}
.bet-head{display:flex;align-items:center;gap:14px;background:var(--bg3);border:1px solid var(--line);border-radius:12px;padding:14px 18px;flex-wrap:wrap}
.go-back{color:var(--txt2);font-size:13px;padding:6px 12px;border-radius:6px;background:var(--bg4)}
.go-back:hover{color:var(--cyan)}
.bh-icon{width:48px;height:48px;border-radius:12px;background:var(--brand-grad);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:800;color:#0e1111}
.bh-info{flex:1;min-width:180px}
.bh-name{font-size:19px;font-weight:800}
.bh-last{font-size:12px;color:var(--txt3);margin-top:3px}
.bh-right{text-align:right}
.bh-period{font-size:13px;color:var(--txt3)}
.bh-period b{color:var(--cyan)}
.bh-countdown{font-size:26px;font-weight:800;color:var(--cyan);font-family:Consolas,monospace;letter-spacing:1px;line-height:1.2}
.bh-countdown i{font-style:normal}
.bh-countdown.closed i{color:var(--loss)}
.bh-state{font-size:12px;color:var(--win)}
.bh-state.closed{color:var(--loss)}
.bh-balls{display:flex;gap:8px;flex-wrap:wrap;padding:14px 6px 2px}
.bet-body{display:grid;grid-template-columns:1fr 380px;gap:16px;margin-top:14px;align-items:start}
.bet-left{background:var(--bg3);border:1px solid var(--line);border-radius:12px;padding:16px}
.method-tabs{display:flex;gap:8px;flex-wrap:nowrap;overflow-x:auto;margin-bottom:14px;padding-bottom:4px;scrollbar-width:thin}
.method-tabs::-webkit-scrollbar{height:4px}
.method-tabs::-webkit-scrollbar-thumb{background:var(--bg4);border-radius:2px}
.method-tab{padding:8px 18px;border-radius:18px;background:var(--bg4);color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;flex:0 0 auto;white-space:nowrap}
.method-tab.actived{background:var(--cyan);color:#000}
.method-area-datacell-container{width:100%;flex-direction:row;flex-wrap:wrap;display:flex;justify-content:flex-start;gap:10px}
.mdc-cell{margin-bottom:0;height:44px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;background:var(--cell);border-radius:8px;cursor:pointer;padding:0 14px;min-width:calc(33.33% - 7px);flex:1 1 calc(33.33% - 7px);max-width:calc(33.33% - 7px);transition:background .12s}
.mdc-cell.w2{min-width:calc(50% - 5px);flex-basis:calc(50% - 5px);max-width:calc(50% - 5px)}
.mdc-cell.w1{min-width:100%;flex-basis:100%;max-width:100%}
.mdc-cell:hover{background:#434b4b}
.mdc-cell>span:first-child{color:rgba(255,255,255,.65);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.mdc-cell>span:nth-child(2){color:#fff;font-weight:700;font-size:13px;font-family:"D_DIN_PRO_Medium",Consolas,monospace;flex:0 0 auto;margin-left:8px;max-width:60px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mdc-cell.actived{background:var(--cyan)}
.mdc-cell.actived>span{color:#000 !important}
.mdc-cell.locked-cell{opacity:.45;cursor:not-allowed}
/* 兼容旧 .method-tabs 别名：同时支持 .bet-tabs */
.bet-tabs,.method-tabs{display:flex;gap:8px;flex-wrap:nowrap;overflow-x:auto;margin-bottom:14px;padding-bottom:6px;scrollbar-width:thin}
.bet-tabs::-webkit-scrollbar,.method-tabs::-webkit-scrollbar{height:4px}
.bet-tabs::-webkit-scrollbar-thumb,.method-tabs::-webkit-scrollbar-thumb{background:var(--bg4);border-radius:2px}
.method-tab,.bet-tab{padding:8px 18px;border-radius:18px;background:var(--bg4);color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;flex:0 0 auto;white-space:nowrap}
.method-tab.actived,.bet-tab.actived{background:var(--cyan);color:#000}

/* 聊天大厅浮动窗 (#96) */
.chat-floater{position:fixed;right:20px;bottom:150px;z-index:90;display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.chat-float-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:52px;height:52px;border-radius:50%;background:var(--brand-grad);color:#0e1111;border:none;box-shadow:0 4px 14px rgba(0,0,0,.35);cursor:pointer;font-size:11px;font-weight:700}
.chat-float-btn svg{stroke:#0e1111}
.chat-float-btn span{line-height:1}
.chat-panel{position:absolute;right:0;bottom:64px;width:340px;max-width:calc(100vw - 40px);background:var(--bg2);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 36px rgba(0,0,0,.45);display:none;flex-direction:column;overflow:hidden}
.chat-panel.open{display:flex}
.chat-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:var(--bg3);border-bottom:1px solid var(--line);font-weight:700}
.chat-close{width:28px;height:28px;border-radius:50%;background:var(--bg4);color:var(--txt2);border:none;cursor:pointer;font-size:18px;line-height:1}
.chat-rooms{display:flex;gap:6px;padding:8px 12px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}
.chat-rooms::-webkit-scrollbar{display:none}
.chat-room-tab{padding:5px 12px;border-radius:14px;background:var(--bg4);color:var(--txt2);font-size:12px;cursor:pointer;white-space:nowrap;transition:all .15s}
.chat-room-tab.on{background:var(--brand1);color:#fff}
.chat-body{height:320px;overflow-y:auto;padding:10px 12px;display:flex;flex-direction:column;gap:8px;scrollbar-width:thin}
.chat-body::-webkit-scrollbar{width:4px}
.chat-body::-webkit-scrollbar-thumb{background:var(--bg4);border-radius:2px}
.chat-msg{display:flex;flex-direction:column;gap:2px;max-width:86%}
.chat-msg.self{align-self:flex-end;align-items:flex-end}
.chat-msg .chat-meta{font-size:10px;color:var(--txt3)}
.chat-msg .chat-bubble{padding:8px 11px;border-radius:12px;background:var(--bg4);color:#fff;font-size:13px;line-height:1.45;word-break:break-word}
.chat-msg.self .chat-bubble{background:var(--brand1);color:#0e1111}
.chat-msg.system{align-self:center;align-items:center;max-width:100%}
.chat-msg.system .chat-bubble{background:rgba(255,255,255,.08);color:var(--txt3);font-size:11px;padding:4px 10px;border-radius:10px}
.chat-foot{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--line);background:var(--bg3)}
.chat-foot input{flex:1;background:var(--bg4);border:1px solid var(--line);border-radius:8px;padding:8px 10px;color:#fff;font-size:13px}
.chat-foot input::placeholder{color:var(--txt3)}
.chat-foot button{padding:8px 16px;border-radius:8px;background:var(--brand-grad);color:#0e1111;border:none;font-weight:700;cursor:pointer}
@media (max-width:420px){
  .chat-floater{right:12px;bottom:140px}
  .chat-panel{width:calc(100vw - 24px)}
  .chat-body{height:260px}
}
.bet-trend{background:var(--bg3);border:1px solid var(--line);border-radius:12px;margin-top:14px;overflow:hidden}
.trend-head{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--bg4)}
.trend-title{font-size:14px;font-weight:700;color:var(--cyan)}
.trend-toggle{font-size:12px;color:var(--txt3);cursor:pointer;padding:4px 8px;border-radius:6px}
.trend-toggle:hover{color:var(--cyan);background:var(--bg3)}
.trend-body{padding:12px 16px;max-height:170px;overflow-x:auto;overflow-y:hidden;display:flex;flex-direction:column;gap:6px;scrollbar-width:thin}
.trend-body::-webkit-scrollbar{height:4px}
.trend-body::-webkit-scrollbar-thumb{background:var(--bg4);border-radius:2px}
.trend-row{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--txt2);padding:4px 0;border-bottom:1px dashed rgba(255,255,255,.04)}
.trend-row:last-child{border-bottom:0}
.trend-period{width:54px;color:var(--txt3);font-family:Consolas,monospace;font-size:11px}
.trend-balls{display:flex;gap:4px;flex:1;min-width:0;overflow:hidden}
.trend-ball{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;background:var(--bg4);flex:none;font-family:Consolas,monospace}
.trend-ball.b{border:2px solid var(--cyan)}
.trend-ball.r{background:#5b2c2c}
.trend-tag{padding:2px 8px;border-radius:4px;font-size:11px;background:var(--bg4);color:var(--txt2);font-weight:700}
.trend-tag.big{color:#fc3c3c}
.trend-tag.small{color:#24ee89}
.bet-trend.collapsed .trend-body{display:none}
.bet-trend.collapsed .trend-toggle::after{content:" ▾"}

/* ============ 工具栏：模式 + 倍数 ============ */
.bet-tools{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding:10px 14px;background:var(--bg3);border:1px solid var(--line);border-radius:12px;flex-wrap:wrap}
.bt-mode,.bt-multiple{display:flex;align-items:center;gap:6px}
.bt-label{font-size:12px;color:var(--txt3);margin-right:4px;font-weight:600}
.bt-pill{padding:5px 14px;border-radius:16px;background:var(--bg4);color:var(--txt2);font-size:12px;font-weight:700;cursor:pointer;transition:all .12s;border:1px solid transparent}
.bt-pill:hover{color:#fff}
.bt-pill.active{background:var(--cyan);color:#000;border-color:var(--cyan)}
.bt-pill[data-mode="credit"].active{background:linear-gradient(135deg,#fc3c3c,#ff8a3c);border-color:#fc3c3c}
.bt-pill[data-mult].active{background:var(--win);color:#000;border-color:var(--win)}

/* ============ 主玩法区容器 ============ */
.odds-wrap{min-height:180px;display:flex;flex-direction:column;gap:10px}
.play-section{display:flex;flex-direction:column;gap:10px}
.play-title{font-size:13px;color:var(--txt3);font-weight:700;padding:4px 0;border-bottom:1px solid var(--line)}
.play-title i{color:var(--cyan);font-style:normal;margin-right:6px}

/* 双面盘：4 按钮（大/小/单/双） */
.play-double{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.play-double .pd-cell{height:62px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--cell);border-radius:10px;cursor:pointer;transition:all .12s;border:2px solid transparent;font-weight:700}
.play-double .pd-cell:hover{background:#434b4b}
.play-double .pd-cell .pd-name{font-size:16px;color:#fff}
.play-double .pd-cell .pd-odds{font-size:11px;color:var(--txt3);margin-top:3px;font-family:Consolas,monospace}
.play-double .pd-cell.actived{background:var(--cyan);border-color:var(--cyan)}
.play-double .pd-cell.actived .pd-name,.play-double .pd-cell.actived .pd-odds{color:#000}
.play-double .pd-cell.odd{color:var(--win)}
.play-double .pd-cell.even{color:var(--loss)}

/* 数字键盘：0-9 网格 + 大/小/单/双 副行 */
.play-ball{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.play-ball .pb-cell{height:60px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--cell);border-radius:8px;cursor:pointer;transition:all .12s;border:2px solid transparent;font-weight:700}
.play-ball .pb-cell:hover{background:#434b4b}
.play-ball .pb-cell .pb-num{font-size:22px;color:#fff;font-family:Consolas,monospace}
.play-ball .pb-cell .pb-odds{font-size:10px;color:var(--txt3);margin-top:2px;font-family:Consolas,monospace}
.play-ball .pb-cell.actived{background:var(--cyan);border-color:var(--cyan)}
.play-ball .pb-cell.actived .pb-num,.play-ball .pb-cell.actived .pb-odds{color:#000}
/* 数字颜色（红蓝） */
.play-ball .pb-cell[data-n="0"],.play-ball .pb-cell[data-n="1"],.play-ball .pb-cell[data-n="2"],.play-ball .pb-cell[data-n="3"],.play-ball .pb-cell[data-n="4"]{background:linear-gradient(180deg,#3b2030,#2a1b25)}
.play-ball .pb-cell[data-n="5"],.play-ball .pb-cell[data-n="6"],.play-ball .pb-cell[data-n="7"],.play-ball .pb-cell[data-n="8"],.play-ball .pb-cell[data-n="9"]{background:linear-gradient(180deg,#1f2a3b,#19222e)}
.play-ball .pb-cell[data-n="0"] .pb-num,.play-ball .pb-cell[data-n="3"] .pb-num,.play-ball .pb-cell[data-n="6"] .pb-num,.play-ball .pb-cell[data-n="9"] .pb-num{color:#ff8a3c}

/* 直选：手输框 + 提示 */
.play-direct{display:flex;flex-direction:column;gap:10px;padding:14px;background:var(--bg4);border-radius:10px}
.play-direct .pd-row{display:flex;align-items:center;gap:10px}
.play-direct .pd-pos{width:60px;text-align:center;color:var(--cyan);font-weight:700;font-size:14px}
.play-direct .pd-input{flex:1;height:42px;background:var(--bg);border:1px solid var(--card);border-radius:8px;color:var(--txt);font-size:18px;font-weight:700;text-align:center;font-family:Consolas,monospace;letter-spacing:2px;padding:0 8px}
.play-direct .pd-input:focus{outline:none;border-color:var(--cyan);background:#1a232b}
.play-direct .pd-odds{width:80px;text-align:center;color:var(--txt3);font-size:12px;font-family:Consolas,monospace}
.play-direct .pd-actived{color:var(--win);font-weight:700}
.play-direct .pd-actions{display:flex;gap:8px;flex-wrap:wrap;padding-top:6px;border-top:1px dashed rgba(255,255,255,.1)}
.play-direct .pd-actions span{padding:6px 14px;border-radius:6px;background:var(--bg);color:var(--txt2);font-size:12px;cursor:pointer;border:1px solid var(--card)}
.play-direct .pd-actions span:hover{color:var(--cyan);border-color:var(--cyan)}

/* 组选：按钮组 */
.play-group{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.play-group .pg-cell{height:60px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--cell);border-radius:8px;cursor:pointer;transition:all .12s;border:2px solid transparent;font-weight:700}
.play-group .pg-cell:hover{background:#434b4b}
.play-group .pg-cell .pg-name{font-size:15px;color:#fff}
.play-group .pg-cell .pg-odds{font-size:11px;color:var(--txt3);margin-top:3px;font-family:Consolas,monospace}
.play-group .pg-cell.actived{background:var(--cyan);border-color:var(--cyan)}
.play-group .pg-cell.actived .pg-name,.play-group .pg-cell.actived .pg-odds{color:#000}

/* 和值：网格 0-27 / 3-18（根据 sum range） */
.play-sum{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.play-sum .ps-cell{height:46px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--cell);border-radius:6px;cursor:pointer;transition:all .12s;border:1px solid transparent}
.play-sum .ps-cell:hover{background:#434b4b}
.play-sum .ps-cell .ps-num{font-size:14px;color:#fff;font-weight:700;font-family:Consolas,monospace}
.play-sum .ps-cell .ps-odds{font-size:9px;color:var(--txt3);margin-top:2px;font-family:Consolas,monospace}
.play-sum .ps-cell.actived{background:var(--cyan);border-color:var(--cyan)}
.play-sum .ps-cell.actived .ps-num,.play-sum .ps-cell.actived .ps-odds{color:#000}
.play-sum .ps-cell.hot .ps-num{color:#ff8a3c}
.play-sum .ps-cell.cold .ps-num{color:#5fb5ff}

/* 跨度：0-9 */
.play-span{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.play-span .pspcell{height:60px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--cell);border-radius:8px;cursor:pointer;transition:all .12s;border:2px solid transparent;font-weight:700}
.play-span .pspcell:hover{background:#434b4b}
.play-span .pspcell .pspnum{font-size:20px;color:#fff;font-family:Consolas,monospace}
.play-span .pspcell .pspodds{font-size:10px;color:var(--txt3);margin-top:3px;font-family:Consolas,monospace}
.play-span .pspcell.actived{background:var(--cyan);border-color:var(--cyan)}
.play-span .pspcell.actived .pspnum,.play-span .pspcell.actived .pspodds{color:#000}

/* 特码：1-N 大网格（48-49 个） */
.play-special{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.play-special .pspecc{height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--cell);border-radius:6px;cursor:pointer;transition:all .12s;border:1px solid transparent}
.play-special .pspecc:hover{background:#434b4b}
.play-special .pspecc .pspecn{font-size:13px;color:#fff;font-weight:700;font-family:Consolas,monospace}
.play-special .pspecc .pspeco{font-size:9px;color:var(--txt3);margin-top:1px;font-family:Consolas,monospace}
.play-special .pspecc.actived{background:var(--cyan);border-color:var(--cyan)}
.play-special .pspecc.actived .pspecn,.play-special .pspecc.actived .pspeco{color:#000}

/* 投注汇总：金额 + 已选 */
.bet-summary{display:flex;flex-direction:column;gap:8px;margin-top:14px;padding:14px;background:var(--bg4);border-radius:10px}
.bet-summary .bs-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.bet-summary .bs-row:last-child{justify-content:space-between}
.bet-summary .bs-label{font-size:13px;color:var(--txt2);min-width:70px}
.bet-summary input[type=number]{width:100px;background:var(--bg);border:1px solid var(--card);border-radius:8px;color:var(--txt);padding:9px 12px;font-size:15px;font-weight:700}
.bet-summary .bs-chips{display:flex;gap:6px;flex-wrap:wrap}
.bet-summary .bs-chips span{background:var(--bg3);border:1px solid var(--card);border-radius:6px;color:var(--txt2);font-size:12px;padding:6px 12px;cursor:pointer;font-weight:700}
.bet-summary .bs-chips span:hover{color:var(--cyan);border-color:var(--cyan)}
.bet-summary .bs-info{font-size:13px;color:var(--txt2);margin-left:auto}
.bet-summary .bs-info b{color:var(--cyan);font-weight:700}
.bet-summary .btn-bet-go{background:var(--brand-grad);color:#0e1111;font-weight:800;font-size:15px;height:42px;padding:0 30px;border-radius:8px;box-shadow:0 -2px 0 0 #2e77d7 inset}
.bet-summary .btn-bet-go:hover{filter:brightness(1.08)}

/* ============ 兼容：旧的 .fast-bet / .filter-ball 仍可用 ============ */
.filter-ball{margin:14px 0;display:flex;gap:10px;flex-wrap:wrap}
.filter-ball span{padding:6px 20px;color:#fff;border-radius:18px;background:var(--bg4);cursor:pointer;font-weight:600;font-size:13px;transition:all .12s}
.filter-ball span.active{background:var(--cyan);color:#000}
.fast-bet{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--bg4);border-radius:10px;padding:12px 14px;margin-top:4px}
.fb-label{font-size:13px;color:var(--txt2)}
.fast-bet input{width:100px;background:var(--bg);border:1px solid var(--card);border-radius:8px;color:var(--txt);padding:9px 12px;font-size:15px;font-weight:700}
.fb-chips{display:flex;gap:6px}
.fb-chips span{background:var(--bg3);border:1px solid var(--card);border-radius:6px;color:var(--txt2);font-size:12px;padding:6px 12px;cursor:pointer}
.fb-chips span:hover{color:var(--cyan);border-color:var(--cyan)}
.fb-info{font-size:13px;color:var(--txt2);margin-left:auto}
.fb-info b{color:var(--cyan)}
.btn-bet-go{background:var(--brand-grad);color:#0e1111;font-weight:800;font-size:15px;height:42px;padding:0 30px;border-radius:8px;box-shadow:0 -2px 0 0 #2e77d7 inset}
.btn-bet-go:hover{filter:brightness(1.08)}
.bet-right{background:var(--bg3);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.br-head{display:flex;border-bottom:1px solid var(--line);background:var(--bg4)}
.br-head span{flex:1;text-align:center;padding:12px 0;font-size:14px;font-weight:700;color:var(--txt2);cursor:pointer}
.br-head span.on{color:var(--cyan);border-bottom:2px solid var(--cyan);background:rgba(82,186,239,.06)}
.br-body{max-height:520px;overflow-y:auto}

/* ================= 场馆页（真实 game-item 值） ================= */
.games-entrance .ge-title{font-size:17px;font-weight:800;margin-bottom:16px;display:flex;align-items:center;gap:8px}
.games-entrance .ge-title::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--cyan)}
.game-items{display:flex;flex-wrap:wrap;gap:20px}
.game-item{width:180px;height:240px;position:relative;overflow:hidden;transition:transform .3s;border-radius:12px;background:var(--bg3);border:1px solid var(--line);cursor:pointer;flex:none}
.game-item:hover{transform:scale(1.06)}
.game-item .item-wrap{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;position:relative}
.game-item .title{width:138px;min-height:44px;display:flex;align-items:center;justify-content:center;margin-top:14px;z-index:1}
.game-item .title img{max-width:100%;max-height:44px}
.game-item .title span{font-size:14px;font-weight:700;color:#fff}
.game-item .ltd-bx{position:absolute;bottom:-6px;left:0;right:0;display:flex;justify-content:center}
.game-item .ltd-bx img{max-height:150px;max-width:88%;border-radius:10px}
.game-item .game-bg{position:absolute;display:flex;justify-content:center;align-items:center;left:0;top:0;width:100%;height:100%;background-color:rgba(0,0,0,.6);opacity:0;transition:opacity .2s}
.game-item:hover .game-bg{opacity:1}
.game-item .game-bg .container{width:40px;height:40px;background-color:rgba(255,255,255,.2);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .3s;transform:scale(0)}
.game-item:hover .game-bg .container{transform:scale(1)}
.game-item .game-bg .container svg{width:18px;height:18px}
.game-item .hot-tag{position:absolute;top:8px;right:8px;background:var(--loss);color:#fff;font-size:10px;padding:1px 7px;border-radius:10px;font-weight:700;z-index:1}

/* ================= 会员中心 ================= */
.member-card{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--bg3);border:1px solid var(--line);border-radius:12px;padding:20px;flex-wrap:wrap;position:relative;overflow:hidden}
.member-card::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(70,129,232,.12),rgba(85,202,241,.04));pointer-events:none}
.mc-left{display:flex;align-items:center;gap:14px}
.su-avatar{width:38px;height:38px;border-radius:50%;background:var(--brand-grad);color:#0e1111;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;flex:none}
.su-avatar.big{width:56px;height:56px;font-size:22px}
.mc-name{font-size:18px;font-weight:800}
.mc-sub{font-size:12px;color:var(--txt3);margin-top:4px}
.mc-right{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.mc-balance{display:flex;flex-direction:column;gap:2px}
.mc-balance span{font-size:12px;color:var(--txt3)}
.mc-balance b{font-size:22px;color:var(--cyan)}
.btn-ghost{border:1px solid var(--brand2);color:var(--brand2);background:transparent;height:36px;padding:0 18px;border-radius:8px;font-weight:600}
.btn-ghost:hover{background:rgba(85,202,241,.1)}

/* 优惠 */
.promos{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.promo{border-radius:12px;padding:26px 22px;min-height:160px;display:flex;flex-direction:column;justify-content:center;gap:8px}
.promo.p1{background:linear-gradient(120deg,#2a6fc9,#55caf1)}
.promo.p2{background:linear-gradient(120deg,#7a4bd6,#c48bf0)}
.promo.p3{background:linear-gradient(120deg,#1a8f7e,#4fe0b0)}
.promo-t{font-size:19px;font-weight:800;color:#fff}
.promo-d{font-size:13px;color:rgba(255,255,255,.85)}
.promo .btn-login-big{background:#fff;color:#1a3a6b;box-shadow:0 -2px 0 0 #d5e2f0 inset;align-self:flex-start}

/* 页脚 */
.footer{border-top:1px solid var(--line);padding:26px 20px;text-align:center;margin-top:30px}
.foot-browsers{font-size:13px;color:var(--txt2);margin-bottom:12px}
.foot-browsers a{color:var(--cyan);margin:0 6px}
.foot-license{font-size:12px;color:var(--txt3);max-width:760px;margin:0 auto 10px;line-height:20px}
.foot-copy{font-size:12px;color:var(--txt3)}

/* ================= 弹窗（真实风格） ================= */
.modal{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center}
.modal.open{display:flex}
.modal-mask{position:absolute;inset:0;background:rgba(0,0,0,.65)}
.modal-card{position:relative;background:var(--bg3);border:1px solid var(--line);border-radius:14px;width:380px;max-width:92vw;padding:26px 26px 22px;animation:pop .2s ease}
@keyframes pop{from{transform:scale(.94);opacity:0}to{transform:scale(1);opacity:1}}
.modal-x{position:absolute;top:10px;right:14px;font-size:22px;color:var(--txt3)}
.modal-x:hover{color:var(--txt)}
.modal-title{font-size:18px;font-weight:800;text-align:center;margin-bottom:18px}
.form label{display:block;font-size:12px;color:var(--txt3);margin:10px 0 5px}
.form input{width:100%;background:var(--bg);border:1px solid var(--card);border-radius:8px;color:var(--txt);padding:11px 12px;font-size:14px}
.form input:focus{border-color:var(--brand1)}
.form-tip{font-size:12px;color:var(--txt3);margin:10px 0 4px;min-height:16px}
.form-tip.err{color:var(--loss)}
.form-foot{text-align:center;font-size:13px;color:var(--txt3);margin-top:14px}
.form-foot a{color:var(--cyan)}

/* 投注确认 */
.bet-confirm .bc-info{display:flex;justify-content:space-between;font-size:14px;color:var(--txt2);margin-bottom:12px}
.bet-confirm .bc-info b{color:var(--cyan)}
.bc-list{max-height:260px;overflow-y:auto;border:1px solid var(--line);border-radius:8px}
.bc-row{display:flex;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--line);font-size:13px}
.bc-row:last-child{border-bottom:none}
.bc-row .bc-name{color:var(--txt)}
.bc-row .bc-odds{color:var(--gold);margin:0 10px}
.bc-row .bc-amt{color:var(--cyan);font-weight:700}
.bc-total{display:flex;justify-content:space-between;align-items:center;padding:14px 4px;font-size:14px;color:var(--txt2)}
.bc-total b{font-size:20px;color:var(--cyan)}

/* 投注成功动画 */
.success-card{position:relative;background:transparent;display:flex;flex-direction:column;align-items:center;animation:pop .25s ease}
.success-circle{width:96px;height:96px}
.success-circle svg{width:100%;height:100%}
.sc-ring{stroke:var(--cyan);stroke-width:2.5;stroke-dasharray:151;stroke-dashoffset:151;animation:ring .5s ease-out forwards}
.sc-check{stroke:var(--win);stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:36;stroke-dashoffset:36;animation:check .35s .45s ease-out forwards}
@keyframes ring{to{stroke-dashoffset:0}}
@keyframes check{to{stroke-dashoffset:0}}
.success-text{font-size:20px;font-weight:800;color:#fff;margin-top:14px}
.success-sub{font-size:13px;color:var(--txt2);margin-top:6px}

/* toast */
.toast{position:fixed;top:70px;left:50%;transform:translateX(-50%) translateY(-16px);background:var(--bg4);border:1px solid var(--brand1);color:var(--txt);padding:11px 22px;border-radius:8px;font-size:14px;z-index:300;opacity:0;pointer-events:none;transition:all .25s;box-shadow:0 8px 24px rgba(0,0,0,.4)}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.toast.ok{border-color:var(--win)}
.toast.err{border-color:var(--loss)}

/* 启动游戏弹框 */
.launch-card{width:420px;max-width:94vw;padding:24px 22px 18px}
.launch-head{display:flex;align-items:center;gap:14px;padding-bottom:18px;border-bottom:1px solid var(--line);margin-bottom:14px}
.launch-icon{width:64px;height:64px;border-radius:12px;background:var(--bg);display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid var(--line);flex-shrink:0}
.launch-icon img{width:100%;height:100%;object-fit:cover}
.launch-name{font-size:18px;font-weight:800;color:var(--txt)}
.launch-vendor{font-size:12px;color:var(--txt3);margin-top:4px;text-transform:uppercase}
.launch-mode-tip{font-size:13px;color:var(--txt2);text-align:center;margin-bottom:8px}
.launch-balance{font-size:13px;color:var(--txt2);text-align:center;margin-bottom:14px}
.launch-balance b{color:var(--gold);font-size:16px;font-weight:800;margin-left:4px}
.launch-amount-row{display:none;margin-bottom:14px;padding:12px;background:var(--bg);border:1px solid var(--line);border-radius:8px}
.launch-amount-row label{display:block;font-size:12px;color:var(--txt3);margin-bottom:6px}
.launch-amt-input{display:flex;flex-direction:column;gap:8px}
.launch-amt-input input{width:100%;background:var(--bg3);border:1px solid var(--card);border-radius:8px;color:var(--txt);padding:10px;font-size:14px}
.launch-amt-input input:focus{border-color:var(--brand1)}
.launch-amt-quick{display:flex;gap:6px;flex-wrap:wrap}
.amt-q{padding:5px 10px;background:var(--bg3);border:1px solid var(--line);border-radius:6px;font-size:12px;color:var(--txt2);cursor:pointer}
.amt-q:hover,.amt-q.actived{border-color:var(--brand1);color:var(--brand1)}
/* #21 额度转换：双钱包 + 方向切换 */
.launch-wallets{
  display:flex;align-items:center;gap:10px;
  margin:12px 0 10px;
  padding:10px 12px;
  background:var(--bg2);border:1px solid var(--line);border-radius:10px;
}
.lw-item{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}
.lw-label{font-size:11px;color:var(--txt3)}
.lw-val{font-size:15px;font-weight:800;color:var(--brand,#52baef);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lw-arrow{
  flex-shrink:0;width:26px;height:26px;border-radius:50%;
  background:rgba(82,186,239,.15);color:var(--brand,#52baef);
  display:flex;align-items:center;justify-content:center;
  font-size:14px;font-weight:800;
}
.launch-dir-tabs{display:flex;gap:8px;margin-bottom:10px}
.ld-tab{
  flex:1;text-align:center;padding:8px 6px;
  font-size:12px;font-weight:700;color:var(--txt2);
  background:var(--bg2);border:1px solid var(--line);border-radius:8px;
  cursor:pointer;transition:all .18s;
}
.ld-tab.actived{
  background:linear-gradient(135deg,rgba(82,186,239,.18),rgba(82,186,239,.06));
  border-color:rgba(82,186,239,.55);color:var(--brand,#52baef);
}
.lm-do-transfer{
  width:100%;margin-top:10px;padding:9px;
  font-size:13px;font-weight:700;color:#fff;
  background:var(--brand-grad);border:none;border-radius:8px;
  cursor:pointer;transition:opacity .18s;
}
.lm-do-transfer:hover{opacity:.9}
.lm-do-transfer:disabled{opacity:.55;cursor:not-allowed}
.amt-q.amt-all{background:rgba(245,196,81,.16);border-color:rgba(245,196,81,.45);color:#f5c451}
.launch-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
.launch-btn{display:flex;align-items:center;gap:10px;padding:14px;background:var(--bg);border:1px solid var(--line);border-radius:10px;cursor:pointer;text-align:left;transition:all .2s;width:100%}
.launch-btn:hover{transform:translateY(-2px)}
.launch-btn .lb-ic{font-size:24px}
.launch-btn .lb-tx{display:flex;flex-direction:column;gap:2px}
.launch-btn .lb-tx b{font-size:14px;color:var(--txt);font-weight:700}
.launch-btn .lb-tx small{font-size:11px;color:var(--txt3)}
.launch-btn-free:hover{border-color:#52c878;background:rgba(82,200,120,.06)}
.launch-btn-free:hover .lb-tx b{color:#52c878}
.launch-btn-transfer:hover{border-color:var(--gold);background:rgba(241,179,73,.06)}
.launch-btn-transfer:hover .lb-tx b{color:var(--gold)}
/* #134 主按钮：跟随 toggle 状态 */
.launch-btn-primary{border:1px solid rgba(82,186,239,.55);background:linear-gradient(135deg,rgba(82,186,239,.18),rgba(82,186,239,.06))}
.launch-btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(82,186,239,.25)}
.launch-btn-primary .lb-tx b{color:var(--brand,#52baef)}
.launch-btn-primary .lb-ic{filter:drop-shadow(0 2px 4px rgba(82,186,239,.4))}
/* #134 直接进游戏：金色高亮，永远免转 */
.launch-btn-direct{border:1px solid rgba(245,196,81,.55);background:linear-gradient(135deg,rgba(245,196,81,.18),rgba(245,196,81,.05))}
.launch-btn-direct:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(245,196,81,.25)}
.launch-btn-direct .lb-tx b{color:#f5c451}
.launch-btn-direct .lb-ic{filter:drop-shadow(0 2px 4px rgba(245,196,81,.4))}
.launch-foot{font-size:11px;color:var(--txt3);text-align:center;padding-top:10px;border-top:1px solid var(--line)}

/* #134 启动方式 toggle：免转 ↔ 转账 双段开关 */
.launch-mode-toggle{
  position:relative;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  margin:10px 0 12px;
  padding:4px;
  background:var(--bg2);
  border:1px solid var(--line);
  border-radius:999px;
  overflow:hidden;
}
.lmt-opt{
  position:relative;z-index:2;
  display:flex;align-items:center;justify-content:center;gap:8px;
  padding:9px 6px;
  font-size:12.5px;font-weight:700;color:var(--txt2);
  cursor:pointer;
  transition:color .22s ease;
  text-align:left;
}
.lmt-opt .lmt-ic{font-size:15px}
.lmt-opt .lmt-tx{display:flex;flex-direction:column;line-height:1.15;align-items:flex-start}
.lmt-opt .lmt-tx b{font-size:13px;font-weight:800}
.lmt-opt .lmt-tx small{font-size:10px;color:var(--txt3);margin-top:1px}
.lmt-opt.actived{color:var(--brand,#52baef)}
.lmt-opt.actived .lmt-tx b{color:var(--brand,#52baef)}
.lmt-opt.actived .lmt-tx small{color:rgba(82,186,239,.7)}
/* 滑动指示器：默认在第二段（转账） */
.lmt-knob{
  position:absolute;top:4px;bottom:4px;
  left:50%;width:calc(50% - 4px);
  background:linear-gradient(135deg,rgba(82,186,239,.22),rgba(82,186,239,.06));
  border:1px solid rgba(82,186,239,.5);
  border-radius:999px;
  box-shadow:0 2px 8px rgba(82,186,239,.2);
  transition:transform .25s cubic-bezier(.4,1.4,.6,1);
  z-index:1;
}
.launch-mode-toggle[data-mode="free"] .lmt-knob{transform:translateX(calc(-100% + 0px))}
.launch-mode-toggle[data-mode="transfer"] .lmt-knob{transform:translateX(0)}

/* 类目页 loading */
.cat-page-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--txt3);font-size:14px}
.cat-page-loading .spinner{width:32px;height:32px;border:3px solid var(--line);border-top-color:var(--brand1);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:14px}
@keyframes spin{to{transform:rotate(360deg)}}

/* ================= 响应式 ================= */
@media (max-width:1100px){
  .venue-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .v-lottery,.v-sport{grid-row:auto;min-height:150px}
  .bet-body{grid-template-columns:1fr}
  .brands{grid-template-columns:repeat(4,1fr)}
}
@media (max-width:860px){
  .sidebar{transform:translateX(-105%);transition:transform .25s}
  .sidebar.open{transform:translateX(0)}
  .sidebar-mask{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:99}
  .sidebar-mask.show{display:block}
  .main{margin-left:0}
  .top-burger{display:block}
  /* #70 手机版内容左右留白对齐目标站 webapp（.7467rem ≈ 14.56px @19.5px 基准） */
  .view{padding:16px 14.5px}
  .banner-card{left:8%}
  .banner-card>p{font-size:22px}
  .mdc-cell{min-width:calc(50% - 5px);flex-basis:calc(50% - 5px);max-width:calc(50% - 5px)}
  .promos{grid-template-columns:1fr}
  .brands{grid-template-columns:repeat(2,1fr)}
  .venue-grid{grid-template-columns:repeat(4,1fr);gap:10px}
  .v-lottery,.v-sport{grid-column:span 2;grid-row:auto}
}

/* ================= 会员中心 / 代理中心 二级菜单 ================= */
.member-layout{
  display:grid;
  grid-template-columns:220px 1fr;
  gap:16px;
  padding:0;
  min-height:600px;
}
.member-side{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.ms-card{
  background:linear-gradient(135deg,var(--bg3) 0%,var(--bg2) 100%);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:18px 14px;
  text-align:center;
  position:relative;
  overflow:hidden;
}
.ms-card::before{
  content:'';
  position:absolute;
  top:0;left:0;right:0;
  height:60px;
  background:linear-gradient(90deg,var(--brand1) 0%,var(--brand2) 100%);
  opacity:.18;
  z-index:0;
}
.ms-card.agent-summary::before{
  background:linear-gradient(90deg,#f5c451 0%,#fc3c3c 100%);
  opacity:.22;
}
.ms-avatar{
  width:60px;height:60px;
  border-radius:50%;
  background:var(--brand-grad);
  display:flex;align-items:center;justify-content:center;
  font-size:28px;font-weight:700;color:#fff;
  margin:8px auto 10px;
  position:relative;z-index:1;
  border:3px solid var(--bg3);
}
.agent-summary .ms-avatar{
  background:linear-gradient(135deg,#f5c451,#fc3c3c);
}
.ms-name{
  font-size:16px;font-weight:600;color:var(--txt);
  position:relative;z-index:1;
  margin-bottom:2px;
}
.ms-sub{
  font-size:12px;color:var(--txt3);
  position:relative;z-index:1;
  margin-bottom:12px;
  word-break:break-all;
}
.ms-balance{
  background:var(--bg4);
  border-radius:var(--radius);
  padding:10px 8px;
  margin-top:8px;
}
.ms-balance span{
  display:block;
  font-size:12px;color:var(--txt3);
  margin-bottom:4px;
}
.ms-balance b{
  display:block;
  font-size:18px;font-weight:700;
  color:var(--gold);
  letter-spacing:.5px;
}
.agent-summary .ms-balance b{
  color:var(--win);
}
.ms-actions{
  display:flex;gap:8px;
  margin-top:10px;
}
.ms-actions button{
  flex:1;
  padding:8px 0;
  border-radius:var(--radius);
  font-size:13px;
  border:none;
  cursor:pointer;
  transition:all .15s;
}
.btn-login-big{
  background:var(--brand-grad);
  color:#fff;font-weight:600;
}
.btn-login-big:hover{filter:brightness(1.1)}
.btn-ghost{
  background:transparent;
  color:var(--txt2);
  border:1px solid var(--line)!important;
}
.btn-ghost:hover{background:var(--bg4);color:var(--txt)}

.ms-nav{
  background:var(--bg3);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:8px;
  display:flex;flex-direction:column;
  gap:2px;
  flex:1;
}
.ms-item{
  display:flex;align-items:center;gap:10px;
  padding:10px 12px;
  border-radius:var(--radius);
  color:var(--txt2);
  font-size:14px;
  cursor:pointer;
  transition:all .15s;
  user-select:none;
}
.ms-item svg{flex-shrink:0;opacity:.7;transition:all .15s}
.ms-item:hover{
  background:var(--bg4);
  color:var(--txt);
}
.ms-item:hover svg{opacity:1}
.ms-item.active{
  background:var(--menu-hover);
  color:var(--txt);
  font-weight:600;
  border-left:3px solid var(--brand1);
  padding-left:9px;
}
.ms-item.active svg{
  color:var(--brand2);
  opacity:1;
}

.member-main{
  background:var(--bg3);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:20px;
  min-height:600px;
}
.member-main .panel-title{
  font-size:18px;font-weight:600;color:var(--txt);
  margin:0 0 16px;
  padding-bottom:12px;
  border-bottom:1px solid var(--line);
  display:flex;align-items:center;justify-content:space-between;
}
.member-main .panel-title small{
  font-size:12px;color:var(--txt3);font-weight:400;
}

/* 表单 */
.form-row{
  display:flex;align-items:center;
  margin-bottom:14px;
  gap:12px;
}
.form-label{
  width:90px;
  text-align:right;
  font-size:13px;color:var(--txt2);
  flex-shrink:0;
}
.form-input,.form-select{
  flex:1;
  background:var(--bg4);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:10px 12px;
  color:var(--txt);
  font-size:14px;
  outline:none;
  transition:border-color .15s;
}
.form-input:focus,.form-select:focus{border-color:var(--brand1)}
.form-input::placeholder{color:var(--txt3)}
.form-select{cursor:pointer}
.form-tip{
  font-size:12px;color:var(--txt3);
  margin-top:-8px;margin-bottom:14px;margin-left:102px;
}
.form-actions{
  margin-left:102px;
  display:flex;gap:10px;
}
.btn-primary,.btn-secondary,.btn-danger{
  padding:10px 24px;
  border-radius:var(--radius);
  font-size:14px;font-weight:600;
  cursor:pointer;
  border:none;
  transition:all .15s;
}
.btn-primary{background:var(--brand-grad);color:#fff}
.btn-primary:hover{filter:brightness(1.1)}
.btn-primary:disabled{opacity:.5;cursor:not-allowed}
.btn-secondary{
  background:var(--bg4);color:var(--txt);
  border:1px solid var(--line)!important;
}
.btn-secondary:hover{background:var(--card2)}
.btn-danger{background:var(--loss);color:#fff}
.btn-danger:hover{filter:brightness(1.1)}

.form-card{
  background:var(--bg2);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:18px;
  margin-bottom:14px;
}
.form-card h3{
  margin:0 0 12px;
  font-size:15px;color:var(--txt);
}

/* 概览卡片 */
.overview-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
  margin-bottom:20px;
}
.overview-card{
  background:linear-gradient(135deg,var(--bg4) 0%,var(--bg2) 100%);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:16px;
  text-align:center;
}
.overview-card .label{font-size:12px;color:var(--txt3);margin-bottom:6px}
.overview-card .value{font-size:22px;font-weight:700;color:var(--gold)}
.overview-card.green .value{color:var(--win)}
.overview-card.blue .value{color:var(--brand2)}
.overview-card.red .value{color:var(--loss)}
.overview-card .sub{font-size:11px;color:var(--txt3);margin-top:4px}

/* 表格 */
.tbl-wrap{
  background:var(--bg2);
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
}
.tbl{
  width:100%;
  border-collapse:collapse;
  font-size:13px;
}
.tbl th,.tbl td{
  padding:10px 12px;
  text-align:center;
  border-bottom:1px solid var(--line);
}
.tbl th{
  background:var(--bg4);
  color:var(--txt2);
  font-weight:600;
  white-space:nowrap;
}
.tbl tr:last-child td{border-bottom:none}
.tbl tr:hover td{background:rgba(255,255,255,.02)}
.tbl .empty{padding:40px;color:var(--txt3);font-size:13px}
.tag-win{color:var(--win);font-weight:600}
.tag-loss{color:var(--loss);font-weight:600}
.tag-pending{color:var(--gold);font-weight:600}
.tag-info{color:var(--brand2)}

/* 银行卡 / 收款账户 */
.bank-toolbar{display:flex;justify-content:flex-end;margin-bottom:14px}
.bank-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.bank-card{position:relative;background:linear-gradient(135deg,#1d2740,#22314f);border:1px solid var(--line);border-radius:14px;padding:18px 16px 14px;overflow:hidden;min-height:128px}
.bank-card::after{content:"";position:absolute;right:-30px;top:-30px;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(249,168,37,.18),transparent 70%)}
.bank-card.bk-alipay{background:linear-gradient(135deg,#0b3a5b,#0e5e8c)}
.bank-card.bk-wechat{background:linear-gradient(135deg,#134d2e,#1d6b40)}
.bank-card.bk-usdt{background:linear-gradient(135deg,#0c3a36,#11564f)}
.bk-badge{display:inline-block;font-size:11px;padding:2px 8px;border-radius:6px;background:rgba(255,255,255,.14);color:#fff;margin-bottom:10px}
.bk-default{position:absolute;top:14px;right:14px}
.bk-name{font-size:15px;font-weight:700;color:#fff;margin-bottom:6px}
.bk-no{font-size:13px;color:rgba(255,255,255,.78);letter-spacing:.5px;margin-bottom:4px}
.bk-sub{font-size:11px;color:rgba(255,255,255,.55);margin-bottom:10px}
.bk-actions{display:flex;gap:8px;flex-wrap:wrap}
.btn-mini{font-size:12px;padding:5px 12px;border-radius:8px;border:1px solid var(--line);background:var(--bg4);color:var(--txt2);cursor:pointer;transition:.15s}
.btn-mini:hover{color:var(--txt);border-color:var(--brand)}
.btn-mini.danger:hover{color:var(--loss);border-color:var(--loss)}
/* 账变记录类型筛选 */
.rec-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.rec-filter .rf-tab{font-size:12px;padding:6px 14px;border-radius:20px;border:1px solid var(--line);background:var(--bg2);color:var(--txt2);cursor:pointer;transition:.15s}
.rec-filter .rf-tab.actived{background:var(--brand);border-color:var(--brand);color:#fff}

/* 代理推广链接二维码 */
.promo-qr-card{display:flex;flex-direction:column;align-items:center;text-align:center}
.promo-qr{background:#fff;border-radius:12px;padding:10px;box-shadow:0 4px 14px rgba(0,0,0,.25);margin:6px 0}
.promo-qr canvas{display:block;border-radius:4px}

/* 充值金额选择 */
.amt-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:10px;
  margin-bottom:14px;
}
.amt-cell{
  background:var(--bg4);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:12px 0;
  text-align:center;
  cursor:pointer;
  color:var(--txt);
  font-weight:600;
  transition:all .15s;
}
.amt-cell:hover{border-color:var(--brand1)}
.amt-cell.active{
  background:var(--brand-grad);
  border-color:transparent;
  color:#fff;
}

/* 通道选择 */
.channel-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin-bottom:14px;
}
.channel-cell{
  background:var(--bg4);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:12px 8px;
  text-align:center;
  cursor:pointer;
  color:var(--txt);
  font-size:13px;
  transition:all .15s;
}
.channel-cell:hover{border-color:var(--brand1)}
.channel-cell.active{
  background:rgba(72,142,234,.15);
  border-color:var(--brand1);
  color:var(--brand2);
}

/* 通知/站内信 */
.inbox-list{display:flex;flex-direction:column;gap:8px}
.inbox-item{
  background:var(--bg2);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:12px 14px;
  cursor:pointer;
  transition:all .15s;
}
.inbox-item:hover{
  background:var(--bg4);
  border-color:var(--brand1);
}
.inbox-item.unread{border-left:3px solid var(--brand2)}
.inbox-item .ii-title{
  font-size:14px;color:var(--txt);font-weight:600;
  margin-bottom:4px;
}
.inbox-item .ii-meta{
  font-size:11px;color:var(--txt3);
  display:flex;justify-content:space-between;
}
.inbox-item .ii-preview{
  font-size:12px;color:var(--txt2);margin-top:6px;
  overflow:hidden;text-overflow:ellipsis;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
}

/* 优惠活动列表 */
.promo-list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.promo-card{
  background:linear-gradient(135deg,var(--bg4),var(--bg2));
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:14px;
}
.promo-card .pc-name{font-size:15px;color:var(--gold);font-weight:600;margin-bottom:6px}
.promo-card .pc-desc{font-size:12px;color:var(--txt2);margin-bottom:10px;line-height:1.6}
.promo-card .pc-meta{font-size:11px;color:var(--txt3);margin-bottom:8px}
.promo-card .pc-btn{
  display:inline-block;
  padding:6px 14px;
  background:var(--brand-grad);
  color:#fff;
  border-radius:var(--radius);
  font-size:12px;
  cursor:pointer;
  border:none;
}
.promo-card .pc-btn:disabled{opacity:.5;cursor:not-allowed}
.promo-card .pc-status{
  display:inline-block;
  padding:4px 10px;
  background:var(--bg3);
  color:var(--txt3);
  border-radius:var(--radius);
  font-size:11px;
}

/* 团队金字塔 */
.team-tree{
  background:var(--bg2);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:18px;
  font-family:monospace;
  font-size:12px;
  color:var(--txt2);
  white-space:pre;
  overflow:auto;
  line-height:1.4;
  max-height:500px;
}

/* 加载提示 */
.loading{
  padding:30px;
  text-align:center;
  color:var(--txt3);
  font-size:13px;
}
.spinner{
  display:inline-block;
  width:14px;height:14px;
  border:2px solid var(--line);
  border-top-color:var(--brand1);
  border-radius:50%;
  animation:spin .8s linear infinite;
  vertical-align:middle;
  margin-right:6px;
}
@keyframes spin{to{transform:rotate(360deg)}}

/* 响应式 */
@media (max-width:860px){
  /* #23 关键：1fr 默认 min=auto，会被 .ms-nav 的 min-content 撑开 → 必须 minmax(0,1fr) */
  .member-layout{grid-template-columns:minmax(0,1fr)}
  .member-side{flex-direction:row;flex-wrap:wrap;min-width:0}
  .member-main{min-width:0}
  .ms-card{flex:1 1 100%;min-width:0}
  .ms-nav{
    flex-direction:row;overflow-x:auto;flex-wrap:nowrap;padding:6px;
    min-width:0;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .ms-nav::-webkit-scrollbar{display:none}
  .ms-item{flex-shrink:0;padding:8px 12px;font-size:13px;border-bottom:2px solid transparent}
  .ms-item.active{border-left:none;border-bottom-color:var(--brand1);padding-left:12px}
  .form-label{width:auto;text-align:left}
  .form-actions,.form-tip{margin-left:0}
  .overview-grid{grid-template-columns:1fr 1fr}
  .promo-list{grid-template-columns:1fr}
  .amt-grid{grid-template-columns:repeat(3,1fr)}
  .channel-grid{grid-template-columns:1fr}
}

/* ================= 客服悬浮小窗 ================= */
.cs-floater{
  position:fixed;
  right:18px;
  bottom:80px;
  z-index:200;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:10px;
}
.cs-btn{
  width:54px;height:54px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--brand1),var(--brand2));
  color:#fff;
  border:none;
  cursor:pointer;
  box-shadow:0 6px 20px rgba(72,142,234,.45);
  display:flex;align-items:center;justify-content:center;
  position:relative;
  transition:all .2s;
}
.cs-btn:hover{transform:scale(1.06)}
.cs-btn svg{color:#fff}
.cs-badge{
  position:absolute;
  top:-2px;right:-2px;
  min-width:18px;height:18px;
  background:var(--loss);
  color:#fff;
  border-radius:9px;
  font-size:11px;
  display:flex;align-items:center;justify-content:center;
  padding:0 5px;
  font-weight:600;
  border:2px solid var(--bg);
}
.cs-badge[hidden]{display:none}
.cs-panel{
  width:380px;
  height:560px;
  background:var(--bg2);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  box-shadow:0 16px 50px rgba(0,0,0,.45);
  display:none;
  flex-direction:column;
  overflow:hidden;
  animation:csSlideUp .25s ease-out;
}
.cs-panel.open{display:flex}
@keyframes csSlideUp{
  from{opacity:0;transform:translateY(20px)}
  to{opacity:1;transform:translateY(0)}
}
.cs-head{
  padding:14px 16px;
  background:var(--brand-grad);
  color:#fff;
  display:flex;align-items:center;justify-content:space-between;
  flex-shrink:0;
}
.cs-head>span{font-weight:600;font-size:15px}
.cs-close{
  width:24px;height:24px;
  border-radius:50%;
  background:rgba(255,255,255,.18);
  border:none;
  color:#fff;
  font-size:18px;
  cursor:pointer;
  line-height:1;
  display:flex;align-items:center;justify-content:center;
}
.cs-close:hover{background:rgba(255,255,255,.3)}
.cs-body{
  flex:1;
  overflow-y:auto;
  padding:14px;
  background:var(--bg3);
  display:flex;
  flex-direction:column;
  gap:8px;
}
.cs-body::-webkit-scrollbar{width:6px}
.cs-body::-webkit-scrollbar-thumb{background:var(--bg4);border-radius:3px}
.cs-msg{
  max-width:78%;
  padding:9px 12px;
  border-radius:12px;
  font-size:13px;
  line-height:1.5;
  word-break:break-word;
  position:relative;
}
.cs-msg.system{
  align-self:center;
  background:transparent;
  color:var(--txt3);
  font-size:11px;
  padding:4px 8px;
}
.cs-msg.cs{
  align-self:flex-start;
  background:var(--bg4);
  color:var(--txt);
  border-bottom-left-radius:2px;
}
.cs-msg.cs::before{
  content:'客服';
  position:absolute;
  top:-14px;left:0;
  font-size:10px;color:var(--brand2);
}
.cs-msg .cs-txt{display:block}
.cs-time{
  display:block;
  font-style:normal;
  font-size:10px;
  color:var(--txt3);
  margin-top:3px;
  opacity:.75;
}
.cs-msg.cs-new{animation:csNewIn .35s ease both}
@keyframes csNewIn{
  from{opacity:0;transform:translateY(6px)}
  to{opacity:1;transform:translateY(0)}
}
.cs-msg.user{
  align-self:flex-end;
  background:var(--brand-grad);
  color:#fff;
  border-bottom-right-radius:2px;
}
.cs-foot{
  padding:10px;
  background:var(--bg2);
  border-top:1px solid var(--line);
  display:flex;gap:8px;
  flex-shrink:0;
}
.cs-foot input{
  flex:1;
  background:var(--bg4);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:8px 12px;
  color:var(--txt);
  font-size:13px;
  outline:none;
}
.cs-foot input:focus{border-color:var(--brand1)}
.cs-foot input::placeholder{color:var(--txt3)}
.cs-foot button{
  padding:8px 14px;
  background:var(--brand-grad);
  color:#fff;
  border:none;
  border-radius:var(--radius);
  cursor:pointer;
  font-size:13px;font-weight:600;
  transition:all .15s;
}
.cs-foot button:hover{filter:brightness(1.1)}
.cs-foot button:disabled{opacity:.5;cursor:not-allowed}

/* #137 客服头像 + 常用问题 chips + 打字指示 */
.cs-ava{
  width:28px;height:28px;border-radius:50%;flex-shrink:0;
  background:linear-gradient(135deg,#ff7ab0,#e53748);
  color:#fff;font-size:12px;font-weight:800;
  display:flex;align-items:center;justify-content:center;
  margin-right:8px;
}
.cs-msg.cs{display:flex;align-items:flex-start}
.cs-msg.cs .cs-txt{text-align:left}
.cs-faq{
  display:flex;gap:6px;overflow-x:auto;
  padding:8px 10px;
  border-top:1px solid var(--line);
  background:var(--bg2);
  flex-shrink:0;
  scrollbar-width:none;
}
.cs-faq::-webkit-scrollbar{display:none}
.cs-faq-chip{
  white-space:nowrap;
  padding:5px 12px;
  background:var(--bg4);
  border:1px solid var(--line);
  border-radius:999px;
  color:var(--txt2);
  font-size:12px;
  cursor:pointer;
  transition:all .15s;
  flex-shrink:0;
}
.cs-faq-chip:hover{border-color:var(--brand1);color:var(--brand1);background:rgba(82,186,239,.08)}
.cs-typing .cs-txt{display:inline-flex;gap:4px;align-items:center;padding:10px 14px}
.cs-typing .cs-dot{
  width:6px;height:6px;border-radius:50%;
  background:var(--txt3);
  animation:csDotBlink 1.2s ease-in-out infinite;
}
.cs-typing .cs-dot:nth-child(2){animation-delay:.2s}
.cs-typing .cs-dot:nth-child(3){animation-delay:.4s}
@keyframes csDotBlink{0%,80%,100%{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1.1)}}

@media (max-width:860px){
  .cs-floater{right:10px;bottom:70px}
  .cs-panel{width:calc(100vw - 20px);height:60vh;max-width:380px}
}

/* ================= 首页中框活动卡 ================ */
.mid-banner-wrap{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin-top:16px;
}
.mid-banner{
  position:relative;
  height:120px;
  border-radius:12px;
  padding:16px 18px;
  overflow:hidden;
  cursor:pointer;
  background:linear-gradient(135deg,#1e4a7a,#2b6da8);
  border:1px solid rgba(82,186,239,.2);
  box-shadow:0 6px 18px rgba(0,0,0,.25);
  transition:transform .2s, box-shadow .2s;
}
.mid-banner:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(0,0,0,.35)}
.mid-banner::before{
  content:"";position:absolute;right:-20px;bottom:-20px;
  width:110px;height:110px;border-radius:50%;
  background:rgba(255,255,255,.06);
}
.mid-banner::after{
  content:"";position:absolute;right:12px;top:50%;transform:translateY(-50%);
  width:64px;height:64px;border-radius:50%;
  background:rgba(255,255,255,.08);
  border:2px solid rgba(255,255,255,.15);
}
.mid-banner.m1{background:linear-gradient(135deg,#4a1e7a,#7a2bb0)}
.mid-banner.m2{background:linear-gradient(135deg,#1e5a4a,#2b8d70)}
.mid-banner.m3{background:linear-gradient(135deg,#7a3a1e,#b05a2b)}
.mb-tag{
  display:inline-block;
  font-size:10px;font-weight:700;
  padding:3px 8px;border-radius:8px;
  background:rgba(255,255,255,.15);
  color:#fff;margin-bottom:8px;
  backdrop-filter:blur(2px);
}
.mb-title{font-size:18px;font-weight:900;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.4);margin-bottom:4px;position:relative;z-index:1}
.mb-desc{font-size:12px;color:rgba(255,255,255,.85);position:relative;z-index:1}
.mb-btn{
  position:absolute;left:18px;bottom:14px;
  font-size:12px;font-weight:700;color:#fff;
  background:rgba(0,0,0,.2);
  padding:5px 12px;border-radius:14px;
  transition:background .15s;
  z-index:1;
}
.mid-banner:hover .mb-btn{background:rgba(0,0,0,.35)}

/* ================= 类目页 1:1 ================ */
/* #70 桌面版居中（目标站 1:1：内容列居中，最大 1200px），手机版自然撑满 */
.cat-page{display:flex;flex-direction:column;gap:20px;max-width:1248px;margin:0 auto;width:100%}
/* 彩票大厅同样居中 */
.lottery-entrance{max-width:1248px;margin:0 auto}

/* 顶部 banner */
.cat-banner-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:10px 10px 4px;height:240px}
.cat-banner-grid .cb-slide{position:relative;border-radius:8px;overflow:hidden;cursor:pointer;background:#000;height:100%}
.cat-banner-grid .cb-slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s ease;z-index:1}
.cat-banner-grid .cb-slide:hover img{transform:scale(1.05)}
.cat-banner-grid .cb-slide .cb-bg{position:absolute;inset:0;z-index:0;background:linear-gradient(135deg,#52BAEF,#1d3b5e)}
.cat-banner-grid .cb-slide .cb-tag{position:absolute;top:6px;left:6px;background:rgba(229,55,72,.92);color:#fff;font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;z-index:3}
.cat-banner-grid .cb-slide .cb-t{position:absolute;left:8px;bottom:8px;right:8px;font-size:13px;font-weight:600;color:#fff;z-index:3;text-shadow:0 2px 6px rgba(0,0,0,.6)}
@media (max-width:760px){#catBannerGrid .banner-swiper{height:130px}.banner-swiper{height:205px}.banner-card>p{font-size:26px;line-height:32px}} /* #172 手机 banner 高度 205px 对齐目标站 */
/* #172 手机版 banner 文案左对齐（目标站 1:1：标题/金额/按钮靠左） */
@media (max-width:760px){
  #viewHome > .banner-swiper .banner-card{left:8%;align-items:flex-start;text-align:left}
  #viewHome > .banner-swiper .banner-card .box{padding:10px 18px;text-align:left}
  #viewHome > .banner-swiper .banner-card .box>span,
  #viewHome > .banner-swiper .banner-card .box .money{display:block;font-size:22px;line-height:30px}
}
.cat-banner{
  position:relative;
  width:100%;
  min-height:0;
  height:auto;
  border-radius:12px;
  overflow:hidden;
  background:none;
  box-shadow:none;
  padding:0;
}
/* #136 类目页 banner 与首页同款全宽轮播 */
#catBannerGrid .banner-swiper{height:254px}
@media (max-width:760px){#catBannerGrid .banner-swiper{height:130px}}
/* #166 手机版类目 banner：文案收进视口不溢出 */
html.is-mobile #catBannerGrid .banner-swiper{height:132px}
html.is-mobile .banner-card{padding:16px 16px 14px;max-width:100%}
html.is-mobile .banner-card p{font-size:17px}
html.is-mobile .banner-card .box{font-size:12px;line-height:1.5}
html.is-mobile .banner-card .btn-login-big{font-size:12px;padding:6px 14px}
/* 目标站 banner-card 有轻微呼吸动画 */
@keyframes bcFloat{0%,100%{transform:scale(1)}50%{transform:scale(1.025)}}
.banner-card{animation:bcFloat 4.5s ease-in-out infinite}
.cat-banner-bg{
  position:absolute;inset:0;
  background-size:cover;background-position:center;
  background-repeat:no-repeat;
  opacity:.55;
  filter:saturate(1.05);
}
.cat-banner-bg::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,.25) 50%,rgba(0,0,0,0) 100%);
}

/* 类目页轮播图 */
.cat-carousel{position:absolute;inset:0;overflow:hidden;z-index:0}
.cat-carousel-track{display:flex;height:100%;transition:transform .5s ease}
.cat-carousel-slide{min-width:100%;height:100%;position:relative}
.cat-carousel-slide img{width:100%;height:100%;object-fit:cover;opacity:.7}
.cat-carousel-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.6) 0%,rgba(0,0,0,.25) 50%,rgba(0,0,0,.1) 100%)}
.cat-carousel-dots{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);display:flex;gap:6px;z-index:2}
.cat-carousel-dots span{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.35);cursor:pointer;transition:all .25s}
.cat-carousel-dots span.active{background:#fff;width:18px;border-radius:4px}
.cat-carousel-dots span:hover{background:rgba(255,255,255,.7)}
.cat-banner-info{
  position:absolute;left:24px;top:24px;bottom:24px;
  display:flex;flex-direction:column;justify-content:center;
  z-index:1;color:#fff;max-width:60%;
}
.cat-banner-icon{
  width:64px;height:64px;
  background:rgba(255,255,255,.08);
  border:2px solid rgba(82,186,239,.5);
  border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  font-size:30px;font-weight:800;color:#fff;
  margin-bottom:14px;
  box-shadow:0 0 24px rgba(82,186,239,.35);
}
.cat-banner-name{font-size:30px;font-weight:900;line-height:1;text-shadow:0 2px 8px rgba(0,0,0,.6);margin-bottom:8px;letter-spacing:1px}
.cat-banner-desc{font-size:13px;color:rgba(255,255,255,.85);margin-bottom:14px;max-width:420px;line-height:1.5;text-shadow:0 1px 4px rgba(0,0,0,.5)}
.cat-banner-stats{display:flex;gap:18px;font-size:13px;color:rgba(255,255,255,.85)}
.cat-banner-stats b{color:var(--loss,#e94560);font-size:18px;font-weight:900;margin-right:4px}
.cat-banner-cta{
  position:absolute;right:24px;top:50%;transform:translateY(-50%);
  z-index:1;
}
.cat-banner-cta button{
  padding:12px 26px;
  background:linear-gradient(135deg,#f5c34a,#f09a36);
  color:#1a1a1a;
  border:none;border-radius:24px;
  font-size:14px;font-weight:800;letter-spacing:1px;
  cursor:pointer;
  box-shadow:0 4px 16px rgba(240,154,54,.5);
  transition:transform .15s;
}
.cat-banner-cta button:hover{transform:translateY(-2px) scale(1.03)}

/* 厂商卡片网格（目标站 1:1：纯海报卡，桌面 6 列 / 手机 3 列，gap 7px，比例 3:4，圆角 10） */
.cat-nav-with-sub{position:relative}.tp-submenu{position:absolute;left:calc(100% + 4px);top:50%;transform:translateY(-50%);background:linear-gradient(180deg,#1a2a3e,#0e1a2a);padding:6px 0;border-radius:8px;border:1px solid rgba(82,186,239,.25);box-shadow:0 6px 20px rgba(0,0,0,.5);display:none;z-index:99;min-width:90px}
.cat-nav-with-sub:hover .tp-submenu{display:block}
.tp-submenu a{display:block;padding:9px 14px;color:var(--txt2);font-size:13px;white-space:nowrap;transition:all .15s}
.tp-submenu a:hover{background:rgba(82,186,239,.15);color:#fff}
.cat-vendors{padding:14px 0 20px}
/* #130 真人 类目页子分类 tabs（龙虎/百家乐/骰宝等） */
.cat-sub-tabs{display:flex;flex-wrap:wrap;gap:8px;padding:0 4px 4px}
.cat-sub-tab{padding:7px 14px;border-radius:18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);color:var(--txt2);font-size:13px;cursor:pointer;transition:all .18s;user-select:none}
.cat-sub-tab:hover{background:rgba(82,186,239,.18);color:#fff;border-color:rgba(82,186,239,.4)}
.cat-sub-tab.on{background:linear-gradient(135deg,#52BAEF,#2d8ec9);color:#fff;border-color:transparent;box-shadow:0 4px 12px rgba(82,186,239,.32)}
.cat-vendor-grid{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:12px;
}
.cv-card{
  position:relative;
  border-radius:10px;
  overflow:hidden;
  cursor:pointer;
  background:var(--bg);
  border:1px solid var(--line);
  transition:transform .2s,box-shadow .2s,border-color .2s;
}
.cv-card:hover{transform:translateY(-3px);border-color:rgba(82,186,239,.5);box-shadow:0 8px 22px rgba(0,0,0,.4)}
.cv-img{
  position:relative;
  width:100%;aspect-ratio:3/4;
  background:linear-gradient(135deg,#1a2332,#243447);
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
}
/* #46 真实目标站海报图作 cv-bg，找不到时由 inline style 注入主题渐变 */
.cv-bg{
  position:absolute;inset:0;
  background-size:cover;background-position:center;
  transform:scale(1.02);
  transition:transform .35s ease;
}
.cv-card:hover .cv-bg{transform:scale(1.08)}
/* 中央 logo 圆形容器（保留厂商辨识度） */
.cv-logo-wrap{
  position:relative;z-index:2;
  width:64px;height:64px;border-radius:50%;
  background:rgba(255,255,255,.08);
  border:1.5px solid rgba(255,255,255,.35);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 6px 18px rgba(0,0,0,.45);
  backdrop-filter:blur(3px);
  overflow:hidden;
}
.cv-logo{
  width:100%;height:100%;object-fit:cover;
  border-radius:50%;
}
.cv-logo-txt{
  font-size:24px;font-weight:900;color:#fff;
  text-shadow:0 2px 6px rgba(0,0,0,.5);
}
.cv-logo-wrap.no-logo img{display:none}
/* 暗化遮罩：仅渐变兜底卡使用（真实海报卡与目标站一致无遮罩） */
.cv-img::after{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(circle at 50% 35%,rgba(0,0,0,.05) 0%,rgba(0,0,0,.55) 70%,rgba(0,0,0,.7) 100%);
  z-index:1;pointer-events:none;
}
.cv-card:not(.cv-fallback) .cv-img::after{display:none}
/* 去掉旧的 ::before（已合并到 ::after） */
.cv-img::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(circle at 50% 30%,rgba(82,186,239,.12),transparent 60%);
  z-index:0;
}
.cv-card:not(.cv-fallback) .cv-img::before{display:none}
/* 渐变兜底卡的厂商名（底部居中，目标站真实海报自带品牌不需要） */
.cv-fb-name{
  position:absolute;left:0;right:0;bottom:10px;z-index:2;
  text-align:center;font-size:13px;font-weight:800;color:#fff;
  text-shadow:0 2px 6px rgba(0,0,0,.6);letter-spacing:.5px;
}
.cv-img img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  transition:transform .3s;
  z-index:1;
}
.cv-card:hover .cv-img img{transform:scale(1.06)}
.cv-img.no-img img{display:none}

.cv-name{
  padding:8px 6px;
  font-size:12px;font-weight:700;color:var(--txt);
  text-align:center;
  line-height:1.25;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  background:var(--bg);
}
.cv-tag{
  position:absolute;top:6px;left:6px;
  font-size:9px;font-weight:800;
  padding:2px 6px;border-radius:5px;
  z-index:3;
  text-transform:uppercase;letter-spacing:.3px;
}
.cv-tag.hot{background:var(--loss,#e94560);color:#fff}
.cv-tag.free{background:rgba(245,196,81,.92);color:#1a1a1a}
/* ===== #155 热门火焰丝带（右上角斜切渐变，厂商卡/游戏卡共用） ===== */
.ribbon-hot{
  position:absolute;top:0;right:0;z-index:4;
  display:flex;align-items:center;gap:3px;
  padding:5px 12px 5px 10px;
  font-size:11px;font-weight:800;color:#fff;letter-spacing:1px;
  background:linear-gradient(135deg,#ff9a3d 0%,#ff5f3d 55%,#e9243f 100%);
  clip-path:polygon(12% 0,100% 0,100% 100%,0 100%);
  border-radius:0 12px 0 10px;
  box-shadow:-2px 2px 8px rgba(233,36,63,.45);
  text-shadow:0 1px 2px rgba(0,0,0,.35);
  pointer-events:none;
}
.ribbon-hot i{font-style:normal;font-size:11px;line-height:1}
/* ===== #155 场馆页游戏卡满卡图改版 ===== */
.game-item .gi-full{position:absolute;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat}
.game-item .gi-full.gi-icon-wrap{display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#232f3e 0%,#16202c 60%,#1b2a3a 100%)}
.game-item .gi-full.gi-icon-wrap img{max-width:62%;max-height:62%;object-fit:contain;filter:drop-shadow(0 6px 14px rgba(0,0,0,.45));transition:transform .3s}
.game-item:hover .gi-full.gi-icon-wrap img{transform:scale(1.08)}
.game-item .gi-full.gi-initial{display:flex;align-items:center;justify-content:center;font-size:44px;font-weight:800;color:rgba(255,255,255,.85);background:linear-gradient(160deg,#2b3a4e 0%,#182230 100%)}
.game-item .gi-shade{position:absolute;left:0;right:0;bottom:0;height:64px;background:linear-gradient(180deg,rgba(10,16,24,0) 0%,rgba(10,16,24,.88) 100%);pointer-events:none}
.game-item .gi-name{position:absolute;left:10px;right:10px;bottom:10px;z-index:2;font-size:13px;font-weight:700;color:#fff;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 3px rgba(0,0,0,.6);pointer-events:none}
/* 悬浮 play 遮罩 */
.cv-play{
  position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;
  background:rgba(0,0,0,.45);
  opacity:0;transition:opacity .2s;
  z-index:2;
}
.cv-card:hover .cv-play{opacity:1}
.cv-play::before{
  content:"";width:40px;height:40px;border-radius:50%;
  background:var(--brand-grad);
  box-shadow:0 4px 14px rgba(72,142,234,.45);
  display:flex;align-items:center;justify-content:center;
}
.cv-play svg{
  position:absolute;width:15px;height:15px;color:#fff;
  margin-left:2px;
}

/* 空厂商/即将上线提示 */
.cat-vendor-empty{
  padding:32px 20px;text-align:center;color:var(--txt3);font-size:13px;
}
.cat-vendor-empty .ic{font-size:32px;margin-bottom:8px;opacity:.6}

/* 无数据整体提示 */
.cat-page-empty{
  background:var(--bg2);border:1px dashed var(--line);border-radius:var(--radius-lg);
  padding:60px 20px;text-align:center;color:var(--txt2);
}
.cat-page-empty .ic{font-size:48px;opacity:.5;margin-bottom:14px}
.cat-page-empty h3{font-size:18px;color:#fff;margin-bottom:8px}
.cat-page-empty p{font-size:13px;color:var(--txt3);margin-bottom:16px}
.cat-page-empty .btn-login-big{display:inline-block;padding:10px 24px;font-size:14px}

/* 响应式 */
@media (max-width:760px){
  .cat-banner{height:140px}
  .cat-banner-name{font-size:22px}
  .cat-banner-desc{font-size:12px}
  .cat-banner-icon{width:48px;height:48px;font-size:22px}
  .cat-vendor-grid{grid-template-columns:repeat(3,1fr);gap:7px}
  .cv-logo-wrap{width:52px;height:52px}
  .cv-logo-txt{font-size:20px}
  .cat-sub-tab{padding:5px 10px;font-size:12px}
  .cat-sub-tabs{gap:6px}
  .cv-name{font-size:11px;padding:6px 4px}
}

/* ===== 个人中心 1:1 目标站（场景 J） ===== */
/* 个人资料逐行编辑 */
.pf-card{padding:6px 18px}
.pf-row{display:flex;align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}
.pf-row:last-child{border-bottom:none}
.pf-label{width:88px;flex-shrink:0;font-size:14px;color:var(--txt2)}
.pf-val{flex:1;font-size:14px;color:var(--txt);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pf-empty{color:var(--txt3);font-size:13px}
.pf-op{flex-shrink:0;width:72px;text-align:right}
.pf-btn{background:var(--brand-grad);color:#fff;border:none;border-radius:8px;padding:7px 18px;font-size:13px;font-weight:600;cursor:pointer;transition:filter .15s}
.pf-btn:hover{filter:brightness(1.12)}
.pf-btn:disabled{opacity:.5;cursor:not-allowed}
.pf-input{max-width:280px}
/* 标签页 */
.ms-tabs{display:flex;gap:8px;margin-bottom:16px;border-bottom:1px solid var(--line);padding-bottom:0}
.ms-tab{background:none;border:none;color:var(--txt2);font-size:14px;font-weight:600;padding:10px 18px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}
.ms-tab:hover{color:var(--txt)}
.ms-tab.active{color:var(--brand2);border-bottom-color:var(--brand2)}
/* 转账场馆钱包 */
.tf-wallet-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}
.tf-wallet{background:var(--bg4);border:1px solid var(--line);border-radius:10px;padding:12px;text-align:center}
.tfw-name{font-size:12px;color:var(--txt2);margin-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tfw-bal{font-size:15px;font-weight:700;color:var(--gold)}
/* 投注记录空态 */
.betrec-empty{text-align:center;padding:44px 0;color:var(--txt2)}
.bre-icon{font-size:44px;opacity:.4;margin-bottom:10px}
.bre-sub{font-size:12px;color:var(--txt3);margin-top:6px}
@media (max-width:760px){
  .pf-label{width:72px;font-size:13px}
  .pf-op{width:60px}
  .pf-btn{padding:6px 12px;font-size:12px}
}

/* ===== 时时彩官方玩法：位选矩阵（目标站 1:1，场景 K） ===== */
.pos-row{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px dashed var(--line)}
.pos-row:last-child{border-bottom:none}
.pos-label{flex-shrink:0;width:44px;height:52px;display:flex;align-items:center;justify-content:center;background:var(--bg4);border-radius:8px;color:var(--cyan);font-size:13px;font-weight:700}
.pos-balls{flex:1;display:grid;grid-template-columns:repeat(10,1fr);gap:6px}
.pball{display:flex;flex-direction:column;align-items:center;justify-content:center;height:52px;background:var(--cell);border-radius:8px;cursor:pointer;border:2px solid transparent;transition:all .12s}
.pball:hover{background:#434b4b}
.pball-num{font-size:19px;font-weight:800;color:#fff;font-family:Consolas,monospace;line-height:1.1}
.pball-odds{font-size:9px;color:var(--txt3);font-family:Consolas,monospace}
.pball.actived{background:var(--cyan);border-color:var(--cyan)}
.pball.actived .pball-num,.pball.actived .pball-odds{color:#06202e}
.pball.locked{opacity:.35;cursor:not-allowed}
.pos-helper{flex-shrink:0;width:34px;display:flex;flex-direction:column;gap:4px}
.pos-helper span{display:flex;align-items:center;justify-content:center;height:24px;background:var(--bg4);border-radius:6px;color:var(--txt2);font-size:11px;cursor:pointer;transition:all .12s}
.pos-helper span:hover{background:var(--cyan);color:#06202e}
/* 大小单双 */
.dxds-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.dxds-cell{display:flex;align-items:center;justify-content:center;gap:8px;height:48px;background:var(--cell);border-radius:8px;cursor:pointer;border:2px solid transparent;transition:all .12s}
.dxds-cell:hover{background:#434b4b}
.dxds-name{font-size:17px;font-weight:800;color:#fff}
.dxds-odds{font-size:11px;color:var(--gold);font-family:Consolas,monospace}
.dxds-cell.actived{background:var(--cyan);border-color:var(--cyan)}
.dxds-cell.actived .dxds-name,.dxds-cell.actived .dxds-odds{color:#06202e}
.dxds-cell.locked{opacity:.35;cursor:not-allowed}
@media (max-width:760px){
  .pos-balls{grid-template-columns:repeat(5,1fr)}
  .pball{height:44px}
  .pball-num{font-size:16px}
  .pos-label{width:36px;height:44px;font-size:12px}
  .pos-helper{flex-direction:row;width:100%;margin-top:6px}
  .pos-row{flex-wrap:wrap}
}

/* ===== 首页对齐目标站（场景 L）：APP下载条 + 移动端 tabbar ===== */
.app-dl-bar{display:none}
.m-tabbar{display:none}
@media (max-width:760px){
  .app-dl-bar{display:flex;align-items:center;gap:10px;background:linear-gradient(90deg,#1c2733,#16202b);border:1px solid var(--line);border-radius:12px;padding:8px 12px;margin-bottom:12px;position:relative}
  .adl-close{position:absolute;top:-8px;left:-8px;width:22px;height:22px;border-radius:50%;background:var(--bg4);border:1px solid var(--line);color:var(--txt2);font-size:14px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
  .adl-logo{width:38px;height:38px;border-radius:9px;background:#0d141c;padding:4px;object-fit:contain}
  .adl-info{flex:1;min-width:0}
  .adl-title{font-size:14px;font-weight:800;color:#fff}
  .adl-desc{font-size:11px;color:var(--txt2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .adl-btn{flex-shrink:0;background:var(--brand-grad);color:#fff;border:none;border-radius:18px;padding:8px 18px;font-size:13px;font-weight:700;cursor:pointer}
  /* 底部 tabbar */
  .m-tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:90;background:rgba(23,26,26,.97);border-top:1px solid var(--line);padding:6px 0 calc(6px + env(safe-area-inset-bottom));backdrop-filter:blur(8px)}
  .mt-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;color:var(--txt3);font-size:11px;cursor:pointer;padding:2px 0}
  .mt-item.actived{color:var(--cyan)}
  .mt-item svg{opacity:.85}
  .mt-item.actived svg{opacity:1}
  .main{padding-bottom:72px}
  /* 目标站移动端首页顺序：APP下载条 → banner → 近期大胜 → 场馆宫格 → 彩票投注 → 合作商 */
  #viewHome.actived{display:flex;flex-direction:column}
  #viewHome .app-dl-bar{order:0}
  #viewHome .banner-swiper{order:1}
  #viewHome .win-section{order:2}
  #viewHome .venue-grid{order:3}
  #viewHome .home-lottery-section{order:4}
  #viewHome .section-block:last-of-type{order:5}
  /* 移动端宫格：2 大卡半宽 + 4 小卡一排（目标站 1:1） */
  .venue-grid{margin-top:12px}
  .venue-card{padding:12px 10px;min-height:86px;border-radius:10px}
  .v-lottery,.v-sport{min-height:118px}
  .venue-card .vc-title{font-size:15px}
  .venue-card .vc-desc{display:none}
}

/* ===== 首页海报卡（目标站 1:1，aspect 0.75） ===== */
.poster-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-top:12px}
.poster-card{aspect-ratio:.75;border-radius:10px;overflow:hidden;cursor:pointer;position:relative;border:1px solid var(--line);transition:transform .2s,box-shadow .2s;background:var(--bg3)}
.poster-card img{width:100%;height:100%;object-fit:cover;display:block}
.poster-card:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgba(0,0,0,.35)}
/* 宫格卡内嵌目标站图片 */
.venue-card .vc-art{display:none}
.venue-card .vc-icon{position:absolute;right:12px;bottom:10px;height:58%;max-width:60%;object-fit:contain;z-index:0}
.v-live{background:linear-gradient(to left,rgb(66,83,48),rgba(66,83,48,.15) 75%),#1c2733}
.v-esport{background:linear-gradient(to left,rgb(80,65,48),rgba(80,65,48,.15) 75%),#1c2733}
.v-slot{background:linear-gradient(to left,rgb(45,79,49),rgba(45,79,49,.15) 75%),#1c2733}
.v-chess{background:linear-gradient(to left,rgb(71,56,111),rgba(71,56,111,.15) 75%),#1c2733}
@media (max-width:760px){
  .poster-grid{grid-template-columns:repeat(3,1fr);gap:7px}
  .poster-card{border-radius:8px}
  /* 移动端大卡：目标站渐变 + 右侧 artwork 图 */
  .v-lottery{background:linear-gradient(90deg,rgb(50,55,56) 0%,rgb(31,72,93) 104.93%) !important}
  .v-sport{background:linear-gradient(135deg,#23272b 0%,rgb(88,46,89) 100%) !important}
  .venue-card .vc-art{display:block;position:absolute;right:6px;bottom:4px;height:82%;max-width:58%;object-fit:contain}
  /* 移动端小卡：图标居中 + 名称在下（目标站 1:1） */
  .v-live,.v-esport,.v-slot,.v-chess{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:10px 6px}
  .v-live .vc-icon,.v-esport .vc-icon,.v-slot .vc-icon,.v-chess .vc-icon{position:static;height:42px;max-width:80%;margin:0}
  .v-live .vc-title,.v-esport .vc-title,.v-slot .vc-title,.v-chess .vc-title{font-size:13px;text-shadow:none}
  /* 首页版块顺序：下载条→banner→近期大胜→宫格→热门游戏→彩票投注→场馆海报→合作商 */
  #viewHome .hot-game-section{order:4}
  #viewHome .home-lottery-section{order:5}
  #viewHome #homeVenueSections{display:contents}
  #viewHome .venue-poster-section{order:6}
  #viewHome .section-block:last-of-type{order:7}
}

/* ================= 投注页 v2（目标站桌面投注界面 1:1） ================= */
.bet-page2{display:flex;align-items:flex-start;gap:10px;padding:14px 18px;max-width:1230px;margin:0 auto}
.bp2-back{flex:none;width:34px;height:34px;border-radius:50%;background:var(--bg3);color:var(--txt2);font-size:20px;line-height:1;margin-top:26px;display:flex;align-items:center;justify-content:center;transition:all .15s}
.bp2-back:hover{background:var(--brand1);color:#fff}
.bp2-main{flex:1;min-width:0}
/* 蓝色头部卡 */
.bh2{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(120deg,#2f6fe0 0%,#4aa3f5 100%);border-radius:14px;padding:14px 24px;min-height:92px;box-shadow:0 4px 18px rgba(47,111,224,.25)}
.bh2-game{display:flex;align-items:center;gap:12px;min-width:0}
.bh2-logo{width:58px;height:58px;border-radius:12px;background:#fff;padding:5px;object-fit:contain}
.bh2-name{font-size:19px;font-weight:800;color:#fff;white-space:nowrap}
.bh2-period{font-size:12px;color:rgba(255,255,255,.9);margin-top:2px}
.bh2-period b{font-weight:700}
.bh2 .bh-state{display:inline-block;margin-top:4px;padding:2px 10px;border-radius:10px;background:rgba(255,255,255,.22);color:#fff;font-size:11px}
.bh2 .bh-state.closed{background:rgba(0,0,0,.3);color:#ffd2d2}
.bh2-cd{text-align:center}
.bh2-cd-label{font-size:11px;color:rgba(255,255,255,.85);margin-bottom:2px}
.bh2-countdown{font-size:38px;font-weight:800;color:#fff;letter-spacing:2px;font-variant-numeric:tabular-nums;line-height:1}
.bh2-countdown i{font-style:normal;background:rgba(255,255,255,.16);border-radius:8px;padding:2px 8px}
.bh2-countdown em{font-style:normal;margin:0 4px;opacity:.85}
.bh2-countdown.closed i{background:rgba(0,0,0,.25);color:#ffb3b3}
.bh2-last{min-width:220px;text-align:right}
.bh2-last-top{display:flex;align-items:center;justify-content:flex-end;gap:12px;font-size:12px;color:rgba(255,255,255,.92);margin-bottom:8px}
.bh2-tip{display:inline-flex;align-items:center;gap:5px}
.sw{display:inline-block;width:26px;height:15px;border-radius:8px;background:rgba(255,255,255,.35);position:relative;vertical-align:middle}
.sw::after{content:"";position:absolute;top:2px;left:2px;width:11px;height:11px;border-radius:50%;background:#fff;transition:left .15s}
.sw.on{background:#3ddc84}
.sw.on::after{left:13px}
.bh2-balls{display:flex;justify-content:flex-end;gap:6px}
.bh2-balls .ball{width:32px;height:32px;font-size:16px;background:#fff;color:#2b3a4a;margin:0;box-shadow:0 2px 6px rgba(0,0,0,.2)}
.bh2-balls .ball.p{background:#fff;color:#e23c3c}
/* 主体：左玩法区 + 右侧栏 */
.bp2-body{display:flex;gap:14px;margin-top:14px;align-items:stretch;position:relative}
.bp2-play{flex:1;min-width:0;display:flex;background:var(--bg2);border-radius:14px;overflow:hidden}
/* #182 「我的收藏」竖排小竖条：贴投注框左缘外侧（目标站 1:1，深蓝底竖排白字） */
.play-ribbon{position:absolute;left:0;top:10px;z-index:30;background:linear-gradient(180deg,#31405a,#1e2a3c);color:#fff;font-size:12px;letter-spacing:3px;writing-mode:vertical-rl;padding:10px 5px;border-radius:6px;cursor:pointer;user-select:none;box-shadow:2px 2px 10px rgba(0,0,0,.35);transition:filter .15s;transform:translateX(calc(-100% + 5px))}
.play-ribbon:hover{filter:brightness(1.15)}
.play-ribbon .pr-star{display:inline;padding-bottom:6px}
.play-main{flex:1;min-width:0;padding:12px 16px}
.bet-tabs2{display:flex;flex-wrap:wrap;gap:6px}
.bet-tabs2 .method-tab{padding:6px 14px;border-radius:6px;font-size:13px}
.bet-tabs2 .method-tab.actived{background:var(--brand1);color:#fff}
/* 子玩法行 */
.sub-play{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:10px;font-size:13px}
.sp-group{color:var(--txt2);margin-right:2px}
.sp-item{padding:3px 10px;border-radius:5px;color:var(--txt);cursor:pointer;transition:all .12s}
.sp-item:hover{background:var(--bg4)}
.sp-item.on{background:var(--brand1);color:#fff}
.sp-item.off{opacity:.4}
.sp-sep{width:1px;height:14px;background:var(--line);margin:0 6px}
.sp-prize{margin-left:auto;color:var(--gold);font-size:12px;white-space:nowrap}
/* 工具行 */
.tool-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;margin-top:10px;font-size:12px}
.tr-group{display:flex;align-items:center;gap:6px}
.tr-pill{padding:3px 11px;border-radius:11px;background:var(--bg4);color:var(--txt2);cursor:pointer;transition:all .12s}
.tr-pill:hover{color:#fff}
.tr-pill.on{background:var(--brand1);color:#fff}
.tr-sep{width:1px;height:12px;background:var(--line);margin:0 4px}
.tr-links span{color:var(--cyan);cursor:pointer;margin-right:10px}
.tr-links span:hover{text-decoration:underline}
.tr-quick{margin-left:auto}
/* 位选矩阵（白色圆球） */
.bet-page2 .pos-row{align-items:center}
.bet-page2 .pos-label{flex:none;width:42px;color:var(--txt2);font-size:13px;padding-top:0}
.bet-page2 .pos-balls{display:flex;gap:7px;flex-wrap:wrap;flex:1}
.bet-page2 .pball{flex:none;width:37px;height:37px;border-radius:50%;background:#fff;border:none;box-shadow:0 1px 4px rgba(0,0,0,.25)}
.bet-page2 .pball:hover{background:#eaf3ff}
.bet-page2 .pball .pball-num{font-size:16px;font-weight:800;color:#2b3a4a;font-family:inherit}
.bet-page2 .pball.actived{background:var(--brand1);box-shadow:0 0 0 2px rgba(82,186,239,.5)}
.bet-page2 .pball.actived .pball-num{color:#fff}
.bet-page2 .pball.locked{opacity:.3;cursor:not-allowed}
.pball-stat{font-size:9px;font-weight:400;color:#9aa4ad;line-height:1;margin-top:1px}
.pball-stat.hot{color:#e23c3c}
.pball-stat.cold{color:#2f6fe0}
.pball.actived .pball-stat{color:#fff}
.bet-page2 .pos-helper{display:flex;flex-direction:row;gap:4px;margin-left:auto;flex:none;width:auto}
.bet-page2 .pos-helper span{width:23px;height:23px;border-radius:5px;background:var(--bg4);color:var(--txt2);font-size:11px;display:flex;align-items:center;justify-content:center;cursor:pointer}
.bet-page2 .pos-helper span:hover{background:var(--brand1);color:#fff}
/* 单式 */
.single-box{display:flex;gap:10px;align-items:center;padding:14px 0;flex-wrap:wrap}
.sg-input{flex:1;min-width:220px;max-width:340px;background:var(--bg4);border:1px solid var(--line);border-radius:8px;color:#fff;padding:10px 14px;font-size:17px;letter-spacing:6px;font-family:Consolas,monospace}
.sg-btn{padding:9px 18px;border-radius:8px;background:var(--bg4);color:var(--txt);cursor:pointer;font-size:13px}
.sg-btn.on{background:var(--brand1);color:#fff}
.pt-odds{color:var(--gold);font-style:normal;font-size:12px;margin-left:8px}
/* 底部投注栏 */
.bet-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px;background:var(--bg3);border-radius:12px;padding:10px 16px}
.bb-mult{display:flex;align-items:center;gap:6px}
.bbm-btn{width:25px;height:25px;border-radius:5px;background:var(--bg4);color:var(--txt);font-size:15px;display:flex;align-items:center;justify-content:center;cursor:pointer}
.bbm-btn:hover{background:var(--brand1);color:#fff}
#bbMult{min-width:30px;text-align:center;color:var(--gold);font-size:15px}
.bb-mult i{color:var(--txt2);font-style:normal;font-size:12px}
.bb-units{display:flex;gap:5px;flex-wrap:wrap}
.bb-units span{padding:4px 11px;border-radius:5px;background:var(--bg4);color:var(--txt2);cursor:pointer;font-size:12px;transition:all .12s}
.bb-units span:hover{color:#fff}
.bb-units span.on{background:var(--brand1);color:#fff}
.bb-info{color:var(--txt2);font-size:13px;margin-left:auto}
.bb-info b{color:var(--gold);font-size:14px}
.bb-btn{padding:9px 22px;border-radius:8px;font-weight:700;font-size:14px;transition:all .15s}
.bb-btn.primary{background:var(--brand-grad);color:#fff}
.bb-btn.primary:hover{filter:brightness(1.1)}
.bb-btn.ghost{background:var(--bg4);color:var(--txt)}
.bb-btn.ghost:hover{color:#fff}
/* 右侧栏 */
/* 右侧栏：走势图 #86 加宽，留出滚动空间 */
.bp2-side{flex:none;width:350px;display:flex;flex-direction:column;gap:12px}
.wallet-panel{background:var(--bg2);border-radius:14px;padding:12px 14px}
.wp-top{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--txt2)}
.wp-bal b{color:var(--gold);font-size:13px}
.wp-acts-top{display:inline-flex;align-items:center;gap:6px}
.wp-ref{cursor:pointer;font-style:normal;font-size:14px}
.wp-ref:hover{color:var(--cyan)}
.wp-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:11px}
.wp-actions span{background:var(--bg4);border-radius:7px;text-align:center;padding:9px 0;font-size:12px;color:var(--txt);cursor:pointer;transition:all .12s}
.wp-actions span:hover{background:var(--brand1);color:#fff}
.recent-panel{background:var(--bg2);border-radius:14px;padding:12px 8px;flex:1}
.rp-head{font-weight:800;font-size:14px;margin:0 4px 8px}
.rp-table{width:100%;font-size:12px;border-collapse:collapse}
.rp-table th{color:var(--txt3);font-weight:400;padding:4px 2px;text-align:center}
.rp-table td{padding:5px 2px;text-align:center;border-top:1px solid var(--line)}
.rp-period{color:var(--txt2);white-space:nowrap}
.rp-nums{white-space:nowrap}
.rball{display:inline-flex;width:21px;height:21px;border-radius:50%;background:#2f80ed;color:#fff;align-items:center;justify-content:center;font-size:11px;font-weight:700;margin:0 1px}
.rp-zutai{color:var(--cyan);font-size:11px}
/* 底部 tab + 面板 */
.bet-foot-tabs{display:flex;gap:26px;margin-top:14px;border-bottom:1px solid var(--line)}
.bet-foot-tabs span{padding:9px 2px;color:var(--txt2);cursor:pointer;font-size:14px;transition:color .12s}
.bet-foot-tabs span:hover{color:#fff}
.bet-foot-tabs span.on{color:#fff;font-weight:700;box-shadow:inset 0 -2px 0 var(--brand1)}
.bf-panel{display:none;padding:12px 2px}
.bf-panel.on{display:block}
.bfp-empty{color:var(--txt3);text-align:center;padding:22px 0;font-size:13px}
.bfp-note{color:var(--txt3);font-size:12px;margin-top:8px;line-height:1.7}
.cart-table td,.cart-table th{text-align:left;padding:6px 8px}
.cart-del{color:var(--loss);cursor:pointer;font-size:12px}
.cart-clear{color:var(--loss);cursor:pointer;margin-left:10px}
.cart-foot{padding:10px 4px;color:var(--txt2);font-size:13px}
.chase-form{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.chase-form label{color:var(--txt2);font-size:13px;display:inline-flex;align-items:center;gap:8px}
.chase-form input{background:var(--bg4);border:1px solid var(--line);border-radius:7px;color:#fff;padding:7px 10px;width:84px}
.ph-body{padding:4px 0 16px;color:var(--txt2);line-height:1.9;font-size:13px}
.bt-mode{display:flex;align-items:center;gap:10px}
.bt-label{color:var(--txt2);font-size:13px}
/* 响应式 */
@media (max-width:1180px){.bp2-side{width:300px}.bh2-countdown{font-size:32px}}
@media (max-width:1024px){
  .bp2-body{flex-direction:column}
  .bp2-side{width:100%;flex-direction:row;flex-wrap:wrap}
  .bp2-side .wallet-panel{flex:1;min-width:240px}
  .bp2-side .recent-panel{flex:2;min-width:280px}
  .bp2-back{display:none}
}
@media (max-width:760px){
  .bet-page2{padding:10px}
  .bh2{flex-wrap:wrap;gap:10px;padding:12px 14px}
  .bh2-cd{order:3;width:100%;text-align:left}
  .bh2-countdown{font-size:28px}
  .bh2-last{min-width:0;text-align:left}
  .bh2-last-top{justify-content:flex-start}
  .bh2-balls{justify-content:flex-start}
  .bh2-balls .ball{width:28px;height:28px;font-size:14px}
  .bet-page2 .pball{width:31px;height:31px;flex:none}
  .bet-page2 .pball .pball-num{font-size:14px}
  .bet-page2 .pos-row{flex-wrap:wrap}
  .bet-page2 .pos-helper{width:100%;margin-left:0;margin-top:6px}
  .bb-info{margin-left:0;width:100%;order:5}
  .tr-quick{margin-left:0}
}

/* ================= 走势图 / 路子图（#50） ================= */
#bfpTrend{padding:14px 16px}
.tz-pills{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.tz-pill{padding:5px 14px;border-radius:16px;background:var(--bg3);color:var(--txt2);font-size:12px;cursor:pointer;transition:all .15s}
.tz-pill.on{background:linear-gradient(135deg,#2f6fe0,#4aa3f5);color:#fff}
.tz-scroll{overflow-x:auto;width:100%;padding-bottom:6px;scrollbar-width:thin}
.tz-scroll::-webkit-scrollbar{height:4px}
.tz-scroll::-webkit-scrollbar-thumb{background:var(--bg4);border-radius:2px}
.tz-title{font-size:13px;color:var(--txt2);margin-bottom:8px}
.tz-table{display:inline-block;min-width:100%}
.tz-row{display:flex;align-items:center;border-bottom:1px solid rgba(255,255,255,.04)}
.tz-row.tz-head{color:var(--txt2);font-size:11px;background:var(--bg3);border-radius:6px 6px 0 0}
.tz-cell{flex:none;width:32px;height:30px;display:flex;align-items:center;justify-content:center;font-size:12px}
.tz-cell.tz-period{width:88px;justify-content:flex-start;padding-left:10px;color:var(--txt2);font-size:11px}
.tz-cell.tz-wide{width:76px}
.tz-miss{color:var(--txt3);font-size:11px}
.tz-ball{width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,#2f6fe0,#4aa3f5);color:#fff;font-style:normal;font-size:12px;display:flex;align-items:center;justify-content:center;position:relative;z-index:2}
.tz-listrow{display:flex;align-items:center;gap:12px;padding:7px 4px;border-bottom:1px solid rgba(255,255,255,.04)}
.tz-listrow .tz-period{width:88px;color:var(--txt2);font-size:11px}
.tz-listrow .tz-nums{display:flex;gap:4px}
.tz-listrow .tz-sum{margin-left:auto;color:var(--txt2);font-size:12px}
/* 路子图 */
.road-legend{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-bottom:12px;color:var(--txt2);font-size:12px}
.road-legend .rc{margin-right:5px}
.road-sec-title{font-size:13px;color:var(--txt);margin:12px 0 8px;padding-left:8px;border-left:3px solid #2f6fe0}
.rc{width:26px;height:26px;border-radius:50%;font-style:normal;font-size:12px;display:inline-flex;align-items:center;justify-content:center;color:#fff}
.rc-b{background:linear-gradient(135deg,#e03a3a,#f56a6a)}
.rc-p{background:linear-gradient(135deg,#2f6fe0,#4aa3f5)}
.rc-t{background:linear-gradient(135deg,#1f9d55,#3ecf8e)}
.rb-grid{display:grid;grid-template-rows:repeat(6,auto);grid-auto-flow:column;gap:4px;width:100%;grid-auto-columns:minmax(40px,1fr)}
.rb-cell{min-height:46px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg3);border-radius:6px;padding:3px 0}
/* ===== #88 标准派生路（齐整红 / 不齐蓝 圆点） ===== */
.dr-cell{background:transparent;padding:0}
.dr-r{width:18px;height:18px;border-radius:50%;background:#e64545;display:inline-block;box-shadow:0 0 4px rgba(230,69,69,.6)}
.dr-b{width:18px;height:18px;border-radius:50%;background:#2f7bff;display:inline-block;box-shadow:0 0 4px rgba(47,123,255,.6)}
.dr-r-mc{background:#e64545;border-radius:50%;display:inline-block;width:10px;height:10px;vertical-align:middle;box-shadow:0 0 0 1px rgba(255,255,255,.6)}
.dr-b-mc{background:#2f7bff;border-radius:50%;display:inline-block;width:10px;height:10px;vertical-align:middle;box-shadow:0 0 0 1px rgba(255,255,255,.6)}
/* #148 派生路：大眼仔=空心圆 / 小路=实心小圆 / 曱甯路=菱形；红=齐整 蓝=不齐 */
.dr-grid{display:grid;gap:3px}
.dr-cell{width:22px;height:22px;display:flex;align-items:center;justify-content:center}
.dr-o,.dr-s,.dr-d{display:inline-block;transition:transform .15s}
.dr-o{width:15px;height:15px;border-radius:50%;border:2.5px solid}
.dr-s{width:10px;height:10px;border-radius:50%}
.dr-d{width:11px;height:11px;border-radius:2.5px;transform:rotate(45deg);border:1.5px solid}
.sh-r{border-color:#e64545;background:#e64545;color:#e64545}
.sh-b{border-color:#2f7bff;background:#2f7bff;color:#2f7bff}
/* 空心圆（大眼仔）去掉填充 */
.dr-o.sh-r{background:transparent}
.dr-o.sh-b{background:transparent}
.rs-sub{font-size:10.5px;color:var(--txt3);font-weight:400;margin-left:6px}
/* 走势连接线（SVG overlay） */
.tz-linebox{position:relative}
.tz-table{position:relative;z-index:1}
.tz-lines{position:absolute;left:0;top:0;z-index:0;pointer-events:none}
/* 投注框下方路子图（全彩种） */
.road-under{margin-top:12px;background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.ru-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.ru-title{font-size:14px;font-weight:600;color:var(--txt);padding-left:9px;border-left:3px solid #e0564a;line-height:1.2}
.ru-legend{display:flex;gap:14px;align-items:center;flex-wrap:wrap;color:var(--txt2);font-size:12px}
.ru-legend .rc{margin-right:5px;width:20px;height:20px;font-size:10px}
/* #171 路子图：目标站路纸风格（紧凑网格 + 小圆珠 + 派生路并排） */
.ru-body{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ru-body2{grid-template-columns:1fr}
.ru-deriv{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}
.ru-sec{min-width:0;background:var(--bg3);border-radius:10px;padding:10px}
.ru-sec-t{font-size:12px;color:var(--txt2);margin-bottom:8px;display:flex;align-items:center;gap:6px}
.ru-sec-t::before{content:'';width:6px;height:6px;border-radius:50%;background:linear-gradient(135deg,#e03a3a,#f56a6a)}
.ru-scroll{overflow-x:auto;scrollbar-width:thin}
.ru-legend .ru-lg{display:inline-flex;align-items:center;gap:5px}
.ru-legend .ru-lg b{color:var(--txt);font-size:13px}
/* 路纸网格：小方格 + 细线 */
/* #226 珠盘路列宽自适应：列数少时拉伸贴满容器右边框（列多时保持最小宽横向滚动） */
.ru-scroll .rb-grid{gap:0;background:var(--bg2);border:1px solid var(--line);border-radius:6px;overflow:hidden;width:100%;grid-auto-columns:minmax(34px,1fr)}
.ru-scroll .rb-cell{min-height:28px;background:transparent;border-radius:0;box-shadow:inset -1px -1px 0 rgba(255,255,255,.05);padding:1px 0}
.ru-scroll .rc{width:18px;height:18px;font-size:10px;box-shadow:0 1px 4px rgba(0,0,0,.35)}
.ru-scroll .pair-tag{font-size:8px;line-height:1;margin-top:0}
.ru-scroll .big-grid{gap:0;background:var(--bg2);border:1px solid var(--line);border-radius:6px;overflow:hidden;width:max-content}
.ru-scroll .big-cell{width:28px;min-height:28px;background:transparent;border-radius:0;box-shadow:inset -1px -1px 0 rgba(255,255,255,.05);padding:0}
.ru-scroll .ring{width:19px;height:19px;font-size:9px;border-width:2px}
@media (max-width: 860px){
  .ru-body{grid-template-columns:1fr}
  .ru-deriv{grid-template-columns:1fr 1fr 1fr;gap:8px}
  .road-under{padding:10px}
  .ru-scroll .rb-grid{grid-auto-columns:minmax(30px,1fr)}
  .ru-scroll .rb-cell{min-height:26px}
  .ru-scroll .rc{width:17px;height:17px;font-size:9px}
  .ru-scroll .big-cell{width:26px;min-height:26px}
  .ru-scroll .ring{width:17px;height:17px;font-size:8px}
  .ru-deriv .ru-sec{padding:8px}
}
.pair-tag{font-style:normal;font-size:9px;line-height:1.2;margin-top:1px}
.pt-b{color:#f56a6a}
.pt-p{color:#4aa3f5}
.pt-t{color:#3ecf8e}
.big-grid{display:grid;gap:3px}
.big-cell{width:36px;min-height:40px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg3);border-radius:6px;position:relative;padding:2px 0}
.ring{width:24px;height:24px;border-radius:50%;font-style:normal;font-size:11px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:2px solid}
.ring-b{border-color:#f56a6a;color:#f56a6a}
.ring-p{border-color:#4aa3f5;color:#4aa3f5}
.tie-mark{position:absolute;top:1px;right:3px;font-style:normal;font-size:9px;color:#3ecf8e;font-weight:700}
.tie-mark::before{content:'/'}
.rl{font-weight:700}
.rl-b{color:#f56a6a}.rl-p{color:#4aa3f5}.rl-t{color:#3ecf8e}
.rl-pair{font-size:10px;margin-left:4px;font-style:normal}
.rl-pair.bp{color:#f56a6a}.rl-pair.pp{color:#4aa3f5}.rl-pair.tp{color:#3ecf8e}
.dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:4px}
.dot-b{background:#f56a6a}.dot-p{background:#4aa3f5}
@media (max-width:760px){
  .rb-cell{min-height:42px}
  .rc{width:23px;height:23px;font-size:11px}
}

/* ===== #56 右侧 近期开奖|走势 双 tab + 统计条 ===== */
.rp-tabs{display:flex;gap:0;padding:0 !important}
.rp-tab{flex:1;text-align:center;cursor:pointer;padding:9px 0;font-size:13px;color:#8aa0c8;border-bottom:2px solid transparent;transition:.15s}
.rp-tab.on{color:#2f7bff;border-bottom-color:#2f7bff;font-weight:700}
.rp-pane{display:none}
.rp-pane.on{display:block}
#rpPaneTrend{padding:8px 6px}
/* 侧栏紧凑走势 */
#rpPaneTrend .tz-pills{flex-wrap:wrap;gap:4px;margin-bottom:6px}
#rpPaneTrend .tz-pill{padding:2px 8px;font-size:11px}
#rpPaneTrend .tz-scroll{max-height:460px;overflow:auto}
/* #202 近期开奖 30 期：面板纵向滚动 */
#rpPaneHist{max-height:460px;overflow-y:auto;scrollbar-width:thin}
#rpPaneHist::-webkit-scrollbar{width:4px}
#rpPaneHist::-webkit-scrollbar-thumb{background:var(--bg4);border-radius:2px}
#rpPaneTrend .tz-cell{width:22px;min-width:22px;height:22px;line-height:22px;font-size:11px}
#rpPaneTrend .tz-cell.tz-period{width:44px;min-width:44px;font-size:10px}
#rpPaneTrend .tz-cell.tz-wide{width:40px;min-width:40px;font-size:10px}
#rpPaneTrend .tz-ball{width:18px;height:18px;line-height:18px;font-size:10px}
/* #229 小走势重写：最新一期球红色高亮 + 行底色强调 */
.tz-ball.hot{background:linear-gradient(135deg,#e03e3e,#ff7a45)}
#rpPaneTrend .tz-row.tz-last{background:rgba(255,122,92,.08)}
#rpPaneTrend .rc{width:20px;height:20px;line-height:20px;font-size:10px}
#rpPaneTrend .rb-cell{min-height:22px}
#rpPaneTrend .pair-tag{font-size:9px}
#rpPaneTrend .road-legend{font-size:11px;flex-wrap:wrap}
#rpPaneTrend .road-sec-title{font-size:12px;margin:8px 0 4px}
#rpPaneTrend .big-cell{width:26px;height:26px}
#rpPaneTrend .big-grid{grid-template-rows:repeat(6,26px)}
#rpPaneTrend .ring{width:20px;height:20px;line-height:20px;font-size:10px}
/* #148 侧栏派生路紧凑尺寸 */
#rpPaneTrend .dr-grid{gap:2px}
#rpPaneTrend .dr-cell{width:16px;height:16px}
#rpPaneTrend .dr-o{width:11px;height:11px;border-width:2px}
#rpPaneTrend .dr-s{width:7px;height:7px}
#rpPaneTrend .dr-d{width:8px;height:8px}
.ru-scroll .dr-cell{width:18px;height:18px}
.ru-scroll .dr-grid{gap:2px}
.tz-cnt .tz-cnt-n{color:#f90;font-weight:700}
.tz-cnt .tz-period{color:#f90;font-weight:700}
/* 大/单/小/双 统计条 */
.ds-stat{display:flex;align-items:center;gap:18px;flex-wrap:wrap;background:#101a30;border:1px solid #1e2c4d;border-radius:10px;padding:10px 16px;margin-top:12px}
.ds-stat:empty{display:none}
.ds-item{display:flex;align-items:center;gap:6px;flex:1;min-width:150px}
.ds-name{font-size:13px;font-weight:700;color:#dce6f7;width:16px}
.ds-track{flex:1;height:10px;border-radius:5px;background:#1a2742;overflow:hidden}
.ds-fill{display:block;height:100%;border-radius:5px;transition:width .4s}
.ds-pct{font-size:12px;color:#8aa0c8;min-width:52px;text-align:right}
.ds-pos{font-size:11px;color:#5f7396;width:100%;text-align:right}
@media (max-width:760px){.ds-item{min-width:46%}}

/* ===== #57 奖金模式显示 ===== */
.bt-bonus{margin-left:auto;font-size:13px;color:#8aa0c8}

/* ===== #150 合买大厅弹窗 ===== */
.gb-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.62);z-index:2200;align-items:center;justify-content:center;padding:16px}
.gb-box{width:640px;max-width:96vw;max-height:88vh;display:flex;flex-direction:column;background:var(--bg,#0d1a2c);border:1px solid rgba(82,186,239,.3);border-radius:14px;overflow:hidden;box-shadow:0 18px 60px rgba(0,0,0,.6)}
.gb-head{display:flex;align-items:center;gap:12px;padding:14px 18px;background:linear-gradient(135deg,#1d3b5e,#11233b);color:#fff;font-size:16px}
.gb-lot{font-size:12px;color:#8fd0ff;background:rgba(82,186,239,.12);border-radius:6px;padding:3px 10px}
.gb-close{margin-left:auto;font-size:22px;cursor:pointer;color:var(--txt3,#7d92b5);line-height:1}
.gb-close:hover{color:#fff}
.gb-tabs{display:flex;gap:8px;padding:10px 18px 0;background:rgba(255,255,255,.03)}
.gb-tabs span{padding:8px 18px;border-radius:8px 8px 0 0;font-size:13px;color:var(--txt2,#9fb4d4);cursor:pointer}
.gb-tabs span.on{background:rgba(82,186,239,.15);color:#52BAEF;font-weight:700}
.gb-body{flex:1;overflow-y:auto;padding:14px 18px}
.gb-card{background:var(--bg2,#12233c);border:1px solid var(--line,#1e3350);border-radius:10px;padding:12px 14px;margin-bottom:10px}
.gb-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.gb-lot-tag{font-weight:700;color:#fff;font-size:13.5px}
.gb-status{font-size:12px}
.gb-play{font-size:12px;color:var(--txt2,#9fb4d4);margin-bottom:4px}
.gb-play b{color:#f5c451}
.gb-content{font-size:12.5px;color:var(--txt,#dce6f7);background:rgba(255,255,255,.04);border-radius:6px;padding:7px 10px;margin-bottom:8px}
.gb-nums{display:flex;gap:16px;font-size:12px;color:var(--txt2,#9fb4d4);align-items:center;flex-wrap:wrap}
.gb-nums b{color:#f5c451}
.gb-prog{height:7px;border-radius:4px;background:rgba(255,255,255,.08);overflow:hidden;margin:8px 0 6px}
.gb-prog i{display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,#52BAEF,#3ddc84);transition:width .3s}
.gb-card-bot{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--txt3,#7d92b5)}
.gb-join-wrap{display:flex;gap:6px;align-items:center}
.gb-shares{width:76px;padding:6px 8px;border-radius:6px;border:1px solid rgba(255,255,255,.18);background:rgba(0,0,0,.25);color:#fff;font-size:12px}
.gb-btn{padding:6px 16px;border-radius:6px;border:none;background:linear-gradient(135deg,#4681e8,#52BAEF);color:#fff;font-weight:700;font-size:12.5px;cursor:pointer}
.gb-btn:hover{filter:brightness(1.1)}
.gb-btn:disabled{opacity:.55;cursor:default}
.gb-btn-big{width:100%;padding:11px;font-size:14px;margin-top:10px}
.gb-cancel{background:rgba(255,87,87,.15);color:#ff8a8a;border:1px solid rgba(255,87,87,.4)}
.gb-win{color:#3ddc84;font-weight:700}
.gb-empty{padding:26px;text-align:center;color:var(--txt3,#7d92b5);background:rgba(255,255,255,.03);border-radius:8px}
.gb-sec-t{font-size:13.5px;font-weight:700;color:#fff;margin:14px 0 8px}
.gb-sec-t:first-child{margin-top:0}
.gb-form .gbf-row{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.gb-form label{flex:0 0 96px;font-size:12.5px;color:var(--txt2,#9fb4d4);text-align:right}
.gbf-input{flex:1;padding:9px 10px;border-radius:6px;border:1px solid rgba(255,255,255,.16);background:rgba(0,0,0,.25);color:#fff;font-size:13px}
textarea.gbf-input{resize:vertical}
.gbf-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.gbf-sum{font-size:12.5px;color:var(--txt2,#9fb4d4);background:rgba(82,186,239,.08);border-radius:6px;padding:8px 12px;margin-bottom:4px}
.gbf-sum b{color:#f5c451}
.gb-hint{font-size:11.5px;color:var(--txt3,#7d92b5);margin-top:8px;line-height:1.5}
@media (max-width:600px){
  .gb-box{max-height:94vh}
  .gb-form label{flex-basis:80px}
  .gbf-grid{grid-template-columns:1fr}
}
.bt-bonus b{color:#f90;font-weight:700}
#bonusModeTip b{color:#f90}

/* ===== #54 类目轮播：主题插画 slide + 活动 slide ===== */
.cat-carousel-slide.cs-theme::after{display:none}
.cs-theme{overflow:hidden}
.cat-carousel-slide .cs-ill{
  position:absolute;right:-30px;top:50%;transform:translateY(-50%);
  width:auto;height:135%;max-width:62%;
  object-fit:contain;opacity:1;
  filter:drop-shadow(0 10px 24px rgba(0,0,0,.35));
}
.cat-carousel-slide.cs-promo img{opacity:.9}
@media (max-width:760px){
  .cat-carousel-slide .cs-ill{right:-70px;height:120%;max-width:75%;opacity:.85}
}


/* ===== #52 金字塔团队图 ===== */
.py-wrap{overflow-x:auto;padding:18px 6px 12px}
.py-chart{display:inline-block;min-width:100%;text-align:center}
.py-tree,.py-kids{list-style:none;margin:0;padding-left:0;display:flex;justify-content:center;position:relative}
.py-kids{padding-top:28px}
.py-kids::before{content:'';position:absolute;top:0;left:50%;width:2px;height:28px;background:linear-gradient(180deg,#f90,rgba(249,153,0,.25));transform:translateX(-50%)}
.py-item{display:flex;flex-direction:column;align-items:center;position:relative;padding:28px 8px 0}
.py-item::before,.py-item::after{content:'';position:absolute;top:0;right:50%;width:50%;height:28px;border-top:2px solid rgba(249,153,0,.35)}
.py-item::after{right:auto;left:50%;border-left:2px solid rgba(249,153,0,.35)}
.py-item:only-child::before,.py-item:only-child::after{display:none}
.py-item:first-child::before,.py-item:last-child::after{border:0 none}
.py-item:last-child::before{border-right:2px solid rgba(249,153,0,.35);border-radius:0 10px 0 0}
.py-item:first-child::after{border-radius:10px 0 0 0}
.py-item.py-apex{padding-top:0}
.py-item.py-collapsed > .py-kids{display:none}
.py-node{position:relative;width:172px;background:var(--bg3);border:1px solid var(--line);border-top:3px solid #8a9aa5;border-radius:12px;padding:12px 10px 10px;text-align:center;transition:all .18s;box-shadow:0 4px 14px rgba(0,0,0,.25)}
.py-node:hover{transform:translateY(-3px);box-shadow:0 8px 22px rgba(0,0,0,.38);border-color:var(--brand1)}
.py-node.apex{width:210px;border-top-color:#f90;border-color:rgba(249,153,0,.55);background:linear-gradient(160deg,#3a2f1a,#26200f)}
.py-node.lv1{border-top-color:#f90}
.py-node.lv2{border-top-color:#2f7bff}
.py-node.lv3{border-top-color:#27c18f}
.py-node.lv4{border-top-color:#a06bff}
.py-node.lv5{border-top-color:#e64545}
.py-ava{width:44px;height:44px;border-radius:50%;margin:0 auto 6px;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;color:#fff;background:linear-gradient(135deg,#f90,#e64545)}
.py-node.apex .py-ava{width:54px;height:54px;font-size:22px;background:linear-gradient(135deg,#ffd700,#f90)}
.py-name{font-size:14px;font-weight:600;color:var(--txt);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.py-badge{display:inline-block;font-size:10px;padding:2px 8px;border-radius:9px;margin:4px 0 2px}
.py-badge.ag{background:rgba(249,153,0,.16);color:#f90;border:1px solid rgba(249,153,0,.4)}
.py-badge.mb{background:rgba(47,123,255,.14);color:#6ea8ff;border:1px solid rgba(47,123,255,.35)}
.py-stats{font-size:11px;color:var(--txt2);margin-top:2px}
.py-rates{font-size:10px;color:var(--txt3);margin-top:3px}
.py-toggle{position:absolute;right:-9px;bottom:-9px;width:22px;height:22px;border-radius:50%;border:1px solid rgba(249,153,0,.55);background:#2a2415;color:#f90;font-size:11px;line-height:1;cursor:pointer;z-index:2;padding:0}
.py-toggle:hover{background:#f90;color:#1c1710}
.py-empty{padding:22px;color:var(--txt3);font-size:13px}
@media(max-width:760px){.py-node{width:140px}.py-item{padding:24px 4px 0}}


/* ===== #53 扑克类开牌秀（百家乐/龙虎斗）#230 赌桌化重做 ===== */
.card-show{position:relative;display:flex;align-items:stretch;gap:16px;margin:0 0 12px;padding:14px 18px;border-radius:16px;overflow:hidden;background:radial-gradient(120% 160% at 18% 0%,#0b4a38 0%,#052c22 50%,#031d17 100%);border:1px solid rgba(212,175,55,.35);box-shadow:inset 0 0 70px rgba(0,0,0,.5),0 6px 24px rgba(0,0,0,.35)}
.card-show.hidden{display:none}
.card-show::before{content:'';position:absolute;inset:0;background:radial-gradient(60% 90% at 50% 110%,rgba(255,190,80,.12),transparent 60%);pointer-events:none}
.cs-dealer{flex:none;width:118px;height:158px;border-radius:12px;overflow:hidden;position:relative;box-shadow:0 6px 18px rgba(0,0,0,.5);border:1px solid rgba(212,175,55,.3)}
.cs-dealer img{width:100%;height:100%;object-fit:cover;object-position:center 6%;display:block}
.cs-dealer::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(4,35,28,.78))}
/* #230 赌桌：深绿呢绒桌面 + 金色马蹄弧线 */
.cs-table{flex:1;position:relative;display:flex;align-items:center;justify-content:center;border-radius:110px/64px;background:radial-gradient(85% 130% at 50% 38%,#11614a 0%,#0a4232 55%,#062b21 100%);border:2px solid rgba(212,175,55,.45);box-shadow:inset 0 10px 40px rgba(0,0,0,.45),inset 0 -6px 24px rgba(0,0,0,.35),0 2px 10px rgba(0,0,0,.3);min-height:158px;padding:12px 24px}
.cs-table .cs-arc{position:absolute;inset:9px;border-radius:100px/56px;border:1.5px solid rgba(212,175,55,.28);pointer-events:none}
.cs-table .cs-arc::before{content:'';position:absolute;inset:5px;border-radius:96px/52px;border:1px dashed rgba(212,175,55,.16)}
/* #239e 开牌居中：两手牌对称聚拢居中，中央留出庄赢/闲赢徽章通道 */
.cs-stage{display:flex;align-items:center;justify-content:center;gap:200px;position:relative;z-index:1;width:100%}
.cs-hand{display:flex;flex-direction:column;align-items:center;gap:7px}
.cs-hand-name{font-size:16px;font-weight:800;color:#ffe9b0;letter-spacing:4px;text-shadow:0 2px 6px rgba(0,0,0,.7)}
.cs-hand-name.p{color:#9cc8ff}
.cs-cards{display:flex;gap:9px;min-height:104px;align-items:center}
.cs-points{font-size:14px;font-weight:700;color:#7dffce;min-height:18px;text-shadow:0 1px 4px rgba(0,0,0,.6)}
/* #230 庄赢/闲赢 大字：桌子正中 */
.cs-result{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:7px;z-index:2;width:max-content;max-width:90%}
/* #239e 重置 1197 行红点角标污染：position:absolute/top/right/height 会让徽章脱流、cs-result 宽度塌 0 */
.cs-badge{position:static;top:auto;right:auto;min-width:0;height:auto;font-size:40px;font-weight:900;letter-spacing:8px;padding:10px 30px 10px 38px;border-radius:14px;color:#fff;border:1.5px solid rgba(255,255,255,.28);text-shadow:0 3px 10px rgba(0,0,0,.55);white-space:nowrap}
.cs-badge.win-b{background:linear-gradient(135deg,rgba(230,69,69,.94),rgba(154,18,32,.94));box-shadow:0 0 34px rgba(230,69,69,.5)}
.cs-badge.win-p{background:linear-gradient(135deg,rgba(47,123,255,.94),rgba(20,62,168,.94));box-shadow:0 0 34px rgba(47,123,255,.5)}
.cs-badge.win-t{background:linear-gradient(135deg,rgba(39,193,143,.94),rgba(14,102,74,.94));box-shadow:0 0 34px rgba(39,193,143,.5)}
.cs-tag{font-size:12px;font-weight:700;color:#ffd700;border:1px solid rgba(255,215,0,.55);border-radius:10px;padding:3px 12px;background:rgba(0,0,0,.28)}
.cs-period{font-size:11px;color:rgba(255,255,255,.5)}
#csResult .cs-period{position:static}
/* #230 牌型精美调大 */
.cs-cards .pk-card{width:76px;height:108px;border-radius:9px}
.cs-cards .pk-face{border-radius:9px}
.cs-cards .pk-center{font-size:44px}
.cs-cards .pk-cr{font-size:14px}
.cs-cards .pk-cs{font-size:12px}
.cs-cards .pk-corner.pk-tl{top:6px;left:6px}
.cs-cards .pk-corner.pk-br{bottom:6px;right:6px}
.cs-cards .pk-back-pattern::before{font-size:24px}
.cs-cards .pk-card.win::after{border-radius:11px}
.cs-cards .pk-card.win-t::after{border-radius:11px}
.pk-card{position:relative;width:58px;height:82px;transform-style:preserve-3d;box-shadow:0 3px 6px rgba(0,0,0,.45);border-radius:7px}
.pk-face{position:absolute;inset:0;border-radius:7px;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden}
.pk-back{background:linear-gradient(135deg,#6a0f27,#8f1a35);border:1px solid rgba(255,255,255,.18);box-shadow:inset 0 0 0 2px rgba(255,255,255,.12);transform:rotateY(180deg)}
.pk-back::after{content:'';position:absolute;inset:5px;border-radius:5px;background:repeating-linear-gradient(45deg,rgba(255,255,255,.07) 0 5px,transparent 5px 10px),repeating-linear-gradient(-45deg,rgba(255,255,255,.07) 0 5px,transparent 5px 10px);border:1px solid rgba(255,255,255,.25)}
.pk-back-pattern{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.pk-back-pattern::before{content:'KG';font-family:AkrobatBlack,Impact,sans-serif;font-size:18px;font-weight:900;color:rgba(255,255,255,.14);letter-spacing:1px;transform:rotate(-12deg)}
.pk-front{background:linear-gradient(145deg,#ffffff 0%,#f3f5f7 60%,#e8ecef 100%);color:#1a1d21;display:flex;flex-direction:column;box-shadow:0 2px 0 0 rgba(0,0,0,.06) inset,0 0 0 1px rgba(0,0,0,.12);border:1px solid rgba(0,0,0,.15)}
.pk-front::before{content:'';position:absolute;inset:0;border-radius:7px;background:linear-gradient(115deg,transparent 40%,rgba(255,255,255,.65) 50%,transparent 60%);pointer-events:none;opacity:.6}
.pk-front.red{color:#d21f3c}
.pk-corner{position:absolute;display:flex;flex-direction:column;align-items:center;line-height:1;z-index:2}
.pk-corner.pk-tl{top:4px;left:4px}
.pk-corner.pk-br{bottom:4px;right:4px;transform:rotate(180deg)}
.pk-cr{font-size:11px;font-weight:800}
.pk-cs{font-size:10px;margin-top:-1px}
.pk-center{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:30px;z-index:1;text-shadow:0 1px 2px rgba(0,0,0,.08)}
/* 翻牌 + 飞入：从下方滑入并翻转，带轻微回弹 */
.cs-dealing .pk-card{animation:pkFlipIn .9s cubic-bezier(.25,.8,.25,1.3) both;animation-delay:var(--d,0s)}
@keyframes pkFlipIn{
  0%{transform:translateX(-40px) translateY(30px) rotateY(-180deg) rotateZ(-10deg);opacity:0}
  40%{opacity:1}
  70%{transform:translateX(0) translateY(0) rotateY(-20deg) rotateZ(2deg)}
  100%{transform:translateX(0) translateY(0) rotateY(0deg) rotateZ(0deg);opacity:1}
}
/* 开牌完成后的金色胜利光晕 */
.pk-card.win::after{content:'';position:absolute;inset:-2px;border-radius:9px;background:linear-gradient(45deg,transparent 30%,rgba(255,215,0,.55) 50%,transparent 70%);animation:pkShine .8s ease both;pointer-events:none}
.pk-card.win-t::after{content:'';position:absolute;inset:-2px;border-radius:9px;background:linear-gradient(45deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);animation:pkShine .8s ease both;pointer-events:none}
@keyframes pkShine{0%{opacity:0;transform:translateX(-100%) skewX(-20deg)}50%{opacity:1}100%{opacity:0;transform:translateX(100%) skewX(-20deg)}}
.cs-dealing .cs-result{animation:csPop .55s both;animation-delay:1.25s}
@keyframes csPop{0%{transform:translate(-50%,-50%) scale(.4);opacity:0}70%{transform:translate(-50%,-50%) scale(1.1)}100%{transform:translate(-50%,-50%) scale(1);opacity:1}}
.cs-dealing .cs-points{animation:csFadeIn .45s both;animation-delay:1.1s}
@keyframes csFadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.pkc{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;width:19px;height:26px;border-radius:3px;background:linear-gradient(160deg,#fff,#dde1e4);color:#1b1f24;font-size:11px;font-weight:700;line-height:1;margin:0 1px;box-shadow:0 1px 3px rgba(0,0,0,.35)}
.pkc em{font-style:normal;font-size:10px;font-weight:400}
.pkc.red{color:#d21f3c}
@media(max-width:760px){
  .card-show{gap:10px;padding:10px 12px}
  .cs-dealer{width:64px;height:96px}
  .cs-table{border-radius:70px/44px;padding:10px 14px;min-height:118px}
  .cs-table .cs-arc{border-radius:64px/38px}
  .cs-stage{gap:90px}
  .cs-cards{gap:6px;min-height:66px}
  .cs-cards .pk-card{width:48px;height:68px;border-radius:6px}
  .cs-cards .pk-face{border-radius:6px}
  .cs-cards .pk-center{font-size:26px}
  .cs-cards .pk-cr{font-size:10px}
  .cs-cards .pk-cs{font-size:9px}
  .cs-badge{font-size:30px;letter-spacing:6px;padding:7px 20px 7px 26px}
}
/* #75 手机小屏：荷官图隐藏，桌子全宽 */
@media(max-width:560px){
  .card-show{gap:0;padding:8px 6px;margin-bottom:10px}
  .cs-dealer{display:none}
  .cs-table{border-radius:56px/40px;padding:10px 10px;min-height:100px}
  .cs-stage{gap:24px;justify-content:center}
  .cs-hand-name{font-size:12px;letter-spacing:2px}
  .cs-cards{gap:3px;min-height:46px}
  .cs-cards .pk-card{width:32px;height:45px;border-radius:4px}
  .cs-cards .pk-face{border-radius:4px}
  .cs-cards .pk-center{font-size:17px}
  .cs-cards .pk-cr{font-size:7px}
  .cs-cards .pk-cs{font-size:6px}
  .cs-cards .pk-corner.pk-tl{top:2px;left:2px}
  .cs-cards .pk-corner.pk-br{bottom:2px;right:2px}
  .cs-points{font-size:11px}
  .cs-badge{font-size:20px;letter-spacing:3px;padding:5px 10px 5px 13px;border-radius:9px}
  .cs-tag{font-size:10px;padding:1px 8px}
}

/* ===== #22 活动页图片网格 ===== */
.promo-cats{
  display:flex;gap:8px;margin:12px 0 14px;
  overflow-x:auto;padding-bottom:2px;
  -webkit-overflow-scrolling:touch;
}
.promo-cats::-webkit-scrollbar{display:none}
.pc-tab{
  flex-shrink:0;padding:6px 14px;border-radius:16px;
  font-size:12px;font-weight:600;color:var(--txt2);
  background:var(--bg2);border:1px solid var(--line);
  cursor:pointer;transition:all .18s;white-space:nowrap;
}
.pc-tab.actived{
  background:var(--brand-grad);border-color:transparent;color:#fff;
}
.promo-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(160px,1fr));
  gap:12px;
}
.pg-card{
  background:var(--bg2);border:1px solid var(--line);border-radius:12px;
  overflow:hidden;cursor:pointer;
  transition:transform .2s,box-shadow .2s,border-color .2s;
}
.pg-card:hover{transform:translateY(-3px);border-color:rgba(82,186,239,.5);box-shadow:0 8px 22px rgba(0,0,0,.4)}
.pg-img{
  position:relative;width:100%;aspect-ratio:16/10;
  background:linear-gradient(135deg,#1a2332,#243447);
  display:flex;align-items:center;justify-content:center;overflow:hidden;
}
.pg-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .3s}
.pg-card:hover .pg-img img{transform:scale(1.06)}
.pg-ic{font-size:28px;opacity:.5;position:relative;z-index:1;display:none}
.pg-img.no-img .pg-ic{display:block}
.pg-tag{
  position:absolute;top:8px;left:8px;z-index:2;
  font-size:10px;font-weight:800;padding:2px 8px;border-radius:5px;
  background:rgba(233,69,96,.92);color:#fff;
}
.pg-body{padding:10px 12px 12px}
.pg-title{font-size:13px;font-weight:700;color:var(--txt);line-height:1.35;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pg-sum{font-size:11px;color:var(--txt3);margin-top:4px;line-height:1.4;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pg-bonus{margin-top:8px;font-size:12px;color:var(--txt2)}
.pg-bonus b{color:#f5c451;font-size:14px}
.pg-jc{margin-top:4px;font-size:10px;color:var(--txt3)}
.promo-empty{padding:60px 20px;text-align:center;color:var(--txt3)}
.promo-empty .pe-ic{font-size:42px;opacity:.55;margin-bottom:10px}
.promo-empty .pe-tx{font-size:13px}
/* 活动详情弹窗 */
.promo-card{width:min(520px,92vw);max-height:88vh;overflow:hidden;display:flex;flex-direction:column}
.pm-cover{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;background:var(--bg2)}
.pm-body{padding:16px 18px;overflow-y:auto;flex:1}
.pm-title{font-size:16px;font-weight:800;color:var(--txt);margin-bottom:6px}
.pm-meta{font-size:11px;color:var(--txt3);margin-bottom:12px}
.pm-content{font-size:13px;line-height:1.7;color:var(--txt2)}
.pm-content p{margin:0 0 8px}
.pm-foot{padding:12px 18px 16px;border-top:1px solid var(--line);background:var(--bg2)}
.pm-foot .btn-login-big{display:block;width:100%;text-align:center}
@media (max-width:760px){
  .promo-grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .pg-title{font-size:12px}
  .pg-sum{font-size:10px}
}

/* ===== #23 Wap 响应式深化 ===== */
/* 全局保险：横向溢出裁切（clip 不会像 hidden 那样创建 BFC 破坏 sticky） */
html,body{max-width:100%;overflow-x:clip}
main.main,.view{overflow-x:clip}

/* 移动端：个人中心 / 代理中心导航横滚（防撑破） */
#memberSideNav,#agentSideNav{
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
#memberSideNav::-webkit-scrollbar,
#agentSideNav::-webkit-scrollbar{display:none}

/* 表格 / 长列表容器兜底横向滚动 */
.mb-table,.rec-table,.tr-body,.dv-body,.ag-table,.report-table{
  overflow-x:auto;-webkit-overflow-scrolling:touch;
}
.mb-table table,.rec-table table,.tr-body table,.dv-body table,
.ag-table table,.report-table table{min-width:520px}

/* 移动端：卡片网格（≤560px）—— 厂商海报 3 列 7px，与目标站手机版 1:1 */
@media (max-width:560px){
  .promo-grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .cat-vendor-grid{grid-template-columns:repeat(3,1fr);gap:7px}
  .overview-grid{grid-template-columns:repeat(2,1fr)}
  .pg-title{font-size:12px}
  .pg-sum{font-size:10px}
  .cv-name{font-size:10px;padding:5px 3px}
  .member-side{gap:8px}
  .ms-card{padding:14px 10px}
}

/* 小屏（≤400px）进一步收紧（海报仍保持 3 列，对齐目标站 390px 布局） */
@media (max-width:400px){
  .cat-vendor-grid{grid-template-columns:repeat(3,1fr);gap:7px}
  .promo-grid{gap:8px}
  .pc-tab{padding:5px 10px;font-size:11px}
  .cv-logo-wrap{width:46px;height:46px}
  .cv-logo-txt{font-size:18px}
  .pg-img{aspect-ratio:4/3}
}

/* 平板（561-1024px）：类目网格 4 列，活动 3 列 */
@media (min-width:561px) and (max-width:1024px){
  .cat-vendor-grid{grid-template-columns:repeat(4,1fr);gap:10px}
  .promo-grid{grid-template-columns:repeat(3,1fr)}
}

/* 触摸设备：hover 效果改为 active（避免移动端粘滞） */
@media (hover:none){
  .cv-card:hover{transform:none;box-shadow:none}
  .pg-card:hover{transform:none;box-shadow:none}
  .cv-card:active{transform:scale(.97)}
  .pg-card:active{transform:scale(.98)}
  .cs-btn:hover{transform:none}
  .cs-btn:active{transform:scale(.94)}
}

/* 安全区适配（刘海屏/底部横条） */
@supports (padding:env(safe-area-inset-bottom)){
  .m-tabbar{padding-bottom:env(safe-area-inset-bottom)}
  .cs-floater{bottom:calc(80px + env(safe-area-inset-bottom))}
  .cs-panel{max-height:calc(70vh - env(safe-area-inset-bottom))}
}

/* ================= 彩票大厅（目标站 1:1：即将开奖渐变卡 + 分类文字列表） ================= */
.lobby-sec{margin-bottom:26px;width:100%;min-width:0;box-sizing:border-box}
.lobby-sec-title{font-size:18px;font-weight:800;color:#fff;margin-bottom:14px;letter-spacing:.5px}
/* 即将开奖渐变倒计时卡 */
.upcoming-row{display:flex;gap:14px;flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.upcoming-row::-webkit-scrollbar{height:4px}
.upcoming-row::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18);border-radius:2px}
.up-card{position:relative;flex:0 0 152px;scroll-snap-align:start;min-height:172px;border-radius:12px;padding:14px 12px 12px;box-sizing:border-box;cursor:pointer;overflow:hidden;transition:transform .18s,box-shadow .18s;color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.28)}
.up-card:hover{transform:translateY(-4px);box-shadow:0 12px 26px rgba(0,0,0,.38)}
.up-card.g1{background:linear-gradient(160deg,#23c169 0%,#0d9d8f 100%)}
.up-card.g2{background:linear-gradient(160deg,#f5b733 0%,#e8763a 100%)}
.up-card.g3{background:linear-gradient(160deg,#3aa1f5 0%,#1c6dd9 100%)}
.up-card.g4{background:linear-gradient(160deg,#f0559a 0%,#d92662 100%)}
.up-card.g5{background:linear-gradient(160deg,#f56a54 0%,#e03333 100%)}
.up-card.g6{background:linear-gradient(160deg,#a06bf5 0%,#6c3ae0 100%)}
.up-card .up-ic{position:absolute;top:10px;right:10px;width:42px;height:42px;border-radius:50%;border:2px solid rgba(255,255,255,.55);box-shadow:0 2px 8px rgba(0,0,0,.25);object-fit:cover;background:#fff}
.up-card .up-name{font-size:15px;font-weight:800;line-height:1.25;text-shadow:0 1px 2px rgba(0,0,0,.18);max-width:96px}
.up-card .up-period{font-size:11px;color:rgba(255,255,255,.85);margin-top:2px}
.up-card .up-label{font-size:11px;color:rgba(255,255,255,.65);margin-top:10px}
.up-card .up-cd{display:flex;gap:5px;margin-top:5px}
.up-card .up-cd span{flex:0 0 34px;height:34px;line-height:34px;text-align:center;font-size:17px;font-weight:800;border-radius:7px;background:rgba(0,20,40,.38);box-shadow:inset 0 1px 3px rgba(0,0,0,.3);font-family:Consolas,monospace}
.up-card .up-btn{margin-top:11px;width:100%;height:32px;line-height:32px;text-align:center;font-size:13px;font-weight:700;color:#fff;border-radius:16px;background:linear-gradient(90deg,rgba(255,255,255,.32),rgba(255,255,255,.14));border:1px solid rgba(255,255,255,.5);box-shadow:0 2px 6px rgba(0,0,0,.16)}
.up-card:hover .up-btn{background:linear-gradient(90deg,rgba(255,255,255,.45),rgba(255,255,255,.24))}
/* 彩票投注分类文字列表 */
.lobby-cat{margin-bottom:16px}
.lobby-cat-name{display:flex;align-items:center;font-size:15px;font-weight:700;color:#fff;margin-bottom:9px}
.lb-diamond{width:8px;height:8px;border-radius:2px;background:linear-gradient(135deg,var(--cyan),var(--brand));transform:rotate(45deg);margin-right:8px;box-shadow:0 0 6px rgba(64,165,242,.6)}
.lobby-cat-items{display:flex;flex-wrap:wrap;gap:8px 10px}
.lb-item{position:relative;font-size:13.5px;color:rgba(255,255,255,.82);padding:5px 11px;border-radius:6px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.07);cursor:pointer;transition:.15s;display:inline-flex;align-items:center}
.lb-item:hover{color:#fff;background:rgba(64,165,242,.18);border-color:rgba(64,165,242,.45)}
.lb-badge{display:inline-block;width:12px;height:12px;margin-left:5px;border-radius:3px;background-size:contain;background-repeat:no-repeat;background-position:center}
.lb-badge.hot{background-image:url("../svg/hot.0538.svg")}
.lb-badge.new{background-image:url("../svg/new.9b2a.svg")}
@media (max-width:860px){
  .upcoming-row{gap:10px}
  .up-card{flex-basis:146px;min-height:176px}
  .up-card .up-cd span{flex:1}
}
@media (max-width:420px){
  .up-card{flex-basis:138px;padding:11px 9px 10px}
  .up-card .up-name{font-size:13.5px;max-width:82px}
  .up-card .up-ic{width:34px;height:34px}
  .up-card .up-cd span{height:30px;line-height:30px;font-size:15px}
  .lb-item{font-size:12.5px;padding:4px 9px}
}

/* ================= 长龙榜（各房间当前连开统计，点击直达房间） ================= */
.longroad-list{display:flex;flex-direction:column;gap:8px}
.lr-item{display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:10px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.07);cursor:pointer;transition:.15s}
.lr-item:hover{background:rgba(64,165,242,.14);border-color:rgba(64,165,242,.45)}
.lr-room{flex:0 0 auto;font-size:14px;font-weight:700;color:#fff}
.lr-chips{display:flex;gap:8px;flex-wrap:wrap;flex:1;min-width:0}
.lr-chip{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:700;padding:4px 10px;border-radius:14px}
.lr-chip b{font-size:13px;font-family:Consolas,monospace}
/* 大/单=红系，小/双=蓝系（中文彩票惯例） */
.lr-chip.lr-big{color:#ffd7d0;background:rgba(240,68,56,.18);border:1px solid rgba(240,68,56,.5)}
.lr-chip.lr-big b{color:#ff6b5e}
.lr-chip.lr-small{color:#cfe9ff;background:rgba(46,132,235,.18);border:1px solid rgba(46,132,235,.5)}
.lr-chip.lr-small b{color:#5eb1ff}
.lr-arrow{flex:0 0 auto;color:rgba(255,255,255,.4);font-size:18px;line-height:1}

/* ================= #167 28玩法板块（替换长龙榜：三房间渐变卡） ================= */
.pc28-cards{display:flex;gap:14px;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x proximity}
.pc28-cards::-webkit-scrollbar{height:4px}
.pc28-cards::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18);border-radius:2px}
.p28-card{position:relative;flex:0 0 168px;scroll-snap-align:start;min-height:150px;border-radius:12px;padding:14px 12px 12px;box-sizing:border-box;cursor:pointer;overflow:hidden;transition:transform .18s,box-shadow .18s;color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.28)}
.p28-card:hover{transform:translateY(-4px);box-shadow:0 12px 26px rgba(0,0,0,.38)}
.p28-card.g2{background:linear-gradient(160deg,#f5b733 0%,#e8763a 100%)}
.p28-card.g3{background:linear-gradient(160deg,#3aa1f5 0%,#1c6dd9 100%)}
.p28-card.g6{background:linear-gradient(160deg,#a06bf5 0%,#6c3ae0 100%)}
.p28-card .p28-name{font-size:16px;font-weight:800;text-shadow:0 1px 2px rgba(0,0,0,.18)}
.p28-card .p28-period{font-size:11px;color:rgba(255,255,255,.85);margin-top:3px}
.p28-card .p28-last{font-size:11px;color:rgba(255,255,255,.75);margin-top:8px}
.p28-card .p28-cd{display:flex;gap:5px;margin-top:6px}
.p28-card .p28-cd span{flex:0 0 34px;height:32px;line-height:32px;text-align:center;font-size:16px;font-weight:800;border-radius:7px;background:rgba(0,20,40,.38);box-shadow:inset 0 1px 3px rgba(0,0,0,.3);font-family:Consolas,monospace}
.p28-card .p28-btn{margin-top:10px;width:100%;height:30px;line-height:30px;text-align:center;font-size:13px;font-weight:700;color:#fff;border-radius:15px;background:linear-gradient(90deg,rgba(255,255,255,.32),rgba(255,255,255,.14));border:1px solid rgba(255,255,255,.5)}
.p28-card:hover .p28-btn{background:linear-gradient(90deg,rgba(255,255,255,.45),rgba(255,255,255,.24))}

/* ================= #167 房间聊天（28/六合房间机器人投注展示） ================= */
.room-chat{margin-top:14px;background:var(--card);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.room-chat:empty{display:none}
.rc-head{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--line)}
.rc-title{font-size:14px;font-weight:800;color:var(--txt)}
.rc-sub{margin-left:auto;font-size:12px;color:var(--txt3)}
.rc-list{max-height:260px;overflow-y:auto;padding:10px 12px;display:flex;flex-direction:column;gap:9px}
.rc-msg{display:flex;gap:8px;align-items:flex-start}
.rc-msg.sys{justify-content:center}
.rc-sys{font-size:12px;color:#f5c451;background:rgba(245,196,81,.1);border:1px solid rgba(245,196,81,.28);border-radius:12px;padding:3px 12px}
.rc-ava{flex:0 0 28px;width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--brand1,#4681e8),var(--cyan));color:#fff;font-size:13px;font-weight:800;display:flex;align-items:center;justify-content:center}
.rc-body{min-width:0}
.rc-name{font-size:11.5px;color:var(--txt3);margin-bottom:2px}
.rc-text{display:inline-block;font-size:13px;color:var(--txt);background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:8px;padding:5px 10px}

/* ================= #71 首页轮播组件（目标站 venue-swiper 1:1：scroll-snap 三段分屏） ================= */
/* 头部右侧操作区：全部链接 + 左右箭头 */
.vsw-op{display:flex;align-items:center;gap:8px;margin-left:auto}
.vsw-arrow{
  width:26px;height:26px;border-radius:50%;
  background:var(--bg3);border:1px solid var(--line);
  color:var(--txt2);font-size:15px;line-height:1;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;transition:all .15s;padding:0 0 2px;
}
.vsw-arrow:hover{border-color:rgba(82,186,239,.5);color:#fff}
.vsw-arrow.dis{opacity:.3;pointer-events:none}
/* 三段分屏轮播：3 列（手机）/ 6 列（桌面），scroll-snap 横滑，隐藏滚动条 */
.vsw-wrap{
  --cols:6;
  display:grid;
  gap:7px;
  --iw:calc((100% - 7px * (var(--cols) - 1)) / var(--cols));
  grid-template-columns:repeat(auto-fill, var(--iw));
  grid-auto-columns:var(--iw);
  grid-auto-flow:column;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  scrollbar-width:none;
  padding-bottom:2px;
}
.vsw-wrap::-webkit-scrollbar{display:none}
.vsw-item{
  scroll-snap-align:start;
  aspect-ratio:.75;
  border-radius:10px;
  overflow:hidden;
  cursor:pointer;
  background:var(--bg2);
  transition:transform .18s, box-shadow .18s;
}
.vsw-item:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.35)}
.vsw-item img{width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:1024px){ .vsw-wrap{--cols:4} }
@media (max-width:760px){ .vsw-wrap{--cols:3} }

/* 近期大胜：小卡跑马灯（#85：缩小+自动无缝滚动，hover 暂停） */
.bigwin-sw{
  display:flex;gap:8px;
  overflow-x:auto;
  scroll-behavior:auto;
  scrollbar-width:none;
  padding-bottom:2px;
}
.bigwin-sw::-webkit-scrollbar{display:none}
.bw-card{width:17%;min-width:96px;flex:0 0 auto;cursor:default}
.bw-pic{
  width:100%;aspect-ratio:.75;
  border-radius:6px;overflow:hidden;
  margin-bottom:4px;background:var(--bg2);
}
.bw-pic img{width:100%;height:100%;object-fit:cover;display:block}
.bw-detail{display:flex;align-items:center;justify-content:space-between;gap:4px;font-size:10.5px}
.bw-u{color:var(--txt3);letter-spacing:.3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bw-m{color:#f5c451;font-weight:700;font-family:Consolas,monospace;white-space:nowrap}
@media (max-width:760px){
  .bw-card{width:22%;min-width:82px}
  .bw-detail{font-size:9.5px}
}

/* ================= #72 投注页左侧「我的收藏」蓝条 + 收藏抽屉 ================= */
.bp2-play{position:relative}
/* #180 盘口玩法切换开关：右栏最右、换肤按钮下、骑在近期开奖(走势)面板上边框（仅时时彩类显示） */
/* #190 盘口玩法：粉色竖排标签骑跨在近期开奖面板右缘（对称左侧收藏竖条，目标站 1:1） */
/* #221 盘口玩法竖条移到左缘「我的收藏」下方：与收藏条同款骑跨（露 5px），top = 收藏条(10px+高约104px)+14px 间距 */
.pankou-wrap{position:absolute;left:0;top:128px;z-index:29;transform:translateX(calc(-100% + 5px))}
.pankou-rail{position:static;writing-mode:vertical-rl;letter-spacing:5px;padding:12px 5px;background:linear-gradient(180deg,#ff8f9f,#f2506b);color:#fff;font-size:12px;font-weight:600;border-radius:0 8px 8px 0;box-shadow:2px 2px 8px rgba(242,80,107,.4);cursor:pointer;user-select:none}
.pankou-rail:hover{filter:brightness(1.08)}
.pankou-rail.on{background:linear-gradient(180deg,#4681e8,#3a6fd8);box-shadow:-2px 2px 8px rgba(70,129,232,.4)}
/* 盘口模式：子玩法 tab 行 */
.pk-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.pk-tabs .pk-sub{padding:6px 16px;border-radius:6px;font-size:13px;background:#232a36;color:#9fb0c3;cursor:pointer;user-select:none}
.pk-tabs .pk-sub.actived{background:var(--brand1);color:#fff}
.pk-tabs .pk-sub:hover{color:#dce7f5}
/* 盘口模式：位置分组卡（万位/千位/...） */
.pk-pos{background:#1b222d;border:1px solid rgba(255,255,255,.05);border-radius:10px;padding:10px 12px;margin-bottom:12px}
.pk-pos-head{display:flex;align-items:center;margin-bottom:8px}
.pk-pos-chip{display:inline-block;padding:3px 14px;border-radius:14px;background:#2c3542;color:#dce7f5;font-size:13px;font-weight:600}
.pk-dxds{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:8px}
.pk-nums{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.pk-cell{display:flex;align-items:center;gap:7px;padding:8px 10px;border-radius:8px;background:#232a36;cursor:pointer;user-select:none;border:1px solid transparent}
.pk-cell:hover{border-color:rgba(110,168,254,.4)}
.pk-cell.actived{background:rgba(70,129,232,.22);border-color:var(--brand1)}
.pk-cell.locked{opacity:.45;cursor:not-allowed}
.pk-ball{flex:none;width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,#4681e8,#55caf1);color:#fff;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center}
.pk-name{font-size:13px;color:#dce7f5;font-weight:600}
.pk-odds{font-size:12px;color:#8fa3ba;margin-left:auto}
/* 盘口模式：总和/和值网格 */
.pk-sum-title{margin:2px 0 8px;font-size:13px;color:#9fb0c3;font-weight:600}
.pk-hz-wrap{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pk-hz{background:#1b222d;border:1px solid rgba(255,255,255,.05);border-radius:10px;padding:10px 12px}
.pk-hz-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
.pk-hz-grid .pk-cell{flex-direction:column;gap:2px;padding:6px 2px;justify-content:center;text-align:center}
.pk-hz-grid .pk-ball{width:22px;height:22px;font-size:12px}
@media (max-width:900px){ .pk-hz-wrap{grid-template-columns:1fr} .pk-nums{grid-template-columns:repeat(5,1fr)} }
.pr-star{font-size:15px;letter-spacing:0;margin-top:8px;color:#ffe27a;cursor:pointer;transition:all .15s}
.pr-star.on{color:#ffd324;text-shadow:0 0 8px rgba(255,210,36,.8)}
/* #179 收藏面板：点击左上角按钮后向左侧下方弹出为浮层（覆盖玩法区，不推开内容） */
.fav-panel{
  /* #192 往外弹：挂 body 直属 + fixed（不被 main/view 的 overflow-x:clip 裁剪），
     left/top 由 JS 按竖条位置动态计算，弹出在投注框左缘外侧（目标站 1:1） */
  position:fixed;left:12px;top:110px;
  width:220px;max-height:calc(100vh - 140px);overflow:hidden auto;
  display:block;visibility:hidden;opacity:0;
  transform:translateX(-16px);
  transition:transform .18s ease,opacity .18s ease,visibility .18s;
  background:var(--bg2);z-index:3000;
  border:1px solid var(--line);border-radius:10px;
  box-shadow:16px 12px 34px rgba(0,0,0,.55);
}
.fav-panel.open{visibility:visible;opacity:1;transform:translateX(0)}
/* #190 收藏面板（目标站 1:1）：头部标题+齿轮 / 行式列表+倒计时 / 底部隐藏菜单 */
.fav-head{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--line);font-size:13px;font-weight:700;color:var(--txt)}
.fav-head .t{letter-spacing:1px}
.fav-gear{font-style:normal;font-size:11px;font-weight:400;color:var(--txt2);cursor:pointer;display:inline-flex;align-items:center;gap:3px;padding:2px 6px;border-radius:6px}
.fav-gear:hover{color:#52baef;background:rgba(82,186,239,.1)}
.fav-list{max-height:360px;overflow:auto}
.fav-row{display:flex;align-items:center;gap:8px;padding:9px 12px;cursor:pointer;border-bottom:1px solid var(--line);font-size:13px;color:var(--txt)}
.fav-row:hover{background:var(--bg3)}
.fav-row img{width:26px;height:26px;border-radius:50%;object-fit:cover;flex:none}
.fav-row .nm{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fav-cd{font-style:normal;font-weight:600;color:#ff6b81;font-size:12px;flex:none;font-variant-numeric:tabular-nums}
.fav-hide{padding:10px 0;text-align:center;font-size:12px;color:var(--txt2);cursor:pointer;border-top:1px solid var(--line)}
.fav-hide:hover{color:var(--txt);background:var(--bg3)}
.fav-item{
  display:flex;align-items:center;gap:8px;width:100%;box-sizing:border-box;
  padding:10px 12px;cursor:pointer;border-bottom:1px solid var(--line);
  font-size:13px;color:var(--txt);
}
.fav-item:hover{background:var(--bg3)}
.fav-item.on{background:rgba(82,186,239,.12);color:#52baef}
.fav-item img{width:26px;height:26px;border-radius:50%;object-fit:cover;flex:none}
.fav-item span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fav-del{font-style:normal;color:var(--txt3);padding:2px 7px;font-size:15px;cursor:pointer;flex:none}
.fav-del:hover{color:#e94560}
.fav-empty{width:220px;box-sizing:border-box;padding:16px 14px;font-size:12px;color:var(--txt3);line-height:1.7}



/* ================= #67 手机版「我的」页（1:1 eon5 webapp） ================= */
.my-page{max-width:560px;margin:0 auto;min-height:calc(100vh - 60px);padding-bottom:76px}
.my-head{position:relative;display:flex;align-items:center;justify-content:space-between;padding:26px 18px 30px;overflow:hidden;
  background:linear-gradient(135deg,#1c3a6e 0%,#274b8f 45%,#173265 100%)}
.my-head::after{content:'K';position:absolute;right:16px;top:-30px;font-size:130px;font-weight:900;color:rgba(255,255,255,.06);line-height:1;pointer-events:none}
.my-head-l{display:flex;align-items:center;gap:12px;z-index:1}
.my-avatar{width:58px;height:58px;border-radius:50%;background:linear-gradient(135deg,#4681e8,#55caf1);border:2px solid rgba(255,255,255,.35);
  display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;color:#fff;box-shadow:0 4px 14px rgba(0,0,0,.35)}
.my-uname{font-size:15px;font-weight:700;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.4)}
.my-head-r{display:flex;gap:10px;z-index:1}
.my-hic{width:34px;height:34px;border-radius:9px;background:rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center;color:#dfe9f5;cursor:pointer}
.my-hic .my-ic{display:flex}
.my-card{margin:0 14px 14px;background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:6px 14px}
/* #172 手机版「我的」页 1:1 对齐目标站（webapp /my）：居中用户名 + 右对齐余额 + 三按钮 + 纯净列表 */
.my-head2{position:relative;padding:26px 16px 18px;text-align:center}
.my-head2 .mh-icons{position:absolute;right:14px;top:18px;display:flex;gap:8px;z-index:1}
.my-head2 .mh-uname{font-size:20px;font-weight:800;color:#fff;letter-spacing:.5px;line-height:28px}
.my-head2 .mh-bal{margin-top:16px;text-align:right;font-size:15px;font-weight:600;color:#fff;line-height:22px}
.my-head2 .mh-login{display:block;width:170px;height:42px;line-height:42px;margin:18px auto 0;border-radius:8px;background:var(--brand-grad);color:#0e1111;font-size:15px;font-weight:700;cursor:pointer}
.my-ops{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:2px 14px 14px}
.my-op{height:42px;border:none;border-radius:8px;background:linear-gradient(180deg,#4a9be8,#2f6fbe);color:#fff;font-size:14px;font-weight:600;box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 2px 8px rgba(47,111,190,.28);cursor:pointer;font-family:inherit}
.my-op:active{filter:brightness(1.1)}
.my-logout2{padding:13px 0;text-align:center;font-size:14px;font-weight:600;color:#fc5c5c;cursor:pointer}
.my-logout2:active{opacity:.8}
.my-login-btn{margin:2px 4px 12px;padding:11px 0;text-align:center;font-size:15px;font-weight:600;color:#fff;
  border:1px solid rgba(255,255,255,.35);border-radius:10px;cursor:pointer;transition:background .2s}
.my-login-btn:hover{background:rgba(255,255,255,.08)}
.my-login-row{display:flex;align-items:center;justify-content:space-between;margin:2px 4px 12px}
.my-acc-id{font-size:15px;font-weight:700}
.my-acc-bal{font-size:12px;color:var(--txt2);margin-top:3px}
.my-acc-bal b{color:var(--gold)}
.my-logout{padding:7px 14px;border-radius:8px;border:1px solid var(--line);color:var(--txt2);font-size:12px}
.my-logout:hover{color:#fc3c3c;border-color:#fc3c3c}
.my-list{list-style:none}
.my-item{display:flex;align-items:center;justify-content:space-between;padding:12px 4px;cursor:pointer;border-radius:10px}
.my-item:hover{background:rgba(255,255,255,.03)}
.my-item + .my-item{border-top:1px solid rgba(255,255,255,.04)}
.my-item-l{display:flex;align-items:center;gap:12px}
.my-ic{width:26px;height:26px;border-radius:0;background:transparent;display:flex;align-items:center;justify-content:center;flex:none}
.my-item-t{font-size:14px;color:#dfe7ee}
.my-arrow{width:22px;height:22px;border-radius:6px;background:var(--bg3);color:var(--txt3);display:flex;align-items:center;justify-content:center;font-size:15px;line-height:1}

/* ================= #68 全部彩种页（1:1 eon5 webapp） ================= */
.al-page{max-width:560px;margin:0 auto;min-height:calc(100vh - 60px);padding-bottom:76px}
.al-topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;height:48px;padding:0 12px;
  background:var(--bg);border-bottom:1px solid var(--line)}
.al-back{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:22px;color:var(--txt2);cursor:pointer;border-radius:8px}
.al-back:hover{background:var(--bg3)}
.al-title{font-size:16px;font-weight:700}
.al-acts{display:flex;gap:12px;color:var(--txt2)}
.al-acts svg{cursor:pointer}
.al-body{padding:4px 0 20px}
.al-dl{float:right;margin:12px 14px 0;padding:8px 14px;border-radius:10px;font-size:12px;color:#cfe6ff;cursor:pointer;
  background:linear-gradient(135deg,#274b8f,#4681e8);box-shadow:0 4px 12px rgba(70,129,232,.3)}
.al-dl b{display:block;font-size:13px}
.al-box{list-style:none;clear:both;padding:0 14px}
.al-gt{display:flex;align-items:center;font-size:14px;font-weight:700;margin:16px 0 10px;color:var(--txt)}
.al-gt::before{content:'';width:4px;height:14px;border-radius:2px;background:linear-gradient(180deg,#4681e8,#55caf1);margin-right:7px}
.al-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.al-item{background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:14px 6px 12px;display:flex;flex-direction:column;align-items:center;gap:9px;cursor:pointer;transition:transform .15s,border-color .15s}
.al-item:hover{transform:translateY(-2px);border-color:#4681e8}
.al-item img{width:62px;height:62px;border-radius:50%;object-fit:cover;box-shadow:0 4px 10px rgba(0,0,0,.35)}
.al-t{font-size:12.5px;color:var(--txt);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
@media (max-width:400px){
  .al-item img{width:54px;height:54px}
  .al-t{font-size:12px}
}
.al-letter{width:62px;height:62px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:800;color:#fff;box-shadow:0 4px 10px rgba(0,0,0,.35);text-shadow:0 1px 3px rgba(0,0,0,.4)}
.my-uname{white-space:nowrap;font-size:14px}
@media (max-width:400px){.al-letter{width:54px;height:54px;font-size:22px}}

/* ===== #76 做号面板 ===== */
.zh-tip{font-size:12px;color:#8a94a6;margin-bottom:10px;line-height:1.6}
.zh-tip .zh-t-dan{color:#e0564a}
.zh-tip .zh-t-kill{color:#5a6472}
.zh-pos{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.zh-label{flex:none;width:44px;font-size:12px;color:#8a94a6}
.zh-balls{display:flex;flex-wrap:wrap;gap:6px}
.zh-b{width:32px;height:32px;line-height:32px;text-align:center;border-radius:50%;background:#f2f4f8;color:#333;font-size:13px;cursor:pointer;user-select:none;border:1px solid #e2e6ee;transition:all .15s}
.zh-b.on{background:#e0564a;border-color:#e0564a;color:#fff;font-weight:700}
.zh-b.kill{background:#5a6472;border-color:#5a6472;color:#cfd4dc;text-decoration:line-through}
.zh-filters{display:flex;flex-wrap:wrap;gap:12px;margin:10px 0 6px}
.zh-filters label{display:flex;align-items:center;gap:5px;font-size:13px;color:#4a5462}
.zh-filters input{width:64px;padding:5px 7px;border:1px solid #dfe3ec;border-radius:6px;font-size:13px}
.zh-filters i{font-style:normal;color:#b0b7c3}
.zh-forms{display:flex;gap:16px;margin:6px 0 10px}
.zh-forms label{display:flex;align-items:center;gap:5px;font-size:13px;color:#4a5462;cursor:pointer}
.zh-actions{display:flex;gap:10px;margin:8px 0}
.zh-result{margin-top:6px}
.zh-count{font-size:13px;color:#333;margin-bottom:6px}
.zh-count b{color:#e0564a;font-size:16px}
.zh-sample{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.zh-comb{background:#f2f4f8;border:1px solid #e2e6ee;border-radius:6px;padding:3px 8px;font-size:12px;color:#4a5462;font-family:monospace}
.zh-more{font-size:12px;color:#8a94a6;align-self:center}
.zh-over{font-size:13px;color:#e0564a;background:#fdf0ef;border:1px solid #f5c8c4;border-radius:8px;padding:8px 10px}
@media (max-width:560px){
  .zh-b{width:28px;height:28px;line-height:28px;font-size:12px}
  .zh-label{width:38px}
}

/* ===== #78 收藏推荐 ===== */
.fav-rec-title{font-size:12px;color:#8a94a6;margin:10px 0 6px;padding-left:2px}
.fav-add{font-style:normal;color:#b0b7c3;font-size:16px;padding:2px 6px;cursor:pointer}
.fav-add:hover{color:#f5a623}

/* ===== #116 影音专区 ===== */
.video-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:4px 2px}
.video-card{position:relative;border-radius:10px;overflow:hidden;background:#1e2222;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.3);transition:transform .18s,box-shadow .18s}
.video-card:hover{transform:translateY(-3px);box-shadow:0 10px 22px rgba(0,0,0,.4)}
.video-cover{position:relative;width:100%;padding-top:56.25%;background:#000 center/cover no-repeat;background-color:#2a2e2e}
.video-duration{position:absolute;bottom:6px;right:6px;padding:2px 6px;background:rgba(0,0,0,.7);color:#fff;font-size:11px;border-radius:4px;font-weight:600}
.video-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:46px;height:46px;border-radius:50%;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px);transition:.18s}
.video-play svg{width:22px;height:22px}
.video-card:hover .video-play{background:rgba(255,82,82,.85);transform:translate(-50%,-50%) scale(1.08)}
.video-tags{position:absolute;top:6px;left:6px;display:flex;gap:4px}
.video-tag{font-size:10px;padding:2px 5px;border-radius:3px;font-weight:700;letter-spacing:.5px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3)}
.video-tag.hot{background:linear-gradient(90deg,#ff5757,#ff2d2d)}
.video-tag.new{background:linear-gradient(90deg,#4ed164,#22b14c)}
.video-tag.vip{background:linear-gradient(90deg,#f5b733,#e8763a)}
.video-info{padding:10px 10px 12px}
.video-title{font-size:13.5px;font-weight:700;color:#fff;line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:34px}
.video-meta{display:flex;justify-content:space-between;margin-top:6px;font-size:11px;color:var(--txt2)}
.video-meta span{display:inline-flex;align-items:center;gap:3px}
.video-player-mask{position:fixed;inset:0;background:rgba(0,0,0,.85);display:flex;align-items:center;justify-content:center;z-index:99999;backdrop-filter:blur(6px);animation:vpFadeIn .2s ease}
@keyframes vpFadeIn{from{opacity:0}to{opacity:1}}
.video-player-box{width:min(960px,92vw);max-height:90vh;background:#0d1011;border-radius:14px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 50px rgba(0,0,0,.6);animation:vpZoom .25s cubic-bezier(.34,1.56,.64,1)}
@keyframes vpZoom{from{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}
.vp-head{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;background:#1c2123;color:#fff;border-bottom:1px solid #2a2e2e}
.vp-head span{font-size:15px;font-weight:700}
.vp-close{width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:20px;line-height:30px;text-align:center;cursor:pointer;transition:.15s}
.vp-close:hover{background:rgba(255,82,82,.85);transform:rotate(90deg)}
@media (max-width:560px){
  .video-grid{grid-template-columns:1fr}
  .video-cover{padding-top:52%}
}

/* ===== #115 即将开奖 6 卡片横排已就绪 ===== */

/* ===== #118 近期大胜 大卡 ===== */
.bigwin-card{position:relative;display:flex;align-items:center;gap:12px;flex:0 0 244px;padding:14px 16px;border-radius:14px;background:linear-gradient(135deg,#3a3252 0%,#2c1f43 100%);color:#fff;cursor:pointer;overflow:hidden;transition:.18s;box-shadow:0 6px 18px rgba(0,0,0,.32)}
.bigwin-card:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(0,0,0,.42)}
.bigwin-card .bw-game{position:absolute;top:8px;right:10px;font-size:11px;background:rgba(255,255,255,.18);padding:2px 7px;border-radius:9px;color:#fff;font-weight:600}
.bigwin-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#ff8a48,#ff5757);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:800;color:#fff;flex:none;box-shadow:0 2px 6px rgba(0,0,0,.3)}
.bigwin-info{flex:1;min-width:0}
.bigwin-user{font-size:13.5px;font-weight:700;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bigwin-type{font-size:11px;color:rgba(255,255,255,.7);margin-top:1px}
.bigwin-amount{margin-top:6px;font-size:18px;font-weight:800;color:#ffcf45;font-family:Consolas,monospace}
.bigwin-amount .yuan{font-size:11px;color:rgba(255,255,255,.6);margin-left:2px;font-family:var(--font)}

/* ===== #121 我的收藏 可编辑 ===== */
.fav-edit-bar{display:flex;justify-content:space-between;align-items:center;padding:6px 4px;margin-bottom:8px;border-bottom:1px dashed rgba(255,255,255,.1)}
.fav-edit-bar .left{font-size:12px;color:var(--txt2)}
.fav-edit-bar .toggle{font-size:12.5px;color:var(--brand);cursor:pointer;padding:4px 10px;border-radius:14px;border:1px solid var(--brand);background:rgba(64,165,242,.1);transition:.15s}
.fav-edit-bar .toggle:hover{background:rgba(64,165,242,.22)}
.fav-pill-grid{display:flex;flex-wrap:wrap;gap:8px;padding:4px 0}
.fav-pill{position:relative;font-size:13px;color:#fff;padding:7px 13px;border-radius:6px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);cursor:pointer;transition:.15s;display:inline-flex;align-items:center}
.fav-pill:hover{background:rgba(64,165,242,.18);border-color:rgba(64,165,242,.45)}
.fav-pill .del{position:absolute;top:-6px;right:-6px;width:18px;height:18px;border-radius:50%;background:#fc3c3c;color:#fff;font-size:12px;line-height:18px;text-align:center;display:none;box-shadow:0 2px 6px rgba(0,0,0,.3)}
.fav-pill.editing{border-style:dashed;border-color:#ff5757}
.fav-pill.editing .del{display:block}
.fav-pill.add-pill{background:rgba(64,165,242,.12);border-color:rgba(64,165,242,.45);color:var(--brand)}
.fav-picker-mask{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:9999;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px)}
.fav-picker-box{width:min(720px,92vw);max-height:80vh;background:#1e2222;border-radius:12px;padding:18px;display:flex;flex-direction:column;color:#fff;box-shadow:0 20px 50px rgba(0,0,0,.5)}
.fav-picker-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.fav-picker-head h3{font-size:16px;font-weight:700}
.fav-picker-close{width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;font-size:18px;line-height:26px;text-align:center;cursor:pointer}
.fav-picker-close:hover{background:rgba(252,60,60,.7)}
.fav-picker-tabs{display:flex;gap:6px;margin-bottom:10px;flex-wrap:wrap}
.fav-picker-tab{font-size:12px;padding:4px 10px;border-radius:12px;border:1px solid rgba(255,255,255,.15);color:rgba(255,255,255,.75);cursor:pointer}
.fav-picker-tab.active{background:var(--brand);border-color:var(--brand);color:#fff}
.fav-picker-list{overflow-y:auto;flex:1;display:flex;flex-wrap:wrap;gap:8px;padding:6px 2px}
.fav-picker-list .opt{font-size:12.5px;padding:5px 9px;border-radius:6px;border:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.78);cursor:pointer;background:rgba(255,255,255,.04)}
.fav-picker-list .opt:hover{background:rgba(64,165,242,.15);border-color:rgba(64,165,242,.4)}
.fav-picker-list .opt.on{background:rgba(64,165,242,.85);border-color:var(--brand);color:#fff}
.fav-picker-foot{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}
.fav-picker-foot button{padding:7px 18px;border-radius:6px;font-size:13px;cursor:pointer}
.fav-picker-foot .btn-cancel{background:rgba(255,255,255,.08);color:#fff}
.fav-picker-foot .btn-ok{background:var(--brand);color:#fff;border:none}

/* ===== #122 弹窗从左侧弹出 ===== */
.slide-left-mask{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:9000;backdrop-filter:blur(2px);animation:slFade .2s ease}
.slide-left-panel{position:fixed;top:0;left:0;bottom:0;width:min(420px,90vw);background:#1e2222;color:#fff;z-index:9001;display:flex;flex-direction:column;box-shadow:6px 0 28px rgba(0,0,0,.5);transform:translateX(-100%);animation:slIn .28s cubic-bezier(.22,1,.36,1) forwards}
.slide-left-panel.right{left:auto;right:0;transform:translateX(100%);animation:slInR .28s cubic-bezier(.22,1,.36,1) forwards}
@keyframes slFade{from{opacity:0}to{opacity:1}}
@keyframes slIn{from{transform:translateX(-100%)}to{transform:translateX(0)}}
@keyframes slInR{from{transform:translateX(100%)}to{transform:translateX(0)}}
.slide-head{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.08);font-size:15px;font-weight:700}
.slide-head .close{width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.1);font-size:18px;line-height:28px;text-align:center;cursor:pointer}
.slide-head .close:hover{background:rgba(252,60,60,.7)}
.slide-body{flex:1;overflow-y:auto;padding:14px 18px}
@media (max-width:560px){
  .slide-left-panel{width:88vw}
}

/* ===== #123 代理管理入口卡 ===== */
.agency-card{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-radius:12px;background:linear-gradient(135deg,#3c4cb5,#23327d);color:#fff;margin-bottom:12px;box-shadow:0 6px 16px rgba(35,50,125,.32);cursor:pointer;transition:.18s}
.agency-card:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(35,50,125,.42)}
.agency-card .lt{display:flex;align-items:center;gap:12px}
.agency-card .lt .icon{width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:800}
.agency-card .lt .txt .ttl{font-size:14.5px;font-weight:700}
.agency-card .lt .txt .desc{font-size:11.5px;color:rgba(255,255,255,.75);margin-top:3px}
.agency-card .rt{font-size:11.5px;color:rgba(255,255,255,.85);background:rgba(255,255,255,.18);padding:4px 12px;border-radius:12px}

/* ===== #92 首页/代理页尺寸与居中对齐目标站 ===== */
@media (min-width:1080px){
  /* 所有 #app 内的「内层容器」在桌面端居中 1248px（目标站 .main-content 真实值） */
  #viewHome,
  #viewGames,
  #viewMember,
  #viewAgent,
  #viewAllLottery,
  #viewPromo,
  #viewLottery{width:100%;max-width:1248px;margin:0 auto}
  #viewBet{width:100%;max-width:1248px;margin:0 auto}
  /* 真人页与首页一致宽 */
  #viewGames .cat-page{max-width:1248px;margin:0 auto}
  /* 优惠页：内容列 918px 居中 */
  #viewPromo{width:100%;max-width:918px;margin:0 auto}
  /* 个人中心/代理中心：桌面端左右栏间距加大 */
  #viewMember .member-layout,#viewAgent .member-layout{grid-template-columns:240px 1fr;gap:18px}
}

/* ===== #139 优惠页 1:1（目标站 #/activity） ===== */
.promo-page-title{font-size:18px;font-weight:700;color:var(--txt);margin:2px 0 14px}
/* #224 优惠页顶部旧全宽轮播（promo-top）已移除，改为首页同款 promo-row 3 卡片 */
.active-content{margin-top:16px}
.active-content ul.promo-tab{display:flex;gap:10px;list-style:none;margin:0 0 14px;padding:0}
.active-content ul.promo-tab li{padding:8px 18px;border-radius:8px;font-size:13px;font-weight:600;color:var(--txt2);background:var(--bg2);border:1px solid var(--line);cursor:pointer;transition:all .18s;white-space:nowrap}
.active-content ul.promo-tab li:hover{color:var(--txt)}
.active-content ul.promo-tab li.actived{background:rgba(82,186,239,.14);border-color:rgba(82,186,239,.45);color:#52baef}
.promotion-items{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.promotion-items .item{background:var(--bg2);border:1px solid var(--line);border-radius:10px;overflow:hidden;cursor:pointer;transition:transform .2s,box-shadow .2s,border-color .2s}
.promotion-items .item:hover{transform:translateY(-3px);border-color:rgba(82,186,239,.5);box-shadow:0 8px 22px rgba(0,0,0,.4)}
.promotion-items .item .pi-img{width:100%;aspect-ratio:394.63/170.18;background:var(--bg3)}
.promotion-items .item .pi-img img{width:100%;height:100%;object-fit:cover;display:block}
.promotion-items .item .text{display:flex;align-items:center;gap:10px;padding:10px 13px}
.promotion-items .item .t-left{flex:1;min-width:0}
.promotion-items .item .text .title{font-size:13.5px;font-weight:700;color:var(--txt);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.35}
.promotion-items .item .text .end{font-size:11.5px;color:var(--txt3);white-space:nowrap;line-height:1.4}
.promotion-items .item .text .end p{display:inline;margin:0;color:var(--txt3)}
.promotion-items .item .text .go{flex:0 0 auto;font-size:12.5px;font-weight:600;color:#52baef;background:rgba(82,186,239,.12);border:1px solid rgba(82,186,239,.4);border-radius:6px;padding:6px 12px;white-space:nowrap}
@media (max-width:760px){
  .promotion-items{grid-template-columns:1fr;gap:12px}
  .active-content ul.promo-tab{overflow-x:auto;padding-bottom:2px}
}

/* ===== #119 彩种显示开关提示 ===== */
.game-disabled-hint{font-size:11.5px;color:#ff5757;background:rgba(255,87,87,.1);border:1px solid rgba(255,87,87,.3);border-radius:6px;padding:5px 9px;margin-top:6px;display:inline-block}

/* ===== #119 后台关闭彩种 置灰+不可点 ===== */
.up-card.disabled{filter:grayscale(.7) brightness(.72);cursor:not-allowed}
.up-card.disabled .up-btn{background:rgba(255,255,255,.18);color:rgba(255,255,255,.6)}
.up-off{position:absolute;top:10px;left:10px;padding:2px 7px;font-size:10.5px;font-weight:700;color:#fff;background:rgba(252,60,60,.85);border-radius:4px;letter-spacing:.5px}
.lb-item.disabled{filter:grayscale(.8);cursor:not-allowed;color:rgba(255,255,255,.45)}
.lb-item.disabled:hover{background:rgba(255,87,87,.1);border-color:rgba(255,87,87,.35)}
.al-item.disabled{filter:grayscale(.8);opacity:.55;cursor:not-allowed}

/* ===== #123 代理中心 基础渲染 ===== */
.ag-card{background:var(--card);border-radius:12px;padding:18px 20px;color:var(--txt);box-shadow:0 4px 16px rgba(0,0,0,.2);margin-bottom:14px}
.ag-card h3{font-size:16px;font-weight:700;color:var(--txt);margin-bottom:8px}
.ag-card p{font-size:13px;color:var(--txt2);line-height:1.7}
.ag-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}
.ag-stats>div{background:rgba(255,255,255,.04);padding:14px;border-radius:10px;text-align:center;border:1px solid rgba(255,255,255,.06)}
.ag-stats>div span{display:block;font-size:11.5px;color:var(--txt2);margin-bottom:6px}
.ag-stats>div b{font-size:18px;color:#f5c451;font-family:Consolas,monospace}
@media (max-width:560px){
  .ag-stats{grid-template-columns:1fr}
}

/* ===== #146 团队金字塔 org-chart 逻辑关系图 ===== */
:root{--py-line:rgba(82,186,239,.45)}
.py-stat{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:5px 14px;font-size:12px;color:var(--txt2)}
.py-stat b{color:#f5c451;font-family:Consolas,monospace}
.py-legend{display:flex;align-items:center;gap:14px;margin:8px 0 4px;font-size:11.5px;color:var(--txt3)}
.py-legend .lg-agent::before,.py-legend .lg-member::before{content:'';display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:-1px}
.py-legend .lg-agent::before{background:linear-gradient(135deg,#f5c451,#b07d1f)}
.py-legend .lg-member::before{background:linear-gradient(135deg,#52BAEF,#2a5a8c)}
.py-legend .lg-tip::before{content:'↕';margin-right:5px;color:#52BAEF}
.py-scroll{overflow-x:auto;padding:10px 4px 16px}
.py-tree,.py-tree ul{display:flex;justify-content:center;list-style:none;margin:0;padding:20px 0 0;position:relative}
.py-tree{padding-top:0}
.py-tree li{display:flex;flex-direction:column;align-items:center;padding:20px 9px 0;position:relative}
/* 兄弟节点间横向连线 + 垂直落线 */
.py-tree li::before,.py-tree li::after{content:'';position:absolute;top:0;right:50%;border-top:1.5px solid var(--py-line);width:50%;height:20px}
.py-tree li::after{right:auto;left:50%;border-left:1.5px solid var(--py-line)}
.py-tree li:only-child::before,.py-tree li:only-child::after{display:none}
.py-tree li:only-child{padding-top:20px}
/* 父卡到底层的垂直线（嵌套 ul 才有） */
.py-tree ul::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);border-left:1.5px solid var(--py-line);height:20px}
/* 顶层节点无父线 */
.py-tree>li{padding-top:0}
.py-tree>li::before,.py-tree>li::after{display:none}
.py-tree>li:only-child{padding-top:0}
/* 节点卡 */
.py-node{position:relative;z-index:1;min-width:126px;max-width:150px;background:linear-gradient(160deg,rgba(42,90,140,.4),rgba(22,48,78,.6));border:1px solid rgba(82,186,239,.4);border-radius:12px;padding:12px 12px 10px;text-align:center;transition:transform .18s,box-shadow .18s,border-color .18s}
.py-node:hover{transform:translateY(-2px);border-color:rgba(82,186,239,.75);box-shadow:0 6px 18px rgba(0,0,0,.45)}
.py-node.is-agent{border-color:rgba(245,196,81,.55);background:linear-gradient(160deg,rgba(122,92,32,.42),rgba(62,46,20,.6))}
.py-node.is-root{border-color:#f5c451;box-shadow:0 0 0 1px rgba(245,196,81,.35),0 8px 24px rgba(0,0,0,.5)}
.py-node.has-kids{cursor:pointer}
.py-ava{width:40px;height:40px;margin:0 auto 6px;border-radius:50%;background:linear-gradient(135deg,#52BAEF,#2a5a8c);display:flex;align-items:center;justify-content:center;font-weight:800;color:#fff;font-size:15px}
.py-node.is-agent .py-ava{background:linear-gradient(135deg,#f5c451,#b07d1f)}
.py-name{font-size:12.5px;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.py-meta{font-size:10.5px;color:var(--txt3);margin-top:2px}
.py-nums{display:flex;justify-content:center;gap:8px;margin-top:7px;font-size:10px;color:#8fd0ff}
.py-nums b{color:#f5c451;font-weight:600}
.py-chip{position:absolute;top:-9px;right:-7px;min-width:20px;height:20px;border-radius:10px;background:#52BAEF;color:#fff;font-size:10.5px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 5px;box-shadow:0 2px 6px rgba(0,0,0,.4)}
/* 收起分支 */
.py-tree li.py-collapsed>ul{display:none}
@media (max-width:760px){
  .py-node{min-width:104px;max-width:120px;padding:9px 8px 8px}
  .py-ava{width:32px;height:32px;font-size:12px;margin-bottom:4px}
  .py-tree li{padding:16px 5px 0}
  .py-tree li::before,.py-tree li::after{height:16px}
  .py-tree ul::before{height:16px}
}
@media (hover: none) and (pointer: coarse){.cat-nav-with-sub .tp-submenu{display:none}.cat-nav-with-sub .tp-submenu.open{display:block}}

/* ================= #173 电脑版投注页底部：路纸图 + 投注记录（目标站 1:1） ================= */
.roadmap2-sec{margin-top:14px;background:var(--bg2);border:1px solid var(--line);border-radius:8px;overflow:hidden}
.rm2-head{display:flex;align-items:center;justify-content:space-between;padding:13px 16px 4px}
.rm2-title{font-size:14px;font-weight:700;color:#fff}
.rm2-note{font-size:11px;color:#8a9199}
.rm2-note::before{content:'* ';color:#e0342e}
.rm2-ctrl{display:flex;align-items:center;gap:18px;padding:10px 16px}
.rm2-select{position:relative;display:flex;align-items:center;gap:8px;border:1px solid #3a4046;border-radius:6px;padding:7px 12px;font-size:13px;color:#fff;cursor:pointer;user-select:none}
.rm2-select .rm2-caret{font-style:normal;font-size:10px;color:#8a9199}
.rm2-menu{position:absolute;left:-1px;top:calc(100% + 4px);z-index:30;background:#1d2126;border:1px solid #3a4046;border-radius:6px;min-width:100%;box-shadow:0 8px 22px rgba(0,0,0,.5);max-height:240px;overflow:auto}
.rm2-menu span{display:block;padding:8px 14px;font-size:13px;color:#cfd6dc;white-space:nowrap;cursor:pointer}
.rm2-menu span:hover{background:rgba(255,255,255,.06)}
.rm2-menu span.on{color:#52baf1}
.rm2-tabs{display:flex;align-items:center;gap:18px}
.rm2-tabs span{font-size:13px;color:#8a9199;cursor:pointer}
.rm2-tabs span.on{color:#52baf1;font-weight:600}
.rm2-latest{margin-left:auto;display:flex;align-items:center;gap:8px}
.rm2-period{font-size:12px;color:#cfd6dc}
.rm2-balls{display:flex;gap:5px}
.rm2-body{display:flex;gap:14px;padding:10px 16px 16px;align-items:stretch}
.rm2-sec{display:flex;gap:8px;min-width:0}
.rm2-sec-big{flex:1}
.rm2-vlabel{writing-mode:vertical-rl;letter-spacing:4px;font-size:12px;color:#9aa3ab;display:flex;align-items:center;justify-content:center;flex:none}
.rm2-scroll{overflow-x:auto;padding-bottom:4px}
.rm2-scroll::-webkit-scrollbar{height:4px}
.rm2-grid{display:flex;width:max-content}
.rm2-col{width:30px;display:flex;flex-direction:column;gap:4px;padding:3px 4px}
.rm2-col.odd{background:rgba(255,255,255,.035)}
.rm2-ball,.rm2-ring{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;font-style:normal;color:#fff;margin:0 auto;flex:none}
.rm2-ball.red{background:radial-gradient(circle at 35% 30%,#f0655c,#c22a24)}
.rm2-ball.blue{background:radial-gradient(circle at 35% 30%,#5ea3e8,#2f6fbe)}
.rm2-ball.none{background:transparent}
.rm2-ring{background:transparent;color:transparent!important}
.rm2-ring.red{border:2px solid #d9352f;box-sizing:border-box}
.rm2-ring.blue{border:2px solid #3d87d6;box-sizing:border-box}
.rm2-ring.none{border-color:transparent}

/* #173 投注记录（投注记录/账变记录/近期盈亏） */
.betrec-sec{margin-top:14px;background:var(--bg2);border:1px solid var(--line);border-radius:8px;overflow:hidden}
.br2-head{display:flex;align-items:center;gap:26px;padding:14px 16px 10px}
.br2-tab{font-size:14px;color:#8a9199;cursor:pointer}
.br2-tab.on{color:#fff;font-weight:700}
.br2-acts{margin-left:auto;display:flex;gap:16px}
.br2-acts i{font-style:normal;font-size:12px;color:#52baf1;cursor:pointer}
.br2-acts i:hover{text-decoration:underline}
.br2-tablewrap{min-height:230px;position:relative}
.br2-table{width:100%;border-collapse:collapse;font-size:12.5px}
.br2-table th{padding:11px 10px;text-align:center;color:#cfd6dc;font-weight:600;background:rgba(0,0,0,.18);white-space:nowrap}
.br2-table td{padding:10px;border-top:1px solid rgba(255,255,255,.04);color:#b9c2c9;text-align:center;white-space:nowrap}
.br2-table td.br2-cnt{max-width:280px;overflow:hidden;text-overflow:ellipsis}
.br2-act{font-style:normal;color:#52baf1;cursor:pointer}
.br2-act:hover{text-decoration:underline}
.br2-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:26px 0}
.br2-empty p{margin-top:6px;font-size:12px;color:#8a9199}
@media (max-width:760px){.roadmap2-sec,.betrec-sec{display:none!important}}

/* ================= #174 电脑版投注页 1:1 对齐目标站 ================= */
/* 头部蓝卡：纯白大字倒计时（目标站无底色块） */
.bh2-countdown{font-size:46px;font-weight:800}
.bh2-countdown i{background:none;padding:0}
.bh2-countdown.closed i{background:none;color:#ffd7d7}
/* 我的收藏竖条：深蓝（目标站 1:1），星标在顶部 */
.play-ribbon{background:linear-gradient(180deg,#31405a,#1e2a3c);box-shadow:2px 2px 10px rgba(0,0,0,.35)}
.play-ribbon .pr-star{margin:0;color:#ffe27a}
/* 玩法 tabs：active 白底蓝字（目标站 1:1） */
.bet-tabs2 .method-tab.actived{background:#fff;color:#1f5ecc;font-weight:700}
/* 近期开奖：蓝渐变标题条 + 白球蓝字 + 组态红标（目标站 1:1）；relative 供盘口玩法标签骑跨定位 */
.recent-panel{padding:0 0 10px;position:relative}
.recent-panel .rp-head{background:linear-gradient(90deg,#2f6fe0,#4aa3f5);border-radius:10px 10px 0 0;margin:0 0 6px;padding:0 !important}
.recent-panel .rp-tab{color:rgba(255,255,255,.88);border-bottom:none;padding:10px 0}
.recent-panel .rp-tab.on{color:#fff;font-weight:700;border-bottom:none}
.rball{background:#fff;color:#2b6cb0;box-shadow:0 1px 3px rgba(0,0,0,.28)}
.rp-zutai{color:#e0342e;font-weight:600}

/* ===== #193 盘口玩法 v2（目标站表格版）：6 列表格 + 筹码工具行 + 右栏排行 ===== */
.pk-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;background:#1b222d;border:1px solid rgba(255,255,255,.05);border-radius:10px;padding:10px 12px;margin-bottom:12px}
.pk-chips{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pk-tl{color:#8fa3ba;font-size:12px}
.pk-amt-master{width:86px;padding:6px 10px;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:#232a36;color:#fff;font-size:13px;outline:none}
.pk-amt-master:focus{border-color:var(--brand1)}
.pk-chip{display:inline-flex;align-items:center;justify-content:center;min-width:44px;padding:6px 10px;border-radius:16px;font-size:12px;font-weight:700;color:#fff;cursor:pointer;user-select:none;background:linear-gradient(180deg,#ff8f9f,#f2506b);box-shadow:0 2px 6px rgba(242,80,107,.35);border:2px solid transparent}
.pk-chip:nth-child(3){background:linear-gradient(180deg,#5fd0ff,#3a8de0);box-shadow:0 2px 6px rgba(58,141,224,.35)}
.pk-chip:nth-child(4){background:linear-gradient(180deg,#8f7bff,#6a4fe0);box-shadow:0 2px 6px rgba(106,79,224,.35)}
.pk-chip:nth-child(5){background:linear-gradient(180deg,#ffd36b,#e0a13a);box-shadow:0 2px 6px rgba(224,161,58,.35)}
.pk-chip:nth-child(6){background:linear-gradient(180deg,#7be0a8,#3abf7a);box-shadow:0 2px 6px rgba(58,191,122,.35)}
.pk-chip.actived{border-color:#fff;filter:brightness(1.1)}
.pk-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pk-quick{position:relative;display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border-radius:8px;background:#2c3542;color:#dce7f5;font-size:12px;cursor:pointer;user-select:none}
.pk-quick i{font-style:normal;font-size:10px;color:#8fa3ba}
.pk-quick-menu{display:none;position:absolute;top:calc(100% + 6px);right:0;z-index:60;min-width:96px;background:#232a36;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:4px;box-shadow:0 8px 20px rgba(0,0,0,.4)}
.pk-quick-menu.open{display:block}
.pk-quick-item{display:block;padding:6px 12px;border-radius:6px;color:#dce7f5;font-size:12px;cursor:pointer;text-align:center}
.pk-quick-item:hover{background:rgba(70,129,232,.22);color:#fff}
.pk-clear{display:inline-flex;align-items:center;padding:6px 12px;border-radius:8px;background:#2c3542;color:#ff8f9f;font-size:12px;cursor:pointer;user-select:none}
.pk-rebate{display:inline-flex;align-items:center;padding:6px 12px;border-radius:8px;background:#2c3542;color:#ffd36b;font-size:12px;cursor:pointer;user-select:none}
.pk-betnow{padding:7px 18px;border:none;border-radius:8px;background:linear-gradient(90deg,#2f6fe0,#4aa3f5);color:#fff;font-size:13px;font-weight:700;cursor:pointer;box-shadow:0 2px 8px rgba(47,111,224,.4)}
.pk-betnow:hover{filter:brightness(1.1)}
.pk-table-wrap{background:#1b222d;border:1px solid rgba(255,255,255,.05);border-radius:10px;padding:10px 12px;overflow-x:auto}
.pk-table{width:100%;border-collapse:collapse;min-width:640px}
.pk-table .pk-th{padding:8px 6px;color:#dce7f5;font-size:13px;font-weight:700;text-align:center;background:#2c3542;border-radius:6px}
.pk-table .pk-th:first-child{border-radius:6px 0 0 6px}
.pk-table .pk-th:last-child{border-radius:0 6px 6px 0}
.pk-table td{padding:4px 4px;vertical-align:middle}
.pk-rlabel{color:#8fa3ba;font-size:11px;white-space:nowrap;text-align:center;width:56px}
.pk-tcell{background:#232a36;border:1px solid rgba(255,255,255,.04);border-radius:8px;padding:5px 8px !important;cursor:pointer;user-select:none;transition:border-color .15s,background .15s}
.pk-tcell:hover{border-color:rgba(110,168,254,.45)}
.pk-tcell.locked{opacity:.35;cursor:not-allowed}
.pk-tcell.empty{background:transparent;border-color:transparent;cursor:default}
.pk-tcell.filled{background:rgba(70,129,232,.2);border-color:var(--brand1)}
.pk-trow{display:flex;align-items:center;justify-content:space-between;gap:8px}
.pk-tlabel{color:#e8eef7;font-size:13px;font-weight:600;white-space:nowrap}
.pk-todds{color:#8fa3ba;font-size:11px;white-space:nowrap}
.pk-amt{width:100%;box-sizing:border-box;margin-top:4px;padding:4px 6px;border-radius:6px;border:1px solid rgba(255,255,255,.1);background:#1b222d;color:#ffd36b;font-size:13px;font-weight:700;text-align:center;outline:none}
.pk-amt:focus{border-color:var(--brand1)}
.pk-tip{margin-top:8px;color:#5f7189;font-size:11px}
/* 右栏排行（PK_MODE 时替换近期开奖/走势） */
.recent-panel.pk-on .rp-head,.recent-panel.pk-on .rp-pane{display:none !important}
#pkRankPane{display:block}
.pk-rank-head{display:flex;align-items:center;gap:6px;padding:8px 10px;background:linear-gradient(90deg,#2f6fe0,#4aa3f5);border-radius:10px;margin-bottom:6px}
.pk-rtab{padding:4px 10px;border-radius:12px;color:rgba(255,255,255,.8);font-size:12px;cursor:pointer;user-select:none}
.pk-rtab.on{background:rgba(255,255,255,.22);color:#fff;font-weight:700}
.pk-rspan{margin-left:auto;color:rgba(255,255,255,.75);font-size:11px}
.pk-rank-body{background:#1b222d;border:1px solid rgba(255,255,255,.05);border-radius:10px;padding:6px 8px;max-height:560px;overflow-y:auto}
.pk-rank-row{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:6px;font-size:12px}
.pk-rank-row:nth-child(odd){background:rgba(255,255,255,.03)}
.pk-rank-row.hot .pk-rc{color:#ff6b81;font-weight:700}
.pk-ra{color:#8fa3ba;flex:1;white-space:nowrap}
.pk-rb{color:#e8eef7;font-weight:700;min-width:24px;text-align:center}
.pk-rc{color:#4aa3f5;font-weight:600;white-space:nowrap}
.pk-rank-empty{padding:24px 0;text-align:center;color:#5f7189;font-size:12px}

/* ===== #194 盘口整合：前三/中三/后三和值大小单双区块 ===== */
.pk-hz3-wrap{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px}
.pk-hz3{flex:1;min-width:220px;background:#1b222d;border:1px solid rgba(255,255,255,.05);border-radius:10px;padding:10px 12px}
.pk-hz3-title{color:#dce7f5;font-size:13px;font-weight:700;margin-bottom:6px}
.pk-hz3-head{display:flex;justify-content:space-between;color:#8fa3ba;font-size:11px;padding:2px 4px 6px;border-bottom:1px solid rgba(255,255,255,.06)}
.pk-hz3-table{width:100%;border-collapse:collapse}
.pk-hz3-td{padding:4px 0}

/* ===== #194 盘口子玩法表（单列/三列窄表） ===== */
.pk-sub-table{min-width:360px !important;max-width:640px}
.pk-sub-table .pk-rlabel{width:70px;font-size:12px;color:#dce7f5;text-align:center;background:#2c3542;border-radius:6px}

/* ===== #195 盘口玩法 tab 按钮动画（目标站样式：激活红字+滑动下划线+脉冲） ===== */
.pk-sub{position:relative;padding:8px 14px;color:#8fa3ba;font-size:13px;cursor:pointer;user-select:none;transition:color .25s ease,transform .15s ease;border-radius:8px 8px 0 0}
.pk-sub::after{content:'';position:absolute;left:50%;bottom:1px;width:0;height:3px;border-radius:2px;background:linear-gradient(90deg,#ff8f9f,#f2506b);transform:translateX(-50%);transition:width .25s cubic-bezier(.22,1,.36,1);box-shadow:0 1px 4px rgba(242,80,107,.5)}
.pk-sub:hover{color:#e8eef7;transform:translateY(-1px)}
.pk-sub:active{transform:scale(.92)}
.pk-sub.actived{color:#ff6b81;font-weight:700;animation:pkPop .32s cubic-bezier(.22,1,.36,1)}
.pk-sub.actived::after{width:58%}
@keyframes pkPop{0%{transform:scale(.82);opacity:.35}60%{transform:scale(1.06)}100%{transform:scale(1);opacity:1}}
/* 盘口内容切换淡入 */
.pk-toolbar,.pk-table-wrap,.pk-hz3-wrap{animation:pkFadeIn .35s ease}
@keyframes pkFadeIn{0%{opacity:0;transform:translateY(10px)}100%{opacity:1;transform:none}}
/* 筹码按下反馈 */
.pk-chip{transition:transform .12s ease,filter .15s ease}
.pk-chip:hover{transform:translateY(-2px) scale(1.05)}
.pk-chip:active{transform:scale(.9)}
.pk-chip.actived{animation:pkChipSel .3s ease}
@keyframes pkChipSel{0%{transform:scale(.85)}55%{transform:scale(1.12)}100%{transform:scale(1)}}
/* 一键投注呼吸 */
.pk-betnow{transition:filter .15s ease,transform .12s ease;animation:pkBreath 2.2s ease-in-out infinite}
.pk-betnow:active{transform:scale(.95)}
@keyframes pkBreath{0%,100%{box-shadow:0 2px 8px rgba(47,111,224,.4)}50%{box-shadow:0 2px 16px rgba(74,163,245,.75)}}

/* ===== #196 龙虎斗 VS 卡片（目标站实况：蓝渐变标题 + 龙/和/虎圆点 + 赔率 + 金额框） ===== */
.pk-vs-wrap{background:#1b222d;border:1px solid rgba(255,255,255,.05);border-radius:10px;padding:14px 10px;margin-bottom:12px}
.pk-vs-row{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.pk-vs-row:last-child{margin-bottom:0}
.pk-vs-card{width:186px;background:#232a36;border:1px solid rgba(255,255,255,.06);border-radius:10px;overflow:hidden}
.pk-vs-head{background:linear-gradient(90deg,#3a8de0,#5fd0ff);color:#fff;font-size:12px;font-weight:700;text-align:center;padding:6px 4px;letter-spacing:.5px}
.pk-vs-opts{display:flex;justify-content:space-around;padding:8px 4px 10px}
.pk-vs-opt{display:flex;flex-direction:column;align-items:center;gap:4px;width:52px;padding:4px 2px;border-radius:8px;cursor:pointer;user-select:none;border:1px solid transparent;transition:border-color .15s,background .15s}
.pk-vs-opt:hover{border-color:rgba(110,168,254,.45)}
.pk-vs-opt.filled{background:rgba(70,129,232,.2);border-color:var(--brand1)}
.pk-vs-dot{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;color:#fff;font-size:13px;font-weight:700;box-shadow:0 2px 5px rgba(0,0,0,.35)}
.pk-vs-dragon{background:linear-gradient(180deg,#ff8f9f,#e0344e)}
.pk-vs-tie{background:linear-gradient(180deg,#7be0a8,#2fae66)}
.pk-vs-tiger{background:linear-gradient(180deg,#5fd0ff,#2f8fd0)}
.pk-vs-odds{color:#ffd36b;font-size:11px;font-weight:600}
.pk-vs-opt .pk-amt{margin-top:2px}
/* tab 激活样式对齐目标站：白字+白下划线 */
.pk-sub.actived{color:#fff;animation:pkPop .32s cubic-bezier(.22,1,.36,1)}
.pk-sub.actived::after{width:58%;background:linear-gradient(90deg,#e8eef7,#9fc3f0);box-shadow:0 1px 4px rgba(232,238,247,.4)}
/* 龙虎排行侧色：@龙 红 / @虎 青 / @和 绿 */
.pk-rb-side-龙{color:#ff6b81}
.pk-rb-side-虎{color:#5fd0ff}
.pk-rb-side-和{color:#7be0a8}
/* #196 手机宽度：VS 卡片一行 4 张，还原目标站 4/3/2/1 梯形排列 */
@media (max-width:520px){
  .pk-vs-card{width:calc(25% - 8px);min-width:0}
  .pk-vs-head{font-size:10px;padding:5px 1px;white-space:nowrap;letter-spacing:0}
  .pk-vs-opts{padding:4px 0 6px;gap:0}
  .pk-vs-opt{width:33%;padding:3px 0;font-size:10px}
  .pk-vs-dot{width:22px;height:22px;font-size:11px}
  .pk-vs-odds{font-size:9px}
  .pk-vs-opt .pk-amt{padding:2px 2px;font-size:11px;border-radius:4px}
  .pk-vs-row{gap:8px;margin-bottom:10px}
}

/* ===== #197-1 全屏走势图页 ===== */
.trend-page{position:fixed;inset:0;z-index:900;background:var(--bg,#0f1620);display:none;flex-direction:column}
.trend-page.on{display:flex;animation:pkFadeIn .25s ease}
.tp-head{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--bg2,#171e29);border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0}
.tp-back{font-size:26px;line-height:1;color:#dce7f5;cursor:pointer;padding:0 6px 4px;user-select:none}
.tp-title{font-size:15px;font-weight:800;color:#fff;white-space:nowrap}
.tp-kinds{display:flex;gap:6px;margin-left:auto;overflow-x:auto}
.tp-kind{font-size:12px;color:#9db0c8;padding:4px 12px;border-radius:14px;background:rgba(255,255,255,.05);cursor:pointer;white-space:nowrap;transition:all .15s}
.tp-kind.on{color:#fff;background:linear-gradient(90deg,#4681e8,#55caf1);font-weight:700}
.tp-sub{padding:8px 14px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--bg2,#171e29);border-bottom:1px solid rgba(255,255,255,.04);flex-shrink:0}
.tp-lg{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:#9db0c8}
.tp-poss{display:flex;gap:6px;flex-wrap:wrap}
.tp-pos{font-size:12px;color:#9db0c8;padding:3px 10px;border-radius:12px;background:rgba(255,255,255,.05);cursor:pointer}
.tp-pos.on{color:#ffd36b;background:rgba(255,211,107,.12);font-weight:700}
.tp-body{flex:1;overflow:auto;-webkit-overflow-scrolling:touch}
.tp-scroll{min-width:max-content;padding:8px;position:relative}
/* #225 走势图页连线层：折线压在网格与遗漏数字上、命中球压在折线上 */
.tp-lines{position:absolute;left:0;top:0;z-index:3;pointer-events:none}
.tp-table{border-collapse:collapse;font-size:12px;position:relative;z-index:1}
.tp-table th,.tp-table td{border:1px solid rgba(255,255,255,.05);padding:2px 3px;text-align:center}
.tp-pth,.tp-pd{position:sticky;left:0;z-index:2;background:#1b222d;color:#dce7f5;font-size:11px;min-width:64px}
.tp-gh{background:#2c3542;color:#fff;font-weight:700;font-size:12px;padding:5px 6px}
.tp-nh{background:#232a36;color:#9db0c8;font-size:11px;min-width:26px}
.tp-c{min-width:26px;height:26px;font-size:11px;color:#5a6b82;background:#121821}
.tp-miss{color:#5a6b82}
.tp-stat{color:#ffd36b;background:#1b222d;font-weight:700}
.tp-b{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;font-size:11px;font-weight:800;color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.4);position:relative;z-index:4}
.tp-hit{background:linear-gradient(180deg,#ff8f9f,#e0344e)}
.tp-red{background:#e0344e}
.tp-blue{background:#2f7bff}
.tp-green{background:#27c18f}
/* #197-1 右栏「走势图」全屏入口 */
.rp-head.rp-tabs{display:flex;align-items:center;gap:10px}
.rp-full{margin-left:auto;font-size:11px;color:#55caf1;cursor:pointer;white-space:nowrap;user-select:none}
.rp-full:active{opacity:.7}

/* ===== #197-2 开奖动画 ===== */
.ball.draw-roll{animation:ballFlicker .14s steps(2,end) infinite;filter:brightness(1.35)}
@keyframes ballFlicker{
  0%{transform:translateY(-18%) scale(.92);opacity:.75}
  50%{transform:translateY(0) scale(1.05);opacity:1}
  100%{transform:translateY(18%) scale(.92);opacity:.75}
}
.ball.draw-pop{animation:ballPop .38s cubic-bezier(.22,1.4,.36,1)}
@keyframes ballPop{
  0%{transform:scale(.3);opacity:.4}
  60%{transform:scale(1.25);opacity:1}
  100%{transform:scale(1)}
}
.bh-state.drawing{color:#ffd36b !important;animation:drawPulse .8s ease-in-out infinite}
@keyframes drawPulse{0%,100%{opacity:1}50%{opacity:.45}}

/* ===== #198 PK 子玩法布局（牛牛金字塔 / 百家乐表格+路纸 / 炸金花阶梯 / 梭哈表格） ===== */
/* 牛牛金字塔 */
.pk-py-wrap{background:#1b222d;border:1px solid rgba(255,255,255,.05);border-radius:10px;padding:16px 10px;margin-bottom:12px;animation:pkFadeIn .35s ease}
.pk-py-row{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.pk-py-row:last-child{margin-bottom:0}
.pk-py{width:118px;cursor:pointer;user-select:none;border-radius:8px;padding:2px 2px 6px;border:1px solid transparent;transition:border-color .15s,background .15s;text-align:center}
.pk-py.filled{border-color:#ffd36b;background:rgba(255,211,107,.06)}
.pk-py-bar{height:30px;line-height:30px;border-radius:6px;color:#fff;font-size:13px;font-weight:700;letter-spacing:1px}
.pk-n-big{background:linear-gradient(180deg,#b06ae8,#7a2fc0);box-shadow:0 2px 5px rgba(122,47,192,.35)}
.pk-n-wu{background:linear-gradient(180deg,#f08050,#c0442f);box-shadow:0 2px 5px rgba(192,68,47,.35)}
.pk-n-niu{background:linear-gradient(180deg,#4aa8e8,#2f6fc0);box-shadow:0 2px 5px rgba(47,111,192,.35)}
.pk-n-shi{background:linear-gradient(180deg,#c05ae8,#8a2fb0);box-shadow:0 2px 5px rgba(138,47,176,.35)}
.pk-py-odds{display:block;color:#ffd36b;font-size:11px;font-weight:600;margin:4px 0 2px}
.pk-py .pk-amt{width:100%;box-sizing:border-box;padding:3px 4px;border-radius:5px;border:1px solid rgba(255,255,255,.1);background:#121821;color:#ffd36b;font-size:12px;font-weight:700;text-align:center;outline:none}
/* 百家乐/梭哈 4 列表格 */
.pk-t4{min-width:0;max-width:none}
.pk-t4 .pk-th{width:33.3%}
.pk-t4-odds{color:#e64545;font-size:13px;font-weight:700;text-align:left;white-space:nowrap}
.pk-t4-amt{width:100%;min-width:72px;box-sizing:border-box;padding:4px 6px;border-radius:6px;border:1px solid rgba(255,255,255,.1);background:#121821;color:#ffd36b;font-size:13px;font-weight:700;text-align:center;outline:none}
.pk-pill{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:26px;padding:0 10px;border-radius:13px;border:1.5px solid #dce7f5;color:#fff;font-size:12px;font-weight:700;background:#232a36;white-space:nowrap}
.pk-pill.pill-red{border-color:#e64545;color:#ff8f9f}
.pk-pill.pill-blue{border-color:#5fd0ff;color:#5fd0ff}
.pk-pill.pill-green{border-color:#7be0a8;color:#7be0a8}
/* 百家乐常规路路纸 */
.pk-road{background:#1b222d;border:1px solid rgba(255,255,255,.05);border-radius:10px;padding:10px 12px;margin-top:12px;animation:pkFadeIn .35s ease}
.pk-road-head{display:flex;align-items:center;gap:14px;margin-bottom:8px}
.pk-road-title{color:#fff;font-size:13px;font-weight:700}
.pk-road-lg{color:#9db0c8;font-size:12px}
.pk-road-lg b{color:#ffd36b}
.pk-road-tip{margin-left:auto;color:#5a6b82;font-size:11px}
.pk-road-bead{display:flex;flex-wrap:wrap;gap:4px;padding-bottom:8px;border-bottom:1px dashed rgba(255,255,255,.08);margin-bottom:8px}
.pk-rd{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;font-size:10px;font-weight:700;color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.4)}
.pz-b{background:linear-gradient(180deg,#ff8f9f,#e0344e)}
.pz-p{background:linear-gradient(180deg,#5fd0ff,#2f6fc0)}
.pz-t{background:linear-gradient(180deg,#7be0a8,#2fae66)}
.pk-road-big{display:flex;align-items:flex-start;gap:10px}
.pk-road-sub{color:#dce7f5;font-size:12px;font-weight:700;flex-shrink:0;line-height:30px}
/* 炸金花三组阶梯 */
.pk-zjh{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px;animation:pkFadeIn .35s ease}
.pk-zjh-sec{flex:1;min-width:200px;background:#1b222d;border:1px solid rgba(255,255,255,.05);border-radius:10px;padding:10px 12px}
.pk-zjh-head{color:#fff;font-size:13px;font-weight:700;text-align:center;margin-bottom:8px}
.pk-zjh-hrow{display:flex;gap:8px;color:#5a6b82;font-size:11px;padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.06)}
.pk-zjh-c1{width:64px}.pk-zjh-c2{width:70px}.pk-zjh-c3{flex:1;text-align:right}
.pk-zjh-opt{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.04);cursor:pointer;border-radius:6px;transition:background .15s}
.pk-zjh-opt.filled{background:rgba(255,211,107,.06)}
.pk-zjh-odds{color:#e64545;font-size:13px;font-weight:700;white-space:nowrap}
.pk-zjh-opt .pk-t4-amt{flex:1;min-width:0}
@media (max-width:520px){
  .pk-py{width:calc(50% - 12px)}
  .pk-py-row{gap:8px;margin-bottom:8px}
  .pk-zjh{flex-direction:column}
}

/* ===== #199 整合页（目标站 zh.png）：子表头/单行格子/筹码/底部投注栏/排行色 ===== */
/* 主表：两行表头（玩法名 + 号码/赔率/金额） */
.pk-table .pk-th{background:#243244;color:#e8f1fb;border-radius:0;padding:9px 6px}
.pk-table .pk-th:first-child{border-radius:8px 0 0 0}
.pk-table .pk-th:last-child{border-radius:0 8px 0 0}
.pk-table .pk-subth{background:#1b2534;color:#7f92ab;font-size:11px;font-weight:400;padding:4px 6px;border-radius:0}
.pk-subth span{display:inline-block;width:33%;text-align:center}
/* 单行格子：圆徽 + 红赔率 + 深色输入框 */
.pk-tcell{white-space:nowrap}
.pk-tcell .pk-zb{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;border:1px solid #7f92ab;color:#e8eef7;font-size:11px;margin-right:6px;vertical-align:middle;flex:none}
.pk-tcell .pk-todds{display:inline-block;color:#ff5a5a;font-size:11px;width:42px;margin-right:6px;vertical-align:middle;text-align:left}
.pk-tcell .pk-amt{display:inline-block;margin-top:0;width:58px;vertical-align:middle;background:#161d27;border-color:rgba(255,255,255,.08);color:#ffd36b}
/* 筹码：扑克筹码样式（10/50 灰，100/5000 蓝，10000 亮蓝） */
.pk-chip{min-width:44px;min-height:44px;padding:0 6px;border-radius:50%;border:2px dashed rgba(255,255,255,.75);box-shadow:0 3px 8px rgba(0,0,0,.35),inset 0 0 0 3px rgba(255,255,255,.12)}
.pk-chip[data-chip="10"],.pk-chip[data-chip="50"]{background:linear-gradient(180deg,#a7b4c6,#5f7086);box-shadow:0 3px 8px rgba(0,0,0,.35),inset 0 0 0 3px rgba(255,255,255,.12)}
.pk-chip[data-chip="100"],.pk-chip[data-chip="5000"]{background:linear-gradient(180deg,#5fc4ff,#2f7fe0);box-shadow:0 3px 8px rgba(0,0,0,.35),inset 0 0 0 3px rgba(255,255,255,.12)}
.pk-chip[data-chip="10000"]{background:linear-gradient(180deg,#41b9ff,#1e88e0);box-shadow:0 3px 8px rgba(0,0,0,.35),inset 0 0 0 3px rgba(255,255,255,.12)}
.pk-chip.actived{border-color:#fff;outline:2px solid rgba(255,255,255,.35)}
/* 底部投注栏 */
.pk-footbar{display:flex;align-items:center;gap:16px;background:#1b222d;border:1px solid rgba(255,255,255,.05);border-radius:10px;padding:10px 14px;margin-top:12px}
.pk-fb-sel{color:#8fa3ba;font-size:12px;white-space:nowrap}
.pk-fb-sel b{color:#ffb04a;font-size:15px;margin:0 2px}
.pk-fb-total{color:#8fa3ba;font-size:12px;white-space:nowrap}
.pk-fb-total em{color:#ff5a5a;font-style:normal;font-weight:700;margin:0 2px}
.pk-fb-bet{margin-left:auto;background:linear-gradient(90deg,#2f6fe0,#4aa3f5);border:none;color:#fff;border-radius:8px;padding:9px 26px;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap}
.pk-fb-bet:active{filter:brightness(.92)}
/* 排行：值颜色（大/双=蓝，小/单=红，直选=白）+ 期数下拉 */
.pk-rank-row .pk-rb em{font-style:normal;font-weight:700}
.pk-rb-side-big,.pk-rb-side-even{color:#4aa3f5}
.pk-rb-side-small,.pk-rb-side-odd{color:#ff6b81}
.pk-rb-c{color:#8fa3ba;font-style:normal;margin:0 1px}
.pk-rspan{position:relative;cursor:pointer;background:rgba(255,255,255,.16);border-radius:6px;padding:3px 8px;display:inline-flex;align-items:center;gap:4px}
.pk-rspan i{font-style:normal;font-size:9px}
.pk-rn-menu{display:none;position:absolute;top:calc(100% + 6px);right:0;background:#232a36;border:1px solid rgba(255,255,255,.12);border-radius:8px;overflow:hidden;z-index:30;min-width:64px;box-shadow:0 6px 18px rgba(0,0,0,.4)}
.pk-rn-menu.open{display:block}
.pk-rn-item{display:block;padding:6px 14px;color:#e8eef7;font-size:12px;text-align:center;cursor:pointer}
.pk-rn-item:hover{background:rgba(110,168,254,.22)}

/* ===== #199 投注确认弹窗美化 ===== */
.modal .bet-confirm{width:400px;background:linear-gradient(180deg,#1e2733,#161d27);border:1px solid rgba(110,168,254,.22);border-radius:16px;padding:0;overflow:hidden;box-shadow:0 18px 50px rgba(0,0,0,.5);animation:bcPop .22s cubic-bezier(.34,1.4,.64,1)}
@keyframes bcPop{from{transform:scale(.86) translateY(14px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}
.bet-confirm .modal-title{position:relative;background:linear-gradient(120deg,#2f6fe0,#4aa3f5);color:#fff;font-size:15px;font-weight:700;text-align:center;padding:13px 40px;letter-spacing:2px}
.bet-confirm .modal-title::before{content:'🎫';margin-right:6px;font-size:14px}
.bet-confirm .modal-x{position:absolute;top:8px;right:10px;z-index:5;background:rgba(255,255,255,.18);border:none;color:#fff;width:26px;height:26px;border-radius:50%;font-size:15px;cursor:pointer;line-height:26px;padding:0}
.bet-confirm .modal-x:hover{background:rgba(255,255,255,.32)}
.bet-confirm .bc-info{padding:12px 18px 0;display:flex;justify-content:space-between;align-items:center}
.bet-confirm .bc-info span:first-child{display:inline-block;background:rgba(110,168,254,.14);border:1px solid rgba(110,168,254,.35);color:#8fc2ff;border-radius:20px;padding:4px 14px;font-size:13px;font-weight:700}
.bet-confirm .bc-info span:last-child{color:#8fa3ba;font-size:12px}
.bet-confirm .bc-info b{color:#ffd36b;font-size:13px}
.bet-confirm .bc-list{margin:12px 14px 0;max-height:250px;overflow-y:auto;border:1px solid rgba(255,255,255,.07);border-radius:10px;background:rgba(0,0,0,.18);scrollbar-width:thin}
.bet-confirm .bc-list::-webkit-scrollbar{width:4px}
.bet-confirm .bc-list::-webkit-scrollbar-thumb{background:#2c3542;border-radius:2px}
.bet-confirm .bc-row{display:flex;align-items:center;gap:10px;padding:9px 12px;border-bottom:1px solid rgba(255,255,255,.05);font-size:13px}
.bet-confirm .bc-row:last-child{border-bottom:none}
.bet-confirm .bc-row:nth-child(odd){background:rgba(255,255,255,.025)}
.bet-confirm .bc-idx{flex:none;width:20px;height:20px;border-radius:50%;background:rgba(110,168,254,.16);color:#8fc2ff;font-size:11px;display:inline-flex;align-items:center;justify-content:center}
.bet-confirm .bc-row .bc-name{color:#e8eef7;font-weight:600;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bet-confirm .bc-row .bc-odds{flex:none;background:rgba(255,209,107,.12);border:1px solid rgba(255,209,107,.3);color:#ffd36b;border-radius:12px;padding:1px 10px;font-size:11px}
.bet-confirm .bc-row .bc-amt{flex:none;color:#4aff9f;font-weight:700}
.bet-confirm .bc-total{display:flex;justify-content:space-between;align-items:center;padding:14px 18px 4px;font-size:13px;color:#8fa3ba}
.bet-confirm .bc-total b{font-size:22px;background:linear-gradient(90deg,#ffd36b,#ff9a4a);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:800}
.bet-confirm .btn-login-big{margin:10px 14px 16px;width:calc(100% - 28px) !important;background:linear-gradient(90deg,#2f6fe0,#4aa3f5);border-radius:10px;height:44px;font-size:15px;font-weight:700;letter-spacing:4px;box-shadow:0 6px 18px rgba(47,111,224,.4);border:none;color:#fff;cursor:pointer}
.bet-confirm .btn-login-big:active{filter:brightness(.9)}
.pk-subth{white-space:nowrap}
.pk-subth span{width:33.3%;white-space:nowrap;font-size:10px}

/* ===== #201 公告栏（目标站 shouy.png） ===== */
.notice-bar{display:flex;align-items:center;gap:8px;background:#1b222d;border:1px solid rgba(255,255,255,.05);border-radius:10px;padding:0 12px;height:40px;margin:12px 0;overflow:hidden}
.nb-icon{font-size:15px;flex:none}
.nb-label{color:#ffb04a;font-size:12px;flex:none}
.nb-scroll{flex:1;overflow:hidden;height:100%;display:flex;align-items:center}
.nb-track{display:inline-flex;white-space:nowrap;animation:nbMarquee 24s linear infinite}
.nb-track span{color:#8fa3ba;font-size:12px;padding-right:70px}
.nb-more{color:#4aa3f5;font-size:12px;flex:none;cursor:pointer}
.nb-more:hover{color:#6db8ff}
@keyframes nbMarquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ===== #204 百家乐/龙虎斗全屏走势页（六路 + 统计） ===== */
.tp-road-title{color:#dce7f5;font-size:14px;font-weight:700;margin:14px 4px 8px}
.tp-road-title em{font-style:normal;color:#5f7189;font-size:11px;font-weight:400;margin-left:6px}
.tp-roadwrap{padding:10px;background:#141b26;border:1px solid rgba(255,255,255,.05);border-radius:10px}
/* #226 走势图页珠盘路同样贴满右边框（保持 46px 最小格） */
.tp-roadwrap .rb-grid{grid-auto-columns:minmax(46px,1fr)}
/* ===== #227/#228 奖金模式（投注栏按钮 + 滑块弹窗） ===== */
#btnBonusMode{border-color:rgba(82,186,239,.5);color:#52baef}
#btnBonusMode.active{background:linear-gradient(135deg,#2f6fe0,#4aa3f5);color:#fff;border-color:transparent}
.bm-box{max-width:420px;width:92%}
.bm-slider-wrap{padding:14px}
.bm-val{display:flex;align-items:baseline;justify-content:center;gap:8px;margin-bottom:10px}
.bm-val b{font-size:30px;color:#52baef;font-family:Arial,'Helvetica Neue',sans-serif;letter-spacing:1px}
.bm-val span{font-size:13px;color:var(--txt3)}
.bm-slider{width:100%;height:6px;-webkit-appearance:none;appearance:none;background:linear-gradient(90deg,#2f6fe0,#4aa3f5);border-radius:3px;outline:none;cursor:pointer}
.bm-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,#2f6fe0,#4aa3f5);border:3px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.45);cursor:grab}
.bm-slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:linear-gradient(135deg,#2f6fe0,#4aa3f5);border:3px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.45);cursor:grab}
.bm-scale{display:flex;justify-content:space-between;margin-top:8px;font-size:13px;color:var(--txt)}
.bm-scale span{display:flex;flex-direction:column;align-items:center;line-height:1.4}
.bm-scale i{font-style:normal;font-size:10.5px;color:var(--txt3)}
.bm-note{margin-top:12px;font-size:12px;color:var(--txt2);line-height:1.7}
.bm-ref{margin-top:10px;font-size:12px;color:#7fe0a7;background:rgba(127,224,167,.08);border:1px solid rgba(127,224,167,.25);border-radius:8px;padding:7px 10px;min-height:20px}
.tp-dsstat{margin-top:10px}
.tp-road-extra{display:flex;gap:18px;color:#8fa3ba;font-size:12px}
.tp-road-extra b{color:#ffd36b}
.tp-dsstat .ds-item{min-width:120px}

/* ===== #205 手机版 1:1（目标站 www.eon5.org mobile 实测样式） ===== */
/* APP 下载条置顶覆盖，头部下沉（关闭后恢复） */
html.is-mobile .app-dl-bar{position:fixed;top:0;left:0;width:100%;z-index:96;box-shadow:0 4px 4px rgba(0,0,0,.3),0 8px 12px 6px rgba(0,0,0,.15)}
html.is-mobile .topbar{top:56px}
html.is-mobile .view.actived{padding-top:56px}
html.is-mobile.no-appbar .topbar{top:0}
html.is-mobile.no-appbar .view.actived{padding-top:0}
/* 登录：目标站为纯文本（无胶囊底） */
html.is-mobile .topbar .login{background:none;padding:0;font-size:16px;font-weight:700;color:var(--cyan)}
/* 公告栏：目标站手机版顶部无公告（移至页面下方卡片），隐藏顶部公告条 */
html.is-mobile .notice-bar{display:none}
/* banner 文案：最高RMB¥ 白色标签 + 金额青色（#52baef） */
html.is-mobile .banner-card .box .money{color:#52baef}
html.is-mobile .banner-item.b1{background:linear-gradient(90.06deg,#377FA4 -4.62%,#2B3031 36.99%)}
html.is-mobile .banner-card .btn-login-big{background:linear-gradient(90deg,#4681E8 0%,#55CAF1 100%);color:#000;font-weight:800;box-shadow:inset 0 -2px 0 #2e77d7}
/* 近期大胜：蓝点闪烁动画（目标站 ping） */
@keyframes nbPing{0%{transform:scale(1);opacity:.9}70%{transform:scale(2.2);opacity:0}100%{transform:scale(2.2);opacity:0}}
html.is-mobile .win-dot{position:relative}
html.is-mobile .win-dot::after{content:'';position:absolute;inset:0;border-radius:50%;background:#52baef;animation:nbPing 1s cubic-bezier(0,0,.2,1) infinite}
/* #205 banner 内按钮完整可见（卡片压缩进 205px banner） */
html.is-mobile .banner-item.b1 .banner-card{padding:12px 16px 10px}
html.is-mobile .banner-item.b1 .banner-card p{margin-bottom:8px}
html.is-mobile .banner-item.b1 .banner-card .box{margin-bottom:10px;line-height:1.45}
html.is-mobile .banner-item.b1 .banner-card .btn-login-big{height:34px;line-height:34px;padding:0 18px}
/* #205 banner 精确排版（覆盖 #172 的 22px 块级规则，目标站：紧凑左对齐 + 立即登录按钮） */
html.is-mobile #viewHome > .banner-swiper .banner-card{padding:14px 18px !important}
html.is-mobile #viewHome > .banner-swiper .banner-card p{font-size:18px !important;line-height:1.2 !important;margin-bottom:10px !important}
html.is-mobile #viewHome > .banner-swiper .banner-card .box{padding:0 !important;background:none !important;font-size:13px !important;line-height:1.7 !important}
html.is-mobile #viewHome > .banner-swiper .banner-card .box>span{display:inline !important;font-size:13px !important;line-height:1.7 !important}
html.is-mobile #viewHome > .banner-swiper .banner-card .box .money{display:inline !important;font-size:20px !important;line-height:1.4 !important}
html.is-mobile #viewHome > .banner-swiper .banner-card .btn-login-big{margin-top:6px !important;height:32px !important;line-height:32px !important;padding:0 16px !important;font-size:12px !important;display:block !important;width:96px !important;text-align:center !important}
/* 目标站 banner 为静态卡（无圆点指示器） */
html.is-mobile #viewHome .dot-wrap{display:none}

/* ============ #206 桌面首页对齐 shouy.png：3 张促销卡 + 侧栏钱包卡 ============ */
/* 桌面端：隐藏首页轮播，显示 3 卡促销轮播（#214 目标站 1:1） */
#viewHome > .banner-swiper{display:none}
.promo-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:12px}
.promo-mini{position:relative;height:150px;min-width:0;border-radius:14px;overflow:hidden;cursor:pointer;display:flex;align-items:flex-start;box-sizing:border-box;background-size:cover;background-position:right center;background-repeat:no-repeat;transition:transform .2s,box-shadow .2s}
.promo-mini:hover{transform:translateY(-3px);box-shadow:0 8px 22px rgba(0,0,0,.4)}
.promo-mini:hover .pc-imgbg{transform:scale(1.04)}
.promo-mini .pc-txt{position:relative;z-index:2;min-width:0;padding:20px 0 0 20px}
.promo-mini .pc-title{font-size:19px;font-weight:700;letter-spacing:.5px}
.promo-mini .pc-sub{margin-top:7px;font-size:12.5px}
.promo-mini .pc-sub b{font-size:15px;font-style:normal;margin:0 1px}
/* KG.GAME 角标（左下） */
.promo-mini .pc-logo{position:absolute;left:16px;bottom:12px;z-index:2;font-size:12px;font-weight:800;font-style:italic;letter-spacing:.5px;color:#fff;opacity:.92;font-family:Arial,'Helvetica Neue',sans-serif}
.promo-mini .pc-logo.dark{color:#243b55;opacity:.85}
/* 卡1 提现福利：浅蓝白（深色文案） */
.pm-blue{background-image:linear-gradient(100deg,#eaf4ff 0%,rgba(234,244,255,0) 55%),url("../img/promo_withdraw.jpg");background-color:#dcecfb}
.pm-blue .pc-title{color:#1e5fc4;text-shadow:none}
.pm-blue .pc-sub{color:#5b7a9d}
/* 卡2 新手豪礼：深紫（白文案） */
.pm-purple{background-image:linear-gradient(100deg,rgba(43,18,74,.72) 0%,rgba(43,18,74,0) 60%),url("../img/promo_newbie.jpg");background-color:#2b124a}
.pm-purple .pc-title{color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.45)}
.pm-purple .pc-sub{color:rgba(255,255,255,.92)}
.pm-purple .pc-sub b{color:#ffe27a}
/* 卡3 开业庆典：金橙（白文案） */
.pm-gold{background-image:linear-gradient(100deg,rgba(64,38,6,.72) 0%,rgba(64,38,6,0) 60%),url("../img/promo_opening.jpg");background-color:#402606}
.pm-gold .pc-title{color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.45)}
.pm-gold .pc-sub{color:rgba(255,255,255,.92)}
.pm-gold .pc-sub b{color:#ffe27a}
/* 指示点（截图：8 点，激活项为蓝色长条） */
.promo-dots{display:flex;align-items:center;justify-content:center;gap:6px;margin:-2px 0 14px}
.promo-dots i{width:6px;height:6px;border-radius:3px;background:rgba(255,255,255,.32);cursor:pointer;transition:all .25s}
.promo-dots i.active{width:22px;background:#52BAEF}
/* 移动端：恢复轮播，隐藏促销行 */
html.is-mobile #viewHome > .banner-swiper{display:block !important}
html.is-mobile .promo-row{display:none !important}
html.is-mobile .promo-dots{display:none !important}
@media (max-width:900px){
  #viewHome > .banner-swiper{display:block !important}
  .promo-row{display:none !important}
  .promo-dots{display:none !important}
}
/* ===== #224 类目页 / 优惠页轮播：首页同款 promo-row 3 卡片 + 指示点 ===== */
/* 首页隐藏规则不适用于类目页 / 优惠页（后写的规则覆盖上面的 display:none） */
.cp-card{background-size:cover;background-position:right center;background-repeat:no-repeat;background-color:#141a30}
.promo-mini .pc-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:left center;display:block}
.promo-page-row{margin-bottom:2px}
.promo-page-row .pp-cover{background:#1b2340}
html.is-mobile .cat-promo-row,
html.is-mobile .promo-page-row{display:flex !important;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
html.is-mobile .cat-promo-row::-webkit-scrollbar,
html.is-mobile .promo-page-row::-webkit-scrollbar{display:none}
html.is-mobile .cat-promo-row .promo-mini,
html.is-mobile .promo-page-row .promo-mini{flex:0 0 62%;height:96px;scroll-snap-align:start}
html.is-mobile .cp-card .pc-txt{padding:16px 0 0 14px}
html.is-mobile .cp-card .pc-title{font-size:15px}
html.is-mobile .cp-card .pc-sub{font-size:11px;margin-top:4px}
html.is-mobile .cp-card .pc-logo{display:none}
html.is-mobile .cat-promo-dots,
html.is-mobile .promo-page-dots{display:flex !important}
@media (max-width:900px){
  .cat-promo-row,
  .promo-page-row{display:flex !important;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .cat-promo-row::-webkit-scrollbar,
  .promo-page-row::-webkit-scrollbar{display:none}
  .cat-promo-row .promo-mini,
  .promo-page-row .promo-mini{flex:0 0 62%;height:96px;scroll-snap-align:start}
  .cp-card .pc-txt{padding:16px 0 0 14px}
  .cp-card .pc-title{font-size:15px}
  .cp-card .pc-sub{font-size:11px;margin-top:4px}
  .cp-card .pc-logo{display:none}
  .cat-promo-dots,
  .promo-page-dots{display:flex !important}
}
/* 侧栏钱包卡 */
.side-wallet{background:linear-gradient(135deg,#123a4e,#0f2c3c);border:1px solid rgba(82,186,239,.25);border-radius:12px;padding:12px 14px;margin-bottom:10px;cursor:pointer;transition:box-shadow .2s}
.side-wallet:hover{box-shadow:0 0 0 1px rgba(82,186,239,.35)}
.side-wallet .sw-top{display:flex;align-items:center;justify-content:space-between}
.side-wallet .sw-name{font-size:13px;color:#cfd8db;font-weight:500}
.side-wallet .sw-arrow{flex:none}
.side-wallet .sw-bal{margin-top:7px;font-size:19px;font-weight:700;color:#fff;font-family:Arial,'Helvetica Neue',sans-serif;letter-spacing:.3px}
/* KG体育 New 徽标 */
.menu-item .mi-new{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-style:normal;font-size:10px;font-weight:700;color:#fff;background:linear-gradient(135deg,#ff5f3c,#ff8a3c);padding:2px 7px;border-radius:8px 8px 8px 2px;line-height:1.3;box-shadow:0 2px 5px rgba(255,95,60,.4)}
/* 侧栏底部手机端卡：图片自带文案，隐藏重复文字 */
.side-bottom .app-card .app-t,.side-bottom .app-card .app-d{display:none}
/* 顶栏余额胶囊（目标站 CNY 0.0000 样式） */
.user-chip{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:5px 14px;gap:10px}
.user-chip .uc-bal{color:#ffe27a;font-weight:600}

/* ============ #207 28 房间投注模式（原版系统 1:1） ============ */
#viewRoom{padding:0}
.rm-wrap{max-width:820px;margin:0 auto;padding:12px 14px 20px;display:flex;flex-direction:column;min-height:calc(100vh - 76px);box-sizing:border-box}
.rm-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.rm-back{width:34px;height:34px;border-radius:50%;background:var(--card);border:1px solid var(--line);color:#cfd8db;font-size:20px;line-height:1;cursor:pointer}
.rm-back:hover{color:var(--cyan)}
.rm-title{font-size:18px;font-weight:700;color:#fff}
.rm-badge{margin-left:auto;font-size:11px;color:var(--cyan);border:1px solid rgba(82,186,239,.45);border-radius:10px;padding:3px 10px}
/* 蓝色状态卡 */
.rm-status{background:linear-gradient(135deg,#2e7cf6,#5aa0ff);border-radius:14px;padding:14px 18px;display:flex;justify-content:space-between;align-items:center;color:#fff;box-shadow:0 4px 14px rgba(46,124,246,.3)}
.rm-period{font-size:16px;font-weight:700}
.rm-cd{margin-top:5px;font-size:13px;opacity:.95}
.rm-cd b{font-size:22px;font-family:Arial,sans-serif;letter-spacing:1px;margin-right:4px}
.rm-cd em{font-style:normal;font-size:12px;opacity:.9}
.rm-status-r{text-align:right}
.rm-bal-label{font-size:12px;opacity:.9}
.rm-bal{margin-top:4px;font-size:22px;font-weight:700;font-family:Arial,sans-serif}
/* 上期开奖卡 */
.rm-result{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 18px;margin-top:12px;text-align:center}
.rm-result-top{display:flex;justify-content:space-between;font-size:13px;color:#9fb0b6}
.rm-result-top a{color:var(--cyan);cursor:pointer}
.rm-balls{margin-top:10px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:18px;color:#fff}
.rm-balls i{font-style:normal;color:#8fa0a6}
.rm-ball{display:inline-flex;width:38px;height:38px;border-radius:50%;align-items:center;justify-content:center;font-weight:700;font-size:17px;color:#fff}
.rm-ball.blue{background:#4a7ff0;box-shadow:0 3px 8px rgba(74,127,240,.4)}
.rm-ball.red{background:#e53935;box-shadow:0 3px 8px rgba(229,57,53,.4)}
.rm-tag{margin-left:6px;background:#1f9d61;color:#fff;font-size:13px;font-weight:600;border-radius:8px;padding:4px 10px}
.rm-dim{color:#8fa0a6;font-size:13px}
/* 聊天区 */
.rm-chat{flex:1;overflow-y:auto;margin-top:12px;padding:6px 4px;min-height:220px;max-height:44vh}
.rm-chat::-webkit-scrollbar{width:4px}
.rm-chat::-webkit-scrollbar-thumb{background:#2c3640;border-radius:2px}
.rm-msg{display:flex;gap:8px;margin-bottom:12px}
.rm-msg.self{justify-content:flex-end}
.rm-msg-in{max-width:75%;display:flex;flex-direction:column}
.rm-msg-in.right{align-items:flex-end}
.rm-cuser{font-size:12px;color:#9fb0b6;margin:0 4px}
.rm-cuser.robot{color:var(--cyan)}
.rm-ctime{font-size:11px;color:#6d7d84}
.rm-bubble{margin-top:4px;background:var(--card2);border:1px solid var(--line);border-radius:4px 12px 12px 12px;padding:8px 12px;font-size:13px;color:#dfe8ea;line-height:1.6;word-break:break-all}
.rm-msg.self .rm-bubble{background:#1d4a66;border-color:#2a6a8f;border-radius:12px 4px 12px 12px}
.rm-inline{display:inline-block;min-width:20px;height:20px;line-height:20px;text-align:center;border-radius:50%;color:#fff;font-weight:700;font-size:12px;margin:0 2px;vertical-align:middle}
.rm-inline.blue{background:#4a7ff0}
.rm-inline.red{background:#e53935}
/* 底部投注栏 */
.rm-bar{position:sticky;bottom:12px;display:flex;gap:8px;margin-top:10px;background:var(--bg2);padding:10px;border-radius:14px;border:1px solid var(--line);box-shadow:0 -4px 16px rgba(0,0,0,.25)}
.rm-bar.locked{opacity:.6}
.rm-btn{border:none;border-radius:10px;padding:0 18px;height:42px;font-size:14px;font-weight:600;cursor:pointer;color:#fff}
.rm-btn.bet{background:linear-gradient(135deg,#2e7cf6,#5aa0ff)}
.rm-btn.send{background:linear-gradient(135deg,#1f9d61,#2cc27a)}
.rm-btn.cancel{background:#3a464e}
.rm-btn.submit{background:linear-gradient(135deg,#1f9d61,#2cc27a)}
.rm-btn:disabled{opacity:.5;cursor:not-allowed}
.rm-input{flex:1;height:42px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:#fff;padding:0 14px;font-size:14px;box-sizing:border-box;outline:none}
.rm-input:focus{border-color:var(--cyan)}
.rm-input::placeholder{color:#6d7d84}
.rm-input:disabled{background:#232b30}
/* 面板：桌投/快投改为内嵌收放（跟随聊天区伸缩），开奖记录保留弹层 */
.rm-panel{width:100%;margin-top:10px;display:block;animation:rmDockIn .18s ease}
.rm-panel.hidden{display:none}
.rm-panel-card{width:100%;background:#161d22;border:1px solid var(--line);border-radius:16px;padding:12px 14px 14px;max-height:58vh;overflow-y:auto}
.rm-panel-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.rm-panel-close{width:30px;height:30px;border-radius:50%;background:var(--card);border:1px solid var(--line);color:#9fb0b6;font-size:16px;cursor:pointer;flex:0 0 auto}
.rm-panel-tabs{flex:1;display:flex;justify-content:center;gap:10px}
.rm-panel-tabs button{background:var(--card);border:1px solid var(--line);color:#9fb0b6;border-radius:16px;padding:6px 18px;font-size:13px;cursor:pointer}
.rm-panel-tabs button.active{color:#fff;background:#2e7cf6;border-color:#2e7cf6}
.rm-panel-fold{background:var(--card);border:1px solid var(--line);color:#52BAEF;border-radius:16px;padding:6px 14px;font-size:12.5px;cursor:pointer;flex:0 0 auto}
.rm-panel-fold:hover{border-color:#52BAEF}
.rm-kb-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.rm-kb-title{color:#fff;font-weight:700;font-size:13.5px}
/* 折叠态：只留标题行 */
#rmPanel.collapsed .rm-desk-grid,#rmPanel.collapsed .rm-desk-amts,#rmPanel.collapsed .rm-desk-foot{display:none}
#rmPanel.collapsed .rm-panel-head{margin-bottom:0}
#rmKb.collapsed .rm-kb-input,#rmKb.collapsed .rm-kb-grid{display:none}
/* 面板展开时聊天区收缩（跟随联动） */
.rm-wrap.docked .rm-chat{max-height:22vh}
/* 开奖记录：仍是底部弹层 */
#rmHist{position:fixed;inset:0;z-index:300;background:rgba(0,0,0,.55);display:flex;align-items:flex-end;justify-content:center}
#rmHist .rm-panel-card{border-radius:16px 16px 0 0;border-bottom:none;max-height:70vh}
@keyframes rmDockIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.rm-hist-title{flex:1;text-align:center;color:#fff;font-weight:600}
/* 桌投网格 */
.rm-desk-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.rm-dcard{background:var(--card);border:1.5px solid var(--line);border-radius:10px;padding:10px 6px;text-align:center;cursor:pointer;transition:all .15s}
.rm-dcard:hover{border-color:#3a86c8}
.rm-dcard.sel{border-color:var(--cyan);background:rgba(82,186,239,.12)}
.rm-dname{font-size:14px;color:#fff;font-weight:600}
.rm-dodds{margin-top:4px;font-size:12px;color:#ffb75f;font-weight:700}
.rm-desk-amts{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:14px 0}
.rm-desk-amts button{height:38px;border-radius:8px;border:1px solid var(--line);background:var(--card);color:#dfe8ea;font-size:13px;cursor:pointer}
.rm-desk-amts button.active{border-color:var(--cyan);color:var(--cyan);background:rgba(82,186,239,.1)}
.rm-desk-foot{display:flex;align-items:center;gap:10px}
.rm-desk-total{flex:1;font-size:13px;color:#9fb0b6}
.rm-desk-total span{color:#ffe27a;font-weight:700;margin:0 3px}
/* 快投键盘 */
.rm-kb-input{display:flex;gap:8px;margin-bottom:12px}
.rm-kb-input input{flex:1;height:40px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:#fff;padding:0 12px;font-size:14px;outline:none}
.rm-kb-input button{height:40px;padding:0 16px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:#dfe8ea;cursor:pointer}
.rm-kb-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.rm-k{height:46px;border-radius:8px;border:1px solid var(--line);background:var(--card);color:#fff;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:4px}
.rm-k em{font-style:normal;font-size:11px;color:#ffb75f;font-weight:400}
.rm-k.blue{background:#2e7cf6;border-color:#2e7cf6}
.rm-k.active{border-color:var(--cyan);box-shadow:0 0 0 1px var(--cyan) inset}
.rm-k.submit{background:linear-gradient(135deg,#1f9d61,#2cc27a);border-color:transparent}
/* 开奖记录 */
.rm-hist-list{max-height:56vh;overflow-y:auto}
.rm-hist-item{display:flex;align-items:center;gap:12px;padding:9px 4px;border-bottom:1px solid var(--line);font-size:13px;color:#dfe8ea}
.rm-hp{width:110px;color:#9fb0b6}
.rm-hb{flex:1;display:flex;gap:6px;justify-content:center}
.rm-hb i{font-style:normal;width:24px;height:24px;border-radius:50%;background:#4a7ff0;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}
.rm-hb i.r{background:#e53935}
.rm-hb i:not(.b):not(.r){background:none;color:#8fa0a6;width:auto}
.rm-ha{color:#2cc27a;font-weight:600}
/* 移动端适配 */
html.is-mobile .rm-wrap{padding:10px 10px 16px}
html.is-mobile .rm-desk-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
html.is-mobile .rm-chat{max-height:38vh}
html.is-mobile .rm-wrap.docked .rm-chat{max-height:16vh}
html.is-mobile .rm-panel-card{max-height:52vh}

/* ============ #209 追号弹窗 + 帮助中心 ============ */
.chase-card{max-width:460px;width:92%}
.ch-info{display:flex;justify-content:space-between;font-size:13px;color:var(--txt2);margin-bottom:12px}
.ch-info b{color:var(--cyan)}
.ch-row{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.ch-row label{font-size:12.5px;color:var(--txt3);width:64px;flex:none}
.ch-opts{display:flex;gap:6px;flex-wrap:wrap}
.ch-opts button{background:var(--card);border:1px solid var(--line);color:var(--txt2);border-radius:14px;padding:5px 14px;font-size:12.5px;cursor:pointer;transition:all .15s}
.ch-opts button.active{color:#fff;background:#2e7cf6;border-color:#2e7cf6}
.ch-list{max-height:220px;overflow-y:auto;border:1px solid var(--line);border-radius:8px;margin-bottom:10px}
.ch-item{display:flex;align-items:center;gap:10px;padding:7px 12px;border-bottom:1px solid var(--line);font-size:12.5px;color:var(--txt2)}
.ch-item:last-child{border-bottom:none}
.ch-idx{width:20px;height:20px;border-radius:50%;background:var(--card);color:var(--txt3);font-size:11px;display:flex;align-items:center;justify-content:center;flex:none}
.ch-p{flex:1;font-family:Consolas,monospace;color:#fff}
.ch-m{color:#ffb75f;font-weight:600;width:44px;text-align:right}
.ch-a{color:#3ddc84;font-weight:700;width:84px;text-align:right}
.ch-total{display:flex;justify-content:flex-end;align-items:center;gap:8px;font-size:13px;color:var(--txt2);margin-bottom:12px}
.ch-total b:last-child{color:#ffe27a;font-size:18px;font-family:Arial,sans-serif}
.ch-tip{margin-top:10px;font-size:11px;color:var(--txt3);line-height:1.6;text-align:center}
/* 帮助中心 */
.help-card{max-width:560px;width:94%}
.help-tabs{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}
.help-tabs button{background:var(--card);border:1px solid var(--line);color:var(--txt2);border-radius:16px;padding:6px 16px;font-size:13px;cursor:pointer;transition:all .15s}
.help-tabs button.active{color:#fff;background:#2e7cf6;border-color:#2e7cf6}
.help-body{max-height:52vh;overflow-y:auto;display:grid;gap:10px}
.help-item{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px 14px}
.help-q{font-size:13.5px;font-weight:600;color:#fff;margin-bottom:6px}
.help-q::before{content:"Q";display:inline-block;width:18px;height:18px;line-height:18px;text-align:center;border-radius:5px;background:#2e7cf6;color:#fff;font-size:11px;margin-right:8px}
.help-a{font-size:12.5px;color:var(--txt2);line-height:1.7}
.help-foot{margin-top:12px;text-align:center;font-size:12px;color:var(--txt3)}
.help-foot a{color:var(--cyan);cursor:pointer}

/* ===== #232 手机版全页面适配优化 ===== */
/* 会员/代理中心：去掉 56px 顶部占位（topbar 为 sticky 无需预留），布局紧凑 */
html.is-mobile #viewMember.view.actived,
html.is-mobile #viewAgent.view.actived{padding-top:10px}
html.is-mobile .member-layout{min-height:auto;gap:10px}
html.is-mobile .member-main{padding:0}
/* 侧栏导航横滚：末项不贴边裁切 */
html.is-mobile .member-side .ms-nav{padding:6px 14px 6px 6px}
/* #236 游戏名称：叠加在卡片图片下 1/3 渐变暗区（原为图下独立名称条），全端统一 */
.cv-namebar{
  position:absolute;left:0;right:0;bottom:0;z-index:3;
  display:flex;align-items:flex-end;justify-content:center;gap:6px;
  padding:34px 8px 10px;
  background:linear-gradient(180deg,rgba(8,14,22,0) 0%,rgba(8,14,22,.42) 36%,rgba(8,14,22,.85) 100%);
  font-size:13px;font-weight:700;color:#fff;letter-spacing:.5px;
  text-shadow:0 1px 3px rgba(0,0,0,.75);
  pointer-events:none;
}
.cv-namebar i{
  font-style:normal;font-size:10px;font-weight:500;color:rgba(255,255,255,.82);
  background:rgba(120,190,255,.16);border:1px solid rgba(120,190,255,.35);
  border-radius:9px;padding:1px 7px;line-height:1.5;
  transform:translateY(-1px);
}
html.is-mobile .cv-namebar{padding:26px 4px 8px;font-size:12px}
html.is-mobile .cv-namebar i{font-size:9px;padding:1px 6px}
html.is-mobile .cv-card{border-radius:10px;overflow:hidden}
html.is-mobile .cat-vendor-grid{gap:12px}
/* 手机版类目页：跑马灯描述不裁首字 */
html.is-mobile .cat-banner-desc{padding-left:6px}
/* 手机版投注页：左缘竖条让位内容（我的收藏/盘口玩法收窄） */
html.is-mobile .play-ribbon{width:26px;font-size:11px}
