.bj-wrap{display:flex;flex-direction:column;align-items:center;gap:16px}
.bj-table{grid-area:auto;width:min(100%,1180px);border-radius:40px 40px 50% 50% / 40px 40px 70% 70%}
.bj-felt{display:block;position:relative;min-height:clamp(440px,62vh,620px);border-radius:28px 28px 50% 50% / 28px 28px 70% 70%;padding:0}
.bj-table::before{border-radius:28px 28px 50% 50% / 28px 28px 70% 70%}
.bj-arc{position:absolute;left:50%;top:clamp(190px,30%,240px);transform:translateX(-50%);pointer-events:none;z-index:1;display:grid;justify-items:center;gap:6px;text-align:center}
.bj-arc b{font:700 clamp(16px,2vw,24px)/1 Georgia,serif;letter-spacing:.24em;color:rgba(255,226,160,.55);white-space:nowrap}
.bj-arc span{font:500 12px/1 var(--f-ui);letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.35)}
.bj-dealer{position:absolute;left:50%;top:18px;transform:translateX(-50%);z-index:3;display:grid;justify-items:center;gap:6px}
.bj-dealer .say{position:static;transform:none;margin-top:4px;max-width:none}
.bj-dealer-l{font:600 12px/1 var(--f-ui);letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.bj-dealer-hand{display:flex;align-items:center;gap:12px}
.bj-hand{display:flex;--cw:clamp(48px,5.2vw,70px)}
.bj-hand>.card+.card{margin-left:calc(var(--cw)*-.55)}
.bj-total{min-width:34px;padding:5px 8px;border-radius:12px;background:rgba(0,0,0,.6);color:#fff;font:700 15px/1 var(--f-ui);text-align:center;box-shadow:0 2px 6px rgba(0,0,0,.5)}
.bj-total.bust{background:#b8261c}
.bj-spots{position:absolute;inset:0;z-index:3}
.bj-spot{position:absolute;transform:translate(-50%,-50%);display:grid;justify-items:center;gap:6px;width:170px}
.bj-hands{display:flex;gap:10px;min-height:calc(clamp(48px,5.2vw,70px)*1.4)}
.bj-hands .bj-hand{--cw:clamp(42px,4.4vw,60px)}
.bj-hands .bj-hand>.card:nth-child(n+2){margin-top:calc(var(--cw)*-.12*var(--n,1))}
.bj-hwrap{position:relative;display:flex;align-items:flex-end;gap:6px;padding:4px;border-radius:10px}
.bj-hwrap.active{box-shadow:0 0 0 2px #ffd36a,0 0 20px rgba(255,210,90,.5)}
.bj-res{position:absolute;top:-12px;left:50%;transform:translateX(-50%);z-index:5;padding:4px 10px;border-radius:10px;font:800 12px/1 var(--f-ui);letter-spacing:.14em;color:#fff;white-space:nowrap;box-shadow:0 4px 10px rgba(0,0,0,.5)}
.r-win{background:#239b4a}.r-blackjack{background:linear-gradient(90deg,#d9a33b,#f5d27a);color:#2a1906}.r-push{background:#5a6270}.r-lose,.r-bust{background:#a3271d}
.bj-circle{position:relative;width:74px;height:74px;border-radius:50%;border:2px solid rgba(255,236,190,.45);display:grid;place-items:center}
.bj-spot.me .bj-circle{border-color:#ffd36a;box-shadow:0 0 16px rgba(255,210,90,.35)}
.bj-bet{position:absolute;bottom:-20px;font:700 13px/1 var(--f-ui);color:#ffe9b0;text-shadow:0 1px 2px #000}
.bj-who{display:flex;align-items:center;gap:6px;margin-top:14px}
.bj-who .avatar{width:38px;height:38px}
.bj-spot.turn .avatar{box-shadow:0 0 0 3px #1a140e,0 0 0 5px var(--amber),0 0 20px rgba(255,180,60,.6)}
.bj-who .nameplate{font-size:13px;padding:4px 10px}
.bj-controls{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;align-items:center;min-height:90px}
.bj-rack{display:flex;gap:10px;padding:10px 14px;border-radius:40px;background:linear-gradient(180deg,#2c2118,#15100b);box-shadow:inset 0 2px 8px rgba(0,0,0,.7),0 1px 0 rgba(255,255,255,.06)}
.bj-pending{display:grid;justify-items:center;gap:4px;min-width:90px}
.bj-pending b{font:700 26px/1 var(--f-mark);color:#ffe9b0}
.bj-net{margin:0;font:800 28px/1 var(--f-mark)}
.bj-net.up{color:#7dff8a}.bj-net.down{color:#ff7a6a}
/* chips */
.chip{--c:#c9302c;position:relative;flex:none;width:52px;height:52px;border-radius:50%;border:0;padding:0;display:grid;place-items:center;
  background:repeating-conic-gradient(var(--c) 0 30deg,#f6efe0 30deg 45deg);box-shadow:inset 0 0 0 4px rgba(0,0,0,.18),0 3px 0 rgba(0,0,0,.4),0 6px 10px rgba(0,0,0,.4)}
.chip::before{content:"";position:absolute;inset:18%;border-radius:50%;background:var(--c);box-shadow:inset 0 0 0 2px rgba(255,255,255,.55),inset 0 2px 6px rgba(0,0,0,.35)}
.chip b{position:relative;font:800 14px/1 var(--f-ui);color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.6)}
.chip.c10{--c:#2f6fd0}.chip.c25{--c:#239b4a}.chip.c100{--c:#1d1d22}.chip.c500{--c:#8a3cc9}.chip.c1000{--c:#d4a020}
button.chip{cursor:pointer;transition:transform .12s}
button.chip:hover,button.chip:focus-visible{transform:translateY(-4px)}
.stackc{position:relative;width:46px;height:46px}
.stackc .chip{position:absolute;left:0;bottom:calc(var(--i)*4px);width:46px;height:46px}
.stackc .chip b{font-size:11px}
@media (max-width:900px){
  .bj-felt{min-height:560px;border-radius:24px}.bj-table,.bj-table::before{border-radius:24px}
  .bj-arc{display:none}
  .bj-spot{width:104px}
  .bj-hands .bj-hand{--cw:38px}
  .bj-who .nameplate{max-width:110px;overflow:hidden}
}
.bj-shoe{position:absolute;right:7%;top:26px;z-index:2;width:calc(var(--cw)*1.1);--cw:52px;transform:rotate(8deg)}
.bj-shoe .card{position:absolute;top:0;left:0}.bj-shoe .card+.card{left:4px;top:-3px}
.bj-shoe::after{content:"";position:absolute;left:-10px;right:-10px;top:-8px;height:calc(var(--cw)*1.6);border-radius:10px;background:linear-gradient(180deg,rgba(40,25,12,.85),rgba(20,12,6,.9));box-shadow:0 8px 16px rgba(0,0,0,.5);z-index:-1}
