/* Virtual Sports — Luck92 theme (standalone copy of shared vars/classes) */
*{box-sizing:border-box;margin:0;padding:0;font-family:-apple-system,'Segoe UI',Roboto,Arial,sans-serif;-webkit-tap-highlight-color:transparent}
/* Sports — themeable via data-theme on <html>. :root = Luck92 Dark (default). */
:root{
  --bg:#0b0e17;--panel:#141828;--panel2:#1b1e42;--line:#232842;
  --gold:#f5c542;--gold2:#f5a623;--green:#3ddc68;--red:#ff4d5e;
  --txt:#fff;--mut:#8f94c4;--txt2:#cfd3f2;
  --navbg:#0e1122;--hdrbg:rgba(11,14,23,.96);--chipbg:#0c0e22;
  --acc1:#ffa53b;--acc2:#f36f16;--acc-tx:#fff;
  --logo1:#ffe08a;--logo2:#f5a623;
  --selbg:rgba(245,197,66,.14);--bugbg:rgba(8,10,20,.82);
  --tabon-bg:#fff;--tabon-tx:#141828;--onbtn-tx:#231600;
}
/* 2. Midnight Blue */
html[data-theme="midnight-blue"]{
  --bg:#060b1a;--panel:#0d1530;--panel2:#14204a;--line:#1f2c5c;
  --gold:#4da3ff;--gold2:#2f7de1;--green:#3ddc68;--red:#ff4d5e;
  --txt:#f2f6ff;--mut:#8ba3d4;--txt2:#c7d6f5;
  --navbg:#081030;--hdrbg:rgba(6,11,26,.96);--chipbg:#0a1230;
  --acc1:#3f8cff;--acc2:#1f5fd0;--acc-tx:#fff;
  --logo1:#bcd8ff;--logo2:#4da3ff;
  --selbg:rgba(77,163,255,.16);--bugbg:rgba(6,10,26,.85);
  --tabon-bg:#eaf2ff;--tabon-tx:#0a1230;--onbtn-tx:#06122e;
}
/* 3. Emerald Green */
html[data-theme="emerald-green"]{
  --bg:#07130d;--panel:#0d2015;--panel2:#143324;--line:#1e4632;
  --gold:#34d399;--gold2:#10b981;--green:#4ade80;--red:#ff5d6c;
  --txt:#f2fbf6;--mut:#8fc4a8;--txt2:#c9e8d6;
  --navbg:#0a1d12;--hdrbg:rgba(7,19,13,.96);--chipbg:#0a1f13;
  --acc1:#2fbf71;--acc2:#0e8a52;--acc-tx:#fff;
  --logo1:#c8f5df;--logo2:#34d399;
  --selbg:rgba(52,211,153,.15);--bugbg:rgba(6,16,11,.85);
  --tabon-bg:#eafbef;--tabon-tx:#0a2417;--onbtn-tx:#06281a;
}
/* 4. Crimson Red */
html[data-theme="crimson-red"]{
  --bg:#17080c;--panel:#251016;--panel2:#3a1620;--line:#55222e;
  --gold:#ff6b6b;--gold2:#e63946;--green:#3ddc68;--red:#ff2e4d;
  --txt:#fff5f5;--mut:#d4a0a8;--txt2:#f2d3d8;
  --navbg:#200c11;--hdrbg:rgba(23,8,12,.96);--chipbg:#230d12;
  --acc1:#e63946;--acc2:#a41623;--acc-tx:#fff;
  --logo1:#ffc9c9;--logo2:#ff6b6b;
  --selbg:rgba(255,107,107,.15);--bugbg:rgba(26,8,12,.85);
  --tabon-bg:#ffeeee;--tabon-tx:#2b0d12;--onbtn-tx:#2b0d12;
}
/* 5. Royal Purple */
html[data-theme="royal-purple"]{
  --bg:#100a1c;--panel:#1a1230;--panel2:#251a48;--line:#372a66;
  --gold:#b388ff;--gold2:#8b5cf6;--green:#3ddc68;--red:#ff4d5e;
  --txt:#f7f3ff;--mut:#a89ad4;--txt2:#d9cff5;
  --navbg:#150e28;--hdrbg:rgba(16,10,28,.96);--chipbg:#150e2c;
  --acc1:#9d6bff;--acc2:#6d28d9;--acc-tx:#fff;
  --logo1:#e2d4ff;--logo2:#b388ff;
  --selbg:rgba(179,136,255,.16);--bugbg:rgba(14,9,28,.85);
  --tabon-bg:#f1eaff;--tabon-tx:#1c1236;--onbtn-tx:#1c1236;
}
/* 6. Sunset Orange */
html[data-theme="sunset-orange"]{
  --bg:#170e06;--panel:#241407;--panel2:#3a2110;--line:#5a3418;
  --gold:#ffb020;--gold2:#f97316;--green:#3ddc68;--red:#ff4d5e;
  --txt:#fff8f0;--mut:#d4ab84;--txt2:#f2ddc4;
  --navbg:#1f1208;--hdrbg:rgba(23,14,6,.96);--chipbg:#221207;
  --acc1:#fb923c;--acc2:#ea580c;--acc-tx:#fff;
  --logo1:#ffe3b3;--logo2:#ffb020;
  --selbg:rgba(255,176,32,.15);--bugbg:rgba(24,13,6,.85);
  --tabon-bg:#fff3e2;--tabon-tx:#2b1a08;--onbtn-tx:#2b1a08;
}
/* 7. Ocean Teal */
html[data-theme="ocean-teal"]{
  --bg:#062025;--panel:#0a2e35;--panel2:#10444e;--line:#1a5a66;
  --gold:#2dd4bf;--gold2:#0d9488;--green:#4ade80;--red:#ff5d6c;
  --txt:#f0fffd;--mut:#8fd0c8;--txt2:#c4ece7;
  --navbg:#082a31;--hdrbg:rgba(6,32,37,.96);--chipbg:#08262c;
  --acc1:#14b8a6;--acc2:#0f766e;--acc-tx:#fff;
  --logo1:#c2f5ee;--logo2:#2dd4bf;
  --selbg:rgba(45,212,191,.15);--bugbg:rgba(5,28,32,.85);
  --tabon-bg:#e6fffa;--tabon-tx:#083032;--onbtn-tx:#083032;
}
/* 8. Gold & Black */
html[data-theme="gold-black"]{
  --bg:#000000;--panel:#0d0d0d;--panel2:#161616;--line:#2a2415;
  --gold:#f5c542;--gold2:#d4a017;--green:#3ddc68;--red:#ff4d5e;
  --txt:#f7f3e8;--mut:#a89e86;--txt2:#d9d0b8;
  --navbg:#050505;--hdrbg:rgba(0,0,0,.96);--chipbg:#0a0a0a;
  --acc1:#f5c542;--acc2:#b8860b;--acc-tx:#1a1405;
  --logo1:#ffe9a8;--logo2:#f5c542;
  --selbg:rgba(245,197,66,.16);--bugbg:rgba(0,0,0,.85);
  --tabon-bg:#f5c542;--tabon-tx:#000;--onbtn-tx:#1a1405;
}
/* 9. Light (day mode) */
html[data-theme="light"]{
  --bg:#f2f4f8;--panel:#ffffff;--panel2:#e9edf4;--line:#d5dbe7;
  --gold:#a5760a;--gold2:#8a6508;--green:#1a9e4b;--red:#d92d3f;
  --txt:#141828;--mut:#66708a;--txt2:#3c435c;
  --navbg:#ffffff;--hdrbg:rgba(255,255,255,.96);--chipbg:#e4e9f2;
  --acc1:#f5a623;--acc2:#dd7a00;--acc-tx:#fff;
  --logo1:#c08d12;--logo2:#8a6508;
  --selbg:rgba(165,118,10,.14);--bugbg:rgba(255,255,255,.94);
  --tabon-bg:#141828;--tabon-tx:#fff;--onbtn-tx:#fff;
}
/* 10. Neon Night */
html[data-theme="neon-night"]{
  --bg:#050508;--panel:#0c0c14;--panel2:#12121e;--line:#26263c;
  --gold:#00f0ff;--gold2:#ff2fd6;--green:#39ff88;--red:#ff2f5f;
  --txt:#f4f4ff;--mut:#8a8aa8;--txt2:#c9c9e8;
  --navbg:#08080f;--hdrbg:rgba(5,5,8,.96);--chipbg:#0a0a12;
  --acc1:#00f0ff;--acc2:#7b2ff7;--acc-tx:#03181b;
  --logo1:#a8fbff;--logo2:#00f0ff;
  --selbg:rgba(0,240,255,.14);--bugbg:rgba(5,5,12,.85);
  --tabon-bg:#00f0ff;--tabon-tx:#03181b;--onbtn-tx:#03181b;
}
body{background:var(--bg);color:var(--txt);max-width:560px;margin:0 auto;min-height:100vh;padding-bottom:40px}
a{color:inherit}
button{font-family:inherit}

/* header (reused) */
.site-header{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--hdrbg);border-bottom:1px solid var(--line)}
.logo{font-size:22px;font-weight:900;letter-spacing:1px;background:linear-gradient(180deg,var(--logo1),var(--logo2));-webkit-background-clip:text;background-clip:text;color:transparent;text-decoration:none}
.logo small{font-size:10px;color:var(--mut);display:block;letter-spacing:3px;-webkit-text-fill-color:var(--mut)}
.hdr-sp{flex:1}
.balchip{background:var(--chipbg);border:1px solid var(--line);border-radius:999px;padding:7px 12px;font-weight:800;font-size:13px;color:var(--gold);text-decoration:none;white-space:nowrap}
.hbtn{border:none;border-radius:8px;padding:9px 14px;font-size:13px;font-weight:800;cursor:pointer;text-decoration:none;white-space:nowrap}
.hbtn.gold{background:linear-gradient(180deg,var(--acc1),var(--acc2));color:var(--acc-tx)}
.hbtn.ghost{background:transparent;border:2px solid var(--gold);color:var(--gold)}
.hbtn.plain{background:var(--panel2);color:var(--txt2)}
.betlbl{font-size:11px;color:var(--mut);letter-spacing:2px;font-weight:800}
.gold-t{color:var(--gold)}

.demo-note{background:linear-gradient(90deg,#12305b,#0e4a3a);color:#cfe6ff;font-size:12px;font-weight:700;text-align:center;padding:8px 12px;border-bottom:1px solid var(--line)}

/* top nav (1xBet-style section tabs) */
.topnav{display:flex;gap:8px;padding:10px 12px;overflow-x:auto;border-bottom:1px solid var(--line);background:var(--navbg)}
.topnav button{flex:0 0 auto;display:flex;align-items:center;gap:6px;background:var(--panel);border:1px solid var(--line);color:var(--txt2);border-radius:999px;padding:9px 18px;font-size:13px;font-weight:800;cursor:pointer}
.topnav button.on{background:linear-gradient(180deg,var(--acc1),var(--acc2));color:var(--acc-tx);border-color:transparent}

/* layout: single column on mobile, 3 columns on desktop */
.layout{display:block}
.leftnav{position:sticky;top:57px;z-index:30;background:var(--bg);padding:8px 0}
.leftnav-title{display:none}
#sportList{display:flex;gap:8px;overflow-x:auto;padding:2px 12px}
.snav{flex:0 0 auto;display:flex;align-items:center;gap:7px;background:var(--panel);border:1px solid var(--line);color:var(--txt2);border-radius:999px;padding:9px 14px;font-size:13px;font-weight:700;cursor:pointer}
.snav.on{background:linear-gradient(180deg,var(--acc1),var(--acc2));color:var(--acc-tx);border-color:transparent}
.snav .cnt{background:var(--chipbg);border-radius:999px;font-size:11px;font-weight:800;padding:2px 8px;color:var(--gold)}
.snav.on .cnt{background:rgba(0,0,0,.25);color:#fff}
.rightnav{display:none}
.sec-title{font-size:15px;font-weight:900;margin:6px 12px 10px;display:flex;align-items:center;gap:8px}
.sec-title .livedot{width:9px;height:9px;border-radius:50%;background:var(--red);display:inline-block;animation:blink 1.2s infinite}

/* bet slip panel + selections */
.slip-panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px;margin-bottom:14px}
.slip-panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}
.slip-panel-head h4{font-size:15px}
.selcount{font-size:12px;color:var(--gold);font-weight:800}
.sellist{display:grid;gap:8px;margin:10px 0}
.sellist .sempty{padding:14px 8px;font-size:12px}
.selitem{background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:9px 10px;font-size:13px}
.selitem .sl-top{display:flex;justify-content:space-between;align-items:center;gap:8px;font-weight:800}
.selitem .sl-sub{color:var(--mut);font-size:11px;margin-top:3px}
.selitem .sl-odds{color:var(--gold);font-weight:800;margin-left:8px;white-space:nowrap}
.selitem .rm{background:none;border:none;color:var(--mut);cursor:pointer;font-size:14px;padding:2px 4px}
.stakeinput{width:100%;background:var(--panel2);border:1px solid var(--line);border-radius:10px;color:var(--txt);font-size:16px;font-weight:700;padding:11px;margin:8px 0;outline:none;min-width:0}
.stakeinput:focus{border-color:var(--gold)}
.mybets-panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px}
.mybets-panel h4{font-size:15px;margin-bottom:8px}
.mybets-panel .sempty{padding:16px 8px;font-size:12px}
.mybets-panel .brow{font-size:12px}
#viewAllBets{width:100%;margin-top:10px}

/* 1xBet-style compact odds: label over value, gold highlight when selected */
.odd{flex-direction:column;gap:2px;align-items:center;padding:6px 4px}
.odd small{font-size:10px}
.odd span{font-size:13px}
.odd.sel{border-color:var(--gold);background:rgba(245,197,66,.14);box-shadow:0 0 0 1px var(--gold)}
.runner.sel{border-color:var(--gold);background:rgba(245,197,66,.14);box-shadow:0 0 0 1px var(--gold)}

/* expandable match rows */
.mhead{cursor:pointer}
.chev{margin-left:auto;color:var(--mut);font-size:14px;transition:transform .2s;flex:0 0 auto}
.mcard.exp .chev{transform:rotate(180deg)}
.mdetail{display:none;margin-top:8px;border-top:1px solid var(--line);padding-top:10px}
.mcard.exp .mdetail{display:block}
.mdetail .watchbtn{margin-top:8px}

@media(min-width:900px){
  body{max-width:1280px}
  .layout{display:grid;grid-template-columns:212px minmax(0,1fr) 300px;gap:16px;padding:0 16px;align-items:start}
  .leftnav{position:sticky;top:70px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:12px}
  .leftnav-title{display:block;font-size:11px;letter-spacing:2px;color:var(--mut);font-weight:800;margin-bottom:10px}
  #sportList{display:block;padding:0;overflow:visible}
  .snav{width:100%;border-radius:10px;margin-bottom:6px;justify-content:flex-start}
  .snav .cnt{margin-left:auto}
  .rightnav{display:block;position:sticky;top:70px}
  .slipwrap{display:none!important}
  .sec-title{margin-left:0;margin-right:0}
  .mcard{margin-left:0;margin-right:0}
}

/* sport tabs */
.stabs{display:flex;gap:8px;padding:12px 12px 6px;overflow-x:auto;position:sticky;top:56px;z-index:30;background:var(--bg)}
.stab{flex:0 0 auto;display:flex;align-items:center;gap:6px;background:var(--panel);border:1px solid var(--line);color:var(--txt2);border-radius:999px;padding:9px 15px;font-size:13px;font-weight:700;cursor:pointer}
.stab.on{background:linear-gradient(180deg,var(--acc1),var(--acc2));color:var(--acc-tx);border-color:transparent}

/* section tabs */
.sectabs{display:flex;gap:8px;margin:4px 12px 12px}
.sectabs button{flex:1;padding:10px 4px;border-radius:10px;border:1px solid var(--line);background:var(--panel);color:var(--mut);font-weight:800;font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px}
.sectabs button.on{background:var(--gold);color:var(--onbtn-tx);border-color:var(--gold)}
.livedot{width:8px;height:8px;border-radius:50%;background:var(--red);display:inline-block;animation:blink 1.2s infinite}
@keyframes blink{50%{opacity:.25}}

/* match cards */
.msec{padding:0 0 10px}
.mcard{background:var(--panel);border:1px solid var(--line);border-radius:14px;margin:0 12px 12px;padding:13px}
.mcard .lg{font-size:12px;color:var(--mut);display:flex;gap:6px;align-items:center;font-weight:600}
.livebadge{margin-left:auto;background:var(--red);color:#fff;font-size:10px;font-weight:900;letter-spacing:1px;border-radius:6px;padding:3px 9px;animation:blink 1.2s infinite}
.mcard .mhead{display:flex;align-items:center;gap:8px;margin:8px 0 2px}
.mcard .sport-ic{font-size:20px}
.mcard .teams{flex:1;min-width:0}
.mcard .tname{font-size:15px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mcard .vs{font-size:11px;color:var(--mut);font-weight:700}
.mcard .clock{font-size:12px;color:var(--gold);font-weight:800;background:var(--chipbg);border:1px solid var(--line);border-radius:8px;padding:4px 9px;white-space:nowrap}
.mcard .summary{font-size:13px;color:var(--txt2);margin:6px 0 10px;line-height:1.5}
.mcard .watchbtn{background:var(--panel2);border:1px solid var(--line);color:var(--txt);border-radius:8px;padding:8px 12px;font-size:12px;font-weight:800;cursor:pointer;margin-bottom:10px}
.mkt{font-size:12px;color:var(--mut);margin:8px 0 6px;font-weight:700}
.oddsrow{display:flex;gap:8px}
.odd{flex:1;display:flex;align-items:center;justify-content:space-between;background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:11px 12px;color:var(--txt);font-size:15px;font-weight:800;cursor:pointer;min-width:0}
.odd small{color:var(--mut);font-weight:700;font-size:12px}
.odd .olab{display:flex;flex-direction:column;align-items:flex-start;min-width:0;margin-right:6px}
.odd .osub{font-style:normal;font-size:10px;color:var(--mut);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:110px}
.odd:active{background:var(--line)}
.odd:disabled{opacity:.4;cursor:default}
/* fox race runners */
.runner{display:flex;align-items:center;gap:10px;background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:9px 12px;margin-bottom:6px;cursor:pointer;color:var(--txt);font-size:14px;font-weight:700;width:100%;text-align:left}
.runner:active{background:var(--line)}
.runner .num{background:var(--gold);color:var(--onbtn-tx);font-size:11px;font-weight:900;border-radius:6px;padding:3px 7px}
.runner .rname{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.runner .rodds{color:var(--gold);font-weight:800}
.runner .pos{font-size:11px;color:var(--mut)}
/* upcoming / results */
.countdown{font-size:13px;color:var(--gold);font-weight:800;background:var(--chipbg);border:1px solid var(--line);border-radius:8px;padding:6px 10px;display:inline-block;margin-top:4px}
.uptime{font-size:12px;color:var(--mut);margin-top:4px}
.resline{font-size:14px;font-weight:800;margin:6px 0}
.reswl{font-size:12px;font-weight:800;border-radius:6px;padding:3px 10px;margin-left:8px}
.reswl.w{color:var(--green);background:rgba(61,220,104,.12)}
.reswl.l{color:var(--red);background:rgba(255,77,94,.12)}
.sload{text-align:center;color:var(--mut);padding:30px;font-size:14px}
.sempty{text-align:center;color:var(--mut);padding:40px 20px;font-size:14px;line-height:1.8;white-space:pre-line}

/* my bets */
.betcard{background:var(--panel);border:1px solid var(--line);border-radius:12px;margin:0 12px 10px;padding:12px}
.betcard .bl{font-size:14px;font-weight:800}
.betcard .bm{font-size:12px;color:var(--mut);margin:4px 0}
.betcard .brow{display:flex;justify-content:space-between;font-size:13px;color:var(--txt2);padding:3px 0}
.bstatus{font-size:11px;font-weight:900;letter-spacing:1px;border-radius:6px;padding:4px 10px;text-transform:uppercase}
.bstatus.pending{color:var(--gold);background:rgba(245,197,66,.12)}
.bstatus.won{color:var(--green);background:rgba(61,220,104,.12)}
.bstatus.lost{color:var(--red);background:rgba(255,77,94,.12)}
.bstatus.void{color:var(--mut);background:rgba(154,160,184,.12)}
.betcard .btop{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}
.bgroup{margin:8px 12px 6px;font-size:12px;font-weight:900;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold)}

/* bet slip drawer */
.slipwrap{position:fixed;inset:0;z-index:80}
.slipwrap[hidden]{display:none}
.slipbg{position:absolute;inset:0;background:rgba(0,0,0,.65)}
.slip{position:absolute;left:50%;transform:translateX(-50%);bottom:0;width:100%;max-width:560px;background:var(--panel2);border-top:2px solid var(--gold);border-radius:18px 18px 0 0;padding:10px 16px calc(18px + env(safe-area-inset-bottom));animation:slideup .45s cubic-bezier(.32,.72,.28,1);max-height:88vh;overflow-y:auto}
@keyframes slideup{from{transform:translate(-50%,100%);opacity:.9}to{transform:translate(-50%,0);opacity:1}}
.slipbg{animation:bgfade .35s ease}
@keyframes bgfade{from{opacity:0}to{opacity:1}}
.slip-handle{width:44px;height:4px;border-radius:4px;background:var(--line);margin:2px auto 10px}
.slip-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:8px}
.slip-title{font-size:17px;font-weight:900}
.slip-sub{font-size:12px;color:var(--mut);margin-top:2px}
.slip-x{background:none;border:none;color:var(--mut);font-size:18px;cursor:pointer;padding:4px}
.slip-pick{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:14px;font-weight:800;margin-bottom:10px}
.slip-pick .pk-odds{color:var(--gold)}
.slipstake{display:flex;gap:8px;margin:8px 0}
.slipstake input{flex:1;background:var(--panel);border:1px solid var(--line);border-radius:10px;color:var(--txt);font-size:17px;font-weight:700;padding:12px;outline:none;min-width:0}
.slipstake input:focus{border-color:var(--gold)}
.stakequick{display:flex;gap:8px;margin-bottom:8px}
.stakequick button{flex:1;background:var(--panel);border:1px solid var(--line);color:var(--txt);border-radius:8px;padding:9px;font-weight:800;cursor:pointer;font-size:13px}
.slip-rows{margin:4px 0 8px}
.betrow{display:flex;justify-content:space-between;font-size:14px;color:var(--txt2);padding:7px 0;border-bottom:1px solid var(--line)}
.slip-err{color:var(--red);font-size:13px;font-weight:700;margin:6px 0}
.slip-confirm{width:100%;padding:14px;font-size:16px;margin-top:6px}
.slip-login{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:12px;margin:8px 0;font-size:13px;line-height:1.6}
.slip-login p{margin-bottom:8px;color:var(--txt2)}

/* watch overlay */
.watchwrap{position:fixed;inset:0;z-index:55;background:var(--bg);overflow-y:auto}
.watchwrap[hidden]{display:none}
.watch-top{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--hdrbg);border-bottom:1px solid var(--line)}
.watch-title{flex:1;font-size:14px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.livepill{background:var(--red);color:#fff;font-size:11px;font-weight:900;border-radius:6px;padding:4px 10px;letter-spacing:1px;animation:blink 1.2s infinite}
.voicesel{font-size:11px;background:var(--panel2);color:var(--txt);border:1px solid var(--line);border-radius:8px;padding:5px 6px;max-width:112px}
.watch-stage{position:relative;margin:10px 12px 0;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#0a1a12}
#watchCanvas{display:block;width:100%;height:auto;aspect-ratio:16/9}
.scorebug{position:absolute;top:8px;left:8px;right:8px;background:var(--bugbg);border:1px solid var(--line);border-radius:10px;padding:8px 10px;font-size:13px;line-height:1.5;pointer-events:none}
.scorebug .sb-main{font-weight:900;font-size:15px;color:var(--txt)}
.scorebug .sb-sub{color:var(--txt2);font-size:12px}
/* cricket broadcast bug: bottom-left, TV style */
#scoreBug.cricket{top:auto;bottom:10px;left:10px;right:auto;max-width:94%;background:none;border:none;padding:0;border-radius:0}
.bbug{pointer-events:none;filter:drop-shadow(0 3px 10px rgba(0,0,0,.55))}
.bb-row{display:flex;align-items:stretch;border-radius:9px;overflow:hidden}
.bb-team{display:flex;align-items:center;gap:7px;background:var(--tc,#1e5aa8);color:#fff;font-weight:900;font-size:12px;letter-spacing:.4px;padding:8px 12px;max-width:200px;white-space:nowrap}
.bb-team .bb-tname{overflow:hidden;text-overflow:ellipsis}
.bb-team i{font-style:normal;background:rgba(0,0,0,.35);border-radius:5px;padding:2px 7px;font-size:10px;font-weight:900}
.bb-team.bowl{background:var(--line)}
.bb-score{background:var(--chipbg);color:var(--txt);font-weight:900;font-size:21px;padding:5px 16px;display:flex;align-items:center;gap:7px;border-left:1px solid rgba(255,255,255,.14);border-right:1px solid rgba(255,255,255,.14)}
.bb-score small{font-size:13px;color:var(--txt2);font-weight:700}
.bb-strip{display:flex;justify-content:space-between;gap:12px;background:var(--bugbg);color:var(--txt2);font-size:11px;font-weight:600;padding:6px 12px;border-radius:0 0 9px 9px;margin-top:2px;white-space:nowrap;overflow:hidden}
/* LIVE bug on the stream, top-right */
.streamlive{position:absolute;top:10px;right:10px;z-index:4;display:flex;align-items:center;gap:6px;background:var(--bugbg);border:1px solid var(--line);border-radius:8px;padding:6px 11px;font-size:11px;font-weight:900;letter-spacing:1px;pointer-events:none}
.streamlive .sl-dot{width:8px;height:8px;border-radius:50%;background:var(--red);animation:blink 1.2s infinite}
.streamlive em{font-style:normal;color:var(--mut);font-weight:700}
/* intro splash */
.csplash{position:absolute;inset:0;z-index:6;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 28%,#1c2653 0%,#070a16 72%);transition:opacity .5s;overflow:hidden}
.csplash.out{opacity:0}
.cs-in{text-align:center;animation:csin .5s ease;padding:0 16px}
@keyframes csin{from{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}
.cs-kicker{font-size:11px;letter-spacing:4px;color:var(--gold);font-weight:800;margin-bottom:10px}
.cs-title{font-size:54px;font-weight:900;letter-spacing:3px;line-height:1.04;background:linear-gradient(180deg,#ffffff,#f5c542 62%,#b87a1a);-webkit-background-clip:text;background-clip:text;color:transparent}
.cs-vs{margin-top:14px;font-size:14px;font-weight:800;color:#dfe2ff}
.cs-vs span{color:var(--mut);font-weight:700;margin:0 8px}
.csplash::after{content:'';position:absolute;top:-20%;bottom:-20%;width:120px;background:linear-gradient(100deg,transparent,rgba(255,255,255,.14),transparent);transform:skewX(-18deg);animation:csshine 1.4s ease;pointer-events:none}
@keyframes csshine{from{left:-140px}to{left:110%}}
/* fullscreen watch */
.watchwrap:fullscreen,.watchwrap:-webkit-full-screen{overflow:hidden;background:#000}
.watchwrap:fullscreen .watch-stage,.watchwrap:-webkit-full-screen .watch-stage{margin:0;border:none;border-radius:0;background:#000;min-height:100vh;display:flex;align-items:center;justify-content:center}
.watchwrap:fullscreen #watchCanvas,.watchwrap:-webkit-full-screen #watchCanvas{width:100%;height:100%;object-fit:contain}
.watchwrap:fullscreen .watch-panels,.watchwrap:fullscreen .watch-comm,.watchwrap:-webkit-full-screen .watch-panels,.watchwrap:-webkit-full-screen .watch-comm{display:none}
.banner{position:absolute;left:50%;top:38%;transform:translate(-50%,-50%) scale(.6);font-size:44px;font-weight:900;letter-spacing:2px;padding:10px 26px;border-radius:14px;opacity:0;pointer-events:none;white-space:nowrap}
.banner.show{animation:bpop 1.6s ease forwards}
@keyframes bpop{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}15%{opacity:1;transform:translate(-50%,-50%) scale(1.15)}30%{transform:translate(-50%,-50%) scale(1)}80%{opacity:1}100%{opacity:0;transform:translate(-50%,-60%) scale(1)}}
.banner.six{background:rgba(245,166,35,.92);color:#231600;text-shadow:none}
.banner.four{background:rgba(61,220,104,.92);color:#06260f}
.banner.wicket{background:rgba(255,77,94,.92);color:#fff}
.banner.goal{background:rgba(245,197,66,.94);color:#231600}
.banner.point{background:rgba(80,160,255,.92);color:#fff}
.watch-panels{margin:10px 12px 0;display:grid;gap:10px}
.wpanel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.wpanel h5{font-size:11px;color:var(--mut);letter-spacing:1.5px;margin-bottom:6px;font-weight:800}
.wpanel canvas{display:block;width:100%;height:auto}
.overstrip{display:flex;gap:6px;flex-wrap:wrap}
.oball{width:30px;height:30px;border-radius:50%;background:var(--panel2);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800}
.oball.b4{background:#1d5c33;border-color:var(--green);color:#fff}
.oball.b6{background:#6b4a10;border-color:var(--gold2);color:#fff}
.oball.bw{background:#5c1d24;border-color:var(--red);color:#fff}
.oball.b0{color:var(--mut)}
.lboard{display:grid;gap:4px}
.lrow{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700}
.lrow .lp{width:22px;color:var(--mut);font-weight:800}
.lrow .ln{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lrow .lo{color:var(--gold)}
.watch-comm{margin:10px 12px 20px}
.commlist{background:var(--panel);border:1px solid var(--line);border-radius:12px;max-height:300px;overflow-y:auto;padding:6px 0}
.commitem{padding:8px 12px;border-bottom:1px solid var(--line);font-size:13px;line-height:1.55}
.commitem:last-child{border-bottom:none}
.commitem .co{font-weight:900;color:var(--gold);margin-right:8px;font-size:12px}
.commitem.hl .co{color:var(--gold2)}
.commitem.hl{background:rgba(245,197,66,.06)}

/* micro betting panel */
.mtabs{display:flex;gap:6px;margin-bottom:8px}
.mtabs button{flex:1;background:var(--panel2);border:1px solid var(--line);color:var(--txt2);border-radius:9px;padding:8px 4px;font-size:12px;font-weight:800;cursor:pointer}
.mtabs button.on{background:linear-gradient(180deg,var(--acc1),var(--acc2));color:var(--acc-tx);border-color:transparent}
.micro-head{font-size:13px;font-weight:800;color:var(--gold);margin-bottom:8px}
.micro-closed{background:var(--panel2);border:1px dashed var(--line);border-radius:10px;padding:14px;text-align:center;color:var(--mut);font-size:13px;font-weight:700}
.msel-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:10px}
.msel{background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:9px 4px;color:var(--txt);cursor:pointer;display:flex;flex-direction:column;gap:3px;align-items:center}
.msel-l{font-size:11px;font-weight:700;color:var(--txt2)}
.msel-o{font-size:14px;font-weight:800;color:var(--gold)}
.msel.sel{border-color:var(--gold);background:rgba(245,197,66,.14);box-shadow:0 0 0 1px var(--gold)}
.micro-row{display:flex;gap:8px;align-items:center}
.micro-stake{flex:1;margin:0;min-width:0}
.micro-row .hbtn{flex:0 0 auto}
.micro-hint{font-size:11px;color:var(--mut);margin-top:6px}
.micro-my{display:grid;gap:6px;margin-top:4px}
.mbrow{display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:8px 10px}
.mb-l{font-size:12px;font-weight:800}
.mb-s{font-size:11px;color:var(--mut);font-weight:600;margin-top:2px}
.mb-n{font-size:11px;color:var(--gold);margin:-2px 2px 4px}

/* modal + toast (reused) */
.modal{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.7);display:none;align-items:center;justify-content:center;padding:20px}
.modal.open{display:flex}
.modal .box{position:relative;background:var(--panel2);border:1px solid var(--gold);border-radius:16px;padding:24px 18px;max-width:400px;width:100%;text-align:center}
.modal .box h2{font-size:20px;margin-bottom:8px}
.modal .box p{font-size:13px;color:var(--txt2);line-height:1.7;margin-bottom:14px}
.modal .x{position:absolute;top:8px;right:12px;background:none;border:none;color:var(--mut);font-size:18px;cursor:pointer}
#toast{position:fixed;left:50%;bottom:80px;transform:translateX(-50%);background:var(--panel2);border:1px solid var(--line);color:var(--txt);padding:10px 18px;border-radius:999px;font-size:14px;display:none;z-index:10000;max-width:90%;text-align:center}

/* ============ cricket match page (1xBet style) ============ */
.mpage{position:fixed;inset:0;z-index:55;background:var(--bg);overflow-y:auto}
.mpage[hidden]{display:none}
.mp-top{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--hdrbg);border-bottom:1px solid var(--line)}
.mp-title{flex:1;font-size:14px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}
.mp-tabs{display:flex;background:var(--navbg);border:1px solid var(--line);border-radius:12px;margin:10px 12px 0;padding:4px;gap:4px}
.mp-tabs button{flex:1;border:none;background:transparent;color:var(--mut);font-weight:800;font-size:14px;padding:10px;border-radius:9px;cursor:pointer}
.mp-tabs button.on{background:var(--tabon-bg);color:var(--tabon-tx)}
/* stadium banner */
.mp-banner{position:relative;margin:10px 12px 0;border-radius:16px;overflow:hidden;border:1px solid var(--line);min-height:176px;background:linear-gradient(180deg,#070c22 0%,#10254d 30%,#0e4a2a 34%,#1f8f46 78%,#0d4423 100%)}
.mp-banner::before{content:'';position:absolute;top:8px;left:14px;right:14px;height:26px;background:
  radial-gradient(circle 3px at 4% 50%,#fff3cf 98%,transparent),
  radial-gradient(circle 3px at 12% 50%,#fff3cf 98%,transparent),
  radial-gradient(circle 3px at 88% 50%,#fff3cf 98%,transparent),
  radial-gradient(circle 3px at 96% 50%,#fff3cf 98%,transparent);opacity:.85}
.mpb-pitch{position:absolute;left:50%;top:30px;bottom:16px;width:130px;transform:translateX(-50%);background:linear-gradient(180deg,#caa25c,#a8813f);clip-path:polygon(36% 0,64% 0,100% 100%,0 100%);opacity:.92}
.mpb-top{position:relative;z-index:2;text-align:center;color:#dfe2ff;font-size:12px;font-weight:800;padding:12px 8px 4px;letter-spacing:.5px}
.mpb-row{position:relative;z-index:2;display:flex;align-items:center;gap:10px;padding:9px 14px;background:rgba(6,10,24,.62);margin:8px 14px 0;border-radius:10px;border:1px solid rgba(255,255,255,.08)}
.mpb-badge{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:900;color:#fff;font-size:14px;flex:0 0 auto}
.mpb-name{flex:1;font-weight:800;font-size:14px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mpb-score{font-weight:900;font-size:15px;color:#fff;white-space:nowrap}
.mpb-bot{position:relative;z-index:2;text-align:center;color:#9fb3d8;font-size:11px;font-weight:800;padding:12px;letter-spacing:3px}
.mp-livewrap{margin:10px 12px 0}
.mp-livebadge{display:inline-block;background:linear-gradient(180deg,var(--acc1),var(--acc2));color:var(--acc-tx);font-size:12px;font-weight:900;border-radius:999px;padding:7px 16px;letter-spacing:.5px;animation:blink 1.6s infinite}
#mpScorecard{display:grid;gap:10px;margin:10px 12px 0}
#mpInfo>.wpanel{margin:10px 12px 0}
.mpb-table{display:grid}
.mpb-trow{display:flex;justify-content:space-between;gap:8px;padding:7px 2px;border-bottom:1px solid var(--line);font-size:13px;min-width:0}
.mpb-trow:last-child{border-bottom:none}
.mpb-tn{color:#dfe2ff;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1 1 auto}
.mpb-ts{color:#fff;font-weight:800;white-space:nowrap;flex:0 0 auto}
/* stream frame */
.stream-frame{background:#000!important;border-radius:16px}
#mpCanvas{display:block;width:100%;height:auto;aspect-ratio:16/9;border-radius:16px;background:#000}
#mpStage:fullscreen,#mpStage:-webkit-full-screen{background:#000;border-radius:0;display:flex;align-items:center;justify-content:center}
#mpStage:fullscreen #mpCanvas,#mpStage:-webkit-full-screen #mpCanvas{width:100%;height:100%;object-fit:contain;border-radius:0}
.mp-compact{display:flex;align-items:center;gap:10px;margin:10px 12px 0;font-size:14px;font-weight:800;flex-wrap:wrap}
.mpc-live{color:var(--red);font-size:12px;font-weight:900;animation:blink 1.2s infinite}
.mpc-tgt{margin-left:auto;color:var(--gold);font-size:12px}
/* market list */
.mp-markets{padding:6px 0 34px}
.xgroup{margin:0 12px 14px}
.xhead{width:100%;display:flex;align-items:center;justify-content:space-between;background:none;border:none;color:var(--txt);font-size:16px;font-weight:800;padding:6px 2px;cursor:pointer;text-align:left}
.xhead .chev{color:var(--mut);font-size:14px;transition:transform .2s}
.xgroup.shut .xhead .chev{transform:rotate(-90deg)}
.xbody{display:grid;gap:8px;padding-top:6px}
.xrow2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.xrow3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
.xbtn{display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:12px;color:var(--txt);cursor:pointer;min-width:0}
.xbtn .xl{color:var(--mut);font-size:12px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.xbtn b{font-size:15px;font-weight:800;white-space:nowrap}
.xbtn:active{background:var(--line)}
.xbtn:disabled{opacity:.4;cursor:default}
.xbtn.sel{border-color:var(--gold);background:rgba(245,197,66,.14);box-shadow:0 0 0 1px var(--gold)}
.xsub{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--mut);font-weight:800;padding:10px 2px 0;letter-spacing:.5px}
.xsub:first-child{padding-top:2px}
.xclosed{color:var(--gold);font-weight:700}
.xhint{font-size:11px;color:var(--mut);padding:2px}
/* ---- match page markets: dark theme with gold odds (user 2026-10-15) ---- */
#matchPage .mp-markets{background:#0f1420;padding:10px 0 34px}
#matchPage .xgroup{margin:0 12px 16px}
#matchPage .xhead{color:#fff;font-size:17px;font-weight:800}
#matchPage .xsub{color:#a0a8c0;font-size:13px}
#matchPage .xbtn{background:#1e2740;border:1px solid #2a3555;border-radius:12px;padding:14px 12px}
#matchPage .xbtn .xl{color:#c0c8e0;font-size:13px;font-weight:600}
#matchPage .xbtn b{color:#f5c542;font-size:17px;font-weight:800}
#matchPage .xbtn:active{background:#2a3555}
#matchPage .xbtn.sel{border-color:#f5c542;background:rgba(245,197,66,.15);box-shadow:0 0 0 1px #f5c542}
#matchPage .xhint{color:#8088a0}
#matchPage .sempty{color:#8088a0}

/* ---- team badges (circular initials, pure CSS) ---- */
.tbadge{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#fff;font-weight:900;flex:0 0 auto;letter-spacing:.5px;border:2px solid rgba(255,255,255,.28);text-shadow:0 1px 2px rgba(0,0,0,.45);box-shadow:0 2px 6px rgba(0,0,0,.18)}
/* bigger logos in PlanBet match cards */
#pbZone .tbadge{width:44px;height:44px;box-shadow:0 2px 8px rgba(0,0,0,.22)}
.trow{display:flex;align-items:center;gap:7px;flex-wrap:wrap;min-width:0}
.tname2{font-weight:800;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:38%}
.vsx{color:var(--mut);font-size:11px;font-weight:700}
.sl-left{display:inline-flex;align-items:center;gap:7px;min-width:0}
.bl{display:inline-flex;align-items:center;gap:7px;min-width:0}

/* ---- accumulator (combo) bets ---- */
.accamode{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 4px}
.accbtn{flex:1;border:2px solid var(--line);background:var(--panel2);color:var(--txt2);border-radius:10px;padding:9px 6px;font-size:13px;font-weight:800;cursor:pointer;white-space:nowrap}
.accbtn.on{border-color:var(--gold);color:var(--gold);background:rgba(245,197,66,.1)}
.accalegs{flex:1 1 100%;display:flex;flex-direction:column;gap:6px;margin-top:2px}
.accaleg{display:flex;align-items:center;gap:8px;background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:6px 9px;font-size:12px}
.accaleg span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}
.accaleg b{color:var(--gold);white-space:nowrap}
.accodds{flex:1 1 100%;text-align:center;color:var(--gold);font-weight:900;font-size:14px;padding:4px 0}
.acctag{display:inline-block;background:linear-gradient(180deg,var(--acc1),var(--acc2));color:var(--acc-tx);font-size:11px;font-weight:900;letter-spacing:1px;border-radius:6px;padding:4px 10px}
.acctag.sm{font-size:10px;padding:2px 7px;margin-right:6px}
.betcard.acca{border-color:rgba(245,166,35,.45)}
.legrow{display:flex;align-items:center;gap:9px;padding:8px 0;border-top:1px solid var(--line);font-size:13px}
.legrow:first-of-type{border-top:none}
.legmid{flex:1;min-width:0}
.leglab{font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.legsub{font-size:11px;color:var(--mut);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.legodds{color:var(--gold);white-space:nowrap}

/* ---- Screenshot-style match cards ---- */
.mcard{background:#fff;border-radius:12px;margin:0 0 12px;padding:12px;box-shadow:0 2px 8px rgba(0,0,0,.08)}
.lg2{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.lg-title{font-size:13px;color:#666;display:flex;align-items:center;gap:6px}
.lg-acts{display:flex;gap:8px;align-items:center}
.mformat{font-size:12px;color:#888;margin-bottom:8px}
.teams2{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}
.teamrow{display:flex;align-items:center;gap:10px;min-height:44px}
.teamrow .tname{flex:1;font-size:16px;font-weight:600;color:#222}
.teamrow .tscore{font-size:16px;font-weight:700;color:#222;min-width:90px;text-align:right}
.teamrow .tscore.playing{color:#2e9e4f}
.mkt2{font-size:14px;font-weight:700;color:#222;margin-bottom:8px}
.oddsrow2{display:flex;gap:8px;width:100%}
.odd2{flex:1 1 0;display:flex;align-items:center;justify-content:space-between;background:#eef0f3;border:none;border-radius:10px;padding:14px 16px;cursor:pointer;min-height:52px;min-width:0}
.odd2 .o2-lab{font-size:15px;color:#7a8a9e;font-weight:500}
.odd2 .o2-val{font-size:19px;font-weight:800;color:#1a1a1a}
.odd2 .o2-val.up{color:#1e9e50;font-weight:800}
.odd2 .o2-val.down{color:#e74c3c;font-weight:800}
/* Per-match odds color variety (user: "kahin red kahin green") */
.odd2 .o2-val.o2-home{color:#1e9e50}
.odd2 .o2-val.o2-away{color:#e74c3c}
.odds-flip .odd2 .o2-val.o2-home{color:#e74c3c}
.odds-flip .odd2 .o2-val.o2-away{color:#1e9e50}
.odd2.selected{background:#fff3d6;border:2px solid #f5a623;box-shadow:0 0 0 2px rgba(245,166,35,.25);position:relative}
.odd2.selected::after{content:'✓';position:absolute;top:-8px;right:-8px;width:22px;height:22px;background:#f5a623;color:#fff;border-radius:50%;font-size:13px;font-weight:800;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px rgba(0,0,0,.25);z-index:2}
.odd2.selected .o2-lab{color:#b7791f;font-weight:700}
.winbadge{background:#27ae60;color:#fff;font-size:11px;font-weight:800;padding:3px 8px;border-radius:6px;letter-spacing:.5px}
.winlabel{background:#27ae60;color:#fff;font-size:10px;font-weight:800;padding:2px 6px;border-radius:4px;margin-left:6px;letter-spacing:.5px}
.showmore{display:block;width:100%;padding:12px;margin:8px 0;background:#f0f2f5;border:none;border-radius:8px;font-size:14px;font-weight:600;color:#555;cursor:pointer}
.odd2:disabled{opacity:.5;cursor:not-allowed}

/* ===== MELBET-style bet slip ===== */
.melbet-slip{background:#fff;color:#222;border-radius:16px 16px 0 0;max-height:92vh;overflow-y:auto;padding-bottom:20px}
.mb-slip-head{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid #eee}
.mb-slip-title{font-size:18px;font-weight:700;color:#222}
.mb-dd{font-size:14px;color:#888;margin-left:4px}
.mb-slip-icons{display:flex;gap:8px}
.mb-icon-btn{background:none;border:none;font-size:20px;cursor:pointer;color:#555;padding:4px 8px}
.mb-booster{margin:12px 16px;padding:12px 14px;border:2px dashed #d4a017;border-radius:10px;background:#fffdf5}
.mb-booster b{font-size:14px;color:#222}
.mb-booster p{font-size:12px;color:#666;margin:6px 0 0;line-height:1.4}
.mb-sellist{padding:0 16px}
.mb-sel-card{border-bottom:1px solid #f0f0f0;padding:12px 0;position:relative}
.mb-sel-teams{font-size:14px;font-weight:600;color:#222;padding-right:30px}
.mb-sel-date{font-size:12px;color:#888;margin-top:2px}
.mb-sel-pick{font-size:13px;color:#444;margin-top:4px}
.mb-sel-odds{font-size:15px;font-weight:700;color:#222;margin-top:2px}
@keyframes oddsflash{0%{background:rgba(255,213,79,.55);border-radius:4px}100%{background:transparent}}
.mb-sel-x{position:absolute;top:10px;right:0;background:none;border:none;font-size:18px;color:#999;cursor:pointer}
.mb-events-row{display:flex;align-items:center;gap:8px;padding:12px 16px;font-size:14px;border-top:1px solid #f0f0f0}
.mb-events-row b{font-weight:700}
.mb-odds-lbl{margin-left:auto;color:#666}
.mb-odds-change{display:flex;align-items:center;gap:8px;padding:10px 16px;font-size:13px;color:#555;border-top:1px solid #f5f5f5}
.mb-confirm{margin-left:auto;color:#222;font-weight:600}
.mb-settings{color:#1a73e8;text-decoration:none;font-size:13px}
.mb-tabs{display:flex;border-bottom:1px solid #eee;margin-top:4px}
.mb-tab{flex:1;background:none;border:none;padding:12px;font-size:14px;color:#888;cursor:pointer;border-bottom:2px solid transparent}
.mb-tab.active{color:#222;font-weight:700;border-bottom-color:#d4a017}
.mb-balance{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;font-size:14px}
.mb-deposit{color:#1a73e8;text-decoration:none;font-size:14px}
.mb-stake-row{display:flex;gap:10px;padding:0 16px}
.mb-stake-box{flex:1;display:flex;align-items:center;border:1px solid #ddd;border-radius:8px;overflow:hidden}
.mb-stake-btn{width:44px;height:48px;background:#f5f5f5;border:none;font-size:20px;cursor:pointer;color:#555}
#stakeInput{flex:1;border:none;text-align:center;font-size:16px;font-weight:600;padding:12px 4px;outline:none;min-width:0}
.mb-bet-btn{background:#d4a017;color:#fff;border:none;border-radius:8px;padding:0 28px;font-size:16px;font-weight:700;cursor:pointer;min-height:48px}
.mb-bet-btn:active{background:#b8910f}
.mb-minmax{padding:8px 16px;font-size:12px;color:#888}
.mb-winrow{display:flex;justify-content:space-between;padding:8px 16px;font-size:14px}
.mb-winrow .gold-t{color:#d4a017;font-weight:700;font-size:16px}
.mb-advrow{display:flex;gap:8px;padding:8px 16px;font-size:13px;color:#666;align-items:center}
.mb-req{color:#1a73e8;text-decoration:none;margin-left:auto}
.mb-quick-lbl{padding:12px 16px 4px;font-size:15px;font-weight:700}
.mb-quick-sub{padding:0 16px 8px;font-size:12px;color:#888}
.mb-quick{display:flex;gap:10px;padding:0 16px 16px}
.mb-quick button{flex:1;background:#f5f5f5;border:1px solid #ddd;border-radius:8px;padding:12px;font-size:14px;font-weight:600;cursor:pointer;color:#333}
.mb-quick button:active{background:#e8e8e8}
/* Event added toast */
.mb-toast{position:fixed;bottom:80px;left:12px;right:12px;background:#d4a017;color:#fff;border-radius:12px;padding:14px 16px;display:flex;align-items:center;gap:12px;z-index:9999;box-shadow:0 4px 16px rgba(0,0,0,.25);animation:mbToastIn .3s ease}
.mb-toast[hidden]{display:none}
.mb-toast-text{flex:1;font-size:13px;line-height:1.4}
.mb-toast-btn{background:#fff;color:#d4a017;border:none;border-radius:8px;padding:10px 16px;font-size:14px;font-weight:700;cursor:pointer;white-space:nowrap}
@keyframes mbToastIn{from{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}

/* ===== LIVE / Pre-match toggle (MELBET style) ===== */
.lvpm-toggle{display:flex;background:#ececec;border-radius:28px;padding:5px;margin:12px 16px;gap:0}
.lvpm-toggle[hidden]{display:none}
.lvpm-btn{flex:1;border:none;background:transparent;border-radius:24px;padding:12px 8px;font-size:16px;font-weight:800;color:#9a9a9a;cursor:pointer;transition:all .25s;letter-spacing:.3px}
.lvpm-btn.on{background:linear-gradient(180deg,#ffbe2e,#f5a623);color:#fff;box-shadow:0 3px 10px rgba(245,166,35,.45)}

/* ===== Smooth page/section transitions ===== */
.msec{animation:secFadeIn .35s ease}
@keyframes secFadeIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.mcard{transition:transform .2s ease,box-shadow .2s ease}
.odd2{transition:all .18s ease}
.odd2:active{transform:scale(.96)}
.lvpm-btn{transition:all .25s cubic-bezier(.32,.72,.28,1)}
.mb-toast{transition:all .3s cubic-bezier(.32,.72,.28,1)}

/* ===== Game list page (MELBET style) ===== */
.glist-page{position:fixed;inset:0;background:#f5f5f5;z-index:70;display:flex;flex-direction:column;animation:secFadeIn .3s ease}
.glist-page[hidden]{display:none}
/* Tournaments page */
.tourn-tabs .lvpm-btn.on{background:#00a651;color:#fff}
.tourn-sport-head{display:flex;align-items:center;gap:8px;padding:10px 14px;font-size:14px;font-weight:700;color:#1a1d24;border-bottom:1px solid #eee;background:#fff}
.tourn-row{background:#fff;border-bottom:1px solid #f0f0f0}
.tourn-row-head{display:flex;align-items:center;gap:10px;padding:13px 14px;cursor:pointer}
.tourn-row-icon{font-size:20px;flex-shrink:0}
.tourn-row-name{flex:1;font-size:14px;font-weight:600;color:#1a1d24}
.tourn-row-count{min-width:24px;height:24px;border-radius:12px;background:#f0f0f0;color:#666;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 7px}
.tourn-row-star{background:none;border:none;font-size:18px;cursor:pointer;color:#f5a623;padding:2px}
.tourn-row-arrow{font-size:12px;color:#999;transition:transform .2s}
.tourn-row.open .tourn-row-arrow{transform:rotate(180deg)}
.tourn-row-matches{display:none;padding:0 8px 10px}
.tourn-row.open .tourn-row-matches{display:block}
.tourn-row-matches .pbm-card{margin-bottom:8px}
.glist-head{display:flex;align-items:center;padding:12px 16px;background:#fff;border-bottom:1px solid #eee}
.glist-back{background:none;border:none;font-size:30px;font-weight:900;cursor:pointer;color:#111;padding:4px 14px 4px 0;line-height:1;-webkit-text-stroke:1.5px #111;text-stroke:1.5px #111}
.glist-title{flex:1;text-align:center;font-size:18px;font-weight:700;color:#555}
.glist-icon{background:none;border:none;font-size:20px;cursor:pointer;padding:4px}
.glist-searchbar{padding:10px 16px;background:#fff;border-bottom:1px solid #eee}
.glist-searchbar input{width:100%;padding:12px 16px;border:1px solid #ddd;border-radius:10px;font-size:15px;outline:none}
.glist-searchbar input:focus{border-color:#f5a623}
.glist-tabs{margin:12px 16px}
.glist-body{flex:1;overflow-y:auto;padding:0 12px 80px}
.glist-card{background:#fff;border-radius:12px;padding:14px;margin-bottom:12px;box-shadow:0 1px 4px rgba(0,0,0,.06)}
.glist-league{display:flex;align-items:center;gap:8px;font-size:13px;color:#888;margin-bottom:10px}
.glist-league .gicons{margin-left:auto;display:flex;gap:12px}
.glist-league .gicons button{background:none;border:none;font-size:18px;cursor:pointer;color:#f5a623}
.glist-team{display:flex;align-items:center;gap:10px;padding:6px 0;font-size:15px;font-weight:600}
.glist-team .gscore{margin-left:auto;font-weight:700}
.glist-team .gscore.live{color:#27ae60}
.glist-odds{display:flex;gap:8px;margin-top:10px}
.glist-odds .odd2{flex:1}

/* ===== Tournament banner carousel ===== */
.tourn-carousel{position:relative;margin:12px 0;overflow:hidden;border-radius:14px}
.tourn-carousel[hidden]{display:none}
.tourn-track{display:flex;transition:transform .5s cubic-bezier(.32,.72,.28,1)}
.tourn-slide{min-width:100%;position:relative;cursor:pointer}
.tourn-slide img{width:100%;height:160px;object-fit:cover;display:block;border-radius:14px}
.tourn-info{position:absolute;bottom:0;left:0;right:0;padding:12px 16px;background:linear-gradient(transparent,rgba(0,0,0,.75));border-radius:0 0 14px 14px;color:#fff}
.tourn-info b{font-size:16px;display:block}
.tourn-info span{font-size:12px;opacity:.85}
.tourn-prize{position:absolute;top:12px;right:12px;background:#f5a623;color:#fff;font-size:12px;font-weight:800;padding:6px 12px;border-radius:20px}
.tourn-dots{display:flex;justify-content:center;gap:6px;padding:10px 0 4px}
.tourn-dots button{width:8px;height:8px;border-radius:50%;border:none;background:#ddd;cursor:pointer;padding:0}
.tourn-dots button.on{background:#f5a623;width:24px;border-radius:4px}
/* Tournament list section */
.tourn-sec-title{display:flex;align-items:center;justify-content:space-between;margin:16px 0 10px}
.tourn-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tourn-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.08);cursor:pointer;transition:transform .2s}
.tourn-card:active{transform:scale(.97)}
.tourn-card img{width:100%;height:90px;object-fit:cover}
.tourn-card-body{padding:10px 12px}
.tourn-card-body b{font-size:13px;display:block;margin-bottom:4px}
.tourn-card-body span{font-size:11px;color:#888}
.tourn-card-prize{color:#f5a623;font-weight:800;font-size:12px}

/* ================= PlanBet-style sports zone (light theme, scoped) ================= */
#pbZone{background:#f2f3f5;color:#1a1d24;padding:14px 12px 30px;margin:0;border-top:none;font-family:inherit}
#pbZone *{box-sizing:border-box}
/* header */
.pb-head{display:flex;align-items:center;justify-content:center;position:relative;padding:8px 0 12px}
.pb-logo{font-size:27px;font-weight:900;font-style:italic;letter-spacing:1px;color:#16181d}
.pb-search{position:absolute;right:4px;top:10px;background:none;border:none;font-size:24px;color:#6b7280;cursor:pointer;line-height:1}
.pb-searchbar{margin:0 2px 10px}
.pb-searchbar input{width:100%;padding:11px 14px;border:1px solid #e2e4e8;border-radius:12px;font-size:14px;background:#fff;color:#1a1d24;outline:none}
/* auth buttons */
.pb-auth{display:flex;gap:10px;margin-bottom:14px}
.pb-btn-login,.pb-btn-reg{flex:1;text-align:center;text-decoration:none;font-weight:700;font-size:16px;color:#fff;padding:13px 0;border-radius:12px;border:0;cursor:pointer;font-family:inherit}
.pb-btn-login{background:#00c853}
.pb-btn-reg{background:#00753a}
/* category tabs - sticky, don't scroll */
.pb-tabs{display:flex;background:#f2f3f5;border-bottom:1px solid #e2e4e8;margin-bottom:0}
.pb-tabs button{flex:1;background:none;border:none;border-bottom:3px solid transparent;color:#8a8f9e;font-size:12px;font-weight:600;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 2px 10px;cursor:pointer}
.pb-tab-ic{font-size:22px;line-height:1;filter:grayscale(.4);opacity:.75}
.pb-tabs button.on{color:#00a651;border-bottom-color:#00a651}
.pb-tabs button.on .pb-tab-ic{filter:none;opacity:1}
/* sub tabs (Sports / Results) - sticky below main tabs, don't scroll */
.pb-subtabs{display:flex;background:#f2f3f5;border-bottom:1px solid #e2e4e8;position:sticky;top:60px;z-index:59}
.pb-subtabs button{flex:1;background:none;border:none;border-bottom:3px solid transparent;color:#8a8f9e;font-size:15px;font-weight:700;padding:10px 0;cursor:pointer}
.pb-subtabs button.on{color:#00a651;border-bottom-color:#00a651}
/* soon badge + league extra */
.pb-soon{background:#e63946;color:#fff;font-size:10px;font-weight:800;padding:3px 8px;border-radius:6px;text-transform:uppercase;letter-spacing:.5px}
.pb-lextra{display:inline-flex;align-items:center;gap:8px;margin-left:auto}
.pb-bell{background:none;border:none;font-size:16px;cursor:pointer;padding:2px}
/* 3-way odds (1X2 with draw) */
.pb-odds.has-draw .pb-odd{flex:1 1 0}
/* result winner row */
.pb-win{display:flex;align-items:center;justify-content:space-between;background:#f0faf4;border-radius:10px;padding:8px 12px;margin-top:8px}
.pb-win-label{font-size:12px;color:#8a8f9e;font-weight:600}
.pb-win-val{font-size:15px;color:#00a651;font-weight:800}
/* sport filter pills */
.pb-pills{display:flex;gap:8px;overflow-x:auto;padding:12px 2px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.pb-pills::-webkit-scrollbar{display:none}
.pb-pill{flex:0 0 auto;background:#33373f;color:#fff;border:none;border-radius:999px;padding:9px 20px;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap}
.pb-pill.on{background:#00a651}
/* sections */
.pb-sec{margin-top:16px}
.pb-sec-head{display:flex;align-items:center;justify-content:space-between;margin:0 2px 10px}
.pb-sec-head h2{font-size:20px;font-weight:800;color:#16181d;margin:0;display:flex;align-items:center;gap:8px}
.pb-badge{font-size:11px;font-weight:700;padding:3px 10px;border-radius:999px;border:1.5px solid}
.pb-b-green{color:#00a651;border-color:#00a651}
.pb-b-purple{color:#7b61ff;border-color:#7b61ff}
.pb-b-pink{color:#f06292;border-color:#f06292}
.pb-b-blue{color:#29b6f6;border-color:#29b6f6}
.pb-all{background:#fff;border:none;color:#00a651;font-weight:700;font-size:14px;padding:6px 16px;border-radius:999px;cursor:pointer;box-shadow:0 1px 4px rgba(0,0,0,.06)}
/* match cards */
.pb-list{display:flex;flex-direction:column;gap:12px}
.pb-card{background:#fff;border-radius:14px;padding:14px;box-shadow:0 1px 6px rgba(0,0,0,.06)}
/* PlanBet-style match cards (from video reference) */
.pbm-card{background:#fff;border-radius:14px;padding:14px 14px 12px;box-shadow:0 1px 6px rgba(0,0,0,.06);margin-bottom:10px}
.pbm-title{display:flex;align-items:center;gap:6px;margin-bottom:2px}
.pbm-ticon{font-size:15px;line-height:1}
.pbm-ttext{flex:1;font-size:15px;font-weight:800;color:#16181d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pbm-acts{display:flex;align-items:center;gap:2px;flex-shrink:0}
.pbm-vbtn,.pbm-bbtn{background:none;border:none;font-size:16px;cursor:pointer;color:#00a651;padding:0 3px;line-height:1}
.pbm-sub{font-size:12px;color:#8a8f9e;margin:0 0 8px 21px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pbm-teams{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}
.pbm-team{display:flex;align-items:center;gap:8px}
.pbm-team .pbm-tname{flex:1;font-size:15px;font-weight:700;color:#16181d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pbm-score{font-size:15px;font-weight:800;color:#16181d;white-space:nowrap}
.pbm-score.live{color:#00a651}
.pbm-mkt{font-size:13px;font-weight:600;color:#8a8f9e;margin-bottom:6px}
.pbm-vsrow{display:flex;align-items:center;justify-content:center;gap:10px;margin:8px 0 4px}
.pbm-vsteam{display:flex;align-items:center;gap:8px;flex:1}
.pbm-vsteam:first-child{justify-content:flex-end;text-align:right}
.pbm-vsteam:last-child{justify-content:flex-start}
.pbm-vsteam .pbm-tname{font-size:15px;font-weight:800;color:#16181d;line-height:1.25}
.pbm-vs{font-size:15px;font-weight:800;color:#16181d;flex-shrink:0}
.pbm-date{text-align:center;font-size:13px;color:#8a8f9e;margin-bottom:4px}
.pbm-cd{text-align:center;font-size:14px;font-weight:700;color:#00a651;margin-bottom:8px;font-variant-numeric:tabular-nums}
.pb-league{display:flex;align-items:center;gap:6px;font-size:13px;color:#8a8f9e;margin-bottom:10px}
.pb-league .pb-lgrow{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pb-star{background:none;border:none;font-size:18px;color:#00a651;cursor:pointer;line-height:1;padding:0 2px}
.pb-star:not(.on){color:#b9bec9}
.pb-bell{background:none;border:none;font-size:16px;cursor:pointer;color:#00a651;padding:0 2px}
.pb-teams{display:flex;align-items:center;justify-content:space-between;gap:8px}
.pb-team{display:flex;align-items:center;gap:8px;flex:1;min-width:0}
.pb-team.right{justify-content:flex-end;text-align:right}
.pb-tname{font-size:16px;font-weight:800;color:#16181d;line-height:1.25}
.pb-score{font-size:23px;font-weight:900;color:#16181d;white-space:nowrap;padding:0 6px}
.pb-vs{font-size:18px;font-weight:900;color:#16181d;padding:0 6px;white-space:nowrap}
.pb-info{text-align:center;color:#8a8f9e;font-size:13px;margin:8px 0 10px;line-height:1.4}
.pb-cd{text-align:center;margin:6px 0 4px}
.pb-cd span{display:inline-block;background:#e8f5e9;color:#1a1d24;font-weight:700;font-size:14px;padding:6px 18px;border-radius:999px;font-variant-numeric:tabular-nums}
.pb-date{text-align:center;color:#8a8f9e;font-size:13px;margin-bottom:10px}
.pb-mkt{font-size:15px;font-weight:800;color:#16181d;margin-bottom:8px}
.pb-odds{display:flex;gap:10px}
.pb-odd{flex:1;display:flex;align-items:center;justify-content:space-between;background:#f2f3f5;border:2px solid transparent;border-radius:10px;padding:11px 14px;cursor:pointer;font-size:14px}
.pb-odd .pb-olab{color:#8a8f9e;font-weight:600}
.pb-odd .pb-oval{font-weight:800;font-size:16px}
.pb-odd .pb-oval.red{color:#e53935}
.pb-odd .pb-oval.green{color:#00a651}
.pb-odd:disabled{opacity:.45;cursor:default}
.pb-odd.sel{border-color:#00a651;background:#e8f5e9;box-shadow:0 0 0 1px #00a651}
.pb-runners{display:flex;flex-wrap:wrap;gap:8px}
.pb-runner{flex:1 1 30%;background:#f2f3f5;border:2px solid transparent;border-radius:10px;padding:9px 8px;font-size:12px;font-weight:700;color:#16181d;cursor:pointer;text-align:center}
.pb-runner small{display:block;color:#8a8f9e;font-weight:600}
.pb-runner.sel{border-color:#00a651;background:#e8f5e9}
.pb-empty{background:#fff;border-radius:14px;padding:26px 14px;text-align:center;color:#8a8f9e;font-size:14px}
/* horizontal scrollers */
.pb-hscroll{display:flex;gap:12px;overflow-x:auto;padding:2px 2px 8px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.pb-hscroll::-webkit-scrollbar{display:none}
/* tournament banner cards */
.pb-tcard{flex:0 0 250px;height:132px;border-radius:14px;color:#fff;padding:14px;display:flex;flex-direction:column;justify-content:flex-end;cursor:pointer;position:relative;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.12)}
.pb-tlive{position:absolute;top:8px;left:10px;font-size:10px;font-weight:800;background:#e3352b;color:#fff;padding:3px 8px;border-radius:999px;letter-spacing:.5px;animation:pbBlink 1.4s ease-in-out infinite}
@keyframes pbBlink{0%,100%{opacity:1}50%{opacity:.55}}
.pb-tcard .pb-ticon{position:absolute;top:8px;right:10px;font-size:52px;opacity:.9}
.pb-tcard .pb-tprize{font-size:12px;font-weight:800;background:rgba(0,0,0,.35);display:inline-block;padding:3px 10px;border-radius:999px;align-self:flex-start;margin-bottom:6px}
.pb-tcard .pb-tname{font-size:17px;font-weight:800}
.pb-tcard .pb-tends{font-size:12px;opacity:.85}
/* recommended casino cards */
.pb-gcard{flex:0 0 148px;cursor:pointer}
.pb-gimg{width:148px;height:112px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:52px;box-shadow:0 2px 8px rgba(0,0,0,.10)}
.pb-gname{font-size:15px;font-weight:800;color:#16181d;margin:8px 2px 0}
.pb-gprov{font-size:13px;color:#8a8f9e;margin:0 2px}
/* category tiles */
.pb-cat{flex:0 0 104px;height:118px;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer;color:#fff;box-shadow:0 2px 8px rgba(0,0,0,.10);text-decoration:none}
.pb-cat .pb-catic{font-size:40px;line-height:1}
.pb-cat .pb-catname{font-size:13px;font-weight:800;text-align:center;line-height:1.2;padding:0 6px;text-shadow:0 1px 3px rgba(0,0,0,.3)}
.pb-tname2{font-size:16px;font-weight:800;color:#16181d;margin-bottom:6px}
.pb-lgic{font-size:14px}

/* ============ Top-tab mixed view ============ */
/* category badges (filled) */
.pb-cat-badge{font-size:11px;font-weight:800;padding:4px 12px;border-radius:999px;white-space:nowrap}
.pb-cat-badge.sport{background:#e8f5e9;color:#2e7d32}
.pb-cat-badge.casino{background:#f3e5f5;color:#7b1fa2}
.pb-cat-badge.fast{background:#fff3e0;color:#e65100}
.pb-cat-badge.esports{background:#ede7f6;color:#5e35b1}
.pb-sec-head .pb-cat-badge{margin-left:8px;margin-right:auto}
/* sport icon row */
.pb-sec-row{margin-top:10px}
.pb-sportrow{gap:14px;padding:6px 2px 10px}
.pb-sport{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:6px;background:none;border:0;cursor:pointer;font-family:inherit;padding:4px 2px;min-width:58px}
.pb-sport-ic{width:52px;height:52px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;box-shadow:0 1px 4px rgba(0,0,0,.10);border:2px solid transparent}
.pb-sport.on .pb-sport-ic{border-color:#00a651;box-shadow:0 0 0 3px rgba(0,166,81,.18)}
.pb-sport-lb{font-size:11px;font-weight:600;color:#3a3d44;white-space:nowrap;max-width:66px;overflow:hidden;text-overflow:ellipsis}
.pb-sport.on .pb-sport-lb{color:#00a651;font-weight:800}
/* promo carousel */
.pb-promo{position:relative;overflow:hidden;border-radius:14px;box-shadow:0 2px 8px rgba(0,0,0,.10)}
.pb-promo-track{display:flex;transition:transform .45s ease}
.pb-promo-slide{flex:0 0 100%;min-height:112px;border:0;cursor:pointer;color:#fff;text-align:left;padding:18px;display:flex;flex-direction:column;justify-content:center;gap:6px;font-family:inherit}
.pb-promo-title{font-size:19px;font-weight:800;line-height:1.25;text-shadow:0 1px 4px rgba(0,0,0,.35)}
.pb-promo-sub{font-size:13px;opacity:.92}
.pb-promo-dots{position:absolute;bottom:10px;left:0;right:0;display:flex;justify-content:center;gap:6px}
.pb-promo-dot{width:7px;height:7px;border-radius:50%;border:0;background:rgba(255,255,255,.5);cursor:pointer;padding:0}
.pb-promo-dot.on{background:#fff;width:20px;border-radius:999px}
/* fast games row */
.pb-fast{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:6px;background:none;border:0;cursor:pointer;font-family:inherit;min-width:64px;padding:4px 2px}
.pb-fast-ic{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#2b2f36,#4a4f58);display:flex;align-items:center;justify-content:center;font-size:26px;box-shadow:0 2px 6px rgba(0,0,0,.15)}
.pb-fast-lb{font-size:11px;font-weight:600;color:#3a3d44;white-space:nowrap}
/* tournament rows (PlanBet video style) */
.pb-trows{display:flex;flex-direction:column;gap:8px}
.pb-trow{display:flex;align-items:center;gap:10px;background:#fff;border:0;border-radius:12px;padding:10px 12px;cursor:pointer;box-shadow:0 1px 4px rgba(0,0,0,.06);width:100%;text-align:left;font-family:inherit}
.pb-trow-logos{display:flex;align-items:center;flex:0 0 auto}
.pb-trow-logos .tbadge{margin-left:-10px;border:2px solid #fff}
.pb-trow-logos .tbadge:first-child{margin-left:0}
.pb-trow-mid{flex:1;min-width:0}
.pb-trow-title{font-size:14px;font-weight:800;color:#16181d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pb-trow-sub{font-size:12px;color:#7a7e87;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pb-trow-count{min-width:26px;height:26px;border-radius:8px;background:#e3352b;color:#fff;font-size:13px;font-weight:800;display:flex;align-items:center;justify-content:center;padding:0 7px;flex:0 0 auto}
.pb-trow .pb-star{flex:0 0 auto}
/* in the spotlight */
#pbSpot{display:flex;flex-direction:column;gap:12px}
.pb-spot-banner{border:0;cursor:pointer;border-radius:16px;padding:26px 18px;background:linear-gradient(135deg,#1a1a2e,#3d2b1f 60%,#7a4a21);color:#fff;text-align:center;font-family:inherit;box-shadow:0 2px 8px rgba(0,0,0,.15);width:100%}
.pb-spot-games{font-size:44px;font-weight:900;letter-spacing:6px;background:linear-gradient(180deg,#ffe9a8,#f5b301 55%,#b97a00);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 3px 6px rgba(0,0,0,.4))}
.pb-spot-sub{font-size:13px;opacity:.85;margin-top:8px}
.pb-spot-card{display:flex;align-items:center;gap:12px;border:0;cursor:pointer;border-radius:14px;padding:14px 16px;background:linear-gradient(135deg,#14141f,#4a1212);color:#fff;font-family:inherit;text-align:left;width:100%}
.pb-spot-ic{font-size:34px;flex:0 0 auto}
.pb-spot-name{font-size:16px;font-weight:800}
.pb-spot-prov{font-size:12px;opacity:.7;margin-top:2px}
/* buttons used as cards/tiles */
button.pb-cat{border:0;font-family:inherit}
button.pb-gcard{border:0;background:none;font-family:inherit;text-align:left;padding:0}
/* Esports game subsections (PlanBet video style) */
.pb-essub{margin-bottom:16px}
.pb-essub-head{display:flex;align-items:center;justify-content:space-between;padding:8px 4px}
.pb-essub-name{font-size:15px;font-weight:700;color:#1a1d24;display:flex;align-items:center;gap:8px}
/* Casino game cards (PlanBet video style) */
.pb-casino-card{background:#fff;border:none;border-radius:10px;overflow:hidden;min-width:130px;max-width:130px;cursor:pointer;box-shadow:0 1px 4px rgba(0,0,0,.08);text-align:left;padding:0}
.pb-casino-art{height:90px;display:flex;align-items:center;justify-content:center;font-size:42px}
.pb-casino-name{font-size:12px;font-weight:600;color:#1a1d24;padding:6px 8px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pb-casino-prov{font-size:11px;color:#888;padding:0 8px 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* ===== PlanBet-style Auth pages ===== */
.auth-page{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;overflow-y:auto}
.auth-page[hidden]{display:none}
.auth-bg{position:absolute;inset:0;background:#d4ede4;pointer-events:none}
.auth-bg::before{content:'⚽🏀🎾🏐🏸🎳♟️🃏🎯🏓⛳🎱';position:absolute;inset:0;font-size:52px;opacity:.18;display:flex;flex-wrap:wrap;align-content:flex-start;gap:28px;padding:70px 16px;line-height:1.5;overflow:hidden;color:#5a8a7a}
.auth-back{position:relative;z-index:2;background:none;border:none;font-size:28px;font-weight:900;color:#1a1d24;cursor:pointer;padding:12px 16px;align-self:flex-start;-webkit-text-stroke:1px #1a1d24}
.auth-card{position:relative;z-index:2;background:#fff;margin:0 0 auto;padding:20px 16px 30px;border-radius:20px 20px 0 0;min-height:60vh;box-shadow:0 -2px 20px rgba(0,0,0,.08)}
.auth-title{font-size:24px;font-weight:800;color:#1a1d24;margin:0 0 20px;text-align:left}
.auth-field-label{font-size:13px;color:#666;margin-bottom:6px;font-weight:600}
.auth-row{display:flex;gap:8px;align-items:center;margin-bottom:4px}
.auth-ccode{display:flex;align-items:center;gap:4px;background:#00a651;color:#fff;border:none;border-radius:8px;padding:12px 10px;font-size:15px;font-weight:700;cursor:pointer;white-space:nowrap}
.auth-dd{font-size:10px;opacity:.8}
.auth-input{border:1px solid #ddd;border-radius:8px;padding:12px;font-size:15px;outline:none;background:#fff;color:#1a1d24}
.auth-input:focus{border-color:#00a651}
.auth-mode-btn{background:#00a651;border:none;border-radius:8px;width:48px;height:48px;font-size:22px;cursor:pointer;flex-shrink:0;color:#fff}
.auth-eye{background:none;border:none;font-size:20px;cursor:pointer;padding:8px;color:#888}
.auth-submit{width:100%;background:#00a651;color:#fff;border:none;border-radius:10px;padding:14px;font-size:17px;font-weight:700;cursor:pointer;margin-top:16px}
.auth-submit:disabled{background:#ccc;cursor:not-allowed}
.auth-link{background:none;border:none;color:#00a651;font-size:14px;cursor:pointer;margin-top:12px;display:block;width:100%;text-align:center}
.auth-link-inline{background:none;border:none;color:#00a651;font-size:14px;font-weight:700;cursor:pointer;padding:0}
.auth-social{display:flex;gap:16px;justify-content:center;margin-top:20px}
.auth-soc{width:52px;height:52px;border-radius:50%;border:1px solid #ddd;background:#fff;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.auth-soc-g{font-weight:900;color:#4285f4;font-size:26px}
.auth-switch{text-align:center;margin-top:20px;font-size:14px;color:#666}
.auth-desc{font-size:14px;color:#666;margin-bottom:16px;line-height:1.5}
.auth-opt{display:flex;align-items:center;gap:12px;width:100%;background:#f5f5f5;border:1px solid #eee;border-radius:10px;padding:14px;font-size:15px;font-weight:600;color:#1a1d24;cursor:pointer;margin-bottom:10px;text-align:left}
.auth-opt span{font-size:22px}
.auth-select{display:flex;align-items:center;justify-content:space-between;width:100%;border:1px solid #ddd;border-radius:8px;padding:12px;font-size:15px;background:#fff;cursor:pointer;margin-bottom:4px;color:#1a1d24}
.auth-check{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:#555;margin:8px 0;cursor:pointer}
.auth-check input{margin-top:2px;accent-color:#00a651}
/* ===== PlanBet login v2 (screenshot match) ===== */
.auth-back-circle{position:relative;z-index:2;background:rgba(0,0,0,.45);border:none;width:44px;height:44px;border-radius:50%;font-size:22px;color:#fff;cursor:pointer;margin:12px 0 0 12px;align-self:flex-start;display:flex;align-items:center;justify-content:center}
.auth-ulabel{font-size:13px;color:#888;margin-bottom:2px}
.auth-urow{display:flex;align-items:center;gap:10px;border-bottom:1px solid #ddd;padding:6px 0;margin-bottom:4px}
.auth-uccode{display:flex;align-items:center;gap:8px;background:none;border:none;border-bottom:1px solid #ddd;font-size:19px;color:#1a1d24;cursor:pointer;padding:8px 4px;white-space:nowrap}
.auth-uccode #loginCCodeFlag{font-size:24px}
.auth-uccode .auth-dd{color:#00a651;font-size:16px}
.auth-uinput{flex:1;border:none;border-bottom:1px solid #ddd;outline:none;font-size:17px;padding:8px 4px;background:transparent;color:#1a1d24}
.auth-uinput::placeholder{color:#999}
.auth-usqbtn{background:#00a651;border:none;border-radius:10px;width:52px;height:52px;font-size:24px;color:#fff;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.auth-soc-g{background:#fff!important}
.auth-soc-gg{font-weight:900;font-size:28px;background:linear-gradient(135deg,#4285f4,#ea4335,#fbbc05,#34a853);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.auth-soc-x{background:#000!important;color:#fff!important;font-size:26px;font-weight:300}
.auth-soc-tg{background:#229ed9!important;color:#fff!important;font-size:26px}
.auth-switch2{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:18px;font-size:15px;color:#888;text-align:right;line-height:1.3}
.auth-switch2 .auth-link-inline{font-size:17px}
/* Registration options (screenshot match) */
.auth-reg-opt{display:flex;align-items:center;gap:14px;width:100%;background:#fff;border:none;border-radius:14px;padding:14px 16px;font-size:17px;font-weight:600;color:#1a1d24;cursor:pointer;margin-bottom:12px;box-shadow:0 1px 6px rgba(0,0,0,.06);text-align:left}
.auth-reg-ic{width:44px;height:44px;border-radius:50%;background:#e8f5f0;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}
/* Image back button (user-provided) - consistent size everywhere */
.img-back-btn{background:none;border:none;padding:0;cursor:pointer;width:32px;height:32px;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.img-back-btn img{width:32px;height:32px;object-fit:contain;display:block}
.img-back-btn.auth-pos{position:relative;z-index:2;margin:12px 0 0 12px;align-self:flex-start}
/* Phone registration form - underline style (reference match) */
#regPhoneForm .auth-select,#regPhoneForm .auth-input{border:none;border-bottom:1px solid #ddd;border-radius:0;padding:10px 4px;font-size:17px;background:transparent;margin-bottom:6px}
#regPhoneForm .auth-select:focus,#regPhoneForm .auth-input:focus{border-bottom-color:#00a651;outline:none}
#regPhoneForm .auth-field-label{font-size:14px;color:#888;margin:12px 0 2px}
#regPhoneForm .auth-row{display:flex;gap:12px;align-items:flex-end}
#regPhoneForm .auth-row .auth-ccode{border:none;border-bottom:1px solid #ddd;border-radius:0;background:transparent;padding:10px 4px;font-size:17px}
#regPhoneForm .auth-row .auth-input{flex:1}

/* New Bet History page (reference design v113) */
.hist-page-new{background:#f5f6f8;min-height:100vh;padding:0 0 80px}
.hist-topbar-new{display:flex;align-items:center;justify-content:center;position:relative;padding:16px;background:#fff}
.hist-title-new{font-size:20px;font-weight:700;color:#5a6c7d;display:flex;align-items:center;gap:4px}
.hist-icons-new{position:absolute;right:16px;display:flex;gap:16px}
.hist-icons-new span{font-size:22px;color:#5a6c7d;cursor:pointer}
.hist-acc-new{background:#fff;padding:4px 16px 12px;display:flex;align-items:center;justify-content:space-between}
.hist-acc-left small{display:block;color:#888;font-size:13px;margin-bottom:2px}
.hist-acc-left b{font-size:28px;font-weight:800;color:#1a1d24}
.hist-dep-new{background:#ffcf00;border:none;border-radius:10px;padding:10px 20px;font-size:16px;font-weight:700;color:#1a1d24;cursor:pointer}
.hist-tabs-new{display:flex;gap:12px;padding:12px 16px;background:#f5f6f8}
.hist-tab-new{flex:1;background:#e8eaed;border:none;border-radius:10px;padding:12px;font-size:15px;font-weight:600;color:#5a6c7d;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px}
.hist-tab-new.sel{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,0.1)}
.hist-stats-new{background:#fff;border-radius:12px;margin:0 16px 12px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;cursor:pointer}
.hist-stats-new small{display:block;color:#888;font-size:13px;margin-bottom:4px}
.hist-stats-new b{font-size:16px;font-weight:700;color:#1a1d24}
.hist-stats-new .arr{color:#f0a000;font-size:20px}
.hist-betcard-new{background:#fff;border-radius:12px;margin:0 16px 12px;padding:14px 16px}
.hist-bet-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:8px}
.hist-bet-datetime{font-size:12px;color:#999}
.hist-bet-icons{display:flex;gap:12px;align-items:center}
.hist-bet-icons span{font-size:18px;color:#f0a000;cursor:pointer}
.hist-bet-type{display:flex;align-items:center;gap:8px;margin-bottom:12px}
.hist-bet-type .ticon{font-size:20px}
.hist-bet-type b{font-size:16px;font-weight:700;color:#1a1d24}
.hist-live-badge{background:#ff4444;color:#fff;font-size:11px;font-weight:700;padding:3px 8px;border-radius:4px}
.hist-bet-rows{border-top:1px solid #f0f0f0;padding-top:8px}
.hist-bet-row{display:flex;justify-content:space-between;padding:4px 0;font-size:14px}
.hist-bet-row span{color:#888}
.hist-bet-row b{font-weight:600;color:#1a1d24}
.hist-bet-row .accepted{color:#f0a000;font-weight:700}
