body{background:#050505}.baccaratGame{min-width:0}.gameHead{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:16px}.gameHead small{color:#caa65b;letter-spacing:2px}.gameHead h1{font-size:34px;margin:5px 0}.gameHead p{color:#777;margin:0}.balanceBox{padding:10px 14px;border:1px solid #3b321f;border-radius:12px;background:#0c0c0c;text-align:right}.balanceBox span{display:block;color:#777;font-size:11px}.balanceBox b{color:#f1d486}.table{border:1px solid #49391d;border-radius:18px;background:radial-gradient(circle at 50% 40%,#15291f,#07100c 70%);padding:18px;box-shadow:inset 0 0 50px #000}.hand{min-height:135px}.handTitle{display:flex;justify-content:space-between;color:#d7c28a;font-weight:800;letter-spacing:2px}.handTitle b{font-size:24px}.cards{display:flex;justify-content:center;gap:10px;margin-top:10px;min-height:82px}.cards i,.playingCard{width:54px;height:76px;border-radius:7px;background:#f4f0e7;color:#111;display:grid;place-items:center;font-style:normal;font-size:24px;border:1px solid #d6c8a3;box-shadow:0 7px 20px #0008}.playingCard.redSuit{color:#a20f19}.vs{text-align:center;color:#8b7344;font-size:12px;letter-spacing:4px}.betZones{display:grid;grid-template-columns:1fr 1fr 1fr;gap:9px;margin:14px 0}.betZones button{position:relative;min-height:76px;border:1px solid #3a3428;border-radius:12px;background:#101010;color:#ddd;font-weight:900;font-size:16px}.betZones button small{display:block;color:#8b8068;margin-top:5px}.betZones button.active{border-color:#d3ad57;box-shadow:0 0 20px #b88a2b44}.betZones button[data-side=PLAYER]{background:linear-gradient(180deg,#10223b,#0b1421)}.betZones button[data-side=BANKER]{background:linear-gradient(180deg,#3b1014,#200b0d)}.betZones button[data-side=TIE]{background:linear-gradient(180deg,#15331f,#0b1c11)}.betChip{position:absolute;right:7px;top:7px;color:#f0d58d;font-size:11px}.betInfo{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.betInfo div{padding:9px;border:1px solid #292929;border-radius:9px;background:#0c0c0c}.betInfo span{display:block;color:#777;font-size:10px}.betInfo b{font-size:13px}.chips{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.chipBtn{width:54px;height:54px;border-radius:50%;border:4px double #d1aa52;background:#17120a;color:#f3d88e;font-weight:900}.chipBtn.active{box-shadow:0 0 18px #d2aa55}.controls{display:grid;grid-template-columns:1fr 1fr 2fr;gap:8px}.bMsg,.minBetHint{text-align:center;margin-top:10px;color:#aaa}.bMsg.winText{color:#f0d58d}.bMsg.loseText{color:#b5b5b5}.roadLegend{display:flex;gap:9px;font-size:10px;margin:10px 0}.roadLegend .p{color:#6da9ff}.roadLegend .b{color:#ff6f76}.roadLegend .t{color:#5bd381}.road{display:grid;grid-template-columns:repeat(10,1fr);gap:5px;min-height:120px;padding:9px;border:1px solid #292929;border-radius:10px;background:#080808}.road i{aspect-ratio:1;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:9px;font-weight:900}.road i.P{border:2px solid #438df1;color:#7db5ff}.road i.B{border:2px solid #e34d57;color:#ff8a91}.road i.T{border:2px solid #38b866;color:#6ee096}.shoeInfo{margin:12px 0;padding:10px;border:1px solid #2b2b2b;border-radius:9px}.shoeInfo small{display:block;color:#777;margin-top:4px}@media(max-width:900px){.gameHead h1{font-size:26px}.betInfo{grid-template-columns:1fr 1fr}.cards i,.playingCard{width:48px;height:68px}.betZones button{min-height:70px}.road{grid-template-columns:repeat(8,1fr)}}@media(max-width:520px){.gameHead{align-items:center}.balanceBox{padding:8px}.betZones{gap:5px}.betZones button{font-size:13px;padding:5px}.controls{grid-template-columns:1fr 1fr}.controls .spinBtn{grid-column:1/-1}.chipBtn{width:48px;height:48px}.road{grid-template-columns:repeat(7,1fr)}}
/* Baccarat suspense reveal */
.cards .bCard{width:58px;height:82px;background:transparent!important;border:0!important;box-shadow:none!important;perspective:700px;display:block;position:relative}
.bCardInner{position:absolute;inset:0;display:block;transform-style:preserve-3d;transition:transform .72s cubic-bezier(.2,.72,.2,1)}
.bCardBack,.bCardFront{position:absolute;inset:0;border-radius:8px;backface-visibility:hidden;display:flex;align-items:center;justify-content:center;box-sizing:border-box}
.bCardBack{background:radial-gradient(circle at 50% 40%,#1b1811,#070707 72%);border:1px solid #b18c43;color:#d9bb72;font:700 13px Georgia;text-align:center;line-height:1.05;box-shadow:0 8px 20px #000a,inset 0 0 0 4px #0b0a08,inset 0 0 0 5px #5c4826}
.bCardBack small{font-size:6px;letter-spacing:1.5px}.bCardFront{transform:rotateY(180deg);background:#f4f0e7;border:1px solid #d6c8a3;color:#111;box-shadow:0 8px 20px #000a;font-style:normal}
.bCardFront.redSuit{color:#a20f19}.bCardFront .rank{position:absolute;top:7px;left:8px;font:800 16px Arial}.bCardFront .rank.bottom{top:auto;left:auto;right:8px;bottom:7px;transform:rotate(180deg)}.bCardFront .suit{font-size:29px}
.bCard.peeking .bCardInner{transform:rotateY(28deg) rotateZ(-1deg);filter:drop-shadow(0 0 8px #d2aa5544)}.bCard.flipped .bCardInner{transform:rotateY(180deg)}
.handTitle b{min-width:28px;text-align:center}.bMsg{min-height:20px;transition:color .2s}
@media(max-width:520px){.cards .bCard{width:50px;height:72px}.bCardFront .rank{font-size:14px}.bCardFront .suit{font-size:25px}}

/* Side bet extension - original table/card animation remains unchanged */
.sideBetTitle{display:flex;align-items:center;justify-content:space-between;margin:6px 2px 8px;color:#d7b866;letter-spacing:2px}
.sideBetTitle small{color:#777;letter-spacing:0;font-size:10px}
.sideBetZones{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:0 0 12px}
.sideBetZones button{position:relative;min-height:68px;border:1px solid #3a3428;border-radius:12px;color:#ddd;font-weight:900;font-size:15px}
.sideBetZones button small{display:block;color:#8b8068;margin-top:5px}
.sideBetZones button.active{border-color:#d3ad57;box-shadow:0 0 20px #b88a2b44}
.sideBetZones button[data-side=PLAYER_PAIR]{background:linear-gradient(180deg,#10223b,#0b1421)}
.sideBetZones button[data-side=BANKER_PAIR]{background:linear-gradient(180deg,#3b1014,#200b0d)}
.sideBetZones .betChip{position:absolute;right:7px;top:7px;color:#f0d58d;font-size:11px}
@media(max-width:520px){.sideBetZones{gap:5px}.sideBetZones button{min-height:62px;font-size:13px;padding:5px}.sideBetTitle{font-size:13px}}
