:root {
  --gold: #f6c85f;
  --danger: #ff5e62;
  --info: #67d7ff;
  --panel: rgba(4, 16, 13, .72);
  --panel-strong: rgba(4, 16, 13, .88);
  --stroke: rgba(255, 255, 255, .12);
  --seat-w: clamp(148px, 16vw, 255px);
  --card-w: clamp(42px, 4.8vw, 64px);
  --card-h: calc(var(--card-w) * 1.42);
}

* { box-sizing: border-box; }

html, body {
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  margin: 0;
}

body {
  width: 100vw;
  min-height: 100vh;
  min-height: 100dvh;
  overflow: hidden;
  color: #f4fff9;
  background: #07130f;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

button, input { font: inherit; }
button:disabled { opacity: .48; cursor: not-allowed; }

.game-root {
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  overflow: hidden;
  background:
    radial-gradient(circle at top left, rgba(46, 204, 113, .22), transparent 32rem),
    radial-gradient(circle at bottom right, rgba(52, 152, 219, .16), transparent 30rem),
    #06100d;
}

.table-stage {
  position: relative;
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  overflow: hidden;
  isolation: isolate;
}

.table-stage::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -3;
  background:
    radial-gradient(circle at 20% 20%, rgba(43, 152, 105, .22), transparent 34rem),
    radial-gradient(circle at 78% 72%, rgba(23, 83, 128, .18), transparent 32rem),
    linear-gradient(120deg, rgba(3, 13, 10, .95), rgba(2, 6, 6, .98));
  background-size: cover;
  background-position: center;
}

.table-stage::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background: radial-gradient(ellipse at center, transparent 28%, rgba(0,0,0,.36) 76%, rgba(0,0,0,.76) 100%);
  pointer-events: none;
}

.table-skin-neon {
  --gold: #72f5ff;
}

.table-skin-royal {
  --gold: #ffd56f;
}

.table-skin-forest {
  --gold: #f6c85f;
}

.glass-panel,
.glass-seat {
  background: linear-gradient(145deg, rgba(13, 32, 27, .78), rgba(6, 16, 14, .72));
  border: 1px solid var(--stroke);
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, .3);
  backdrop-filter: blur(16px);
}

.top-hud {
  position: absolute;
  left: 50%;
  top: max(10px, env(safe-area-inset-top));
  transform: translateX(-50%);
  z-index: 40;
  width: min(900px, calc(100vw - 24px));
  min-height: 0;
  border-radius: 999px;
  padding: .5rem .65rem;
  display: grid;
  grid-template-columns: minmax(170px, .9fr) minmax(330px, 1.25fr) auto;
  gap: .55rem;
  align-items: center;
}
.brand-lockup {
  display: flex;
  gap: .8rem;
  align-items: center;
  min-width: 0;
}

.brand-logo,
.ui-icon {
  object-fit: contain;
  flex: 0 0 auto;
}

.brand-logo {
  border-radius: .85rem;
  box-shadow: 0 0 28px rgba(19, 194, 123, .34);
}

.brand-title {
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: .01em;
  white-space: nowrap;
}

.brand-subtitle {
  color: rgba(255,255,255,.58);
  font-size: .72rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.hud-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .35rem;
}

.hud-stats > div {
  min-width: 0;
  border-radius: 999px;
  padding: .34rem .55rem;
  background: rgba(255,255,255,.055);
  border: 1px solid rgba(255,255,255,.075);
}

.hud-stats span {
  display: block;
  color: rgba(255,255,255,.52);
  font-size: .7rem;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.hud-stats strong {
  display: block;
  font-size: clamp(.9rem, 1.3vw, 1.1rem);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.hud-actions,
.primary-actions,
.report-box,
.panel-dock {
  display: flex;
  align-items: center;
  gap: .45rem;
}

.hud-btn,
.panel-dock button,
.action-btn,
.report-box button,
.shop-actions button {
  border: 1px solid rgba(255,255,255,.14);
  color: #f4fff9;
  background: rgba(255,255,255,.07);
  border-radius: .9rem;
  padding: .52rem .68rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .42rem;
  min-height: 40px;
  font-weight: 800;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}

.hud-btn:hover,
.panel-dock button:hover,
.action-btn:hover,
.report-box button:hover,
.shop-actions button:hover {
  background: rgba(255,255,255,.12);
}

.hud-btn-primary {
  background: linear-gradient(135deg, rgba(29, 193, 123, .95), rgba(25, 128, 205, .88));
  border-color: rgba(113, 232, 176, .42);
}

.hud-btn.icon-only {
  width: 40px;
  padding: .52rem;
  border-radius: 999px;
}

.ui-icon {
  width: 1.15rem;
  height: 1.15rem;
}

.panel-dock {
  position: absolute;
  right: max(12px, env(safe-area-inset-right));
  top: 50%;
  transform: translateY(-50%);
  z-index: 38;
  border-radius: 999px;
  padding: .35rem;
  flex-direction: column;
  align-items: stretch;
}

.panel-dock button {
  min-width: 116px;
  justify-content: flex-start;
  border-radius: 999px;
}

.panel-dock button.active {
  background: rgba(113, 232, 176, .2);
  border-color: rgba(113, 232, 176, .42);
}


.notice-stack {
  position: absolute;
  left: 50%;
  top: calc(max(10px, env(safe-area-inset-top)) + 66px);
  transform: translateX(-50%);
  width: min(680px, calc(100vw - 24px));
  z-index: 55;
  display: grid;
  gap: .55rem;
  pointer-events: none;
}

.game-alert {
  pointer-events: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .8rem;
  border-radius: 1rem;
  padding: .75rem .9rem;
  backdrop-filter: blur(14px);
  box-shadow: 0 .8rem 2rem rgba(0,0,0,.35);
  border: 1px solid rgba(255,255,255,.12);
}

.game-alert-info { background: rgba(20, 95, 122, .82); }
.game-alert-danger { background: rgba(122, 22, 34, .84); }
.game-alert button,
.panel-close {
  width: 30px;
  height: 30px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(0,0,0,.18);
  color: #fff;
  line-height: 1;
}

.action-feed,
.table-log-peek {
  position: absolute;
  left: max(12px, env(safe-area-inset-left));
  width: min(330px, 28vw);
  z-index: 30;
  border-radius: 1rem;
  padding: .72rem;
}

.action-feed {
  top: calc(max(10px, env(safe-area-inset-top)) + 74px);
}

.table-log-peek {
  bottom: calc(max(10px, env(safe-area-inset-bottom)) + 86px);
}

.feed-title {
  color: #71e8b0;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: .72rem;
  font-weight: 900;
  margin-bottom: .35rem;
}

.feed-empty,
.feed-line,
.log-peek-line {
  font-size: .82rem;
  color: rgba(255,255,255,.72);
}

.feed-line {
  display: grid;
  grid-template-columns: minmax(70px, .8fr) minmax(70px, 1fr) auto;
  align-items: center;
  gap: .4rem;
  padding: .36rem .18rem;
  border-top: 1px solid rgba(255,255,255,.07);
  border-left: 3px solid rgba(255,255,255,.12);
}

.feed-line.tone-blind { border-left-color: rgba(246, 200, 95, .95); }
.feed-line.tone-bet { border-left-color: rgba(255, 160, 87, .95); }
.feed-line.tone-call,
.feed-line.tone-check { border-left-color: rgba(103, 215, 255, .95); }
.feed-line.tone-fold { border-left-color: rgba(180, 188, 198, .9); }
.feed-line.tone-showdown { border-left-color: rgba(190, 150, 255, .95); }
.feed-line.tone-win { border-left-color: rgba(113, 232, 176, .95); }

.feed-seat,
.feed-action,
.feed-time,
.log-peek-line {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.feed-seat {
  color: #fff;
  font-weight: 850;
}

.feed-action {
  color: rgba(255,255,255,.86);
  font-weight: 800;
}

.feed-time {
  color: rgba(255,255,255,.46);
  font-size: .72rem;
  font-variant-numeric: tabular-nums;
}

.log-peek-line {
  padding: .32rem 0;
  border-top: 1px solid rgba(255,255,255,.07);
}

.poker-table-wrap {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  z-index: 10;
}

.poker-table {
  position: relative;
  width: calc(100vw - max(14px, env(safe-area-inset-left)) - max(14px, env(safe-area-inset-right)));
  height: calc(100vh - max(14px, env(safe-area-inset-top)) - max(14px, env(safe-area-inset-bottom)));
  height: calc(100dvh - max(14px, env(safe-area-inset-top)) - max(14px, env(safe-area-inset-bottom)));
  overflow: hidden;
}

.poker-table-art {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: fill;
  pointer-events: none;
  user-select: none;
}

.table-overlay-layer {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
}

.community-zone {
  position: absolute;
  left: 50%;
  top: 48%;
  transform: translate(-50%, -50%);
  display: grid;
  justify-items: center;
  gap: .66rem;
  z-index: 7;
  min-width: min(520px, 62vw);
}

.zone-label {
  color: rgba(255,255,255,.6);
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: .74rem;
  font-weight: 900;
}

.cards-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(.28rem, .8vw, .58rem);
}

.playing-card {
  width: var(--card-w);
  height: var(--card-h);
  border-radius: .62rem;
  border: 1px solid rgba(0,0,0,.35);
  background: linear-gradient(145deg, #fff, #e5e9f0);
  color: #111813;
  box-shadow: 0 .6rem 1.4rem rgba(0,0,0,.34);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: .45rem;
  font-weight: 900;
  line-height: 1;
  user-select: none;
  overflow: hidden;
}

.playing-card.small {
  width: clamp(31px, 3.25vw, 42px);
  height: clamp(44px, 4.7vw, 60px);
  border-radius: .45rem;
  font-size: .74rem;
  padding: .32rem;
}

.playing-card.red { color: #c72534; }

.playing-card.back,
.playing-card.muted {
  padding: 0;
  border-color: rgba(255,255,255,.22);
  background: #24344a;
}

.card-back-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.playing-card .suit {
  font-size: 1.25em;
  align-self: flex-end;
}

.pot-stack {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  background: rgba(10, 12, 10, .48);
  color: #ffe6a0;
  border: 1px solid rgba(246, 200, 95, .36);
  border-radius: 999px;
  padding: .38rem .85rem .38rem .45rem;
  font-weight: 900;
  box-shadow: 0 .8rem 1.5rem rgba(0,0,0,.3);
  transition: transform .2s ease, box-shadow .2s ease;
}

.pot-stack span {
  display: block;
  color: rgba(255,255,255,.56);
  font-size: .68rem;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.pot-stack strong {
  display: block;
  line-height: 1;
  font-size: clamp(1.05rem, 1.8vw, 1.45rem);
}

.pot-stack.pulse {
  animation: potPulse .5s ease;
}

@keyframes potPulse {
  0% { transform: scale(1); box-shadow: 0 .8rem 1.5rem rgba(0,0,0,.3); }
  45% { transform: scale(1.11); box-shadow: 0 0 2rem rgba(246,200,95,.55); }
  100% { transform: scale(1); box-shadow: 0 .8rem 1.5rem rgba(0,0,0,.3); }
}

.chip-img {
  width: 34px;
  height: 34px;
  object-fit: contain;
  filter: drop-shadow(0 .3rem .42rem rgba(0,0,0,.4));
}

.chip-img-lg {
  width: clamp(42px, 4.8vw, 58px);
  height: clamp(42px, 4.8vw, 58px);
}

.winner-strip {
  max-width: min(460px, 70vw);
  display: grid;
  gap: .25rem;
  color: #fff6d1;
  font-weight: 800;
  text-align: center;
  font-size: .86rem;
}

.seat-card {
  --badge: rgba(113, 232, 176, .82);
  position: absolute;
  width: var(--seat-w);
  z-index: 12;
  border-radius: 1.1rem;
  padding: .65rem;
  transition: opacity .2s ease, transform .2s ease, border-color .2s ease;
}

.seat-card.hero {
  border-color: rgba(113, 232, 176, .5);
  background: linear-gradient(145deg, rgba(3, 45, 30, .86), rgba(4, 17, 15, .78));
}

.seat-card.folded { opacity: .58; }
.seat-card.active { box-shadow: 0 0 0 3px rgba(246, 200, 95, .58), 0 1rem 3rem rgba(0,0,0,.32); }
.seat-card.tone-action { --badge: rgba(255, 255, 255, .88); }
.seat-card.tone-fold { --badge: rgba(180, 188, 198, .88); }
.seat-card.tone-call, .seat-card.tone-check { --badge: rgba(103, 215, 255, .92); }
.seat-card.tone-bet { --badge: rgba(255, 160, 87, .96); }
.seat-card.tone-blind { --badge: rgba(246, 200, 95, .95); }
.seat-card.tone-win { --badge: rgba(113, 232, 176, .95); }
.seat-card.tone-showdown { --badge: rgba(174, 129, 255, .95); }

.seat-pos-0 { left: 50%; bottom: 15%; transform: translateX(-50%); }
.seat-pos-1 { left: 6.5%; bottom: 25%; }
.seat-pos-2 { left: 6.5%; top: 19%; }
.seat-pos-3 { left: 50%; top: 12.5%; transform: translateX(-50%); }
.seat-pos-4 { right: 6.5%; top: 19%; }
.seat-pos-5 { right: 6.5%; bottom: 25%; }

.action-bubble {
  position: absolute;
  left: 50%;
  top: -1.25rem;
  transform: translate(-50%, -50%);
  min-width: min(150px, 98%);
  max-width: 108%;
  z-index: 5;
  border-radius: 1rem 1rem 1rem .28rem;
  padding: .4rem .68rem;
  color: #08110d;
  background: var(--badge);
  border: 1px solid rgba(255,255,255,.38);
  font-size: .76rem;
  font-weight: 950;
  box-shadow: 0 .72rem 1.45rem rgba(0,0,0,.36);
  animation: bubblePop .34s cubic-bezier(.18, .8, .24, 1.25);
}

.action-bubble::after {
  content: "";
  position: absolute;
  left: 1rem;
  bottom: -.36rem;
  width: .72rem;
  height: .72rem;
  background: inherit;
  border-right: 1px solid rgba(255,255,255,.3);
  border-bottom: 1px solid rgba(255,255,255,.3);
  transform: rotate(45deg);
}

.action-bubble-kicker,
.action-bubble small {
  display: block;
  font-size: .56rem;
  line-height: 1;
  letter-spacing: .075em;
  text-transform: uppercase;
  opacity: .64;
}

.action-bubble strong {
  display: block;
  margin-top: .12rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.action-bubble small {
  margin-top: .18rem;
  font-variant-numeric: tabular-nums;
}

.action-bubble.tone-action { background: rgba(255, 255, 255, .92); }
.action-bubble.tone-fold { background: rgba(180, 188, 198, .94); }
.action-bubble.tone-call, .action-bubble.tone-check { background: rgba(103, 215, 255, .94); }
.action-bubble.tone-bet { background: rgba(255, 160, 87, .96); }
.action-bubble.tone-blind { background: rgba(246, 200, 95, .96); }
.action-bubble.tone-win { background: rgba(113, 232, 176, .96); }
.action-bubble.tone-showdown { background: rgba(190, 150, 255, .96); }

@keyframes bubblePop {
  0% { transform: translate(-50%, -36%) scale(.8); opacity: 0; }
  100% { transform: translate(-50%, -50%) scale(1); opacity: 1; }
}

.seat-topline {
  display: flex;
  align-items: center;
  gap: .58rem;
  min-width: 0;
}

.avatar-img {
  width: clamp(38px, 4.8vw, 54px);
  height: clamp(38px, 4.8vw, 54px);
  border-radius: .95rem;
  object-fit: cover;
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: 0 .5rem .9rem rgba(0,0,0,.25);
}

.seat-name-wrap { min-width: 0; flex: 1 1 auto; }
.seat-name { font-weight: 900; line-height: 1.1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.seat-meta { color: rgba(255,255,255,.54); font-size: .72rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bot-persona-hint { margin-top: .12rem; color: rgba(255, 232, 176, .78); font-size: .66rem; font-weight: 800; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.turn-dot { width: .75rem; height: .75rem; border-radius: 999px; background: var(--gold); box-shadow: 0 0 1rem var(--gold); flex: 0 0 auto; }

.seat-cards {
  justify-content: flex-start;
  margin-top: .5rem;
}

.seat-numbers {
  display: flex;
  justify-content: space-between;
  gap: .5rem;
  margin-top: .5rem;
  font-size: .78rem;
  color: rgba(255,255,255,.68);
}

.seat-numbers strong { color: #fff; }

.seat-chip-stack {
  position: absolute;
  right: .5rem;
  bottom: -.9rem;
  display: inline-flex;
  align-items: center;
  gap: .25rem;
  border-radius: 999px;
  padding: .12rem .5rem .12rem .12rem;
  background: rgba(8, 10, 9, .78);
  border: 1px solid rgba(246, 200, 95, .32);
  color: #ffe6a0;
  font-size: .76rem;
  font-weight: 900;
}

.chip-flight-layer {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 24;
}

.chip-flight {
  --sx: 50%;
  --sy: 50%;
  position: absolute;
  left: var(--sx);
  top: var(--sy);
  display: inline-flex;
  align-items: center;
  gap: .22rem;
  border-radius: 999px;
  padding: .18rem .5rem .18rem .12rem;
  background: rgba(0,0,0,.58);
  border: 1px solid rgba(246, 200, 95, .34);
  color: #ffe6a0;
  font-weight: 950;
  transform: translate(-50%, -50%);
  animation: flyToPot 1.05s cubic-bezier(.2, .72, .18, 1) forwards;
}

.chip-flight.seat-0 { --sx: 50%; --sy: 76%; }
.chip-flight.seat-1 { --sx: 18%; --sy: 68%; }
.chip-flight.seat-2 { --sx: 18%; --sy: 31%; }
.chip-flight.seat-3 { --sx: 50%; --sy: 21%; }
.chip-flight.seat-4 { --sx: 82%; --sy: 31%; }
.chip-flight.seat-5 { --sx: 82%; --sy: 68%; }

@keyframes flyToPot {
  0% { left: var(--sx); top: var(--sy); opacity: 0; transform: translate(-50%, -50%) scale(.75); }
  12% { opacity: 1; }
  82% { opacity: 1; }
  100% { left: 50%; top: 50%; opacity: 0; transform: translate(-50%, -50%) scale(1.1); }
}

.bottom-action-bar {
  position: absolute;
  left: 50%;
  bottom: max(10px, env(safe-area-inset-bottom));
  transform: translateX(-50%);
  z-index: 42;
  width: min(1160px, calc(100vw - 24px));
  border-radius: 1.3rem;
  padding: .58rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 350px);
  gap: .58rem;
}
.primary-actions {
  overflow-x: auto;
  padding-bottom: .1rem;
}

.action-btn {
  flex: 1 0 auto;
  min-width: 106px;
  min-height: 48px;
}

.action-btn.new-hand { background: linear-gradient(135deg, rgba(29, 193, 123, .9), rgba(25, 128, 205, .78)); }
.action-btn.reset-demo { background: rgba(255,255,255,.1); }
.action-btn.fold { background: rgba(176, 73, 86, .44); }
.action-btn.call { background: rgba(49, 129, 210, .48); }
.action-btn.bet-small { background: rgba(246, 200, 95, .28); color: #fff4cd; }
.action-btn.bet-big { background: rgba(226, 72, 88, .55); }
.action-btn.bet-custom { background: rgba(246, 200, 95, .34); color: #fff4cd; }


.custom-bet-control {
  flex: 1 0 250px;
  min-height: 48px;
  display: grid;
  grid-template-columns: auto minmax(86px, 1fr) auto;
  align-items: center;
  gap: .4rem;
  border-radius: 1rem;
  padding: .28rem;
  background: rgba(0,0,0,.22);
  border: 1px solid rgba(255,255,255,.12);
}

.custom-bet-control label {
  padding-left: .55rem;
  color: rgba(255,255,255,.72);
  font-size: .78rem;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.custom-bet-control input {
  min-width: 0;
  height: 38px;
  border-radius: .75rem;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,.34);
  color: #fff;
  padding: .45rem .6rem;
  font-weight: 900;
  outline: none;
}

.custom-bet-control input:focus {
  border-color: rgba(246,200,95,.62);
  box-shadow: 0 0 0 .16rem rgba(246,200,95,.12);
}

.custom-bet-control.disabled {
  opacity: .58;
}

.report-box {
  min-width: 0;
}

.report-box input {
  min-width: 0;
  width: 100%;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: .9rem;
  color: #fff;
  background: rgba(0,0,0,.26);
  padding: .65rem .8rem;
  outline: none;
}

.report-box input:focus {
  border-color: rgba(113, 232, 176, .6);
  box-shadow: 0 0 0 .2rem rgba(113,232,176,.12);
}

.overlay-panel {
  position: absolute;
  top: calc(max(10px, env(safe-area-inset-top)) + 80px);
  right: max(12px, env(safe-area-inset-right));
  bottom: calc(max(10px, env(safe-area-inset-bottom)) + 82px);
  z-index: 60;
  width: min(520px, calc(100vw - 24px));
  border-radius: 1.35rem;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.panel-header {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
  padding: 1rem;
  border-bottom: 1px solid rgba(255,255,255,.1);
}

.panel-header h2 {
  margin: 0;
  font-weight: 950;
  font-size: 1.15rem;
}

.panel-header p {
  margin: .18rem 0 0;
  color: rgba(255,255,255,.58);
  font-size: .86rem;
}

.panel-body {
  padding: 1rem;
  overflow: auto;
}

.shop-list {
  display: grid;
  gap: .85rem;
}

.shop-item {
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr) auto;
  gap: .8rem;
  align-items: center;
  border-radius: 1rem;
  padding: .75rem;
}

.shop-preview-img {
  width: 74px;
  height: 74px;
  object-fit: cover;
  border-radius: 1rem;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
}

.shop-copy { min-width: 0; }
.shop-title { font-weight: 900; }
.shop-copy p { margin: .2rem 0 .35rem; color: rgba(255,255,255,.58); font-size: .86rem; }
.type-pill { display: inline-flex; border-radius: 999px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.12); padding: .1rem .48rem; font-size: .72rem; color: rgba(255,255,255,.76); }

.shop-actions {
  display: grid;
  justify-items: end;
  gap: .45rem;
}

.shop-actions strong { color: #ffe6a0; }
.shop-actions button { min-height: 36px; padding: .35rem .55rem; font-size: .84rem; }

.fairness-grid,
.roadmap-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .85rem;
}

.fairness-card,
.roadmap-grid > div {
  border-radius: 1rem;
  padding: .9rem;
  background: rgba(255,255,255,.055);
  border: 1px solid rgba(255,255,255,.1);
}

.fairness-card {
  display: grid;
  gap: .45rem;
}

.fairness-card img {
  width: 2rem;
  height: 2rem;
}

.fairness-card strong,
.roadmap-grid strong {
  display: block;
  font-weight: 900;
}

.fairness-card span,
.roadmap-grid p {
  color: rgba(255,255,255,.58);
  font-size: .88rem;
}

.roadmap-grid span {
  display: inline-grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  background: rgba(113, 232, 176, .16);
  border: 1px solid rgba(113, 232, 176, .32);
  color: #71e8b0;
  font-weight: 950;
  margin-bottom: .55rem;
}

.roadmap-grid p { margin: .3rem 0 0; }

.log-box {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: .86rem;
}

.log-line,
.muted-line {
  padding: .55rem .65rem;
  border-radius: .7rem;
  background: rgba(255,255,255,.055);
  border: 1px solid rgba(255,255,255,.075);
  margin-bottom: .45rem;
}

.muted-line { color: rgba(255,255,255,.58); }

@media (max-width: 1180px) {
  .top-hud {
    grid-template-columns: 1fr auto;
  }
  .hud-stats {
    order: 3;
    grid-column: 1 / -1;
  }

  .action-feed {
    top: calc(max(10px, env(safe-area-inset-top)) + 112px);
    width: min(280px, 31vw);
  }

  .table-log-peek {
    width: min(280px, 31vw);
  }
}

@media (max-width: 900px) {
  :root {
    --seat-w: clamp(126px, 23vw, 178px);
    --card-w: clamp(37px, 6vw, 50px);
  }

  .top-hud {
    width: min(620px, calc(100vw - 18px));
    border-radius: 1.1rem;
    grid-template-columns: 1fr auto;
  }

  .brand-subtitle,
  .hide-sm {
    display: none;
  }

  .action-feed {
    left: 9px;
    top: calc(max(10px, env(safe-area-inset-top)) + 156px);
    width: min(260px, 42vw);
  }

  .table-log-peek {
    display: none;
  }

  .hud-stats {
    grid-column: 1 / -1;
    width: 100%;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .compact-actions {
    grid-row: 1;
    grid-column: 2;
  }

  .panel-dock {
    left: 50%;
    right: auto;
    top: calc(max(10px, env(safe-area-inset-top)) + 106px);
    transform: translateX(-50%);
    flex-direction: row;
    max-width: calc(100vw - 18px);
    overflow-x: auto;
  }

  .panel-dock button {
    min-width: 42px;
    width: 42px;
    height: 42px;
    padding: .45rem;
    font-size: 0;
    justify-content: center;
  }

  .poker-table {
    width: calc(100vw - 8px);
    height: calc(100dvh - 8px);
  }

  .community-zone {
    top: 48%;
    min-width: 55vw;
  }

  .seat-card {
    padding: .48rem;
  }

  .seat-meta,
  .seat-numbers {
    font-size: .66rem;
  }

  .seat-pos-0 { bottom: 17%; }
  .seat-pos-1 { left: 2%; bottom: 31%; }
  .seat-pos-2 { left: 2%; top: 25%; }
  .seat-pos-3 { top: 15.5%; }
  .seat-pos-4 { right: 2%; top: 25%; }
  .seat-pos-5 { right: 2%; bottom: 31%; }

  .bottom-action-bar {
    grid-template-columns: 1fr;
  }

  .report-box {
    display: grid;
    grid-template-columns: 1fr auto;
  }

  .overlay-panel {
    left: max(12px, env(safe-area-inset-left));
    top: calc(max(10px, env(safe-area-inset-top)) + 158px);
    bottom: calc(max(10px, env(safe-area-inset-bottom)) + 118px);
    width: auto;
  }
}

@media (max-width: 620px) {
  :root {
    --seat-w: 108px;
    --card-w: 31px;
  }

  .top-hud {
    top: max(8px, env(safe-area-inset-top));
    width: calc(100vw - 16px);
    padding: .46rem;
  }

  .brand-logo { width: 34px; height: 34px; }
  .brand-title { font-size: .95rem; }

  .hud-stats strong { font-size: .84rem; }
  .hud-btn, .panel-dock button, .action-btn, .report-box button { min-height: 38px; padding: .45rem .55rem; font-size: .82rem; }
  .ui-icon { width: 1rem; height: 1rem; }

  .panel-dock {
    top: calc(max(8px, env(safe-area-inset-top)) + 102px);
    padding: .25rem;
  }

  .action-feed {
    top: calc(max(8px, env(safe-area-inset-top)) + 148px);
    width: min(220px, 54vw);
    padding: .5rem;
  }

  .feed-line {
    grid-template-columns: minmax(54px, .8fr) minmax(54px, 1fr);
    font-size: .72rem;
    padding: .25rem .14rem;
  }

  .feed-time { display: none; }

  .panel-dock button {
    min-width: 38px;
    width: 38px;
    height: 38px;
    padding: .4rem;
    font-size: 0;
  }

  .poker-table {
    width: calc(100vw - 4px);
    height: calc(100dvh - 4px);
  }

  .zone-label { display: none; }
  .community-zone { gap: .38rem; }
  .chip-img { width: 27px; height: 27px; }
  .chip-img-lg { width: 38px; height: 38px; }

  .avatar-img { width: 34px; height: 34px; border-radius: .72rem; }
  .seat-name { font-size: .82rem; }
  .seat-cards { margin-top: .28rem; }
  .seat-numbers { margin-top: .28rem; gap: .25rem; }
  .action-bubble { min-width: 112px; font-size: .64rem; padding: .3rem .48rem; top: -1rem; }
  .action-bubble-kicker, .action-bubble small { font-size: .5rem; }

  .seat-pos-0 { bottom: 18%; }
  .seat-pos-1 { left: 1%; bottom: 33%; }
  .seat-pos-2 { left: 1%; top: 28%; }
  .seat-pos-3 { top: 17%; }
  .seat-pos-4 { right: 1%; top: 28%; }
  .seat-pos-5 { right: 1%; bottom: 33%; }

  .action-btn { min-width: 96px; }
  .bottom-action-bar {
    width: calc(100vw - 16px);
    bottom: max(8px, env(safe-area-inset-bottom));
    padding: .45rem;
  }

  .shop-item {
    grid-template-columns: 54px 1fr;
  }

  .shop-preview-img {
    width: 54px;
    height: 54px;
  }

  .shop-actions {
    grid-column: 1 / -1;
    grid-template-columns: 1fr auto;
    justify-items: stretch;
    align-items: center;
  }

  .fairness-grid,
  .roadmap-grid {
    grid-template-columns: 1fr;
  }

  .overlay-panel {
    top: calc(max(8px, env(safe-area-inset-top)) + 150px);
    bottom: calc(max(8px, env(safe-area-inset-bottom)) + 116px);
    left: 8px;
    right: 8px;
  }
}

/* Chip animation upgrade: local denomination PNGs and stronger pot focus */
.pot-stack {
  position: relative;
  overflow: visible;
  background:
    radial-gradient(circle at 20% 20%, rgba(255,255,255,.18), transparent 30%),
    linear-gradient(135deg, rgba(73, 53, 14, .82), rgba(10, 12, 10, .64));
  border-color: rgba(246, 200, 95, .56);
  box-shadow:
    0 .8rem 1.7rem rgba(0,0,0,.38),
    0 0 0 1px rgba(255,255,255,.08),
    0 0 2.2rem rgba(246, 200, 95, .16);
}

.pot-stack::before,
.pot-stack::after {
  content: "";
  position: absolute;
  inset: -.55rem;
  border-radius: 999px;
  border: 1px solid rgba(246, 200, 95, .2);
  pointer-events: none;
}

.pot-stack::after {
  inset: -.95rem;
  opacity: .44;
}

.pot-stack.pulse {
  animation: potPulse .56s ease, potGlowRing .56s ease;
}

@keyframes potGlowRing {
  0% { filter: brightness(1); }
  45% { filter: brightness(1.25); }
  100% { filter: brightness(1); }
}

.seat-chip-stack {
  left: 50%;
  right: auto;
  bottom: -1.15rem;
  transform: translateX(-50%);
  min-width: 104px;
  min-height: 34px;
  justify-content: center;
  padding: .16rem .56rem .16rem .22rem;
  gap: .26rem;
  background: rgba(8, 10, 9, .84);
  box-shadow: 0 .6rem 1.2rem rgba(0,0,0,.3);
  transition: opacity .18s ease, transform .18s ease, border-color .18s ease;
}

.seat-chip-stack.empty {
  opacity: .42;
  border-color: rgba(255,255,255,.12);
  color: rgba(255,255,255,.56);
}

.seat-chip-stack.empty .chip-img {
  filter: grayscale(.55) opacity(.75) drop-shadow(0 .3rem .42rem rgba(0,0,0,.32));
}

.seat-chip-label {
  color: rgba(255,255,255,.55);
  font-size: .54rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-weight: 950;
}

.chip-flight {
  min-width: 102px;
  min-height: 48px;
  justify-content: center;
  gap: .36rem;
  padding: .24rem .64rem .24rem .24rem;
  background: rgba(0,0,0,.68);
  box-shadow: 0 .85rem 1.5rem rgba(0,0,0,.36), 0 0 1.3rem rgba(246, 200, 95, .18);
  animation: flyToPot 1.18s cubic-bezier(.17, .75, .18, 1) forwards;
  will-change: left, top, opacity, transform;
}

.chip-flight-stack {
  position: relative;
  width: 56px;
  height: 40px;
  flex: 0 0 56px;
}

.chip-flight-img {
  position: absolute;
  left: var(--x, 0px);
  bottom: var(--y, 0px);
  width: 34px;
  height: 34px;
  transform: rotate(var(--r, 0deg));
  animation: chipSpriteLift 1.18s ease forwards;
}

.chip-flight span {
  min-width: 2.1rem;
  text-align: right;
  font-variant-numeric: tabular-nums;
}

@keyframes chipSpriteLift {
  0% { transform: translateY(.35rem) rotate(var(--r, 0deg)) scale(.78); }
  25% { transform: translateY(-.2rem) rotate(var(--r, 0deg)) scale(1.02); }
  100% { transform: translateY(.1rem) rotate(var(--r, 0deg)) scale(.92); }
}

@media (max-width: 620px) {
  .seat-chip-stack {
    min-width: 82px;
    min-height: 28px;
    bottom: -1rem;
    padding: .1rem .38rem .1rem .16rem;
    font-size: .66rem;
  }

  .seat-chip-label {
    display: none;
  }

  .chip-flight {
    min-width: 82px;
    min-height: 40px;
    padding: .18rem .45rem .18rem .18rem;
  }

  .chip-flight-stack {
    width: 44px;
    height: 32px;
    flex-basis: 44px;
  }

  .chip-flight-img {
    width: 27px;
    height: 27px;
  }
}

.stat-icon {
  width: 1rem;
  height: 1rem;
  object-fit: contain;
  margin-right: .22rem;
  vertical-align: -.15rem;
}

.shop-price {
  display: inline-flex;
  align-items: center;
  gap: .18rem;
}

/* QA polish: local PNG close controls and a clearer server-state table ribbon */
.close-icon {
  width: 1rem;
  height: 1rem;
  object-fit: contain;
  pointer-events: none;
}

.game-alert button,
.panel-close {
  display: inline-grid;
  place-items: center;
}

.panel-close {
  width: 2.3rem;
  height: 2.3rem;
  padding: 0;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.08);
  color: #fff;
}

.table-status-ribbon {
  position: absolute;
  left: 50%;
  top: 67%;
  transform: translateX(-50%);
  z-index: 9;
  display: grid;
  grid-template-columns: repeat(3, minmax(82px, 1fr));
  gap: .35rem;
  width: min(440px, 48vw);
  padding: .38rem;
  border-radius: 999px;
  pointer-events: none;
}

.table-status-ribbon > div {
  min-width: 0;
  text-align: center;
  border-radius: 999px;
  padding: .28rem .52rem;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.07);
}

.table-status-ribbon span {
  display: block;
  color: rgba(255,255,255,.52);
  font-size: .58rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-weight: 900;
}

.table-status-ribbon strong {
  display: block;
  color: #fff;
  font-size: clamp(.74rem, 1vw, .9rem);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 900px) {
  .table-status-ribbon {
    top: 66%;
    width: min(420px, 66vw);
  }
}

@media (max-width: 620px) {
  .table-status-ribbon {
    top: 63%;
    grid-template-columns: 1fr;
    width: min(150px, 42vw);
    border-radius: 1rem;
    padding: .3rem;
    gap: .22rem;
  }

  .table-status-ribbon > div {
    padding: .2rem .36rem;
  }

  .table-status-ribbon span {
    font-size: .48rem;
  }

  .table-status-ribbon strong {
    font-size: .68rem;
  }
}

/* Polished UI update: combined movable live/action log and larger player cards */
.action-log-window {
  position: absolute;
  width: min(490px, calc(100vw - 16px));
  max-height: min(56vh, 520px);
  z-index: 50;
  border-radius: 1.15rem;
  overflow: hidden;
  user-select: none;
}

.action-log-window.dragging {
  cursor: grabbing;
  box-shadow: 0 1.4rem 4rem rgba(0,0,0,.44), 0 0 0 1px rgba(113, 232, 176, .18);
}

.action-log-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: .85rem;
  padding: .78rem .82rem .62rem;
  border-bottom: 1px solid rgba(255,255,255,.1);
  cursor: grab;
  touch-action: none;
}

.action-log-window.dragging .action-log-header {
  cursor: grabbing;
}

.log-window-subtitle {
  color: rgba(255,255,255,.56);
  font-size: .76rem;
  line-height: 1.25;
  margin-top: -.16rem;
}

.action-log-body {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .72rem;
  padding: .72rem;
  max-height: calc(min(56vh, 520px) - 70px);
  overflow: auto;
}

.log-column {
  min-width: 0;
  border-radius: .95rem;
  padding: .55rem;
  background: rgba(0,0,0,.17);
  border: 1px solid rgba(255,255,255,.08);
}

.log-section-title {
  color: rgba(255,255,255,.9);
  font-size: .72rem;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-bottom: .28rem;
}

.action-log-window .feed-line {
  grid-template-columns: minmax(62px, .78fr) minmax(78px, 1fr) auto;
  padding-inline: .28rem;
}

.action-log-window .log-peek-line {
  white-space: normal;
  line-height: 1.25;
}

.seat-cards {
  justify-content: center;
}

.seat-cards .playing-card {
  width: var(--card-w);
  height: var(--card-h);
  border-radius: .62rem;
  font-size: 1rem;
  padding: .45rem;
}

.seat-card {
  min-width: calc((var(--card-w) * 2) + clamp(2.25rem, 3vw, 3rem));
}

.table-status-ribbon {
  top: 59%;
  z-index: 28;
  width: min(500px, 52vw);
}

.seat-pos-0 {
  bottom: 9%;
}

@media (max-width: 900px) {
  .action-log-window {
    width: min(420px, calc(100vw - 16px));
    max-height: 48vh;
  }

  .action-log-body {
    grid-template-columns: 1fr;
    max-height: calc(48vh - 68px);
  }

  .table-status-ribbon {
    top: 56%;
    width: min(430px, 70vw);
  }

  .seat-pos-0 {
    bottom: 12%;
  }
}

@media (max-width: 620px) {
  .action-log-window {
    width: min(340px, calc(100vw - 16px));
    max-height: 42vh;
  }

  .action-log-header {
    padding: .58rem .62rem .48rem;
  }

  .log-window-subtitle {
    display: none;
  }

  .action-log-body {
    padding: .52rem;
    gap: .52rem;
    max-height: calc(42vh - 56px);
  }

  .action-log-window .feed-line {
    grid-template-columns: minmax(54px, .8fr) minmax(54px, 1fr);
  }

  .action-log-window .feed-time {
    display: none;
  }

  .seat-cards .playing-card {
    font-size: .78rem;
    padding: .34rem;
    border-radius: .45rem;
  }

  .table-status-ribbon {
    top: 54%;
    width: min(168px, 44vw);
  }

  .seat-pos-0 {
    bottom: 18%;
  }
}


/* UI cleanup: Fairness/Roadmap disabled and KI-Spieler näher an der Tischmitte */
.seat-pos-1 { left: 13%; bottom: 31%; }
.seat-pos-2 { left: 13%; top: 24%; }
.seat-pos-3 { top: 18%; }
.seat-pos-4 { right: 13%; top: 24%; }
.seat-pos-5 { right: 13%; bottom: 31%; }

.chip-flight.seat-1 { --sx: 25%; --sy: 67%; }
.chip-flight.seat-2 { --sx: 25%; --sy: 35%; }
.chip-flight.seat-3 { --sx: 50%; --sy: 27%; }
.chip-flight.seat-4 { --sx: 75%; --sy: 35%; }
.chip-flight.seat-5 { --sx: 75%; --sy: 67%; }

@media (max-width: 900px) {
  .seat-pos-1 { left: 8%; bottom: 35%; }
  .seat-pos-2 { left: 8%; top: 29%; }
  .seat-pos-3 { top: 19%; }
  .seat-pos-4 { right: 8%; top: 29%; }
  .seat-pos-5 { right: 8%; bottom: 35%; }

  .chip-flight.seat-1 { --sx: 24%; --sy: 65%; }
  .chip-flight.seat-2 { --sx: 24%; --sy: 36%; }
  .chip-flight.seat-3 { --sx: 50%; --sy: 27%; }
  .chip-flight.seat-4 { --sx: 76%; --sy: 36%; }
  .chip-flight.seat-5 { --sx: 76%; --sy: 65%; }
}

@media (max-width: 620px) {
  .seat-pos-1 { left: 5%; bottom: 36%; }
  .seat-pos-2 { left: 5%; top: 31%; }
  .seat-pos-3 { top: 20%; }
  .seat-pos-4 { right: 5%; top: 31%; }
  .seat-pos-5 { right: 5%; bottom: 36%; }

  .chip-flight.seat-1 { --sx: 25%; --sy: 64%; }
  .chip-flight.seat-2 { --sx: 25%; --sy: 38%; }
  .chip-flight.seat-3 { --sx: 50%; --sy: 29%; }
  .chip-flight.seat-4 { --sx: 75%; --sy: 38%; }
  .chip-flight.seat-5 { --sx: 75%; --sy: 64%; }
}

/* Seat-action refinement: KI-Aktionen direkt auf der jeweiligen Tisch-Innenseite */
.seat-card .ai-action-bubble {
  top: 50%;
  left: auto;
  min-width: 142px;
  max-width: 174px;
  z-index: 36;
  transform: translateY(-50%);
  border-radius: .95rem;
}

.seat-card .ai-action-bubble::after {
  bottom: auto;
  left: auto;
}

.seat-pos-1 .ai-action-bubble,
.seat-pos-2 .ai-action-bubble {
  left: calc(100% + .72rem);
  right: auto;
  text-align: left;
}

.seat-pos-1 .ai-action-bubble::after,
.seat-pos-2 .ai-action-bubble::after {
  left: -.36rem;
  right: auto;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  border-left: 1px solid rgba(255,255,255,.3);
  border-bottom: 1px solid rgba(255,255,255,.3);
  border-right: 0;
  border-top: 0;
}

.seat-pos-4 .ai-action-bubble,
.seat-pos-5 .ai-action-bubble {
  right: calc(100% + .72rem);
  left: auto;
  text-align: right;
}

.seat-pos-4 .ai-action-bubble::after,
.seat-pos-5 .ai-action-bubble::after {
  right: -.36rem;
  left: auto;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  border-right: 1px solid rgba(255,255,255,.3);
  border-top: 1px solid rgba(255,255,255,.3);
  border-left: 0;
  border-bottom: 0;
}

.seat-pos-3 .ai-action-bubble {
  left: 50%;
  right: auto;
  top: calc(100% + .72rem);
  transform: translateX(-50%);
  text-align: center;
}

.seat-pos-3 .ai-action-bubble::after {
  left: 50%;
  top: -.36rem;
  right: auto;
  bottom: auto;
  transform: translateX(-50%) rotate(45deg);
  border-left: 1px solid rgba(255,255,255,.3);
  border-top: 1px solid rgba(255,255,255,.3);
  border-right: 0;
  border-bottom: 0;
}

/* Gewinn stärker hervorheben: Tischmitte + Gewinner-Sitz */
.winner-strip {
  position: relative;
  z-index: 38;
  max-width: min(560px, 74vw);
  margin-top: .12rem;
}

.winner-strip-card {
  position: relative;
  overflow: hidden;
  display: grid;
  justify-items: center;
  gap: .08rem;
  padding: .68rem 1.15rem;
  border-radius: 1.15rem;
  color: #fff8d9;
  background:
    radial-gradient(circle at 20% 20%, rgba(255,255,255,.25), transparent 28%),
    linear-gradient(135deg, rgba(246, 200, 95, .34), rgba(113, 232, 176, .2), rgba(8, 10, 9, .72));
  border: 1px solid rgba(255, 238, 168, .72);
  box-shadow:
    0 1rem 2.8rem rgba(0,0,0,.42),
    0 0 0 1px rgba(255,255,255,.12),
    0 0 2.4rem rgba(246, 200, 95, .42);
  animation: winnerReveal .7s cubic-bezier(.18, .8, .24, 1.2), winnerGlow 1.8s ease-in-out infinite;
}

.winner-strip-card::before {
  content: "★";
  position: absolute;
  left: .85rem;
  top: .5rem;
  color: rgba(255, 238, 168, .9);
  font-size: 1.15rem;
  text-shadow: 0 0 1rem rgba(246, 200, 95, .7);
}

.winner-strip-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(115deg, transparent 0%, rgba(255,255,255,.28) 40%, transparent 58%);
  transform: translateX(-120%);
  animation: winnerSweep 2.6s ease-in-out infinite;
  pointer-events: none;
}

.winner-strip-kicker {
  color: rgba(255, 242, 190, .82);
  font-size: .68rem;
  font-weight: 950;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.winner-strip-card strong {
  font-size: clamp(1.05rem, 2vw, 1.55rem);
  line-height: 1.05;
  text-shadow: 0 .2rem .7rem rgba(0,0,0,.38), 0 0 1.2rem rgba(246, 200, 95, .42);
}

.winner-strip-card small {
  color: rgba(255,255,255,.78);
  font-weight: 800;
}

.seat-card.winner-seat {
  opacity: 1;
  border-color: rgba(255, 238, 168, .72);
  box-shadow:
    0 0 0 3px rgba(246, 200, 95, .38),
    0 1rem 3.2rem rgba(0,0,0,.38),
    0 0 2.2rem rgba(246, 200, 95, .36);
  animation: winnerSeatPulse 1.7s ease-in-out infinite;
}

.winner-badge {
  position: absolute;
  right: -.78rem;
  top: -.78rem;
  z-index: 42;
  display: grid;
  place-items: center;
  min-width: 78px;
  min-height: 58px;
  padding: .42rem .58rem;
  border-radius: 1rem;
  color: #251805;
  background: linear-gradient(135deg, #fff3b2, #f6c85f 48%, #71e8b0);
  border: 1px solid rgba(255,255,255,.72);
  box-shadow: 0 .75rem 1.6rem rgba(0,0,0,.38), 0 0 1.6rem rgba(246, 200, 95, .55);
  transform: rotate(4deg);
}

.winner-badge span {
  font-size: .58rem;
  font-weight: 950;
  letter-spacing: .12em;
  text-transform: uppercase;
  opacity: .74;
}

.winner-badge strong {
  font-size: 1.05rem;
  line-height: 1;
  font-weight: 1000;
}

.action-bubble.tone-win {
  color: #1e1405;
  background: linear-gradient(135deg, #fff2a8, #f6c85f 55%, #71e8b0);
  border-color: rgba(255,255,255,.74);
  box-shadow: 0 .9rem 2rem rgba(0,0,0,.4), 0 0 1.8rem rgba(246, 200, 95, .48);
}

@keyframes winnerReveal {
  0% { opacity: 0; transform: translateY(.55rem) scale(.9); }
  100% { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes winnerGlow {
  0%, 100% { filter: brightness(1); }
  50% { filter: brightness(1.14); }
}

@keyframes winnerSweep {
  0%, 42% { transform: translateX(-120%); }
  72%, 100% { transform: translateX(120%); }
}

@keyframes winnerSeatPulse {
  0%, 100% { box-shadow: 0 0 0 3px rgba(246, 200, 95, .32), 0 1rem 3.2rem rgba(0,0,0,.38), 0 0 1.6rem rgba(246, 200, 95, .28); }
  50% { box-shadow: 0 0 0 4px rgba(246, 200, 95, .54), 0 1.1rem 3.4rem rgba(0,0,0,.42), 0 0 2.8rem rgba(246, 200, 95, .5); }
}

@media (max-width: 900px) {
  .seat-card .ai-action-bubble {
    min-width: 118px;
    max-width: 140px;
    font-size: .66rem;
    padding: .34rem .52rem;
  }

  .seat-pos-1 .ai-action-bubble,
  .seat-pos-2 .ai-action-bubble { left: calc(100% + .38rem); }

  .seat-pos-4 .ai-action-bubble,
  .seat-pos-5 .ai-action-bubble { right: calc(100% + .38rem); }

  .seat-pos-3 .ai-action-bubble { top: calc(100% + .44rem); }

  .winner-badge {
    min-width: 66px;
    min-height: 48px;
    right: -.55rem;
    top: -.55rem;
  }
}

@media (max-width: 620px) {
  .seat-card .ai-action-bubble {
    min-width: 92px;
    max-width: 106px;
    font-size: .56rem;
    padding: .26rem .38rem;
    border-radius: .72rem;
  }

  .seat-pos-1 .ai-action-bubble,
  .seat-pos-2 .ai-action-bubble { left: calc(100% + .16rem); }

  .seat-pos-4 .ai-action-bubble,
  .seat-pos-5 .ai-action-bubble { right: calc(100% + .16rem); }

  .seat-pos-3 .ai-action-bubble { top: calc(100% + .26rem); }

  .winner-strip-card {
    padding: .52rem .82rem;
    border-radius: .9rem;
  }

  .winner-strip-kicker { font-size: .55rem; }
  .winner-strip-card small { font-size: .68rem; }

  .winner-badge {
    min-width: 52px;
    min-height: 38px;
    padding: .28rem .4rem;
    border-radius: .72rem;
  }

  .winner-badge span { font-size: .45rem; }
  .winner-badge strong { font-size: .82rem; }
}

/* Auth + Table Selection (JSON Login) */
.game-root.auth-flow {
  overflow: auto;
  min-height: 100vh;
  min-height: 100dvh;
}

.boot-screen,
.auth-screen,
.lobby-screen {
  min-height: 100vh;
  min-height: 100dvh;
  width: 100%;
  display: grid;
  place-items: center;
  padding: clamp(1rem, 3vw, 2rem);
  position: relative;
  overflow: hidden;
}

.boot-screen::before,
.auth-screen::before,
.lobby-screen::before {
  content: "";
  position: absolute;
  inset: -20%;
  background:
    radial-gradient(circle at 20% 20%, rgba(113, 232, 176, .24), transparent 26rem),
    radial-gradient(circle at 76% 66%, rgba(103, 215, 255, .18), transparent 28rem),
    linear-gradient(135deg, #04100c, #071513 52%, #020605);
  z-index: 0;
}

.boot-card,
.auth-card,
.lobby-header,
.table-select-card {
  position: relative;
  z-index: 1;
}

.boot-card {
  width: min(380px, calc(100vw - 2rem));
  padding: 2rem;
  border-radius: 2rem;
  text-align: center;
}

.boot-logo {
  border-radius: 1.2rem;
  margin-bottom: 1rem;
  box-shadow: 0 0 2.5rem rgba(113,232,176,.35);
}

.boot-card h1,
.auth-brand h1,
.lobby-copy h1 {
  margin: 0;
  font-weight: 950;
  letter-spacing: -.03em;
}

.boot-card p,
.auth-brand p,
.lobby-copy p,
.table-select-copy p,
.auth-help {
  color: rgba(255,255,255,.68);
}

.auth-card {
  width: min(480px, calc(100vw - 2rem));
  border-radius: 2rem;
  padding: clamp(1.1rem, 3vw, 1.8rem);
}

.auth-brand {
  display: flex;
  gap: .9rem;
  align-items: center;
  margin-bottom: 1.2rem;
}

.auth-brand p {
  margin: .18rem 0 0;
  font-size: .9rem;
}

.auth-tabs {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: .45rem;
  padding: .35rem;
  border-radius: 999px;
  background: rgba(255,255,255,.055);
  border: 1px solid rgba(255,255,255,.09);
  margin-bottom: 1rem;
}

.auth-tabs button,
.auth-submit,
.table-select-btn {
  border: 1px solid rgba(255,255,255,.14);
  color: #f4fff9;
  border-radius: 999px;
  min-height: 44px;
  font-weight: 900;
  background: rgba(255,255,255,.07);
}

.auth-tabs button.active,
.auth-submit,
.table-select-btn {
  background: linear-gradient(135deg, rgba(29, 193, 123, .95), rgba(25, 128, 205, .9));
  border-color: rgba(113,232,176,.44);
  box-shadow: 0 .75rem 1.7rem rgba(0,0,0,.27);
}

.auth-form {
  display: grid;
  gap: .85rem;
}

.auth-form h2 {
  margin: .25rem 0 0;
  font-weight: 900;
}

.auth-form label {
  display: grid;
  gap: .38rem;
  font-weight: 850;
}

.auth-form label span {
  color: rgba(255,255,255,.72);
  font-size: .82rem;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.auth-form input {
  width: 100%;
  min-height: 48px;
  border-radius: 1rem;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,.28);
  color: #fff;
  padding: .78rem .95rem;
  outline: none;
}

.auth-form input:focus {
  border-color: rgba(113,232,176,.65);
  box-shadow: 0 0 0 .2rem rgba(113,232,176,.12);
}

.auth-help {
  margin: 0;
  font-size: .84rem;
}

.auth-help code {
  color: #ffe6a0;
}

.auth-message {
  margin-top: .9rem;
  border-radius: 1rem;
  padding: .75rem .9rem;
  font-weight: 800;
  border: 1px solid rgba(255,255,255,.12);
}

.auth-message.success {
  background: rgba(20, 95, 122, .82);
}

.auth-message.danger {
  background: rgba(122, 22, 34, .84);
}

.lobby-screen {
  place-items: start center;
  align-content: start;
  gap: clamp(1rem, 2.5vw, 1.6rem);
  padding-top: max(1rem, env(safe-area-inset-top));
  padding-bottom: max(1rem, env(safe-area-inset-bottom));
}

.lobby-header {
  width: min(1120px, calc(100vw - 2rem));
  border-radius: 999px;
  padding: .65rem .8rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.lobby-copy {
  position: relative;
  z-index: 1;
  width: min(1120px, calc(100vw - 2rem));
  text-align: center;
  padding-top: .4rem;
}

.lobby-copy span {
  color: #71e8b0;
  font-size: .82rem;
  font-weight: 950;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.lobby-copy h1 {
  font-size: clamp(2rem, 5vw, 4.2rem);
  margin-top: .2rem;
}

.lobby-copy p {
  margin: .45rem auto 0;
  width: min(680px, 100%);
}

.table-select-grid {
  position: relative;
  z-index: 1;
  width: min(1120px, calc(100vw - 2rem));
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(.9rem, 2vw, 1.25rem);
}

.table-select-card {
  border-radius: 1.65rem;
  padding: .75rem;
  display: grid;
  gap: .85rem;
  overflow: hidden;
}

.table-cover-frame {
  position: relative;
  aspect-ratio: 2 / 3;
  border-radius: 1.2rem;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(0,0,0,.28);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.05);
}

.table-cover-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .22s ease;
}

.table-select-card:hover .table-cover-img {
  transform: scale(1.035);
}

.table-status-pill {
  position: absolute;
  left: .7rem;
  top: .7rem;
  border-radius: 999px;
  padding: .35rem .65rem;
  background: rgba(0,0,0,.58);
  color: #ffe6a0;
  border: 1px solid rgba(246,200,95,.4);
  font-weight: 950;
  font-size: .74rem;
  text-transform: uppercase;
  letter-spacing: .09em;
}

.table-select-copy {
  padding: 0 .25rem;
}

.table-select-copy h2 {
  margin: 0;
  font-weight: 950;
  font-size: clamp(1.15rem, 2vw, 1.45rem);
}

.table-select-copy p {
  margin: .35rem 0 0;
  min-height: 3.2em;
}

.table-meta-row {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  margin-top: .7rem;
}

.table-meta-row span {
  border-radius: 999px;
  padding: .35rem .55rem;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.09);
  color: rgba(255,255,255,.8);
  font-size: .78rem;
  font-weight: 800;
}


.table-credit-note {
  margin-top: .65rem;
  border-radius: .9rem;
  padding: .55rem .65rem;
  background: rgba(30, 118, 86, .24);
  border: 1px solid rgba(113,232,176,.22);
  color: rgba(231,255,244,.9);
  font-size: .82rem;
  font-weight: 850;
}

.table-credit-note.locked {
  background: rgba(122, 22, 34, .28);
  border-color: rgba(255, 120, 135, .3);
  color: #ffd7dc;
}

.table-select-btn:disabled {
  cursor: not-allowed;
  opacity: .54;
  filter: grayscale(.2);
  box-shadow: none;
}

.table-select-btn {
  width: 100%;
}

.lobby-message {
  position: relative;
  z-index: 2;
  width: min(520px, calc(100vw - 2rem));
  margin: 0;
}

@media (max-width: 920px) {
  .table-select-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .auth-screen,
  .lobby-screen {
    padding: .75rem;
  }
  .auth-brand,
  .lobby-header {
    align-items: flex-start;
  }
  .lobby-header {
    border-radius: 1.25rem;
  }
  .table-select-grid {
    grid-template-columns: 1fr;
    width: min(380px, calc(100vw - 1.2rem));
  }
  .table-select-copy p {
    min-height: 0;
  }
}

/* Profile page + dynamic blind display */
.table-status-ribbon {
  grid-template-columns: repeat(4, minmax(74px, 1fr));
  width: min(620px, 58vw);
}

.lobby-header-actions,
.profile-header-actions {
  display: flex;
  align-items: center;
  gap: .55rem;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.profile-chip {
  border: 1px solid rgba(255,255,255,.14);
  color: #f4fff9;
  background: rgba(255,255,255,.075);
  border-radius: 999px;
  padding: .35rem .72rem .35rem .42rem;
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  min-height: 42px;
  font-weight: 900;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}

.profile-chip:hover {
  background: rgba(255,255,255,.13);
}

.profile-chip-avatar {
  width: 32px;
  height: 32px;
  border-radius: 999px;
  object-fit: cover;
  border: 1px solid rgba(246,200,95,.5);
  box-shadow: 0 0 1.2rem rgba(246,200,95,.18);
}

.profile-screen {
  min-height: 100vh;
  min-height: 100dvh;
  width: 100%;
  padding: max(1rem, env(safe-area-inset-top)) clamp(1rem, 3vw, 2rem) max(1rem, env(safe-area-inset-bottom));
  position: relative;
  overflow: auto;
  display: grid;
  gap: clamp(1rem, 2vw, 1.4rem);
  align-content: start;
  justify-items: center;
}

.profile-screen::before {
  content: "";
  position: fixed;
  inset: -20%;
  background:
    radial-gradient(circle at 20% 18%, rgba(246, 200, 95, .24), transparent 25rem),
    radial-gradient(circle at 80% 70%, rgba(103, 215, 255, .2), transparent 28rem),
    linear-gradient(135deg, #050b0a, #071a15 52%, #030506);
  z-index: 0;
}

.profile-header,
.profile-layout,
.profile-hero-card,
.achievements-panel,
.delete-profile-zone {
  position: relative;
  z-index: 1;
}

.profile-header {
  width: min(1160px, calc(100vw - 2rem));
  border-radius: 999px;
  padding: .65rem .8rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.profile-layout {
  width: min(1160px, calc(100vw - 2rem));
  display: grid;
  gap: clamp(1rem, 2vw, 1.35rem);
}

.profile-hero-card {
  border-radius: 2.2rem;
  padding: clamp(1rem, 3vw, 1.8rem);
  display: grid;
  grid-template-columns: minmax(220px, .7fr) minmax(0, 1.3fr);
  gap: clamp(1rem, 3vw, 2rem);
  align-items: center;
  overflow: hidden;
}

.profile-hero-card::after {
  content: "";
  position: absolute;
  inset: auto -10% -48% 18%;
  height: 68%;
  background: radial-gradient(ellipse at center, rgba(246,200,95,.22), transparent 62%);
  pointer-events: none;
}

.profile-avatar-stage {
  display: grid;
  place-items: center;
  gap: .85rem;
}

.profile-avatar-ring {
  width: min(260px, 54vw);
  aspect-ratio: 1;
  border-radius: 999px;
  padding: .6rem;
  background:
    conic-gradient(from 0deg, #f6c85f, #67d7ff, #71e8b0, #f6c85f),
    rgba(255,255,255,.08);
  box-shadow: 0 0 4rem rgba(246,200,95,.28), 0 1.4rem 4rem rgba(0,0,0,.34);
}

.profile-avatar-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
  border: .45rem solid rgba(4,16,13,.88);
  background: rgba(0,0,0,.32);
}

.profile-crown {
  border-radius: 999px;
  padding: .45rem .9rem;
  background: rgba(246,200,95,.16);
  border: 1px solid rgba(246,200,95,.42);
  color: #ffe6a0;
  font-weight: 950;
  letter-spacing: .06em;
  text-transform: uppercase;
  text-align: center;
  box-shadow: 0 0 2rem rgba(246,200,95,.12);
}

.profile-hero-copy {
  min-width: 0;
  position: relative;
  z-index: 1;
}

.profile-kicker,
.section-heading span,
.delete-profile-zone span {
  color: #71e8b0;
  font-size: .82rem;
  font-weight: 950;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.profile-hero-copy h1 {
  margin: .12rem 0 .45rem;
  font-size: clamp(2.6rem, 7vw, 6rem);
  line-height: .92;
  font-weight: 1000;
  letter-spacing: -.06em;
  text-shadow: 0 0 2.6rem rgba(246,200,95,.2);
}

.profile-hero-copy p,
.delete-profile-zone p {
  color: rgba(255,255,255,.7);
  max-width: 660px;
}

.profile-pill-row {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin: .9rem 0 1rem;
}

.profile-pill-row span {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  border-radius: 999px;
  padding: .48rem .75rem;
  background: rgba(255,255,255,.075);
  border: 1px solid rgba(255,255,255,.1);
  color: rgba(255,255,255,.88);
  font-weight: 900;
}

.profile-upload-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .75rem;
}

.profile-main-btn,
.delete-profile-btn {
  border: 1px solid rgba(255,255,255,.14);
  color: #f4fff9;
  border-radius: 999px;
  min-height: 46px;
  padding: .68rem 1rem;
  font-weight: 950;
  background: linear-gradient(135deg, rgba(246, 200, 95, .94), rgba(25, 128, 205, .86));
  box-shadow: 0 .9rem 2rem rgba(0,0,0,.28);
}

.profile-upload-actions small {
  color: rgba(255,255,255,.58);
}

.achievements-panel,
.delete-profile-zone {
  border-radius: 1.8rem;
  padding: clamp(1rem, 2.5vw, 1.5rem);
}

.section-heading h2,
.delete-profile-zone h2 {
  margin: .12rem 0 0;
  font-size: clamp(1.6rem, 3vw, 2.4rem);
  font-weight: 1000;
  letter-spacing: -.03em;
}

.achievement-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .85rem;
  margin-top: 1rem;
}

.achievement-card {
  position: relative;
  overflow: hidden;
  min-height: 132px;
  border-radius: 1.35rem;
  padding: 1rem;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: .85rem;
  align-items: center;
  background:
    radial-gradient(circle at 86% 16%, rgba(246,200,95,.22), transparent 5.4rem),
    linear-gradient(145deg, rgba(255,255,255,.095), rgba(255,255,255,.035));
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}

.achievement-card::after {
  content: "";
  position: absolute;
  inset: auto -18% -38% 42%;
  height: 78%;
  background: radial-gradient(ellipse at center, rgba(103,215,255,.16), transparent 64%);
}

.achievement-medal {
  width: 58px;
  height: 58px;
  border-radius: 1.15rem;
  display: grid;
  place-items: center;
  background: rgba(246,200,95,.16);
  border: 1px solid rgba(246,200,95,.34);
  font-size: 1.55rem;
  box-shadow: 0 0 2rem rgba(246,200,95,.12);
}

.achievement-card span {
  display: block;
  color: rgba(255,255,255,.6);
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 950;
}

.achievement-card strong {
  display: block;
  color: #fff;
  font-size: clamp(1.55rem, 3vw, 2.4rem);
  line-height: 1;
  margin: .18rem 0;
  font-weight: 1000;
}

.achievement-card small {
  color: rgba(255,255,255,.62);
  line-height: 1.3;
}

.delete-profile-zone {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  border-color: rgba(255, 120, 135, .22);
}

.delete-profile-zone code {
  color: #ffe6a0;
}

.delete-profile-btn {
  flex: 0 0 auto;
  background: linear-gradient(135deg, rgba(255, 94, 98, .96), rgba(136, 23, 42, .9));
  border-color: rgba(255, 120, 135, .36);
}

@media (max-width: 920px) {
  .table-status-ribbon {
    grid-template-columns: repeat(2, minmax(82px, 1fr));
    border-radius: 1.1rem;
    width: min(440px, 70vw);
  }

  .profile-hero-card {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .profile-pill-row,
  .profile-upload-actions {
    justify-content: center;
  }

  .achievement-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .delete-profile-zone {
    align-items: stretch;
    flex-direction: column;
  }
}

@media (max-width: 620px) {
  .profile-screen {
    padding: .75rem;
  }

  .profile-header {
    border-radius: 1.25rem;
    align-items: flex-start;
  }

  .profile-header,
  .lobby-header {
    flex-direction: column;
  }

  .profile-header-actions,
  .lobby-header-actions {
    width: 100%;
    justify-content: stretch;
  }

  .profile-header-actions > *,
  .lobby-header-actions > * {
    flex: 1 1 auto;
  }

  .profile-hero-card,
  .achievements-panel,
  .delete-profile-zone {
    border-radius: 1.35rem;
  }

  .achievement-grid {
    grid-template-columns: 1fr;
  }

  .achievement-card {
    min-height: 112px;
  }
}

@media (max-width: 620px) {
  .table-status-ribbon {
    grid-template-columns: 1fr;
    width: min(190px, 48vw);
  }
}

/* Lobby scroll + profile/shop access cards */
.game-root.auth-flow {
  height: 100vh;
  height: 100dvh;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
}

.lobby-screen {
  min-height: 100vh;
  min-height: 100dvh;
  height: auto;
  overflow: visible;
  padding: max(1rem, env(safe-area-inset-top)) clamp(.75rem, 3vw, 2rem) max(2rem, env(safe-area-inset-bottom));
}

.lobby-screen::before {
  position: fixed;
}

.lobby-access-grid {
  position: relative;
  z-index: 1;
  width: min(1120px, calc(100vw - 2rem));
  display: grid;
  grid-template-columns: minmax(260px, .86fr) minmax(300px, 1.14fr);
  gap: clamp(.9rem, 2vw, 1.25rem);
  align-items: stretch;
}

.lobby-profile-card,
.lobby-shop-card {
  border-radius: 1.65rem;
  padding: .85rem;
  display: grid;
  gap: .85rem;
  overflow: hidden;
}

.lobby-profile-card {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
}

.lobby-shop-card {
  grid-template-columns: minmax(128px, 180px) minmax(0, 1fr);
  align-items: center;
  cursor: pointer;
}

.lobby-shop-card:focus-visible {
  outline: 3px solid rgba(113,232,176,.68);
  outline-offset: 4px;
}

.lobby-profile-avatar-wrap {
  width: clamp(92px, 12vw, 132px);
  aspect-ratio: 1;
  border-radius: 999px;
  padding: .35rem;
  background: conic-gradient(from 0deg, #f6c85f, #67d7ff, #71e8b0, #f6c85f);
  box-shadow: 0 0 2.6rem rgba(246,200,95,.2);
}

.lobby-profile-avatar {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
  border: .35rem solid rgba(4,16,13,.88);
  background: rgba(0,0,0,.28);
}

.lobby-shop-cover-frame {
  position: relative;
  width: 100%;
  aspect-ratio: 2 / 3;
  border-radius: 1.2rem;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(0,0,0,.28);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.05), 0 1rem 2.2rem rgba(0,0,0,.22);
}

.lobby-shop-cover-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .22s ease;
}

.lobby-shop-card:hover .lobby-shop-cover-img {
  transform: scale(1.035);
}

.shop-pill {
  color: #eaffff;
  border-color: rgba(103,215,255,.44);
  background: rgba(19, 84, 112, .72);
}

.lobby-access-copy {
  min-width: 0;
}

.lobby-access-copy span {
  display: block;
  color: #71e8b0;
  font-size: .78rem;
  font-weight: 950;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.lobby-access-copy h2 {
  margin: .16rem 0 .3rem;
  font-size: clamp(1.2rem, 2.4vw, 1.9rem);
  line-height: 1;
  font-weight: 1000;
  letter-spacing: -.035em;
}

.lobby-access-copy p {
  margin: 0;
  color: rgba(255,255,255,.68);
}

.lobby-access-btn {
  grid-column: 1 / -1;
  border: 1px solid rgba(255,255,255,.14);
  color: #f4fff9;
  border-radius: 999px;
  min-height: 44px;
  font-weight: 950;
  background: linear-gradient(135deg, rgba(246, 200, 95, .94), rgba(25, 128, 205, .86));
  box-shadow: 0 .75rem 1.7rem rgba(0,0,0,.27);
}

.lobby-shop-panel {
  position: fixed;
  top: max(1rem, env(safe-area-inset-top));
  right: max(1rem, env(safe-area-inset-right));
  bottom: max(1rem, env(safe-area-inset-bottom));
  max-height: calc(100dvh - 2rem);
}

@media (max-width: 920px) {
  .lobby-access-grid {
    grid-template-columns: 1fr;
  }

  .lobby-shop-card {
    grid-template-columns: minmax(120px, 170px) minmax(0, 1fr);
  }
}

@media (max-width: 620px) {
  .lobby-screen {
    padding: .75rem .75rem 1.6rem;
  }

  .lobby-access-grid {
    width: min(380px, calc(100vw - 1.2rem));
  }

  .lobby-profile-card,
  .lobby-shop-card {
    grid-template-columns: 1fr;
  }

  .lobby-profile-avatar-wrap {
    justify-self: center;
  }

  .lobby-shop-cover-frame {
    width: min(220px, 100%);
    justify-self: center;
  }

  .lobby-shop-panel {
    left: 8px;
    right: 8px;
    top: 8px;
    bottom: 8px;
    width: auto;
    max-height: calc(100dvh - 16px);
  }
}

/* TimeAttack update: Standard-/TimeAttack-Timer und Seat-Layoutkorrekturen */
.table-status-ribbon .timer-status strong {
  color: #ffe6a0;
  font-variant-numeric: tabular-nums;
}

.table-status-ribbon .timer-status.critical strong {
  color: #ff8f8f;
  text-shadow: 0 0 .9rem rgba(255, 80, 80, .65);
}

.turn-timer {
  --timer-progress: 100%;
  min-width: min(250px, 100%);
  display: grid;
  gap: .35rem;
  align-self: stretch;
  padding: .5rem .75rem;
  border-radius: 1rem;
  background: rgba(0,0,0,.22);
  border: 1px solid rgba(255,255,255,.12);
}

.turn-timer > div:first-child {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  font-size: .78rem;
  font-weight: 900;
}

.turn-timer span {
  color: rgba(255,255,255,.64);
  text-transform: uppercase;
  letter-spacing: .08em;
}

.turn-timer strong {
  color: #ffe6a0;
  font-variant-numeric: tabular-nums;
}

.turn-timer-bar {
  height: .46rem;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.08);
}

.turn-timer-bar span {
  display: block;
  height: 100%;
  width: var(--timer-progress);
  border-radius: inherit;
  background: linear-gradient(90deg, rgba(113,232,176,.92), rgba(246,200,95,.96));
  transition: width .32s linear, background .2s ease;
}

.turn-timer.critical {
  border-color: rgba(255, 120, 120, .4);
  box-shadow: 0 0 1.2rem rgba(255, 75, 75, .18);
}

.turn-timer.critical strong {
  color: #ffaaaa;
}

.turn-timer.critical .turn-timer-bar span {
  background: linear-gradient(90deg, rgba(255, 172, 80, .95), rgba(255, 75, 75, .98));
}

.seat-hand-area {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: .45rem;
  margin-top: .5rem;
}

.seat-hand-area .seat-cards {
  margin-top: 0;
}

.seat-side-avatar {
  display: none;
  width: clamp(42px, 4.6vw, 58px);
  height: clamp(66px, 7vw, 88px);
  object-fit: cover;
  border-radius: .85rem;
  border: 1px solid rgba(255,255,255,.22);
  box-shadow: 0 .6rem 1rem rgba(0,0,0,.32), inset 0 0 0 1px rgba(255,255,255,.08);
}

.seat-pos-1 .seat-topline > .avatar-img,
.seat-pos-2 .seat-topline > .avatar-img {
  display: none;
}

.seat-pos-1 .seat-hand-area.has-side-avatar .seat-side-avatar,
.seat-pos-2 .seat-hand-area.has-side-avatar .seat-side-avatar {
  display: block;
  flex: 0 0 auto;
}

.seat-pos-1 .seat-hand-area.has-side-avatar,
.seat-pos-2 .seat-hand-area.has-side-avatar {
  justify-content: space-between;
}

/* Sichtbarer Seat 4 links, sichtbarer Seat 5 rechts; zusätzlich Seat 6 konsistent rechts */
.seat-pos-3 .ai-action-bubble {
  left: auto;
  right: calc(100% + .72rem);
  top: 50%;
  transform: translateY(-50%);
  text-align: right;
}

.seat-pos-3 .ai-action-bubble::after {
  right: -.36rem;
  left: auto;
  top: 50%;
  bottom: auto;
  transform: translateY(-50%) rotate(45deg);
  border-right: 1px solid rgba(255,255,255,.3);
  border-top: 1px solid rgba(255,255,255,.3);
  border-left: 0;
  border-bottom: 0;
}

.seat-pos-4 .ai-action-bubble,
.seat-pos-5 .ai-action-bubble {
  left: calc(100% + .72rem);
  right: auto;
  text-align: left;
}

.seat-pos-4 .ai-action-bubble::after,
.seat-pos-5 .ai-action-bubble::after {
  left: -.36rem;
  right: auto;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  border-left: 1px solid rgba(255,255,255,.3);
  border-bottom: 1px solid rgba(255,255,255,.3);
  border-right: 0;
  border-top: 0;
}

@media (max-width: 900px) {
  .turn-timer { min-width: 100%; }
  .seat-pos-3 .ai-action-bubble { right: calc(100% + .38rem); }
  .seat-pos-4 .ai-action-bubble,
  .seat-pos-5 .ai-action-bubble { left: calc(100% + .38rem); }
  .seat-side-avatar { width: 40px; height: 62px; border-radius: .72rem; }
}

@media (max-width: 620px) {
  .turn-timer { padding: .42rem .55rem; }
  .turn-timer > div:first-child { font-size: .68rem; }
  .seat-pos-3 .ai-action-bubble { right: calc(100% + .16rem); }
  .seat-pos-4 .ai-action-bubble,
  .seat-pos-5 .ai-action-bubble { left: calc(100% + .16rem); }
  .seat-side-avatar { width: 34px; height: 52px; }
}

.bottom-action-bar {
  grid-template-columns: minmax(190px, 260px) minmax(0, 1fr) minmax(240px, 350px);
}

@media (max-width: 1180px) {
  .bottom-action-bar {
    grid-template-columns: minmax(190px, 260px) minmax(0, 1fr);
  }
  .bottom-action-bar .report-box {
    grid-column: 1 / -1;
  }
}

@media (max-width: 900px) {
  .bottom-action-bar {
    grid-template-columns: 1fr;
  }
  .bottom-action-bar .report-box {
    grid-column: auto;
  }
}

/* Seat-/Timer-Update: sichtbare Seat-Nummern 1 und 4 rechts, Avatare rechts neben Handkarten, analoge Stoppuhr oben rechts */
.analog-turn-timer {
  --timer-progress: 100%;
  --timer-angle: 360deg;
  --timer-rotation: 0deg;
  position: absolute;
  right: max(12px, env(safe-area-inset-right));
  top: max(10px, env(safe-area-inset-top));
  z-index: 48;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: .68rem;
  min-width: 184px;
  padding: .58rem .72rem .58rem .62rem;
  border-radius: 1.35rem;
  color: #fff;
  pointer-events: none;
}

.analog-stopwatch-cap {
  position: absolute;
  left: 2.28rem;
  top: -.25rem;
  width: 1.18rem;
  height: .46rem;
  border-radius: .32rem .32rem .18rem .18rem;
  background: linear-gradient(180deg, rgba(255,246,194,.95), rgba(148,104,36,.94));
  border: 1px solid rgba(255,255,255,.38);
  box-shadow: 0 .32rem .72rem rgba(0,0,0,.34);
}

.analog-stopwatch-face {
  position: relative;
  width: clamp(62px, 6.3vw, 78px);
  height: clamp(62px, 6.3vw, 78px);
  border-radius: 999px;
  background:
    radial-gradient(circle at 50% 50%, rgba(6, 16, 14, .96) 0 54%, transparent 55%),
    conic-gradient(from -90deg, rgba(246, 200, 95, .96) 0 var(--timer-angle), rgba(255,255,255,.13) var(--timer-angle) 360deg);
  border: 2px solid rgba(255, 232, 158, .82);
  box-shadow:
    inset 0 0 0 .28rem rgba(0,0,0,.35),
    inset 0 0 1.2rem rgba(246,200,95,.13),
    0 .75rem 1.6rem rgba(0,0,0,.38),
    0 0 1.4rem rgba(246,200,95,.18);
}

.analog-stopwatch-face::before {
  content: "";
  position: absolute;
  inset: .58rem;
  border-radius: inherit;
  border: 1px solid rgba(255,255,255,.16);
  background: radial-gradient(circle at 42% 28%, rgba(255,255,255,.14), transparent 28%);
}

.analog-stopwatch-face .tick {
  position: absolute;
  left: 50%;
  top: 50%;
  width: .16rem;
  height: .48rem;
  border-radius: 999px;
  background: rgba(255,255,255,.78);
  transform-origin: 50% calc((clamp(62px, 6.3vw, 78px) / 2) - .48rem);
  z-index: 1;
}

.tick-0 { transform: translate(-50%, calc(-50% - 1.75rem)); }
.tick-15 { transform: translate(calc(-50% + 1.75rem), -50%) rotate(90deg); }
.tick-30 { transform: translate(-50%, calc(-50% + 1.75rem)); }
.tick-45 { transform: translate(calc(-50% - 1.75rem), -50%) rotate(90deg); }

.stopwatch-needle {
  position: absolute;
  left: 50%;
  top: 50%;
  width: .16rem;
  height: 38%;
  border-radius: 999px;
  background: linear-gradient(180deg, #ff7070, #ffe6a0);
  transform-origin: 50% 95%;
  transform: translate(-50%, -95%) rotate(var(--timer-rotation));
  transition: transform .32s linear;
  z-index: 3;
  box-shadow: 0 0 .7rem rgba(255, 104, 104, .55);
}

.stopwatch-center {
  position: absolute;
  left: 50%;
  top: 50%;
  width: .64rem;
  height: .64rem;
  border-radius: 999px;
  background: #ffe6a0;
  transform: translate(-50%, -50%);
  z-index: 4;
  box-shadow: 0 0 .7rem rgba(246,200,95,.6);
}

.analog-stopwatch-copy {
  display: grid;
  gap: .12rem;
  min-width: 0;
}

.analog-stopwatch-copy span {
  color: rgba(255,255,255,.62);
  text-transform: uppercase;
  letter-spacing: .11em;
  font-size: .68rem;
  font-weight: 950;
}

.analog-stopwatch-copy strong {
  color: #ffe6a0;
  font-size: clamp(.98rem, 1.5vw, 1.22rem);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  text-shadow: 0 .18rem .55rem rgba(0,0,0,.46);
}

.analog-turn-timer.critical {
  border-color: rgba(255, 120, 120, .56);
  box-shadow: 0 1rem 3rem rgba(0,0,0,.34), 0 0 1.8rem rgba(255, 75, 75, .22);
}

.analog-turn-timer.critical .analog-stopwatch-face {
  border-color: rgba(255, 160, 145, .9);
  background:
    radial-gradient(circle at 50% 50%, rgba(35, 10, 12, .96) 0 54%, transparent 55%),
    conic-gradient(from -90deg, rgba(255, 104, 104, .98) 0 var(--timer-angle), rgba(255,255,255,.13) var(--timer-angle) 360deg);
}

.analog-turn-timer.critical .analog-stopwatch-copy strong {
  color: #ffb4b4;
  text-shadow: 0 0 .9rem rgba(255, 75, 75, .55);
}

.bottom-action-bar {
  grid-template-columns: minmax(0, 1fr) minmax(240px, 350px);
}

.seat-pos-1 .seat-topline > .avatar-img,
.seat-pos-2 .seat-topline > .avatar-img {
  display: block;
}

.seat-pos-0 .seat-topline > .avatar-img,
.seat-pos-3 .seat-topline > .avatar-img,
.seat-pos-4 .seat-topline > .avatar-img,
.seat-pos-5 .seat-topline > .avatar-img {
  display: none;
}

.seat-pos-0 .seat-hand-area.has-side-avatar .seat-side-avatar,
.seat-pos-3 .seat-hand-area.has-side-avatar .seat-side-avatar,
.seat-pos-4 .seat-hand-area.has-side-avatar .seat-side-avatar,
.seat-pos-5 .seat-hand-area.has-side-avatar .seat-side-avatar {
  display: block;
  flex: 0 0 auto;
}

.seat-pos-0 .seat-hand-area.has-side-avatar,
.seat-pos-3 .seat-hand-area.has-side-avatar,
.seat-pos-4 .seat-hand-area.has-side-avatar,
.seat-pos-5 .seat-hand-area.has-side-avatar {
  justify-content: space-between;
}

.seat-pos-0 .action-bubble,
.seat-pos-3 .ai-action-bubble {
  left: calc(100% + .72rem);
  right: auto;
  top: 50%;
  transform: translateY(-50%);
  text-align: left;
}

.seat-pos-0 .action-bubble::after,
.seat-pos-3 .ai-action-bubble::after {
  left: -.36rem;
  right: auto;
  top: 50%;
  bottom: auto;
  transform: translateY(-50%) rotate(45deg);
  border-left: 1px solid rgba(255,255,255,.3);
  border-bottom: 1px solid rgba(255,255,255,.3);
  border-right: 0;
  border-top: 0;
}

@media (max-width: 1180px) {
  .analog-turn-timer {
    top: calc(max(10px, env(safe-area-inset-top)) + 76px);
    min-width: 166px;
  }
}

@media (max-width: 900px) {
  .analog-turn-timer {
    top: calc(max(10px, env(safe-area-inset-top)) + 118px);
    right: max(8px, env(safe-area-inset-right));
    padding: .46rem .52rem;
    gap: .44rem;
  }

  .analog-stopwatch-copy span { font-size: .58rem; }
  .seat-pos-0 .action-bubble,
  .seat-pos-3 .ai-action-bubble { left: calc(100% + .38rem); }
}

@media (max-width: 620px) {
  .analog-turn-timer {
    min-width: auto;
    grid-template-columns: auto;
    justify-items: center;
  }

  .analog-stopwatch-copy { display: none; }
  .seat-pos-0 .action-bubble,
  .seat-pos-3 .ai-action-bubble { left: calc(100% + .16rem); }
}

/* Out-of-chips + Timer-Status unter analoger Stoppuhr */
.analog-turn-timer {
  grid-template-columns: auto minmax(120px, 1fr);
  min-width: clamp(248px, 24vw, 340px);
  pointer-events: none;
}

.timer-status-under {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .42rem;
  margin-top: .18rem;
  padding-top: .54rem;
  border-top: 1px solid rgba(255,255,255,.13);
}

.timer-status-under div {
  min-width: 0;
  padding: .38rem .45rem;
  border-radius: .78rem;
  background: linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.03));
  border: 1px solid rgba(255,255,255,.1);
}

.timer-status-under span {
  display: block;
  color: rgba(255,255,255,.58);
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: .56rem;
  font-weight: 950;
  white-space: nowrap;
}

.timer-status-under strong {
  display: block;
  margin-top: .1rem;
  color: #fff4bf;
  font-size: clamp(.72rem, .95vw, .88rem);
  line-height: 1.05;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-variant-numeric: tabular-nums;
}

/* Die gleichen Statuswerte stehen jetzt direkt unter dem Timer. */
.table-status-ribbon {
  display: none;
}

.seat-card.eliminated-seat {
  filter: grayscale(1) saturate(.22) brightness(.58);
  opacity: .62;
  border-color: rgba(170, 180, 190, .26);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.04), 0 .7rem 1.6rem rgba(0,0,0,.24);
}

.seat-card.eliminated-seat::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: repeating-linear-gradient(-35deg, rgba(255,255,255,.055) 0 8px, transparent 8px 17px);
  pointer-events: none;
  z-index: 0;
}

.seat-card.eliminated-seat > * {
  position: relative;
  z-index: 1;
}

.out-of-chips-badge {
  position: absolute;
  right: .48rem;
  top: .46rem;
  z-index: 5;
  padding: .18rem .42rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.24);
  background: linear-gradient(135deg, rgba(80, 88, 98, .96), rgba(22, 27, 32, .96));
  color: rgba(255,255,255,.82);
  font-size: .62rem;
  font-weight: 1000;
  letter-spacing: .12em;
  box-shadow: 0 .45rem 1rem rgba(0,0,0,.34);
}

.eliminated-seat .seat-name,
.eliminated-seat .seat-numbers strong {
  color: rgba(255,255,255,.72);
}

.eliminated-seat .seat-meta,
.eliminated-seat .seat-chip-label {
  color: rgba(255,255,255,.44);
}

.eliminated-seat .turn-dot {
  display: none;
}

.seat-cards-out {
  width: 100%;
  min-height: var(--card-h);
  align-items: center;
  justify-content: center;
}

.eliminated-placeholder {
  display: grid;
  place-items: center;
  min-width: calc(var(--card-w) * 2 + .45rem);
  min-height: calc(var(--card-h) * .78);
  padding: .3rem .55rem;
  border-radius: .9rem;
  border: 1px dashed rgba(255,255,255,.22);
  background: rgba(0,0,0,.24);
  color: rgba(255,255,255,.58);
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: .62rem;
  font-weight: 950;
  text-align: center;
}

.eliminated-seat .action-bubble {
  opacity: .8;
}

@media (max-width: 900px) {
  .timer-status-under {
    grid-template-columns: 1fr;
    gap: .28rem;
  }
  .timer-status-under div {
    padding: .28rem .38rem;
  }
  .timer-status-under span {
    font-size: .5rem;
  }
  .timer-status-under strong {
    font-size: .68rem;
  }
}

@media (max-width: 620px) {
  .analog-turn-timer {
    min-width: 106px;
  }
  .timer-status-under {
    display: none;
  }
}


/* UX-Fix: Seat-2/Seat-3-Profilbilder rechts hochformatig, freie Aktionsleiste, scrollbare Lobby, klare Gewinnerkarten */
.game-root.auth-flow {
  height: 100vh;
  height: 100dvh;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior-y: contain;
}

.lobby-screen {
  overflow: visible;
  min-height: 100vh;
  min-height: 100dvh;
  height: auto;
  padding-bottom: max(3rem, calc(env(safe-area-inset-bottom) + 3rem));
}

.lobby-screen::before {
  position: fixed;
}

.table-select-grid {
  padding-bottom: max(1.5rem, env(safe-area-inset-bottom));
}

.seat-card .seat-topline > .avatar-img {
  display: none !important;
}

.seat-hand-area.has-side-avatar {
  justify-content: space-between;
}

.seat-hand-area.has-side-avatar .seat-side-avatar {
  display: block;
  flex: 0 0 auto;
  order: 2;
}

.seat-hand-area.has-side-avatar .seat-cards {
  order: 1;
}

.bottom-action-bar {
  grid-template-columns: 1fr !important;
  width: min(1180px, calc(100vw - 24px));
  padding: .52rem;
}

.bottom-action-bar .report-box {
  display: none !important;
}

.primary-actions {
  flex-wrap: wrap;
  justify-content: center;
  overflow: visible;
  padding-bottom: 0;
}

.action-btn {
  flex: 1 1 104px;
  min-width: 96px;
  min-height: 44px;
  padding-inline: .58rem;
}

.custom-bet-control {
  flex: 2 1 260px;
  min-width: min(260px, 100%);
}

.winner-strip {
  max-width: min(680px, 82vw);
}

.winner-strip-card {
  padding: .78rem 1.2rem .88rem;
}

.winner-hole-cards {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: .42rem;
  margin: .42rem 0 .28rem;
}

.winner-hole-cards .playing-card {
  width: clamp(48px, 5.4vw, 72px);
  height: calc(clamp(48px, 5.4vw, 72px) * 1.42);
  transform: translateY(-.03rem) scale(1.05);
  box-shadow: 0 .9rem 1.9rem rgba(0,0,0,.44), 0 0 1.4rem rgba(246, 200, 95, .45);
  outline: 2px solid rgba(255, 238, 168, .82);
  outline-offset: 2px;
}

.seat-card.winner-seat .seat-cards .playing-card:not(.back) {
  outline: 2px solid rgba(255, 238, 168, .85);
  outline-offset: 2px;
  box-shadow: 0 .7rem 1.7rem rgba(0,0,0,.4), 0 0 1.5rem rgba(246, 200, 95, .55);
}

@media (max-width: 900px) {
  .primary-actions {
    gap: .35rem;
  }
  .action-btn {
    flex-basis: 90px;
    min-width: 86px;
    min-height: 40px;
    font-size: .78rem;
  }
  .custom-bet-control {
    flex-basis: 100%;
  }
}

@media (max-width: 620px) {
  .bottom-action-bar {
    width: calc(100vw - 12px);
    padding: .38rem;
  }
  .action-btn {
    flex-basis: calc(33.333% - .35rem);
    min-width: 0;
    padding-inline: .35rem;
  }
  .winner-strip {
    max-width: 94vw;
  }
  .winner-hole-cards .playing-card {
    width: 42px;
    height: 60px;
  }
}

/* Premium Casino Lobby Redesign: glamorous overview page without touching game logic */
.game-root.auth-flow {
  height: 100vh;
  height: 100dvh;
  min-height: 100vh;
  min-height: 100dvh;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  background:
    radial-gradient(circle at 16% 6%, rgba(246, 200, 95, .18), transparent 22rem),
    radial-gradient(circle at 82% 10%, rgba(103, 215, 255, .15), transparent 26rem),
    radial-gradient(circle at 52% 80%, rgba(113, 232, 176, .14), transparent 32rem),
    linear-gradient(135deg, #030605 0%, #07120f 42%, #130f07 100%);
}

.premium-lobby-screen {
  width: 100%;
  min-height: 100vh;
  min-height: 100dvh;
  height: auto;
  display: grid;
  grid-template-columns: 1fr;
  place-items: start center;
  align-content: start;
  gap: clamp(1rem, 2.2vw, 1.55rem);
  padding: max(1rem, env(safe-area-inset-top)) clamp(.85rem, 3vw, 2rem) max(3rem, calc(env(safe-area-inset-bottom) + 3rem));
  overflow: visible;
  isolation: isolate;
}

.premium-lobby-screen::before {
  position: fixed;
  inset: 0;
  background:
    radial-gradient(ellipse at 50% -12%, rgba(246, 200, 95, .22), transparent 34rem),
    radial-gradient(circle at 6% 42%, rgba(113, 232, 176, .12), transparent 24rem),
    radial-gradient(circle at 94% 46%, rgba(103, 215, 255, .12), transparent 25rem),
    linear-gradient(135deg, rgba(2, 5, 4, .98), rgba(5, 17, 13, .96) 54%, rgba(20, 13, 4, .98));
  pointer-events: none;
  z-index: 0;
}

.premium-lobby-screen::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(246, 200, 95, .055) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255, 255, 255, .035) 1px, transparent 1px),
    radial-gradient(ellipse at center, transparent 38%, rgba(0, 0, 0, .32) 100%);
  background-size: 72px 72px, 72px 72px, 100% 100%;
  mask-image: radial-gradient(ellipse at center, black 0%, transparent 78%);
}

.premium-lobby-header,
.lobby-hero,
.premium-access-grid,
.lobby-table-section,
.lobby-message,
.lobby-shop-panel {
  position: relative;
  z-index: 1;
}

.premium-lobby-header {
  width: min(1180px, calc(100vw - 2rem));
  border-radius: 1.45rem;
  padding: .72rem;
  display: grid;
  grid-template-columns: minmax(220px, 1.1fr) auto auto;
  gap: .85rem;
  align-items: center;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .115), rgba(255, 255, 255, .045)),
    linear-gradient(135deg, rgba(10, 24, 19, .88), rgba(15, 11, 5, .82));
  border: 1px solid rgba(246, 200, 95, .26);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .12),
    0 1.2rem 3.2rem rgba(0, 0, 0, .42),
    0 0 3rem rgba(246, 200, 95, .075);
}

.lobby-brand-lockup {
  min-width: 0;
}

.lobby-brand-logo {
  border-radius: 1rem;
  padding: .45rem;
  background: radial-gradient(circle at 35% 28%, rgba(255, 255, 255, .22), transparent 46%), linear-gradient(135deg, #f6c85f, #533a0a);
  box-shadow: 0 .65rem 1.35rem rgba(0, 0, 0, .34), 0 0 2rem rgba(246, 200, 95, .18);
}

.premium-lobby-header .brand-title {
  font-size: clamp(1.05rem, 2vw, 1.34rem);
  letter-spacing: .01em;
  color: #fff7dc;
}

.premium-lobby-header .brand-subtitle {
  color: rgba(255, 244, 214, .68);
}

.lobby-player-strip {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .45rem;
  padding: .35rem;
  border-radius: 999px;
  background: rgba(0, 0, 0, .22);
  border: 1px solid rgba(255, 255, 255, .075);
}

.lobby-player-stat {
  min-width: 88px;
  padding: .42rem .7rem;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(246, 200, 95, .12), rgba(255, 255, 255, .055));
  border: 1px solid rgba(246, 200, 95, .14);
  text-align: center;
}

.lobby-player-stat span,
.lobby-eyebrow {
  display: block;
  color: #f6c85f;
  font-size: .68rem;
  font-weight: 950;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.lobby-player-stat strong {
  display: block;
  color: #fffaf0;
  font-size: .9rem;
  line-height: 1.05;
  margin-top: .1rem;
  max-width: 9rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.premium-profile-chip,
.premium-header-btn {
  border-color: rgba(246, 200, 95, .28);
  background: rgba(255, 255, 255, .07);
}

.premium-profile-chip {
  color: #fff7dc;
  box-shadow: inset 0 0 0 1px rgba(246, 200, 95, .08);
}

.premium-header-btn:hover,
.premium-profile-chip:hover {
  border-color: rgba(246, 200, 95, .48);
  box-shadow: 0 0 1.2rem rgba(246, 200, 95, .14);
}

.lobby-hero {
  width: min(1180px, calc(100vw - 2rem));
  min-height: clamp(340px, 45vw, 470px);
  border-radius: clamp(1.6rem, 3vw, 2.35rem);
  padding: clamp(1.2rem, 3.4vw, 2.5rem);
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr);
  gap: clamp(1rem, 3vw, 2rem);
  align-items: center;
  overflow: hidden;
  background:
    linear-gradient(110deg, rgba(8, 26, 20, .92), rgba(6, 10, 9, .58) 48%, rgba(32, 20, 7, .88)),
    radial-gradient(circle at 78% 22%, rgba(246, 200, 95, .18), transparent 20rem),
    radial-gradient(circle at 22% 82%, rgba(113, 232, 176, .12), transparent 18rem);
  border: 1px solid rgba(246, 200, 95, .25);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .11),
    0 2rem 4rem rgba(0, 0, 0, .42),
    0 0 4rem rgba(246, 200, 95, .08);
}

.lobby-hero::before,
.lobby-hero::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

.lobby-hero::before {
  inset: -45% -18% auto auto;
  width: min(560px, 70vw);
  aspect-ratio: 1;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(246, 200, 95, .28), transparent 65%);
  filter: blur(18px);
}

.lobby-hero::after {
  inset: 0;
  background: linear-gradient(125deg, transparent 0 42%, rgba(255, 255, 255, .085) 43%, transparent 51% 100%);
  opacity: .55;
}

.lobby-hero-copy,
.lobby-hero-board {
  position: relative;
  z-index: 1;
}

.lobby-hero-copy h1 {
  margin: .35rem 0 0;
  max-width: 760px;
  color: #fff7dc;
  font-size: clamp(2.35rem, 6vw, 5.5rem);
  line-height: .92;
  font-weight: 1000;
  letter-spacing: -.065em;
  text-wrap: balance;
  text-shadow: 0 .9rem 2.2rem rgba(0, 0, 0, .32), 0 0 2rem rgba(246, 200, 95, .13);
}

.lobby-hero-copy p {
  width: min(680px, 100%);
  margin: clamp(.8rem, 2vw, 1.15rem) 0 0;
  color: rgba(255, 248, 229, .74);
  font-size: clamp(.98rem, 1.45vw, 1.12rem);
  line-height: 1.62;
}

.lobby-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin-top: clamp(1.1rem, 2.8vw, 1.8rem);
}

.lobby-hero-btn,
.premium-table-btn,
.lobby-access-btn {
  min-height: 48px;
  border-radius: 999px;
  padding: .82rem 1.1rem;
  border: 1px solid rgba(255, 255, 255, .14);
  color: #fff8e7;
  font-weight: 950;
  letter-spacing: .01em;
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, filter .18s ease;
}

.lobby-hero-btn.primary,
.premium-table-btn,
.lobby-access-btn {
  background:
    linear-gradient(135deg, rgba(255, 246, 205, .24), transparent 38%),
    linear-gradient(135deg, #f6c85f, #b67620 48%, #1ec58d);
  color: #160f05;
  border-color: rgba(255, 231, 166, .55);
  box-shadow: 0 1rem 2rem rgba(0, 0, 0, .35), 0 0 1.6rem rgba(246, 200, 95, .18);
}

.lobby-hero-btn.secondary {
  background: rgba(255, 255, 255, .065);
  color: #fff7dc;
  border-color: rgba(246, 200, 95, .26);
}

.lobby-hero-btn:hover,
.premium-table-btn:hover,
.lobby-access-btn:hover {
  transform: translateY(-1px);
  filter: brightness(1.06);
  box-shadow: 0 1.2rem 2.3rem rgba(0, 0, 0, .38), 0 0 2rem rgba(246, 200, 95, .24);
}

.lobby-hero-btn:disabled,
.premium-table-btn:disabled,
.lobby-access-btn:disabled {
  cursor: not-allowed;
  transform: none;
  filter: grayscale(.35);
  box-shadow: none;
}

.lobby-hero-board {
  justify-self: end;
  width: min(360px, 100%);
  aspect-ratio: 1;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle, rgba(113, 232, 176, .2), transparent 58%),
    conic-gradient(from 120deg, rgba(246, 200, 95, .08), rgba(103, 215, 255, .13), rgba(246, 200, 95, .08));
  border: 1px solid rgba(246, 200, 95, .16);
  box-shadow: inset 0 0 4rem rgba(0, 0, 0, .42), 0 0 4rem rgba(246, 200, 95, .1);
}

.hero-card-stack {
  position: relative;
  width: 210px;
  height: 232px;
}

.hero-playing-card {
  position: absolute;
  width: 132px;
  height: 190px;
  display: grid;
  place-items: center;
  border-radius: 1.2rem;
  background: linear-gradient(160deg, #fffef6, #e9dcc2);
  color: #10100c;
  font-size: 2.1rem;
  font-weight: 1000;
  box-shadow: 0 1.2rem 2.4rem rgba(0, 0, 0, .45);
  border: 1px solid rgba(255, 255, 255, .7);
}

.hero-playing-card:first-child {
  left: 6px;
  top: 22px;
  transform: rotate(-11deg);
}

.hero-playing-card:last-child {
  right: 6px;
  top: 5px;
  transform: rotate(12deg);
}

.hero-playing-card.red {
  color: #9a1820;
}

.hero-chip-orbit span {
  position: absolute;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(135deg, #f6c85f, #684208);
  color: #170f05;
  font-weight: 1000;
  box-shadow: 0 .7rem 1.5rem rgba(0, 0, 0, .32), 0 0 1rem rgba(246, 200, 95, .2);
}

.hero-chip-orbit span:nth-child(1) { left: 14%; top: 28%; }
.hero-chip-orbit span:nth-child(2) { right: 12%; top: 25%; }
.hero-chip-orbit span:nth-child(3) { left: 22%; bottom: 17%; }
.hero-chip-orbit span:nth-child(4) { right: 22%; bottom: 15%; }

.hero-room-stats {
  position: absolute;
  left: 50%;
  bottom: 1rem;
  transform: translateX(-50%);
  width: max-content;
  min-width: 180px;
  padding: .7rem .9rem;
  border-radius: 999px;
  background: rgba(2, 6, 5, .72);
  border: 1px solid rgba(246, 200, 95, .22);
  text-align: center;
  box-shadow: 0 .8rem 1.8rem rgba(0, 0, 0, .32);
}

.hero-room-stats span,
.hero-room-stats strong {
  display: block;
}

.hero-room-stats span {
  color: rgba(255, 255, 255, .68);
  font-size: .78rem;
  font-weight: 850;
}

.hero-room-stats strong {
  color: #f6c85f;
  font-size: 1.04rem;
  font-weight: 1000;
}

.premium-access-grid {
  width: min(1180px, calc(100vw - 2rem));
  grid-template-columns: minmax(270px, .9fr) minmax(320px, 1.1fr);
}

.premium-access-card {
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .1), rgba(255, 255, 255, .035)),
    rgba(6, 16, 13, .72);
  border: 1px solid rgba(246, 200, 95, .17);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .09), 0 1rem 2.4rem rgba(0, 0, 0, .31);
}

.premium-access-card .lobby-access-copy span {
  color: #f6c85f;
}

.premium-access-card .lobby-access-copy h2 {
  color: #fff7dc;
}

.lobby-table-section {
  width: min(1180px, calc(100vw - 2rem));
  display: grid;
  gap: clamp(.85rem, 1.8vw, 1.2rem);
  padding-bottom: max(1.75rem, env(safe-area-inset-bottom));
  scroll-margin-top: 1rem;
}

.lobby-section-head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 1rem;
}

.lobby-section-head h2 {
  margin: .2rem 0 0;
  color: #fff7dc;
  font-size: clamp(1.55rem, 3vw, 2.55rem);
  line-height: .96;
  font-weight: 1000;
  letter-spacing: -.045em;
}

.lobby-floor-summary {
  display: flex;
  gap: .45rem;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.lobby-floor-summary span {
  padding: .5rem .72rem;
  border-radius: 999px;
  color: rgba(255, 248, 229, .86);
  background: rgba(255, 255, 255, .065);
  border: 1px solid rgba(246, 200, 95, .15);
  font-size: .82rem;
  font-weight: 900;
}

.premium-table-grid {
  width: 100%;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(.95rem, 2vw, 1.25rem);
}

.premium-table-card {
  position: relative;
  border-radius: 1.75rem;
  padding: .78rem;
  gap: .9rem;
  overflow: hidden;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .105), rgba(255, 255, 255, .035)),
    linear-gradient(145deg, rgba(7, 22, 17, .84), rgba(5, 8, 8, .78));
  border: 1px solid rgba(246, 200, 95, .16);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .09),
    0 1.1rem 2.8rem rgba(0, 0, 0, .38);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.premium-table-card::before {
  content: "";
  position: absolute;
  inset: -2px;
  pointer-events: none;
  opacity: .72;
  background: radial-gradient(circle at 18% 0%, rgba(246, 200, 95, .18), transparent 18rem);
}

.premium-table-card:hover {
  transform: translateY(-3px);
  border-color: rgba(246, 200, 95, .36);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12), 0 1.5rem 3.4rem rgba(0, 0, 0, .46), 0 0 2.5rem rgba(246, 200, 95, .08);
}

.premium-table-card.is-available {
  border-color: rgba(246, 200, 95, .28);
}

.premium-table-card.is-available::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  box-shadow: inset 0 0 0 1px rgba(246, 200, 95, .16), inset 0 0 2.3rem rgba(246, 200, 95, .055);
}

.premium-table-card.is-locked {
  filter: saturate(.72);
  opacity: .82;
}

.premium-table-card.is-locked .table-cover-img {
  filter: grayscale(.3) brightness(.74);
}

.table-card-neon {
  border-color: rgba(103, 215, 255, .18);
}

.table-card-neon::before {
  background: radial-gradient(circle at 18% 0%, rgba(103, 215, 255, .18), transparent 18rem);
}

.table-card-royal {
  border-color: rgba(246, 200, 95, .24);
}

.table-card-royal::before {
  background: radial-gradient(circle at 18% 0%, rgba(255, 213, 111, .22), transparent 18rem);
}

.premium-cover-frame {
  aspect-ratio: 16 / 10.4;
  border-radius: 1.28rem;
  border: 1px solid rgba(246, 200, 95, .2);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .04), 0 .9rem 1.8rem rgba(0, 0, 0, .28);
}

.table-cover-shade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(0, 0, 0, .35), transparent 38%, rgba(0, 0, 0, .82)),
    radial-gradient(circle at 80% 8%, rgba(246, 200, 95, .16), transparent 16rem);
  pointer-events: none;
}

.table-open-pill {
  left: .7rem;
  top: .7rem;
  color: #dfffee;
  border-color: rgba(113, 232, 176, .45);
  background: rgba(17, 91, 61, .72);
}

.table-mode-pill {
  left: auto;
  right: .7rem;
  top: .7rem;
  color: #fff7dc;
  border-color: rgba(246, 200, 95, .45);
  background: rgba(70, 44, 8, .74);
}

.table-mode-timeattack .table-mode-pill {
  color: #eaffff;
  border-color: rgba(103, 215, 255, .5);
  background: rgba(18, 73, 94, .78);
}

.table-cover-title {
  position: absolute;
  left: .85rem;
  right: .85rem;
  bottom: .8rem;
}

.table-cover-title span {
  display: block;
  color: #f6c85f;
  font-size: .72rem;
  font-weight: 950;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.table-cover-title strong {
  display: block;
  margin-top: .1rem;
  color: #fffdf4;
  font-size: clamp(1.18rem, 2vw, 1.58rem);
  line-height: 1;
  font-weight: 1000;
  letter-spacing: -.04em;
  text-shadow: 0 .6rem 1.2rem rgba(0, 0, 0, .48);
}

.premium-table-copy {
  position: relative;
  z-index: 1;
  padding: 0 .18rem;
}

.premium-table-copy p {
  margin: 0;
  min-height: 3.2em;
  color: rgba(255, 248, 229, .69);
  line-height: 1.5;
}

.table-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .5rem;
  margin-top: .85rem;
}

.table-detail-grid div {
  min-width: 0;
  border-radius: 1rem;
  padding: .62rem .68rem;
  background: rgba(0, 0, 0, .22);
  border: 1px solid rgba(255, 255, 255, .075);
}

.table-detail-grid span,
.table-detail-grid strong {
  display: block;
}

.table-detail-grid span {
  color: rgba(255, 244, 214, .54);
  font-size: .68rem;
  font-weight: 950;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.table-detail-grid strong {
  margin-top: .18rem;
  color: #fff7dc;
  font-size: .88rem;
  font-weight: 950;
  line-height: 1.12;
}

.premium-meta-row {
  margin-top: .65rem;
}

.premium-meta-row span {
  background: rgba(255, 255, 255, .055);
  border-color: rgba(246, 200, 95, .12);
  color: rgba(255, 248, 229, .78);
}

.premium-table-card .table-credit-note {
  border-radius: 1rem;
  background: rgba(17, 91, 61, .24);
  border-color: rgba(113, 232, 176, .26);
  color: #dfffee;
}

.premium-table-card .table-credit-note.locked {
  background: rgba(75, 21, 26, .32);
  border-color: rgba(255, 120, 135, .32);
  color: #ffdce1;
}

.premium-table-btn {
  position: relative;
  z-index: 1;
  width: 100%;
}

.premium-table-card.is-locked .premium-table-btn {
  color: rgba(255, 255, 255, .74);
  background: rgba(255, 255, 255, .075);
  border-color: rgba(255, 255, 255, .11);
}

@media (max-width: 1080px) {
  .premium-lobby-header {
    grid-template-columns: 1fr;
    border-radius: 1.35rem;
  }

  .lobby-player-strip,
  .lobby-header-actions {
    justify-content: flex-start;
  }

  .lobby-hero {
    grid-template-columns: 1fr;
  }

  .lobby-hero-board {
    justify-self: center;
    width: min(320px, 74vw);
  }
}

@media (max-width: 920px) {
  .premium-table-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .premium-access-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .premium-lobby-screen {
    padding: .75rem .75rem max(2.4rem, calc(env(safe-area-inset-bottom) + 2.4rem));
  }

  .premium-lobby-header,
  .lobby-hero,
  .premium-access-grid,
  .lobby-table-section {
    width: min(100%, calc(100vw - 1.2rem));
  }

  .lobby-player-strip {
    border-radius: 1rem;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
  }

  .lobby-player-stat {
    min-width: 0;
    padding-inline: .45rem;
  }

  .lobby-player-stat strong {
    max-width: 100%;
    font-size: .8rem;
  }

  .lobby-hero {
    min-height: 0;
    padding: 1.05rem;
  }

  .lobby-hero-copy h1 {
    font-size: clamp(2rem, 12vw, 3.25rem);
  }

  .lobby-hero-copy p {
    font-size: .94rem;
    line-height: 1.5;
  }

  .lobby-hero-actions,
  .lobby-header-actions {
    width: 100%;
  }

  .lobby-hero-btn,
  .premium-profile-chip,
  .premium-header-btn {
    flex: 1 1 150px;
    justify-content: center;
  }

  .lobby-hero-board {
    width: min(260px, 82vw);
  }

  .hero-card-stack {
    transform: scale(.78);
  }

  .hero-chip-orbit span {
    width: 38px;
    height: 38px;
  }

  .lobby-section-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .lobby-floor-summary {
    justify-content: flex-start;
  }
}

@media (max-width: 620px) {
  .premium-table-grid {
    grid-template-columns: 1fr;
    width: 100%;
  }

  .premium-cover-frame {
    aspect-ratio: 16 / 9.3;
  }

  .premium-table-copy p {
    min-height: 0;
  }

  .table-detail-grid {
    grid-template-columns: 1fr 1fr;
  }

  .lobby-profile-card.premium-access-card,
  .lobby-shop-card.premium-access-card {
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
  }

  .lobby-profile-card.premium-access-card .lobby-access-btn {
    grid-column: 1 / -1;
  }

  .premium-access-card .lobby-profile-avatar-wrap {
    width: 84px;
  }

  .premium-access-card .lobby-shop-cover-frame {
    width: 92px;
    aspect-ratio: 1;
    justify-self: stretch;
  }
}

@media (max-width: 430px) {
  .lobby-player-strip,
  .table-detail-grid {
    grid-template-columns: 1fr;
  }

  .lobby-profile-card.premium-access-card,
  .lobby-shop-card.premium-access-card {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .premium-access-card .lobby-profile-avatar-wrap,
  .premium-access-card .lobby-shop-cover-frame {
    justify-self: center;
  }
}

/* Poker Room Selection Upgrade: emotional room cards, safe client-side filters, mobile-first spacing */
.premium-lobby-screen {
  background:
    radial-gradient(circle at 50% -8%, rgba(246, 200, 95, .16), transparent 34rem),
    radial-gradient(circle at 88% 18%, rgba(154, 86, 255, .12), transparent 28rem),
    radial-gradient(circle at 8% 34%, rgba(24, 211, 149, .12), transparent 26rem),
    linear-gradient(145deg, #020403 0%, #06110d 44%, #160e05 100%);
}

.premium-lobby-screen::before {
  background:
    radial-gradient(ellipse at 50% -8%, rgba(255, 211, 101, .28), transparent 32rem),
    radial-gradient(circle at 14% 54%, rgba(20, 170, 123, .13), transparent 26rem),
    radial-gradient(circle at 92% 44%, rgba(116, 80, 255, .11), transparent 26rem),
    linear-gradient(135deg, rgba(2, 4, 4, .98), rgba(5, 17, 13, .97) 48%, rgba(24, 14, 4, .98));
}

.premium-lobby-screen::after {
  background:
    linear-gradient(90deg, rgba(246, 200, 95, .045) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255, 255, 255, .03) 1px, transparent 1px),
    radial-gradient(ellipse at center, transparent 36%, rgba(0, 0, 0, .36) 100%);
  background-size: 92px 92px, 92px 92px, 100% 100%;
}

.poker-room-section-head {
  align-items: center;
}

.lobby-section-subtitle {
  max-width: 620px;
  margin: .38rem 0 0;
  color: rgba(255, 248, 229, .68);
  line-height: 1.55;
}

.lobby-room-toolbar {
  width: 100%;
  border-radius: 1.2rem;
  padding: .5rem;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, .025)),
    rgba(3, 10, 8, .68);
  border: 1px solid rgba(246, 200, 95, .16);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .07), 0 .8rem 1.8rem rgba(0, 0, 0, .28);
}

.lobby-filter-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
}

.lobby-filter-tabs button {
  min-height: 42px;
  border: 1px solid rgba(255, 255, 255, .11);
  border-radius: 999px;
  padding: .5rem .74rem .5rem .9rem;
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  color: rgba(255, 248, 229, .78);
  background: rgba(255, 255, 255, .055);
  font-weight: 950;
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
}

.lobby-filter-tabs button strong {
  min-width: 1.55rem;
  height: 1.55rem;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  color: #171005;
  background: linear-gradient(135deg, #f9d57b, #b9741d);
  font-size: .78rem;
  box-shadow: 0 .3rem .8rem rgba(0, 0, 0, .24);
}

.lobby-filter-tabs button:hover,
.lobby-filter-tabs button.active {
  transform: translateY(-1px);
  color: #fff7dc;
  border-color: rgba(246, 200, 95, .42);
  background: linear-gradient(135deg, rgba(246, 200, 95, .18), rgba(255, 255, 255, .06));
  box-shadow: 0 .65rem 1.4rem rgba(0, 0, 0, .28), 0 0 1.2rem rgba(246, 200, 95, .12);
}

.lobby-empty-state {
  border-radius: 1.25rem;
  padding: 1rem;
  display: grid;
  gap: .2rem;
  color: rgba(255, 248, 229, .75);
  border: 1px solid rgba(246, 200, 95, .15);
  background: rgba(3, 10, 8, .68);
}

.lobby-empty-state strong {
  color: #fff7dc;
}

.poker-room-grid {
  align-items: stretch;
}

.poker-room-card {
  min-height: 100%;
  border-radius: 2rem;
  padding: .85rem;
  display: grid;
  grid-template-rows: auto 1fr auto;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .12), rgba(255, 255, 255, .03)),
    radial-gradient(circle at 18% 0%, rgba(246, 200, 95, .12), transparent 18rem),
    linear-gradient(145deg, rgba(6, 24, 18, .88), rgba(4, 8, 8, .82));
}

.poker-room-card.is-recommended {
  border-color: rgba(246, 200, 95, .48);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .14),
    inset 0 0 0 1px rgba(246, 200, 95, .14),
    0 1.2rem 3rem rgba(0, 0, 0, .45),
    0 0 2.8rem rgba(246, 200, 95, .16);
}

.poker-room-card.table-card-neon {
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .105), rgba(255, 255, 255, .03)),
    radial-gradient(circle at 82% 3%, rgba(103, 215, 255, .16), transparent 16rem),
    linear-gradient(145deg, rgba(3, 17, 23, .9), rgba(6, 8, 16, .82));
}

.poker-room-card.table-card-royal {
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .12), rgba(255, 255, 255, .03)),
    radial-gradient(circle at 50% 0%, rgba(246, 200, 95, .22), transparent 18rem),
    linear-gradient(145deg, rgba(34, 21, 4, .9), rgba(6, 6, 8, .86));
}

.poker-room-card.table-mode-timeattack {
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .11), rgba(255, 255, 255, .03)),
    radial-gradient(circle at 80% 5%, rgba(103, 215, 255, .18), transparent 18rem),
    radial-gradient(circle at 8% 60%, rgba(246, 200, 95, .11), transparent 16rem),
    linear-gradient(145deg, rgba(6, 12, 22, .9), rgba(3, 7, 10, .86));
}

.poker-room-cover {
  aspect-ratio: 16 / 11.4;
  border-radius: 1.5rem;
  overflow: hidden;
}

.poker-room-cover::after {
  content: "";
  position: absolute;
  inset: auto 10% 0 10%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(246, 200, 95, .72), transparent);
  box-shadow: 0 0 1.2rem rgba(246, 200, 95, .28);
}

.room-card-topline {
  position: absolute;
  left: .75rem;
  right: .75rem;
  top: .72rem;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  pointer-events: none;
}

.room-category-chip,
.room-recommendation {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  min-height: 28px;
  border-radius: 999px;
  padding: .36rem .62rem;
  color: #fff7dc;
  background: rgba(2, 8, 7, .64);
  border: 1px solid rgba(246, 200, 95, .28);
  box-shadow: 0 .4rem .9rem rgba(0, 0, 0, .32);
  backdrop-filter: blur(12px);
  font-size: .7rem;
  font-weight: 1000;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.room-category-chip > span {
  color: #f6c85f;
  font-size: .9rem;
  line-height: 1;
}

.room-recommendation {
  color: #171005;
  border-color: rgba(255, 235, 174, .62);
  background: linear-gradient(135deg, #fff1ba, #f6c85f 44%, #c87b1c);
}

.poker-room-card .table-open-pill,
.poker-room-card .table-mode-pill {
  top: 3.05rem;
}

.poker-room-title {
  bottom: 1rem;
}

.poker-room-title strong {
  font-size: clamp(1.35rem, 2.4vw, 1.9rem);
}

.table-cover-shade {
  background:
    linear-gradient(180deg, rgba(0, 0, 0, .38), transparent 30%, rgba(0, 0, 0, .86)),
    radial-gradient(circle at 80% 8%, rgba(246, 200, 95, .22), transparent 16rem),
    radial-gradient(circle at 22% 14%, rgba(255, 255, 255, .10), transparent 12rem);
}

.poker-room-copy {
  padding: .1rem .12rem 0;
  display: grid;
  gap: .72rem;
}

.premium-table-copy .table-room-mood {
  min-height: 0;
  margin: 0;
  color: #fff7dc;
  font-size: 1.02rem;
  font-weight: 950;
  line-height: 1.35;
  text-wrap: balance;
}

.premium-table-copy .table-room-description {
  min-height: 0;
  margin: 0;
  color: rgba(255, 248, 229, .64);
  font-size: .9rem;
  line-height: 1.48;
}

.poker-room-detail-grid {
  margin-top: 0;
  gap: .55rem;
}

.poker-room-detail-grid div {
  position: relative;
  overflow: hidden;
  border-radius: 1.1rem;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .025)),
    rgba(0, 0, 0, .24);
  border-color: rgba(246, 200, 95, .12);
}

.poker-room-detail-grid div::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: linear-gradient(180deg, rgba(246, 200, 95, .9), rgba(30, 197, 141, .6));
  opacity: .85;
}

.poker-room-tags {
  margin-top: 0;
}

.poker-room-tags span {
  border-radius: 999px;
}

.poker-room-availability {
  margin-top: 0;
  padding: .7rem .82rem;
  font-weight: 950;
  text-align: center;
}

.poker-room-cta {
  min-height: 52px;
  margin-top: .1rem;
  font-size: .98rem;
}

.table-open-pill.status-running {
  color: #eaffff;
  border-color: rgba(103, 215, 255, .48);
  background: rgba(16, 69, 90, .78);
}

.table-open-pill.status-full {
  color: #ffdce1;
  border-color: rgba(255, 120, 135, .44);
  background: rgba(93, 22, 32, .78);
}

.poker-room-card.is-locked .room-category-chip,
.poker-room-card.is-locked .table-open-pill,
.poker-room-card.is-locked .table-mode-pill {
  opacity: .78;
}

@media (max-width: 1080px) {
  .poker-room-section-head {
    align-items: flex-start;
  }
}

@media (max-width: 720px) {
  .lobby-room-toolbar {
    padding: .45rem;
    border-radius: 1rem;
  }

  .lobby-filter-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .lobby-filter-tabs button {
    width: 100%;
    justify-content: space-between;
  }

  .poker-room-card {
    border-radius: 1.55rem;
    padding: .7rem;
  }

  .poker-room-cover {
    border-radius: 1.2rem;
  }

  .room-card-topline {
    left: .6rem;
    right: .6rem;
    top: .6rem;
  }

  .room-category-chip,
  .room-recommendation {
    min-height: 26px;
    padding: .32rem .5rem;
    font-size: .62rem;
  }

  .poker-room-card .table-open-pill,
  .poker-room-card .table-mode-pill {
    top: 2.8rem;
  }

  .poker-room-detail-grid {
    grid-template-columns: 1fr 1fr;
  }

  .poker-room-cta {
    min-height: 54px;
  }
}

@media (max-width: 430px) {
  .lobby-filter-tabs,
  .poker-room-detail-grid {
    grid-template-columns: 1fr;
  }

  .room-card-topline {
    align-items: flex-start;
    flex-direction: column;
  }

  .room-recommendation {
    align-self: flex-end;
  }

  .poker-room-card .table-open-pill,
  .poker-room-card .table-mode-pill {
    top: 4.55rem;
  }

  .poker-room-title {
    bottom: .75rem;
  }
}

/* Tischlisten-Fix: Jede vorhandene Tischkarte bleibt erreichbar, auch wenn die Lobby ohne vertikales Scrollen genutzt wird. */
.game-root.auth-flow {
  height: 100vh;
  height: 100dvh;
  min-height: 100vh;
  min-height: 100dvh;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior-y: contain;
  -webkit-overflow-scrolling: touch;
}

.premium-lobby-screen {
  min-height: 100%;
  overflow: visible;
}

.lobby-table-pager {
  width: 100%;
  border-radius: 1.2rem;
  padding: .65rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  background:
    linear-gradient(135deg, rgba(246, 200, 95, .10), rgba(255, 255, 255, .035)),
    rgba(3, 10, 8, .72);
  border: 1px solid rgba(246, 200, 95, .18);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.07), 0 .8rem 1.8rem rgba(0,0,0,.24);
}

.lobby-table-page-status {
  display: grid;
  gap: .12rem;
  min-width: 0;
}

.lobby-table-page-status span {
  color: #f6c85f;
  font-size: .68rem;
  font-weight: 950;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.lobby-table-page-status strong {
  color: #fff7dc;
  font-size: .95rem;
  font-weight: 950;
  white-space: nowrap;
}

.lobby-pager-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: .45rem;
}

.lobby-pager-btn,
.lobby-page-dot {
  min-height: 38px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 999px;
  color: #fff7dc;
  background: rgba(255,255,255,.065);
  font-weight: 950;
  cursor: pointer;
}

.lobby-pager-btn {
  padding: .48rem .82rem;
}

.lobby-page-dots {
  display: inline-flex;
  align-items: center;
  gap: .32rem;
  padding: .25rem;
  border-radius: 999px;
  background: rgba(0,0,0,.22);
  border: 1px solid rgba(255,255,255,.08);
}

.lobby-page-dot {
  width: 38px;
  padding: 0;
  display: inline-grid;
  place-items: center;
}

.lobby-pager-btn:hover:not(:disabled),
.lobby-page-dot:hover,
.lobby-page-dot.active {
  transform: translateY(-1px);
  color: #171005;
  border-color: rgba(255, 235, 174, .6);
  background: linear-gradient(135deg, #fff1ba, #f6c85f 44%, #c87b1c);
  box-shadow: 0 .6rem 1.2rem rgba(0,0,0,.28), 0 0 1.1rem rgba(246,200,95,.16);
}

.lobby-pager-btn:disabled {
  cursor: not-allowed;
  opacity: .5;
  box-shadow: none;
}

@media (max-width: 720px) {
  .lobby-table-pager {
    align-items: stretch;
    flex-direction: column;
  }

  .lobby-pager-actions {
    justify-content: stretch;
  }

  .lobby-pager-btn {
    flex: 1 1 120px;
  }

  .lobby-page-dots {
    order: -1;
    justify-content: center;
    width: 100%;
  }
}

@media (max-width: 430px) {
  .lobby-table-page-status strong {
    white-space: normal;
  }

  .lobby-pager-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .lobby-page-dots {
    order: 0;
  }
}


/* Gewinnerhand-Erklärung: Handkarten + Communitykarten + beste 5-Karten-Kombination */
.winner-strip {
  width: min(900px, 92vw);
  max-width: min(900px, 92vw);
}

.winner-strip-card.winner-hand-explainer {
  gap: .42rem;
  padding: .78rem 1rem .9rem;
}

.winner-hand-name {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 1.55rem;
  padding: .22rem .72rem;
  border-radius: 999px;
  color: #251909;
  background: linear-gradient(135deg, rgba(255, 238, 168, .96), rgba(246, 200, 95, .88));
  box-shadow: 0 .45rem 1.2rem rgba(0,0,0,.24), 0 0 1.2rem rgba(246, 200, 95, .26);
  font-size: .82rem;
  font-weight: 950;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.winner-hand-breakdown {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(120px, auto) minmax(230px, 1fr);
  gap: .62rem;
  width: 100%;
  align-items: stretch;
}

.winner-card-group,
.winner-best-hand {
  position: relative;
  z-index: 1;
  display: grid;
  gap: .34rem;
  justify-items: center;
  padding: .48rem .55rem .56rem;
  border-radius: .95rem;
  background: rgba(0, 0, 0, .2);
  border: 1px solid rgba(255, 238, 168, .24);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.05);
}

.winner-card-label,
.winner-best-hand > span {
  color: rgba(255, 242, 190, .86);
  font-size: .62rem;
  font-weight: 950;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.winner-card-row {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: .36rem;
  flex-wrap: nowrap;
}

.winner-hole-cards,
.winner-community-cards,
.winner-best-cards {
  margin: 0;
}

.winner-card-row .playing-card {
  width: clamp(36px, 4.1vw, 58px);
  height: calc(clamp(36px, 4.1vw, 58px) * 1.42);
  transform: none;
  outline: 1px solid rgba(255, 255, 255, .18);
  outline-offset: 1px;
  box-shadow: 0 .55rem 1.2rem rgba(0,0,0,.38);
}

.winner-card-row .playing-card.winner-card-used,
.winner-best-cards .playing-card {
  transform: translateY(-.08rem) scale(1.06);
  outline: 2px solid rgba(255, 238, 168, .92);
  outline-offset: 2px;
  box-shadow: 0 .8rem 1.65rem rgba(0,0,0,.42), 0 0 1.2rem rgba(246, 200, 95, .58);
}

.winner-best-hand {
  width: min(520px, 100%);
  background: linear-gradient(135deg, rgba(246, 200, 95, .18), rgba(0, 0, 0, .22));
  border-color: rgba(255, 238, 168, .42);
}

.winner-card-empty {
  display: grid;
  place-items: center;
  min-height: calc(clamp(36px, 4.1vw, 58px) * 1.42);
  padding: .35rem .5rem;
  border-radius: .75rem;
  color: rgba(255,255,255,.72);
  background: rgba(255,255,255,.07);
  font-size: .72rem;
  font-weight: 800;
}

.winner-strip-card.winner-hand-explainer small {
  position: relative;
  z-index: 1;
  max-width: 72ch;
  color: rgba(255,255,255,.84);
  font-size: .74rem;
  line-height: 1.25;
}

@media (max-width: 720px) {
  .winner-strip {
    width: min(96vw, 620px);
    max-width: min(96vw, 620px);
  }

  .winner-hand-breakdown {
    grid-template-columns: 1fr;
    gap: .42rem;
  }

  .winner-card-row {
    gap: .26rem;
  }

  .winner-card-row .playing-card {
    width: clamp(31px, 8vw, 46px);
    height: calc(clamp(31px, 8vw, 46px) * 1.42);
  }
}

/* Gewinnerhand-Overlay: abgedunkelter Hintergrund + bewusster Weiter-Button */
.winner-table-hint {
  position: relative;
  z-index: 18;
  display: inline-grid;
  gap: .12rem;
  justify-items: center;
  padding: .42rem .82rem;
  border-radius: 999px;
  color: #fff4c5;
  background: linear-gradient(135deg, rgba(19, 15, 7, .78), rgba(86, 59, 9, .58));
  border: 1px solid rgba(255, 225, 137, .34);
  box-shadow: 0 .85rem 1.8rem rgba(0, 0, 0, .32), inset 0 0 0 1px rgba(255,255,255,.06);
  font-weight: 900;
  text-align: center;
}

.winner-table-hint span {
  font-size: .58rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(255, 244, 197, .72);
}

.winner-table-hint strong {
  font-size: .78rem;
}

.winner-overlay {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: grid;
  place-items: center;
  padding: clamp(1rem, 3vw, 2.4rem);
  background:
    radial-gradient(circle at 50% 44%, rgba(246, 200, 95, .14), transparent 30%),
    linear-gradient(180deg, rgba(1, 4, 8, .72), rgba(0, 0, 0, .9));
  backdrop-filter: blur(7px) saturate(1.08);
  -webkit-backdrop-filter: blur(7px) saturate(1.08);
}

.winner-overlay-card {
  width: min(1040px, 96vw);
  max-height: min(88vh, 820px);
  overflow: hidden;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: clamp(.72rem, 2vw, 1rem);
  padding: clamp(1rem, 2.4vw, 1.45rem);
  border-radius: 1.45rem;
  border: 1px solid rgba(255, 228, 147, .38);
  background:
    radial-gradient(circle at 18% 0%, rgba(255,255,255,.15), transparent 28%),
    linear-gradient(145deg, rgba(32, 20, 8, .93), rgba(5, 12, 17, .94));
  box-shadow: 0 2rem 5rem rgba(0,0,0,.62), 0 0 3rem rgba(246, 200, 95, .16);
}

.winner-overlay-header {
  display: grid;
  gap: .28rem;
  justify-items: center;
  text-align: center;
}

.winner-overlay-header h2 {
  margin: 0;
  color: #fff7d8;
  font-size: clamp(1.45rem, 3vw, 2.35rem);
  font-weight: 950;
  letter-spacing: .02em;
}

.winner-overlay-header p {
  max-width: 72ch;
  margin: 0;
  color: rgba(255,255,255,.78);
  font-size: clamp(.82rem, 1.4vw, .98rem);
  line-height: 1.45;
}

.winner-overlay-list.winner-strip {
  width: 100%;
  max-width: 100%;
  overflow: auto;
  padding: .18rem .22rem .42rem;
  display: grid;
  gap: .75rem;
}

.winner-overlay-entry.winner-strip-card.winner-hand-explainer {
  width: min(920px, 100%);
  margin-inline: auto;
  padding: clamp(.9rem, 2.1vw, 1.25rem);
  border-radius: 1.2rem;
}

.winner-overlay .winner-hand-breakdown {
  grid-template-columns: minmax(150px, .74fr) minmax(320px, 1.26fr);
}

.winner-overlay .winner-card-row .playing-card {
  width: clamp(42px, 5.1vw, 72px);
  height: calc(clamp(42px, 5.1vw, 72px) * 1.42);
}

.winner-overlay-actions {
  display: flex;
  justify-content: center;
  padding-top: .2rem;
}

.winner-continue-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3.15rem;
  min-width: min(100%, 360px);
  padding: .78rem 1.45rem;
  border: 0;
  border-radius: 999px;
  color: #1b1205;
  background: linear-gradient(135deg, #fff0a8, #f6c85f 54%, #d99d26);
  box-shadow: 0 .9rem 2rem rgba(0,0,0,.38), 0 0 1.35rem rgba(246, 200, 95, .35);
  font-size: .96rem;
  font-weight: 950;
  letter-spacing: .04em;
  text-transform: uppercase;
  cursor: pointer;
  transition: transform .18s ease, filter .18s ease, opacity .18s ease;
}

.winner-continue-btn:hover:not(:disabled) {
  transform: translateY(-1px);
  filter: brightness(1.06);
}

.winner-continue-btn:disabled {
  cursor: wait;
  opacity: .68;
}

@media (max-width: 720px) {
  .winner-overlay {
    padding: .75rem;
    align-items: start;
    overflow: auto;
  }

  .winner-overlay-card {
    max-height: none;
    min-height: min(100%, 88vh);
    overflow: visible;
    gap: .62rem;
    padding: .78rem;
  }

  .winner-overlay-list.winner-strip {
    overflow: visible;
    padding-inline: 0;
  }

  .winner-overlay .winner-hand-breakdown {
    grid-template-columns: 1fr;
  }

  .winner-overlay .winner-card-row {
    flex-wrap: wrap;
  }

  .winner-overlay .winner-card-row .playing-card {
    width: clamp(34px, 10.5vw, 50px);
    height: calc(clamp(34px, 10.5vw, 50px) * 1.42);
  }

  .winner-continue-btn {
    width: 100%;
    min-width: 0;
    font-size: .82rem;
  }
}

/* Gewinnerhand-Erklärung v2.4.5: umfangreiche Anfänger-/Profi-Erklärung */
.winner-overlay-card-detailed {
  width: min(1180px, 97vw);
  max-height: min(91vh, 900px);
}

.winner-overlay-entry-detailed {
  display: grid;
  gap: .85rem;
  text-align: left;
}

.winner-headline-row {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: .85rem;
  width: 100%;
}

.winner-headline-row > div:first-child {
  display: grid;
  gap: .32rem;
  justify-items: start;
}

.winner-headline-row strong {
  color: #fff7d8;
  font-size: clamp(1.05rem, 2.1vw, 1.45rem);
  line-height: 1.08;
}

.winner-summary-badges {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: .45rem;
}

.winner-summary-badges span {
  display: grid;
  gap: .08rem;
  min-width: 6.2rem;
  padding: .5rem .64rem;
  border-radius: .9rem;
  color: #fff3c2;
  background: linear-gradient(145deg, rgba(255, 238, 168, .16), rgba(0, 0, 0, .28));
  border: 1px solid rgba(255, 238, 168, .28);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.05);
  font-size: .78rem;
  font-weight: 950;
  text-align: center;
}

.winner-summary-badges small {
  color: rgba(255,255,255,.6);
  font-size: .54rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.winner-explain-section {
  position: relative;
  z-index: 1;
  display: grid;
  gap: .55rem;
  width: 100%;
  padding: .72rem;
  border-radius: 1rem;
  background: rgba(0, 0, 0, .18);
  border: 1px solid rgba(255, 238, 168, .18);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.04);
}

.winner-section-title {
  display: flex;
  align-items: center;
  gap: .44rem;
  color: #fff4c5;
  font-size: .72rem;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.winner-section-title span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.65rem;
  height: 1.65rem;
  padding: 0 .34rem;
  border-radius: 999px;
  color: #201506;
  background: linear-gradient(135deg, #fff2b3, #f6c85f);
  box-shadow: 0 .35rem .8rem rgba(0,0,0,.28);
  font-size: .67rem;
}

.winner-hand-breakdown-detailed {
  grid-template-columns: minmax(190px, .78fr) minmax(340px, 1.22fr);
}

.winner-card-group em,
.winner-best-hand-detailed p,
.winner-used-grid p,
.winner-pro-panel p,
.winner-opponent-row p {
  margin: 0;
  color: rgba(255,255,255,.78);
  font-size: .76rem;
  line-height: 1.35;
  font-style: normal;
}

.winner-best-hand-detailed {
  justify-items: center;
  width: 100%;
  background: linear-gradient(135deg, rgba(246, 200, 95, .2), rgba(0, 0, 0, .24));
}

.winner-used-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .55rem;
}

.winner-used-grid > div {
  display: grid;
  gap: .22rem;
  padding: .62rem;
  border-radius: .82rem;
  background: rgba(255,255,255,.055);
  border: 1px solid rgba(255,255,255,.08);
}

.winner-used-grid strong,
.winner-opponent-row strong,
.winner-pro-panel strong {
  color: #fff2be;
  font-size: .74rem;
}

.winner-reason-panel ol {
  margin: 0;
  padding-left: 1.3rem;
  color: rgba(255,255,255,.86);
  font-size: .82rem;
  line-height: 1.45;
}

.winner-reason-panel li + li {
  margin-top: .32rem;
}

.winner-opponent-list {
  display: grid;
  gap: .48rem;
}

.winner-opponent-row {
  display: grid;
  grid-template-columns: minmax(180px, .64fr) minmax(0, 1.36fr);
  gap: .6rem;
  align-items: start;
  padding: .58rem .64rem;
  border-radius: .85rem;
  background: rgba(255,255,255,.055);
  border: 1px solid rgba(255,255,255,.08);
}

.winner-opponent-row > div {
  display: grid;
  gap: .12rem;
}

.winner-opponent-row span {
  color: rgba(255,255,255,.63);
  font-size: .72rem;
  line-height: 1.25;
}

.winner-pro-panel {
  background: linear-gradient(135deg, rgba(71, 52, 20, .34), rgba(0, 0, 0, .18));
}

.winner-pro-panel p + p {
  margin-top: -.3rem;
}

@media (max-width: 900px) {
  .winner-headline-row {
    grid-template-columns: 1fr;
  }

  .winner-summary-badges {
    justify-content: stretch;
  }

  .winner-summary-badges span {
    flex: 1 1 7rem;
  }

  .winner-hand-breakdown-detailed,
  .winner-opponent-row,
  .winner-used-grid {
    grid-template-columns: 1fr;
  }
}


/* Fix v2.4.6: Gewinnerhand kompakter + ausgeschiedene KI verdeckt den Tisch nicht */
.winner-overlay {
  padding: clamp(.55rem, 1.6vw, 1.25rem);
  align-items: center;
}

.winner-overlay-card-detailed,
.winner-overlay-card {
  width: min(1120px, 98vw);
  max-height: min(96vh, 960px);
  gap: clamp(.42rem, 1.1vw, .72rem);
  padding: clamp(.7rem, 1.45vw, 1.05rem);
}

.winner-overlay-header {
  gap: .18rem;
}

.winner-overlay-header h2 {
  font-size: clamp(1.12rem, 2.2vw, 1.72rem);
}

.winner-overlay-header p {
  max-width: 88ch;
  font-size: clamp(.72rem, 1.05vw, .86rem);
  line-height: 1.28;
}

.winner-overlay-list.winner-strip {
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: .08rem .18rem .24rem;
  gap: .48rem;
}

.winner-overlay-entry.winner-strip-card.winner-hand-explainer,
.winner-overlay-entry-detailed {
  gap: .52rem;
  padding: clamp(.62rem, 1.25vw, .86rem);
}

.winner-headline-row {
  gap: .52rem;
}

.winner-headline-row strong {
  font-size: clamp(.96rem, 1.55vw, 1.18rem);
}

.winner-summary-badges {
  gap: .3rem;
}

.winner-summary-badges span {
  min-width: 5.2rem;
  padding: .34rem .48rem;
  font-size: .68rem;
}

.winner-hand-name {
  min-height: 1.32rem;
  padding: .16rem .56rem;
  font-size: .7rem;
}

.winner-explain-section {
  gap: .34rem;
  padding: .48rem;
  border-radius: .82rem;
}

.winner-section-title {
  gap: .34rem;
  font-size: .64rem;
}

.winner-section-title span {
  min-width: 1.32rem;
  height: 1.32rem;
  font-size: .58rem;
}

.winner-overlay .winner-hand-breakdown,
.winner-hand-breakdown-detailed {
  grid-template-columns: minmax(132px, .72fr) minmax(245px, 1.28fr);
  gap: .42rem;
}

.winner-card-group,
.winner-best-hand {
  gap: .24rem;
  padding: .34rem .42rem .4rem;
  border-radius: .78rem;
}

.winner-card-label,
.winner-best-hand > span {
  font-size: .54rem;
}

.winner-card-row {
  gap: .24rem;
}

.winner-overlay .winner-card-row .playing-card,
.winner-card-row .playing-card {
  width: clamp(27px, 3.25vw, 45px);
  height: calc(clamp(27px, 3.25vw, 45px) * 1.42);
}

.winner-card-row .playing-card.winner-card-used,
.winner-best-cards .playing-card {
  transform: translateY(-.04rem) scale(1.035);
  outline-width: 1px;
  outline-offset: 1px;
}

.winner-card-empty {
  min-height: calc(clamp(27px, 3.25vw, 45px) * 1.42);
  padding: .22rem .35rem;
  font-size: .62rem;
}

.winner-card-group em,
.winner-best-hand-detailed p,
.winner-used-grid p,
.winner-pro-panel p,
.winner-opponent-row p {
  font-size: .68rem;
  line-height: 1.22;
}

.winner-used-grid {
  gap: .36rem;
}

.winner-used-grid > div,
.winner-opponent-row {
  padding: .4rem .46rem;
  border-radius: .72rem;
}

.winner-used-grid strong,
.winner-opponent-row strong,
.winner-pro-panel strong {
  font-size: .67rem;
}

.winner-reason-panel ol {
  padding-left: 1.08rem;
  font-size: .72rem;
  line-height: 1.28;
}

.winner-reason-panel li + li {
  margin-top: .2rem;
}

.winner-opponent-list {
  gap: .32rem;
}

.winner-opponent-row {
  grid-template-columns: minmax(150px, .56fr) minmax(0, 1.44fr);
  gap: .42rem;
}

.winner-opponent-row span {
  font-size: .64rem;
  line-height: 1.18;
}

.winner-strip-card.winner-hand-explainer small {
  font-size: .64rem;
  line-height: 1.18;
}

.winner-overlay-actions {
  padding-top: .04rem;
}

.winner-continue-btn {
  min-height: 2.45rem;
  padding: .52rem 1.05rem;
  font-size: .78rem;
}

@media (max-width: 900px) {
  .winner-overlay-card-detailed,
  .winner-overlay-card {
    max-height: min(97vh, 980px);
  }

  .winner-overlay .winner-hand-breakdown,
  .winner-hand-breakdown-detailed,
  .winner-opponent-row,
  .winner-used-grid {
    grid-template-columns: 1fr;
  }

  .winner-summary-badges {
    justify-content: stretch;
  }
}

@media (max-width: 720px) {
  .winner-overlay {
    padding: .38rem;
    align-items: stretch;
    overflow: hidden;
  }

  .winner-overlay-card,
  .winner-overlay-card-detailed {
    min-height: 0;
    max-height: calc(100vh - .76rem);
    overflow: hidden;
    grid-template-rows: auto minmax(0, 1fr) auto;
  }

  .winner-overlay-list.winner-strip {
    overflow-y: auto;
  }

  .winner-overlay-header p {
    display: none;
  }

  .winner-overlay .winner-card-row {
    flex-wrap: wrap;
  }

  .winner-overlay .winner-card-row .playing-card,
  .winner-card-row .playing-card {
    width: clamp(24px, 7.2vw, 35px);
    height: calc(clamp(24px, 7.2vw, 35px) * 1.42);
  }

  .winner-headline-row,
  .winner-overlay-entry-detailed {
    gap: .38rem;
  }
}

/* Fix v2.4.7: breitere Gewinnerhand-Erklärung + gesperrter/aktiver Tische-Button */
.winner-overlay-card-detailed,
.winner-overlay-card {
  width: min(1360px, 99vw);
  max-height: calc(100vh - .7rem);
  padding: clamp(.48rem, .95vw, .78rem);
}

.winner-overlay-entry.winner-strip-card.winner-hand-explainer,
.winner-overlay-entry-detailed {
  width: 100%;
  max-width: none;
  gap: .36rem;
  padding: clamp(.42rem, .8vw, .62rem);
}

.winner-overlay-header h2 {
  font-size: clamp(1rem, 1.7vw, 1.44rem);
}

.winner-overlay-header p {
  max-width: 112ch;
  font-size: clamp(.66rem, .82vw, .76rem);
  line-height: 1.2;
}

.winner-overlay .winner-card-row .playing-card,
.winner-card-row .playing-card {
  width: clamp(22px, 2.45vw, 36px);
  height: calc(clamp(22px, 2.45vw, 36px) * 1.42);
}

.winner-explain-section {
  gap: .26rem;
  padding: .34rem .38rem;
}

.winner-section-title {
  font-size: .58rem;
}

.winner-card-group em,
.winner-best-hand-detailed p,
.winner-used-grid p,
.winner-pro-panel p,
.winner-opponent-row p,
.winner-reason-panel ol,
.winner-strip-card.winner-hand-explainer small {
  font-size: .62rem;
  line-height: 1.16;
}

.winner-used-grid > div,
.winner-opponent-row {
  padding: .32rem .38rem;
}

.winner-continue-btn {
  min-height: 2.18rem;
  padding: .42rem .95rem;
  font-size: .72rem;
}

@media (min-width: 1050px) and (min-height: 640px) {
  .winner-overlay-entry-detailed {
    grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
    align-items: start;
  }

  .winner-headline-row,
  .winner-pro-panel,
  .winner-strip-card.winner-hand-explainer small {
    grid-column: 1 / -1;
  }

  .winner-card-matrix,
  .winner-reason-panel {
    grid-column: 1;
  }

  .winner-best-hand-detailed,
  .winner-used-panel,
  .winner-comparison-panel {
    grid-column: 2;
  }

  .winner-hand-breakdown-detailed,
  .winner-overlay .winner-hand-breakdown {
    grid-template-columns: minmax(118px, .58fr) minmax(220px, 1.42fr);
  }

  .winner-used-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.table-return-btn:disabled {
  cursor: not-allowed;
  opacity: .46;
  filter: grayscale(.25);
}

.table-return-btn.table-return-ready {
  color: #201506;
  background: linear-gradient(135deg, #fff4b8, #f6c85f 54%, #d99d26);
  border-color: rgba(255, 239, 177, .9);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.18) inset,
    0 .65rem 1.6rem rgba(0,0,0,.34),
    0 0 1.35rem rgba(246, 200, 95, .55);
  animation: tableReturnGlow 1.6s ease-in-out infinite;
}

.table-return-btn.table-return-ready:hover:not(:disabled) {
  transform: translateY(-1px);
  filter: brightness(1.07);
}

@keyframes tableReturnGlow {
  0%, 100% { box-shadow: 0 0 0 1px rgba(255,255,255,.18) inset, 0 .65rem 1.6rem rgba(0,0,0,.34), 0 0 1.1rem rgba(246, 200, 95, .42); }
  50% { box-shadow: 0 0 0 1px rgba(255,255,255,.24) inset, 0 .75rem 1.8rem rgba(0,0,0,.38), 0 0 2rem rgba(246, 200, 95, .78); }
}



/* Fix v2.4.8: Gewinnerhand noch breiter + Akkordeon-Blöcke */
.winner-overlay-card-detailed,
.winner-overlay-card {
  width: min(1560px, calc(100vw - .3rem));
  max-width: none;
  padding: clamp(.42rem, .72vw, .68rem);
}

.winner-overlay-list.winner-strip {
  width: 100%;
  padding-inline: .12rem;
}

.winner-overlay-entry.winner-strip-card.winner-hand-explainer,
.winner-overlay-entry-detailed {
  width: 100%;
  max-width: none;
}

.winner-overlay-entry-detailed {
  display: grid;
  grid-template-columns: 1fr;
}

.winner-card-matrix,
.winner-best-hand-detailed,
.winner-used-panel,
.winner-reason-panel,
.winner-comparison-panel,
.winner-pro-panel,
.winner-headline-row,
.winner-strip-card.winner-hand-explainer small {
  grid-column: 1 / -1;
}

.winner-overlay-header p {
  max-width: 132ch;
  font-size: clamp(.62rem, .74vw, .72rem);
}

.winner-explain-section {
  padding: .3rem .34rem;
}

.winner-section-title,
.winner-accordion-trigger {
  min-height: 1.72rem;
  font-size: .56rem;
}

.winner-accordion-trigger {
  width: 100%;
  appearance: none;
  border: 0;
  cursor: pointer;
  justify-content: flex-start;
  text-align: left;
  background: transparent;
  color: inherit;
  padding: 0;
}

.winner-accordion-trigger:hover,
.winner-accordion-trigger:focus-visible {
  color: #ffeeb1;
}

.winner-accordion-trigger:focus-visible {
  outline: 2px solid rgba(255, 224, 132, .72);
  outline-offset: 3px;
  border-radius: .7rem;
}

.winner-accordion-trigger i {
  margin-left: auto;
  width: 1.32rem;
  height: 1.32rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  font-style: normal;
  font-size: .86rem;
  line-height: 1;
  color: #ffeeb1;
  background: rgba(255, 255, 255, .08);
  border: 1px solid rgba(255, 255, 255, .12);
}

.winner-accordion-body {
  display: grid;
  gap: .28rem;
  width: 100%;
}

.winner-best-hand-detailed.winner-accordion-section,
.winner-accordion-section {
  gap: .22rem;
}

.winner-best-hand-detailed > .winner-accordion-body > span,
.winner-card-label {
  font-size: .52rem;
}

.winner-card-group em,
.winner-best-hand-detailed p,
.winner-used-grid p,
.winner-pro-panel p,
.winner-opponent-row p,
.winner-reason-panel ol,
.winner-strip-card.winner-hand-explainer small {
  font-size: .58rem;
  line-height: 1.14;
}

.winner-overlay .winner-card-row .playing-card,
.winner-card-row .playing-card {
  width: clamp(20px, 2vw, 32px);
  height: calc(clamp(20px, 2vw, 32px) * 1.42);
}

@media (min-width: 1050px) and (min-height: 640px) {
  .winner-overlay-entry-detailed {
    grid-template-columns: 1fr;
  }

  .winner-card-matrix,
  .winner-reason-panel,
  .winner-best-hand-detailed,
  .winner-used-panel,
  .winner-comparison-panel,
  .winner-pro-panel,
  .winner-headline-row,
  .winner-strip-card.winner-hand-explainer small {
    grid-column: 1 / -1;
  }

  .winner-hand-breakdown-detailed,
  .winner-overlay .winner-hand-breakdown {
    grid-template-columns: minmax(112px, .48fr) minmax(300px, 1.52fr);
  }
}

@media (max-width: 720px) {
  .winner-overlay-card-detailed,
  .winner-overlay-card {
    width: calc(100vw - .38rem);
  }

  .winner-section-title,
  .winner-accordion-trigger {
    font-size: .54rem;
  }
}

.winner-best-hand.winner-accordion-section {
  width: 100%;
  justify-items: stretch;
}

.winner-best-hand.winner-accordion-section .winner-accordion-body {
  justify-items: center;
}


/* Fix v2.4.9: Pokertisch-Header deaktiviert, Tische-Button rechts, Gewinnerhand-Text besser lesbar */
.table-stage > .top-hud {
  display: none !important;
}

.table-return-floating {
  position: absolute;
  right: max(14px, env(safe-area-inset-right));
  top: calc(max(10px, env(safe-area-inset-top)) + clamp(7.4rem, 14vh, 10.2rem));
  z-index: 62;
  display: flex;
  justify-content: flex-end;
  pointer-events: auto;
}

.table-return-floating .table-return-btn {
  min-width: 7.4rem;
  min-height: 2.9rem;
  border-radius: 999px;
  padding: .72rem 1.15rem;
  font-size: .9rem;
  letter-spacing: .04em;
  text-transform: uppercase;
  box-shadow: 0 .8rem 1.8rem rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.12);
}

/* Nach dem deaktivierten Header darf die Stoppuhr wieder oben rechts sitzen. */
.analog-turn-timer {
  top: max(10px, env(safe-area-inset-top));
}

.winner-overlay-card-detailed,
.winner-overlay-card {
  width: min(1580px, calc(100vw - .25rem));
}

.winner-overlay-header h2 {
  font-size: clamp(1.18rem, 2vw, 1.74rem);
}

.winner-overlay-header p {
  font-size: clamp(.78rem, .96vw, .92rem);
  line-height: 1.34;
}

.winner-headline-row strong {
  font-size: clamp(1.06rem, 1.7vw, 1.34rem);
}

.winner-hand-name {
  font-size: .82rem;
}

.winner-summary-badges span {
  font-size: .78rem;
}

.winner-summary-badges small {
  font-size: .6rem;
}

.winner-section-title,
.winner-accordion-trigger {
  font-size: .78rem;
}

.winner-section-title span {
  min-width: 1.5rem;
  height: 1.5rem;
  font-size: .66rem;
}

.winner-card-label,
.winner-best-hand > span {
  font-size: .66rem;
}

.winner-card-group em,
.winner-best-hand-detailed p,
.winner-used-grid p,
.winner-pro-panel p,
.winner-opponent-row p,
.winner-opponent-row span,
.winner-strip-card.winner-hand-explainer small {
  font-size: .78rem;
  line-height: 1.36;
}

.winner-used-grid strong,
.winner-opponent-row strong,
.winner-pro-panel strong {
  font-size: .8rem;
}

.winner-reason-panel ol {
  font-size: .82rem;
  line-height: 1.42;
}

.winner-continue-btn {
  font-size: .82rem;
}

@media (max-width: 900px) {
  .table-return-floating {
    top: calc(max(8px, env(safe-area-inset-top)) + clamp(6.5rem, 13vh, 8.6rem));
    right: max(10px, env(safe-area-inset-right));
  }

  .table-return-floating .table-return-btn {
    min-width: 6.6rem;
    min-height: 2.55rem;
    padding: .58rem .9rem;
    font-size: .82rem;
  }

  .analog-turn-timer {
    top: max(8px, env(safe-area-inset-top));
  }
}

@media (max-width: 620px) {
  .table-return-floating {
    top: calc(max(8px, env(safe-area-inset-top)) + 7rem);
  }

  .table-return-floating .table-return-btn {
    min-width: 5.8rem;
    min-height: 2.35rem;
    padding: .5rem .75rem;
    font-size: .76rem;
  }

  .winner-section-title,
  .winner-accordion-trigger {
    font-size: .72rem;
  }

  .winner-card-group em,
  .winner-best-hand-detailed p,
  .winner-used-grid p,
  .winner-pro-panel p,
  .winner-opponent-row p,
  .winner-opponent-row span,
  .winner-strip-card.winner-hand-explainer small,
  .winner-reason-panel ol {
    font-size: .74rem;
    line-height: 1.32;
  }
}

/* Fix v2.5.0: Lobby-Cover im Hochformat + Tisch-Navigation im rechten Panel-Dock */
.poker-room-grid {
  grid-template-columns: repeat(auto-fit, minmax(210px, 250px));
  justify-content: center;
  align-items: start;
}

.poker-room-card {
  cursor: pointer;
  display: block;
  padding: .58rem;
  min-height: 0;
  border-radius: 1.7rem;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, filter .18s ease;
}

.poker-room-card:focus-visible {
  outline: 3px solid rgba(246, 200, 95, .78);
  outline-offset: 4px;
}

.poker-room-card:hover:not(.is-locked) {
  transform: translateY(-4px);
  border-color: rgba(246, 200, 95, .72);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .14),
    0 1.45rem 3.2rem rgba(0, 0, 0, .48),
    0 0 2.2rem rgba(246, 200, 95, .2);
}

.poker-room-card.is-locked {
  cursor: not-allowed;
}

.poker-room-cover,
.premium-cover-frame.poker-room-cover,
.table-cover-frame.poker-room-cover {
  aspect-ratio: 27 / 40;
  min-height: 0;
  width: 100%;
  border-radius: 1.35rem;
}

.poker-room-cover .table-cover-img,
.poker-room-cover img.table-cover-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.poker-room-title {
  bottom: 3.35rem;
}

.poker-room-title strong {
  font-size: clamp(1.08rem, 2vw, 1.42rem);
  line-height: 1.05;
}

.poker-room-title span {
  font-size: .64rem;
}

.poker-room-card .table-open-pill,
.poker-room-card .table-mode-pill {
  top: 2.8rem;
  font-size: .62rem;
  padding: .34rem .5rem;
}

.table-cover-action {
  position: absolute;
  left: 1rem;
  right: 1rem;
  bottom: 1rem;
  z-index: 4;
  min-height: 2.3rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  color: #171005;
  background: linear-gradient(135deg, #fff1ba, #f6c85f 48%, #c67b1c);
  border: 1px solid rgba(255, 240, 184, .74);
  box-shadow: 0 .75rem 1.45rem rgba(0, 0, 0, .36), inset 0 1px 0 rgba(255, 255, 255, .44);
  font-size: .82rem;
  font-weight: 1000;
  letter-spacing: .06em;
  text-transform: uppercase;
  pointer-events: none;
}

.table-cover-action.locked {
  color: #ffdce1;
  background: rgba(90, 24, 35, .82);
  border-color: rgba(255, 120, 135, .44);
}

.panel-dock .table-return-btn {
  color: #201506;
  background: linear-gradient(135deg, #fff4b8, #f6c85f 54%, #d99d26);
  border-color: rgba(255, 239, 177, .82);
  justify-content: center;
  text-transform: uppercase;
  letter-spacing: .05em;
}

.panel-dock .table-return-btn:disabled,
.panel-dock button:disabled {
  cursor: not-allowed;
  opacity: .44;
  filter: grayscale(.32);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}

.panel-dock .table-return-btn.table-return-ready:not(:disabled) {
  box-shadow:
    0 0 0 1px rgba(255,255,255,.18) inset,
    0 .65rem 1.6rem rgba(0,0,0,.34),
    0 0 1.35rem rgba(246, 200, 95, .55);
  animation: tableReturnGlow 1.6s ease-in-out infinite;
}

.panel-dock .shop-disabled {
  color: rgba(255, 255, 255, .48);
  background: rgba(255, 255, 255, .045);
  border-color: rgba(255, 255, 255, .1);
}

.panel-dock .shop-disabled .ui-icon {
  opacity: .55;
}

@media (max-width: 900px) {
  .poker-room-grid {
    grid-template-columns: repeat(auto-fit, minmax(180px, 225px));
  }
}

@media (max-width: 620px) {
  .poker-room-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .poker-room-card {
    border-radius: 1.25rem;
    padding: .42rem;
  }

  .poker-room-cover,
  .premium-cover-frame.poker-room-cover,
  .table-cover-frame.poker-room-cover {
    border-radius: 1rem;
  }

  .poker-room-title {
    bottom: 3rem;
    left: .62rem;
    right: .62rem;
  }

  .poker-room-title strong {
    font-size: .98rem;
  }

  .room-category-chip,
  .room-recommendation {
    font-size: .54rem;
    padding: .28rem .42rem;
  }

  .poker-room-card .table-open-pill,
  .poker-room-card .table-mode-pill {
    top: 2.58rem;
    font-size: .52rem;
  }

  .table-cover-action {
    left: .62rem;
    right: .62rem;
    bottom: .62rem;
    min-height: 2.05rem;
    font-size: .68rem;
  }
}

/* v2.5.3: Eigenständige Tischübersicht + vollständige Coverbilder + Human-Highscores */
.lobby-page-nav,
.lobby-home-page,
.lobby-tables-page,
.tournament-page,
.highscore-page {
  position: relative;
  z-index: 1;
}

.lobby-page-nav {
  width: min(1180px, calc(100vw - 2rem));
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: .55rem;
  padding: .45rem;
  border-radius: 999px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .1), rgba(255, 255, 255, .035)),
    rgba(4, 13, 10, .78);
  border: 1px solid rgba(246, 200, 95, .18);
  box-shadow: 0 .9rem 2.4rem rgba(0, 0, 0, .28);
}

.lobby-page-nav button {
  min-height: 42px;
  border: 1px solid rgba(255, 255, 255, .11);
  border-radius: 999px;
  padding: .62rem 1rem;
  color: rgba(255, 248, 229, .78);
  background: rgba(255, 255, 255, .045);
  font-weight: 1000;
  letter-spacing: .045em;
  text-transform: uppercase;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
}

.lobby-page-nav button:hover,
.lobby-page-nav button.active {
  color: #171005;
  background: linear-gradient(135deg, #fff1ba, #f6c85f 48%, #c67b1c);
  border-color: rgba(255, 239, 177, .72);
  box-shadow: 0 .7rem 1.5rem rgba(0, 0, 0, .3), 0 0 1.4rem rgba(246, 200, 95, .2);
  transform: translateY(-1px);
}

.lobby-home-page {
  width: 100%;
  display: grid;
  place-items: center;
  gap: clamp(1rem, 2.2vw, 1.55rem);
}

.lobby-tables-page {
  min-height: min(860px, calc(100vh - 10rem));
  padding: clamp(1rem, 2.5vw, 1.4rem);
  border-radius: clamp(1.35rem, 3vw, 2rem);
  background:
    radial-gradient(circle at 18% 0%, rgba(246, 200, 95, .14), transparent 20rem),
    linear-gradient(145deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .026));
  border: 1px solid rgba(246, 200, 95, .16);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 1.3rem 3.2rem rgba(0, 0, 0, .34);
}

.lobby-tables-page .poker-room-section-head h2::after {
  content: " · eigenständige Seite";
  color: rgba(246, 200, 95, .76);
  font-size: .48em;
  letter-spacing: .01em;
}

.lobby-tables-page .poker-room-grid {
  grid-template-columns: repeat(auto-fit, minmax(235px, 270px));
  gap: clamp(1rem, 2vw, 1.35rem);
  align-items: start;
}

.lobby-tables-page .poker-room-card {
  min-height: 0;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .1), rgba(255, 255, 255, .03)),
    rgba(4, 13, 10, .8);
}

.lobby-tables-page .poker-room-cover,
.lobby-tables-page .premium-cover-frame.poker-room-cover,
.lobby-tables-page .table-cover-frame.poker-room-cover {
  aspect-ratio: 27 / 40;
  background:
    radial-gradient(circle at 50% 8%, rgba(246, 200, 95, .12), transparent 15rem),
    linear-gradient(145deg, rgba(0, 0, 0, .34), rgba(0, 0, 0, .56));
  overflow: hidden;
}

.lobby-tables-page .poker-room-cover .table-cover-img,
.lobby-tables-page .poker-room-cover img.table-cover-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  transform: none !important;
  background: rgba(0, 0, 0, .18);
}

.lobby-tables-page .table-cover-shade {
  background:
    linear-gradient(180deg, rgba(0, 0, 0, .22), transparent 38%, rgba(0, 0, 0, .7)),
    radial-gradient(circle at 82% 8%, rgba(246, 200, 95, .12), transparent 10rem);
}

.highscore-page {
  width: min(1180px, calc(100vw - 2rem));
  display: grid;
  gap: clamp(.95rem, 2vw, 1.35rem);
  padding: clamp(1rem, 2.5vw, 1.4rem);
  border-radius: clamp(1.35rem, 3vw, 2rem);
  background:
    radial-gradient(circle at 14% 0%, rgba(246, 200, 95, .15), transparent 22rem),
    radial-gradient(circle at 90% 12%, rgba(103, 215, 255, .13), transparent 20rem),
    linear-gradient(145deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .025));
  border: 1px solid rgba(246, 200, 95, .16);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 1.35rem 3.4rem rgba(0, 0, 0, .34);
}

.highscore-section-head {
  align-items: center;
}

.highscore-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: .6rem;
}

.highscore-updated {
  border-radius: 999px;
  padding: .5rem .75rem;
  color: rgba(255, 248, 229, .76);
  background: rgba(0, 0, 0, .24);
  border: 1px solid rgba(246, 200, 95, .14);
  font-size: .82rem;
  font-weight: 900;
}

.highscore-board-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(.9rem, 2vw, 1.15rem);
}

.highscore-board {
  position: relative;
  overflow: hidden;
  border-radius: 1.55rem;
  padding: clamp(.85rem, 2vw, 1.1rem);
  border: 1px solid rgba(255, 255, 255, .12);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .095), rgba(255, 255, 255, .032)),
    rgba(4, 11, 10, .76);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 1rem 2.4rem rgba(0,0,0,.28);
}

.highscore-board::before {
  content: "";
  position: absolute;
  inset: -25% -18% auto auto;
  width: 220px;
  aspect-ratio: 1;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(246, 200, 95, .18), transparent 68%);
  pointer-events: none;
}

.highscore-board-hands { border-color: rgba(113, 232, 176, .22); }
.highscore-board-hands::before { background: radial-gradient(circle, rgba(113, 232, 176, .22), transparent 68%); }
.highscore-board-wins { border-color: rgba(246, 200, 95, .3); }
.highscore-board-wins::before { background: conic-gradient(from 40deg, rgba(246, 200, 95, .24), transparent, rgba(246, 200, 95, .18)); }
.highscore-board-profit { border-color: rgba(103, 215, 255, .24); }
.highscore-board-profit::before { background: radial-gradient(circle, rgba(103, 215, 255, .24), transparent 68%); }
.highscore-board-bigwin { border-color: rgba(255, 120, 196, .24); }
.highscore-board-bigwin::before { background: radial-gradient(circle, rgba(255, 120, 196, .22), transparent 68%); }
.highscore-board-credits { border-color: rgba(255, 236, 176, .3); }
.highscore-board-credits::before { background: radial-gradient(circle, rgba(255, 236, 176, .28), transparent 68%); }

.highscore-board-head {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: .8rem;
}

.highscore-board-head span {
  display: block;
  color: #f6c85f;
  font-size: .68rem;
  font-weight: 1000;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.highscore-board-head h3 {
  margin: .12rem 0 .22rem;
  color: #fff7dc;
  font-size: clamp(1.25rem, 2.5vw, 2rem);
  line-height: 1;
  font-weight: 1000;
  letter-spacing: -.035em;
}

.highscore-board-head p {
  margin: 0;
  color: rgba(255, 248, 229, .62);
  font-size: .86rem;
  line-height: 1.4;
}

.highscore-board-head > strong {
  flex: 0 0 auto;
  border-radius: 1rem;
  padding: .55rem .7rem;
  color: #171005;
  background: linear-gradient(135deg, #fff1ba, #f6c85f 52%, #c67b1c);
  box-shadow: 0 .75rem 1.35rem rgba(0, 0, 0, .28);
  font-size: .86rem;
  white-space: nowrap;
}

.highscore-list {
  position: relative;
  z-index: 1;
  display: grid;
  gap: .5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.highscore-row {
  display: grid;
  grid-template-columns: auto 42px minmax(0, 1fr) auto;
  align-items: center;
  gap: .65rem;
  min-height: 58px;
  padding: .48rem .58rem;
  border-radius: 1.05rem;
  background: rgba(0, 0, 0, .24);
  border: 1px solid rgba(255, 255, 255, .08);
}

.highscore-row.podium {
  background:
    linear-gradient(135deg, rgba(246, 200, 95, .16), rgba(255, 255, 255, .045)),
    rgba(0, 0, 0, .24);
  border-color: rgba(246, 200, 95, .2);
}

.highscore-rank {
  width: 2.6rem;
  color: #f6c85f;
  font-weight: 1000;
  text-align: center;
}

.highscore-avatar {
  width: 42px;
  height: 42px;
  border-radius: .9rem;
  object-fit: cover;
  border: 1px solid rgba(246, 200, 95, .24);
  background: rgba(0, 0, 0, .32);
}

.highscore-player {
  min-width: 0;
}

.highscore-player span,
.highscore-value {
  color: #fffaf0;
  font-weight: 1000;
}

.highscore-player span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.highscore-player small {
  display: block;
  color: rgba(255, 248, 229, .55);
  font-weight: 800;
}

.highscore-value {
  justify-self: end;
  white-space: nowrap;
  font-size: .95rem;
}

.highscore-empty {
  position: relative;
  z-index: 1;
  display: grid;
  gap: .25rem;
  padding: 1rem;
  border-radius: 1.1rem;
  background: rgba(0, 0, 0, .23);
  border: 1px dashed rgba(246, 200, 95, .22);
  color: rgba(255, 248, 229, .72);
}

.highscore-empty strong {
  color: #fff7dc;
}

@media (max-width: 940px) {
  .highscore-board-grid {
    grid-template-columns: 1fr;
  }

  .highscore-section-head,
  .highscore-actions {
    align-items: flex-start;
    justify-content: flex-start;
  }
}

@media (max-width: 620px) {
  .lobby-page-nav {
    border-radius: 1.2rem;
  }

  .lobby-page-nav button {
    flex: 1 1 140px;
    min-height: 40px;
    padding: .55rem .7rem;
    font-size: .78rem;
  }

  .lobby-tables-page .poker-room-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .lobby-tables-page .poker-room-section-head h2::after {
    display: block;
    margin-top: .2rem;
  }

  .highscore-row {
    grid-template-columns: auto 38px minmax(0, 1fr);
  }

  .highscore-value {
    grid-column: 3 / 4;
    justify-self: start;
  }
}

/* v2.5.5: Getrennte Highscore-Seiten mit Top 10 und eigener Spielerplatzierung */
.highscore-page-split {
  grid-template-columns: minmax(0, 1fr);
  overflow: hidden;
}

.highscore-split-head h2::after {
  content: " · eigene Seiten";
  color: rgba(246, 200, 95, .76);
  font-size: .48em;
  letter-spacing: .01em;
}

.highscore-page-switcher {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: .65rem;
  padding: .72rem;
  border-radius: 1.4rem;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, .025)),
    rgba(2, 9, 8, .72);
  border: 1px solid rgba(246, 200, 95, .16);
}

.highscore-page-tab {
  position: relative;
  overflow: hidden;
  min-height: 96px;
  display: grid;
  align-content: center;
  gap: .18rem;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 1.1rem;
  padding: .8rem .75rem;
  color: rgba(255, 248, 229, .78);
  background:
    radial-gradient(circle at 80% 0%, rgba(246, 200, 95, .12), transparent 7rem),
    rgba(255, 255, 255, .045);
  text-align: left;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.highscore-page-tab::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(246, 200, 95, .18), rgba(255, 255, 255, 0));
  opacity: 0;
  pointer-events: none;
  transition: opacity .18s ease;
}

.highscore-page-tab:hover,
.highscore-page-tab.active {
  transform: translateY(-2px);
  border-color: rgba(246, 200, 95, .36);
  box-shadow: 0 .85rem 1.65rem rgba(0, 0, 0, .24), 0 0 1.25rem rgba(246, 200, 95, .12);
  background:
    radial-gradient(circle at 80% 0%, rgba(246, 200, 95, .2), transparent 7rem),
    rgba(255, 255, 255, .072);
}

.highscore-page-tab.active::before {
  opacity: 1;
}

.highscore-page-tab span,
.highscore-page-tab small,
.highscore-page-tab strong {
  position: relative;
  z-index: 1;
}

.highscore-page-tab span {
  color: #f6c85f;
  font-size: .66rem;
  font-weight: 1000;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.highscore-page-tab strong {
  color: #fff8e6;
  font-size: clamp(.95rem, 1.7vw, 1.2rem);
  line-height: 1.05;
}

.highscore-page-tab small {
  color: rgba(255, 248, 229, .58);
  font-weight: 900;
}

.highscore-detail-page {
  position: relative;
  overflow: hidden;
  display: grid;
  gap: 1rem;
  border-radius: 1.65rem;
  padding: clamp(.9rem, 2.2vw, 1.25rem);
  border: 1px solid rgba(255, 255, 255, .12);
  background:
    radial-gradient(circle at 12% 0%, rgba(246, 200, 95, .17), transparent 22rem),
    radial-gradient(circle at 96% 12%, rgba(103, 215, 255, .12), transparent 18rem),
    linear-gradient(145deg, rgba(255, 255, 255, .095), rgba(255, 255, 255, .025)),
    rgba(2, 8, 8, .78);
}

.highscore-detail-page::after {
  content: "";
  position: absolute;
  inset: auto -10% -45% auto;
  width: 340px;
  aspect-ratio: 1;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(246, 200, 95, .16), transparent 70%);
  pointer-events: none;
}

.highscore-detail-hands { border-color: rgba(113, 232, 176, .23); }
.highscore-detail-wins { border-color: rgba(246, 200, 95, .34); }
.highscore-detail-profit { border-color: rgba(103, 215, 255, .25); }
.highscore-detail-bigwin { border-color: rgba(255, 120, 196, .25); }
.highscore-detail-credits { border-color: rgba(255, 236, 176, .31); }

.highscore-detail-hero {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(1rem, 2.4vw, 1.5rem);
  align-items: stretch;
}

.highscore-detail-copy h3 {
  margin: .1rem 0 .3rem;
  color: #fff7dc;
  font-size: clamp(2rem, 4vw, 4rem);
  line-height: .92;
  font-weight: 1000;
  letter-spacing: -.055em;
}

.highscore-detail-copy p {
  max-width: 64ch;
  margin: 0;
  color: rgba(255, 248, 229, .66);
  font-weight: 800;
  line-height: 1.5;
}

.highscore-detail-stats {
  min-width: min(100%, 380px);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .55rem;
}

.highscore-detail-stats div {
  display: grid;
  align-content: center;
  gap: .14rem;
  min-height: 88px;
  border-radius: 1.1rem;
  padding: .72rem;
  background: rgba(0, 0, 0, .26);
  border: 1px solid rgba(246, 200, 95, .14);
}

.highscore-detail-stats span {
  color: rgba(255, 248, 229, .58);
  font-size: .68rem;
  font-weight: 1000;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.highscore-detail-stats strong {
  color: #fff4cf;
  font-size: clamp(.98rem, 1.8vw, 1.35rem);
  font-weight: 1000;
  line-height: 1.05;
}

.highscore-detail-list {
  position: relative;
  z-index: 1;
  display: grid;
  gap: .52rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.highscore-detail-row {
  display: grid;
  grid-template-columns: 4.15rem 48px minmax(0, 1fr) auto;
  align-items: center;
  gap: .75rem;
  min-height: 66px;
  border-radius: 1.18rem;
  padding: .55rem .72rem;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .07), rgba(255, 255, 255, .025)),
    rgba(0, 0, 0, .25);
  border: 1px solid rgba(255, 255, 255, .085);
}

.highscore-detail-row.podium {
  background:
    linear-gradient(135deg, rgba(246, 200, 95, .19), rgba(255, 255, 255, .05)),
    rgba(0, 0, 0, .27);
  border-color: rgba(246, 200, 95, .25);
}

.highscore-detail-row.current {
  border-color: rgba(113, 232, 176, .48);
  box-shadow: inset 0 0 0 1px rgba(113, 232, 176, .15), 0 0 1.25rem rgba(113, 232, 176, .12);
  background:
    linear-gradient(135deg, rgba(113, 232, 176, .18), rgba(246, 200, 95, .06)),
    rgba(0, 0, 0, .28);
}

.highscore-detail-rank {
  display: grid;
  place-items: center;
  min-height: 44px;
  border-radius: 999px;
  color: #171005;
  background: linear-gradient(135deg, #fff1ba, #f6c85f 52%, #c67b1c);
  font-weight: 1000;
  box-shadow: 0 .55rem 1.1rem rgba(0, 0, 0, .26);
}

.highscore-player-outside {
  position: relative;
  z-index: 1;
  display: grid;
  gap: .55rem;
  margin-top: .2rem;
  padding-top: .85rem;
  border-top: 1px dashed rgba(246, 200, 95, .28);
}

.highscore-player-outside-note {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .85rem;
  flex-wrap: wrap;
  padding: .62rem .76rem;
  border-radius: 1rem;
  color: rgba(255, 248, 229, .74);
  background: rgba(0, 0, 0, .25);
  border: 1px solid rgba(113, 232, 176, .22);
  font-weight: 900;
}

.highscore-player-outside-note strong {
  color: #71e8b0;
  font-size: 1.08rem;
  font-weight: 1000;
}

.highscore-detail-empty {
  min-height: 150px;
  place-content: center;
  text-align: center;
}

@media (max-width: 1060px) {
  .highscore-page-switcher {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .highscore-detail-hero {
    grid-template-columns: 1fr;
  }

  .highscore-detail-stats {
    width: 100%;
    min-width: 0;
  }
}

@media (max-width: 720px) {
  .highscore-page-switcher {
    grid-template-columns: 1fr;
  }

  .highscore-page-tab {
    min-height: 70px;
  }

  .highscore-detail-stats {
    grid-template-columns: 1fr;
  }

  .highscore-detail-row {
    grid-template-columns: 3.4rem 42px minmax(0, 1fr);
  }

  .highscore-detail-row .highscore-value {
    grid-column: 3 / 4;
    justify-self: start;
  }

  .highscore-split-head h2::after {
    display: block;
    margin-top: .2rem;
  }
}

.reward-access-card {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: .85rem;
  align-items: center;
  min-height: 168px;
  overflow: hidden;
}

.reward-access-card::after {
  content: '';
  position: absolute;
  inset: auto -3rem -4rem auto;
  width: 11rem;
  aspect-ratio: 1;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(246, 200, 95, .17), transparent 70%);
  pointer-events: none;
}

.reward-card-icon {
  display: grid;
  place-items: center;
  width: 4.6rem;
  height: 4.6rem;
  border-radius: 1.25rem;
  color: #171005;
  background: linear-gradient(135deg, #fff1ba, #f6c85f 52%, #c67b1c);
  font-size: 2rem;
  font-weight: 1000;
  box-shadow: 0 .9rem 1.7rem rgba(0, 0, 0, .3);
}

.reward-card-icon.ad {
  color: #061512;
  background: linear-gradient(135deg, #a9ffe0, #71e8b0 52%, #25a36c);
}

.reward-status-pill {
  position: relative;
  z-index: 1;
  grid-column: 1 / -1;
  justify-self: start;
  border-radius: 999px;
  padding: .42rem .72rem;
  color: #fff7dc;
  background: rgba(0, 0, 0, .26);
  border: 1px solid rgba(246, 200, 95, .2);
  font-size: .78rem;
  font-weight: 950;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.reward-status-pill.claimed {
  color: #71e8b0;
  border-color: rgba(113, 232, 176, .36);
}

.reward-watch-btn {
  position: relative;
  z-index: 1;
  grid-column: 1 / -1;
  justify-self: stretch;
}

.reward-ad-overlay {
  position: fixed;
  inset: 0;
  z-index: 90;
  display: grid;
  place-items: center;
  padding: 1rem;
  background: rgba(0, 0, 0, .68);
  backdrop-filter: blur(8px);
}

.reward-ad-modal {
  width: min(440px, calc(100vw - 2rem));
  display: grid;
  gap: .75rem;
  justify-items: center;
  text-align: center;
  padding: clamp(1.25rem, 4vw, 2rem);
  border-color: rgba(113, 232, 176, .28);
}

.reward-ad-play {
  display: grid;
  place-items: center;
  width: 5.4rem;
  height: 5.4rem;
  border-radius: 999px;
  color: #061512;
  background: linear-gradient(135deg, #a9ffe0, #71e8b0 52%, #25a36c);
  font-size: 2.2rem;
  font-weight: 1000;
  box-shadow: 0 0 2.2rem rgba(113, 232, 176, .25), 0 1rem 2rem rgba(0, 0, 0, .34);
}

.reward-ad-modal h2 {
  margin: 0;
  color: #fff7dc;
  font-size: clamp(1.8rem, 4vw, 2.8rem);
  font-weight: 1000;
  letter-spacing: -.04em;
}

.reward-ad-modal p {
  max-width: 36ch;
  margin: 0;
  color: rgba(255, 248, 229, .72);
  font-weight: 800;
  line-height: 1.5;
}

.reward-ad-modal strong {
  display: grid;
  place-items: center;
  min-width: 5rem;
  min-height: 5rem;
  border-radius: 999px;
  color: #171005;
  background: linear-gradient(135deg, #fff1ba, #f6c85f 52%, #c67b1c);
  font-size: 1.8rem;
  font-weight: 1000;
}

@media (min-width: 921px) {
  .premium-access-grid {
    grid-template-columns: repeat(2, minmax(270px, 1fr));
  }
}

@media (max-width: 720px) {
  .reward-access-card {
    grid-template-columns: 1fr;
    justify-items: start;
  }

  .reward-card-icon {
    width: 4rem;
    height: 4rem;
    font-size: 1.65rem;
  }
}

/* Tournament MVP */
.tournament-access-card { cursor: pointer; }
.reward-card-icon.tournament {
  background: radial-gradient(circle at 30% 30%, rgba(255, 236, 166, .95), rgba(154, 95, 18, .9));
  color: #2a1505;
}
.tournament-page { width: min(1180px, calc(100vw - 2rem)); margin: 0 auto 40px; }
.tournament-section-head { margin-bottom: 16px; }
.tournament-meta-grid div,
.tournament-prize-list div {
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 16px;
  background: rgba(255,255,255,.045);
  padding: 12px;
}
.tournament-meta-grid span,
.tournament-prize-list span,
.tournament-game-banner span {
  display: block;
  color: rgba(255,255,255,.64);
  font-size: .75rem;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.tournament-meta-grid strong,
.tournament-prize-list strong,
.tournament-game-banner strong { color: #fff; }
.tournament-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(235px, 270px));
  justify-content: center;
  align-items: start;
  gap: clamp(1rem, 2vw, 1.35rem);
}
.tournament-card { overflow: hidden; display: block; }
.tournament-card.status-running { box-shadow: 0 0 0 1px rgba(98, 219, 255, .28), 0 24px 60px rgba(0,0,0,.38); }
.tournament-card.status-completed { opacity: .94; }
.tournament-cover { min-height: 0; }

.tournament-grid .poker-room-card {
  min-height: 0;
}

.tournament-grid .poker-room-cover,
.tournament-grid .premium-cover-frame.poker-room-cover,
.tournament-grid .table-cover-frame.poker-room-cover {
  aspect-ratio: 27 / 40;
  min-height: 0;
}

.tournament-grid .poker-room-cover .table-cover-img,
.tournament-grid .poker-room-cover img.table-cover-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  transform: none !important;
  background: rgba(0, 0, 0, .18);
}

.tournament-room-title span {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tournament-cover-action {
  pointer-events: none;
}
.tournament-card-body { display: grid; gap: 14px; padding: 16px; }
.tournament-card-body p { margin: 0; color: rgba(255,255,255,.76); line-height: 1.45; }
.tournament-meta-grid,
.tournament-prize-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.tournament-prize-list div {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: center;
}
.tournament-last-result {
  border-radius: 14px;
  padding: 10px 12px;
  color: #ffe7a3;
  background: rgba(255, 193, 7, .10);
  border: 1px solid rgba(255, 193, 7, .22);
  font-size: .9rem;
}
.tournament-primary-btn {
  margin: auto 16px 16px;
  border: 0;
  border-radius: 999px;
  padding: 12px 16px;
  font-weight: 800;
  color: #261300;
  background: linear-gradient(135deg, #ffe7a3, #c89636);
  box-shadow: 0 12px 28px rgba(0,0,0,.28);
}
.tournament-primary-btn:disabled { opacity: .45; cursor: not-allowed; }
.tournament-history-panel { margin-top: 22px; padding: 18px; }
.tournament-history-list { display: grid; gap: 10px; }
.tournament-history-row {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  padding: 12px 14px;
  border-radius: 16px;
  background: rgba(255,255,255,.055);
  border: 1px solid rgba(255,255,255,.1);
}
.tournament-history-row strong { display: block; color: #fff; }
.tournament-history-row span { color: rgba(255,255,255,.62); font-size: .9rem; }
.tournament-history-row b { color: #ffe7a3; white-space: nowrap; }
.tournament-history-empty { color: rgba(255,255,255,.66); padding: 12px 0; }
.tournament-profile-panel { display: grid; gap: 16px; }
.tournament-profile-stats { margin-bottom: 4px; }
.tournament-game-banner {
  position: fixed;
  left: 50%;
  top: 12px;
  transform: translateX(-50%);
  z-index: 25;
  display: grid;
  grid-template-columns: repeat(4, max-content);
  gap: 12px;
  padding: 10px 14px;
  align-items: center;
}
.tournament-game-banner div {
  min-width: 88px;
  border-right: 1px solid rgba(255,255,255,.11);
  padding-right: 12px;
}
.tournament-game-banner div:last-child { border-right: 0; padding-right: 0; }
@media (max-width: 760px) {
  .tournament-meta-grid,
  .tournament-prize-list { grid-template-columns: 1fr; }
  .tournament-game-banner {
    left: 8px;
    right: 8px;
    top: 8px;
    transform: none;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Tournament modes extension */
.tournament-toolbar { margin: 0 0 18px; padding: 12px; }
.tournament-filter-tabs { width: 100%; }
.tournament-card-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  padding: 12px;
  border-top: 1px solid rgba(255,255,255,.08);
  background: rgba(0,0,0,.16);
}
.tournament-card-stats div {
  min-width: 0;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 14px;
  padding: 8px;
  background: rgba(255,255,255,.045);
}
.tournament-card-stats span {
  display: block;
  color: rgba(255,255,255,.6);
  font-size: .68rem;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.tournament-card-stats strong {
  display: block;
  color: #fff;
  margin-top: 3px;
  font-size: .78rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.tournament-mode-turbo .room-category-chip,
.tournament-mode-timeattack .room-category-chip { border-color: rgba(98, 219, 255, .36); }
.tournament-mode-deep_stack .room-category-chip { border-color: rgba(118, 255, 183, .32); }
.tournament-mode-knockout .room-category-chip { border-color: rgba(255, 130, 130, .38); }
.tournament-status-locked { opacity: .8; }
.tournament-detail-panel {
  margin-top: 22px;
  padding: clamp(16px, 2vw, 24px);
  display: grid;
  gap: 18px;
}
.tournament-detail-head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
}
.tournament-detail-head h2 { margin: 4px 0 6px; color: #fff; }
.tournament-detail-head p { margin: 0; color: rgba(255,255,255,.72); max-width: 760px; line-height: 1.5; }
.tournament-detail-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(155px, 1fr));
  gap: 10px;
}
.tournament-detail-block,
.tournament-rules-card,
.tournament-log-panel {
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 18px;
  background: rgba(255,255,255,.045);
  padding: 14px;
}
.tournament-detail-block span,
.tournament-log-row span {
  display: block;
  color: rgba(255,255,255,.58);
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: .72rem;
}
.tournament-detail-block strong { display: block; color: #ffe7a3; margin-top: 4px; }
.tournament-detail-block small { display: block; color: rgba(255,255,255,.58); margin-top: 3px; line-height: 1.35; }
.tournament-detail-columns {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.tournament-rules-card h3,
.tournament-log-panel h3 { margin: 0 0 10px; color: #fff; }
.tournament-rules-card ul { margin: 0; padding-left: 18px; color: rgba(255,255,255,.72); line-height: 1.45; }
.tournament-rules-card p { margin: 0; color: rgba(255,255,255,.64); }
.tournament-log-list { display: grid; gap: 8px; }
.tournament-log-row {
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(0,0,0,.18);
}
.tournament-log-row strong { display: block; color: #fff; margin-top: 4px; font-size: .9rem; }
.tournament-detail-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}
.tournament-detail-actions .tournament-primary-btn { margin: 0; }
.tournament-primary-btn.secondary {
  color: #fff;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: none;
}
@media (max-width: 900px) {
  .tournament-detail-columns { grid-template-columns: 1fr; }
  .tournament-card-stats { grid-template-columns: 1fr; }
}

/* Tournament premium interface polish v2.9.0 */
.tournament-page {
  position: relative;
  isolation: isolate;
  padding-bottom: 22px;
}
.tournament-page::before {
  content: '';
  position: absolute;
  inset: -28px -18px auto;
  height: 300px;
  pointer-events: none;
  z-index: -1;
  background:
    radial-gradient(circle at 18% 18%, rgba(255, 215, 128, .22), transparent 36%),
    radial-gradient(circle at 84% 8%, rgba(92, 228, 255, .14), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.035), transparent 78%);
  filter: blur(.2px);
}
.tournament-section-head {
  padding: clamp(18px, 3vw, 28px);
  border: 1px solid rgba(255, 218, 143, .18);
  border-radius: 28px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .11), rgba(255, 255, 255, .035)),
    radial-gradient(circle at top left, rgba(255, 199, 92, .18), transparent 42%);
  box-shadow: 0 26px 70px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.12);
}
.tournament-section-head .lobby-eyebrow,
.tournament-completion-kicker {
  color: #ffe7a3;
  text-shadow: 0 0 18px rgba(255, 207, 112, .34);
}
.tournament-section-head h2 {
  letter-spacing: -.03em;
}
.tournament-toolbar {
  border-color: rgba(255, 218, 143, .16);
  background: linear-gradient(135deg, rgba(16, 10, 28, .74), rgba(255, 255, 255, .055));
  box-shadow: 0 18px 48px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.1);
}
.tournament-filter-tabs button {
  min-height: 52px;
  border-color: rgba(255, 218, 143, .12);
  background: rgba(255,255,255,.045);
}
.tournament-filter-tabs button.active {
  color: #2a1505;
  border-color: rgba(255, 231, 163, .56);
  background: linear-gradient(135deg, #ffe7a3, #c89636);
  box-shadow: 0 12px 28px rgba(201,150,54,.22), 0 0 28px rgba(255, 218, 143, .18);
}
.tournament-grid {
  grid-template-columns: repeat(auto-fit, minmax(260px, 286px));
  gap: clamp(1rem, 2.3vw, 1.6rem);
}
.tournament-card {
  position: relative;
  border-color: rgba(255, 218, 143, .16);
  border-radius: 28px;
  background: linear-gradient(180deg, rgba(255,255,255,.105), rgba(255,255,255,.038));
  box-shadow: 0 22px 60px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.11);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.tournament-card:hover,
.tournament-card:focus-visible {
  transform: translateY(-4px);
  border-color: rgba(255, 218, 143, .38);
  box-shadow: 0 28px 75px rgba(0,0,0,.44), 0 0 34px rgba(255, 205, 92, .14), inset 0 1px 0 rgba(255,255,255,.18);
}
.tournament-card::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  background: linear-gradient(135deg, rgba(255,255,255,.16), transparent 24%, transparent 70%, rgba(255,215,128,.13));
  opacity: .75;
}
.tournament-grid .poker-room-cover,
.tournament-grid .premium-cover-frame.poker-room-cover,
.tournament-grid .table-cover-frame.poker-room-cover {
  border-radius: 26px 26px 18px 18px;
  border-color: rgba(255, 218, 143, .18);
  background:
    radial-gradient(circle at 50% 18%, rgba(255, 218, 143, .15), transparent 42%),
    rgba(0,0,0,.24);
}
.tournament-grid .poker-room-cover .table-cover-img,
.tournament-grid .poker-room-cover img.table-cover-img {
  padding: 7px;
}
.tournament-card .room-card-topline {
  gap: 8px;
}
.tournament-card .room-category-chip,
.tournament-card .room-recommendation,
.tournament-card .table-status-pill {
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.tournament-card .room-category-chip {
  color: #ffe7a3;
  background: rgba(31, 20, 7, .55);
  border-color: rgba(255, 218, 143, .28);
}
.tournament-card .room-recommendation {
  max-width: 130px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: rgba(255,255,255,.84);
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.28);
}
.tournament-card .table-open-pill {
  color: #281500;
  background: linear-gradient(135deg, #ffe7a3, #c89636);
  border: 0;
}
.tournament-status-running,
.tournament-card.status-running .table-open-pill {
  color: #041822 !important;
  background: linear-gradient(135deg, #a9f3ff, #62dbff) !important;
}
.tournament-status-eliminated,
.tournament-card.status-completed .table-open-pill {
  color: #fff !important;
  background: rgba(255,255,255,.13) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
}
.tournament-card-stats-premium {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: 14px;
  gap: 9px;
  background:
    linear-gradient(180deg, rgba(12, 8, 22, .68), rgba(12, 8, 22, .34)),
    radial-gradient(circle at top right, rgba(255, 218, 143, .09), transparent 46%);
}
.tournament-card-stats-premium div {
  border-color: rgba(255, 218, 143, .12);
  background: linear-gradient(135deg, rgba(255,255,255,.075), rgba(255,255,255,.035));
}
.tournament-card-stats-premium strong {
  color: #fff6d4;
}
.tournament-card-stat-wide {
  grid-column: 1 / -1;
}
.tournament-cover-action {
  color: #2a1505;
  border-top: 1px solid rgba(255, 218, 143, .18);
  background: linear-gradient(135deg, rgba(255, 231, 163, .95), rgba(200, 150, 54, .92));
  font-weight: 900;
}
.tournament-detail-panel {
  position: relative;
  overflow: hidden;
  border-radius: 30px;
  border-color: rgba(255, 218, 143, .18);
  background:
    radial-gradient(circle at top left, rgba(255, 218, 143, .16), transparent 40%),
    linear-gradient(135deg, rgba(255,255,255,.1), rgba(255,255,255,.04));
  box-shadow: 0 30px 90px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.12);
}
.tournament-detail-panel::before {
  content: '';
  position: absolute;
  inset: 0 0 auto 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,231,163,.75), transparent);
}
.tournament-detail-head h2 {
  font-size: clamp(1.65rem, 4vw, 2.65rem);
  color: #fff6d4;
  text-shadow: 0 0 30px rgba(255, 218, 143, .15);
}
.tournament-detail-grid {
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}
.tournament-detail-block,
.tournament-rules-card,
.tournament-log-panel {
  border-color: rgba(255, 218, 143, .14);
  background: linear-gradient(135deg, rgba(255,255,255,.075), rgba(255,255,255,.032));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}
.tournament-detail-block strong,
.tournament-prize-list strong,
.tournament-log-row strong {
  color: #ffe7a3;
}
.tournament-prize-list div,
.tournament-log-row,
.tournament-history-row {
  border-color: rgba(255, 218, 143, .12);
  background: rgba(0,0,0,.18);
}
.tournament-detail-actions {
  padding-top: 2px;
}
.tournament-primary-btn {
  min-height: 44px;
  cursor: pointer;
  transition: transform .16s ease, box-shadow .16s ease, opacity .16s ease;
}
.tournament-primary-btn:not(:disabled):hover {
  transform: translateY(-1px);
  box-shadow: 0 16px 34px rgba(0,0,0,.32), 0 0 24px rgba(255, 218, 143, .2);
}
.tournament-game-banner {
  width: min(1040px, calc(100vw - 24px));
  grid-template-columns: minmax(190px, 1.25fr) repeat(7, minmax(92px, auto));
  gap: 0;
  overflow: hidden;
  border: 1px solid rgba(255, 218, 143, .2);
  border-radius: 24px;
  background:
    linear-gradient(135deg, rgba(18, 11, 29, .88), rgba(18, 11, 29, .62)),
    radial-gradient(circle at top left, rgba(255, 218, 143, .18), transparent 46%);
  box-shadow: 0 18px 60px rgba(0,0,0,.4), 0 0 38px rgba(255, 218, 143, .12);
}
.tournament-game-banner div {
  min-width: 0;
  padding: 9px 12px;
  border-right: 1px solid rgba(255, 218, 143, .13);
}
.tournament-game-banner-title strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.tournament-completion-overlay {
  position: fixed;
  inset: 0;
  z-index: 65;
  display: grid;
  place-items: center;
  padding: 18px;
  background: radial-gradient(circle at center, rgba(255, 218, 143, .16), rgba(4, 2, 9, .84) 58%, rgba(0,0,0,.92));
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.tournament-completion-card {
  width: min(620px, 100%);
  padding: clamp(22px, 5vw, 38px);
  border-radius: 34px;
  text-align: center;
  border: 1px solid rgba(255, 218, 143, .28);
  background:
    radial-gradient(circle at 50% 0%, rgba(255, 218, 143, .22), transparent 46%),
    linear-gradient(135deg, rgba(255,255,255,.12), rgba(255,255,255,.045));
  box-shadow: 0 34px 100px rgba(0,0,0,.55), 0 0 70px rgba(255, 218, 143, .14), inset 0 1px 0 rgba(255,255,255,.16);
}
.tournament-completion-card h2 {
  margin: 6px 0 8px;
  color: #fff6d4;
  font-size: clamp(2rem, 7vw, 4rem);
  letter-spacing: -.05em;
  text-shadow: 0 0 38px rgba(255, 218, 143, .22);
}
.tournament-completion-card p {
  margin: 0 auto 18px;
  max-width: 480px;
  color: rgba(255,255,255,.75);
}
.tournament-completion-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 18px 0 22px;
}
.tournament-completion-stats div {
  padding: 14px 10px;
  border-radius: 18px;
  border: 1px solid rgba(255, 218, 143, .14);
  background: rgba(0,0,0,.2);
}
.tournament-completion-stats span {
  display: block;
  color: rgba(255,255,255,.58);
  font-size: .7rem;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.tournament-completion-stats strong {
  display: block;
  margin-top: 5px;
  color: #ffe7a3;
  font-size: 1.05rem;
}
.tournament-completion-btn {
  margin: 0 auto;
}
@media (max-width: 1050px) {
  .tournament-game-banner {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .tournament-game-banner-title {
    grid-column: span 2;
  }
}
@media (max-width: 760px) {
  .tournament-page {
    width: min(100% - 18px, 1180px);
  }
  .tournament-section-head {
    border-radius: 22px;
  }
  .tournament-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .tournament-card-stats-premium {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .tournament-detail-head {
    align-items: flex-start;
  }
  .tournament-detail-actions {
    justify-content: stretch;
  }
  .tournament-detail-actions .tournament-primary-btn {
    flex: 1 1 100%;
  }
  .tournament-game-banner {
    left: 8px;
    right: 8px;
    top: 8px;
    width: auto;
    transform: none;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-radius: 20px;
  }
  .tournament-game-banner-title {
    grid-column: 1 / -1;
  }
  .tournament-game-banner div {
    border-bottom: 1px solid rgba(255, 218, 143, .1);
  }
  .tournament-completion-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}


/* Tournament overview pagination + separated detail page v1.16.2 */
.tournament-table-pager {
  margin: 0 0 18px;
}

.tournament-detail-button {
  width: 100%;
  border: 0;
  cursor: pointer;
  pointer-events: auto;
}

.tournament-detail-button:disabled {
  cursor: wait;
  opacity: .68;
}

.tournament-detail-page {
  display: grid;
  gap: 16px;
}

.tournament-detail-page .tournament-detail-panel {
  margin-top: 0;
}

.tournament-back-btn {
  justify-self: start;
  min-height: 42px;
  border: 1px solid rgba(255, 218, 143, .22);
  border-radius: 999px;
  padding: .62rem 1rem;
  color: #fff7dc;
  background: rgba(255,255,255,.065);
  font-weight: 950;
  cursor: pointer;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 10px 24px rgba(0,0,0,.2);
}

.tournament-back-btn:hover,
.tournament-back-btn:focus-visible {
  color: #171005;
  border-color: rgba(255, 235, 174, .6);
  background: linear-gradient(135deg, #fff1ba, #f6c85f 44%, #c87b1c);
}

.tournament-detail-actions-top {
  justify-content: flex-start;
  padding-bottom: 4px;
  border-bottom: 1px solid rgba(255, 218, 143, .12);
}

@media (max-width: 760px) {
  .tournament-back-btn {
    justify-self: stretch;
  }
}

/* Tournament compact detail + separated completed tournaments page v1.16.3 */
.tournament-overview-footer {
  margin-top: 18px;
  padding: 14px 16px;
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: center;
}
.tournament-overview-footer span,
.tournament-history-summary span {
  display: block;
  color: rgba(255,255,255,.62);
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.tournament-overview-footer strong { color: #fff; }
.tournament-history-page { display: grid; gap: 16px; }
.tournament-history-page-panel { margin-top: 0; }
.tournament-history-page-panel .section-heading p {
  margin: 4px 0 0;
  color: rgba(255,255,255,.66);
}
.tournament-history-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}
.tournament-history-summary div {
  padding: 12px 14px;
  border: 1px solid rgba(255, 218, 143, .12);
  border-radius: 16px;
  background: rgba(0,0,0,.16);
}
.tournament-history-summary strong {
  display: block;
  margin-top: 4px;
  color: #ffe7a3;
}
.tournament-detail-page-compact {
  width: min(1040px, calc(100vw - 2rem));
}
.tournament-detail-panel-compact {
  gap: 12px;
  padding: clamp(14px, 1.6vw, 18px);
  border-radius: 24px;
}
.tournament-detail-head.compact {
  align-items: center;
}
.tournament-detail-head.compact h2 {
  margin: 2px 0 4px;
  font-size: clamp(1.35rem, 3vw, 2rem);
}
.tournament-detail-head.compact p {
  max-width: 680px;
  font-size: .92rem;
  line-height: 1.35;
}
.tournament-detail-actions.compact {
  gap: 8px;
  border-bottom: 0;
  padding: 0;
}
.tournament-detail-actions.compact .tournament-primary-btn {
  min-height: 38px;
  padding: 8px 13px;
  font-size: .9rem;
}
.tournament-detail-grid.compact {
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 8px;
}
.tournament-detail-grid.compact .tournament-detail-block {
  padding: 10px 11px;
  border-radius: 14px;
}
.tournament-detail-grid.compact .tournament-detail-block strong {
  font-size: .95rem;
}
.tournament-detail-columns.compact {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.tournament-rules-card.compact {
  padding: 12px;
  border-radius: 16px;
}
.tournament-rules-card.compact h3 {
  margin-bottom: 8px;
  font-size: 1rem;
}
.tournament-prize-list.compact {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.tournament-prize-list.compact div {
  min-height: 0;
  padding: 9px 10px;
  border-radius: 13px;
}
.tournament-prize-list.compact strong {
  font-size: .9rem;
  text-align: right;
}
.tournament-compact-details {
  border: 1px solid rgba(255, 218, 143, .12);
  border-radius: 16px;
  background: rgba(255,255,255,.04);
  padding: 0;
  overflow: hidden;
}
.tournament-compact-details summary {
  cursor: pointer;
  padding: 11px 13px;
  color: #fff6d4;
  font-weight: 850;
  list-style: none;
}
.tournament-compact-details summary::-webkit-details-marker { display: none; }
.tournament-compact-details summary::after {
  content: ' +';
  color: #ffe7a3;
}
.tournament-compact-details[open] summary::after { content: ' –'; }
.tournament-compact-details ul,
.tournament-compact-details .tournament-log-list {
  margin: 0;
  padding: 0 13px 13px 28px;
  color: rgba(255,255,255,.72);
}
.tournament-compact-details .tournament-log-list {
  padding-left: 13px;
}
@media (max-width: 760px) {
  .tournament-overview-footer {
    align-items: stretch;
    flex-direction: column;
  }
  .tournament-history-summary,
  .tournament-detail-columns.compact,
  .tournament-prize-list.compact {
    grid-template-columns: 1fr;
  }
  .tournament-detail-head.compact {
    align-items: flex-start;
  }
}


/* Responsive Modern Layout + Color Refresh v1.16.4 */
:root {
  --gold: #ffcc4d;
  --casino-cyan: #28d9ff;
  --casino-pink: #ff3ea5;
  --casino-violet: #7c5cff;
  --casino-green: #24e39a;
  --casino-orange: #ff8a34;
  --panel: rgba(18, 18, 32, .82);
  --panel-strong: rgba(18, 18, 32, .94);
  --stroke: rgba(255, 255, 255, .16);
  --modern-radius-lg: 18px;
  --modern-radius-md: 12px;
  --modern-radius-sm: 8px;
}

html {
  font-size: clamp(14px, .25vw + 13.2px, 16px);
}

body {
  color: #f9fbff;
  background: #090914;
}

body,
.game-root,
.table-stage,
.auth-screen,
.lobby-screen,
.premium-lobby-screen {
  max-width: 100vw;
}

.game-root.auth-flow,
.game-root.auth-flow .lobby-screen,
.game-root.auth-flow .premium-lobby-screen {
  min-height: 100dvh;
  height: auto;
  overflow-x: hidden;
  overflow-y: auto;
}

.game-root {
  background:
    radial-gradient(circle at 12% 9%, rgba(255, 62, 165, .22), transparent 28rem),
    radial-gradient(circle at 86% 12%, rgba(40, 217, 255, .2), transparent 30rem),
    radial-gradient(circle at 65% 92%, rgba(255, 138, 52, .16), transparent 28rem),
    linear-gradient(135deg, #090914 0%, #10122b 48%, #140a16 100%);
}

.glass-panel,
.glass-seat,
.auth-card,
.boot-card,
.premium-lobby-header,
.lobby-page-nav,
.lobby-hero,
.premium-access-card,
.lobby-table-section,
.highscore-page,
.tournament-detail-panel,
.tournament-history-panel,
.lobby-table-pager,
.tournament-overview-footer {
  border-radius: var(--modern-radius-lg) !important;
  border-color: rgba(255,255,255,.16) !important;
  background:
    linear-gradient(140deg, rgba(255,255,255,.105), rgba(255,255,255,.035)),
    linear-gradient(135deg, rgba(19, 21, 49, .9), rgba(31, 15, 38, .86)) !important;
  box-shadow: 0 18px 42px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.12) !important;
  backdrop-filter: blur(14px) saturate(1.12);
  -webkit-backdrop-filter: blur(14px) saturate(1.12);
}

button,
.hud-btn,
.panel-dock button,
.action-btn,
.report-box button,
.shop-actions button,
.profile-chip,
.auth-tabs,
.auth-tabs button,
.auth-submit,
.table-select-btn,
.lobby-hero-btn,
.lobby-access-btn,
.premium-header-btn,
.tournament-primary-btn,
.tournament-back-btn,
.lobby-pager-btn,
.lobby-page-dot,
.table-cover-action,
.tournament-detail-button,
.rewarded-ad-btn {
  border-radius: var(--modern-radius-md) !important;
}

.premium-lobby-screen,
.lobby-screen {
  background: transparent;
}

.premium-lobby-screen::before,
.auth-screen::before,
.lobby-screen::before {
  background:
    radial-gradient(circle at 7% 11%, rgba(255, 62, 165, .28), transparent 28rem),
    radial-gradient(circle at 92% 14%, rgba(40, 217, 255, .24), transparent 30rem),
    radial-gradient(circle at 15% 88%, rgba(36, 227, 154, .16), transparent 28rem),
    radial-gradient(circle at 82% 86%, rgba(255, 138, 52, .18), transparent 30rem),
    linear-gradient(135deg, #090914 0%, #10122b 48%, #170c1a 100%) !important;
}

.premium-lobby-screen::after {
  opacity: .78;
  background:
    linear-gradient(120deg, rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(0deg, rgba(40,217,255,.04) 1px, transparent 1px),
    radial-gradient(ellipse at center, transparent 34%, rgba(0,0,0,.32) 100%) !important;
  background-size: 84px 84px, 84px 84px, 100% 100% !important;
}

.premium-lobby-header {
  width: min(1220px, calc(100vw - clamp(1rem, 4vw, 2.4rem))) !important;
  grid-template-columns: minmax(220px, 1fr) minmax(260px, auto) auto;
  gap: clamp(.65rem, 1.5vw, 1rem);
  padding: clamp(.68rem, 1.4vw, .95rem) !important;
  background:
    linear-gradient(135deg, rgba(255, 62, 165, .15), rgba(40, 217, 255, .1)),
    linear-gradient(135deg, rgba(17, 21, 55, .96), rgba(31, 15, 38, .92)) !important;
}

.lobby-brand-logo,
.brand-logo,
.boot-logo {
  border-radius: var(--modern-radius-md) !important;
  box-shadow: 0 0 24px rgba(40,217,255,.24), 0 0 28px rgba(255,62,165,.12) !important;
}

.premium-lobby-header .brand-title,
.lobby-hero-copy h1,
.table-cover-title strong,
.poker-room-section-head h2,
.section-heading h2,
.highscore-board-head h3,
.tournament-detail-head h2 {
  letter-spacing: -.035em;
}

.lobby-player-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(80px, 1fr));
  gap: .5rem;
}

.lobby-player-stat,
.hud-stats > div,
.table-detail-grid div,
.tournament-history-summary div,
.tournament-detail-block,
.tournament-settings-grid > div,
.tournament-prize-list.compact div,
.table-meta-row span,
.highscore-row,
.tournament-history-row {
  border-radius: var(--modern-radius-md) !important;
  background: rgba(0,0,0,.24) !important;
  border-color: rgba(255,255,255,.12) !important;
}

.lobby-page-nav {
  width: min(1220px, calc(100vw - clamp(1rem, 4vw, 2.4rem))) !important;
  justify-content: flex-start !important;
  gap: .45rem !important;
  padding: .42rem !important;
  overflow-x: auto;
  scrollbar-width: thin;
}

.lobby-page-nav button {
  flex: 0 0 auto;
  min-height: 40px !important;
  padding: .58rem .82rem !important;
  color: rgba(255,255,255,.82) !important;
  background: rgba(255,255,255,.06) !important;
  border-color: rgba(255,255,255,.13) !important;
  letter-spacing: .025em !important;
  text-transform: none !important;
}

.lobby-page-nav button:hover,
.lobby-page-nav button.active,
.auth-tabs button.active,
.auth-submit,
.table-select-btn,
.hud-btn-primary,
.tournament-primary-btn,
.lobby-hero-btn.primary,
.lobby-access-btn,
.rewarded-ad-btn {
  color: #080914 !important;
  background: linear-gradient(135deg, var(--casino-cyan), var(--casino-pink) 48%, var(--casino-orange)) !important;
  border-color: rgba(255,255,255,.35) !important;
  box-shadow: 0 12px 28px rgba(255,62,165,.18), 0 0 26px rgba(40,217,255,.12) !important;
}

.lobby-home-page,
.lobby-table-section,
.highscore-page,
.tournament-page {
  width: min(1220px, calc(100vw - clamp(1rem, 4vw, 2.4rem))) !important;
}

.lobby-hero,
.lobby-tables-page,
.highscore-page,
.tournament-page {
  padding: clamp(.9rem, 2vw, 1.35rem) !important;
}

.lobby-hero {
  grid-template-columns: minmax(0, 1.12fr) minmax(260px, .88fr);
  align-items: center;
  gap: clamp(1rem, 3vw, 2rem);
  border-top: 1px solid rgba(40,217,255,.2) !important;
}

.lobby-eyebrow,
.lobby-copy span,
.highscore-board-head span,
.tournament-completion-kicker,
.winner-strip-kicker,
.room-category-chip {
  color: var(--casino-cyan) !important;
}

.lobby-hero-copy p,
.lobby-access-copy p,
.section-heading p,
.tournament-detail-head p,
.highscore-board-head p {
  color: rgba(244,247,255,.68) !important;
}

.premium-access-grid,
.premium-table-grid,
.poker-room-grid,
.tournament-grid,
.table-select-grid,
.highscore-board-grid {
  width: 100% !important;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)) !important;
  gap: clamp(.75rem, 1.6vw, 1.1rem) !important;
}

.lobby-tables-page .poker-room-grid,
.tournament-grid.premium-table-grid,
.tournament-grid.poker-room-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 245px), 1fr)) !important;
}

.premium-access-card,
.poker-room-card,
.tournament-card,
.highscore-board,
.shop-item-card,
.profile-card,
.tournament-rules-card,
.tournament-compact-details,
.tournament-completion-card,
.winner-overlay-card {
  border-radius: var(--modern-radius-lg) !important;
  overflow: hidden;
  background:
    linear-gradient(150deg, rgba(255,255,255,.1), rgba(255,255,255,.035)),
    linear-gradient(135deg, rgba(15, 23, 58, .88), rgba(35, 14, 42, .82)) !important;
  border-color: rgba(255,255,255,.15) !important;
}

.premium-access-card:hover,
.poker-room-card:hover:not(.is-locked),
.tournament-card:hover:not(.is-locked),
.highscore-board:hover {
  transform: translateY(-2px);
  border-color: rgba(40,217,255,.34) !important;
  box-shadow: 0 18px 42px rgba(0,0,0,.42), 0 0 30px rgba(255,62,165,.1) !important;
}

.table-cover-frame,
.table-cover-frame.poker-room-cover,
.premium-cover-frame,
.lobby-shop-cover-frame,
.lobby-profile-avatar-wrap,
.playing-card,
.card-back-img,
.avatar-img,
.profile-chip-avatar,
.lobby-profile-avatar,
.seat-side-avatar {
  border-radius: var(--modern-radius-md) !important;
}

.table-cover-frame.poker-room-cover,
.premium-cover-frame.poker-room-cover,
.tournament-grid .table-cover-frame.poker-room-cover,
.lobby-tables-page .table-cover-frame.poker-room-cover {
  aspect-ratio: 5 / 6 !important;
}

.table-cover-shade {
  background:
    linear-gradient(180deg, rgba(5,6,18,.14), rgba(5,6,18,.1) 42%, rgba(5,6,18,.82)),
    linear-gradient(135deg, rgba(40,217,255,.16), rgba(255,62,165,.16)) !important;
}

.table-status-pill,
.room-category-chip,
.room-recommendation,
.table-open-pill,
.table-mode-pill,
.reward-status-pill,
.highscore-updated,
.table-credit-note {
  border-radius: var(--modern-radius-sm) !important;
  background: rgba(9,9,20,.72) !important;
  border-color: rgba(255,255,255,.18) !important;
  color: #f9fbff !important;
}

.table-open-pill,
.reward-status-pill.claimed,
.tournament-status-open {
  color: #07120d !important;
  background: linear-gradient(135deg, var(--casino-green), var(--casino-cyan)) !important;
}

.table-mode-pill,
.room-recommendation,
.tournament-status-running,
.tournament-card.status-running .table-open-pill {
  color: #090914 !important;
  background: linear-gradient(135deg, var(--gold), var(--casino-orange)) !important;
}

.tournament-status-completed,
.tournament-card.status-completed .table-open-pill {
  color: #090914 !important;
  background: linear-gradient(135deg, #bda8ff, var(--casino-pink)) !important;
}

.lobby-table-pager,
.tournament-table-pager {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: .75rem;
  padding: .65rem .8rem !important;
}

.lobby-pager-actions {
  display: flex;
  align-items: center;
  gap: .45rem;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.lobby-page-dots {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
}

.tournament-detail-page-compact {
  width: min(980px, calc(100vw - clamp(1rem, 4vw, 2.4rem))) !important;
}

.tournament-detail-panel-compact {
  gap: 10px !important;
  padding: clamp(.75rem, 1.6vw, 1rem) !important;
}

.tournament-detail-head.compact {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .75rem;
  align-items: start !important;
}

.tournament-detail-head.compact h2 {
  font-size: clamp(1.25rem, 2.2vw, 1.75rem) !important;
  margin: .05rem 0 .18rem !important;
}

.tournament-detail-head.compact p {
  max-width: 72ch !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: .88rem !important;
}

.tournament-detail-actions.compact {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
  gap: .5rem !important;
}

.tournament-detail-actions.compact .tournament-primary-btn {
  width: 100%;
  min-height: 36px !important;
  padding: .52rem .65rem !important;
}

.tournament-detail-snapshot.compact,
.tournament-settings-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: .5rem;
}

.tournament-settings-grid {
  padding: 0 .8rem .8rem;
}

.tournament-settings-grid > div {
  padding: .62rem .7rem;
}

.tournament-settings-grid span,
.tournament-detail-snapshot span {
  display: block;
  color: rgba(255,255,255,.6);
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.tournament-settings-grid strong,
.tournament-detail-snapshot strong {
  display: block;
  margin-top: .16rem;
  color: #fff;
  font-size: .92rem;
}

.tournament-detail-columns.compact {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)) !important;
  gap: .65rem !important;
}

.tournament-rules-card.compact {
  padding: .75rem !important;
}

.tournament-rules-card.compact h3 {
  margin-bottom: .55rem !important;
}

.tournament-prize-list.compact {
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)) !important;
}

.tournament-compact-details {
  border-color: rgba(255,255,255,.13) !important;
  background: rgba(0,0,0,.18) !important;
}

.tournament-compact-details summary {
  padding: .72rem .8rem !important;
  color: #f9fbff !important;
}

.tournament-compact-details summary::after {
  color: var(--casino-cyan) !important;
}

.tournament-overview-footer {
  align-items: center;
}

.tournament-history-summary {
  grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)) !important;
}

.tournament-history-row {
  gap: .75rem;
}

.top-hud,
.panel-dock,
.bottom-action-bar,
.tournament-game-banner {
  border-radius: var(--modern-radius-lg) !important;
  background:
    linear-gradient(140deg, rgba(255,255,255,.1), rgba(255,255,255,.035)),
    rgba(14, 16, 38, .86) !important;
  border-color: rgba(255,255,255,.16) !important;
}

.seat-card {
  border-radius: var(--modern-radius-lg) !important;
  background:
    linear-gradient(145deg, rgba(255,255,255,.095), rgba(255,255,255,.035)),
    rgba(14, 16, 38, .82) !important;
  border-color: rgba(255,255,255,.15) !important;
}

.seat-card.active {
  box-shadow: 0 0 0 2px rgba(40,217,255,.72), 0 18px 42px rgba(0,0,0,.38), 0 0 26px rgba(255,62,165,.16) !important;
}

.action-bubble,
.winner-badge,
.pot-area,
.table-status-ribbon,
.custom-bet-control,
.action-timer-analog {
  border-radius: var(--modern-radius-md) !important;
}

.action-btn.fold { border-color: rgba(255, 94, 98, .42) !important; }
.action-btn.call { border-color: rgba(40, 217, 255, .42) !important; }
.action-btn.bet-custom { border-color: rgba(255, 138, 52, .42) !important; }
.action-btn.new-hand { border-color: rgba(36, 227, 154, .42) !important; }

@media (max-width: 1080px) {
  .premium-lobby-header {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .lobby-player-strip,
  .lobby-header-actions {
    justify-content: stretch;
  }

  .lobby-header-actions > *,
  .premium-profile-chip,
  .premium-header-btn {
    flex: 1 1 auto;
    justify-content: center;
  }

  .lobby-hero {
    grid-template-columns: 1fr;
  }

  .top-hud {
    width: calc(100vw - 1rem) !important;
    grid-template-columns: 1fr !important;
    border-radius: var(--modern-radius-lg) !important;
    padding: .55rem !important;
  }

  .hud-stats {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .tournament-game-banner {
    width: calc(100vw - 1rem) !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 820px) {
  .premium-lobby-screen {
    padding: max(.7rem, env(safe-area-inset-top)) .65rem max(2rem, env(safe-area-inset-bottom)) !important;
    gap: .75rem !important;
  }

  .premium-lobby-header,
  .lobby-page-nav,
  .lobby-home-page,
  .lobby-table-section,
  .highscore-page,
  .tournament-page {
    width: calc(100vw - 1rem) !important;
  }

  .lobby-page-nav {
    flex-wrap: nowrap !important;
  }

  .lobby-player-strip,
  .hud-stats,
  .tournament-detail-snapshot.compact,
  .tournament-settings-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .lobby-table-pager,
  .tournament-table-pager,
  .tournament-overview-footer {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .lobby-pager-actions {
    justify-content: flex-start;
  }

  .premium-access-grid,
  .premium-table-grid,
  .poker-room-grid,
  .tournament-grid,
  .table-select-grid,
  .highscore-board-grid,
  .lobby-tables-page .poker-room-grid,
  .tournament-grid.premium-table-grid,
  .tournament-grid.poker-room-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr)) !important;
  }

  .tournament-detail-actions.compact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  html { font-size: 14px; }

  .brand-subtitle,
  .premium-lobby-header .brand-subtitle {
    white-space: normal !important;
  }

  .brand-lockup,
  .auth-brand,
  .lobby-brand-lockup {
    align-items: flex-start !important;
  }

  .lobby-player-strip,
  .hud-stats,
  .tournament-detail-snapshot.compact,
  .tournament-settings-grid,
  .tournament-detail-actions.compact,
  .tournament-completion-stats {
    grid-template-columns: 1fr !important;
  }

  .premium-access-grid,
  .premium-table-grid,
  .poker-room-grid,
  .tournament-grid,
  .table-select-grid,
  .highscore-board-grid,
  .lobby-tables-page .poker-room-grid,
  .tournament-grid.premium-table-grid,
  .tournament-grid.poker-room-grid {
    grid-template-columns: 1fr !important;
  }

  .table-cover-frame.poker-room-cover,
  .premium-cover-frame.poker-room-cover,
  .tournament-grid .table-cover-frame.poker-room-cover,
  .lobby-tables-page .table-cover-frame.poker-room-cover {
    aspect-ratio: 16 / 10 !important;
  }

  .bottom-action-bar {
    left: .5rem !important;
    right: .5rem !important;
    bottom: max(.5rem, env(safe-area-inset-bottom)) !important;
    width: auto !important;
    padding: .55rem !important;
  }

  .primary-actions {
    gap: .35rem !important;
  }

  .primary-actions .action-btn,
  .custom-bet-control {
    flex: 1 1 calc(50% - .35rem);
    min-width: 0;
  }

  .custom-bet-control {
    flex-basis: 100%;
  }

  .action-btn {
    min-height: 38px !important;
    padding: .48rem .52rem !important;
  }

  .tournament-history-row {
    grid-template-columns: 1fr;
  }

  .tournament-history-row b,
  .highscore-value {
    justify-self: start;
  }
}

/* Tablet viewport safety fix v1.16.6
   Nutzt die per JS gesetzte echte sichtbare Browserhöhe und hält Tisch,
   Hero-Sitz, Timer, Live-Log, Gewinnerdialog und Aktionsleiste innerhalb
   der sichtbaren Tablet-Viewport-Fläche. */
:root {
  --app-height: 100dvh;
  --app-vh: 1dvh;
  --table-edge-x: max(4px, env(safe-area-inset-left));
  --table-edge-y: max(4px, env(safe-area-inset-top));
  --bottom-action-reserve: clamp(82px, calc(var(--app-vh, 1dvh) * 13.5), 132px);
}

html,
body {
  width: 100% !important;
  max-width: 100% !important;
  height: var(--app-height, 100dvh) !important;
  min-height: var(--app-height, 100dvh) !important;
  overflow-x: hidden !important;
}

body {
  overflow-y: hidden !important;
}

.game-root:not(.auth-flow),
.table-stage {
  width: 100% !important;
  max-width: 100% !important;
  height: var(--app-height, 100dvh) !important;
  min-height: var(--app-height, 100dvh) !important;
  max-height: var(--app-height, 100dvh) !important;
  overflow: hidden !important;
}

.game-root.auth-flow {
  width: 100% !important;
  max-width: 100% !important;
  height: var(--app-height, 100dvh) !important;
  min-height: var(--app-height, 100dvh) !important;
  max-height: var(--app-height, 100dvh) !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior-y: contain;
  -webkit-overflow-scrolling: touch;
}

.game-root.auth-flow .auth-screen,
.game-root.auth-flow .boot-screen,
.game-root.auth-flow .lobby-screen,
.game-root.auth-flow .premium-lobby-screen,
.game-root.auth-flow .profile-screen,
.game-root.auth-flow .lobby-home-page,
.game-root.auth-flow .lobby-tables-page,
.game-root.auth-flow .tournament-page,
.game-root.auth-flow .highscore-page {
  width: 100% !important;
  max-width: 100% !important;
  min-height: var(--app-height, 100dvh) !important;
  height: auto !important;
  max-height: none !important;
  overflow-x: hidden !important;
  overflow-y: visible !important;
}

.table-stage {
  --bottom-action-reserve: clamp(84px, calc(var(--app-vh, 1dvh) * 13.5), 138px);
  --seat-safe-gap: clamp(.2rem, 1vh, .65rem);
  touch-action: manipulation;
}

.poker-table-wrap {
  inset: 0 !important;
  width: 100% !important;
  height: var(--app-height, 100dvh) !important;
  max-height: var(--app-height, 100dvh) !important;
  overflow: hidden !important;
}

.poker-table {
  width: calc(100% - max(8px, env(safe-area-inset-left)) - max(8px, env(safe-area-inset-right))) !important;
  height: calc(var(--app-height, 100dvh) - max(8px, env(safe-area-inset-top)) - max(8px, env(safe-area-inset-bottom))) !important;
  max-height: calc(var(--app-height, 100dvh) - max(8px, env(safe-area-inset-top)) - max(8px, env(safe-area-inset-bottom))) !important;
  overflow: hidden !important;
}

.bottom-action-bar {
  left: max(8px, env(safe-area-inset-left)) !important;
  right: max(8px, env(safe-area-inset-right)) !important;
  bottom: max(8px, env(safe-area-inset-bottom)) !important;
  transform: none !important;
  width: auto !important;
  max-width: none !important;
  max-height: min(calc(var(--app-vh, 1dvh) * 30), 142px) !important;
  grid-template-columns: 1fr !important;
  overflow: auto !important;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}

.primary-actions {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
}

.custom-bet-control {
  min-width: min(300px, 78vw) !important;
}

.seat-pos-0 {
  bottom: calc(var(--bottom-action-reserve) + var(--seat-safe-gap)) !important;
}

.action-log-window {
  max-width: calc(100% - 16px) !important;
  max-height: min(calc(var(--app-vh, 1dvh) * 48), calc(var(--app-height, 100dvh) - 1rem)) !important;
}

.action-log-body {
  max-height: calc(min(calc(var(--app-vh, 1dvh) * 48), var(--app-height, 100dvh)) - 70px) !important;
  overflow: auto !important;
  -webkit-overflow-scrolling: touch;
}

.winner-overlay,
.tournament-completion-overlay {
  height: var(--app-height, 100dvh) !important;
  max-height: var(--app-height, 100dvh) !important;
  overflow: hidden !important;
}

.winner-overlay-card,
.winner-overlay-card-detailed,
.tournament-completion-card {
  max-height: calc(var(--app-height, 100dvh) - 1rem) !important;
  overflow: hidden !important;
}

.winner-overlay-list.winner-strip {
  min-height: 0 !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
}

@media (pointer: coarse) and (max-width: 1280px) and (max-height: 900px),
       (pointer: coarse) and (max-width: 900px) and (max-height: 1280px),
       (max-width: 1280px) and (max-height: 900px),
       (max-width: 900px) and (max-height: 1280px) {
  :root {
    --seat-w: clamp(112px, 13.2vw, 158px);
    --card-w: clamp(30px, 4.1vw, 43px);
  }

  .table-stage {
    --bottom-action-reserve: clamp(78px, calc(var(--app-vh, 1dvh) * 12.5), 118px);
  }

  .poker-table {
    width: calc(100% - 8px) !important;
    height: calc(var(--app-height, 100dvh) - 8px) !important;
    max-height: calc(var(--app-height, 100dvh) - 8px) !important;
  }

  .community-zone {
    top: 45.5% !important;
    gap: .36rem !important;
    min-width: min(500px, 56vw) !important;
  }

  .zone-label {
    font-size: .58rem !important;
  }

  .pot-stack {
    padding: .28rem .52rem !important;
    gap: .34rem !important;
  }

  .chip-img-lg {
    width: clamp(28px, 3.9vw, 42px) !important;
    height: clamp(28px, 3.9vw, 42px) !important;
  }

  .playing-card {
    width: var(--card-w) !important;
    height: calc(var(--card-w) * 1.42) !important;
    border-radius: .45rem !important;
    font-size: clamp(.78rem, 1.8vw, 1rem) !important;
  }

  .seat-card {
    width: var(--seat-w) !important;
    padding: .38rem !important;
    border-radius: .86rem !important;
  }

  .seat-name {
    font-size: .78rem !important;
  }

  .seat-meta,
  .seat-numbers,
  .seat-chip-stack {
    font-size: .58rem !important;
  }

  .seat-cards,
  .seat-numbers {
    margin-top: .24rem !important;
  }

  .seat-chip-stack {
    right: .24rem !important;
    bottom: -.58rem !important;
    padding: .08rem .34rem .08rem .08rem !important;
  }

  .seat-side-avatar {
    width: clamp(30px, 4.3vw, 42px) !important;
    height: clamp(46px, 6.8vw, 64px) !important;
    border-radius: .58rem !important;
  }

  .seat-pos-0 { bottom: calc(var(--bottom-action-reserve) + .2rem) !important; }
  .seat-pos-1 { left: 2.2% !important; bottom: 30% !important; }
  .seat-pos-2 { left: 2.2% !important; top: 23.5% !important; }
  .seat-pos-3 { top: 14.5% !important; }
  .seat-pos-4 { right: 2.2% !important; top: 23.5% !important; }
  .seat-pos-5 { right: 2.2% !important; bottom: 30% !important; }

  .action-bubble,
  .seat-card .ai-action-bubble {
    min-width: 92px !important;
    max-width: 126px !important;
    padding: .24rem .4rem !important;
    font-size: .58rem !important;
  }

  .action-bubble-kicker,
  .action-bubble small {
    font-size: .46rem !important;
  }

  .analog-turn-timer {
    top: max(6px, env(safe-area-inset-top)) !important;
    right: max(6px, env(safe-area-inset-right)) !important;
    min-width: 0 !important;
    max-width: min(190px, 36vw) !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    gap: .4rem !important;
    padding: .36rem .48rem !important;
    border-radius: .95rem !important;
  }

  .analog-stopwatch-face {
    width: clamp(44px, 5vw, 58px) !important;
    height: clamp(44px, 5vw, 58px) !important;
  }

  .analog-stopwatch-cap {
    display: none !important;
  }

  .analog-stopwatch-copy span {
    font-size: .5rem !important;
  }

  .analog-stopwatch-copy strong {
    font-size: .78rem !important;
  }

  .timer-status-under {
    grid-template-columns: 1fr 1fr !important;
    gap: .24rem !important;
    padding-top: .3rem !important;
    margin-top: .1rem !important;
  }

  .timer-status-under div {
    padding: .22rem .28rem !important;
  }

  .timer-status-under span {
    font-size: .43rem !important;
  }

  .timer-status-under strong {
    font-size: .58rem !important;
  }

  .panel-dock {
    left: max(8px, env(safe-area-inset-left)) !important;
    right: auto !important;
    top: calc(max(8px, env(safe-area-inset-top)) + 70px) !important;
    transform: none !important;
    flex-direction: row !important;
    max-width: min(72vw, calc(100% - 18px)) !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: .24rem !important;
    border-radius: .9rem !important;
    -webkit-overflow-scrolling: touch;
  }

  .panel-dock button {
    min-width: 38px !important;
    width: auto !important;
    height: 38px !important;
    padding: .36rem .48rem !important;
    font-size: .72rem !important;
    white-space: nowrap !important;
  }

  .panel-dock .ui-icon {
    width: .9rem !important;
    height: .9rem !important;
  }

  .tournament-game-banner {
    left: max(8px, env(safe-area-inset-left)) !important;
    right: min(190px, 37vw) !important;
    top: max(6px, env(safe-area-inset-top)) !important;
    width: auto !important;
    max-width: none !important;
    max-height: 62px !important;
    transform: none !important;
    grid-template-columns: repeat(8, minmax(82px, 1fr)) !important;
    gap: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: .28rem !important;
    border-radius: .9rem !important;
    -webkit-overflow-scrolling: touch;
  }

  .tournament-game-banner div {
    min-width: 82px !important;
    padding: .24rem .4rem !important;
    border-bottom: 0 !important;
  }

  .tournament-game-banner span {
    font-size: .48rem !important;
  }

  .tournament-game-banner strong {
    font-size: .64rem !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .bottom-action-bar {
    padding: .36rem !important;
    max-height: min(calc(var(--app-vh, 1dvh) * 24), 112px) !important;
  }

  .primary-actions {
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    gap: .32rem !important;
    padding-bottom: .12rem !important;
  }

  .action-btn {
    flex: 0 0 auto !important;
    min-width: 84px !important;
    min-height: 38px !important;
    padding: .36rem .46rem !important;
    font-size: .72rem !important;
  }

  .custom-bet-control {
    flex: 0 0 min(300px, 72vw) !important;
    min-height: 38px !important;
    padding: .2rem !important;
    gap: .24rem !important;
    grid-template-columns: auto minmax(72px, 1fr) auto !important;
  }

  .custom-bet-control label {
    padding-left: .34rem !important;
    font-size: .58rem !important;
  }

  .custom-bet-control input {
    height: 31px !important;
    padding: .28rem .42rem !important;
    font-size: .78rem !important;
  }

  .action-log-window {
    width: min(430px, calc(100% - 16px)) !important;
    max-height: min(calc(var(--app-vh, 1dvh) * 42), calc(var(--app-height, 100dvh) - 94px)) !important;
  }

  .action-log-header {
    padding: .48rem .56rem .38rem !important;
  }

  .log-window-subtitle {
    display: none !important;
  }

  .action-log-body {
    grid-template-columns: 1fr !important;
    gap: .42rem !important;
    padding: .48rem !important;
    max-height: calc(min(calc(var(--app-vh, 1dvh) * 42), var(--app-height, 100dvh)) - 54px) !important;
  }

  .winner-overlay {
    padding: .38rem !important;
    align-items: stretch !important;
  }

  .winner-overlay-card,
  .winner-overlay-card-detailed {
    width: 100% !important;
    max-height: calc(var(--app-height, 100dvh) - .76rem) !important;
    grid-template-rows: auto minmax(0, 1fr) auto !important;
  }
}

@media (pointer: coarse) and (max-width: 1280px) and (max-height: 820px),
       (max-width: 1280px) and (max-height: 820px) {
  :root {
    --seat-w: clamp(104px, 12.2vw, 142px);
    --card-w: clamp(27px, 3.65vw, 38px);
  }

  .table-stage {
    --bottom-action-reserve: clamp(68px, calc(var(--app-vh, 1dvh) * 10.8), 94px);
  }

  .community-zone {
    top: 43.5% !important;
    min-width: min(420px, 48vw) !important;
  }

  .timer-status-under {
    display: none !important;
  }

  .analog-turn-timer {
    max-width: min(140px, 28vw) !important;
    grid-template-columns: auto !important;
    justify-items: center !important;
  }

  .analog-stopwatch-copy {
    display: none !important;
  }

  .panel-dock {
    top: calc(max(8px, env(safe-area-inset-top)) + 54px) !important;
  }

  .bottom-action-bar {
    max-height: min(calc(var(--app-vh, 1dvh) * 20), 88px) !important;
  }

  .seat-pos-0 { bottom: calc(var(--bottom-action-reserve) + .1rem) !important; }
  .seat-pos-1 { bottom: 27.5% !important; }
  .seat-pos-5 { bottom: 27.5% !important; }
}

@media (pointer: coarse) and (orientation: portrait) and (max-width: 900px),
       (max-width: 900px) and (min-height: 901px) {
  .table-stage {
    --bottom-action-reserve: clamp(84px, calc(var(--app-vh, 1dvh) * 9.5), 118px);
  }

  .community-zone {
    top: 45% !important;
    min-width: min(500px, 72vw) !important;
  }

  .seat-pos-1 { left: 1.5% !important; bottom: 34% !important; }
  .seat-pos-2 { left: 1.5% !important; top: 26% !important; }
  .seat-pos-3 { top: 16% !important; }
  .seat-pos-4 { right: 1.5% !important; top: 26% !important; }
  .seat-pos-5 { right: 1.5% !important; bottom: 34% !important; }
}

@media (max-width: 560px) {
  .table-stage {
    --bottom-action-reserve: clamp(86px, calc(var(--app-vh, 1dvh) * 12), 118px);
  }

  .panel-dock {
    top: calc(max(8px, env(safe-area-inset-top)) + 58px) !important;
    max-width: calc(100% - 16px) !important;
  }

  .bottom-action-bar {
    max-height: min(calc(var(--app-vh, 1dvh) * 28), 130px) !important;
  }

  .primary-actions {
    flex-wrap: nowrap !important;
  }

  .action-btn {
    min-width: 88px !important;
  }
}

/* Tablet viewport safety fix v1.16.7
   Zweite Sicherheitsstufe: echte Browserhoehe defensiv per JS, klare game-flow/auth-flow-Trennung,
   gemessene Bottom-Action-Bar und Safe-Play-Area fuer alle interaktiven Tischinhalte. */
:root {
  --app-height: 100dvh;
  --app-vh: 1dvh;
  --app-width: 100%;
  --app-vw: 1vw;
  --bottom-action-height: 112px;
  --bottom-action-reserve: 128px;
  --measured-bottom-action-height: var(--bottom-action-height);
  --measured-bottom-action-reserve: var(--bottom-action-reserve);
  --safe-play-height: calc(var(--app-height, 100dvh) - var(--measured-bottom-action-reserve, 128px));
}

html,
body {
  width: 100% !important;
  max-width: 100% !important;
  height: var(--app-height, 100dvh) !important;
  min-height: var(--app-height, 100dvh) !important;
  max-height: var(--app-height, 100dvh) !important;
  overflow-x: hidden !important;
}

body {
  overflow-y: hidden !important;
  overscroll-behavior: none;
}

#app.game-root {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

#app.game-root.game-flow {
  height: var(--app-height, 100dvh) !important;
  min-height: var(--app-height, 100dvh) !important;
  max-height: var(--app-height, 100dvh) !important;
  overflow: hidden !important;
  position: relative !important;
}

#app.game-root.auth-flow {
  height: var(--app-height, 100dvh) !important;
  min-height: var(--app-height, 100dvh) !important;
  max-height: var(--app-height, 100dvh) !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior-y: contain !important;
  -webkit-overflow-scrolling: touch;
}

#app.game-root.auth-flow > .auth-screen,
#app.game-root.auth-flow > .boot-screen,
#app.game-root.auth-flow > .lobby-screen,
#app.game-root.auth-flow > .profile-screen,
#app.game-root.auth-flow .premium-lobby-screen,
#app.game-root.auth-flow .lobby-home-page,
#app.game-root.auth-flow .lobby-tables-page,
#app.game-root.auth-flow .tournament-page,
#app.game-root.auth-flow .highscore-page,
#app.game-root.auth-flow .shop-page,
#app.game-root.auth-flow .profile-page {
  width: 100% !important;
  max-width: 100% !important;
  min-height: var(--app-height, 100dvh) !important;
  height: auto !important;
  max-height: none !important;
  overflow-x: hidden !important;
  overflow-y: visible !important;
}

#app.game-root.game-flow > .table-stage {
  --bottom-action-reserve: var(--measured-bottom-action-reserve, 128px) !important;
  --bottom-action-height: var(--measured-bottom-action-height, 112px) !important;
  --safe-play-height: max(1px, calc(var(--app-height, 100dvh) - var(--bottom-action-reserve))) !important;
  width: 100% !important;
  max-width: 100% !important;
  height: var(--app-height, 100dvh) !important;
  min-height: var(--app-height, 100dvh) !important;
  max-height: var(--app-height, 100dvh) !important;
  overflow: hidden !important;
  position: relative !important;
  touch-action: manipulation;
}

#app.game-root.game-flow .poker-table-wrap {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: var(--app-height, 100dvh) !important;
  max-height: var(--app-height, 100dvh) !important;
  overflow: hidden !important;
  display: grid !important;
  place-items: stretch !important;
}

#app.game-root.game-flow .poker-table {
  width: 100% !important;
  max-width: 100% !important;
  height: var(--app-height, 100dvh) !important;
  max-height: var(--app-height, 100dvh) !important;
  overflow: hidden !important;
  margin: 0 !important;
}

#app.game-root.game-flow .poker-table-art {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

#app.game-root.game-flow .table-overlay-layer {
  position: absolute !important;
  left: max(4px, env(safe-area-inset-left)) !important;
  right: max(4px, env(safe-area-inset-right)) !important;
  top: max(4px, env(safe-area-inset-top)) !important;
  bottom: var(--bottom-action-reserve) !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
  z-index: 2 !important;
}

#app.game-root.game-flow .bottom-action-bar {
  position: absolute !important;
  left: max(8px, env(safe-area-inset-left)) !important;
  right: max(8px, env(safe-area-inset-right)) !important;
  bottom: max(8px, env(safe-area-inset-bottom)) !important;
  transform: none !important;
  width: auto !important;
  max-width: none !important;
  max-height: min(calc(var(--app-vh, 1dvh) * 38), 176px) !important;
  min-height: 0 !important;
  grid-template-columns: 1fr !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  -webkit-overflow-scrolling: touch;
  scrollbar-gutter: stable both-edges;
  z-index: 60 !important;
}

#app.game-root.game-flow .primary-actions {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: flex-start !important;
  align-items: center !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  overscroll-behavior-x: contain !important;
  -webkit-overflow-scrolling: touch;
}

#app.game-root.game-flow .custom-bet-control {
  flex: 0 0 min(330px, 78vw) !important;
  min-width: min(300px, 78vw) !important;
  max-width: 78vw !important;
}

#app.game-root.game-flow .seat-card {
  max-width: min(var(--seat-w), 32vw) !important;
}

#app.game-root.game-flow .seat-pos-0 {
  left: 50% !important;
  bottom: clamp(4px, calc(var(--app-vh, 1dvh) * 1.4), 14px) !important;
  transform: translateX(-50%) !important;
  z-index: 18 !important;
}

#app.game-root.game-flow .seat-pos-1,
#app.game-root.game-flow .seat-pos-5 {
  bottom: 28% !important;
}

#app.game-root.game-flow .community-zone {
  top: 44% !important;
  max-width: calc(100% - 18px) !important;
}

#app.game-root.game-flow .table-status-ribbon {
  max-width: min(620px, calc(100% - 18px)) !important;
  overflow: hidden !important;
}

#app.game-root.game-flow .analog-turn-timer {
  top: max(6px, env(safe-area-inset-top)) !important;
  right: max(6px, env(safe-area-inset-right)) !important;
  max-width: min(230px, 40vw) !important;
  z-index: 58 !important;
}

#app.game-root.game-flow .panel-dock {
  left: max(8px, env(safe-area-inset-left)) !important;
  right: auto !important;
  top: calc(max(8px, env(safe-area-inset-top)) + min(84px, calc(var(--app-vh, 1dvh) * 10))) !important;
  transform: none !important;
  max-width: min(72vw, calc(100% - 18px)) !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  z-index: 59 !important;
}

#app.game-root.game-flow .action-log-window {
  width: min(430px, calc(100% - 16px)) !important;
  max-width: calc(100% - 16px) !important;
  max-height: min(calc(var(--app-height, 100dvh) - 16px), 520px) !important;
  overflow: hidden !important;
  z-index: 70 !important;
}

#app.game-root.game-flow .action-log-body {
  max-height: calc(min(calc(var(--app-height, 100dvh) - 16px), 520px) - 64px) !important;
  overflow: auto !important;
  -webkit-overflow-scrolling: touch;
}

#app.game-root.game-flow .winner-overlay,
#app.game-root.game-flow .tournament-completion-overlay {
  height: var(--app-height, 100dvh) !important;
  max-height: var(--app-height, 100dvh) !important;
  overflow: hidden !important;
}

#app.game-root.game-flow .winner-overlay-card,
#app.game-root.game-flow .winner-overlay-card-detailed,
#app.game-root.game-flow .tournament-completion-card {
  max-height: calc(var(--app-height, 100dvh) - 16px) !important;
  overflow: hidden !important;
}

#app.game-root.game-flow .winner-overlay-list,
#app.game-root.game-flow .winner-strip,
#app.game-root.game-flow .tournament-completion-stats {
  min-height: 0 !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
}

@media (max-width: 1280px) and (max-height: 900px),
       (max-width: 900px) and (max-height: 1280px),
       (pointer: coarse) and (max-width: 1368px) {
  #app.game-root.game-flow > .table-stage {
    --seat-w: clamp(96px, 12vw, 142px) !important;
    --card-w: clamp(26px, 3.55vw, 39px) !important;
  }

  #app.game-root.game-flow .table-overlay-layer {
    top: max(4px, env(safe-area-inset-top)) !important;
    bottom: var(--bottom-action-reserve) !important;
  }

  #app.game-root.game-flow .seat-card {
    padding: .32rem !important;
    border-radius: .82rem !important;
    max-width: min(var(--seat-w), 30vw) !important;
  }

  #app.game-root.game-flow .playing-card {
    width: var(--card-w) !important;
    height: calc(var(--card-w) * 1.42) !important;
    font-size: clamp(.7rem, 1.7vw, .95rem) !important;
    border-radius: .42rem !important;
  }

  #app.game-root.game-flow .community-zone {
    top: 44% !important;
    gap: .3rem !important;
    min-width: min(420px, 58vw) !important;
  }

  #app.game-root.game-flow .seat-pos-0 {
    bottom: clamp(2px, calc(var(--app-vh, 1dvh) * 0.8), 10px) !important;
  }

  #app.game-root.game-flow .seat-pos-1 { left: 1.6% !important; bottom: 27% !important; }
  #app.game-root.game-flow .seat-pos-2 { left: 1.6% !important; top: 22% !important; }
  #app.game-root.game-flow .seat-pos-3 { top: 12.5% !important; }
  #app.game-root.game-flow .seat-pos-4 { right: 1.6% !important; top: 22% !important; }
  #app.game-root.game-flow .seat-pos-5 { right: 1.6% !important; bottom: 27% !important; }

  #app.game-root.game-flow .analog-turn-timer {
    max-width: min(160px, 31vw) !important;
    padding: .32rem .42rem !important;
    gap: .3rem !important;
  }

  #app.game-root.game-flow .analog-stopwatch-face {
    width: clamp(40px, 4.8vw, 54px) !important;
    height: clamp(40px, 4.8vw, 54px) !important;
  }

  #app.game-root.game-flow .timer-status-under {
    display: none !important;
  }

  #app.game-root.game-flow .panel-dock {
    top: calc(max(8px, env(safe-area-inset-top)) + 54px) !important;
    max-width: min(68vw, calc(100% - 18px)) !important;
    padding: .22rem !important;
  }

  #app.game-root.game-flow .panel-dock button {
    min-height: 36px !important;
    height: 36px !important;
    padding: .3rem .42rem !important;
    font-size: .7rem !important;
  }

  #app.game-root.game-flow .bottom-action-bar {
    padding: .32rem !important;
    max-height: min(calc(var(--app-vh, 1dvh) * 32), 128px) !important;
  }

  #app.game-root.game-flow .action-btn {
    flex: 0 0 auto !important;
    min-width: 82px !important;
    min-height: 36px !important;
    padding: .3rem .42rem !important;
    font-size: .7rem !important;
  }

  #app.game-root.game-flow .custom-bet-control {
    flex-basis: min(292px, 72vw) !important;
    min-height: 36px !important;
    padding: .18rem !important;
    gap: .22rem !important;
  }

  #app.game-root.game-flow .custom-bet-control input {
    height: 30px !important;
    font-size: .76rem !important;
  }

  #app.game-root.game-flow .action-log-window {
    max-height: min(calc(var(--app-height, 100dvh) - 14px), 430px) !important;
  }

  #app.game-root.game-flow .action-log-body {
    grid-template-columns: 1fr !important;
    max-height: calc(min(calc(var(--app-height, 100dvh) - 14px), 430px) - 56px) !important;
    padding: .46rem !important;
  }
}

@media (orientation: portrait) and (max-width: 900px) {
  #app.game-root.game-flow > .table-stage {
    --seat-w: clamp(104px, 23vw, 150px) !important;
    --card-w: clamp(28px, 6vw, 42px) !important;
  }

  #app.game-root.game-flow .community-zone {
    top: 45% !important;
    min-width: min(480px, 74vw) !important;
  }

  #app.game-root.game-flow .seat-pos-1 { left: 1.4% !important; bottom: 32% !important; }
  #app.game-root.game-flow .seat-pos-2 { left: 1.4% !important; top: 25% !important; }
  #app.game-root.game-flow .seat-pos-3 { top: 14% !important; }
  #app.game-root.game-flow .seat-pos-4 { right: 1.4% !important; top: 25% !important; }
  #app.game-root.game-flow .seat-pos-5 { right: 1.4% !important; bottom: 32% !important; }

  #app.game-root.game-flow .panel-dock {
    max-width: min(62vw, calc(100% - 18px)) !important;
  }
}

@media (max-width: 560px) {
  #app.game-root.game-flow > .table-stage {
    --seat-w: clamp(90px, 28vw, 126px) !important;
    --card-w: clamp(24px, 7vw, 34px) !important;
  }

  #app.game-root.game-flow .bottom-action-bar {
    max-height: min(calc(var(--app-vh, 1dvh) * 36), 148px) !important;
  }

  #app.game-root.game-flow .custom-bet-control {
    flex-basis: min(282px, 82vw) !important;
    max-width: 82vw !important;
  }
}

/* Tablet density / browser-zoom compensation v1.16.9
   Real tablets showed that 100vh/dvh fixes alone are not enough: the interactive table UI needs
   density scaling similar to browser zoom. The table artwork remains fullscreen; seats, cards,
   timer, dock and action bar are scaled inside the safe play area. */
:root {
  --game-density-scale: 1;
  --game-density-inverse: 1;
}

#app.game-root.game-flow > .table-stage {
  --effective-seat-scale: var(--game-density-scale, 1);
}

#app.game-root.game-flow .seat-card,
#app.game-root.game-flow .community-zone,
#app.game-root.game-flow .analog-turn-timer,
#app.game-root.game-flow .panel-dock,
#app.game-root.game-flow .bottom-action-bar,
#app.game-root.game-flow .tournament-game-banner,
#app.game-root.game-flow .notice-stack {
  will-change: transform;
}

#app.game-root.game-flow .seat-pos-0 {
  transform: translateX(-50%) scale(var(--game-density-scale, 1)) !important;
  transform-origin: center bottom !important;
}

#app.game-root.game-flow .seat-pos-3 {
  transform: translateX(-50%) scale(var(--game-density-scale, 1)) !important;
  transform-origin: center top !important;
}

#app.game-root.game-flow .seat-pos-1,
#app.game-root.game-flow .seat-pos-2 {
  transform: scale(var(--game-density-scale, 1)) !important;
  transform-origin: left center !important;
}

#app.game-root.game-flow .seat-pos-4,
#app.game-root.game-flow .seat-pos-5 {
  transform: scale(var(--game-density-scale, 1)) !important;
  transform-origin: right center !important;
}

#app.game-root.game-flow .community-zone {
  transform: translate(-50%, -50%) scale(var(--game-density-scale, 1)) !important;
  transform-origin: center center !important;
}

#app.game-root.game-flow .analog-turn-timer {
  transform: scale(var(--game-density-scale, 1)) !important;
  transform-origin: right top !important;
}

#app.game-root.game-flow .panel-dock {
  transform: scale(var(--game-density-scale, 1)) !important;
  transform-origin: left top !important;
}

#app.game-root.game-flow .bottom-action-bar {
  transform: scale(var(--game-density-scale, 1)) !important;
  transform-origin: center bottom !important;
}

#app.game-root.game-flow .tournament-game-banner {
  transform: translateX(-50%) scale(var(--game-density-scale, 1)) !important;
  transform-origin: center top !important;
}

#app.game-root.game-flow .notice-stack {
  transform: scale(var(--game-density-scale, 1)) !important;
  transform-origin: left top !important;
}

html[data-game-density="compact"] #app.game-root.game-flow .timer-status-under {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

html[data-game-density="tight"] #app.game-root.game-flow .timer-status-under,
html[data-game-density="ultra"] #app.game-root.game-flow .timer-status-under {
  display: none !important;
}

html[data-game-density="tight"] #app.game-root.game-flow .seat-card,
html[data-game-density="ultra"] #app.game-root.game-flow .seat-card {
  padding: .26rem !important;
  border-radius: .72rem !important;
}

html[data-game-density="tight"] #app.game-root.game-flow .seat-topline,
html[data-game-density="ultra"] #app.game-root.game-flow .seat-topline {
  gap: .28rem !important;
}

html[data-game-density="tight"] #app.game-root.game-flow .avatar-img,
html[data-game-density="ultra"] #app.game-root.game-flow .avatar-img {
  width: 38px !important;
  height: 38px !important;
}

html[data-game-density="tight"] #app.game-root.game-flow .seat-side-avatar,
html[data-game-density="ultra"] #app.game-root.game-flow .seat-side-avatar {
  width: 42px !important;
  height: 62px !important;
}

html[data-game-density="tight"] #app.game-root.game-flow .seat-name,
html[data-game-density="ultra"] #app.game-root.game-flow .seat-name {
  font-size: .72rem !important;
}

html[data-game-density="tight"] #app.game-root.game-flow .seat-meta,
html[data-game-density="tight"] #app.game-root.game-flow .seat-chip-label,
html[data-game-density="ultra"] #app.game-root.game-flow .seat-meta,
html[data-game-density="ultra"] #app.game-root.game-flow .seat-chip-label {
  font-size: .52rem !important;
}

html[data-game-density="tight"] #app.game-root.game-flow .seat-numbers,
html[data-game-density="ultra"] #app.game-root.game-flow .seat-numbers {
  gap: .18rem !important;
  font-size: .58rem !important;
}

html[data-game-density="tight"] #app.game-root.game-flow .chip-img,
html[data-game-density="ultra"] #app.game-root.game-flow .chip-img {
  width: 24px !important;
  height: 24px !important;
}

html[data-game-density="tight"] #app.game-root.game-flow .zone-label,
html[data-game-density="ultra"] #app.game-root.game-flow .zone-label {
  font-size: .58rem !important;
}

html[data-game-density="tight"] #app.game-root.game-flow .pot-stack,
html[data-game-density="ultra"] #app.game-root.game-flow .pot-stack {
  padding: .32rem .52rem !important;
  gap: .3rem !important;
}

html[data-game-density="ultra"] #app.game-root.game-flow .winner-table-hint,
html[data-game-density="ultra"] #app.game-root.game-flow .zone-label {
  display: none !important;
}

html[data-game-density="tight"] #app.game-root.game-flow .bottom-action-bar,
html[data-game-density="ultra"] #app.game-root.game-flow .bottom-action-bar {
  padding: .24rem !important;
  border-radius: .95rem !important;
  max-height: min(calc(var(--app-vh, 1dvh) * 40), 150px) !important;
}

html[data-game-density="tight"] #app.game-root.game-flow .action-btn,
html[data-game-density="ultra"] #app.game-root.game-flow .action-btn {
  min-width: 74px !important;
  min-height: 34px !important;
  padding: .24rem .36rem !important;
  font-size: .66rem !important;
}

html[data-game-density="tight"] #app.game-root.game-flow .custom-bet-control,
html[data-game-density="ultra"] #app.game-root.game-flow .custom-bet-control {
  flex-basis: min(258px, 70vw) !important;
  min-width: min(238px, 70vw) !important;
  min-height: 34px !important;
  padding: .14rem !important;
}

html[data-game-density="tight"] #app.game-root.game-flow .custom-bet-control input,
html[data-game-density="ultra"] #app.game-root.game-flow .custom-bet-control input {
  height: 28px !important;
  min-width: 66px !important;
  font-size: .68rem !important;
}

html[data-game-density="ultra"] #app.game-root.game-flow .action-btn img,
html[data-game-density="tight"] #app.game-root.game-flow .action-btn img {
  width: 16px !important;
  height: 16px !important;
}

html[data-game-density="tight"] #app.game-root.game-flow .analog-stopwatch-copy,
html[data-game-density="ultra"] #app.game-root.game-flow .analog-stopwatch-copy {
  display: none !important;
}

html[data-game-density="tight"] #app.game-root.game-flow .analog-turn-timer,
html[data-game-density="ultra"] #app.game-root.game-flow .analog-turn-timer {
  max-width: 74px !important;
  padding: .26rem !important;
}

html[data-game-density="tight"] #app.game-root.game-flow .panel-dock,
html[data-game-density="ultra"] #app.game-root.game-flow .panel-dock {
  max-width: min(76vw, calc(100% - 18px)) !important;
}

html[data-game-density="tight"] #app.game-root.game-flow .panel-dock button,
html[data-game-density="ultra"] #app.game-root.game-flow .panel-dock button {
  min-height: 32px !important;
  height: 32px !important;
  padding: .22rem .34rem !important;
  font-size: .64rem !important;
}

html[data-game-density="ultra"] #app.game-root.game-flow .seat-pos-1,
html[data-game-density="ultra"] #app.game-root.game-flow .seat-pos-5 {
  bottom: 30% !important;
}

html[data-game-density="ultra"] #app.game-root.game-flow .community-zone {
  top: 45% !important;
}

@media (max-width: 1280px) and (max-height: 900px),
       (max-width: 900px) and (max-height: 1280px),
       (pointer: coarse) and (max-width: 1368px) {
  #app.game-root.game-flow .tournament-game-banner {
    transform: scale(var(--game-density-scale, 1)) !important;
    transform-origin: left top !important;
  }
}


/* Auth/overview scroll safety fix v1.16.9
   The tablet density/safe-area rules must never turn start, lobby, shop/profile,
   highscore or tournament overview pages into clipped fullscreen canvases. Only
   the actual poker table keeps locked viewport scrolling. */
html.app-auth-flow,
html.app-auth-flow body,
body.app-auth-flow {
  height: auto !important;
  min-height: var(--app-height, 100dvh) !important;
  max-height: none !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior-y: auto !important;
  -webkit-overflow-scrolling: touch;
}

html.app-game-flow,
html.app-game-flow body,
body.app-game-flow {
  height: var(--app-height, 100dvh) !important;
  min-height: var(--app-height, 100dvh) !important;
  max-height: var(--app-height, 100dvh) !important;
  overflow-x: hidden !important;
  overflow-y: hidden !important;
  overscroll-behavior: none !important;
}

html.app-auth-flow #app.game-root,
html.app-auth-flow #app.game-root.auth-flow,
body.app-auth-flow #app.game-root,
body.app-auth-flow #app.game-root.auth-flow {
  height: auto !important;
  min-height: var(--app-height, 100dvh) !important;
  max-height: none !important;
  overflow: visible !important;
}

html.app-auth-flow #app.game-root.auth-flow > .auth-screen,
html.app-auth-flow #app.game-root.auth-flow > .boot-screen,
html.app-auth-flow #app.game-root.auth-flow > .lobby-screen,
html.app-auth-flow #app.game-root.auth-flow > .profile-screen,
html.app-auth-flow #app.game-root.auth-flow .premium-lobby-screen,
html.app-auth-flow #app.game-root.auth-flow .lobby-home-page,
html.app-auth-flow #app.game-root.auth-flow .lobby-tables-page,
html.app-auth-flow #app.game-root.auth-flow .tournament-page,
html.app-auth-flow #app.game-root.auth-flow .highscore-page,
html.app-auth-flow #app.game-root.auth-flow .shop-page,
html.app-auth-flow #app.game-root.auth-flow .profile-page,
body.app-auth-flow #app.game-root.auth-flow > .auth-screen,
body.app-auth-flow #app.game-root.auth-flow > .boot-screen,
body.app-auth-flow #app.game-root.auth-flow > .lobby-screen,
body.app-auth-flow #app.game-root.auth-flow > .profile-screen,
body.app-auth-flow #app.game-root.auth-flow .premium-lobby-screen,
body.app-auth-flow #app.game-root.auth-flow .lobby-home-page,
body.app-auth-flow #app.game-root.auth-flow .lobby-tables-page,
body.app-auth-flow #app.game-root.auth-flow .tournament-page,
body.app-auth-flow #app.game-root.auth-flow .highscore-page,
body.app-auth-flow #app.game-root.auth-flow .shop-page,
body.app-auth-flow #app.game-root.auth-flow .profile-page {
  height: auto !important;
  min-height: var(--app-height, 100dvh) !important;
  max-height: none !important;
  overflow-x: hidden !important;
  overflow-y: visible !important;
}

html.app-auth-flow #app.game-root.auth-flow .lobby-scroll,
html.app-auth-flow #app.game-root.auth-flow .shop-scroll,
html.app-auth-flow #app.game-root.auth-flow .profile-scroll,
html.app-auth-flow #app.game-root.auth-flow .tournament-scroll,
html.app-auth-flow #app.game-root.auth-flow .highscore-scroll,
body.app-auth-flow #app.game-root.auth-flow .lobby-scroll,
body.app-auth-flow #app.game-root.auth-flow .shop-scroll,
body.app-auth-flow #app.game-root.auth-flow .profile-scroll,
body.app-auth-flow #app.game-root.auth-flow .tournament-scroll,
body.app-auth-flow #app.game-root.auth-flow .highscore-scroll {
  max-height: none !important;
  overflow: visible !important;
}

/* Prevent stale density transforms from affecting any non-game screen. */
html.app-auth-flow #app.game-root:not(.game-flow) .bottom-action-bar,
html.app-auth-flow #app.game-root:not(.game-flow) .seat-card,
html.app-auth-flow #app.game-root:not(.game-flow) .community-zone,
html.app-auth-flow #app.game-root:not(.game-flow) .analog-turn-timer,
html.app-auth-flow #app.game-root:not(.game-flow) .panel-dock,
body.app-auth-flow #app.game-root:not(.game-flow) .bottom-action-bar,
body.app-auth-flow #app.game-root:not(.game-flow) .seat-card,
body.app-auth-flow #app.game-root:not(.game-flow) .community-zone,
body.app-auth-flow #app.game-root:not(.game-flow) .analog-turn-timer,
body.app-auth-flow #app.game-root:not(.game-flow) .panel-dock {
  transform: none !important;
}

/* v1.17.0: natürliche KI-Pausen und finaler Tischsieg */
.bot-thinking-pill {
  position: fixed;
  top: clamp(7.25rem, 14vh, 9.5rem);
  left: 50%;
  z-index: 62;
  display: inline-flex;
  align-items: center;
  gap: .7rem;
  min-width: min(22rem, calc(100vw - 2rem));
  justify-content: center;
  padding: .65rem 1rem;
  border: 1px solid rgba(255, 214, 128, .35);
  transform: translateX(-50%);
  color: #fff6d7;
  box-shadow: 0 18px 55px rgba(0, 0, 0, .36), inset 0 1px 0 rgba(255, 255, 255, .14);
  pointer-events: none;
}

.bot-thinking-dots {
  display: inline-flex;
  align-items: center;
  gap: .25rem;
}

.bot-thinking-dots i {
  width: .42rem;
  height: .42rem;
  border-radius: 999px;
  background: currentColor;
  opacity: .45;
  animation: botThinkingPulse 1.05s ease-in-out infinite;
}

.bot-thinking-dots i:nth-child(2) { animation-delay: .16s; }
.bot-thinking-dots i:nth-child(3) { animation-delay: .32s; }

@keyframes botThinkingPulse {
  0%, 80%, 100% { transform: translateY(0); opacity: .35; }
  40% { transform: translateY(-.24rem); opacity: 1; }
}

.final-victory-overlay {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: grid;
  place-items: center;
  padding: clamp(1rem, 4vw, 3rem);
  background: radial-gradient(circle at center, rgba(255, 213, 116, .15), rgba(3, 5, 14, .86) 58%, rgba(0, 0, 0, .94));
  backdrop-filter: blur(10px);
}

.final-victory-card {
  position: relative;
  width: min(46rem, 100%);
  min-height: min(34rem, calc(var(--app-height, 100dvh) - 3rem));
  overflow: hidden;
  display: grid;
  place-items: center;
  padding: clamp(1.25rem, 4vw, 3rem);
  border: 1px solid rgba(255, 220, 140, .42);
  background-position: center;
  background-size: cover;
  box-shadow: 0 38px 120px rgba(0, 0, 0, .62), 0 0 80px rgba(255, 192, 70, .16);
}

.final-victory-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 20% 14%, rgba(255, 255, 255, .22), transparent 25%),
    linear-gradient(180deg, rgba(5, 7, 20, .08), rgba(4, 4, 14, .82));
  pointer-events: none;
}

.final-victory-glow {
  position: absolute;
  width: 24rem;
  height: 24rem;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(255, 218, 126, .35), transparent 66%);
  filter: blur(8px);
  animation: victoryGlow 3.8s ease-in-out infinite;
}

@keyframes victoryGlow {
  0%, 100% { transform: scale(.88); opacity: .68; }
  50% { transform: scale(1.08); opacity: 1; }
}

.final-victory-content {
  position: relative;
  z-index: 1;
  max-width: 33rem;
  text-align: center;
  color: #fff7df;
  text-shadow: 0 3px 18px rgba(0, 0, 0, .65);
}

.final-victory-kicker {
  display: inline-flex;
  margin-bottom: .7rem;
  padding: .32rem .8rem;
  border: 1px solid rgba(255, 218, 126, .36);
  border-radius: 999px;
  color: #ffe39b;
  background: rgba(15, 10, 26, .42);
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: .76rem;
}

.final-victory-content h2 {
  margin: 0;
  font-size: clamp(3.5rem, 12vw, 7.5rem);
  line-height: .92;
  font-weight: 950;
  letter-spacing: .01em;
  color: #fff0b9;
}

.final-victory-content p {
  margin: 1rem auto 0;
  max-width: 28rem;
  font-size: clamp(1rem, 2.1vw, 1.25rem);
  color: rgba(255, 250, 232, .92);
}

.final-victory-stack {
  display: grid;
  gap: .25rem;
  width: min(25rem, 100%);
  margin: 1.6rem auto;
  padding: 1rem 1.25rem;
  border: 1px solid rgba(255, 218, 126, .42);
  border-radius: 1.25rem;
  background: rgba(7, 7, 22, .58);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12);
}

.final-victory-stack span {
  color: rgba(255, 244, 215, .74);
  font-size: .84rem;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.final-victory-stack strong {
  color: #ffe39b;
  font-size: clamp(1.45rem, 4vw, 2.25rem);
}

.final-victory-btn {
  min-width: min(18rem, 100%);
  border: 0;
  border-radius: 999px;
  padding: .92rem 1.45rem;
  color: #1a1024;
  background: linear-gradient(135deg, #fff1b8, #e4a92f 55%, #fff4c8);
  box-shadow: 0 18px 50px rgba(0, 0, 0, .32), 0 0 30px rgba(255, 210, 90, .23);
  font-weight: 950;
  letter-spacing: .02em;
}

.final-victory-btn:disabled {
  opacity: .6;
  cursor: wait;
}

@media (max-width: 760px) {
  .bot-thinking-pill {
    top: auto;
    bottom: calc(var(--bottom-action-reserve, 7rem) + .75rem);
  }

  .final-victory-card {
    min-height: min(30rem, calc(var(--app-height, 100dvh) - 1.5rem));
  }
}

/* v1.17.1: Tischmitte optisch weiter nach links verschoben */
.community-zone,
#app.game-root.game-flow .community-zone {
  left: 42% !important;
}

@media (max-width: 760px), (orientation: portrait) and (max-width: 900px) {
  .community-zone,
  #app.game-root.game-flow .community-zone {
    left: 47% !important;
  }
}

@keyframes flyToPot {
  0% { left: var(--sx); top: var(--sy); opacity: 0; transform: translate(-50%, -50%) scale(.75); }
  12% { opacity: 1; }
  82% { opacity: 1; }
  100% { left: 42%; top: 47%; opacity: 0; transform: translate(-50%, -50%) scale(1.1); }
}

@media (max-width: 760px), (orientation: portrait) and (max-width: 900px) {
  @keyframes flyToPot {
    0% { left: var(--sx); top: var(--sy); opacity: 0; transform: translate(-50%, -50%) scale(.75); }
    12% { opacity: 1; }
    82% { opacity: 1; }
    100% { left: 47%; top: 47%; opacity: 0; transform: translate(-50%, -50%) scale(1.1); }
  }
}


/* v1.17.2: Community Cards und Pot nochmals weiter links und etwas höher platziert */
.community-zone,
#app.game-root.game-flow .community-zone {
  left: 38% !important;
  top: 43% !important;
}

@media (max-width: 760px), (orientation: portrait) and (max-width: 900px) {
  .community-zone,
  #app.game-root.game-flow .community-zone {
    left: 45% !important;
    top: 43.5% !important;
  }
}

@keyframes flyToPot {
  0% { left: var(--sx); top: var(--sy); opacity: 0; transform: translate(-50%, -50%) scale(.75); }
  12% { opacity: 1; }
  82% { opacity: 1; }
  100% { left: 38%; top: 43%; opacity: 0; transform: translate(-50%, -50%) scale(1.1); }
}

@media (max-width: 760px), (orientation: portrait) and (max-width: 900px) {
  @keyframes flyToPot {
    0% { left: var(--sx); top: var(--sy); opacity: 0; transform: translate(-50%, -50%) scale(.75); }
    12% { opacity: 1; }
    82% { opacity: 1; }
    100% { left: 45%; top: 43.5%; opacity: 0; transform: translate(-50%, -50%) scale(1.1); }
  }
}


/* v1.17.3: Board/Pot weiter links, Seat 4 und Seat 1 an der neuen Boardmitte ausgerichtet.
   Die Chipflug-Animation nutzt eigene Zielvariablen, damit Einsätze sichtbar zum Pot laufen. */
.table-overlay-layer,
#app.game-root.game-flow .table-overlay-layer {
  --board-center-x: 35%;
  --board-center-y: 43%;
  --pot-target-x: 35%;
  --pot-target-y: 50%;
}

.community-zone,
#app.game-root.game-flow .community-zone {
  left: var(--board-center-x) !important;
  top: var(--board-center-y) !important;
}

.seat-pos-0,
#app.game-root.game-flow .seat-pos-0,
.seat-pos-3,
#app.game-root.game-flow .seat-pos-3 {
  left: var(--board-center-x) !important;
  right: auto !important;
}

.chip-flight.seat-0 { --sx: var(--board-center-x); --sy: 78%; }
.chip-flight.seat-3 { --sx: var(--board-center-x); --sy: 23%; }

@keyframes flyToPot {
  0% { left: var(--sx); top: var(--sy); opacity: 0; transform: translate(-50%, -50%) scale(.75); }
  12% { opacity: 1; }
  82% { opacity: 1; }
  100% { left: var(--pot-target-x); top: var(--pot-target-y); opacity: 0; transform: translate(-50%, -50%) scale(1.1); }
}

@media (max-width: 760px), (orientation: portrait) and (max-width: 900px) {
  .table-overlay-layer,
  #app.game-root.game-flow .table-overlay-layer {
    --board-center-x: 43%;
    --board-center-y: 43.5%;
    --pot-target-x: 43%;
    --pot-target-y: 50%;
  }

  .community-zone,
  #app.game-root.game-flow .community-zone {
    left: var(--board-center-x) !important;
    top: var(--board-center-y) !important;
  }

  .seat-pos-0,
  #app.game-root.game-flow .seat-pos-0,
  .seat-pos-3,
  #app.game-root.game-flow .seat-pos-3 {
    left: var(--board-center-x) !important;
    right: auto !important;
  }

  .chip-flight.seat-0 { --sx: var(--board-center-x); --sy: 78%; }
  .chip-flight.seat-3 { --sx: var(--board-center-x); --sy: 23%; }

  @keyframes flyToPot {
    0% { left: var(--sx); top: var(--sy); opacity: 0; transform: translate(-50%, -50%) scale(.75); }
    12% { opacity: 1; }
    82% { opacity: 1; }
    100% { left: var(--pot-target-x); top: var(--pot-target-y); opacity: 0; transform: translate(-50%, -50%) scale(1.1); }
  }
}

/* v1.17.4: Seat 4 und Seat 1 minimal nach rechts korrigiert.
   Board/Pot bleiben links positioniert; Chipflüge starten an den Seat-Positionen
   und enden weiterhin exakt an der sichtbaren Pot-Zielkoordinate. */
.table-overlay-layer,
#app.game-root.game-flow .table-overlay-layer {
  --seat-center-x: 38%;
  --pot-target-x: var(--board-center-x);
  --pot-target-y: 50%;
}

.seat-pos-0,
#app.game-root.game-flow .seat-pos-0,
.seat-pos-3,
#app.game-root.game-flow .seat-pos-3 {
  left: var(--seat-center-x) !important;
  right: auto !important;
}

.chip-flight.seat-0 { --sx: var(--seat-center-x); --sy: 78%; }
.chip-flight.seat-3 { --sx: var(--seat-center-x); --sy: 23%; }

@media (max-width: 760px), (orientation: portrait) and (max-width: 900px) {
  .table-overlay-layer,
  #app.game-root.game-flow .table-overlay-layer {
    --seat-center-x: 45%;
    --pot-target-x: var(--board-center-x);
    --pot-target-y: 50%;
  }

  .seat-pos-0,
  #app.game-root.game-flow .seat-pos-0,
  .seat-pos-3,
  #app.game-root.game-flow .seat-pos-3 {
    left: var(--seat-center-x) !important;
    right: auto !important;
  }

  .chip-flight.seat-0 { --sx: var(--seat-center-x); --sy: 78%; }
  .chip-flight.seat-3 { --sx: var(--seat-center-x); --sy: 23%; }
}

/* v1.17.5: Seat 4 und Seat 1 leicht nach rechts, Einsatz-Zielpunkt weiter rechts und tiefer. */
.table-overlay-layer,
#app.game-root.game-flow .table-overlay-layer {
  --seat-center-x: 40%;
  --pot-target-x: 39%;
  --pot-target-y: 52.5%;
}

.seat-pos-0,
#app.game-root.game-flow .seat-pos-0,
.seat-pos-3,
#app.game-root.game-flow .seat-pos-3 {
  left: var(--seat-center-x) !important;
  right: auto !important;
}

.chip-flight.seat-0 { --sx: var(--seat-center-x); --sy: 78%; }
.chip-flight.seat-3 { --sx: var(--seat-center-x); --sy: 23%; }

@media (max-width: 760px), (orientation: portrait) and (max-width: 900px) {
  .table-overlay-layer,
  #app.game-root.game-flow .table-overlay-layer {
    --seat-center-x: 47%;
    --pot-target-x: 46%;
    --pot-target-y: 52.5%;
  }

  .seat-pos-0,
  #app.game-root.game-flow .seat-pos-0,
  .seat-pos-3,
  #app.game-root.game-flow .seat-pos-3 {
    left: var(--seat-center-x) !important;
    right: auto !important;
  }

  .chip-flight.seat-0 { --sx: var(--seat-center-x); --sy: 78%; }
  .chip-flight.seat-3 { --sx: var(--seat-center-x); --sy: 23%; }
}

/* v1.17.6: Seat 4 und Seat 1 erneut etwas nach rechts; Einsatz-Zielpunkt weiter rechts und leicht tiefer. */
.table-overlay-layer,
#app.game-root.game-flow .table-overlay-layer {
  --seat-center-x: 42%;
  --pot-target-x: 42%;
  --pot-target-y: 55%;
}

.seat-pos-0,
#app.game-root.game-flow .seat-pos-0,
.seat-pos-3,
#app.game-root.game-flow .seat-pos-3 {
  left: var(--seat-center-x) !important;
  right: auto !important;
}

.chip-flight.seat-0 { --sx: var(--seat-center-x); --sy: 78%; }
.chip-flight.seat-3 { --sx: var(--seat-center-x); --sy: 23%; }

@media (max-width: 760px), (orientation: portrait) and (max-width: 900px) {
  .table-overlay-layer,
  #app.game-root.game-flow .table-overlay-layer {
    --seat-center-x: 49%;
    --pot-target-x: 49%;
    --pot-target-y: 55%;
  }

  .seat-pos-0,
  #app.game-root.game-flow .seat-pos-0,
  .seat-pos-3,
  #app.game-root.game-flow .seat-pos-3 {
    left: var(--seat-center-x) !important;
    right: auto !important;
  }

  .chip-flight.seat-0 { --sx: var(--seat-center-x); --sy: 78%; }
  .chip-flight.seat-3 { --sx: var(--seat-center-x); --sy: 23%; }
}


/* v1.17.7: Einsatz-Zielpunkt weiter rechts/tiefer, Tisch-Dock bereinigt und KI-Gedanken höher platziert. */
.table-overlay-layer,
#app.game-root.game-flow .table-overlay-layer {
  --pot-target-x: 45%;
  --pot-target-y: 57.5%;
}

.bot-thinking-pill,
#app.game-root.game-flow .bot-thinking-pill {
  top: clamp(5.75rem, 11vh, 8rem);
}

.panel-dock,
#app.game-root.game-flow .panel-dock {
  grid-template-columns: 1fr;
}

@media (max-width: 760px), (orientation: portrait) and (max-width: 900px) {
  .table-overlay-layer,
  #app.game-root.game-flow .table-overlay-layer {
    --pot-target-x: 52%;
    --pot-target-y: 57.5%;
  }
}

@media (max-width: 760px) {
  .bot-thinking-pill,
  #app.game-root.game-flow .bot-thinking-pill {
    top: auto;
    bottom: calc(var(--bottom-action-reserve, 7rem) + 1.75rem);
  }
}

/* v1.17.8: Einsatz-Zielpunkt erneut etwas weiter rechts/tiefer; Tisch-Start-Hinweise entfernt; KI-Gedanken höher. */
.table-overlay-layer,
#app.game-root.game-flow .table-overlay-layer {
  --pot-target-x: 48%;
  --pot-target-y: 60%;
}

.bot-thinking-pill,
#app.game-root.game-flow .bot-thinking-pill {
  top: clamp(4.75rem, 9vh, 6.75rem);
}

#app.game-root.game-flow .notice-stack.error-only {
  top: calc(max(10px, env(safe-area-inset-top)) + 54px);
}

@media (max-width: 760px), (orientation: portrait) and (max-width: 900px) {
  .table-overlay-layer,
  #app.game-root.game-flow .table-overlay-layer {
    --pot-target-x: 55%;
    --pot-target-y: 60%;
  }
}

@media (max-width: 760px) {
  .bot-thinking-pill,
  #app.game-root.game-flow .bot-thinking-pill {
    top: auto;
    bottom: calc(var(--bottom-action-reserve, 7rem) + 2.75rem);
  }
}

/* v1.18.0: Einsatz-Zielpunkt und Multiplayer-Lobby finalisiert. */
.table-overlay-layer,
#app.game-root.game-flow .table-overlay-layer {
  --pot-target-x: 51%;
  --pot-target-y: 60%;
}

@media (max-width: 760px), (orientation: portrait) and (max-width: 900px) {
  .table-overlay-layer,
  #app.game-root.game-flow .table-overlay-layer {
    --pot-target-x: 58%;
    --pot-target-y: 60%;
  }
}

/* Multiplayer lobby extension */
.multiplayer-create-panel {
  display: grid;
  grid-template-columns: minmax(220px, 1.4fr) minmax(180px, 0.8fr) minmax(180px, 0.8fr) auto;
  gap: 14px;
  align-items: end;
  padding: 16px;
  margin: 14px 0 18px;
}

.multiplayer-create-panel strong,
.multiplayer-create-panel small,
.multiplayer-create-panel span {
  display: block;
}

.multiplayer-create-panel small {
  color: rgba(255, 255, 255, 0.72);
  margin-top: 4px;
}

.multiplayer-create-panel label span {
  font-size: 0.78rem;
  color: rgba(255, 255, 255, 0.72);
  margin-bottom: 5px;
}

.multiplayer-create-panel select,
.multiplayer-create-panel input {
  width: 100%;
  min-height: 42px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 14px;
  background: rgba(7, 10, 18, 0.72);
  color: #fff;
  padding: 0 12px;
}

.multiplayer-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 10px 12px 0;
}

.multiplayer-card-meta span {
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 999px;
  padding: 4px 8px;
  font-size: 0.76rem;
  color: rgba(255, 255, 255, 0.78);
  background: rgba(0, 0, 0, 0.22);
}

@media (max-width: 980px) {
  .multiplayer-create-panel {
    grid-template-columns: 1fr;
    align-items: stretch;
  }
}

/* v1.18.1: Multiplayer-Tische in der Lobby priorisiert und optisch hervorgehoben. */
.multiplayer-showcase {
  position: relative;
  overflow: hidden;
  padding: clamp(16px, 2.2vw, 24px);
  margin: 16px 0 22px;
  border: 1px solid rgba(80, 255, 220, 0.32);
  box-shadow: 0 20px 70px rgba(0, 0, 0, 0.34), 0 0 44px rgba(48, 207, 208, 0.16), inset 0 0 0 1px rgba(255, 255, 255, 0.07);
  background:
    radial-gradient(circle at 15% 0%, rgba(82, 255, 214, 0.18), transparent 32%),
    radial-gradient(circle at 88% 10%, rgba(255, 209, 102, 0.16), transparent 34%),
    linear-gradient(135deg, rgba(7, 12, 24, 0.94), rgba(20, 9, 35, 0.88));
}

.multiplayer-showcase::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.12), transparent);
  transform: translateX(-130%);
  animation: multiplayerShowcaseSweep 6.5s ease-in-out infinite;
}

@keyframes multiplayerShowcaseSweep {
  0%, 48% { transform: translateX(-130%); opacity: 0; }
  58% { opacity: 1; }
  76%, 100% { transform: translateX(130%); opacity: 0; }
}

.multiplayer-showcase-head {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}

.multiplayer-showcase-head h3 {
  margin: 2px 0 4px;
  font-size: clamp(1.15rem, 1.8vw, 1.7rem);
  letter-spacing: -0.02em;
}

.multiplayer-showcase-head p {
  margin: 0;
  max-width: 780px;
  color: rgba(255, 255, 255, 0.74);
}

.multiplayer-filter-shortcut {
  white-space: nowrap;
  border-color: rgba(82, 255, 214, 0.38);
  background: rgba(82, 255, 214, 0.1);
}

.multiplayer-showcase-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 14px;
}

.multiplayer-showcase-card {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  min-height: 144px;
  border-radius: 24px;
  padding: 16px;
  cursor: pointer;
  border: 1px solid rgba(82, 255, 214, 0.34);
  background:
    linear-gradient(135deg, rgba(9, 20, 35, 0.92), rgba(42, 23, 64, 0.84)),
    radial-gradient(circle at 20% 20%, rgba(82, 255, 214, 0.2), transparent 40%);
  box-shadow: 0 16px 42px rgba(0, 0, 0, 0.28), inset 0 0 0 1px rgba(255, 255, 255, 0.06);
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.multiplayer-showcase-card:hover,
.multiplayer-showcase-card:focus-visible {
  transform: translateY(-3px);
  border-color: rgba(255, 224, 120, 0.72);
  box-shadow: 0 20px 56px rgba(0, 0, 0, 0.34), 0 0 32px rgba(82, 255, 214, 0.2);
  outline: none;
}

.multiplayer-showcase-card.is-multiplayer-member {
  border-color: rgba(255, 224, 120, 0.72);
  box-shadow: 0 20px 62px rgba(0, 0, 0, 0.34), 0 0 38px rgba(255, 204, 98, 0.22);
}

.multiplayer-showcase-card.is-multiplayer-running {
  opacity: 0.86;
}

.multiplayer-showcase-orb {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  border-radius: 20px;
  font-size: 1.65rem;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background:
    radial-gradient(circle at 35% 25%, rgba(255, 255, 255, 0.24), transparent 32%),
    linear-gradient(135deg, rgba(82, 255, 214, 0.24), rgba(255, 209, 102, 0.2));
}

.multiplayer-showcase-main {
  min-width: 0;
}

.multiplayer-showcase-title span {
  display: block;
  color: rgba(82, 255, 214, 0.92);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.multiplayer-showcase-title strong {
  display: block;
  margin-top: 3px;
  font-size: 1.02rem;
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.multiplayer-seat-bar {
  display: grid;
  grid-template-columns: repeat(6, minmax(12px, 1fr));
  gap: 5px;
  margin: 12px 0 10px;
  max-width: 260px;
}

.multiplayer-seat-bar span {
  height: 8px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.14);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
}

.multiplayer-seat-bar span.filled {
  background: linear-gradient(90deg, rgba(82, 255, 214, 0.95), rgba(255, 224, 120, 0.92));
  box-shadow: 0 0 14px rgba(82, 255, 214, 0.24);
}

.multiplayer-showcase-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.multiplayer-showcase-facts span,
.mp-status-badge {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  min-height: 26px;
  padding: 4px 9px;
  font-size: 0.76rem;
  font-weight: 800;
  color: rgba(255, 255, 255, 0.84);
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(0, 0, 0, 0.24);
}

.mp-status-badge.status-open {
  color: rgba(82, 255, 214, 0.95);
  border-color: rgba(82, 255, 214, 0.35);
  background: rgba(82, 255, 214, 0.11);
}

.mp-status-badge.status-running {
  color: rgba(255, 224, 120, 0.95);
  border-color: rgba(255, 224, 120, 0.38);
  background: rgba(255, 224, 120, 0.12);
}

.multiplayer-showcase-action {
  display: grid;
  justify-items: end;
  gap: 8px;
  min-width: 110px;
}

.multiplayer-showcase-action strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  color: #100b16;
  background: linear-gradient(135deg, #6dffd9, #ffe07a);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.2);
  white-space: nowrap;
}

.poker-room-card.is-multiplayer {
  order: -20;
  border-color: rgba(82, 255, 214, 0.38);
  box-shadow: 0 18px 56px rgba(0, 0, 0, 0.28), 0 0 34px rgba(82, 255, 214, 0.16);
}

.poker-room-card.is-multiplayer .poker-room-cover::after {
  content: 'LIVE MULTIPLAYER';
  position: absolute;
  left: 14px;
  bottom: 14px;
  z-index: 4;
  border-radius: 999px;
  padding: 5px 9px;
  color: #0b1118;
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  background: linear-gradient(135deg, #6dffd9, #ffe07a);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.24);
}

.poker-room-card.is-multiplayer .room-category-chip {
  border-color: rgba(82, 255, 214, 0.4);
  background: rgba(82, 255, 214, 0.12);
}

.poker-room-card.is-multiplayer .table-cover-action:not(.locked) {
  color: #100b16;
  background: linear-gradient(135deg, #6dffd9, #ffe07a);
}

@media (max-width: 780px) {
  .multiplayer-showcase-head,
  .multiplayer-showcase-card {
    grid-template-columns: 1fr;
  }
  .multiplayer-showcase-head {
    align-items: stretch;
  }
  .multiplayer-showcase-card {
    justify-items: stretch;
  }
  .multiplayer-showcase-action {
    justify-items: stretch;
  }
  .multiplayer-showcase-action strong {
    width: 100%;
  }
}

/* Multiplayer presence, heartbeat and reconnect UI (v1.18.4) */
.connection-sync-pill {
  position: fixed;
  top: calc(14px + env(safe-area-inset-top, 0px));
  left: 50%;
  transform: translateX(-50%);
  z-index: 70;
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  padding: .55rem .9rem;
  border-radius: 999px;
  font-size: .9rem;
  letter-spacing: .01em;
  box-shadow: 0 18px 42px rgba(0, 0, 0, .28);
  pointer-events: none;
}
.connection-sync-pill strong { font-weight: 800; }
.connection-sync-pill.sync { border-color: rgba(255, 214, 116, .42); }
.connection-sync-pill.online { border-color: rgba(101, 255, 177, .4); }
.connection-sync-dot {
  width: .62rem;
  height: .62rem;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 0 0 currentColor;
  animation: connectionPulse 1.25s ease-in-out infinite;
}
.connection-sync-pill.online .connection-sync-dot { animation: none; }
@keyframes connectionPulse {
  0% { opacity: .55; box-shadow: 0 0 0 0 rgba(255,255,255,.35); }
  70% { opacity: 1; box-shadow: 0 0 0 9px rgba(255,255,255,0); }
  100% { opacity: .55; box-shadow: 0 0 0 0 rgba(255,255,255,0); }
}
.connection-status-pill {
  margin-left: auto;
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .22rem .48rem;
  border-radius: 999px;
  font-size: .66rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(0,0,0,.24);
  white-space: nowrap;
}
.connection-status-pill::before {
  content: '';
  width: .46rem;
  height: .46rem;
  border-radius: 50%;
  background: currentColor;
}
.connection-status-pill.connection-online { color: #6fffc0; }
.connection-status-pill.connection-away { color: #ffd76a; }
.connection-status-pill.connection-disconnected { color: #ff7f9b; }
.seat-card.connection-away { filter: saturate(.88); }
.seat-card.connection-disconnected { opacity: .78; }
.seat-card.connection-disconnected .avatar-img,
.seat-card.connection-disconnected .seat-side-avatar { filter: grayscale(.75); }
@media (max-width: 720px) {
  .connection-sync-pill {
    top: calc(8px + env(safe-area-inset-top, 0px));
    max-width: calc(100vw - 24px);
    font-size: .78rem;
  }
  .connection-status-pill {
    font-size: .58rem;
    padding: .18rem .36rem;
  }
}

/* v1.18.5: Multiplayer-Warteraum mit Ready-System */
.multiplayer-waiting-room {
  width: min(1180px, calc(100vw - 2rem));
  margin: clamp(5.5rem, 9vh, 7.5rem) auto 1.5rem;
  padding: clamp(1rem, 2vw, 1.6rem);
  border-radius: 1.5rem;
  position: relative;
  z-index: 5;
}
.waiting-room-hero {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: stretch;
  margin-bottom: 1rem;
}
.waiting-room-hero h1 {
  margin: .2rem 0 .35rem;
  font-size: clamp(1.8rem, 4vw, 3.6rem);
  line-height: 1;
}
.waiting-room-hero p {
  max-width: 720px;
  margin: 0;
  color: rgba(255,255,255,.74);
}
.waiting-room-status-card {
  min-width: 190px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 1.2rem;
  padding: 1rem;
  background: linear-gradient(145deg, rgba(255,255,255,.12), rgba(255,255,255,.04));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12);
}
.waiting-room-status-card span,
.waiting-room-facts span,
.waiting-seat-copy span,
.waiting-seat-card > span {
  display: block;
  color: rgba(255,255,255,.62);
  font-size: .8rem;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.waiting-room-status-card strong {
  display: block;
  margin: .25rem 0;
  font-size: 1.25rem;
}
.waiting-room-status-card small {
  color: #ffd979;
}
.waiting-room-facts {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: .75rem;
  margin: 1rem 0;
}
.waiting-room-facts > div {
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 1rem;
  padding: .8rem .9rem;
  background: rgba(10, 9, 20, .34);
}
.waiting-room-facts strong {
  display: block;
  margin-top: .25rem;
  color: #fff;
}
.waiting-room-warning {
  display: flex;
  gap: .8rem;
  align-items: center;
  border: 1px solid rgba(255, 207, 99, .32);
  border-radius: 1rem;
  padding: .85rem 1rem;
  margin: .75rem 0 1rem;
  background: rgba(255, 184, 63, .10);
  color: #ffe8a8;
}
.waiting-room-warning strong {
  color: #fff;
}
.waiting-room-seats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .85rem;
}
.waiting-seat-card {
  min-height: 168px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 1.25rem;
  padding: .95rem;
  background: radial-gradient(circle at top left, rgba(255,255,255,.13), rgba(10,10,20,.38) 62%);
  position: relative;
  overflow: hidden;
}
.waiting-seat-card.hero {
  border-color: rgba(125, 214, 255, .68);
  box-shadow: 0 0 0 1px rgba(125, 214, 255, .18), 0 16px 42px rgba(31, 154, 255, .12);
}
.waiting-seat-card.host::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  box-shadow: inset 0 0 0 1px rgba(255, 210, 104, .28);
}
.waiting-seat-card.ready {
  background: radial-gradient(circle at top left, rgba(74, 255, 167, .16), rgba(10,10,20,.42) 62%);
}
.waiting-seat-card.empty {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  border-style: dashed;
  color: rgba(255,255,255,.64);
}
.waiting-seat-empty-orb {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  margin-bottom: .7rem;
  border-radius: 999px;
  border: 1px dashed rgba(255,255,255,.35);
  font-size: 1.7rem;
  color: rgba(255,255,255,.78);
  background: rgba(255,255,255,.06);
}
.waiting-seat-avatar-wrap {
  display: flex;
  align-items: flex-start;
  gap: .6rem;
  min-height: 78px;
}
.waiting-seat-avatar {
  border-radius: 1rem;
  object-fit: cover;
  border: 1px solid rgba(255,255,255,.24);
  box-shadow: 0 10px 24px rgba(0,0,0,.24);
}
.waiting-seat-host,
.waiting-seat-you {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: .22rem .5rem;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
  background: rgba(255, 208, 88, .16);
  color: #ffe39a;
  border: 1px solid rgba(255, 208, 88, .34);
}
.waiting-seat-you {
  background: rgba(97, 205, 255, .14);
  color: #bceeff;
  border-color: rgba(97, 205, 255, .34);
}
.waiting-seat-copy {
  margin-top: .65rem;
}
.waiting-seat-copy strong {
  display: block;
  font-size: 1.08rem;
}
.waiting-seat-badges {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  margin-top: .75rem;
}
.ready-pill {
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 999px;
  padding: .32rem .58rem;
  font-size: .78rem;
  color: rgba(255,255,255,.76);
  background: rgba(255,255,255,.07);
}
.ready-pill.ready {
  color: #aaffd2;
  border-color: rgba(75, 255, 168, .35);
  background: rgba(75, 255, 168, .12);
}
.waiting-room-actions {
  display: flex;
  justify-content: center;
  gap: .75rem;
  flex-wrap: wrap;
  margin-top: 1rem;
  padding: .85rem;
  border-radius: 1.25rem;
}
.waiting-room-actions .action-btn {
  min-width: 150px;
}
@media (max-width: 980px) {
  .waiting-room-hero,
  .waiting-room-actions { align-items: stretch; }
  .waiting-room-hero { flex-direction: column; }
  .waiting-room-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .waiting-room-seats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  .multiplayer-waiting-room { width: calc(100vw - 1rem); margin-top: 5rem; }
  .waiting-room-facts,
  .waiting-room-seats { grid-template-columns: 1fr; }
}

/* Multiplayer table clarity v1.18.6: active turn, action context, timeline and status badges */
.seat-card.active {
  border-color: rgba(255, 225, 122, .95) !important;
  box-shadow: 0 0 0 3px rgba(255, 213, 91, .42), 0 0 32px rgba(255, 213, 91, .28), 0 1rem 3rem rgba(0,0,0,.38) !important;
  animation: activeSeatRing 1.55s ease-in-out infinite;
}
.seat-card.active::after {
  content: '';
  position: absolute;
  inset: -5px;
  border-radius: inherit;
  border: 1px solid rgba(255, 235, 158, .54);
  pointer-events: none;
  animation: activeSeatHalo 1.55s ease-in-out infinite;
}
@keyframes activeSeatRing {
  0%, 100% { filter: brightness(1); }
  50% { filter: brightness(1.12); }
}
@keyframes activeSeatHalo {
  0%, 100% { opacity: .38; transform: scale(1); }
  50% { opacity: .9; transform: scale(1.018); }
}
.active-turn-label {
  position: absolute;
  top: -.95rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 8;
  display: grid;
  gap: .02rem;
  min-width: 108px;
  padding: .34rem .62rem;
  border-radius: 999px;
  text-align: center;
  background: linear-gradient(135deg, rgba(255, 224, 117, .98), rgba(255, 154, 74, .94));
  color: #241504;
  border: 1px solid rgba(255,255,255,.38);
  box-shadow: 0 12px 28px rgba(0,0,0,.28);
}
.active-turn-label strong { font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; }
.active-turn-label span { font-size: .67rem; font-weight: 800; }
.seat-badge-row {
  display: flex;
  flex-wrap: wrap;
  gap: .28rem;
  margin: .4rem 0 .2rem;
}
.mini-seat-badge {
  display: inline-flex;
  align-items: center;
  gap: .24rem;
  border-radius: 999px;
  padding: .16rem .42rem;
  font-size: .62rem;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.07);
  color: rgba(255,255,255,.82);
}
.mini-seat-badge.host { color: #ffe39a; background: rgba(255, 205, 83, .14); border-color: rgba(255, 205, 83, .34); }
.mini-seat-badge.hero { color: #c2f0ff; background: rgba(92, 206, 255, .14); border-color: rgba(92, 206, 255, .34); }
.mini-seat-badge.bot { color: #e6d7ff; background: rgba(172, 123, 255, .13); border-color: rgba(172, 123, 255, .32); }
.mini-seat-badge.bot-persona { color: #ffe7a6; background: rgba(255, 200, 96, .12); border-color: rgba(255, 200, 96, .34); text-transform: none; letter-spacing: .02em; }
.mini-seat-badge.connection-online { color: #aaffd4; background: rgba(68, 255, 164, .11); border-color: rgba(68, 255, 164, .3); }
.mini-seat-badge.connection-away { color: #ffe5a6; background: rgba(255, 190, 66, .12); border-color: rgba(255, 190, 66, .32); }
.mini-seat-badge.connection-disconnected { color: #ffb7bd; background: rgba(255, 91, 111, .12); border-color: rgba(255, 91, 111, .32); }
.table-action-timeline {
  position: absolute;
  left: clamp(.55rem, 2.2vw, 1.25rem);
  top: clamp(5.8rem, 12vh, 8.6rem);
  width: min(300px, 27vw);
  max-height: min(35vh, 330px);
  z-index: 7;
  padding: .72rem;
  border-radius: 1.1rem;
  background: rgba(8, 10, 20, .68);
  border: 1px solid rgba(255,255,255,.13);
  box-shadow: 0 16px 38px rgba(0,0,0,.24);
  backdrop-filter: blur(12px);
}
.timeline-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: .6rem;
  margin-bottom: .45rem;
  font-size: .72rem;
  color: rgba(255,255,255,.7);
  text-transform: uppercase;
  letter-spacing: .08em;
}
.timeline-head strong {
  color: #fff;
  background: rgba(255,255,255,.1);
  border-radius: 999px;
  padding: .08rem .45rem;
}
.timeline-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: .34rem;
}
.timeline-list li {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: .42rem;
  align-items: center;
  padding: .38rem .45rem;
  border-radius: .78rem;
  background: rgba(255,255,255,.065);
  border-left: 3px solid rgba(255,255,255,.22);
  font-size: .73rem;
}
.timeline-list li.tone-fold { border-left-color: rgba(190, 196, 208, .9); }
.timeline-list li.tone-call,
.timeline-list li.tone-check { border-left-color: rgba(103, 215, 255, .95); }
.timeline-list li.tone-bet { border-left-color: rgba(255, 160, 87, .95); }
.timeline-list li.tone-win { border-left-color: rgba(113, 232, 176, .95); }
.timeline-seat { color: rgba(255,255,255,.56); font-size: .63rem; white-space: nowrap; }
.timeline-list strong { color: #fff; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.timeline-list small { color: rgba(255,255,255,.5); font-size: .62rem; }
.table-action-timeline p { margin: 0; font-size: .76rem; color: rgba(255,255,255,.62); }
.turn-decision-panel {
  width: min(720px, 100%);
  display: grid;
  grid-template-columns: minmax(190px, 1fr) minmax(260px, 1.1fr);
  gap: .75rem;
  align-items: center;
  padding: .72rem .85rem;
  border-radius: 1.2rem;
  border: 1px solid rgba(255,255,255,.13);
  background: rgba(7, 9, 18, .5);
}
.turn-decision-panel.active {
  border-color: rgba(255, 219, 112, .52);
  background: linear-gradient(135deg, rgba(255, 207, 89, .18), rgba(7, 9, 18, .54));
  box-shadow: 0 0 30px rgba(255, 201, 86, .12);
}
.turn-decision-copy { display: grid; gap: .1rem; }
.turn-decision-copy span {
  color: rgba(255,255,255,.62);
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 900;
}
.turn-decision-copy strong {
  color: #fff;
  font-size: clamp(1.02rem, 1.7vw, 1.42rem);
}
.turn-decision-copy small { color: rgba(255,255,255,.7); font-size: .76rem; }
.action-clarity-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .45rem;
}
.action-clarity-grid > div {
  border-radius: .88rem;
  padding: .48rem .55rem;
  background: rgba(255,255,255,.075);
  border: 1px solid rgba(255,255,255,.11);
}
.action-clarity-grid span {
  display: block;
  color: rgba(255,255,255,.56);
  font-size: .62rem;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.action-clarity-grid strong {
  display: block;
  margin-top: .05rem;
  color: #fff;
  font-size: .98rem;
}
.action-btn:disabled,
.custom-bet-control.disabled {
  cursor: not-allowed;
}
.action-btn:disabled:hover::after,
.custom-bet-control.disabled:hover::after {
  content: attr(title);
  position: absolute;
  left: 50%;
  bottom: calc(100% + .44rem);
  transform: translateX(-50%);
  width: max-content;
  max-width: 240px;
  padding: .38rem .55rem;
  border-radius: .62rem;
  font-size: .68rem;
  line-height: 1.2;
  white-space: normal;
  color: #fff;
  background: rgba(7, 9, 18, .94);
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: 0 12px 24px rgba(0,0,0,.28);
  z-index: 40;
  pointer-events: none;
}
.showdown-payout-strip {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .35rem;
  margin-top: .35rem;
}
.showdown-payout-chip {
  border-radius: 999px;
  padding: .22rem .52rem;
  font-size: .72rem;
  font-weight: 900;
  color: #fff7d0;
  background: rgba(255, 209, 87, .18);
  border: 1px solid rgba(255, 209, 87, .38);
  animation: payoutFloat 1.45s ease-in-out infinite;
}
@keyframes payoutFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-3px); }
}
.seat-card.winner-seat .winner-card-used,
.winner-card-row .playing-card.winner-card-used {
  box-shadow: 0 0 0 3px rgba(255, 220, 101, .7), 0 0 24px rgba(255, 220, 101, .34) !important;
  transform: translateY(-4px);
}
@media (max-width: 1180px) {
  .table-action-timeline {
    width: min(270px, 32vw);
    top: 5.3rem;
  }
  .timeline-list li { grid-template-columns: 1fr auto; }
  .timeline-seat { display: none; }
}
@media (max-width: 860px) {
  .table-action-timeline {
    left: .55rem;
    right: .55rem;
    top: auto;
    bottom: calc(var(--bottom-action-reserve, 160px) + .45rem);
    width: auto;
    max-height: 118px;
    overflow: auto;
    padding: .52rem;
  }
  .timeline-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .timeline-list li { grid-template-columns: 1fr; gap: .12rem; padding: .32rem .4rem; }
  .timeline-list small { display: none; }
  .turn-decision-panel { grid-template-columns: 1fr; gap: .55rem; }
  .action-clarity-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .timeline-list { grid-template-columns: 1fr; }
  .table-action-timeline { max-height: 92px; }
  .active-turn-label { min-width: 92px; padding: .26rem .46rem; }
  .active-turn-label strong { font-size: .62rem; }
  .active-turn-label span { font-size: .58rem; }
  .mini-seat-badge { font-size: .54rem; padding: .12rem .32rem; }
}
.action-btn,
.custom-bet-control {
  position: relative;
}

/* v1.18.8: Multiplayer-Revision, adaptives Polling und idempotente Aktionen */
.table-social-panel {
  position: absolute;
  right: clamp(.55rem, 2.2vw, 1.25rem);
  top: clamp(5.8rem, 12vh, 8.6rem);
  width: min(330px, 29vw);
  z-index: 7;
  padding: .72rem;
  border-radius: 1.1rem;
  background: rgba(8, 10, 20, .68);
  border: 1px solid rgba(255,255,255,.13);
  box-shadow: 0 16px 38px rgba(0,0,0,.24);
  backdrop-filter: blur(12px);
}
.social-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .65rem;
  margin-bottom: .52rem;
}
.social-panel-head div { display: grid; gap: .05rem; }
.social-panel-head span,
.social-panel-head small {
  color: rgba(255,255,255,.64);
  font-size: .66rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 900;
}
.social-panel-head strong { color: #fff; font-size: .86rem; }
.social-button-row {
  display: flex;
  flex-wrap: wrap;
  gap: .34rem;
}
.social-button-row + .social-button-row { margin-top: .44rem; }
.social-btn {
  display: inline-flex;
  align-items: center;
  gap: .28rem;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 999px;
  padding: .34rem .52rem;
  color: rgba(255,255,255,.9);
  background: rgba(255,255,255,.075);
  font-size: .7rem;
  font-weight: 900;
  line-height: 1;
  cursor: pointer;
  transition: transform .16s ease, border-color .16s ease, background .16s ease, opacity .16s ease;
}
.social-btn span { font-size: .92rem; }
.social-btn b { white-space: nowrap; }
.social-btn:hover:not(:disabled),
.social-btn.equipped:not(:disabled) {
  transform: translateY(-1px);
  border-color: rgba(255, 222, 130, .46);
  background: rgba(255, 215, 104, .14);
}
.social-btn:disabled { opacity: .48; cursor: not-allowed; }
.quickchat-btn { border-radius: .78rem; }
.seat-social-bubble {
  position: absolute;
  left: 50%;
  bottom: -.9rem;
  transform: translateX(-50%);
  z-index: 12;
  display: inline-flex;
  align-items: center;
  gap: .34rem;
  max-width: min(210px, 110%);
  padding: .42rem .68rem;
  border-radius: 999px;
  color: #fff;
  background: rgba(9, 12, 25, .9);
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: 0 14px 30px rgba(0,0,0,.32);
  backdrop-filter: blur(10px);
  pointer-events: none;
}
.seat-social-bubble span { font-size: 1.05rem; }
.seat-social-bubble strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: .74rem;
}
.seat-social-bubble.social-emote {
  background: linear-gradient(135deg, rgba(255, 210, 92, .92), rgba(255, 125, 78, .88));
  color: #241405;
}
.seat-social-bubble.social-quickchat {
  background: linear-gradient(135deg, rgba(80, 203, 255, .92), rgba(121, 105, 255, .88));
  color: #fff;
}
.social-pop-enter-active,
.social-pop-leave-active { transition: opacity .22s ease, transform .22s ease; }
.social-pop-enter-from,
.social-pop-leave-to { opacity: 0; transform: translateX(-50%) translateY(8px) scale(.94); }
.mini-seat-mute {
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 999px;
  padding: .14rem .42rem;
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.72);
  font-size: .58rem;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
  cursor: pointer;
}
.mini-seat-mute:hover,
.mini-seat-mute.muted {
  color: #ffd7dc;
  border-color: rgba(255, 124, 146, .36);
  background: rgba(255, 92, 122, .13);
}
.timeline-list li.social-emote,
.timeline-list li.tone-emote { border-left-color: rgba(255, 212, 98, .96); }
.timeline-list li.social-quickchat,
.timeline-list li.tone-quickchat { border-left-color: rgba(94, 202, 255, .96); }
.timeline-list li.social-emote strong,
.timeline-list li.social-quickchat strong { color: #fff; }
@media (max-width: 1180px) {
  .table-social-panel {
    width: min(290px, 33vw);
    top: 5.3rem;
  }
  .social-btn { padding: .3rem .46rem; font-size: .64rem; }
}
@media (max-width: 860px) {
  .table-social-panel {
    left: .55rem;
    right: .55rem;
    top: auto;
    bottom: calc(var(--bottom-action-reserve, 160px) + 8.3rem);
    width: auto;
    max-height: 98px;
    overflow: auto;
    padding: .52rem;
  }
  .social-panel-head { margin-bottom: .36rem; }
  .social-button-row { flex-wrap: nowrap; overflow-x: auto; padding-bottom: .08rem; }
  .social-btn { flex: 0 0 auto; }
  .table-action-timeline { bottom: calc(var(--bottom-action-reserve, 160px) + .45rem); }
}
@media (max-width: 560px) {
  .table-social-panel { max-height: 86px; bottom: calc(var(--bottom-action-reserve, 160px) + 7.2rem); }
  .seat-social-bubble { max-width: 150px; padding: .32rem .48rem; }
  .seat-social-bubble strong { font-size: .64rem; }
  .mini-seat-mute { font-size: .52rem; padding: .1rem .3rem; }
}

/* v1.18.9: Live Poker Lounge – hochwertige Multiplayer-Lobby, Wizard und Passwort-Modal */
.multiplayer-create-wizard {
  grid-template-columns: minmax(230px, 1fr) minmax(220px, .92fr) minmax(220px, .92fr) minmax(260px, 1.1fr);
  align-items: stretch;
  border-color: rgba(255, 217, 124, .28);
  background:
    radial-gradient(circle at 7% 0%, rgba(255, 216, 126, .18), transparent 30%),
    radial-gradient(circle at 94% 16%, rgba(88, 255, 220, .13), transparent 32%),
    linear-gradient(135deg, rgba(15, 11, 27, .92), rgba(9, 16, 30, .86));
}
.mp-wizard-header,
.mp-wizard-step {
  position: relative;
  display: grid;
  align-content: start;
  gap: .52rem;
  min-width: 0;
}
.mp-wizard-header strong {
  font-size: clamp(1.05rem, 1.5vw, 1.46rem);
  color: #fff;
}
.mp-wizard-step {
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 1.05rem;
  padding: .86rem;
  background: rgba(255,255,255,.055);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.035);
}
.mp-wizard-step b {
  display: block;
  color: #fff;
  font-size: .9rem;
}
.mp-step-number {
  display: inline-grid !important;
  place-items: center;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 999px;
  color: #160d06 !important;
  font-weight: 950;
  background: linear-gradient(135deg, #ffe38b, #73ffd8);
  box-shadow: 0 8px 22px rgba(0,0,0,.24);
}
.mp-wizard-summary {
  gap: .72rem;
}
.mp-summary-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .45rem;
}
.mp-summary-grid span {
  border-radius: .82rem;
  padding: .48rem .55rem;
  background: rgba(0,0,0,.23);
  border: 1px solid rgba(255,255,255,.09);
}
.mp-summary-grid small {
  color: rgba(255,255,255,.62);
  font-size: .66rem;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.mp-summary-grid strong {
  color: #fff;
  font-size: .9rem;
}
.mp-create-submit {
  width: 100%;
  justify-content: center;
}
.live-poker-lounge {
  border-color: rgba(255, 217, 124, .34);
  box-shadow: 0 22px 74px rgba(0, 0, 0, .38), 0 0 44px rgba(255, 210, 100, .13), inset 0 0 0 1px rgba(255,255,255,.07);
  background:
    radial-gradient(circle at 9% 8%, rgba(255, 220, 120, .2), transparent 32%),
    radial-gradient(circle at 88% 0%, rgba(80, 255, 220, .16), transparent 34%),
    linear-gradient(135deg, rgba(20, 12, 30, .95), rgba(7, 14, 25, .92));
}
.mp-lounge-empty {
  position: relative;
  z-index: 1;
  display: grid;
  gap: .2rem;
  padding: 1rem;
  border-radius: 1rem;
  border: 1px dashed rgba(255,255,255,.18);
  background: rgba(255,255,255,.05);
}
.mp-lounge-empty strong { color: #fff; }
.mp-lounge-empty span { color: rgba(255,255,255,.7); }
.live-lounge-grid {
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
}
.live-lounge-card {
  grid-template-columns: minmax(112px, 28%) minmax(0, 1fr) minmax(126px, auto);
  min-height: 170px;
  padding: .78rem;
  gap: .9rem;
}
.live-lounge-cover {
  position: relative;
  overflow: hidden;
  align-self: stretch;
  min-height: 142px;
  border-radius: 1.15rem;
  background: rgba(0,0,0,.26);
  border: 1px solid rgba(255,255,255,.12);
}
.live-lounge-cover img {
  width: 100%;
  height: 100%;
  min-height: 142px;
  object-fit: cover;
  transform: scale(1.03);
  filter: saturate(1.12) contrast(1.06);
}
.live-lounge-cover::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,.58));
  pointer-events: none;
}
.live-lounge-lock,
.live-lounge-member-badge {
  position: absolute;
  z-index: 2;
  left: .55rem;
  border-radius: 999px;
  padding: .28rem .55rem;
  font-size: .68rem;
  font-weight: 950;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(8, 10, 18, .74);
  color: rgba(255,255,255,.92);
  backdrop-filter: blur(8px);
}
.live-lounge-lock { top: .55rem; }
.live-lounge-lock.open {
  color: #15331f;
  background: rgba(124, 255, 190, .88);
}
.live-lounge-member-badge {
  bottom: .55rem;
  color: #211000;
  background: linear-gradient(135deg, #ffe38b, #ffbf5a);
}
.live-lounge-main {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.live-lounge-facts span {
  min-height: 28px;
  background: rgba(255,255,255,.07);
}
.live-lounge-action small {
  max-width: 150px;
  text-align: right;
  color: rgba(255, 218, 134, .9);
  font-size: .72rem;
  line-height: 1.25;
}
.live-lounge-action strong.disabled,
.table-cover-action.locked {
  color: rgba(255,255,255,.72) !important;
  background: rgba(255,255,255,.1) !important;
  box-shadow: none !important;
}
.mp-status-badge.status-ended,
.mp-status-badge.status-full {
  color: rgba(255, 167, 181, .96);
  border-color: rgba(255, 125, 145, .36);
  background: rgba(255, 90, 120, .12);
}
.mp-password-backdrop {
  position: fixed;
  inset: 0;
  z-index: 90;
  display: grid;
  place-items: center;
  padding: 1rem;
  background: rgba(0, 0, 0, .58);
  backdrop-filter: blur(7px);
}
.mp-password-modal {
  width: min(440px, 100%);
  padding: 1.15rem;
  border-radius: 1.3rem;
  border: 1px solid rgba(255, 217, 124, .3);
  box-shadow: 0 28px 76px rgba(0,0,0,.44);
}
.mp-password-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
}
.mp-password-modal h3 {
  margin: .35rem 0 .25rem;
  color: #fff;
}
.mp-password-modal p {
  color: rgba(255,255,255,.7);
  margin-bottom: .85rem;
}
.mp-password-modal label span {
  display: block;
  color: rgba(255,255,255,.72);
  font-size: .78rem;
  margin-bottom: .35rem;
}
.mp-password-modal input {
  width: 100%;
  min-height: 44px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: .9rem;
  background: rgba(7, 10, 18, .78);
  color: #fff;
  padding: 0 .85rem;
}
.mp-password-actions {
  display: flex;
  justify-content: flex-end;
  gap: .55rem;
  margin-top: .95rem;
}
@media (max-width: 1080px) {
  .multiplayer-create-wizard {
    grid-template-columns: 1fr 1fr;
  }
  .mp-wizard-header,
  .mp-wizard-summary { grid-column: 1 / -1; }
  .live-lounge-card {
    grid-template-columns: minmax(104px, 150px) minmax(0, 1fr);
  }
  .live-lounge-action {
    grid-column: 1 / -1;
    grid-template-columns: 1fr auto;
    justify-items: stretch;
    align-items: center;
  }
  .live-lounge-action small { max-width: none; text-align: left; }
}
@media (max-width: 720px) {
  .multiplayer-create-wizard,
  .live-lounge-card,
  .live-lounge-action {
    grid-template-columns: 1fr;
  }
  .live-lounge-grid { grid-template-columns: 1fr; }
  .live-lounge-cover { min-height: 128px; }
  .live-lounge-cover img { min-height: 128px; }
  .mp-summary-grid { grid-template-columns: 1fr 1fr; }
  .multiplayer-showcase-head { align-items: stretch; }
  .multiplayer-filter-shortcut { width: 100%; }
  .mp-password-actions { flex-direction: column-reverse; }
  .mp-password-actions button { width: 100%; }
}
@media (max-width: 420px) {
  .mp-summary-grid { grid-template-columns: 1fr; }
  .multiplayer-showcase-facts { display: grid; grid-template-columns: 1fr; }
  .live-lounge-action strong { width: 100%; }
}

/* v1.18.11: erweiterte Multiplayer-QA; bestehende Live-Lounge-CSS bleibt buildfrei. */

/* v1.18.12: kompakter Multiplayer-Tisch-Footer ohne Action-Box und Sozialpanel links */
#app.game-root.game-flow .table-action-timeline {
  display: none !important;
}

#app.game-root.game-flow .bottom-action-bar.actions-only {
  padding: clamp(.34rem, 1vw, .58rem) !important;
  max-height: min(calc(var(--app-vh, 1dvh) * 26), 118px) !important;
  overflow-y: hidden !important;
}

#app.game-root.game-flow .bottom-action-bar.actions-only .primary-actions {
  gap: clamp(.32rem, .8vw, .58rem) !important;
  padding-bottom: .04rem;
}

#app.game-root.game-flow .bottom-action-bar.actions-only .action-btn {
  min-height: 38px;
}

.table-social-panel {
  left: clamp(.55rem, 2.2vw, 1.25rem) !important;
  right: auto !important;
  top: clamp(5.35rem, 11.5vh, 8.1rem) !important;
  width: min(260px, 24vw) !important;
  max-height: min(38vh, 310px);
  padding: .52rem !important;
  border-radius: .95rem !important;
}

.social-panel-head {
  gap: .42rem !important;
  margin-bottom: .34rem !important;
}

.social-panel-head span,
.social-panel-head small {
  font-size: .58rem !important;
}

.social-panel-head strong {
  font-size: .74rem !important;
}

.social-button-row {
  gap: .24rem !important;
}

.social-button-row + .social-button-row {
  margin-top: .28rem !important;
}

.social-btn {
  padding: .24rem .38rem !important;
  gap: .18rem !important;
  font-size: .62rem !important;
}

.social-btn span {
  font-size: .82rem !important;
}

.social-btn b {
  max-width: 92px;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media (max-width: 1180px) {
  .table-social-panel {
    width: min(230px, 27vw) !important;
    top: 5.1rem !important;
  }
}

@media (max-width: 860px) {
  #app.game-root.game-flow .bottom-action-bar.actions-only {
    max-height: min(calc(var(--app-vh, 1dvh) * 24), 104px) !important;
  }
  .table-social-panel {
    left: .55rem !important;
    right: .55rem !important;
    top: 4.75rem !important;
    bottom: auto !important;
    width: auto !important;
    max-height: 92px !important;
    overflow: auto !important;
    padding: .44rem !important;
  }
  .social-panel-head {
    margin-bottom: .25rem !important;
  }
  .social-panel-head strong {
    display: none;
  }
  .social-button-row {
    flex-wrap: nowrap !important;
    overflow-x: auto;
    padding-bottom: .06rem;
  }
  .social-btn {
    flex: 0 0 auto;
    padding: .22rem .34rem !important;
  }
}

@media (max-width: 560px) {
  #app.game-root.game-flow .bottom-action-bar.actions-only {
    max-height: min(calc(var(--app-vh, 1dvh) * 23), 94px) !important;
  }
  .table-social-panel {
    max-height: 82px !important;
  }
  .social-btn b {
    max-width: 76px;
  }
}

/* v1.18.13: Sozialpanel links oben und provokantes Multiplayer-Verloren-Overlay */
#app.game-root.game-flow .table-social-panel {
  left: clamp(.5rem, 1.2vw, .9rem) !important;
  top: clamp(.5rem, 1.2vh, .85rem) !important;
  right: auto !important;
  bottom: auto !important;
  width: min(238px, 22vw) !important;
  max-height: min(31vh, 250px) !important;
  z-index: 18;
  padding: .44rem !important;
  background: linear-gradient(145deg, rgba(13, 18, 39, .78), rgba(80, 46, 12, .48)) !important;
}

#app.game-root.game-flow .table-social-panel .social-panel-head {
  margin-bottom: .24rem !important;
}

#app.game-root.game-flow .table-social-panel .social-panel-head strong {
  font-size: .68rem !important;
}

#app.game-root.game-flow .table-social-panel .social-panel-head span,
#app.game-root.game-flow .table-social-panel .social-panel-head small {
  font-size: .54rem !important;
}

#app.game-root.game-flow .table-social-panel .social-button-row {
  gap: .2rem !important;
}

#app.game-root.game-flow .table-social-panel .social-button-row + .social-button-row {
  margin-top: .22rem !important;
}

#app.game-root.game-flow .table-social-panel .social-btn {
  min-height: 26px;
  padding: .2rem .32rem !important;
  font-size: .58rem !important;
}

#app.game-root.game-flow .table-social-panel .social-btn span {
  font-size: .76rem !important;
}

.multiplayer-loss-overlay {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: grid;
  place-items: center;
  padding: clamp(1rem, 4vw, 2.5rem);
  background: radial-gradient(circle at 50% 30%, rgba(120, 10, 22, .42), rgba(2, 4, 11, .9) 62%, rgba(0,0,0,.96));
  backdrop-filter: blur(7px) saturate(1.1);
}

.multiplayer-loss-card {
  position: relative;
  width: min(760px, 94vw);
  min-height: min(480px, 78vh);
  display: grid;
  align-items: end;
  overflow: hidden;
  border-radius: clamp(1.1rem, 3vw, 2.2rem);
  border: 1px solid rgba(255, 214, 118, .32);
  background-size: cover;
  background-position: center;
  box-shadow: 0 30px 90px rgba(0,0,0,.62), inset 0 0 0 1px rgba(255,255,255,.06);
}

.multiplayer-loss-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(6, 5, 12, .16), rgba(6, 5, 12, .72) 58%, rgba(0,0,0,.9));
  pointer-events: none;
}

.multiplayer-loss-glow {
  position: absolute;
  width: 54%;
  aspect-ratio: 1;
  right: -14%;
  top: -24%;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(255, 51, 78, .48), rgba(255, 184, 77, .12) 44%, transparent 70%);
  filter: blur(4px);
  animation: multiplayerLossPulse 3.4s ease-in-out infinite;
}

@keyframes multiplayerLossPulse {
  0%, 100% { transform: scale(.95); opacity: .72; }
  50% { transform: scale(1.06); opacity: 1; }
}

.multiplayer-loss-content {
  position: relative;
  z-index: 1;
  display: grid;
  gap: .85rem;
  padding: clamp(1.25rem, 4.4vw, 3rem);
  text-align: left;
  max-width: 620px;
}

.multiplayer-loss-kicker {
  width: fit-content;
  padding: .32rem .68rem;
  border-radius: 999px;
  background: rgba(255, 68, 88, .18);
  border: 1px solid rgba(255, 170, 96, .38);
  color: #ffd68a;
  text-transform: uppercase;
  letter-spacing: .16em;
  font-size: .72rem;
  font-weight: 900;
}

.multiplayer-loss-content h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(3rem, 12vw, 6.4rem);
  line-height: .86;
  letter-spacing: -.06em;
  text-shadow: 0 10px 30px rgba(0,0,0,.65), 0 0 24px rgba(255, 45, 75, .32);
}

.multiplayer-loss-content p {
  margin: 0;
  max-width: 560px;
  color: rgba(255,255,255,.84);
  font-size: clamp(.98rem, 2.3vw, 1.18rem);
  line-height: 1.55;
}

.multiplayer-loss-btn {
  justify-self: start;
  min-width: 170px;
  border: 0;
  border-radius: 999px;
  padding: .85rem 1.35rem;
  background: linear-gradient(135deg, #ffd36f, #ff7a45 48%, #ff3f68);
  color: #1a0710;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .08em;
  cursor: pointer;
  box-shadow: 0 16px 36px rgba(0,0,0,.36), 0 0 0 1px rgba(255,255,255,.22) inset;
}

.multiplayer-loss-btn:hover:not(:disabled) {
  transform: translateY(-1px);
  filter: brightness(1.05);
}

.multiplayer-loss-btn:disabled {
  opacity: .6;
  cursor: wait;
}

@media (max-width: 860px) {
  #app.game-root.game-flow .table-social-panel {
    left: .42rem !important;
    top: .42rem !important;
    right: .42rem !important;
    width: auto !important;
    max-height: 74px !important;
    overflow: auto !important;
    padding: .34rem !important;
  }
  #app.game-root.game-flow .table-social-panel .social-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: .18rem !important;
  }
  #app.game-root.game-flow .table-social-panel .social-panel-head strong {
    display: none;
  }
  .multiplayer-loss-card {
    min-height: min(440px, 74vh);
  }
}

@media (max-width: 560px) {
  #app.game-root.game-flow .table-social-panel {
    max-height: 66px !important;
  }
  #app.game-root.game-flow .table-social-panel .social-panel-head span,
  #app.game-root.game-flow .table-social-panel .social-panel-head small {
    font-size: .5rem !important;
  }
  #app.game-root.game-flow .table-social-panel .social-btn b {
    max-width: 64px;
  }
  .multiplayer-loss-content {
    text-align: center;
    justify-items: center;
  }
  .multiplayer-loss-btn {
    justify-self: center;
    width: 100%;
  }
}

/* v1.19.0: Singleplayer-Karriereziele in Lobby und am Tisch */
.career-card-progress {
  margin: .7rem .85rem .2rem;
  padding: .72rem .78rem;
  border: 1px solid rgba(255, 215, 128, .2);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(10, 14, 26, .72), rgba(44, 27, 9, .5));
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .04);
  color: rgba(255, 250, 235, .92);
}

.career-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  margin-bottom: .52rem;
  font-size: .72rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(255, 235, 185, .72);
}

.career-card-head strong {
  color: #fff5cf;
  font-size: .74rem;
  white-space: nowrap;
}

.career-progress-track {
  position: relative;
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255, 255, 255, .1);
  border: 1px solid rgba(255, 255, 255, .08);
}

.career-progress-track span {
  display: block;
  width: var(--career-progress, 0%);
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, rgba(255, 202, 91, .9), rgba(115, 255, 194, .86));
  box-shadow: 0 0 18px rgba(255, 203, 92, .32);
  transition: width .35s ease;
}

.career-goal-badges {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
  margin-top: .58rem;
}

.career-goal-badge {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: .18rem .44rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, .13);
  background: rgba(255, 255, 255, .075);
  color: rgba(255, 255, 255, .72);
  font-size: .66rem;
  font-weight: 800;
  letter-spacing: .025em;
}

.career-goal-badge.partial {
  border-color: rgba(116, 216, 255, .34);
  background: rgba(73, 171, 255, .12);
  color: #ccefff;
}

.career-goal-badge.completed {
  border-color: rgba(115, 255, 194, .46);
  background: rgba(75, 255, 171, .15);
  color: #d6ffe9;
}

.career-goal-badge.completed::before {
  content: '✓';
  margin-right: .28rem;
  color: #87ffc4;
}

.poker-room-card.is-recommended .career-card-progress {
  border-color: rgba(255, 216, 126, .35);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .04), 0 0 26px rgba(255, 198, 77, .12);
}

.career-toast-stack {
  position: absolute;
  top: clamp(86px, 10vh, 128px);
  left: 50%;
  z-index: 45;
  width: min(420px, calc(100vw - 32px));
  display: grid;
  gap: .62rem;
  pointer-events: none;
  transform: translateX(-50%);
}

.career-unlock-toast {
  padding: .82rem 1rem;
  border-radius: 20px;
  border: 1px solid rgba(255, 217, 122, .38);
  background: linear-gradient(135deg, rgba(20, 26, 39, .9), rgba(80, 50, 12, .78));
  box-shadow: 0 18px 48px rgba(0, 0, 0, .34), 0 0 24px rgba(255, 206, 83, .14);
  text-align: center;
  color: #fff7dc;
  backdrop-filter: blur(14px);
}

.career-unlock-toast span {
  display: block;
  font-size: .68rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: rgba(255, 225, 161, .78);
}

.career-unlock-toast strong {
  display: block;
  margin-top: .18rem;
  font-size: .98rem;
}

.career-unlock-toast small {
  display: block;
  margin-top: .2rem;
  color: rgba(202, 255, 226, .86);
  font-weight: 800;
}

.career-toast-enter-active,
.career-toast-leave-active {
  transition: opacity .28s ease, transform .28s ease;
}

.career-toast-enter-from,
.career-toast-leave-to {
  opacity: 0;
  transform: translateY(-10px) scale(.98);
}

@media (max-width: 720px) {
  .career-card-progress {
    margin: .55rem .65rem .15rem;
    padding: .62rem .65rem;
  }

  .career-card-head {
    font-size: .64rem;
  }

  .career-goal-badge {
    font-size: .6rem;
    min-height: 22px;
  }

  .career-toast-stack {
    top: 74px;
  }
}

/* v1.19.1: Singleplayer-Bot-Personas und KI-Tendenz-Badges */

/* v1.19.2: Kompakter serverseitiger Singleplayer-Showdown-Erklärer */
.showdown-analysis-panel {
  width: min(920px, 100%);
  margin: 0 auto .35rem;
  padding: clamp(.78rem, 1.8vw, 1.05rem);
  display: grid;
  gap: .72rem;
  border-radius: 1.15rem;
  border: 1px solid rgba(129, 222, 255, .28);
  background: linear-gradient(135deg, rgba(6, 18, 29, .84), rgba(42, 28, 8, .72));
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.045), 0 .8rem 2rem rgba(0,0,0,.24);
  color: rgba(255,255,255,.9);
}

.showdown-analysis-main {
  display: grid;
  gap: .18rem;
}

.showdown-analysis-main span,
.showdown-analysis-facts span {
  color: rgba(187, 229, 255, .78);
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.showdown-analysis-main strong {
  color: #fff7d8;
  font-size: clamp(.94rem, 1.6vw, 1.12rem);
}

.showdown-analysis-main small {
  color: rgba(255,255,255,.68);
  line-height: 1.35;
}

.showdown-analysis-facts {
  display: grid;
  grid-template-columns: minmax(220px, 1.5fr) repeat(2, minmax(96px, .45fr));
  gap: .52rem;
}

.showdown-analysis-facts > div,
.showdown-pot-row {
  padding: .58rem .68rem;
  border-radius: .86rem;
  border: 1px solid rgba(255,255,255,.1);
  background: rgba(255,255,255,.06);
}

.showdown-analysis-facts strong {
  display: block;
  margin-top: .16rem;
  color: #fff;
  font-size: .83rem;
  line-height: 1.25;
}

.showdown-pot-list {
  display: grid;
  gap: .45rem;
}

.showdown-pot-row {
  display: grid;
  gap: .18rem;
}

.showdown-pot-row b {
  color: #ffe9a8;
}

.showdown-pot-row span,
.showdown-pot-row strong,
.showdown-pot-row em {
  color: rgba(255,255,255,.78);
  font-size: .78rem;
  line-height: 1.35;
}

.showdown-pot-row strong {
  color: rgba(202, 255, 226, .94);
}

.showdown-pot-row em {
  font-style: normal;
  color: rgba(255, 239, 190, .78);
}

.winner-overlay-actions {
  gap: .62rem;
  flex-wrap: wrap;
}

.winner-hide-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3.15rem;
  min-width: min(100%, 220px);
  padding: .78rem 1.15rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.18);
  color: rgba(255,255,255,.88);
  background: rgba(255,255,255,.08);
  font-weight: 900;
  letter-spacing: .035em;
  text-transform: uppercase;
  cursor: pointer;
}

.winner-hide-btn:hover:not(:disabled) {
  background: rgba(255,255,255,.13);
}

.winner-hide-btn:disabled {
  cursor: wait;
  opacity: .66;
}

@media (max-width: 720px) {
  .showdown-analysis-panel {
    padding: .68rem;
    border-radius: 1rem;
  }

  .showdown-analysis-facts {
    grid-template-columns: 1fr;
  }

  .showdown-pot-row span,
  .showdown-pot-row strong,
  .showdown-pot-row em {
    font-size: .72rem;
  }

  .winner-hide-btn,
  .winner-continue-btn {
    width: 100%;
    min-width: 0;
  }
}

/* v1.19.4: Singleplayer-Tischlayout verdichtet – Seats 3, 4 und 5 nochmals höher positioniert; KI-Eigenschaftsanzeige bleibt entfernt. */
#app.game-root.game-flow.singleplayer-flow .table-overlay-layer {
  --board-center-y: 38.5%;
  --pot-target-y: 50%;
}

#app.game-root.game-flow.singleplayer-flow .community-zone {
  top: var(--board-center-y) !important;
}

#app.game-root.game-flow.singleplayer-flow .seat-pos-2 {
  top: 13.5% !important;
}

#app.game-root.game-flow.singleplayer-flow .seat-pos-3 {
  top: 4.75% !important;
}

#app.game-root.game-flow.singleplayer-flow .seat-pos-4 {
  top: 10.75% !important;
}

#app.game-root.game-flow.singleplayer-flow .seat-pos-5 {
  bottom: 35% !important;
}

#app.game-root.game-flow.singleplayer-flow .chip-flight.seat-2 { --sy: 20%; }
#app.game-root.game-flow.singleplayer-flow .chip-flight.seat-3 { --sy: 9.5%; }
#app.game-root.game-flow.singleplayer-flow .chip-flight.seat-4 { --sy: 17%; }
#app.game-root.game-flow.singleplayer-flow .chip-flight.seat-5 { --sy: 62%; }

#app.game-root.game-flow.singleplayer-flow .bot-thinking-pill {
  top: clamp(3.25rem, 6.5vh, 5.25rem) !important;
}

#app.game-root.game-flow.singleplayer-flow .bot-persona-hint,
#app.game-root.game-flow.singleplayer-flow .mini-seat-badge.bot-persona {
  display: none !important;
}

@media (max-width: 760px), (orientation: portrait) and (max-width: 900px) {
  #app.game-root.game-flow.singleplayer-flow .table-overlay-layer {
    --board-center-y: 40%;
    --pot-target-y: 51%;
  }

  #app.game-root.game-flow.singleplayer-flow .seat-pos-2 {
    top: 18% !important;
  }

  #app.game-root.game-flow.singleplayer-flow .seat-pos-3 {
    top: 7.25% !important;
  }

  #app.game-root.game-flow.singleplayer-flow .seat-pos-4 {
    top: 14.75% !important;
  }

  #app.game-root.game-flow.singleplayer-flow .seat-pos-5 {
    bottom: 39% !important;
  }

  #app.game-root.game-flow.singleplayer-flow .chip-flight.seat-2 { --sy: 24%; }
  #app.game-root.game-flow.singleplayer-flow .chip-flight.seat-3 { --sy: 12%; }
  #app.game-root.game-flow.singleplayer-flow .chip-flight.seat-4 { --sy: 20%; }
  #app.game-root.game-flow.singleplayer-flow .chip-flight.seat-5 { --sy: 58%; }
}

@media (max-width: 760px) {
  #app.game-root.game-flow.singleplayer-flow .bot-thinking-pill {
    top: auto !important;
    bottom: calc(var(--bottom-action-reserve, 7rem) + 4rem) !important;
  }
}


/* v1.19.5: sichtbare Korrektur nach Cache-/Override-Feedback.
   Diese finale Regel steht bewusst am Dateiende und nutzt einen neuen CSS-Cache-Buster in index.php,
   damit Seat 3, 4 und 5 auf Webservern sofort sichtbar weiter oben erscheinen. */
#app.game-root.game-flow.singleplayer-flow .seat-card.seat-pos-3 {
  top: 1.25% !important;
  bottom: auto !important;
}

#app.game-root.game-flow.singleplayer-flow .seat-card.seat-pos-4 {
  top: 5.75% !important;
  bottom: auto !important;
}

#app.game-root.game-flow.singleplayer-flow .seat-card.seat-pos-5 {
  top: auto !important;
  bottom: 45% !important;
}

#app.game-root.game-flow.singleplayer-flow .chip-flight.seat-3 { --sy: 6%; }
#app.game-root.game-flow.singleplayer-flow .chip-flight.seat-4 { --sy: 12%; }
#app.game-root.game-flow.singleplayer-flow .chip-flight.seat-5 { --sy: 52%; }

@media (max-width: 760px), (orientation: portrait) and (max-width: 900px) {
  #app.game-root.game-flow.singleplayer-flow .seat-card.seat-pos-3 {
    top: 2.75% !important;
    bottom: auto !important;
  }

  #app.game-root.game-flow.singleplayer-flow .seat-card.seat-pos-4 {
    top: 8.75% !important;
    bottom: auto !important;
  }

  #app.game-root.game-flow.singleplayer-flow .seat-card.seat-pos-5 {
    top: auto !important;
    bottom: 46% !important;
  }

  #app.game-root.game-flow.singleplayer-flow .chip-flight.seat-3 { --sy: 8%; }
  #app.game-root.game-flow.singleplayer-flow .chip-flight.seat-4 { --sy: 15%; }
  #app.game-root.game-flow.singleplayer-flow .chip-flight.seat-5 { --sy: 51%; }
}

/* v1.19.6: Korrektur der Seat-Zuordnung.
   Die UI zeigt Seat-Nummern 1-basiert an: sichtbarer Seat 3/4/5 = interne seat-pos-2/3/4.
   Diese Regeln stehen bewusst am Dateiende und überschreiben ältere v1.19.4/v1.19.5-Hotfixes. */
#app.game-root.game-flow.singleplayer-flow .seat-card.seat-pos-2 {
  top: 8% !important;
  bottom: auto !important;
}

#app.game-root.game-flow.singleplayer-flow .seat-card.seat-pos-3 {
  top: -1.5% !important;
  bottom: auto !important;
}

#app.game-root.game-flow.singleplayer-flow .seat-card.seat-pos-4 {
  top: 8% !important;
  bottom: auto !important;
}

/* Der zuvor versehentlich mitverschobene interne seat-pos-5 entspricht dem sichtbaren Seat 6. */
#app.game-root.game-flow.singleplayer-flow .seat-card.seat-pos-5 {
  top: auto !important;
  bottom: 25% !important;
}

#app.game-root.game-flow.singleplayer-flow .chip-flight.seat-2 { --sy: 14% !important; }
#app.game-root.game-flow.singleplayer-flow .chip-flight.seat-3 { --sy: 4% !important; }
#app.game-root.game-flow.singleplayer-flow .chip-flight.seat-4 { --sy: 14% !important; }
#app.game-root.game-flow.singleplayer-flow .chip-flight.seat-5 { --sy: 68% !important; }

@media (max-width: 760px), (orientation: portrait) and (max-width: 900px) {
  #app.game-root.game-flow.singleplayer-flow .seat-card.seat-pos-2 {
    top: 11% !important;
    bottom: auto !important;
  }

  #app.game-root.game-flow.singleplayer-flow .seat-card.seat-pos-3 {
    top: 1.5% !important;
    bottom: auto !important;
  }

  #app.game-root.game-flow.singleplayer-flow .seat-card.seat-pos-4 {
    top: 11% !important;
    bottom: auto !important;
  }

  #app.game-root.game-flow.singleplayer-flow .seat-card.seat-pos-5 {
    top: auto !important;
    bottom: 31% !important;
  }

  #app.game-root.game-flow.singleplayer-flow .chip-flight.seat-2 { --sy: 17% !important; }
  #app.game-root.game-flow.singleplayer-flow .chip-flight.seat-3 { --sy: 7% !important; }
  #app.game-root.game-flow.singleplayer-flow .chip-flight.seat-4 { --sy: 17% !important; }
  #app.game-root.game-flow.singleplayer-flow .chip-flight.seat-5 { --sy: 64% !important; }
}


/* v1.19.7: Singleplayer-Zentrum leicht höher und sichtbare Du-/KI-Seatbadges entfernt. */
#app.game-root.game-flow.singleplayer-flow .table-overlay-layer {
  --board-center-y: 36.5% !important;
  --pot-target-y: 47.5% !important;
}

#app.game-root.game-flow.singleplayer-flow .community-zone {
  top: var(--board-center-y) !important;
}

#app.game-root.game-flow.singleplayer-flow .mini-seat-badge.hero,
#app.game-root.game-flow.singleplayer-flow .mini-seat-badge.bot {
  display: none !important;
}

@media (max-width: 760px), (orientation: portrait) and (max-width: 900px) {
  #app.game-root.game-flow.singleplayer-flow .table-overlay-layer {
    --board-center-y: 38% !important;
    --pot-target-y: 49% !important;
  }

  #app.game-root.game-flow.singleplayer-flow .community-zone {
    top: var(--board-center-y) !important;
  }
}

/* v1.19.8: Showdown-Erklärer ist das einzige Gewinnerhand-Fenster; alte Gewinner-Kartenboxen sind integriert. */
#app.game-root.game-flow .winner-overlay-card,
#app.game-root.game-flow .winner-overlay-card-detailed {
  grid-template-rows: auto auto minmax(0, 1fr) auto;
}

.showdown-winner-details {
  min-height: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  display: grid;
  gap: .72rem;
  width: 100%;
  padding: .12rem .18rem .48rem;
}

.showdown-winner-integrated {
  display: grid;
  gap: .62rem;
  width: min(1080px, 100%);
  margin-inline: auto;
  padding: clamp(.68rem, 1.25vw, .95rem);
  border-radius: 1.05rem;
  border: 1px solid rgba(255, 238, 168, .18);
  background: linear-gradient(135deg, rgba(255,255,255,.065), rgba(0,0,0,.18));
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.035);
}

.showdown-winner-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: .72rem;
}

.showdown-winner-header > div:first-child {
  display: grid;
  gap: .22rem;
}

.showdown-section-kicker {
  color: rgba(187, 229, 255, .8);
  font-size: .64rem;
  font-weight: 950;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.showdown-winner-header strong {
  color: #fff7d8;
  font-size: clamp(1rem, 1.8vw, 1.34rem);
  line-height: 1.12;
}

.showdown-winner-header p {
  margin: 0;
  color: rgba(255,255,255,.78);
  font-size: .78rem;
  line-height: 1.34;
}

.showdown-integrated-section {
  width: 100%;
  max-width: none;
  justify-items: stretch;
  border-color: rgba(255, 238, 168, .18);
  background: rgba(0, 0, 0, .16);
}

.showdown-integrated-section.winner-best-hand {
  width: 100%;
}

.showdown-winner-integrated .winner-hand-breakdown,
.showdown-winner-integrated .winner-hand-breakdown-detailed {
  grid-template-columns: minmax(145px, .72fr) minmax(270px, 1.28fr);
}

.showdown-winner-integrated .winner-summary-badges {
  justify-content: flex-end;
}

.showdown-winner-integrated .winner-card-row .playing-card {
  width: clamp(28px, 3vw, 48px);
  height: calc(clamp(28px, 3vw, 48px) * 1.42);
}

#app.game-root.game-flow .showdown-winner-details {
  min-height: 0 !important;
  overflow-y: auto !important;
}

@media (max-width: 720px) {
  .showdown-winner-details {
    gap: .55rem;
    padding-inline: .05rem;
  }

  .showdown-winner-integrated {
    padding: .58rem;
    border-radius: .9rem;
  }

  .showdown-winner-header {
    grid-template-columns: 1fr;
  }

  .showdown-winner-integrated .winner-summary-badges {
    justify-content: stretch;
  }

  .showdown-winner-integrated .winner-summary-badges span {
    min-width: 0;
    flex: 1 1 8rem;
  }

  .showdown-winner-integrated .winner-hand-breakdown,
  .showdown-winner-integrated .winner-hand-breakdown-detailed {
    grid-template-columns: 1fr;
  }

  .showdown-winner-integrated .winner-card-row .playing-card {
    width: clamp(28px, 8.2vw, 44px);
    height: calc(clamp(28px, 8.2vw, 44px) * 1.42);
  }
}


/* v1.19.9: Singleplayer visual refresh.
   Rein visuelle Aufwertung für Forest-, Neon- und Royal-Tische; Multiplayer bleibt über .singleplayer-flow isoliert. */
#app.game-root.game-flow.singleplayer-flow .table-stage {
  --sp-board-center-y: 44%;
  --sp-theme-glow: rgba(246, 200, 95, .28);
  --sp-theme-glow-strong: rgba(246, 200, 95, .18);
  --sp-theme-edge: rgba(255, 255, 255, .12);
  --sp-pot-border: rgba(246, 200, 95, .42);
  --sp-card-shadow: 0 18px 28px rgba(0,0,0,.34);
}
#app.game-root.game-flow.singleplayer-flow .table-stage.table-skin-forest {
  --sp-theme-glow: rgba(110, 226, 166, .20);
  --sp-theme-glow-strong: rgba(62, 132, 94, .22);
  --sp-theme-edge: rgba(171, 230, 198, .16);
  --sp-pot-border: rgba(168, 240, 195, .32);
}
#app.game-root.game-flow.singleplayer-flow .table-stage.table-skin-neon {
  --sp-theme-glow: rgba(86, 245, 255, .26);
  --sp-theme-glow-strong: rgba(172, 75, 255, .20);
  --sp-theme-edge: rgba(96, 247, 255, .18);
  --sp-pot-border: rgba(114, 245, 255, .4);
}
#app.game-root.game-flow.singleplayer-flow .table-stage.table-skin-royal {
  --sp-theme-glow: rgba(255, 214, 111, .24);
  --sp-theme-glow-strong: rgba(181, 115, 20, .20);
  --sp-theme-edge: rgba(255, 233, 165, .2);
  --sp-pot-border: rgba(255, 214, 111, .46);
}
#app.game-root.game-flow.singleplayer-flow .poker-table {
  filter: drop-shadow(0 28px 40px rgba(0,0,0,.34));
}
#app.game-root.game-flow.singleplayer-flow .poker-table-art {
  filter: saturate(1.06) contrast(1.02) brightness(.985);
}
#app.game-root.game-flow.singleplayer-flow .table-overlay-layer::before,
#app.game-root.game-flow.singleplayer-flow .table-overlay-layer::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
}
#app.game-root.game-flow.singleplayer-flow .table-overlay-layer::before {
  z-index: 0;
  opacity: .92;
  background:
    radial-gradient(ellipse at 50% var(--sp-board-center-y), var(--sp-theme-glow-strong), transparent 23%),
    radial-gradient(circle at 50% 53%, rgba(255,255,255,.08), transparent 15%),
    linear-gradient(180deg, rgba(255,255,255,.08), transparent 16%, transparent 72%, rgba(0,0,0,.18));
}
#app.game-root.game-flow.singleplayer-flow .table-overlay-layer::after {
  z-index: 0;
  inset: 6.5% 8.5% 12% 8.5%;
  border-radius: 46% / 28%;
  box-shadow:
    inset 0 0 0 1px var(--sp-theme-edge),
    inset 0 0 40px var(--sp-theme-glow),
    inset 0 -18px 28px rgba(0,0,0,.18);
  opacity: .95;
}
#app.game-root.game-flow.singleplayer-flow .table-stage.table-skin-forest .table-overlay-layer::before {
  background:
    radial-gradient(ellipse at 50% 28%, rgba(244, 255, 235, .14), transparent 20%),
    radial-gradient(ellipse at 26% 18%, rgba(255,255,255,.08), transparent 12%),
    radial-gradient(ellipse at 74% 18%, rgba(255,255,255,.08), transparent 12%),
    radial-gradient(ellipse at 50% var(--sp-board-center-y), rgba(44, 111, 73, .22), transparent 24%),
    linear-gradient(180deg, rgba(6,15,12,.08), rgba(0,0,0,.24));
}
#app.game-root.game-flow.singleplayer-flow .table-stage.table-skin-neon .table-overlay-layer::before {
  background:
    radial-gradient(circle at 50% 19%, rgba(91, 243, 255, .16), transparent 14%),
    radial-gradient(circle at 18% 42%, rgba(205, 79, 255, .14), transparent 18%),
    radial-gradient(circle at 82% 42%, rgba(84, 245, 255, .14), transparent 18%),
    radial-gradient(ellipse at 50% var(--sp-board-center-y), rgba(70, 153, 255, .16), transparent 24%),
    linear-gradient(180deg, rgba(13, 11, 38, .06), rgba(0,0,0,.24));
}
#app.game-root.game-flow.singleplayer-flow .table-stage.table-skin-neon .table-overlay-layer::after {
  box-shadow:
    inset 0 0 0 1px rgba(114, 245, 255, .24),
    inset 0 0 42px rgba(114, 245, 255, .14),
    0 0 32px rgba(114, 245, 255, .08),
    0 0 42px rgba(177, 92, 255, .06);
}
#app.game-root.game-flow.singleplayer-flow .table-stage.table-skin-royal .table-overlay-layer::before {
  background:
    radial-gradient(ellipse at 50% 22%, rgba(255, 239, 186, .14), transparent 18%),
    radial-gradient(circle at 20% 30%, rgba(255, 217, 112, .08), transparent 15%),
    radial-gradient(circle at 80% 30%, rgba(255, 217, 112, .08), transparent 15%),
    radial-gradient(ellipse at 50% var(--sp-board-center-y), rgba(179, 119, 34, .18), transparent 24%),
    linear-gradient(180deg, rgba(26, 16, 8, .04), rgba(0,0,0,.24));
}
#app.game-root.game-flow.singleplayer-flow .community-zone {
  top: var(--sp-board-center-y) !important;
  gap: .8rem;
  min-width: min(560px, 68vw);
}
#app.game-root.game-flow.singleplayer-flow .community-zone .zone-label {
  padding: .18rem .68rem;
  border-radius: 999px;
  background: rgba(5, 10, 12, .42);
  border: 1px solid rgba(255,255,255,.10);
  letter-spacing: .14em;
}
#app.game-root.game-flow.singleplayer-flow .community-cards {
  padding: .58rem .8rem;
  border-radius: 1.28rem;
  background: linear-gradient(180deg, rgba(0,0,0,.22), rgba(255,255,255,.04));
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 18px 38px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.08);
}
#app.game-root.game-flow.singleplayer-flow .community-cards .playing-card {
  box-shadow: var(--sp-card-shadow);
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease, opacity .18s ease;
}
#app.game-root.game-flow.singleplayer-flow .community-cards .playing-card:not(.back) {
  animation: singleplayerBoardReveal .56s cubic-bezier(.2,.85,.2,1.12) both;
}
#app.game-root.game-flow.singleplayer-flow .community-cards .playing-card:not(.back):nth-child(1) { animation-delay: .02s; }
#app.game-root.game-flow.singleplayer-flow .community-cards .playing-card:not(.back):nth-child(2) { animation-delay: .07s; }
#app.game-root.game-flow.singleplayer-flow .community-cards .playing-card:not(.back):nth-child(3) { animation-delay: .12s; }
#app.game-root.game-flow.singleplayer-flow .community-cards .playing-card:not(.back):nth-child(4) { animation-delay: .08s; }
#app.game-root.game-flow.singleplayer-flow .community-cards .playing-card:not(.back):nth-child(5) { animation-delay: .08s; }
#app.game-root.game-flow.singleplayer-flow .community-cards .playing-card.back {
  opacity: .9;
  filter: saturate(.9) brightness(.92);
}
#app.game-root.game-flow.singleplayer-flow .community-cards .playing-card:hover:not(.back) {
  transform: translateY(-2px);
}
@keyframes singleplayerBoardReveal {
  0% { opacity: 0; transform: translateY(12px) scale(.92) rotate(-2deg); box-shadow: 0 8px 16px rgba(0,0,0,.18); }
  55% { opacity: 1; transform: translateY(-3px) scale(1.03) rotate(.8deg); box-shadow: 0 20px 34px rgba(0,0,0,.28), 0 0 0 1px rgba(255,255,255,.16); }
  100% { opacity: 1; transform: translateY(0) scale(1) rotate(0); box-shadow: var(--sp-card-shadow); }
}
#app.game-root.game-flow.singleplayer-flow .pot-stack {
  gap: .65rem;
  padding: .48rem .98rem .48rem .48rem;
  background: linear-gradient(135deg, rgba(4, 10, 12, .72), rgba(22, 24, 18, .42));
  border-color: var(--sp-pot-border);
  box-shadow: 0 18px 32px rgba(0,0,0,.22), 0 0 0 1px rgba(255,255,255,.04), inset 0 1px 0 rgba(255,255,255,.08);
}
#app.game-root.game-flow.singleplayer-flow .pot-stack strong {
  letter-spacing: .01em;
}
#app.game-root.game-flow.singleplayer-flow .winner-table-hint {
  padding: .38rem .72rem;
  border-radius: 999px;
  background: rgba(255, 212, 105, .12);
  border: 1px solid rgba(255, 212, 105, .26);
  box-shadow: 0 12px 24px rgba(0,0,0,.12);
}
#app.game-root.game-flow.singleplayer-flow .showdown-payout-chip {
  background: linear-gradient(135deg, rgba(255, 217, 92, .24), rgba(255, 154, 74, .16));
}
#app.game-root.game-flow.singleplayer-flow .chip-flight {
  padding: .22rem .62rem .22rem .16rem;
  background: linear-gradient(135deg, rgba(8, 13, 14, .88), rgba(25, 18, 10, .72));
  border-color: var(--sp-pot-border);
  box-shadow: 0 12px 26px rgba(0,0,0,.28), 0 0 0 1px rgba(255,255,255,.05);
  animation: flyToPotSingleplayer .96s cubic-bezier(.19,.78,.22,1) forwards;
}
#app.game-root.game-flow.singleplayer-flow .chip-flight-stack {
  filter: drop-shadow(0 8px 10px rgba(0,0,0,.28));
}
#app.game-root.game-flow.singleplayer-flow .chip-flight span {
  text-shadow: 0 1px 0 rgba(0,0,0,.5);
}
@keyframes flyToPotSingleplayer {
  0% { left: var(--sx); top: var(--sy); opacity: 0; transform: translate(-50%, -50%) scale(.74) rotate(-10deg); }
  14% { opacity: 1; }
  68% { opacity: 1; }
  100% { left: 50%; top: var(--sp-board-center-y); opacity: 0; transform: translate(-50%, -50%) scale(1.08) rotate(4deg); }
}
#app.game-root.game-flow.singleplayer-flow .seat-card {
  box-shadow: 0 16px 30px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.12);
}
#app.game-root.game-flow.singleplayer-flow .seat-card.hero {
  box-shadow: 0 16px 30px rgba(0,0,0,.24), 0 0 0 1px rgba(95, 223, 183, .14), inset 0 1px 0 rgba(255,255,255,.08);
}
#app.game-root.game-flow.singleplayer-flow .seat-card.active {
  border-color: rgba(255, 230, 139, .96) !important;
  box-shadow: 0 0 0 3px rgba(255, 215, 84, .32), 0 0 34px var(--sp-theme-glow), 0 18px 42px rgba(0,0,0,.32) !important;
}
#app.game-root.game-flow.singleplayer-flow .seat-card.active::after {
  border-color: rgba(255, 239, 171, .72);
}
#app.game-root.game-flow.singleplayer-flow .turn-dot {
  box-shadow: 0 0 0 6px rgba(255, 214, 94, .16), 0 0 18px rgba(255, 214, 94, .9);
  animation: singleplayerTurnDotPulse 1.18s ease-in-out infinite;
}
@keyframes singleplayerTurnDotPulse {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.16); opacity: .86; }
}
#app.game-root.game-flow.singleplayer-flow .active-turn-label {
  box-shadow: 0 14px 30px rgba(0,0,0,.24), 0 0 20px rgba(255, 196, 86, .28);
}
#app.game-root.game-flow.singleplayer-flow .seat-card.winner-seat {
  border-color: rgba(255, 220, 108, .95) !important;
  box-shadow: 0 0 0 3px rgba(255, 220, 108, .24), 0 0 34px rgba(255, 220, 108, .22), 0 18px 42px rgba(0,0,0,.3) !important;
}
#app.game-root.game-flow.singleplayer-flow .seat-card.winner-seat::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  background: linear-gradient(180deg, rgba(255,255,255,.10), transparent 22%, transparent 70%, rgba(255, 220, 108, .08));
}
#app.game-root.game-flow.singleplayer-flow .winner-badge {
  box-shadow: 0 14px 24px rgba(0,0,0,.24), 0 0 20px rgba(255, 220, 108, .18);
  animation: singleplayerWinnerBadge 1.95s ease-in-out infinite;
}
@keyframes singleplayerWinnerBadge {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
}
#app.game-root.game-flow.singleplayer-flow .seat-card.winner-seat .seat-cards .playing-card:not(.back),
#app.game-root.game-flow.singleplayer-flow .winner-card-row .playing-card.winner-card-used {
  box-shadow: 0 0 0 3px rgba(255, 220, 101, .62), 0 18px 28px rgba(0,0,0,.28), 0 0 24px rgba(255, 220, 101, .22) !important;
}
#app.game-root.game-flow.singleplayer-flow .seat-card.eliminated-seat {
  opacity: .82;
  filter: saturate(.5) grayscale(.16);
  border-style: dashed;
}
#app.game-root.game-flow.singleplayer-flow .seat-card.eliminated-seat .avatar-img,
#app.game-root.game-flow.singleplayer-flow .seat-card.eliminated-seat .seat-side-avatar {
  filter: grayscale(.18) saturate(.74);
}
#app.game-root.game-flow.singleplayer-flow .out-of-chips-badge {
  background: linear-gradient(135deg, rgba(255, 102, 104, .96), rgba(118, 22, 40, .94));
  box-shadow: 0 12px 20px rgba(0,0,0,.24);
  letter-spacing: .08em;
}
#app.game-root.game-flow.singleplayer-flow .eliminated-placeholder {
  background: linear-gradient(135deg, rgba(255,255,255,.06), rgba(0,0,0,.22));
  border: 1px dashed rgba(255,255,255,.16);
  color: rgba(255,255,255,.72);
}
#app.game-root.game-flow.singleplayer-flow .table-stage.table-skin-royal .seat-card,
#app.game-root.game-flow.singleplayer-flow .table-stage.table-skin-royal .table-status-ribbon,
#app.game-root.game-flow.singleplayer-flow .table-stage.table-skin-royal .pot-stack {
  border-color: rgba(255, 218, 116, .20);
}
#app.game-root.game-flow.singleplayer-flow .table-stage.table-skin-neon .table-status-ribbon,
#app.game-root.game-flow.singleplayer-flow .table-stage.table-skin-neon .pot-stack,
#app.game-root.game-flow.singleplayer-flow .table-stage.table-skin-neon .community-cards {
  box-shadow: 0 16px 28px rgba(0,0,0,.22), 0 0 24px rgba(114, 245, 255, .08);
}
#app.game-root.game-flow.singleplayer-flow .table-stage.table-skin-forest .seat-card,
#app.game-root.game-flow.singleplayer-flow .table-stage.table-skin-forest .table-status-ribbon,
#app.game-root.game-flow.singleplayer-flow .table-stage.table-skin-forest .community-cards {
  background-image: linear-gradient(145deg, rgba(11, 26, 21, .82), rgba(6, 15, 13, .78));
}
#app.game-root.game-flow.singleplayer-flow .table-stage > .analog-turn-timer.critical {
  border-color: rgba(255, 121, 112, .56);
  box-shadow: 0 0 0 2px rgba(255, 121, 112, .12), 0 0 34px rgba(255, 98, 84, .18), 0 16px 34px rgba(0,0,0,.28);
  animation: timeAttackCriticalPulse 1.08s ease-in-out infinite;
}
#app.game-root.game-flow.singleplayer-flow .table-stage > .analog-turn-timer.critical ~ .poker-table-wrap .pot-stack,
#app.game-root.game-flow.singleplayer-flow .table-stage > .analog-turn-timer.critical ~ .poker-table-wrap .community-cards {
  border-color: rgba(255, 117, 99, .42);
  box-shadow: 0 18px 30px rgba(0,0,0,.22), 0 0 24px rgba(255, 88, 67, .12);
}
@keyframes timeAttackCriticalPulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.015); }
}
@media (max-width: 980px) {
  #app.game-root.game-flow.singleplayer-flow .community-zone {
    min-width: min(500px, 80vw);
  }
  #app.game-root.game-flow.singleplayer-flow .table-overlay-layer::after {
    inset: 8.5% 7.5% 15% 7.5%;
  }
}
@media (max-width: 860px) {
  #app.game-root.game-flow.singleplayer-flow .community-zone {
    top: 42.8% !important;
    gap: .58rem;
    min-width: min(420px, 90vw);
  }
  #app.game-root.game-flow.singleplayer-flow .community-cards {
    padding: .48rem .58rem;
  }
  #app.game-root.game-flow.singleplayer-flow .table-overlay-layer::after {
    inset: 9.5% 5.5% 21% 5.5%;
  }
}
@media (max-width: 560px) {
  #app.game-root.game-flow.singleplayer-flow .community-zone {
    top: 38.7% !important;
    min-width: min(360px, 94vw);
  }
  #app.game-root.game-flow.singleplayer-flow .community-zone .zone-label {
    font-size: .64rem;
    padding: .14rem .5rem;
  }
  #app.game-root.game-flow.singleplayer-flow .pot-stack {
    padding: .36rem .8rem .36rem .42rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  #app.game-root.game-flow.singleplayer-flow .community-cards .playing-card:not(.back),
  #app.game-root.game-flow.singleplayer-flow .chip-flight,
  #app.game-root.game-flow.singleplayer-flow .seat-card.active,
  #app.game-root.game-flow.singleplayer-flow .seat-card.active::after,
  #app.game-root.game-flow.singleplayer-flow .turn-dot,
  #app.game-root.game-flow.singleplayer-flow .winner-badge,
  #app.game-root.game-flow.singleplayer-flow .table-stage > .analog-turn-timer.critical,
  #app.game-root.game-flow.singleplayer-flow .showdown-payout-chip {
    animation: none !important;
  }
  #app.game-root.game-flow.singleplayer-flow .community-cards .playing-card,
  #app.game-root.game-flow.singleplayer-flow .pot-stack,
  #app.game-root.game-flow.singleplayer-flow .seat-card {
    transition: none !important;
  }
}

/* v1.20.0: datengetriebene Singleplayer-Modi in der Lobby */
.singleplayer-mode-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .38rem;
  margin: .64rem 0 .55rem;
}
.singleplayer-mode-facts span {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .35rem;
  border-radius: .75rem;
  padding: .34rem .48rem;
  background: rgba(255,255,255,.065);
  border: 1px solid rgba(255,255,255,.095);
  color: rgba(255,255,255,.84);
  font-size: .72rem;
  font-weight: 800;
}
.singleplayer-mode-facts b {
  color: rgba(255,255,255,.54);
  text-transform: uppercase;
  letter-spacing: .06em;
  font-size: .58rem;
}
.poker-room-card.table-mode-heads_up .room-category-chip,
.poker-room-card.table-mode-deep_stack .room-category-chip,
.poker-room-card.table-mode-short_stack .room-category-chip,
.poker-room-card.table-mode-turbo .room-category-chip,
.poker-room-card.table-mode-boss .room-category-chip {
  border-color: rgba(255, 216, 112, .34);
  background: rgba(255, 216, 112, .12);
}
.poker-room-card.table-mode-boss {
  box-shadow: 0 18px 42px rgba(0,0,0,.3), 0 0 0 1px rgba(255, 214, 111, .18), 0 0 34px rgba(255, 214, 111, .09);
}
.poker-room-card.table-mode-turbo,
.poker-room-card.table-mode-short_stack {
  box-shadow: 0 18px 42px rgba(0,0,0,.28), 0 0 28px rgba(114, 245, 255, .07);
}
@media (max-width: 720px) {
  .singleplayer-mode-facts {
    grid-template-columns: 1fr;
  }
  .singleplayer-mode-facts span {
    font-size: .68rem;
    padding: .3rem .42rem;
  }
}

/* v1.20.0: rein kosmetische Boss-Markierung am Singleplayer-Boss-Seat */
#app.game-root.game-flow.singleplayer-flow .mini-seat-badge.boss {
  color: #241504;
  background: linear-gradient(135deg, rgba(255, 220, 108, .98), rgba(255, 150, 76, .94));
  border-color: rgba(255, 238, 170, .72);
  box-shadow: 0 6px 16px rgba(0,0,0,.24), 0 0 20px rgba(255, 199, 74, .18);
}

/* v1.20.1: Optionaler Singleplayer-Coach – nur Lernhinweise, keine Aktionsblockade. */
#app.game-root.game-flow.singleplayer-flow .bottom-action-bar.actions-only {
  gap: .85rem;
}
#app.game-root.game-flow.singleplayer-flow .singleplayer-coach-panel {
  width: min(100%, 880px);
  margin: 0 auto .25rem;
  padding: .68rem .86rem;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 1.1rem;
  background: linear-gradient(135deg, rgba(10, 17, 22, .82), rgba(22, 18, 12, .62));
  box-shadow: 0 14px 28px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.06);
  pointer-events: auto;
}
#app.game-root.game-flow.singleplayer-flow .singleplayer-coach-panel.active {
  border-color: rgba(127, 224, 191, .34);
  box-shadow: 0 14px 28px rgba(0,0,0,.22), 0 0 22px rgba(127, 224, 191, .08), inset 0 1px 0 rgba(255,255,255,.08);
}
#app.game-root.game-flow.singleplayer-flow .singleplayer-coach-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
}
#app.game-root.game-flow.singleplayer-flow .singleplayer-coach-head strong {
  display: block;
  font-size: .86rem;
  letter-spacing: .06em;
  text-transform: uppercase;
}
#app.game-root.game-flow.singleplayer-flow .singleplayer-coach-head span,
#app.game-root.game-flow.singleplayer-flow .singleplayer-coach-empty {
  color: rgba(255,255,255,.72);
  font-size: .78rem;
}
#app.game-root.game-flow.singleplayer-flow .coach-toggle-switch {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  cursor: pointer;
  user-select: none;
  font-weight: 800;
}
#app.game-root.game-flow.singleplayer-flow .coach-toggle-switch input {
  width: 1.05rem;
  height: 1.05rem;
  accent-color: #7fe0bf;
}
#app.game-root.game-flow.singleplayer-flow .coach-toggle-switch span {
  color: rgba(255,255,255,.9);
}
#app.game-root.game-flow.singleplayer-flow .singleplayer-coach-hints {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: .42rem .7rem;
  margin: .58rem 0 0;
  padding: 0;
  list-style: none;
}
#app.game-root.game-flow.singleplayer-flow .singleplayer-coach-hints li {
  position: relative;
  padding: .42rem .55rem .42rem 1.15rem;
  border-radius: .8rem;
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.86);
  font-size: .78rem;
  line-height: 1.28;
}
#app.game-root.game-flow.singleplayer-flow .singleplayer-coach-hints li::before {
  content: '•';
  position: absolute;
  left: .52rem;
  color: rgba(127, 224, 191, .95);
}
#app.game-root.game-flow.singleplayer-flow .singleplayer-coach-empty {
  margin: .46rem 0 0;
}
@media (max-width: 720px) {
  #app.game-root.game-flow.singleplayer-flow .singleplayer-coach-panel {
    padding: .56rem .64rem;
    border-radius: .88rem;
  }
  #app.game-root.game-flow.singleplayer-flow .singleplayer-coach-head {
    align-items: flex-start;
  }
  #app.game-root.game-flow.singleplayer-flow .singleplayer-coach-hints {
    grid-template-columns: 1fr;
    gap: .35rem;
  }
}

/* v1.21.1: Singleplayer-Statistiken, XP-Level und kosmetische Level-Freischaltungen */
.level-stat strong {
  font-size: 1.05rem;
}

.singleplayer-level-mini,
.singleplayer-level-card {
  --level-progress: 0%;
  position: relative;
  display: grid;
  gap: .35rem;
  margin-top: .65rem;
  padding: .65rem .75rem;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 16px;
  background: rgba(10, 14, 24, .48);
  overflow: hidden;
}

.singleplayer-level-mini span,
.singleplayer-level-card span {
  font-size: .78rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(255,255,255,.72);
}

.singleplayer-level-mini b,
.singleplayer-level-card small {
  font-size: .8rem;
  color: rgba(255,255,255,.82);
  font-weight: 600;
}

.singleplayer-level-mini i,
.singleplayer-level-card i {
  display: block;
  width: 100%;
  height: 7px;
  border-radius: 999px;
  background: rgba(255,255,255,.13);
  overflow: hidden;
}

.singleplayer-level-mini i::after,
.singleplayer-level-card i::after {
  content: '';
  display: block;
  width: var(--level-progress);
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, rgba(255, 214, 118, .95), rgba(142, 245, 255, .9));
}

.singleplayer-profile-panel {
  border-color: rgba(255, 214, 118, .22);
}

.singleplayer-stat-grid {
  margin-top: 1rem;
}

.cosmetic-unlock-strip {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-top: 1rem;
}

.cosmetic-unlock-chip {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .45rem .65rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.08);
  color: rgba(255,255,255,.9);
  font-size: .82rem;
  font-weight: 700;
}

.cosmetic-unlock-chip.muted {
  opacity: .72;
}

.game-root.lobby-theme-luxury .premium-lobby-screen::before,
.game-root.lobby-theme-luxury .lobby-screen::before {
  filter: saturate(1.18) brightness(1.08);
}

.game-root.lobby-theme-luxury .premium-lobby-header,
.game-root.lobby-theme-luxury .premium-access-card {
  border-color: rgba(255, 214, 118, .28);
  box-shadow: 0 22px 70px rgba(255, 196, 87, .10), inset 0 1px 0 rgba(255,255,255,.16);
}

.game-root.table-frame-neon .poker-table {
  box-shadow: 0 0 0 2px rgba(113, 238, 255, .35), 0 0 42px rgba(113, 238, 255, .15), var(--table-shadow, 0 28px 110px rgba(0,0,0,.45));
}

.game-root.avatar-frame-royal .profile-avatar-ring,
.game-root.avatar-frame-royal .lobby-profile-avatar-wrap {
  box-shadow: 0 0 0 2px rgba(255, 214, 118, .55), 0 0 34px rgba(255, 214, 118, .18);
}

.game-root.victory-badge-champion .final-victory-card::before {
  content: '🏆 Champion Badge aktiv';
  display: inline-flex;
  margin-bottom: .75rem;
  padding: .35rem .7rem;
  border-radius: 999px;
  background: rgba(255, 214, 118, .18);
  border: 1px solid rgba(255, 214, 118, .35);
  color: rgba(255,255,255,.95);
  font-weight: 800;
}

@media (max-width: 720px) {
  .singleplayer-stat-grid {
    grid-template-columns: 1fr;
  }
  .cosmetic-unlock-strip {
    flex-direction: column;
  }
  .cosmetic-unlock-chip {
    width: 100%;
    justify-content: center;
  }
}

/* v1.21.2: Coach als verschiebbares Singleplayer-Fenster links oben, losgelöst von der Aktionsleiste. */
#app.game-root.game-flow.singleplayer-flow .singleplayer-coach-window {
  position: fixed;
  z-index: 72;
  width: min(340px, calc(100vw - 1rem));
  max-height: min(42vh, 320px);
  padding: .72rem .82rem;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 1.05rem;
  background: linear-gradient(135deg, rgba(9, 15, 20, .92), rgba(25, 20, 14, .78));
  box-shadow: 0 18px 40px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.08);
  pointer-events: auto;
  overflow: auto;
  touch-action: none;
}
#app.game-root.game-flow.singleplayer-flow .singleplayer-coach-window.active {
  border-color: rgba(127, 224, 191, .38);
  box-shadow: 0 18px 40px rgba(0,0,0,.30), 0 0 24px rgba(127,224,191,.10), inset 0 1px 0 rgba(255,255,255,.10);
}
#app.game-root.game-flow.singleplayer-flow .singleplayer-coach-window.dragging {
  cursor: grabbing;
  user-select: none;
}
#app.game-root.game-flow.singleplayer-flow .singleplayer-coach-window .singleplayer-coach-head {
  cursor: grab;
}
#app.game-root.game-flow.singleplayer-flow .singleplayer-coach-window.dragging .singleplayer-coach-head {
  cursor: grabbing;
}
#app.game-root.game-flow.singleplayer-flow .singleplayer-coach-window .singleplayer-coach-hints {
  grid-template-columns: 1fr;
}
#app.game-root.game-flow.singleplayer-flow .bottom-action-bar.actions-only {
  gap: .45rem;
}
#app.game-root.game-flow.singleplayer-flow .showdown-winner-integrated {
  background: transparent !important;
  box-shadow: none !important;
}
@media (max-width: 720px) {
  #app.game-root.game-flow.singleplayer-flow .singleplayer-coach-window {
    width: min(310px, calc(100vw - 1rem));
    max-height: 38vh;
    padding: .58rem .62rem;
  }
}

/* v1.21.5: Royal Poker Entrance vor Login/Registrierung */
.royal-auth-screen {
  place-items: center;
  align-content: center;
  padding: max(1rem, env(safe-area-inset-top)) clamp(.85rem, 3vw, 2rem) max(1rem, env(safe-area-inset-bottom));
  overflow-x: hidden !important;
  overflow-y: auto !important;
  background:
    radial-gradient(circle at 12% 10%, rgba(255, 214, 128, .16), transparent 24rem),
    radial-gradient(circle at 88% 18%, rgba(40, 217, 255, .18), transparent 26rem),
    radial-gradient(circle at 64% 92%, rgba(255, 62, 165, .14), transparent 30rem),
    linear-gradient(135deg, #08060e 0%, #11142f 48%, #140912 100%);
}

.royal-auth-screen::before {
  inset: -24%;
  background:
    radial-gradient(circle at 12% 20%, rgba(255, 214, 128, .2), transparent 28rem),
    radial-gradient(circle at 85% 18%, rgba(40, 217, 255, .22), transparent 30rem),
    radial-gradient(circle at 22% 92%, rgba(36, 227, 154, .12), transparent 28rem),
    radial-gradient(circle at 86% 84%, rgba(255, 62, 165, .18), transparent 28rem),
    linear-gradient(135deg, #07050c 0%, #10122b 50%, #170b16 100%) !important;
}

.royal-auth-screen::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  opacity: .78;
  background:
    linear-gradient(115deg, rgba(255,255,255,.055) 1px, transparent 1px),
    radial-gradient(ellipse at center, transparent 30%, rgba(0,0,0,.46) 100%);
  background-size: 92px 92px, 100% 100%;
}

.auth-entrance-shell {
  position: relative;
  z-index: 1;
  width: min(1180px, calc(100vw - clamp(1rem, 4vw, 2.4rem)));
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(340px, .8fr);
  gap: clamp(1rem, 3vw, 1.8rem);
  align-items: stretch;
}

.auth-hero,
.auth-gate-card {
  position: relative;
  z-index: 1;
  overflow: hidden;
}

.auth-hero {
  display: grid;
  grid-template-rows: auto minmax(150px, 1fr) auto;
  gap: clamp(1rem, 2.5vw, 1.4rem);
  padding: clamp(1.1rem, 3vw, 2rem) !important;
  min-height: 100%;
  border-color: rgba(255, 214, 128, .24) !important;
  background:
    radial-gradient(circle at 18% 14%, rgba(255, 214, 128, .16), transparent 21rem),
    radial-gradient(circle at 90% 12%, rgba(40, 217, 255, .16), transparent 22rem),
    linear-gradient(140deg, rgba(255,255,255,.12), rgba(255,255,255,.035)),
    linear-gradient(135deg, rgba(19, 16, 42, .96), rgba(32, 12, 31, .92)) !important;
}

.auth-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .65;
  background:
    linear-gradient(90deg, rgba(255,255,255,.06), transparent 18%, transparent 82%, rgba(255,255,255,.045)),
    radial-gradient(ellipse at 50% 110%, rgba(255, 214, 128, .18), transparent 34rem);
}

.auth-hero-main,
.auth-feature-grid,
.auth-casino-table {
  position: relative;
  z-index: 1;
}

.auth-eyebrow {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: .45rem;
  margin-bottom: .95rem;
  padding: .42rem .72rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 214, 128, .35);
  color: #ffe6a0;
  background: rgba(0,0,0,.26);
  font-size: .76rem;
  font-weight: 950;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.auth-eyebrow::before,
.auth-eyebrow::after {
  content: "✦";
  color: #28d9ff;
  font-size: .74rem;
}

.auth-hero-title-row {
  display: flex;
  gap: clamp(.75rem, 2vw, 1.1rem);
  align-items: center;
}

.auth-hero-logo {
  flex: 0 0 auto;
  border-radius: 1.25rem;
  padding: .42rem;
  background:
    linear-gradient(135deg, rgba(255, 214, 128, .22), rgba(40, 217, 255, .14)),
    rgba(0,0,0,.2);
  box-shadow: 0 0 0 1px rgba(255,255,255,.15), 0 0 30px rgba(255, 214, 128, .18), 0 0 28px rgba(40,217,255,.14);
}

.auth-hero h1 {
  margin: 0;
  font-size: clamp(2.2rem, 6vw, 5.25rem);
  line-height: .92;
  font-weight: 1000;
  letter-spacing: -.065em;
  color: #fff;
  text-shadow: 0 .5rem 1.8rem rgba(0,0,0,.46), 0 0 1.6rem rgba(255, 214, 128, .16);
}

.auth-slogan {
  margin: .55rem 0 0;
  color: rgba(255,255,255,.82);
  font-size: clamp(1rem, 1.8vw, 1.25rem);
  font-weight: 750;
}

.auth-hero-copy {
  margin: clamp(1rem, 2vw, 1.25rem) 0 0;
  max-width: 66ch;
  color: rgba(255,255,255,.76);
  font-size: clamp(.96rem, 1.3vw, 1.05rem);
  line-height: 1.65;
}

.auth-trust-strip {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-top: clamp(.9rem, 2vw, 1.25rem);
}

.auth-trust-strip span {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: .42rem .68rem;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 999px;
  color: rgba(255,255,255,.9);
  background: rgba(0,0,0,.28);
  font-size: .78rem;
  font-weight: 900;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}

.auth-trust-strip span:first-child {
  border-color: rgba(36, 227, 154, .36);
  color: #cbffe9;
}

.auth-casino-table {
  display: grid;
  place-items: center;
  min-height: clamp(150px, 24vw, 230px);
}

.auth-table-felt {
  position: relative;
  width: min(460px, 100%);
  aspect-ratio: 2.2 / 1;
  border-radius: 999px;
  border: 1px solid rgba(255, 214, 128, .35);
  background:
    radial-gradient(ellipse at center, rgba(36, 227, 154, .28), transparent 48%),
    linear-gradient(135deg, rgba(11, 68, 58, .88), rgba(10, 28, 54, .9));
  box-shadow:
    inset 0 0 0 .65rem rgba(255,255,255,.035),
    inset 0 0 0 1rem rgba(0,0,0,.22),
    0 24px 42px rgba(0,0,0,.38),
    0 0 42px rgba(36,227,154,.12);
}

.auth-table-glow {
  position: absolute;
  inset: 17% 20%;
  border-radius: inherit;
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: inset 0 0 24px rgba(255,255,255,.08), 0 0 28px rgba(255,214,128,.1);
}

.auth-playing-cards {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .75rem;
}

.auth-playing-cards span {
  display: grid;
  place-items: center;
  width: clamp(54px, 8vw, 78px);
  aspect-ratio: .72 / 1;
  border-radius: .78rem;
  color: #11121c;
  background: linear-gradient(160deg, #fff, #e9ecf5);
  border: 1px solid rgba(255,255,255,.75);
  box-shadow: 0 12px 24px rgba(0,0,0,.36), inset 0 0 0 1px rgba(0,0,0,.05);
  font-size: clamp(1.2rem, 2.3vw, 1.8rem);
  font-weight: 1000;
  transform: rotate(-8deg);
}

.auth-playing-cards span + span {
  color: #b01731;
  transform: translateY(.2rem) rotate(8deg);
}

.auth-chip-stack {
  position: absolute;
  display: grid;
  gap: .14rem;
}

.auth-chip-stack i {
  display: block;
  width: clamp(32px, 5vw, 46px);
  height: clamp(9px, 1.2vw, 12px);
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.35);
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.55), transparent 28%),
    linear-gradient(135deg, #ff3ea5, #7c5cff);
  box-shadow: 0 .35rem .6rem rgba(0,0,0,.26);
}

.chip-stack-one { left: 18%; bottom: 18%; }
.chip-stack-two { right: 17%; top: 17%; }
.chip-stack-two i { background: radial-gradient(circle at 50% 50%, rgba(255,255,255,.55), transparent 28%), linear-gradient(135deg, #28d9ff, #24e39a); }

.auth-feature-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: .65rem;
}

.auth-feature-grid article {
  min-width: 0;
  padding: .85rem;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 1rem;
  background: rgba(0,0,0,.24);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}

.auth-feature-grid article span {
  display: inline-grid;
  place-items: center;
  width: 32px;
  height: 32px;
  margin-bottom: .55rem;
  border-radius: .75rem;
  color: #080914;
  background: linear-gradient(135deg, #ffe6a0, #ff8a34);
  font-weight: 1000;
}

.auth-feature-grid article strong {
  display: block;
  color: #fff;
  font-size: .88rem;
  line-height: 1.18;
}

.auth-feature-grid article p {
  margin: .35rem 0 0;
  color: rgba(255,255,255,.66);
  font-size: .78rem;
  line-height: 1.42;
}

.auth-gate-card {
  width: 100% !important;
  max-width: none;
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: .95rem;
  padding: clamp(1rem, 2.5vw, 1.45rem) !important;
  border-color: rgba(40, 217, 255, .22) !important;
}

.auth-gate-card .auth-brand {
  margin-bottom: .15rem;
}

.auth-gate-card .auth-brand h2 {
  margin: 0;
  font-size: clamp(1.35rem, 2.4vw, 1.9rem);
  font-weight: 1000;
  letter-spacing: -.04em;
}

.auth-gate-card .auth-brand p {
  color: rgba(255,255,255,.72);
  line-height: 1.35;
}

.auth-gate-card .auth-tabs {
  margin-bottom: .2rem;
  background: rgba(0,0,0,.28);
}

.auth-gate-card .auth-tabs button {
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

.auth-gate-card .auth-tabs button:not(.active):hover {
  border-color: rgba(255,255,255,.24) !important;
  background: rgba(255,255,255,.11) !important;
}

.auth-gate-card .auth-tabs button:focus-visible,
.auth-gate-card .auth-submit:focus-visible,
.auth-gate-card .auth-form input:focus-visible {
  outline: 3px solid rgba(255, 214, 128, .72);
  outline-offset: 3px;
}

.auth-gate-card .auth-form {
  gap: .58rem;
}

.auth-gate-card .auth-form h1 {
  margin: .05rem 0 0;
  font-size: clamp(1.55rem, 3vw, 2.2rem);
  line-height: 1.05;
  font-weight: 1000;
  letter-spacing: -.045em;
}

.auth-form-intro,
.auth-field-help {
  margin: 0;
  color: rgba(255,255,255,.66);
  line-height: 1.45;
}

.auth-form-intro {
  font-size: .92rem;
}

.auth-field-help {
  margin-top: -.25rem;
  font-size: .76rem;
}

.auth-gate-card .auth-form label {
  gap: .32rem;
}

.auth-gate-card .auth-form label span {
  color: rgba(255,255,255,.82);
}

.auth-gate-card .auth-form input {
  min-height: 50px;
  background: rgba(5, 7, 20, .68);
  border-color: rgba(255,255,255,.16);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}

.auth-gate-card .auth-form input:hover {
  border-color: rgba(255,255,255,.25);
}

.auth-gate-card .auth-form input:focus,
.auth-gate-card .auth-form input:focus-visible {
  border-color: rgba(255, 214, 128, .75);
  box-shadow: 0 0 0 .22rem rgba(255,214,128,.13), 0 0 26px rgba(40,217,255,.08);
}

.auth-gate-card .auth-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  min-height: 52px;
  margin-top: .2rem;
  color: #080914 !important;
  background: linear-gradient(135deg, #ffe6a0, #ff8a34 52%, #ff3ea5) !important;
  border-color: rgba(255,255,255,.38) !important;
  box-shadow: 0 18px 32px rgba(255, 138, 52, .18), 0 0 32px rgba(255, 214, 128, .12) !important;
}

.auth-gate-card .auth-submit:disabled {
  opacity: .66;
  cursor: not-allowed;
  filter: saturate(.78);
}

.auth-loading-dot {
  width: 1rem;
  height: 1rem;
  border-radius: 999px;
  border: 2px solid rgba(8,9,20,.28);
  border-top-color: #080914;
  animation: authLoadingSpin .75s linear infinite;
}

@keyframes authLoadingSpin {
  to { transform: rotate(360deg); }
}

.auth-message-stack {
  min-height: .2rem;
}

.auth-gate-card .auth-message {
  margin-top: .25rem;
  border-radius: 1rem;
  line-height: 1.4;
}

.auth-gate-card .auth-message.success {
  color: #e6fff3;
  border-color: rgba(36,227,154,.36);
  background: rgba(10, 72, 55, .82);
}

.auth-gate-card .auth-message.danger {
  color: #fff2f4;
  border-color: rgba(255, 94, 128, .38);
  background: rgba(100, 16, 36, .86);
}

.auth-legal-note {
  margin-top: .1rem;
  padding: .78rem .9rem;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 1rem;
  background: rgba(0,0,0,.22);
}

.auth-legal-note strong {
  display: block;
  color: #ffe6a0;
  font-size: .82rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.auth-legal-note p {
  margin: .35rem 0 0;
  color: rgba(255,255,255,.72);
  font-size: .82rem;
  line-height: 1.45;
}

@media (max-width: 980px) {
  .royal-auth-screen {
    align-content: start;
    place-items: start center;
  }

  .auth-entrance-shell {
    grid-template-columns: 1fr;
  }

  .auth-hero {
    min-height: auto;
  }

  .auth-casino-table {
    min-height: 150px;
  }

  .auth-feature-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .auth-feature-grid article:last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 620px) {
  .royal-auth-screen {
    padding-left: max(.75rem, env(safe-area-inset-left));
    padding-right: max(.75rem, env(safe-area-inset-right));
  }

  .auth-entrance-shell {
    width: 100%;
    gap: .85rem;
  }

  .auth-hero,
  .auth-gate-card {
    padding: .9rem !important;
    border-radius: 1rem !important;
  }

  .auth-hero-title-row,
  .auth-gate-card .auth-brand {
    align-items: flex-start;
  }

  .auth-hero-logo,
  .auth-gate-card .brand-logo {
    width: 44px;
    height: 44px;
    border-radius: .9rem !important;
  }

  .auth-hero h1 {
    font-size: clamp(2rem, 13vw, 3rem);
  }

  .auth-slogan,
  .auth-hero-copy {
    font-size: .94rem;
  }

  .auth-trust-strip {
    gap: .38rem;
  }

  .auth-trust-strip span {
    min-height: 30px;
    padding: .34rem .5rem;
    font-size: .68rem;
  }

  .auth-casino-table {
    display: none;
  }

  .auth-feature-grid {
    grid-template-columns: 1fr;
    gap: .5rem;
  }

  .auth-feature-grid article,
  .auth-legal-note {
    padding: .7rem;
  }

  .auth-feature-grid article:last-child {
    grid-column: auto;
  }

  .auth-tabs {
    border-radius: .9rem !important;
  }

  .auth-tabs button,
  .auth-submit {
    min-height: 46px;
  }

  .auth-gate-card .auth-form input {
    min-height: 48px;
    font-size: 16px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .auth-loading-dot {
    animation: none;
  }
}

/* v1.21.6: Spielerisches Lobby-Dashboard nach Login */
.lobby-dashboard-page {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  place-items: stretch !important;
  align-items: stretch !important;
  gap: clamp(.85rem, 1.7vw, 1.25rem) !important;
  max-width: 100%;
  overflow-x: clip;
}

.lobby-dashboard-page > .glass-panel {
  width: 100%;
  min-width: 0;
}

.lobby-dashboard-hero {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(280px, .82fr);
  gap: clamp(1rem, 3vw, 2rem);
  align-items: stretch;
  padding: clamp(1rem, 2.8vw, 2rem) !important;
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 14%, rgba(246, 200, 95, .18), transparent 24rem),
    radial-gradient(circle at 82% 22%, rgba(40, 217, 255, .16), transparent 24rem),
    linear-gradient(140deg, rgba(18, 20, 54, .94), rgba(36, 14, 43, .9)) !important;
}

.lobby-dashboard-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  background:
    linear-gradient(115deg, rgba(255,255,255,.09), transparent 28%),
    repeating-linear-gradient(90deg, rgba(255,255,255,.035) 0 1px, transparent 1px 78px);
  opacity: .58;
}

.dashboard-hero-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: clamp(.7rem, 1.35vw, 1rem);
  min-width: 0;
}

.dashboard-hero-copy h1 {
  margin: 0;
  color: #fff7df;
  font-size: clamp(2rem, 5vw, 4.8rem);
  line-height: .95;
  letter-spacing: -.055em;
  max-width: 11ch;
  text-wrap: balance;
}

.dashboard-hero-copy p {
  max-width: 68ch;
  color: rgba(244, 247, 255, .75);
  font-size: clamp(.98rem, 1.2vw, 1.1rem);
  margin: 0;
}

.dashboard-hero-stats,
.dashboard-mini-stats,
.dashboard-table-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .55rem;
}

.dashboard-hero-stats > div,
.dashboard-mini-stats > div,
.dashboard-table-meta span,
.dashboard-reward-row,
.dashboard-empty-state {
  min-width: 0;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.24);
  border-radius: var(--modern-radius-md, 12px);
  padding: .72rem .82rem;
}

.dashboard-hero-stats span,
.dashboard-mini-stats span,
.dashboard-table-meta span,
.dashboard-level-meter-top span,
.dashboard-progress-profile span,
.dashboard-table-copy > span {
  display: block;
  color: rgba(244, 247, 255, .62);
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .035em;
  text-transform: uppercase;
}

.dashboard-hero-stats strong,
.dashboard-mini-stats strong,
.dashboard-table-meta strong {
  display: block;
  color: #fff4cf;
  font-size: clamp(1.02rem, 1.45vw, 1.28rem);
  line-height: 1.1;
}

.dashboard-level-meter {
  --level-progress: 0%;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: var(--modern-radius-md, 12px);
  padding: .72rem;
  background: rgba(0,0,0,.2);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}

.dashboard-level-meter-top {
  display: flex;
  justify-content: space-between;
  gap: .75rem;
  color: rgba(244, 247, 255, .7);
  margin-bottom: .52rem;
}

.dashboard-level-meter-top strong {
  color: #fff4cf;
  font-size: .88rem;
  text-align: right;
}

.dashboard-level-meter i {
  display: block;
  height: .62rem;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255,255,255,.11);
}

.dashboard-level-meter i::before {
  content: "";
  display: block;
  width: var(--level-progress);
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--casino-green, #24e39a), var(--casino-cyan, #28d9ff), var(--casino-pink, #ff3ea5));
  box-shadow: 0 0 1.2rem rgba(40,217,255,.25);
}

.dashboard-level-meter.compact {
  padding: .62rem;
}

.dashboard-quick-actions,
.dashboard-card-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .58rem;
}

.dashboard-quick-actions > button,
.dashboard-card-actions > button {
  min-height: 42px;
}

.dashboard-hero-stage {
  position: relative;
  min-height: 300px;
  display: grid;
  align-items: center;
  justify-items: center;
}

.dashboard-hero-table {
  position: relative;
  width: min(100%, 430px);
  aspect-ratio: 1.24 / 1;
  border-radius: 48% / 42%;
  border: 1px solid rgba(255, 244, 190, .2);
  background:
    radial-gradient(ellipse at 50% 42%, rgba(36, 227, 154, .27), transparent 39%),
    radial-gradient(ellipse at center, rgba(3, 86, 76, .78), rgba(7, 30, 36, .95) 66%, rgba(2, 3, 10, .98));
  box-shadow:
    inset 0 0 0 12px rgba(255,255,255,.035),
    inset 0 0 3.5rem rgba(0,0,0,.6),
    0 1.2rem 4rem rgba(0,0,0,.42),
    0 0 4rem rgba(40,217,255,.13);
}

.dashboard-table-glow {
  position: absolute;
  inset: 18%;
  border-radius: inherit;
  background: radial-gradient(circle, rgba(255,255,255,.14), transparent 68%);
  filter: blur(8px);
}

.dashboard-card-stack {
  position: absolute;
  left: 50%;
  top: 49%;
  transform: translate(-50%, -50%) rotate(-8deg);
}

.dashboard-chip-stack {
  position: absolute;
  right: 18%;
  bottom: 18%;
  display: grid;
  gap: 2px;
}

.dashboard-chip-stack i {
  display: block;
  width: 58px;
  height: 15px;
  border-radius: 999px;
  background: linear-gradient(90deg, #51131c, #f6c85f 44%, #fff6c8 50%, #f6c85f 56%, #51131c);
  box-shadow: 0 3px 8px rgba(0,0,0,.35);
}

.dashboard-room-stats {
  position: absolute;
  left: 1rem;
  right: 1rem;
  bottom: .8rem;
}

.dashboard-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(260px, .85fr) minmax(250px, .85fr);
  gap: clamp(.75rem, 1.5vw, 1rem);
  width: 100%;
  min-width: 0;
}

.dashboard-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: .8rem;
  padding: clamp(.85rem, 1.6vw, 1.15rem) !important;
}

.dashboard-card-head {
  display: flex;
  align-items: center;
  gap: .72rem;
}

.dashboard-card-head h2,
.dashboard-table-copy h3,
.dashboard-section-head h2 {
  margin: 0;
  color: #fff7df;
  line-height: 1.05;
}

.dashboard-card-icon {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: var(--modern-radius-md, 12px);
  color: #0b0c14;
  font-weight: 1000;
  font-size: 1.25rem;
  background: linear-gradient(135deg, #fff1ba, #f6c85f 52%, #c67b1c);
  box-shadow: 0 .7rem 1.5rem rgba(0,0,0,.24), 0 0 1.4rem rgba(246,200,95,.16);
}

.dashboard-card-icon.multiplayer {
  background: linear-gradient(135deg, var(--casino-cyan, #28d9ff), var(--casino-green, #24e39a));
}

.dashboard-card-icon.progress {
  background: linear-gradient(135deg, var(--casino-violet, #7c5cff), var(--casino-pink, #ff3ea5));
}

.dashboard-reward-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: .7rem;
}

.dashboard-reward-row strong,
.dashboard-empty-state strong {
  color: #fff4cf;
}

.dashboard-reward-row p,
.dashboard-empty-state p,
.dashboard-multiplayer-card > p,
.dashboard-table-copy p,
.dashboard-section-head p {
  color: rgba(244,247,255,.66);
  margin: .18rem 0 0;
}

.dashboard-reward-row.claimed {
  border-color: rgba(36, 227, 154, .26);
}

.dashboard-reward-row.demo-flow {
  border-color: rgba(40,217,255,.2);
}

.dashboard-progress-profile {
  display: flex;
  align-items: center;
  gap: .75rem;
  min-width: 0;
}

.dashboard-avatar {
  width: 58px;
  height: 58px;
  object-fit: cover;
  border-radius: var(--modern-radius-md, 12px);
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: 0 .75rem 1.4rem rgba(0,0,0,.28);
}

.dashboard-progress-profile strong {
  display: block;
  color: #fff7df;
  font-size: 1.08rem;
}

.dashboard-mini-stats {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.dashboard-recommended {
  padding: clamp(.85rem, 1.8vw, 1.25rem) !important;
  overflow: hidden;
}

.dashboard-section-head {
  align-items: center;
  gap: 1rem;
}

.dashboard-table-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(.75rem, 1.5vw, 1rem);
  min-width: 0;
}

.dashboard-table-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  cursor: pointer;
  padding: .62rem !important;
  gap: .72rem;
}

.dashboard-table-cover {
  position: relative;
  overflow: hidden;
  border-radius: var(--modern-radius-md, 12px);
  aspect-ratio: 16 / 10;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,.32);
}

.dashboard-table-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform: scale(1.02);
}

.dashboard-table-cover::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(4,6,18,.04), rgba(4,6,18,.82));
  pointer-events: none;
}

.dashboard-table-cover .room-category-chip,
.dashboard-table-cover .table-mode-pill {
  position: absolute;
  z-index: 2;
}

.dashboard-table-cover .room-category-chip {
  left: .55rem;
  top: .55rem;
}

.dashboard-table-cover .table-mode-pill {
  right: .55rem;
  top: .55rem;
}

.dashboard-table-copy {
  display: flex;
  flex-direction: column;
  gap: .45rem;
  min-width: 0;
}

.dashboard-table-copy h3 {
  font-size: clamp(1.08rem, 1.6vw, 1.35rem);
}

.dashboard-table-meta {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .45rem;
}

.dashboard-table-meta span {
  padding: .52rem .58rem;
  text-transform: none;
  letter-spacing: 0;
  font-size: .78rem;
}

.dashboard-table-meta strong {
  margin-top: .12rem;
  font-size: .92rem;
}

.dashboard-table-card .table-cover-action {
  position: static !important;
  width: 100%;
  min-height: 42px;
  margin-top: auto;
}

.dashboard-empty-state.recommended-empty {
  margin-top: .75rem;
}

.lobby-dashboard-page button:focus-visible,
.lobby-dashboard-page [role="button"]:focus-visible {
  outline: 3px solid rgba(40,217,255,.78);
  outline-offset: 3px;
}

@media (max-width: 1040px) {
  .lobby-dashboard-hero,
  .dashboard-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dashboard-hero-copy {
    grid-column: 1 / -1;
  }

  .dashboard-hero-stage {
    min-height: 260px;
  }

  .dashboard-day-card {
    grid-column: 1 / -1;
  }

  .dashboard-table-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .lobby-dashboard-page {
    overflow-x: hidden;
  }

  .lobby-dashboard-hero,
  .dashboard-grid,
  .dashboard-table-grid,
  .dashboard-hero-stats,
  .dashboard-mini-stats,
  .dashboard-table-meta,
  .dashboard-reward-row {
    grid-template-columns: 1fr !important;
  }

  .dashboard-hero-copy h1 {
    max-width: 100%;
  }

  .dashboard-quick-actions,
  .dashboard-card-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .dashboard-quick-actions > button,
  .dashboard-card-actions > button,
  .dashboard-reward-row button {
    width: 100%;
  }

  .dashboard-hero-stage {
    min-height: 220px;
  }

  .dashboard-hero-table {
    width: min(100%, 330px);
  }

  .dashboard-room-stats {
    position: static;
    width: 100%;
    margin-top: .75rem;
  }

  .dashboard-section-head {
    display: grid;
    grid-template-columns: 1fr;
  }
}

@media (max-width: 460px) {
  .lobby-dashboard-hero,
  .dashboard-card,
  .dashboard-recommended {
    padding: .78rem !important;
  }

  .dashboard-hero-stage {
    min-height: 180px;
  }

  .dashboard-chip-stack i {
    width: 44px;
  }

  .dashboard-card-stack .hero-playing-card {
    transform: scale(.82);
  }
}

/* v1.21.7: Poker-Room-Auswahl mit Suche, Entscheidungshilfe und erweiterten Raumkarten */
.lobby-room-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 360px);
  gap: 1rem;
  align-items: stretch;
  overflow: hidden;
}

.lobby-room-search {
  display: grid;
  gap: .45rem;
  min-width: 0;
}

.lobby-room-search label {
  font-size: .78rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(255, 232, 177, .88);
  font-weight: 800;
}

.lobby-search-control {
  position: relative;
  display: flex;
  align-items: center;
  min-width: 0;
}

.lobby-search-control input {
  width: 100%;
  min-width: 0;
  border: 1px solid rgba(255, 216, 130, .32);
  border-radius: 999px;
  padding: .78rem 2.75rem .78rem 1rem;
  background: rgba(8, 11, 20, .72);
  color: #fff7df;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 14px 32px rgba(0,0,0,.2);
  outline: none;
}

.lobby-search-control input::placeholder {
  color: rgba(255, 247, 223, .5);
}

.lobby-search-control input:focus-visible {
  border-color: rgba(255, 216, 130, .78);
  box-shadow: 0 0 0 3px rgba(255, 199, 87, .22), inset 0 1px 0 rgba(255,255,255,.1);
}

.lobby-search-control button {
  position: absolute;
  right: .4rem;
  width: 2.15rem;
  height: 2.15rem;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, .12);
  color: #fff3cd;
  font-size: 1.35rem;
  line-height: 1;
  display: grid;
  place-items: center;
}

.lobby-search-control button:hover,
.lobby-search-control button:focus-visible {
  background: rgba(255, 216, 130, .26);
  outline: 2px solid rgba(255, 216, 130, .65);
  outline-offset: 2px;
}

.lobby-room-search small {
  color: rgba(255, 247, 223, .62);
  line-height: 1.35;
}

.lobby-room-empty-state {
  display: grid;
  gap: .7rem;
  text-align: center;
}

.lobby-empty-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .6rem;
  margin-top: .25rem;
}

.premium-table-card.poker-room-card {
  min-width: 0;
  overflow: hidden;
}

.lobby-tables-page .poker-room-grid {
  align-items: stretch;
}

.lobby-tables-page .poker-room-card {
  display: flex;
  flex-direction: column;
  gap: .85rem;
}

.room-suitability {
  max-width: min(58%, 15rem);
  text-align: right;
}

.room-suitability.suitability-credits,
.table-suitability-credits .table-cover-action {
  background: linear-gradient(135deg, rgba(120, 24, 34, .92), rgba(70, 15, 20, .92));
  color: #ffe6e9;
  border-color: rgba(255, 132, 150, .38);
}

.room-suitability.suitability-learn {
  background: linear-gradient(135deg, rgba(31, 96, 71, .9), rgba(10, 58, 52, .9));
  border-color: rgba(127, 255, 205, .35);
}

.room-suitability.suitability-fast {
  background: linear-gradient(135deg, rgba(121, 71, 18, .92), rgba(105, 38, 7, .92));
  border-color: rgba(255, 194, 99, .42);
}

.room-suitability.suitability-risk {
  background: linear-gradient(135deg, rgba(105, 35, 99, .92), rgba(62, 20, 95, .92));
  border-color: rgba(225, 151, 255, .4);
}

.room-suitability.suitability-multiplayer,
.room-suitability.suitability-private {
  background: linear-gradient(135deg, rgba(27, 80, 139, .92), rgba(23, 39, 99, .92));
  border-color: rgba(129, 198, 255, .38);
}

.room-decision-helper {
  position: relative;
  display: grid;
  gap: .18rem;
  padding: .78rem .88rem;
  border: 1px solid rgba(255, 216, 130, .22);
  border-radius: 1rem;
  background: linear-gradient(135deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, .035));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}

.room-decision-helper::before {
  content: '';
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  border-radius: 999px 0 0 999px;
  background: rgba(255, 216, 130, .7);
}

.room-decision-helper span {
  font-size: .68rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(255, 236, 185, .7);
  font-weight: 800;
}

.room-decision-helper strong {
  color: #fff6dc;
  font-size: 1rem;
}

.room-decision-helper small {
  color: rgba(255, 247, 223, .68);
  line-height: 1.35;
}

.room-decision-helper.helper-credits::before { background: rgba(255, 110, 130, .82); }
.room-decision-helper.helper-learn::before { background: rgba(110, 255, 196, .78); }
.room-decision-helper.helper-fast::before { background: rgba(255, 181, 72, .82); }
.room-decision-helper.helper-risk::before { background: rgba(228, 126, 255, .82); }
.room-decision-helper.helper-multiplayer::before,
.room-decision-helper.helper-private::before { background: rgba(127, 198, 255, .82); }

.room-card-description {
  margin: 0;
  color: rgba(255, 247, 223, .74);
  line-height: 1.48;
  font-size: .93rem;
}

.room-spec-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .55rem;
  min-width: 0;
}

.room-spec-grid span {
  min-width: 0;
  display: grid;
  gap: .18rem;
  padding: .62rem .68rem;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: .9rem;
  background: rgba(5, 8, 15, .42);
  color: rgba(255, 247, 223, .9);
  font-weight: 800;
  overflow-wrap: anywhere;
}

.room-spec-grid b {
  color: rgba(255, 220, 148, .68);
  font-size: .66rem;
  letter-spacing: .11em;
  text-transform: uppercase;
  font-weight: 900;
}

.table-group-training .poker-room-cover::after,
.table-mode-heads_up .poker-room-cover::after {
  background: radial-gradient(circle at 20% 15%, rgba(102, 255, 198, .25), transparent 34%);
}

.table-group-schnell .poker-room-cover::after,
.table-mode-timeattack .poker-room-cover::after,
.table-mode-turbo .poker-room-cover::after {
  background: radial-gradient(circle at 75% 10%, rgba(255, 181, 74, .28), transparent 35%);
}

.table-group-vip .poker-room-cover::after,
.table-card-royal .poker-room-cover::after {
  background: radial-gradient(circle at 50% 6%, rgba(255, 221, 118, .28), transparent 38%);
}

.table-group-herausforderung .poker-room-cover::after,
.table-mode-short_stack .poker-room-cover::after {
  background: radial-gradient(circle at 78% 18%, rgba(255, 75, 128, .22), transparent 35%);
}

.is-boss-room .poker-room-cover::after {
  background: radial-gradient(circle at 50% 8%, rgba(255, 219, 107, .36), transparent 42%), radial-gradient(circle at 82% 18%, rgba(151, 82, 255, .28), transparent 32%);
}

.table-group-multiplayer .poker-room-cover::after,
.is-multiplayer .poker-room-cover::after {
  background: radial-gradient(circle at 82% 12%, rgba(110, 198, 255, .24), transparent 34%);
}

.table-group-training.premium-table-card { border-color: rgba(100, 255, 196, .22); }
.table-group-schnell.premium-table-card { border-color: rgba(255, 181, 74, .24); }
.table-group-vip.premium-table-card { border-color: rgba(255, 221, 118, .28); }
.table-group-herausforderung.premium-table-card { border-color: rgba(255, 93, 141, .24); }
.is-multiplayer.premium-table-card { border-color: rgba(110, 198, 255, .24); }
.is-boss-room.premium-table-card { box-shadow: 0 24px 70px rgba(92, 38, 140, .26), inset 0 1px 0 rgba(255,255,255,.08); }

.table-suitability-credits.premium-table-card {
  opacity: .86;
}

.table-suitability-credits .table-cover-img {
  filter: saturate(.72) brightness(.78);
}

.table-suitability-credits .table-cover-action {
  cursor: not-allowed;
}

@media (max-width: 980px) {
  .lobby-room-toolbar {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .lobby-room-toolbar {
    padding: .85rem;
  }

  .lobby-filter-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .lobby-filter-tabs button {
    min-height: 44px;
  }

  .room-spec-grid {
    grid-template-columns: 1fr;
  }

  .room-suitability {
    max-width: 100%;
    text-align: left;
  }

  .room-card-topline {
    align-items: flex-start;
  }

  .lobby-search-control input {
    min-height: 46px;
  }

  .table-cover-action {
    min-height: 46px;
  }
}

@media (max-width: 420px) {
  .lobby-filter-tabs {
    grid-template-columns: 1fr;
  }
}

/* v1.21.8: Multiplayer-Lobby und Private-Table-Wizard als verständliche Live Poker Lounge */
.multiplayer-create-wizard {
  grid-template-columns: minmax(220px, .9fr) minmax(320px, 1.35fr) minmax(230px, .95fr) minmax(240px, 1fr);
  gap: clamp(.75rem, 1.4vw, 1.05rem);
}

.mp-base-picker select:focus-visible,
.mp-access-step input:focus-visible,
.mp-password-modal input:focus-visible {
  outline: 3px solid rgba(120, 255, 220, .55);
  outline-offset: 3px;
  border-color: rgba(120, 255, 220, .82);
}

.mp-base-preview {
  background:
    linear-gradient(135deg, rgba(255, 224, 130, .08), rgba(107, 255, 218, .055)),
    rgba(255,255,255,.052);
}

.mp-preview-card {
  display: grid;
  grid-template-columns: minmax(76px, 110px) minmax(0, 1fr);
  gap: .75rem;
  align-items: center;
}

.mp-preview-card img {
  width: 100%;
  min-height: 86px;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: .9rem;
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 12px 26px rgba(0,0,0,.22);
}

.mp-preview-card strong {
  color: #fff;
  line-height: 1.15;
}

.mp-preview-card small {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.mp-preview-specs {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.mp-access-toggle {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .4rem;
  padding: .32rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.13);
  background: rgba(0,0,0,.22);
}

.mp-access-toggle span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  border-radius: 999px;
  color: rgba(255,255,255,.62);
  font-size: .74rem;
  font-weight: 950;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.mp-access-toggle span.active {
  color: #15100a;
  background: linear-gradient(135deg, #ffe38b, #73ffd8);
  box-shadow: 0 10px 22px rgba(0,0,0,.22);
}

.mp-lounge-empty-premium {
  justify-items: center;
  text-align: center;
  padding: clamp(1.2rem, 3vw, 2rem);
  border-style: solid;
  border-color: rgba(255, 220, 120, .24);
  background:
    radial-gradient(circle at 50% 0%, rgba(255, 220, 120, .18), transparent 36%),
    linear-gradient(135deg, rgba(255,255,255,.07), rgba(255,255,255,.035));
}

.mp-empty-icon {
  display: grid !important;
  place-items: center;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 1.25rem;
  color: #1a1206;
  font-size: 1.75rem;
  font-weight: 950;
  background: linear-gradient(135deg, #ffe38b, #73ffd8);
  box-shadow: 0 16px 32px rgba(0,0,0,.28);
}

.mp-lounge-empty-premium button {
  margin-top: .75rem;
}

.live-lounge-card.status-locked:not(.is-multiplayer-member),
.live-lounge-card.is-multiplayer-running:not(.is-multiplayer-member),
.live-lounge-card.is-multiplayer-full:not(.is-multiplayer-member) {
  cursor: not-allowed;
  border-color: rgba(255, 135, 160, .28);
  background:
    radial-gradient(circle at 14% 12%, rgba(255, 120, 145, .12), transparent 36%),
    linear-gradient(135deg, rgba(18, 16, 24, .94), rgba(31, 22, 35, .86));
}

.live-lounge-card.is-multiplayer-running:not(.is-multiplayer-member) .live-lounge-cover img,
.live-lounge-card.status-locked:not(.is-multiplayer-member) .live-lounge-cover img {
  filter: saturate(.72) contrast(.96) brightness(.78);
}

.live-lounge-phase {
  position: absolute;
  z-index: 2;
  right: .55rem;
  bottom: .55rem;
  border-radius: 999px;
  padding: .28rem .55rem;
  font-size: .68rem;
  font-weight: 950;
  color: rgba(255,255,255,.92);
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(8, 10, 18, .74);
  backdrop-filter: blur(8px);
}

.live-lounge-phase.status-open {
  color: #12331f;
  background: rgba(124, 255, 190, .88);
}

.live-lounge-phase.status-running {
  color: #2a1700;
  background: rgba(255, 224, 120, .9);
}

.live-lounge-phase.status-full,
.live-lounge-phase.status-ended {
  color: #fff;
  background: rgba(255, 95, 125, .76);
}

.multiplayer-showcase-title small {
  display: block;
  margin-top: .3rem;
  color: rgba(255,255,255,.66);
  font-size: .76rem;
  line-height: 1.25;
}

.multiplayer-mini-table {
  display: grid;
  grid-template-columns: repeat(6, minmax(26px, 1fr));
  gap: .45rem;
  width: min(100%, 310px);
  margin: .85rem 0 .75rem;
  padding: .65rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.12);
  background:
    radial-gradient(ellipse at center, rgba(38, 115, 86, .32), rgba(4, 11, 18, .54)),
    rgba(0,0,0,.2);
  box-shadow: inset 0 0 26px rgba(0,0,0,.25);
}

.multiplayer-mini-table span {
  position: relative;
  display: grid;
  place-items: center;
  min-width: 0;
  aspect-ratio: 1;
  border-radius: 999px;
  color: rgba(255,255,255,.62);
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.13);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.03);
}

.multiplayer-mini-table span b {
  font-size: .68rem;
  line-height: 1;
}

.multiplayer-mini-table span.filled {
  color: #07110f;
  background: linear-gradient(135deg, rgba(115,255,216,.95), rgba(255,227,139,.94));
  box-shadow: 0 0 18px rgba(115,255,216,.22);
}

.multiplayer-mini-table span.self {
  outline: 3px solid rgba(255, 224, 120, .68);
  outline-offset: 2px;
}

.multiplayer-mini-table span.host::after,
.multiplayer-mini-table span.ready::before {
  content: '';
  position: absolute;
  border-radius: 999px;
}

.multiplayer-mini-table span.host::after {
  right: -2px;
  top: -2px;
  width: .5rem;
  height: .5rem;
  background: #ffe38b;
  box-shadow: 0 0 10px rgba(255, 227, 139, .55);
}

.multiplayer-mini-table span.ready::before {
  left: -2px;
  bottom: -2px;
  width: .48rem;
  height: .48rem;
  background: #73ffd8;
  box-shadow: 0 0 10px rgba(115, 255, 216, .55);
}

.multiplayer-mini-table span.away {
  filter: saturate(.75);
  opacity: .75;
}

.multiplayer-mini-table span.offline {
  background: rgba(255,255,255,.08);
  color: rgba(255,255,255,.4);
  border-style: dashed;
}

.multiplayer-mini-table span.free {
  background: rgba(255,255,255,.08);
}

.live-lounge-action strong {
  min-width: 128px;
}

@media (max-width: 1180px) {
  .multiplayer-create-wizard {
    grid-template-columns: 1fr 1fr;
  }
  .mp-wizard-header,
  .mp-wizard-summary {
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px) {
  .mp-preview-card,
  .multiplayer-create-wizard {
    grid-template-columns: 1fr;
  }
  .mp-preview-card img {
    max-height: 160px;
  }
  .mp-preview-specs {
    grid-template-columns: 1fr 1fr;
  }
  .multiplayer-mini-table {
    width: 100%;
    grid-template-columns: repeat(6, minmax(24px, 1fr));
    border-radius: 1.4rem;
  }
  .live-lounge-phase {
    left: .55rem;
    right: auto;
    bottom: 2.45rem;
  }
}

@media (max-width: 440px) {
  .mp-preview-specs,
  .mp-access-toggle {
    grid-template-columns: 1fr;
    border-radius: 1rem;
  }
  .multiplayer-mini-table {
    gap: .32rem;
    padding: .5rem;
  }
  .multiplayer-mini-table span b {
    font-size: .6rem;
  }
}

/* v1.21.9 Tournament Hall Dashboard */
.tournament-hall-page {
  display: grid;
  gap: 18px;
}
.tournament-hall-hero,
.active-tournament-stage,
.tournament-compare-strip,
.tournament-hall-toolbar,
.tournament-event-detail-panel {
  position: relative;
  overflow: hidden;
}
.tournament-hall-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(240px, .72fr);
  gap: 22px;
  align-items: stretch;
  padding: clamp(18px, 3vw, 34px);
  border: 1px solid rgba(255, 218, 135, .22);
  background:
    radial-gradient(circle at 16% 18%, rgba(255, 210, 115, .18), transparent 34%),
    radial-gradient(circle at 82% 14%, rgba(157, 93, 255, .18), transparent 30%),
    linear-gradient(135deg, rgba(21, 10, 42, .94), rgba(82, 35, 22, .7));
}
.tournament-hall-hero::after,
.tournament-event-detail-head::after {
  content: '';
  position: absolute;
  inset: auto -12% -42% 42%;
  height: 180px;
  background: radial-gradient(ellipse at center, rgba(255, 214, 121, .20), transparent 64%);
  pointer-events: none;
}
.tournament-hall-copy { position: relative; z-index: 1; display: grid; gap: 10px; }
.tournament-hall-copy h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(2rem, 4vw, 3.7rem);
  line-height: .96;
  letter-spacing: -.04em;
}
.tournament-hall-copy p {
  margin: 0;
  max-width: 760px;
  color: rgba(255,255,255,.76);
  line-height: 1.55;
}
.tournament-hall-notes,
.detail-notes {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 6px;
}
.tournament-hall-notes span,
.detail-notes span,
.tournament-bounty-chip {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 7px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255, 226, 151, .22);
  background: rgba(255,255,255,.08);
  color: rgba(255,255,255,.84);
  font-size: .82rem;
  font-weight: 800;
}
.tournament-hall-wallet {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 8px;
  align-content: center;
  padding: 20px;
  border-radius: 24px;
  border: 1px solid rgba(255, 226, 151, .26);
  background: linear-gradient(145deg, rgba(255,255,255,.11), rgba(255,255,255,.04));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.16), 0 18px 44px rgba(0,0,0,.28);
}
.tournament-hall-wallet span,
.tournament-hall-wallet small,
.tournament-compare-card span,
.tournament-compare-card small {
  color: rgba(255,255,255,.68);
}
.tournament-hall-wallet strong {
  color: #ffe7a3;
  font-size: clamp(2rem, 5vw, 3.8rem);
  line-height: .9;
}
.tournament-compare-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  padding: 14px;
}
.tournament-compare-card {
  display: grid;
  gap: 5px;
  padding: 15px;
  min-height: 112px;
  border-radius: 20px;
  border: 1px solid rgba(255,255,255,.12);
  background: linear-gradient(145deg, rgba(255,255,255,.10), rgba(255,255,255,.035));
}
.tournament-compare-card strong {
  color: #fff;
  font-size: 1.05rem;
}
.tournament-compare-fastest { box-shadow: inset 0 0 0 1px rgba(98, 219, 255, .16); }
.tournament-compare-strategic { box-shadow: inset 0 0 0 1px rgba(118, 255, 183, .16); }
.tournament-compare-lowest { box-shadow: inset 0 0 0 1px rgba(255, 231, 163, .16); }
.tournament-compare-prize { box-shadow: inset 0 0 0 1px rgba(255, 130, 130, .16); }
.active-tournament-stage {
  display: grid;
  gap: 14px;
  padding: 18px;
  border-color: rgba(98, 219, 255, .22);
  background: linear-gradient(135deg, rgba(9, 20, 43, .88), rgba(40, 17, 61, .72));
}
.active-tournament-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 14px;
}
.active-tournament-card {
  display: grid;
  gap: 14px;
  padding: 16px;
  border-radius: 22px;
  border: 1px solid rgba(98, 219, 255, .22);
  background: rgba(255,255,255,.075);
}
.active-tournament-card h4 { margin: 8px 0 4px; color: #fff; font-size: 1.2rem; }
.active-tournament-card p { margin: 0; color: rgba(255,255,255,.64); font-size: .9rem; }
.active-tournament-progress,
.tournament-event-stats,
.tournament-event-snapshot {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}
.active-tournament-progress div,
.tournament-event-stats div,
.tournament-event-snapshot .tournament-detail-block {
  min-width: 0;
  padding: 11px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.18);
}
.active-tournament-progress span,
.tournament-event-stats span { display: block; color: rgba(255,255,255,.58); font-size: .76rem; text-transform: uppercase; letter-spacing: .08em; }
.active-tournament-progress strong,
.tournament-event-stats strong { display: block; color: #fff; margin-top: 4px; font-size: .9rem; }
.tournament-hall-toolbar {
  display: grid;
  grid-template-columns: minmax(160px, .28fr) 1fr;
  gap: 12px;
  align-items: center;
}
.tournament-hall-grid {
  align-items: stretch;
}
.tournament-event-card {
  cursor: pointer;
  min-height: 100%;
  border-color: rgba(255, 226, 151, .16);
}
.tournament-event-cover { min-height: 260px; }
.tournament-event-body {
  position: relative;
  z-index: 1;
}
.tournament-event-body p {
  min-height: 66px;
}
.tournament-event-stats {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.tournament-event-stats div:nth-child(3) {
  grid-column: 1 / -1;
}
.tournament-bounty-chip {
  justify-content: center;
  border-color: rgba(255, 132, 132, .32);
  background: rgba(176, 43, 57, .22);
  color: #ffe3e3;
  border-radius: 16px;
  text-align: center;
}
.tournament-card-progress-line {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding: 11px 12px;
  border-radius: 16px;
  border: 1px solid rgba(98, 219, 255, .22);
  background: rgba(98, 219, 255, .09);
  color: rgba(255,255,255,.74);
}
.tournament-card-progress-line strong { color: #fff; }
.tournament-card-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 2px;
}
.tournament-primary-btn.continue {
  background: linear-gradient(135deg, #62dbff, #9d5dff);
  color: #09071a;
}
.tournament-primary-btn.continue:disabled {
  background: rgba(255,255,255,.10);
  color: rgba(255,255,255,.54);
}
.tournament-mode-classic .tournament-event-cover { box-shadow: inset 0 0 0 1px rgba(255, 226, 151, .20); }
.tournament-mode-turbo .tournament-event-cover { box-shadow: inset 0 0 0 1px rgba(98, 219, 255, .28); }
.tournament-mode-deep_stack .tournament-event-cover { box-shadow: inset 0 0 0 1px rgba(118, 255, 183, .26); }
.tournament-mode-knockout .tournament-event-cover { box-shadow: inset 0 0 0 1px rgba(255, 130, 130, .32); }
.tournament-mode-timeattack .tournament-event-cover { box-shadow: inset 0 0 0 1px rgba(218, 117, 255, .30); }
.tournament-mode-turbo .room-category-chip,
.tournament-mode-timeattack .room-category-chip { border-color: rgba(98, 219, 255, .36); background: rgba(98, 219, 255, .12); }
.tournament-mode-deep_stack .room-category-chip { border-color: rgba(118, 255, 183, .32); background: rgba(118, 255, 183, .10); }
.tournament-mode-knockout .room-category-chip { border-color: rgba(255, 130, 130, .38); background: rgba(255, 130, 130, .12); }
.tournament-event-detail-panel {
  display: grid;
  gap: 16px;
  padding: clamp(16px, 2.5vw, 26px);
}
.tournament-event-detail-head {
  position: relative;
  display: grid;
  grid-template-columns: 132px 1fr auto;
  gap: 18px;
  align-items: center;
  padding: 18px;
  border-radius: 26px;
  border: 1px solid rgba(255, 226, 151, .18);
  background: linear-gradient(135deg, rgba(255,255,255,.09), rgba(255,255,255,.035));
}
.tournament-detail-cover-mini {
  width: 132px;
  aspect-ratio: 1 / 1;
  border-radius: 24px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 18px 40px rgba(0,0,0,.28);
}
.tournament-detail-cover-mini img { width: 100%; height: 100%; object-fit: cover; display: block; }
.tournament-event-actions {
  justify-content: start;
}
.tournament-event-snapshot {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.tournament-event-columns {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}
.tournament-prize-card p,
.tournament-bounty-details p,
.tournament-legal-note span {
  color: rgba(255,255,255,.68);
  line-height: 1.5;
}
.tournament-prize-ladder div:first-child {
  border-color: rgba(255, 226, 151, .30);
  background: rgba(255, 226, 151, .10);
}
.tournament-rules-details[open],
.tournament-bounty-details[open] {
  border-color: rgba(255, 226, 151, .22);
}
.tournament-bounty-details {
  border-color: rgba(255, 130, 130, .24);
  background: rgba(87, 16, 30, .36);
}
.tournament-legal-note {
  display: grid;
  gap: 5px;
  padding: 14px 16px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.18);
}
.tournament-legal-note strong { color: #ffe7a3; }
.tournament-empty-state { padding: 26px; }
@media (max-width: 980px) {
  .tournament-hall-hero,
  .tournament-hall-toolbar,
  .tournament-event-detail-head {
    grid-template-columns: 1fr;
  }
  .tournament-compare-strip,
  .tournament-event-snapshot {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .tournament-detail-cover-mini { width: min(100%, 220px); }
}
@media (max-width: 720px) {
  .tournament-hall-page { width: min(100%, calc(100vw - 1rem)); }
  .tournament-hall-hero,
  .active-tournament-stage,
  .tournament-event-detail-panel { padding: 14px; border-radius: 22px; }
  .tournament-compare-strip,
  .active-tournament-progress,
  .tournament-event-stats,
  .tournament-event-snapshot,
  .tournament-event-columns,
  .tournament-card-actions {
    grid-template-columns: 1fr;
  }
  .tournament-event-cover { min-height: 220px; }
  .tournament-event-body p { min-height: 0; }
  .tournament-hall-notes span,
  .detail-notes span { width: 100%; justify-content: center; }
  .tournament-card-progress-line { display: grid; }
}


/* v1.22.0 Progress Hall: Highscores, Profil und Shop */
.hall-of-fame-page,
.progress-profile-screen {
  --progress-gold: #f6c85f;
  --progress-emerald: #71e8b0;
  --progress-blue: #67d7ff;
}

.hall-of-fame-head h2::after {
  content: " · Hall of Fame";
  color: rgba(246, 200, 95, .76);
  font-size: .48em;
  letter-spacing: .01em;
}

.hall-of-fame-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .75rem;
  padding: .8rem;
  border-radius: 1.45rem;
  border: 1px solid rgba(246, 200, 95, .16);
  background: linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.025)), rgba(2,9,8,.72);
}

.hall-of-fame-summary div {
  min-height: 86px;
  display: grid;
  align-content: center;
  gap: .12rem;
  border-radius: 1rem;
  padding: .7rem;
  background: rgba(0,0,0,.24);
  border: 1px solid rgba(255,255,255,.08);
}

.hall-of-fame-summary span,
.shop-category-head span {
  color: rgba(255,248,229,.56);
  font-size: .68rem;
  font-weight: 1000;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.hall-of-fame-summary strong {
  color: #fff3cb;
  font-size: clamp(1rem, 1.8vw, 1.35rem);
  font-weight: 1000;
}

.hall-of-fame-summary small { color: rgba(255,248,229,.58); font-weight: 800; }
.highscore-explain-strip { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: .85rem; }
.highscore-explain-strip span {
  border-radius: 999px;
  padding: .36rem .62rem;
  color: rgba(255,248,229,.74);
  background: rgba(255,255,255,.065);
  border: 1px solid rgba(255,255,255,.1);
  font-weight: 850;
  font-size: .8rem;
}

.hall-of-fame-podium {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .8rem;
  align-items: end;
}

.podium-card {
  position: relative;
  min-height: 178px;
  display: grid;
  justify-items: center;
  align-content: center;
  gap: .35rem;
  border-radius: 1.35rem;
  padding: .85rem;
  background: linear-gradient(145deg, rgba(255,255,255,.1), rgba(255,255,255,.035)), rgba(0,0,0,.24);
  border: 1px solid rgba(255,255,255,.1);
  overflow: hidden;
}

.podium-card::before {
  content: "";
  position: absolute;
  inset: -40% -20% auto;
  height: 80%;
  background: radial-gradient(circle, rgba(246,200,95,.24), transparent 66%);
  pointer-events: none;
}

.podium-card.podium-first { min-height: 208px; order: 2; border-color: rgba(246,200,95,.48); }
.podium-card.podium-second { order: 1; border-color: rgba(207,226,235,.38); }
.podium-card.podium-third { order: 3; border-color: rgba(208,131,72,.42); }
.podium-card img { position: relative; z-index: 1; width: 68px; height: 68px; border-radius: 999px; object-fit: cover; border: 2px solid rgba(246,200,95,.55); }
.podium-card span { position: relative; z-index: 1; color: #f6c85f; font-weight: 1000; letter-spacing: .12em; text-transform: uppercase; font-size: .72rem; }
.podium-card strong { position: relative; z-index: 1; color: #fff8e6; font-size: 1.05rem; text-align: center; }
.podium-card small { position: relative; z-index: 1; color: rgba(255,248,229,.72); font-weight: 900; text-align: center; }
.podium-card i,
.highscore-player b {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: .08rem .4rem;
  margin-left: .25rem;
  color: #06120e;
  background: #71e8b0;
  font-style: normal;
  font-size: .68rem;
  font-weight: 1000;
}

.hall-of-fame-row.podium-first { border-color: rgba(246,200,95,.52); box-shadow: 0 0 1.2rem rgba(246,200,95,.13); }
.hall-of-fame-row.podium-second { border-color: rgba(207,226,235,.34); }
.hall-of-fame-row.podium-third { border-color: rgba(208,131,72,.36); }
.hall-of-fame-row .highscore-detail-rank { display: grid; gap: 0; line-height: 1; }
.hall-of-fame-row .highscore-detail-rank small { color: rgba(23,16,5,.72); font-size: .58rem; font-weight: 1000; text-transform: uppercase; }

.progress-profile-hero { align-items: stretch; }
.progress-profile-pill-row span { min-height: 42px; }
.profile-level-showcase,
.next-unlock-card {
  display: grid;
  gap: .65rem;
  border-radius: 1.3rem;
  padding: .9rem;
  background: rgba(0,0,0,.24);
  border: 1px solid rgba(246,200,95,.16);
}

.profile-level-showcase i,
.singleplayer-level-card i {
  display: block;
  height: .7rem;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.1);
}

.profile-level-showcase i::before,
.singleplayer-level-card i::before {
  content: "";
  display: block;
  width: var(--level-progress, 0%);
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #71e8b0, #f6c85f);
}

.next-unlock-card {
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  margin-top: 1rem;
}
.next-unlock-card img { width: 82px; height: 82px; border-radius: 1rem; object-fit: cover; border: 1px solid rgba(246,200,95,.25); }
.next-unlock-card strong { display: block; color: #fff8e6; font-size: 1.15rem; }
.next-unlock-card span { color: #f6c85f; font-weight: 950; }
.next-unlock-card p { margin: .25rem 0 0; color: rgba(255,255,255,.66); }
.next-unlock-card.complete { grid-template-columns: auto minmax(0,1fr); }
.progress-stat-grid .achievement-card { min-height: 126px; }
.progress-history-list .tournament-history-row span { overflow-wrap: anywhere; }

.progress-shop-panel { width: min(980px, calc(100vw - 1.5rem)); max-height: min(86vh, 860px); }
.progress-shop-header { background: linear-gradient(135deg, rgba(246,200,95,.1), rgba(113,232,176,.05)); }
.progress-shop-body { gap: 1rem; }
.shop-fairness-banner {
  display: grid;
  gap: .3rem;
  border-radius: 1.2rem;
  padding: .85rem;
  border: 1px solid rgba(113,232,176,.22);
  background: linear-gradient(135deg, rgba(113,232,176,.12), rgba(246,200,95,.06)), rgba(0,0,0,.22);
}
.shop-fairness-banner strong { color: #71e8b0; font-weight: 1000; }
.shop-fairness-banner span { color: rgba(255,255,255,.72); line-height: 1.45; }
.shop-category-section { display: grid; gap: .65rem; }
.shop-category-head { display: flex; align-items: end; justify-content: space-between; gap: 1rem; padding: .1rem .15rem; }
.shop-category-head h3 { margin: .1rem 0 0; color: #fff8e6; font-weight: 1000; font-size: 1.15rem; }
.shop-category-head strong { color: rgba(255,248,229,.68); font-size: .86rem; }
.shop-category-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.shop-item-progress { align-items: stretch; background: rgba(255,255,255,.055); }
.shop-item-progress.locked { opacity: .72; }
.shop-item-progress.equipped { border-color: rgba(113,232,176,.42); box-shadow: inset 0 0 0 1px rgba(113,232,176,.12); }
.shop-tag-row { display: flex; flex-wrap: wrap; gap: .3rem; }
.owned-pill { background: rgba(103,215,255,.12); border-color: rgba(103,215,255,.24); color: #aeeaff; }
.equipped-pill { background: rgba(113,232,176,.14); border-color: rgba(113,232,176,.32); color: #b9ffd8; }
.locked-pill { background: rgba(255,120,120,.12); border-color: rgba(255,120,120,.25); color: #ffd3d3; }
.shop-actions small { color: rgba(255,255,255,.58); font-size: .75rem; font-weight: 850; text-align: right; }

@media (max-width: 980px) {
  .hall-of-fame-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .shop-category-grid { grid-template-columns: 1fr; }
  .next-unlock-card { grid-template-columns: auto minmax(0,1fr); }
  .next-unlock-card .profile-main-btn { grid-column: 1 / -1; justify-self: start; }
}

@media (max-width: 720px) {
  .hall-of-fame-summary,
  .hall-of-fame-podium { grid-template-columns: 1fr; }
  .podium-card.podium-first,
  .podium-card.podium-second,
  .podium-card.podium-third { order: initial; min-height: 150px; }
  .progress-shop-panel { width: calc(100vw - 1rem); max-height: 90vh; }
  .shop-item-progress { grid-template-columns: 64px minmax(0,1fr); }
  .shop-item-progress .shop-actions { grid-column: 1 / -1; justify-items: stretch; }
  .shop-item-progress .shop-actions button { min-height: 44px; }
  .next-unlock-card { grid-template-columns: 1fr; text-align: left; }
}

/* v1.22.1 Lobby hardening: responsiveness, focus and reduced-motion safeguards. */
html,
body,
#app {
  max-width: 100%;
  overflow-x: hidden;
}

.auth-screen,
.lobby-screen,
.profile-screen,
.table-stage,
.lobby-home-page,
.lobby-table-section,
.tournament-page,
.highscore-page,
.overlay-panel,
.reward-ad-modal,
.glass-panel {
  min-width: 0;
}

.lobby-page-nav button[aria-current="page"],
.lobby-filter-tabs button[aria-selected="true"],
.highscore-page-tab[aria-current="page"] {
  box-shadow: 0 0 0 1px rgba(246,200,95,.38), 0 .75rem 2rem rgba(246,200,95,.14);
}

:where(button, a, input, select, textarea, [role="button"], [tabindex]:not([tabindex="-1"])):focus-visible {
  outline: 3px solid rgba(113,232,176,.95);
  outline-offset: 3px;
  box-shadow: 0 0 0 6px rgba(113,232,176,.18), 0 0 1.2rem rgba(113,232,176,.18);
}

:where(button, [role="button"])[aria-disabled="true"] {
  cursor: not-allowed;
}

.lobby-screen :where(p, span, strong, small, h1, h2, h3, button),
.profile-screen :where(p, span, strong, small, h1, h2, h3, button),
.overlay-panel :where(p, span, strong, small, h1, h2, h3, button) {
  overflow-wrap: anywhere;
}

.progress-shop-panel[role="dialog"],
.reward-ad-overlay,
.mp-password-backdrop {
  overscroll-behavior: contain;
}

.progress-shop-panel[role="dialog"] {
  outline: none;
}

.reward-ad-modal {
  max-width: min(92vw, 28rem);
}

@media (max-height: 680px) {
  .auth-entrance-shell,
  .premium-lobby-screen,
  .progress-profile-screen {
    padding-top: .65rem;
    padding-bottom: .65rem;
  }

  .lobby-dashboard-hero,
  .tournament-hall-hero,
  .highscore-detail-hero,
  .profile-hero-card {
    padding-block: .85rem;
  }

  .dashboard-quick-actions,
  .dashboard-card-actions,
  .tournament-detail-actions,
  .mp-password-actions {
    gap: .5rem;
  }
}

@media (max-width: 520px) {
  .lobby-page-nav,
  .lobby-filter-tabs,
  .lobby-pager-actions,
  .tournament-filter-tabs,
  .hall-of-fame-tabs {
    -webkit-overflow-scrolling: touch;
  }

  .lobby-hero-btn,
  .lobby-access-btn,
  .tournament-primary-btn,
  .profile-main-btn,
  .hud-btn,
  .panel-close,
  .shop-actions button {
    min-height: 44px;
  }

  .dashboard-quick-actions,
  .dashboard-card-actions,
  .tournament-detail-actions,
  .mp-password-actions,
  .shop-actions {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .001ms !important;
  }

  .chip-flight,
  .auth-table-glow,
  .dashboard-table-glow,
  .final-victory-glow,
  .multiplayer-loss-glow,
  .reward-ad-play {
    animation: none !important;
  }
}


/* v1.22.2: Kompakter Private-Table-Wizard und verdichtete Tischübersicht.
   Reines Frontend-Layout-Update: keine API-, JSON-, RNG-, Pot-, Stack-, Passwort- oder Pay2Win-Änderung. */
.lobby-tables-page {
  gap: clamp(.58rem, 1.15vw, .82rem) !important;
  padding: clamp(.72rem, 1.6vw, 1rem) !important;
  min-height: auto !important;
}

.lobby-tables-page .poker-room-section-head {
  align-items: center !important;
  gap: .72rem !important;
}

.lobby-tables-page .poker-room-section-head h2 {
  font-size: clamp(1.28rem, 2.25vw, 2rem) !important;
}

.lobby-tables-page .lobby-section-subtitle {
  margin-top: .28rem !important;
  line-height: 1.32 !important;
}

.lobby-tables-page .lobby-floor-summary span {
  padding: .36rem .58rem !important;
  font-size: .74rem !important;
}

.lobby-tables-page .lobby-room-toolbar,
.lobby-tables-page .lobby-table-pager {
  padding: .62rem !important;
  gap: .62rem !important;
  border-radius: 1rem !important;
}

.lobby-tables-page .lobby-filter-tabs {
  gap: .38rem !important;
}

.lobby-tables-page .lobby-filter-tabs button,
.lobby-tables-page .lobby-pager-btn,
.lobby-tables-page .lobby-page-dot {
  min-height: 34px !important;
  padding: .36rem .55rem !important;
  font-size: .74rem !important;
}

.lobby-tables-page .lobby-room-search {
  gap: .24rem !important;
}

.lobby-tables-page .lobby-room-search label,
.lobby-tables-page .lobby-room-search small {
  font-size: .68rem !important;
}

.lobby-tables-page .lobby-search-control input {
  min-height: 36px !important;
  padding: .48rem 2.35rem .48rem .8rem !important;
  font-size: .84rem !important;
}

.multiplayer-create-wizard {
  grid-template-columns: minmax(178px, .8fr) minmax(248px, 1.16fr) minmax(178px, .82fr) minmax(200px, .92fr) !important;
  gap: clamp(.45rem, 1vw, .62rem) !important;
  align-items: stretch !important;
  padding: .62rem !important;
  margin: .25rem 0 .62rem !important;
  border-radius: 1.05rem !important;
}

.multiplayer-create-wizard .mp-wizard-header,
.multiplayer-create-wizard .mp-wizard-step {
  gap: .28rem !important;
  min-width: 0 !important;
}

.multiplayer-create-wizard .mp-wizard-header {
  align-content: center !important;
}

.multiplayer-create-wizard .mp-wizard-header .lobby-eyebrow {
  font-size: .62rem !important;
  letter-spacing: .12em !important;
}

.multiplayer-create-wizard .mp-wizard-header strong {
  font-size: clamp(.96rem, 1.12vw, 1.12rem) !important;
  line-height: 1.12 !important;
}

.multiplayer-create-wizard .mp-wizard-header small,
.multiplayer-create-wizard .mp-wizard-step small,
.multiplayer-create-wizard .mp-wizard-summary > small {
  font-size: .7rem !important;
  line-height: 1.22 !important;
}

.multiplayer-create-wizard .mp-wizard-header small,
#mp-base-help,
#mp-password-help,
.multiplayer-create-wizard .mp-wizard-summary > small,
.mp-preview-card small {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  overflow: hidden !important;
}

.multiplayer-create-wizard .mp-wizard-step {
  padding: .52rem !important;
  border-radius: .82rem !important;
}

.multiplayer-create-wizard .mp-wizard-step b,
.multiplayer-create-wizard .mp-wizard-step label b {
  font-size: .78rem !important;
  line-height: 1.12 !important;
}

.multiplayer-create-wizard .mp-step-number {
  width: 1.34rem !important;
  height: 1.34rem !important;
  font-size: .72rem !important;
}

.multiplayer-create-panel select,
.multiplayer-create-panel input {
  min-height: 36px !important;
  border-radius: .68rem !important;
  padding-inline: .7rem !important;
  font-size: .82rem !important;
}

.mp-preview-card {
  grid-template-columns: minmax(58px, 72px) minmax(0, 1fr) !important;
  gap: .46rem !important;
}

.mp-preview-card img {
  min-height: 52px !important;
  max-height: 58px !important;
  aspect-ratio: 16 / 10 !important;
  object-fit: cover !important;
  border-radius: .62rem !important;
}

.mp-preview-card strong {
  font-size: .82rem !important;
  line-height: 1.08 !important;
}

.mp-preview-specs,
.mp-summary-grid {
  gap: .3rem !important;
}

.mp-preview-specs {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.mp-summary-grid span {
  padding: .32rem .38rem !important;
  border-radius: .58rem !important;
}

.mp-summary-grid small {
  font-size: .55rem !important;
  letter-spacing: .055em !important;
}

.mp-summary-grid strong {
  font-size: .74rem !important;
  line-height: 1.08 !important;
}

.mp-access-toggle {
  gap: .22rem !important;
  padding: .18rem !important;
}

.mp-access-toggle span {
  min-height: 26px !important;
  font-size: .62rem !important;
}

.mp-create-submit {
  min-height: 36px !important;
  padding: .42rem .62rem !important;
  font-size: .76rem !important;
}

.lobby-tables-page .poker-room-grid,
.lobby-tables-page .table-select-grid.poker-room-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 188px), 1fr)) !important;
  gap: clamp(.5rem, 1.05vw, .72rem) !important;
  align-items: stretch !important;
}

.lobby-tables-page .poker-room-card {
  gap: .38rem !important;
  padding: .46rem .46rem 2.52rem !important;
  border-radius: 1rem !important;
  min-height: 0 !important;
}

.lobby-tables-page .poker-room-cover,
.lobby-tables-page .premium-cover-frame.poker-room-cover,
.lobby-tables-page .table-cover-frame.poker-room-cover {
  aspect-ratio: 16 / 10 !important;
  border-radius: .78rem !important;
}

.lobby-tables-page .poker-room-cover .table-cover-img,
.lobby-tables-page .poker-room-cover img.table-cover-img {
  object-fit: cover !important;
  object-position: center !important;
  background: rgba(0, 0, 0, .16) !important;
}

.lobby-tables-page .room-card-topline {
  left: .42rem !important;
  right: .42rem !important;
  top: .42rem !important;
  gap: .3rem !important;
}

.lobby-tables-page .room-category-chip,
.lobby-tables-page .room-recommendation,
.lobby-tables-page .poker-room-card .table-open-pill,
.lobby-tables-page .poker-room-card .table-mode-pill {
  min-height: 22px !important;
  padding: .22rem .4rem !important;
  font-size: .55rem !important;
  letter-spacing: .055em !important;
  max-width: 52% !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.lobby-tables-page .room-category-chip > span {
  font-size: .68rem !important;
}

.lobby-tables-page .poker-room-card .table-open-pill,
.lobby-tables-page .poker-room-card .table-mode-pill {
  top: 2.1rem !important;
}

.lobby-tables-page .poker-room-card .table-mode-pill {
  right: .42rem !important;
}

.lobby-tables-page .poker-room-title {
  left: .52rem !important;
  right: .52rem !important;
  bottom: .52rem !important;
}

.lobby-tables-page .poker-room-title span {
  font-size: .52rem !important;
  letter-spacing: .08em !important;
}

.lobby-tables-page .poker-room-title strong {
  font-size: clamp(.86rem, 1.28vw, 1.04rem) !important;
  line-height: 1.02 !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  overflow: hidden !important;
}

.lobby-tables-page .room-decision-helper {
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: .22rem .42rem !important;
  padding: .38rem .48rem .38rem .6rem !important;
  border-radius: .65rem !important;
}

.lobby-tables-page .room-decision-helper::before {
  width: 3px !important;
}

.lobby-tables-page .room-decision-helper span {
  font-size: .52rem !important;
}

.lobby-tables-page .room-decision-helper strong {
  font-size: .72rem !important;
  white-space: nowrap !important;
}

.lobby-tables-page .room-decision-helper small {
  grid-column: 1 / -1 !important;
  font-size: .64rem !important;
  line-height: 1.18 !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 1 !important;
  overflow: hidden !important;
}

.lobby-tables-page .room-card-description {
  font-size: .72rem !important;
  line-height: 1.24 !important;
  min-height: 0 !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  overflow: hidden !important;
}

.lobby-tables-page .room-spec-grid,
.lobby-tables-page .multiplayer-card-meta.room-spec-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: .3rem !important;
}

.lobby-tables-page .room-spec-grid span {
  gap: .06rem !important;
  padding: .32rem .38rem !important;
  border-radius: .54rem !important;
  font-size: .68rem !important;
  line-height: 1.08 !important;
}

.lobby-tables-page .room-spec-grid b {
  font-size: .5rem !important;
  letter-spacing: .065em !important;
}

.lobby-tables-page .career-card-progress {
  margin: .08rem .05rem 0 !important;
  padding: .38rem .44rem !important;
  border-radius: .7rem !important;
}

.lobby-tables-page .career-card-head {
  margin-bottom: .3rem !important;
  font-size: .56rem !important;
  gap: .35rem !important;
}

.lobby-tables-page .career-card-head strong {
  font-size: .58rem !important;
}

.lobby-tables-page .career-progress-track {
  height: 5px !important;
}

.lobby-tables-page .career-goal-badges {
  gap: .2rem !important;
  margin-top: .32rem !important;
}

.lobby-tables-page .career-goal-badge {
  min-height: 18px !important;
  padding: .08rem .28rem !important;
  font-size: .52rem !important;
}

.lobby-tables-page .table-cover-action {
  left: .46rem !important;
  right: .46rem !important;
  bottom: .46rem !important;
  min-height: 1.78rem !important;
  font-size: .62rem !important;
}

@media (min-width: 1181px) {
  .lobby-tables-page .poker-room-grid,
  .lobby-tables-page .table-select-grid.poker-room-grid {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
  }
}

@media (max-width: 1180px) {
  .multiplayer-create-wizard {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .multiplayer-create-wizard .mp-wizard-header,
  .multiplayer-create-wizard .mp-wizard-summary {
    grid-column: auto !important;
  }
}

@media (max-width: 820px) {
  .lobby-tables-page .lobby-room-toolbar,
  .lobby-tables-page .lobby-table-pager {
    grid-template-columns: 1fr !important;
  }

  .lobby-tables-page .poker-room-grid,
  .lobby-tables-page .table-select-grid.poker-room-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 165px), 1fr)) !important;
  }
}

@media (max-width: 760px) {
  .multiplayer-create-wizard,
  .multiplayer-create-wizard .mp-preview-card {
    grid-template-columns: 1fr !important;
  }

  .mp-preview-card img {
    width: 100% !important;
    max-height: 116px !important;
  }

  .mp-preview-specs,
  .mp-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 520px) {
  .lobby-tables-page .poker-room-section-head {
    align-items: flex-start !important;
  }

  .lobby-tables-page .poker-room-section-head h2::after {
    display: none !important;
  }

  .lobby-tables-page .poker-room-grid,
  .lobby-tables-page .table-select-grid.poker-room-grid {
    grid-template-columns: 1fr !important;
  }

  .lobby-tables-page .poker-room-card {
    padding: .42rem .42rem 2.45rem !important;
  }

  .lobby-tables-page .poker-room-cover,
  .lobby-tables-page .premium-cover-frame.poker-room-cover,
  .lobby-tables-page .table-cover-frame.poker-room-cover {
    aspect-ratio: 16 / 9 !important;
  }

  .lobby-tables-page .room-spec-grid,
  .lobby-tables-page .multiplayer-card-meta.room-spec-grid,
  .mp-preview-specs,
  .mp-summary-grid {
    grid-template-columns: 1fr !important;
  }
}

/* v1.22.3: Raum-Vorschau entfernt, sichtbarer Seat 4 und Board-Karten höher/leicht größer. */
.multiplayer-create-wizard .mp-base-preview {
  display: none !important;
}

#app.game-root.game-flow .table-overlay-layer {
  --board-center-y: 40.75% !important;
  --pot-target-y: 53.25% !important;
}

#app.game-root.game-flow .community-zone {
  top: var(--board-center-y) !important;
}

#app.game-root.game-flow .community-cards .playing-card {
  width: calc(var(--card-w) * 1.08) !important;
  height: calc(var(--card-w) * 1.08 * 1.42) !important;
}

/* Sichtbarer Seat 4 ist intern seat-pos-3. */
#app.game-root.game-flow .seat-card.seat-pos-3 {
  top: 9.75% !important;
  bottom: auto !important;
}

#app.game-root.game-flow .chip-flight.seat-3 {
  --sy: 19% !important;
}

#app.game-root.game-flow.singleplayer-flow .table-stage {
  --sp-board-center-y: 41.25% !important;
}

#app.game-root.game-flow.singleplayer-flow .table-overlay-layer {
  --board-center-y: var(--sp-board-center-y) !important;
  --pot-target-y: 51.5% !important;
}

#app.game-root.game-flow.singleplayer-flow .community-zone {
  top: var(--sp-board-center-y) !important;
}

#app.game-root.game-flow.singleplayer-flow .seat-card.seat-pos-3 {
  top: -2.75% !important;
  bottom: auto !important;
}

#app.game-root.game-flow.singleplayer-flow .chip-flight.seat-3 {
  --sy: 2.5% !important;
}

@media (max-width: 760px), (orientation: portrait) and (max-width: 900px) {
  #app.game-root.game-flow .table-overlay-layer {
    --board-center-y: 42.25% !important;
    --pot-target-y: 53.75% !important;
  }

  #app.game-root.game-flow .community-zone {
    top: var(--board-center-y) !important;
  }

  #app.game-root.game-flow .seat-card.seat-pos-3 {
    top: 11% !important;
  }

  #app.game-root.game-flow .chip-flight.seat-3 {
    --sy: 20% !important;
  }

  #app.game-root.game-flow.singleplayer-flow .table-stage {
    --sp-board-center-y: 42.25% !important;
  }

  #app.game-root.game-flow.singleplayer-flow .table-overlay-layer {
    --board-center-y: var(--sp-board-center-y) !important;
    --pot-target-y: 52.5% !important;
  }

  #app.game-root.game-flow.singleplayer-flow .community-zone {
    top: var(--sp-board-center-y) !important;
  }

  #app.game-root.game-flow.singleplayer-flow .seat-card.seat-pos-3 {
    top: .5% !important;
  }

  #app.game-root.game-flow.singleplayer-flow .chip-flight.seat-3 {
    --sy: 5.5% !important;
  }
}

/* v1.22.4: Finales Pokertisch-Feintuning – Seat 4, Board, kompakte Stoppuhr und Coach-Layer. */
#app.game-root.game-flow .table-stage {
  --board-center-y: 37.25% !important;
}

#app.game-root.game-flow.singleplayer-flow .table-stage {
  --sp-board-center-y: 37.25% !important;
}

#app.game-root.game-flow .table-overlay-layer,
#app.game-root.game-flow.singleplayer-flow .table-overlay-layer {
  --board-center-y: 37.25% !important;
  --pot-target-y: 48.75% !important;
}

#app.game-root.game-flow .community-zone,
#app.game-root.game-flow.singleplayer-flow .community-zone {
  top: 37.25% !important;
  z-index: 32 !important;
}

#app.game-root.game-flow .community-cards,
#app.game-root.game-flow.singleplayer-flow .community-cards {
  gap: clamp(.32rem, .78vw, .62rem) !important;
}

#app.game-root.game-flow .community-cards .playing-card,
#app.game-root.game-flow.singleplayer-flow .community-cards .playing-card {
  width: calc(var(--card-w) * 1.14) !important;
  height: calc(var(--card-w) * 1.14 * 1.42) !important;
  border-radius: .7rem !important;
  font-size: 1.05em !important;
}

/* Die sichtbare Seat-Nummer 4 bekommt zusätzlich eine eindeutige Klasse aus dem Markup. */
#app.game-root.game-flow .seat-card.seat-visible-4,
#app.game-root.game-flow .seat-card.seat-pos-3 {
  top: 5.25% !important;
  bottom: auto !important;
  transform: translateX(-50%) translateY(-7%) !important;
  z-index: 38 !important;
}

#app.game-root.game-flow.singleplayer-flow .seat-card.seat-visible-4,
#app.game-root.game-flow.singleplayer-flow .seat-card.seat-pos-3 {
  top: -4.75% !important;
  bottom: auto !important;
  transform: translateX(-50%) translateY(-5%) !important;
  z-index: 38 !important;
}

#app.game-root.game-flow .chip-flight.seat-3,
#app.game-root.game-flow.singleplayer-flow .chip-flight.seat-3 {
  --sy: 3% !important;
}

#app.game-root.game-flow .analog-turn-timer {
  top: max(8px, env(safe-area-inset-top)) !important;
  right: max(8px, env(safe-area-inset-right)) !important;
  z-index: 86 !important;
  min-width: clamp(154px, 16vw, 224px) !important;
  grid-template-columns: auto minmax(64px, 1fr) !important;
  gap: .34rem !important;
  padding: .34rem .46rem .36rem .42rem !important;
  border-radius: .96rem !important;
}

#app.game-root.game-flow .analog-stopwatch-cap {
  left: 1.55rem !important;
  top: -.16rem !important;
  width: .78rem !important;
  height: .3rem !important;
  border-radius: .24rem .24rem .12rem .12rem !important;
}

#app.game-root.game-flow .analog-stopwatch-face {
  width: clamp(44px, 4.2vw, 58px) !important;
  height: clamp(44px, 4.2vw, 58px) !important;
  border-width: 1px !important;
  box-shadow:
    inset 0 0 0 .18rem rgba(0,0,0,.35),
    inset 0 0 .9rem rgba(246,200,95,.12),
    0 .48rem 1rem rgba(0,0,0,.34),
    0 0 1rem rgba(246,200,95,.14) !important;
}

#app.game-root.game-flow .analog-stopwatch-face::before {
  inset: .42rem !important;
}

#app.game-root.game-flow .analog-stopwatch-face .tick {
  width: .1rem !important;
  height: .32rem !important;
  transform-origin: 50% calc((clamp(44px, 4.2vw, 58px) / 2) - .34rem) !important;
}

#app.game-root.game-flow .tick-0 { transform: translate(-50%, calc(-50% - 1.22rem)) !important; }
#app.game-root.game-flow .tick-15 { transform: translate(calc(-50% + 1.22rem), -50%) rotate(90deg) !important; }
#app.game-root.game-flow .tick-30 { transform: translate(-50%, calc(-50% + 1.22rem)) !important; }
#app.game-root.game-flow .tick-45 { transform: translate(calc(-50% - 1.22rem), -50%) rotate(90deg) !important; }

#app.game-root.game-flow .stopwatch-needle {
  width: .11rem !important;
  height: 36% !important;
}

#app.game-root.game-flow .stopwatch-center {
  width: .46rem !important;
  height: .46rem !important;
}

#app.game-root.game-flow .analog-stopwatch-copy {
  gap: .04rem !important;
}

#app.game-root.game-flow .analog-stopwatch-copy span {
  font-size: .48rem !important;
  letter-spacing: .075em !important;
}

#app.game-root.game-flow .analog-stopwatch-copy strong {
  font-size: clamp(.78rem, 1.05vw, .98rem) !important;
}

#app.game-root.game-flow .timer-status-under {
  gap: .2rem !important;
  margin-top: .08rem !important;
  padding-top: .28rem !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

#app.game-root.game-flow .timer-status-under div {
  padding: .2rem .28rem !important;
  border-radius: .5rem !important;
}

#app.game-root.game-flow .timer-status-under span {
  font-size: .43rem !important;
  letter-spacing: .055em !important;
}

#app.game-root.game-flow .timer-status-under strong {
  margin-top: .04rem !important;
  font-size: clamp(.56rem, .75vw, .68rem) !important;
  line-height: 1.02 !important;
}

#app.game-root.game-flow .singleplayer-coach-window,
#app.game-root.game-flow.singleplayer-flow .singleplayer-coach-window {
  position: fixed !important;
  z-index: 220 !important;
  transform: translateZ(0) !important;
  pointer-events: auto !important;
  isolation: isolate !important;
}

#app.game-root.game-flow.singleplayer-flow .poker-table-wrap {
  z-index: 10 !important;
}

#app.game-root.game-flow.singleplayer-flow .poker-table-art {
  z-index: 1 !important;
}

#app.game-root.game-flow.singleplayer-flow .table-overlay-layer {
  z-index: 2 !important;
}

@media (max-width: 900px) {
  #app.game-root.game-flow .table-overlay-layer,
  #app.game-root.game-flow.singleplayer-flow .table-overlay-layer {
    --board-center-y: 38.5% !important;
    --pot-target-y: 50% !important;
  }

  #app.game-root.game-flow .community-zone,
  #app.game-root.game-flow.singleplayer-flow .community-zone {
    top: 38.5% !important;
  }

  #app.game-root.game-flow .seat-card.seat-visible-4,
  #app.game-root.game-flow .seat-card.seat-pos-3 {
    top: 6.25% !important;
    transform: translateX(-50%) translateY(-5%) !important;
  }

  #app.game-root.game-flow.singleplayer-flow .seat-card.seat-visible-4,
  #app.game-root.game-flow.singleplayer-flow .seat-card.seat-pos-3 {
    top: -1.75% !important;
    transform: translateX(-50%) translateY(-4%) !important;
  }

  #app.game-root.game-flow .analog-turn-timer {
    top: max(8px, env(safe-area-inset-top)) !important;
    min-width: clamp(132px, 26vw, 178px) !important;
    padding: .3rem .38rem !important;
    gap: .26rem !important;
  }

  #app.game-root.game-flow .analog-stopwatch-face {
    width: clamp(40px, 7vw, 50px) !important;
    height: clamp(40px, 7vw, 50px) !important;
  }

  #app.game-root.game-flow .timer-status-under {
    display: none !important;
  }
}

@media (max-width: 620px) {
  #app.game-root.game-flow .community-cards .playing-card,
  #app.game-root.game-flow.singleplayer-flow .community-cards .playing-card {
    width: calc(var(--card-w) * 1.09) !important;
    height: calc(var(--card-w) * 1.09 * 1.42) !important;
  }

  #app.game-root.game-flow .analog-stopwatch-copy {
    display: none !important;
  }

  #app.game-root.game-flow .analog-turn-timer {
    min-width: auto !important;
    grid-template-columns: auto !important;
  }
}



/* PokerHafen v1.22.24 emergency table recenter fallback.
   Duplicated here so the table is corrected even if an older table-layout.css is cached briefly. */
#app.game-root.game-flow .table-stage,
#app.game-root.game-flow.singleplayer-flow .table-stage {
  --table-seat-2-x: 30.0% !important;
  --table-seat-2-y: 61.5% !important;
  --table-seat-3-x: 30.0% !important;
  --table-seat-3-y: 25.0% !important;
  --table-seat-4-y: 0.8% !important;
  --table-seat-4-anchor-y: -4% !important;
  --table-seat-5-x: 70.0% !important;
  --table-seat-5-y: 25.0% !important;
  --table-seat-6-x: 70.0% !important;
  --table-seat-6-y: 61.5% !important;
  --table-board-x: 50.0% !important;
  --table-board-y: 45.0% !important;
  --table-board-label-y: 45.0% !important;
  --table-pot-x: 50.0% !important;
  --table-pot-y: 50.0% !important;
  --table-winner-hint-x: 50.0% !important;
  --table-winner-hint-y: 55.8% !important;
  --table-payout-x: 50.0% !important;
  --table-payout-y: 60.0% !important;
  --table-status-x: 50.0% !important;
  --table-status-y: 63.2% !important;
  --table-board-z: 62 !important;
  --table-pot-z: 64 !important;
  --table-status-z: 58 !important;
}
#app.game-root.game-flow .seat-pos-1 { left: var(--table-seat-2-x) !important; top: var(--table-seat-2-y) !important; right: auto !important; bottom: auto !important; }
#app.game-root.game-flow .seat-pos-2 { left: var(--table-seat-3-x) !important; top: var(--table-seat-3-y) !important; right: auto !important; bottom: auto !important; }
#app.game-root.game-flow .seat-pos-3,
#app.game-root.game-flow .seat-visible-4 { top: var(--table-seat-4-y) !important; }
#app.game-root.game-flow .seat-pos-4 { left: var(--table-seat-5-x) !important; top: var(--table-seat-5-y) !important; right: auto !important; bottom: auto !important; }
#app.game-root.game-flow .seat-pos-5 { left: var(--table-seat-6-x) !important; top: var(--table-seat-6-y) !important; right: auto !important; bottom: auto !important; }
#app.game-root.game-flow .community-zone .zone-label { left: var(--table-board-x) !important; top: var(--table-board-label-y) !important; }
#app.game-root.game-flow .community-cards { left: var(--table-board-x) !important; top: var(--table-board-y) !important; }
#app.game-root.game-flow .pot-stack { left: var(--table-pot-x) !important; top: var(--table-pot-y) !important; }

#app.game-root.game-flow .community-zone,
#app.game-root.game-flow.singleplayer-flow .community-zone { z-index: var(--table-board-z) !important; visibility: visible !important; opacity: 1 !important; overflow: visible !important; }
#app.game-root.game-flow .community-cards,
#app.game-root.game-flow.singleplayer-flow .community-cards { z-index: calc(var(--table-board-z) + 2) !important; visibility: visible !important; opacity: 1 !important; overflow: visible !important; display: flex !important; }
#app.game-root.game-flow .pot-stack,
#app.game-root.game-flow.singleplayer-flow .pot-stack { z-index: var(--table-pot-z) !important; visibility: visible !important; opacity: 1 !important; overflow: visible !important; display: inline-flex !important; }

/* PokerHafen v1.22.24 emergency fallback: Board/Pot als gemeinsame mittige Zone. */
#app.game-root.game-flow .table-stage,
#app.game-root.game-flow.singleplayer-flow .table-stage {
  --table-board-x: 50.0% !important;
  --table-board-y: 45.0% !important;
  --table-board-label-y: 45.0% !important;
  --table-pot-x: 50.0% !important;
  --table-pot-y: 50.0% !important;
}
#app.game-root.game-flow .table-overlay-layer > .community-zone,
#app.game-root.game-flow.singleplayer-flow .table-overlay-layer > .community-zone {
  position: absolute !important;
  inset: auto !important;
  left: var(--table-board-x) !important;
  top: var(--table-board-y) !important;
  right: auto !important;
  bottom: auto !important;
  width: min(620px, 66vw) !important;
  max-width: 78% !important;
  height: auto !important;
  display: grid !important;
  justify-items: center !important;
  align-items: center !important;
  gap: var(--table-board-gap, clamp(.26rem, .72vw, .58rem)) !important;
  transform: translate(-50%, -50%) !important;
  z-index: var(--table-board-z, 62) !important;
  visibility: visible !important;
  opacity: 1 !important;
  overflow: visible !important;
}
#app.game-root.game-flow .community-zone .zone-label,
#app.game-root.game-flow .community-zone .community-cards,
#app.game-root.game-flow .community-zone .pot-stack,
#app.game-root.game-flow .community-zone .winner-table-hint,
#app.game-root.game-flow .community-zone .showdown-payout-strip,
#app.game-root.game-flow.singleplayer-flow .community-zone .zone-label,
#app.game-root.game-flow.singleplayer-flow .community-zone .community-cards,
#app.game-root.game-flow.singleplayer-flow .community-zone .pot-stack,
#app.game-root.game-flow.singleplayer-flow .community-zone .winner-table-hint,
#app.game-root.game-flow.singleplayer-flow .community-zone .showdown-payout-strip {
  position: relative !important;
  left: auto !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  transform: none !important;
  visibility: visible !important;
  opacity: 1 !important;
}
#app.game-root.game-flow .community-zone .community-cards,
#app.game-root.game-flow.singleplayer-flow .community-zone .community-cards {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}
#app.game-root.game-flow .community-zone .pot-stack,
#app.game-root.game-flow.singleplayer-flow .community-zone .pot-stack {
  display: inline-flex !important;
  transform: scale(var(--table-chip-scale, .94)) !important;
}
