:root {
  color-scheme: dark;
  --bg: #100904;
  --surface: #1a1008;
  --surface-2: #26170b;
  --surface-3: #34200f;
  --line: rgba(232, 183, 83, 0.22);
  --text: #fff0bd;
  --muted: #b88a45;
  --blue: #b9791f;
  --blue-2: #ffd36a;
  --green: #55d99f;
  --red: #ff6a7a;
  --yellow: #ffd36a;
  font-family:
    Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
    sans-serif;
}

/* AMD STAKING */
.admin-staking-summary{margin:14px 0}.admin-staking-withdrawals{display:grid;gap:12px;margin:12px 0 22px}.admin-staking-request code{overflow-wrap:anywhere;color:#f4cc58}.admin-staking-request>div,.admin-staking-paid{display:flex;gap:8px;flex-wrap:wrap}.admin-staking-paid input{min-width:min(100%,320px);flex:1}
.staking-shell{max-width:1080px}.staking-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}.staking-summary article,.staking-position,.staking-withdrawal,.staking-quote{border:1px solid rgba(235,188,73,.36);border-radius:20px;background:linear-gradient(145deg,rgba(45,24,13,.96),rgba(11,27,20,.96));padding:16px;display:flex;flex-direction:column;gap:7px}.staking-summary span,.staking-position small,.staking-withdrawal span,.staking-quote small{color:#caa86b}.staking-summary strong{font-size:clamp(18px,4vw,27px);color:#fff1bd}.staking-create{margin-bottom:18px}.staking-quote{margin:12px 0}.staking-quote strong{font-size:22px;color:#f4cc58}.staking-positions,.staking-withdrawals{display:grid;gap:14px}.staking-position header{display:flex;justify-content:space-between;gap:10px;color:#f4cc58}.staking-position-grid,.staking-rewards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.staking-rewards b{font-size:13px;color:#f6e5b5}.staking-withdraw-form{display:grid;grid-template-columns:160px minmax(220px,1fr) auto;gap:8px;margin-top:8px}.staking-withdraw-locked{display:grid;gap:7px;margin-top:10px;padding:12px;border:1px solid rgba(235,188,73,.28);border-radius:14px;background:rgba(15,10,7,.42)}.staking-withdraw-locked b{color:#f4cc58}.staking-withdraw-locked button:disabled{opacity:.55;cursor:not-allowed}.staking-withdrawal{flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap}.staking-withdrawal code{max-width:100%;overflow-wrap:anywhere}@media(max-width:720px){.staking-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.staking-position-grid,.staking-rewards,.staking-withdraw-form{grid-template-columns:1fr}.bottom-nav{overflow-x:auto}.bottom-nav button{min-width:68px}}

/* Final entrance overrides must remain after the legacy shield animation. */
.wallet-intro-video {
  position: absolute;
  z-index: 1;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  background: #000;
  opacity: 0;
}

.wallet-intro.is-running .wallet-intro-video {
  animation: wallet-intro-video-in 420ms ease-out forwards;
}

.wallet-intro .wallet-intro-stage {
  position: absolute;
  z-index: 2;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.wallet-intro .wallet-intro-title,
.wallet-intro.is-running .wallet-intro-title {
  top: 60%;
  bottom: auto;
  width: min(52vw, 310px);
  opacity: 0;
  transform: translate(-50%, 20px) scale(.88);
  clip-path: inset(0 50% 0 50%);
  animation: none;
  font-size: clamp(14px, 2.8vw, 24px);
  letter-spacing: clamp(0px, .12vw, 1.2px);
  color: #ffe18a;
  text-shadow: 0 0 8px #ffbf2f, 0 0 24px rgba(255, 185, 39, .78), 0 2px 4px #000;
}

.wallet-intro.is-running .wallet-intro-title span {
  opacity: 0;
  animation: none;
}

.wallet-intro.show-title .wallet-intro-title {
  animation: wallet-video-title-pull 720ms cubic-bezier(.16,.82,.24,1) forwards;
}

.wallet-intro.show-title .wallet-intro-title span {
  animation: wallet-title-letter .52s cubic-bezier(.16,.9,.28,1.35) forwards;
  animation-delay: calc(var(--letter-index) * .065s);
}

@media (max-width: 520px) {
  .wallet-intro .wallet-intro-stage { width: 100%; height: 100%; }
  .wallet-intro .wallet-intro-title,
  .wallet-intro.is-running .wallet-intro-title {
    top: 60%;
    bottom: auto;
    width: 52vw;
    font-size: clamp(12px, 3.5vw, 19px);
    letter-spacing: 0;
  }
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  min-height: 100vh;
  width: 100%;
  overflow-x: hidden;
  background:
    radial-gradient(circle at 20% 8%, rgba(255, 211, 106, 0.16), transparent 27rem),
    radial-gradient(circle at 86% 74%, rgba(128, 71, 23, 0.34), transparent 25rem),
    linear-gradient(145deg, rgba(54, 28, 8, 0.72), transparent 42rem),
    var(--bg);
  color: var(--text);
  text-shadow: 0 0 10px rgba(255, 211, 106, 0.12);
}

body[data-theme="gold"] {
  --bg: #100904;
  --surface: #1a1008;
  --surface-2: #26170b;
  --surface-3: #34200f;
  --line: rgba(232, 183, 83, 0.22);
  --text: #fff0bd;
  --muted: #b88a45;
  --blue: #c4932f;
  --blue-2: #f1c85b;
  --green: #43d69b;
}

body[data-theme="blue"] {
  --blue: #1d6fff;
  --blue-2: #73b7ff;
}

html {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

html,
body {
  overscroll-behavior-x: none;
}

img,
video,
canvas,
svg {
  max-width: 100%;
}

button,
input,
select {
  font: inherit;
}

button {
  position: relative;
  overflow: hidden;
  cursor: pointer;
  isolation: isolate;
  transition:
    border-color 0.22s ease,
    box-shadow 0.22s ease,
    color 0.22s ease,
    transform 0.22s ease;
}

.primary {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

button:disabled {
  cursor: not-allowed;
  opacity: 0.52;
}

.primary::before {
  content: "";
  position: absolute;
  top: -55%;
  bottom: -55%;
  left: -85%;
  z-index: 1;
  width: 62%;
  transform: skewX(-22deg);
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 250, 220, 0.18),
    rgba(255, 255, 244, 0.95),
    rgba(255, 196, 53, 0.72),
    transparent
  );
  filter: blur(0.4px);
  opacity: 0;
  pointer-events: none;
}

.primary::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: inherit;
  background:
    linear-gradient(180deg, rgba(255, 255, 235, 0.44), transparent 34%),
    linear-gradient(135deg, rgba(255, 244, 190, 0.3), transparent 42%),
    radial-gradient(circle at 50% 0%, rgba(255, 255, 242, 0.28), transparent 58%);
  opacity: 0.66;
  pointer-events: none;
}

.primary:not(:disabled)::before {
  animation: buttonShine 2.8s ease-in-out infinite;
}

.primary:not(:disabled):hover,
.primary:not(:disabled):focus-visible {
  box-shadow:
    0 0 0 1px rgba(255, 236, 164, 0.56),
    0 0 34px rgba(255, 190, 68, 0.52),
    inset 0 0 22px rgba(255, 255, 220, 0.16);
  transform: translateY(-1px);
}

.primary:disabled::before,
.primary:disabled::after {
  animation: none;
  opacity: 0;
}

body.no-button-animation .primary::before,
body.no-button-animation .primary::after {
  animation: none !important;
  opacity: 0;
}

.primary > * {
  position: relative;
  z-index: 2;
}

@keyframes buttonShine {
  0%,
  40% {
    left: -85%;
    opacity: 0;
  }

  48% {
    opacity: 0.95;
  }

  68% {
    left: 125%;
    opacity: 0;
  }

  100% {
    left: 125%;
    opacity: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .primary::before {
    animation: none !important;
  }

  button {
    transition: none;
  }
}

.app-shell {
  width: min(1180px, calc(100% - 28px));
  max-width: 100%;
  min-height: 100vh;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(360px, 430px) minmax(0, 1fr);
  gap: 28px;
  align-items: center;
  padding: 28px 0;
}

.auth-gate {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: grid;
  place-items: start center;
  padding: 18px;
  overflow-y: auto;
  background:
    radial-gradient(circle at 30% 12%, rgba(255, 211, 106, 0.13), transparent 24rem),
    rgba(16, 9, 4, 0.94);
  backdrop-filter: blur(18px);
}

.auth-gate[hidden] {
  display: none;
}

.auth-card {
  width: min(430px, 100%);
  max-height: calc(100svh - 36px);
  display: grid;
  gap: 16px;
  margin: auto 0;
  padding: 22px;
  overflow-y: auto;
  border: 1px solid rgba(232, 183, 83, 0.18);
  border-radius: 24px;
  background: linear-gradient(180deg, #24160b 0%, #140b05 100%);
  box-shadow: 0 32px 110px rgba(0, 0, 0, 0.58);
}

.route-loader {
  position: fixed;
  inset: 0;
  z-index: 95;
  display: none;
  place-items: center;
  gap: 12px;
  background: rgba(16, 9, 4, 0.52);
  color: var(--text);
  backdrop-filter: blur(8px);
}

.route-loader.show {
  display: grid;
}

.route-loader span {
  width: 38px;
  height: 38px;
  border: 3px solid rgba(255, 211, 106, 0.22);
  border-top-color: var(--blue-2);
  border-radius: 999px;
  animation: loaderSpin 0.72s linear infinite;
}

.route-loader strong {
  font-size: 0.88rem;
  letter-spacing: 0;
}

@keyframes loaderSpin {
  to {
    transform: rotate(360deg);
  }
}

.auth-brand {
  display: flex;
  align-items: center;
  gap: 12px;
}

.auth-brand strong,
.auth-brand span {
  display: block;
}

.auth-brand strong {
  font-size: 1.08rem;
}

.auth-brand span {
  margin-top: 2px;
  color: var(--muted);
  font-size: 0.88rem;
}

.auth-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  padding: 4px;
  border-radius: 16px;
  background: rgba(88, 48, 14, 0.34);
}

.auth-mode-title {
  margin: 0;
  text-align: center;
  font-size: 1.28rem;
}

.auth-mode-switches {
  order: 20;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 2px;
  background: transparent;
}

.auth-mode-switches button {
  min-height: 38px;
  border: 1px solid rgba(232, 183, 83, 0.22);
  background: rgba(88, 48, 14, 0.18);
}

.auth-mode-switches button[hidden] {
  display: none;
}

.auth-tabs button {
  min-height: 42px;
  border: 0;
  border-radius: 12px;
  background: transparent;
  color: var(--muted);
  font-weight: 850;
  padding: 0 8px;
  font-size: 0.78rem;
}

.auth-tabs button.active {
  background: var(--surface-2);
  color: var(--text);
}

.auth-fields {
  display: grid;
  gap: 12px;
}

.auth-fields[hidden] {
  display: none;
}

.auth-recovery-note {
  color: var(--muted);
  font-size: 0.82rem;
  line-height: 1.4;
}

#authRecoveryPhrase {
  min-height: 104px;
  resize: vertical;
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  line-height: 1.45;
}

@media (max-width: 480px) {
  .auth-gate {
    padding: 10px;
  }

  .auth-card {
    max-height: calc(100svh - 20px);
    padding: 16px;
    border-radius: 20px;
  }
}

.phone {
  width: 100%;
  max-width: 100%;
  min-height: min(850px, calc(100vh - 56px));
  max-height: 900px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  border: 1px solid rgba(232, 183, 83, 0.18);
  border-radius: 28px;
  background: linear-gradient(180deg, #211308 0%, #120904 100%);
  box-shadow: 0 32px 100px rgba(0, 0, 0, 0.5);
}

.topbar,
.quick-actions,
.tabs,
.bottom-nav,
.widget-title,
.amount-row,
.quote-box,
.asset-row,
.address-row,
.history-row,
.defi-card,
.status-line,
.check-row {
  display: flex;
  align-items: center;
}

.topbar {
  justify-content: space-between;
  padding: 18px 18px 10px;
}

.brand-lockup {
  min-width: 0;
  display: grid;
  justify-items: center;
  gap: 2px;
}

.brand-lockup strong {
  max-width: 190px;
  overflow: hidden;
  color: var(--text);
  font-size: 0.95rem;
  font-weight: 900;
  letter-spacing: 0;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.brand-lockup span {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 700;
}

.icon-button,
.wallet-address button {
  width: 42px;
  height: 42px;
  display: inline-grid;
  place-items: center;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: var(--surface);
  color: var(--text);
}

#refreshButton {
  flex: 0 0 42px;
  border-color: rgba(255, 228, 138, 0.4);
  background:
    radial-gradient(circle at 35% 22%, rgba(255, 244, 203, 0.34), transparent 38%),
    linear-gradient(180deg, rgba(255, 213, 91, 0.3), rgba(92, 48, 9, 0.96));
  box-shadow:
    inset 0 1px 0 rgba(255, 247, 216, 0.36),
    0 8px 22px rgba(0, 0, 0, 0.32);
  color: #2d1707;
}

#refreshButton .ui-icon {
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
}

#refreshButton .ui-icon svg {
  width: 22px;
  height: 22px;
  stroke: #2d1707;
  stroke-width: 2.15;
  filter: drop-shadow(0 0 5px rgba(255, 244, 207, 0.32));
}

#refreshButton .ui-icon {
  font-size: 1.28rem;
  line-height: 1;
}

.avatar {
  width: 28px;
  height: 28px;
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--blue), var(--green));
  font-weight: 800;
  overflow: hidden;
}

.avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.site-logo {
  background: #d9aa43;
}

.site-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  transform: scale(1.59);
}

.topbar .site-logo {
  width: 32px;
  height: 32px;
  margin: 0;
}

.network-pill,
.fee-pill {
  min-height: 38px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--surface);
  color: var(--text);
  padding: 0 14px;
  font-weight: 700;
}

.network-dot,
.dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--yellow);
}

.network-pill {
  display: flex;
  align-items: center;
  gap: 8px;
}

.balance-panel {
  margin: 8px 18px 0;
  padding: 22px;
  border-radius: 24px;
  background:
    linear-gradient(145deg, rgba(85, 45, 12, 0.98), rgba(38, 21, 8, 0.94)),
    var(--surface-3);
  border: 1px solid rgba(232, 183, 83, 0.2);
  box-shadow: 0 22px 60px rgba(69, 36, 8, 0.4);
}

.status-line {
  gap: 8px;
  margin-bottom: 20px;
  color: rgba(255, 232, 174, 0.78);
  font-size: 0.86rem;
}

.dot.live {
  background: var(--green);
}

.dot.error {
  background: var(--red);
}

.muted {
  color: var(--muted);
  text-shadow: 0 0 8px rgba(210, 151, 56, 0.08);
}

.balance-panel .muted {
  color: rgba(214, 169, 93, 0.78);
}

.portfolio-chart {
  margin-top: 16px;
  padding-top: 12px;
  border-top: 1px solid rgba(244, 202, 103, 0.16);
}

.portfolio-chart-head,
.portfolio-chart-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: rgba(255, 232, 174, 0.72);
  font-size: 0.72rem;
}

.portfolio-chart-head strong {
  color: #73efb3;
  font-size: 0.76rem;
}

.portfolio-chart-head strong.negative {
  color: #ff7c7c;
}

.portfolio-chart svg {
  display: block;
  width: 100%;
  height: 72px;
  margin: 6px 0 3px;
  overflow: visible;
}

.portfolio-chart-line {
  fill: none;
  stroke: #f6c95f;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: drop-shadow(0 0 4px rgba(246, 201, 95, 0.58));
}

.portfolio-chart-area { fill: url(#portfolioChartFill); }
.portfolio-chart-point { fill: #fff2bd; filter: drop-shadow(0 0 4px #f6c95f); }
.portfolio-chart-foot { font-size: 0.62rem; }
.portfolio-chart-foot span:nth-child(2) { text-align: center; }

.connect-strip {
  padding: 12px 18px 0;
}

.connect-strip .primary {
  min-height: 44px;
}

h1,
h2,
h3,
p {
  margin: 0;
}

h1 {
  margin-top: 4px;
  color: #fff3c8;
  font-size: 2.75rem;
  line-height: 1;
  letter-spacing: 0;
  text-shadow:
    0 0 10px rgba(255, 211, 106, 0.2),
    0 1px 0 rgba(92, 52, 12, 0.8);
}

h2,
h3 {
  color: #fff0bd;
  text-shadow:
    0 0 9px rgba(255, 211, 106, 0.16),
    0 1px 0 rgba(92, 52, 12, 0.7);
}

.quick-actions {
  justify-content: space-between;
  gap: 10px;
  padding: 18px;
}

.quick-actions button {
  flex: 1;
  min-width: 0;
  display: grid;
  gap: 8px;
  justify-items: center;
  border: 1px solid rgba(255, 220, 130, 0.22);
  border-radius: 20px;
  background:
    linear-gradient(180deg, rgba(82, 50, 18, 0.96), rgba(34, 20, 8, 0.96)),
    rgba(40, 24, 11, 0.9);
  box-shadow:
    inset 0 1px 0 rgba(255, 243, 198, 0.18),
    0 10px 24px rgba(0, 0, 0, 0.18);
  color: var(--text);
  font-size: 0.78rem;
  font-weight: 700;
  padding: 10px 6px;
}

.quick-actions b,
.security-card b {
  font-weight: 750;
}

.quick-actions span {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255, 220, 120, 0.22), rgba(52, 29, 8, 0.88));
  color: #ffd66b;
  font-size: 1.3rem;
}

.quick-actions button:hover,
.quick-actions button:focus-visible,
.tabs button:hover,
.tabs button:focus-visible,
.bottom-nav button:hover,
.bottom-nav button:focus-visible {
  transform: translateY(-1px);
  box-shadow:
    0 0 0 1px rgba(255, 227, 145, 0.28),
    0 12px 28px rgba(0, 0, 0, 0.22);
}

.ui-icon svg {
  width: 22px;
  height: 22px;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.tabs {
  gap: 8px;
  padding: 0 18px 12px;
}

.tabs button {
  min-height: 36px;
  border: 1px solid rgba(255, 214, 120, 0.18);
  border-radius: 999px;
  background: rgba(45, 26, 10, 0.68);
  color: var(--muted);
  padding: 0 14px;
  font-weight: 750;
  box-shadow: inset 0 1px 0 rgba(255, 245, 210, 0.06);
}

.tabs .nav-emoji {
  display: inline-grid;
  margin-right: 5px;
  place-items: center;
  font-size: 1.05em;
  line-height: 1;
  filter: drop-shadow(0 1px 3px rgba(255, 203, 75, 0.3));
}

.bottom-nav .ui-icon {
  width: auto;
  height: auto;
  font-size: 1.35rem;
  line-height: 1;
  filter: drop-shadow(0 1px 4px rgba(255, 203, 75, 0.32));
}

html[dir="rtl"] .tabs .nav-emoji {
  margin-right: 0;
  margin-left: 5px;
}

.tabs button.active {
  border-color: rgba(255, 226, 132, 0.42);
  background:
    radial-gradient(circle at 50% 10%, rgba(255, 245, 205, 0.22), transparent 55%),
    linear-gradient(180deg, rgba(110, 67, 17, 0.96), rgba(49, 29, 10, 0.96));
  color: #fff1c2;
  box-shadow:
    0 0 0 1px rgba(255, 226, 132, 0.18),
    0 10px 20px rgba(0, 0, 0, 0.18);
}

.tab-panel {
  display: none;
  flex: 1;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 0 18px 18px;
  overscroll-behavior: contain;
}

.tab-panel.active {
  display: block;
}

#earnPanel.active {
  position: fixed;
  inset: 0;
  z-index: 240;
  width: 100vw;
  height: 100dvh;
  max-width: none;
  overflow-x: hidden;
  overflow-y: auto;
  padding: max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));
  background:
    radial-gradient(circle at 50% 0, rgba(230, 171, 55, 0.18), transparent 34rem),
    linear-gradient(180deg, #1d0e03 0%, #080402 100%);
  overscroll-behavior: contain;
}

#earnPanel.active .earn-card {
  width: min(760px, 100%);
  min-height: calc(100dvh - max(24px, env(safe-area-inset-top) + env(safe-area-inset-bottom)));
  margin: 0 auto;
}

.earn-back-button {
  order: 99;
  margin-top: auto;
  margin-bottom: 0;
}

.asset-list,
.history-list,
.address-list {
  display: grid;
  gap: 10px;
}

.asset-list-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 0 0 12px;
}

.asset-list-toolbar strong {
  display: block;
  color: var(--text);
  font-size: 1rem;
  font-weight: 900;
}

.toolbar-link {
  min-height: 38px;
  border: 1px solid rgba(255, 218, 122, 0.22);
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(86, 52, 18, 0.94), rgba(40, 24, 9, 0.94));
  color: #fff1c2;
  font-weight: 850;
  font-size: 0.92rem;
  padding: 0 14px;
  cursor: pointer;
  text-decoration: none;
  box-shadow: inset 0 1px 0 rgba(255, 242, 198, 0.12);
}

.asset-row,
.history-row,
.empty-state,
.address-row,
.address-note,
.earn-card,
.p2p-market,
.defi-card,
.metric-grid article,
.nft-grid article,
.swap-widget,
.security-card,
.send-modal {
  border: 1px solid rgba(232, 183, 83, 0.14);
  border-radius: 18px;
  background: rgba(31, 18, 8, 0.9);
}

.asset-row,
.history-row,
.address-row,
.defi-card {
  justify-content: space-between;
  gap: 12px;
  padding: 14px;
}

.p2p-market {
  display: grid;
  gap: 14px;
  padding: 16px;
}

.p2p-screen {
  position: fixed;
  inset: 0;
  z-index: 65;
  display: none;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  padding: 18px;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  background:
    radial-gradient(circle at 24% 8%, rgba(255, 211, 106, 0.13), transparent 26rem),
    var(--bg);
}

.p2p-screen.open {
  display: block;
}

.p2p-shell {
  width: min(720px, 100%);
  max-width: 100%;
  box-sizing: border-box;
  margin: 0 auto;
  padding-bottom: max(22px, env(safe-area-inset-bottom));
}

.p2p-screen .p2p-market {
  max-width: 100%;
  box-sizing: border-box;
  border: 1px solid rgba(232, 183, 83, 0.14);
  border-radius: 18px;
  background: rgba(31, 18, 8, 0.9);
}

.p2p-head,
.p2p-section-title,
.p2p-offer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.p2p-head h2,
.p2p-section-title h3 {
  margin: 0;
}

.p2p-safety,
.p2p-offer {
  border: 1px solid rgba(232, 183, 83, 0.15);
  border-radius: 16px;
  background: rgba(18, 9, 4, 0.42);
  padding: 13px;
}

.p2p-safety {
  display: grid;
  gap: 6px;
}

.p2p-safety span,
.p2p-section-title span,
.p2p-offer small {
  color: var(--muted);
  font-size: 0.84rem;
  line-height: 1.35;
}

.p2p-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.p2p-form label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 0.86rem;
  font-weight: 750;
}

.p2p-form input,
.p2p-form select {
  width: 100%;
  min-width: 0;
  min-height: 44px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface-2);
  color: var(--text);
  padding: 0 12px;
  font: inherit;
  font-weight: 800;
}

.p2p-wide {
  grid-column: 1 / -1;
}

.p2p-list {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.p2p-list[hidden] {
  display: none;
}

.p2p-deals-title button {
  min-height: 36px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface-2);
  color: var(--text);
  padding: 0 12px;
  font-weight: 850;
}

.p2p-offer {
  align-items: flex-start;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

.p2p-offer > div {
  min-width: 0;
  display: grid;
  gap: 5px;
}

.p2p-offer strong {
  color: var(--text);
  font-size: 1.05rem;
}

.p2p-offer.sell .fee-pill {
  border-color: rgba(78, 216, 139, 0.28);
  color: #8ff0b8;
}

.p2p-offer.buy .fee-pill {
  border-color: rgba(255, 211, 106, 0.32);
  color: var(--gold-text);
}

.p2p-offer button {
  min-width: 116px;
}

.p2p-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  min-width: 210px;
  max-width: 100%;
}

.p2p-actions button {
  min-height: 40px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface-2);
  color: var(--text);
  font-weight: 850;
}

.p2p-actions button:disabled {
  cursor: not-allowed;
  opacity: 0.45;
}

.p2p-actions button[aria-disabled="true"] {
  cursor: not-allowed;
  opacity: 0.55;
}

.p2p-chat {
  display: grid;
  gap: 12px;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
  border: 1px solid rgba(232, 183, 83, 0.16);
  border-radius: 16px;
  background: rgba(18, 9, 4, 0.5);
  padding: 13px;
}

.p2p-screen.chat-mode .p2p-safety,
.p2p-screen.chat-mode .p2p-form,
.p2p-screen.chat-mode .p2p-offers-title,
.p2p-screen.chat-mode #p2pOfferList,
.p2p-screen.chat-mode .p2p-deals-title,
.p2p-screen.chat-mode #p2pDealList,
.p2p-screen.chat-mode #p2pStatus {
  display: none;
}

.p2p-chat[hidden] {
  display: none;
}

.p2p-chat-messages {
  display: grid;
  max-height: 280px;
  overflow-y: auto;
  gap: 9px;
  padding-right: 2px;
}

.chat-message {
  display: grid;
  gap: 5px;
  border: 1px solid rgba(232, 183, 83, 0.12);
  border-radius: 14px;
  background: rgba(16, 8, 3, 0.56);
  padding: 10px;
  overflow-wrap: anywhere;
}

.chat-message strong {
  color: var(--gold-text);
  font-size: 0.88rem;
}

.chat-message span {
  color: var(--text);
  line-height: 1.35;
}

.chat-message small {
  color: var(--muted);
  font-size: 0.75rem;
}

.chat-message a {
  width: fit-content;
  max-width: 100%;
  color: #fff1bf;
  font-weight: 850;
  overflow-wrap: anywhere;
}

.chat-image-link {
  width: min(100%, 260px);
  display: block;
  overflow: hidden;
  border: 1px solid rgba(232, 183, 83, 0.18);
  border-radius: 12px;
  background: rgba(0, 0, 0, 0.22);
}

.chat-image {
  width: 100%;
  max-height: 260px;
  display: block;
  object-fit: contain;
}

.chat-message.admin {
  border-color: rgba(49, 209, 154, 0.3);
  background: rgba(21, 65, 49, 0.35);
}

.admin-page {
  min-height: 100svh;
  overflow-x: hidden;
  background:
    radial-gradient(circle at 18% 0%, rgba(255, 211, 106, 0.16), transparent 28rem),
    var(--bg);
  color: var(--text);
}

.admin-shell {
  width: min(1040px, calc(100% - 28px));
  margin: 0 auto;
  padding: 22px 0 34px;
}

.admin-hero,
.admin-card {
  border: 1px solid rgba(232, 183, 83, 0.16);
  border-radius: 18px;
  background: rgba(31, 18, 8, 0.9);
  box-shadow: 0 22px 70px rgba(6, 3, 1, 0.38);
}

.admin-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
  padding: 16px;
}

.brand-lockup {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.brand-lockup img {
  width: 58px;
  height: 58px;
  flex: 0 0 auto;
  border-radius: 16px;
  object-fit: cover;
}

.brand-lockup span {
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 850;
}

.brand-lockup h1,
.admin-card h2 {
  margin: 2px 0 0;
}

.admin-wallet-link {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--line);
  border-radius: 12px;
  color: var(--gold-text);
  padding: 0 14px;
  font-weight: 850;
  text-decoration: none;
}

.admin-card {
  display: grid;
  gap: 12px;
  padding: 16px;
}

.admin-card[hidden],
.admin-dashboard[hidden] {
  display: none;
}

.admin-dashboard {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.admin-sections-nav {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.admin-sections-nav button {
  min-height: 40px;
  padding: 0 14px;
  border-radius: 12px;
  border: 1px solid rgba(232, 183, 83, 0.18);
  background: rgba(73, 43, 18, 0.9);
  color: var(--gold-text);
  font-weight: 800;
}

.admin-sections-nav button.active {
  background: linear-gradient(180deg, #ffe29f 0%, #d89f2a 100%);
  color: #1a1107;
  border-color: rgba(255, 223, 151, 0.55);
}

.admin-rate-preview {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.admin-rate-preview article {
  border: 1px solid rgba(232, 183, 83, 0.12);
  border-radius: 12px;
  padding: 12px;
  background: rgba(20, 11, 4, 0.5);
}

.admin-liquidity-builder {
  display: grid;
  gap: 14px;
  margin-top: 18px;
  padding: 18px;
  border: 1px solid rgba(240, 190, 74, 0.35);
  border-radius: 22px;
  background: rgba(8, 20, 15, 0.72);
}

.admin-liquidity-builder .admin-rate-preview {
  margin: 0;
}

.admin-rate-preview span {
  display: block;
  color: var(--muted);
  font-size: 0.8rem;
  margin-bottom: 6px;
}

.admin-users-card {
  grid-column: 1 / -1;
}

.admin-poker-watch {
  grid-column: 1 / -1;
}

.admin-overview-live {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 16px;
}

.admin-overview-live article {
  min-width: 0;
  padding: 14px;
  border: 1px solid rgba(232, 183, 83, 0.26);
  border-radius: 16px;
  background: linear-gradient(145deg, rgba(56, 29, 8, 0.8), rgba(18, 9, 4, 0.66));
  box-shadow: inset 0 1px rgba(255, 239, 178, 0.08);
}

.admin-overview-live small,
.admin-overview-live span {
  display: block;
  color: var(--muted);
}

.admin-overview-live strong {
  display: block;
  margin: 5px 0;
  color: #fff1bf;
  font-size: clamp(1.45rem, 4vw, 2rem);
}

.admin-overview-live span {
  overflow-wrap: anywhere;
  font-size: 0.78rem;
}

.admin-game-commissions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.admin-game-commissions > div {
  border: 1px solid rgba(232, 183, 83, 0.18);
  border-radius: 14px;
  background: rgba(18, 9, 4, 0.48);
  padding: 10px;
}

.admin-game-commissions h2 {
  margin: 3px 0 0;
  font-size: 1.12rem;
}

.admin-game-commissions small {
  color: var(--muted);
}

.admin-slot-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 12px 0;
}

.admin-slot-summary[hidden] {
  display: none;
}

.admin-slot-summary article {
  border: 1px solid rgba(232, 183, 83, 0.18);
  border-radius: 14px;
  background: rgba(18, 9, 4, 0.56);
  padding: 14px;
}

.admin-slot-summary span {
  color: var(--muted);
  font-size: 0.82rem;
}

.admin-slot-summary strong {
  display: block;
  margin-top: 6px;
  color: #fff1bf;
  font-size: 1.25rem;
}

.admin-slot-summary .admin-slot-online {
  grid-column: 1 / -1;
}

.admin-slot-online strong {
  overflow-wrap: anywhere;
  font-size: 1rem;
}

.shining-spin-actions {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 8px;
}

.shining-spin-actions button {
  min-height: 40px;
  border: 1px solid rgba(232, 183, 83, 0.28);
  border-radius: 14px;
  background: var(--surface-2);
  color: var(--text);
  font-weight: 1000;
}

.admin-online-game-chooser {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 10px 0 14px;
}

.admin-online-game-chooser[hidden] {
  display: none;
}

.admin-online-game-chooser button {
  min-height: 52px;
  border: 1px solid rgba(232, 183, 83, 0.28);
  border-radius: 14px;
  background: rgba(40, 20, 8, 0.82);
  color: var(--text);
  font-weight: 900;
}

.admin-online-game-chooser button:last-child {
  border-color: rgba(255, 91, 108, 0.42);
  background: rgba(101, 12, 25, 0.84);
}

.admin-online-game-chooser button.active {
  box-shadow: 0 0 0 2px rgba(117, 241, 183, 0.3), 0 0 22px rgba(80, 235, 164, 0.2);
}

.admin-live-badge {
  border: 1px solid rgba(80, 235, 164, 0.42);
  border-radius: 999px;
  background: rgba(20, 91, 62, 0.34);
  color: #75f1b7;
  padding: 6px 10px;
  font-size: 0.76rem;
  font-weight: 950;
}

.admin-poker-board {
  display: grid;
  gap: 16px;
  border: 7px solid rgba(91, 48, 17, 0.96);
  border-radius: 80px;
  background: radial-gradient(circle, rgba(70, 151, 86, 0.45), transparent 60%), linear-gradient(145deg, #145a33, #072f1c);
  padding: 24px;
  box-shadow: inset 0 0 0 3px rgba(255, 220, 132, 0.18), inset 0 20px 60px rgba(255, 255, 220, 0.06);
}

.admin-poker-board.admin-seka-board {
  border-color: rgba(92, 15, 22, 0.98);
  border-radius: 70px;
  background: radial-gradient(circle, rgba(229, 69, 81, 0.38), transparent 62%), linear-gradient(145deg, #9b2030, #4c0914);
  box-shadow: inset 0 0 0 3px rgba(255, 218, 176, 0.18), inset 0 20px 60px rgba(255, 225, 215, 0.06);
}

.admin-seka-board + .admin-poker-players {
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}

.admin-poker-meta {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px 16px;
  color: #fff0b8;
}

.admin-poker-meta span,
.admin-poker-meta strong {
  border-radius: 999px;
  background: rgba(10, 34, 20, 0.72);
  padding: 7px 11px;
}

.admin-poker-community,
.admin-poker-hole-cards {
  display: flex;
  justify-content: center;
  gap: 8px;
}

.admin-poker-hole-cards {
  padding: 5px;
  border-radius: 12px;
  cursor: pointer;
  touch-action: manipulation;
  user-select: none;
  transition: background 160ms ease, box-shadow 160ms ease;
}

.admin-poker-hole-cards:hover {
  background: rgba(255, 211, 106, 0.08);
  box-shadow: 0 0 0 1px rgba(255, 220, 126, 0.28);
}

.admin-poker-card {
  position: relative;
  width: 68px;
  height: 97px;
  flex: 0 0 auto;
  overflow: hidden;
  border: 2px solid rgba(255, 238, 182, 0.94);
  border-radius: 9px;
  background: rgba(23, 13, 7, 0.9);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.38), 0 0 18px rgba(255, 220, 126, 0.34);
}

.admin-poker-card img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  filter: brightness(1.95) contrast(0.68) saturate(1.14);
}

.admin-poker-card.empty {
  border-style: dashed;
  opacity: 0.36;
}

.admin-poker-card.winning {
  z-index: 2;
  border-color: #78ffb5;
  box-shadow: 0 0 0 2px rgba(83, 255, 164, 0.48), 0 0 18px rgba(60, 255, 149, 0.95), 0 0 38px rgba(36, 235, 129, 0.72);
  animation: adminPokerWinningGlow 1.1s ease-in-out infinite alternate;
}

@keyframes adminPokerWinningGlow {
  from { filter: brightness(1); }
  to { filter: brightness(1.18); box-shadow: 0 0 0 3px rgba(104, 255, 178, 0.58), 0 0 26px rgba(60, 255, 149, 1), 0 0 48px rgba(36, 235, 129, 0.82); }
}

.admin-poker-players {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 10px;
}

.admin-poker-player {
  display: grid;
  gap: 8px;
  border: 1px solid rgba(232, 183, 83, 0.18);
  border-radius: 14px;
  background: rgba(18, 9, 4, 0.58);
  padding: 11px;
}

.admin-poker-player.turn {
  border-color: rgba(117, 241, 183, 0.68);
  box-shadow: 0 0 20px rgba(80, 235, 164, 0.18);
}

.admin-poker-player.leader {
  border-color: rgba(104, 255, 178, 0.82);
  background: radial-gradient(circle at 50% 70%, rgba(34, 206, 113, 0.2), transparent 62%), rgba(12, 52, 30, 0.82);
  box-shadow: inset 0 0 22px rgba(55, 255, 151, 0.12), 0 0 24px rgba(48, 237, 137, 0.3);
}

.admin-poker-player.folded {
  opacity: 0.55;
}

.admin-poker-player-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.admin-poker-player-head span,
.admin-poker-player small {
  color: var(--muted);
}

.admin-game-message-box {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 6px;
}

.admin-game-message-box input {
  min-width: 0;
  min-height: 34px;
  padding: 6px 8px;
  border-radius: 9px;
  font-size: 0.76rem;
}

.admin-game-message-box button {
  width: auto;
  min-height: 34px;
  padding: 5px 9px;
  border-radius: 9px;
  font-size: 0.72rem;
}

.admin-poker-combination,
.admin-poker-analysis-wait {
  min-height: 18px;
  font-size: 0.76rem;
}

.admin-poker-analysis-wait {
  color: var(--muted);
}

.admin-poker-combination {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  color: #d9cfae;
}

.admin-poker-combination i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #8c8067;
}

.admin-poker-combination.leading {
  color: #9dffca;
}

.admin-poker-combination.leading i {
  background: #53ffa4;
  box-shadow: 0 0 7px #53ffa4, 0 0 15px rgba(83, 255, 164, 0.85);
  animation: adminPokerLamp 900ms ease-in-out infinite alternate;
}

@keyframes adminPokerLamp {
  to { transform: scale(1.3); filter: brightness(1.3); }
}

.admin-poker-hole-cards .admin-poker-card {
  width: 74px;
  height: 105px;
}

.admin-user-row {
  display: grid;
  gap: 5px;
  border: 1px solid rgba(232, 183, 83, 0.14);
  border-radius: 14px;
  background: rgba(18, 9, 4, 0.44);
  padding: 12px;
}

.admin-user-row small {
  color: var(--muted);
  overflow-wrap: anywhere;
}

.admin-global-status {
  margin-top: 14px;
}

.asset-row {
  cursor: pointer;
}

.asset-row:hover,
.asset-row:focus-visible {
  border-color: rgba(255, 211, 106, 0.36);
  outline: none;
  background: rgba(49, 29, 12, 0.96);
}

.asset-icon {
  position: relative;
}

.asset-network-badge {
  position: absolute;
  right: -10px;
  top: -10px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  overflow: hidden;
  border: 2px solid rgba(255, 236, 182, 0.88);
  background: #120902;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.42);
  z-index: 3;
}

.asset-network-badge img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.admin-card[data-admin-section="rates"] > label.field:first-of-type {
  display: none;
}

.asset-row-extra {
  position: relative;
  padding-bottom: 56px;
}

.asset-more-button {
  width: 100%;
  min-height: 44px;
  border: 1px solid rgba(255, 219, 124, 0.2);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(86, 52, 18, 0.92), rgba(32, 18, 8, 0.96));
  color: #fff1c2;
  font-weight: 850;
  margin-top: 8px;
}

.asset-extra-section {
  display: grid;
  gap: 10px;
  margin-top: 10px;
  padding: 14px;
  border: 1px solid rgba(232, 183, 83, 0.14);
  border-radius: 18px;
  background: rgba(31, 18, 8, 0.74);
}

.asset-extra-title {
  display: grid;
  gap: 4px;
  margin-bottom: 2px;
}

.asset-extra-title span {
  color: var(--muted);
  font-size: 0.82rem;
}

.asset-pin-button {
  position: absolute;
  right: 14px;
  bottom: 12px;
  min-height: 34px;
  padding: 0 12px;
  border: 1px solid rgba(255, 220, 130, 0.22);
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(86, 52, 18, 0.94), rgba(40, 24, 9, 0.94));
  color: #fff1c2;
  font-weight: 800;
  font-size: 0.82rem;
}

.address-note {
  display: grid;
  gap: 6px;
  margin-bottom: 10px;
  padding: 14px;
}

.back-button {
  width: 100%;
  min-height: 42px;
  margin-bottom: 10px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface-2);
  color: var(--text);
  font-weight: 850;
}

#addressesPanel.active,
.p2p-shell,
.game-shell,
.game-menu-card,
.poker-shell,
.settings-shell {
  display: flex;
  flex-direction: column;
}

#backToTokens,
#p2pBackButton,
#gameBackButton,
#gameMenuBackButton,
#casinoCollectionBackButton,
#amdShiningVideoBackButton,
#aztecAmdBackButton,
#meetingRoomBackButton,
#shiningCrownBackButton,
#monkeyAdventureBackButton,
#videoPokerBackButton,
#pokerBackButton,
#sekaBackButton,
#debertzBackButton,
#settingsBackButton {
  order: 99;
  margin-top: auto;
  padding-top: 8px;
  margin-bottom: 0;
}

#backToTokens {
  display: none !important;
}

.address-note span {
  color: var(--muted);
  font-size: 0.86rem;
  line-height: 1.35;
}

.address-row {
  align-items: flex-start;
}

.address-row div {
  min-width: 0;
  display: grid;
  gap: 5px;
}

.address-row span,
.address-row code {
  color: var(--muted);
  font-size: 0.82rem;
}

.address-row code {
  max-width: min(100%, 520px);
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  overflow-wrap: anywhere;
  word-break: break-all;
  white-space: normal;
}

.address-row button {
  min-height: 34px;
  border: 0;
  border-radius: 12px;
  background: var(--surface-2);
  color: var(--blue-2);
  padding: 0 12px;
  font-weight: 800;
}

.selected-address-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 14px;
}

.selected-address-row .receive-qr {
  grid-column: 1 / -1;
  justify-self: center;
  display: grid;
  place-items: center;
  width: fit-content;
  max-width: 100%;
  padding: 8px;
  border: 2px solid #ffffff;
  border-radius: 13px;
  background: #ffffff;
  box-shadow: 0 12px 34px rgba(0, 0, 0, 0.34), 0 0 22px rgba(255, 209, 92, 0.2);
  overflow: hidden;
}

.receive-qr canvas {
  display: block !important;
  width: min(210px, 54vw) !important;
  height: auto !important;
  max-width: 100%;
  image-rendering: pixelated;
}

.receive-qr img {
  display: none !important;
}

.wallet-address-input {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
}

.wallet-address-input input {
  min-width: 0;
}

.wallet-address-input button,
.qr-image-picker {
  min-height: 44px;
  border: 1px solid rgba(255, 210, 101, 0.5);
  border-radius: 12px;
  padding: 0 14px;
  background: linear-gradient(180deg, #ffe68f, #d79b22);
  color: #211306;
  font-weight: 900;
  cursor: pointer;
}

.qr-scanner-modal {
  z-index: 220;
}

.qr-scanner-dialog {
  width: min(520px, 100%);
}

.qr-camera-frame {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border: 2px solid rgba(255, 210, 101, 0.65);
  border-radius: 20px;
  background: #050505;
}

.qr-camera-frame video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.qr-camera-guide {
  position: absolute;
  inset: 14%;
  border: 3px solid #ffd767;
  border-radius: 20px;
  box-shadow: 0 0 0 999px rgba(0, 0, 0, 0.24), 0 0 24px rgba(255, 215, 103, 0.65);
  pointer-events: none;
}

.qr-image-picker {
  display: grid;
  place-items: center;
  width: 100%;
}

.qr-image-picker input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

@media (max-width: 640px) {
  .selected-address-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .wallet-address-input {
    grid-template-columns: 1fr;
  }

  .wallet-address-input button {
    width: 100%;
  }

  .qr-scanner-dialog {
    max-height: 100dvh;
    overflow-y: auto;
  }

  .qr-camera-frame {
    aspect-ratio: 4 / 3;
  }

  .selected-address-row {
    gap: 8px;
  }

  .selected-address-row .receive-qr {
    padding: 6px;
  }

  .receive-qr canvas {
    width: min(176px, 48vw) !important;
  }

  .selected-address-row .address-details {
    gap: 2px;
  }

  .selected-address-row .address-details code {
    max-height: 2.5em;
    overflow: hidden;
    line-height: 1.2;
  }
}

.empty-state {
  min-height: 132px;
  display: grid;
  place-items: center;
  gap: 6px;
  padding: 18px;
  text-align: center;
}

.empty-state span {
  color: var(--muted);
  font-size: 0.9rem;
}

.history-more-button {
  width: 100%;
  min-height: 38px;
  border: 1px solid rgba(212, 164, 48, 0.45);
  border-radius: 12px;
  background: rgba(212, 164, 48, 0.12);
  color: var(--yellow);
  font-weight: 800;
  cursor: pointer;
}

.history-sender {
  display: grid;
  gap: 2px;
  margin-top: 5px;
  color: var(--muted);
  font-size: 0.78rem;
}

.history-sender strong {
  color: var(--text);
}

.history-sender code {
  max-width: 100%;
  color: var(--yellow);
  white-space: normal;
  overflow-wrap: anywhere;
}

@media (max-width: 900px) {
  input,
  select,
  textarea {
    font-size: 16px !important;
  }
}

.asset-main,
.history-main {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.asset-icon {
  width: 44px;
  height: 44px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: transparent;
  overflow: visible;
  color: var(--yellow);
  font-size: 0.74rem;
  font-weight: 800;
}

.asset-icon-image {
  width: 100%;
  height: 100%;
  border-radius: 14px;
  overflow: hidden;
  display: grid;
  place-items: center;
}

.asset-icon-image > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.asset-icon-doma .asset-icon-image {
  border-radius: 50%;
}

.asset-icon-doma .asset-icon-image > img {
  transform: scale(1.58);
}

.asset-name,
.history-title {
  display: block;
  color: #ffe7a0;
  font-weight: 800;
  text-shadow: 0 0 9px rgba(255, 211, 106, 0.14);
}

.asset-symbol,
.history-sub {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 0.84rem;
}

.asset-value {
  text-align: right;
  min-width: 86px;
}

.asset-value strong {
  display: block;
  color: #fff1bf;
  overflow-wrap: anywhere;
  text-shadow:
    0 0 10px rgba(255, 211, 106, 0.18),
    0 1px 0 rgba(92, 52, 12, 0.7);
}

.asset-value span,
.positive,
.negative {
  display: block;
  margin-top: 3px;
  font-size: 0.82rem;
}

.positive {
  color: var(--green);
}

.negative {
  color: var(--red);
}

.metric-grid,
.nft-grid,
.earn-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.metric-grid article,
.nft-grid article,
.earn-stats article {
  min-height: 96px;
  padding: 14px;
}

.metric-grid span,
.earn-stats span,
.earn-balance span {
  color: var(--muted);
  font-size: 0.84rem;
}

.metric-grid strong,
.earn-stats strong {
  display: block;
  margin-top: 12px;
  color: #fff1bf;
  font-size: 1.3rem;
  text-shadow: 0 0 10px rgba(255, 211, 106, 0.18);
}

.earn-card {
  display: grid;
  gap: 16px;
  padding: 18px;
  text-align: center;
}

.referral-card {
  display: grid;
  gap: 14px;
  margin-top: 18px;
  padding: 16px;
  border: 1px solid rgba(255, 210, 101, 0.34);
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(65, 38, 12, 0.72), rgba(20, 11, 5, 0.88));
}

.referral-card h3,
.referral-card p {
  margin: 0;
}

.referral-card p {
  color: var(--muted);
  font-size: 0.88rem;
  line-height: 1.5;
}

.referral-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.referral-stats article {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 11px;
  border: 1px solid rgba(255, 210, 101, 0.18);
  border-radius: 13px;
  background: rgba(16, 9, 4, 0.58);
}

.referral-stats span {
  color: var(--muted);
  font-size: 0.74rem;
}

.referral-stats strong {
  overflow-wrap: anywhere;
  color: var(--text);
  font-size: 0.92rem;
}

.referral-link-field > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
}

.referral-link-field input {
  min-width: 0;
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 0.82rem;
}

.referral-link-field button {
  min-width: 76px;
  border: 1px solid rgba(255, 210, 101, 0.5);
  border-radius: 12px;
  padding: 0 14px;
  background: linear-gradient(180deg, #ffe68f, #d79b22);
  color: #211306;
  font-weight: 900;
}

@media (max-width: 520px) {
  .referral-stats {
    grid-template-columns: 1fr 1fr;
  }

  .referral-link-field > div {
    grid-template-columns: 1fr;
  }

  .referral-link-field button {
    min-height: 42px;
  }
}

.earn-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  text-align: left;
}

.earn-head h2 {
  margin-top: 4px;
}

.tap-coin {
  position: relative;
  width: min(240px, 76vw);
  aspect-ratio: 1;
  justify-self: center;
  overflow: hidden;
  border: 8px solid rgba(232, 183, 83, 0.28);
  border-radius: 28px;
  background: var(--surface-2);
  color: white;
  box-shadow: 0 24px 70px rgba(94, 53, 12, 0.42);
  font-size: clamp(1.45rem, 9vw, 2.15rem);
  font-weight: 950;
  letter-spacing: 0;
  padding: 0;
}

.tap-coin img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  opacity: 1;
  pointer-events: none;
  transition:
    filter 160ms ease,
    opacity 130ms ease,
    transform 180ms ease;
}

.tap-coin.frame-changing img {
  opacity: 0.38;
  transform: scale(0.965) rotate(-0.6deg);
}

.tap-coin.frame-live img {
  animation: heroFramePop 260ms cubic-bezier(0.2, 0.86, 0.22, 1.18);
}

.tap-coin span {
  position: absolute;
  right: 10px;
  bottom: 10px;
  max-width: calc(100% - 20px);
  border: 1px solid rgba(232, 183, 83, 0.28);
  border-radius: 999px;
  background: rgba(22, 12, 5, 0.82);
  color: white;
  padding: 7px 10px;
  font-size: 0.82rem;
  font-weight: 900;
  line-height: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  backdrop-filter: blur(10px);
}

.tap-coin.tapped {
  animation: tapPulse 180ms ease-out;
}

.tap-coin[data-mood="kind"] {
  border-color: rgba(49, 209, 154, 0.58);
  box-shadow: 0 24px 75px rgba(49, 209, 154, 0.25);
}

.tap-coin[data-mood="kind"] img {
  filter: saturate(1.16) brightness(1.04);
}

.tap-coin[data-mood="kind"] span {
  background: rgba(28, 132, 99, 0.86);
}

.tap-coin[data-mood="angry"] {
  border-color: rgba(255, 106, 122, 0.7);
  box-shadow: 0 24px 75px rgba(255, 106, 122, 0.24);
}

.tap-coin[data-mood="angry"] img {
  filter: saturate(1.28) contrast(1.08);
  transform: scale(1.03);
}

.tap-coin[data-mood="angry"] span {
  background: rgba(156, 50, 66, 0.88);
}

.earn-balance strong {
  display: block;
  margin-top: 5px;
  font-size: 2rem;
}

.energy-bar {
  height: 12px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(80, 43, 12, 0.42);
}

.energy-bar span {
  width: 0%;
  height: 100%;
  display: block;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--green), var(--blue-2));
  transition: width 180ms ease;
}

@keyframes tapPulse {
  0% {
    transform: scale(1);
  }

  55% {
    transform: scale(0.96) rotate(-1deg);
  }

  100% {
    transform: scale(1);
  }
}

@keyframes heroFramePop {
  0% {
    opacity: 0.56;
    transform: scale(0.965) rotate(-0.6deg);
  }

  55% {
    opacity: 1;
    transform: scale(1.035) rotate(0.8deg);
  }

  100% {
    opacity: 1;
    transform: scale(1) rotate(0deg);
  }
}

.defi-card {
  margin-top: 10px;
}

.defi-card strong {
  display: block;
  margin-top: 4px;
}

.defi-card button,
.primary {
  min-height: 46px;
  border: 0;
  border-radius: 14px;
  background:
    linear-gradient(180deg, #fff2b8 0%, #ffd568 24%, #b87818 58%, #f0b63f 100%);
  color: #1a0d03;
  padding: 0 16px;
  font-weight: 800;
  box-shadow:
    0 12px 28px rgba(142, 79, 16, 0.36),
    inset 0 1px 0 rgba(255, 255, 240, 0.72),
    inset 0 -2px 0 rgba(80, 39, 5, 0.32);
  text-shadow: 0 1px 0 rgba(255, 238, 173, 0.75);
}

.nft-grid article {
  display: flex;
  align-items: flex-end;
  background:
    linear-gradient(135deg, rgba(255, 211, 106, 0.14), rgba(90, 47, 12, 0.34)),
    var(--surface);
}

.nft-grid span {
  font-weight: 800;
}

.bottom-nav {
  justify-content: space-around;
  gap: 4px;
  padding: 9px 12px 14px;
  border-top: 1px solid rgba(232, 183, 83, 0.14);
  background: rgba(18, 9, 4, 0.84);
}

.bottom-nav button {
  flex: 1 1 0;
  min-width: 0;
  display: grid;
  gap: 4px;
  justify-items: center;
  border: 1px solid transparent;
  border-radius: 18px;
  background: transparent;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 750;
}

.bottom-nav button.active {
  color: var(--blue-2);
  border-color: rgba(255, 222, 128, 0.28);
  background:
    radial-gradient(circle at 50% 0%, rgba(255, 241, 194, 0.16), transparent 62%),
    linear-gradient(180deg, rgba(86, 52, 18, 0.74), rgba(33, 18, 8, 0.74));
}

.bottom-nav span {
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  color: currentColor;
}

.bottom-nav .button-label {
  width: auto;
  max-width: 100%;
  height: auto;
  min-height: 1em;
  line-height: 1.05;
  text-align: center;
  white-space: nowrap;
}

.bottom-nav button[data-settings-open] .button-label { transform: translateX(-3px); }

.bottom-nav .ui-icon svg {
  width: 20px;
  height: 20px;
}

.desktop-panel {
  display: grid;
  gap: 16px;
}

.settings-screen {
  position: fixed;
  inset: 0;
  z-index: 70;
  display: none;
  padding: 18px;
  overflow-y: auto;
  background:
    radial-gradient(circle at 24% 8%, rgba(255, 211, 106, 0.13), transparent 26rem),
    rgba(14, 8, 4, 0.95);
  backdrop-filter: blur(18px);
}

.settings-screen.open {
  display: block;
}

.game-screen {
  position: fixed;
  inset: 0;
  z-index: 68;
  display: none;
  width: 100%;
  max-width: 100%;
  padding: 18px;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  background:
    radial-gradient(circle at 50% 8%, rgba(255, 211, 106, 0.18), transparent 24rem),
    linear-gradient(180deg, rgba(18, 8, 2, 0.98), rgba(6, 3, 1, 0.98));
}

.game-screen.open {
  display: block;
}

.game-menu-screen,
.poker-screen {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: none;
  max-width: 100vw;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  background:
    radial-gradient(circle at 50% 10%, rgba(255, 211, 106, 0.2), transparent 24rem),
    linear-gradient(180deg, rgba(18, 8, 2, 0.98), rgba(6, 3, 1, 0.98));
}

.game-menu-screen.open,
.poker-screen.open {
  display: block;
}

.game-menu-card {
  width: min(520px, calc(100% - 28px));
  margin: max(28px, env(safe-area-inset-top)) auto;
  display: grid;
  gap: 14px;
  border: 1px solid rgba(232, 183, 83, 0.24);
  border-radius: 22px;
  background:
    linear-gradient(180deg, rgba(52, 29, 11, 0.96), rgba(18, 9, 4, 0.98)),
    var(--surface);
  padding: 18px;
}

.game-menu-card h2 {
  margin: 0;
}
.game-referral-panel { display: grid; gap: 9px; padding: 12px; border: 1px solid rgba(255, 201, 81, .35); border-radius: 16px; background: linear-gradient(145deg, rgba(58, 28, 5, .92), rgba(12, 6, 2, .94)); }
.game-info-toggle { width: 100%; min-height: 44px; margin-top: 8px; color: #1b0d03; font-weight: 900; background: linear-gradient(180deg, #fff0aa, #dda62b); border-color: #f6cf67; }
.game-info-toggle[aria-expanded="true"] { box-shadow: 0 0 18px rgba(255, 200, 71, .35); }
.bot-rewards-panel[hidden], .game-real-bot-panel[hidden], .game-referral-panel[hidden], .admin-game-referrals-card[hidden] { display: none !important; }
.admin-referral-toggle { width: 100%; margin: 14px 0 0; }
.game-referral-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.game-referral-head > div { display: grid; gap: 3px; }
.game-referral-head span, .game-referral-panel small { color: var(--muted); font-size: .76rem; line-height: 1.35; }
.game-referral-head button, .game-referral-link button { min-height: 38px; padding: 7px 12px; }
.game-referral-link { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 7px; }
.game-referral-link input { min-width: 0; height: 40px; padding: 7px 10px; border: 1px solid rgba(255, 203, 83, .3); border-radius: 11px; background: rgba(0, 0, 0, .38); color: #ffe39a; }
.game-referral-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; }
.game-referral-stats[hidden] { display: none; }
.game-referral-stats article { display: grid; gap: 3px; padding: 8px; border-radius: 11px; background: rgba(0, 0, 0, .34); }
.game-referral-stats span { color: var(--muted); font-size: .68rem; }
.game-referral-stats strong { color: #ffe29a; font-size: .82rem; }
@media (max-width: 600px) {
  .game-referral-head { align-items: stretch; }
  .game-referral-head button { flex: 0 0 auto; }
  .game-referral-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .game-referral-link { grid-template-columns: 1fr; }
}

.game-menu-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

/* Both domains use the same game engine and balances, but expose separate
   navigation: wallet = meetings only, dedicated host = games only. */
html[data-portal="wallet"] .game-menu-card > .game-info-toggle,
html[data-portal="wallet"] .game-menu-card > .bot-rewards-panel,
html[data-portal="wallet"] .game-menu-card > .game-real-bot-panel,
html[data-portal="wallet"] .game-menu-card > .game-referral-panel,
html[data-portal="wallet"] .game-menu-options > :not(.meeting-room-menu-button) {
  display: none !important;
}

html[data-portal="wallet"] .game-menu-options {
  grid-template-columns: minmax(0, 1fr);
}

html[data-portal="games"] .meeting-room-menu-button,
html[data-portal="games"] #gameMenuBackButton,
html[data-portal="games"] #authRegisterTab,
html[data-portal="games"] #authRecoveryTab,
html[data-portal="games"] .bottom-nav {
  display: none !important;
}

html[data-portal="games"] .game-menu-card {
  width: min(920px, calc(100% - 28px));
}

html[data-portal="games"] .game-menu-options {
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}

.game-menu-options .debertz-menu-button {
  border-color: rgba(255, 226, 137, 0.72);
  background: linear-gradient(145deg, #3d2509, #a86c12 54%, #f2c65f);
  color: #fff1bb;
  box-shadow: inset 0 1px 0 rgba(255, 247, 201, 0.48), 0 8px 24px rgba(180, 111, 12, 0.28);
}

.game-menu-options button {
  min-height: 78px;
  display: grid;
  place-items: center;
  gap: 5px;
  padding: 10px 12px;
  border: 1px solid rgba(232, 183, 83, 0.34);
  border-radius: 13px;
}

.game-menu-options .game-logo-button {
  position: relative;
  display: block;
  min-height: 0;
  padding: 0;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border: 2px solid rgba(255, 211, 92, 0.82) !important;
  border-radius: 18px;
  background: #080502 !important;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.5), 0 0 18px rgba(226, 157, 31, 0.2) !important;
  cursor: pointer;
  transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.game-menu-options .game-logo-button img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  pointer-events: none;
}

.game-menu-options .game-logo-button:hover,
.game-menu-options .game-logo-button:focus-visible {
  transform: translateY(-2px) scale(1.015);
  border-color: #ffe49a !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.56), 0 0 24px rgba(255, 193, 54, 0.38) !important;
}

.game-menu-options .game-logo-button:active {
  transform: scale(0.975);
}

.game-menu-options .meeting-room-menu-button {
  grid-column: 1 / -1;
  width: 100% !important;
  min-height: 0 !important;
  aspect-ratio: 1280 / 576 !important;
  order: 999;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  pointer-events: auto !important;
  cursor: pointer !important;
}

.game-menu-options .meeting-room-menu-button img {
  object-fit: cover;
}

.game-menu-options .meeting-room-menu-button strong {
  position: absolute;
  left: 34%;
  right: 7%;
  top: 52%;
  z-index: 2;
  padding: 0 3%;
  background: transparent;
  color: #ffe36e !important;
  -webkit-text-fill-color: #ffe36e;
  -webkit-text-stroke: .7px #542700;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(0.76rem, 3.2vw, 1.35rem);
  line-height: 1.1;
  text-align: center;
  text-transform: uppercase;
  font-weight: 1000;
  text-shadow: 0 2px 0 #321300, 0 0 6px #ffbd22, 0 0 16px rgba(255, 207, 79, .96), 0 0 28px rgba(255, 171, 18, .68);
  filter: brightness(1.22) saturate(1.14);
  transform: translateY(-50%);
}

.admin-overview-game-banks-title {
  margin-top: 18px;
}

/* The shared jackpot belongs to an opened game only. Native `hidden` keeps it
   out of the wallet/coin list even if a secondary stylesheet is unavailable. */
.global-game-jackpot,
.global-game-jackpot[hidden],
body:not(.game-jackpot-active) .global-game-jackpot {
  display: none !important;
}

body.game-jackpot-active .global-game-jackpot.visible:not([hidden]) {
  display: flex !important;
}

/* One return control for every game: same position, label and appearance. */
.game-return-button {
  width: min(100%, 560px) !important;
  min-height: 42px !important;
  margin: 12px auto max(6px, env(safe-area-inset-bottom)) !important;
  padding: 8px 16px !important;
  border: 1px solid #f2c65f !important;
  border-radius: 14px !important;
  background: linear-gradient(180deg, #fff0aa 0%, #e3ad32 48%, #9a5e0c 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.62), 0 7px 18px rgba(0,0,0,.38) !important;
  color: #170b02 !important;
  font-size: clamp(.78rem, 3.2vw, 1rem) !important;
  font-weight: 1000 !important;
  line-height: 1.1 !important;
  text-align: center !important;
  text-transform: uppercase !important;
  order: 9999 !important;
}

.game-return-button span { color: inherit !important; font: inherit !important; }

.casino-import-button {
  min-height: 112px !important;
  overflow: hidden;
  color: #ffe9a6;
  background: radial-gradient(circle at 50% 0, rgba(255,200,75,.28), transparent 55%), linear-gradient(145deg, #291506, #080401) !important;
  box-shadow: inset 0 0 0 1px rgba(255,210,95,.32), 0 10px 24px rgba(0,0,0,.4);
}
.casino-import-button span { font-size: 2.2rem; filter: drop-shadow(0 0 9px rgba(255,190,45,.65)); }
.casino-import-button strong { font-size: .82rem; }
.casino-import-button.roulette { background: radial-gradient(circle at 50% 35%,#b91717 0 10%,#0b4f24 11% 42%,#160a03 43% 100%) !important; }

.casino-collection-screen { position: fixed; inset: 0; z-index: 91; display: none; overflow: auto; padding: max(12px,env(safe-area-inset-top)) 10px max(18px,env(safe-area-inset-bottom)); background: #060301; }
.casino-collection-screen.open { display: block; }
.casino-collection-shell { width: min(900px,100%); min-height: calc(100dvh - 30px); margin: 0 auto; display: flex; flex-direction: column; gap: 12px; padding: 14px; border: 1px solid rgba(255,203,76,.36); border-radius: 22px; background: radial-gradient(circle at 50% 0,rgba(255,187,40,.18),transparent 30rem),linear-gradient(#271204,#090401); }
.casino-collection-header { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.casino-collection-header span { color: #cda34c; }
.casino-collection-header h2 { margin: 3px 0 0; color: #fff0ad; }
.casino-collection-header > strong { padding: 8px 11px; color: #1c0b01; border-radius: 999px; background: linear-gradient(#ffeda0,#dc9e25); }
.casino-collection-tabs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px; }
.casino-collection-tabs button { min-height: 44px; padding: 6px 3px; color: #e7c46d; border: 1px solid rgba(255,204,78,.24); background: rgba(0,0,0,.35); font-size: .72rem; }
.casino-collection-tabs button.active { color: #1b0b01; background: linear-gradient(#ffeca0,#d99b23); }
.casino-collection-stage { position: relative; min-height: 280px; display: grid; place-items: center; overflow: hidden; border: 2px solid rgba(255,204,77,.5); border-radius: 20px; background: radial-gradient(circle,#16360e,#061005 70%); }
.casino-stage-visual { display: grid; place-items: center; gap: 12px; padding: 20px; color: #fff0a5; text-align: center; text-shadow: 0 3px 8px #000; }
.casino-stage-visual > span { font-size: clamp(4rem,14vw,8rem); }
.casino-stage-visual.flying > span { animation: casino-plane-flight 2.2s ease-in-out both; }
@keyframes casino-plane-flight { from { transform: translate(-35vw,25vh) rotate(-12deg) scale(.55); } to { transform: translate(20vw,-18vh) rotate(8deg) scale(1.1); } }
.casino-slot-reels { width: min(100%,760px); display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 8px; padding: 12px; }
.casino-slot-reels span { aspect-ratio: .72; display: grid; place-items: center; color: #fff0a4; border: 2px solid #dca532; border-radius: 14px; background: linear-gradient(#3a1c08,#0b0502); font-size: clamp(1.15rem,4vw,2rem); font-weight: 900; }
.casino-slot-reels.spinning span { animation: casino-reel-spin .45s linear infinite; }
@keyframes casino-reel-spin { 50% { transform: translateY(8px) rotateX(70deg); filter: blur(3px); } }
.casino-roulette-result { width: 130px; height: 130px; display: grid; place-items: center; border: 9px solid #e9b642; border-radius: 50%; color: #fff; background: #b31616; box-shadow: 0 0 35px rgba(255,196,59,.7); font-size: 3rem; font-weight: 1000; }
.casino-roulette-result.black { background: #080808; }.casino-roulette-result.green { background: #08712d; }
.casino-collection-controls { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.casino-collection-controls [hidden], .casino-collection-stage [hidden] { display: none !important; }
.casino-collection-controls label { display: grid; gap: 5px; color: #d8b260; }
.casino-collection-controls select { min-height: 46px; padding: 8px 10px; color: #ffe9a5; border: 1px solid rgba(255,205,78,.34); border-radius: 11px; background: #160a03; font-size: 16px; }
.casino-collection-status { min-height: 24px; margin: 0; color: #e8c166; text-align: center; }
.casino-collection-play { min-height: 58px; color: #1c0b01; font-size: 1.15rem; font-weight: 1000; background: linear-gradient(#fff2ad,#d99b20); }
.casino-license { color: #8d7447; text-align: center; }
.react-roulette-frame { width: 100%; min-height: calc(100dvh - 190px); border: 1px solid rgba(255,204,78,.35); border-radius: 18px; background: #050300; }
#casinoNativeGame[hidden], .react-roulette-frame[hidden] { display: none !important; }
.texas-classic-menu-button, .roulette-menu-button { position: relative; overflow: hidden; background: #080401; }
.texas-classic-menu-button img { object-fit: cover; object-position: center; }
.roulette-menu-button img { object-fit: cover; object-position: center; }
.amd-shining-video-menu-button { position:relative; overflow:hidden; background:#180000; }
.amd-shining-video-menu-button img { width:100%; height:100%; object-fit:cover; }
.amd-shining-video-menu-button strong { position:absolute; inset:auto 0 8%; color:#ffe990; font-size:clamp(.85rem,3.7vw,1.35rem); text-shadow:0 3px 8px #000,0 0 12px #b00000; }
.amd-shining-video-shell { min-height:100dvh; padding:0; background:#050000; }
.amd-shining-video-shell .react-roulette-frame { height:calc(100dvh - 54px); }
.amd-shining-video-shell .back-button { margin:4px auto; min-height:46px; }
.poker-screen.texas-classic-skin .poker-table { background-image: linear-gradient(rgba(0,55,45,.1),rgba(0,25,20,.2)), url('/assets/texas-poker-classic/table-bg.png'); background-size: cover; background-position: center; }
.poker-screen.texas-classic-skin .poker-head h2 { color: #d8fff5; }
@media(max-width:650px){.casino-collection-header{align-items:flex-start;flex-direction:column}.casino-collection-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.casino-collection-stage{min-height:220px}.casino-collection-controls{grid-template-columns:1fr}.casino-slot-reels{gap:3px;padding:5px}.casino-slot-reels span{border-radius:8px;font-size:.78rem}}

.meeting-room-screen {
  position: fixed;
  inset: 0;
  z-index: 92;
  display: none;
  overflow: auto;
  padding: max(14px, env(safe-area-inset-top)) 12px max(18px, env(safe-area-inset-bottom));
  background: radial-gradient(circle at 50% 0, rgba(225, 168, 48, .22), transparent 32rem), #080401;
}

.meeting-room-screen.open { display: block; }
.meeting-room-shell { width: min(1180px, 100%); min-height: calc(100dvh - 32px); margin: 0 auto; display: flex; flex-direction: column; gap: 14px; }
.meeting-room-header, .meeting-room-entry, .meeting-room-live { border: 1px solid rgba(255, 210, 105, .42); border-radius: 20px; background: linear-gradient(150deg, rgba(52, 27, 8, .97), rgba(10, 5, 2, .98)); box-shadow: 0 18px 48px rgba(0,0,0,.45); }
.meeting-room-header { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 14px 18px; }
.meeting-room-header span, .meeting-room-info span { color: #d4a84d; }
.meeting-room-header h2 { margin: 3px 0 0; color: #fff0b0; }
.meeting-room-header > strong { color: #1c0d02; padding: 8px 12px; border-radius: 999px; background: linear-gradient(#fff0a8, #d89a20); }
.meeting-room-entry { padding: 18px; }
.meeting-room-entry > p { margin: 0 0 14px; color: #e0c58d; line-height: 1.5; }
.meeting-room-entry-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.meeting-room-choice { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-bottom: 14px; }
.meeting-room-choice button { min-height: 54px; color: #1b0c02; font-weight: 900; background: linear-gradient(#fff0a5, #d99c25); }
.meeting-room-choice button.active { box-shadow: 0 0 24px rgba(255, 202, 76, .48); transform: translateY(-1px); }
.meeting-room-form { display: grid; gap: 11px; padding: 15px; border: 1px solid rgba(255, 209, 97, .24); border-radius: 16px; background: rgba(0,0,0,.3); }
.meeting-room-form[hidden] { display: none !important; }
.meeting-room-form:not([hidden]) { grid-column: 1 / -1; }
.meeting-room-form h3 { margin: 0; color: #ffe69b; }
.meeting-room-form label { display: grid; gap: 6px; color: #d8b564; }
.meeting-room-form input, .meeting-room-form select { width: 100%; min-height: 48px; padding: 10px 12px; border: 1px solid rgba(255, 207, 84, .34); border-radius: 12px; color: #fff1bd; background: rgba(15, 7, 2, .9); font-size: 16px; }
.meeting-room-form button, .meeting-room-controls button { min-height: 48px; font-weight: 900; color: #1b0c02; background: linear-gradient(#fff0a5, #d99c25); }
.meeting-room-live { padding: 14px; }
.meeting-room-info { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.meeting-room-info > div { display: grid; gap: 4px; }
.meeting-room-info > div:last-child { text-align: right; }
#meetingCopyId { padding: 3px 8px; color: #ffe69b; border: 1px solid rgba(255,210,100,.4); border-radius: 8px; background: rgba(0,0,0,.35); }
.meeting-video-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 10px; align-content: start; }
.meeting-video-tile { position: relative; min-width: 0; aspect-ratio: 16 / 10; overflow: hidden; border: 2px solid rgba(255, 205, 82, .52); border-radius: 14px; background: #030201; }
.meeting-video-tile video { width: 100%; height: 100%; display: block; object-fit: cover; background: #030201; }
.meeting-video-tile.local video { transform: scaleX(-1); }
.meeting-video-tile span { position: absolute; left: 8px; bottom: 8px; max-width: calc(100% - 16px); padding: 4px 8px; overflow: hidden; color: #fff0b3; border-radius: 8px; background: rgba(0,0,0,.72); text-overflow: ellipsis; white-space: nowrap; }
.meeting-room-status { min-height: 22px; margin: 10px 0 0; color: #e4bd63; text-align: center; }
.meeting-room-controls { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; margin-top: 11px; }
.meeting-room-controls button.off { color: #fff; background: linear-gradient(#852a2a, #4c1111); }
.meeting-room-controls .danger { color: #fff; background: linear-gradient(#9d2b2b, #5a1010); }
.meeting-room-back { margin-top: auto; width: 100%; }

@media (max-width: 650px) {
  .meeting-room-header { align-items: flex-start; flex-direction: column; }
  .meeting-room-header > strong { font-size: .78rem; }
  .meeting-room-entry-grid { grid-template-columns: 1fr; }
  .meeting-room-choice { grid-template-columns: 1fr; }
  .meeting-video-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
  .meeting-video-tile { border-radius: 10px; }
  .meeting-room-controls { position: sticky; bottom: max(4px, env(safe-area-inset-bottom)); z-index: 2; }
  .meeting-room-controls button { min-height: 44px; padding: 7px 4px; font-size: .76rem; }
}

.game-menu-options .ui-icon {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
}

.game-menu-options .ui-icon svg {
  width: 26px;
  height: 26px;
}

.game-menu-options .seka-menu-button {
  border-color: rgba(255, 231, 155, 0.82);
  background: linear-gradient(145deg, #ffe59a, #c88a19 52%, #7b4706);
  color: #241304;
  box-shadow: inset 0 1px 0 rgba(255, 250, 214, 0.8), 0 8px 22px rgba(189, 124, 18, 0.28);
}

.seka-menu-button .ui-icon {
  border: 1px solid rgba(255, 225, 186, 0.6);
  border-radius: 12px;
  background: #fff6df;
  color: #19100b;
  font-size: 1.28rem;
  font-weight: 950;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.34);
}

.game-menu-options .seka-menu-button strong {
  color: #241304;
  text-shadow: 0 1px 0 rgba(255, 244, 194, 0.72);
}

.bot-rewards-panel {
  display: grid;
  gap: 7px;
  padding: 12px;
  border: 1px solid rgba(255, 216, 91, 0.52);
  border-radius: 14px;
  background: rgba(22, 12, 3, 0.78);
  color: #ffe8a0;
}

.bot-rewards-panel > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.bot-rewards-panel button,
.game-menu-options button,
.game-menu-options .seka-menu-button,
.game-menu-options .debertz-menu-button {
  border-color: #f5c84d !important;
  background: linear-gradient(180deg, #ffe89a, #e7ad25 58%, #a96808) !important;
  color: #140d03 !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 220, 0.9), 0 8px 22px rgba(188, 120, 12, 0.3) !important;
}

.game-menu-options button strong,
.game-menu-options .ui-icon,
.game-menu-options .seka-menu-button strong,
.game-menu-options .debertz-menu-button strong {
  color: #140d03 !important;
  text-shadow: none !important;
}

.game-menu-options .ui-icon svg { stroke: #140d03; fill: none; }
.game-menu-options .seka-menu-button .ui-icon {
  border-color: #140d03;
  background: transparent;
  box-shadow: none;
}

.poker-shell {
  width: min(980px, 100%);
  margin: 0 auto;
  padding: max(12px, env(safe-area-inset-top)) 12px max(18px, env(safe-area-inset-bottom));
}

.poker-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 8px 0 12px;
}

.poker-head h2 {
  margin: 2px 0 0;
}

.poker-balance {
  min-width: 132px;
  border: 1px solid rgba(232, 183, 83, 0.2);
  border-radius: 14px;
  background: rgba(18, 9, 4, 0.58);
  padding: 10px 12px;
  text-align: right;
}

.poker-balance span {
  display: block;
  color: var(--muted);
  font-size: 0.74rem;
}

.game-voice-button {
  min-width: 154px;
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid transparent;
  border-radius: 14px;
  color: #fff;
  padding: 9px 12px;
  font-weight: 900;
  transition: background 180ms ease, border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.game-voice-button span {
  font-size: 1.28rem;
  line-height: 1;
}

.game-voice-button strong {
  font-size: 0.72rem;
}

.game-voice-button.off {
  border-color: rgba(255, 112, 112, 0.58);
  background: linear-gradient(145deg, #9f1e2d, #64101b);
  box-shadow: 0 0 18px rgba(218, 45, 68, 0.22);
}

.game-voice-button.on {
  border-color: rgba(109, 255, 178, 0.86);
  background: linear-gradient(145deg, #168b55, #0b5937);
  box-shadow: 0 0 0 2px rgba(72, 255, 159, 0.14), 0 0 26px rgba(50, 235, 137, 0.48);
  animation: gameVoiceOn 1.15s ease-in-out infinite alternate;
}

.game-voice-button:disabled {
  cursor: not-allowed;
  filter: grayscale(0.45);
  opacity: 0.48;
}

@keyframes gameVoiceOn {
  to { box-shadow: 0 0 0 3px rgba(72, 255, 159, 0.2), 0 0 34px rgba(50, 235, 137, 0.65); }
}

.poker-table {
  position: relative;
  min-height: min(610px, 62svh);
  border: 10px solid rgba(83, 42, 11, 0.96);
  border-radius: 48%;
  background:
    radial-gradient(circle at 50% 46%, rgba(92, 180, 96, 0.34), transparent 18rem),
    linear-gradient(145deg, #145a33, #06351d 58%, #092514);
  box-shadow:
    inset 0 0 0 4px rgba(255, 211, 106, 0.24),
    inset 0 30px 90px rgba(255, 255, 210, 0.08),
    0 24px 80px rgba(0, 0, 0, 0.5);
  overflow: hidden;
}

.poker-table-viewport {
  width: 100%;
}

.poker-community {
  position: absolute;
  top: 37%;
  left: 50%;
  z-index: 4;
  display: flex;
  gap: 12px;
  transform: translate(-50%, -50%);
}

.poker-card {
  position: relative;
  width: 90px;
  height: 128px;
  display: grid;
  place-items: center;
  border: 3px solid rgba(255, 238, 182, 0.96);
  border-radius: 12px;
  overflow: hidden;
  background: #0d0703;
  color: #160b03;
  font-weight: 950;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.42), 0 0 28px rgba(255, 221, 126, 0.48), inset 0 0 18px rgba(255, 247, 214, 0.3);
}

.poker-community .poker-card {
  width: 136px;
  height: 194px;
}

.poker-card img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  filter: brightness(1.95) contrast(0.68) saturate(1.14);
  user-select: none;
}

.poker-card.back img {
  filter: brightness(1.08) contrast(1.08) saturate(1.08);
}

.poker-card:not(.back):not(.empty)::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255, 245, 214, 0.12);
  mix-blend-mode: screen;
  pointer-events: none;
}

.poker-card.back,
.poker-card.empty {
  background-color: #0d0703;
  background-image: url("./assets/poker/card-back.jpg?v=95");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  color: rgba(255, 232, 174, 0.6);
}

.poker-card.deal-in {
  opacity: 0;
  transform: translate(150px, -160px) rotate(14deg) scale(0.72);
  filter: drop-shadow(24px 24px 18px rgba(255, 205, 90, 0.25));
  animation: poker-deal-in 300ms cubic-bezier(0.16, 0.76, 0.18, 1) var(--deal-delay, 0ms) forwards;
}

@keyframes poker-deal-in {
  55% {
    opacity: 1;
    filter: drop-shadow(12px 12px 10px rgba(255, 205, 90, 0.42));
  }
  100% {
    opacity: 1;
    transform: translate(0, 0) rotate(0) scale(1);
    filter: drop-shadow(0 8px 8px rgba(0, 0, 0, 0.22));
  }
}

.poker-winner-notice {
  position: absolute;
  top: 24%;
  left: 50%;
  z-index: 12;
  width: max-content;
  max-width: min(82%, 420px);
  border: 1px solid rgba(255, 232, 174, 0.72);
  border-radius: 999px;
  background: rgba(28, 14, 5, 0.94);
  color: #fff2b8;
  padding: 9px 16px;
  font-size: 0.86rem;
  font-weight: 900;
  text-align: center;
  box-shadow: 0 10px 36px rgba(0, 0, 0, 0.42), 0 0 28px rgba(255, 211, 106, 0.3);
  transform: translateX(-50%);
  animation: poker-winner-pop 220ms ease-out;
}

@keyframes poker-winner-pop {
  from { opacity: 0; transform: translateX(-50%) scale(0.88); }
  to { opacity: 1; transform: translateX(-50%) scale(1); }
}

/* Video entrance: the supplied clip replaces the former shield and coin scene. */
.wallet-intro-video {
  position: absolute;
  z-index: 1;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  background: #000;
  opacity: 0;
}

.wallet-intro.is-running .wallet-intro-video {
  animation: wallet-intro-video-in 420ms ease-out forwards;
}

.wallet-intro-stage {
  position: absolute;
  z-index: 2;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.wallet-intro-title,
.wallet-intro.is-running .wallet-intro-title {
  top: auto;
  bottom: max(8vh, 42px);
  width: min(88vw, 720px);
  opacity: 0;
  transform: translate(-50%, 20px) scale(.88);
  clip-path: inset(0 50% 0 50%);
  animation: none;
  font-size: clamp(20px, 5.2vw, 54px);
  letter-spacing: clamp(.6px, .35vw, 4px);
  color: #ffe18a;
  text-shadow: 0 0 8px #ffbf2f, 0 0 24px rgba(255, 185, 39, .78), 0 2px 4px #000;
}

.wallet-intro.is-running .wallet-intro-title span {
  opacity: 0;
  animation: none;
}

.wallet-intro.show-title .wallet-intro-title {
  animation: wallet-video-title-pull 720ms cubic-bezier(.16,.82,.24,1) forwards;
}

.wallet-intro.show-title .wallet-intro-title span {
  animation: wallet-title-letter .52s cubic-bezier(.16,.9,.28,1.35) forwards;
  animation-delay: calc(var(--letter-index) * .065s);
}

@keyframes wallet-intro-video-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes wallet-video-title-pull {
  0% {
    opacity: 0;
    transform: translate(-50%, 20px) scale(.88);
    clip-path: inset(0 50% 0 50%);
    filter: blur(5px);
  }
  100% {
    opacity: 1;
    transform: translate(-50%, 0) scale(1);
    clip-path: inset(0 0 0 0);
    filter: blur(0);
  }
}

@media (max-width: 520px) {
  .wallet-intro-stage { width: 100%; height: 100%; }
  .wallet-intro-title,
  .wallet-intro.is-running .wallet-intro-title {
    top: auto;
    bottom: max(7vh, 36px);
    width: 92vw;
    font-size: clamp(18px, 6vw, 27px);
    letter-spacing: .2px;
  }
}

.poker-pot {
  position: absolute;
  top: 55%;
  left: 50%;
  z-index: 4;
  min-width: 150px;
  border: 1px solid rgba(255, 211, 106, 0.28);
  border-radius: 18px;
  background: rgba(10, 45, 23, 0.8);
  padding: 10px 14px;
  text-align: center;
  transform: translate(-50%, -50%);
}

.poker-pot span,
.poker-pot small {
  display: block;
  color: rgba(255, 232, 174, 0.72);
  font-size: 0.74rem;
}

.poker-pot strong {
  display: block;
  color: #fff2b8;
  font-size: 1.12rem;
}

.poker-turn-timer {
  width: max-content;
  margin: 5px auto 0;
  border-radius: 999px;
  background: rgba(78, 20, 12, 0.72);
  color: #ffd79a !important;
  padding: 3px 8px;
  font-weight: 900;
}

.poker-seats {
  position: absolute;
  inset: 0;
  z-index: 5;
}

.poker-seat {
  position: absolute;
  width: 108px;
  min-height: 78px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 211, 106, 0.25);
  border-radius: 999px;
  background: rgba(28, 14, 5, 0.9);
  color: var(--text);
  padding: 8px;
  text-align: center;
  transform: translate(-50%, -50%);
}

.poker-seat.empty {
  width: 62px;
  min-height: 62px;
  border-color: rgba(95, 255, 176, 0.72);
  background: rgba(18, 9, 4, 0.38);
  box-shadow:
    0 0 0 2px rgba(95, 255, 176, 0.14),
    0 0 28px rgba(95, 255, 176, 0.54);
}

.poker-seat.empty strong {
  color: #ffe9a4;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.15rem;
  line-height: 1;
  text-shadow: 0 1px 0 #3c1b05, 0 0 10px rgba(255, 213, 105, 0.45);
}

.poker-seat.selected,
.poker-seat.turn {
  border-color: rgba(255, 235, 155, 0.95);
  box-shadow: 0 0 32px rgba(255, 211, 106, 0.55);
}

.poker-seat strong,
.poker-seat span {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.poker-seat span {
  color: var(--muted);
  font-size: 0.72rem;
}

.poker-seat small {
  color: rgba(255, 232, 174, 0.72);
  font-size: 0.68rem;
}

.poker-seat .poker-seat-cards {
  position: absolute;
  top: calc(100% - 5px);
  left: 50%;
  display: flex;
  gap: 2px;
  overflow: visible;
  transform: translateX(-50%);
}

.poker-seat-cards .poker-card {
  width: 38px;
  height: 54px;
  border-radius: 4px;
  font-size: 0.45rem;
}

.poker-panel {
  display: grid;
  gap: 12px;
  margin-top: 12px;
}

.poker-hand {
  position: relative;
  min-height: 78px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 1px solid rgba(232, 183, 83, 0.2);
  border-radius: 18px;
  background: rgba(18, 9, 4, 0.58);
  padding: 12px;
}

.game-private-message {
  position: absolute;
  top: 5px;
  left: 50%;
  z-index: 18;
  width: max-content;
  max-width: calc(100% - 16px);
  display: grid;
  gap: 2px;
  border: 1px solid rgba(255, 214, 103, 0.82);
  border-radius: 11px;
  background: rgba(72, 34, 7, 0.97);
  color: #fff4c7;
  padding: 6px 10px;
  text-align: center;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.52), 0 0 20px rgba(255, 193, 67, 0.32);
  transform: translateX(-50%);
}

.game-private-message strong {
  font-size: 0.62rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.game-private-message span {
  font-size: 0.78rem;
  overflow-wrap: anywhere;
}

.poker-hand .poker-card {
  width: 124px;
  height: 176px;
  border-radius: 14px;
  box-shadow: 0 16px 38px rgba(0, 0, 0, 0.5), 0 0 34px rgba(255, 224, 135, 0.5);
}

.poker-controls {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.poker-controls .field {
  grid-column: span 2;
}

.poker-controls input[type="range"] {
  width: 100%;
  accent-color: #e8b753;
}

.poker-deposit-panel {
  grid-column: 1 / -1;
}

.poker-controls button {
  min-height: 44px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface-2);
  color: var(--text);
  font-weight: 900;
}

.poker-log {
  max-height: 180px;
  overflow: auto;
  direction: rtl;
  text-align: right;
}

.poker-log .history-row {
  direction: rtl;
}

.seka-screen {
  background:
    radial-gradient(circle at 50% 12%, rgba(255, 78, 89, 0.24), transparent 25rem),
    linear-gradient(180deg, rgba(35, 4, 9, 0.99), rgba(10, 1, 3, 0.99));
}

.seka-head h2 {
  color: #ffd9cf;
}

.seka-table {
  border-color: rgba(79, 15, 16, 0.98);
  background:
    radial-gradient(circle at 50% 45%, rgba(255, 98, 92, 0.3), transparent 19rem),
    linear-gradient(145deg, #9d1f2e, #66101d 58%, #3d0710);
  box-shadow:
    inset 0 0 0 4px rgba(255, 213, 175, 0.24),
    inset 0 30px 90px rgba(255, 225, 210, 0.08),
    0 24px 80px rgba(0, 0, 0, 0.58),
    0 0 42px rgba(173, 20, 43, 0.24);
}

.seka-pot {
  top: 50%;
  background: rgba(61, 8, 17, 0.88);
  border-color: rgba(255, 209, 175, 0.38);
}

.seka-seat {
  border-color: rgba(255, 202, 170, 0.36);
  background: rgba(48, 7, 12, 0.94);
}

.seka-seat.selected,
.seka-seat.turn {
  border-color: rgba(255, 229, 181, 0.98);
  box-shadow: 0 0 34px rgba(255, 128, 104, 0.72);
}

.seka-seat-cards {
  gap: 1px !important;
}

.seka-dealer {
  display: inline-grid;
  width: 18px;
  height: 18px;
  place-items: center;
  border-radius: 50%;
  background: #fff2cf;
  color: #511019;
  font-size: 0.62rem;
}

.seka-hand {
  border-color: rgba(255, 91, 108, 0.26);
  background: rgba(53, 6, 13, 0.66);
}

.seka-hand .poker-card {
  box-shadow: 0 16px 38px rgba(0, 0, 0, 0.52), 0 0 34px rgba(255, 117, 105, 0.42);
}

.poker-card.seka-joker {
  border-color: #ffe183;
  box-shadow: 0 0 0 2px rgba(255, 225, 131, 0.38), 0 0 30px rgba(255, 198, 70, 0.72);
}

.seka-controls input[type="range"] {
  accent-color: #e34858;
}

.seka-controls button.primary {
  background: linear-gradient(145deg, #b9273b, #7a101f);
}

.seka-winner-notice {
  border-color: rgba(255, 214, 174, 0.82);
  background: rgba(75, 8, 18, 0.96);
  box-shadow: 0 10px 36px rgba(0, 0, 0, 0.48), 0 0 32px rgba(255, 83, 97, 0.52);
}

.poker-table {
  border-color: #5a310f;
  background:
    radial-gradient(circle at 50% 44%, rgba(246, 218, 137, 0.13), transparent 24%),
    radial-gradient(circle at 18% 18%, rgba(229, 194, 104, 0.1), transparent 18%),
    radial-gradient(circle at 82% 82%, rgba(229, 194, 104, 0.08), transparent 18%),
    repeating-radial-gradient(ellipse at center, transparent 0 34px, rgba(255, 222, 134, 0.025) 35px 37px),
    linear-gradient(145deg, #0e5a38, #063a24 52%, #031e13);
  box-shadow:
    inset 0 0 0 4px rgba(255, 223, 139, 0.38),
    inset 0 0 0 8px rgba(35, 16, 4, 0.42),
    inset 0 34px 100px rgba(255, 244, 205, 0.08),
    inset 0 -28px 80px rgba(0, 0, 0, 0.34),
    0 24px 80px rgba(0, 0, 0, 0.52),
    0 0 26px rgba(206, 157, 58, 0.16);
}

.poker-table::before {
  content: "";
  position: absolute;
  inset: 16px;
  z-index: 1;
  border: 3px double rgba(244, 210, 119, 0.32);
  border-radius: inherit;
  box-shadow: inset 0 0 24px rgba(255, 221, 129, 0.08);
  pointer-events: none;
}

.poker-table::after {
  content: "AMD GAME";
  position: absolute;
  left: 50%;
  top: 68%;
  z-index: 1;
  color: rgba(245, 211, 118, 0.14);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.35rem, 4vw, 2.8rem);
  font-weight: 900;
  letter-spacing: 0.22em;
  white-space: nowrap;
  line-height: 1;
  text-shadow: 0 0 28px rgba(255, 216, 105, 0.08);
  transform: translate(-50%, -50%);
  pointer-events: none;
}

.seka-table {
  border-color: #64121c;
  background:
    radial-gradient(circle at 50% 44%, rgba(255, 223, 160, 0.12), transparent 24%),
    radial-gradient(circle at 18% 18%, rgba(255, 196, 123, 0.09), transparent 18%),
    radial-gradient(circle at 82% 82%, rgba(255, 196, 123, 0.07), transparent 18%),
    repeating-radial-gradient(ellipse at center, transparent 0 34px, rgba(255, 216, 151, 0.025) 35px 37px),
    linear-gradient(145deg, #9a1d30, #65101f 52%, #380711);
  box-shadow:
    inset 0 0 0 4px rgba(255, 218, 158, 0.38),
    inset 0 0 0 8px rgba(42, 5, 10, 0.46),
    inset 0 34px 100px rgba(255, 232, 200, 0.08),
    inset 0 -28px 80px rgba(0, 0, 0, 0.38),
    0 24px 80px rgba(0, 0, 0, 0.56),
    0 0 30px rgba(190, 37, 58, 0.2);
}

.seka-table::before {
  border-color: rgba(255, 218, 158, 0.34);
}

.seka-table::after {
  color: rgba(255, 218, 158, 0.15);
}

.debertz-head h2 {
  color: #fff0b0;
}

.debertz-table {
  border-color: #55350a;
  background:
    radial-gradient(circle at 50% 44%, rgba(255, 221, 122, 0.16), transparent 25%),
    repeating-radial-gradient(ellipse at center, transparent 0 34px, rgba(255, 225, 139, 0.025) 35px 37px),
    linear-gradient(145deg, #174d51, #0c343a 52%, #061d26);
  box-shadow:
    inset 0 0 0 4px rgba(255, 221, 126, 0.42),
    inset 0 0 0 8px rgba(34, 18, 3, 0.5),
    inset 0 32px 100px rgba(255, 242, 195, 0.08),
    0 24px 80px rgba(0, 0, 0, 0.56),
    0 0 30px rgba(201, 145, 35, 0.2);
}

.debertz-center {
  position: absolute;
  z-index: 6;
  left: 50%;
  top: 47%;
  width: min(52%, 430px);
  display: grid;
  justify-items: center;
  gap: 5px;
  transform: translate(-50%, -50%);
  color: #fff0b0;
  text-align: center;
}

.debertz-center > strong,
.debertz-center > span {
  padding: 4px 10px;
  border: 1px solid rgba(255, 220, 125, 0.25);
  border-radius: 999px;
  background: rgba(7, 20, 24, 0.74);
  backdrop-filter: blur(5px);
}

.debertz-trick {
  position: relative;
  z-index: 5;
  min-height: 112px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
}

.debertz-trick .poker-card {
  width: 92px;
  height: 132px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.48);
}

.debertz-turn-card {
  position: absolute;
  z-index: 1;
  right: auto;
  left: -68%;
  top: -35px;
  width: 440px;
  display: grid;
  justify-items: center;
  gap: 3px;
  color: #f6d980;
  pointer-events: none;
}

.debertz-turn-card[hidden] { display: none; }

.debertz-stock {
  position: relative;
  width: 440px;
  height: 372px;
}

.debertz-stock .poker-card {
  position: absolute;
  width: 220px;
  height: 314px;
  border-radius: 17px;
}

.debertz-stock-back .poker-card {
  left: 21px;
  top: 10px;
  box-shadow: -8px 8px 0 #2b1706, -15px 15px 0 #7d551b, 0 23px 46px rgba(0, 0, 0, 0.5);
}

.debertz-stock-trump .poker-card {
  right: 18px;
  top: 52px;
  z-index: 2;
  transform: rotate(90deg);
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.46), 0 0 16px rgba(255, 213, 90, 0.38);
}

@media (max-width: 700px) {
  .debertz-turn-card {
    right: auto;
    left: -64%;
    top: -18px;
    width: 368px;
  }

  .debertz-stock {
    width: 352px;
    height: 304px;
  }

  .debertz-stock .poker-card {
    width: 184px;
    height: 263px;
  }
}

.debertz-play:nth-child(odd) { transform: rotate(-3deg); }
.debertz-play:nth-child(even) { transform: rotate(3deg); }

.debertz-panel {
  border-color: rgba(231, 181, 69, 0.25);
  background: linear-gradient(180deg, rgba(20, 45, 47, 0.76), rgba(14, 9, 3, 0.92));
}

.debertz-scoreboard {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
}

.debertz-scoreboard article {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 8px;
  padding: 7px 9px;
  border: 1px solid rgba(232, 183, 83, 0.2);
  border-radius: 10px;
  background: rgba(10, 20, 19, 0.72);
}

.debertz-scoreboard span { color: #dcb767; }
.debertz-scoreboard .debertz-round-score {
  grid-column: 1 / -1;
  color: #7df1b2;
  font-size: 0.86rem;
  font-weight: 900;
}
.debertz-scoreboard small {
  grid-column: 1 / -1;
  color: #ffe199;
}

.debertz-hand {
  min-height: 132px;
  justify-content: center;
  flex-wrap: wrap;
  gap: 5px;
  overflow: visible;
  padding-bottom: 7px;
}

.debertz-hand-card {
  flex: 0 0 auto;
  min-height: 0;
  padding: 0;
  border: 0;
  background: transparent;
  overflow: visible;
  touch-action: manipulation;
}

.debertz-hand-card .poker-card {
  width: 124px;
  height: 176px;
}

.debertz-hand-card:disabled { opacity: 1; filter: none; }
.debertz-hand-card.awaiting-confirmation { opacity: 1; filter: none; transform: translateY(-10px); }
.debertz-hand-card.awaiting-confirmation .poker-card { box-shadow: 0 0 0 3px #ffd462, 0 0 34px rgba(255, 203, 74, 0.88); }
.debertz-hand-card.declaration-selected { opacity: 1; filter: none; transform: translateY(-9px); }
.debertz-hand-card.declaration-selected .poker-card { box-shadow: 0 0 0 3px #67e8a5, 0 0 30px rgba(71, 222, 143, 0.72); }

.debertz-declaration-prompt,
.debertz-marriage-prompt {
  display: grid;
  gap: 7px;
  padding: 10px 12px;
  border: 1px solid rgba(255, 214, 97, 0.42);
  border-radius: 12px;
  background: rgba(45, 27, 5, 0.92);
  color: #ffeab0;
}

.debertz-declaration-prompt {
  position: relative;
  z-index: 40;
  width: 100%;
  max-width: 100%;
  gap: 3px;
  padding: 6px 8px;
  border-width: 2px;
  box-shadow: 0 0 24px rgba(255, 200, 64, 0.24);
  text-align: center;
}

.debertz-declaration-prompt strong { font-size: 0.8rem; line-height: 1.1; }
.debertz-declaration-prompt > span { font-size: 0.66rem; line-height: 1.15; }
.debertz-declaration-prompt .debertz-declaration-selected { font-size: 0.66rem; line-height: 1.1; }
.debertz-declaration-prompt button { min-height: 30px; padding: 4px 8px; font-size: 0.7rem; }

.debertz-declaration-prompt.waiting { opacity: 0.88; }
.debertz-declaration-prompt [hidden] { display: none !important; }

.debertz-declaration-prompt[hidden],
.debertz-marriage-prompt[hidden] { display: none; }

.debertz-declaration-prompt > div:last-child,
.debertz-marriage-prompt > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}

.debertz-declaration-selected { color: #74e9ac; font-size: 0.78rem; }

.debertz-declaration-reveal {
  position: absolute;
  z-index: 12;
  left: 50%;
  top: 54%;
  min-width: 210px;
  display: grid;
  justify-items: center;
  gap: 5px;
  padding: 9px;
  border: 1px solid #ffd76c;
  border-radius: 13px;
  background: rgba(30, 17, 4, 0.94);
  color: #ffeab0;
  box-shadow: 0 0 30px rgba(255, 198, 61, 0.42);
  transform: translate(-50%, -50%);
}

.debertz-declaration-reveal[hidden] { display: none; }
.debertz-declaration-reveal > div { display: flex; gap: 4px; }
.debertz-declaration-reveal .poker-card { width: 56px; height: 80px; }
.debertz-controls .debertz-suit { color: #ffe9a8; }
.debertz-controls .debertz-suit:nth-of-type(4),
.debertz-controls .debertz-suit:nth-of-type(5) { color: #ff8b8b; }

.debertz-settings-grid {
  display: grid;
  gap: 12px;
}

.debertz-settings-grid .check-row {
  width: 100%;
  min-height: 58px;
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  padding: 11px 13px;
  border: 1px solid rgba(232, 183, 83, 0.2);
  border-radius: 10px;
  background: rgba(20, 10, 4, 0.42);
  color: #f4dfaa;
  line-height: 1.35;
  cursor: pointer;
}

.debertz-settings-dialog {
  width: min(480px, 100%);
  max-height: min(92svh, 620px);
  overflow-y: auto;
  padding: 22px;
}

.debertz-settings-dialog .field {
  gap: 7px;
}

.debertz-settings-dialog select {
  width: 100%;
  max-width: none;
  min-height: 48px;
}

.debertz-settings-grid .check-row input[type="checkbox"] {
  width: 22px;
  height: 22px;
  min-width: 22px;
  min-height: 22px;
  margin: 0;
  padding: 0;
  border-radius: 5px;
  accent-color: #dba42d;
}

.debertz-settings-grid .check-row span {
  width: auto;
  height: auto;
  min-width: 0;
  border-radius: 0;
  background: none;
  color: inherit;
  overflow-wrap: normal;
  word-break: normal;
}

.game-shell {
  width: min(680px, 100%);
  max-width: 100%;
  margin: 0 auto;
  padding-bottom: max(10px, env(safe-area-inset-bottom));
}

.game-card {
  display: grid;
  gap: 9px;
  border: 1px solid rgba(232, 183, 83, 0.2);
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(52, 29, 11, 0.96), rgba(18, 9, 4, 0.98)),
    var(--surface);
  box-shadow: 0 34px 110px rgba(0, 0, 0, 0.48);
  padding: 12px;
}

.game-head,
.game-balance-row,
.game-info {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
}

.game-head h2 {
  margin: 2px 0 0;
  font-size: 1.55rem;
}

.game-balance-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.game-balance-row article {
  min-width: 0;
  border: 1px solid rgba(232, 183, 83, 0.16);
  border-radius: 13px;
  background: rgba(18, 9, 4, 0.56);
  padding: 9px 11px;
}

.game-balance-row span,
.game-info {
  color: var(--muted);
  font-size: 0.76rem;
}

.game-balance-row strong {
  display: block;
  margin-top: 3px;
  color: #fff1bf;
  overflow-wrap: anywhere;
  font-size: 0.98rem;
}

.game-bets {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
}

.game-bets button {
  min-height: 34px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: var(--surface-2);
  color: var(--text);
  font-size: 0.82rem;
  font-weight: 900;
}

.game-bets button.active {
  border-color: rgba(255, 211, 106, 0.72);
  background: linear-gradient(180deg, #fff2b8 0%, #ffd568 24%, #b87818 58%, #f0b63f 100%);
  color: #1a0d03;
  box-shadow: 0 0 28px rgba(255, 190, 68, 0.28);
}

.shining-stake-picker {
  position: relative;
  z-index: 8;
}

.shining-stake-toggle,
.shining-stake-options button {
  width: 100%;
  min-height: 38px;
  border: 1px solid rgba(255, 211, 106, 0.52);
  border-radius: 12px;
  background: linear-gradient(180deg, #fff2b8 0%, #ffd568 25%, #b87818 62%, #f0b63f 100%);
  color: #160b02;
  font-weight: 1000;
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.28);
}

/* The stake control must remain readable even when a platform restores an old
   dark button theme or applies forced colors to nested text. */
.shining-stake-picker .shining-stake-toggle,
.shining-stake-picker .shining-stake-toggle span,
.shining-stake-picker .shining-stake-toggle strong,
.shining-stake-picker .shining-stake-options,
.shining-stake-picker .shining-stake-options button {
  color: #170b02 !important;
  -webkit-text-fill-color: #170b02 !important;
}

.shining-stake-picker .shining-stake-toggle,
.shining-stake-picker .shining-stake-options button {
  background: linear-gradient(180deg, #fff8cf 0%, #ffd96c 28%, #c78218 72%, #f4bd43 100%) !important;
  border-color: #ffe79a !important;
}

.shining-stake-picker .shining-stake-options {
  background: #3a2109 !important;
  border: 2px solid #f4bd43 !important;
}

.shining-stake-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 0 13px;
}

.shining-stake-toggle span {
  color: rgba(22, 11, 2, 0.72);
  font-size: 0.78rem;
}

.shining-stake-options {
  position: absolute;
  top: calc(100% + 7px);
  right: 0;
  left: 0;
  display: grid;
  gap: 6px;
  border: 2px solid #ffe8a0;
  border-radius: 14px;
  background: linear-gradient(180deg, #fff0b7 0%, #f4bd4b 45%, #9a5b0d 100%);
  padding: 7px;
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.52), 0 0 22px rgba(255, 201, 77, 0.38);
  transform-origin: top;
  animation: shiningStakeDrop 0.18s ease both;
}

.shining-stake-options[hidden] {
  display: none;
}

.shining-stake-options button.active {
  outline: 3px solid #fff8c8;
  box-shadow: 0 0 0 2px #6f3b05, 0 0 18px rgba(255,255,210,.75);
}

#shiningCrownSpinButton::before,
#monkeySpinButton::before { content: "🎰 "; }
#shiningCrownAutoButton::before,
#monkeyAutoButton::before { content: "∞ "; }
#shiningCrownStopButton::before,
#monkeyStopButton::before { content: "🛑 "; }

#shiningCrownSpinButton,
#shiningCrownAutoButton,
#shiningCrownStopButton,
#monkeySpinButton,
#monkeyAutoButton,
#monkeyStopButton,
.game-return-button {
  border: 2px solid #ffe7a0 !important;
  background: linear-gradient(180deg, #fff2bd 0%, #ffd66a 30%, #bd7615 72%, #eaaa2c 100%) !important;
  color: #1a0d03 !important;
  font-weight: 1000 !important;
  text-shadow: 0 1px rgba(255,255,255,.35);
  box-shadow: inset 0 2px 2px rgba(255,255,255,.55), 0 8px 18px rgba(0,0,0,.38) !important;
}

@keyframes shiningStakeDrop {
  from { opacity: 0; transform: translateY(-8px) scaleY(0.9); }
  to { opacity: 1; transform: translateY(0) scaleY(1); }
}

#gameDepositButton {
  min-height: 38px;
  border: 1px solid rgba(232, 183, 83, 0.28);
  border-radius: 14px;
  background: var(--surface-2);
  color: var(--text);
  font-weight: 900;
}

.game-deposit-panel {
  display: grid;
  gap: 8px;
  max-height: 0;
  overflow: hidden;
  border: 1px solid rgba(232, 183, 83, 0);
  border-radius: 16px;
  background: rgba(18, 9, 4, 0.42);
  opacity: 0;
  padding: 0 12px;
  transform: translateY(-8px);
  transition:
    max-height 0.24s ease,
    opacity 0.24s ease,
    padding 0.24s ease,
    transform 0.24s ease,
    border-color 0.24s ease;
}

.game-deposit-panel.open {
  max-height: 160px;
  border-color: rgba(232, 183, 83, 0.16);
  opacity: 1;
  padding: 12px;
  transform: translateY(0);
}

.game-deposit-panel[hidden] {
  display: none;
}

.game-deposit-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(96px, auto);
  gap: 8px;
}

.game-deposit-actions button {
  min-height: 36px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface-2);
  color: var(--text);
  font-weight: 900;
}

.game-stage {
  position: relative;
  min-height: 340px;
  border: 1px solid rgba(232, 183, 83, 0.18);
  border-radius: 20px;
  background:
    radial-gradient(circle at 50% 50%, rgba(255, 211, 106, 0.18), transparent 18rem),
    rgba(8, 4, 1, 0.68);
  overflow: hidden;
}

.game-stage::before,
.game-stage::after {
  content: "";
  position: absolute;
  right: 0;
  left: 0;
  z-index: 2;
  height: 34%;
  pointer-events: none;
}

.game-stage::before {
  top: 0;
  background: linear-gradient(180deg, rgba(6, 3, 1, 0.94), transparent);
}

.game-stage::after {
  bottom: 0;
  background: linear-gradient(0deg, rgba(6, 3, 1, 0.94), transparent);
}

.game-pointer {
  position: absolute;
  top: 50%;
  right: 10px;
  z-index: 5;
  width: 0;
  height: 0;
  border-top: 28px solid transparent;
  border-bottom: 28px solid transparent;
  border-right: 44px solid var(--green);
  filter: drop-shadow(0 0 18px rgba(67, 214, 155, 0.76));
  transform: translateY(-50%);
}

.game-reel-window {
  position: absolute;
  inset: 0 58px 0 18px;
  overflow: hidden;
}

.game-reel {
  display: grid;
  gap: 10px;
  padding: 10px 0;
  will-change: transform;
}

.game-prize-card {
  height: 250px;
  border: 1px solid rgba(232, 183, 83, 0.18);
  border-radius: 18px;
  background: #050302;
  overflow: hidden;
  opacity: 0.74;
  transform: scale(0.92);
  transition:
    opacity 0.35s ease,
    transform 0.35s ease,
    box-shadow 0.35s ease,
    border-color 0.35s ease;
}

.game-prize-card img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  background: #050302;
}

.game-prize-card.winner {
  z-index: 3;
  border-color: rgba(255, 236, 164, 0.92);
  opacity: 1;
  transform: scale(1);
  box-shadow:
    0 0 0 1px rgba(255, 236, 164, 0.52),
    0 0 45px rgba(255, 190, 68, 0.72),
    inset 0 0 28px rgba(255, 211, 106, 0.18);
}

.game-prize-card.winner-flash {
  animation: gameWinnerFlash 0.42s ease-in-out 7;
}

@keyframes gameWinnerFlash {
  0%,
  100% {
    filter: brightness(1);
    box-shadow:
      0 0 0 1px rgba(255, 236, 164, 0.56),
      0 0 45px rgba(255, 190, 68, 0.72),
      inset 0 0 28px rgba(255, 211, 106, 0.18);
  }

  50% {
    filter: brightness(1.55) saturate(1.25);
    box-shadow:
      0 0 0 2px rgba(255, 255, 230, 0.92),
      0 0 78px rgba(255, 219, 94, 0.98),
      0 0 120px rgba(255, 181, 35, 0.64),
      inset 0 0 46px rgba(255, 242, 180, 0.28);
  }
}

.game-screen.spinning .game-prize-card {
  transition: none;
}

.shining-slot-card {
  background:
    radial-gradient(circle at 50% 8%, rgba(255, 223, 137, 0.2), transparent 18rem),
    linear-gradient(180deg, rgba(48, 25, 8, 0.98), rgba(10, 4, 1, 0.98));
}

.monkey-menu-button {
  background: linear-gradient(180deg, #ffe89a, #d79a22 72%, #9d6410);
}

.game-real-bot-panel,
.admin-bot-link-card {
  display: grid;
  gap: 10px;
  margin: 14px 0;
  padding: 14px;
  border: 1px solid rgba(255, 220, 126, 0.35);
  border-radius: 16px;
  background: linear-gradient(145deg, rgba(72, 42, 10, 0.76), rgba(22, 10, 2, 0.92));
}

.game-real-bot-panel .primary {
  display: grid;
  min-height: 44px;
  place-items: center;
  text-decoration: none;
}

.game-real-bot-panel .disabled {
  pointer-events: none;
  opacity: 0.48;
}

html[dir="rtl"] .wallet-app,
html[dir="rtl"] .game-menu-card,
html[dir="rtl"] .settings-shell {
  direction: rtl;
}

.monkey-slot-card {
  background:
    radial-gradient(circle at 50% 4%, rgba(255, 219, 112, 0.25), transparent 18rem),
    linear-gradient(155deg, #123f28, #071b12 55%, #020906);
  border-color: rgba(238, 196, 89, 0.45);
}

.monkey-slot-stage {
  background:
    radial-gradient(circle at 10% 20%, rgba(49, 179, 98, 0.25), transparent 30%),
    radial-gradient(circle at 90% 70%, rgba(236, 187, 65, 0.15), transparent 32%),
    linear-gradient(145deg, #0e4b2c, #03160d 68%);
  border-color: rgba(255, 218, 112, 0.52);
}

.monkey-slot-frame {
  border-color: #dcb84f;
  background: linear-gradient(180deg, rgba(37, 107, 63, 0.68), rgba(3, 20, 12, 0.96));
  box-shadow: inset 0 0 35px rgba(88, 225, 139, 0.13), 0 0 24px rgba(224, 178, 54, 0.15);
}

.monkey-slot-frame .shining-reel {
  background: linear-gradient(180deg, #163e29, #07160e);
}

.monkey-symbol {
  font-size: clamp(2rem, 5.4vw, 3.8rem);
  background: radial-gradient(circle at 50% 35%, rgba(99, 207, 127, 0.28), transparent 60%), linear-gradient(180deg, #19492f, #07170e);
}

.monkey-bonus-panel {
  position: fixed;
  z-index: 180;
  top: 50%;
  left: 50%;
  width: min(520px, calc(100vw - 28px));
  padding: 22px;
  border: 1px solid rgba(255, 218, 112, 0.56);
  border-radius: 22px;
  background: linear-gradient(145deg, rgba(18, 91, 49, 0.99), rgba(3, 19, 11, 0.995));
  box-shadow: 0 0 0 100vmax rgba(0, 0, 0, 0.72), 0 0 46px rgba(255, 204, 69, 0.38);
  text-align: center;
  transform: translate(-50%, -50%) scale(0.94);
  opacity: 0;
}

.monkey-bonus-panel[hidden],
.monkey-bonus-total[hidden] {
  display: none;
}

.monkey-bonus-panel.active {
  animation: monkeyBonusEntrance 0.5s ease-out forwards;
}

.monkey-bonus-panel > strong {
  display: block;
  margin-top: 5px;
  color: #fff0a8;
  font-size: clamp(1.35rem, 5vw, 2rem);
}

.monkey-bonus-panel p {
  margin: 9px 0 0;
  color: #dbefda;
}

.monkey-bonus-kicker {
  color: #ffd666;
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.12em;
}

#monkeyBonusTreasures {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 9px;
  margin-top: 10px;
}

.monkey-treasure {
  width: 100%;
  padding: 0;
  display: grid;
  min-height: 54px;
  place-items: center;
  border: 1px solid rgba(255, 220, 121, 0.38);
  border-radius: 12px;
  background: rgba(0, 0, 0, 0.28);
  font-size: 1.45rem;
  color: #fff2ad;
  cursor: pointer;
  transition: opacity 0.25s ease, transform 0.25s ease, background 0.25s ease;
}

.monkey-treasure.selected {
  border-color: #ffe18a;
  background: rgba(255, 210, 76, 0.2);
  transform: scale(1.04);
}

.monkey-treasure.picked {
  color: #fff2ad;
  box-shadow: 0 0 22px rgba(255, 208, 75, 0.48);
  animation: shiningWinPulse 0.58s ease-in-out 3;
}

.monkey-treasure.revealed {
  background: radial-gradient(circle, rgba(255, 222, 103, 0.35), rgba(20, 58, 31, 0.9));
  font-size: 1.7rem;
  font-weight: 900;
  transform: scale(1.06);
}

.monkey-treasure.unpicked {
  opacity: 0.58;
  color: #d7cfae;
  background: rgba(20, 20, 16, 0.72);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.05);
}

.monkey-bonus-total {
  display: grid;
  gap: 3px;
  margin-top: 14px;
  padding: 12px;
  border-radius: 14px;
  background: rgba(0, 0, 0, 0.32);
  color: #fff4bd;
}

.monkey-bonus-total strong {
  color: #ffd457;
  font-size: 2rem;
}

.monkey-bonus-total small {
  color: #e5eadb;
}

@keyframes monkeyBonusEntrance {
  to { opacity: 1; transform: translate(-50%, -50%) scale(1); }
}

.shining-slot-stage {
  display: grid;
  gap: 8px;
  border: 1px solid rgba(255, 221, 139, 0.28);
  border-radius: 20px;
  background:
    linear-gradient(135deg, rgba(83, 42, 9, 0.52), rgba(9, 3, 1, 0.9)),
    #090401;
  padding: 12px;
  box-shadow:
    inset 0 0 0 1px rgba(255, 232, 166, 0.08),
    inset 0 0 42px rgba(255, 184, 47, 0.1);
}

.shining-slot-frame {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 7px;
  border: 2px solid rgba(255, 221, 139, 0.42);
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(255, 226, 143, 0.12), transparent 18%),
    rgba(4, 2, 1, 0.94);
  padding: 8px;
  overflow: hidden;
}

.shining-reel {
  height: min(260px, 34vw);
  min-height: 174px;
  overflow: hidden;
  border-radius: 13px;
  background: rgba(4, 2, 1, 0.72);
}

.shining-reel-strip {
  display: grid;
  gap: 7px;
  will-change: transform;
  transform: translateY(0);
}

.shining-symbol {
  aspect-ratio: 1 / 0.82;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 219, 129, 0.18);
  border-radius: 12px;
  background:
    radial-gradient(circle at 50% 28%, rgba(255, 218, 120, 0.16), transparent 58%),
    linear-gradient(180deg, #2a1505, #0b0401);
  color: #ffe7a0;
  font-size: clamp(1.55rem, 4.4vw, 3rem);
  font-weight: 1000;
  text-shadow: 0 2px 0 #120701, 0 0 16px rgba(255, 196, 64, 0.46);
  box-shadow: inset 0 0 16px rgba(255, 210, 111, 0.08);
}

.shining-wallet-logo {
  width: 72%;
  height: 72%;
  display: block;
  border-radius: 50%;
  object-fit: cover;
  box-shadow: 0 0 18px rgba(255, 219, 112, 0.46);
}

.shining-symbol.seven {
  color: #ffdf6d;
  font-family: Georgia, serif;
}

.shining-symbol.crown {
  color: #fff0b8;
  background:
    radial-gradient(circle at 50% 30%, rgba(255, 235, 171, 0.28), transparent 58%),
    linear-gradient(180deg, #4a2506, #120701);
}

.shining-symbol.winning {
  border-color: rgba(111, 255, 186, 0.86);
  box-shadow:
    0 0 0 1px rgba(111, 255, 186, 0.46),
    0 0 26px rgba(87, 255, 176, 0.55),
    inset 0 0 22px rgba(87, 255, 176, 0.16);
  animation: shiningWinPulse 0.58s ease-in-out 5;
}

.shining-slot-frame.spinning .shining-reel {
  box-shadow:
    inset 0 18px 18px rgba(0, 0, 0, 0.42),
    inset 0 -18px 18px rgba(0, 0, 0, 0.42);
}

.shining-lines-label {
  color: rgba(255, 229, 165, 0.72);
  font-size: 0.8rem;
  text-align: center;
}

@keyframes shiningWinPulse {
  50% { filter: brightness(1.42) saturate(1.2); transform: scale(1.04); }
}

.settings-shell {
  width: min(900px, 100%);
  margin: 0 auto;
  display: grid;
  gap: 16px;
}

.settings-header {
  display: grid;
  gap: 10px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: linear-gradient(180deg, #24160b, #140b05);
}

.settings-header h2 {
  margin: 4px 0 0;
  font-size: 2rem;
}

.settings-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.settings-section {
  display: grid;
  gap: 12px;
  padding: 16px;
  border: 1px solid rgba(232, 183, 83, 0.14);
  border-radius: 18px;
  background: rgba(31, 18, 8, 0.96);
}

.settings-section h3 {
  margin: 0;
}

.setting-row {
  min-height: 46px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  color: var(--muted);
}

.setting-row strong {
  max-width: 58%;
  overflow-wrap: anywhere;
  color: var(--text);
  text-align: right;
}

.setting-row input[type="checkbox"] {
  width: 22px;
  min-height: 22px;
  accent-color: var(--blue-2);
}

.settings-section button,
.settings-telegram,
.settings-logout,
.settings-danger {
  min-height: 44px;
  display: inline-grid;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface-2);
  color: var(--text);
  padding: 0 14px;
  font-weight: 850;
  text-align: center;
  text-decoration: none;
}

.settings-telegram.primary {
  border: 0;
  background:
    linear-gradient(180deg, #fff2b8 0%, #ffd568 24%, #b87818 58%, #f0b63f 100%);
  color: #1a0d03;
}

.settings-danger {
  border-color: rgba(255, 106, 122, 0.34);
  color: var(--red);
}

.settings-logout {
  width: min(320px, 100%);
  border-color: rgba(255, 106, 122, 0.28);
  color: var(--red);
}

.settings-support {
  border-color: rgba(255, 211, 106, 0.24);
}

.admin-section[hidden] {
  display: none;
}

.admin-section .history-list {
  max-height: 220px;
  overflow-y: auto;
}

.admin-user-row {
  display: grid;
  gap: 4px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: rgba(18, 9, 4, 0.42);
}

.admin-user-row small {
  color: var(--muted);
  line-height: 1.35;
}

.swap-widget,
.security-card {
  padding: 22px;
  backdrop-filter: blur(18px);
  box-shadow: 0 28px 90px rgba(0, 0, 0, 0.24);
}

.widget-title {
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 20px;
}

.widget-title h2 {
  margin-top: 4px;
  font-size: 2rem;
}

.field {
  display: grid;
  gap: 9px;
  color: var(--muted);
  font-size: 0.9rem;
}

.amount-row {
  gap: 10px;
}

input,
select {
  width: 100%;
  min-height: 54px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--surface-2);
  color: var(--text);
  padding: 0 14px;
  outline: none;
}

select {
  max-width: 142px;
}

input:focus,
select:focus {
  border-color: var(--blue-2);
}

.flip {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  margin: 14px auto;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: var(--surface-2);
  color: var(--blue-2);
}

.quote-box {
  justify-content: space-between;
  gap: 16px;
  margin: 18px 0;
  padding: 14px;
  border-radius: 16px;
  background: rgba(80, 43, 12, 0.3);
  color: var(--muted);
}

.quote-box strong {
  color: var(--text);
  text-align: right;
}

.primary {
  width: 100%;
}

.modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 20;
  display: none;
  place-items: center;
  padding: 18px;
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
  overscroll-behavior: contain;
  background: rgba(12, 6, 3, 0.76);
  backdrop-filter: blur(14px);
}

.modal-backdrop.open {
  display: grid;
}

.push-prompt-dialog {
  width: min(92vw, 520px);
}

.push-prompt-actions {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.4fr);
  gap: 12px;
  margin-top: 18px;
}

@media (max-width: 430px) {
  .push-prompt-actions { grid-template-columns: 1fr; }
}

.game-mode-modal {
  z-index: 120;
}

.game-mode-dialog {
  width: min(460px, 100%);
  border-color: rgba(255, 211, 106, 0.32);
  background: linear-gradient(165deg, rgba(57, 31, 12, 0.98), rgba(15, 7, 3, 0.99));
}

.game-mode-options {
  display: grid;
  gap: 12px;
}

.game-mode-options button {
  min-height: 86px;
  display: grid;
  gap: 5px;
  align-content: center;
  text-align: left;
  padding: 16px 18px;
  border-radius: 18px;
}

.game-mode-options button strong {
  font-size: 1.04rem;
}

.game-mode-options button span {
  color: rgba(255, 243, 200, 0.72);
  font-size: 0.86rem;
  line-height: 1.35;
}

.game-mode-bot {
  border: 1px solid rgba(80, 224, 134, 0.48);
  background: linear-gradient(145deg, rgba(20, 127, 72, 0.96), rgba(10, 69, 39, 0.98));
  color: #fff;
}

.admin-test-deal-toolbar {
  display: grid;
  grid-template-columns: minmax(180px, 260px) minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  margin: 12px 0;
}

.admin-test-deal-toolbar .send-status {
  margin: 0;
}

.admin-test-deal-modal {
  z-index: 140;
}

.admin-test-deal-dialog {
  width: min(760px, 100%);
  max-height: min(92vh, 900px);
  overflow-y: auto;
}

.admin-test-deal-fields {
  display: grid;
  gap: 12px;
}

.admin-test-seat {
  margin: 0;
  padding: 12px;
  border: 1px solid rgba(232, 183, 83, 0.22);
  border-radius: 14px;
}

.admin-test-seat legend {
  padding: 0 7px;
  color: #fff0bd;
  font-weight: 800;
}

.admin-test-seat > div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}

.admin-test-community > div {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.admin-test-seat label {
  display: grid;
  gap: 5px;
  min-width: 0;
  color: var(--muted);
  font-size: 0.78rem;
}

.admin-test-seat select {
  width: 100%;
  min-width: 0;
}

@media (max-width: 640px) {
  .admin-test-deal-toolbar,
  .admin-test-seat > div,
  .admin-test-community > div {
    grid-template-columns: 1fr;
  }
}

.toast {
  position: fixed;
  top: max(18px, env(safe-area-inset-top));
  left: 50%;
  z-index: 60;
  width: min(420px, calc(100vw - 28px));
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding: 14px;
  border-radius: 18px;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.38);
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -18px);
  transition: opacity 0.22s ease, transform 0.22s ease;
}

.toast.show {
  opacity: 1;
  transform: translate(-50%, 0);
}

.success-toast {
  border: 1px solid rgba(48, 209, 88, 0.42);
  background: linear-gradient(135deg, rgba(19, 132, 73, 0.96), rgba(28, 166, 91, 0.96));
  color: #fff;
}

/* Android receive screen: keep the selected address, QR and copy action visible. */
@media (max-width: 700px) {
  html,
  body {
    min-height: 100%;
    min-height: 100dvh;
  }

  .app-shell {
    min-height: 100dvh;
  }

  .phone {
    height: 100dvh;
    min-height: 100dvh;
    max-height: 100dvh;
  }

  .tab-panel {
    min-height: 0;
    padding-right: 12px;
    padding-left: 12px;
    padding-bottom: calc(92px + env(safe-area-inset-bottom));
    scroll-padding-top: 10px;
    scroll-padding-bottom: calc(104px + env(safe-area-inset-bottom));
    -webkit-overflow-scrolling: touch;
  }

  #addressesPanel.active {
    display: flex;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
  }

  #addressesPanel.single-address-mode .address-note {
    display: none;
  }

  #addressesPanel .address-list {
    width: 100%;
    flex: 0 0 auto;
  }

  #addressesPanel .selected-address-row {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    padding: 12px;
    border: 1px solid rgba(255, 215, 103, 0.32);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(43, 24, 9, 0.98), rgba(20, 10, 4, 0.98));
  }

  #addressesPanel .selected-address-row .address-details {
    width: 100%;
    flex: 0 0 auto;
    gap: 5px;
  }

  #addressesPanel .selected-address-row .address-details strong {
    color: #fff2bf;
    font-size: 1rem;
  }

  #addressesPanel .selected-address-row .address-details span {
    color: #e3bd70;
  }

  #addressesPanel .selected-address-row .address-details code {
    width: 100%;
    max-width: 100%;
    max-height: none;
    display: block;
    overflow: visible;
    padding: 9px 10px;
    border: 1px solid rgba(255, 215, 103, 0.3);
    border-radius: 11px;
    background: #090401;
    color: #fff4ca;
    font-size: clamp(0.72rem, 3.35vw, 0.9rem);
    line-height: 1.3;
    user-select: all;
    -webkit-user-select: all;
  }

  #addressesPanel .selected-address-row .receive-qr {
    align-self: center;
    flex: 0 0 auto;
    width: min(224px, 64vw, 32dvh);
    height: min(224px, 64vw, 32dvh);
    max-width: 100%;
    padding: 6px;
    border-radius: 12px;
  }

  #addressesPanel .selected-address-row .receive-qr canvas {
    width: 100% !important;
    height: 100% !important;
    max-width: 100%;
  }

  #addressesPanel .selected-address-row > button {
    width: 100%;
    min-height: 48px;
    flex: 0 0 auto;
    border: 1px solid rgba(255, 238, 176, 0.72);
    border-radius: 15px;
    background: linear-gradient(180deg, #fff0a7 0%, #e7ae35 58%, #bd7911 100%);
    color: #211306;
    font-size: 1rem;
    box-shadow: 0 7px 20px rgba(0, 0, 0, 0.28);
  }
}

@media (max-width: 390px), (max-height: 680px) {
  #addressesPanel .selected-address-row {
    gap: 7px;
    padding: 9px;
  }

  #addressesPanel .selected-address-row .address-details span {
    font-size: 0.74rem;
  }

  #addressesPanel .selected-address-row .receive-qr {
    width: min(190px, 58vw, 29dvh);
    height: min(190px, 58vw, 29dvh);
  }
}

.toast span {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(255, 232, 174, 0.2);
  font-weight: 900;
  font-size: 1.3rem;
}

.toast strong,
.toast p {
  margin: 0;
}

.toast p {
  margin-top: 3px;
  color: rgba(255, 232, 174, 0.82);
  font-size: 0.9rem;
  line-height: 1.35;
}

.send-modal {
  width: min(420px, 100%);
  display: grid;
  gap: 14px;
  padding: 20px;
  box-shadow: 0 32px 120px rgba(0, 0, 0, 0.46);
}

.asset-modal {
  width: min(480px, 100%);
  max-height: min(92vh, 760px);
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.asset-summary,
.asset-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.asset-summary article {
  padding: 14px;
  border: 1px solid rgba(232, 183, 83, 0.14);
  border-radius: 16px;
  background: rgba(80, 43, 12, 0.3);
}

.asset-summary span {
  color: var(--muted);
  font-size: 0.84rem;
}

.asset-summary strong {
  display: block;
  margin-top: 6px;
  overflow-wrap: anywhere;
}

.asset-price-chart {
  margin: 12px 0;
  padding: 14px;
  border: 1px solid rgba(226, 177, 55, 0.3);
  border-radius: 18px;
  background: radial-gradient(circle at 50% 100%, rgba(226, 177, 55, 0.13), transparent 60%), rgba(8, 6, 4, 0.5);
  overflow: hidden;
}

.asset-price-chart-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.asset-price-chart-head div { display: grid; gap: 3px; }
.asset-price-chart-head span, .asset-price-chart small { color: var(--muted); }
.asset-price-chart-head strong { color: var(--cream); font-size: 1.35rem; }
#assetChartChange { color: #4ee0a0; font-weight: 800; }
#assetChartChange.negative { color: #ff7171; }
#assetChartSvg { display: block; width: 100%; height: 112px; margin-top: 6px; }

.recovery-phrase-dialog { max-width: 620px; }

#recoveryPhraseModal {
  z-index: 160;
}
.recovery-warning {
  padding: 12px 14px;
  border: 1px solid rgba(255, 99, 99, 0.55);
  border-radius: 14px;
  color: #ffd4d4;
  background: rgba(108, 10, 10, 0.28);
  line-height: 1.45;
}
.recovery-words {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 14px 0;
  user-select: text;
}
.recovery-words span {
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
  padding: 10px;
  border: 1px solid rgba(226, 177, 55, 0.32);
  border-radius: 11px;
  background: rgba(0, 0, 0, 0.3);
  color: var(--cream);
  overflow-wrap: anywhere;
}
.recovery-words b { color: var(--muted); font-size: 0.74rem; }
@media (max-width: 560px) {
  .recovery-words { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.asset-actions button {
  min-height: 42px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface-2);
  color: var(--text);
  font-weight: 850;
}

.asset-actions button:hover {
  border-color: var(--blue-2);
  color: var(--blue-2);
}

.gold-panel {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid rgba(241, 200, 91, 0.2);
  border-radius: 16px;
  background: rgba(241, 200, 91, 0.07);
}

.gold-panel .quote-box {
  margin: 0;
}

.gold-panel[hidden] {
  display: none;
}

.modal-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.modal-title h2 {
  margin-top: 4px;
}

.send-status {
  color: var(--muted);
  font-size: 0.9rem;
  line-height: 1.45;
}

.security-card h3 {
  margin-bottom: 16px;
}

.check-row {
  gap: 10px;
  min-height: 36px;
  color: var(--muted);
}

.check-row span {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--green);
}

@media (max-width: 900px) {
  html,
  body {
    width: 100%;
    max-width: 100%;
    min-height: 100svh;
    overflow-x: hidden;
    overflow-x: clip;
    overscroll-behavior-x: none;
    background: var(--bg);
  }

  .app-shell {
    width: 100%;
    max-width: 100%;
    height: 100svh;
    min-height: 0;
    grid-template-columns: 1fr;
    align-items: start;
    overflow: hidden;
    touch-action: pan-y;
    padding: 0;
  }

  .phone {
    width: min(560px, 100%);
    max-width: 100%;
    height: 100svh;
    min-height: 0;
    max-height: none;
    overflow: hidden;
    touch-action: pan-y;
    margin: 0 auto;
    border-radius: 0;
    border-left: 0;
    border-right: 0;
  }

  .phone * {
    max-width: 100%;
  }

  .app-shell,
  .phone,
  .topbar,
  .balance-panel,
  .connect-strip,
  .quick-actions,
  .tabs,
  .tab-panel,
  .bottom-nav,
  .asset-list,
  .history-list,
  .address-list,
  .p2p-screen,
  .p2p-shell,
  .p2p-market,
  .p2p-chat,
  .settings-screen,
  .settings-shell,
  .game-screen,
  .game-shell,
  .game-card,
  .game-stage,
  .modal-backdrop,
  .send-modal,
  .asset-modal {
    overflow-x: hidden;
    overscroll-behavior-x: contain;
  }

  .topbar,
  .balance-panel,
  .connect-strip,
  .quick-actions,
  .tabs,
  .tab-panel,
  .bottom-nav,
  .asset-list,
  .history-list,
  .address-list,
  .p2p-market,
  .p2p-form,
  .p2p-list,
  .p2p-offer,
  .swap-widget,
  .asset-row,
  .history-row,
  .address-row,
  .empty-state,
  .defi-card,
  .security-card,
  .send-modal {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  .tab-panel {
    overflow-x: hidden;
  }

  /* The card has horizontal margins, so it must not also occupy 100% width. */
  .balance-panel {
    width: calc(100% - 36px);
    max-width: calc(100% - 36px);
    min-width: 0;
    flex: 0 0 auto;
  }

  .balance-panel > *,
  .portfolio-chart,
  .portfolio-chart-head,
  .portfolio-chart-foot {
    min-width: 0;
  }

  .mobile-swap {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    display: grid;
    gap: 14px;
    padding: 16px;
    box-shadow: none;
    backdrop-filter: none;
  }

  .mobile-swap .widget-title {
    min-width: 0;
    margin-bottom: 2px;
  }

  .mobile-swap .widget-title > div {
    min-width: 0;
  }

  .mobile-swap .widget-title h2 {
    overflow: hidden;
    font-size: 1.35rem;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .mobile-swap .field,
  .mobile-swap .amount-row,
  .mobile-swap input,
  .mobile-swap select,
  .mobile-swap .quote-box,
  .mobile-swap .send-status,
  .mobile-swap .primary {
    min-width: 0;
    max-width: 100%;
  }

  .desktop-panel {
    display: none;
  }

  .topbar {
    padding-top: max(14px, env(safe-area-inset-top));
  }

  .tab-panel {
    padding-bottom: calc(18px + env(safe-area-inset-bottom));
  }

  .bottom-nav {
    padding-bottom: max(14px, env(safe-area-inset-bottom));
  }

  .p2p-head,
  .p2p-section-title,
  .p2p-offer {
    align-items: stretch;
    flex-direction: column;
    min-width: 0;
  }

  .p2p-head > *,
  .p2p-section-title > *,
  .p2p-offer > *,
  .asset-row > *,
  .history-row > *,
  .address-row > *,
  .quick-actions > *,
  .bottom-nav > *,
  .chat-message > *,
  .setting-row > * {
    min-width: 0;
  }

  .p2p-form {
    grid-template-columns: 1fr;
  }

  .p2p-screen {
    padding: 0;
  }

  .p2p-shell,
  .p2p-market,
  .p2p-chat,
  .p2p-chat-messages {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  .p2p-chat-messages {
    overflow-x: hidden;
  }

  .chat-image-link {
    width: 100%;
    max-width: 260px;
  }

  .chat-message,
  .chat-message a,
  .p2p-status,
  .send-status,
  .quote-box strong,
  .asset-summary strong,
  .settings-section,
  .setting-row,
  .admin-user-row small {
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  .p2p-offer button {
    width: 100%;
  }

  .p2p-actions {
    width: 100%;
    min-width: 0;
    grid-template-columns: 1fr;
  }

  .admin-shell {
    width: 100%;
    max-width: 100%;
    padding: 0 0 18px;
  }

  .admin-hero,
  .admin-card {
    border-right: 0;
    border-left: 0;
    border-radius: 0;
  }

  .admin-hero {
    align-items: stretch;
    flex-direction: column;
  }

  .admin-dashboard {
    grid-template-columns: 1fr;
  }

  .admin-overview-live {
    grid-template-columns: 1fr 1fr;
    gap: 7px;
  }

  .admin-overview-live article {
    padding: 10px 8px;
  }

  .admin-poker-board {
    border-width: 5px;
    border-radius: 38px;
    padding: 16px 8px;
  }

  .admin-poker-card {
    width: clamp(48px, 15vw, 62px);
    height: clamp(69px, 21.5vw, 89px);
  }

  .admin-wallet-link {
    width: 100%;
  }

  .game-screen {
    padding: 0;
  }

  .game-shell {
    width: 100%;
    max-width: 100%;
    padding: 8px;
  }

  .game-head,
  .game-info {
    align-items: stretch;
    flex-direction: column;
  }

  .game-card,
  .game-balance-row,
  .game-bets,
  .game-stage,
  .game-reel-window,
  .game-reel {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  .game-stage {
    min-height: min(300px, 42svh);
  }

  .game-reel-window {
    inset: 0 52px 0 12px;
  }

  .game-prize-card {
    height: min(220px, 31svh);
  }
}

@media (max-width: 460px) {
  .app-shell {
    width: 100%;
    max-width: 100%;
    padding: 0;
  }

  .phone {
    width: 100%;
    max-width: 100%;
    height: 100svh;
    min-height: 0;
    border: 0;
    border-radius: 0;
  }

  .desktop-panel {
    display: none;
  }

  .topbar {
    padding: 14px 14px 8px;
  }

  .icon-button,
  .wallet-address button {
    width: 38px;
    height: 38px;
  }

  .brand-lockup strong {
    max-width: 172px;
    font-size: 0.88rem;
  }

  .balance-panel {
    width: calc(100% - 28px);
    max-width: calc(100% - 28px);
    margin: 6px 14px 0;
    padding: 18px;
    border-radius: 20px;
  }

  #portfolioBalance {
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  .portfolio-chart {
    margin-top: 12px;
    padding-top: 9px;
  }

  .portfolio-chart svg {
    height: 58px;
  }

  .status-line {
    margin-bottom: 16px;
    font-size: 0.78rem;
  }

  h1 {
    font-size: clamp(2.05rem, 12vw, 2.55rem);
  }

  .connect-strip {
    padding: 10px 14px 0;
  }

  .connect-strip .primary {
    min-height: 42px;
    border-radius: 13px;
    font-size: 0.92rem;
  }

  .quick-actions {
    gap: 6px;
    padding: 14px;
  }

  .quick-actions button {
    overflow: hidden;
    gap: 7px;
    font-size: 0.72rem;
  }

  .quick-actions b {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .quick-actions span {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    font-size: 1.12rem;
  }

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

  .game-menu-options button { min-height: 64px; padding: 7px; }
  .game-menu-options .game-logo-button { min-height: 0; padding: 0; border-radius: 13px; }

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

  .debertz-hand-card .poker-card { width: 88px; height: 126px; }

  .poker-shell {
    width: 100%;
    max-width: 100%;
    padding-inline: 10px;
  }

  .poker-head {
    align-items: stretch;
    flex-direction: column;
  }

  .poker-balance {
    width: 100%;
    text-align: left;
  }

  .game-voice-button {
    width: 100%;
  }

  .poker-table {
    min-height: min(520px, 58svh);
    border-width: 7px;
    border-radius: 34%;
  }

  .poker-seat {
    width: 82px;
    min-height: 62px;
    padding: 6px;
  }

  .poker-seat.empty {
    width: 52px;
    min-height: 52px;
  }

  .poker-card {
    width: clamp(48px, 15vw, 60px);
    height: clamp(69px, 21.5vw, 86px);
    border-radius: 8px;
    font-size: 0.78rem;
  }

  .poker-hand .poker-card {
    width: 88px;
    height: 126px;
  }

  .poker-seat-cards .poker-card {
    width: 30px;
    height: 43px;
  }

  .poker-community {
    gap: 4px;
  }

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

  .poker-controls .field {
    grid-column: 1 / -1;
  }

  .tabs {
    width: 100%;
    max-width: 100%;
    gap: 6px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    padding: 0 14px 10px;
    scrollbar-width: none;
  }

  .tabs::-webkit-scrollbar {
    display: none;
  }

  .tabs button {
    flex: 0 0 auto;
    min-height: 34px;
    padding: 0 11px;
    font-size: 0.84rem;
  }

  .tab-panel {
    width: 100%;
    max-width: 100%;
    padding: 0 14px 16px;
  }

  .mobile-swap {
    border-radius: 16px;
  }

  .mobile-swap .amount-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(86px, 29%);
    gap: 8px;
  }

  .mobile-swap input,
  .mobile-swap select {
    width: 100%;
    max-width: none;
  }

  .mobile-swap .quote-box {
    display: grid;
    grid-template-columns: minmax(0, auto) minmax(0, 1fr);
    align-items: center;
    margin: 0;
  }

  .mobile-swap .quote-box strong,
  .mobile-swap .send-status {
    overflow-wrap: anywhere;
  }

  .asset-list,
  .history-list,
  .address-list {
    width: 100%;
    gap: 8px;
  }

  .asset-row {
    width: 100%;
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    padding: 12px;
    border-radius: 16px;
  }

  .asset-main {
    gap: 10px;
  }

  .asset-icon {
    width: 40px;
    height: 40px;
  }

  .asset-name {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .asset-symbol {
    max-width: 172px;
    overflow: hidden;
    font-size: 0.78rem;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .asset-value {
    min-width: 82px;
    max-width: 112px;
    font-size: 0.88rem;
  }

  .asset-value span,
  .positive,
  .negative {
    font-size: 0.76rem;
  }

  .address-row {
    flex-wrap: wrap;
    padding: 12px;
    border-radius: 16px;
  }

  .address-row div {
    flex: 1 1 190px;
  }

  .address-row code {
    max-width: min(100%, 270px);
  }

  .address-row button {
    flex: 0 0 auto;
  }

  .address-note,
  .empty-state,
  .defi-card,
  .earn-card,
  .metric-grid article,
  .nft-grid article {
    border-radius: 16px;
  }

  .metric-grid,
  .nft-grid,
  .earn-stats {
    grid-template-columns: 1fr;
  }

  .bottom-nav {
    position: sticky;
    bottom: 0;
    z-index: 5;
    width: 100%;
    max-width: 100%;
  }

  .bottom-nav button {
    font-size: 0.68rem;
  }

  .modal-backdrop {
    align-items: end;
    padding: 0;
    overflow-y: auto;
  }

  .settings-screen {
    padding: 0;
  }

  .game-card {
    gap: 8px;
    border-radius: 16px;
    padding: 10px;
  }

  .game-head h2 {
    font-size: 1.35rem;
  }

  .game-balance-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
  }

  .game-bets {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 5px;
  }

  .game-bets button {
    min-height: 30px;
    border-radius: 10px;
    padding: 0 3px;
    font-size: 0.74rem;
  }

  .game-deposit-actions {
    grid-template-columns: 1fr;
  }

  #gameDepositButton,
  #gameStartButton {
    min-height: 36px;
  }

  .game-pointer {
    right: 6px;
    border-top-width: 22px;
    border-bottom-width: 22px;
    border-right-width: 34px;
  }

  .game-reel-window {
    inset: 0 42px 0 10px;
  }

  .settings-shell {
    min-height: 100svh;
    padding: 12px;
  }

  .settings-header,
  .settings-section {
    border-radius: 16px;
  }

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

  .setting-row strong {
    max-width: 52%;
  }

  .send-modal {
    width: 100%;
    max-width: 100%;
    border-right: 0;
    border-bottom: 0;
    border-left: 0;
    border-radius: 22px 22px 0 0;
    padding: 18px 16px max(18px, env(safe-area-inset-bottom));
  }

  .asset-modal {
    width: 100%;
    max-width: 100%;
    max-height: 96svh;
    overflow-x: hidden;
    overflow-y: auto;
  }

  .asset-modal .amount-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(82px, 28%);
    gap: 8px;
  }

  input,
  select {
    min-height: 50px;
    border-radius: 14px;
  }
}

/* Wallet entrance scene: intentionally isolated above every wallet overlay. */
@property --wallet-intro-reveal {
  syntax: "<percentage>";
  inherits: false;
  initial-value: -18%;
}

body.wallet-intro-open {
  overflow: hidden;
}

body.wallet-intro-open::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 4999;
  background: #010108;
  pointer-events: none;
}

.wallet-intro {
  position: fixed;
  inset: 0;
  z-index: 5000;
  display: none;
  overflow: hidden;
  place-items: center;
  background: #010108;
  opacity: 1;
  isolation: isolate;
}

.wallet-intro[aria-hidden="false"] {
  display: grid;
}

.wallet-intro.is-leaving {
  animation: wallet-intro-fade 1.1s ease-in forwards;
}

.wallet-intro-beam {
  position: absolute;
  z-index: 1;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 1;
  background: #010108 url("./assets/wallet-intro-shield-mobile.jpg") center / contain no-repeat;
  transform: none;
  will-change: auto;
  pointer-events: none;
}

.wallet-intro-beam::before,
.wallet-intro-beam::after {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 100%;
  height: 100%;
  display: none;
  opacity: 0;
  transform: translateX(-50%);
  mix-blend-mode: screen;
  filter: blur(9px);
  will-change: opacity;
}

.wallet-intro-beam::before {
  display: none;
  inset: 0;
  width: 100%;
  height: 100%;
  transform: none;
  clip-path: none;
  --wallet-intro-reveal: -18%;
  background: #010108;
  mix-blend-mode: normal;
  filter: none;
}

.wallet-intro.is-running .wallet-intro-beam::before {
  background: radial-gradient(
    circle at 50% 50%,
    transparent 0,
    transparent var(--wallet-intro-reveal),
    rgba(1, 1, 8, .94) calc(var(--wallet-intro-reveal) + 8%),
    #010108 calc(var(--wallet-intro-reveal) + 18%)
  );
}

.wallet-intro-beam::after {
  clip-path: polygon(74% 0, 93% 0, 57% 78%, 37% 78%);
  background: linear-gradient(215deg, rgba(255, 250, 220, .82), rgba(255, 214, 101, .46) 48%, rgba(255, 176, 36, .08) 82%, transparent);
}

.wallet-intro.is-running .wallet-intro-beam {
  animation: none;
}

.wallet-intro.is-running .wallet-intro-beam::before,
.wallet-intro.is-running .wallet-intro-beam::after {
  animation: none;
}

.wallet-intro.is-running .wallet-intro-beam::before {
  animation: none;
}

.wallet-intro-curtain {
  position: absolute;
  z-index: 4;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.wallet-intro-curtain > span {
  position: absolute;
  left: 0;
  width: 100%;
  height: calc(50% + 2px);
  display: block;
  background: #010108;
  will-change: transform;
}

.wallet-intro-curtain-top {
  top: 0;
  box-shadow: 0 10px 32px rgba(255, 209, 79, .16);
}

.wallet-intro-curtain-bottom {
  bottom: 0;
  box-shadow: 0 -10px 32px rgba(255, 209, 79, .16);
}

.wallet-intro.is-running .wallet-intro-curtain-top {
  animation: wallet-curtain-open-top 2s cubic-bezier(.2,.72,.24,1) 1s forwards;
}

.wallet-intro.is-running .wallet-intro-curtain-bottom {
  animation: wallet-curtain-open-bottom 2s cubic-bezier(.2,.72,.24,1) 1s forwards;
}

@keyframes wallet-curtain-open-top {
  from { transform: translateY(0); }
  to { transform: translateY(-101%); }
}

@keyframes wallet-curtain-open-bottom {
  from { transform: translateY(0); }
  to { transform: translateY(101%); }
}

.wallet-intro-stage {
  position: relative;
  z-index: 2;
  width: min(100vw, 100svh);
  height: min(100vw, 100svh);
  min-height: 0;
  display: grid;
  place-items: center;
  perspective: 1000px;
}

.wallet-intro-logo {
  position: absolute;
  z-index: 2;
  top: 38%;
  left: 50%;
  width: clamp(105px, 14.5vmin, 175px);
  aspect-ratio: 1;
  opacity: 0;
  transform: translate(-50%, -72vh) scale(.62);
  transform-style: preserve-3d;
  will-change: transform, opacity;
  display: none;
  mix-blend-mode: screen;
}

.wallet-intro.is-running .wallet-intro-logo {
  animation: wallet-logo-bounce 6.25s cubic-bezier(.22,.72,.22,1) 3.6s forwards;
}

.wallet-intro-coin {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  transform-style: preserve-3d;
  will-change: transform;
}

.wallet-intro.is-running .wallet-intro-coin {
  animation: wallet-coin-spin 2.75s linear 6.6s both;
}

.wallet-intro-coin-face {
  position: absolute;
  inset: 0;
  display: block;
  overflow: hidden;
  border: 3px solid #efc455;
  border-radius: 50%;
  background: #03050b url("./assets/site-logo.jpg") center / 159% auto no-repeat;
  box-shadow:
    inset 0 0 0 2px rgba(255, 239, 172, .48),
    inset 12px 0 18px rgba(255, 214, 94, .16),
    0 0 25px rgba(255, 193, 43, .58);
  backface-visibility: hidden;
}

.wallet-intro-coin-back {
  transform: rotateY(180deg);
  filter: brightness(.82) saturate(.88);
}

.wallet-intro-coin-edge {
  position: absolute;
  z-index: 2;
  top: 3%;
  left: 50%;
  width: 14px;
  height: 94%;
  border: 1px solid #ffe69a;
  border-radius: 50%;
  background: linear-gradient(90deg, #7e4c08, #ffdf79 38%, #b47712 70%, #583003);
  box-shadow: 0 0 14px rgba(255, 199, 54, .8);
  transform: translateX(-50%) rotateY(90deg);
  backface-visibility: visible;
}

.wallet-intro-title {
  position: absolute;
  z-index: 3;
  top: 61%;
  left: 50%;
  width: 48%;
  opacity: 0;
  transform: translate(-50%, -72px) scale(.68);
  transform-origin: 50% 0;
  clip-path: inset(0 50% 0 50%);
  display: flex;
  justify-content: center;
  white-space: nowrap;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(14px, 2.35vmin, 26px);
  font-weight: 800;
  letter-spacing: clamp(.4px, .22vmin, 2.2px);
  color: #ffd875;
  text-shadow: 0 0 7px #f9b927, 0 0 20px rgba(255, 185, 39, .72);
  mix-blend-mode: screen;
}

.wallet-intro.is-running .wallet-intro-title {
  animation: wallet-title-pull 1.2s cubic-bezier(.16,.82,.24,1) 3.1s forwards;
}

.wallet-intro-title span {
  opacity: 0;
  transform: translateY(18px) scale(.72);
  filter: drop-shadow(0 0 0 rgba(255, 240, 190, 0));
}

.wallet-intro.is-running .wallet-intro-title span {
  animation: wallet-title-letter .52s cubic-bezier(.16,.9,.28,1.35) forwards;
  animation-delay: calc(3.2s + var(--letter-index) * .065s);
}

@keyframes wallet-shield-reveal {
  0% {
    opacity: 0;
    transform: scale(.12);
    filter: brightness(.22) blur(10px);
  }
  35% { opacity: .64; }
  100% {
    opacity: 1;
    transform: scale(1);
    filter: brightness(1) blur(0);
  }
}

@keyframes wallet-darkness-dissolve {
  0% {
    --wallet-intro-reveal: -18%;
    opacity: 1;
  }
  88% {
    --wallet-intro-reveal: 72%;
    opacity: 1;
  }
  100% {
    --wallet-intro-reveal: 82%;
    opacity: 0;
  }
}

@keyframes wallet-shield-spotlights {
  0% {
    opacity: 0;
  }
  12% { opacity: .72; }
  88% { opacity: .72; }
  100% { opacity: 0; }
}

@keyframes wallet-logo-bounce {
  0% { opacity: 0; transform: translate(-50%, -72vh) scale(.62); filter: brightness(.5); }
  8% { opacity: 1; filter: brightness(1.6) drop-shadow(0 0 18px rgba(255, 197, 59, .9)); }
  31% { transform: translate(-50%, -52vh) scale(.82); filter: brightness(1.45) drop-shadow(0 0 30px rgba(255, 197, 59, .72)); }
  48% { transform: translate(-50%, -50%) scale(1); }
  54% { transform: translate(-50%, -84%) scale(1.04); }
  60% { transform: translate(-50%, -50%) scale(.98); }
  67% { transform: translate(-50%, -75%) scale(1.03); }
  74% { transform: translate(-50%, -50%) scale(.99); }
  83% { transform: translate(-50%, -67%) scale(1.02); }
  92% { transform: translate(-50%, -50%) scale(1); }
  100% { opacity: 1; transform: translate(-50%, -63%) scale(1); filter: brightness(1.1) drop-shadow(0 0 24px rgba(255, 195, 51, .58)); }
}

@keyframes wallet-coin-spin {
  0% { transform: rotateY(0deg); }
  27.27% { transform: rotateY(3600deg); }
  59.09% { transform: rotateY(7200deg); }
  100% { transform: rotateY(10800deg); }
}

@keyframes wallet-title-pull {
  0% {
    opacity: 0;
    transform: translate(-50%, -72px) scale(.68);
    clip-path: inset(0 50% 0 50%);
    filter: blur(5px);
  }
  35% { opacity: 1; }
  100% {
    opacity: 1;
    transform: translate(-50%, 0) scale(1);
    clip-path: inset(0 0 0 0);
    filter: blur(0);
  }
}

@keyframes wallet-title-letter {
  0% {
    opacity: 0;
    transform: translateY(18px) scale(.72);
    text-shadow: 0 0 0 rgba(255, 240, 190, 0);
    filter: drop-shadow(0 0 0 rgba(255, 240, 190, 0));
  }
  55% {
    opacity: 1;
    transform: translateY(-2px) scale(1.08);
    text-shadow:
      0 0 8px rgba(255, 245, 210, .95),
      0 0 16px rgba(235, 221, 180, .62),
      0 0 24px rgba(221, 169, 60, .5);
    filter: drop-shadow(0 0 10px rgba(245, 233, 198, .7));
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
    text-shadow:
      0 0 5px rgba(255, 229, 137, .65),
      0 0 14px rgba(255, 185, 39, .42);
    filter: drop-shadow(0 0 3px rgba(231, 218, 189, .35));
  }
}

@keyframes wallet-intro-fade {
  to { opacity: 0; visibility: hidden; }
}

@media (max-width: 520px) {
  .wallet-intro-stage {
    width: min(100vw, 100svh);
    height: min(100vw, 100svh);
    min-height: 0;
  }

  .wallet-intro-logo {
    top: 37%;
    width: clamp(105px, 27vmin, 122px);
  }
  .wallet-intro-title {
    top: 61%;
    width: 52%;
    font-size: clamp(13px, 3.5vmin, 16px);
    letter-spacing: 0;
  }
}

@media (max-width: 920px) and (orientation: landscape) {
  html,
  body {
    width: 100vw;
    height: 100svh;
    overflow: hidden;
  }

  .app-shell {
    width: 100vw;
    height: 100svh;
    overflow: auto hidden;
    align-items: start;
  }

  .phone {
    width: min(100vw, 920px);
    max-width: 100vw;
    min-height: 100svh;
    margin: 0 auto;
    overflow-x: hidden;
  }

  .game-screen.open,
  .poker-screen.open,
  .seka-screen.open,
  .debertz-screen.open {
    width: 100vw;
    height: 100svh;
    overflow: hidden;
  }

  .game-screen.open .poker-shell {
    height: 100svh;
    max-height: 100svh;
    overflow: hidden;
  }
}

@media (prefers-reduced-motion: reduce) {
  .wallet-intro.is-running .wallet-intro-logo {
    animation-timing-function: ease;
  }

  .wallet-intro.is-running .wallet-intro-coin {
    animation-timing-function: linear;
  }
}

.poker-pot {
  border-color: transparent;
  background: transparent;
  box-shadow: none;
  backdrop-filter: blur(0);
  transition: background 180ms ease, border-color 180ms ease, box-shadow 180ms ease, backdrop-filter 180ms ease;
}

.poker-pot > span,
.poker-pot > strong {
  opacity: 0;
  transform: translateY(3px);
  transition: opacity 160ms ease, transform 160ms ease;
}

.poker-pot.pot-visible {
  border-color: rgba(255, 222, 137, 0.52);
  background: rgba(6, 38, 23, 0.38);
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.24), inset 0 0 16px rgba(255, 221, 132, 0.07);
  backdrop-filter: blur(3px);
}

.seka-pot.pot-visible {
  border-color: rgba(255, 218, 168, 0.56);
  background: rgba(75, 7, 18, 0.38);
}

.poker-pot.pot-visible > span,
.poker-pot.pot-visible > strong {
  opacity: 1;
  transform: translateY(0);
}

.show-cards-prompt {
  position: absolute;
  left: 50%;
  bottom: 13%;
  z-index: 17;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border: 1px solid rgba(255, 226, 142, 0.78);
  border-radius: 12px;
  background: rgba(16, 9, 3, 0.86);
  color: #fff0b0;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.42), 0 0 22px rgba(255, 207, 94, 0.22);
  backdrop-filter: blur(7px);
  transform: translateX(-50%);
}

.show-cards-prompt[hidden] {
  display: none;
}

.show-cards-prompt span {
  font-weight: 850;
  white-space: nowrap;
}

.show-cards-prompt button {
  min-height: 30px;
  padding: 5px 10px;
  border-color: rgba(255, 229, 149, 0.78);
  border-radius: 8px;
  background: linear-gradient(145deg, #ffe59a, #b97710);
  color: #251304;
  font-weight: 900;
}

.show-cards-prompt small {
  color: rgba(255, 239, 189, 0.78);
  white-space: nowrap;
}

.poker-seat.cards-revealed {
  z-index: 16;
  overflow: visible;
}

.poker-seat.cards-revealed .poker-seat-cards {
  width: max-content;
  max-width: none;
  gap: 6px;
  filter: drop-shadow(0 0 13px rgba(255, 221, 126, 0.82));
  animation: revealed-seat-cards 260ms ease-out both;
}

.poker-seat.cards-revealed .poker-seat-cards .poker-card {
  width: 124px;
  max-width: none;
  height: 177px;
  flex: 0 0 124px;
  border-radius: 10px;
  border-width: 3px;
  background: #0d0703;
}

.poker-seat.cards-revealed .poker-seat-cards .poker-card img {
  object-fit: cover;
  background: #0d0703;
  filter: brightness(1.55) contrast(0.9) saturate(1.16);
}

.poker-seat.cards-revealed .poker-seat-cards::before {
  content: "Карты победителя";
  position: absolute;
  left: 50%;
  bottom: calc(100% + 4px);
  padding: 3px 7px;
  border: 1px solid rgba(255, 228, 145, 0.62);
  border-radius: 7px;
  background: rgba(18, 9, 3, 0.9);
  color: #ffe69c;
  font-size: 0.58rem;
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
  transform: translateX(-50%);
}

[data-poker-seat="3"].cards-revealed .poker-seat-cards,
[data-poker-seat="4"].cards-revealed .poker-seat-cards,
[data-poker-seat="5"].cards-revealed .poker-seat-cards,
[data-poker-seat="6"].cards-revealed .poker-seat-cards,
[data-poker-seat="7"].cards-revealed .poker-seat-cards,
[data-seka-seat="3"].cards-revealed .poker-seat-cards,
[data-seka-seat="4"].cards-revealed .poker-seat-cards {
  top: auto;
  bottom: calc(100% - 5px);
}

[data-poker-seat="2"].cards-revealed .poker-seat-cards,
[data-seka-seat="2"].cards-revealed .poker-seat-cards {
  top: 50%;
  right: calc(100% - 8px);
  bottom: auto;
  left: auto;
  transform: translateY(-50%);
}

[data-poker-seat="8"].cards-revealed .poker-seat-cards,
[data-seka-seat="5"].cards-revealed .poker-seat-cards {
  top: 50%;
  right: auto;
  bottom: auto;
  left: calc(100% - 8px);
  transform: translateY(-50%);
}

[data-poker-seat="1"].cards-revealed .poker-seat-cards,
[data-poker-seat="3"].cards-revealed .poker-seat-cards,
[data-poker-seat="4"].cards-revealed .poker-seat-cards,
[data-seka-seat="1"].cards-revealed .poker-seat-cards,
[data-seka-seat="3"].cards-revealed .poker-seat-cards {
  right: 50%;
  left: auto;
  transform: none;
}

[data-poker-seat="6"].cards-revealed .poker-seat-cards,
[data-poker-seat="7"].cards-revealed .poker-seat-cards,
[data-poker-seat="9"].cards-revealed .poker-seat-cards,
[data-seka-seat="4"].cards-revealed .poker-seat-cards,
[data-seka-seat="6"].cards-revealed .poker-seat-cards {
  right: auto;
  left: 50%;
  transform: none;
}

@keyframes revealed-seat-cards {
  from { opacity: 0; scale: 0.78; }
  to { opacity: 1; scale: 1; }
}

.card-shuffle-overlay {
  position: absolute;
  inset: 0;
  z-index: 18;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 10px;
  overflow: hidden;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}

.card-shuffle-overlay::before {
  content: "";
  position: absolute;
  width: 340px;
  height: 220px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 220, 126, 0.2), rgba(4, 30, 18, 0.1) 46%, transparent 72%);
  filter: blur(5px);
}

.seka-shuffle-overlay::before {
  background: radial-gradient(circle, rgba(255, 210, 126, 0.22), rgba(78, 6, 19, 0.13) 46%, transparent 72%);
}

.card-shuffle-overlay.active {
  visibility: visible;
  animation: table-shuffle-overlay 1850ms ease both;
}

.poker-table.is-shuffling .poker-community,
.poker-table.is-shuffling .poker-seat-cards,
.poker-table.is-shuffling .poker-pot {
  opacity: 0;
}

.card-shuffle-deck {
  position: relative;
  width: 230px;
  height: 126px;
}

.card-shuffle-deck span {
  --shuffle-x: 78px;
  --shuffle-angle: 14deg;
  --shuffle-delay: 0ms;
  position: absolute;
  top: 2px;
  left: 50%;
  width: 72px;
  height: 104px;
  border: 2px solid rgba(255, 231, 164, 0.94);
  border-radius: 9px;
  background: #0d0703 url("./assets/poker/card-back.jpg?v=97") center / cover no-repeat;
  box-shadow: 0 9px 20px rgba(0, 0, 0, 0.44), 0 0 15px rgba(255, 211, 105, 0.3);
  transform: translateX(-50%);
  animation: royal-card-shuffle 660ms cubic-bezier(0.45, 0.03, 0.18, 1) var(--shuffle-delay) 2;
}

.card-shuffle-deck span:nth-child(2) { --shuffle-x: -82px; --shuffle-angle: -15deg; --shuffle-delay: 45ms; }
.card-shuffle-deck span:nth-child(3) { --shuffle-x: 62px; --shuffle-angle: 10deg; --shuffle-delay: 90ms; }
.card-shuffle-deck span:nth-child(4) { --shuffle-x: -64px; --shuffle-angle: -11deg; --shuffle-delay: 135ms; }
.card-shuffle-deck span:nth-child(5) { --shuffle-x: 46px; --shuffle-angle: 7deg; --shuffle-delay: 180ms; }
.card-shuffle-deck span:nth-child(6) { --shuffle-x: -48px; --shuffle-angle: -8deg; --shuffle-delay: 225ms; }

.card-shuffle-overlay > strong {
  position: relative;
  color: #ffe7a1;
  font-size: 0.82rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-shadow: 0 2px 8px #000, 0 0 16px rgba(255, 210, 105, 0.72);
  animation: shuffle-caption-pulse 620ms ease-in-out 3;
}

@keyframes table-shuffle-overlay {
  0%, 100% { opacity: 0; }
  8%, 88% { opacity: 1; }
}

@keyframes royal-card-shuffle {
  0% { opacity: 0.78; transform: translateX(-50%) translateY(4px) rotate(0deg); }
  38% { opacity: 1; transform: translateX(calc(-50% + var(--shuffle-x))) translateY(-9px) rotate(var(--shuffle-angle)); }
  68% { transform: translateX(calc(-50% - var(--shuffle-x))) translateY(7px) rotate(calc(0deg - var(--shuffle-angle))); }
  100% { opacity: 1; transform: translateX(-50%) translateY(0) rotate(0deg); }
}

@keyframes shuffle-caption-pulse {
  0%, 100% { opacity: 0.62; transform: scale(0.97); }
  50% { opacity: 1; transform: scale(1.04); }
}

@media (max-width: 360px) {
  .brand-lockup strong {
    max-width: 140px;
  }

  .quick-actions span {
    width: 38px;
    height: 38px;
  }

  .asset-symbol {
    max-width: 138px;
  }

  .asset-value {
    max-width: 96px;
  }
}

/* Compact game chrome: the table and every card keep their existing dimensions. */
.poker-screen .poker-shell {
  padding-top: max(6px, env(safe-area-inset-top));
  padding-bottom: max(8px, env(safe-area-inset-bottom));
}

.poker-screen .back-button {
  min-height: 30px;
  padding: 4px 10px;
  font-size: 0.76rem;
}

/* One branded label treatment for every actionable game button. */
.game-screen .back-button,
.poker-screen .back-button,
.casino-collection-screen .back-button,
.meeting-room-screen .back-button,
.poker-controls button,
.shining-spin-actions button,
.shining-stake-toggle,
.shining-stake-options button,
.meeting-room-choice button,
.meeting-room-form button,
.meeting-room-controls button,
.video-poker-actions button {
  font-family: inherit;
  font-weight: 1000;
  letter-spacing: 0.025em;
  text-align: center;
  text-transform: uppercase;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.22);
}

.poker-screen .poker-head {
  gap: 7px;
  margin: 3px 0 6px;
}

.poker-screen .poker-head h2 {
  margin-top: 0;
  font-size: 1.15rem;
  line-height: 1.05;
}

.poker-screen .poker-head .muted {
  font-size: 0.68rem;
}

.poker-screen .poker-balance {
  min-width: 112px;
  padding: 6px 8px;
  border-radius: 10px;
  font-size: 0.78rem;
}

.poker-screen .poker-balance span {
  font-size: 0.64rem;
}

.poker-screen .game-voice-button {
  min-width: 126px;
  min-height: 34px;
  padding: 4px 8px;
  border-radius: 10px;
}

.poker-screen .game-voice-button span {
  font-size: 0.95rem;
}

.poker-screen .game-voice-button strong {
  font-size: 0.62rem;
}

.poker-screen .poker-panel {
  gap: 5px;
  margin-top: 6px;
}

.poker-screen .poker-controls {
  gap: 5px;
}

.poker-screen .poker-controls .field {
  gap: 3px;
  padding: 5px 7px;
  border-radius: 10px;
  font-size: 0.72rem;
}

.poker-screen .poker-controls input[type="range"] {
  min-height: 18px;
  height: 18px;
}

.poker-screen .poker-controls button {
  min-height: 32px;
  padding: 4px 7px;
  border-radius: 9px;
  font-size: 0.74rem;
}

.poker-screen .poker-panel > .send-status {
  margin: 0;
  padding: 5px 7px;
  font-size: 0.68rem;
  line-height: 1.2;
}

.poker-screen .poker-log {
  max-height: 58px;
  gap: 3px;
}

.poker-screen .poker-log .history-row {
  min-height: 0;
  padding: 5px 7px;
  border-radius: 8px;
  font-size: 0.66rem;
}

@media (min-width: 700px), (min-width: 520px) and (max-height: 900px) {
  .poker-screen .poker-panel {
    grid-template-columns: minmax(250px, 0.72fr) minmax(360px, 1.28fr);
    align-items: start;
  }

  .poker-screen .poker-hand {
    grid-row: 1 / span 3;
  }

  .poker-screen .poker-controls,
  .poker-screen .poker-panel > .send-status,
  .poker-screen .poker-log {
    grid-column: 2;
  }

  .debertz-screen .debertz-panel {
    grid-template-columns: minmax(0, 1fr);
  }

  .debertz-screen .debertz-hand,
  .debertz-screen .debertz-controls,
  .debertz-screen .debertz-panel > .send-status,
  .debertz-screen .poker-log,
  .debertz-screen .debertz-scoreboard {
    grid-column: 1;
    grid-row: auto;
  }
}

@media (max-width: 520px) {
  .debertz-settings-dialog {
    width: 100%;
    padding: 17px;
    gap: 12px;
  }

  .debertz-settings-dialog .modal-title h2 {
    font-size: 1.45rem;
  }

  .debertz-hand {
    min-height: 178px;
    align-content: center;
    gap: 4px;
    padding: 7px 4px;
  }

  .debertz-hand-card .poker-card {
    width: 88px;
    height: 126px;
    border-radius: 10px;
  }

  .debertz-trick .poker-card {
    width: 66px;
    height: 94px;
  }
}

@media (min-width: 700px) {
  .poker-community .poker-card {
    width: 150px;
    height: 214px;
  }

  .poker-hand .poker-card {
    width: 142px;
    height: 202px;
  }

  .poker-seat-cards .poker-card {
    width: 46px;
    height: 66px;
  }

  .admin-poker-community .admin-poker-card,
  .admin-poker-hole-cards .admin-poker-card {
    width: 88px;
    height: 125px;
  }
}

@media (max-width: 460px) {
  .poker-screen .poker-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
  }

  .poker-screen .poker-balance {
    width: auto;
    text-align: right;
  }

  .poker-screen .game-voice-button {
    grid-column: 1 / -1;
    width: 100%;
  }

  .poker-screen .poker-table-viewport {
    position: relative;
    height: calc(100vw - 20px);
    max-height: 440px;
    overflow: visible;
  }

  .poker-screen .poker-table {
    width: 200%;
    min-height: 0;
    aspect-ratio: 1;
    border-radius: 50%;
    transform: scale(0.5);
    transform-origin: top left;
  }

  .poker-seat.cards-revealed .poker-seat-cards {
    gap: 9px;
  }

  .poker-seat.cards-revealed .poker-seat-cards .poker-card {
    width: 160px;
    max-width: none;
    height: 228px;
    flex-basis: 160px;
    border-radius: 14px;
    border-width: 5px;
  }

  .debertz-screen {
    overflow: hidden;
  }

  .debertz-screen .poker-shell {
    height: 100svh;
    min-height: 0;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    overflow: hidden;
    padding-top: max(4px, env(safe-area-inset-top));
    padding-bottom: max(4px, env(safe-area-inset-bottom));
  }

  .debertz-screen .poker-game-area {
    min-height: 0;
    display: grid;
    grid-template-rows: auto clamp(210px, 32svh, 280px) minmax(0, 1fr);
    overflow: hidden;
  }

  .debertz-screen .poker-head {
    min-height: 0;
    gap: 3px 6px;
    margin: 2px 0 3px;
  }

  .debertz-screen .game-voice-button {
    min-height: 28px;
    padding: 2px 6px;
  }

  .debertz-screen .poker-table-viewport {
    height: auto;
    min-height: 0;
    max-height: none;
    overflow: hidden;
  }

  .debertz-screen .debertz-table {
    aspect-ratio: 1.4 / 1;
  }

  .debertz-screen .debertz-panel {
    min-height: 0;
    align-content: start;
    gap: 3px;
    margin-top: 3px;
    overflow: hidden;
  }

  .debertz-screen .debertz-scoreboard {
    gap: 3px;
  }

  .debertz-screen .debertz-scoreboard article {
    gap: 3px;
    padding: 3px 5px;
    font-size: .72rem;
  }

  .debertz-screen .debertz-hand {
    min-height: 0;
    gap: 3px;
    padding: 3px 2px;
  }

.debertz-screen .debertz-trick .poker-card {
    width: 124px;
    height: 177px;
  }

  .debertz-screen .poker-controls {
    gap: 3px;
  }

  .debertz-screen .poker-controls button {
    min-height: 27px;
    padding: 2px 5px;
  }

  .debertz-screen .poker-log {
    max-height: 34px;
  }
}

/* Large, high-contrast live information on every card table. */
#pokerStage,
#sekaStage,
#debertzStage,
.poker-turn-timer {
  width: max-content;
  max-width: min(94%, 760px);
  font-size: clamp(1.85rem, 7vw, 3.7rem) !important;
  line-height: 1.02;
  font-weight: 950;
  color: #fff4bd !important;
  text-shadow: 0 3px 8px #000, 0 0 20px rgba(255, 211, 106, 0.82);
  white-space: normal;
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

#debertzTrump,
.card-shuffle-overlay strong,
.debertz-declaration-reveal > strong {
  font-size: clamp(1.65rem, 6vw, 3.35rem) !important;
  line-height: 1.05;
  font-weight: 950;
  text-shadow: 0 3px 8px #000, 0 0 20px rgba(255, 211, 106, 0.72);
}

.poker-winner-notice {
  width: min(94%, 820px);
  max-width: 94%;
  border-radius: 24px;
  padding: 14px 18px;
  font-size: clamp(2rem, 8vw, 4.3rem);
  line-height: 1.04;
  white-space: normal;
  text-align: center;
}

.poker-pot,
.debertz-center,
.card-shuffle-overlay,
.debertz-declaration-reveal {
  text-align: center;
}

.poker-seat:not(.empty) {
  width: 68px;
  min-height: 68px;
  aspect-ratio: 1;
  border-radius: 50%;
  padding: 4px;
  overflow: visible;
}

.poker-seat-info {
  position: absolute;
  z-index: 3;
  top: 3px;
  left: 50%;
  width: max-content;
  max-width: 150px !important;
  display: grid;
  gap: 0;
  transform: translateX(-50%);
  overflow: visible !important;
  text-align: center;
  pointer-events: none;
}

.poker-seat-info > strong {
  max-width: 150px;
  overflow: hidden;
  color: #fff2b8;
  font-size: 0.88rem;
  line-height: 1;
  text-overflow: ellipsis;
  text-shadow: 0 2px 5px #000;
  white-space: nowrap;
}

.poker-seat-info > span {
  color: #ffd977;
  font-size: 0.7rem;
  line-height: 1.05;
  text-shadow: 0 2px 5px #000;
}

.poker-seat-number {
  margin-top: 27px;
  color: #fff0ae;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.35rem;
  line-height: 1;
  text-shadow: 0 2px 4px #000, 0 0 10px rgba(255, 211, 106, 0.62);
}

.poker-seat:not(.empty) > small {
  position: absolute;
  top: calc(100% + 3px);
  left: 50%;
  width: max-content;
  max-width: 130px;
  transform: translateX(-50%);
  border-radius: 8px;
  background: rgba(20, 10, 4, 0.86);
  padding: 2px 5px;
  text-shadow: 0 1px 3px #000;
}

/* Final video entrance overrides, kept after all legacy intro rules. */
.video-poker-card {
  background: radial-gradient(circle at 50% 18%, rgba(131, 14, 14, .5), transparent 38%), linear-gradient(145deg, #210702, #080301 68%);
  border: 1px solid rgba(255, 205, 91, .62);
  box-shadow: inset 0 0 42px rgba(255, 170, 24, .1), 0 18px 44px rgba(0, 0, 0, .5);
}
.video-poker-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.video-poker-summary article { display: grid; gap: 4px; padding: 10px 12px; border: 1px solid rgba(226, 169, 54, .28); border-radius: 14px; background: rgba(0, 0, 0, .3); }
.video-poker-summary span { color: var(--muted); font-size: .78rem; }
.video-poker-paytable { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3px 12px; padding: 9px 12px; border: 1px solid rgba(255, 203, 75, .3); border-radius: 14px; background: rgba(0, 0, 0, .42); }
.video-poker-paytable div { display: flex; justify-content: space-between; gap: 8px; color: #f7d77f; font-size: .78rem; }
.video-poker-paytable strong { color: #fff2bd; }
.video-poker-hand { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: clamp(4px, 1vw, 10px); width: min(100%, 720px); margin: 10px auto; }
.video-poker-card-tile, .video-poker-card-placeholder { position: relative; display: grid; place-items: center; aspect-ratio: 2.5 / 3.55; min-width: 0; padding: 0; overflow: hidden; border: 2px solid #b47b20; border-radius: 10px; background: #130802; color: #efc563; box-shadow: 0 7px 16px rgba(0,0,0,.4); }
.video-poker-card-tile img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: brightness(1.95) contrast(0.68) saturate(1.14);
}
.video-poker-card-tile.held { transform: translateY(-9px); border-color: #ffe686; box-shadow: 0 0 18px rgba(255, 210, 72, .75); }
.video-poker-card-tile.winning { border-color: #52ffb8; box-shadow: 0 0 12px #2cff9d, 0 0 28px rgba(44, 255, 157, .72); animation: video-poker-win-glow 1.15s ease-in-out infinite alternate; }
.video-poker-card-placeholder img { width: 100%; height: 100%; object-fit: cover; display: block; filter: brightness(1.95) contrast(0.68) saturate(1.14); }
@keyframes video-poker-win-glow { from { filter: brightness(1); } to { filter: brightness(1.2); } }
.video-poker-hold-label { position: absolute; z-index: 2; left: 5px; right: 5px; bottom: 4px; padding: 2px; border-radius: 5px; background: rgba(12, 4, 0, .85); color: #ffd65b; font-size: clamp(.55rem, 1.7vw, .78rem); font-weight: 900; }
.video-poker-joker { position: absolute; inset: 0; display: grid; place-items: center; align-content: center; gap: 5px; background: radial-gradient(circle, #6d100b, #090100 72%); color: #ffe077; }
.video-poker-joker img { width: 66%; height: auto; aspect-ratio: 1; object-fit: cover; border-radius: 50%; }
.video-poker-joker strong { font-size: clamp(.68rem, 2vw, 1rem); letter-spacing: .08em; }
.video-poker-test-notice { padding: 8px 10px; border-radius: 10px; background: #7b160e; color: #ffe8a5; text-align: center; font-weight: 900; }
.video-poker-live-log { display: grid; gap: 6px; max-height: 126px; padding: 8px 10px; overflow-y: auto; border: 1px solid rgba(255, 203, 75, .3); border-radius: 12px; background: rgba(4, 15, 12, .88); color: #f8e9b4; font-family: system-ui, sans-serif; }
.video-poker-live-title { display: flex; align-items: center; justify-content: space-between; gap: 8px; color: #ffe18a; font-size: .76rem; }
.video-poker-live-messages { display: grid; gap: 4px; }
.video-poker-live-messages article { display: grid; grid-template-columns: auto 1fr; gap: 7px; align-items: start; padding: 4px 6px; border-radius: 7px; background: rgba(255,255,255,.035); font-size: .7rem; line-height: 1.35; }
.video-poker-live-messages article.warning { background: rgba(150, 29, 17, .38); color: #ffe09a; }
.video-poker-live-messages time { direction: ltr; color: #bda76c; font-size: .62rem; }
.video-poker-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
@media (max-width: 600px) {
  .video-poker-screen .game-shell { padding: 5px; }
  .video-poker-card { gap: 7px; padding: 9px 7px; }
  .video-poker-paytable { grid-template-columns: 1fr 1fr; gap: 2px 8px; padding: 6px 8px; }
  .video-poker-paytable div { font-size: .63rem; }
  .video-poker-card-tile, .video-poker-card-placeholder { border-radius: 6px; }
  .video-poker-summary article { padding: 6px 8px; }
}

/* Final video entrance overrides, kept after all legacy intro rules. */
.wallet-intro-video {
  position: absolute;
  z-index: 1;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  background: #000;
  opacity: 0;
}
.wallet-intro.is-running .wallet-intro-video { animation: wallet-intro-video-in 420ms ease-out forwards; }
.wallet-intro .wallet-intro-stage {
  position: absolute;
  z-index: 2;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.wallet-intro .wallet-intro-title,
.wallet-intro.is-running .wallet-intro-title {
  top: 60%;
  bottom: auto;
  width: min(52vw, 310px);
  opacity: 0;
  transform: translate(-50%, 20px) scale(.88);
  clip-path: inset(0 50% 0 50%);
  animation: none;
  font-size: clamp(14px, 2.8vw, 24px);
  letter-spacing: clamp(0px, .12vw, 1.2px);
  color: #ffe18a;
  text-shadow: 0 0 8px #ffbf2f, 0 0 24px rgba(255, 185, 39, .78), 0 2px 4px #000;
}
.wallet-intro.is-running .wallet-intro-title span { opacity: 0; animation: none; }
.wallet-intro.show-title .wallet-intro-title { animation: wallet-video-title-pull 720ms cubic-bezier(.16,.82,.24,1) forwards; }
.wallet-intro.show-title .wallet-intro-title span {
  animation: wallet-title-letter .52s cubic-bezier(.16,.9,.28,1.35) forwards;
  animation-delay: calc(var(--letter-index) * .065s);
}
@media (max-width: 520px) {
  .wallet-intro .wallet-intro-stage { width: 100%; height: 100%; }
  .wallet-intro .wallet-intro-title,
  .wallet-intro.is-running .wallet-intro-title {
    top: 60%;
    bottom: auto;
    width: 52vw;
    font-size: clamp(12px, 3.5vw, 19px);
    letter-spacing: 0;
  }
}
.admin-game-referrals-card {
  margin: 16px 0;
  padding: 16px;
  border: 1px solid rgba(214, 164, 58, 0.35);
  border-radius: 18px;
  background: rgba(23, 10, 3, 0.72);
}

.admin-game-referral-list { display: grid; gap: 12px; margin-top: 12px; }
.admin-game-referral-row { padding: 14px; border: 1px solid rgba(214, 164, 58, 0.28); border-radius: 14px; background: rgba(0, 0, 0, 0.24); }
.admin-game-referral-head, .admin-game-referral-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.admin-game-referral-head { justify-content: space-between; }
.admin-game-referral-head code { overflow-wrap: anywhere; color: #d9ae58; }
.admin-game-referral-stats { display: grid; grid-template-columns: repeat(4, minmax(130px, 1fr)); gap: 8px; margin: 12px 0; }
.admin-game-referral-stats span { padding: 8px; border-radius: 10px; background: rgba(214, 164, 58, 0.08); }
.admin-game-referral-users { display: block; margin-bottom: 10px; overflow-wrap: anywhere; }
.admin-game-referral-actions input { width: 90px; min-height: 42px; }
.admin-game-referral-actions button { min-height: 42px; padding: 8px 14px; }

@media (max-width: 700px) {
  .admin-game-referral-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.admin-slot-bank-history { grid-column: 1 / -1; display: grid; gap: 8px; padding-top: 8px; }
.admin-slot-bank-history > div { display: grid; gap: 6px; max-height: 240px; overflow-y: auto; }
.admin-slot-bank-history article { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 10px; border: 1px solid rgba(226,169,54,.22); border-radius: 10px; background: rgba(0,0,0,.24); }
.admin-slot-bank-history article div { display: grid; gap: 2px; }
.admin-slot-bank-history small { color: var(--muted); }
.admin-slot-bank-history .positive { color: #62e5a1; }
.admin-slot-bank-history .negative { color: #ff8e83; }
.admin-jackpot-launch { grid-column: 1 / -1; min-height: 48px; box-shadow: 0 0 22px rgba(255, 190, 45, .38); }

/* Final Android viewport override. Kept last so legacy svh rules cannot hide receive data. */
@media (max-width: 700px) {
  .phone {
    height: 100dvh !important;
    min-height: 100dvh !important;
    max-height: 100dvh !important;
  }

  #addressesPanel.active {
    min-height: 0;
    overflow-y: auto !important;
    padding-bottom: calc(92px + env(safe-area-inset-bottom)) !important;
    -webkit-overflow-scrolling: touch;
  }
}
