/* POKER */
#tableView.pk-main { max-width: 1900px; display: grid; grid-template-columns: 300px minmax(0, 1fr) 270px; column-gap: 18px; align-items: start; }
.pk-chat { grid-column: 1; grid-row: 1 / span 4; position: sticky; top: 14px; height: calc(100vh - 100px); min-height: 420px; display: flex; flex-direction: column; }
.pk-chat h3 { margin: 0 0 8px; font-size: 13px; }
.pk-chat .chat-log { flex: 1; min-height: 0; height: auto; }
.pk-top { grid-column: 2; display: flex; align-items: center; gap: 14px; margin-bottom: 8px; flex-wrap: wrap; }
.pk-wrap { grid-column: 2; overflow-x: auto; }
.pk-controls { grid-column: 2; margin-top: 10px; display: flex; align-items: center; gap: 16px; flex-wrap: wrap; min-height: 84px; }
.pk-log { grid-column: 2; margin-top: 14px; }
.pk-log h3 { margin: 0 0 6px; font-size: 13px; }
.pk-loglist { font: 12px/1.6 'JetBrains Mono', monospace; color: var(--muted); max-height: 160px; overflow-y: auto; }

.pk-table { position: relative; min-width: 900px; height: 600px; }
.pk-felt { position: absolute; inset: 70px 90px; border-radius: 999px;
  background: radial-gradient(ellipse at 50% 40%, #1f8a50 0, #12613a 55%, #0a3d24 100%);
  border: 16px solid #4a2f14; box-shadow: inset 0 0 70px rgba(0,0,0,.6), 0 18px 50px rgba(0,0,0,.55), 0 0 0 3px #c9a24a; }
.pk-center { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -54%); display: flex; flex-direction: column; align-items: center; gap: 10px; }
.pk-board { min-height: 74px; gap: 6px; }
.pk-board .card { margin-left: 0; }
.pk-pot { font: 700 15px 'JetBrains Mono', monospace; color: #fff; background: rgba(0,0,0,.45); padding: 4px 14px; border-radius: 12px; }

.pk-seat { position: absolute; transform: translate(-50%, -50%); width: 150px; display: flex; flex-direction: column; align-items: center; text-align: center; }
.pk-seat .pcards { display: flex; justify-content: center; height: 62px; margin-bottom: -16px; position: relative; z-index: 1; }
.pk-seat .pcards .card { width: 42px; height: 60px; margin-left: -14px; }
.pk-seat .pcards .card:first-child { margin-left: 0; }
.pk-seat .pcards .card .r { font-size: 13px; } .pk-seat .pcards .card .s2 { font-size: 20px; }
.pk-seat .box { position: relative; z-index: 2; min-width: 128px; background: rgba(12, 16, 22, .92); border: 2px solid #2b3445; border-radius: 12px; padding: 6px 10px 5px; }
.pk-seat .pn { font-weight: 700; font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pk-seat .ps { font: 700 13px 'JetBrains Mono', monospace; color: var(--amber); }
.pk-seat .la { font-size: 11px; color: var(--muted); min-height: 15px; white-space: nowrap; }
.pk-seat.mine .box { border-color: var(--amber); }
.pk-seat.turn .box { border-color: #5ff3ff; box-shadow: 0 0 18px rgba(95,243,255,.6); }
.pk-seat.folded { opacity: .45; }
.pk-seat.winner .box { border-color: var(--green); box-shadow: 0 0 20px rgba(47,224,139,.6); }
.pk-seat .hn { margin-top: 3px; font-size: 11.5px; font-weight: 800; background: #c9a24a; color: #231400; padding: 1px 8px; border-radius: 8px; }
.pk-seat .wn { margin-top: 3px; font-size: 11.5px; font-weight: 800; background: var(--green); color: #04130b; padding: 1px 8px; border-radius: 8px; }
.pk-seat.free .box { border-style: dashed; cursor: pointer; color: rgba(233,208,140,.85); font-weight: 600; font-size: 13px; padding: 14px 10px; background: rgba(12,16,22,.6); }
.pk-seat.free .box:hover { background: rgba(233,208,140,.1); }
.pk-seat.free.locked .box { cursor: default; color: var(--muted); }
.pk-bet { position: absolute; transform: translate(-50%, -50%); display: flex; align-items: center; gap: 5px; font: 700 12px 'JetBrains Mono', monospace; color: #fff;
  background: rgba(0,0,0,.5); padding: 2px 8px 2px 3px; border-radius: 12px; }
.pk-bet i { width: 16px; height: 16px; border-radius: 50%; background: radial-gradient(circle, #d4a017 0 40%, #9c7410 41%); border: 2px dashed rgba(255,255,255,.7); }
.pk-btn { position: absolute; transform: translate(-50%, -50%); width: 26px; height: 26px; border-radius: 50%; background: #fff; color: #111; font: 800 12px Inter, sans-serif;
  display: grid; place-items: center; box-shadow: 0 2px 6px rgba(0,0,0,.5); }
.pk-tbar { width: 100%; height: 4px; border-radius: 2px; background: rgba(255,255,255,.1); margin-top: 4px; overflow: hidden; }
.pk-tbar i { display: block; height: 100%; background: #5ff3ff; }

.pk-act { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.pk-raise { display: flex; flex-direction: column; gap: 6px; }
.pk-presets { display: flex; gap: 6px; }
.pk-presets .ghost { padding: 4px 9px; font-size: 12px; }
.pk-raiserow { display: flex; gap: 8px; align-items: center; }
.pk-raiserow input[type=range] { width: 180px; padding: 0; }
.pk-raiserow input[type=number] { width: 130px; }

.modal { position: fixed; inset: 0; background: rgba(0,0,0,.6); display: grid; place-items: center; z-index: 50; padding: 16px; }
.modal-card { width: 100%; max-width: 380px; background: var(--panel); border: 1px solid var(--line); border-radius: 16px; padding: 22px; }
.modal-card h3 { margin: 0 0 6px; }
.modal-card .pk-presets { margin-top: 8px; flex-wrap: wrap; }

@media (max-width: 1150px) {
  #tableView.pk-main { grid-template-columns: 1fr; }
  .pk-top, .pk-wrap, .pk-controls, .pk-log { grid-column: 1; }
  .pk-chat { grid-column: 1; grid-row: auto; position: static; height: 320px; min-height: 0; order: 10; margin-top: 14px; }
}

/* Chancen-Panel rechts */
.pk-odds { grid-column: 3; grid-row: 1 / span 4; position: sticky; top: 14px; }
.pk-odds h3 { margin: 0 0 10px; font-size: 13px; }
.odds-cards { display: flex; gap: 8px; justify-content: center; margin-bottom: 12px; }
.odds-cards .card { width: 64px; height: 92px; margin-left: 0; }
.odds-cards .card .r { font-size: 19px; } .odds-cards .card .s1 { top: 24px; font-size: 15px; } .odds-cards .card .s2 { font-size: 32px; }
.odds-now { text-align: center; margin-bottom: 12px; }
.odds-now b { display: inline-block; background: #c9a24a; color: #231400; padding: 3px 12px; border-radius: 10px; font-size: 14px; }
.odds-win { margin-bottom: 14px; }
.odds-win .lbl { display: flex; justify-content: space-between; font-size: 12.5px; margin-bottom: 4px; }
.odds-win .lbl b { white-space: nowrap; font-family: 'JetBrains Mono', monospace; font-size: 15px; }
.obar { height: 8px; border-radius: 4px; background: #1a202b; overflow: hidden; }
.obar i { display: block; height: 100%; border-radius: 4px; background: var(--green); transition: width .4s; }
.odds-sub { font-size: 11.5px; color: var(--muted); margin: 0 0 6px; text-transform: uppercase; letter-spacing: .06em; }
.odds-row { display: grid; grid-template-columns: 96px 1fr 44px; gap: 8px; align-items: center; font-size: 12.5px; padding: 3px 0; }
.odds-row .obar { height: 6px; } .odds-row .obar i { background: #5aa9ff; }
.odds-row .pct { text-align: right; font-family: 'JetBrains Mono', monospace; font-size: 12px; }
.odds-row.have { color: var(--amber); font-weight: 700; } .odds-row.have .obar i { background: var(--amber); }
.odds-row.zero { opacity: .35; }
.odds-empty { color: var(--muted); font-size: 13px; text-align: center; padding: 18px 4px; }
@media (max-width: 1450px) {
  #tableView.pk-main { grid-template-columns: 300px minmax(0, 1fr); }
  .pk-odds { grid-column: 2; grid-row: auto; position: static; margin-top: 14px; order: 5; }
}
