/* Isolated playing surface; home, lobby and the other games keep their theme. */
body:has(.poker-live) { background: #0b1118; padding: 0; color: #e9edf0; overflow: hidden; }
body:has(.poker-live) > .privacy-footer,
body:has(.poker-live) > .ad-preview { display: none; }
body:has(.poker-live) .modal { color: var(--ink); }
body:has(.poker-live) > .analytics-choice {
  --poker-consent-bottom: max(12px, env(safe-area-inset-bottom));
  --poker-consent-top: max(12px, env(safe-area-inset-top));
  position: fixed; z-index: 120; inset: auto 12px var(--poker-consent-bottom);
  width: min(42rem, calc(100% - 24px)); max-height: calc(100dvh - var(--poker-consent-bottom) - var(--poker-consent-top));
  margin: 0 auto; overflow-y: auto; overscroll-behavior: contain;
}
body:has(.poker-live) .app-shell { width: 100%; max-width: none; height: 100dvh; min-height: 0; padding: 0; overflow: hidden; }
.poker-live { --table-accent: #caff3d; display: flex; flex-direction: column; height: 100%; min-height: 0; padding: max(8px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left)); background: radial-gradient(ellipse at 50% 35%, #26343f, #0d141d 70%); }
.poker-live button { font: inherit; cursor: pointer; }
.poker-live button:disabled { cursor: default; opacity: .38; }
.poker-live button:focus-visible, .poker-live input:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.pt-header { display: flex; align-items: center; gap: 16px; flex: 0 0 40px; }
.pt-brand { display: flex; align-items: center; gap: 9px; text-decoration: none; color: #caff3d; font-weight: 950; font-size: 24px; }
.pt-brand span { font-size: 11px; letter-spacing: 2px; color: #e9edf0; }
.pt-room-label { color: #8ea1b0; font-size: 11px; letter-spacing: 1.4px; }
.pt-room-label span { color: #d5dce0; margin-left: 12px; }
.pt-dealer-info { display: block; line-height: 1; }
.pt-dealer-info button { display: block; max-width: 145px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; padding: 3px 0; font-size: 9px; color: #d5dce0; background: none; border: 0; }
.pt-header-actions { display: flex; margin-left: auto; align-items: center; gap: 7px; }
.pt-header-actions > button { background: #1b2732; color: #e9edf0; border: 1px solid #354552; border-radius: 10px; min-width: 40px; min-height: 36px; padding: 6px 11px; box-shadow: none; font-size: 12px; font-weight: 700; }
.pt-stage.poker-table { position: relative; width: min(100%, 1100px); flex: 1 1 auto; min-height: 156px; height: auto; margin: 2px auto 0; isolation: isolate; }
.pt-rail { position: absolute; inset: 10% 8%; border-radius: 48%; padding: 9px; background: linear-gradient(165deg, #62707b, #141e28 45%, #090e14 80%, #394b59); box-shadow: 0 12px 22px #0008, inset 0 1px 1px #8ca0af80; }
.pt-felt { position: relative; height: 100%; border: 1px solid #86ba9b50; border-radius: inherit; background: radial-gradient(ellipse at 50% 25%, #275f51, #123b32 85%); box-shadow: inset 0 0 40px #061e2280; }
.pt-felt::after { content: ""; position: absolute; inset: 9%; border: 1px solid #aac5b21c; border-radius: inherit; }
.pt-felt-brand { position: absolute; left: 50%; top: 34%; transform: translate(-50%,-50%); font-weight: 900; font-size: clamp(16px, 3vw, 32px); letter-spacing: 7px; color: #8db7a419; }
.pt-stage.round .pt-rail { inset-inline: 20%; }
.pt-seat { position: absolute; left: var(--seat-x); top: clamp(32px, var(--seat-y), calc(100% - 32px)); transform: translate(-50%, -50%); width: clamp(82px, 13vw, 132px); padding: 7px 10px; border: 1px solid #526171; border-radius: 12px; color: #edf2f4; background: linear-gradient(160deg, #293744, #121c27); box-shadow: 0 4px 10px #0007; text-align: center; z-index: 2; font-variant-numeric: tabular-nums; }
.pt-seat-title { display: flex; justify-content: center; align-items: center; gap: 5px; font-size: 11px; font-weight: 600; line-height: 1.2; }
.pt-seat-title > span { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.pt-seat > strong { display: block; font-size: clamp(16px, 2.6vw, 23px); line-height: 1.1; margin: 3px 0; }
.pt-seat > strong.pt-long-balance { font-size: 12px; white-space: nowrap; }
.pt-seat > small { display: block; font-size: 9px; line-height: 1.2; color: #b9c9d5; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pt-chip-dot { color: #caff3d; font-size: 12px; }
.pt-you { border-color: #a7ba8c; }
.pt-turn { border: 2px solid #caff3d; box-shadow: 0 0 0 3px #caff3d24, 0 4px 18px #0009; }
.pt-turn::before { content: "TURNO"; position: absolute; top: -10px; left: 50%; transform: translateX(-50%); padding: 2px 8px; background: #caff3d; color: #101b11; border-radius: 8px; font-size: 8px; font-weight: 900; letter-spacing: 1px; }
.pt-folded { opacity: .5; border-style: dashed; }
.pt-dealer { display: inline-grid; place-items: center; flex: 0 0 16px; height: 16px; border-radius: 50%; background: #ece8dd; color: #132018; font-size: 10px; }
.pt-contribution { position: absolute; bottom: -16px; left: 50%; transform: translateX(-50%); color: #e9d48f; font-size: 10px; white-space: nowrap; text-shadow: 0 1px 3px #000; }
.pt-pot { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); text-align: center; z-index: 1; max-width: 26%; font-variant-numeric: tabular-nums; }
.pt-pot > span { display: block; color: #bdd4c9; text-transform: uppercase; letter-spacing: 3px; font-size: 10px; }
.pt-pot > strong { display: block; font-size: clamp(24px, 4vw, 40px); font-weight: 800; line-height: 1.2; color: #f8fcf3; }
.pt-pot > strong.pt-long-pot { font-size: clamp(12px, 2vw, 20px); white-space: nowrap; }
.pt-pot > .pt-long-pot i { font-size: 10px; }
.pt-pot i { font-style: normal; color: #deca89; font-size: 16px; }
.pt-pot > small { display: block; font-size: clamp(8px, 1.2vw, 11px); color: #c6dbcc; }
.pt-pot > em { display: block; margin-top: 5px; font-size: 8px; letter-spacing: 2px; text-transform: uppercase; font-style: normal; color: #88a395; }
.pt-reserve-anchor { position: absolute; right: 0; bottom: 0; font-size: 10px; color: #b9c9d5; }
.pt-seat-pages { margin-left: auto; flex-shrink: 0; }
.pt-seat-pages button { font-size: 10px; border: 1px solid #526171; background: #18232e; color: white; border-radius: 6px; padding: 2px 5px; }
.pt-turn-status .pt-turn-jump { padding: 0; border: 0; background: none; color: inherit; letter-spacing: inherit; font-size: inherit; font-weight: inherit; min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.pt-last-event { flex: 0 0 20px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-align: center; font-size: 10px; color: #8fa3b1; padding-top: 4px; }
.pt-dock { flex: 0 0 auto; width: min(100%, 1100px); margin: 0 auto; border-top: 1px solid #71879830; padding-top: 6px; }
.pt-turn-status { display: flex; align-items: center; gap: 7px; min-height: 21px; color: #bccad4; letter-spacing: 1px; font-size: 10px; font-weight: 700; }
.pt-turn-status i { width: 6px; height: 6px; border-radius: 50%; background: #6d8190; }
.pt-your-turn, .pt-your-turn small { color: #caff3d; }
.pt-your-turn i { background: #caff3d; box-shadow: 0 0 8px #caff3d77; }
.pt-turn-status small { margin-left: auto; color: #c5d0d6; font-size: 10px; letter-spacing: 0; }
.pt-betting-row { display: grid; grid-template-columns: minmax(190px, .8fr) minmax(290px, 1.2fr); align-items: center; gap: 20px; }
.pt-raise-picker { min-width: 0; }
.pt-inactive { opacity: .55; }
.pt-raise-label { display: flex; align-items: center; justify-content: space-between; font-size: 10px; color: #a9bac7; }
.pt-raise-label output { color: #edf2f4; font-size: 13px; font-weight: 700; }
.pt-raise-label output small { font-weight: 400; color: #a9bac7; font-size: 10px; }
.pt-slider-row { display: flex; align-items: center; gap: 12px; height: 38px; }
.pt-slider-row > button { flex: 0 0 32px; height: 32px; background: #243341; color: white; border: 1px solid #476070; border-radius: 9px; font-size: 21px; }
#pt-raise-range { appearance: none; -webkit-appearance: none; min-width: 0; width: 100%; height: 32px; margin: 0; background: transparent; cursor: ew-resize; touch-action: pan-y; }
#pt-raise-range::-webkit-slider-runnable-track { background: #3e5864; border: 1px solid #6a817c; height: 5px; border-radius: 8px; }
#pt-raise-range::-moz-range-track { background: #3e5864; border: 1px solid #6a817c; height: 5px; border-radius: 8px; }
#pt-raise-range::-webkit-slider-thumb { appearance: none; -webkit-appearance: none; height: 25px; width: 29px; margin-top: -12px; background: repeating-conic-gradient(#d7f49a 0deg 18deg, #5a8837 18deg 36deg); border: 3px solid #d8efb4; border-radius: 50%; box-shadow: 0 3px 0 #50782e, 0 5px 0 #bddc8a, 0 7px 0 #436a27, 0 8px 5px #0008; }
#pt-raise-range::-moz-range-thumb { height: 25px; width: 29px; background: repeating-conic-gradient(#d7f49a 0deg 18deg, #5a8837 18deg 36deg); border: 3px solid #d8efb4; border-radius: 50%; box-shadow: 0 3px 0 #50782e, 0 5px 0 #bddc8a, 0 7px 0 #436a27; }
.pt-shortcuts { display: flex; gap: 5px; }
.pt-shortcuts button { flex: 1; padding: 4px 6px; min-height: 25px; background: #1c2a36; border: 1px solid #3d5262; color: #c8d4dc; border-radius: 7px; font-size: 10px; }
.pt-main-actions { display: grid; grid-template-columns: 1fr 1.1fr 1.2fr; gap: 9px; }
.pt-main-actions button { min-height: 67px; padding: 9px 7px; border: 1px solid #536575; border-radius: 12px; box-shadow: 0 4px 0 #05090e; }
.pt-main-actions span { display: block; font-size: clamp(12px, 1.8vw, 18px); font-weight: 800; white-space: nowrap; }
.pt-main-actions small { display: block; margin-top: 5px; font-size: 10px; opacity: .72; }
.pt-fold-action { background: #302b36; color: #e3c7d3; }
.pt-call-action { background: #254758; color: #ecf7ff; }
.pt-raise-action { background: #caff3d; color: #14220c; border-color: #dafa91 !important; }
.pt-main-actions button:not(:disabled):active { transform: translateY(2px); box-shadow: 0 2px 0 #05090e; }
.pt-between { display: flex; align-items: center; justify-content: space-between; min-height: 81px; gap: 15px; font-size: 13px; color: #b8c8d4; }
.pt-between button { background: #caff3d; color: #14220c; padding: 14px 22px; border: 0; border-radius: 12px; font-weight: 800; }
.pt-rotate-hint { display: none; }
.pt-sheet-backdrop { position: fixed; inset: 0; z-index: 35; background: #0009; display: flex; justify-content: flex-end; padding: max(10px, env(safe-area-inset-top)); }
.pt-sheet { width: min(470px, 100%); max-height: 100%; display: flex; flex-direction: column; border: 1px solid #526171; border-radius: 18px; background: var(--cream); color: var(--ink); box-shadow: 0 16px 60px #000a; }
.pt-sheet > header { display: flex; align-items: center; justify-content: space-between; padding: 12px 20px; border-bottom: 1px solid var(--line); }
.pt-sheet h2 { font-size: 19px; margin: 0; }
.pt-sheet > header button { width: 40px; height: 40px; border: 1px solid var(--line); border-radius: 12px; background: white; font-size: 25px; cursor: pointer; }
.pt-sheet-scroll { overflow-y: auto; overscroll-behavior: contain; padding: 0 20px 20px; }
.pt-sheet-scroll > p, .pt-sheet-scroll li { font-size: 12px; line-height: 1.6; }
body:has(.poker-live) .poker-flying-chip { background: #e4cf8f; color: #172114; border-color: #9b8647; box-shadow: 0 3px 0 #564a28; font-size: 11px; padding: 5px 9px; }
@media (orientation: portrait) {
  .poker-live { padding-inline: 10px; }
  .pt-brand span { display: none; }
  .pt-header { gap: 8px; }
  .pt-room-label span { margin-left: 3px; }
  .pt-betting-row { grid-template-columns: 1fr; gap: 12px; }
  .pt-main-actions button { min-height: 59px; }
  .pt-main-actions span { font-size: 13px; }
  .pt-rotate-hint { display: block; text-align: center; font-size: 10px; color: #8fa3b1; margin: 10px 0 0; }
  .pt-seat { padding: 7px 5px; }
  .pt-pot > strong { font-size: 24px; }
}
@media (orientation: landscape) and (max-height: 400px) {
  .poker-live { padding-top: max(4px, env(safe-area-inset-top)); padding-bottom: max(5px, env(safe-area-inset-bottom)); }
  .pt-header { flex-basis: 33px; }
  .pt-header-actions > button { min-height: 30px; padding-block: 3px; }
  .pt-seat { padding-block: 5px; }
  .pt-seat > strong { font-size: 18px; }
  .pt-pot > strong { font-size: 27px; }
  .pt-pot > em { display: none; }
  .pt-main-actions button { min-height: 61px; }
  .pt-betting-row { gap: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .pt-main-actions button:active { transform: none; }
  body:has(.poker-live) .modal, body:has(.poker-live) .modal-backdrop { animation: none; }
}
@media (orientation: landscape) and (max-height: 350px) {
  .pt-header-actions > .icon-button { height: 30px; width: 34px; }
  .pt-last-event { display: none; }
  .pt-slider-row { height: 33px; }
  .pt-stage.poker-table { min-height: 140px; }
  .pt-seat { top: clamp(26px, var(--seat-y), calc(100% - 26px)); padding: 3px 6px; }
  .pt-seat-title { font-size: 9px; }
  .pt-dealer { height: 12px; flex-basis: 12px; font-size: 8px; }
  .pt-seat > strong { font-size: 16px; margin: 2px 0; }
  .pt-seat > small { font-size: 8px; }
  .pt-pot > strong { font-size: 20px; }
  .pt-pot > span { font-size: 9px; }
  .pt-pot > small { font-size: 9px; }
  .pt-main-actions button { min-height: 53px; }
  .pt-turn-status { min-height: 18px; }
}
