:root {
  color-scheme: dark;
  --bg: #090b0e;
  --surface: #11151a;
  --surface-2: #171c22;
  --surface-3: #20262e;
  --line: rgba(255, 255, 255, 0.08);
  --muted: #8c96a3;
  --text: #f4f7fa;
  --lime: #c8ff4a;
  --lime-strong: #a8f000;
  --violet: #8068ff;
  --pink: #ff4fc3;
  --cyan: #50d9ff;
  --danger: #ff5f68;
  --success: #71e99b;
  --shadow: 0 22px 60px rgba(0, 0, 0, 0.34);
  --radius-xl: 28px;
  --radius-lg: 22px;
  --radius-md: 16px;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* {
  box-sizing: border-box;
}

html {
  min-height: 100%;
  background: var(--bg);
}

html,
body {
  min-height: -webkit-fill-available;
}

body {
  min-width: 320px;
  min-height: 100vh;
  margin: 0;
  background:
    radial-gradient(circle at 10% -10%, rgba(128, 104, 255, 0.18), transparent 32rem),
    radial-gradient(circle at 100% 15%, rgba(200, 255, 74, 0.08), transparent 28rem),
    var(--bg);
  color: var(--text);
  -webkit-font-smoothing: antialiased;
  overscroll-behavior-y: none;
}

@supports (height: 100dvh) {
  html, body, .app-shell { min-height: 100dvh; }
}

/* Telegram's iOS WebView is much more sensitive to stacked blur layers than
   Safari. Keep the same visual hierarchy while removing the expensive GPU
   filters that can stall first paint and scrolling on older iPhones. */
.ios-device .topbar,
.ios-device .drawer,
.ios-device .drawer-backdrop,
.ios-device .admin-modal-backdrop,
.ios-device .category-rail { backdrop-filter: none !important; -webkit-backdrop-filter: none !important; }
.ios-device .fx-canvas { display: none; }
.ios-device .app-shell { padding-bottom: calc(92px + env(safe-area-inset-bottom)); }

button,
input,
select {
  font: inherit;
}

button,
a {
  -webkit-tap-highlight-color: transparent;
}

a {
  color: inherit;
  text-decoration: none;
}

button {
  color: inherit;
}

.app-shell {
  width: min(100%, 760px);
  min-height: 100vh;
  margin: 0 auto;
  padding: max(14px, env(safe-area-inset-top)) 16px calc(96px + env(safe-area-inset-bottom));
}

.topbar {
  position: sticky;
  z-index: 20;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: -14px -8px 20px;
  padding: 16px 8px 12px;
  background: linear-gradient(180deg, rgba(9, 11, 14, 0.98) 60%, rgba(9, 11, 14, 0));
  backdrop-filter: blur(14px);
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  font-weight: 850;
  letter-spacing: 0.08em;
}

.brand-mark {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border: 1px solid rgba(200, 255, 74, 0.36);
  border-radius: 12px;
  background: linear-gradient(145deg, rgba(200, 255, 74, 0.2), rgba(128, 104, 255, 0.2));
  box-shadow: inset 0 0 18px rgba(200, 255, 74, 0.08);
  color: var(--lime);
}

.top-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.balance-pill {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  gap: 7px;
  padding: 7px 12px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(23, 28, 34, 0.86);
  font-size: 14px;
  font-weight: 760;
}

.balance-pill::before {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--lime);
  box-shadow: 0 0 12px rgba(200, 255, 74, 0.74);
  content: "";
}

.icon-button {
  display: grid;
  width: 40px;
  height: 40px;
  cursor: pointer;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(23, 28, 34, 0.86);
}

.icon-button:active {
  transform: scale(0.96);
}

.hero {
  position: relative;
  overflow: hidden;
  min-height: 252px;
  padding: 28px 24px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: var(--radius-xl);
  background:
    linear-gradient(135deg, rgba(128, 104, 255, 0.38), transparent 48%),
    linear-gradient(145deg, #1c222a, #11151a 65%);
  box-shadow: var(--shadow);
}

.hero::before,
.hero::after {
  position: absolute;
  border-radius: 50%;
  content: "";
  filter: blur(2px);
}

.hero::before {
  right: -45px;
  bottom: -90px;
  width: 230px;
  height: 230px;
  border: 40px solid rgba(200, 255, 74, 0.12);
}

.hero::after {
  top: 30px;
  right: 22px;
  width: 82px;
  height: 82px;
  background: radial-gradient(circle at 30% 30%, #e7ff9c, var(--lime-strong) 30%, #3f6c00 72%);
  box-shadow: 0 18px 50px rgba(168, 240, 0, 0.22);
  transform: rotate(-16deg);
}

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--lime);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.eyebrow::before {
  width: 16px;
  height: 1px;
  background: currentColor;
  content: "";
}

.hero h1 {
  max-width: 440px;
  margin: 16px 0 12px;
  font-size: clamp(34px, 8vw, 54px);
  font-weight: 880;
  letter-spacing: -0.055em;
  line-height: 0.98;
}

.hero h1 span {
  color: var(--lime);
}

.hero p {
  max-width: 410px;
  margin: 0;
  color: #b8c0ca;
  font-size: 14px;
  line-height: 1.6;
}

.hero-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 22px;
}

.hero-chip {
  padding: 8px 11px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 999px;
  background: rgba(8, 10, 13, 0.32);
  color: #dfe5eb;
  font-size: 11px;
  font-weight: 650;
  backdrop-filter: blur(8px);
}

.section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  margin: 30px 2px 14px;
}

.section-head h2,
.page-heading h1 {
  margin: 0;
  font-size: 22px;
  font-weight: 820;
  letter-spacing: -0.035em;
}

.section-head p,
.page-heading p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 13px;
}

.section-link {
  color: var(--lime);
  font-size: 12px;
  font-weight: 720;
}

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

.game-card {
  position: relative;
  overflow: hidden;
  min-height: 220px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: var(--surface);
  box-shadow: 0 12px 35px rgba(0, 0, 0, 0.2);
  transition: transform 180ms ease, border-color 180ms ease;
}

.game-card:active {
  transform: scale(0.985);
}

.game-card:hover {
  border-color: rgba(200, 255, 74, 0.28);
  transform: translateY(-2px);
}

.game-art {
  position: relative;
  display: grid;
  height: 102px;
  margin: -18px -18px 16px;
  place-items: center;
  background: linear-gradient(145deg, rgba(128, 104, 255, 0.28), rgba(24, 29, 36, 0.2));
}

.game-art.mines-art {
  background:
    radial-gradient(circle at 30% 30%, rgba(200, 255, 74, 0.38), transparent 32%),
    linear-gradient(145deg, #283126, #171d20);
}

.game-art.slots-art {
  background:
    radial-gradient(circle at 70% 10%, rgba(255, 79, 195, 0.34), transparent 34%),
    linear-gradient(145deg, #30203d, #1a1723);
}

.art-symbol {
  font-size: 58px;
  font-weight: 900;
  line-height: 1;
  text-shadow: 0 12px 26px rgba(0, 0, 0, 0.35);
  transform: rotate(-8deg);
}

.mines-art .art-symbol {
  color: var(--lime);
}

.slots-art .art-symbol {
  color: #ff84d4;
  letter-spacing: -0.18em;
}

.game-tag {
  position: absolute;
  top: 10px;
  right: 10px;
  padding: 5px 8px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 999px;
  background: rgba(7, 9, 12, 0.55);
  color: #e6ebef;
  font-size: 9px;
  font-weight: 760;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.game-card h3 {
  margin: 0 0 6px;
  font-size: 18px;
  letter-spacing: -0.025em;
}

.game-card p {
  min-height: 38px;
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.5;
}

.game-card-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 16px;
  font-size: 11px;
}

.play-link {
  color: var(--lime);
  font-weight: 760;
}

.min-bet {
  color: var(--muted);
}

.info-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  overflow: hidden;
  margin-top: 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: var(--line);
}

.info-cell {
  padding: 18px 12px;
  background: var(--surface);
  text-align: center;
}

.info-cell strong {
  display: block;
  margin-bottom: 4px;
  font-size: 13px;
}

.info-cell span {
  color: var(--muted);
  font-size: 10px;
}

.bottom-nav {
  position: fixed;
  z-index: 25;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  width: min(calc(100% - 24px), 720px);
  min-height: 66px;
  justify-content: space-around;
  gap: 4px;
  margin: 0 auto max(10px, env(safe-area-inset-bottom));
  padding: 8px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 22px;
  background: rgba(18, 22, 27, 0.94);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.46);
  backdrop-filter: blur(18px);
}

.nav-item {
  display: grid;
  min-width: 72px;
  padding: 6px 12px;
  place-items: center;
  border-radius: 15px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 650;
}

.nav-item .nav-icon {
  margin-bottom: 3px;
  font-size: 19px;
}

.nav-item.active {
  background: rgba(200, 255, 74, 0.1);
  color: var(--lime);
}

.drawer-backdrop {
  position: fixed;
  z-index: 90;
  inset: 0;
  visibility: hidden;
  background: rgba(0, 0, 0, 0.58);
  opacity: 0;
  transition: opacity 180ms ease, visibility 180ms ease;
  backdrop-filter: blur(4px);
}

.drawer {
  position: fixed;
  z-index: 100;
  top: 0;
  right: 0;
  bottom: 0;
  width: min(86vw, 360px);
  padding: max(20px, env(safe-area-inset-top)) 18px max(22px, env(safe-area-inset-bottom));
  border-left: 1px solid var(--line);
  background: #11151a;
  box-shadow: -20px 0 70px rgba(0, 0, 0, 0.5);
  transform: translateX(102%);
  transition: transform 220ms ease;
}

body.drawer-open .drawer-backdrop {
  visibility: visible;
  opacity: 1;
}

body.drawer-open .drawer {
  transform: translateX(0);
}

.drawer-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.profile-summary {
  display: flex;
  align-items: center;
  gap: 13px;
  margin: 28px 0;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: var(--surface-2);
}

.avatar {
  display: grid;
  overflow: hidden;
  flex: 0 0 auto;
  width: 48px;
  height: 48px;
  place-items: center;
  border: 1px solid rgba(200, 255, 74, 0.28);
  border-radius: 16px;
  background: linear-gradient(145deg, rgba(200, 255, 74, 0.18), rgba(128, 104, 255, 0.2));
  color: var(--lime);
  font-size: 16px;
  font-weight: 850;
}

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

.profile-summary strong {
  display: block;
  max-width: 210px;
  overflow: hidden;
  font-size: 14px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.profile-summary span {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 11px;
}

.drawer-nav {
  display: grid;
  gap: 7px;
}

.drawer-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 15px;
  border-radius: 15px;
  background: transparent;
  color: #dce2e8;
  font-size: 14px;
  font-weight: 660;
}

.drawer-link:hover,
.drawer-link:active {
  background: var(--surface-2);
}

.drawer-note {
  position: absolute;
  right: 18px;
  bottom: max(22px, env(safe-area-inset-bottom));
  left: 18px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.5;
}

.page-heading {
  margin: 12px 2px 20px;
}

.back-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 16px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 680;
}

.panel {
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: var(--surface);
  box-shadow: 0 16px 42px rgba(0, 0, 0, 0.2);
}

.profile-card {
  position: relative;
  overflow: hidden;
  padding: 24px;
  background:
    radial-gradient(circle at 90% 10%, rgba(200, 255, 74, 0.12), transparent 14rem),
    var(--surface);
}

.profile-card .avatar {
  width: 66px;
  height: 66px;
  border-radius: 20px;
  font-size: 22px;
}

.profile-name {
  margin: 18px 0 4px;
  font-size: 24px;
  letter-spacing: -0.04em;
}

.profile-handle {
  color: var(--muted);
  font-size: 13px;
}

.profile-balance {
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid var(--line);
}

.profile-balance span {
  display: block;
  margin-bottom: 6px;
  color: var(--muted);
  font-size: 11px;
}

.profile-balance strong {
  color: var(--lime);
  font-size: 31px;
  letter-spacing: -0.04em;
}

.stats-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  margin-top: 12px;
}

.stat-card {
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--surface);
}

.stat-card span {
  display: block;
  margin-bottom: 8px;
  color: var(--muted);
  font-size: 10px;
  text-transform: uppercase;
}

.stat-card strong {
  font-size: 20px;
  letter-spacing: -0.03em;
}

.history-list {
  display: grid;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: var(--surface);
}

.history-item {
  display: grid;
  grid-template-columns: 40px 1fr auto;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border-bottom: 1px solid var(--line);
}

.history-item:last-child {
  border-bottom: 0;
}

.history-icon {
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border-radius: 13px;
  background: var(--surface-3);
  font-weight: 800;
}

.history-main strong,
.history-main span {
  display: block;
}

.history-main strong {
  margin-bottom: 3px;
  font-size: 13px;
}

.history-main span {
  color: var(--muted);
  font-size: 10px;
}

.history-result {
  font-size: 13px;
  font-weight: 760;
}

.history-result.positive {
  color: var(--success);
}

.history-result.negative {
  color: var(--danger);
}

.empty-state {
  padding: 28px 18px;
  color: var(--muted);
  text-align: center;
  font-size: 12px;
}

.game-layout {
  display: grid;
  gap: 14px;
}

.game-stage {
  padding: 18px;
}

.game-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 16px;
}

.round-state {
  color: var(--muted);
  font-size: 11px;
}

.multiplier {
  color: var(--lime);
  font-size: 24px;
  font-weight: 860;
  letter-spacing: -0.04em;
}

.mines-board {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 8px;
}

.mine-cell {
  position: relative;
  display: grid;
  aspect-ratio: 1;
  cursor: pointer;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 13px;
  background: linear-gradient(145deg, #252c34, #171c22);
  box-shadow: inset 0 -3px 0 rgba(0, 0, 0, 0.2);
  font-size: clamp(18px, 6vw, 28px);
  transition: transform 120ms ease, background 180ms ease;
}

.mine-cell:not(:disabled):active {
  transform: scale(0.92);
}

.mine-cell:disabled {
  cursor: default;
}

.mine-cell.safe {
  border-color: rgba(200, 255, 74, 0.35);
  background: rgba(200, 255, 74, 0.13);
  color: var(--lime);
}

.mine-cell.mine {
  border-color: rgba(255, 95, 104, 0.4);
  background: rgba(255, 95, 104, 0.14);
  color: var(--danger);
}

.controls-panel {
  padding: 18px;
}

.control-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.mines-control-row{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr)}.mines-main-action{width:100%;margin-top:12px}
@media(max-width:420px){.mines-control-row{grid-template-columns:minmax(0,1.15fr) minmax(104px,.85fr);gap:7px}.mines-control-row .field input,.mines-control-row .field select{padding-right:30px;font-size:13px}}

.field {
  display: grid;
  gap: 7px;
}

.field label {
  color: var(--muted);
  font-size: 10px;
  font-weight: 720;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.input-wrap {
  position: relative;
}

.field input,
.field select {
  width: 100%;
  min-height: 48px;
  padding: 0 42px 0 14px;
  border: 1px solid var(--line);
  outline: none;
  border-radius: 14px;
  background: var(--surface-2);
  color: var(--text);
  font-size: 14px;
  font-weight: 680;
}

.field input:focus,
.field select:focus {
  border-color: rgba(200, 255, 74, 0.45);
  box-shadow: 0 0 0 3px rgba(200, 255, 74, 0.07);
}

.input-suffix {
  position: absolute;
  top: 50%;
  right: 14px;
  color: var(--muted);
  font-size: 13px;
  transform: translateY(-50%);
}

.quick-bets {
  display: flex;
  gap: 7px;
  margin: 10px 0 14px;
}

.quick-bet {
  flex: 1;
  min-height: 34px;
  cursor: pointer;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--surface-2);
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
}

.primary-button,
.secondary-button {
  width: 100%;
  min-height: 52px;
  cursor: pointer;
  border-radius: 15px;
  font-size: 14px;
  font-weight: 820;
}

.primary-button {
  border: 0;
  background: var(--lime);
  box-shadow: 0 12px 30px rgba(168, 240, 0, 0.16);
  color: #111608;
}

.primary-button:hover {
  background: #d5ff73;
}

.secondary-button {
  border: 1px solid rgba(200, 255, 74, 0.25);
  background: rgba(200, 255, 74, 0.08);
  color: var(--lime);
}

.primary-button:disabled,
.secondary-button:disabled {
  cursor: not-allowed;
  opacity: 0.45;
}

.button-stack {
  display: grid;
  gap: 9px;
}

.game-note {
  margin: 12px 2px 0;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.5;
  text-align: center;
}

.slots-machine {
  position: relative;
  overflow: hidden;
  padding: 26px 18px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 24px;
  background:
    radial-gradient(circle at 50% 0, rgba(255, 79, 195, 0.15), transparent 60%),
    #0b0e12;
}

.reels {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 9px;
}

.reel {
  display: grid;
  aspect-ratio: 0.82;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 18px;
  background: linear-gradient(180deg, #f7f4ee, #cfd5d8 52%, #f9f7f0);
  box-shadow: inset 0 8px 20px rgba(255, 255, 255, 0.7), inset 0 -8px 20px rgba(0, 0, 0, 0.14);
  color: #191b20;
  font-size: clamp(42px, 15vw, 72px);
  font-weight: 950;
  line-height: 1;
}

.reel.spinning {
  animation: reel-pulse 140ms linear infinite;
}

@keyframes reel-pulse {
  50% { transform: translateY(4px); filter: blur(2px); }
}

.slots-result {
  min-height: 58px;
  padding-top: 17px;
  text-align: center;
}

.slots-result strong,
.slots-result span {
  display: block;
}

.slots-result strong {
  font-size: 18px;
}

.slots-result span {
  margin-top: 5px;
  color: var(--muted);
  font-size: 11px;
}

.paytable {
  display: grid;
  gap: 1px;
  overflow: hidden;
  margin-top: 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: var(--line);
}

.pay-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 15px;
  background: var(--surface);
  font-size: 12px;
}

.pay-row span:last-child {
  color: var(--lime);
  font-weight: 760;
}

.auth-banner {
  display: none;
  margin-bottom: 14px;
  padding: 13px 15px;
  border: 1px solid rgba(255, 184, 75, 0.25);
  border-radius: 14px;
  background: rgba(255, 184, 75, 0.08);
  color: #ffd493;
  font-size: 11px;
  line-height: 1.5;
}

body.preview-mode .auth-banner {
  display: block;
}

.toast-stack {
  position: fixed;
  z-index: 200;
  right: 16px;
  bottom: calc(92px + env(safe-area-inset-bottom));
  left: 16px;
  display: grid;
  width: min(calc(100% - 32px), 520px);
  gap: 8px;
  margin: 0 auto;
  pointer-events: none;
}

.toast {
  padding: 13px 15px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(28, 34, 41, 0.97);
  box-shadow: var(--shadow);
  font-size: 12px;
  animation: toast-in 180ms ease;
}

.toast.error {
  border-color: rgba(255, 95, 104, 0.34);
  color: #ffb3b8;
}

.toast.success {
  border-color: rgba(113, 233, 155, 0.3);
  color: #aaf5c3;
}

@keyframes toast-in {
  from { opacity: 0; transform: translateY(8px); }
}

.skeleton {
  color: transparent !important;
  border-radius: 7px;
  background: linear-gradient(90deg, #1d232a 25%, #282f38 50%, #1d232a 75%);
  background-size: 200% 100%;
  animation: shimmer 1.2s infinite linear;
}

@keyframes shimmer {
  to { background-position-x: -200%; }
}

@media (min-width: 620px) {
  .app-shell {
    padding-right: 24px;
    padding-left: 24px;
  }

  .game-layout {
    grid-template-columns: minmax(0, 1.25fr) minmax(260px, 0.75fr);
    align-items: start;
  }

  .controls-panel {
    position: sticky;
    top: 74px;
  }
}

@media (max-width: 420px) {
  .hero {
    min-height: 266px;
  }

  .hero::after {
    top: 38px;
    right: -4px;
    width: 66px;
    height: 66px;
  }

  .hero h1 {
    max-width: 290px;
  }

  .game-card {
    min-height: 212px;
    padding: 15px;
  }

  .game-art {
    margin: -15px -15px 14px;
  }

  .control-row {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* Tester Games v2 */
[hidden] { display: none !important; }

.sound-toggle { width: 38px; height: 38px; font-size: 18px; color: var(--lime); }
.sound-toggle.muted { color: var(--muted); opacity: .72; }
.live-dot { display: inline-block; width: 7px; height: 7px; margin-right: 5px; border-radius: 50%; background: var(--success); box-shadow: 0 0 12px rgba(113, 233, 155, .85); animation: live-pulse 1.5s infinite; }
@keyframes live-pulse { 50% { opacity: .45; transform: scale(.82); } }

.toast-stack {
  top: calc(max(14px, env(safe-area-inset-top)) + 64px);
  bottom: auto;
  display: flex;
  flex-direction: column;
  gap: 0;
  pointer-events: none;
  perspective: 800px;
}
.toast {
  position: relative;
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) 18px;
  align-items: center;
  width: 100%;
  min-height: 58px;
  margin: 0;
  padding: 10px 11px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 17px;
  background: linear-gradient(135deg, rgba(30,36,44,.98), rgba(18,22,28,.98));
  box-shadow: 0 14px 40px rgba(0,0,0,.48), inset 0 1px rgba(255,255,255,.04);
  color: var(--text);
  text-align: left;
  cursor: pointer;
  pointer-events: auto;
  transform-origin: top center;
  transition: opacity .18s ease, transform .18s ease, margin .18s ease;
  animation: toast-drop .28s cubic-bezier(.2,.8,.2,1);
}
.toast + .toast { z-index: -1; margin-top: -7px; transform: scale(.975) translateY(-1px); opacity: .82; }
.toast + .toast + .toast { z-index: -2; transform: scale(.95) translateY(-2px); opacity: .62; }
.toast + .toast + .toast + .toast { z-index: -3; transform: scale(.925) translateY(-3px); opacity: .42; }
.toast.leaving { opacity: 0; transform: translateY(-12px) scale(.96); }
.toast-icon { display: grid; width: 27px; height: 27px; place-items: center; border-radius: 9px; background: rgba(80,217,255,.12); color: var(--cyan); font-weight: 900; }
.toast-copy { padding: 0 7px; font-size: 12px; font-weight: 650; line-height: 1.42; }
.toast-close { color: var(--muted); font-size: 18px; text-align: center; }
.toast.success { border-color: rgba(113,233,155,.34); color: var(--text); }
.toast.success .toast-icon { background: rgba(113,233,155,.14); color: var(--success); }
.toast.error { border-color: rgba(255,95,104,.36); color: var(--text); }
.toast.error .toast-icon { background: rgba(255,95,104,.14); color: #ff8c94; }
@keyframes toast-drop { from { opacity: 0; transform: translateY(-18px) rotateX(-8deg) scale(.97); } }

.hero-v2 { overflow: hidden; border: 1px solid rgba(255,255,255,.06); background: radial-gradient(circle at 86% 20%, rgba(80,217,255,.16), transparent 28%), radial-gradient(circle at 15% 100%, rgba(128,104,255,.22), transparent 42%), linear-gradient(145deg,#10151b,#0b0e12); }
.hero-v2::before { content: "07"; position: absolute; right: 22px; bottom: -22px; color: rgba(255,255,255,.035); font-size: 148px; font-weight: 950; letter-spacing: -.09em; }
.hero-v2::after { border-color: rgba(80,217,255,.22); box-shadow: 0 0 42px rgba(80,217,255,.12), inset 0 0 30px rgba(128,104,255,.12); }
.games-grid-v2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
.games-grid-v2 .featured-card { grid-column: 1 / -1; }
.game-card { overflow: hidden; }
.game-card::after { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; background: linear-gradient(125deg,transparent 35%,rgba(255,255,255,.035),transparent 65%); transform: translateX(-100%); transition: transform .45s ease; }
.game-card:hover::after { transform: translateX(100%); }
.game-tag.hot { color: #ffc5e9; border-color: rgba(255,79,195,.32); background: rgba(255,79,195,.12); }
.game-tag.new { color: #d9c7ff; border-color: rgba(183,108,255,.34); background: rgba(183,108,255,.12); }
.crash-art { background: radial-gradient(circle at 80% 0,rgba(200,255,74,.24),transparent 45%), linear-gradient(145deg,#182017,#11161d); }
.crash-art .art-symbol { color: var(--lime); text-shadow: 0 0 28px rgba(200,255,74,.55); transform: rotate(-8deg); }
.mini-chart { position: absolute; right: 17px; bottom: 17px; left: 17px; height: 2px; background: linear-gradient(90deg,transparent,var(--lime)); transform: rotate(-11deg); box-shadow: 0 0 12px var(--lime); }
.mini-chart::after { content: ""; position: absolute; right: -2px; top: -4px; width: 9px; height: 9px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 16px var(--lime); }
.cases-art { background: radial-gradient(circle at 70% 40%,rgba(183,108,255,.3),transparent 38%),linear-gradient(145deg,#21172d,#12151b); }
.coin-art { background: linear-gradient(145deg,#22200f,#14171b); }
.roulette-art { background: conic-gradient(from 45deg at 80% 65%,#1a1d22,#551f32,#101318,#2b8f67,#171a1f); }
.compact-game-card .game-art { min-height: 118px; }

.profile-card-v2 { overflow: hidden; isolation: isolate; }
.profile-glow { position: absolute; z-index: -1; top: -100px; left: 50%; width: 240px; height: 240px; border-radius: 50%; background: rgba(128,104,255,.2); filter: blur(45px); transform: translateX(-50%); }
.admin-entry { display: grid; grid-template-columns: 42px minmax(0,1fr) 22px; align-items: center; gap: 11px; width: 100%; margin-top: 16px; padding: 13px; border: 1px solid rgba(200,255,74,.18); border-radius: 16px; background: linear-gradient(135deg,rgba(200,255,74,.08),rgba(128,104,255,.08)); text-align: left; }
.admin-entry-icon { display: grid; width: 40px; height: 40px; place-items: center; border-radius: 12px; background: rgba(200,255,74,.12); color: var(--lime); font-size: 18px; }
.admin-entry strong,.admin-entry small { display:block; }.admin-entry small { margin-top:3px; color:var(--muted); font-size:10px; }
.admin-drawer-link { color: var(--lime); }

.game-page { width: min(100%,680px); }
.compact-heading { margin-bottom: 16px; }
.compact-heading .eyebrow { margin-top: 16px; }
.game-controls { margin-top: 14px; }
.control-note { margin: 12px 0 0; color: var(--muted); font-size: 10px; line-height: 1.55; text-align: center; }
.crash-stage { position: relative; min-height: 310px; overflow: hidden; padding: 0; background: radial-gradient(circle at 70% 65%,rgba(80,217,255,.08),transparent 42%),#0b0f13; }
.crash-stage canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
.crash-grid { position: absolute; inset: 0; opacity: .32; background-image: linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px); background-size: 34px 34px; mask-image: linear-gradient(to top,black,transparent 88%); }
.crash-readout { position: relative; z-index: 2; display: flex; min-height: 310px; flex-direction: column; align-items: center; justify-content: center; pointer-events:none; }
.crash-readout span { color: var(--muted); font-size: 11px; letter-spacing:.12em; text-transform:uppercase; }
.crash-readout strong { margin: 8px 0 4px; font-size: clamp(48px,16vw,82px); letter-spacing:-.065em; color:var(--lime); text-shadow:0 0 30px rgba(200,255,74,.3); }
.crash-readout small { color:#c9d1da; }
.crash-stage.crashed .crash-readout strong { color:var(--danger); text-shadow:0 0 30px rgba(255,95,104,.35); animation: crash-shake .32s ease; }
.crash-stage.flying .crash-readout strong { animation: multiplier-breathe 1s infinite alternate; }
@keyframes crash-shake { 25%{transform:translateX(-7px)}75%{transform:translateX(7px)} }
@keyframes multiplier-breathe { to{filter:brightness(1.22)} }
.cashout-pulse:not(:disabled) { border-color:rgba(200,255,74,.35); background:rgba(200,255,74,.1); color:var(--lime); animation:cash-pulse 1s infinite alternate; }
@keyframes cash-pulse { to{box-shadow:0 0 22px rgba(200,255,74,.16)} }

.case-showcase { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; margin-bottom:14px; }
.case-card { position:relative; min-height:174px; overflow:hidden; padding:14px 8px 12px; border:1px solid var(--line); border-radius:20px; background:var(--surface); text-align:center; cursor:pointer; transition:.2s ease; }
.case-card.selected { border-color:rgba(200,255,74,.45); transform:translateY(-3px); box-shadow:0 15px 35px rgba(0,0,0,.25),0 0 24px rgba(200,255,74,.08); }
.case-price { position:absolute; top:9px; right:9px; padding:4px 7px; border-radius:999px; background:rgba(0,0,0,.28); color:#fff; font-size:9px; }
.case-object { display:grid; width:72px; height:72px; margin:16px auto 10px; place-items:center; border:1px solid rgba(255,255,255,.13); border-radius:24px 10px 24px 10px; font-size:39px; transform:rotate(7deg); }
.case-card strong,.case-card small { display:block; }.case-card strong{font-size:15px}.case-card small{margin-top:4px;color:var(--muted);font-size:9px}
.pulse-case .case-object{color:var(--cyan);background:rgba(80,217,255,.1);box-shadow:0 0 26px rgba(80,217,255,.13)}
.prism-case .case-object{color:#bd91ff;background:rgba(128,104,255,.13);box-shadow:0 0 28px rgba(128,104,255,.16)}
.crown-case .case-object{color:var(--lime);background:rgba(200,255,74,.1);box-shadow:0 0 28px rgba(200,255,74,.13)}
.case-opening { text-align:center; }
.case-reel-window { position:relative; overflow:hidden; margin-bottom:18px; padding:11px 0; border:1px solid var(--line); border-radius:16px; background:#0b0e12; }
.case-reel { display:flex; width:max-content; gap:8px; padding:0 12px; transform:translateX(-92px); }
.case-reel.rolling { animation:case-roll .32s linear infinite; }
.case-reel.revealed { animation:case-settle .55s cubic-bezier(.2,.8,.2,1); }
.case-drop { display:grid; width:82px; height:68px; place-items:center; border-radius:12px; background:#171c22; color:var(--muted); font-size:11px; font-weight:800; }
.case-drop.rare{border:1px solid rgba(80,217,255,.3);color:var(--cyan)}.case-drop.epic{border:1px solid rgba(183,108,255,.35);color:#bd91ff}.case-drop.legendary{border:1px solid rgba(200,255,74,.4);color:var(--lime)}
.case-marker { position:absolute; z-index:2; top:0; bottom:0; left:50%; width:2px; background:var(--lime); box-shadow:0 0 12px var(--lime); }
@keyframes case-roll { to{transform:translateX(-182px)} } @keyframes case-settle{from{filter:blur(3px);transform:scale(.98)}}
.case-result { margin-bottom:14px; }.case-result span,.case-result strong{display:block}.case-result span{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.1em}.case-result strong{margin-top:4px;font-size:28px}

.instant-stage { display:flex; min-height:310px; flex-direction:column; align-items:center; justify-content:center; overflow:hidden; text-align:center; }
.instant-result { margin-top:18px; }.instant-result span,.instant-result strong{display:block}.instant-result span{color:var(--muted);font-size:10px;letter-spacing:.1em;text-transform:uppercase}.instant-result strong{margin-top:5px;font-size:22px}
.coin-object { display:grid; width:138px; height:138px; place-items:center; border:3px solid #d2f66c; border-radius:50%; background:radial-gradient(circle at 35% 28%,#f3ffb1,#a7d628 48%,#45620d); box-shadow:inset 0 0 0 9px rgba(9,11,14,.32),0 24px 60px rgba(200,255,74,.2); color:#172006; font-size:22px; font-weight:950; letter-spacing:.08em; transform-style:preserve-3d; }
.coin-object.is-playing { animation:coin-flip .16s linear infinite; } @keyframes coin-flip{to{transform:rotateY(360deg) translateY(-8px)}}
.roulette-wheel { --roulette-turn:1080deg; position:relative; width:170px; height:170px; border:8px solid #282e36; border-radius:50%; background:conic-gradient(#191d22 0 24deg,#ae3348 24deg 48deg,#171b20 48deg 72deg,#ae3348 72deg 96deg,#171b20 96deg 120deg,#ae3348 120deg 144deg,#171b20 144deg 168deg,#2bc488 168deg 192deg,#171b20 192deg 216deg,#ae3348 216deg 240deg,#171b20 240deg 264deg,#ae3348 264deg 288deg,#171b20 288deg 312deg,#ae3348 312deg 336deg,#171b20 336deg); box-shadow:0 24px 60px rgba(0,0,0,.4),inset 0 0 0 12px rgba(0,0,0,.3); transition:transform 1.25s cubic-bezier(.12,.7,.18,1); }
.roulette-wheel::before { content:""; position:absolute; top:-17px; left:50%; border:8px solid transparent; border-top-color:var(--lime); transform:translateX(-50%); z-index:2; }
.roulette-wheel span { position:absolute; inset:50%; width:48px; height:48px; border-radius:50%; background:#e7edf2; box-shadow:0 0 0 8px #232931; transform:translate(-50%,-50%); }
.roulette-wheel.is-playing { transform:rotate(var(--roulette-turn)); }
.result-win { box-shadow:0 0 50px rgba(113,233,155,.28)!important }.result-loss{filter:saturate(.45)}.result-partial{box-shadow:0 0 34px rgba(80,217,255,.13)!important}
.choice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin:13px 0; }
.choice-button { min-height:66px; padding:10px; border:1px solid var(--line); border-radius:15px; background:var(--surface-2); color:var(--muted); cursor:pointer; }
.choice-button span { display:block; margin-bottom:4px; color:var(--text); font-size:18px; font-weight:850; }.choice-button.selected{border-color:rgba(200,255,74,.4);background:rgba(200,255,74,.08);color:var(--lime)}
.roulette-choices { grid-template-columns:repeat(3,minmax(0,1fr)); }.choice-button.red.selected{border-color:#e4556b;background:rgba(228,85,107,.13);color:#ff8b9c}.choice-button.black.selected{border-color:#87919c;background:rgba(135,145,156,.12);color:#d8dce1}.choice-button.green.selected{border-color:#38d39c;background:rgba(56,211,156,.12);color:#6ceabb}

.gate-body { overflow:hidden; background:radial-gradient(circle at 50% 10%,rgba(128,104,255,.25),transparent 38%),#080a0d; }
.gate-shell { position:relative; display:grid; min-height:100vh; padding:24px; place-items:center; }
.gate-card { position:relative; z-index:2; width:min(100%,430px); padding:34px 26px; border:1px solid rgba(255,255,255,.1); border-radius:30px; background:linear-gradient(145deg,rgba(23,28,34,.96),rgba(12,15,19,.96)); box-shadow:0 30px 90px rgba(0,0,0,.55); text-align:center; backdrop-filter:blur(18px); }
.gate-logo { width:58px;height:58px;margin:0 auto 22px;border-radius:18px;font-size:18px}.gate-card h1{margin:10px 0 8px;font-size:30px;letter-spacing:-.04em}.gate-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}.gate-card small{display:block;margin-top:20px;color:#66707c;font-size:9px;line-height:1.5}.gate-action{display:flex;margin-top:22px}
.gate-loader{display:flex;justify-content:center;gap:6px;margin:24px 0 6px}.gate-loader span{width:7px;height:7px;border-radius:50%;background:var(--lime);animation:gate-bounce .8s infinite alternate}.gate-loader span:nth-child(2){animation-delay:.15s}.gate-loader span:nth-child(3){animation-delay:.3s}@keyframes gate-bounce{to{transform:translateY(-8px);opacity:.45}}
.gate-orbit{position:absolute;width:min(78vw,520px);aspect-ratio:1;border:1px solid rgba(128,104,255,.15);border-radius:50%;animation:orbit-spin 18s linear infinite}.gate-orbit::before,.gate-orbit::after{content:"";position:absolute;inset:12%;border:1px solid rgba(80,217,255,.1);border-radius:50%}.gate-orbit::after{inset:28%}.gate-orbit span{position:absolute;width:10px;height:10px;border-radius:50%;background:var(--lime);box-shadow:0 0 20px var(--lime)}.gate-orbit span:nth-child(1){top:8%;left:30%}.gate-orbit span:nth-child(2){right:8%;bottom:30%;background:var(--violet);box-shadow:0 0 20px var(--violet)}.gate-orbit span:nth-child(3){bottom:8%;left:25%;background:var(--cyan);box-shadow:0 0 20px var(--cyan)}@keyframes orbit-spin{to{transform:rotate(360deg)}}

.admin-shell { width:min(100%,980px); }.admin-heading{margin-bottom:18px}.admin-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.admin-kpis article{padding:16px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,var(--surface-2),var(--surface));}.admin-kpis span,.admin-kpis strong{display:block}.admin-kpis span{color:var(--muted);font-size:10px}.admin-kpis strong{margin-top:9px;font-size:22px;letter-spacing:-.035em}
.users-panel{padding:0;overflow:hidden}.users-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:18px;border-bottom:1px solid var(--line)}.users-toolbar h2,.users-toolbar p{margin:0}.users-toolbar h2{font-size:18px}.users-toolbar p{margin-top:4px;color:var(--muted);font-size:10px}.admin-search{display:flex;min-width:260px;align-items:center;gap:8px;padding:0 12px;border:1px solid var(--line);border-radius:13px;background:#0d1115}.admin-search input{width:100%;height:40px;border:0;outline:0;background:transparent;color:var(--text);font-size:11px}.admin-search span{color:var(--muted);font-size:20px}.users-list{min-height:220px}.admin-loading,.users-list>.empty-state{padding:32px;text-align:center;color:var(--muted)}
.user-row{display:grid;width:100%;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 18px;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;cursor:pointer;transition:.16s ease}.user-row:hover{background:rgba(255,255,255,.025)}.user-row.banned{opacity:.58}.user-row-main strong,.user-row-main span{display:block}.user-row-main strong{font-size:12px}.user-row-main span{margin-top:3px;color:var(--muted);font-size:9px}.user-presence{display:grid;grid-template-columns:8px auto;gap:1px 6px;align-items:center;text-align:right}.user-presence i{width:7px;height:7px;border-radius:50%;background:#59616b}.user-presence.online i{background:var(--success);box-shadow:0 0 10px rgba(113,233,155,.6)}.user-presence strong{font-size:9px}.user-presence small{grid-column:2;color:var(--muted);font-size:9px}
.admin-modal-backdrop{position:fixed;z-index:300;inset:0;display:grid;overflow:auto;padding:max(24px,env(safe-area-inset-top)) 14px max(24px,env(safe-area-inset-bottom));place-items:center;background:rgba(3,5,7,.78);backdrop-filter:blur(14px)}.modal-open{overflow:hidden}.admin-modal{position:relative;width:min(100%,600px);max-height:calc(100vh - 48px);overflow:auto;padding:22px;border:1px solid rgba(255,255,255,.12);border-radius:26px;background:linear-gradient(145deg,#171c22,#0e1216);box-shadow:0 30px 90px rgba(0,0,0,.65)}.admin-modal-close{position:absolute;top:14px;right:14px}.admin-user-head{display:flex;align-items:center;gap:14px;padding-right:48px}.avatar.large{width:64px;height:64px;font-size:18px}.admin-user-head h2{margin:5px 0 3px;font-size:22px}.admin-user-head>div>span{color:var(--muted);font-size:10px}.presence-badge{display:inline-flex!important;width:max-content;padding:4px 8px;border-radius:999px;background:rgba(255,255,255,.06);font-size:8px!important;text-transform:uppercase;letter-spacing:.08em}.presence-badge.online{background:rgba(113,233,155,.12);color:var(--success)!important}.presence-badge.banned{background:rgba(255,95,104,.12);color:#ff949b!important}
.admin-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:18px 0}.admin-detail-grid>div{padding:12px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.02)}.admin-detail-grid span,.admin-detail-grid strong{display:block}.admin-detail-grid span{color:var(--muted);font-size:8px;text-transform:uppercase}.admin-detail-grid strong{margin-top:5px;font-size:11px}.admin-balance-editor{padding:14px;border:1px solid rgba(200,255,74,.17);border-radius:16px;background:rgba(200,255,74,.04)}.admin-balance-editor>label{display:block;margin-bottom:8px;color:var(--muted);font-size:9px}.admin-balance-editor>div{display:grid;grid-template-columns:minmax(0,1fr) 20px auto;align-items:center;gap:8px}.admin-balance-editor input{width:100%;height:43px;padding:0 12px;border:1px solid var(--line);border-radius:11px;background:#090c10;color:var(--text);outline:0}.admin-balance-editor .secondary-button{min-height:43px;padding:0 13px}.admin-user-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:12px 0}.admin-user-stats span{padding:10px;border:1px solid var(--line);border-radius:12px}.admin-user-stats small,.admin-user-stats strong{display:block}.admin-user-stats small{color:var(--muted);font-size:8px}.admin-user-stats strong{margin-top:5px;font-size:11px}.admin-history-preview{padding:13px;border:1px solid var(--line);border-radius:15px}.admin-history-preview h3{margin:0 0 7px;font-size:11px}.admin-history-row{display:flex;justify-content:space-between;padding:6px 0;border-top:1px solid rgba(255,255,255,.05);font-size:9px}.admin-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.admin-actions .danger-button{grid-column:1/-1}.warning-button,.danger-button{min-height:46px;border-radius:14px;font-weight:800;cursor:pointer}.warning-button{border:1px solid rgba(255,184,75,.3);background:rgba(255,184,75,.1);color:#ffd28a}.danger-button{border:1px solid rgba(255,95,104,.3);background:rgba(255,95,104,.1);color:#ff9da3}

@media (max-width:620px){
  .games-grid-v2{grid-template-columns:1fr}.games-grid-v2 .featured-card{grid-column:auto}.compact-game-card .game-art{min-height:132px}
  .admin-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.users-toolbar{display:block}.admin-search{min-width:0;margin-top:13px}.user-row{padding:12px}.admin-modal{padding:18px}.admin-user-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:390px){
  .case-card{min-height:156px}.case-object{width:60px;height:60px;font-size:31px}.case-price{top:7px;right:7px}.roulette-choices{grid-template-columns:1fr}.admin-detail-grid{grid-template-columns:1fr}.admin-actions{grid-template-columns:1fr}.admin-actions .danger-button{grid-column:auto}.toast-stack{right:10px;left:10px;width:calc(100% - 20px)}
}

/* Tester Games v3 */
html { scroll-behavior: smooth; overscroll-behavior-y: none; }
body { overflow-x: hidden; }
button, a, input, select, textarea { touch-action: manipulation; }
textarea { font: inherit; resize: vertical; }
.fx-canvas { position: fixed; z-index: 500; inset: 0; pointer-events: none; }
.fx-defeat { animation: fx-defeat .58s cubic-bezier(.2,.8,.2,1); }
@keyframes fx-defeat { 18%,55% { transform: translateX(-7px); filter: saturate(.35) brightness(.75); } 36%,72% { transform: translateX(7px); } }
.realtime-online .live-sync i { background: var(--success); box-shadow: 0 0 12px rgba(113,233,155,.8); }
.live-sync { display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:8px;font-weight:850;letter-spacing:.1em; }
.live-sync i { width:6px;height:6px;border-radius:50%;background:#56606a; }

.toast-stack { z-index: 600; width:min(calc(100% - 24px),430px); }
.toast-copy { display:flex;min-width:0;flex-direction:column;gap:2px; }
.toast-copy strong { color:#fff;font-size:10px;letter-spacing:.02em; }
.toast.warning { border-color:rgba(255,190,79,.36); }.toast.warning .toast-icon{background:rgba(255,190,79,.13);color:#ffd48c}

/* Swipeable application drawer */
.drawer { display:flex;height:100dvh;max-height:none;flex-direction:column;padding-bottom:max(10px,env(safe-area-inset-bottom));overflow:hidden; }
.drawer-head,.profile-summary,.drawer-tabs { flex:0 0 auto; }
.profile-summary { grid-template-columns:44px minmax(0,1fr) auto; }
.level-chip { padding:5px 7px;border:1px solid rgba(200,255,74,.2);border-radius:9px;color:var(--lime);font-size:7px;font-weight:900;letter-spacing:.08em; }
.drawer-tabs { display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:11px 16px 6px;padding:4px;border:1px solid var(--line);border-radius:13px;background:#0c1014; }
.drawer-tabs button { min-height:34px;padding:5px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-size:9px;font-weight:750;cursor:pointer; }
.drawer-tabs button.active { background:var(--surface-3);color:#fff;box-shadow:0 4px 13px rgba(0,0,0,.25); }
.drawer-pages { display:flex;min-height:0;flex:1;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch; }
.drawer-pages::-webkit-scrollbar { display:none; }
.drawer-page { min-width:100%;height:100%;padding:7px 16px 18px;overflow-y:auto;scroll-snap-align:start;overscroll-behavior:contain; }
.drawer-game-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px; }
.drawer-game-grid .drawer-link { min-height:45px;padding:9px 10px;font-size:10px; }
.drawer-game-grid .drawer-link.wide { grid-column:1/-1; }
.drawer-link small { display:inline;margin-left:4px;color:var(--success);font-size:7px;text-transform:uppercase; }
.drawer-community { margin-top:13px;padding:17px;border:1px solid rgba(128,104,255,.2);border-radius:17px;background:radial-gradient(circle at 100% 0,rgba(128,104,255,.18),transparent 48%),var(--surface); }
.drawer-community strong { font-size:13px; }.drawer-community p{margin:6px 0 0;color:var(--muted);font-size:9px;line-height:1.5}
.sound-card { margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--surface); }
.sound-card>div { display:flex;align-items:center;justify-content:space-between;font-size:11px; }.sound-card button{width:36px;height:30px;border:1px solid var(--line);border-radius:10px;background:var(--surface-3);color:var(--lime)}
.sound-card label { display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px;margin-top:13px;color:var(--muted);font-size:8px; }.sound-card input{width:100%;accent-color:var(--lime)}
.drawer-note { margin-top:12px; }
[data-unread] { display:inline-grid;min-width:15px;height:15px;padding:0 4px;place-items:center;border-radius:99px;background:var(--danger);color:#fff;font-size:7px;font-style:normal; }

/* Home v3 */
.home-v3 { width:min(100%,840px); }
.hero-v3 { position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.075);background:radial-gradient(circle at 80% 20%,rgba(200,255,74,.1),transparent 26%),radial-gradient(circle at 10% 100%,rgba(128,104,255,.26),transparent 42%),linear-gradient(145deg,#11161c,#090c10);isolation:isolate; }
.hero-v3::before { content:"15";position:absolute;z-index:-1;right:18px;bottom:-40px;color:rgba(255,255,255,.035);font-size:170px;font-weight:950;letter-spacing:-.1em; }
.hero-v3 h1 span { background:linear-gradient(90deg,var(--lime),var(--cyan));-webkit-background-clip:text;background-clip:text;color:transparent; }
.hero-actions { display:flex;flex-wrap:wrap;gap:9px;margin-top:20px; }.hero-actions .primary-button{width:auto;min-height:46px;padding:0 18px}.ghost-button{display:inline-flex;min-height:46px;align-items:center;padding:0 16px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.035);font-size:11px;font-weight:800}
.hero-orbit { position:absolute;z-index:-1;border:1px solid rgba(80,217,255,.11);border-radius:50%;animation:orbit-spin 24s linear infinite; }.hero-orbit.one{right:-80px;top:-95px;width:270px;height:270px}.hero-orbit.two{right:20px;top:-20px;width:130px;height:130px;animation-direction:reverse;animation-duration:14s}
.home-actions { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:12px 0 24px; }.home-actions a{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;padding:14px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,var(--surface-2),var(--surface))}.home-actions i{display:grid;width:40px;height:40px;place-items:center;border-radius:13px;background:rgba(200,255,74,.1);color:var(--lime);font-style:normal}.home-actions strong,.home-actions small{display:block}.home-actions strong{font-size:11px}.home-actions small{margin-top:4px;color:var(--muted);font-size:8px;line-height:1.35}.home-actions b{color:var(--lime);font-size:8px}
.category-rail { position:sticky;z-index:15;top:61px;display:flex;gap:7px;margin:0 -16px 24px;padding:9px 16px;overflow-x:auto;background:rgba(9,11,14,.92);scrollbar-width:none;backdrop-filter:blur(12px); }.category-rail::-webkit-scrollbar{display:none}.category-rail a{flex:0 0 auto;padding:8px 13px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);font-size:9px;font-weight:750}.category-rail a:active{border-color:rgba(200,255,74,.4);color:var(--lime)}
.section-kicker { display:block;margin-bottom:5px;color:var(--lime);font-size:7px;font-weight:850;letter-spacing:.14em; }
.games-grid-v3 { grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:30px;content-visibility:auto;contain-intrinsic-size:800px; }
.games-grid-v3 .featured-card { grid-column:1/-1; }.games-grid-v3 .game-card{contain:layout paint}.games-grid-v3 .game-art{min-height:145px}
.tower-card .game-art{background:radial-gradient(circle at 50% 105%,rgba(200,255,74,.28),transparent 50%),linear-gradient(145deg,#152018,#0d1318)}.tower-mini{position:absolute;right:28px;bottom:19px;width:47px;height:62px;border:1px solid rgba(200,255,74,.3);background:repeating-linear-gradient(to top,rgba(200,255,74,.18) 0 6px,transparent 6px 9px);transform:perspective(80px) rotateX(-7deg) rotateY(-10deg);box-shadow:0 0 25px rgba(200,255,74,.12)}
.plinko-card .game-art{background:radial-gradient(circle at 70% 50%,rgba(80,217,255,.24),transparent 40%),#11161c}.plinko-mini{position:absolute;right:24px;bottom:22px;width:72px;height:58px;background-image:radial-gradient(circle,var(--cyan) 0 2px,transparent 3px);background-size:13px 13px;opacity:.65;clip-path:polygon(50% 0,100% 100%,0 100%)}
.blackjack-card .game-art{background:radial-gradient(ellipse at 70% 100%,#17483b,#10201d 55%,#101419)}.blackjack-card .art-symbol{color:#fff;text-shadow:6px 5px 0 #c83b55}
.hilo-card .game-art{background:linear-gradient(145deg,#25192e,#10151a)}

/* Arcade arenas */
.game-shell { width:min(100%,680px); }.arcade-heading{margin-bottom:15px}.arcade-panel{position:relative;overflow:hidden;padding:14px;background:linear-gradient(145deg,#141920,#0d1115)}
.arcade-panel::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,transparent 40%,rgba(255,255,255,.025),transparent 62%);transform:translateX(-100%)}.arcade-panel.round-win::before{animation:panel-shine .8s ease}@keyframes panel-shine{to{transform:translateX(100%)}}
.arcade-stage{position:relative;display:grid;min-height:330px;overflow:hidden;place-items:center;border:1px solid var(--line);border-radius:20px;background:radial-gradient(circle at 50% 65%,rgba(128,104,255,.12),transparent 45%),#090d11;contain:layout paint}
.arcade-result{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 4px 3px}.arcade-result span{color:var(--muted);font-size:9px}.arcade-result strong{font-size:17px}.round-win .arcade-result strong{color:var(--success);text-shadow:0 0 16px rgba(113,233,155,.3)}.round-loss .arcade-result strong{color:#ff8f96}
.arcade-options{margin:11px 0}.arcade-choice-group{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.arcade-choice{display:flex;min-height:61px;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2);color:var(--muted);cursor:pointer}.arcade-choice i{color:#fff;font-size:20px;font-style:normal}.arcade-choice span{font-size:8px}.arcade-choice.selected{border-color:rgba(200,255,74,.42);background:rgba(200,255,74,.07);color:var(--lime);box-shadow:inset 0 0 20px rgba(200,255,74,.035)}
.arcade-bet{margin-top:10px}.arcade-play{margin-top:11px}.arcade-rules{margin-top:12px}
.tower-stage{background:linear-gradient(180deg,#080c10,#101c18)}.tower-stack{display:flex;width:min(82%,310px);flex-direction:column;gap:5px;perspective:500px}.tower-floor{display:grid;height:29px;place-items:center;border:1px solid rgba(255,255,255,.08);border-radius:6px;background:linear-gradient(90deg,#121820,#1e252c,#121820);color:#5f6872;font-size:8px;transform:perspective(300px) rotateX(57deg);transition:.26s}.tower-floor.safe{border-color:rgba(200,255,74,.55);background:linear-gradient(90deg,#162214,#3f6816,#162214);color:var(--lime);box-shadow:0 0 20px rgba(200,255,74,.18);transform:perspective(300px) rotateX(57deg) scale(1.04)}.tower-floor.danger{border-color:var(--danger);background:#4f1b23;color:#fff;animation:floor-break .5s ease forwards}@keyframes floor-break{to{transform:perspective(300px) rotateX(80deg) translateY(30px);opacity:.25}}
.arcade-range{display:block;padding:13px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}.arcade-range span{display:flex;justify-content:space-between;color:var(--muted);font-size:9px}.arcade-range strong{color:var(--lime)}.arcade-range input{width:100%;margin-top:10px;accent-color:var(--lime)}
.plinko-stage{display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle at 50% 50%,rgba(80,217,255,.12),transparent 45%),#081014}.plinko-board{position:relative;width:300px;height:260px}.plinko-peg{position:absolute;top:calc(12px + var(--row) * 29px);left:calc(150px + (var(--peg) - var(--row) / 2) * 34px);width:7px;height:7px;border-radius:50%;background:#d6f8ff;box-shadow:0 0 9px var(--cyan)}.plinko-ball{position:absolute;z-index:3;top:0;left:143px;width:14px;height:14px;border-radius:50%;background:var(--lime);box-shadow:0 0 15px var(--lime)}.plinko-bins{display:grid;width:306px;grid-template-columns:repeat(9,1fr);gap:2px}.plinko-bins i{display:grid;height:25px;place-items:center;border-radius:5px;background:#18232a;color:var(--muted);font-size:6px;font-style:normal}.plinko-bins i.landed{background:var(--lime);color:#111;box-shadow:0 0 17px rgba(200,255,74,.55);animation:bin-hit .35s ease}@keyframes bin-hit{50%{transform:scale(1.22)}}
.blackjack-stage{background:radial-gradient(ellipse at 50% 80%,#174f3f,#0b1715 62%,#080b0e)}.blackjack-table{display:grid;width:100%;height:100%;grid-template-rows:24px 1fr 38px 1fr 24px;place-items:center;padding:15px}.table-label{color:rgba(255,255,255,.46);font-size:8px;letter-spacing:.16em}.table-mark{display:grid;width:45px;height:45px;place-items:center;border:1px solid rgba(255,255,255,.14);border-radius:50%;color:#e7d48d;font-family:Georgia,serif;font-size:17px}.card-hand{display:flex;justify-content:center;padding-left:25px}.playing-card{display:grid;width:59px;height:83px;margin-left:-25px;place-items:center;border:1px solid #dfe5ea;border-radius:9px;background:linear-gradient(145deg,#fff,#dfe5ea);box-shadow:0 8px 18px rgba(0,0,0,.35);color:#12161a;font-family:Georgia,serif;font-size:18px;font-weight:800;animation:deal-card .3s cubic-bezier(.2,.8,.2,1)}.playing-card.red{color:#c72f48}@keyframes deal-card{from{opacity:0;transform:translate(90px,-45px) rotate(18deg)}}
.hilo-stage{background:radial-gradient(circle at 50% 50%,rgba(128,104,255,.2),transparent 45%),#0d0c13}.hilo-cards{display:flex;gap:14px;perspective:600px}.hilo-card{display:grid;width:105px;height:146px;place-items:center;border:1px solid rgba(255,255,255,.75);border-radius:16px;background:linear-gradient(145deg,#f8f9fb,#cfd6df);box-shadow:0 20px 40px rgba(0,0,0,.4);color:#15191e;font-family:Georgia,serif;font-size:46px;font-weight:850;transition:.5s;transform-style:preserve-3d}.hilo-card.back{border-color:rgba(128,104,255,.5);background:repeating-linear-gradient(45deg,#2b2052 0 8px,#191331 8px 16px);color:#c8ff4a;transform:rotateY(180deg)}

/* Duels */
.duel-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:16px;overflow:hidden;margin-bottom:13px;padding:24px;border:1px solid rgba(255,91,103,.16);border-radius:26px;background:radial-gradient(circle at 90% 50%,rgba(255,91,103,.18),transparent 35%),linear-gradient(145deg,#191319,#101318)}.duel-hero h1{margin:7px 0;font-size:34px;letter-spacing:-.05em}.duel-hero p{max-width:470px;margin:0;color:var(--muted);font-size:11px;line-height:1.55}.duel-emblem{position:relative;display:grid;place-items:center}.duel-emblem span{z-index:2;font-size:55px;filter:drop-shadow(0 0 20px rgba(255,91,103,.35))}.duel-emblem i{position:absolute;width:100px;height:100px;border:1px solid rgba(255,91,103,.25);border-radius:50%;animation:duel-ring 2s infinite}@keyframes duel-ring{50%{transform:scale(1.14);opacity:.35}}.duel-live{grid-column:1/-1;display:flex;align-items:center;gap:5px;padding-top:13px;border-top:1px solid var(--line);font-size:9px}.duel-live strong{font-size:14px}.duel-live span{color:var(--muted)}
.duel-create-panel{padding:18px}.duel-create-panel .section-head{margin:0 0 14px}.duel-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.duel-modes button{display:flex;min-height:64px;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);border-radius:15px;background:var(--surface-2);color:var(--muted);cursor:pointer}.duel-modes i{font-size:20px;font-style:normal}.duel-modes span{font-size:9px}.duel-modes button.selected{border-color:rgba(255,91,103,.4);background:rgba(255,91,103,.08);color:#fff}.duel-rps-choice{display:flex;align-items:center;justify-content:space-between;margin-top:10px;padding:10px 12px;border:1px solid var(--line);border-radius:13px}.duel-rps-choice>span{color:var(--muted);font-size:8px}.duel-rps-choice button{width:38px;height:34px;border:1px solid transparent;border-radius:9px;background:transparent}.duel-rps-choice button.selected{border-color:var(--lime);background:rgba(200,255,74,.08)}.duel-bet-line{display:grid;grid-template-columns:auto minmax(0,220px);align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.duel-bet-line label{font-size:10px;font-weight:800}
.online-roster{display:flex;gap:9px;margin:0 -16px 24px;padding:0 16px 6px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none}.online-roster::-webkit-scrollbar{display:none}.online-player{position:relative;display:grid;min-width:230px;grid-template-columns:43px minmax(0,1fr) auto;align-items:center;gap:9px;padding:13px;border:1px solid var(--line);border-radius:17px;background:linear-gradient(145deg,var(--surface-2),var(--surface));scroll-snap-align:start}.online-player div strong,.online-player div span{display:block}.online-player div strong{font-size:10px}.online-player div span{margin-top:3px;color:var(--muted);font-size:8px}.online-player button{padding:7px 9px;border:1px solid rgba(200,255,74,.25);border-radius:9px;background:rgba(200,255,74,.08);color:var(--lime);font-size:8px;font-weight:850}.online-pulse{position:absolute;top:12px;left:43px;width:8px;height:8px;border:2px solid var(--surface);border-radius:50%;background:var(--success);box-shadow:0 0 7px var(--success)}
.mini-refresh{width:34px;height:34px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--muted)}.duel-list{display:grid;gap:9px}.duel-card{position:relative;padding:14px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,var(--surface-2),var(--surface));overflow:hidden}.duel-card.winner{border-color:rgba(113,233,155,.28);box-shadow:inset 0 0 30px rgba(113,233,155,.035)}.duel-card.pending{border-color:rgba(255,190,79,.2)}.duel-card-top{display:grid;grid-template-columns:39px minmax(0,1fr) auto;align-items:center;gap:9px}.duel-mode-icon{display:grid;width:38px;height:38px;place-items:center;border-radius:12px;background:rgba(255,255,255,.05);font-size:18px}.duel-card-top div strong,.duel-card-top div span{display:block}.duel-card-top div strong{font-size:10px}.duel-card-top div span{margin-top:2px;color:var(--muted);font-size:7px}.duel-card-top>b{color:var(--lime);font-size:11px}.duel-players{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:9px;margin:11px 0;padding:10px;border-radius:12px;background:rgba(0,0,0,.18);font-size:9px;text-align:center}.duel-players i{color:var(--danger);font-size:8px;font-style:normal;font-weight:950}.duel-status{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:8px}.duel-status strong{color:#fff}.duel-result-visual{color:var(--lime);font-size:11px;font-weight:850}.duel-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;margin-top:10px}.duel-actions select{min-height:38px;padding:0 8px;border:1px solid var(--line);border-radius:10px;background:#0c1014;color:#fff;font-size:8px}.primary-button.compact,.secondary-button.compact{width:auto;min-height:40px;padding:0 13px;font-size:9px}.duel-empty{min-width:100%}

/* Rewards */
.reward-hero{display:grid;grid-template-columns:105px minmax(0,1fr);align-items:center;gap:20px;padding:20px 5px}.reward-hero h1{margin:6px 0;font-size:32px;letter-spacing:-.045em}.reward-hero p{margin:0;color:var(--muted);font-size:10px;line-height:1.5}.reward-level-ring{display:grid;width:100px;height:100px;place-content:center;border:1px solid rgba(200,255,74,.4);border-radius:50%;background:radial-gradient(circle,rgba(200,255,74,.13),transparent 65%);box-shadow:0 0 35px rgba(200,255,74,.08),inset 0 0 22px rgba(200,255,74,.06);text-align:center}.reward-level-ring span{color:var(--muted);font-size:8px;letter-spacing:.16em}.reward-level-ring strong{color:var(--lime);font-size:37px}.level-panel{padding:15px}.level-copy{display:flex;justify-content:space-between;font-size:10px}.level-copy>span{color:var(--muted);font-size:8px}.xp-track{height:8px;margin-top:10px;overflow:hidden;border-radius:99px;background:#080b0e}.xp-track i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--violet),var(--lime));box-shadow:0 0 12px rgba(200,255,74,.25);transition:width .5s ease}
.daily-card{position:relative;display:grid;grid-template-columns:50px minmax(0,1fr) auto;align-items:center;gap:12px;overflow:hidden;margin:11px 0 24px;padding:17px;border:1px solid rgba(200,255,74,.25);border-radius:20px;background:linear-gradient(145deg,#192018,#11161b)}.daily-glow{position:absolute;right:-40px;width:150px;height:150px;border-radius:50%;background:rgba(200,255,74,.12);filter:blur(35px)}.daily-icon{display:grid;width:48px;height:48px;place-items:center;border-radius:15px;background:rgba(200,255,74,.1);color:var(--lime);font-size:24px}.daily-card div:not(.daily-glow)>span,.daily-card div:not(.daily-glow)>strong,.daily-card div:not(.daily-glow)>small{display:block}.daily-card div:not(.daily-glow)>span{color:var(--muted);font-size:8px}.daily-card div:not(.daily-glow)>strong{margin:3px 0;font-size:16px}.daily-card div:not(.daily-glow)>small{color:#b2bbc5;font-size:7px}
.achievements-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:25px}.achievement-card{display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;align-items:start;padding:14px;border:1px solid var(--line);border-radius:17px;background:var(--surface)}.achievement-icon{display:grid;width:40px;height:40px;place-items:center;border-radius:13px;background:rgba(255,255,255,.04);color:#69727c;font-size:19px}.achievement-card strong{font-size:10px}.achievement-card p{margin:4px 0;color:var(--muted);font-size:8px;line-height:1.4}.achievement-card small{color:#69727c;font-size:7px}.achievement-card.unlocked{border-color:rgba(200,255,74,.2)}.achievement-card.unlocked .achievement-icon{background:rgba(200,255,74,.1);color:var(--lime);box-shadow:0 0 20px rgba(200,255,74,.06)}.achievement-card.unlocked small{color:var(--lime)}.achievement-card button,.achievement-card b{grid-column:1/-1;min-height:32px;border:1px solid rgba(200,255,74,.24);border-radius:9px;background:rgba(200,255,74,.08);color:var(--lime);font-size:8px;font-weight:850}.achievement-card b{display:grid;place-items:center;border-color:var(--line);background:rgba(255,255,255,.03);color:var(--muted)}.achievement-card.locked{opacity:.55}
.reward-notifications{display:grid;gap:7px}.reward-note{display:grid;width:100%;grid-template-columns:37px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:#fff;text-align:left}.reward-note>i{display:grid;width:35px;height:35px;place-items:center;border-radius:11px;background:rgba(128,104,255,.1);color:#b8aaff;font-style:normal}.reward-note span strong,.reward-note span span{display:block}.reward-note span strong{font-size:9px}.reward-note span span{margin-top:3px;color:var(--muted);font-size:8px}.reward-note small{color:#66707b;font-size:7px}.reward-note.unread{border-color:rgba(128,104,255,.24);background:linear-gradient(145deg,rgba(128,104,255,.07),var(--surface))}.reward-note.read{opacity:.62}

/* Profile v3 */
.profile-card-v3{overflow:hidden}.profile-level{margin:10px 0 -5px;padding:4px 7px;border:1px solid rgba(200,255,74,.2);border-radius:8px;color:var(--lime);font-size:7px;font-weight:900}.profile-shortcuts{display:grid;width:100%;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:14px}.profile-shortcuts a{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.025);text-align:left}.profile-shortcuts i{display:grid;width:32px;height:32px;place-items:center;border-radius:10px;background:rgba(128,104,255,.1);color:#b8aaff;font-style:normal}.profile-shortcuts strong,.profile-shortcuts small{display:block}.profile-shortcuts strong{font-size:9px}.profile-shortcuts small{margin-top:2px;color:var(--muted);font-size:7px}.profile-shortcuts b{color:var(--lime)}.profile-stats{grid-template-columns:repeat(3,minmax(0,1fr))}

/* Admin v3 */
.admin-kpis-v3{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-tabs{display:flex;gap:6px;margin:0 0 12px;padding:5px;overflow-x:auto;border:1px solid var(--line);border-radius:15px;background:#0c1014;scrollbar-width:none}.admin-tabs button{min-height:38px;flex:1 0 100px;border:0;border-radius:10px;background:transparent;color:var(--muted);font-size:9px;font-weight:800}.admin-tabs button.active{background:var(--surface-3);color:#fff}.admin-section{display:none}.admin-section.active{display:block;animation:section-in .22s ease}@keyframes section-in{from{opacity:0;transform:translateY(5px)}}
.admin-duels-list,.audit-list{display:grid;gap:1px}.admin-duel-row,.audit-list article{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;border-bottom:1px solid var(--line)}.admin-duel-row>i{display:grid;width:37px;height:37px;place-items:center;border-radius:11px;background:rgba(255,255,255,.04);font-style:normal}.admin-duel-row span strong,.admin-duel-row span small,.audit-list span strong,.audit-list span small{display:block}.admin-duel-row span strong,.audit-list span strong{font-size:9px}.admin-duel-row span small,.audit-list span small{margin-top:3px;color:var(--muted);font-size:7px}.admin-duel-row>b{padding:5px 7px;border-radius:7px;background:rgba(255,255,255,.04);color:var(--muted);font-size:7px;text-transform:uppercase}.admin-duel-row.pending>b{color:#ffd28a}.admin-duel-row.completed>b{color:var(--success)}.audit-list article{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.audit-list code{overflow:hidden;color:var(--muted);font-size:7px;text-align:right;text-overflow:ellipsis;white-space:nowrap}
.broadcast-panel{max-width:650px;margin:auto;padding:25px}.broadcast-icon{display:grid;width:54px;height:54px;place-items:center;border-radius:17px;background:rgba(128,104,255,.12);color:#b8aaff;font-size:27px}.broadcast-panel h2{margin:16px 0 5px}.broadcast-panel>p{margin:0 0 18px;color:var(--muted);font-size:10px;line-height:1.5}.broadcast-panel label,.admin-control-card label{display:block;margin-top:11px;color:var(--muted);font-size:8px}.broadcast-panel input,.broadcast-panel textarea,.admin-control-card input,.admin-control-card textarea{width:100%;margin-top:6px;padding:11px;border:1px solid var(--line);border-radius:11px;outline:0;background:#090d11;color:#fff}.broadcast-panel .primary-button{margin-top:13px}
.admin-modal-v3{width:min(100%,660px)}.admin-control-card{margin-top:10px;padding:13px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.02)}.admin-control-card h3{margin:0 0 8px;font-size:10px}.admin-inline-fields{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px}.admin-inline-fields+.admin-inline-fields{margin-top:8px}.admin-inline-fields label{margin:0}.admin-inline-fields button{min-height:41px;padding:0 12px}.secondary-button.accent{border-color:rgba(200,255,74,.24);color:var(--lime)}.admin-control-card textarea{min-height:70px}.admin-control-card>button{width:100%;margin-top:8px}.admin-maintenance{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-top:10px}.admin-maintenance button{min-height:38px;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.03);color:var(--muted);font-size:8px}

/* Mobile performance and adaptive layout */
@media (max-width: 620px) {
  .app-shell{padding-right:12px;padding-left:12px}.topbar{margin-right:-4px;margin-left:-4px}
  .home-actions{grid-template-columns:1fr}.games-grid-v3{grid-template-columns:1fr}.games-grid-v3 .featured-card{grid-column:auto}.games-grid-v3 .game-art{min-height:138px}
  .category-rail{margin-right:-12px;margin-left:-12px;padding-right:12px;padding-left:12px}
  .arcade-stage{min-height:300px}.plinko-board{transform:scale(.87)}.plinko-bins{margin-top:-15px;transform:scale(.87)}
  .duel-hero{grid-template-columns:1fr 78px;padding:19px}.duel-hero h1{font-size:29px}.duel-emblem span{font-size:42px}.duel-emblem i{width:73px;height:73px}.duel-bet-line{grid-template-columns:auto minmax(0,190px)}
  .achievements-grid{grid-template-columns:1fr}.profile-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .admin-kpis-v3{grid-template-columns:repeat(2,minmax(0,1fr))}.top-actions>.live-sync{display:none}
  .topbar,.category-rail{backdrop-filter:none}.drawer-backdrop,.admin-modal-backdrop{backdrop-filter:blur(7px)}
  .game-card::after{display:none}
}
@media (max-width: 390px) {
  .hero-v3{padding:21px 17px}.hero-v3 h1{font-size:32px}.hero-actions{display:grid}.hero-actions>*{justify-content:center}
  .drawer{width:min(94vw,380px)}.drawer-game-grid{gap:5px}.drawer-game-grid .drawer-link{min-height:42px}
  .arcade-panel{padding:9px}.arcade-stage{min-height:278px}.playing-card{width:51px;height:73px}.hilo-card{width:88px;height:128px}
  .duel-hero{grid-template-columns:1fr}.duel-emblem{display:none}.duel-live{grid-column:auto}.duel-modes span{display:none}.duel-modes i{font-size:23px}.duel-bet-line{grid-template-columns:1fr}.online-player{min-width:215px}
  .reward-hero{grid-template-columns:82px 1fr;gap:13px}.reward-level-ring{width:78px;height:78px}.reward-level-ring strong{font-size:28px}.reward-hero h1{font-size:26px}.daily-card{grid-template-columns:42px minmax(0,1fr);padding:14px}.daily-card button{grid-column:1/-1;width:100%}.profile-shortcuts{grid-template-columns:1fr}
  .admin-kpis-v3{grid-template-columns:1fr 1fr}.admin-kpis strong{font-size:17px}.admin-detail-grid{grid-template-columns:1fr 1fr}.admin-inline-fields{grid-template-columns:1fr}.admin-actions,.admin-maintenance{grid-template-columns:1fr}
}
@media (hover:none) and (pointer:coarse) {
  .game-card:hover{transform:none}.game-card:active{transform:scale(.985)}
}

/* Tester Games v4 — interaction, readability and performance */
.ui-icon{display:block;width:1.25em;height:1.25em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.nav-icon .ui-icon{width:21px;height:21px}.icon-button .ui-icon{width:20px;height:20px}.drawer-link>.ui-icon,.drawer-link>span>.ui-icon{width:19px;height:19px}
button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.balance-pill.balance-up{animation:balance-credit .72s cubic-bezier(.2,.8,.2,1)}.balance-pill.balance-down{animation:balance-debit .48s ease}
@keyframes balance-credit{35%{border-color:rgba(113,233,155,.7);background:rgba(113,233,155,.16);color:#baffd1;box-shadow:0 0 24px rgba(113,233,155,.22);transform:translateY(-2px) scale(1.04)}}
@keyframes balance-debit{40%{border-color:rgba(255,190,79,.55);color:#ffd38c;transform:scale(.97)}}

/* Larger, calmer typography */
.page-heading p,.hero p,.duel-hero p,.reward-hero p,.broadcast-panel>p,.game-card p{font-size:13px;line-height:1.55}
.section-head p,.profile-shortcuts small,.home-actions small,.online-player div span,.reward-note span span,.achievement-group-foot,.duel-round-detail,.arcade-result span,.action-hint{font-size:11px;line-height:1.45}
.section-kicker,.eyebrow,.game-tag,.field-label,.table-label,.level-copy>span,.daily-card div:not(.daily-glow)>span,.daily-card div:not(.daily-glow)>small{font-size:10px}
.game-card h3{font-size:19px}.category-rail a,.drawer-tabs button,.drawer-link,.primary-button.compact,.secondary-button.compact{font-size:12px}
.duel-modes span,.online-player div strong,.online-player button,.duel-card-top div strong,.duel-card-top div span,.duel-card-top>b,.duel-players,.duel-status{font-size:11px}
.admin-tabs button,.admin-duel-row span strong,.audit-list span strong,.broadcast-panel label,.admin-control-card label,.admin-control-card h3,.admin-maintenance button{font-size:11px}
.admin-duel-row span small,.audit-list span small,.admin-duel-row>b,.audit-list code{font-size:10px}

/* Newest notification stays at the bottom, older cards climb upward. */
.toast-stack{top:calc(max(14px,env(safe-area-inset-top)) + 116px);bottom:auto;display:grid;gap:0;transform:none;pointer-events:none}
.toast-stack .toast{grid-area:1/1;margin:0;transform-origin:center;pointer-events:auto}
.toast-stack .toast:nth-child(1){z-index:3;transform:translateY(0) scale(1);opacity:1}
.toast-stack .toast:nth-child(2){z-index:2;transform:translateY(-18px) scale(.982);opacity:.8}
.toast-stack .toast:nth-child(3){z-index:1;transform:translateY(-36px) scale(.964);opacity:.58}
.toast-stack .toast.leaving{opacity:0;transform:translateY(-48px) scale(.94)}
.toast-copy strong{font-size:12px}.toast-copy{font-size:13px}.toast{min-height:56px}

/* First-open sequence */
.launch-intro{position:fixed;z-index:1200;inset:0;display:grid;place-content:center;justify-items:center;padding:24px;background:radial-gradient(circle at 50% 42%,rgba(128,104,255,.22),transparent 28%),#080a0d;color:#fff;text-align:center;transition:opacity .34s ease,transform .34s ease}
.launch-intro.complete{opacity:0;transform:scale(1.025);pointer-events:none}
.launch-mark{display:flex;align-items:center;gap:13px}.launch-mark strong{display:grid;width:76px;height:76px;place-items:center;border:1px solid rgba(200,255,74,.48);border-radius:24px;background:rgba(200,255,74,.09);color:var(--lime);font-size:27px;box-shadow:0 0 50px rgba(200,255,74,.12);animation:launch-mark-in .75s cubic-bezier(.2,.8,.2,1)}
.launch-mark i{width:35px;height:1px;background:linear-gradient(90deg,transparent,var(--cyan))}.launch-mark i:last-child{background:linear-gradient(90deg,var(--cyan),transparent)}
.launch-intro>span{margin-top:17px;color:var(--lime);font-size:11px;font-weight:900;letter-spacing:.2em}.launch-intro h2{margin:8px 0 16px;font-size:22px}
.launch-intro small{margin-top:11px;color:var(--muted);font-size:12px}.launch-progress{width:min(280px,72vw);height:4px;overflow:hidden;border-radius:99px;background:#171c22}.launch-progress b{display:block;width:100%;height:100%;background:linear-gradient(90deg,var(--violet),var(--cyan),var(--lime));transform-origin:left;animation:launch-progress 1.35s ease both}
@keyframes launch-mark-in{from{opacity:0;transform:translateY(14px) scale(.75) rotate(-8deg)}}@keyframes launch-progress{from{transform:scaleX(0)}}

/* XP flyout on the screen edge */
.xp-flyout{position:fixed;z-index:850;top:calc(max(12px,env(safe-area-inset-top)) + 62px);right:max(10px,env(safe-area-inset-right));display:grid;width:min(245px,calc(100vw - 20px));grid-template-columns:1fr auto;gap:4px 10px;padding:13px 14px;border:1px solid rgba(128,104,255,.38);border-radius:16px;background:linear-gradient(145deg,rgba(27,23,45,.98),rgba(14,18,23,.98));box-shadow:0 18px 55px rgba(0,0,0,.46);animation:xp-in .42s cubic-bezier(.2,.85,.2,1)}
.xp-flyout>span{color:#baa9ff;font-size:10px;font-weight:900;letter-spacing:.08em}.xp-flyout>strong{grid-row:1/3;grid-column:2;color:var(--lime);font-size:20px;animation:xp-count .7s cubic-bezier(.15,.85,.2,1)}.xp-flyout>i{grid-column:1/-1;height:5px;overflow:hidden;border-radius:99px;background:#090c10}.xp-flyout>i b{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--violet),var(--lime));box-shadow:0 0 13px rgba(200,255,74,.45);transition:width .8s cubic-bezier(.2,.8,.2,1)}.xp-flyout>small{grid-column:1/-1;color:var(--muted);font-size:10px}.xp-flyout.level-up{border-color:rgba(200,255,74,.52);box-shadow:0 0 45px rgba(200,255,74,.14)}.xp-flyout.leaving{opacity:0;transform:translateX(24px);transition:.28s}
@keyframes xp-in{from{opacity:0;transform:translateX(35px) scale(.96)}}@keyframes xp-count{0%{opacity:0;transform:translateY(8px) scale(.7)}55%{transform:translateY(-2px) scale(1.12)}}

/* Stateful instant games */
.instant-stage{contain:layout paint}.coin-object{will-change:transform}.coin-object.round-ready{animation:object-ready 1.15s ease-in-out infinite}
@keyframes object-ready{50%{transform:translateY(-5px);filter:brightness(1.12)}}
.roulette-wheel{--roulette-turn:0deg;width:196px;height:196px;background:conic-gradient(#25b87f 0 24deg,#b83a51 24deg 48deg,#171b20 48deg 72deg,#b83a51 72deg 96deg,#171b20 96deg 120deg,#b83a51 120deg 144deg,#171b20 144deg 168deg,#b83a51 168deg 192deg,#171b20 192deg 216deg,#b83a51 216deg 240deg,#171b20 240deg 264deg,#b83a51 264deg 288deg,#171b20 288deg 312deg,#b83a51 312deg 336deg,#171b20 336deg 360deg);transition:transform 2.3s cubic-bezier(.07,.69,.12,1);will-change:transform}
.roulette-wheel .wheel-number{position:absolute;z-index:1;top:50%;left:50%;width:20px;height:20px;margin:-10px;display:grid;place-items:center;color:#fff;font-size:9px;font-style:normal;font-weight:900;text-shadow:0 1px 2px #000;transform:rotate(calc(var(--n) * 24deg + 12deg)) translateY(-73px) rotate(calc(var(--n) * -24deg - 12deg))}
.roulette-wheel>span{z-index:3}.roulette-wheel.result-win{box-shadow:0 0 45px rgba(113,233,155,.22),inset 0 0 0 12px rgba(0,0,0,.3)}
.choice-button:disabled{opacity:.45;cursor:not-allowed}.choice-button:not(:disabled){animation:choice-ready .35s ease}@keyframes choice-ready{from{opacity:.4;transform:translateY(5px)}}

/* Exact case tape */
.case-showcase{grid-template-columns:repeat(4,minmax(0,1fr))}.case-card{isolation:isolate;transform:translateZ(0)}.case-card::before{position:absolute;z-index:-1;inset:-40%;content:"";background:radial-gradient(circle,rgba(255,255,255,.11),transparent 46%);opacity:0;transform:translateY(20%) scale(.7);transition:.45s cubic-bezier(.2,.8,.2,1)}.case-card.selected::before{opacity:1;transform:translateY(0) scale(1)}.case-card.selected .case-object{animation:case-object-selected 2.3s ease-in-out infinite}.case-object{position:relative}.case-object>i{position:absolute;inset:-6px;border:1px solid currentColor;border-radius:inherit;opacity:.18;animation:case-orbit 5s linear infinite}.vault-case .case-object{color:#ffbe66;background:rgba(255,158,70,.12);box-shadow:0 0 31px rgba(255,158,70,.17)}
.case-opening{position:relative;isolation:isolate;overflow:hidden}.case-stage-light{position:absolute;z-index:-1;inset:-30% 5% auto;height:190px;background:radial-gradient(ellipse,rgba(80,217,255,.1),transparent 65%);filter:blur(22px);transition:.4s}.case-opening[data-case-theme="prism"] .case-stage-light{background:radial-gradient(ellipse,rgba(128,104,255,.18),transparent 65%)}.case-opening[data-case-theme="crown"] .case-stage-light{background:radial-gradient(ellipse,rgba(200,255,74,.13),transparent 65%)}.case-opening[data-case-theme="vault"] .case-stage-light{background:radial-gradient(ellipse,rgba(255,158,70,.16),transparent 65%)}.case-opening.is-opening .case-stage-light{animation:case-stage-charge 1.1s ease-in-out infinite alternate}
.case-reel-window{padding:14px 0;perspective:600px;transition:border-color .3s,box-shadow .3s}.case-reel-window.is-opening{border-color:rgba(80,217,255,.24);box-shadow:inset 0 0 42px rgba(80,217,255,.05),0 10px 35px rgba(0,0,0,.25)}.case-reel-window.revealed{border-color:rgba(200,255,74,.25)}.case-reel-shade{position:absolute;z-index:3;top:0;bottom:0;width:25%;pointer-events:none}.case-reel-shade.left{left:0;background:linear-gradient(90deg,#0b0e12,transparent)}.case-reel-shade.right{right:0;background:linear-gradient(-90deg,#0b0e12,transparent)}.case-reel{gap:8px;padding:0 12px;transform:translate3d(32px,0,0);will-change:transform,filter}.case-reel.rolling{animation:none}.case-drop{display:grid;width:94px;height:76px;flex:0 0 94px;place-content:center;gap:5px;border:1px solid rgba(255,255,255,.07);background:linear-gradient(145deg,#1b2127,#101419);font-size:12px;text-align:center;box-shadow:inset 0 1px rgba(255,255,255,.04)}.case-drop i{font-size:15px;font-style:normal;opacity:.78}.case-drop strong{font-size:12px}.case-drop.winning{border-width:1px;box-shadow:inset 0 0 24px rgba(255,255,255,.04)}.case-drop.landed{z-index:2;animation:case-land-v5 .82s cubic-bezier(.2,.8,.2,1)}
.case-opening.tier-rare .case-result strong{color:var(--cyan)}.case-opening.tier-epic .case-result strong{color:#bd91ff}.case-opening.tier-legendary .case-result strong{color:var(--lime);text-shadow:0 0 22px rgba(200,255,74,.35)}.case-opening.case-win{animation:case-panel-win .8s ease}.case-opening.case-loss .case-result{animation:case-panel-loss .48s ease}
.case-marker{z-index:4;width:2px;filter:drop-shadow(0 0 7px var(--lime))}.case-marker::before,.case-marker::after{position:absolute;left:50%;content:"";width:0;height:0;transform:translateX(-50%);border:6px solid transparent}.case-marker::before{top:0;border-top-color:var(--lime)}.case-marker::after{bottom:0;border-bottom-color:var(--lime)}.case-marker i{position:absolute;top:50%;left:50%;width:8px;height:8px;border:2px solid var(--lime);border-radius:50%;background:#0b0e12;transform:translate(-50%,-50%);box-shadow:0 0 15px var(--lime)}
@keyframes case-land-v5{0%{transform:scale(.96);filter:brightness(.8)}38%{transform:scale(1.17);filter:brightness(1.65)}68%{transform:scale(.98)}100%{transform:scale(1)}}@keyframes case-object-selected{50%{transform:rotate(4deg) translateY(-5px);filter:brightness(1.17)}}@keyframes case-orbit{to{transform:rotate(360deg)}}@keyframes case-stage-charge{to{opacity:.72;transform:scale(1.14)}}@keyframes case-panel-win{35%{box-shadow:0 0 52px rgba(200,255,74,.16)}}@keyframes case-panel-loss{35%{transform:translateX(-2px)}65%{transform:translateX(2px)}}

/* Stateful arcade controls */
.arcade-action-dock{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px;padding:11px;border:1px solid var(--line);border-radius:17px;background:#0d1115}.arcade-action-dock[hidden]{display:none}.arcade-action-dock .primary-button,.arcade-action-dock .secondary-button{min-height:48px}.arcade-action-dock .action-hint{grid-column:1/-1;margin:0;color:var(--muted)}.arcade-action-dock .cashout-action{grid-column:1/-1}
.interactive-tower{display:flex;width:min(92%,390px);flex-direction:column;gap:5px}.tower-row{display:grid;grid-template-columns:25px repeat(3,1fr);gap:5px;align-items:center;perspective:420px}.tower-number{color:#5c6670;font-size:10px;text-align:center}.tower-platform{height:31px;border:1px solid rgba(255,255,255,.09);border-radius:7px;background:linear-gradient(180deg,#20262d,#11161b);color:#65717c;font-weight:900;transform:perspective(180px) rotateX(49deg);transition:.35s}.tower-row.current .tower-platform:not(:disabled){border-color:rgba(200,255,74,.35);color:var(--lime);box-shadow:0 0 15px rgba(200,255,74,.06);cursor:pointer;animation:platform-ready 1.2s ease-in-out infinite}.tower-platform.safe{border-color:var(--success);background:#173522;color:#a8ffc8}.tower-platform.danger,.tower-platform.trap{border-color:var(--danger);background:#4b1b22;color:#fff}.tower-platform.inactive{opacity:.25}
@keyframes platform-ready{50%{transform:perspective(180px) rotateX(49deg) translateY(-2px);filter:brightness(1.2)}}
.wheel-sector-label{position:absolute;top:50%;left:50%;width:18px;height:18px;margin:-9px;display:grid;place-items:center;color:#fff;font-size:8px;font-style:normal;transform:rotate(calc(var(--sector) * 30deg + 15deg)) translateY(-86px) rotate(calc(var(--sector) * -30deg - 15deg))}

/* Real action-based duel arena */
.duel-card.active{border-color:rgba(80,217,255,.25)}.duel-arena{margin-top:12px;padding:13px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:radial-gradient(circle at 50% 45%,rgba(255,91,103,.1),transparent 45%),#0b0e12}
.duel-scoreboard{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;color:var(--muted);font-size:10px;text-align:center}.duel-scoreboard strong{color:#fff;font-size:22px}.duel-round-stage{display:flex;align-items:center;justify-content:center;gap:17px;min-height:105px}.duel-round-stage>b{color:var(--danger);font-size:11px}.duel-player-token{display:grid;width:70px;height:70px;place-items:center;border:1px solid rgba(80,217,255,.23);border-radius:22px;background:linear-gradient(145deg,#192229,#0f1318);font-size:34px;font-style:normal;box-shadow:0 14px 30px rgba(0,0,0,.28)}.duel-player-token.opponent{border-color:rgba(255,91,103,.25)}.duel-arena.is-resolving .duel-player-token{animation:duel-token-left .55s ease-in-out infinite alternate}.duel-arena.is-resolving .duel-player-token.opponent{animation-name:duel-token-right}
@keyframes duel-token-left{to{transform:translateX(13px) rotate(6deg)}}@keyframes duel-token-right{to{transform:translateX(-13px) rotate(-6deg)}}
.duel-round-detail{min-height:16px;margin:0;color:var(--muted);text-align:center}.duel-turn-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:11px}.duel-turn-button{min-height:45px;border:1px solid rgba(255,255,255,.11);border-radius:12px;background:rgba(255,255,255,.04);color:#fff;font-size:11px;font-weight:850}.duel-turn-button:active{transform:scale(.97)}.duel-turn-button.wide{grid-column:1/-1;border-color:rgba(200,255,74,.26);background:rgba(200,255,74,.08);color:var(--lime)}.duel-waiting{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;color:var(--muted);font-size:11px}.duel-waiting i{width:8px;height:8px;border-radius:50%;background:var(--cyan);box-shadow:0 0 10px var(--cyan);animation:live-pulse 1s infinite}

/* Five-tier achievements */
.leaderboard-inline{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:13px;padding-top:12px;border-top:1px solid var(--line);font-size:11px}.leaderboard-inline span{color:var(--muted)}.leaderboard-inline strong{color:var(--lime)}
.achievement-filters{display:flex;gap:7px;margin:0 -12px 12px;padding:0 12px 4px;overflow-x:auto;scrollbar-width:none}.achievement-filters::-webkit-scrollbar{display:none}.achievement-filters button{min-height:38px;flex:0 0 auto;padding:0 14px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);font-size:11px;font-weight:800}.achievement-filters button.active{border-color:rgba(200,255,74,.38);background:rgba(200,255,74,.08);color:var(--lime)}
.achievement-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:28px}.achievement-group{padding:14px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,var(--surface-2),var(--surface));content-visibility:auto;contain-intrinsic-size:206px}.achievement-group.complete{border-color:rgba(200,255,74,.32);background:linear-gradient(145deg,rgba(200,255,74,.065),var(--surface))}.achievement-group-head{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:9px}.achievement-group-icon{display:grid;width:38px;height:38px;place-items:center;border-radius:12px;background:rgba(128,104,255,.1);color:#b9a9ff;font-size:17px}.achievement-group.complete .achievement-group-icon{background:rgba(200,255,74,.12);color:var(--lime)}.achievement-group-head strong,.achievement-group-head span{display:block}.achievement-group-head strong{font-size:13px}.achievement-group-head span{margin-top:2px;color:var(--muted);font-size:10px}.achievement-group-head>b{color:var(--lime);font-size:11px}.achievement-complete-badge{padding:5px 7px;border:1px solid rgba(200,255,74,.25);border-radius:999px;background:rgba(200,255,74,.08);font-size:9px!important;white-space:nowrap}.achievement-description{min-height:34px;margin:10px 0 0;color:#aeb7bf;font-size:11px;line-height:1.5}
.achievement-tier-track{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin:13px 0}.achievement-tier{display:grid;min-width:0;height:52px;place-content:center;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:#0b0e12;color:#616b75;text-align:center}.achievement-tier i,.achievement-tier small{display:block}.achievement-tier i{font-size:11px;font-style:normal;font-weight:900}.achievement-tier small{margin-top:3px;font-size:8px}.achievement-tier.unlocked{border-color:rgba(200,255,74,.3);background:rgba(200,255,74,.07);color:var(--lime)}button.achievement-tier.unlocked{cursor:pointer;animation:reward-ready 1.5s ease-in-out infinite}.achievement-tier.claimed{color:#8ca563;opacity:.72}
@keyframes reward-ready{50%{box-shadow:0 0 16px rgba(200,255,74,.13);transform:translateY(-2px)}}.achievement-group-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted)}.achievement-group-foot strong{color:#c7cfd6;font-size:10px;text-align:right}

/* Leaderboard */
.leaderboard-page{width:min(100%,720px)}.leaderboard-hero{padding:25px 4px 18px}.leaderboard-hero h1{margin:7px 0;font-size:38px;letter-spacing:-.05em}.leaderboard-hero p{max-width:530px;margin:0;color:var(--muted);font-size:13px;line-height:1.55}.leaderboard-tabs{display:flex;gap:7px;margin-top:17px}.leaderboard-tabs button{min-height:42px;padding:0 20px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--muted);font-size:12px;font-weight:850}.leaderboard-tabs button.active{border-color:rgba(200,255,74,.38);background:rgba(200,255,74,.08);color:var(--lime)}
.leaderboard-current{display:grid;grid-template-columns:1fr auto;align-items:center;padding:15px 17px}.leaderboard-current span,.leaderboard-current small{color:var(--muted);font-size:11px}.leaderboard-current strong{grid-row:1/3;grid-column:2;color:var(--lime);font-size:27px}.leaderboard-current small{margin-top:3px}
.leaderboard-podium{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.podium-card{display:grid;grid-template-columns:auto 42px minmax(0,1fr);align-items:center;gap:7px;min-width:0;padding:13px 10px;border:1px solid var(--line);border-radius:17px;background:linear-gradient(145deg,var(--surface-2),var(--surface))}.podium-card:first-child{border-color:rgba(245,213,111,.36);background:linear-gradient(145deg,rgba(245,213,111,.09),var(--surface))}.podium-card>b{grid-column:1/-1;color:var(--lime);font-size:12px;text-align:center}.leader-rank{color:#f5d56f;font-size:17px}.leader-avatar{display:grid;width:40px;height:40px;place-items:center;border-radius:13px;background:linear-gradient(145deg,#303945,#171c22);color:#fff;font-size:11px;font-style:normal;font-weight:900}.podium-card div,.leaderboard-row div{min-width:0}.podium-card div strong,.podium-card div small,.leaderboard-row div strong,.leaderboard-row div small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.podium-card div strong,.leaderboard-row div strong{font-size:11px}.podium-card div small,.leaderboard-row div small{margin-top:2px;color:var(--muted);font-size:9px}
.leaderboard-list{overflow:hidden;padding:0;content-visibility:auto;contain-intrinsic-size:700px}.leaderboard-row{display:grid;grid-template-columns:28px 42px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 14px;border-bottom:1px solid var(--line)}.leaderboard-row:last-child{border-bottom:0}.leaderboard-row>b{color:#dce3e8;font-size:12px}.leaderboard-row.viewer,.podium-card.viewer{background:linear-gradient(90deg,rgba(128,104,255,.12),rgba(200,255,74,.04));box-shadow:inset 3px 0 var(--lime)}
.leaderboard-promo{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-12px 0 17px;padding:13px 15px;border:1px solid rgba(128,104,255,.25);border-radius:17px;background:linear-gradient(135deg,rgba(128,104,255,.1),rgba(200,255,74,.04))}.leaderboard-promo>span{display:grid;grid-template-columns:35px 1fr;align-items:center;column-gap:10px}.leaderboard-promo i{grid-row:1/3;display:grid;width:34px;height:34px;place-items:center;border-radius:11px;background:rgba(128,104,255,.13);color:#c0b2ff;font-style:normal}.leaderboard-promo strong,.leaderboard-promo small{display:block}.leaderboard-promo strong{font-size:11px}.leaderboard-promo small{color:var(--muted);font-size:10px}.leaderboard-promo>b{color:var(--lime);font-size:11px}
.profile-shortcuts{grid-template-columns:repeat(3,1fr)}

/* Efficient rendering on long pages and low-power phones */
.games-grid-v3,.achievement-groups,.leaderboard-list,.reward-notifications{content-visibility:auto}

/* v6 cinematic result layer — transform/opacity only, isolated from page layout */
.win-cinematic,.loss-cinematic{position:fixed;z-index:490;inset:0;overflow:hidden;contain:strict;pointer-events:none}
.win-cinematic{display:grid;place-items:center;perspective:900px}
.win-cinematic::before{position:absolute;inset:0;content:"";background:radial-gradient(circle at 50% 43%,rgba(200,255,74,.15),transparent 18%),radial-gradient(circle at 50% 43%,rgba(80,217,255,.08),transparent 36%);animation:cinematic-flash 1.05s ease-out both}
.win-cinematic>i{position:absolute;top:43%;left:50%;width:min(58vw,330px);aspect-ratio:1;border:2px solid rgba(200,255,74,.72);border-radius:50%;box-shadow:0 0 28px rgba(200,255,74,.32),inset 0 0 24px rgba(200,255,74,.14);animation:cinematic-ring 1.05s cubic-bezier(.1,.7,.15,1) both}
.win-cinematic>i:nth-child(2){width:min(36vw,210px);border-color:rgba(80,217,255,.62);animation-delay:.09s}
.win-cinematic>b{position:absolute;top:43%;left:50%;width:88px;height:88px;border-radius:28px;background:conic-gradient(from 45deg,var(--lime),var(--cyan),var(--violet),var(--lime));opacity:.38;animation:cinematic-core .85s cubic-bezier(.1,.75,.2,1) both}
.win-cinematic>span{position:absolute;top:43%;left:50%;width:5px;height:min(38vh,270px);border-radius:999px;background:linear-gradient(transparent,rgba(200,255,74,.95),transparent);transform-origin:50% 0;animation:cinematic-ray 1s ease-out both}
.win-cinematic>span:nth-of-type(1){--ray:25deg}.win-cinematic>span:nth-of-type(2){--ray:115deg}.win-cinematic>span:nth-of-type(3){--ray:205deg}.win-cinematic>span:nth-of-type(4){--ray:295deg}
.win-cinematic>em{position:absolute;top:43%;left:50%;padding:8px 14px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(8,11,14,.78);color:#fff;font-size:11px;font-style:normal;font-weight:950;letter-spacing:.22em;text-shadow:0 0 14px rgba(200,255,74,.65);box-shadow:0 10px 35px rgba(0,0,0,.36);transform:translate(-50%,-50%);animation:cinematic-label 1.12s cubic-bezier(.12,.76,.2,1) both}
.win-cinematic.jackpot::before{background:radial-gradient(circle at 50% 43%,rgba(255,223,111,.22),transparent 20%),radial-gradient(circle at 50% 43%,rgba(255,90,165,.1),transparent 42%)}.win-cinematic.duel>i{border-color:rgba(255,91,103,.7)}.win-cinematic.neon>i{border-color:rgba(80,217,255,.72)}
.loss-cinematic{background:radial-gradient(circle at 50% 45%,transparent 18%,rgba(255,67,83,.1) 48%,rgba(40,0,6,.32));animation:loss-vignette .7s ease-out both}
@keyframes cinematic-flash{0%{opacity:0;transform:scale(.74)}24%{opacity:1}100%{opacity:0;transform:scale(1.18)}}@keyframes cinematic-ring{0%{opacity:0;transform:translate(-50%,-50%) rotateX(64deg) scale(.18)}28%{opacity:1}100%{opacity:0;transform:translate(-50%,-50%) rotateX(0) scale(1.45)}}@keyframes cinematic-core{0%{opacity:0;transform:translate(-50%,-50%) rotate(-90deg) scale(.18)}35%{opacity:.55}100%{opacity:0;transform:translate(-50%,-50%) rotate(110deg) scale(1.65)}}@keyframes cinematic-ray{0%{opacity:0;transform:translate(-50%,0) rotate(var(--ray)) scaleY(.08)}25%{opacity:.75}100%{opacity:0;transform:translate(-50%,0) rotate(var(--ray)) scaleY(1.35)}}@keyframes cinematic-label{0%{opacity:0;transform:translate(-50%,-40%) scale(.72);letter-spacing:.02em}28%,68%{opacity:1;transform:translate(-50%,-50%) scale(1);letter-spacing:.22em}100%{opacity:0;transform:translate(-50%,-62%) scale(1.08)}}@keyframes loss-vignette{0%,100%{opacity:0}22%,58%{opacity:1}}

/* Pause ambient work in background tabs and simplify only nonessential ambience on low-power phones. */
.app-paused *{animation-play-state:paused!important}
.performance-lite .topbar,.performance-lite .category-rail,.performance-lite .drawer,.performance-lite .drawer-backdrop,.performance-lite .admin-modal-backdrop{backdrop-filter:none!important}
.performance-lite .hero-orbit,.performance-lite .case-object>i,.performance-lite .duel-emblem i,.performance-lite .daily-glow{animation:none!important}
.performance-lite .game-card,.performance-lite .panel,.performance-lite .case-card{box-shadow:none}
.performance-lite .win-cinematic>span:nth-of-type(n+3){display:none}.performance-lite .win-cinematic::before{opacity:.7}
.performance-lite .win-cinematic>em{box-shadow:none;text-shadow:none}
.performance-lite .roulette-wheel{transition-duration:1.6s}
.game-card,.case-card,.achievement-group,.leaderboard-row,.online-player{contain:layout paint style}
.game-stage,.instant-stage,.slots-machine,.case-reel-window,.arcade-stage,.duel-arena{transform:translateZ(0)}
.reel.reel-landed{animation:reel-impact .5s cubic-bezier(.16,.8,.2,1)}
.slots-machine.result-win::after{position:absolute;inset:18px;content:"";border:1px solid rgba(200,255,74,.55);border-radius:20px;pointer-events:none;animation:slot-win-frame .9s ease-out both}
@keyframes reel-impact{28%{box-shadow:inset 0 8px 20px rgba(255,255,255,.82),inset 0 -8px 20px rgba(0,0,0,.14),0 0 28px rgba(200,255,74,.28);transform:scale(1.055)}}
@keyframes slot-win-frame{0%{opacity:0;transform:scale(.9)}30%{opacity:1}100%{opacity:0;transform:scale(1.035)}}
.slots-machine.is-spinning .reel,.roulette-wheel.is-playing,.coin-object.is-playing{will-change:transform}
.slots-machine:not(.is-spinning) .reel,.roulette-wheel:not(.is-playing),.coin-object:not(.is-playing){will-change:auto}
@media (update:slow){
  .hero-orbit,.case-object>i,.duel-emblem i,.daily-glow,.live-dot{animation:none!important}
  .topbar,.category-rail,.drawer,.drawer-backdrop{backdrop-filter:none!important}
}
@media (max-width:620px){
  .toast-stack{top:calc(max(10px,env(safe-area-inset-top)) + 112px);right:8px;left:8px;width:auto}
  .xp-flyout{top:calc(max(10px,env(safe-area-inset-top)) + 58px);right:8px;bottom:auto;width:min(224px,calc(100vw - 16px))}
  .case-showcase{grid-template-columns:repeat(2,minmax(0,1fr))}.case-card{min-height:146px}
  .achievement-groups{grid-template-columns:1fr}.leaderboard-podium{grid-template-columns:1fr}.podium-card{grid-template-columns:28px 42px minmax(0,1fr) auto}.podium-card>b{grid-column:auto;text-align:right}
  .profile-shortcuts{grid-template-columns:1fr}.arcade-action-dock{grid-template-columns:repeat(2,minmax(0,1fr))}.arcade-action-dock .action-choice:nth-last-child(3):first-child{grid-column:1/-1}
  .duel-turn-controls{grid-template-columns:1fr}.duel-turn-button.wide{grid-column:auto}
  .page-heading p,.hero p,.duel-hero p,.reward-hero p,.game-card p{font-size:13px}
}
@media (max-width:390px){
  .leaderboard-hero h1{font-size:32px}.leaderboard-promo>b{display:none}.achievement-tier{height:48px}.achievement-tier small{font-size:7px}
  .toast{min-height:53px;padding:9px}.toast-copy{font-size:12px}.launch-intro h2{font-size:20px}
}
@media (prefers-reduced-motion:reduce){
  .roulette-wheel{transition-duration:.2s!important}
  .launch-mark strong,.launch-progress b,.xp-flyout,.xp-flyout>strong,.case-card.selected .case-object,.case-object>i,.case-opening.is-opening .case-stage-light,.tower-row.current .tower-platform:not(:disabled),button.achievement-tier.unlocked,.win-cinematic,.win-cinematic *,.loss-cinematic{animation-duration:.01ms;animation-iteration-count:1}
}

/* Tester Games v8 — live rooms, compact navigation and isolated result UI */
@view-transition{navigation:auto}
.top-actions>.balance-pill{display:none!important}
.drawer{width:min(94vw,410px);gap:10px;padding-right:12px;padding-left:12px}
.drawer-head{display:grid;grid-template-columns:minmax(0,1fr) auto 42px;gap:8px;padding:0 4px}
.drawer-head .brand{min-width:0}
.drawer-balance{display:grid;min-width:104px;justify-items:end;padding:7px 10px;border:1px solid rgba(200,255,74,.22);border-radius:12px;background:rgba(200,255,74,.055)}
.drawer-balance small{color:var(--muted);font-size:9px}.drawer-balance strong{margin-top:1px;color:var(--lime);font-size:14px}
.drawer-game-grid{min-height:0;flex:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:2px 2px 8px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#343d45 transparent}
.drawer-game-grid .drawer-link{min-height:48px;padding:9px 11px;border:1px solid rgba(255,255,255,.055);background:rgba(255,255,255,.022);font-size:12px}
.drawer-game-grid .drawer-link:active{border-color:rgba(200,255,74,.28);background:rgba(200,255,74,.07)}
.drawer-game-grid .ui-icon,.drawer-footer-nav .ui-icon{color:#aeb9c3}
.drawer-game-grid .drawer-link:first-child{position:sticky;z-index:2;top:0;border-color:rgba(128,104,255,.22);background:#171923}
.drawer-footer-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding-top:8px;border-top:1px solid var(--line)}
.drawer-footer-nav .drawer-link{display:grid;min-width:0;justify-items:center;gap:4px;padding:8px 3px;border-radius:11px;background:rgba(255,255,255,.025);font-size:9px;text-align:center}
.drawer-footer-nav .drawer-link>span:first-child{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawer-footer-nav .drawer-link>span:last-child{order:-1}
.drawer .sound-card{margin:0;padding:10px 12px}.drawer .sound-card label{margin-top:8px}

/* Profile: all identity data stays to the right of the avatar. */
.profile-card-v4{display:grid;grid-template-columns:82px minmax(0,1fr);align-items:start;gap:16px;padding:22px}
.profile-card-v4 .profile-avatar-large{grid-column:1;width:78px;height:78px;border-radius:24px}
.profile-identity{grid-column:2;min-width:0}.profile-card-v4 .profile-name{margin:7px 0 3px;font-size:24px}
.profile-card-v4 .profile-level{display:inline-flex;margin:0}.profile-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}
.profile-meta span{padding:6px 8px;border:1px solid var(--line);border-radius:9px;color:var(--muted);font-size:9px}.profile-meta b{color:#dfe6eb}
.profile-card-v4 .profile-shortcuts,.profile-card-v4 .admin-entry{grid-column:1/-1}

/* Result amount belongs to the game screen instead of the toast feed. */
.round-result-overlay{position:fixed;z-index:880;top:calc(max(10px,env(safe-area-inset-top)) + 76px);left:50%;display:grid;width:min(470px,calc(100vw - 24px));grid-template-columns:58px minmax(0,1fr);align-items:center;gap:14px;padding:15px 17px;border:1px solid rgba(255,255,255,.14);border-radius:22px;background:linear-gradient(145deg,rgba(16,22,27,.985),rgba(8,11,14,.985));box-shadow:0 22px 70px rgba(0,0,0,.58);opacity:0;transform:translate3d(-50%,-18px,0) scale(.94);transition:opacity .3s ease,transform .42s cubic-bezier(.16,.8,.2,1);pointer-events:none;contain:layout paint}
.round-result-overlay.visible{opacity:1;transform:translate3d(-50%,0,0) scale(1)}
.round-result-overlay>i{display:grid;width:56px;height:56px;place-items:center;border:1px solid currentColor;border-radius:18px;background:rgba(255,255,255,.035)}.round-result-overlay>i .ui-icon{width:28px;height:28px}
.round-result-overlay>span{display:grid;min-width:0;gap:2px}.round-result-overlay small{font-size:10px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.round-result-overlay strong{overflow:hidden;font-size:24px;letter-spacing:-.035em;text-overflow:ellipsis;white-space:nowrap}.round-result-overlay b{color:var(--muted);font-size:11px}
.round-result-overlay.won{border-color:rgba(113,233,155,.42);color:#99ffc0;box-shadow:0 22px 70px rgba(0,0,0,.58),0 0 34px rgba(113,233,155,.1)}
.round-result-overlay.lost{border-color:rgba(255,91,103,.42);color:#ff929b}.round-result-overlay.neutral{border-color:rgba(80,217,255,.35);color:#83e8ff}

/* Daily quest and daily game modifier. */
.daily-quest-track{width:100%;height:5px;margin-top:8px;overflow:hidden;border-radius:99px;background:#080b0e}.daily-quest-track i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--violet),var(--lime));transition:width .45s ease}
.daily-card [data-daily-progress-copy]{display:block;margin-top:4px;color:var(--lime);font-size:9px}
.daily-modifier{display:flex;align-items:center;gap:10px;margin:-8px 0 15px;padding:10px 12px;border:1px solid rgba(128,104,255,.25);border-radius:14px;background:linear-gradient(120deg,rgba(128,104,255,.1),rgba(80,217,255,.035));color:#d9d2ff}
.daily-modifier .ui-icon{width:20px;height:20px}.daily-modifier span{display:grid}.daily-modifier strong{font-size:11px}.daily-modifier small{margin-top:2px;color:var(--muted);font-size:9px}
.diagnostics-panel{padding:17px}.diagnostics-panel .section-head{margin:0 0 12px}.diagnostics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.diagnostics-grid article{display:grid;min-height:104px;align-content:center;padding:13px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(145deg,var(--surface-2),#0d1115)}.diagnostics-grid article>span{color:var(--muted);font-size:9px}.diagnostics-grid article>strong{margin:6px 0;color:var(--lime);font-size:20px;overflow:hidden;text-overflow:ellipsis}.diagnostics-grid article>small{overflow:hidden;color:#86919b;font-size:8px;line-height:1.4;text-overflow:ellipsis}.diagnostics-grid>.admin-loading{grid-column:1/-1}

/* Global live Crash room. Only composited transforms/opacity change during flight. */
.crash-shell{width:min(100%,820px)}.crash-live-head{display:flex;align-items:end;justify-content:space-between;gap:14px;margin:8px 2px 13px}.crash-live-head h1{margin:4px 0 0;font-size:38px;letter-spacing:-.055em}
.crash-online{display:flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid rgba(113,233,155,.2);border-radius:999px;color:#b9c3cc;font-size:10px}.crash-online i{width:7px;height:7px;border-radius:50%;background:var(--success);box-shadow:0 0 10px var(--success);animation:live-pulse 1.4s infinite}
.crash-history{display:flex;gap:6px;margin:0 0 9px;overflow-x:auto;scrollbar-width:none}.crash-history span{flex:0 0 auto;padding:5px 8px;border-radius:8px;background:#161c21;color:#aab4bd;font-size:10px;font-weight:850}.crash-history .high{color:var(--cyan)}.crash-history .legendary{color:var(--lime);box-shadow:inset 0 0 0 1px rgba(200,255,74,.18)}.crash-history .instant{color:#ff7e88}
.crash-flight{position:relative;min-height:430px;overflow:hidden;isolation:isolate;background:#62cfff;contain:layout paint}
.crash-world,.crash-world>div{position:absolute;inset:-2%;will-change:transform,opacity}.crash-world{background:linear-gradient(#46b8ff 0%,#9fe4ff 56%,#e7c695 82%,#4a622c 83%);transform:translate3d(0,calc(var(--flight,0) * 34%),0) scale(calc(1 + var(--flight,0) * .12));transition:background .7s ease}
.crash-fx-canvas{position:absolute;z-index:2;inset:0;width:100%;height:100%;pointer-events:none}
.ground-layer{top:78%!important;background:linear-gradient(165deg,transparent 0 14%,#607838 15% 24%,#2c3b21 25%);filter:drop-shadow(0 -10px 18px rgba(0,0,0,.2))}
.cloud-layer{opacity:calc(.86 - var(--flight,0) * .55);background:radial-gradient(ellipse at 20% 42%,#fff 0 8%,transparent 9%),radial-gradient(ellipse at 32% 43%,#eaf8ff 0 11%,transparent 12%),radial-gradient(ellipse at 74% 27%,#fff 0 8%,transparent 9%),radial-gradient(ellipse at 83% 28%,#eaf8ff 0 11%,transparent 12%);animation:cloud-drift 12s linear infinite}.cloud-layer.two{opacity:calc(.5 - var(--flight,0) * .35);transform:scale(.72) translate3d(28%,-11%,0);animation-duration:18s}
.space-layer{background:radial-gradient(circle at 72% 18%,rgba(119,87,255,.3),transparent 20%),linear-gradient(#03040b,#080b1b);opacity:0;transition:opacity .9s ease}.crash-flight.space .space-layer{opacity:1}
.star-field{opacity:0;background-image:radial-gradient(circle,#fff 0 1px,transparent 1.5px),radial-gradient(circle,#91ecff 0 1px,transparent 1.5px);background-position:0 0,31px 19px;background-size:52px 52px,79px 79px;transition:opacity .8s ease;animation:stars-fall calc(4s - var(--speed,0) * 2.8s) linear infinite}.crash-flight.space .star-field{opacity:.78}.crash-flight.deep-space .star-field{opacity:1;filter:drop-shadow(0 0 3px #94e9ff)}
.rocket-wrap{position:absolute;z-index:3;left:50%;bottom:calc(8% + var(--flight,0) * 48%);width:72px;height:120px;transform:translate3d(-50%,50%,0) rotate(calc(var(--flight,0) * 34deg)) scale(calc(.88 + var(--flight,0) * .2));transition:bottom .12s linear,transform .18s ease;will-change:bottom,transform}
.crash-flight.waiting .rocket-wrap::after{position:absolute;z-index:-1;right:-24px;bottom:-12px;left:-24px;height:18px;content:"";border-radius:50%;background:radial-gradient(ellipse,rgba(120,137,145,.9),rgba(29,38,43,.9) 45%,transparent 70%);box-shadow:0 8px 18px rgba(0,0,0,.45)}
.crash-flight.waiting .rocket-trail{opacity:0;transform:scaleY(.2)}.crash-flight.ignition .rocket-trail{opacity:.9;transform:scaleY(.75);animation:rocket-flame .12s ease-in-out infinite alternate}.crash-flight.flying .rocket-trail{opacity:1}
.crash-dual-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.crash-bet-card{display:grid;gap:9px;padding:13px}.crash-bet-card>label{color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase}.crash-bet-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.crash-bet-line .primary-button{min-width:104px;padding:0 13px}.crash-bet-card>.secondary-button{min-height:42px}.crash-bet-card>small{color:var(--muted);font-size:9px}
@media(max-width:560px){.crash-dual-controls{gap:7px}.crash-bet-card{padding:9px}.crash-bet-line{grid-template-columns:1fr}.crash-bet-line .primary-button{min-width:0;min-height:42px}.crash-bet-card .money-input input{min-height:42px}}
.rocket-body{position:absolute;z-index:2;top:0;left:19px;width:34px;height:78px;border:2px solid rgba(255,255,255,.72);border-radius:50% 50% 28% 28%;background:linear-gradient(90deg,#c6d0d7,#fff 48%,#9ba8b2);box-shadow:0 0 24px rgba(255,255,255,.35)}.rocket-body::before{position:absolute;top:24px;left:9px;width:12px;height:12px;content:"";border:2px solid #233e54;border-radius:50%;background:#57d9ff;box-shadow:0 0 12px #57d9ff}.rocket-body::after{position:absolute;right:-10px;bottom:2px;left:-10px;height:24px;content:"";background:linear-gradient(135deg,transparent 49%,#ff5b67 50%) left/50% 100% no-repeat,linear-gradient(225deg,transparent 49%,#ff5b67 50%) right/50% 100% no-repeat}
.rocket-trail{position:absolute;top:78px;left:27px;width:18px;height:calc(55px + var(--speed,0) * 64px);border-radius:50%;background:linear-gradient(#fff,#50d9ff 20%,#895dff 55%,transparent);filter:blur(2px) drop-shadow(0 0 11px #50d9ff);transform-origin:top;animation:rocket-flame .14s ease-in-out infinite alternate}
.rocket-burst{position:absolute;top:38px;left:35px;width:4px;height:4px;border-radius:50%;opacity:0;box-shadow:0 0 50px 25px #ffcf62}.crash-flight.rocket-exploded .rocket-burst{animation:rocket-burst 1.25s ease-out}.crash-flight.rocket-exploded .rocket-body{animation:rocket-break .8s cubic-bezier(.2,.7,.2,1) both}
.crash-flight .crash-readout{position:relative;z-index:5;display:grid;min-height:430px;place-content:start center;padding-top:55px;text-align:center;pointer-events:none}.crash-flight .crash-readout strong{margin:5px 0;color:#fff;font-size:clamp(48px,12vw,82px);text-shadow:0 3px 22px rgba(0,0,0,.34)}.crash-flight .crash-readout span,.crash-flight .crash-readout small{color:rgba(255,255,255,.88);text-shadow:0 2px 8px rgba(0,0,0,.36)}
.crash-flight.result-win::after,.crash-flight.result-loss::after{position:absolute;z-index:8;inset:0;content:"";pointer-events:none;animation:crash-result-flash 1.15s ease-out both}.crash-flight.result-win::after{background:rgba(54,255,137,.3)}.crash-flight.result-loss::after{background:rgba(255,36,58,.32)}
.crash-controls{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(220px,.85fr);gap:15px;margin-top:11px;padding:15px}.crash-bet-control>label{display:block;margin-bottom:8px;color:var(--muted);font-size:10px}.crash-bet-control>small{display:block;margin-top:8px;color:#b6c1ca;font-size:10px}.crash-actions{display:grid;align-content:center;gap:8px}.cashout-pulse:not(:disabled){border-color:rgba(113,233,155,.42);color:#a6ffc6;animation:cashout-pulse 1s ease-in-out infinite}
.crash-bets{display:grid;gap:1px;margin:11px 0 90px;padding:5px 13px;overflow:hidden}.crash-bet-row{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 0;border-bottom:1px solid var(--line)}.crash-bet-row:last-child{border-bottom:0}.crash-bet-row>i{display:grid;width:34px;height:34px;place-items:center;border-radius:11px;background:rgba(255,255,255,.05);font-size:10px;font-style:normal}.crash-bet-row span strong,.crash-bet-row span small{display:block}.crash-bet-row span strong{font-size:11px}.crash-bet-row span small{margin-top:2px;color:var(--muted);font-size:9px}.crash-bet-row>b{font-size:11px}.crash-bet-row.cashed_out>b{color:var(--success)}.crash-bet-row.lost{opacity:.62}.crash-bets-empty{padding:16px;color:var(--muted);font-size:11px;text-align:center}
@keyframes cloud-drift{to{transform:translate3d(-18%,4%,0)}}@keyframes stars-fall{to{background-position:0 120px,31px 170px}}@keyframes rocket-flame{to{transform:scaleY(1.17);filter:blur(3px) drop-shadow(0 0 15px #50d9ff)}}@keyframes rocket-burst{0%{opacity:0;transform:scale(.1)}15%{opacity:1}100%{opacity:0;transform:scale(22)}}@keyframes rocket-break{40%{opacity:1;transform:rotate(19deg) scale(1.18)}100%{opacity:0;transform:translate3d(40px,48px,0) rotate(110deg) scale(.5)}}@keyframes crash-result-flash{0%,100%{opacity:0}18%,48%{opacity:1}}@keyframes cashout-pulse{50%{box-shadow:0 0 25px rgba(113,233,155,.15);transform:translateY(-1px)}}


/* Low quality keeps all game information but removes nonessential GPU work. */
html[data-quality="medium"] .cloud-layer.two,html[data-quality="low"] .cloud-layer.two,html[data-quality="low"] .star-field{display:none}
html[data-quality="low"] .cloud-layer,html[data-quality="low"] .rocket-trail{animation:none}
html[data-quality="low"] .crash-world{backdrop-filter:none;filter:none}
@media(max-width:620px){
  .profile-card-v4{grid-template-columns:68px minmax(0,1fr);gap:12px;padding:17px}.profile-card-v4 .profile-avatar-large{width:66px;height:66px}.profile-card-v4 .profile-name{font-size:20px}.profile-meta{gap:4px}.profile-meta span{font-size:8px}
  .round-result-overlay{top:calc(max(8px,env(safe-area-inset-top)) + 62px);grid-template-columns:49px minmax(0,1fr);gap:10px;padding:12px}.round-result-overlay>i{width:47px;height:47px}.round-result-overlay strong{font-size:20px}
  .crash-live-head h1{font-size:32px}.crash-flight,.crash-flight .crash-readout{min-height:380px}.crash-controls{grid-template-columns:1fr}.crash-actions{grid-template-columns:1fr 1fr}.rocket-wrap{transform:translate3d(-50%,50%,0) rotate(38deg) scale(calc(.72 + var(--flight,0) * .2))}
  .drawer .sound-card{display:none}
  .diagnostics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:390px){
  .drawer{width:96vw}.drawer-head{grid-template-columns:minmax(0,1fr) auto 38px}.drawer-head .brand>span:last-child{display:none}.drawer-balance{min-width:96px}
  .drawer-game-grid .drawer-link{min-height:44px;padding:7px 9px;font-size:11px}.drawer-footer-nav .drawer-link{font-size:8px}
  .crash-flight,.crash-flight .crash-readout{min-height:340px}.crash-flight .crash-readout{padding-top:43px}.crash-actions{grid-template-columns:1fr}.rocket-wrap{width:60px}
}
@media(prefers-reduced-motion:reduce){
  .cloud-layer,.star-field,.rocket-trail,.crash-online i,.cashout-pulse:not(:disabled){animation-duration:.01ms;animation-iteration-count:1}
}
/* Compact interactive slots */
.slots-compact-controls{display:grid;grid-template-columns:minmax(0,1fr) 64px;gap:10px;align-items:stretch}
.slots-spin-square{width:64px;min-height:58px;padding:0;display:grid;place-items:center;border-radius:16px}
.slots-spin-square svg{width:28px;height:28px;fill:currentColor;transition:transform .2s ease}
.slots-spin-square.stop-mode svg{transform:scale(.72)}
.slots-spin-square.stop-mode svg path{d:path("M6 6h12v12H6z")}
.slots-machine.is-spinning .reel{animation:slot-reel-depth .16s linear infinite;will-change:transform,filter}
@keyframes slot-reel-depth{0%{transform:translate3d(0,-9px,0) rotateX(-12deg);filter:blur(1.4px)}50%{transform:translate3d(0,9px,0) rotateX(12deg);filter:blur(2.5px)}100%{transform:translate3d(0,-9px,0) rotateX(-12deg);filter:blur(1.4px)}}

/* One Banana */
.banana-machine{position:relative;overflow:hidden;padding:14px;background:radial-gradient(circle at 50% -10%,rgba(255,218,74,.22),transparent 40%),linear-gradient(180deg,#182416,#0b100c)}
.banana-sky{display:flex;align-items:center;justify-content:center;gap:8px;padding:2px 0 12px;color:#fff6b7;letter-spacing:.18em;font-size:12px}
.banana-sky strong{font-size:20px;color:#ffd84a}.banana-sky i{font-style:normal;font-size:26px;filter:drop-shadow(0 0 12px #ffd84a)}
.banana-board{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:3px;aspect-ratio:1;border-radius:18px;padding:7px;background:rgba(2,5,3,.55);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.banana-board i{display:grid;place-items:center;min-width:0;border-radius:7px;background:linear-gradient(145deg,rgba(255,255,255,.1),rgba(255,255,255,.025));font-style:normal;font-size:clamp(15px,5.1vw,27px);transform:translate3d(0,-115%,0);opacity:0;animation:banana-drop .36s cubic-bezier(.15,.82,.25,1) forwards;animation-delay:calc((var(--row,0) * 18ms) + (var(--column,0) * 5ms))}
.banana-board i.winning{background:radial-gradient(circle,rgba(255,224,72,.48),rgba(255,190,30,.1));box-shadow:inset 0 0 0 1px rgba(255,226,90,.5);animation-name:banana-drop,banana-pulse;animation-duration:.36s,1s;animation-delay:calc((var(--row,0) * 18ms) + (var(--column,0) * 5ms)),.5s;animation-iteration-count:1,infinite}
@keyframes banana-drop{70%{opacity:1;transform:translate3d(0,8%,0)}100%{opacity:1;transform:translate3d(0,0,0)}}
@keyframes banana-pulse{50%{transform:scale(1.12);filter:drop-shadow(0 0 8px #ffd94d)}}
.banana-result{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 5px 2px;text-align:center}.banana-result strong{font-size:19px}.banana-result span{color:var(--muted);font-size:13px}
.banana-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(140px,.8fr);gap:10px;align-items:stretch}.banana-controls .primary-button{margin:0}
.banana-win{animation:banana-machine-win .6s ease}@keyframes banana-machine-win{40%{box-shadow:inset 0 0 70px rgba(255,215,52,.35),0 0 32px rgba(255,198,30,.2)}}
@media(max-width:420px){.banana-machine{padding:9px}.banana-board{gap:2px;padding:5px}.banana-controls{grid-template-columns:1fr 130px}.banana-controls .primary-button{padding-inline:10px}}
@media(prefers-reduced-motion:reduce){.banana-board i,.banana-board i.winning,.slots-machine.is-spinning .reel{animation:none;transform:none;opacity:1}}

/* Global game-speed control and adaptive rendering */
.game-mode-card{display:grid;gap:9px;margin-top:10px;padding:12px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.025)}
.game-mode-card>span{display:flex;align-items:center;justify-content:space-between;gap:10px}.game-mode-card strong{font-size:11px}.game-mode-card small{color:var(--muted);font-size:8px}
.game-mode-card>div{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:3px;border-radius:12px;background:#090c0f}.game-mode-card button{min-height:38px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-size:10px;font-weight:850;cursor:pointer}.game-mode-card button.active{background:linear-gradient(135deg,var(--lime),#87df2e);box-shadow:0 5px 16px rgba(168,240,0,.18);color:#101608}
.app-paused *{animation-play-state:paused!important}.app-paused .fx-canvas{display:none}
.games-grid,.achievement-groups,.history-list,.users-list{content-visibility:auto;contain-intrinsic-size:800px}
html[data-quality="low"] .game-card,html[data-quality="low"] .panel,html[data-quality="low"] .drawer{box-shadow:none}
html[data-quality="low"] .drawer,html[data-quality="low"] .topbar,html[data-quality="low"] .category-rail{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
html[data-quality="low"] .game-art::before,html[data-quality="low"] .game-art::after{animation:none!important}
.instant-mode .case-reel,.instant-mode .reel,.instant-mode .coin-object,.instant-mode .roulette-wheel,.instant-mode .mine-cell{transition-duration:.08s!important}
.instant-mode .round-result-overlay{transition-duration:.12s!important}
.instant-mode .win-cinematic{display:none!important}

/* One Banana staged cascade and server multiplier scan */
.banana-board{position:relative;contain:layout paint;isolation:isolate}
.banana-board .banana-cell{animation:none;opacity:0;transform:translate3d(0,-28px,0) scale(.9);transition:opacity .18s ease,transform .34s cubic-bezier(.15,.84,.22,1),background .2s,box-shadow .2s,filter .2s}
.banana-board .banana-cell.visible{opacity:1;transform:translate3d(0,0,0) scale(1)}
.banana-board .banana-cell.checking{z-index:2;background:rgba(80,217,255,.2);box-shadow:inset 0 0 0 2px rgba(80,217,255,.75),0 0 13px rgba(80,217,255,.45);filter:brightness(1.25);transform:scale(1.09)}
.banana-board .banana-cell.winning{z-index:2;animation:banana-found 1.1s ease-in-out infinite;background:radial-gradient(circle,rgba(255,224,72,.52),rgba(255,190,30,.1));box-shadow:inset 0 0 0 1px rgba(255,226,90,.65),0 0 10px rgba(255,210,50,.28)}
.banana-board::after{position:absolute;z-index:4;top:0;bottom:0;left:0;width:22%;content:"";opacity:0;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(80,217,255,.24),transparent);filter:blur(2px);transform:translateX(-120%)}
.banana-scanning .banana-board::after{opacity:1;animation:banana-scan .72s ease-in-out infinite}
.banana-cluster-label{position:absolute;z-index:8;padding:5px 7px;border:1px solid rgba(255,239,132,.7);border-radius:999px;background:#17200c;box-shadow:0 5px 18px rgba(0,0,0,.5),0 0 16px rgba(255,221,70,.35);color:#ffe45e;font-size:10px;line-height:1;pointer-events:none;transform:translate(-50%,-50%);animation:banana-label-in .5s cubic-bezier(.16,.9,.22,1) both}
@keyframes banana-scan{to{transform:translateX(570%)}}
@keyframes banana-found{50%{transform:scale(1.1);filter:brightness(1.16) drop-shadow(0 0 6px #ffd94d)}}
@keyframes banana-label-in{0%{opacity:0;transform:translate(-50%,0) scale(.45)}65%{opacity:1;transform:translate(-50%,-62%) scale(1.18)}100%{opacity:1;transform:translate(-50%,-50%) scale(1)}}
.instant-mode .banana-board .banana-cell{transition-duration:.03s!important}.instant-mode .banana-board .banana-cell.winning{animation-duration:.5s}.instant-mode .banana-scanning .banana-board::after{animation-duration:.18s}

/* Compositor-only result choreography: rich on capable devices, cheap everywhere else. */
html:not(.instant-mode) .round-result-overlay::before,
html:not(.instant-mode) .round-result-overlay::after{position:absolute;inset:50% auto auto:29px;width:54px;height:54px;border-radius:50%;content:"";pointer-events:none}
html:not(.instant-mode) .round-result-overlay.visible::before{border:1px solid currentColor;animation:result-ring 1.15s cubic-bezier(.16,.8,.2,1) both}
html:not(.instant-mode) .round-result-overlay.won.visible::after{background:radial-gradient(circle,rgba(153,255,192,.42),transparent 67%);animation:result-glow 1.4s ease-out both}
html:not(.instant-mode) .round-result-overlay.won.visible>i{animation:result-icon-win .72s cubic-bezier(.16,1.35,.3,1) both}
html:not(.instant-mode) .round-result-overlay.lost.visible>i{animation:result-icon-loss .38s ease both}
@keyframes result-ring{0%{opacity:.8;transform:translate(-50%,-50%) scale(.55)}70%,100%{opacity:0;transform:translate(-50%,-50%) scale(2.25)}}
@keyframes result-glow{0%{opacity:.8;transform:translate(-50%,-50%) scale(.35)}100%{opacity:0;transform:translate(-50%,-50%) scale(3)}}
@keyframes result-icon-win{0%{opacity:.3;transform:scale(.55) rotate(-10deg)}65%{transform:scale(1.14) rotate(3deg)}100%{opacity:1;transform:scale(1) rotate(0)}}
@keyframes result-icon-loss{25%{transform:translateX(-3px)}50%{transform:translateX(3px)}75%{transform:translateX(-2px)}}
@media (prefers-reduced-motion:reduce){.round-result-overlay::before,.round-result-overlay::after{display:none!important}.round-result-overlay>i{animation:none!important}}
html[data-quality="low"] .banana-board .banana-cell.winning{animation:none;filter:none}html[data-quality="low"] .banana-board::after{filter:none}
