/* Table safe zones: counters remain visible; portraits occupy separate drawers. */
.seat-drawer-toggle { display: none; }
:is(#home,[data-game-role="home"]).game-active {
  --seat-summary-width: 128px;
  --seat-right-offset: 112px;
  --seat-summary-height: 64px;
  --seat-drawer-size: 68px;
}
:is(#home,[data-game-role="home"]).game-active :is(#gamePlayers,[data-game-role="gamePlayers"])[data-seat-drawers] .game-seat {
  position: absolute !important;
  width: var(--seat-summary-width) !important;
  min-width: 0 !important; max-width: var(--seat-summary-width) !important;
  height: var(--seat-summary-height) !important; min-height: var(--seat-summary-height) !important;
  display: block !important; padding: 0 !important;
  border: 0 !important; border-radius: 0 !important;
  background: transparent !important; box-shadow: none !important;
  overflow: visible !important; pointer-events: none;
}
:is(#home,[data-game-role="home"]).game-active :is(#gamePlayers,[data-game-role="gamePlayers"])[data-seat-drawers] :is(.seat-left,.seat-top-left) {
  left: 8px !important; right: auto !important; top: 34% !important; bottom: auto !important;
  transform: translateY(-50%) !important;
}
:is(#home,[data-game-role="home"]).game-active :is(#gameArena,[data-game-role="gameArena"])[data-player-count] :is(#gamePlayers,[data-game-role="gamePlayers"])[data-seat-drawers] :is(.seat-right,.seat-top-right) {
  right: 8px !important; left: auto !important; top: calc(var(--table-trump-height) + var(--seat-right-offset)) !important; bottom: auto !important;
  transform: translateY(-50%) !important;
}
:is(#home,[data-game-role="home"]).game-active :is(#gamePlayers,[data-game-role="gamePlayers"])[data-seat-drawers] .seat-top {
  top: 8px !important; left: 50% !important; right: auto !important; bottom: auto !important;
  transform: translateX(-50%) !important;
}
:is(#home,[data-game-role="home"]).game-active :is(#gamePlayers,[data-game-role="gamePlayers"])[data-seat-drawers] .seat-bottom {
  left: 8px !important; right: auto !important; top: auto !important; bottom: 8px !important;
  transform: none !important;
}
:is(#home,[data-game-role="home"]).game-active [data-seat-drawers] .seat-summary {
  position: absolute; inset: 0 44px 0 0;
  box-sizing: border-box; border: 1px solid #b59a57; border-radius: 10px;
  background: linear-gradient(155deg,#142d23f5,#060e0bf5); color: #f7e8bc;
}
:is(#home,[data-game-role="home"]).game-active [data-seat-drawers] .active .seat-summary {
  border-color: var(--turn-color,#65e895); box-shadow: 0 0 8px #31c36b70;
}
:is(#home,[data-game-role="home"]).game-active [data-seat-drawers] .active .seat-summary::after {
  content: ''; position: absolute; left: 3px; bottom: 1px; height: 2px;
  width: calc((100% - 6px) * var(--turn-progress,1)); background: var(--turn-color,#65e895); border-radius: 2px;
}
:is(#home,[data-game-role="home"]).game-active :is(#gamePlayers,[data-game-role="gamePlayers"])[data-seat-drawers] .seat-name {
  position: absolute !important; left: 0 !important; right: 0 !important; top: 0 !important; bottom: auto !important;
  width: 100% !important; height: 20px !important; min-height: 20px !important;
  margin: 0 !important; padding: 3px 16px 2px 4px !important;
  border: 0 !important; border-radius: 9px 9px 0 0 !important;
  background: transparent !important; box-shadow: none !important;
  font: 700 10px/14px Arial,sans-serif !important; text-align: left !important;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; pointer-events: auto;
}
:is(#home,[data-game-role="home"]).game-active :is(#gamePlayers,[data-game-role="gamePlayers"])[data-seat-drawers] .seat-metrics {
  position: absolute !important; left: 2px !important; right: 2px !important; top: 21px !important; bottom: 3px !important;
  width: auto !important; height: auto !important; margin: 0 !important;
  display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 2px !important;
}
:is(#home,[data-game-role="home"]).game-active :is(#gamePlayers,[data-game-role="gamePlayers"])[data-seat-drawers] .seat-metric {
  height: 38px !important; min-width: 0 !important; padding: 2px !important;
  display: flex !important; flex-direction: column; justify-content: center !important; gap: 2px !important;
  border: 0 !important; border-radius: 5px !important; box-shadow: none !important;
}
:is(#home,[data-game-role="home"]).game-active :is(#gamePlayers,[data-game-role="gamePlayers"])[data-seat-drawers] .seat-metric small {
  font: 8px/10px Arial,sans-serif !important; color: #d5ddcf; white-space: nowrap; letter-spacing: 0;
}
:is(#home,[data-game-role="home"]).game-active :is(#gamePlayers,[data-game-role="gamePlayers"])[data-seat-drawers] .seat-metric b {
  font: 700 16px/18px Arial,sans-serif !important; color: #fff1c4;
}
:is(#home,[data-game-role="home"]).game-active :is(#gamePlayers,[data-game-role="gamePlayers"])[data-seat-drawers] .seat-drawer-toggle {
  position: absolute; right: 0; top: 10px; z-index: 5;
  display: grid; place-items: center; pointer-events: auto;
  width: 44px; min-width: 44px; height: 44px; min-height: 44px;
  margin: 0; padding: 0; border: 1px solid #b59a57; border-radius: 10px;
  background: #0b2119; color: #ffe5a3; box-shadow: none; font: 28px/1 Arial,sans-serif;
}
.seat-drawer-chevron { display: block; transition: transform 160ms ease-out; }
:is(#home,[data-game-role="home"]).game-active [data-seat-drawers] .seat-drawer {
  position: absolute; left: calc(100% + 4px); top: -2px;
  width: var(--seat-drawer-size); height: var(--seat-drawer-size);
  opacity: 0; visibility: hidden; pointer-events: none;
  transform: translateX(calc(-100% - var(--seat-summary-width)));
  transition: transform 180ms ease-out,opacity 140ms ease-out,visibility 180ms;
}
:is(#home,[data-game-role="home"]).game-active :is(#gamePlayers,[data-game-role="gamePlayers"])[data-seat-drawers] .seat-drawer .seat-avatar {
  position: absolute !important; left: 2px !important; top: 2px !important;
  width: calc(var(--seat-drawer-size) - 4px) !important; height: calc(var(--seat-drawer-size) - 4px) !important;
  transform: none !important; pointer-events: auto;
}
:is(#home,[data-game-role="home"]).game-active [data-seat-drawers] :is(.seat-right,.seat-top-right) .seat-summary { inset: 0 0 0 44px; }
:is(#home,[data-game-role="home"]).game-active [data-seat-drawers] :is(.seat-right,.seat-top-right) .seat-drawer-toggle { left: 0; right: auto; }
:is(#home,[data-game-role="home"]).game-active [data-seat-drawers] :is(.seat-right,.seat-top-right) .seat-drawer { left: auto; right: calc(100% + 4px); top: auto; bottom: calc(100% + 4px); transform: translateX(calc(100% + var(--seat-summary-width))); }
:is(#home,[data-game-role="home"]).game-active [data-seat-drawers] :is(.seat-right,.seat-top-right) .seat-drawer-chevron { transform: rotate(180deg); }
:is(#home,[data-game-role="home"]).game-active [data-seat-drawers] .seat-top .seat-drawer { transform: translateY(-100px); }
:is(#home,[data-game-role="home"]).game-active [data-seat-drawers] .seat-bottom .seat-drawer { left: 0; top: auto; bottom: calc(100% + 4px); transform: translateY(160px); }
:is(#home,[data-game-role="home"]).game-active [data-seat-drawers] .seat-bottom .seat-drawer-chevron { transform: rotate(-90deg); }
:is(#home,[data-game-role="home"]).game-active [data-seat-drawers] [data-seat-open="true"] .seat-drawer { opacity: 1; visibility: visible; pointer-events: auto; transform: none; }
:is(#home,[data-game-role="home"]).game-active [data-seat-drawers] [data-seat-open="true"] .seat-drawer-chevron { transform: rotate(180deg); }
:is(#home,[data-game-role="home"]).game-active [data-seat-drawers] :is(.seat-right,.seat-top-right)[data-seat-open="true"] .seat-drawer-chevron { transform: none; }
:is(#home,[data-game-role="home"]).game-active [data-seat-drawers] .seat-bottom[data-seat-open="true"] .seat-drawer-chevron { transform: rotate(90deg); }
:is(#home,[data-game-role="home"]).game-active :is(#gamePlayers,[data-game-role="gamePlayers"])[data-seat-drawers] .seat-bot-badge {
  top: 2px !important; left: 2px !important; width: 28px !important; height: 14px !important;
  border-radius: 3px; font: 8px/1 Arial,sans-serif !important;
}
:is(#home,[data-game-role="home"]).game-active :is(#gamePlayers,[data-game-role="gamePlayers"])[data-seat-drawers] [data-bot-owner="true"] .seat-name { padding-left: 32px !important; }
:is(#home,[data-game-role="home"]).game-active :is(#gamePlayers,[data-game-role="gamePlayers"])[data-seat-drawers] .game-seat .seat-summary .dealer-chip {
  top: 2px !important; left: auto !important; right: 1px !important; width: 14px; height: 14px;
  min-width: 0; padding: 0; font: 8px/14px Arial,sans-serif;
}
:is(#home,[data-game-role="home"]).game-active .hand-panel { left: calc(var(--seat-summary-width) + 16px) !important; right: calc(var(--seat-summary-width) + 16px) !important; }
:is(#home,[data-game-role="home"]).game-active .hand { gap: 0 !important; }
:is(#home,[data-game-role="home"]).game-active .hand .card + .card { margin-left: var(--hand-overlap,0px) !important; }
:is(#home,[data-game-role="home"]).game-active :is(#bidBalanceIndicator,[data-game-role="bidBalanceIndicator"]) {
  left: 64px !important; right: auto !important; top: 8px !important; bottom: auto !important;
  width: 140px !important; height: 36px !important; min-height: 36px !important;
  box-sizing: border-box; padding: 3px 5px !important; transform: none !important;
  display: grid; grid-template-columns: minmax(0,1fr) auto auto !important; grid-template-rows: 28px !important;
  gap: 4px !important; border-radius: 9px !important;
}
:is(#home,[data-game-role="home"]).game-active :is(#bidBalanceIndicator,[data-game-role="bidBalanceIndicator"]) > span { grid-column: auto; font: 700 12px/28px Arial,sans-serif !important; letter-spacing: 0; }
:is(#home,[data-game-role="home"]).game-active :is(#bidBalanceIndicator,[data-game-role="bidBalanceIndicator"]) > strong { font: 700 22px/28px Arial,sans-serif !important; }
:is(#home,[data-game-role="home"]).game-active :is(#bidBalanceIndicator,[data-game-role="bidBalanceIndicator"]) > small { font: 10px/12px Arial,sans-serif !important; align-self: center; }
.policy-hide-showPlayerAvatars .seat-drawer-toggle { display: none !important; }
@media (min-width:1000px) and (min-height:650px) {
  :is(#home,[data-game-role="home"]).game-active { --seat-summary-width: 152px; --seat-right-offset: 124px; --seat-summary-height: 70px; --seat-drawer-size: 84px; }
}
@media (prefers-reduced-motion:reduce) { .seat-drawer,.seat-drawer-chevron { transition: none !important; } }

/* Top-layer reactions remain above the hand, flights, portraits and table panels. */
[data-reaction-layer] .seat-emoji-reaction { visibility: hidden !important; }
.table-reaction-layer {
  position: fixed !important; inset: 0 !important; width: 100vw !important; height: 100dvh !important;
  max-width: none !important; max-height: none !important; margin: 0 !important; padding: 0 !important;
  border: 0 !important; background: transparent !important; overflow: visible !important;
  z-index: 2147483647 !important; pointer-events: none !important;
}
.table-reaction-layer::backdrop { background: transparent; pointer-events: none; }
.table-reaction-float {
  position: absolute; display: block; pointer-events: none !important;
  filter: drop-shadow(0 9px 12px #0009);
  animation: seatEmojiReaction 3s ease-out var(--reaction-delay,0ms) both;
}
.table-reaction-float img { width: 100%; height: 100%; display: block; object-fit: contain; }
.table-reaction-layer:is([data-event-effects="OFF"],[data-event-effects="REDUCED"]) .table-reaction-float { animation: none; }
@media (prefers-reduced-motion:reduce) { .table-reaction-float { animation: none; } }

/* Keep the automatic bid/trump notice in the free strip below the top counter. */
@media (orientation:landscape) and (max-height:550px) {
 #tutorialCoach:is([data-kind=bid],[data-kind=trump]) { width:min(420px,calc(100vw - 288px)); padding:5px 8px; gap:0; grid-template-columns:minmax(0,1fr); }
 #tutorialCoach:is([data-kind=bid],[data-kind=trump]) > img { display:none; }
 #tutorialCoach:is([data-kind=bid],[data-kind=trump]) > div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:2px 5px; max-height:none; }
 #tutorialCoach:is([data-kind=bid],[data-kind=trump]) #tutorialCoachStep { grid-column:2; grid-row:1; font:8px/12px Arial,sans-serif; white-space:nowrap; }
 #tutorialCoach:is([data-kind=bid],[data-kind=trump]) #tutorialCoachTitle { grid-column:1; grid-row:1; margin:0; font:700 10px/12px Arial,sans-serif; }
 #tutorialCoach:is([data-kind=bid],[data-kind=trump]) #tutorialCoachText { grid-column:1/-1; grid-row:2; margin:0; font:10px/12px Arial,sans-serif; }
}
@media (orientation:landscape) and (min-height:300px) and (max-height:340px) {
 .tutorial-dialog [data-game-role=bidPanel].action-required { top:calc(50% + 10px) !important; }
}

/* Bid choices share the central safe zone with the hand; edge arrows stay free. */
:is(#home,[data-game-role="home"]).game-active .bid-panel.action-required { max-width:calc(100vw - 2 * var(--seat-summary-width) - 32px) !important; }
:is(#home,[data-game-role="home"]).game-active .bidgrid { --seat-bid-column:clamp(44px,calc((100vw - 2 * var(--seat-summary-width) - 78px) / 5),56px); grid-template-columns:repeat(5,var(--seat-bid-column)) !important; }
:is(#home,[data-game-role="home"]).game-active .bidgrid:has(button:nth-child(2):last-child) { grid-template-columns:repeat(2,var(--seat-bid-column)) !important; }
:is(#home,[data-game-role="home"]).game-active .bidgrid:has(button:nth-child(3):last-child) { grid-template-columns:repeat(3,var(--seat-bid-column)) !important; }
:is(#home,[data-game-role="home"]).game-active .bidgrid:has(button:nth-child(4):last-child) { grid-template-columns:repeat(4,var(--seat-bid-column)) !important; }
:is(#home,[data-game-role="home"]).game-active .bidgrid:has(button:nth-child(5):last-child) { grid-template-columns:repeat(5,var(--seat-bid-column)) !important; }

/* Completed matches remain available until the player explicitly returns. */
#matchResultOverlay, #matchResultOverlay .match-result-document { cursor:default; }
#matchResultOverlay { padding:7px; overflow:hidden; }
#matchResultOverlay .match-result-footer { justify-content:space-between; gap:12px; min-height:44px; }
#matchResultOverlay .match-result-exit-copy { animation:none; text-align:left; }
#closeMatchResults { flex:0 0 auto; min-width:120px; min-height:44px; padding:8px 16px; font:700 14px/1.2 Arial,sans-serif; }
@media (max-height:620px) and (orientation:landscape) {
 #matchResultOverlay .match-result-document { min-height:0; max-height:calc(100dvh - 14px); }
}
