:root{color-scheme:dark;--bg:#101923;--panel:#1d2d39;--panel2:#283d4d;--line:#395063;--text:#edf2f7;--muted:#9cb2c3;--orange:#efa122;--light:#f5f7f9;--ink:#1c3040}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,"Microsoft YaHei","PingFang SC",sans-serif;font-size:14px}button,select,input{font:inherit}button,a,select,input{outline-offset:2px}button{cursor:pointer}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.wrap{max-width:1550px;margin:0 auto}.header{background:radial-gradient(circle at 82% -35%,#6d461e 0,transparent 48%),linear-gradient(120deg,#081b29,#132d3e 70%,#152632);border-bottom:3px solid var(--orange)}.topbar{display:flex;align-items:center;gap:30px;padding:17px 24px;border-bottom:1px solid #30485b}.logo{display:flex;align-items:center;gap:10px}.ball{font-size:31px}.logo b{font-size:20px;letter-spacing:2px;display:block}.logo small{display:block;font-size:10px;letter-spacing:3px;color:#adc6d6}.sports{display:flex;gap:8px;align-self:stretch;align-items:center}.sports>*{padding:10px 17px;border-radius:5px;color:#b8cbd8}.sports .selected{color:#22160a;background:linear-gradient(#ffbe57,#e18d17);font-weight:800}.lang{display:flex;align-items:center;gap:10px;margin-left:auto;color:#d8e6ef}.lang select,.filters select,.filters input{color:#eaf4ff;background:#2c4254;border:1px solid #587085;border-radius:6px;padding:9px 11px}.hero{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:28px 25px}.eyebrow{font-size:11px;letter-spacing:3px;color:#f1b66e;font-weight:700}.hero h1{margin:6px 0;font-size:29px}.hero p{color:#b9ccdc;margin:0}.source{border:1px solid #66502e;color:#ffcc88;padding:9px 13px;border-radius:30px;font-size:12px;white-space:nowrap}.layout{display:grid;grid-template-columns:176px minmax(0,1fr) 248px;gap:14px;padding:18px 14px 40px}.panel,.navside{border:1px solid var(--line);background:var(--panel);border-radius:8px;overflow:hidden}.navside{height:max-content}.side-head{font-size:12px;font-weight:800;letter-spacing:1px;color:#a8bbc8;padding:20px 16px 13px}.navlink{width:100%;display:flex;gap:12px;align-items:center;border:0;border-top:1px solid #304658;background:transparent;color:#e6f0fa;padding:17px;text-align:left;font-weight:700}.navlink>span:first-child{font-size:22px;color:#f0a22f}.navlink.current{background:linear-gradient(120deg,#f6b449,#c9760e);color:#22190e}.navlink.current>span:first-child{color:#22190e}.side-note{font-size:12px;color:#b4c3d0;padding:20px 16px;border-top:1px solid #385061;line-height:1.8}.main{min-width:0}.panel-head{padding:17px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--panel2)}h2,h3{margin:0}.panel-head h2{font-size:18px;margin-bottom:5px}.muted{font-size:12px;color:var(--muted)}.refresh,.more{border:1px solid #71808b;color:#ffe0ab;background:#3a5062;border-radius:6px;padding:9px 14px}.refresh:disabled{opacity:.6}.filters{padding:14px 18px;display:flex;align-items:end;gap:12px;flex-wrap:wrap;border-bottom:1px solid #385066}.filters label{display:flex;flex-direction:column;gap:6px;color:#b3c6d3;font-size:12px}.updated{font-size:12px;color:#a5becc;margin-left:auto;padding-bottom:5px}.table-wrap{overflow:auto;background:var(--light)}table{border-collapse:collapse;width:100%;color:var(--ink);font-size:12px}table.games{min-width:780px}table.history{min-width:680px}th{background:#f5ac31;padding:13px 7px;border-right:1px solid #da9233;color:#30220f}tr.sub th{background:#f8c16c;padding:8px 4px}td{text-align:center;padding:12px 7px;border-bottom:1px solid #d9dfe4}tbody tr:nth-child(even){background:#e9eff3}.team-cell{text-align:left;font-weight:750;min-width:240px}.team-cell .fixture-time{color:#687c8d;font-weight:400;font-size:11px}.team-cell .league-name{color:#a67a35;font-weight:600;font-size:11px;margin-top:4px}.odds{display:inline-flex;flex-direction:column;gap:3px;border:1px solid #dce1e5;border-radius:5px;min-width:70px;padding:6px 5px;background:#fff}.odds strong{color:#12699b;font-size:15px}.odds small{color:#6e8090}.odds.expired{background:#edeff1;color:#8593a0}.odds.expired strong{color:#8b969d}.odds-updated{color:#67798b;font-size:10px;line-height:1.25;max-width:105px;overflow-wrap:anywhere}.odds.expired{cursor:default}.empty,.message{padding:30px!important;text-align:center;color:#778997}.message{background:#eef1f4;padding:13px!important}.message:empty{display:none}.foot{display:flex;justify-content:space-between;gap:10px;padding:14px 18px;color:#a2b7c6;font-size:11px}.aside{display:flex;flex-direction:column;gap:14px}.account-head{padding:16px;font-size:17px;font-weight:850;color:#211608;background:linear-gradient(#fbc06a,#df8a19);display:flex;justify-content:space-between}.small-dot{background:#69491d;border-radius:50%;width:9px;height:9px}.account-info{padding:18px;line-height:1.8;color:#bfcfda;font-size:12px}.home-link{display:block;margin:0 14px 16px;padding:10px;text-align:center;border:1px solid #7b8ea0;border-radius:5px;color:#ffcb78}.rules{padding:17px}.rules h3{font-size:16px;margin-bottom:12px}.rules p{font-size:12px;line-height:1.7;color:#c2d0da;border-top:1px solid #344c5e;padding-top:12px}.footer{text-align:center;padding:8px 12px 30px;color:#879fad;font-size:12px}.more{display:block;margin:13px auto}.status{font-weight:700}.status-open,.status-locked{color:#88670c}.status-settled{color:#207449}.status-refunded{color:#6a6594}@media(max-width:1130px){.layout{grid-template-columns:140px minmax(0,1fr)}.aside{grid-column:2;flex-direction:row}.aside>*{flex:1}}@media(max-width:720px){.topbar{gap:9px;flex-wrap:wrap;padding:12px}.logo b{font-size:15px}.sports{order:3;width:100%;justify-content:space-around}.sports>*{padding:7px 11px}.lang{font-size:12px}.lang select{max-width:100px}.hero{padding:19px 14px}.hero h1{font-size:22px}.source{display:none}.layout{display:block;padding:9px}.navside{display:flex;margin-bottom:9px;align-items:center}.side-head,.side-note{display:none}.navlink{width:auto;flex:1;border:0;border-right:1px solid #3b5569;padding:13px}.aside{display:block;margin-top:12px}.aside>*{margin-bottom:12px}.panel-head{padding:14px}.filters{padding:10px}.updated{margin:0;width:100%}.foot{display:block}.foot span{display:block;margin-bottom:5px}}

/* P6S3: an unchanged pre-match price can still be in the latest fetched market. Numbers are display-only. */
.odds{cursor:default}.odds-updated{font-size:10px;line-height:1.25;max-width:110px;overflow-wrap:anywhere}.odds.expired{background:#edeff1}.odds.expired strong{color:#8b969d}

/* P6U: missing markets never render faux suspended price cards. */
.markets-hidden,.market-not-offered{background:transparent;color:#8699a9;font-size:12px}.odds-bookmaker{font-size:10px;line-height:1.15;font-weight:700;color:#7a6337;white-space:nowrap}

/* SPORT_NAV_V2 */

.sports [data-i18n="navFootball"]::before{content:"⚽ "}
.sports [data-i18n="navBasketball"]::before{content:"🏀 "}
@media(min-width:721px){
.header .topbar{display:grid;grid-template-columns:1fr auto;grid-template-rows:54px 62px;gap:0;padding-top:10px;padding-bottom:0}
.header .logo{grid-column:1;grid-row:1}
.header .lang{grid-column:2;grid-row:1}
.header .sports{grid-column:1/-1;grid-row:2;align-self:end;justify-content:flex-start;padding-bottom:9px}
}


/* BASKETBALL_UI_CLEAN_V3 */
.source,
.navside .side-note,
#account-state,
.footer {
  display:none!important;
}


/* BASKETBALL_THREE_VIEWS_V1 */
.basketball-views{display:flex;gap:8px;padding:12px 17px 0;background:var(--panel);flex-wrap:wrap}
.basketball-views .bview{border:1px solid var(--line);background:#283d4d;color:#e7f0f7;padding:11px 20px;border-radius:6px 6px 0 0;font-weight:700}
.basketball-views .bview.active{background:linear-gradient(#ffb843,#e18b0d);color:#171d23;border-color:#e18b0d}
.basketball-views .bview:focus-visible{outline:2px solid white}
@media(max-width:720px){
.basketball-views{padding:9px 10px 0}
.basketball-views .bview{flex:1;padding:10px 7px}
}


/* BASKETBALL_MOBILE_CARDS_V1 */
@media(max-width:720px){
 .table-wrap:has(table.games){overflow:visible}
 table.games,table.games tbody{
   display:block;width:100%;min-width:0
 }
 table.games thead{display:none}
 table.games tbody{
   padding:10px;background:#101923
 }
 table.games tbody tr{
   display:grid;
   grid-template-columns:repeat(2,minmax(0,1fr));
   gap:8px 10px;
   padding:12px;
   margin-bottom:12px;
   border:1px solid #395063;
   border-radius:9px;
   background:#172f42
 }
 table.games tbody tr:nth-child(even){
   background:#1c374a
 }
 table.games tbody td{
   display:block;
   min-width:0;
   padding:32px 0 5px;
   border:0;
   position:relative;
   color:#edf2f7
 }
 table.games tbody td.team-cell{
   grid-column:1/-1;
   text-align:left;
   padding:3px 2px 13px;
   border-bottom:1px solid #395063;
   font-size:14px
 }
 table.games .team-cell .fixture-time{
   color:#a8c4d7
 }
 table.games .team-cell .league-name{
   color:#ffb341
 }
 table.games tbody td.mobile-market-start::before{
   content:attr(data-mobile-market-title);
   position:absolute;
   left:0;top:5px;
   width:calc(200% + 10px);
   text-align:left;
   color:#ffb341;
   font-size:13px;
   font-weight:800;
   pointer-events:none
 }
 table.games tbody td.market-not-offered,
 table.games tbody td.markets-hidden,
 table.games tbody td.empty{
   grid-column:1/-1
 }
 table.games tbody td.market-not-offered::before{
   width:100%
 }
 table.games tbody td.market-not-offered::after{
   content:"—";
   display:block;
   color:#96aebf;
   padding:7px
 }
 table.games .odds{
   display:flex;
   width:100%;
   min-width:0;
   max-width:100%;
   padding:9px 5px;
   gap:4px;
   overflow-wrap:anywhere
 }
 table.games .odds-updated{
   max-width:100%;
   font-size:10px;
   white-space:normal
 }
}


/* BASKETBALL_AF_NAV_MOBILE_V1 */
@media(max-width:720px){
  .sports{
    flex-wrap:wrap;
    justify-content:flex-start;
    gap:6px;
  }
  .sports>*{
    font-size:12px;
    padding:8px 9px;
    white-space:nowrap;
  }
}
