/* BACCARAT: .bc-* classes only (js/baccarat.js). Blue felt to match Blackjack and Roulette. */
.bc-game{--felt-noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.1' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .2 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  --gold:#e9c46a;--gold-hi:#ffe08a;--pblue:#4b8bff;--bred:#e35569;--felt:#15457f}

/* ---------- controls ---------- */
.bc-ctrl .stats b{font-variant-numeric:tabular-nums}
.bc-scale{margin-bottom:8px}
.bc-scale button{height:32px;font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap}
.bc-chips{display:flex;justify-content:space-between;gap:4px;padding:8px 6px;border-radius:var(--r-sm);
  background:var(--felt-noise),linear-gradient(180deg,#123a73,#0c2a57);border:1px solid #bcd0f240;box-shadow:inset 0 2px 6px #0007;margin-bottom:4px}
.bc-chips .bc-chip{width:36px;height:36px;font-size:11.5px;cursor:pointer;padding:0;border:0;transition:transform .14s,box-shadow .14s}
.bc-chips .bc-chip.on{transform:translateY(-4px);box-shadow:inset 0 0 0 1.5px var(--cd),0 0 0 2px #0c2a57,0 0 0 4px var(--gold-hi),0 6px 10px #000a}
@media (hover:hover){ .bc-chips .bc-chip:not(:disabled):not(.on):hover{transform:translateY(-2px)} }
.bc-chips .bc-chip:disabled{cursor:not-allowed;opacity:.5}
.bc-chips .bc-chip:focus-visible{box-shadow:0 0 0 2px #0c2a57,0 0 0 4px var(--accent)}
.bc-tools{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.bc-tools .btn{height:44px;font-size:15px;padding:0 8px;gap:6px}
.bc-tools .ic{width:16px;height:16px}
#bc-hint{margin-top:8px}

/* ---------- casino chips (face, edge stripes, inlay ring) ---------- */
.bc-chip{--cc:#2f6ae6;--cd:#173f9c;--ce:#f4f6fb;--ct:#fff;position:relative;display:grid;place-items:center;border-radius:50%;color:var(--ct);border:0;
  background:radial-gradient(circle closest-side,var(--cc) 0 55%,var(--ce) 56% 60%,var(--cc) 61% 67%,transparent 68%),
    repeating-conic-gradient(from 8deg,var(--ce) 0 15deg,var(--cc) 15deg 45deg);
  box-shadow:inset 0 0 0 1.5px var(--cd),inset 0 -2px 3px #0006,0 2px 3px #000a;
  font-weight:800;font-variant-numeric:tabular-nums;line-height:1;box-sizing:border-box}
.bc-chip:after{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 34% 24%,#ffffff59,#ffffff00 46%);pointer-events:none}
.bc-chip span{position:relative;z-index:1;pointer-events:none;letter-spacing:-.03em;text-shadow:0 1px 1px #0008}
.bc-chip.c1{--cc:#eef1f7;--cd:#8d9ab3;--ce:#3f63b8;--ct:#13234a}
.bc-chip.c1 span{text-shadow:none}
.bc-chip.c5{--cc:#cf2a40;--cd:#7d1323}
.bc-chip.c10{--cc:#2f6ae6;--cd:#173f9c}
.bc-chip.c25{--cc:#1b9a5e;--cd:#0d5a36}
.bc-chip.c100{--cc:#232a3c;--cd:#0b0e16;--ce:#e9c46a}
.bc-chip.c500{--cc:#7444d4;--cd:#432386}
.bc-chip.c1000{--cc:#e3ac34;--cd:#8d6512;--ce:#fff8e4;--ct:#3a2604}
.bc-chip.c1000 span{text-shadow:0 1px 0 #fff6}
.bc-chip.k1{--ce:#ffd36b}
.bc-chip.k2{--ce:#7fe9ff}
.bc-chip.c1.k1,.bc-chip.c1.k2{--ct:#13234a}
.bc-chip.c1000.k1{--cc:#dfe4ee;--cd:#7a8398;--ce:#e3ac34;--ct:#1a2131}
.bc-chip.c1000.k2{--cc:#1b1f2b;--cd:#000;--ce:#e3ac34;--ct:#ffd36b}
.bc-chip.c1000.k2 span{text-shadow:0 1px 1px #000}

/* ---------- stage: textured blue felt ---------- */
.bc-stage{display:flex;flex-direction:column;padding:16px 54px 18px 18px;
  background:var(--felt-noise),radial-gradient(ellipse 90% 75% at 50% 32%,#1e5a9e 0,#15457f 42%,#0d2f5f 74%,#081d3e 100%)}
.bc-stage:before{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 90px #00000088,inset 0 0 0 1px #ffffff0d;z-index:0}
.bc-stage > *{position:relative;z-index:1}
.bc-print{position:absolute;top:12px;left:0;right:0;text-align:center;pointer-events:none;opacity:.5;z-index:0}
.bc-print b{display:block;font-family:Anton,Impact,sans-serif;letter-spacing:.22em;font-size:clamp(16px,2.4vw,24px);color:#dce9ff;font-weight:400}
.bc-print span{font-size:11px;letter-spacing:.14em;color:#c0d3ee;text-transform:uppercase}
.bc-shoe{position:absolute;top:14px;left:16px;right:auto;--cw:34px;z-index:1;opacity:.9}

/* recent-result bead strip */
.bc-beads{position:absolute;top:18px;right:14px;left:auto;bottom:18px;display:flex;flex-direction:column;align-items:center;gap:5px;width:30px;padding:3px;overflow-y:auto;scrollbar-width:none;z-index:4}
.bc-beads::-webkit-scrollbar{display:none}
.bc-bead{flex:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:800;color:#fff;
  box-shadow:inset 0 0 0 1.5px #ffffff30,inset 0 -2px 4px #0006,0 1px 2px #0008}
.bc-bead.P{background:radial-gradient(circle at 50% 30%,#5b97ff,#1f4fc4 78%)}
.bc-bead.B{background:radial-gradient(circle at 50% 30%,#ef5e72,#a3162c 78%)}
.bc-bead.T{background:radial-gradient(circle at 50% 30%,#2fd08f,#0b7a52 78%)}
.bc-bead.new{box-shadow:inset 0 0 0 1.5px #ffffff40,0 0 0 2px var(--gold-hi),0 0 10px #ffd36b88;animation:bc-pop .4s cubic-bezier(.2,1.5,.4,1)}
.bc-bnone{display:none}
@keyframes bc-pop{from{transform:scale(.5);opacity:0}to{transform:none;opacity:1}}

/* card board */
.bc-board{flex:1;min-height:0;display:flex;flex-direction:column;padding-top:16px}
.bc-table{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;gap:clamp(18px,6vw,70px)}
.bc-rb{flex:none;position:relative;min-height:48px;display:grid;place-items:center;padding:4px 0 2px}
.bc-zone{display:flex;flex-direction:column;align-items:center;gap:10px;min-width:0}
.bc-ztop{display:flex;align-items:center;gap:9px}
.bc-zname{font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#dff3ea}
.bc-zone.player .bc-zname{color:#bcd6ff}
.bc-zone.banker .bc-zname{color:#ffc3cd}
.bc-tot{min-width:40px;height:34px;padding:0 10px;display:grid;place-items:center;border-radius:10px;font-size:19px;font-weight:800;color:#fff;
  font-variant-numeric:tabular-nums;background:#06281fcc;border:1px solid #ffffff24;box-shadow:inset 0 1px 0 #ffffff14}
.bc-zone.player.winner .bc-tot{background:#1f4fc4;box-shadow:0 0 0 2px var(--gold-hi)}
.bc-zone.banker.winner .bc-tot{background:#a3162c;box-shadow:0 0 0 2px var(--gold-hi)}
.bc-hand{position:relative;display:flex;gap:6px;min-height:calc(var(--cw) * 1.4);align-items:flex-start;--cw:clamp(46px,6.6vw,84px)}
.bc-hand .dc{position:relative;left:auto;top:auto}
/* One flat card surface at a time prevents front/back depth fighting while dealing. */
.bc-card .dc-in,.bc-card.down .dc-in{transform:none;transform-style:flat;transition:none}
.bc-card.flipping .dc-in{animation:none}
.bc-card .dc-f,.bc-card .dc-b{transform:none;backface-visibility:visible;-webkit-backface-visibility:visible}
.bc-card .dc-f{background:#fbfcff}
.bc-card .dc-b{visibility:hidden;background:#10244a}
.bc-card.down .dc-f{visibility:hidden}
.bc-card.down .dc-b{visibility:visible}
.bc-hand:empty:before{content:"";display:block;width:var(--cw);height:calc(var(--cw) * 1.4);border-radius:calc(var(--cw) * .07);
  border:2px dashed #ffffff1f;background:#ffffff08}

/* status line (dealing commentary; sits in the reserved band between cards and spots, never over the cards) */
.bc-status{max-width:calc(100% - 28px);padding:7px 16px;border-radius:99px;
  font-weight:800;font-size:15px;color:#eaf2ff;background:#061d3fcc;border:1px solid #ffffff1f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  opacity:0;transition:opacity .2s;pointer-events:none}
.bc-status.on{opacity:1}
.bc-status.player{border-color:#5b97ff99;color:#dcebff}
.bc-status.banker{border-color:#ef5e7299;color:#ffd7dd}
.bc-status.tie{border-color:#2fd08f99;color:#c6ffe8}

/* bet spots */
.bc-spots{flex:none;display:flex;flex-direction:column;gap:8px;align-items:center}
.bc-pairs{display:flex;gap:8px;justify-content:center;width:100%;max-width:560px}
.bc-mains{display:grid;grid-template-columns:1fr .78fr 1fr;gap:10px;width:100%;max-width:720px}
.bc-spot{position:relative;border:1.5px solid #ffffff2e;border-radius:12px;background:#061d3f8c;cursor:pointer;color:#eaf2ff;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:58px;padding:8px 6px;-webkit-tap-highlight-color:transparent;
  transition:border-color .15s,box-shadow .15s,background-color .15s,transform .08s}
.bc-spot:hover:not(.locked){border-color:var(--gold-hi);background:#10376ad0}
.bc-spot:active{transform:translateY(1px)}
.bc-spot.pair{flex:1;min-height:42px}
.bc-spot.player{border-color:#4b8bff80}
.bc-spot.banker{border-color:#e3556980}
.bc-spot.tie{border-color:#2fd08f80}
.bc-spot .bc-sname{font-size:14px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.bc-spot.pair .bc-sname{font-size:12px}
.bc-spot .bc-spay{font-size:11.5px;font-weight:700;color:#c0d3ee}
.bc-spot.player .bc-sname{color:#bcd6ff}.bc-spot.banker .bc-sname{color:#ffc3cd}.bc-spot.tie .bc-sname{color:#c6ffe8}
.bc-spot.has{background:#10376aea;box-shadow:inset 0 0 0 1px #ffffff1a}
.bc-spot.won{border-color:var(--gold-hi);box-shadow:0 0 0 2px var(--gold-hi),0 0 16px #ffd36b66;background:#17477d}
.bc-spot.lost{opacity:.5}
.bc-stack{position:absolute;top:-12px;right:-6px;z-index:2}
.bc-stack .bc-chip{width:34px;height:34px;font-size:11px;animation:bc-pop .22s cubic-bezier(.2,.9,.3,1.1)}
.bc-spots.locked .bc-spot{cursor:default}

/* slim result pill (user dislikes big boxes); lives in the reserved band, in normal flow */
#bc-rb .outcome{position:relative;left:auto;bottom:auto;top:auto;transform:translateY(6px);flex-direction:row-reverse;gap:8px;
  padding:5px 12px 5px 5px;border-radius:9px;font-size:15px;font-weight:800;background:#061d3feb;border:1px solid #ffffff22;box-shadow:none;max-width:calc(100% - 20px)}
#bc-rb .outcome.on{transform:none}
#bc-rb .outcome .tag{display:none}
#bc-rb .outcome.card-result.win{flex-direction:row;padding:7px 14px 7px 7px;background:linear-gradient(115deg,#0d392d,#071e21);border-color:#64efb69c;box-shadow:0 6px 24px #0005,0 0 18px #32de9a20}
#bc-rb .outcome.card-result.win .tag{display:inline-flex}
#bc-rb .outcome .amt{font-variant-numeric:tabular-nums}
#bc-rb .outcome .det{font-size:12.5px;font-weight:800;color:#dff3ea;background:#ffffff14;border-radius:6px;padding:3px 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:min(62vw,420px)}
#bc-rb .outcome.win .det{background:#2fe08f24;color:#9dffcf}
#bc-rb .outcome.loss .det{background:#ff547024;color:#ffb3c0}

@media (max-width:900px){
  #v-baccarat .bc-stage{height:auto;min-height:var(--stage-h)}
  .bc-board{gap:clamp(12px,5vw,40px);padding-top:30px}
  .bc-hand{--cw:clamp(44px,15vw,74px)}
  .bc-spot{min-height:52px}
}
@media (max-width:560px){
  .bc-hand{--cw:clamp(30px,8vw,44px);gap:3px}
  .bc-table{gap:12px}
  .bc-stage{padding:14px 46px 14px 12px}
  .bc-beads{right:8px}
  .bc-print b{font-size:16px}
  .bc-status{font-size:13.5px;padding:6px 12px}
  .bc-mains,.bc-pairs{max-width:100%}
  #bc-stage .outcome{font-size:13.5px}
}
.bc-amount { display:block; padding:6px 9px; border:1px solid #79b9d7; border-radius:6px; background:#10283f; color:#f0f7ff; font-size:12px; font-weight:800; line-height:1.2; white-space:nowrap; font-variant-numeric:tabular-nums; box-shadow:0 2px 5px #0004; }
.bc-spot.won .bc-amount { border-color:var(--win); color:var(--win); }
.bc-spot.lost .bc-amount { opacity:.5; }

/* Three generous primary betting areas. */
.bc-mains .bc-spot.main{min-height:90px;padding:15px 12px}
.bc-mains .bc-sname{font-size:18px}
.bc-mains .bc-spay{font-size:14px}
@media(max-width:600px){.bc-mains{gap:7px}.bc-mains .bc-spot.main{min-height:82px;padding:12px 6px}.bc-mains .bc-sname{font-size:15px}.bc-mains .bc-spay{font-size:12px}}
