/* OkeyDeck poker masası: koyu mavi desenli arka plan, krom kenarlı oval masa, kırmızı keçe,
   altın halkalı avatarlar, çip yığınları, daire aksiyon tuşları ve canlı krupiye. Özgün tasarım. */

/* ---------- Sahne ---------- */
#pokerView .zp { position: relative; width: 100%; container-type: inline-size; padding-bottom: 6px; }
#pokerView .zp-stage {
  position: relative; container-type: inline-size;
  width: min(100%, max(320px, calc((100dvh - 285px) * 1.56)));
  aspect-ratio: 1.56; margin: 0 auto; border-radius: 22px; overflow: visible;
  --gold: #f4c453; --gold-d: #8b5f10;
}
#pokerView .zp-stage::before {
  content: ""; position: absolute; inset: 0; border-radius: inherit; z-index: 0;
  background:
    repeating-linear-gradient(45deg, rgba(255, 255, 255, .045) 0 1.4px, transparent 1.4px 26px),
    repeating-linear-gradient(-45deg, rgba(255, 255, 255, .045) 0 1.4px, transparent 1.4px 26px),
    radial-gradient(ellipse at 50% 42%, var(--room-1, #24569f) 0%, var(--room-2, #17396f) 48%, var(--room-3, #0a1d40) 100%);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .1), inset 0 0 90px rgba(2, 8, 24, .65), 0 14px 40px rgba(0, 0, 0, .5);
}

/* ---------- Masa ---------- */
#pokerView .zp-table { position: absolute; left: 8%; right: 8%; top: 16%; bottom: 9%; z-index: 1; }
#pokerView .zp-rail {
  position: absolute; inset: 0; border-radius: 50%;
  background:
    radial-gradient(ellipse at 50% 18%, rgba(255, 255, 255, .22), transparent 42%),
    linear-gradient(180deg, var(--rail-1, #3c404b) 0%, var(--rail-2, #16181e) 52%, var(--rail-3, #07080b) 100%);
  box-shadow:
    0 0 0 .38cqw var(--ring-1, #c9d0dc), 0 0 0 .62cqw var(--ring-2, #545b69), 0 0 0 .8cqw var(--ring-3, #20242d),
    0 2.4cqw 4cqw rgba(0, 0, 0, .7), inset 0 .35cqw .5cqw rgba(255, 255, 255, .22), inset 0 -.8cqw 1.4cqw rgba(0, 0, 0, .65);
}
#pokerView .zp-rail::after { /* deri dikişi */
  content: ""; position: absolute; inset: 5.4% 3.2%; border-radius: 50%; border: .18cqw dashed rgba(255, 255, 255, .22); pointer-events: none;
}
#pokerView .zp-felt {
  position: absolute; inset: 9.4% 4.8%; border-radius: 50%; overflow: hidden;
  background:
    radial-gradient(ellipse at 50% 38%, var(--felt-hi, rgba(255, 130, 130, .35)) 0%, transparent 55%),
    radial-gradient(ellipse at 50% 45%, var(--felt-1, #d83b4a) 0%, var(--felt-2, #b01e2e) 46%, var(--felt-3, #761120) 100%);
  box-shadow: inset 0 0 3.6cqw rgba(0, 0, 0, .6), 0 0 0 .3cqw rgba(0, 0, 0, .55), 0 0 0 .5cqw var(--felt-edge, #e6c068);
}
#pokerView .zp-felt::before { /* keçe dokusu */
  content: ""; position: absolute; inset: 0; opacity: .5; mix-blend-mode: multiply;
  background: repeating-linear-gradient(0deg, rgba(0, 0, 0, .09) 0 1px, transparent 1px 3px), repeating-linear-gradient(90deg, rgba(0, 0, 0, .07) 0 1px, transparent 1px 3px);
}
#pokerView .zp-felt::after { /* marka amblemi */
  content: ""; position: absolute; left: 50%; top: 52%; width: 33%; aspect-ratio: 1; transform: translate(-50%, -50%);
  background: var(--emblem, url(/img/felt-emblem-faint.svg)) center / contain no-repeat; opacity: var(--emblem-op, .55); pointer-events: none;
}
#pokerView .zp-line { position: absolute; inset: 15% 9.5%; border-radius: 50%; border: .2cqw solid rgba(255, 224, 150, .28); pointer-events: none; z-index: 1; }

/* ---------- Orta: havuz, kartlar, bilgi ---------- */
#pokerView .zp-center { position: absolute; inset: 0; z-index: 2; pointer-events: none; }
#pokerView .zp-pot {
  position: absolute; left: 50%; top: 61%; transform: translate(-50%, -50%);
  display: flex; flex-direction: row; align-items: flex-end; gap: .5cqw; white-space: nowrap; min-height: 4cqw;
}
#pokerView .zp-pot .zp-pot-amt {
  padding: .35cqw 1.4cqw; border-radius: 999px; font: 800 clamp(10px, 1.7cqw, 18px)/1.2 system-ui, sans-serif; color: #fff4d4;
  background: rgba(8, 14, 30, .72); border: 1px solid color-mix(in srgb, var(--gold) 58%, transparent); box-shadow: 0 .3cqw .8cqw rgba(0, 0, 0, .45);
}
#pokerView .zp-pot .zp-pot-amt small { font-weight: 700; color: #f4c453; margin-right: .5em; letter-spacing: .02em; }
#pokerView .zp-pot-wait { font: 700 clamp(11px, 1.9cqw, 20px) system-ui, sans-serif; color: rgba(255, 244, 212, .85); padding: .6cqw 1.8cqw; border-radius: 999px; background: rgba(8, 14, 30, .55); }
#pokerView .zp-board { position: absolute; left: 50%; top: 46%; transform: translate(-50%, -50%); display: flex; gap: .9cqw; min-height: 10.4cqw; align-items: center; margin: 0; }
#pokerView .zp-board .pcard { width: clamp(24px, 6cqw, 74px); height: clamp(34px, 8.5cqw, 105px); border-radius: .7cqw; }
#pokerView .zp-board .pcard[data-r] span:last-child { font-size: clamp(15px, 3.7cqw, 46px); }
#pokerView .zp-board .pcard[data-r]::before, #pokerView .zp-board .pcard[data-r]::after { font-size: clamp(8px, 1.45cqw, 18px); }
#pokerView .zp-info { position: absolute; left: 50%; top: 86%; transform: translateX(-50%); font: 600 clamp(9px, 1.3cqw, 14px) system-ui, sans-serif; color: rgba(255, 238, 200, .8); text-shadow: 0 1px 2px rgba(0, 0, 0, .6); white-space: nowrap; }

/* ---------- Koltuklar ---------- */
#pokerView .zp { --zd: clamp(34px, 9.6cqw, 96px); }
#pokerView .zp[data-n="6"] { --zd: clamp(32px, 8.6cqw, 88px); }
#pokerView .zp[data-n="9"] { --zd: clamp(28px, 7.2cqw, 76px); }
#pokerView .zp-seats { position: absolute; inset: 0; z-index: 4; pointer-events: none; }
#pokerView .zp-seat { position: absolute; transform: translate(-50%, -50%); width: calc(var(--zd) * 2); display: flex; flex-direction: column; align-items: center; pointer-events: none; transition: opacity .3s, filter .3s; }
#pokerView .zp-head { position: relative; display: flex; flex-direction: column; align-items: center; pointer-events: auto; cursor: pointer; outline: none; border-radius: 12px; }
#pokerView .zp-head:focus-visible { outline: 2px solid var(--gold); outline-offset: 4px; }
#pokerView .zp-seat .avatar-frame { width: var(--zd); height: var(--zd); padding: 0; border-radius: 50%; display: block; position: relative; z-index: 2; }
#pokerView .zp-seat .avatar.big { width: 100%; height: 100%; font-size: calc(var(--zd) * .56); border-radius: 50%;
  box-shadow: 0 0 0 .3cqw var(--gold), 0 0 0 .52cqw var(--gold-d), 0 0 1.7cqw .5cqw color-mix(in srgb, var(--gold) 50%, transparent), inset 0 -.8cqw 1.2cqw rgba(0, 0, 0, .3); }
#pokerView .zp-seat .dealer-btn { right: -2%; bottom: -2%; width: calc(var(--zd) * .36); height: calc(var(--zd) * .36); font-size: calc(var(--zd) * .2); line-height: calc(var(--zd) * .36 - 4px); z-index: 3; }
#pokerView .zp-seat .turn-ring { inset: -9%; width: 118%; height: 118%; }
#pokerView .zp-seat.turn .avatar.big { animation: zp-turn 1.15s ease-in-out infinite; }
@keyframes zp-turn { 50% { box-shadow: 0 0 0 .3cqw #fff4b5, 0 0 0 .52cqw var(--gold-d), 0 0 2.6cqw .9cqw rgba(255, 220, 90, .85), inset 0 -.8cqw 1.2cqw rgba(0, 0, 0, .3); } }
#pokerView .zp-seat.folded .avatar-frame, #pokerView .zp-seat.out .avatar-frame { filter: grayscale(.85) brightness(.6); }
#pokerView .zp-seat.folded .zp-plate, #pokerView .zp-seat.out .zp-plate { opacity: .6; }
#pokerView .zp-seat.waiting .avatar-frame { filter: grayscale(.45) brightness(.82); }
#pokerView .zp-seat.waiting .zp-plate { opacity: .8; }
#pokerView .zp-plate {
  position: relative; z-index: 3; margin-top: calc(var(--zd) * -.2); min-width: calc(var(--zd) * 1.55); max-width: calc(var(--zd) * 2); padding: .28em .8em .32em;
  border-radius: 999px; text-align: center; font-size: clamp(8px, 1.35cqw, 15px); line-height: 1.25;
  background: linear-gradient(180deg, #1f2f4d, #0b1429); border: 1px solid color-mix(in srgb, var(--gold) 62%, transparent); box-shadow: 0 .4cqw 1cqw rgba(0, 0, 0, .55), inset 0 1px rgba(255, 255, 255, .12);
}
#pokerView .zp-name { display: block; font-weight: 700; color: #eaf0ff; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#pokerView .zp-stack { display: inline-flex; align-items: center; justify-content: center; gap: .35em; font-weight: 800; color: #ffd86b; font-variant-numeric: tabular-nums; }
#pokerView .zp-stack i { width: .95em; height: .95em; border-radius: 50%; flex: none; background: radial-gradient(circle, #f9e7a8 0 28%, transparent 30%), repeating-conic-gradient(#fff 0 14deg, #d6a024 14deg 40deg); box-shadow: 0 1px 1px rgba(0, 0, 0, .6); }
#pokerView .zp-seat.me .zp-name { color: #ffe9a3; }
#pokerView .zp-tag {
  position: absolute; z-index: 5; top: calc(var(--zd) * .26); left: 50%; transform: translateX(-50%) rotate(-6deg);
  padding: .12em .6em; border-radius: 4px; font: 900 clamp(8px, 1.5cqw, 17px)/1.2 system-ui, sans-serif; letter-spacing: .06em; color: #fff; white-space: nowrap;
  box-shadow: 0 .3cqw .8cqw rgba(0, 0, 0, .55);
}
#pokerView .zp-tag.allin { background: linear-gradient(#ff5d4a, #b4160a); border: 1px solid #ffb4a8; }
#pokerView .zp-tag.fold { background: rgba(24, 28, 40, .9); color: #b9c1d6; border: 1px solid rgba(255, 255, 255, .25); }
#pokerView .zp-tag.win { background: linear-gradient(#ffe28a, #d29512); color: #3a2500; border: 1px solid #fff2b8; top: calc(var(--zd) * -.5); transform: translateX(-50%); font-size: clamp(8px, 1.45cqw, 16px); }
#pokerView .zp-seat.winner .avatar.big { box-shadow: 0 0 0 .3cqw #fff6c2, 0 0 0 .55cqw #d29512, 0 0 3.2cqw 1.2cqw rgba(255, 215, 80, .9); animation: zp-winglow 1s ease-in-out 3; }
@keyframes zp-winglow { 50% { transform: scale(1.07); } }
#pokerView .zp-seat.winner .zp-opp { z-index: 6; filter: drop-shadow(0 0 .8cqw rgba(255, 224, 110, .85)); }
#pokerView .zp-float { position: absolute; left: 50%; top: calc(var(--zd) * -.9); z-index: 7; transform: translate(-50%, -80%); font: 900 clamp(12px, 2.4cqw, 26px) system-ui, sans-serif; color: #ffe27a; text-shadow: 0 2px 4px #000; animation: zp-float 2.6s ease-out both; white-space: nowrap; pointer-events: none; }
@keyframes zp-float { 0% { opacity: 0; transform: translate(-50%, -30%); } 15% { opacity: 1; } 100% { opacity: 0; transform: translate(-50%, -190%); } }

/* Rakip kartları avatarın yanında */
#pokerView .zp-opp { position: absolute; z-index: 3; left: 50%; top: calc(var(--zd) * .3); display: flex; transform: translateX(18%); pointer-events: none; }
#pokerView .zp-opp .pcard { width: calc(var(--zd) * .5); height: calc(var(--zd) * .72); border-radius: calc(var(--zd) * .07); margin-left: calc(var(--zd) * -.16); box-shadow: 0 .35cqw .8cqw rgba(0, 0, 0, .55); }
#pokerView .zp-opp .pcard:nth-child(1) { transform: none; margin-left: 0; }
#pokerView .zp-opp .pcard:nth-child(2) { transform: none; margin-left: calc(var(--zd) * .015); } /* masadaki kartlar gibi dik ve yan yana */
#pokerView .zp-opp .pcard.back { border-width: calc(var(--zd) * .04); }
/* sağ yarıdaki koltuklar: kartlar avatarın soluna (masa tarafına) */
#pokerView .zp-seat.flip .zp-opp { flex-direction: row-reverse; transform: translateX(-118%); }
#pokerView .zp-seat.flip .zp-opp .pcard:nth-child(1) { transform: none; margin-left: 0; }
#pokerView .zp-seat.flip .zp-opp .pcard:nth-child(2) { transform: none; margin-left: 0; margin-right: calc(var(--zd) * .015); }
#pokerView .zp-opp .pcard[data-r] span:last-child { font-size: calc(var(--zd) * .3); }
#pokerView .zp-opp .pcard[data-r]::before, #pokerView .zp-opp .pcard[data-r]::after { font-size: calc(var(--zd) * .15); }
#pokerView .zp-opp .pcard[data-r]::before { top: 2px; left: 3px; } #pokerView .zp-opp .pcard[data-r]::after { bottom: 2px; right: 3px; }
#pokerView .zp-seat.folded .zp-opp { opacity: .25; }

/* Benim kartlarım */
#pokerView .zp-hole { position: absolute; z-index: 8; display: flex; transform: translate(-50%, -50%); pointer-events: none; }
#pokerView .zp-hole .pcard { width: clamp(26px, calc(var(--zd) * .62), 62px); height: clamp(37px, calc(var(--zd) * .88), 88px); border-radius: .55cqw; margin: 0; box-shadow: 0 .4cqw 1cqw rgba(0, 0, 0, .55); }
#pokerView .zp-hole .pcard:nth-child(1) { transform: none; }
#pokerView .zp-hole .pcard:nth-child(2) { transform: none; margin-left: .25cqw; } /* kartlar arası boşluk az */
#pokerView .zp-hole .pcard[data-r] span:last-child { font-size: clamp(14px, calc(var(--zd) * .4), 40px); }
#pokerView .zp-hole .pcard[data-r]::before, #pokerView .zp-hole .pcard[data-r]::after { font-size: clamp(8px, calc(var(--zd) * .15), 16px); }
#pokerView .zp-hole .pcard[data-r]::before { top: 3px; left: 4px; } #pokerView .zp-hole .pcard[data-r]::after { bottom: 3px; right: 4px; }
#pokerView .zp-hole.folded { opacity: .45; filter: grayscale(.6); }

/* Bahisler masanın ortasına doğru durur */
#pokerView .zp-bets { position: absolute; inset: 0; z-index: 3; pointer-events: none; }
#pokerView .zp-bet { position: absolute; transform: translate(-50%, -50%); display: flex; align-items: center; gap: .5cqw; }
#pokerView .zp-bet .zp-bet-amt { padding: .2cqw .9cqw; border-radius: 999px; font: 800 clamp(9px, 1.45cqw, 16px)/1.2 system-ui, sans-serif; color: #fff; background: rgba(8, 14, 30, .78); border: 1px solid color-mix(in srgb, var(--gold) 52%, transparent); font-variant-numeric: tabular-nums; }

/* ---------- Çip yığınları ---------- */
.cs { --cw: clamp(14px, 2.9cqw, 34px); --step: calc(var(--cw) * .17); display: inline-flex; align-items: flex-end; gap: calc(var(--cw) * .12); }
.cs-col { position: relative; width: var(--cw); height: calc(var(--cw) * .5 + var(--step) * 6); }
.cs.lg { --cw: clamp(18px, 3.6cqw, 42px); }
.cd {
  position: absolute; left: 0; bottom: calc(var(--i, 0) * var(--step)); width: 100%; height: calc(var(--cw, 26px) * .5); border-radius: 50%;
  background: radial-gradient(ellipse at 50% 50%, var(--c2) 0 32%, transparent 34%), repeating-conic-gradient(#fbf8ee 0 13deg, var(--c) 13deg 38deg);
  box-shadow: 0 calc(var(--cw, 26px) * .1) 0 var(--cd), 0 calc(var(--cw, 26px) * .2) 0 var(--cd), 0 calc(var(--cw, 26px) * .3) calc(var(--cw, 26px) * .15) rgba(0, 0, 0, .45), inset 0 0 0 1px rgba(255, 255, 255, .35);
}
.fx-layer { position: fixed; inset: 0; z-index: 11500; pointer-events: none; overflow: hidden; }
.fx-chip { position: fixed !important; left: 0; top: 0; --cw: 28px; width: 28px !important; height: 14px !important; bottom: auto !important; will-change: transform; }
.fx-card { position: fixed; left: 0; top: 0; width: 30px; height: 42px; border: 2.5px solid #f7f3e8; border-radius: 4px; box-shadow: 0 4px 8px rgba(0, 0, 0, .5);
  background: repeating-linear-gradient(45deg, #8f2033 0 4px, #6a1424 4px 8px); will-change: transform; }

/* ---------- Aksiyon düğmeleri (daire) ---------- */
#pokerView .zp-actions { display: flex; align-items: center; justify-content: flex-end; gap: 14px; width: min(100%, max(320px, calc((100dvh - 285px) * 1.6))); margin: 10px auto 0; padding: 0 6px; flex-wrap: wrap; }
#pokerView .zp-act {
  width: 66px; height: 66px; flex: none; border-radius: 50%; display: grid; place-items: center; align-content: center; gap: 0; padding: 0; cursor: pointer;
  border: 3px solid rgba(255, 255, 255, .88); color: #fff; font-family: system-ui, sans-serif;
  box-shadow: 0 7px 14px rgba(0, 0, 0, .55), inset 0 3px 6px rgba(255, 255, 255, .4), inset 0 -7px 12px rgba(0, 0, 0, .3);
  transition: transform .12s, filter .2s;
}
#pokerView .zp-act b { font-size: 26px; line-height: 1; text-shadow: 0 2px 3px rgba(0, 0, 0, .5); }
#pokerView .zp-act .lbl { font-size: 11px; font-weight: 800; letter-spacing: .02em; line-height: 1.1; text-shadow: 0 1px 2px rgba(0, 0, 0, .5); }
#pokerView .zp-act:not(:disabled):hover { transform: translateY(-2px) scale(1.05); }
#pokerView .zp-act:not(:disabled):active { transform: scale(.95); }
#pokerView .zp-act:focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }
#pokerView .zp-act:disabled { filter: grayscale(.9) brightness(.55); cursor: not-allowed; }
#pokerView #fold { background: radial-gradient(circle at 35% 28%, #ff7d7d, #d0232f 58%, #7c0e18); }
#pokerView #callBtn { background: radial-gradient(circle at 35% 28%, #7ef08a, #1f9d3c 58%, #0d5a22); }
#pokerView #raiseBtn { background: radial-gradient(circle at 35% 28%, #ffc067, #f0801a 58%, #a04a05); }
/* Raise: Raise düğmesinin üstünde dikey kaydırıcı; yukarı kaydırdıkça bahis büyür. Yalnızca raise yapılabilirken açılır */
#pokerView .zp-raisewrap { position: relative; display: flex; }
#pokerView .zp-raisebox { position: absolute; z-index: 40; left: 50%; bottom: calc(100% + 10px); transform: translateX(-50%); display: none; flex-direction: column; align-items: center; gap: 6px;
  padding: 8px 6px; border-radius: 14px; background: rgba(6, 12, 28, .9); border: 1px solid rgba(255, 214, 120, .45); box-shadow: 0 8px 18px rgba(0, 0, 0, .5); }
#pokerView .zp-actions.can-raise .zp-raisebox { display: flex; }
#pokerView .zp-raisebox input[type=range] { -webkit-appearance: none; appearance: none; writing-mode: vertical-lr; direction: rtl; width: 34px; height: clamp(90px, 24vh, 170px); margin: 0; background: transparent; cursor: grab; touch-action: none; }
#pokerView .zp-raisebox input[type=range]:active { cursor: grabbing; }
#pokerView .zp-raisebox input[type=range]::-webkit-slider-runnable-track { width: 8px; border-radius: 4px; background: linear-gradient(0deg, #f0a020 calc(var(--f, 0) * 100%), #3a4258 0); }
#pokerView .zp-raisebox input[type=range]::-moz-range-track { width: 8px; border-radius: 4px; background: #3a4258; }
#pokerView .zp-raisebox input[type=range]::-moz-range-progress { width: 8px; border-radius: 4px; background: #f0a020; }
/* tutamaç: el (parmak) işareti */
#pokerView .zp-raisebox input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 34px; height: 34px; margin-left: -13px; border: 2px solid #fff; border-radius: 50%; cursor: grab;
  background: radial-gradient(circle at 35% 30%, #ffd47a, #f0a020 60%, #a85f05) ; box-shadow: 0 3px 8px rgba(0, 0, 0, .6); }
#pokerView .zp-raisebox input[type=range]::-moz-range-thumb { width: 30px; height: 30px; border: 2px solid #fff; border-radius: 50%; cursor: grab; background: radial-gradient(circle at 35% 30%, #ffd47a, #f0a020 60%, #a85f05); box-shadow: 0 3px 8px rgba(0, 0, 0, .6); }
#pokerView .zp-rb-track { position: relative; display: flex; }
#pokerView .zp-rb-hand { position: absolute; left: 50%; width: 34px; height: 34px; margin-left: -17px; display: grid; place-items: center; font-size: 19px; line-height: 1; pointer-events: none; filter: drop-shadow(0 1px 1px rgba(0, 0, 0, .5)); }
#pokerView .zp-raisebox input[type=number] { width: 74px; padding: 5px 6px; border-radius: 8px; border: 1px solid rgba(255, 255, 255, .2); background: #0b1328; color: #fff; font-weight: 700; font-size: 13px; text-align: center; }
#pokerView .zp-rb-max { font-size: 10px; font-weight: 900; color: #ffd47a; letter-spacing: .06em; }
#pokerView #allin { background: radial-gradient(circle at 35% 28%, #c58bff, #7a2bd0 58%, #3e1173); }
#pokerView #allin .lbl { font-size: 10px; }
#pokerView .lasthand { text-align: center; margin-top: 6px; font-size: 12px; }

/* ---------- Krupiye ---------- */
.dealer-fig { position: relative; display: block; height: 100%; aspect-ratio: 200 / 250; }
.dealer-svg { display: block; height: 100%; width: auto; overflow: visible; filter: drop-shadow(0 6px 10px rgba(0, 0, 0, .5)); }
.dl-body { animation: dl-breathe 4s ease-in-out infinite; transform-origin: 100px 230px; }
@keyframes dl-breathe { 50% { transform: translateY(-1.5px) scaleY(1.01); } }
.dl-head, .dl-hairback { animation: dl-sway 6s ease-in-out infinite; transform-origin: 100px 146px; }
@keyframes dl-sway { 0%, 100% { transform: rotate(-1.4deg); } 50% { transform: rotate(1.4deg) translateY(-1px); } }
.dl-eye { transform-box: fill-box; transform-origin: center; }
.dealer-fig.blink .dl-eye { animation: dl-blink .24s ease-in-out; }
@keyframes dl-blink { 0%, 100% { transform: scaleY(1); } 50% { transform: scaleY(.05); } }
.dl-smile { transform-box: fill-box; transform-origin: center; animation: dl-smile 5s ease-in-out infinite; }
@keyframes dl-smile { 50% { transform: scale(1.07, 1.12); } }
.dl-grin, .dl-happy { opacity: 0; transition: opacity .15s; }
.dl-eyes, .dl-smile, .dl-brows { transition: opacity .15s, transform .25s; }
.dl-half, .dl-fall, .dl-topcard { opacity: 0; }
/* Karıştırma: deste ikiye ayrılır, kartlar birbirine karışarak iner, sonra birleşir */
.dealer-fig.shuffling .dl-deck { opacity: 0; }
.dealer-fig.shuffling .dl-half { opacity: 1; }
.dealer-fig.shuffling .dl-hl { animation: dl-hl .62s ease-in-out infinite; }
.dealer-fig.shuffling .dl-hr { animation: dl-hr .62s ease-in-out infinite; }
.dealer-fig.shuffling .dl-armL, .dealer-fig.shuffling .dl-handL { animation: dl-hand-l .62s ease-in-out infinite; }
.dealer-fig.shuffling .dl-armR, .dealer-fig.shuffling .dl-handR { animation: dl-hand-r .62s ease-in-out infinite; }
.dealer-fig.shuffling .dl-fall { opacity: 1; }
.dealer-fig.shuffling .dl-fall rect { animation: dl-fall .62s ease-in infinite; }
.dealer-fig.shuffling .dl-fall rect:nth-child(2) { animation-delay: .08s; }
.dealer-fig.shuffling .dl-fall rect:nth-child(3) { animation-delay: .16s; }
.dealer-fig.shuffling .dl-fall rect:nth-child(4) { animation-delay: .24s; }
@keyframes dl-hl { 0%, 100% { transform: translate(-9px, 1px) rotate(-8deg); } 50% { transform: translate(-1.6px, -2px) rotate(-1deg); } }
@keyframes dl-hr { 0%, 100% { transform: translate(9px, 1px) rotate(8deg); } 50% { transform: translate(1.6px, -2px) rotate(1deg); } }
@keyframes dl-hand-l { 0%, 100% { transform: translate(-7px, 0); } 50% { transform: translate(-1px, -2px); } }
@keyframes dl-hand-r { 0%, 100% { transform: translate(7px, 0); } 50% { transform: translate(1px, -2px); } }
@keyframes dl-fall { 0% { opacity: 0; transform: translateY(-14px); } 25% { opacity: 1; } 80% { opacity: .9; transform: translateY(12px); } 100% { opacity: 0; transform: translateY(14px); } }
/* Dağıtma: sağ el üstteki kartı masaya doğru kaydırır */
.dealer-fig.dealing .dl-handR, .dealer-fig.dealing .dl-armR { animation: dl-handflick .6s ease-in-out infinite; }
.dealer-fig.dealing .dl-topcard { animation: dl-flick .6s ease-out infinite; }
@keyframes dl-handflick { 0%, 100% { transform: translate(0, 0); } 30% { transform: translate(1px, -2px); } 55% { transform: translate(-3px, 2px); } }
@keyframes dl-flick { 0%, 20% { opacity: 0; transform: translate(0, 0) rotate(0); } 28% { opacity: 1; } 60% { opacity: 1; transform: translate(-24px, -16px) rotate(-26deg); } 75%, 100% { opacity: 0; transform: translate(-34px, -24px) rotate(-36deg); } }
.dealer-fig.dealing .dl-head, .dealer-fig.dealing .dl-hairback { animation: dl-nod .6s ease-in-out infinite; }
@keyframes dl-nod { 0%, 100% { transform: rotate(-1deg); } 45% { transform: rotate(-3deg) translate(-1px, 2px); } }
.dealer-fig.thanks .dl-eyes, .dealer-fig.thanks .dl-smile { opacity: 0; }
.dealer-fig.thanks .dl-happy, .dealer-fig.thanks .dl-grin { opacity: 1; }
.dealer-fig.thanks .dl-brows { transform: translateY(-2.5px); }
.dealer-fig.thanks .dl-head, .dealer-fig.thanks .dl-hairback { animation: dl-bow 1.05s ease-in-out 3; }
@keyframes dl-bow { 0%, 100% { transform: rotate(0) translateY(0); } 45% { transform: rotate(3.5deg) translateY(6px); } }
.dealer-say {
  position: absolute; z-index: 20; left: 50%; bottom: 96%; transform: translateX(-50%); white-space: nowrap; padding: .5em 1em; border-radius: 14px 14px 14px 4px;
  background: #fff8e3; color: #3a2500; font: 800 clamp(11px, 1.7cqw, 15px) system-ui, sans-serif; border: 2px solid #e1b341; box-shadow: 0 6px 16px rgba(0, 0, 0, .45);
}
.dealer-say.show { animation: say-pop .35s cubic-bezier(.3, 1.6, .5, 1) both; }
@keyframes say-pop { from { opacity: 0; transform: translateX(-50%) scale(.6); } to { opacity: 1; transform: translateX(-50%) scale(1); } }

#pokerView .zp-dealer { position: absolute; left: 50%; top: 0; height: 30%; transform: translateX(-50%); z-index: 5; display: flex; justify-content: center; }
#pokerView .zp-dealer .tip-btn { position: absolute; left: 50%; top: 78.5%; transform: translate(-50%, -50%); z-index: 6; width: clamp(11px, 1.65cqw, 21px); height: clamp(11px, 1.65cqw, 21px); padding: 0; gap: 0; justify-content: center; border-radius: 50%; box-shadow: 0 .25cqw .6cqw rgba(0, 0, 0, .5), inset 0 1px rgba(255, 255, 255, .6); }
#pokerView .zp-dealer .tip-btn .tip-txt { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
#pokerView .zp-dealer .tip-btn:hover:not(:disabled) { transform: translate(-50%, calc(-50% - 1px)); }
.tip-btn .tip-ico { display: inline-grid; place-items: center; line-height: 0; }
.tip-btn .tip-ico svg { width: 1.15em; height: 1.15em; display: block; }
#pokerView .zp-dealer .tip-btn .tip-ico svg { width: 66%; height: 66%; }
#pokerView .zp-dealer .tip-btn .tip-ico { width: 100%; height: 100%; }
#pokerView .zp-dealer .tip-btn::after { content: ""; position: absolute; inset: -9px; border-radius: 50%; } /* küçük düğmeye parmakla da kolay basılsın */
#pokerView .zp-dealer .dealer-say { left: auto; right: calc(100% + 2cqw); bottom: auto; top: 14%; transform: none; border-radius: 14px 14px 4px 14px; }
#pokerView .zp-dealer .dealer-say.show { animation-name: say-pop2; }
#pokerView .zp-dealer::after { /* krupiye tezgâhı: yalın ince kenar; gövdenin alt ucunu örter (renkli fiş şeridi kaldırıldı) */
  content: ""; position: absolute; left: -26%; right: -26%; bottom: -3%; height: 4.8%; border-radius: .5cqw; z-index: 3; pointer-events: none;
  background: linear-gradient(180deg, var(--rail-1, #3c404b), var(--rail-3, #07080b));
  border-top: .2cqw solid var(--ring-1, #c9d0dc);
  box-shadow: 0 .6cqw 1.3cqw rgba(0, 0, 0, .55), inset 0 .12cqw .25cqw rgba(255, 255, 255, .25);
}
/* Bakış: baş, yüz ve gözbebekleri sıradaki oyuncuya döner (--gx / --gy JS'ten gelir) */
.dealer-fig { --gx: 0; --gy: 0.4; }
.dl-turn { transform-origin: 100px 130px; transform: translate(calc(var(--gx) * 2.4px), calc(var(--gy) * .6px)) rotate(calc(var(--gx) * 3.4deg)); transition: transform .7s cubic-bezier(.3, .7, .25, 1); }
.dl-feat { transform: translate(calc(var(--gx) * 3.4px), calc(var(--gy) * 1.4px)); transition: transform .7s cubic-bezier(.3, .7, .25, 1); }
.dl-pupil { transform: translate(calc(var(--gx) * 1.7px), calc(var(--gy) * 1.2px)); transition: transform .45s cubic-bezier(.3, .7, .25, 1); }

/* Bahşiş */
.tip-btn {
  display: inline-flex; align-items: center; gap: .45em; padding: .42em .95em; border-radius: 999px; cursor: pointer;
  border: 1px solid #fff0b8; background: linear-gradient(180deg, #ffd978, #d49a22 60%, #a8730e); color: #2f1d00; font: 800 clamp(10px, 1.5cqw, 14px)/1.2 system-ui, sans-serif;
  box-shadow: 0 .5cqw 1.2cqw rgba(0, 0, 0, .5), inset 0 1px rgba(255, 255, 255, .6); transition: transform .12s, filter .2s;
}
.tip-btn:hover:not(:disabled) { transform: translateY(-1px); filter: brightness(1.07); }
.tip-btn:disabled { filter: grayscale(.8) brightness(.7); cursor: not-allowed; }
.tip-btn:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.tip-menu {
  position: fixed; z-index: 11200; min-width: 210px; padding: 12px; border-radius: 14px; background: linear-gradient(160deg, rgba(27, 43, 61, .97), rgba(8, 17, 28, .97));
  border: 1px solid rgba(255, 214, 120, .5); box-shadow: 0 14px 36px rgba(0, 0, 0, .6); color: #fff; font-family: system-ui, sans-serif;
}
.tip-menu h4 { margin: 0 0 2px; font-size: 14px; }
.tip-menu p { margin: 0 0 10px; font-size: 11px; color: #b9c3d6; }
.tip-menu .tip-opts { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
.tip-menu .tip-opts button { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 8px 6px; border-radius: 10px; border: 1px solid rgba(255, 214, 120, .45); background: rgba(255, 255, 255, .06); color: #fff; font-weight: 800; cursor: pointer; }
.tip-menu .tip-opts button:hover:not(:disabled) { background: rgba(255, 214, 120, .2); }
.tip-menu .tip-opts button:disabled { opacity: .45; cursor: not-allowed; }
.tip-menu .cs { --cw: 30px; }
.tip-menu .tip-opts button { min-height: 66px; justify-content: flex-end; }

/* Okey masasında krupiye: üst çubukta küçük portre */
.okey-dealer { position: relative; display: none; align-items: center; gap: 8px; }
.playing-table .okey-dealer.on { display: inline-flex; }
.okey-dealer .dealer-fig { width: 40px; height: 40px; aspect-ratio: auto; border-radius: 50%; overflow: hidden; border: 2px solid #e6c068; background: radial-gradient(circle at 50% 30%, #2d5aa6, #0e2147); box-shadow: 0 3px 8px rgba(0, 0, 0, .5); }
.okey-dealer .dealer-svg { height: auto; width: 175%; margin: -34% 0 0 -37.5%; filter: none; }
.okey-dealer .tip-btn { font-size: 12px; padding: .3em .8em; white-space: nowrap; }
@media (max-width:720px) and (orientation: portrait), (max-width:720px) and (min-height: 521px) { .okey-dealer .tip-btn span:last-child { display: none; } .okey-dealer .tip-btn { padding: .3em .5em; } }
.okey-dealer .dealer-say { bottom: auto; top: calc(100% + 8px); left: 0; transform: none; border-radius: 4px 14px 14px 14px; font-size: 12px; }
.okey-dealer .dealer-say.show { animation: say-pop2 .35s cubic-bezier(.3, 1.6, .5, 1) both; }
@keyframes say-pop2 { from { opacity: 0; transform: scale(.6); } to { opacity: 1; transform: none; } }
.sfx-toggle { min-width: 34px; padding: 3px 8px; }

@media (max-width:720px) and (orientation: portrait), (max-width:720px) and (min-height: 521px) {
  #pokerView .zp-stage { width: 100%; aspect-ratio: .82; min-width: 0; }
  #pokerView .zp-table { left: 6%; right: 6%; top: 18%; bottom: 9%; }
  #pokerView .zp-actions { width: 100%; justify-content: center; }
  #pokerView .zp-act { width: 58px; height: 58px; }
  #pokerView .zp-dealer { height: 21%; top: 0; }
  #pokerView .zp-dealer .tip-btn { top: 80.5%; }
  #pokerView .zp-board .pcard { width: clamp(24px, 12cqw, 60px); height: clamp(34px, 17cqw, 86px); }
  #pokerView .zp { --zd: clamp(34px, 15cqw, 70px); }
  #pokerView .zp[data-n="6"] { --zd: clamp(32px, 14cqw, 66px); }
  #pokerView .zp[data-n="9"] { --zd: clamp(28px, 11.5cqw, 56px); }
  #pokerView .zp-plate { font-size: clamp(8px, 2.5cqw, 12px); }
  #pokerView .zp-pot .zp-pot-amt { font-size: clamp(9px, 3cqw, 14px); }
  #pokerView .zp-info { font-size: clamp(8px, 2.3cqw, 12px); }
  /* Dar dikey ekran: ortak kartlar yan koltukların arasına sığmaz. Kenardaki koltukların kartları avatarın ÜSTÜNE çıkar, 4 ve 9 kişilikte ortak kartlar biraz daralır */
  #pokerView .zp-seat.rim { margin-left: calc(var(--zd) * .4); } /* levha avatardan geniş: kenardaki koltuklar ekranın dışına taşmasın */
  #pokerView .zp-seat.rim.flip { margin-left: calc(var(--zd) * -.4); }
  #pokerView .zp-seat.edge .zp-opp, #pokerView .zp-seat.edge.flip .zp-opp { top: calc(var(--zd) * -.78); flex-direction: row; transform: translateX(-50%); }
  #pokerView .zp-seat.edge.flip .zp-opp .pcard:nth-child(2) { margin-left: calc(var(--zd) * .015); margin-right: 0; }
  #pokerView .zp[data-n="4"] .zp-board .pcard, #pokerView .zp[data-n="9"] .zp-board .pcard { width: clamp(24px, 11cqw, 56px); height: clamp(34px, 15.6cqw, 80px); }
}
@media (prefers-reduced-motion: reduce) {
  .dl-body, .dl-head, .dl-hairback, .dl-smile, #pokerView .zp-seat.turn .avatar.big, .dealer-fig .dl-half, .dealer-fig .dl-armL, .dealer-fig .dl-armR, .dealer-fig .dl-handL, .dealer-fig .dl-handR, .dealer-fig .dl-fall rect, .dealer-fig .dl-topcard { animation: none !important; }
}

/* ---------- Kademeye göre masa süsleri (renkler tiers.js'ten CSS değişkeni olarak gelir) ---------- */
#pokerView .zp-rail::before { /* kenar perçinleri */
  content: ""; position: absolute; inset: 2% 1.2%; border-radius: 50%; border: .72cqw dotted var(--stud, transparent); opacity: .9; pointer-events: none;
  filter: drop-shadow(0 0 .25cqw rgba(0, 0, 0, .6));
}
#pokerView .zp-stage::after { /* ışık huzmesi ve parıltılar */
  content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; z-index: 2; opacity: 0; mix-blend-mode: screen;
}
#pokerView .zp-stage[data-fx="spot"]::after, #pokerView .zp-stage[data-fx="glint"]::after, #pokerView .zp-stage[data-fx="glint2"]::after {
  opacity: 1; background: radial-gradient(ellipse 52% 58% at 50% 40%, color-mix(in srgb, var(--gold) 24%, transparent), transparent 72%);
}
#pokerView .zp-stage[data-fx="glint"]::after, #pokerView .zp-stage[data-fx="glint2"]::after {
  background:
    radial-gradient(circle at 12% 22%, #fff 0 .22cqw, transparent .7cqw), radial-gradient(circle at 88% 30%, #fff 0 .2cqw, transparent .65cqw),
    radial-gradient(circle at 24% 84%, #fff 0 .2cqw, transparent .65cqw), radial-gradient(circle at 78% 86%, #fff 0 .22cqw, transparent .7cqw),
    radial-gradient(circle at 50% 9%, #fff 0 .2cqw, transparent .65cqw), radial-gradient(circle at 6% 56%, #fff 0 .18cqw, transparent .6cqw),
    radial-gradient(circle at 94% 60%, #fff 0 .18cqw, transparent .6cqw),
    radial-gradient(ellipse 52% 58% at 50% 40%, color-mix(in srgb, var(--gold) 26%, transparent), transparent 72%);
  animation: zp-twinkle 3.2s ease-in-out infinite;
}
#pokerView .zp-stage[data-fx="glint2"]::after {
  background:
    radial-gradient(circle at 12% 22%, #fff 0 .26cqw, transparent .9cqw), radial-gradient(circle at 88% 30%, #fff 0 .26cqw, transparent .9cqw),
    radial-gradient(circle at 24% 84%, #fff 0 .26cqw, transparent .9cqw), radial-gradient(circle at 78% 86%, #fff 0 .26cqw, transparent .9cqw),
    radial-gradient(circle at 50% 9%, #fff 0 .26cqw, transparent .9cqw), radial-gradient(circle at 6% 56%, #fff 0 .24cqw, transparent .8cqw),
    radial-gradient(circle at 94% 60%, #fff 0 .24cqw, transparent .8cqw), radial-gradient(circle at 36% 14%, #fff 0 .2cqw, transparent .7cqw),
    radial-gradient(circle at 66% 12%, #fff 0 .2cqw, transparent .7cqw), radial-gradient(circle at 30% 52%, #fff 0 .16cqw, transparent .6cqw),
    radial-gradient(ellipse 54% 60% at 50% 40%, color-mix(in srgb, var(--gold) 34%, transparent), transparent 74%);
  animation-duration: 2.4s;
}
@keyframes zp-twinkle { 0%, 100% { opacity: .55; } 50% { opacity: 1; } }
#pokerView .zp-stage[data-tier="10"] .zp-felt { box-shadow: inset 0 0 3.6cqw rgba(0, 0, 0, .6), 0 0 0 .3cqw rgba(0, 0, 0, .55), 0 0 0 .5cqw var(--felt-edge), 0 0 2.4cqw .6cqw color-mix(in srgb, var(--gold) 45%, transparent); }
#pokerView .zp-stage[data-tier="9"] .zp-felt, #pokerView .zp-stage[data-tier="8"] .zp-felt { box-shadow: inset 0 0 3.6cqw rgba(0, 0, 0, .6), 0 0 0 .3cqw rgba(0, 0, 0, .55), 0 0 0 .5cqw var(--felt-edge), 0 0 1.6cqw .3cqw color-mix(in srgb, var(--gold) 30%, transparent); }
@media (prefers-reduced-motion: reduce) { #pokerView .zp-stage::after { animation: none !important; } }

/* Ayrılan oyuncunun koltuğu */
#pokerView .zp-seat.out .zp-tag.fold { background: rgba(60, 20, 20, .92); color: #ffc9c0; }

/* Büyük bahşiş için ikinci dokunuş */
.tip-menu .tip-opts button.armed { background: linear-gradient(180deg, #ffd978, #d49a22); color: #2f1d00; border-color: #fff0b8; }

/* Masadan ayrılma onayı */
.leave-ov { position: fixed; inset: 0; z-index: 12000; display: grid; place-items: center; padding: 16px; background: rgba(2, 6, 16, .66); backdrop-filter: blur(3px); }
.leave-box { width: min(420px, 100%); padding: 22px 22px 18px; border-radius: 18px; color: #fff; font-family: system-ui, sans-serif;
  background: linear-gradient(160deg, #1b2b3d, #0a121e); border: 1px solid rgba(255, 214, 120, .5); box-shadow: 0 24px 60px rgba(0, 0, 0, .65); }
.leave-box h3 { margin: 0 0 8px; font-size: 19px; }
.leave-box p { margin: 0 0 18px; color: #c4cee0; line-height: 1.5; font-size: 14px; }
.leave-actions { display: flex; gap: 10px; justify-content: flex-end; flex-wrap: wrap; }
.leave-actions .btn { min-width: 120px; }
.btn.danger { background: linear-gradient(180deg, #ff6b5c, #b4160a); border-color: #ffb4a8; color: #fff; }
.btn.danger:hover { filter: brightness(1.08); }

/* Kart yüzleri: keskin vektör, temiz beyaz zemin, net kırmızı/siyah mürekkep */
body .pcard:not(.back) {
  overflow: hidden;
  background: linear-gradient(180deg, #ffffff 0%, #f6f3ea 100%);
  border: 1px solid #b9b19b;
  color: #14161b;
}
body .pcard.red:not(.back) { color: #d4152b; }
body .pcard > svg { position: absolute; inset: 0; width: 100%; height: 100%; display: block; pointer-events: none; fill: currentColor; }
body .pcard > svg .cr { fill: currentColor; font-family: Arial, Helvetica, sans-serif; font-weight: 800; }
/* Kartlar her güncellemede yeniden çizildiğinden "deal" belirme animasyonu soluk/bulanık görünüme yol açıyordu */
#pokerView .pcard { animation: none; }
#pokerView .zp-hole .pcard { width: clamp(28px, calc(var(--zd) * .64), 64px); height: clamp(40px, calc(var(--zd) * .92), 92px); border-radius: .5cqw; }
#pokerView .zp-opp .pcard:not(.back) { border-radius: calc(var(--zd) * .06); }

/* Masaya giriş: izleyici boş koltuğa tıklayıp oturma tutarını seçer */
#pokerView .zp-seat.empty .avatar.big.ghost { display: grid; place-items: center; font-size: calc(var(--zd) * .5); line-height: 1; background: rgba(5, 12, 26, .55); border: .22cqw dashed rgba(255, 255, 255, .32); color: rgba(255, 255, 255, .5); }
#pokerView .zp-seat.empty .zp-plate { background: rgba(8, 16, 32, .72); border-color: rgba(255, 255, 255, .22); box-shadow: none; }
#pokerView .zp-seat.empty .zp-name { color: #9fb0cc; font-weight: 600; }
#pokerView .zp-seat.sittable { pointer-events: auto; cursor: pointer; border-radius: 16px; -webkit-tap-highlight-color: transparent; }
#pokerView .zp-seat.sittable .avatar.big.ghost { border-color: #ffd978; color: #ffe9a3; background: radial-gradient(circle, rgba(255, 217, 120, .22), rgba(5, 12, 26, .6) 72%); animation: zp-sitpulse 2s ease-in-out infinite; }
#pokerView .zp-seat.sittable .zp-plate { background: linear-gradient(180deg, #7a5410, #3b2705); border-color: #ffd978; }
#pokerView .zp-seat.sittable .zp-name { color: #fff3c4; font-weight: 800; }
#pokerView .zp-seat.sittable:hover .avatar.big.ghost, #pokerView .zp-seat.sittable:focus-visible .avatar.big.ghost { transform: scale(1.08); box-shadow: 0 0 2.6cqw .8cqw rgba(255, 217, 120, .75); }
#pokerView .zp-seat.sittable:focus-visible { outline: 2px solid #fff3c4; outline-offset: 3px; }
@keyframes zp-sitpulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(255, 217, 120, .0); } 50% { box-shadow: 0 0 2.2cqw .5cqw rgba(255, 217, 120, .55); } }
.watch-hint { margin: 10px auto 0; max-width: 560px; padding: 10px 16px; border-radius: 12px; text-align: center; font-size: 14px; line-height: 1.4; color: #ffeab0; background: rgba(120, 84, 14, .35); border: 1px solid rgba(255, 217, 120, .45); }
.watch-hint[hidden] { display: none; }

/* Oturma tutarı penceresi */
.sit-box { width: min(440px, 100%); }
.sit-box .sit-sub { margin: 0 0 4px; color: #e6ecf7; font-weight: 600; }
.sit-box .sit-bal { margin: 0 0 14px; font-size: 13px; color: #9fb0cc; min-height: 1.3em; }
.sit-box input[type=range] { width: 100%; margin: 0 0 12px; accent-color: #f0b73a; }
.sit-field { display: flex; align-items: center; gap: 8px; margin: 0 0 12px; padding: 6px 12px; border-radius: 12px; background: rgba(0, 0, 0, .35); border: 1px solid rgba(255, 214, 120, .45); }
.sit-field span { font-size: 20px; font-weight: 800; color: #ffd86b; }
.sit-field input { flex: 1; min-width: 0; padding: 6px 0; font-size: 22px; font-weight: 800; color: #fff; background: transparent; border: 0; outline: 0; font-variant-numeric: tabular-nums; }
.sit-field:focus-within { border-color: #fff0b8; box-shadow: 0 0 0 2px rgba(255, 217, 120, .35); }
.sit-quick { display: flex; gap: 8px; margin: 0 0 12px; flex-wrap: wrap; }
.sit-quick .btn { flex: 1 1 0; min-width: 0; padding: 7px 8px; font-size: 13px; }
.sit-box .sit-stack { margin: 0 0 8px; font-size: 13px; color: #c4cee0; }
.sit-err { min-height: 1.2em; margin: 0 0 10px; font-size: 13px; color: #ffb4a8; }
@media (max-width: 520px) { .sit-box { padding: 18px 16px 14px; } .sit-box .leave-actions .btn { flex: 1; min-width: 0; } }
@media (prefers-reduced-motion: reduce) { #pokerView .zp-seat.sittable .avatar.big.ghost { animation: none; } }
.leave-ov { grid-template-columns: minmax(0, 1fr); }
.leave-box { box-sizing: border-box; }
.sit-box .sit-off { display: none; }

/* Masada yanıp sönen ışık/parıltı katmanı kapatıldı: kartların üstüne biniyor ve bulanık gösteriyordu */
#pokerView .zp-stage::after { content: none !important; display: none !important; animation: none !important; }

/* ---------- Çanak (jackpot): sol alt köşe göstergesi, patlama afişi ---------- */
#pokerView .zp-jackpot {
  position: absolute; left: 1.6%; bottom: 2.4%; z-index: 4; display: flex; align-items: center; gap: .8cqw;
  padding: .5cqw 1.5cqw .5cqw .6cqw; border-radius: 999px; cursor: pointer; user-select: none; -webkit-tap-highlight-color: transparent;
  background: linear-gradient(180deg, rgba(46, 32, 8, .94), rgba(14, 9, 3, .95));
  border: 1px solid color-mix(in srgb, var(--gold) 72%, transparent);
  box-shadow: 0 .3cqw .9cqw rgba(0, 0, 0, .55), inset 0 0 .9cqw rgba(244, 196, 83, .16);
  color: #fff4d4; font-family: system-ui, sans-serif;
}
#pokerView .zp-jackpot[hidden] { display: none; }
#pokerView .zp-jackpot:focus-visible { outline: 2px solid #fff2b8; outline-offset: 2px; }
#pokerView .zp-jackpot .jp-ico { flex: none; width: clamp(15px, 3cqw, 32px); height: clamp(15px, 3cqw, 32px); display: grid; place-items: center; filter: drop-shadow(0 .2cqw .3cqw rgba(0, 0, 0, .6)); }
#pokerView .zp-jackpot .jp-ico svg { width: 100%; height: 100%; display: block; }
#pokerView .zp-jackpot .jp-col { display: flex; flex-direction: column; line-height: 1.1; min-width: 0; }
#pokerView .zp-jackpot .jp-lbl { font-weight: 800; font-size: clamp(7px, 1.05cqw, 11px); letter-spacing: .12em; color: #f4c453; }
#pokerView .zp-jackpot .jp-amt { font-weight: 900; font-size: clamp(11px, 1.9cqw, 20px); color: #ffe08a; font-variant-numeric: tabular-nums; white-space: nowrap; text-shadow: 0 1px 2px rgba(0, 0, 0, .6); }
#pokerView .zp-jackpot .jp-tip {
  position: absolute; left: 0; bottom: calc(100% + .8cqw); width: clamp(170px, 34cqw, 300px); padding: 1cqw 1.4cqw; border-radius: 10px; z-index: 9;
  background: rgba(8, 12, 26, .97); border: 1px solid color-mix(in srgb, var(--gold) 55%, transparent); box-shadow: 0 .6cqw 1.6cqw rgba(0, 0, 0, .6);
  font: 600 clamp(9px, 1.35cqw, 13px)/1.45 system-ui, sans-serif; color: #f2ead2; white-space: normal;
}
#pokerView .zp-jackpot .jp-tip[hidden] { display: none; }
#pokerView .zp-jackpot.boom { animation: jp-boom 1.5s cubic-bezier(.2, .8, .25, 1) 1; }
@keyframes jp-boom {
  0% { transform: scale(1); box-shadow: 0 .3cqw .9cqw rgba(0, 0, 0, .55), 0 0 0 0 rgba(255, 220, 110, .95); }
  18% { transform: scale(1.22); box-shadow: 0 .3cqw .9cqw rgba(0, 0, 0, .55), 0 0 0 1.6cqw rgba(255, 220, 110, .55), 0 0 4cqw 1.6cqw rgba(255, 200, 60, .85); }
  100% { transform: scale(1); box-shadow: 0 .3cqw .9cqw rgba(0, 0, 0, .55), 0 0 0 5cqw rgba(255, 220, 110, 0), 0 0 0 0 rgba(255, 200, 60, 0); }
}
/* Okey masası: çanak göstergesi üst çubukta (poker köşe göstergesinin px ölçülü eşi) */
.okey-jackpot {
  position: relative; flex: none; display: flex; align-items: center; gap: 7px; padding: 3px 13px 3px 5px; border-radius: 999px; cursor: pointer; user-select: none; -webkit-tap-highlight-color: transparent;
  background: linear-gradient(180deg, rgba(46, 32, 8, .94), rgba(14, 9, 3, .95)); border: 1px solid rgba(244, 196, 83, .72);
  box-shadow: 0 2px 6px rgba(0, 0, 0, .5), inset 0 0 8px rgba(244, 196, 83, .16); color: #fff4d4; font-family: system-ui, sans-serif;
}
.okey-jackpot[hidden] { display: none; }
.okey-jackpot:focus-visible { outline: 2px solid #fff2b8; outline-offset: 2px; }
.okey-jackpot .jp-ico { flex: none; width: 24px; height: 24px; display: grid; place-items: center; filter: drop-shadow(0 1px 2px rgba(0, 0, 0, .6)); }
.okey-jackpot .jp-ico svg { width: 100%; height: 100%; display: block; }
.okey-jackpot .jp-col { display: flex; flex-direction: column; line-height: 1.05; min-width: 0; }
.okey-jackpot .jp-lbl { font-weight: 800; font-size: 9px; letter-spacing: .12em; color: #f4c453; }
.okey-jackpot .jp-amt { font-weight: 900; font-size: 15px; color: #ffe08a; font-variant-numeric: tabular-nums; white-space: nowrap; text-shadow: 0 1px 2px rgba(0, 0, 0, .6); }
.okey-jackpot .jp-tip {
  position: absolute; left: 0; top: calc(100% + 8px); width: 280px; padding: 9px 12px; border-radius: 10px; z-index: 30;
  background: rgba(8, 12, 26, .97); border: 1px solid rgba(244, 196, 83, .55); box-shadow: 0 6px 16px rgba(0, 0, 0, .6);
  font: 600 12px/1.45 system-ui, sans-serif; color: #f2ead2; white-space: normal;
}
.okey-jackpot .jp-tip[hidden] { display: none; }
.jp-spark { position: absolute; border-radius: 50%; pointer-events: none; will-change: transform, opacity;
  background: radial-gradient(circle, #fffbe0 0 28%, #f4c453 62%, rgba(244, 196, 83, 0) 100%); box-shadow: 0 0 8px 2px rgba(255, 214, 90, .8); }
#pokerView .zp-jp-banner {
  position: absolute; left: 50%; top: 33%; z-index: 8; transform: translate(-50%, -50%); width: max-content; max-width: 84%; padding: 1.1cqw 3cqw 1.3cqw; border-radius: 1.6cqw; text-align: center; pointer-events: none;
  background: linear-gradient(180deg, rgba(60, 12, 30, .96), rgba(22, 6, 14, .97));
  border: .25cqw solid #f4c453; box-shadow: 0 0 0 .2cqw rgba(0, 0, 0, .6), 0 1.2cqw 3.4cqw rgba(0, 0, 0, .7), 0 0 5cqw 1cqw rgba(255, 200, 60, .55);
  font-family: system-ui, sans-serif;
}
#pokerView .zp-jp-banner[hidden] { display: none; }
#pokerView .zp-jp-banner.in { animation: jp-b-in .55s cubic-bezier(.2, 1.3, .35, 1) both; }
#pokerView .zp-jp-banner.out { animation: jp-b-out .55s ease-in both; }
@keyframes jp-b-in { from { opacity: 0; transform: translate(-50%, -50%) scale(.45); } to { opacity: 1; transform: translate(-50%, -50%) scale(1); } }
@keyframes jp-b-out { to { opacity: 0; transform: translate(-50%, -62%) scale(.96); } }
#pokerView .zp-jp-banner .jp-b-title { font: 900 clamp(13px, 2.9cqw, 30px)/1.1 system-ui, sans-serif; letter-spacing: .1em; color: #ffe08a; text-shadow: 0 .2cqw .5cqw rgba(0, 0, 0, .7), 0 0 1.4cqw rgba(255, 190, 40, .7); }
#pokerView .zp-jp-banner .jp-b-row { display: flex; align-items: baseline; justify-content: center; gap: 1.2cqw; margin-top: .7cqw; white-space: nowrap; }
#pokerView .zp-jp-banner .jp-b-name { font: 800 clamp(11px, 2cqw, 21px) system-ui, sans-serif; color: #fff; max-width: 22cqw; overflow: hidden; text-overflow: ellipsis; }
#pokerView .zp-jp-banner .jp-b-hand { font: 700 clamp(9px, 1.5cqw, 16px) system-ui, sans-serif; color: #ffc9d4; }
#pokerView .zp-jp-banner .jp-b-amt { font: 900 clamp(12px, 2.3cqw, 24px) system-ui, sans-serif; color: #ffe08a; font-variant-numeric: tabular-nums; }
#pokerView .zp-tag.jp { background: linear-gradient(#ffe9a0, #e0a21c); color: #4a0c1c; border: 1px solid #fff2b8; top: calc(var(--zd) * -.95); transform: translateX(-50%); font-size: clamp(8px, 1.45cqw, 16px); z-index: 6; }
@media (max-width:760px) and (orientation: portrait), (max-width:760px) and (min-height: 521px) {
  #pokerView .zp-jackpot { left: 1.2%; bottom: 1.8%; gap: 1.4cqw; padding: .9cqw 2.6cqw .9cqw 1.2cqw; }
  #pokerView .zp-jackpot .jp-ico { width: clamp(15px, 6.2cqw, 28px); height: clamp(15px, 6.2cqw, 28px); }
  #pokerView .zp-jackpot .jp-lbl { font-size: clamp(7px, 2.3cqw, 10px); }
  #pokerView .zp-jackpot .jp-amt { font-size: clamp(11px, 3.7cqw, 17px); }
  #pokerView .zp-jackpot .jp-tip { width: min(70cqw, 280px); font-size: clamp(9px, 3cqw, 12px); }
  #pokerView .zp-jp-banner { top: 31%; padding: 2cqw 5cqw 2.4cqw; }
  #pokerView .zp-jp-banner .jp-b-title { font-size: clamp(13px, 5cqw, 24px); }
  #pokerView .zp-jp-banner .jp-b-name { font-size: clamp(11px, 3.8cqw, 18px); max-width: 36cqw; }
  #pokerView .zp-jp-banner .jp-b-hand { font-size: clamp(9px, 2.8cqw, 14px); }
  #pokerView .zp-jp-banner .jp-b-amt { font-size: clamp(12px, 4.2cqw, 20px); }
}
@media (prefers-reduced-motion: reduce) {
  #pokerView .zp-jackpot.boom, #pokerView .zp-jp-banner.in, #pokerView .zp-jp-banner.out { animation: none !important; }
}

/* dolu koltuk: isim üstte, bakiye avatarın hemen altında, levha arka planı yok */
#pokerView .zp-name-top { position: relative; z-index: 8; font-weight: 800; max-width: calc(var(--zd) * 2.1); margin-bottom: calc(var(--zd) * .04); font-size: clamp(8px, 1.35cqw, 15px); line-height: 1.2; text-align: center; text-shadow: 0 1px 2px #000, 0 0 4px rgba(0, 0, 0, .9); }
#pokerView .zp-plate.bare { margin-top: calc(var(--zd) * .04); min-width: 0; max-width: none; padding: 0; background: none; border: 0; box-shadow: none; }
#pokerView .zp-plate.bare .zp-stack { text-shadow: 0 1px 2px #000, 0 0 4px rgba(0, 0, 0, .9); }
#pokerView .zp-seat.folded .zp-name-top, #pokerView .zp-seat.out .zp-name-top { opacity: .6; }
/* bakiye avatarın tam ortasında: fazladan fiş simgesi gizlenir, satır avatar genişliğinde ortalanır */
#pokerView .zp-plate.bare { align-self: center; display: flex; justify-content: center; width: max-content; margin-left: auto; margin-right: auto; text-align: center; }
#pokerView .zp-plate.bare .zp-stack > i { display: none; }
#pokerView .zp-name-top { align-self: center; margin-left: auto; margin-right: auto; }
/* bakiye: parlak altın, kalın, keskin koyu kontur ile her zeminde net */
#pokerView .zp-plate.bare .zp-stack { color: #ffd84a; font-weight: 900; font-size: 1.08em; letter-spacing: .01em;
  text-shadow: -1px -1px 0 #1a1203, 1px -1px 0 #1a1203, -1px 1px 0 #1a1203, 1px 1px 0 #1a1203, 0 2px 3px rgba(0, 0, 0, .85); }
#pokerView .zp-name-top { color: #fff; text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000, 0 2px 3px rgba(0, 0, 0, .8); }

/* check yapan oyuncunun koltuğunda yanıp sönen CHECK etiketi */
#pokerView .zp-tag.check { background: linear-gradient(180deg, #3fd06a, #138a3a); color: #fff; border-color: #b9ffcf; animation: zp-check-blink .55s ease-in-out 4; }
@keyframes zp-check-blink { 0%, 100% { opacity: 1; transform: translateX(-50%) rotate(-6deg) scale(1); } 50% { opacity: .25; transform: translateX(-50%) rotate(-6deg) scale(1.1); } }

/* bahis tutarı: yeşil hap etiket, tutara göre renkli küçük fiş yığını yanında (klasik online poker görünümü) */
#pokerView .zp-bet .zp-bet-amt { background: linear-gradient(180deg, #5fe05a, #1f9d2a); border: 1px solid #b8f7b0; color: #fff; text-shadow: 0 1px 1px rgba(0, 0, 0, .55); box-shadow: 0 2px 5px rgba(0, 0, 0, .45), inset 0 1px rgba(255, 255, 255, .35); }
#pokerView .cs.tier { --cw: clamp(14px, 2.4cqw, 28px); }
#pokerView .cs.tier.lg { --cw: clamp(18px, 3cqw, 34px); }

/* sıra sayacı: avatarın çevresinde kalın, parlayan, azalarak dönen halka */
#pokerView .zp-seat .turn-ring { inset: -19%; width: 138%; height: 138%; z-index: 3; filter: drop-shadow(0 0 .5cqw rgba(60, 230, 90, .55)); }
#pokerView .zp-seat .turn-ring-track { stroke: rgba(0, 0, 0, .6); stroke-width: 8; }
#pokerView .zp-seat .turn-ring-progress { stroke-width: 8; stroke-linecap: butt; transition: stroke-dashoffset .25s linear, stroke .25s linear; }

/* kazanan el: elin kartları kalkar ve parlar, kullanılmayanlar soluklaşır; elin adı kartların üstünde */
#pokerView .pcard.win-card { translate: 0 -16%; box-shadow: 0 0 0 .2cqw #ffe27a, 0 0 1.4cqw .3cqw rgba(255, 214, 80, .85); transition: translate .35s ease, box-shadow .35s ease; z-index: 4; }
#pokerView .pcard.dim-card { filter: brightness(.45) saturate(.6); transition: filter .35s ease; }
#pokerView .zp-handname { position: absolute; left: 50%; top: 31%; transform: translate(-50%, -50%); z-index: 6; padding: .3cqw 1.8cqw; border-radius: 999px;
  font: 900 clamp(10px, 1.8cqw, 20px)/1.2 system-ui, sans-serif; letter-spacing: .08em; color: #ffe27a; background: rgba(6, 10, 22, .82); border: 1px solid rgba(255, 214, 120, .6);
  box-shadow: 0 .4cqw 1cqw rgba(0, 0, 0, .5); white-space: nowrap; pointer-events: none; animation: zp-hn-pop .35s ease-out; }
#pokerView .zp-handname[hidden] { display: none; }
@keyframes zp-hn-pop { from { opacity: 0; transform: translate(-50%, -50%) scale(.7); } to { opacity: 1; transform: translate(-50%, -50%) scale(1); } }

#pokerView .zp-pot .cs.tier.lg { --cw: clamp(15px, 2.5cqw, 28px); }
#pokerView .zp-pot .zp-pot-amt { font-size: clamp(9px, 1.45cqw, 15px); }
#pokerView .zp-pot .zp-pot-amt small { display: none; } /* "HAVUZ" yazısı gizli: yalnızca tutar */
#pokerView .zp-bets { z-index: 2; } #pokerView .zp-center { z-index: 3; } /* kartlar ve havuz her zaman bahis fişlerinin üstünde */
#pokerView .zp-bet .zp-bet-amt { white-space: nowrap; }
