.redjack-cover-art {
  --gbl-card-accent: 218, 54, 59;
  background: #110608;
}

.redjack-cover-art .redjack-cover-image {
  position: absolute;
  inset: -5%;
  width: 110%;
  height: 110%;
  object-fit: cover;
  transform: translateZ(64px) scale(1.02);
  filter: saturate(1.08) contrast(1.05);
  animation: redjack-cover-breathe 6s ease-in-out infinite alternate;
}

.redjack-cover-art .redjack-cover-shine {
  position: absolute;
  inset: -60% -35%;
  z-index: 4;
  background: linear-gradient(108deg, transparent 35%, rgba(255, 230, 169, .28) 48%, transparent 60%);
  transform: translate3d(-35%, 0, 90px) rotate(7deg);
  animation: redjack-cover-shine 5.4s ease-in-out infinite;
}

@keyframes redjack-cover-breathe {
  from { transform: translate3d(-1%, 1%, 64px) scale(1.025); }
  to { transform: translate3d(1%, -1%, 72px) scale(1.065); }
}

@keyframes redjack-cover-shine {
  0%, 25% { opacity: 0; transform: translate3d(-45%, 0, 90px) rotate(7deg); }
  43% { opacity: 1; }
  64%, 100% { opacity: 0; transform: translate3d(42%, 0, 90px) rotate(7deg); }
}

#redJackGameScreen {
  --rj-red: #d52d39;
  --rj-red-deep: #6e101b;
  --rj-gold: #ffd874;
  --rj-gold-soft: #ffe9a6;
  --rj-ink: #08080c;
  --rj-panel: rgba(14, 13, 20, .92);
  --rj-line: rgba(255, 215, 116, .23);
  position: relative;
  min-height: 100dvh;
  width: 100%;
  overflow-x: clip;
  color: #fff8e8;
  background:
    radial-gradient(circle at 50% 15%, rgba(174, 21, 40, .22), transparent 35%),
    linear-gradient(145deg, #07070b, #17090e 53%, #050609);
  padding: max(12px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));
}

#redJackGameScreen *,
#redJackGameScreen *::before,
#redJackGameScreen *::after { box-sizing: border-box; }

.rj-topbar {
  width: min(1440px, 100%);
  min-height: 64px;
  margin: 0 auto 12px;
  padding: 8px 10px 8px 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 1px solid var(--rj-line);
  border-radius: 18px;
  background: rgba(7, 8, 12, .78);
  box-shadow: 0 15px 44px rgba(0, 0, 0, .34), inset 0 1px rgba(255, 255, 255, .035);
  backdrop-filter: blur(18px);
}

.rj-brand { display: flex; align-items: center; gap: 10px; min-width: 0; }
.rj-brand img { width: 42px; height: 42px; object-fit: contain; }
.rj-brand-copy { min-width: 0; }
.rj-brand-copy strong { display: block; color: var(--rj-gold-soft); font-size: clamp(18px, 2vw, 24px); letter-spacing: -.03em; }
.rj-brand-copy span { display: block; color: rgba(255, 255, 255, .52); font-size: 10px; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }
.rj-top-actions { display: flex; align-items: center; gap: 8px; }

.rj-button,
.rj-icon-button,
.rj-segment button,
.rj-filter,
.rj-input,
.rj-select {
  font: inherit;
}

.rj-button,
.rj-icon-button {
  min-height: 44px;
  border: 1px solid rgba(255, 222, 139, .25);
  border-radius: 13px;
  color: #170b0d;
  background: linear-gradient(135deg, #ffe99d, #ffc94c 58%, #ee8e35);
  box-shadow: 0 9px 25px rgba(212, 74, 38, .2), inset 0 1px rgba(255, 255, 255, .6);
  font-weight: 900;
  cursor: pointer;
  touch-action: manipulation;
  transition: transform .16s ease, filter .16s ease, opacity .16s ease;
}

.rj-button { padding: 10px 16px; }
.rj-button:hover:not(:disabled), .rj-icon-button:hover:not(:disabled) { filter: brightness(1.06); transform: translateY(-1px); }
.rj-button:active:not(:disabled), .rj-icon-button:active:not(:disabled) { transform: translateY(1px) scale(.99); }
.rj-button:disabled, .rj-icon-button:disabled { cursor: not-allowed; opacity: .38; filter: saturate(.35); box-shadow: none; }
.rj-button--dark { color: #fff8e8; background: linear-gradient(180deg, #292834, #17161f); border-color: rgba(255, 255, 255, .12); box-shadow: inset 0 1px rgba(255, 255, 255, .08); }
.rj-button--red { color: #fff; background: linear-gradient(145deg, #ef4851, #a81928 70%, #72111d); }
.rj-button--ghost { color: #f9e8bf; background: rgba(255, 255, 255, .055); box-shadow: none; }
.rj-icon-button { width: 44px; padding: 0; display: grid; place-items: center; color: #fff8e8; background: rgba(255, 255, 255, .07); }
.rj-topbar .rj-icon-button.gbl-notification-tab { min-width: 44px; min-height: 44px; padding: 0; display: grid; place-items: center; }

.rj-page { width: min(1440px, 100%); margin: 0 auto; }
.rj-hidden { display: none !important; }

.rj-entry {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(300px, .7fr);
  gap: 14px;
}

.rj-entry-hero,
.rj-entry-actions,
.rj-browser,
.rj-panel,
.rj-controls,
.rj-rules {
  border: 1px solid var(--rj-line);
  border-radius: 22px;
  background: linear-gradient(155deg, rgba(36, 13, 19, .96), rgba(8, 9, 14, .96));
  box-shadow: 0 22px 65px rgba(0, 0, 0, .38), inset 0 1px rgba(255, 255, 255, .035);
}

.rj-entry-hero {
  position: relative;
  min-height: 440px;
  overflow: hidden;
  isolation: isolate;
  display: flex;
  align-items: flex-end;
  padding: clamp(24px, 5vw, 64px);
  background-image: linear-gradient(90deg, rgba(7, 6, 10, .93) 0%, rgba(7, 6, 10, .28) 56%, rgba(7, 6, 10, .1)), url("redjack-table-v1.png");
  background-size: cover;
  background-position: center;
}

.rj-entry-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: radial-gradient(circle at 78% 35%, rgba(255, 210, 105, .13), transparent 30%), linear-gradient(180deg, transparent 40%, rgba(0, 0, 0, .48));
}

.rj-entry-copy { position: relative; z-index: 2; max-width: 620px; }
.rj-kicker { margin: 0 0 8px; color: var(--rj-gold); font-size: 11px; font-weight: 950; letter-spacing: .19em; text-transform: uppercase; }
.rj-entry h1 { margin: 0; font-size: clamp(48px, 8vw, 94px); line-height: .88; letter-spacing: -.075em; text-shadow: 0 12px 28px rgba(0, 0, 0, .55); }
.rj-entry h1 span { color: var(--rj-red); }
.rj-entry-copy > p:last-child { margin: 18px 0 0; max-width: 520px; color: rgba(255, 247, 226, .72); font-size: clamp(16px, 2vw, 20px); line-height: 1.55; }

.rj-entry-actions { padding: 20px; display: grid; align-content: center; gap: 12px; }
.rj-mode-card { min-height: 138px; width: 100%; text-align: left; padding: 20px; border: 1px solid rgba(255, 215, 116, .18); border-radius: 18px; color: #fff; background: rgba(255, 255, 255, .045); cursor: pointer; transition: transform .2s ease, border-color .2s ease, background .2s ease; }
.rj-mode-card:hover { transform: translateY(-2px); border-color: rgba(255, 215, 116, .48); background: rgba(255, 255, 255, .075); }
.rj-mode-card strong { display: block; margin-bottom: 5px; color: var(--rj-gold-soft); font-size: 23px; }
.rj-mode-card span { color: rgba(255, 255, 255, .62); line-height: 1.45; }
.rj-mode-card--live { background: linear-gradient(145deg, rgba(169, 24, 42, .28), rgba(255, 255, 255, .035)); }

.rj-browser { padding: clamp(14px, 2vw, 24px); }
.rj-browser-head, .rj-table-toolbar, .rj-control-row, .rj-field-row { display: flex; align-items: center; gap: 10px; }
.rj-browser-head { justify-content: space-between; margin-bottom: 14px; }
.rj-browser-head h2, .rj-panel h2 { margin: 0; color: var(--rj-gold-soft); font-size: clamp(22px, 3vw, 32px); }
.rj-browser-tools { display: flex; flex-wrap: wrap; gap: 8px; }
.rj-browser-grid { display: grid; grid-template-columns: 340px minmax(0, 1fr); gap: 14px; }
.rj-browser-side { display: grid; gap: 12px; align-content: start; }
.rj-panel { padding: 15px; border-radius: 17px; }
.rj-panel h3 { margin: 0 0 12px; font-size: 16px; color: var(--rj-gold-soft); }
.rj-field { display: grid; gap: 6px; margin-bottom: 10px; }
.rj-field span { color: rgba(255, 255, 255, .55); font-size: 11px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.rj-field-row > * { flex: 1 1 0; min-width: 0; }
.rj-input, .rj-select {
  width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 11px;
  outline: none;
  color: #fff;
  background: #0c0d13;
}
.rj-input:focus, .rj-select:focus { border-color: rgba(255, 215, 116, .58); box-shadow: 0 0 0 3px rgba(255, 215, 116, .1); }
.rj-server-list { display: grid; gap: 9px; min-height: 250px; }
.rj-server-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 14px; border: 1px solid rgba(255, 255, 255, .09); border-radius: 15px; background: rgba(255, 255, 255, .035); }
.rj-server-card h3 { margin: 0 0 5px; color: #fff9e8; font-size: 17px; }
.rj-server-card p { margin: 0; color: rgba(255, 255, 255, .55); font-size: 12px; }
.rj-server-meta { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.rj-tag { display: inline-flex; align-items: center; min-height: 24px; padding: 3px 8px; border: 1px solid rgba(255, 255, 255, .08); border-radius: 999px; color: rgba(255, 255, 255, .68); background: rgba(0, 0, 0, .22); font-size: 10px; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.rj-empty { min-height: 220px; display: grid; place-items: center; text-align: center; color: rgba(255, 255, 255, .48); }

.rj-game-layout { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 14px; align-items: start; }
.rj-table-column { min-width: 0; display: grid; align-content: start; }
.rj-table-toolbar { min-height: 54px; justify-content: space-between; padding: 8px 10px; border: 1px solid var(--rj-line); border-radius: 16px 16px 0 0; background: rgba(9, 9, 14, .92); }
.rj-table-toolbar .rj-stage-balance { position: static; flex: 0 0 auto; margin-left: auto; transform: none; }
.rj-table-status { min-width: 0; }
.rj-table-status strong { display: block; color: var(--rj-gold-soft); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rj-table-status span { color: rgba(255, 255, 255, .52); font-size: 11px; }
.rj-live-dot { display: inline-block; width: 7px; height: 7px; margin-right: 5px; border-radius: 50%; background: #49ee9b; box-shadow: 0 0 12px #49ee9b; }
.rj-live-dot.is-offline { background: #ef4c58; box-shadow: 0 0 12px #ef4c58; }

.rj-table-stage {
  position: relative;
  height: clamp(400px, calc(100dvh - 255px), 690px);
  min-height: 0;
  overflow: hidden;
  isolation: isolate;
  border: 1px solid rgba(255, 216, 117, .27);
  border-top: 0;
  border-radius: 0 0 24px 24px;
  background: #18080d url("redjack-table-v1.png") center/cover no-repeat;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .48), inset 0 0 90px rgba(0, 0, 0, .42);
}

.rj-table-stage::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(180deg, rgba(6, 4, 8, .05), rgba(5, 4, 7, .5) 63%, rgba(2, 3, 5, .78));
}

.rj-stage-history {
  position: absolute;
  top: 9px;
  left: 10px;
  z-index: 18;
  width: min(38%, 300px);
  min-height: 30px;
  display: flex;
  align-items: center;
  overflow: hidden;
  pointer-events: none;
}
.rj-history-card {
  width: 23px;
  height: 30px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  margin-left: -5px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .7);
  border-radius: 5px;
  color: #13131a;
  background: linear-gradient(145deg, #fffdf5, #ddd6c9);
  box-shadow: 0 4px 10px rgba(0, 0, 0, .48);
  font-family: Georgia, serif;
  line-height: .78;
}
.rj-history-card:first-child { margin-left: 0; }
.rj-history-card b { font-size: 9px; }
.rj-history-card i { font-size: 9px; font-style: normal; }
.rj-history-card.is-red { color: #bd1d30; }
.rj-history-card.is-latest { z-index: 2; border-color: #ffe08a; box-shadow: 0 0 0 1px rgba(255, 215, 116, .4), 0 0 14px rgba(255, 193, 55, .45); }
.rj-stage-balance {
  position: absolute;
  top: 8px;
  left: 50%;
  z-index: 19;
  min-height: 32px;
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 5px 10px;
  transform: translateX(-50%);
  border: 1px solid rgba(255, 215, 116, .38);
  border-radius: 999px;
  color: var(--rj-gold-soft);
  background: rgba(6, 6, 10, .82);
  box-shadow: 0 8px 20px rgba(0, 0, 0, .38);
  white-space: nowrap;
  pointer-events: none;
}
.rj-stage-balance span { color: rgba(255, 255, 255, .5); font-size: 8px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.rj-stage-balance strong { font-size: 13px; }
.rj-stage-mute {
  position: absolute;
  top: 51px;
  left: -1px;
  z-index: 20;
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(255, 215, 116, .34);
  border-left: 0;
  border-radius: 0 13px 13px 0;
  color: #ffe699;
  background: rgba(7, 7, 11, .9);
  box-shadow: 8px 8px 22px rgba(0, 0, 0, .35);
  cursor: pointer;
  touch-action: manipulation;
}
.rj-stage-mute svg { width: 22px; height: 22px; overflow: visible; fill: currentColor; }
.rj-stage-mute .rj-mute-waves, .rj-stage-mute .rj-mute-slash { fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.rj-stage-mute .rj-mute-slash { opacity: 0; }
.rj-stage-mute.is-muted { color: #ff9ba5; background: rgba(74, 13, 24, .92); }
.rj-stage-mute.is-muted .rj-mute-waves { opacity: 0; }
.rj-stage-mute.is-muted .rj-mute-slash { opacity: 1; }
.rj-stage-mute:focus-visible { outline: 3px solid rgba(255, 224, 138, .45); outline-offset: 2px; }

.rj-dealer-zone { position: absolute; inset: 14px 18px auto; z-index: 2; height: 54%; display: grid; place-items: start center; pointer-events: none; }
.rj-red-wrap { position: absolute; top: -4px; left: 50%; width: min(310px, 40vw); aspect-ratio: 1 / 1; transform: translateX(-50%); transform-origin: 50% 100%; filter: drop-shadow(0 20px 25px rgba(0, 0, 0, .55)); animation: rj-red-idle 4.8s ease-in-out infinite; }
.rj-red-wrap::after { content: ""; position: absolute; inset: 18% 20% 2%; z-index: -1; border-radius: 50%; background: radial-gradient(circle, rgba(255, 75, 82, .25), transparent 68%); filter: blur(16px); opacity: .6; }
.rj-red-canvas, .rj-red-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; object-position: center bottom; user-select: none; -webkit-user-drag: none; }
.rj-red-canvas { display: block; opacity: 0; transition: opacity .22s ease; }
.rj-red-image { opacity: 1; transition: opacity .22s ease; }
.rj-red-wrap.is-v2-ready { top: -32px; width: min(230px, 31vw); aspect-ratio: 2 / 3; animation: none; }
.rj-red-wrap.is-v2-ready .rj-red-canvas { opacity: 1; }
.rj-red-wrap.is-v2-ready .rj-red-image { opacity: 0; }
.rj-red-wrap:not(.is-v2-ready).is-dealing { animation: rj-red-deal .62s cubic-bezier(.2,.85,.25,1); }
.rj-red-wrap:not(.is-v2-ready).is-celebrating { animation: rj-red-celebrate 2.45s cubic-bezier(.18,.8,.22,1) both; }
.rj-table-stage.is-self-blackjack { animation: rj-self-blackjack .75s ease-out 2; }

@keyframes rj-red-idle {
  0%, 100% { transform: translateX(-50%) translateY(0) rotate(-.25deg) scale(1); }
  50% { transform: translateX(-50%) translateY(-4px) rotate(.25deg) scale(1.008, 1.014); }
}
@keyframes rj-red-deal {
  0% { transform: translateX(-50%) translateY(0) rotate(0); }
  44% { transform: translateX(-47%) translateY(7px) rotate(1.8deg) scale(1.025); }
  100% { transform: translateX(-50%) translateY(0) rotate(0); }
}
@keyframes rj-red-celebrate {
  0%, 100% { transform: translateX(-50%) translateY(0) scale(1); }
  12% { transform: translateX(-50%) translateY(-14px) scale(1.015, .99); }
  22% { transform: translateX(-50%) translateY(1px) scale(.995, 1.02); }
  34% { transform: translateX(-50%) translateY(-11px) scale(1.018, .992); }
  45% { transform: translateX(-50%) translateY(0) scale(.996, 1.016); }
  58% { transform: translateX(-50%) translateY(-7px) scale(1.01, .997); }
  72% { transform: translateX(-50%) translateY(0) scale(1); }
}
@keyframes rj-self-blackjack {
  0%, 100% { box-shadow: inset 0 0 0 rgba(255, 216, 116, 0); }
  50% { box-shadow: inset 0 0 100px rgba(255, 216, 116, .34); }
}

.rj-table-foreground { position: absolute; inset: 0; z-index: 4; width: 100%; height: 100%; object-fit: cover; object-position: center; pointer-events: none; user-select: none; -webkit-user-drag: none; }
.rj-dealer-hand { position: absolute; top: 31%; left: 50%; z-index: 8; transform: translateX(-50%); display: flex; align-items: center; gap: 8px; }
.rj-dealer-label { position: absolute; top: 8px; right: 10px; z-index: 19; min-height: 32px; display: flex; align-items: center; gap: 7px; padding: 5px 9px; border: 1px solid rgba(255, 215, 116, .26); border-radius: 999px; color: var(--rj-gold-soft); background: rgba(5, 5, 8, .82); font-size: 9px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
.rj-dealer-label strong { min-width: 18px; display: grid; place-items: center; color: #fff4cb; font-size: 12px; }
.rj-felt-rule { position: absolute; top: 49%; left: 50%; z-index: 7; width: min(90%, 720px); height: clamp(46px, 6.5vw, 72px); overflow: visible; transform: translateX(-50%) perspective(700px) rotateX(4deg); transform-origin: 50% 0; color: rgba(255, 225, 153, .76); filter: drop-shadow(0 2px 4px rgba(0, 0, 0, .82)); pointer-events: none; }
.rj-felt-rule text { fill: currentColor; font-family: Georgia, serif; font-size: 20px; font-weight: 800; letter-spacing: 1.6px; }

.rj-card-row { display: flex; justify-content: center; align-items: center; min-height: 92px; }
.rj-card-motion,
.rj-card {
  position: relative;
  width: clamp(48px, 5.4vw, 72px);
  aspect-ratio: 5 / 7;
  margin-left: clamp(-14px, -1.3vw, -7px);
  flex: 0 0 auto;
}
.rj-card {
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .64);
  border-radius: 8px;
  color: #121217;
  background: linear-gradient(145deg, #fffdf6, #e5e0d5);
  box-shadow: 0 8px 18px rgba(0, 0, 0, .4);
  transform-origin: center bottom;
}
.rj-card:first-child, .rj-card-motion:first-child { margin-left: 0; }
.rj-card.is-red { color: #c51e31; }
.rj-card-rank { position: absolute; top: 5px; left: 6px; font-size: clamp(14px, 2vw, 20px); font-weight: 950; line-height: .92; }
.rj-card-rank span { display: block; margin-top: 2px; font-size: .8em; }
.rj-card-suit { position: absolute; inset: 0; display: grid; place-items: center; font-size: clamp(28px, 4vw, 46px); opacity: .86; }
.rj-card--back { border-color: rgba(255, 219, 125, .75); background: #5d1018 url("redjack-card-back-v1.png") center/cover no-repeat; }
.rj-card-flip { width: clamp(48px, 5.4vw, 72px); aspect-ratio: 5 / 7; margin-left: clamp(-14px, -1.3vw, -7px); perspective: 900px; }
.rj-card-flip:first-child { margin-left: 0; }
.rj-card-flip-inner { position: relative; width: 100%; height: 100%; transform-style: preserve-3d; transform: rotateY(180deg); }
.rj-card-motion .rj-card-flip { width: 100%; height: 100%; margin: 0; }
.rj-card-motion.is-dealing {
  z-index: 12;
  will-change: transform, filter, opacity;
  animation: rj-card-slide-to-table 720ms cubic-bezier(.16,.78,.22,1) var(--rj-deal-delay, 0ms) both;
}
.rj-card-motion.is-dealing .rj-card-flip-inner {
  animation: rj-card-turn-face-up 360ms cubic-bezier(.2,.72,.2,1) calc(var(--rj-deal-delay, 0ms) + 330ms) both;
}
.rj-deal-to-dealer { --rj-deal-x: 112px; --rj-deal-y: -48px; --rj-deal-depth: 40px; }
.rj-deal-to-left { --rj-deal-x: clamp(130px, 18vw, 280px); --rj-deal-y: clamp(-260px, -22vh, -145px); --rj-deal-depth: 74px; }
.rj-deal-to-center { --rj-deal-x: 28px; --rj-deal-y: clamp(-280px, -26vh, -170px); --rj-deal-depth: 88px; }
.rj-deal-to-right { --rj-deal-x: clamp(-280px, -18vw, -130px); --rj-deal-y: clamp(-260px, -22vh, -145px); --rj-deal-depth: 74px; }
.rj-card-flip .rj-card, .rj-card-flip-face { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; backface-visibility: hidden; }
.rj-card-flip-face { transform: rotateY(180deg); }
.rj-card-flip-face .rj-card { position: relative; }
@keyframes rj-card-slide-to-table {
  0% { opacity: .12; filter: blur(1.5px) drop-shadow(0 28px 22px rgba(0, 0, 0, .15)); transform: translate3d(var(--rj-deal-x), var(--rj-deal-y), var(--rj-deal-depth)) rotate(var(--rj-deal-tilt)) rotateX(12deg) scale(.82); }
  58% { opacity: 1; filter: blur(0) drop-shadow(0 24px 16px rgba(0, 0, 0, .38)); transform: translate3d(7px, -6px, 12px) rotate(-.8deg) rotateX(2deg) scale(1.025); }
  78% { filter: drop-shadow(0 10px 8px rgba(0, 0, 0, .48)); transform: translate3d(-3px, 2px, 0) rotate(-.7deg) scale(.994); }
  100% { opacity: 1; filter: drop-shadow(0 8px 6px rgba(0, 0, 0, .32)); transform: translate3d(0, 0, 0) rotate(0) rotateX(0) scale(1); }
}
@keyframes rj-card-turn-face-up {
  0%, 18% { transform: rotateY(0deg); }
  58% { transform: rotateY(94deg) scale(1.035); }
  100% { transform: rotateY(180deg) scale(1); }
}

.rj-seats {
  position: absolute;
  inset: 52% 18px 18px;
  z-index: 6;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-items: end;
  gap: 8px;
}

.rj-seat {
  position: relative;
  min-width: 0;
  min-height: 200px;
  padding: 11px 8px 10px;
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 18px;
  text-align: center;
  background: linear-gradient(180deg, rgba(7, 8, 12, .34), rgba(7, 8, 12, .82));
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.rj-seat.is-empty { min-height: 140px; display: grid; place-items: center; color: rgba(255, 255, 255, .25); border-style: dashed; background: rgba(5, 6, 9, .25); }
.rj-seat.is-active { transform: translateY(-6px); border-color: rgba(255, 215, 116, .75); box-shadow: 0 0 0 2px rgba(255, 215, 116, .16), 0 0 35px rgba(255, 194, 67, .18); }
.rj-seat.is-self { background: linear-gradient(180deg, rgba(116, 18, 32, .36), rgba(7, 8, 12, .86)); }
.rj-seat.is-winner { border-color: rgba(71, 242, 157, .55); box-shadow: 0 0 25px rgba(71, 242, 157, .16); }
.rj-seat.is-loser { opacity: .72; }
.rj-seat-head { display: flex; align-items: center; justify-content: center; gap: 7px; min-width: 0; }
.rj-seat-avatar { width: 34px; height: 34px; flex: 0 0 auto; border: 2px solid rgba(255, 215, 116, .45); border-radius: 50%; object-fit: cover; background: #1a1b21; }
.rj-seat-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; font-weight: 900; }
.rj-seat-status { margin-top: 4px; min-height: 16px; color: rgba(255, 255, 255, .5); font-size: 10px; }
.rj-seat-hands { display: grid; gap: 4px; margin-top: 4px; }
.rj-hand { position: relative; padding: 3px; border-radius: 10px; }
.rj-hand.is-active { background: rgba(255, 215, 116, .1); box-shadow: inset 0 0 0 1px rgba(255, 215, 116, .35); }
.rj-hand-total { color: var(--rj-gold-soft); font-size: 11px; font-weight: 900; }

.rj-table-stage.is-my-cards .rj-seat:not(.is-self) { transform: scale(.78); opacity: .52; }
.rj-table-stage.is-my-cards .rj-seat.is-self { position: absolute; left: 50%; bottom: 8px; width: min(640px, 92%); min-height: 260px; transform: translateX(-50%); z-index: 20; }
.rj-table-stage.is-my-cards .rj-seat.is-self .rj-card,
.rj-table-stage.is-my-cards .rj-seat.is-self .rj-card-motion { width: clamp(64px, 9vw, 106px); }
.rj-table-stage.is-my-cards .rj-seats { pointer-events: none; }

.rj-side { display: grid; gap: 12px; position: sticky; top: 12px; }
.rj-controls { padding: 15px; }
.rj-segment { display: grid; grid-template-columns: 1fr 1fr; padding: 4px; margin-bottom: 12px; border-radius: 13px; background: #090a0f; }
.rj-segment button { min-height: 44px; border: 0; border-radius: 10px; color: rgba(255, 255, 255, .58); background: transparent; font-weight: 900; cursor: pointer; }
.rj-segment button.is-active { color: #1b1011; background: linear-gradient(135deg, #ffe99d, #ffc94c); }
.rj-wager-stepper { display: grid; grid-template-columns: 44px minmax(0, 1fr) 44px; gap: 7px; margin-bottom: 10px; }
.rj-wager-stepper .rj-input { text-align: center; font-weight: 900; }
.rj-action-dock { display: grid; grid-template-columns: minmax(150px, .55fr) minmax(0, 1.45fr); gap: 9px; margin-top: 9px; padding: 9px; border: 1px solid rgba(255, 215, 116, .2); border-radius: 16px; background: linear-gradient(180deg, rgba(29, 13, 19, .96), rgba(8, 8, 13, .98)); box-shadow: 0 14px 34px rgba(0, 0, 0, .34); }
.rj-primary-actions { display: grid; grid-template-columns: 1fr; gap: 8px; }
.rj-primary-actions .rj-button:first-child:last-child { grid-column: 1 / -1; }
.rj-game-actions { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-top: 0; }
.rj-action-dock .rj-button { min-height: 50px; }
.rj-action-dock .rj-round-timer { grid-column: 1 / -1; margin-top: 0; }
.rj-result { min-height: 46px; display: grid; place-items: center; margin-top: 10px; padding: 9px; border-radius: 12px; color: rgba(255, 255, 255, .68); background: rgba(0, 0, 0, .22); text-align: center; font-size: 13px; font-weight: 800; }
.rj-result.is-win { color: #99ffd0; background: rgba(28, 137, 85, .15); }
.rj-result.is-loss { color: #ffadb5; background: rgba(173, 35, 54, .17); }
.rj-round-timer { min-height: 9px; margin: 10px 0 0; overflow: hidden; border-radius: 999px; background: rgba(255, 255, 255, .08); }
.rj-round-timer span { display: block; width: 0; height: 9px; border-radius: inherit; background: linear-gradient(90deg, #d92f3e, #ffd66d); transition: width .09s linear; }
.rj-rules { padding: 14px; }
.rj-rules summary { min-height: 44px; display: flex; align-items: center; color: var(--rj-gold-soft); font-weight: 900; cursor: pointer; }
.rj-rules ul { margin: 4px 0 0; padding-left: 20px; color: rgba(255, 255, 255, .62); line-height: 1.55; font-size: 12px; }
.rj-message { min-height: 20px; margin-top: 8px; color: rgba(255, 255, 255, .62); font-size: 12px; text-align: center; }
.rj-message.is-error { color: #ff9ca7; }
.rj-share-row { display: flex; gap: 8px; margin-top: 10px; }
.rj-share-row .rj-button { flex: 1; }

@media (max-width: 1040px) {
  .rj-entry { grid-template-columns: 1fr; }
  .rj-entry-hero { min-height: 360px; }
  .rj-entry-actions { grid-template-columns: 1fr 1fr; }
  .rj-game-layout { grid-template-columns: 1fr; }
  .rj-side { position: static; grid-template-columns: minmax(0, 1fr) minmax(250px, .55fr); }
  .rj-controls { order: -1; }
}

@media (max-width: 760px) {
  #redJackGameScreen { padding: max(8px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) calc(82px + env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left)); }
  .rj-topbar { min-height: 56px; margin-bottom: 8px; border-radius: 14px; }
  .rj-brand img { width: 36px; height: 36px; }
  .rj-brand-copy span { display: none; }
  .rj-top-actions .rj-button { padding-inline: 12px; }
  .rj-entry-hero { min-height: 330px; padding: 24px; background-position: 62% center; }
  .rj-entry h1 { font-size: clamp(50px, 17vw, 76px); }
  .rj-entry-actions { grid-template-columns: 1fr; padding: 12px; }
  .rj-mode-card { min-height: 108px; padding: 16px; }
  .rj-browser { padding: 11px; border-radius: 17px; }
  .rj-browser-head { align-items: flex-start; }
  .rj-browser-grid { grid-template-columns: 1fr; }
  .rj-browser-tools { width: 100%; }
  .rj-browser-tools .rj-input, .rj-browser-tools .rj-select { flex: 1 1 120px; }
  .rj-server-card { grid-template-columns: minmax(0, 1fr); }
  .rj-server-card .rj-button { width: 100%; }
  .rj-table-toolbar { flex-wrap: wrap; border-radius: 13px 13px 0 0; }
  .rj-table-toolbar .rj-stage-balance { margin-left: auto; }
  .rj-table-toolbar .rj-top-actions { flex: 0 0 auto; }
  .rj-table-stage { height: clamp(390px, calc(100dvh - 300px), 525px); min-height: 0; border-radius: 0 0 18px 18px; background-position: center; }
  .rj-red-wrap { width: min(250px, 64vw); top: 0; }
  .rj-red-wrap.is-v2-ready { width: min(190px, 50vw); top: -18px; }
  .rj-dealer-hand { top: 31%; }
  .rj-felt-rule { top: 49%; left: 39%; width: 94%; height: 48px; }
  .rj-felt-rule text { letter-spacing: .25px; }
  .rj-seats { inset: 52% 6px 8px; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 3px; }
  .rj-stage-history { top: 8px; left: 8px; width: 36%; min-height: 28px; }
  .rj-history-card { width: 18px; height: 26px; margin-left: -6px; border-radius: 4px; }
  .rj-history-card b, .rj-history-card i { font-size: 7px; }
  .rj-stage-balance { min-height: 30px; padding: 4px 8px; }
  .rj-stage-balance span { display: none; }
  .rj-stage-balance strong { font-size: 11px; }
  .rj-dealer-label { top: 7px; right: 8px; min-height: 30px; gap: 4px; padding: 4px 7px; font-size: 7px; letter-spacing: .04em; }
  .rj-dealer-label strong { min-width: 14px; font-size: 10px; }
  .rj-stage-mute { top: 46px; width: 44px; height: 44px; }
  .rj-seat { min-height: 205px; padding: 7px 2px 6px; border-radius: 11px; }
  .rj-seat.is-empty { min-height: 100px; font-size: 8px; }
  .rj-seat-head { display: grid; justify-items: center; gap: 2px; }
  .rj-seat-avatar { width: 28px; height: 28px; }
  .rj-seat-name { max-width: 100%; font-size: 8px; }
  .rj-seat-status { font-size: 7px; }
  .rj-card-row { min-height: 65px; }
  .rj-card, .rj-card-motion { width: clamp(34px, 9.6vw, 50px); margin-left: -18px; border-radius: 5px; }
  .rj-card-flip { width: clamp(34px, 9.6vw, 50px); margin-left: -18px; }
  .rj-card-rank { top: 3px; left: 4px; font-size: 11px; }
  .rj-card-suit { font-size: 24px; }
  .rj-hand-total { font-size: 8px; }
  .rj-table-stage.is-my-cards .rj-seat.is-self { min-height: 230px; bottom: 5px; }
  .rj-table-stage.is-my-cards .rj-seat.is-self .rj-card,
  .rj-table-stage.is-my-cards .rj-seat.is-self .rj-card-motion { width: clamp(72px, 20vw, 96px); margin-left: -22px; }
  .rj-table-stage.is-my-cards .rj-seat.is-self .rj-card-flip { width: clamp(72px, 20vw, 96px); margin-left: -22px; }
  .rj-side { grid-template-columns: 1fr; }
  .rj-controls { padding: 12px; border-radius: 17px; }
  .rj-action-dock { grid-template-columns: 1fr; gap: 7px; margin-top: 7px; padding: 8px; border-radius: 14px; }
  .rj-game-actions { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .rj-primary-actions .rj-button, .rj-game-actions .rj-button { min-height: 50px; }
  .rj-rules { border-radius: 17px; }
}

@media (max-width: 410px) {
  .rj-brand-copy strong { font-size: 16px; }
  .rj-top-actions .rj-button { font-size: 12px; }
  .rj-table-stage { height: clamp(390px, calc(100dvh - 300px), 525px); min-height: 0; }
  .rj-seat-avatar { width: 24px; height: 24px; }
  .rj-card, .rj-card-motion { width: 37px; margin-left: -19px; }
}

@media (orientation: landscape) and (max-height: 600px) and (pointer: coarse) {
  #redJackGameScreen { padding-bottom: max(10px, env(safe-area-inset-bottom)); }
  .rj-game-layout { grid-template-columns: minmax(0, 1.55fr) minmax(280px, .75fr); }
  .rj-table-stage { height: 470px; min-height: 0; }
  .rj-red-wrap { width: min(215px, 30vw); }
  .rj-red-wrap.is-v2-ready { width: min(175px, 24vw); top: -22px; }
  .rj-dealer-hand { top: 31%; }
  .rj-felt-rule { top: 48.5%; }
  .rj-seats { top: 52%; }
  .rj-side { grid-template-columns: 1fr; }
  .rj-action-dock { grid-template-columns: minmax(130px, .5fr) minmax(0, 1.5fr); }
}

@media (prefers-reduced-motion: reduce) {
  .redjack-cover-art *,
  #redJackGameScreen *,
  #redJackGameScreen *::before,
  #redJackGameScreen *::after {
    animation-duration: 1ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 1ms !important;
  }
  .rj-red-wrap { animation: none; }
}
