.extendedGamePage .extendedResult{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  min-height:46px;
  margin-top:8px;
}
.extendedGamePage .drawHeroHeader > .row{
  gap:12px;
  flex-wrap:wrap;
  align-items:flex-start!important;
}
.extendedGamePage .gameIdentity{
  flex:1 1 180px;
  min-width:160px;
}
.extendedGamePage .roundBadges{
  flex:1 1 430px;
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end!important;
  gap:8px!important;
}
.extendedGamePage .roundBadges .badge{
  flex:0 1 auto!important;
  min-width:128px!important;
  white-space:normal!important;
  line-height:1.25;
  text-align:center;
}
.extendedGamePage .gameHint{display:none!important}
.extBall{
  width:42px;
  height:42px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  color:#223047;
  background:radial-gradient(circle at 32% 24%,#fff,#d9e0ea 42%,#9aa8b8 100%);
  border:1px solid rgba(98,112,130,.32);
  box-shadow:inset 0 2px 4px rgba(255,255,255,.8), inset 0 -6px 10px rgba(53,73,102,.18), 0 8px 18px rgba(50,60,80,.16);
}
.extBall.gold{
  color:#5d3900;
  background:radial-gradient(circle at 32% 24%,#fff6c9,#ffd556 48%,#d39b18 100%);
  border-color:#d4a83c;
}
.mkBall{
  color:#fff!important;
  border:2px solid rgba(255,255,255,.55)!important;
  text-shadow:0 1px 2px rgba(0,0,0,.58),0 0 1px rgba(0,0,0,.55)!important;
  box-shadow:
    inset 0 3px 7px rgba(255,255,255,.28),
    inset 0 -9px 14px rgba(0,0,0,.28),
    0 7px 14px rgba(35,40,54,.18)!important;
}
.mkBall.red{background:radial-gradient(circle at 30% 22%,#ffd6d6 0 11%,#ef5656 33%,#c91f2a 66%,#8f1019 100%)!important}
.mkBall.blue{background:radial-gradient(circle at 30% 22%,#d7e9ff 0 11%,#5da3f4 33%,#216ed2 66%,#12438f 100%)!important}
.mkBall.green{background:radial-gradient(circle at 30% 22%,#d6f6df 0 11%,#53c978 33%,#229755 66%,#11643a 100%)!important}
.playGrid .pill.red{border-color:#ef9a9a;color:#b91c1c}
.playGrid .pill.blue{border-color:#93c5fd;color:#1d4ed8}
.playGrid .pill.green{border-color:#86efac;color:#15803d}
.playGroup{
  border:1px solid #eadfca;
  border-radius:18px;
  padding:14px;
  margin-bottom:14px;
  background:#fffdf8;
}
.playGroupTitle{
  font-weight:900;
  color:#1e2a3a;
  margin-bottom:10px;
}
.playGrid{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.playGrid .pill{
  min-width:70px;
}
.markSixBuildGrid .pill{
  min-width:42px;
  width:42px;
  height:42px;
  padding:0;
  border-radius:50%;
  font-weight:900;
}
.builderBlock{
  border:1px dashed #eadfca;
  border-radius:14px;
  padding:10px;
  background:#fff;
}
.builderTitle{
  font-weight:900;
  color:#1e2a3a;
  margin-bottom:8px;
}
.builderActions{
  margin-top:12px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
}
.builderActions .muted{
  margin-right:auto;
}
.quickInputRow{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  align-items:center;
}
.quickInputRow .input{
  max-width:160px;
}
.marketCard{
  border:1px solid #eadfca;
  border-radius:16px;
  padding:12px;
  background:linear-gradient(180deg,#fff,#fff9ef);
  box-shadow:0 8px 22px rgba(92,72,38,.06);
  margin-bottom:10px;
}
.marketTitle{
  font-weight:900;
  margin-bottom:8px;
}
.horseLane{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px;
  border:1px solid #eadfca;
  border-radius:14px;
  margin-bottom:8px;
  background:#fff;
}
.scratchCatalog{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(172px,1fr));
  gap:16px;
}
.scratchGameCard{
  position:relative;
  min-height:220px;
  border:0;
  border-radius:14px;
  padding:14px;
  overflow:hidden;
  color:#fff;
  text-align:left;
  cursor:pointer;
  box-shadow:0 14px 32px rgba(120,42,28,.18);
  transition:transform .16s ease, box-shadow .16s ease, outline .16s ease;
}
.scratchGameCard:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(120,42,28,.24)}
.scratchGameCard.active{outline:3px solid #f0bd32;box-shadow:0 18px 42px rgba(230,174,45,.32)}
.scratchGameCard:before{
  content:"";
  position:absolute;
  inset:-30%;
  background:radial-gradient(circle at 20% 15%,rgba(255,255,255,.42),transparent 28%),radial-gradient(circle at 82% 80%,rgba(255,255,255,.24),transparent 30%);
}
.scratchGameCard > span{position:relative;z-index:1;display:block;text-shadow:0 2px 5px rgba(0,0,0,.32)}
.scratchGameCard .hot{position:absolute;top:0;left:0;background:#ff2e3d;padding:4px 10px;border-bottom-right-radius:9px;font-weight:900;font-size:12px}
.scratchGameCard .face{text-align:right;font-weight:900}
.scratchGameCard .face b{font-size:30px;margin:0 2px}
.scratchGameCard .scratchName{font-size:28px;font-weight:1000;margin-top:28px;letter-spacing:1px}
.scratchGameCard .chance{font-size:17px;font-weight:900;margin-top:42px}
.scratchGameCard .maxPrize{font-size:16px;font-weight:900;margin-top:4px}
.scratchGameCard .oddsLine{margin-top:14px;font-size:13px;opacity:.95}
.scratchGameCard.cardA,.scratchTicket.cardA{background:linear-gradient(145deg,#312116,#8e311f 44%,#1b1220)}
.scratchGameCard.cardB,.scratchTicket.cardB{background:linear-gradient(145deg,#118adf,#1ecad0 48%,#064d9c)}
.scratchGameCard.cardC,.scratchTicket.cardC{background:linear-gradient(145deg,#d21414,#ff7a22 52%,#a20808)}
.scratchGameCard.cardD,.scratchTicket.cardD{background:linear-gradient(145deg,#d51a1a,#ecb039 52%,#9f1717)}
.scratchGameCard.cardE,.scratchTicket.cardE{background:linear-gradient(145deg,#07418d,#e90b33 58%,#06235d)}
.scratchGameCard.cardF,.scratchTicket.cardF{background:linear-gradient(145deg,#68260f,#ffd55b 52%,#c01720)}
.scratchRevealOverlay{
  position:fixed;
  inset:0;
  z-index:10000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
  background:rgba(28,24,18,.48);
}
.scratchRevealCard{
  width:min(620px,96vw);
  border-radius:22px;
  border:1px solid #eadfca;
  background:#fff;
  box-shadow:0 30px 90px rgba(54,38,12,.28);
  padding:18px;
}
.scratchRevealTop{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.scratchRevealTop h3{margin:4px 0 0;font-size:24px}
.scratchTicket{
  position:relative;
  margin-top:14px;
  border-radius:20px;
  padding:18px;
  color:#fff;
  overflow:hidden;
  min-height:300px;
}
.ticketFace{font-weight:900;text-align:right}.ticketFace b{font-size:34px;margin:0 2px}
.ticketPrize{font-size:20px;font-weight:1000;text-align:center;margin:16px 0;text-shadow:0 2px 6px rgba(0,0,0,.28)}
.scratchArea{
  position:relative;
  height:220px;
  border-radius:18px;
  overflow:hidden;
  background:#fff9df;
  border:2px dashed rgba(255,255,255,.75);
}
.scratchHidden{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:12px;
  color:#253044;
  background:linear-gradient(180deg,#fffdf2,#fff2b8);
}
.scratchNumbers{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.scratchNumbers span{
  width:44px;
  height:44px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:radial-gradient(circle at 32% 24%,#fff,#d7dde5 50%,#98a5b4);
  box-shadow:inset 0 2px 4px rgba(255,255,255,.8),0 8px 16px rgba(40,50,70,.18);
  font-weight:900;
}
.scratchResult{font-size:26px;font-weight:1000}.scratchResult.won{color:#b57a00}.scratchResult.lost{color:#5d6675}
.scratchPayout{font-weight:900;color:#1e8b52}
.scratchTicketList{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:6px;
  max-height:74px;
  overflow:auto;
  padding:0 8px;
}
.scratchTicketList span{
  border-radius:999px;
  padding:4px 9px;
  font-size:12px;
  font-weight:900;
  background:#fff;
  border:1px solid rgba(180,150,75,.24);
  color:#5d6675;
}
.scratchTicketList span.won{color:#a26b00;background:#fff5d6;border-color:#efcf78}
.scratchTicketList span.lost{color:#687284;background:#f3f5f8}
.scratchMask{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  touch-action:none;
  cursor:grab;
  transition:opacity .18s ease;
}
.scratchMask.revealed{opacity:0}
.raceBoard{
  border:1px solid #eadfca;
  border-radius:18px;
  background:#fffdf8;
  overflow:hidden;
}
.raceBoardHead{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  padding:14px;
  border-bottom:1px solid #eadfca;
  background:linear-gradient(180deg,#fff,#fff8e8);
}
.raceBoardHead b{display:block;font-size:18px}
.raceRow{
  display:grid;
  grid-template-columns:54px minmax(150px,1fr) minmax(210px,auto);
  gap:12px;
  align-items:center;
  padding:12px 14px;
  border-bottom:1px solid #f0e5d1;
}
.raceRow:last-child{border-bottom:0}
.horseNo{
  width:42px;height:42px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-weight:1000;color:#5b3900;
  background:radial-gradient(circle at 32% 24%,#fff8c8,#ffd763 50%,#d39b18);
  box-shadow:inset 0 2px 5px rgba(255,255,255,.9),0 8px 18px rgba(126,83,12,.18);
}
.horseInfo b{display:block;color:#1e2a3a}
.horseInfo span{display:block;color:#6a7280;font-size:12px;margin-top:3px}
.raceOdds{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:768px){
  .scratchInstantPage .drawHeroBody{padding-top:10px}
  .extendedGamePage .roundBadges{
    flex-basis:100%;
    justify-content:flex-start!important;
  }
  .extendedGamePage .roundBadges .badge{
    flex:1 1 145px!important;
    min-width:145px!important;
    justify-content:center;
    min-height:30px;
  }
  .extBall{width:34px;height:34px;font-size:12px}
  .playGrid .pill{min-width:56px}
  .quickInputRow .input{max-width:none;flex:1}
  .scratchCatalog{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .scratchGameCard{min-height:172px;padding:12px}
  .scratchGameCard .scratchName{font-size:20px;margin-top:24px}
  .scratchGameCard .chance{font-size:13px;margin-top:28px}
  .scratchRevealCard{padding:14px}
  .scratchTicket{min-height:270px;padding:14px}
  .scratchArea{height:210px}
  .scratchTicketList{max-height:66px}
  .raceRow{grid-template-columns:42px 1fr;align-items:flex-start}
  .raceOdds{grid-column:1 / -1;justify-content:flex-start}
}
