:root {
  --bg: #05071a;
  --bg-soft: #0a0d25;
  --panel: rgba(15, 18, 52, 0.82);
  --panel-solid: #101536;
  --panel-light: #161c46;
  --line: rgba(142, 155, 255, 0.18);
  --line-strong: rgba(126, 93, 255, 0.55);
  --text: #f6f7ff;
  --muted: #a9b2d4;
  --blue: #25b8ff;
  --blue-dark: #1378ff;
  --purple: #8a55ff;
  --purple-bright: #bc5cff;
  --pink: #ef69ff;
  --green: #42e6a4;
  --gold: #ffd66e;
  --danger: #ff668a;
  --shadow: 0 24px 80px rgba(0, 0, 0, 0.42);
  --radius: 22px;
  --radius-sm: 14px;
  --content: 1240px;
}

* { box-sizing: border-box; }
html { color-scheme: dark; scroll-behavior: smooth; }
body {
  margin: 0;
  min-height: 100vh;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--text);
  background:
    radial-gradient(circle at 12% 8%, rgba(34, 148, 255, .16), transparent 32rem),
    radial-gradient(circle at 86% 14%, rgba(151, 61, 255, .18), transparent 34rem),
    radial-gradient(circle at 50% 105%, rgba(49, 22, 154, .32), transparent 45rem),
    var(--bg);
  overflow-x: hidden;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background-image: linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
  background-size: 46px 46px;
  mask-image: linear-gradient(to bottom, black, transparent 78%);
  z-index: -1;
}
button, input, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button { border: 0; }
.hidden { display: none !important; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  border-bottom: 1px solid rgba(134, 145, 255, .12);
  background: rgba(5, 7, 26, .78);
  backdrop-filter: blur(18px);
}
.header-inner {
  width: min(calc(100% - 36px), var(--content));
  min-height: 76px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 22px;
}
.brand { display: flex; align-items: center; flex: 0 0 auto; }
.brand img { width: 230px; max-height: 64px; object-fit: contain; object-position: left center; }
.main-nav { display: flex; align-items: center; gap: 8px; margin-left: 12px; }
.nav-link { padding: 11px 14px; color: var(--muted); border-radius: 12px; font-size: .95rem; font-weight: 700; transition: .2s ease; }
.nav-link:hover, .nav-link.active { color: white; background: rgba(112, 112, 255, .11); }
.header-actions { margin-left: auto; display: flex; align-items: center; gap: 10px; }
.chip-pill {
  min-height: 44px;
  padding: 7px 14px 7px 8px;
  border-radius: 999px;
  display: flex;
  align-items: center;
  gap: 9px;
  font-weight: 900;
  color: #fff5c4;
  border: 1px solid rgba(255, 215, 102, .27);
  background: linear-gradient(180deg, rgba(76, 55, 19, .78), rgba(29, 23, 14, .8));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}
.chip-icon { width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; background: linear-gradient(145deg, #fff3a5, #ffa91f); color: #552a00; box-shadow: 0 0 18px rgba(255,190,45,.35); font-size: .95rem; }
.user-menu { position: relative; }
.user-button { min-height: 44px; padding: 0 14px; border-radius: 13px; background: rgba(117, 92, 255, .14); color: white; border: 1px solid rgba(125, 102, 255, .26); cursor: pointer; font-weight: 800; }
.user-dropdown { position: absolute; top: calc(100% + 10px); right: 0; width: 190px; padding: 8px; border: 1px solid var(--line); background: rgba(12, 15, 43, .97); border-radius: 15px; box-shadow: var(--shadow); }
.user-dropdown a, .user-dropdown button { width: 100%; display: block; padding: 11px 12px; border-radius: 10px; text-align: left; color: var(--muted); background: transparent; cursor: pointer; }
.user-dropdown a:hover, .user-dropdown button:hover { background: rgba(126, 93, 255, .14); color: white; }
.mobile-menu-button { display: none; width: 42px; height: 42px; border-radius: 12px; color: white; background: rgba(255,255,255,.07); cursor: pointer; }

.btn {
  min-height: 46px;
  padding: 0 20px;
  border-radius: 13px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  font-weight: 900;
  cursor: pointer;
  color: white;
  transition: transform .18s ease, filter .18s ease, opacity .18s ease;
}
.btn:hover { transform: translateY(-2px); filter: brightness(1.08); }
.btn:active { transform: translateY(0); }
.btn:disabled { opacity: .48; cursor: not-allowed; transform: none; filter: none; }
.btn-primary { background: linear-gradient(135deg, #1d9fff, #8254ff 55%, #bf55ff); box-shadow: 0 12px 30px rgba(97, 76, 255, .3), inset 0 1px 0 rgba(255,255,255,.25); }
.btn-secondary { background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.12); }
.btn-gold { color: #3c2600; background: linear-gradient(135deg, #fff3a2, #ffc43c 65%, #ff9d18); box-shadow: 0 12px 30px rgba(255,174,32,.22); }
.btn-small { min-height: 40px; padding: 0 15px; font-size: .9rem; }
.btn-wide { width: 100%; }

.page { width: min(calc(100% - 36px), var(--content)); margin: 0 auto; }
.hero { min-height: 560px; padding: 76px 0 58px; display: grid; grid-template-columns: 1.08fr .92fr; align-items: center; gap: 60px; }
.hero-eyebrow { display: inline-flex; align-items: center; gap: 8px; padding: 8px 12px; border-radius: 999px; border: 1px solid rgba(68, 187, 255, .25); background: rgba(38, 116, 217, .1); color: #aadfff; font-size: .78rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.hero h1 { margin: 20px 0 18px; max-width: 780px; font-size: clamp(2.75rem, 5.7vw, 5.6rem); line-height: .96; letter-spacing: -.055em; }
.gradient-text { background: linear-gradient(100deg, #8ce8ff, #5fa4ff 30%, #a36cff 62%, #f28bff); -webkit-background-clip: text; background-clip: text; color: transparent; }
.hero-copy { max-width: 680px; margin: 0; color: var(--muted); font-size: clamp(1.05rem, 1.8vw, 1.25rem); line-height: 1.7; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.hero-note { display: flex; align-items: center; gap: 9px; margin-top: 18px; color: #8f99bd; font-size: .88rem; }
.hero-note strong { color: #d6dcf5; }

.hero-machine { position: relative; min-height: 430px; display: grid; place-items: center; }
.hero-machine::before { content: ""; position: absolute; width: 82%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(130,65,255,.35), rgba(24,148,255,.14) 40%, transparent 70%); filter: blur(12px); animation: pulseGlow 4s ease-in-out infinite; }
.machine-card { position: relative; width: min(100%, 520px); border-radius: 32px; padding: 16px; background: linear-gradient(145deg, rgba(34,42,94,.95), rgba(8,10,33,.98)); border: 1px solid rgba(142,121,255,.38); box-shadow: 0 35px 90px rgba(0,0,0,.55), 0 0 70px rgba(72,76,255,.16), inset 0 1px 0 rgba(255,255,255,.12); transform: perspective(1200px) rotateY(-7deg) rotateX(2deg); }
.machine-card::before { content: ""; position: absolute; inset: -2px; z-index: -1; border-radius: inherit; background: linear-gradient(130deg, rgba(38,190,255,.8), transparent 35%, transparent 65%, rgba(188,85,255,.9)); filter: blur(10px); opacity: .48; }
.machine-screen { min-height: 300px; border-radius: 24px; background: radial-gradient(circle at 50% 0, rgba(83,46,220,.4), transparent 55%), #070a25; border: 1px solid rgba(95,157,255,.25); padding: 22px; overflow: hidden; }
.machine-mini-logo { width: 72%; margin: 0 auto 12px; }
.machine-reels { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.mini-reel { min-height: 142px; padding: 8px; border-radius: 14px; background: linear-gradient(#f7fbff, #c4d4ff); display: grid; place-items: center; box-shadow: inset 0 0 25px rgba(43,42,107,.28); }
.mini-reel img { width: 100%; filter: drop-shadow(0 8px 10px rgba(23,12,77,.25)); }
.machine-footer { margin-top: 13px; display: flex; align-items: center; gap: 12px; }
.machine-balance { flex: 1; height: 48px; border-radius: 14px; padding: 0 16px; display: flex; align-items: center; justify-content: space-between; color: var(--muted); background: rgba(0,0,0,.25); border: 1px solid rgba(255,255,255,.07); }
.machine-balance strong { color: var(--gold); }
.machine-spin { width: 62px; height: 62px; border-radius: 50%; display: grid; place-items: center; font-size: 1.6rem; background: linear-gradient(145deg, #ffe67a, #ff9f15); color: #442100; box-shadow: 0 0 28px rgba(255,181,34,.35), inset 0 2px 0 rgba(255,255,255,.5); }
@keyframes pulseGlow { 0%,100% { transform: scale(.94); opacity: .7; } 50% { transform: scale(1.06); opacity: 1; } }

.stats-strip { margin: 6px 0 70px; display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid var(--line); background: rgba(13,16,46,.58); border-radius: var(--radius); overflow: hidden; }
.stat { padding: 24px; text-align: center; border-right: 1px solid var(--line); }
.stat:last-child { border-right: 0; }
.stat strong { display: block; font-size: 1.45rem; }
.stat span { color: var(--muted); font-size: .87rem; }

.section { padding: 22px 0 78px; }
.section-head { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 26px; }
.section-kicker { color: #8dcfff; text-transform: uppercase; letter-spacing: .13em; font-size: .74rem; font-weight: 900; }
.section h2 { margin: 7px 0 0; font-size: clamp(2rem, 3.6vw, 3rem); letter-spacing: -.035em; }
.section-description { max-width: 590px; color: var(--muted); line-height: 1.6; }
.game-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.game-card { position: relative; min-height: 285px; overflow: hidden; border-radius: 22px; border: 1px solid var(--line); background: #121638; box-shadow: 0 18px 55px rgba(0,0,0,.25); transition: transform .23s ease, border-color .23s ease, box-shadow .23s ease; }
.game-card:hover { transform: translateY(-6px); border-color: rgba(116,104,255,.5); box-shadow: 0 25px 65px rgba(0,0,0,.38), 0 0 36px rgba(91,70,255,.11); }
.game-art { position: absolute; inset: 0; background-size: cover; background-position: center; transition: transform .4s ease; }
.game-card:hover .game-art { transform: scale(1.045); }
.game-art::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(5,6,24,.98), rgba(5,6,24,.1) 72%); }
.game-art.placeholder { background:
  radial-gradient(circle at 25% 20%, var(--theme-a, #3d9dff), transparent 28%),
  radial-gradient(circle at 78% 18%, var(--theme-b, #9b4eff), transparent 31%),
  linear-gradient(145deg, #151b48, #080a23 75%); }
.game-art.placeholder::before { content: attr(data-symbol); position: absolute; inset: 0; display: grid; place-items: center; font-size: 6rem; filter: drop-shadow(0 14px 25px rgba(0,0,0,.5)); opacity: .85; }
.game-content { position: absolute; inset: auto 0 0; z-index: 2; padding: 22px; display: flex; align-items: end; justify-content: space-between; gap: 15px; }
.game-title { margin: 0 0 7px; font-size: 1.25rem; }
.game-meta { color: #aeb8db; font-size: .82rem; }
.game-badge { position: absolute; top: 16px; left: 16px; z-index: 3; padding: 7px 10px; border-radius: 999px; background: rgba(10,12,36,.72); border: 1px solid rgba(255,255,255,.16); backdrop-filter: blur(10px); font-size: .73rem; font-weight: 900; text-transform: uppercase; letter-spacing: .06em; }
.game-badge.live { color: #bfffe2; border-color: rgba(66,230,164,.36); background: rgba(14,65,51,.68); }
.play-circle { width: 48px; height: 48px; flex: 0 0 auto; border-radius: 50%; display: grid; place-items: center; background: linear-gradient(145deg, var(--blue), var(--purple)); box-shadow: 0 8px 25px rgba(78,91,255,.4); font-size: 1.15rem; }
.game-card.coming { cursor: default; }
.game-card.coming .game-art { filter: saturate(.72); }
.coming-label { width: max-content; padding: 9px 12px; color: #bec6e7; border-radius: 10px; background: rgba(255,255,255,.08); font-size: .8rem; font-weight: 800; }

.reward-banner { display: grid; grid-template-columns: 1fr auto; gap: 25px; align-items: center; padding: 30px; margin-bottom: 70px; border-radius: 24px; border: 1px solid rgba(255,203,83,.25); background: radial-gradient(circle at 85% 0, rgba(255,190,47,.16), transparent 40%), linear-gradient(135deg, rgba(44,32,19,.92), rgba(15,15,39,.92)); box-shadow: var(--shadow); }
.reward-icon { float: left; width: 64px; height: 64px; margin-right: 18px; display: grid; place-items: center; border-radius: 18px; font-size: 2rem; background: linear-gradient(145deg,#fff1a1,#ffad24); color:#4d2600; box-shadow: 0 12px 30px rgba(255,171,30,.2); }
.reward-banner h3 { margin: 3px 0 7px; font-size: 1.35rem; }
.reward-banner p { margin: 0; color: var(--muted); }

.auth-page { min-height: calc(100vh - 77px); display: grid; place-items: center; padding: 46px 18px; }
.auth-shell { width: min(100%, 1050px); display: grid; grid-template-columns: .9fr 1.1fr; border: 1px solid var(--line); border-radius: 30px; overflow: hidden; background: rgba(11,14,42,.82); box-shadow: var(--shadow); backdrop-filter: blur(16px); }
.auth-visual { min-height: 680px; padding: 50px; display: flex; flex-direction: column; justify-content: space-between; background: radial-gradient(circle at 22% 15%, rgba(45,175,255,.28), transparent 32%), radial-gradient(circle at 82% 80%, rgba(164,76,255,.34), transparent 37%), linear-gradient(145deg,#0d1745,#130b35 70%); border-right: 1px solid var(--line); }
.auth-visual img { width: 90%; }
.auth-visual h2 { max-width: 380px; margin: 24px 0 12px; font-size: 2.5rem; line-height: 1.05; letter-spacing: -.045em; }
.auth-visual p { color: #b8c2e6; line-height: 1.65; }
.welcome-chips { padding: 18px; border: 1px solid rgba(255,206,74,.24); border-radius: 18px; background: rgba(255,186,36,.08); }
.welcome-chips strong { display: block; color: var(--gold); font-size: 1.6rem; }
.auth-card { padding: 48px; }
.auth-card h1 { margin: 0; font-size: 2.2rem; letter-spacing: -.04em; }
.auth-card > p { margin: 10px 0 28px; color: var(--muted); }
.form-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 17px; }
.form-group { display: flex; flex-direction: column; gap: 8px; }
.form-group.full { grid-column: 1 / -1; }
.form-group label { color: #dfe4fa; font-size: .86rem; font-weight: 800; }
.field-wrap { position: relative; }
.form-control { width: 100%; min-height: 51px; padding: 0 15px; color: white; background: rgba(4,7,28,.75); border: 1px solid rgba(143,154,217,.24); border-radius: 13px; outline: none; transition: border-color .2s, box-shadow .2s; }
.form-control:focus { border-color: rgba(75,171,255,.72); box-shadow: 0 0 0 4px rgba(49,140,255,.12); }
.form-control::placeholder { color: #687296; }
select.form-control { appearance: none; background-image: linear-gradient(45deg, transparent 50%, #8791b5 50%), linear-gradient(135deg, #8791b5 50%, transparent 50%); background-position: calc(100% - 20px) 22px, calc(100% - 15px) 22px; background-size: 5px 5px; background-repeat: no-repeat; padding-right: 36px; }
.password-toggle { position: absolute; right: 9px; top: 50%; transform: translateY(-50%); padding: 8px; border-radius: 8px; background: transparent; color: #949ec2; cursor: pointer; }
.checkbox-row { display: flex; align-items: flex-start; gap: 10px; color: var(--muted); font-size: .84rem; line-height: 1.5; }
.checkbox-row input { margin-top: 4px; accent-color: var(--purple); }
.checkbox-row a { color: #a9caff; text-decoration: underline; }
.form-status { min-height: 22px; margin: 14px 0; padding: 0; color: var(--muted); font-size: .9rem; }
.form-status.error { padding: 12px 14px; border-radius: 11px; color: #ffd1dc; background: rgba(255,66,112,.1); border: 1px solid rgba(255,94,132,.22); }
.form-status.success { padding: 12px 14px; border-radius: 11px; color: #c8ffe6; background: rgba(48,208,142,.1); border: 1px solid rgba(66,230,164,.22); }
.auth-switch { margin-top: 22px; color: var(--muted); text-align: center; }
.auth-switch a { color: #a9caff; font-weight: 800; }
.password-meter { height: 5px; margin-top: 8px; border-radius: 999px; overflow: hidden; background: rgba(255,255,255,.08); }
.password-meter span { display: block; height: 100%; width: 0; background: var(--danger); transition: .2s; }

.profile-layout { padding: 55px 0 90px; display: grid; grid-template-columns: 320px 1fr; gap: 24px; }
.profile-card, .content-card { border: 1px solid var(--line); border-radius: var(--radius); background: var(--panel); box-shadow: 0 20px 60px rgba(0,0,0,.2); }
.profile-card { padding: 28px; align-self: start; position: sticky; top: 105px; }
.avatar { width: 90px; height: 90px; display: grid; place-items: center; border-radius: 27px; margin-bottom: 18px; font-size: 2.25rem; font-weight: 900; background: linear-gradient(145deg,#28bfff,#914fff); box-shadow: 0 14px 35px rgba(75,100,255,.28); }
.profile-card h1 { margin: 0 0 5px; font-size: 1.55rem; }
.profile-card p { margin: 0; color: var(--muted); }
.profile-info { margin-top: 24px; display: grid; gap: 12px; }
.profile-info-row { display: flex; justify-content: space-between; gap: 15px; padding-bottom: 12px; border-bottom: 1px solid var(--line); font-size: .88rem; }
.profile-info-row span { color: var(--muted); }
.content-stack { display: grid; gap: 24px; }
.content-card { padding: 28px; }
.content-card h2 { margin: 0 0 20px; font-size: 1.35rem; }
.profile-stats { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
.profile-stat { padding: 20px; border-radius: 16px; border: 1px solid var(--line); background: rgba(4,7,28,.45); }
.profile-stat span { color: var(--muted); font-size: .8rem; }
.profile-stat strong { display: block; margin-top: 7px; font-size: 1.3rem; }
.transaction-list { display: grid; gap: 9px; }
.transaction { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.transaction:last-child { border-bottom: 0; }
.transaction-title { font-weight: 800; }
.transaction-meta { color: var(--muted); font-size: .78rem; margin-top: 3px; }
.transaction-amount { font-weight: 900; }
.transaction-amount.positive { color: var(--green); }
.transaction-amount.negative { color: #ff9aae; }

.game-page { min-height: 100vh; background: radial-gradient(circle at 50% 0, rgba(90,45,255,.27), transparent 45rem), #040617; }
.game-header { position: relative; z-index: 30; min-height: 72px; padding: 8px 22px; display: flex; align-items: center; gap: 18px; border-bottom: 1px solid rgba(138,147,255,.17); background: rgba(5,7,26,.86); backdrop-filter: blur(16px); }
.game-header .brand img { width: 205px; }
.game-title-small { color: var(--muted); font-weight: 800; }
.game-header-actions { margin-left: auto; display: flex; align-items: center; gap: 11px; }
.game-main { width: min(calc(100% - 26px), 1180px); margin: 0 auto; padding: 28px 0 50px; }
.slot-cabinet { position: relative; padding: 20px; border: 1px solid rgba(118,96,255,.48); border-radius: 32px; background: linear-gradient(145deg, rgba(29,35,84,.98), rgba(7,9,31,.98)); box-shadow: 0 35px 90px rgba(0,0,0,.55), 0 0 80px rgba(71,55,255,.14), inset 0 1px 0 rgba(255,255,255,.11); }
.slot-cabinet::before { content: ""; position: absolute; inset: -2px; z-index: -1; border-radius: 34px; background: linear-gradient(115deg, #24b9ff, transparent 30%, transparent 68%, #b54eff); filter: blur(12px); opacity: .36; }
.slot-top { display: flex; align-items: center; gap: 18px; padding: 0 6px 17px; }
.slot-game-name h1 { margin: 0; font-size: 1.7rem; }
.slot-game-name p { margin: 5px 0 0; color: var(--muted); font-size: .82rem; }
.slot-top-logo { width: 185px; margin-left: auto; }
.slot-message { flex: 1; text-align: center; font-size: 1.15rem; font-weight: 900; color: #dfe8ff; min-height: 28px; }
.slot-message.win { color: var(--gold); text-shadow: 0 0 20px rgba(255,204,75,.5); }
.reel-window { position: relative; overflow: hidden; border: 8px solid #11163f; border-radius: 22px; background: linear-gradient(180deg,#f4f7ff,#d6ddff 50%,#f6f8ff); box-shadow: inset 0 0 45px rgba(24,28,92,.24), 0 0 0 2px rgba(89,183,255,.35); }
.reel-window::before, .reel-window::after { content: ""; position: absolute; z-index: 5; left: 0; right: 0; height: 12%; pointer-events: none; }
.reel-window::before { top: 0; background: linear-gradient(to bottom, rgba(13,17,60,.25), transparent); }
.reel-window::after { bottom: 0; background: linear-gradient(to top, rgba(13,17,60,.25), transparent); }
.reels { display: grid; grid-template-columns: repeat(5,1fr); min-height: 470px; }
.reel { display: grid; grid-template-rows: repeat(3,1fr); border-right: 2px solid rgba(44,51,124,.22); background: linear-gradient(90deg, rgba(255,255,255,.75), rgba(219,228,255,.85), rgba(255,255,255,.72)); }
.reel:last-child { border-right: 0; }
.symbol-cell { position: relative; display: grid; place-items: center; min-width: 0; border-bottom: 1px solid rgba(47,52,126,.12); transition: background .2s, filter .2s, transform .2s; }
.symbol-cell:last-child { border-bottom: 0; }
.symbol-cell img { width: min(96%, 155px); height: min(96%, 155px); object-fit: contain; filter: drop-shadow(0 8px 9px rgba(35,25,92,.17)); user-select: none; }
.reel.spinning .symbol-cell img { filter: blur(3px) drop-shadow(0 8px 9px rgba(35,25,92,.17)); transform: scale(.95); }
.symbol-cell.winner { z-index: 4; background: radial-gradient(circle, rgba(255,235,88,.62), rgba(255,161,45,.2) 55%, transparent 74%); animation: winPulse .7s ease-in-out infinite alternate; }
.symbol-cell.winner img { filter: drop-shadow(0 0 14px rgba(255,186,37,.85)); }
@keyframes winPulse { from { transform: scale(.98); } to { transform: scale(1.055); } }
.slot-control-panel { margin-top: 17px; padding: 15px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 18px; border-radius: 20px; background: rgba(3,5,22,.66); border: 1px solid rgba(255,255,255,.08); }
.control-left, .control-right { display: flex; align-items: center; gap: 11px; }
.control-right { justify-content: flex-end; }
.control-box { min-width: 145px; padding: 9px 14px; border-radius: 13px; border: 1px solid rgba(146,156,220,.17); background: rgba(20,25,66,.75); }
.control-box span { display: block; color: var(--muted); font-size: .68rem; text-transform: uppercase; letter-spacing: .08em; font-weight: 900; }
.control-box strong { display: block; margin-top: 3px; font-size: 1rem; }
.bet-select { min-width: 146px; height: 54px; padding: 0 35px 0 14px; border-radius: 13px; border: 1px solid rgba(146,156,220,.2); color: white; background: #151943; font-weight: 900; }
.spin-button { width: 112px; height: 112px; border-radius: 50%; cursor: pointer; color: #3d2200; background: radial-gradient(circle at 35% 28%, #fff9c1, #ffd34f 40%, #ff9e18 72%); border: 7px solid #4c2cff; box-shadow: 0 0 0 4px #1a2160, 0 0 34px rgba(255,181,31,.4), inset 0 4px 0 rgba(255,255,255,.58); font-size: 1.13rem; font-weight: 1000; letter-spacing: .04em; transition: transform .18s, filter .18s; }
.spin-button:hover { transform: scale(1.045); filter: brightness(1.06); }
.spin-button:active { transform: scale(.97); }
.spin-button:disabled { opacity: .55; cursor: not-allowed; transform: none; }
.icon-button { width: 50px; height: 50px; display: grid; place-items: center; border-radius: 14px; cursor: pointer; color: white; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.1); font-size: 1.15rem; }
.free-spin-box { color: #c9b7ff; }
.game-disclaimer { margin: 18px 0 0; color: #7781a5; text-align: center; font-size: .76rem; }

.modal-backdrop { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: 20px; background: rgba(2,3,14,.8); backdrop-filter: blur(8px); }
.modal { width: min(100%, 780px); max-height: min(88vh, 780px); overflow: auto; padding: 28px; border-radius: 24px; border: 1px solid var(--line-strong); background: #0e1233; box-shadow: var(--shadow); }
.modal-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.modal-head h2 { margin: 0; }
.close-button { width: 42px; height: 42px; border-radius: 12px; color: white; background: rgba(255,255,255,.08); cursor: pointer; }
.paytable-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; }
.paytable-row { display: grid; grid-template-columns: 62px 1fr; gap: 12px; align-items: center; padding: 12px; border-radius: 14px; border: 1px solid var(--line); background: rgba(4,7,28,.55); }
.paytable-row img { width: 62px; height: 62px; object-fit: contain; }
.paytable-row h3 { margin: 0 0 5px; font-size: .95rem; }
.paytable-row p { margin: 0; color: var(--muted); font-size: .78rem; }

.legal-page { width: min(calc(100% - 36px), 860px); margin: 0 auto; padding: 60px 0 100px; }
.legal-page h1 { font-size: 2.8rem; }
.legal-page h2 { margin-top: 35px; }
.legal-page p, .legal-page li { color: var(--muted); line-height: 1.75; }
.empty-state { padding: 30px; color: var(--muted); text-align: center; border: 1px dashed var(--line); border-radius: 16px; }

.site-footer { border-top: 1px solid var(--line); background: rgba(4,6,22,.58); }
.footer-inner { width: min(calc(100% - 36px), var(--content)); margin: 0 auto; padding: 34px 0; display: flex; align-items: center; gap: 24px; color: #7f89aa; font-size: .8rem; }
.footer-inner img { width: 155px; opacity: .78; }
.footer-links { margin-left: auto; display: flex; gap: 18px; }
.footer-links a:hover { color: white; }

.toast-container { position: fixed; z-index: 200; right: 18px; bottom: 18px; display: grid; gap: 10px; }
.toast { width: min(360px, calc(100vw - 36px)); padding: 15px 17px; border-radius: 14px; border: 1px solid var(--line); background: rgba(14,18,51,.96); box-shadow: var(--shadow); animation: toastIn .25s ease; }
.toast.success { border-color: rgba(66,230,164,.38); }
.toast.error { border-color: rgba(255,102,138,.42); }
@keyframes toastIn { from { transform: translateY(15px); opacity: 0; } }

@media (max-width: 1000px) {
  .main-nav { display: none; }
  .hero { grid-template-columns: 1fr; gap: 25px; padding-top: 50px; }
  .hero-copy-wrap { text-align: center; }
  .hero-copy { margin-inline: auto; }
  .hero-actions, .hero-note { justify-content: center; }
  .hero-machine { min-height: 370px; }
  .machine-card { transform: none; }
  .game-grid { grid-template-columns: repeat(2,1fr); }
  .auth-shell { grid-template-columns: 1fr; max-width: 720px; }
  .auth-visual { display: none; }
  .profile-layout { grid-template-columns: 1fr; }
  .profile-card { position: static; }
  .reels { min-height: 390px; }
  .slot-control-panel { grid-template-columns: 1fr auto 1fr; }
  .control-box { min-width: 120px; }
}

@media (max-width: 720px) {
  .header-inner { width: min(calc(100% - 22px), var(--content)); min-height: 68px; gap: 9px; }
  .brand img { width: 170px; }
  .header-actions .btn-secondary { display: none; }
  .chip-pill { padding-right: 10px; }
  .chip-pill span:last-child { font-size: .8rem; }
  .user-button { padding: 0 10px; }
  .page { width: min(calc(100% - 22px), var(--content)); }
  .hero { min-height: auto; padding: 42px 0 32px; }
  .hero h1 { font-size: 3.25rem; }
  .hero-machine { min-height: 310px; }
  .machine-card { padding: 10px; border-radius: 24px; }
  .machine-screen { min-height: 225px; padding: 15px; }
  .mini-reel { min-height: 105px; }
  .machine-spin { width: 52px; height: 52px; }
  .stats-strip { grid-template-columns: repeat(2,1fr); }
  .stat:nth-child(2) { border-right: 0; }
  .stat:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .game-grid { grid-template-columns: 1fr; }
  .game-card { min-height: 270px; }
  .section-head { display: block; }
  .reward-banner { grid-template-columns: 1fr; }
  .auth-page { padding: 24px 11px; }
  .auth-card { padding: 28px 20px; }
  .form-grid { grid-template-columns: 1fr; }
  .form-group.full { grid-column: auto; }
  .profile-layout { width: min(calc(100% - 22px), var(--content)); padding-top: 30px; }
  .profile-stats { grid-template-columns: 1fr; }
  .game-header { padding: 7px 11px; }
  .game-header .brand img { width: 155px; }
  .game-title-small { display: none; }
  .game-header-actions .chip-pill { display: none; }
  .game-main { width: min(calc(100% - 12px), 1180px); padding-top: 12px; }
  .slot-cabinet { padding: 9px; border-radius: 22px; }
  .slot-top { padding: 5px 4px 12px; }
  .slot-game-name h1 { font-size: 1.15rem; }
  .slot-game-name p, .slot-top-logo { display: none; }
  .slot-message { font-size: .88rem; text-align: right; }
  .reel-window { border-width: 5px; border-radius: 15px; }
  .reels { min-height: 305px; }
  .symbol-cell img { width: 100%; height: 100%; }
  .slot-control-panel { grid-template-columns: 1fr auto 1fr; gap: 7px; padding: 9px; }
  .control-left, .control-right { gap: 6px; }
  .control-box { min-width: 0; padding: 8px; }
  .control-box span { font-size: .56rem; }
  .control-box strong { font-size: .75rem; }
  .bet-select { min-width: 0; width: 100%; height: 45px; padding-left: 8px; font-size: .78rem; }
  .spin-button { width: 78px; height: 78px; border-width: 5px; font-size: .86rem; }
  .icon-button { width: 42px; height: 42px; }
  .free-spin-box { display: none; }
  .paytable-grid { grid-template-columns: 1fr; }
  .footer-inner { flex-direction: column; align-items: flex-start; }
  .footer-links { margin-left: 0; }
}

@media (max-width: 430px) {
  .brand img { width: 145px; }
  .header-actions .btn-primary { min-height: 40px; padding: 0 13px; font-size: .82rem; }
  .hero h1 { font-size: 2.85rem; }
  .hero-actions .btn { width: 100%; }
  .machine-card { width: 100%; }
  .game-content { padding: 18px; }
  .reels { min-height: 260px; }
  .slot-control-panel { grid-template-columns: 1fr auto 1fr; }
  .control-right .icon-button:nth-child(2) { display: none; }
}

/* ReelQuanta arcade slot layout — Books & Bulls inspired interaction flow, original styling */
.arcade-game-page {
  background:
    radial-gradient(circle at 50% -10%, rgba(105, 45, 255, .36), transparent 45rem),
    radial-gradient(circle at 8% 50%, rgba(0, 174, 255, .14), transparent 32rem),
    #030411;
}
.arcade-game-header { min-height: 62px; background: rgba(3, 4, 17, .92); }
.arcade-game-header .brand img { width: 190px; }
.arcade-game-main { width: min(calc(100% - 20px), 1240px); padding: 14px 0 38px; }
.arcade-cabinet {
  padding: 12px;
  overflow: hidden;
  border-radius: 18px;
  border: 2px solid #484ca4;
  background:
    linear-gradient(180deg, rgba(20, 23, 67, .97), rgba(4, 6, 25, .98)),
    #090c2d;
  box-shadow: 0 28px 80px rgba(0,0,0,.62), 0 0 45px rgba(86,58,255,.2), inset 0 1px 0 rgba(255,255,255,.13);
}
.arcade-cabinet::before { border-radius: 20px; opacity: .28; }
.arcade-topbar {
  min-height: 92px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 18px;
  padding: 7px 16px 10px;
  border-radius: 13px 13px 7px 7px;
  background:
    linear-gradient(90deg, rgba(7,11,45,.92), rgba(29,14,72,.82), rgba(7,11,45,.92)),
    #0c1033;
  border: 1px solid rgba(104, 116, 255, .28);
  box-shadow: inset 0 -12px 28px rgba(0,0,0,.2);
}
.arcade-game-name h1 {
  margin: 1px 0 0;
  font-size: clamp(1.55rem, 3vw, 2.8rem);
  line-height: .95;
  font-style: italic;
  letter-spacing: .035em;
  background: linear-gradient(180deg, #fff, #78d8ff 42%, #9a60ff 72%, #ff64e8);
  -webkit-background-clip: text;
  color: transparent;
  filter: drop-shadow(0 3px 0 #101b69) drop-shadow(0 0 12px rgba(92,123,255,.42));
}
.arcade-game-name p { margin: 7px 0 0; color: #aeb8e6; font-size: .72rem; font-weight: 900; letter-spacing: .11em; }
.arcade-kicker { color: #6fd4ff; font-size: .62rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.arcade-top-logo { justify-self: end; width: 205px; max-height: 72px; object-fit: contain; }
.arcade-jackpot-display {
  min-width: 230px;
  padding: 9px 22px;
  text-align: center;
  border-radius: 10px;
  border: 1px solid rgba(255, 202, 67, .44);
  background: linear-gradient(180deg, #25190a, #09091d);
  box-shadow: inset 0 0 18px rgba(255,173,34,.12), 0 0 20px rgba(255,184,51,.1);
}
.arcade-jackpot-display span { display: block; color: #ffd365; font-size: .62rem; letter-spacing: .15em; font-weight: 1000; }
.arcade-jackpot-display strong { display: block; margin-top: 3px; color: #fff3a9; font-size: 1.35rem; letter-spacing: .04em; text-shadow: 0 0 11px rgba(255,186,52,.65); }
.arcade-stage-wrap {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) 38px;
  gap: 5px;
  margin-top: 7px;
}
.arcade-reel-window {
  border: 6px solid #16194c;
  border-radius: 8px;
  background: #110b24;
  box-shadow: 0 0 0 2px #4b50a6, inset 0 0 35px rgba(8,4,34,.9);
}
.arcade-reel-window::before, .arcade-reel-window::after { display: none; }
.arcade-reel-window .reels { min-height: min(58vh, 520px); background: #160b20; }
.arcade-reel {
  position: relative;
  border-right: 2px solid rgba(102,81,175,.32);
  background:
    radial-gradient(circle at 50% 48%, rgba(72,25,100,.38), transparent 66%),
    linear-gradient(90deg, #130b1b, #260d2d 48%, #130b1b);
}
.arcade-reel::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(255,255,255,.025), transparent 18%, transparent 80%, rgba(0,0,0,.24));
}
.arcade-symbol-cell { border-bottom: 1px solid rgba(115,70,155,.2); }
.arcade-symbol-cell img {
  width: min(92%, 164px);
  height: min(92%, 164px);
  filter: drop-shadow(0 7px 7px rgba(0,0,0,.55));
}
.arcade-reel.spinning .arcade-symbol-cell img { filter: blur(4px) saturate(1.25) drop-shadow(0 7px 7px rgba(0,0,0,.5)); }
.arcade-symbol-cell.winner {
  background: radial-gradient(circle, rgba(164, 90, 255, .35), rgba(63, 24, 117, .15) 60%, transparent 78%);
  outline: 3px solid #da90ff;
  outline-offset: -4px;
  box-shadow: inset 0 0 20px rgba(185, 82, 255, .62), 0 0 16px rgba(131,87,255,.5);
}
.arcade-symbol-cell.winner img { filter: drop-shadow(0 0 14px rgba(190,91,255,.92)); }
.payline-rail {
  display: grid;
  grid-template-rows: repeat(10, 1fr);
  gap: 2px;
  min-height: min(58vh, 520px);
  padding: 2px 0;
}
.payline-marker {
  display: grid;
  place-items: center;
  min-height: 24px;
  border-radius: 4px;
  border: 1px solid rgba(0,0,0,.55);
  color: #111429;
  background: var(--line-colour);
  font-size: .72rem;
  font-weight: 1000;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.42), 0 1px 2px rgba(0,0,0,.5);
  transition: transform .15s, filter .15s, box-shadow .15s;
}
.payline-marker.active { transform: scale(1.13); filter: brightness(1.3); box-shadow: 0 0 10px var(--line-colour), inset 0 1px 0 rgba(255,255,255,.62); z-index: 4; }
.payline-overlay { position: absolute; inset: 0; z-index: 8; width: 100%; height: 100%; pointer-events: none; }
.payline-path, .payline-glow { fill: none; vector-effect: non-scaling-stroke; stroke-linecap: round; stroke-linejoin: round; }
.payline-path { stroke-width: 3.5; }
.payline-glow { stroke-width: 11; opacity: .22; }
.reel-shade { position: absolute; z-index: 7; left: 0; right: 0; height: 7%; pointer-events: none; }
.reel-shade-top { top: 0; background: linear-gradient(to bottom, rgba(2,1,13,.48), transparent); }
.reel-shade-bottom { bottom: 0; background: linear-gradient(to top, rgba(2,1,13,.48), transparent); }
.arcade-message {
  min-height: 38px;
  display: grid;
  place-items: center;
  margin: 6px 43px 0;
  border-radius: 4px;
  color: #fff0a2;
  background: linear-gradient(180deg, #342410, #11101f);
  border: 1px solid rgba(241,188,55,.38);
  font-size: .9rem;
  font-weight: 1000;
  letter-spacing: .04em;
  text-align: center;
  text-shadow: 0 0 8px rgba(255,187,46,.45);
}
.arcade-message.win { color: #ffe864; animation: arcadeMessagePulse .7s alternate infinite; }
@keyframes arcadeMessagePulse { to { filter: brightness(1.35); } }
.arcade-console {
  display: grid;
  grid-template-columns: 1.25fr .9fr 1fr;
  gap: 9px;
  align-items: stretch;
  margin-top: 7px;
  padding: 8px;
  border-radius: 8px;
  border: 2px solid #272a67;
  background: linear-gradient(180deg, #181b4b, #07091f);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.09);
}
.console-left, .console-center, .console-right { display: flex; align-items: stretch; gap: 6px; }
.console-center { justify-content: center; }
.console-right { justify-content: flex-end; }
.machine-readout {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 6px 9px;
  border-radius: 5px;
  border: 1px solid rgba(101,114,202,.48);
  background: linear-gradient(180deg, #070b27, #151947);
  box-shadow: inset 0 0 10px rgba(0,0,0,.48);
}
.machine-readout span { color: #8da5e2; font-size: .54rem; font-weight: 1000; letter-spacing: .08em; white-space: nowrap; }
.machine-readout strong { margin-top: 2px; color: #fff; font-size: .84rem; white-space: nowrap; }
.compact-readout { min-width: 68px; }
.total-bet-readout { min-width: 102px; border-radius: 0; }
.balance-readout { min-width: 135px; }
.win-readout { min-width: 118px; color: #ffe374; }
.win-readout strong { color: #ffe374; }
.free-readout { min-width: 82px; }
.bet-stepper { display: grid; grid-template-columns: 32px auto 32px; }
.bet-stepper button {
  color: white;
  background: linear-gradient(180deg, #1d7cff, #2847a8);
  border: 1px solid rgba(115,177,255,.65);
  cursor: pointer;
  font-size: 1.2rem;
  font-weight: 1000;
}
.bet-stepper button:first-child { border-radius: 6px 0 0 6px; }
.bet-stepper button:last-child { border-radius: 0 6px 6px 0; }
.bet-stepper button:disabled { opacity: .4; cursor: not-allowed; }
.square-control, .auto-button {
  min-width: 58px;
  border-radius: 6px;
  border: 2px solid rgba(255,255,255,.17);
  color: white;
  background: linear-gradient(180deg, #277aff, #1d3e99);
  box-shadow: inset 0 2px 0 rgba(255,255,255,.2), 0 2px 4px rgba(0,0,0,.4);
  cursor: pointer;
  font-weight: 1000;
}
.info-control { color: #d7ecff; font-family: Georgia, serif; font-size: 1.55rem; font-style: italic; }
.sound-control { font-size: 1.05rem; }
.auto-button { display: grid; place-content: center; min-width: 74px; background: linear-gradient(180deg, #1da958, #09642d); }
.auto-button span { font-size: .82rem; }
.auto-button small { margin-top: 2px; color: #b6ffc9; font-size: .58rem; }
.auto-button.active { filter: brightness(1.23); box-shadow: 0 0 16px rgba(43,232,111,.38), inset 0 2px 0 rgba(255,255,255,.28); }
.arcade-spin-button {
  width: 90px;
  height: 62px;
  border-radius: 9px;
  border: 4px solid #9dffe0;
  color: white;
  background: linear-gradient(180deg, #38ec8f, #079a4d 55%, #047635);
  box-shadow: 0 0 0 2px #0b492f, 0 0 18px rgba(29,226,118,.35), inset 0 3px 0 rgba(255,255,255,.42);
  font-size: 1rem;
  text-shadow: 0 2px 2px rgba(0,0,0,.4);
}
.arcade-spin-button:hover { transform: none; filter: brightness(1.13); }
.win-action-bar {
  display: grid;
  grid-template-columns: 1fr repeat(3, minmax(118px, auto));
  align-items: stretch;
  gap: 7px;
  margin-top: 7px;
  padding: 8px;
  border-radius: 8px;
  border: 1px solid rgba(114, 122, 219, .45);
  background: linear-gradient(180deg, #101546, #080a22);
}
.win-action-copy { display: flex; flex-direction: column; justify-content: center; padding: 0 13px; }
.win-action-copy span { color: #9faad6; font-size: .58rem; font-weight: 1000; letter-spacing: .1em; }
.win-action-copy strong { color: #ffe36e; font-size: 1.25rem; }
.gamble-action {
  min-height: 52px;
  border-radius: 6px;
  border: 2px solid rgba(255,255,255,.18);
  color: white;
  cursor: pointer;
  font-size: .76rem;
  font-weight: 1000;
  letter-spacing: .035em;
  box-shadow: inset 0 2px 0 rgba(255,255,255,.2);
}
.gamble-action span { margin-right: 5px; font-size: 1rem; }
.collect-action { background: linear-gradient(180deg, #31cf71, #08783b); }
.ladder-action { background: linear-gradient(180deg, #ffb52f, #d26a0a); }
.cards-action { background: linear-gradient(180deg, #6c7cff, #3b37aa); }
.arcade-info-modal { width: min(100%, 900px); }
.payline-help-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; margin-bottom: 22px; }
.payline-help-item { display: grid; grid-template-columns: 26px 1fr; align-items: center; gap: 6px; padding: 7px; border-radius: 8px; background: rgba(255,255,255,.04); border: 1px solid rgba(142,155,255,.14); }
.payline-help-item > strong { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 4px; color: #0c1026; font-size: .7rem; }
.mini-payline-grid { display: grid; grid-template-columns: repeat(5,1fr); gap: 2px; }
.mini-payline-grid i { aspect-ratio: 1; border-radius: 1px; background: rgba(255,255,255,.14); }
.mini-payline-grid i.active { box-shadow: 0 0 5px currentColor; }

/* Gamble overlays */
.gamble-backdrop { background: rgba(1,3,13,.7); backdrop-filter: blur(3px); }
.gamble-panel {
  position: relative;
  width: min(940px, calc(100vw - 28px));
  min-height: 560px;
  overflow: hidden;
  border: 3px solid #4c63c5;
  border-radius: 7px;
  background:
    radial-gradient(circle at 55% 50%, rgba(49,127,255,.36), transparent 38%),
    linear-gradient(115deg, #07156a, #0a3ca8 52%, #07135c);
  box-shadow: 0 30px 100px rgba(0,0,0,.72), inset 0 0 55px rgba(48,116,255,.2);
}
.gamble-panel::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .24;
  background: repeating-linear-gradient(0deg, transparent 0 3px, rgba(255,255,255,.04) 4px);
}
.gamble-close {
  position: absolute;
  z-index: 10;
  top: 10px;
  right: 12px;
  width: 37px;
  height: 37px;
  border-radius: 3px;
  color: white;
  background: rgba(0,0,0,.35);
  border: 1px solid rgba(255,255,255,.42);
  cursor: pointer;
}
.gamble-stats, .card-side-stats {
  position: absolute;
  z-index: 2;
  left: 34px;
  top: 90px;
  width: 180px;
  display: grid;
  gap: 10px;
}
.gamble-stats > div, .card-side-stats > div {
  min-height: 70px;
  display: grid;
  place-content: center;
  text-align: center;
  border-radius: 4px;
  border: 2px solid rgba(172,199,255,.58);
  background: rgba(4,15,76,.72);
  box-shadow: inset 0 0 18px rgba(0,0,0,.35);
}
.gamble-stats span, .card-side-stats span { color: #d6e5ff; font-size: .62rem; font-weight: 1000; letter-spacing: .05em; }
.gamble-stats strong, .card-side-stats strong { margin-top: 4px; color: #fff; font-size: 1.1rem; }
.ladder-main {
  position: relative;
  z-index: 2;
  width: 430px;
  margin: 30px auto 88px;
  text-align: center;
}
.ladder-main h2, .card-game-area h2 { margin: 0; color: white; font-size: 1.7rem; letter-spacing: .06em; text-shadow: 0 0 15px rgba(91,179,255,.75); }
.ladder-main p, .card-game-area p { margin: 6px auto 14px; max-width: 460px; color: #bcd6ff; font-size: .72rem; }
.ladder-stack { display: flex; flex-direction: column; align-items: center; gap: 3px; }
.ladder-step {
  position: relative;
  min-width: 180px;
  height: 30px;
  display: grid;
  place-items: center;
  clip-path: polygon(10% 0,90% 0,100% 100%,0 100%);
  color: #11183a;
  background: linear-gradient(180deg, #f4f5ff, #aab6d8);
  font-size: .82rem;
  font-weight: 1000;
  transition: transform .08s, filter .08s;
}
.ladder-step:nth-child(2n) { min-width: 196px; }
.ladder-step.upper-target {
  color: #15224a;
  background: linear-gradient(180deg, #fffcc2, #ffc31b);
  box-shadow: 0 0 22px rgba(255,213,43,.9);
}
.ladder-step.lower-target {
  color: #3b1d00;
  background: linear-gradient(180deg, #ffd274, #ff8b16);
  box-shadow: 0 0 18px rgba(255,139,22,.62);
}
.ladder-step.current-rung {
  outline: 3px solid #67efff;
  outline-offset: 1px;
  box-shadow: 0 0 20px rgba(72,224,255,.8);
}
.ladder-step.maximum-rung {
  color: white;
  background: linear-gradient(180deg, #d65cff, #6b22d5);
  box-shadow: 0 0 20px rgba(199,79,255,.72);
}
.ladder-step.idle-flash {
  transform: scale(1.09);
  filter: brightness(1.75) saturate(1.35);
  box-shadow: 0 0 30px rgba(255,255,255,.95), 0 0 46px rgba(80,218,255,.68);
}
.ladder-loading {
  min-height: 280px;
  display: grid;
  place-items: center;
  color: #fff7a4;
  font-size: 1rem;
  font-weight: 1000;
  letter-spacing: .08em;
  text-shadow: 0 0 18px rgba(255,231,82,.82);
}
.ladder-rng-note {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-top: 10px;
  padding: 7px 11px;
  border-radius: 999px;
  border: 1px solid rgba(123,229,255,.45);
  background: rgba(2,15,67,.62);
  color: #d8f8ff;
}
.ladder-rng-note span { font-size: .67rem; font-weight: 1000; letter-spacing: .08em; }
.ladder-rng-note small { color: #9ec6e9; font-size: .58rem; }
.ladder-step.upper-target::before, .ladder-step.upper-target::after {
  content: "◆ ◆ ◆";
  position: absolute;
  color: white;
  font-size: .58rem;
  text-shadow: 0 0 9px #fff;
}
.ladder-step.upper-target::before { left: -62px; }
.ladder-step.upper-target::after { right: -62px; }
.ladder-step.lower-target::before, .ladder-step.lower-target::after {
  content: "▼";
  position: absolute;
  color: #fff6c1;
  font-size: .72rem;
  text-shadow: 0 0 8px #ff9f24;
}
.ladder-step.lower-target::before { left: -28px; }
.ladder-step.lower-target::after { right: -28px; }
.ladder-step.pulse, .ladder-step.selector {
  transform: scale(1.1);
  filter: brightness(1.75) saturate(1.3);
  box-shadow: 0 0 28px rgba(255,255,255,.9);
}
.ladder-step.landed-up {
  color: #10240c;
  background: linear-gradient(180deg, #eaff99, #4ce24c);
  box-shadow: 0 0 34px rgba(80,255,103,.95);
  animation: ladder-land .28s ease-in-out 3 alternate;
}
.ladder-step.landed-down {
  color: white;
  background: linear-gradient(180deg, #ff8e62, #cf203f);
  box-shadow: 0 0 34px rgba(255,51,84,.92);
  animation: ladder-land .28s ease-in-out 3 alternate;
}
@keyframes ladder-land {
  from { transform: scale(1); }
  to { transform: scale(1.13); }
}
.gamble-footer {
  position: absolute;
  z-index: 3;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding: 10px 18px;
  border-top: 1px solid rgba(189,211,255,.24);
  background: rgba(3,8,48,.82);
}
.gamble-footer-button {
  min-width: 150px;
  min-height: 48px;
  border-radius: 5px;
  border: 2px solid rgba(255,255,255,.23);
  color: white;
  cursor: pointer;
  font-weight: 1000;
  box-shadow: inset 0 2px 0 rgba(255,255,255,.21);
}
.collect-gamble { background: linear-gradient(180deg, #37d77a, #08783c); }
.play-gamble { background: linear-gradient(180deg, #ffb836, #d5670d); }
.split-gamble { background: linear-gradient(180deg, #7f8cff, #3c42b7); }
.ladder-footer { justify-content: center; }
.ausspielung-overlay {
  position: absolute;
  z-index: 20;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 18px;
  background: radial-gradient(circle, rgba(95,33,170,.55), rgba(1,3,18,.94) 70%);
  backdrop-filter: blur(6px);
}
.ausspielung-card {
  width: min(390px, 92vw);
  padding: 22px 18px 25px;
  text-align: center;
  border: 3px solid #a762ff;
  border-radius: 16px;
  background: linear-gradient(155deg, #32106f, #10052f 70%);
  box-shadow: 0 0 50px rgba(174,84,255,.65), inset 0 0 35px rgba(96,50,185,.45);
}
.ausspielung-kicker { color: #62e9ff; font-size: .62rem; font-weight: 1000; letter-spacing: .16em; }
.ausspielung-card h3 {
  margin: 5px 0 2px;
  color: white;
  font-size: 2rem;
  letter-spacing: .08em;
  text-shadow: 0 0 16px #f55cff;
}
.ausspielung-pointer { position: relative; z-index: 2; margin-bottom: -9px; color: #fff4a8; font-size: 1.6rem; text-shadow: 0 0 12px #ffef6b; }
.ausspielung-wheel {
  position: relative;
  width: 210px;
  height: 210px;
  margin: 0 auto 14px;
  border: 8px solid #d2b3ff;
  border-radius: 50%;
  background: conic-gradient(#5b5dff 0 25%, #ff4fc9 25% 50%, #35d7c5 50% 75%, #ffbe32 75% 100%);
  box-shadow: 0 0 28px rgba(111,103,255,.75), inset 0 0 24px rgba(4,5,44,.62);
}
.ausspielung-wheel::after {
  content: "RQ";
  position: absolute;
  inset: 58px;
  display: grid;
  place-items: center;
  border: 5px solid white;
  border-radius: 50%;
  color: white;
  background: #7137cd;
  font-size: 1.1rem;
  font-weight: 1000;
  box-shadow: 0 0 16px rgba(255,255,255,.65);
}
.ausspielung-wheel span { position: absolute; color: white; font-size: .62rem; font-weight: 1000; text-shadow: 0 1px 4px #000; }
.ausspielung-wheel span:nth-child(1) { top: 18px; left: 78px; }
.ausspielung-wheel span:nth-child(2) { top: 91px; right: 10px; transform: rotate(90deg); }
.ausspielung-wheel span:nth-child(3) { bottom: 18px; left: 91px; transform: rotate(180deg); }
.ausspielung-wheel span:nth-child(4) { top: 92px; left: 12px; transform: rotate(-90deg); }
.ausspielung-wheel.spin { animation: ausspielung-spin 1.2s cubic-bezier(.12,.78,.17,1) forwards; }
@keyframes ausspielung-spin { from { transform: rotate(0deg); } to { transform: rotate(1650deg); } }
#ausspielung-result { display: block; min-height: 30px; color: #fff49c; font-size: 1.05rem; text-shadow: 0 0 12px rgba(255,239,99,.8); }
.gamble-footer-button:disabled { opacity: .48; cursor: wait; }
.card-panel { display: grid; grid-template-columns: 230px 1fr; }
.card-side-stats { top: 72px; }
.card-history-wrap { padding: 8px !important; min-height: 64px !important; }
.card-history { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px; margin-top: 6px; }
.card-history span { width: 27px; height: 35px; display: grid; place-items: center; border-radius: 3px; background: white; font-size: .65rem; font-weight: 1000; }
.card-history span.red { color: #d9273f; }
.card-history span.black { color: #111; }
.card-game-area {
  position: relative;
  z-index: 2;
  grid-column: 2;
  padding: 28px 70px 82px 30px;
  text-align: center;
}
.playing-card {
  position: relative;
  width: 210px;
  height: 305px;
  margin: 14px auto 8px;
  perspective: 1000px;
}
.card-back, .card-front {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  border-radius: 10px;
  backface-visibility: hidden;
  transition: transform .48s ease;
  box-shadow: 0 18px 38px rgba(0,0,0,.42);
}
.card-back {
  color: #db5a5a;
  border: 9px solid #f7f7f7;
  background:
    repeating-linear-gradient(45deg, rgba(232,96,96,.28) 0 2px, transparent 2px 12px),
    repeating-linear-gradient(-45deg, rgba(232,96,96,.24) 0 2px, transparent 2px 12px),
    repeating-linear-gradient(0deg, rgba(232,96,96,.14) 0 2px, transparent 2px 16px),
    linear-gradient(180deg, #ffffff, #f7f2f2);
  background-size: auto;
  background-position: center;
}
.card-back span { min-width: 152px; height: 64px; padding: 0 24px; display: grid; place-items: center; border-radius: 999px; border: 3px solid rgba(211,114,114,.72); background: linear-gradient(180deg,#faf5f5,#e6dede); color: #d35f5f; font-size: 1.22rem; font-weight: 1000; letter-spacing: .04em; box-shadow: inset 0 2px 0 rgba(255,255,255,.68); }
.card-back i { position: absolute; bottom: 22px; color: #bd6c6c; font-size: .7rem; font-style: normal; font-weight: 900; letter-spacing: .18em; text-transform: uppercase; }
.card-front { transform: rotateY(180deg); color: #111; background: white; border: 4px solid #e8ecff; }
.playing-card:not(.is-facedown) .card-back { transform: rotateY(180deg); }
.playing-card:not(.is-facedown) .card-front { transform: rotateY(360deg); }
.card-rank { position: absolute; top: 13px; left: 14px; font: 1000 2.35rem/1 Georgia, serif; }
.card-rank-bottom { top: auto; left: auto; right: 14px; bottom: 13px; transform: rotate(180deg); }
.card-suit { font-size: 6.3rem; }
.red-card .card-front { color: #d51d36; }
.black-card .card-front { color: #111; }
.win-card::after, .lose-card::after {
  position: absolute;
  z-index: 4;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%) rotate(-8deg);
  font-size: 3rem;
  font-weight: 1000;
  letter-spacing: -.04em;
  text-shadow: 0 4px 0 rgba(0,0,0,.25);
}
.win-card::after { content: "WIN"; color: #ffbd16; }
.lose-card::after { content: "LOST"; color: #ff375a; }
.card-result { min-height: 28px; color: #fff1a6; font-size: .88rem; font-weight: 1000; letter-spacing: .04em; }
.stake-mode { display: inline-flex; gap: 5px; margin-top: 4px; padding: 4px; border-radius: 6px; background: rgba(0,0,0,.22); }
.stake-mode button { min-width: 92px; padding: 8px 10px; border-radius: 4px; color: #bcd2ff; background: rgba(255,255,255,.09); cursor: pointer; font-size: .68rem; font-weight: 900; }
.stake-mode button.active { color: white; background: #3c70e9; }
.colour-choice { display: flex; justify-content: center; gap: 9px; margin-top: 9px; }
.colour-choice button { min-width: 130px; min-height: 48px; border-radius: 5px; border: 2px solid rgba(255,255,255,.25); color: white; cursor: pointer; font-weight: 1000; box-shadow: inset 0 2px 0 rgba(255,255,255,.2), 0 4px 10px rgba(0,0,0,.22); transition: transform .12s ease, filter .12s ease, box-shadow .12s ease, border-color .12s ease; }
.colour-choice button span { margin-right: 6px; font-size: 1.2rem; }
.red-choice { background: linear-gradient(180deg, #ff4e66, #a80d2d); }
.black-choice { background: linear-gradient(180deg, #3d465e, #0b0d17); }
.colour-choice button.flash-on { transform: translateY(-1px) scale(1.04); filter: brightness(1.14); border-color: #fff6b0; box-shadow: 0 0 0 2px rgba(255,255,255,.18), 0 0 24px rgba(255,234,117,.56), inset 0 2px 0 rgba(255,255,255,.3); }
.colour-choice button:disabled { opacity: .45; cursor: wait; }
.card-footer { justify-content: center; left: 230px; }

@media (max-width: 980px) {
  .arcade-topbar { grid-template-columns: 1fr auto; }
  .arcade-top-logo { display: none; }
  .arcade-console { grid-template-columns: 1fr; }
  .console-left, .console-center, .console-right { justify-content: center; }
  .console-right { min-height: 62px; }
  .gamble-panel { min-height: 600px; }
  .gamble-stats, .card-side-stats { left: 18px; width: 155px; }
  .ladder-main { margin-left: 210px; }
  .card-panel { grid-template-columns: 190px 1fr; }
  .card-game-area { padding-right: 25px; }
  .card-footer { left: 190px; }
}

@media (max-width: 720px) {
  .arcade-game-main { width: min(calc(100% - 8px), 1240px); padding-top: 5px; }
  .arcade-cabinet { padding: 5px; border-radius: 12px; }
  .arcade-topbar { min-height: 64px; grid-template-columns: 1fr auto; padding: 5px 8px; gap: 6px; }
  .arcade-game-name h1 { font-size: 1.25rem; }
  .arcade-game-name p { display: none; }
  .arcade-kicker { font-size: .47rem; }
  .arcade-jackpot-display { min-width: 130px; padding: 6px 8px; }
  .arcade-jackpot-display span { font-size: .46rem; }
  .arcade-jackpot-display strong { font-size: .84rem; }
  .arcade-stage-wrap { grid-template-columns: 23px minmax(0,1fr) 23px; gap: 2px; }
  .arcade-reel-window { border-width: 3px; }
  .arcade-reel-window .reels, .payline-rail { min-height: min(56vh, 370px); }
  .payline-marker { min-height: 15px; border-radius: 2px; font-size: .48rem; }
  .arcade-symbol-cell img { width: 100%; height: 100%; }
  .arcade-message { min-height: 31px; margin: 4px 25px 0; font-size: .68rem; }
  .arcade-console { gap: 5px; padding: 5px; }
  .console-left, .console-center, .console-right { gap: 4px; overflow-x: auto; }
  .machine-readout { padding: 4px 6px; }
  .machine-readout span { font-size: .43rem; }
  .machine-readout strong { font-size: .66rem; }
  .compact-readout { min-width: 55px; }
  .total-bet-readout { min-width: 78px; }
  .balance-readout { min-width: 108px; }
  .win-readout { min-width: 88px; }
  .free-readout { min-width: 66px; }
  .square-control { min-width: 47px; }
  .auto-button { min-width: 65px; }
  .arcade-spin-button { width: 82px; height: 55px; }
  .win-action-bar { grid-template-columns: 1fr 1fr 1fr; }
  .win-action-copy { grid-column: 1 / -1; text-align: center; align-items: center; }
  .gamble-action { min-width: 0; font-size: .62rem; }
  .payline-help-grid { grid-template-columns: repeat(2,1fr); }
  .gamble-panel { width: calc(100vw - 10px); min-height: 650px; overflow-y: auto; }
  .gamble-stats, .card-side-stats { position: relative; top: auto; left: auto; width: auto; grid-template-columns: repeat(3, 1fr); margin: 52px 10px 8px; }
  .ladder-stats { grid-template-columns: repeat(2, 1fr); }
  .gamble-stats > div, .card-side-stats > div { min-height: 58px; }
  .ladder-main { width: auto; margin: 10px 10px 90px; }
  .ladder-step { min-width: 155px; height: 28px; }
  .card-panel { display: block; }
  .card-side-stats { grid-template-columns: repeat(3,1fr); }
  .card-history-wrap { grid-column: 1 / -1; }
  .card-game-area { padding: 10px 12px 95px; }
  .playing-card { width: 160px; height: 230px; }
  .card-suit { font-size: 4.7rem; }
  .card-rank { font-size: 1.8rem; }
  .card-footer { left: 0; }
}

@media (max-width: 440px) {
  .arcade-game-header .brand img { width: 135px; }
  .arcade-reel-window .reels, .payline-rail { min-height: 310px; }
  .console-left { justify-content: flex-start; }
  .console-center { justify-content: flex-start; }
  .free-readout { display: none; }
  .win-action-bar { gap: 4px; padding: 5px; }
  .gamble-action { padding: 4px; }
  .gamble-stats, .card-side-stats { grid-template-columns: 1fr 1fr; }
  .card-side-stats > div:last-child { grid-column: 1 / -1; }
  .ladder-footer { flex-wrap: wrap; }
  .ladder-footer .gamble-footer-button { min-width: 105px; flex: 1; }
  .ladder-rng-note { display: flex; flex-direction: column; gap: 2px; border-radius: 10px; }
  .colour-choice button { min-width: 112px; }
}

/* ===== ReelQuanta portal lobby, progression and Magic Bonus Wheel ===== */
.portal-lobby-page {
  min-height: 100vh;
  background:
    radial-gradient(circle at 16% 17%, rgba(255,255,255,.85) 0 2.2rem, transparent 2.3rem),
    radial-gradient(circle at 28% 13%, rgba(255,255,255,.7) 0 3.4rem, transparent 3.5rem),
    radial-gradient(circle at 78% 19%, rgba(255,255,255,.76) 0 3rem, transparent 3.1rem),
    linear-gradient(180deg, #77d9ff 0, #b9efff 34%, #d8f9f1 58%, #f3d291 58.2%, #d8a75c 100%);
  color: #f8f9ff;
}
.portal-lobby-page::before {
  background:
    radial-gradient(ellipse at 15% 55%, rgba(20,160,130,.42), transparent 28%),
    radial-gradient(ellipse at 88% 48%, rgba(0,156,194,.35), transparent 30%),
    linear-gradient(180deg, transparent 0 56%, rgba(4,10,37,.12) 56% 100%);
  mask-image: none;
}
.portal-topbar {
  position: sticky;
  top: 0;
  z-index: 80;
  min-height: 72px;
  padding: 6px 18px;
  display: grid;
  grid-template-columns: minmax(240px,1fr) minmax(360px,620px) minmax(260px,1fr);
  align-items: center;
  gap: 14px;
  border-bottom: 3px solid #18d8ff;
  background: linear-gradient(180deg,#5333d9 0,#2b168f 62%,#151061 100%);
  box-shadow: 0 8px 30px rgba(20,9,76,.35), inset 0 -1px 0 rgba(255,255,255,.2);
}
.portal-topbar-left,.portal-topbar-actions { display: flex; align-items: center; gap: 10px; }
.portal-topbar-actions { justify-content: flex-end; }
.portal-home-button {
  width: 48px; height: 48px; display: grid; place-items: center; border-radius: 50%;
  border: 3px solid #ffd568; color: white; font-size: 1.65rem; font-weight: 1000;
  background: linear-gradient(180deg,#ff674d,#be182b); box-shadow: inset 0 2px 0 rgba(255,255,255,.38),0 4px 0 #69102b;
}
.portal-brand img { width: 210px; max-height: 57px; object-fit: contain; object-position: left center; }
.portal-player-card {
  min-height: 65px; padding: 7px 18px 7px 8px; display: flex; align-items: center; gap: 11px;
  border: 3px solid #ffc928; border-radius: 22px 22px 34px 34px;
  background: linear-gradient(180deg,#fff6b8 0,#ffc631 23%,#ff9f13 100%);
  box-shadow: inset 0 2px 0 rgba(255,255,255,.85),0 5px 0 #914f0b,0 10px 25px rgba(48,20,2,.3);
  color: #401c04;
}
.portal-avatar { width: 49px; height: 49px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 50%; color: white; font-weight: 1000; background: linear-gradient(145deg,#23b9ff,#8d42ff); border: 3px solid white; box-shadow: 0 3px 0 #643a94; }
.portal-player-main { min-width: 0; flex: 1; }
.portal-player-line { display: flex; justify-content: space-between; gap: 16px; align-items: center; font-size: .83rem; }
.portal-player-line strong { font-size: 1.08rem; white-space: nowrap; }
.chip-token { width: 22px; height: 22px; display: inline-grid; place-items: center; border-radius: 50%; background: #ffd530; color: #5a3200; border: 2px solid #a76b00; font-size: .7rem; }
.portal-xp-track { height: 11px; margin: 4px 0 3px; overflow: hidden; border-radius: 999px; border: 2px solid #6e3100; background: rgba(62,20,0,.45); box-shadow: inset 0 2px 3px rgba(0,0,0,.35); }
.portal-xp-track i { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#27d6ff,#366cff,#9e4dff); transition: width .45s ease; box-shadow: 0 0 8px rgba(33,197,255,.8); }
.portal-player-main small { display: block; text-align: center; font-size: .63rem; font-weight: 800; color: #5e2e0a; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.portal-icon-button {
  position: relative; min-width: 55px; height: 48px; border-radius: 17px; color: white; cursor: pointer;
  background: linear-gradient(180deg,#ff54d8,#8f1fb8); border: 2px solid #ffd4ff; box-shadow: inset 0 2px 0 rgba(255,255,255,.35),0 4px 0 #4e125e;
}
.portal-icon-button span { font-size: 1.7rem; }
.portal-icon-button b { position: absolute; right: -6px; top: -7px; min-width: 22px; height: 22px; padding: 0 5px; display: grid; place-items: center; border-radius: 999px; background: #f42047; color: white; border: 2px solid white; font-size: .67rem; }
.portal-user-button { border-color: rgba(255,255,255,.35); background: rgba(0,0,0,.22); }
.portal-side-rail {
  position: fixed; z-index: 55; left: 0; top: 92px; width: 78px; display: grid; gap: 9px; padding: 8px 7px;
}
.portal-side-rail button,.portal-side-rail a {
  position: relative; min-height: 66px; padding: 6px 3px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px;
  border-radius: 0 18px 18px 0; color: white; cursor: pointer; border: 2px solid rgba(255,255,255,.52);
  background: linear-gradient(180deg,#7f42ff,#32148b); box-shadow: inset 0 1px 0 rgba(255,255,255,.4),0 5px 0 #180953,0 7px 16px rgba(31,11,85,.3);
}
.portal-side-rail span { font-size: 1.45rem; }
.portal-side-rail small { font-size: .58rem; font-weight: 900; text-transform: uppercase; }
.portal-side-rail b { position: absolute; right: -4px; top: -6px; min-width: 21px; height: 21px; display: grid; place-items: center; border-radius: 50%; background: #f2224e; border: 2px solid white; font-size: .62rem; }
.portal-main { width: min(calc(100% - 190px), 1180px); margin: 0 auto; padding: 34px 0 62px; }
.portal-tabs { display: flex; align-items: end; gap: 8px; margin-bottom: 10px; border-bottom: 7px solid #12c9f7; }
.portal-tabs button { min-width: 158px; min-height: 58px; padding: 0 24px; color: #d8e0ff; cursor: pointer; border-radius: 20px 20px 0 0; font-weight: 900; text-shadow: 0 2px 2px #1f0b6b; background: linear-gradient(180deg,#4d2ac5,#211078); border: 2px solid rgba(255,255,255,.18); border-bottom: 0; }
.portal-tabs button.active { min-height: 68px; color: white; background: linear-gradient(180deg,#7769ff,#3d32d3); box-shadow: inset 0 2px 0 rgba(255,255,255,.3); }
.portal-showcase { display: grid; grid-template-columns: minmax(0,2.05fr) minmax(250px,.95fr); gap: 14px; }
.portal-event-card { position: relative; min-height: 330px; overflow: hidden; border-radius: 14px; border: 3px solid rgba(255,255,255,.7); background: #1e124c url('/assets/games/neon-fortune/thumbnail.webp') center/cover no-repeat; box-shadow: 0 14px 25px rgba(38,30,47,.3); }
.portal-event-overlay { position: absolute; inset: 0; background: linear-gradient(90deg,rgba(14,6,54,.95) 0,rgba(25,9,79,.8) 42%,rgba(16,8,47,.12) 78%); }
.portal-event-copy { position: relative; z-index: 2; width: min(55%,520px); padding: 48px 34px; }
.event-kicker { color: #92eaff; font-weight: 1000; letter-spacing: .15em; text-transform: uppercase; font-size: .7rem; }
.portal-event-copy h1 { margin: 8px 0; font-size: clamp(2.4rem,5vw,4.5rem); line-height: .9; letter-spacing: -.05em; background: linear-gradient(180deg,#fff,#a9e8ff 45%,#a662ff); -webkit-background-clip: text; background-clip: text; color: transparent; filter: drop-shadow(0 4px 0 #341573); }
.portal-event-copy p { margin: 0 0 20px; color: #d7d8ff; line-height: 1.55; font-size: .95rem; }
.event-progress-dots { position: absolute; z-index: 2; left: 50%; bottom: 13px; transform: translateX(-50%); display: flex; gap: 8px; }
.event-progress-dots i { width: 13px; height: 13px; border-radius: 50%; background: #2b174f; border: 2px solid rgba(255,255,255,.45); }
.event-progress-dots i.active { background: #11d7ff; }
.portal-promo-stack { display: grid; grid-template-rows: 1fr 1fr; gap: 14px; }
.portal-promo-card { position: relative; min-height: 150px; padding: 18px; display: grid; grid-template-columns: 64px 1fr auto; gap: 13px; align-items: center; overflow: hidden; border-radius: 14px; color: white; text-align: left; cursor: pointer; border: 3px solid rgba(255,255,255,.7); box-shadow: 0 12px 22px rgba(40,26,55,.24); }
.portal-promo-card::after { content:""; position:absolute; width:120px; height:120px; right:-45px; top:-48px; border-radius:50%; background:rgba(255,255,255,.18); }
.wheel-promo { background: linear-gradient(135deg,#5e25d5,#d02ecb); }
.daily-promo { background: linear-gradient(135deg,#0ba9e4,#17c187); }
.join-promo { background: linear-gradient(135deg,#e84d54,#f3a21d); }
.promo-spark { width: 60px; height: 60px; display: grid; place-items: center; border-radius: 50%; font-size: 1.65rem; font-weight: 1000; background: rgba(255,255,255,.18); border: 3px solid rgba(255,255,255,.55); box-shadow: inset 0 2px 0 rgba(255,255,255,.26); }
.portal-promo-card small { display:block; color:#f6dcff; font-weight:900; text-transform:uppercase; letter-spacing:.1em; font-size:.58rem; }
.portal-promo-card strong { display:block; margin:3px 0; font-size:1.16rem; }
.portal-promo-card p { margin:0; color:rgba(255,255,255,.83); font-size:.72rem; line-height:1.35; }
.portal-promo-card > b { position:relative; z-index:2; padding:7px 9px; border-radius:999px; background:rgba(0,0,0,.25); white-space:nowrap; font-size:.67rem; }
.portal-promo-card:disabled { cursor:not-allowed; filter:saturate(.65); }
.portal-tools { margin-top: 32px; display:flex; justify-content:space-between; align-items:end; gap:18px; }
.portal-tools h2 { margin:5px 0 0; color:#f53c51; font-size:2rem; text-shadow:0 2px 0 white; }
.portal-tools .section-kicker { color:#5233ba; }
.portal-search { min-width:270px; height:48px; padding:0 14px; display:flex; align-items:center; gap:9px; border-radius:999px; background:#080914; color:white; border:3px solid #5f3ed9; box-shadow:0 4px 0 rgba(32,12,87,.35); }
.portal-search span { font-size:1.45rem; }
.portal-search input { width:100%; border:0; outline:0; color:white; background:transparent; }
.portal-game-section { margin-top:14px; padding:14px; border-radius:16px; background:rgba(255,255,255,.36); box-shadow:inset 0 1px 0 rgba(255,255,255,.72); }
.portal-game-grid { grid-template-columns:repeat(4,1fr); gap:13px; }
.portal-game-card { min-height:230px; border-radius:14px; border:3px solid rgba(255,255,255,.75); box-shadow:0 8px 14px rgba(53,36,57,.22); }
.portal-game-card .game-art { min-height:165px; }
.game-favorite { position:absolute; z-index:3; top:8px; right:8px; width:34px; height:34px; border-radius:50%; color:white; cursor:pointer; background:rgba(23,9,70,.72); border:2px solid rgba(255,255,255,.72); font-size:1.2rem; }
.game-favorite.active { color:#ffdf43; }
.portal-empty-state { grid-column:1/-1; padding:42px; text-align:center; border-radius:14px; color:#422270; font-weight:800; background:rgba(255,255,255,.7); }
.progression-section { margin-top:36px; padding:30px; display:grid; grid-template-columns:1fr 1.2fr; gap:30px; border-radius:24px; background:linear-gradient(135deg,#26106f,#5c2ed4 55%,#1848a6); box-shadow:0 20px 42px rgba(31,15,77,.28); }
.progression-copy h2 { margin:8px 0 12px; font-size:2rem; }
.progression-copy p { color:#d8dbff; line-height:1.65; }
.progression-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.progression-cards article { padding:17px; border-radius:16px; background:rgba(255,255,255,.11); border:1px solid rgba(255,255,255,.16); }
.progression-cards span { display:grid; width:34px; height:34px; place-items:center; border-radius:50%; background:#ffc72d; color:#4e2500; font-weight:1000; }
.progression-cards strong { display:block; margin:12px 0 6px; }
.progression-cards p { margin:0; color:#d9dcff; font-size:.78rem; line-height:1.45; }
.guest-welcome { margin-top:36px; padding:34px; text-align:center; border-radius:24px; background:rgba(20,11,62,.89); box-shadow:0 18px 38px rgba(40,22,70,.28); }
.guest-welcome h2 { margin:0; font-size:2.2rem; }
.guest-welcome p { max-width:670px; margin:10px auto 20px; color:#d5d9f7; line-height:1.6; }
.portal-footer { background:#140a47; }

.wheel-modal-backdrop { z-index:120; background:rgba(5,2,24,.78); backdrop-filter:blur(10px); }
.magic-wheel-panel { position:relative; width:min(calc(100% - 24px),990px); max-height:calc(100vh - 28px); overflow:auto; padding:24px 28px 30px; border-radius:26px; border:4px solid #823dff; color:white; background:radial-gradient(circle at 35% 15%,rgba(161,67,255,.3),transparent 35%),linear-gradient(145deg,#14052f,#21075b 56%,#0a1239); box-shadow:0 0 0 5px #26105d,0 30px 90px rgba(0,0,0,.6),0 0 45px rgba(157,57,255,.4); }
.magic-wheel-close { position:absolute; right:18px; top:18px; z-index:5; }
.magic-wheel-heading { text-align:center; }
.magic-wheel-heading > span { color:#ffb9ff; letter-spacing:.17em; font-size:.72rem; font-weight:1000; }
.magic-wheel-heading h2 { margin:3px 0 2px; font-size:clamp(2rem,5vw,4rem); line-height:.96; background:linear-gradient(180deg,#fff,#ffb8f8 43%,#a54aff); -webkit-background-clip:text; background-clip:text; color:transparent; text-shadow:0 5px 0 rgba(57,9,98,.32); }
.magic-wheel-heading p { margin:8px 0 18px; color:#d6c9ff; }
.magic-wheel-layout { display:grid; grid-template-columns:minmax(360px,1fr) minmax(250px,.75fr); align-items:center; gap:34px; }
.magic-wheel-stage { --wheel-size:440px; position:relative; width:var(--wheel-size); height:var(--wheel-size); max-width:100%; margin:auto; display:grid; place-items:center; }
.magic-wheel-stage::before { content:""; position:absolute; inset:-12px; border-radius:50%; background:conic-gradient(#5b21dd,#ff4fcf,#14b9ff,#ffd22e,#5b21dd); filter:drop-shadow(0 0 24px rgba(143,61,255,.8)); }
.magic-wheel-stage::after { content:""; position:absolute; inset:-3px; z-index:1; border-radius:50%; border:8px solid #e7b8ff; box-shadow:inset 0 0 20px #3b0b83,0 0 0 5px #391066; pointer-events:none; }
.magic-wheel-pointer { position:absolute; z-index:7; top:-16px; left:50%; transform:translateX(-50%); color:#fff8b4; font-size:3.3rem; line-height:1; filter:drop-shadow(0 4px 0 #5c1d7f) drop-shadow(0 0 8px #ff9cec); }
.magic-wheel-disc { position:absolute; z-index:2; inset:6px; border-radius:50%; overflow:hidden; transition:transform 4.8s cubic-bezier(.11,.74,.08,1); box-shadow:inset 0 0 40px rgba(0,0,0,.4); }
.magic-wheel-disc::after { content:""; position:absolute; inset:0; border-radius:50%; background:radial-gradient(circle,transparent 0 38%,rgba(255,255,255,.13) 39% 40%,transparent 41%),repeating-conic-gradient(from 0deg,rgba(255,255,255,.42) 0 .7deg,transparent .7deg 30deg); pointer-events:none; }
.magic-wheel-label { position:absolute; z-index:3; left:50%; top:50%; transform:translate(-50%,-50%) rotate(var(--angle)) translateY(calc(var(--wheel-size) * -.38)); transform-origin:center; }
.magic-wheel-label b { display:block; width:76px; text-align:center; transform:rotate(var(--reverse-angle)); color:white; font-size:.83rem; text-shadow:0 2px 2px rgba(0,0,0,.82); }
.magic-wheel-center { position:relative; z-index:8; width:132px; height:132px; display:grid; place-content:center; border-radius:50%; cursor:pointer; color:white; border:8px solid rgba(255,255,255,.86); background:radial-gradient(circle at 35% 28%,#c78bff,#7131d0 60%,#401175); box-shadow:0 0 0 5px #9c56f7,0 8px 25px rgba(0,0,0,.4),inset 0 3px 0 rgba(255,255,255,.35); }
.magic-wheel-center span { font-size:1.42rem; font-weight:1000; }
.magic-wheel-center small { margin-top:3px; font-size:.58rem; color:#eadcff; }
.magic-wheel-center:disabled { cursor:not-allowed; filter:grayscale(.5); }
.magic-wheel-side { padding:20px; border-radius:20px; background:rgba(8,7,37,.56); border:1px solid rgba(255,255,255,.14); }
.magic-wheel-side > span { display:block; color:#decaff; font-size:.72rem; font-weight:900; text-transform:uppercase; letter-spacing:.1em; }
.magic-wheel-prize-list { margin:12px 0 16px; display:grid; grid-template-columns:repeat(3,1fr); gap:7px; }
.magic-wheel-prize-list span { position:relative; padding:8px 5px 8px 13px; border-radius:8px; text-align:center; background:rgba(255,255,255,.08); font-size:.72rem; font-weight:900; }
.magic-wheel-prize-list span::before { content:""; position:absolute; left:0; top:0; bottom:0; width:5px; border-radius:8px 0 0 8px; background:var(--prize-color); }
.magic-wheel-result { min-height:70px; padding:15px; display:grid; place-items:center; text-align:center; border-radius:14px; color:#e1d7ff; background:#09081f; border:2px solid #6434c7; }
.magic-wheel-result strong { color:#fff08a; font-size:1.25rem; }
.magic-wheel-side p { margin:15px 0 0; color:#bfc4e8; font-size:.78rem; line-height:1.55; }
.magic-wheel-side p strong { color:white; }

/* Game progression HUD and special-symbol celebrations */
.game-level-hud { min-width:250px; padding:6px 12px; border-radius:16px; color:#3e2100; background:linear-gradient(180deg,#fff4aa,#ffbd21); border:2px solid #ffe382; box-shadow:0 3px 0 #9a5800; }
.game-level-line { display:flex; align-items:center; justify-content:space-between; gap:10px; font-size:.67rem; font-weight:900; }
.game-level-line strong { font-size:.78rem; }
.game-level-track { height:8px; margin:4px 0 2px; border-radius:999px; overflow:hidden; background:rgba(67,26,0,.45); }
.game-level-track i { display:block; height:100%; width:0; background:linear-gradient(90deg,#0ed8ff,#5858ff,#b146ff); transition:width .4s ease; }
.level-up-modal .modal { max-width:520px; text-align:center; background:radial-gradient(circle at 50% 0,rgba(172,79,255,.32),transparent 43%),#110833; }
.level-up-badge { width:130px; height:130px; margin:0 auto 14px; display:grid; place-content:center; border-radius:50%; color:#4d2400; background:linear-gradient(145deg,#fff4a5,#ffac13); border:7px solid white; box-shadow:0 0 0 8px #7d3fff,0 0 40px rgba(188,80,255,.55); animation:levelPop .7s cubic-bezier(.2,1.6,.4,1); }
.level-up-badge span { font-size:.62rem; font-weight:1000; letter-spacing:.15em; }
.level-up-badge strong { font-size:3rem; line-height:1; }
.level-up-rewards { margin:18px 0; display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.level-up-rewards div { padding:12px; border-radius:14px; background:rgba(255,255,255,.08); }
.level-up-rewards span { display:block; color:#aeb7de; font-size:.67rem; text-transform:uppercase; }
.level-up-rewards strong { display:block; margin-top:5px; color:#fff0a7; }
@keyframes levelPop { 0%{transform:scale(.4) rotate(-12deg);opacity:0} 70%{transform:scale(1.12) rotate(3deg)} 100%{transform:scale(1) rotate(0)} }
.special-trigger-overlay { z-index:115; background:radial-gradient(circle,rgba(102,36,222,.46),rgba(4,2,24,.88)); }
.special-trigger-card { position:relative; width:min(calc(100% - 28px),580px); padding:30px; text-align:center; border-radius:28px; border:4px solid #a85cff; background:radial-gradient(circle at 50% 15%,rgba(255,255,255,.13),transparent 38%),linear-gradient(145deg,#15104b,#56149b); box-shadow:0 0 60px rgba(166,74,255,.6); overflow:hidden; }
.special-trigger-card::before,.special-trigger-card::after { content:"✦"; position:absolute; color:#fff49b; font-size:3rem; animation:sparkFloat 1.8s ease-in-out infinite; }
.special-trigger-card::before { left:8%; top:18%; }
.special-trigger-card::after { right:8%; top:30%; animation-delay:.45s; }
.special-trigger-image { width:210px; height:210px; margin:0 auto; object-fit:contain; filter:drop-shadow(0 0 24px #a45cff); animation:specialPulse 1s ease-in-out infinite alternate; }
.special-trigger-card h2 { margin:4px 0; font-size:clamp(2rem,7vw,4rem); line-height:.94; background:linear-gradient(#fff,#f6b5ff 45%,#8fdcff); -webkit-background-clip:text; background-clip:text; color:transparent; }
.special-trigger-card p { margin:8px 0 0; color:#fff0aa; font-size:1.15rem; font-weight:1000; }
@keyframes specialPulse { from{transform:scale(.9) rotate(-3deg)} to{transform:scale(1.08) rotate(3deg)} }
@keyframes sparkFloat { 0%,100%{transform:scale(.7) rotate(0);opacity:.5} 50%{transform:scale(1.3) rotate(45deg);opacity:1} }
.arcade-symbol-cell.special-trigger { z-index:4; animation:symbolTrigger 1.05s ease-in-out 3; }
.arcade-symbol-cell.special-trigger img { filter:drop-shadow(0 0 14px #fff) drop-shadow(0 0 25px #a743ff); }
.arcade-symbol-cell.wild-trigger { box-shadow:inset 0 0 25px #24bfff,0 0 22px #7c48ff; }
.arcade-symbol-cell.scatter-trigger { box-shadow:inset 0 0 25px #fff06b,0 0 24px #ff59e6; }
.arcade-symbol-cell.bonus-trigger { box-shadow:inset 0 0 25px #60ffbb,0 0 24px #13e3ff; }
@keyframes symbolTrigger { 0%,100%{transform:scale(1)} 45%{transform:scale(1.13) rotate(-2deg)} 60%{transform:scale(1.08) rotate(2deg)} }
.bet-lock-note { display:block; margin-top:2px; color:#ffdb7c; font-size:.52rem; font-weight:800; }

@media (max-width:1180px) {
  .portal-topbar { grid-template-columns:220px minmax(330px,1fr) 240px; }
  .portal-main { width:min(calc(100% - 120px),1050px); }
  .portal-game-grid { grid-template-columns:repeat(3,1fr); }
  .portal-tabs button { min-width:130px; }
}
@media (max-width:900px) {
  .portal-topbar { grid-template-columns:1fr auto; }
  .portal-player-card { grid-column:1/-1; grid-row:2; width:min(100%,620px); justify-self:center; }
  .portal-main { width:min(calc(100% - 24px),900px); padding-top:22px; }
  .portal-side-rail { display:none !important; }
  .portal-showcase { grid-template-columns:1fr; }
  .portal-promo-stack { grid-template-columns:1fr 1fr; grid-template-rows:auto; }
  .portal-event-copy { width:70%; }
  .portal-game-grid { grid-template-columns:repeat(2,1fr); }
  .progression-section { grid-template-columns:1fr; }
  .magic-wheel-layout { grid-template-columns:1fr; }
}
@media (max-width:650px) {
  .portal-topbar { padding:5px 8px; }
  .portal-home-button { width:42px;height:42px; }
  .portal-brand img { width:150px; }
  .portal-topbar-actions .btn { display:none; }
  .portal-tabs { overflow-x:auto; align-items:end; }
  .portal-tabs button { min-width:115px; min-height:50px; padding:0 12px; font-size:.76rem; }
  .portal-tabs button.active { min-height:58px; }
  .portal-event-card { min-height:310px; }
  .portal-event-copy { width:100%; padding:36px 24px; }
  .portal-event-overlay { background:linear-gradient(90deg,rgba(14,6,54,.96),rgba(25,9,79,.78)); }
  .portal-promo-stack { grid-template-columns:1fr; }
  .portal-promo-card { min-height:125px; }
  .portal-tools { align-items:stretch; flex-direction:column; }
  .portal-search { width:100%; min-width:0; }
  .portal-game-grid { grid-template-columns:1fr; }
  .progression-cards { grid-template-columns:1fr; }
  .magic-wheel-panel { padding:22px 12px; }
  .magic-wheel-stage { --wheel-size:330px; }
  .magic-wheel-center { width:105px;height:105px; }
  .magic-wheel-label b { width:62px;font-size:.68rem; }
  .magic-wheel-prize-list { grid-template-columns:repeat(2,1fr); }
  .game-level-hud { min-width:0; width:100%; order:3; }
}
@media (max-width:380px) {
  .portal-brand img { width:125px; }
  .portal-icon-button { min-width:48px; }
  .magic-wheel-stage { --wheel-size:290px; }
  .magic-wheel-center { width:92px;height:92px; }
  .magic-wheel-label b { font-size:.61rem; }
}
.free-spins-mode .arcade-cabinet { box-shadow: 0 24px 75px rgba(0,0,0,.62),0 0 40px rgba(236,69,255,.48),inset 0 0 35px rgba(75,36,220,.34); }
.free-spins-mode .arcade-topbar { background: radial-gradient(circle at 50% 0,rgba(255,70,236,.35),transparent 48%),linear-gradient(180deg,#28107c,#100838); }
.free-spins-mode .free-readout { animation:freeReadoutPulse 1.15s ease-in-out infinite; }
@keyframes freeReadoutPulse { 0%,100%{box-shadow:inset 0 0 8px rgba(255,255,255,.08)} 50%{box-shadow:inset 0 0 18px rgba(255,79,232,.6),0 0 14px rgba(168,76,255,.5)} }
@media (max-width:900px) { .arcade-game-header { flex-wrap:wrap; } .game-level-hud { order:3; width:min(100%,620px); margin:0 auto; } }

/* ReelQuanta classic machine console — compact controls and permanent gamble buttons */
.classic-machine-console {
  display: grid;
  grid-template-columns: minmax(245px,.88fr) minmax(360px,1.65fr) minmax(350px,1.06fr);
  gap: 4px;
  align-items: stretch;
  margin-top: 6px;
  padding: 4px;
  min-height: 92px;
  border: 3px solid #26306e;
  border-radius: 7px;
  background: linear-gradient(180deg,#101535,#050713);
  box-shadow: inset 0 2px 0 rgba(255,255,255,.08),0 5px 14px rgba(0,0,0,.45);
}
.classic-console-left {
  display: grid;
  grid-template-columns: 52px 62px minmax(116px,1fr);
  gap: 4px;
  min-width: 0;
}
.classic-utility-stack {
  display: grid;
  grid-template-rows: repeat(3,1fr);
  gap: 3px;
}
.classic-utility-button,
.classic-auto-button {
  min-width: 0;
  width: 100%;
  min-height: 0;
  padding: 0;
  border: 1px solid #43a7e5;
  border-radius: 5px;
  color: #fff;
  background: linear-gradient(180deg,#178ed2,#06487d);
  box-shadow: inset 0 2px 0 rgba(255,255,255,.24);
  cursor: pointer;
  font-weight: 1000;
}
.classic-utility-button.info-control { font-size: 1.25rem; }
.classic-utility-button.sound-control { font-size: .9rem; }
.classic-auto-button {
  display: grid;
  place-content: center;
  background: linear-gradient(180deg,#157fc2,#063e70);
}
.classic-auto-button span { font-size: .58rem; line-height: 1; }
.classic-auto-button small { margin-top: 2px; color: #c6eeff; font-size: .48rem; }
.classic-auto-button.active { background: linear-gradient(180deg,#1bb86a,#08723c); box-shadow: 0 0 12px rgba(36,226,126,.35),inset 0 2px 0 rgba(255,255,255,.25); }

.classic-value-tower {
  position: relative;
  min-width: 0;
  display: grid;
  grid-template-rows: 18px 1fr 15px 18px;
  align-items: center;
  justify-items: center;
  overflow: hidden;
  border: 2px solid #ff8b16;
  border-radius: 5px;
  color: #fff;
  background: linear-gradient(180deg,#ff7b12,#d33e04);
  box-shadow: inset 0 2px 0 rgba(255,255,255,.26),inset 0 -8px 18px rgba(84,13,0,.35);
}
.classic-value-tower strong {
  max-width: 100%;
  overflow: hidden;
  color: #fff;
  font-size: clamp(.78rem,1.25vw,1.05rem);
  line-height: 1;
  text-overflow: ellipsis;
  text-shadow: 0 2px 2px rgba(0,0,0,.48);
  white-space: nowrap;
}
.classic-value-tower small {
  color: #fff7dd;
  font-size: .52rem;
  font-weight: 1000;
  line-height: 1;
}
.tower-step {
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  color: #4d1500;
  background: rgba(255,255,255,.16);
  font-size: 1.05rem;
  font-weight: 1000;
  line-height: 1;
}
button.tower-step { cursor: pointer; }
button.tower-step:hover:not(:disabled) { background: rgba(255,255,255,.3); }
button.tower-step:disabled { opacity: .38; cursor: not-allowed; }
.classic-line-value {
  position: absolute;
  right: 4px;
  bottom: 3px;
  color: rgba(255,255,255,.8);
  font-size: .38rem;
  font-weight: 900;
  pointer-events: none;
}
.classic-bet-tower .bet-lock-note {
  position: absolute;
  left: 3px;
  right: 3px;
  bottom: 20px;
  overflow: hidden;
  color: #fff5b1;
  font-size: .34rem;
  line-height: 1;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
  pointer-events: none;
}

.classic-win-panel {
  min-width: 0;
  display: grid;
  grid-template-rows: 1fr 25px;
  overflow: hidden;
  border: 2px solid #8b4a22;
  border-radius: 5px;
  background: linear-gradient(180deg,#2a1108,#0d0807 72%);
  box-shadow: inset 0 0 18px rgba(0,0,0,.8),inset 0 2px 0 rgba(255,212,130,.12);
}
.classic-win-main {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .42em;
  min-width: 0;
  padding: 4px 10px 0;
  color: #fff000;
  text-align: center;
  text-shadow: 0 2px 0 #5f3c00,0 0 9px rgba(255,225,0,.24);
}
.classic-win-main span {
  flex: 0 0 auto;
  font-size: clamp(1rem,2.15vw,1.82rem);
  font-weight: 1000;
}
.classic-win-main strong {
  min-width: 0;
  overflow: hidden;
  font-size: clamp(1.25rem,2.7vw,2.25rem);
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.classic-win-details {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  align-items: center;
  gap: 8px;
  padding: 3px 10px 5px;
  color: #e8e5e1;
  font-size: .48rem;
  font-weight: 900;
  text-align: center;
}
.classic-win-details b { margin-left: 4px; color: #fff; font-size: .66rem; }

.classic-action-buttons {
  display: grid;
  grid-template-columns: repeat(3,minmax(62px,1fr)) minmax(96px,1.35fr);
  gap: 4px;
  min-width: 0;
}
.classic-action-button {
  min-width: 0;
  min-height: 80px;
  display: grid;
  grid-template-rows: 1fr 15px;
  place-items: center;
  padding: 7px 4px 4px;
  border: 2px solid rgba(255,255,255,.35);
  border-radius: 6px;
  color: #fff;
  cursor: pointer;
  box-shadow: inset 0 3px 0 rgba(255,255,255,.28),inset 0 -10px 18px rgba(0,0,0,.2),0 2px 4px rgba(0,0,0,.45);
  transition: filter .12s ease,transform .12s ease,box-shadow .12s ease;
}
.classic-action-button:hover:not(:disabled) { filter: brightness(1.14); }
.classic-action-button:active:not(:disabled) { transform: translateY(2px); box-shadow: inset 0 2px 8px rgba(0,0,0,.3); }
.classic-action-button:disabled { opacity: .42; filter: grayscale(.55); cursor: not-allowed; }
.classic-action-button svg {
  width: 48px;
  height: 48px;
  overflow: visible;
  fill: none;
  stroke: currentColor;
  stroke-width: 5;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: drop-shadow(0 2px 1px rgba(0,0,0,.32));
}
.classic-action-button span { font-size: .48rem; font-weight: 1000; letter-spacing: .03em; }
.action-collect { background: linear-gradient(180deg,#16ca4d,#078426); }
.action-ladder,.action-cards { background: linear-gradient(180deg,#ffc21d,#d88700); }
.action-spin {
  width: auto;
  height: auto;
  border-color: #90f598;
  background: linear-gradient(180deg,#23d74b,#079027 58%,#046b1b);
}
.action-spin svg { width: 61px; height: 61px; stroke-width: 6; }
.action-spin span { font-size: .57rem; }
.classic-action-buttons.win-ready .action-collect,
.classic-action-buttons.win-ready .action-ladder,
.classic-action-buttons.win-ready .action-cards { box-shadow: inset 0 3px 0 rgba(255,255,255,.31),0 0 10px rgba(255,205,30,.22),0 2px 4px rgba(0,0,0,.45); }

/* The target lights always alternate at one constant, smooth rhythm. */
.ladder-step { transition: transform .21s ease,filter .21s ease,box-shadow .21s ease,background .21s ease; }
.ladder-step.idle-flash {
  transform: scale(1.055);
  filter: brightness(1.52) saturate(1.2);
  box-shadow: 0 0 24px rgba(255,255,255,.84),0 0 38px rgba(80,218,255,.48);
}
.ladder-step.landed-up,
.ladder-step.landed-down { animation: none; transform: scale(1.09); }
.play-gamble.is-pressed { transform: translateY(2px); filter: brightness(.88); box-shadow: inset 0 4px 12px rgba(0,0,0,.42); }

@media (max-width: 1050px) {
  .classic-machine-console { grid-template-columns: minmax(230px,.85fr) minmax(320px,1.35fr); }
  .classic-action-buttons { grid-column: 1 / -1; grid-template-columns: repeat(3,1fr) 1.3fr; }
  .classic-action-button { min-height: 64px; grid-template-columns: 46px 1fr; grid-template-rows: 1fr; padding: 5px 10px; }
  .classic-action-button svg,.action-spin svg { width: 42px; height: 42px; }
  .classic-action-button span,.action-spin span { font-size: .63rem; }
}
@media (max-width: 700px) {
  .classic-machine-console { grid-template-columns: 1fr; gap: 5px; }
  .classic-win-panel { min-height: 78px; order: 1; }
  .classic-console-left { order: 2; grid-template-columns: 52px 70px minmax(120px,1fr); }
  .classic-action-buttons { order: 3; grid-column: auto; grid-template-columns: repeat(4,1fr); }
  .classic-action-button { min-height: 68px; display: grid; grid-template-columns: 1fr; grid-template-rows: 1fr 13px; padding: 5px 2px 3px; }
  .classic-action-button svg,.action-spin svg { width: 42px; height: 42px; }
  .classic-action-button span,.action-spin span { font-size: .42rem; }
  .classic-win-main span { font-size: 1.05rem; }
  .classic-win-main strong { font-size: 1.52rem; }
  .classic-win-details { gap: 3px; padding-inline: 4px; }
  .classic-win-details span { font-size: .4rem; }
  .classic-win-details b { display: block; margin: 1px 0 0; font-size: .58rem; }
}

/* ReelQuanta motion upgrade: full vertical reel flow, richer win FX and bonus summaries */
.arcade-reel {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}
.arcade-reel > .arcade-symbol-cell {
  position: relative;
  z-index: 1;
}
.reel-flow-overlay {
  position: absolute;
  z-index: 12;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  background: linear-gradient(180deg,#120719,#26102f 48%,#110617);
  opacity: 1;
  transition: opacity .16s ease, filter .16s ease, transform .16s ease;
  box-shadow: inset 0 18px 28px rgba(0,0,0,.55), inset 0 -18px 28px rgba(0,0,0,.58);
}
.reel-flow-strip {
  width: 100%;
  height: 800%;
  display: flex;
  flex-direction: column;
  animation: reelFlowDown var(--flow-speed,.54s) linear infinite;
  will-change: transform;
}
.reel-flow-symbol {
  flex: 0 0 4.1666667%;
  height: 4.1666667%;
  display: grid;
  place-items: center;
  border-bottom: 1px solid rgba(128,77,167,.18);
  background: radial-gradient(circle at 50% 50%,rgba(255,255,255,.025),transparent 70%);
}
.reel-flow-symbol img {
  width: min(96%,155px);
  height: min(96%,155px);
  object-fit: contain;
  filter: blur(1.2px) saturate(1.22) drop-shadow(0 10px 8px rgba(0,0,0,.52));
  transform: scale(.98);
}
.reel-flow-overlay::before,
.reel-flow-overlay::after {
  content:"";
  position:absolute;
  z-index:4;
  left:0;
  right:0;
  height:18%;
  pointer-events:none;
}
.reel-flow-overlay::before { top:0; background:linear-gradient(180deg,rgba(0,0,0,.72),transparent); }
.reel-flow-overlay::after { bottom:0; background:linear-gradient(0deg,rgba(0,0,0,.76),transparent); }
.reel-flow-stopping {
  opacity: 0;
  filter: blur(5px) brightness(1.6);
  transform: translateY(4%);
}
.arcade-reel.reel-stop-bounce {
  animation: reelStopBounce .38s cubic-bezier(.18,.85,.22,1.2);
}
.reel-stop-spark {
  position:absolute;
  z-index:20;
  left:var(--spark-x);
  bottom:4%;
  width:4px;
  height:22px;
  border-radius:999px;
  background:linear-gradient(#fff,#b55cff 45%,transparent);
  box-shadow:0 0 10px #fff,0 0 18px #8c40ff;
  transform-origin:50% 100%;
  animation:reelStopSpark .62s ease-out var(--spark-delay) both;
  pointer-events:none;
}
@keyframes reelFlowDown {
  from { transform: translateY(-50%); }
  to { transform: translateY(0); }
}
@keyframes reelStopBounce {
  0% { transform:translateY(-1.4%); filter:brightness(1.35); }
  45% { transform:translateY(2.2%); }
  72% { transform:translateY(-.7%); }
  100% { transform:translateY(0); filter:brightness(1); }
}
@keyframes reelStopSpark {
  0% { opacity:0; transform:translate(-50%,0) rotate(-10deg) scaleY(.2); }
  20% { opacity:1; }
  100% { opacity:0; transform:translate(calc(-50% + 18px),-60px) rotate(24deg) scaleY(1); }
}

.game-fx-layer {
  position:fixed;
  z-index:160;
  inset:0;
  overflow:hidden;
  pointer-events:none;
}
.celebration-particle {
  position:absolute;
  left:var(--x);
  top:-7vh;
  color:#fff5a2;
  font-style:normal;
  font-weight:1000;
  font-size:clamp(.8rem,2vw,1.65rem);
  text-shadow:0 0 8px currentColor,0 0 18px currentColor;
  animation:celebrationFall var(--duration) cubic-bezier(.15,.62,.38,1) var(--delay) both;
}
.celebration-particle.free { color:#ff8ff4; }
.celebration-particle.level { color:#ffe072; }
@keyframes celebrationFall {
  0% { opacity:0; transform:translate3d(0,-8vh,0) rotate(0) scale(.35); }
  12% { opacity:1; }
  100% { opacity:0; transform:translate3d(var(--drift),108vh,0) rotate(var(--spin)) scale(1.1); }
}
.arcade-cabinet.cabinet-win-burst {
  animation:cabinetWinBurst .78s ease-out;
}
.arcade-cabinet.feature-shockwave {
  animation:featureShockwave 1.2s ease-in-out infinite alternate;
}
@keyframes cabinetWinBurst {
  0%,100% { filter:none; }
  22% { filter:brightness(1.5) saturate(1.5); box-shadow:0 0 80px rgba(255,216,58,.8),0 0 140px rgba(166,68,255,.52); }
  55% { filter:brightness(1.12) saturate(1.2); }
}
@keyframes featureShockwave {
  from { box-shadow:0 24px 75px rgba(0,0,0,.62),0 0 35px rgba(175,57,255,.4); }
  to { box-shadow:0 24px 75px rgba(0,0,0,.62),0 0 72px rgba(255,84,229,.8),0 0 115px rgba(70,204,255,.38); }
}
.big-win-burst {
  position:fixed;
  z-index:155;
  inset:0;
  display:grid;
  place-content:center;
  text-align:center;
  pointer-events:none;
  background:radial-gradient(circle,rgba(129,46,255,.38),rgba(5,2,20,.7) 58%,transparent 72%);
  animation:bigWinEnter .42s cubic-bezier(.18,1.55,.25,1) both;
}
.big-win-burst span {
  display:block;
  font-size:clamp(2.4rem,8vw,6.6rem);
  font-weight:1000;
  line-height:.88;
  color:#fff4a5;
  text-shadow:0 5px 0 #8f3b00,0 0 22px #ffca38,0 0 54px #b02fff;
}
.big-win-burst strong {
  display:block;
  margin-top:18px;
  font-size:clamp(2rem,6vw,5rem);
  color:#fff;
  text-shadow:0 0 24px #6ddcff,0 0 48px #9c43ff;
}
@keyframes bigWinEnter {
  from { opacity:0; transform:scale(.45) rotate(-4deg); }
  to { opacity:1; transform:scale(1) rotate(0); }
}

.free-spins-summary-modal {
  z-index:150;
  background:radial-gradient(circle,rgba(173,55,255,.5),rgba(2,2,20,.92) 68%);
}
.free-spins-summary-card {
  position:relative;
  width:min(calc(100% - 28px),610px);
  padding:38px 28px 32px;
  overflow:hidden;
  text-align:center;
  border-radius:30px;
  border:4px solid #d17aff;
  background:radial-gradient(circle at 50% 12%,rgba(255,255,255,.18),transparent 34%),linear-gradient(145deg,#170c4d,#531394 57%,#0c1a55);
  box-shadow:0 0 0 7px #2f1269,0 0 70px rgba(208,84,255,.7),0 35px 90px rgba(0,0,0,.65);
  animation:summaryPop .58s cubic-bezier(.16,1.45,.25,1) both;
}
.free-spins-summary-card::before,
.free-spins-summary-card::after {
  content:"✦";
  position:absolute;
  top:18%;
  color:#fff6a7;
  font-size:3.2rem;
  animation:sparkFloat 1.25s ease-in-out infinite alternate;
}
.free-spins-summary-card::before { left:8%; }
.free-spins-summary-card::after { right:8%; animation-delay:.35s; }
.free-spins-summary-rays {
  position:absolute;
  inset:-55%;
  background:repeating-conic-gradient(from 0deg,rgba(255,255,255,.13) 0 8deg,transparent 8deg 20deg);
  animation:summaryRays 9s linear infinite;
}
.free-spins-summary-card > *:not(.free-spins-summary-rays) { position:relative; z-index:2; }
.free-spins-summary-card h2 {
  margin:6px 0 18px;
  font-size:clamp(2.1rem,7vw,4.8rem);
  line-height:.9;
  color:#fff;
  text-shadow:0 4px 0 #6f1fa8,0 0 24px #ff72ef;
}
.free-spins-total {
  margin:0 auto 22px;
  padding:22px 16px;
  border-radius:22px;
  background:rgba(4,4,30,.72);
  border:2px solid rgba(255,255,255,.2);
  box-shadow:inset 0 0 30px rgba(107,66,255,.32);
}
.free-spins-total span,.free-spins-total small { display:block; color:#d7caff; font-weight:900; letter-spacing:.13em; }
.free-spins-total strong { display:block; margin:6px 0; color:#fff29a; font-size:clamp(2.2rem,7vw,5.2rem); line-height:1; text-shadow:0 0 16px #ffae1e,0 0 32px #a53aff; }
@keyframes summaryPop { from{opacity:0;transform:scale(.55) translateY(40px)} to{opacity:1;transform:scale(1) translateY(0)} }
@keyframes summaryRays { to{transform:rotate(360deg)} }

.special-trigger-card {
  animation:specialCardEntrance .55s cubic-bezier(.17,1.55,.25,1) both;
}
.special-trigger-card::before,.special-trigger-card::after { text-shadow:0 0 14px currentColor; }
.special-trigger-image { animation:specialPulse .58s ease-in-out infinite alternate,specialSymbolTurn 2.1s ease-in-out infinite; }
@keyframes specialCardEntrance { from{opacity:0;transform:scale(.45) rotate(-5deg)} to{opacity:1;transform:scale(1) rotate(0)} }
@keyframes specialSymbolTurn { 0%,100%{transform:rotate(-3deg) scale(1)} 50%{transform:rotate(3deg) scale(1.08)} }

.free-spins-mode .arcade-reel-window {
  animation:freeReelAura 1.15s ease-in-out infinite alternate;
}
@keyframes freeReelAura {
  from { box-shadow:0 0 22px rgba(225,68,255,.42),inset 0 0 18px rgba(84,43,200,.2); }
  to { box-shadow:0 0 50px rgba(255,81,224,.85),0 0 85px rgba(60,175,255,.32),inset 0 0 28px rgba(164,54,255,.34); }
}

@media (max-width:700px) {
  .reel-flow-symbol img { width:100%; height:100%; }
  .free-spins-summary-card { padding:30px 16px 24px; }
  .big-win-burst strong { margin-top:10px; }
}

/* ReelQuanta July 2026 controls: quick stop, win-only gamble buttons, ladder jackpot, level-up and admin payout */
.win-action-hidden { display:none !important; }
.classic-action-buttons.gamble-actions-hidden {
  grid-template-columns:minmax(82px,1fr) minmax(118px,1.45fr);
}
.action-spin.quick-stop-mode {
  border-color:#ffd59a;
  background:linear-gradient(180deg,#ff654f,#d21f2b 58%,#810b19);
  animation:quickStopPulse .65s ease-in-out infinite alternate;
}
.action-spin.quick-stop-mode svg { transform:scale(.9); }
.action-spin.quick-stop-engaged { filter:brightness(1.28); }
@keyframes quickStopPulse {
  from { box-shadow:inset 0 3px 0 rgba(255,255,255,.3),0 0 10px rgba(255,80,56,.42),0 2px 4px rgba(0,0,0,.45); }
  to { box-shadow:inset 0 3px 0 rgba(255,255,255,.42),0 0 28px rgba(255,95,58,.92),0 2px 4px rgba(0,0,0,.45); }
}

.ladder-top-marquee {
  width:min(100%,390px);
  min-height:24px;
  margin:0 auto 8px;
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:6px;
  align-items:center;
  padding:6px 9px;
  border-radius:999px;
  border:2px solid rgba(255,224,118,.72);
  background:linear-gradient(180deg,#503107,#1d1000);
  box-shadow:inset 0 0 12px rgba(0,0,0,.65),0 0 12px rgba(255,186,27,.22);
}
.ladder-top-marquee i {
  display:block;
  aspect-ratio:1;
  border-radius:50%;
  background:#5c390a;
  box-shadow:inset 0 0 5px rgba(0,0,0,.8);
}
.ladder-top-marquee.active i {
  animation:ladderBulbChase .72s steps(1,end) infinite;
  animation-delay:calc(var(--light-index) * -.06s);
}
@keyframes ladderBulbChase {
  0%,24%,100% { background:#5c390a; box-shadow:inset 0 0 5px rgba(0,0,0,.8); }
  25%,49% { background:#fff4a4; box-shadow:0 0 10px #fff,0 0 24px #ffd235; }
  50%,74% { background:#5cf2ff; box-shadow:0 0 10px #fff,0 0 24px #31c9ff; }
  75%,99% { background:#ff61e8; box-shadow:0 0 10px #fff,0 0 24px #ff3fd2; }
}
.ladder-panel.ladder-maximum-celebration {
  animation:ladderMaximumPanel 1.05s ease-in-out infinite alternate;
}
.ladder-step.top-light-chase {
  transform:scale(1.08);
  filter:brightness(1.65) saturate(1.45);
  box-shadow:0 0 18px rgba(255,255,255,.92),0 0 34px rgba(62,211,255,.65),0 0 54px rgba(255,71,222,.36);
}
.ladder-step.maximum-rung.maximum-hit {
  z-index:4;
  animation:ladderMaximumRung .48s ease-in-out infinite alternate;
}
@keyframes ladderMaximumPanel {
  from { box-shadow:0 30px 100px rgba(0,0,0,.72),inset 0 0 55px rgba(48,116,255,.2),0 0 28px rgba(255,201,37,.4); }
  to { box-shadow:0 30px 100px rgba(0,0,0,.72),inset 0 0 75px rgba(112,63,255,.42),0 0 75px rgba(255,215,52,.95),0 0 120px rgba(57,205,255,.48); }
}
@keyframes ladderMaximumRung {
  from { transform:scale(1.1); filter:brightness(1.4); }
  to { transform:scale(1.2); filter:brightness(2); box-shadow:0 0 25px #fff,0 0 55px #ffd538,0 0 80px #ff52df; }
}

.level-up-modal {
  z-index:170;
  overflow:hidden;
  background:radial-gradient(circle at 50% 50%,rgba(140,52,255,.56),rgba(2,2,20,.94) 67%);
}
.level-up-card {
  position:relative;
  width:min(calc(100% - 28px),640px);
  padding:38px 30px 30px;
  overflow:hidden;
  text-align:center;
  border-radius:32px;
  border:4px solid #f6c958;
  background:radial-gradient(circle at 50% 0,rgba(255,255,255,.21),transparent 32%),linear-gradient(145deg,#17104c,#5d168e 56%,#101d5c);
  box-shadow:0 0 0 7px #472080,0 0 78px rgba(201,78,255,.78),0 35px 95px rgba(0,0,0,.72);
}
.level-up-card.level-up-animate { animation:levelCardArrival .72s cubic-bezier(.15,1.48,.24,1) both; }
.level-up-rays {
  position:absolute;
  inset:-70%;
  opacity:.46;
  background:repeating-conic-gradient(from 0deg,rgba(255,255,255,.19) 0 7deg,transparent 7deg 19deg);
  animation:levelRaysSpin 10s linear infinite;
}
.level-up-card > *:not(.level-up-rays):not(.level-up-stars) { position:relative; z-index:3; }
.level-up-stars i {
  position:absolute;
  z-index:2;
  color:#fff3a0;
  font-style:normal;
  font-size:clamp(1.3rem,4vw,2.8rem);
  text-shadow:0 0 12px currentColor,0 0 28px currentColor;
  animation:levelStarFloat 1.15s ease-in-out infinite alternate;
}
.level-up-stars i:nth-child(1){left:8%;top:17%}
.level-up-stars i:nth-child(2){right:8%;top:21%;animation-delay:.2s}
.level-up-stars i:nth-child(3){left:13%;bottom:20%;animation-delay:.42s}
.level-up-stars i:nth-child(4){right:12%;bottom:18%;animation-delay:.6s}
.level-up-kicker { display:block; color:#ffe992; font-size:.7rem; font-weight:1000; letter-spacing:.2em; }
.level-up-card .level-up-badge {
  position:relative;
  width:150px;
  height:150px;
  margin:18px auto 13px;
  border:8px solid white;
  box-shadow:0 0 0 10px #813fff,0 0 35px #fff08f,0 0 75px rgba(186,62,255,.9);
  animation:levelBadgePulse .8s ease-in-out infinite alternate;
}
.level-up-card h2 {
  margin:0;
  color:#fff7b3;
  font-size:clamp(2.7rem,8vw,5.4rem);
  line-height:.88;
  text-shadow:0 5px 0 #8b3a00,0 0 24px #ffc934,0 0 52px #d245ff;
}
.level-up-unlocked { margin:10px 0 5px; color:#8feaff; font-size:1rem; font-weight:1000; letter-spacing:.11em; }
.level-up-card .section-description { max-width:500px; margin:8px auto 18px; color:#e1d9ff; }
.level-up-card .level-up-rewards { position:relative; z-index:3; }
.level-up-card .level-up-rewards div {
  border:2px solid rgba(255,255,255,.22);
  background:linear-gradient(180deg,rgba(255,255,255,.13),rgba(7,6,48,.72));
  box-shadow:inset 0 0 22px rgba(83,59,255,.25);
}
.level-up-card .level-up-rewards span { color:#cfd7ff; font-weight:900; letter-spacing:.08em; }
.level-up-card .level-up-rewards strong { color:#fff09c; font-size:1.25rem; text-shadow:0 0 13px rgba(255,205,56,.55); }
.level-up-continue { min-width:230px; margin-top:4px; font-weight:1000; letter-spacing:.04em; }
@keyframes levelCardArrival { from{opacity:0;transform:translateY(70px) scale(.42) rotate(-5deg)} to{opacity:1;transform:translateY(0) scale(1) rotate(0)} }
@keyframes levelRaysSpin { to{transform:rotate(360deg)} }
@keyframes levelStarFloat { from{transform:translateY(-8px) rotate(-9deg) scale(.82)} to{transform:translateY(8px) rotate(9deg) scale(1.18)} }
@keyframes levelBadgePulse { from{transform:scale(.96) rotate(-2deg)} to{transform:scale(1.04) rotate(2deg)} }

.admin-payout-modal { z-index:180; background:rgba(2,3,17,.84); backdrop-filter:blur(7px); }
.admin-payout-card { max-width:650px; background:radial-gradient(circle at 50% 0,rgba(72,154,255,.2),transparent 42%),#0c1234; }
.admin-payout-control {
  margin:20px 0;
  padding:20px;
  border-radius:20px;
  border:1px solid rgba(136,160,255,.25);
  background:rgba(255,255,255,.055);
}
.admin-payout-value { display:flex; align-items:end; justify-content:space-between; gap:14px; margin-bottom:15px; }
.admin-payout-value span { color:#aeb9df; font-size:.72rem; font-weight:1000; letter-spacing:.12em; }
.admin-payout-value strong { color:#fff09b; font-size:2rem; }
.admin-payout-control input[type="range"] { width:100%; accent-color:#9e54ff; }
.admin-payout-control label { display:block; margin:16px 0 7px; color:#cad2f4; font-size:.72rem; font-weight:900; }
.admin-payout-number-wrap { display:flex; align-items:center; gap:8px; }
.admin-payout-number-wrap input {
  width:100%;
  padding:12px 14px;
  border-radius:12px;
  border:1px solid rgba(155,176,255,.32);
  color:#fff;
  background:#080d2a;
  font:inherit;
  font-weight:900;
}
.admin-payout-number-wrap span { color:#fff09b; font-size:1.25rem; font-weight:1000; }
.admin-payout-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-bottom:14px; }
.admin-payout-stats div { padding:13px; border-radius:14px; text-align:center; background:rgba(255,255,255,.06); }
.admin-payout-stats span { display:block; color:#aeb9df; font-size:.65rem; text-transform:uppercase; }
.admin-payout-stats strong { display:block; margin-top:5px; color:#fff; }

@media (max-width:1050px) {
  .classic-action-buttons.gamble-actions-hidden { grid-template-columns:repeat(2,minmax(120px,1fr)); }
}
@media (max-width:700px) {
  .classic-action-buttons.gamble-actions-hidden { grid-template-columns:repeat(2,1fr); }
  .level-up-card { padding:30px 16px 24px; }
  .level-up-card .level-up-badge { width:126px; height:126px; }
  .admin-payout-stats { grid-template-columns:1fr; }
  .admin-payout-value { align-items:flex-start; flex-direction:column; }
}

/* Pharaoh's Golden Secret -------------------------------------------------- */
.pgs-page {
  --pgs-gold:#ffd76a;
  --pgs-deep-gold:#a8660b;
  --pgs-turquoise:#34d8c7;
  --pgs-night:#080f1a;
  background:
    radial-gradient(circle at 50% 5%, rgba(255,187,48,.18), transparent 30%),
    linear-gradient(180deg,#08121b 0,#111006 46%,#050707 100%);
}
.pgs-page::before {
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.17;
  background-image:
    linear-gradient(30deg, transparent 47%, rgba(255,215,106,.18) 48%, rgba(255,215,106,.18) 52%, transparent 53%),
    linear-gradient(-30deg, transparent 47%, rgba(52,216,199,.13) 48%, rgba(52,216,199,.13) 52%, transparent 53%);
  background-size:88px 50px;
}
.pgs-header { border-color:rgba(255,199,71,.35); background:linear-gradient(180deg,rgba(8,18,27,.98),rgba(18,14,6,.98)); }
.pgs-game-main { position:relative; z-index:1; }
.pgs-cabinet {
  border-color:#98702a;
  background:
    linear-gradient(90deg,rgba(255,215,106,.08),transparent 15%,transparent 85%,rgba(255,215,106,.08)),
    linear-gradient(180deg,#171207,#070b0d);
  box-shadow:0 26px 85px rgba(0,0,0,.6),0 0 0 2px #39260a,0 0 42px rgba(255,176,35,.12);
}
.pgs-topbar {
  grid-template-columns:minmax(0,1.4fr) auto minmax(230px,.75fr);
  border-color:rgba(255,201,73,.38);
  background:
    radial-gradient(circle at 50% 0,rgba(255,201,73,.24),transparent 54%),
    linear-gradient(180deg,#182a2d,#0a1517 62%,#151006);
}
.pgs-game-name h1 {
  font-style:normal;
  letter-spacing:.045em;
  background:linear-gradient(180deg,#fff8c4,#ffd76a 45%,#bd7415 76%,#fff2a0);
  -webkit-background-clip:text;
  color:transparent;
  filter:drop-shadow(0 3px 0 #573600) drop-shadow(0 0 14px rgba(255,196,57,.35));
}
.pgs-game-name .arcade-kicker { color:#58e2d0; }
.pgs-game-name p { color:#cfc49c; }
.pgs-sun-emblem {
  width:74px;
  height:74px;
  display:grid;
  place-items:center;
  border:2px solid #f7cb54;
  border-radius:50%;
  color:#fff3a6;
  background:radial-gradient(circle,#fff8bd 0,#f7b62d 29%,#8c4c06 55%,#101b1e 58%);
  box-shadow:0 0 25px rgba(255,193,47,.45),inset 0 0 14px rgba(255,255,255,.45);
  animation:pgsSunPulse 2.4s ease-in-out infinite alternate;
}
.pgs-sun-emblem span { font-size:2.8rem; line-height:1; }
@keyframes pgsSunPulse { to { transform:scale(1.055); filter:brightness(1.2); box-shadow:0 0 42px rgba(255,193,47,.66),inset 0 0 18px rgba(255,255,255,.6); } }
.pgs-chamber-meter {
  min-width:230px;
  padding:8px 12px;
  border:1px solid rgba(255,207,87,.38);
  border-radius:9px;
  text-align:center;
  background:linear-gradient(180deg,#1b261f,#090d0c);
  box-shadow:inset 0 0 18px rgba(0,0,0,.7);
}
.pgs-chamber-meter > span { display:block; color:#d8bd78; font-size:.58rem; font-weight:1000; letter-spacing:.16em; }
.pgs-chamber-meter strong { display:block; margin-top:4px; color:#f3dd95; font-size:.66rem; letter-spacing:.09em; }
.pgs-chamber-lamps { display:grid; grid-template-columns:repeat(4,1fr); gap:5px; margin-top:7px; }
.pgs-chamber-lamps i {
  height:10px;
  border-radius:999px;
  border:1px solid #55421d;
  background:#201b11;
  box-shadow:inset 0 1px 4px rgba(0,0,0,.9);
  transition:.3s ease;
}
.pgs-chamber-lamps i.active { background:linear-gradient(90deg,#ffd24b,#42e5cc); box-shadow:0 0 11px rgba(255,210,75,.8),inset 0 1px 2px #fff9c7; }
.pgs-stage-wrap { grid-template-columns:minmax(0,1fr); margin-inline:24px; }
.pgs-reel-window {
  border-color:#9f7021;
  background:#071214;
  box-shadow:0 0 0 2px #3caa9d,inset 0 0 42px rgba(0,0,0,.95),0 0 26px rgba(255,190,43,.18);
}
.pgs-reel-window .pgs-reels { min-height:min(58vh,520px); background:#081313; }
.pgs-reel {
  position:relative;
  overflow:hidden;
  border-right-color:rgba(255,202,77,.28);
  background:
    radial-gradient(circle at 50% 50%,rgba(26,106,97,.18),transparent 62%),
    linear-gradient(90deg,#071214,#10211e 50%,#071214);
}
.pgs-reel::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(90deg,rgba(255,255,255,.025),transparent 18%,transparent 82%,rgba(0,0,0,.35)); }
.pgs-symbol-cell { border-bottom-color:rgba(255,205,83,.18); isolation:isolate; }
.pgs-symbol-cell img { width:min(92%,168px); height:min(92%,168px); filter:drop-shadow(0 8px 9px rgba(0,0,0,.62)); transition:transform .28s ease,filter .28s ease; }
.pgs-reel.spinning .pgs-symbol-cell img { filter:blur(5px) saturate(1.35) drop-shadow(0 9px 9px rgba(0,0,0,.7)); transform:translateY(7px) scale(.93); }
.pgs-reel.stopped { animation:pgsReelStop .24s ease; }
@keyframes pgsReelStop { 45% { transform:translateY(5px); } }
/* Pharaoh uses the same continuous downward reel-strip motion as Neon Fortune. */
.pgs-reel-flow-overlay {
  background:
    radial-gradient(circle at 50% 50%,rgba(35,145,128,.16),transparent 58%),
    linear-gradient(180deg,#06100f,#10231f 48%,#050d0c);
  box-shadow:inset 0 18px 28px rgba(0,0,0,.7),inset 0 -18px 28px rgba(0,0,0,.72);
}
.pgs-reel-flow-overlay .reel-flow-symbol {
  border-bottom-color:rgba(255,205,83,.16);
  background:radial-gradient(circle at 50% 50%,rgba(255,213,98,.035),transparent 70%);
}
.pgs-reel-flow-overlay .reel-flow-symbol img {
  width:min(92%,168px);
  height:min(92%,168px);
  filter:blur(1.2px) saturate(1.18) drop-shadow(0 10px 9px rgba(0,0,0,.68));
}
.pgs-reel-stop-spark {
  background:linear-gradient(#fffbd0,#ffd75a 42%,#3ee2cc 72%,transparent);
  box-shadow:0 0 10px #fff7b0,0 0 18px #f8bb37,0 0 25px rgba(53,224,203,.7);
}
.pgs-symbol-cell.winner {
  outline:3px solid #ffd65e;
  outline-offset:-4px;
  background:radial-gradient(circle,rgba(255,221,90,.42),rgba(42,209,190,.17) 58%,transparent 76%);
  box-shadow:inset 0 0 22px rgba(255,196,44,.5),0 0 17px rgba(255,198,47,.38);
}
.pgs-symbol-cell.winner img { filter:drop-shadow(0 0 17px rgba(255,223,112,.95)); }
.pgs-symbol-cell.horus-linked { animation:pgsHorusCell .65s ease-in-out infinite alternate; }
@keyframes pgsHorusCell { to { background:radial-gradient(circle,rgba(74,247,230,.46),rgba(255,201,48,.2) 58%,transparent 76%); } }
.pgs-symbol-cell.scarab-source img { animation:pgsScarabBuzz .18s linear 5; filter:drop-shadow(0 0 15px #ffd750); }
@keyframes pgsScarabBuzz { 25% { transform:translate(-4px,2px) rotate(-3deg); } 75% { transform:translate(4px,-2px) rotate(3deg); } }
.pgs-symbol-cell.scarab-upgraded { animation:pgsUpgradeFlash .85s ease; }
@keyframes pgsUpgradeFlash { 0%,100% { filter:none; } 45% { filter:brightness(2.2); transform:scale(1.08); background:#fff1a2; } }
.pgs-symbol-cell.double-wild::after {
  content:attr(data-multiplier);
  position:absolute;
  right:8px;
  top:8px;
  z-index:4;
  padding:3px 7px;
  border-radius:999px;
  color:#2e1800;
  background:#ffe063;
  font-weight:1000;
  box-shadow:0 0 12px #ffd44c;
}
.pgs-symbol-cell.tomb-trigger img { animation:pgsTombShake .8s ease-in-out infinite; filter:drop-shadow(0 0 17px rgba(255,210,77,.9)); }
@keyframes pgsTombShake { 25% { transform:translateX(-3px) rotate(-1deg); } 75% { transform:translateX(3px) rotate(1deg); } }
.pgs-symbol-cell.pyramid-trigger img { animation:pgsPyramidRise .85s ease both; filter:drop-shadow(0 0 20px rgba(255,219,94,.95)); }
@keyframes pgsPyramidRise { from { transform:translateY(28px) scale(.85); opacity:.35; } to { transform:none; opacity:1; } }
.pgs-sand-shimmer { position:absolute; inset:0; z-index:6; pointer-events:none; opacity:.16; background:linear-gradient(115deg,transparent 38%,rgba(255,224,133,.7) 48%,transparent 58%); transform:translateX(-120%); animation:pgsSandSweep 7s linear infinite; }
@keyframes pgsSandSweep { to { transform:translateX(120%); } }
.pgs-feature-overlay { z-index:10; overflow:visible; }
.pgs-win-line { fill:none; stroke:#fff17c; stroke-width:3.5; vector-effect:non-scaling-stroke; stroke-linecap:round; stroke-linejoin:round; filter:drop-shadow(0 0 5px #ffae22); stroke-dasharray:900; stroke-dashoffset:900; animation:pgsDrawLine .65s ease forwards,pgsLinePulse .8s .7s ease-in-out infinite alternate; }
@keyframes pgsDrawLine { to { stroke-dashoffset:0; } }
@keyframes pgsLinePulse { to { stroke-width:6; opacity:.55; } }
.pgs-horus-beam { stroke:#64fff1; stroke-width:8; vector-effect:non-scaling-stroke; stroke-linecap:round; filter:drop-shadow(0 0 7px #45fff0) drop-shadow(0 0 13px #ffcf43); stroke-dasharray:520; stroke-dashoffset:520; animation:pgsBeamDraw .55s ease forwards,pgsBeamPulse .55s .55s ease-in-out infinite alternate; }
@keyframes pgsBeamDraw { to { stroke-dashoffset:0; } }
@keyframes pgsBeamPulse { to { stroke:#ffe465; stroke-width:12; } }
.pgs-horus-multiplier { fill:#fff6a2; font-size:25px; font-weight:1000; text-anchor:middle; paint-order:stroke; stroke:#4b2900; stroke-width:5px; filter:drop-shadow(0 0 6px #ffe052); animation:pgsMultiplierPop .5s ease both; }
@keyframes pgsMultiplierPop { from { opacity:0; transform:scale(.4); transform-origin:center; } }
.pgs-message { margin-inline:24px; color:#fff0a4; border-color:rgba(255,210,84,.48); background:linear-gradient(180deg,#3a2a0e,#0c1716); }
.pgs-feature-strip { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; margin:7px 24px 0; }
.pgs-feature-strip > div { min-width:0; display:flex; align-items:center; gap:7px; padding:5px 8px; border:1px solid rgba(255,206,80,.25); border-radius:6px; background:linear-gradient(180deg,rgba(19,42,39,.94),rgba(10,15,14,.95)); }
.pgs-feature-strip img { width:40px; height:40px; object-fit:contain; filter:drop-shadow(0 3px 4px rgba(0,0,0,.5)); }
.pgs-feature-strip span { min-width:0; }
.pgs-feature-strip b,.pgs-feature-strip small { display:block; }
.pgs-feature-strip b { color:#f7d36d; font-size:.55rem; letter-spacing:.05em; }
.pgs-feature-strip small { overflow:hidden; color:#a9c6bd; font-size:.45rem; text-overflow:ellipsis; white-space:nowrap; }
.pgs-console { border-color:#8e641e; background:linear-gradient(180deg,#17302c,#080e0e 66%,#171106); }
.pgs-win-panel { border-color:#a57924; background:linear-gradient(180deg,#2d260d,#07100f 72%); }
.pgs-action-buttons { grid-template-columns:repeat(3,minmax(62px,1fr)) minmax(110px,1.3fr); }
.pgs-action-buttons.gamble-actions-hidden { grid-template-columns:minmax(78px,.8fr) minmax(120px,1.25fr); }
.pgs-spin-button { border-color:#ffe274; background:linear-gradient(180deg,#f7c93d,#a76a08 60%,#664000); }
.pgs-spin-button.quick-stop-ready { background:linear-gradient(180deg,#ff7859,#b32116 60%,#711008); border-color:#ffd0bd; animation:pgsStopReady .55s ease-in-out infinite alternate; }
@keyframes pgsStopReady { to { filter:brightness(1.22); box-shadow:0 0 17px rgba(255,92,48,.66),inset 0 3px 0 rgba(255,255,255,.35); } }

.pgs-chamber-unlock {
  position:fixed;
  inset:0;
  z-index:90;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:26px;
  padding:30px;
  color:#fff3b0;
  text-align:left;
  background:radial-gradient(circle,rgba(21,103,93,.62),rgba(3,8,8,.94) 62%);
  opacity:0;
  transform:scale(1.06);
  transition:.35s ease;
}
.pgs-chamber-unlock.show { opacity:1; transform:none; }
.pgs-chamber-door { width:min(36vw,280px); aspect-ratio:.72; display:grid; place-items:center; border:8px double #c99231; border-radius:7px 7px 22px 22px; color:#4df0dc; background:linear-gradient(90deg,#30220c 49%,#8a5a14 50%,#30220c 51%); box-shadow:0 0 45px rgba(255,190,42,.4),inset 0 0 50px rgba(0,0,0,.8); animation:pgsDoorOpen 1.5s ease both; }
.pgs-chamber-door span { font-size:clamp(4rem,12vw,8rem); filter:drop-shadow(0 0 16px #50efdc); }
@keyframes pgsDoorOpen { 55% { transform:perspective(600px) rotateY(0); } 100% { transform:perspective(600px) rotateY(-18deg) translateX(-12px); filter:brightness(1.35); } }
.pgs-chamber-unlock small,.pgs-chamber-unlock strong,.pgs-chamber-unlock p { display:block; }
.pgs-chamber-unlock small { color:#51e4d2; font-weight:1000; letter-spacing:.22em; }
.pgs-chamber-unlock strong { max-width:650px; margin-top:8px; font-size:clamp(2rem,5vw,4.7rem); line-height:.92; background:linear-gradient(#fff9c5,#f6be35); -webkit-background-clip:text; color:transparent; filter:drop-shadow(0 4px 0 #613b00); }
.pgs-chamber-unlock p { max-width:620px; color:#eee1b7; font-size:clamp(.9rem,2vw,1.25rem); }

.pgs-level-up { position:fixed; inset:0; z-index:100; display:grid; place-content:center; place-items:center; overflow:hidden; color:#fff7bc; text-align:center; background:radial-gradient(circle,rgba(41,211,192,.5),rgba(7,12,12,.93) 58%); opacity:0; transform:scale(.7); transition:.42s cubic-bezier(.2,.8,.2,1); }
.pgs-level-up.show { opacity:1; transform:none; }
.pgs-level-rays { position:absolute; width:900px; height:900px; background:repeating-conic-gradient(from 0deg,rgba(255,227,105,.28) 0 7deg,transparent 7deg 18deg); animation:pgsRaysRotate 10s linear infinite; }
@keyframes pgsRaysRotate { to { transform:rotate(360deg); } }
.pgs-level-up > span,.pgs-level-up > strong,.pgs-level-up > p { position:relative; z-index:1; }
.pgs-level-up > span { font-size:clamp(1.4rem,4vw,3rem); font-weight:1000; letter-spacing:.26em; }
.pgs-level-up > strong { font-size:clamp(7rem,24vw,16rem); line-height:.8; color:#ffe36e; text-shadow:0 7px 0 #6f4300,0 0 42px #ffd437; }
.pgs-level-up > p { padding:8px 18px; border-radius:999px; color:#12312b; background:#70f1df; font-size:clamp(1rem,2.2vw,1.45rem); font-weight:1000; }

.pgs-pyramid-backdrop { background:radial-gradient(circle at 50% 15%,rgba(255,191,40,.32),rgba(0,0,0,.92) 62%); }
.pgs-pyramid-panel { width:min(960px,96vw); max-height:96vh; overflow:auto; padding:20px; border:3px solid #d29b32; border-radius:18px; background:radial-gradient(circle at 50% 0,rgba(255,198,56,.18),transparent 36%),linear-gradient(180deg,#18322e,#080d0d 62%,#241706); box-shadow:0 0 0 4px #573a0c,0 0 60px rgba(255,181,36,.36),inset 0 0 38px rgba(0,0,0,.65); }
.pgs-pyramid-heading { text-align:center; }
.pgs-pyramid-heading > span { color:#55ead7; font-size:.72rem; font-weight:1000; letter-spacing:.19em; }
.pgs-pyramid-heading h2 { margin:3px 0; color:#ffe58a; font-size:clamp(2rem,5vw,4rem); line-height:.95; text-shadow:0 4px 0 #633b00,0 0 18px rgba(255,211,86,.35); }
.pgs-pyramid-heading p { max-width:720px; margin:8px auto 12px; color:#d9d1af; }
.pgs-respin-lamps { display:flex; justify-content:center; gap:12px; margin:10px 0; }
.pgs-respin-lamps i { width:52px; height:13px; border:1px solid #6a4d18; border-radius:999px; background:#20180a; box-shadow:inset 0 2px 5px #000; }
.pgs-respin-lamps i.active { background:linear-gradient(90deg,#ffbb28,#fff08a); box-shadow:0 0 18px #ffca42,inset 0 1px 2px #fff; }
.pgs-pyramid-board { display:grid; grid-template-columns:repeat(5,1fr); gap:7px; max-width:780px; margin:auto; padding:10px; border:2px solid rgba(75,224,205,.35); border-radius:12px; background:rgba(2,8,8,.62); }
.pgs-pyramid-board.spinning .pgs-pyramid-cell:not(.locked) { animation:pgsEmptyPulse .25s linear infinite alternate; }
@keyframes pgsEmptyPulse { to { background:rgba(255,201,61,.2); filter:brightness(1.5); } }
.pgs-pyramid-cell { position:relative; min-width:0; aspect-ratio:1; display:grid; place-items:center; overflow:hidden; border:1px solid rgba(255,208,88,.28); border-radius:8px; color:rgba(255,222,121,.3); background:linear-gradient(180deg,rgba(38,67,60,.55),rgba(6,13,12,.8)); box-shadow:inset 0 0 12px rgba(0,0,0,.7); }
.pgs-pyramid-cell > span { font-size:2.3rem; }
.pgs-pyramid-cell img { width:90%; height:90%; object-fit:contain; filter:drop-shadow(0 4px 5px rgba(0,0,0,.65)); }
.pgs-pyramid-cell strong { position:absolute; left:5px; right:5px; bottom:5px; overflow:hidden; padding:3px 4px; border:1px solid #ffe88b; border-radius:5px; color:#241400; background:linear-gradient(#fff7ad,#f6b528); font-size:clamp(.55rem,1.6vw,.92rem); text-align:center; text-overflow:ellipsis; white-space:nowrap; box-shadow:0 0 9px rgba(255,192,49,.7); }
.pgs-pyramid-cell.locked { border-color:#eebd4d; background:radial-gradient(circle,rgba(255,203,60,.22),rgba(22,39,35,.78) 70%); }
.pgs-pyramid-cell.newly-locked { animation:pgsNewLock .8s cubic-bezier(.17,.9,.3,1.25); }
@keyframes pgsNewLock { from { opacity:0; transform:translateY(-45px) scale(.45); filter:brightness(2.4); } 65% { transform:translateY(4px) scale(1.08); } }
.pgs-pyramid-event { min-height:45px; display:grid; place-items:center; margin:10px auto; padding:8px; border:1px solid rgba(255,213,92,.33); border-radius:7px; color:#ffe98f; background:#171308; font-weight:1000; letter-spacing:.07em; text-align:center; }
.pgs-pyramid-event.flash { animation:pgsEventFlash .85s ease; }
@keyframes pgsEventFlash { 40% { color:#14372f; background:#fff4a4; box-shadow:0 0 25px #ffd43f; transform:scale(1.025); } }
.pgs-pyramid-footer { display:grid; grid-template-columns:1fr 1fr minmax(150px,.7fr); gap:9px; align-items:stretch; }
.pgs-pyramid-footer > div { display:grid; place-content:center; padding:8px; border:1px solid rgba(255,207,80,.24); border-radius:8px; text-align:center; background:rgba(3,10,9,.65); }
.pgs-pyramid-footer span { color:#9dc9bf; font-size:.55rem; font-weight:1000; letter-spacing:.12em; }
.pgs-pyramid-footer strong { color:#ffe278; font-size:1.3rem; }
.pgs-respin-button { min-height:65px; font-size:1.15rem; }
body.pgs-feature-open { overflow:hidden; }

.pgs-summary-card { max-width:580px; text-align:center; border-color:#d8a43d; background:radial-gradient(circle at 50% 0,rgba(255,210,77,.24),transparent 40%),linear-gradient(180deg,#17342f,#0a0e0e 75%); }
.pgs-summary-card h2 { margin:5px 0; color:#ffe382; font-size:clamp(2rem,6vw,4rem); }
.pgs-summary-card p { color:#cfc8ad; }
.pgs-summary-total { margin:20px 0; padding:18px; border:2px solid #dfad3e; border-radius:12px; background:#171207; box-shadow:inset 0 0 22px rgba(255,188,45,.14); }
.pgs-summary-total span,.pgs-summary-total strong { display:block; }
.pgs-summary-total span { color:#5ae6d3; font-size:.7rem; font-weight:1000; letter-spacing:.15em; }
.pgs-summary-total strong { color:#fff17f; font-size:clamp(2.3rem,7vw,5rem); text-shadow:0 0 16px rgba(255,218,73,.55); }
.pgs-info-modal { border-color:#b9872c; background:linear-gradient(180deg,#172c29,#090e0e); }
.pgs-feature-rules { display:grid; grid-template-columns:repeat(2,1fr); gap:9px; margin:10px 0 18px; }
.pgs-feature-rules article { display:flex; align-items:center; gap:10px; padding:10px; border:1px solid rgba(255,210,91,.24); border-radius:9px; background:rgba(5,14,13,.7); }
.pgs-feature-rules img { width:72px; height:72px; object-fit:contain; flex:0 0 auto; }
.pgs-feature-rules strong { color:#f4d171; }
.pgs-feature-rules p { margin:4px 0 0; color:#b9c9c3; font-size:.78rem; }
.pgs-paytable-card { border-color:rgba(255,205,80,.25); background:linear-gradient(180deg,#18312d,#090f0e); }
.pgs-paytable-card.special { box-shadow:inset 0 0 18px rgba(255,202,56,.13); }
.pgs-admin-actions { justify-content:flex-end; }

.pgs-particles { position:fixed; inset:0; z-index:120; overflow:hidden; pointer-events:none; }
.pgs-particles i { position:absolute; left:var(--x); top:-20px; width:var(--size); height:var(--size); border-radius:50%; background:#ffe064; box-shadow:0 0 10px #ffc62d; animation:pgsParticleFall 2.2s var(--delay) ease-in forwards; }
.pgs-particles.sand i { background:#d8a94b; box-shadow:none; border-radius:2px; }
.pgs-particles.level i { background:#5ff2dd; box-shadow:0 0 10px #48e7d2; }
.pgs-particles.sun i { background:#fff5a7; box-shadow:0 0 13px #ffbe2d; }
@keyframes pgsParticleFall { to { transform:translate(var(--drift),110vh) rotate(540deg); opacity:0; } }

@media (max-width:900px) {
  .pgs-topbar { grid-template-columns:1fr auto; }
  .pgs-chamber-meter { grid-column:1 / -1; width:100%; }
  .pgs-feature-strip { grid-template-columns:1fr; }
  .pgs-feature-strip small { white-space:normal; }
  .pgs-chamber-unlock { flex-direction:column; text-align:center; }
  .pgs-chamber-door { width:min(52vw,210px); }
  .pgs-pyramid-panel { padding:13px; }
}
@media (max-width:700px) {
  .pgs-stage-wrap,.pgs-message,.pgs-feature-strip { margin-inline:4px; }
  .pgs-reel-window .pgs-reels { min-height:310px; }
  .pgs-symbol-cell img { width:97%; height:97%; }
  .pgs-feature-strip { display:none; }
  .pgs-action-buttons { grid-template-columns:repeat(4,1fr); }
  .pgs-action-buttons.gamble-actions-hidden { grid-template-columns:1fr 1.35fr; }
  .pgs-feature-rules { grid-template-columns:1fr; }
  .pgs-feature-rules img { width:58px; height:58px; }
  .pgs-pyramid-board { gap:3px; padding:5px; }
  .pgs-pyramid-cell strong { left:2px; right:2px; bottom:2px; padding:2px; font-size:.48rem; }
  .pgs-pyramid-footer { grid-template-columns:1fr 1fr; }
  .pgs-respin-button { grid-column:1 / -1; }
  .pgs-chamber-unlock strong { font-size:2rem; }
}
.pgs-lobby-art { background-size:cover,contain !important; background-position:center,center !important; background-repeat:no-repeat !important; }


/* Pharaoh win gamble ------------------------------------------------------- */
.pgs-gamble-backdrop {
  z-index:165;
  background:radial-gradient(circle at 50% 16%,rgba(52,216,199,.17),rgba(2,5,6,.9) 66%);
  backdrop-filter:blur(6px);
}
.pgs-gamble-panel {
  border-color:#d5a63e;
  background:
    radial-gradient(circle at 50% 0,rgba(255,214,98,.16),transparent 35%),
    linear-gradient(145deg,#18342f,#080e0d 62%,#2a1b06);
  box-shadow:0 0 0 4px #5f400e,0 30px 100px rgba(0,0,0,.75),inset 0 0 55px rgba(35,214,192,.11);
}
.pgs-gamble-panel h2 { color:#ffe37d; text-shadow:0 4px 0 #714300,0 0 24px rgba(255,207,66,.52); }
.pgs-gamble-panel .section-kicker { color:#50e6d3; }
.pgs-gamble-panel .ladder-step.current-rung {
  border-color:#fff3a0;
  color:#18372f;
  background:linear-gradient(180deg,#fff5a8,#e7ad27);
}
.pgs-gamble-panel .ladder-step.upper-target { border-color:#5ff7e2; }
.pgs-gamble-panel .ladder-step.lower-target { border-color:#e2b84d; }
.pgs-gamble-panel .card-back {
  border-color:#f7f7f7;
  color:#db5a5a;
  background:
    repeating-linear-gradient(45deg, rgba(232,96,96,.28) 0 2px, transparent 2px 12px),
    repeating-linear-gradient(-45deg, rgba(232,96,96,.24) 0 2px, transparent 2px 12px),
    repeating-linear-gradient(0deg, rgba(232,96,96,.14) 0 2px, transparent 2px 16px),
    linear-gradient(180deg, #ffffff, #f7f2f2);
}
.pgs-gamble-panel .card-back span { font-size:1.18rem; text-shadow:none; }

/* Pharaoh's Golden Secret — progressive expanding-wild ruleset */
.pgs-upgrade-lamps { grid-template-columns:repeat(5,1fr); }
.pgs-evolution-meter { min-width:210px; }

.pgs-symbol-cell.wild-landing img {
  animation:pgsWildLandingPulse .42s ease-in-out infinite alternate;
  filter:drop-shadow(0 0 18px rgba(82,255,232,.95)) drop-shadow(0 0 32px rgba(255,206,72,.72));
}

.pgs-reel.pgs-wild-expanding {
  z-index:8;
  animation:pgsWildReelCharge .58s ease both;
  box-shadow:inset 0 0 42px rgba(64,255,225,.42),0 0 32px rgba(255,202,61,.58);
}

.pgs-reel.pgs-wild-expanding::after {
  content:"";
  position:absolute;
  inset:-8px;
  z-index:5;
  pointer-events:none;
  background:linear-gradient(180deg,transparent,rgba(85,255,229,.72),rgba(255,216,86,.88),transparent);
  filter:blur(7px);
  animation:pgsWildSweep .58s ease both;
}

.pgs-reel.pgs-expanded-wild-reel {
  box-shadow:inset 0 0 30px rgba(68,255,226,.28),0 0 18px rgba(255,207,69,.38);
}

.pgs-symbol-cell.expanded-wild img {
  animation:pgsExpandedWildGlow .8s ease-in-out infinite alternate;
  filter:drop-shadow(0 0 17px #53ffea) drop-shadow(0 0 28px rgba(255,207,63,.9));
}

.pgs-symbol-cell.scatter-trigger img {
  animation:pgsScatterTemple 1s cubic-bezier(.2,.8,.2,1) infinite alternate;
  filter:drop-shadow(0 0 18px rgba(255,224,108,.98)) drop-shadow(0 0 30px rgba(255,147,29,.82));
}

.pgs-symbol-cell.symbol-upgrading {
  z-index:9;
  animation:pgsSymbolUpgradeCharge .52s ease both;
}

.pgs-symbol-cell.symbol-upgrading img {
  filter:brightness(2.2) saturate(1.5) drop-shadow(0 0 22px #fff8b4) drop-shadow(0 0 38px #51ffe8);
}

.pgs-symbol-cell.symbol-upgraded {
  animation:pgsSymbolUpgradeLand .75s cubic-bezier(.16,.9,.25,1.25) both;
}

.pgs-upgrade-beam {
  stroke:#fff5a0;
  stroke-width:7;
  vector-effect:non-scaling-stroke;
  stroke-linecap:round;
  filter:drop-shadow(0 0 6px #fff7b5) drop-shadow(0 0 13px #45ffe4);
  stroke-dasharray:530;
  stroke-dashoffset:530;
  animation:pgsUpgradeBeamDraw .48s ease forwards,pgsUpgradeBeamPulse .42s .48s ease-in-out infinite alternate;
}

.pgs-upgrade-overlay {
  position:fixed;
  inset:0;
  z-index:190;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(14px,3vw,42px);
  padding:24px;
  opacity:0;
  transform:scale(.9);
  pointer-events:none;
  background:radial-gradient(circle at center,rgba(37,113,99,.78),rgba(4,7,7,.94) 66%);
  transition:opacity .22s ease,transform .28s ease;
}

.pgs-upgrade-overlay.show { opacity:1; transform:scale(1); }
.pgs-upgrade-symbol {
  width:min(22vw,220px);
  aspect-ratio:1;
  display:grid;
  place-items:center;
  border:3px solid #f4c755;
  border-radius:50%;
  background:radial-gradient(circle,rgba(87,255,225,.24),rgba(28,18,5,.9) 68%);
  box-shadow:0 0 38px rgba(255,208,72,.5),inset 0 0 30px rgba(77,255,226,.23);
}
.pgs-upgrade-symbol img { width:88%; height:88%; object-fit:contain; filter:drop-shadow(0 0 18px rgba(255,226,106,.82)); }
.pgs-upgrade-copy { max-width:660px; text-align:center; }
.pgs-upgrade-copy small,.pgs-upgrade-copy strong,.pgs-upgrade-copy p { display:block; }
.pgs-upgrade-copy small { color:#57f1dc; font-weight:1000; letter-spacing:.22em; }
.pgs-upgrade-copy strong { margin:10px 0; color:#ffe887; font-size:clamp(1.45rem,4vw,3.8rem); line-height:1; text-shadow:0 4px 0 #573500,0 0 20px rgba(255,218,93,.45); }
.pgs-upgrade-copy p { color:#f0e7c5; font-size:clamp(.8rem,1.7vw,1.1rem); }

@keyframes pgsWildLandingPulse { from{transform:scale(.94)} to{transform:scale(1.08)} }
@keyframes pgsWildReelCharge { 0%{transform:scale(.98)} 48%{transform:scale(1.045)} 100%{transform:scale(1)} }
@keyframes pgsWildSweep { 0%{transform:translateY(-110%);opacity:0} 30%{opacity:1} 100%{transform:translateY(110%);opacity:0} }
@keyframes pgsExpandedWildGlow { from{transform:scale(.97);filter:drop-shadow(0 0 12px #53ffea) drop-shadow(0 0 19px rgba(255,207,63,.68))} to{transform:scale(1.055);filter:drop-shadow(0 0 24px #53ffea) drop-shadow(0 0 38px rgba(255,207,63,1))} }
@keyframes pgsScatterTemple { from{transform:translateY(3px) scale(.98)} to{transform:translateY(-5px) scale(1.06)} }
@keyframes pgsSymbolUpgradeCharge { 0%{transform:scale(1);opacity:1} 55%{transform:scale(1.22);opacity:.92} 100%{transform:scale(.3);opacity:0} }
@keyframes pgsSymbolUpgradeLand { 0%{transform:scale(.25);opacity:0} 65%{transform:scale(1.15);opacity:1} 100%{transform:scale(1);opacity:1} }
@keyframes pgsUpgradeBeamDraw { to{stroke-dashoffset:0} }
@keyframes pgsUpgradeBeamPulse { from{opacity:.62;stroke-width:5} to{opacity:1;stroke-width:10} }

@media (max-width:760px) {
  .pgs-upgrade-overlay { flex-direction:column; gap:10px; text-align:center; }
  .pgs-upgrade-symbol { width:min(35vw,150px); }
  .pgs-upgrade-copy strong { font-size:1.45rem; }
}

.pgs-ladder-timing-wrap {
  margin:12px 0 5px;
  padding:11px;
  border:1px solid rgba(255,210,83,.35);
  border-radius:10px;
  background:rgba(8,18,17,.82);
  text-align:center;
}
.pgs-ladder-timing-track {
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:6px;
  margin-bottom:8px;
}
.pgs-ladder-timing-track i {
  aspect-ratio:1;
  border:1px solid rgba(132,174,166,.35);
  border-radius:50%;
  background:#1a2a27;
  box-shadow:inset 0 0 8px rgba(0,0,0,.8);
  transition:transform .06s linear,background .06s linear,box-shadow .06s linear;
}
.pgs-ladder-timing-track i.safe {
  border-color:#ffe47b;
  background:#8c6515;
  box-shadow:0 0 10px rgba(255,214,78,.48),inset 0 0 7px rgba(255,246,174,.55);
}
.pgs-ladder-timing-track i.cursor {
  z-index:2;
  transform:scale(1.38);
  background:#52ffe3;
  box-shadow:0 0 10px #52ffe3,0 0 22px rgba(82,255,227,.9),inset 0 0 6px #fff;
}
.pgs-ladder-timing-track i.safe.cursor {
  background:#fff6a1;
  box-shadow:0 0 12px #fff6a1,0 0 28px #ffc934,0 0 42px rgba(255,201,52,.9);
}
.pgs-ladder-timing-wrap strong {
  color:#ffe787;
  font-size:.62rem;
  letter-spacing:.08em;
}
/* Pharaoh's Golden Secret: full-height Horus expanding Wild */
.pgs-reel {
  position: relative;
  overflow: hidden;
}
.pgs-horus-expanded-overlay {
  position: absolute;
  inset: 0;
  z-index: 18;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  opacity: 0;
  transform: scale(.22, .12);
  transform-origin: center center;
  filter: brightness(1.55) drop-shadow(0 0 8px #fff0a8) drop-shadow(0 0 24px #ffb000);
  transition: opacity .18s ease, transform .5s cubic-bezier(.17,.84,.25,1.16), filter .5s ease;
}
.pgs-horus-expanded-overlay::before {
  content: '';
  position: absolute;
  inset: -12%;
  background: radial-gradient(ellipse at center, rgba(255,236,145,.85) 0%, rgba(255,171,0,.34) 40%, transparent 72%);
  animation: pgsHorusAura 1s ease-in-out infinite alternate;
}
.pgs-horus-expanded-overlay img {
  position: relative;
  z-index: 1;
  width: 96%;
  height: 98%;
  object-fit: contain;
}
.pgs-horus-expanded-overlay.show {
  opacity: 1;
  transform: scale(1);
  filter: brightness(1.08) drop-shadow(0 0 9px #fff2aa) drop-shadow(0 0 30px #f7a600);
}
.pgs-horus-covered-cell > img {
  opacity: 0;
}
.pgs-expanded-wild-reel {
  box-shadow: inset 0 0 22px rgba(255,204,60,.9), 0 0 26px rgba(255,163,0,.55);
}
@keyframes pgsHorusAura {
  from { opacity: .5; transform: scale(.92); }
  to { opacity: 1; transform: scale(1.05); }
}


/* Pharaoh cinematic Free Spins presentation ------------------------------ */
.pgs-bonus-evolution{display:flex;align-items:center;gap:12px;margin:0 18px 10px;padding:8px 12px;border:1px solid rgba(255,210,89,.6);border-radius:10px;background:linear-gradient(180deg,rgba(44,29,8,.96),rgba(8,14,20,.98));box-shadow:inset 0 0 22px rgba(255,179,23,.14),0 0 18px rgba(255,174,20,.1)}
.pgs-bonus-evolution.hidden{display:none}.pgs-bonus-evolution-title{flex:0 0 auto;color:#ffe897;font-size:.62rem;font-weight:1000;letter-spacing:.16em}.pgs-bonus-evolution-track{display:flex;align-items:center;justify-content:center;gap:7px;flex:1;min-width:0}.pgs-bonus-evolution-track>i{color:#c9912d;font-style:normal;font-weight:1000}.pgs-evolution-symbol{position:relative;display:grid;grid-template-rows:42px auto;place-items:center;min-width:58px;padding:4px 5px;border:1px solid rgba(255,209,92,.28);border-radius:7px;background:rgba(4,10,15,.75);transition:.35s ease}.pgs-evolution-symbol img{width:38px;height:38px;object-fit:contain;filter:drop-shadow(0 0 6px rgba(255,196,55,.25))}.pgs-evolution-symbol span{font-size:.48rem;font-weight:900;color:#d3c08b;white-space:nowrap}.pgs-evolution-symbol.active{transform:translateY(-2px);border-color:#fff0a0;background:linear-gradient(180deg,rgba(255,187,34,.3),rgba(12,19,23,.92));box-shadow:0 0 18px rgba(255,183,28,.58),inset 0 0 12px rgba(255,230,126,.22)}.pgs-evolution-symbol.active img{animation:pgsEvolutionPulse .9s ease-in-out infinite alternate}.pgs-evolution-symbol.eliminated{opacity:.28;filter:grayscale(1);transform:scale(.9)}.pgs-evolution-symbol.eliminated:after{content:'✕';position:absolute;inset:0;display:grid;place-items:center;color:#ff704c;font-size:1.8rem;font-weight:1000;text-shadow:0 0 8px #000}.pgs-evolution-symbol.future{opacity:.7}
@keyframes pgsEvolutionPulse{to{transform:scale(1.11);filter:brightness(1.35) drop-shadow(0 0 10px #ffd45f)}}
.pgs-free-spin-plaque{position:absolute;right:12px;bottom:10px;z-index:24;min-width:150px;padding:8px 13px;border:2px solid #d89c28;border-radius:8px;text-align:center;background:linear-gradient(180deg,rgba(34,23,5,.95),rgba(7,12,17,.96));box-shadow:0 0 16px rgba(255,182,37,.4),inset 0 0 10px rgba(255,223,112,.16);pointer-events:none}.pgs-free-spin-plaque.hidden{display:none}.pgs-free-spin-plaque span{display:block;color:#ffd75f;font-size:.62rem;font-weight:1000;letter-spacing:.13em}.pgs-free-spin-plaque strong{display:block;color:#fff2aa;font-size:1.1rem;line-height:1.05;text-shadow:0 0 9px rgba(255,185,32,.65)}
.pgs-cinematic-dimmer{position:fixed;inset:0;z-index:90;background:rgba(1,4,8,.62);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .25s}.pgs-cinematic-open .pgs-cinematic-dimmer{display:block;opacity:1}.pgs-free-spins-intro,.pgs-parchment-notice{position:fixed;inset:0;z-index:100;display:grid;place-items:center;pointer-events:none;opacity:0;transition:opacity .3s}.pgs-free-spins-intro.hidden,.pgs-parchment-notice.hidden{display:none}.pgs-free-spins-intro.show,.pgs-parchment-notice.show{opacity:1}.pgs-free-spins-intro{align-content:center;text-align:center;transform:scale(.78);transition:opacity .3s,transform .55s cubic-bezier(.16,.86,.23,1.18)}.pgs-free-spins-intro.show{transform:scale(1)}.pgs-free-spins-intro img{width:min(270px,34vw);filter:drop-shadow(0 0 25px #ffc43d)}.pgs-free-spins-intro small{margin-top:-18px;color:#6fe6dc;font-size:.72rem;font-weight:1000;letter-spacing:.2em}.pgs-free-spins-intro strong{color:#fff2a0;font-family:Georgia,serif;font-size:clamp(2.4rem,7vw,6rem);line-height:.95;text-shadow:0 4px 0 #6b3c00,0 0 28px #ffbb2f}.pgs-free-spins-intro b{margin-top:12px;padding:8px 22px;border-block:1px solid #d9a135;color:#ffd75f;font-size:clamp(.9rem,2vw,1.45rem);letter-spacing:.11em}.pgs-intro-rays{position:absolute;width:70vmin;height:70vmin;border-radius:50%;background:repeating-conic-gradient(from 0deg,rgba(255,201,72,.22) 0 7deg,transparent 7deg 15deg);animation:pgsIntroRotate 12s linear infinite;mask-image:radial-gradient(circle,#000 0 42%,transparent 70%)}@keyframes pgsIntroRotate{to{transform:rotate(360deg)}}
.pgs-parchment-inner{position:relative;width:min(760px,78vw);min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:34px 70px;text-align:center;background:linear-gradient(90deg,transparent 0,#c18a3a 5%,#e6c17d 13%,#f1d79e 50%,#e6c17d 87%,#c18a3a 95%,transparent 100%);clip-path:polygon(3% 8%,12% 2%,24% 6%,37% 2%,50% 6%,63% 2%,77% 6%,90% 2%,97% 10%,94% 25%,98% 40%,94% 55%,98% 72%,94% 91%,84% 96%,70% 92%,56% 98%,42% 93%,28% 98%,14% 92%,4% 96%,7% 78%,3% 61%,7% 44%,3% 27%);filter:drop-shadow(0 0 8px #fff1a1) drop-shadow(0 0 28px #e89817);transform:scaleX(.6) translateY(20px);transition:transform .45s cubic-bezier(.15,.88,.25,1.12)}.pgs-parchment-notice.show .pgs-parchment-inner{transform:scaleX(1) translateY(0)}.pgs-parchment-inner:before{content:'';position:absolute;inset:12px 45px;border:1px solid rgba(105,57,8,.42);border-radius:30%}.pgs-parchment-inner small{position:relative;color:#74460d;font-size:.68rem;font-weight:1000;letter-spacing:.19em}.pgs-parchment-inner strong{position:relative;color:#5b3508;font-size:clamp(1.7rem,4vw,3.2rem);font-family:Georgia,serif;text-shadow:0 1px #fff0bd}.pgs-parchment-inner span{position:relative;color:#80521b;font-size:.78rem;font-weight:900;letter-spacing:.08em}
.pgs-line-announcer{position:absolute;left:50%;top:50%;z-index:26;min-width:190px;padding:10px 20px;border:1px solid #f0c35a;border-radius:8px;text-align:center;background:rgba(3,8,13,.9);box-shadow:0 0 24px rgba(255,186,37,.55);opacity:0;transform:translate(-50%,-42%) scale(.9);transition:.18s;pointer-events:none}.pgs-line-announcer.hidden{display:none}.pgs-line-announcer.show{opacity:1;transform:translate(-50%,-50%) scale(1)}.pgs-line-announcer small{display:block;color:#58e2d0;font-size:.62rem;font-weight:1000;letter-spacing:.15em}.pgs-line-announcer strong{display:block;color:#ffe383;font-size:1.3rem;text-shadow:0 0 10px rgba(255,183,26,.65)}
.pgs-bonus-active .pgs-cabinet{box-shadow:0 26px 85px rgba(0,0,0,.6),0 0 0 2px #7e5714,0 0 55px rgba(255,183,31,.27)}.pgs-bonus-active .pgs-reel-window:after{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;box-shadow:inset 0 0 35px rgba(255,174,21,.26);animation:pgsBonusIntensity 1.4s ease-in-out infinite alternate}.pgs-bonus-active .pgs-reel-window{background-image:radial-gradient(circle at 50% 105%,rgba(255,178,30,.24),transparent 47%)}@keyframes pgsBonusIntensity{to{box-shadow:inset 0 0 55px rgba(255,209,76,.38)}}
@media(max-width:820px){.pgs-bonus-evolution{margin-inline:6px;overflow-x:auto}.pgs-bonus-evolution-title{display:none}.pgs-evolution-symbol{min-width:48px;grid-template-rows:34px auto}.pgs-evolution-symbol img{width:32px;height:32px}.pgs-bonus-evolution-track{justify-content:flex-start}.pgs-parchment-inner{width:92vw;padding:28px 32px}.pgs-free-spin-plaque{right:6px;bottom:6px;min-width:118px;padding:6px 8px}}

/* Pharaoh mobile landscape-only layout ---------------------------------- */
.pgs-orientation-gate{display:none}
.pgs-mobile-enter{display:none}

@media (hover:none) and (pointer:coarse) and (orientation:portrait){
  body.pgs-page{overflow:hidden!important;touch-action:none}
  body.pgs-page>.pgs-header,
  body.pgs-page>.pgs-game-main,
  body.pgs-page>.pgs-mobile-enter,
  body.pgs-page>.modal-backdrop,
  body.pgs-page>.pgs-cinematic-dimmer,
  body.pgs-page>.pgs-free-spins-intro,
  body.pgs-page>.pgs-parchment-notice,
  body.pgs-page>.pgs-level-up{visibility:hidden!important;pointer-events:none!important}
  .pgs-orientation-gate{position:fixed;inset:0;z-index:10000;display:grid!important;place-items:center;padding:calc(20px + env(safe-area-inset-top)) calc(20px + env(safe-area-inset-right)) calc(20px + env(safe-area-inset-bottom)) calc(20px + env(safe-area-inset-left));visibility:visible!important;pointer-events:auto!important;background:radial-gradient(circle at 50% 30%,rgba(255,192,45,.22),transparent 34%),linear-gradient(180deg,#07131b,#171006 72%,#050606);text-align:center}
  .pgs-orientation-card{width:min(88vw,430px);padding:28px 24px;border:2px solid #d69b29;border-radius:18px;background:linear-gradient(180deg,rgba(24,47,44,.98),rgba(12,12,7,.98));box-shadow:0 0 0 4px #4f340b,0 0 42px rgba(255,181,35,.32),inset 0 0 28px rgba(0,0,0,.65)}
  .pgs-orientation-card small{color:#56e7d3;font-size:.67rem;font-weight:1000;letter-spacing:.16em}
  .pgs-orientation-card h1{margin:8px 0;color:#ffe27a;font-family:Georgia,serif;font-size:clamp(1.8rem,8vw,3rem);line-height:.95;text-shadow:0 3px 0 #674000,0 0 18px rgba(255,204,73,.45)}
  .pgs-orientation-card p{margin:12px 0 0;color:#e6ddba}
  .pgs-rotate-device{width:100px;height:66px;margin:0 auto 20px;border:4px solid #ffd963;border-radius:13px;box-shadow:0 0 18px rgba(255,210,68,.48);animation:pgsRotatePhone 1.8s ease-in-out infinite}
  .pgs-rotate-device span{position:absolute;margin:14px 0 0 -10px;color:#58edd8;font-size:2rem;font-weight:1000}
  @keyframes pgsRotatePhone{0%,20%{transform:rotate(90deg)}70%,100%{transform:rotate(0deg)}}
}

@media (hover:none) and (pointer:coarse) and (orientation:landscape) and (max-height:600px){
  html,body.pgs-page{width:100%;height:100%;min-height:0;overflow:hidden;overscroll-behavior:none}
  body.pgs-page{padding:0;background:#050909;touch-action:manipulation;-webkit-user-select:none;user-select:none}
  .pgs-orientation-gate{display:none!important}
  .pgs-header,.pgs-topbar,.pgs-feature-strip,.pgs-game-disclaimer,.game-disclaimer{display:none!important}
  .pgs-game-main{position:fixed;inset:0;display:block!important;min-height:0!important;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)!important;overflow:hidden}
  .pgs-cabinet{width:100%;height:100%;max-width:none!important;margin:0!important;padding:4px!important;border-width:1px!important;border-radius:0!important;display:grid;grid-template-columns:minmax(0,1fr) clamp(188px,27vw,250px);grid-template-rows:auto minmax(0,1fr);gap:4px;overflow:hidden;box-shadow:none!important}
  .pgs-bonus-evolution{grid-column:1;grid-row:1;height:42px;margin:0!important;padding:3px 7px!important;gap:4px;overflow:hidden}
  .pgs-bonus-evolution-title{display:none!important}
  .pgs-bonus-evolution-track{gap:3px!important;overflow:hidden;justify-content:center!important}
  .pgs-evolution-symbol{min-width:0!important;width:clamp(36px,7vw,56px);grid-template-rows:27px auto!important;padding:1px 2px!important}
  .pgs-evolution-symbol img{width:26px!important;height:26px!important}
  .pgs-evolution-symbol span{font-size:.36rem!important;max-width:52px;overflow:hidden;text-overflow:ellipsis}
  .pgs-stage-wrap{grid-column:1;grid-row:2;min-width:0;min-height:0;height:100%;margin:0!important;display:block!important}
  .pgs-reel-window{height:100%;min-height:0;border-radius:5px}
  .pgs-reel-window .pgs-reels{height:100%!important;min-height:0!important}
  .pgs-symbol-cell img,.pgs-reel-flow-overlay .reel-flow-symbol img{width:94%!important;height:94%!important;max-width:none!important}
  .pgs-message{position:absolute;left:8px;right:calc(clamp(188px,27vw,250px) + 8px);bottom:calc(env(safe-area-inset-bottom) + 5px);z-index:30;height:20px;min-height:0;margin:0!important;padding:2px 8px!important;font-size:.55rem;pointer-events:none;opacity:.88}
  .pgs-console{grid-column:2;grid-row:1 / span 2;min-width:0;height:100%;margin:0!important;padding:5px!important;display:grid!important;grid-template-rows:auto minmax(76px,1fr) auto;gap:5px;border-radius:7px!important;overflow:hidden}
  .classic-console-left{display:grid!important;grid-template-columns:44px 1fr 1fr;gap:4px;min-width:0}
  .classic-utility-stack{display:grid!important;grid-template-columns:1fr!important;gap:3px}
  .classic-utility-button,.classic-auto-button{min-width:0!important;width:100%!important;min-height:30px!important;height:auto!important;padding:2px!important;font-size:.65rem!important;border-radius:5px!important}
  .classic-auto-button span{font-size:.48rem!important}.classic-auto-button small{font-size:.38rem!important}
  .classic-value-tower{min-width:0!important;height:auto!important;padding:2px!important;border-radius:5px!important}
  .tower-step{min-height:29px!important;font-size:1rem!important}
  .classic-value-tower strong{font-size:.8rem!important}.classic-value-tower small{font-size:.39rem!important}.classic-line-value,.bet-lock-note{font-size:.34rem!important;white-space:normal!important;line-height:1.05}
  .pgs-win-panel{min-width:0!important;height:auto!important;padding:5px!important;display:flex!important;flex-direction:column;justify-content:center}
  .classic-win-main strong{font-size:clamp(1.2rem,5vh,2rem)!important}.classic-win-main span{font-size:.55rem!important}
  .classic-win-details{grid-template-columns:1fr!important;gap:2px!important}.classic-win-details span{font-size:.43rem!important}
  .pgs-action-buttons,.pgs-action-buttons.gamble-actions-hidden{display:grid!important;grid-template-columns:repeat(2,1fr)!important;gap:4px!important;min-width:0}
  .classic-action-button{min-width:0!important;min-height:48px!important;padding:3px!important;border-radius:7px!important}
  .classic-action-button svg{width:23px!important;height:23px!important}.classic-action-button span{font-size:.47rem!important}
  .pgs-spin-button{grid-column:1 / -1;min-height:58px!important}
  .pgs-spin-button svg{width:30px!important;height:30px!important}
  .pgs-free-spin-plaque{right:4px!important;bottom:24px!important;min-width:102px!important;padding:4px 6px!important}.pgs-free-spin-plaque span{font-size:.44rem!important}.pgs-free-spin-plaque strong{font-size:.77rem!important}
  .pgs-line-announcer{min-width:140px!important;padding:6px 10px!important}.pgs-line-announcer strong{font-size:.9rem!important}
  .pgs-mobile-enter{position:fixed;right:calc(env(safe-area-inset-right) + 8px);top:calc(env(safe-area-inset-top) + 7px);z-index:9999;display:block;min-height:34px;padding:5px 10px;border:1px solid #efd16e;border-radius:7px;color:#241400;background:linear-gradient(#fff1a0,#d79622);font-weight:1000;font-size:.56rem;box-shadow:0 0 12px rgba(255,205,64,.42)}
  .pgs-mobile-enter.hidden{display:none}
  .modal-backdrop{padding:calc(5px + env(safe-area-inset-top)) calc(5px + env(safe-area-inset-right)) calc(5px + env(safe-area-inset-bottom)) calc(5px + env(safe-area-inset-left))!important}
  .modal,.gamble-panel,.pgs-info-modal,.pgs-summary-card{max-width:96vw!important;max-height:94dvh!important;overflow:auto!important}
  .pgs-parchment-inner{width:76vw!important;min-height:110px!important;padding:18px 42px!important}.pgs-parchment-inner strong{font-size:1.45rem!important}
  .pgs-free-spins-intro img{width:min(150px,24vw)!important}.pgs-free-spins-intro strong{font-size:2.4rem!important}
}

/* ReelQuanta platform network, progression and feature-buy layer */
.rq-network-strip{position:relative;z-index:75;min-height:42px;display:flex;align-items:center;justify-content:center;gap:clamp(8px,1.4vw,24px);padding:5px 18px;border-bottom:1px solid rgba(255,207,84,.38);background:linear-gradient(90deg,rgba(4,11,24,.98),rgba(18,12,34,.98) 42%,rgba(4,26,31,.98));box-shadow:0 8px 28px rgba(0,0,0,.35);color:#fff;font-family:Inter,system-ui,sans-serif}.rq-network-strip>div{display:flex;align-items:center;gap:7px;white-space:nowrap}.rq-network-strip small{font-size:.55rem;letter-spacing:.12em;color:#e3b85d}.rq-network-strip strong{font-size:.85rem;color:#fff1a5;text-shadow:0 0 9px rgba(255,190,49,.5)}.rq-jackpot-live{font-size:.62rem;font-weight:900;letter-spacing:.14em;color:#66f4de}.rq-jackpot-live i{width:7px;height:7px;border-radius:50%;background:#2dff75;box-shadow:0 0 12px #2dff75;animation:rqLivePulse 1.1s ease-in-out infinite}.rq-network-player{margin-left:auto!important;gap:15px!important;font-size:.62rem;color:#b9c6dd}.rq-network-player b{color:#fff}.rq-network-strip button{border:1px solid rgba(255,215,102,.4);border-radius:7px;padding:7px 10px;color:#fff4bd;background:linear-gradient(#3d2810,#17100b);font-size:.58rem;font-weight:900;letter-spacing:.08em;cursor:pointer}.rq-network-strip button:hover{filter:brightness(1.18);transform:translateY(-1px)}
.rq-live-sidebar{position:fixed;z-index:68;right:12px;top:132px;width:250px;max-height:calc(100vh - 150px);overflow:hidden;border:1px solid rgba(91,236,222,.34);border-radius:16px;background:linear-gradient(160deg,rgba(7,17,32,.96),rgba(12,31,35,.96));box-shadow:0 18px 55px rgba(0,0,0,.48),0 0 28px rgba(57,231,216,.12);color:#eaf7ff;font-family:Inter,system-ui,sans-serif}.rq-live-sidebar header{padding:15px;border-bottom:1px solid rgba(255,255,255,.08);background:linear-gradient(90deg,rgba(56,232,216,.12),rgba(255,190,53,.09))}.rq-live-sidebar header span,.rq-live-sidebar header strong{display:block}.rq-live-sidebar header span{font-size:.56rem;letter-spacing:.16em;color:#4cffc6}.rq-live-sidebar header strong{margin-top:4px;color:#ffe28b}.rq-live-sidebar ol{list-style:none;margin:0;padding:8px 13px}.rq-live-sidebar li{display:flex;justify-content:space-between;gap:8px;padding:8px 2px;border-bottom:1px solid rgba(255,255,255,.06);font-size:.67rem}.rq-live-sidebar li b{max-width:125px;overflow:hidden;text-overflow:ellipsis}.rq-live-sidebar li span{color:#ffd769;white-space:nowrap}.rq-social-feed{padding:10px 14px 16px}.rq-social-feed>b{font-size:.58rem;letter-spacing:.13em;color:#6cf4df}.rq-social-feed div{max-height:210px;overflow:hidden}.rq-social-feed p{margin:9px 0;color:#b9c5d5;font-size:.64rem;line-height:1.35;animation:rqFeedIn .45s ease both}.portal-lobby-page .portal-main{padding-right:min(280px,20vw)}
.rq-platform-modal{position:fixed;z-index:10000;inset:0;display:grid;place-items:center;padding:20px;background:rgba(1,4,12,.78);backdrop-filter:blur(8px)}.rq-platform-modal.hidden{display:none}.rq-platform-panel{position:relative;width:min(780px,95vw);max-height:88vh;overflow:auto;padding:26px;border:1px solid rgba(255,211,93,.45);border-radius:22px;background:radial-gradient(circle at 50% 0,rgba(58,239,218,.1),transparent 40%),linear-gradient(145deg,#101b31,#10141f 58%,#211509);box-shadow:0 35px 110px #000,0 0 48px rgba(255,188,49,.22);color:#f5f7ff}.rq-platform-panel h2{margin:4px 0;font-size:2rem;color:#ffe085}.rq-platform-panel>p{margin-top:5px;color:#aebbd0}.rq-platform-kicker{font-size:.65rem;font-weight:900;letter-spacing:.2em;color:#55f4dd}.rq-platform-close{position:absolute;right:15px;top:15px;border:0;background:transparent;color:#fff;font-size:1.2rem;cursor:pointer}.rq-mission-list,.rq-shop-list{display:grid;gap:10px;margin-top:20px}.rq-mission-card{display:grid;gap:8px;padding:14px;border:1px solid rgba(255,255,255,.09);border-radius:13px;background:rgba(2,8,18,.58)}.rq-mission-card.complete{border-color:rgba(60,255,179,.5);box-shadow:0 0 18px rgba(60,255,179,.1)}.rq-mission-card.claimed{opacity:.6}.rq-mission-card>div:first-child{display:grid;grid-template-columns:80px 1fr auto;align-items:center;gap:10px}.rq-mission-card small{font-size:.58rem;color:#55f4dd}.rq-mission-card strong{font-size:.9rem}.rq-mission-card span{color:#c7d2e1;font-size:.72rem}.rq-mission-track{height:8px;border-radius:8px;background:#172339;overflow:hidden}.rq-mission-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#28bff8,#55f4c9,#ffd25a);box-shadow:0 0 12px #3fe3c8;transition:width .7s cubic-bezier(.22,.8,.25,1)}.rq-mission-card footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.rq-mission-card footer button,.rq-shop-card>button{border:1px solid #ffe074;border-radius:8px;padding:7px 12px;background:linear-gradient(#f3bf3b,#9b570c);color:#241100;font-weight:1000;cursor:pointer}.rq-mission-card footer button:disabled,.rq-shop-card>button:disabled{opacity:.45;cursor:default}.rq-shop-credit-line{display:flex;justify-content:space-between;margin:16px 0 2px;padding:11px;border-radius:10px;background:#091221;color:#9eb1c9}.rq-shop-credit-line strong{color:#ffe17b}.rq-shop-list{grid-template-columns:repeat(2,1fr)}.rq-shop-card{display:grid;grid-template-columns:50px 1fr auto;align-items:center;gap:12px;padding:14px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(5,12,24,.66)}.rq-shop-card>span{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:radial-gradient(circle,#ffe88a,#c17815);color:#2c1500;font-weight:1000}.rq-shop-card p{margin:4px 0;color:#aab7ca;font-size:.7rem}.rq-shop-card small{color:#58e8d5;font-weight:900}.rq-platform-empty{padding:20px;text-align:center;color:#9eb0c8}
.rq-feature-buy-row{display:flex;justify-content:center;margin:6px 0 8px}.rq-feature-buy-button{display:grid;grid-template-columns:auto auto auto;align-items:center;gap:12px;min-height:40px;padding:7px 16px;border:1px solid #ffd76b;border-radius:10px;color:#fff;background:linear-gradient(135deg,#6b2713,#211006 55%,#06323b);box-shadow:inset 0 1px rgba(255,255,255,.15),0 0 20px rgba(255,169,40,.15);cursor:pointer;transition:transform .16s ease,filter .16s ease,box-shadow .16s ease}.rq-feature-buy-button:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.15);box-shadow:0 0 24px rgba(255,186,55,.32)}.rq-feature-buy-button span{color:#ffe38d;font-size:.72rem;font-weight:1000;letter-spacing:.09em}.rq-feature-buy-button b{font-size:.62rem;color:#60f2df}.rq-feature-buy-button small{font-size:.64rem;color:#fff}.rq-feature-buy-button:disabled{opacity:.42;cursor:not-allowed}
.rq-global-level-up,.rq-jackpot-celebration{position:fixed;z-index:20000;inset:0;display:grid;place-items:center;pointer-events:none;opacity:0;visibility:hidden;background:radial-gradient(circle,rgba(255,202,71,.26),rgba(2,7,16,.91) 58%);transition:opacity .25s ease,visibility .25s}.rq-global-level-up.show,.rq-jackpot-celebration.show{opacity:1;visibility:visible}.rq-level-card{position:relative;z-index:2;min-width:min(520px,90vw);padding:28px;text-align:center;border:3px solid #ffe282;border-radius:22px;background:linear-gradient(145deg,#0e443e,#211406);box-shadow:0 0 0 5px rgba(43,222,204,.34),0 0 75px #f4ac2a;transform:scale(.45) translateY(60px)}.rq-global-level-up.show .rq-level-card{animation:rqLevelCard 3s cubic-bezier(.18,.85,.25,1) both}.rq-level-card small{color:#68f5df;letter-spacing:.2em;font-weight:900}.rq-level-card h2{margin:8px 0;color:#fff3a8;font:1000 clamp(2.4rem,7vw,5rem) Georgia,serif;text-shadow:0 0 22px #f5a919,0 5px #742b00}.rq-level-number{display:block;font-size:clamp(4rem,11vw,8rem);line-height:.8;color:#fff;text-shadow:0 0 18px #fff,0 0 45px #ffd332}.rq-level-card>div:last-child{display:flex;justify-content:center;gap:24px;margin-top:18px}.rq-level-card>div span{padding:9px 13px;border-radius:8px;background:rgba(0,0,0,.34);color:#bcd1d6;font-size:.65rem}.rq-level-card b{display:block;margin-top:3px;color:#ffe273;font-size:1rem}.rq-level-fireworks{position:absolute;inset:0;background:repeating-conic-gradient(from 0deg,rgba(255,223,87,.65) 0 2deg,transparent 2deg 11deg);mask:radial-gradient(circle,transparent 0 18%,#000 19% 55%,transparent 70%);animation:rqRotate 12s linear infinite}.rq-jackpot-celebration{text-align:center}.rq-jackpot-celebration>span{font-size:1rem;color:#5effde;letter-spacing:.25em;font-weight:1000}.rq-jackpot-celebration h2{margin:8px;font:1000 clamp(4rem,12vw,9rem) Georgia;color:#ffe16d;text-shadow:0 0 18px #fff,0 0 50px #ffb01d,0 8px #6f2800}.rq-jackpot-celebration strong{font-size:clamp(2.5rem,8vw,6rem);color:#fff}.rq-jackpot-celebration p{color:#70f5df;letter-spacing:.2em;font-weight:900}.rq-jackpot-rays{position:absolute;width:100vmax;aspect-ratio:1;border-radius:50%;background:repeating-conic-gradient(rgba(255,223,95,.55) 0 3deg,transparent 3deg 12deg);animation:rqRotate 16s linear infinite}.rq-xp-level-flash{animation:rqXpFlash 3s ease both}
@keyframes rqLivePulse{50%{opacity:.35;transform:scale(.7)}}@keyframes rqFeedIn{from{opacity:0;transform:translateX(12px)}}@keyframes rqRotate{to{transform:rotate(360deg)}}@keyframes rqLevelCard{0%{opacity:0;transform:scale(.42) translateY(60px)}18%{opacity:1;transform:scale(1.08) translateY(0)}28%,78%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.85) translateY(-35px)}}@keyframes rqXpFlash{0%,100%{filter:none}15%,55%{filter:brightness(1.8) drop-shadow(0 0 16px #ffd64b)}}
@media(max-width:1200px){.rq-live-sidebar{display:none}.portal-lobby-page .portal-main{padding-right:initial}.rq-network-player{display:none!important}}@media(max-width:760px){.rq-network-strip{gap:8px;padding:4px 7px;overflow-x:auto;justify-content:flex-start}.rq-jackpot-live span{display:none}.rq-network-strip>div small{display:none}.rq-network-strip button{padding:6px}.rq-shop-list{grid-template-columns:1fr}.rq-feature-buy-button{grid-template-columns:1fr 1fr}.rq-feature-buy-button small{grid-column:1/-1}.rq-mission-card>div:first-child{grid-template-columns:65px 1fr}.rq-mission-card>div:first-child>span{grid-column:2}.rq-level-card{padding:18px}}


/* Portfolio math badges */
.game-profile-meta{margin-top:5px;font-size:.56rem;font-weight:900;letter-spacing:.055em;line-height:1.25;color:#b7d4d3}.game-profile-meta.category-a{color:#ffd46c}.game-profile-meta.category-b{color:#72e3ee}.game-profile-meta.category-c{color:#ff9f6b}.portal-game-card .game-content>div:first-child{min-width:0}.portal-game-card .game-profile-meta{white-space:normal}.game-mechanic-meta{margin-top:3px;color:#91a3bd;font-size:.5rem;font-weight:800;letter-spacing:.045em;line-height:1.2}


/* VIP avatar borders */
#profile-avatar[data-border="silver"]{box-shadow:0 0 0 4px #cbd5e1,0 0 24px #dbeafe}#profile-avatar[data-border="gold"],#profile-avatar[data-border="royal-gold"]{box-shadow:0 0 0 4px #ffd15c,0 0 28px #ffad24}#profile-avatar[data-border="platinum"]{box-shadow:0 0 0 4px #72f1e1,0 0 30px #39d8ff}#profile-avatar[data-border="diamond"]{box-shadow:0 0 0 4px #a7e8ff,0 0 22px #fff,0 0 38px #916cff}#profile-avatar[data-border="pharaoh-sun"]{box-shadow:0 0 0 4px #e6a62e,0 0 34px #ffbf35;background:radial-gradient(circle,#fff1a4,#b56a0d)}#profile-avatar[data-border="neon-quantum"]{box-shadow:0 0 0 4px #59e8ff,0 0 20px #5b83ff,0 0 38px #c54cff}


/* v32: Neon Fortune uses the Pharaoh control and button language */
body.game-page.arcade-game-page:not(.pgs-page) .game-header.arcade-game-header{position:relative;z-index:70;height:68px;min-height:68px;padding:5px 18px;display:grid;grid-template-columns:210px minmax(320px,1fr) auto;align-items:center;gap:12px;border:0;border-bottom:2px solid #38e8f3;background:linear-gradient(#3011b2,#17056d 62%,#0b0340);box-shadow:0 5px 20px #000,inset 0 -1px rgba(255,255,255,.25)}
body.game-page.arcade-game-page:not(.pgs-page) .game-header .brand img{width:185px;max-height:55px;object-fit:contain}
body.game-page.arcade-game-page:not(.pgs-page) .game-title-small{display:none}
body.game-page.arcade-game-page:not(.pgs-page) .game-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px}
body.game-page.arcade-game-page:not(.pgs-page) .chip-pill{min-width:155px;justify-content:center;background:linear-gradient(#e51c28,#83000c);border:2px solid #ffb03a;box-shadow:inset 0 2px rgba(255,255,255,.26),0 3px 0 #4e0004}
body.game-page.arcade-game-page:not(.pgs-page) .game-header-actions .btn{border-radius:999px;border:2px solid #fff0a0;background:linear-gradient(#ffb52b,#dd6410);box-shadow:0 3px 0 #853000;color:#fff;min-height:42px}
body.game-page.arcade-game-page:not(.pgs-page) .game-header-actions .btn:last-child{background:linear-gradient(#4f30b8,#251064);border-color:#bdb0ff;box-shadow:0 3px 0 #110633}
body.game-page.arcade-game-page:not(.pgs-page) .slot-cabinet.arcade-cabinet{position:relative;width:min(100%,1510px);padding:7px 10px 9px;border:3px solid #d6a23a;border-radius:9px;background:linear-gradient(#10251f,#07140f 18%,#020907);box-shadow:0 0 0 4px #175e58,0 0 0 6px #ba7a1c,0 18px 55px #000,inset 0 0 28px rgba(40,210,189,.12)}
body.game-page.arcade-game-page:not(.pgs-page) .arcade-topbar{padding:4px 8px;display:grid;grid-template-columns:minmax(270px,.82fr) 170px 170px;align-items:center;gap:15px;border-bottom:1px solid rgba(64,219,200,.23);background:transparent}
body.game-page.arcade-game-page:not(.pgs-page) .arcade-game-name h1{color:#ffcf5d;text-shadow:0 3px #5e2308,0 0 22px rgba(255,186,55,.34)}
body.game-page.arcade-game-page:not(.pgs-page) .arcade-jackpot-display{border:2px solid rgba(255,223,117,.5);border-radius:12px;background:radial-gradient(circle at 50% 15%,rgba(54,243,219,.12),transparent 42%),linear-gradient(180deg,rgba(4,24,19,.94),rgba(12,20,16,.92));box-shadow:0 0 0 2px rgba(17,92,86,.55),0 0 24px rgba(255,191,53,.12)}
body.game-page.arcade-game-page:not(.pgs-page) .classic-machine-console{background:transparent}
body.game-page.arcade-game-page:not(.pgs-page) .classic-console-left{grid-template-columns:52px 62px minmax(116px,1fr)}
body.game-page.arcade-game-page:not(.pgs-page) .classic-utility-button,body.game-page.arcade-game-page:not(.pgs-page) .classic-auto-button{border-radius:5px;border:1px solid #43a7e5;background:linear-gradient(#178ed2,#06487d);box-shadow:inset 0 2px rgba(255,255,255,.24)}
body.game-page.arcade-game-page:not(.pgs-page) .classic-value-tower{height:auto;padding:0;grid-template-rows:18px 1fr 15px 18px;border-radius:5px;cursor:pointer;border:2px solid #b56615;background:linear-gradient(#7c330f,#4b1704 18%,#341204 80%,#1d0a03);box-shadow:inset 0 1px rgba(255,230,170,.22),0 2px 4px rgba(0,0,0,.45)}
body.game-page.arcade-game-page:not(.pgs-page) .tower-step{display:grid}
body.game-page.arcade-game-page:not(.pgs-page) .classic-action-buttons{grid-template-columns:repeat(3,minmax(62px,1fr)) minmax(96px,1.35fr);gap:4px}
body.game-page.arcade-game-page:not(.pgs-page) .classic-action-button{width:auto;height:auto;min-height:80px;border-radius:6px;grid-template-rows:1fr 15px;padding:7px 4px 4px;border:2px solid #8d8d8d;background:linear-gradient(#5f706f,#20312f);box-shadow:inset 0 3px rgba(255,255,255,.15),inset 0 -10px 18px rgba(0,0,0,.2),0 2px 4px rgba(0,0,0,.45)}
body.game-page.arcade-game-page:not(.pgs-page) .classic-action-button svg{width:48px;height:48px}
body.game-page.arcade-game-page:not(.pgs-page) .action-spin{border:2px solid #90f598;background:linear-gradient(#23d74b,#079027 58%,#046b1b);box-shadow:inset 0 3px rgba(255,255,255,.28),inset 0 -10px 18px rgba(0,0,0,.2),0 2px 4px rgba(0,0,0,.45)}
body.game-page.arcade-game-page:not(.pgs-page) .action-collect{border-color:#86998c;background:linear-gradient(#5f706f,#20312f)}
body.game-page.arcade-game-page:not(.pgs-page) .action-ladder,body.game-page.arcade-game-page:not(.pgs-page) .action-cards{border-color:#c89c46;background:linear-gradient(#7b4d12,#472b08)}


/* v33: Neon Fortune pushed closer to Pharaoh exact cabinet layout */
body.game-page.arcade-game-page:not(.pgs-page){min-width:760px;min-height:100vh;overflow:hidden;color:#fff;background:radial-gradient(ellipse at 50% 30%,rgba(28,116,124,.22),transparent 48%),linear-gradient(#010507,#07100e 48%,#020303)}
body.game-page.arcade-game-page:not(.pgs-page)::before{content:"";position:fixed;inset:0;pointer-events:none;background:repeating-linear-gradient(90deg,transparent 0 11vw,rgba(220,170,45,.025) 11.1vw 11.2vw)}
body.game-page.arcade-game-page:not(.pgs-page) .game-main.arcade-game-main{height:calc(100vh - 68px);min-height:510px;padding:10px 12px 12px;display:block}
body.game-page.arcade-game-page:not(.pgs-page) .slot-cabinet.arcade-cabinet{height:100%;margin:auto;display:grid;grid-template-rows:96px minmax(0,1fr) 35px auto;gap:5px;overflow:visible}
body.game-page.arcade-game-page:not(.pgs-page) .arcade-topbar{min-height:0;grid-template-columns:minmax(270px,.75fr) 64px minmax(330px,.85fr);padding:4px 8px;gap:15px}
body.game-page.arcade-game-page:not(.pgs-page) .arcade-game-name p{margin-top:2px;color:#d4c17d;font-size:.62rem;letter-spacing:.16em}
body.game-page.arcade-game-page:not(.pgs-page) .arcade-top-logo{width:64px;height:64px;justify-self:center;padding:13px;border-radius:50%;background:radial-gradient(circle at 50% 50%,rgba(255,232,101,.84),rgba(255,193,57,.24) 53%,rgba(255,210,68,.09) 62%,transparent 66%),linear-gradient(180deg,#1a342d,#102019);box-shadow:0 0 0 3px rgba(242,185,62,.35),0 0 22px rgba(255,207,74,.36),inset 0 0 0 2px rgba(255,242,162,.18);animation:rqPharaohSunPulse 1.7s ease-in-out infinite alternate;object-fit:contain;filter:saturate(0) brightness(2.6) contrast(1.2)}
body.game-page.arcade-game-page:not(.pgs-page) .arcade-jackpot-display{align-self:stretch;display:flex;flex-direction:column;justify-content:center;min-width:0;padding:8px 16px}
body.game-page.arcade-game-page:not(.pgs-page) .arcade-jackpot-display span{margin:0 0 4px;text-align:center;color:#84e9d9;font-size:.48rem;font-weight:1000;letter-spacing:.18em}
body.game-page.arcade-game-page:not(.pgs-page) .arcade-jackpot-display strong{text-align:center;color:#fff2ac;font-size:1.18rem;text-shadow:0 0 12px rgba(255,179,28,.35)}
body.game-page.arcade-game-page:not(.pgs-page) .arcade-stage-wrap{position:relative;padding:0 6px}
body.game-page.arcade-game-page:not(.pgs-page) .payline-rail{display:flex;align-items:center;justify-content:center;width:34px;border:2px solid #145c54;border-radius:12px;background:linear-gradient(180deg,#071f1a,#0f241f);box-shadow:inset 0 0 14px rgba(48,214,194,.1)}
body.game-page.arcade-game-page:not(.pgs-page) .arcade-reel-window{border:3px solid #d3942e;border-radius:12px;background:#081a1e;box-shadow:0 0 0 2px #2de8d6,inset 0 0 24px rgba(255,211,74,.08)}
body.game-page.arcade-game-page:not(.pgs-page) .arcade-message{height:35px;min-height:35px;display:grid;place-items:center;border:1px solid #87581b;border-radius:7px;background:linear-gradient(#2f1808,#130d08);color:#ffe596;text-align:center;font-weight:900;letter-spacing:.05em}
body.game-page.arcade-game-page:not(.pgs-page) .rq-feature-buy-row{margin:0 0 3px}
body.game-page.arcade-game-page:not(.pgs-page) .classic-machine-console{height:auto;min-height:92px;padding:4px;display:grid;grid-template-columns:minmax(245px,.88fr) minmax(360px,1.65fr) minmax(350px,1.06fr);gap:4px;background:transparent}
body.game-page.arcade-game-page:not(.pgs-page) .classic-win-panel{height:auto;min-height:0;grid-template-rows:1fr 25px;border:2px solid #b56615;border-radius:6px;background:linear-gradient(#1d1306,#060504);box-shadow:inset 0 0 22px rgba(255,223,127,.06),0 2px 4px rgba(0,0,0,.45)}
body.game-page.arcade-game-page:not(.pgs-page) .classic-win-main strong{font-size:clamp(1.7rem,3.35vw,2.7rem);color:#fff148;text-shadow:0 0 10px rgba(255,231,60,.44)}
body.game-page.arcade-game-page:not(.pgs-page) .classic-win-details{color:#ffe7a6}
body.game-page.arcade-game-page:not(.pgs-page) .classic-action-button span{letter-spacing:.06em}
@keyframes rqPharaohSunPulse{from{transform:scale(.97);box-shadow:0 0 0 3px rgba(242,185,62,.35),0 0 18px rgba(255,207,74,.28),inset 0 0 0 2px rgba(255,242,162,.18)}to{transform:scale(1.02);box-shadow:0 0 0 3px rgba(242,185,62,.45),0 0 32px rgba(255,207,74,.45),inset 0 0 0 2px rgba(255,242,162,.24)}}
@media(max-width:1100px) and (orientation:landscape){body.game-page.arcade-game-page:not(.pgs-page) .game-header.arcade-game-header{height:48px;min-height:48px;padding:3px 8px;grid-template-columns:140px minmax(190px,1fr) auto;gap:5px}body.game-page.arcade-game-page:not(.pgs-page) .game-header .brand img{width:132px}body.game-page.arcade-game-page:not(.pgs-page) .game-main.arcade-game-main{height:calc(100vh - 48px);min-height:330px;padding:5px 8px 7px}body.game-page.arcade-game-page:not(.pgs-page) .slot-cabinet.arcade-cabinet{grid-template-rows:56px minmax(0,1fr) 24px 61px;gap:3px}body.game-page.arcade-game-page:not(.pgs-page) .arcade-topbar{grid-template-columns:215px 40px minmax(310px,1fr);gap:6px;padding:1px 4px}body.game-page.arcade-game-page:not(.pgs-page) .arcade-top-logo{width:38px;height:38px;padding:8px}body.game-page.arcade-game-page:not(.pgs-page) .classic-machine-console{min-height:61px;grid-template-columns:205px minmax(230px,1fr) 245px}body.game-page.arcade-game-page:not(.pgs-page) .classic-action-button{min-height:53px}body.game-page.arcade-game-page:not(.pgs-page) .classic-action-button svg{width:25px;height:25px}body.game-page.arcade-game-page:not(.pgs-page) .action-spin svg{width:40px;height:40px}}


/* Shared modern Free Spins completion modal - 2026-07-25 */
.rq-fs-summary-backdrop{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 50% 42%,rgba(41,25,91,.45),rgba(1,5,14,.9) 65%);backdrop-filter:blur(10px) saturate(1.15);transition:opacity .22s ease,visibility .22s ease}
.rq-fs-summary-backdrop.hidden{display:none!important}.rq-fs-summary-backdrop.closing{opacity:0}
.rq-fs-summary-card{--rq-fs-accent:#ffd85a;position:relative;isolation:isolate;width:min(660px,calc(100vw - 28px));overflow:hidden;padding:38px 34px 30px;border:1px solid color-mix(in srgb,var(--rq-fs-accent) 78%,white);border-radius:28px;background:linear-gradient(155deg,rgba(15,25,47,.98),rgba(4,8,20,.99) 62%,rgba(18,11,35,.99));box-shadow:0 0 0 5px rgba(255,255,255,.035),0 26px 90px rgba(0,0,0,.72),0 0 55px color-mix(in srgb,var(--rq-fs-accent) 28%,transparent);text-align:center;animation:rqFsSummaryIn .5s cubic-bezier(.2,.86,.22,1.16)}
.rq-fs-summary-backdrop[data-game="pharaohs-golden-secret"] .rq-fs-summary-card{--rq-fs-accent:#f5c23d}.rq-fs-summary-backdrop[data-game="pirates-hidden-treasure"] .rq-fs-summary-card{--rq-fs-accent:#44e0d0}.rq-fs-summary-backdrop[data-game="dragons-fire"] .rq-fs-summary-card{--rq-fs-accent:#ff794b}.rq-fs-summary-backdrop[data-game="crystal-kingdom"] .rq-fs-summary-card{--rq-fs-accent:#a996ff}.rq-fs-summary-backdrop[data-game="neon-fortune"] .rq-fs-summary-card{--rq-fs-accent:#4deeff}.rq-fs-summary-backdrop[data-game="dascha-and-lucy"] .rq-fs-summary-card{--rq-fs-accent:#ff77c8}
.rq-fs-summary-glow{position:absolute;z-index:-1;left:50%;top:48%;width:520px;height:520px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--rq-fs-accent) 28%,transparent),transparent 66%);filter:blur(8px);animation:rqFsGlow 2.2s ease-in-out infinite alternate}
.rq-fs-summary-x{position:absolute;right:16px;top:16px;width:42px;height:42px;border:1px solid rgba(255,255,255,.22);border-radius:14px;background:rgba(255,255,255,.06);color:#fff;font-size:1.75rem;line-height:1;cursor:pointer}.rq-fs-summary-x:hover{background:rgba(255,255,255,.13)}
.rq-fs-summary-kicker{display:inline-flex;padding:7px 13px;border:1px solid color-mix(in srgb,var(--rq-fs-accent) 58%,transparent);border-radius:999px;background:color-mix(in srgb,var(--rq-fs-accent) 11%,transparent);color:var(--rq-fs-accent);font-size:.72rem;font-weight:1000;letter-spacing:.18em}
.rq-fs-summary-card h2{margin:16px 0 5px;color:#fff;font-size:clamp(1.65rem,4.2vw,3rem);line-height:.98;letter-spacing:.02em;text-shadow:0 0 24px color-mix(in srgb,var(--rq-fs-accent) 42%,transparent)}
.rq-fs-summary-game{margin:0;color:#cfd7e9;font-size:clamp(.9rem,1.8vw,1.1rem);font-weight:800}
.rq-fs-summary-total-wrap{position:relative;margin:26px auto 18px;padding:20px 18px 18px;border:1px solid rgba(255,255,255,.12);border-radius:20px;background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.025));box-shadow:inset 0 1px rgba(255,255,255,.1)}
.rq-fs-summary-total-wrap small{display:block;color:#aebbd3;font-size:.68rem;font-weight:1000;letter-spacing:.17em}.rq-fs-summary-total-wrap strong{display:block;max-width:100%;overflow:hidden;margin:6px 0 0;color:#fff5a8;font-size:clamp(2.35rem,7.5vw,5rem);line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.055em;text-overflow:clip;white-space:nowrap;text-shadow:0 0 17px color-mix(in srgb,var(--rq-fs-accent) 68%,transparent),0 3px 0 rgba(0,0,0,.4)}.rq-fs-summary-total-wrap span{display:block;margin-top:7px;color:var(--rq-fs-accent);font-size:.74rem;font-weight:1000;letter-spacing:.2em}
.rq-fs-summary-copy{margin:0 auto 22px;max-width:470px;color:#c6d0e4;font-size:.92rem;line-height:1.45}.rq-fs-summary-continue{min-width:220px;min-height:52px;padding:0 28px;border:1px solid #fff2a4;border-radius:15px;background:linear-gradient(180deg,#ffe975,#dfa41b);box-shadow:inset 0 2px rgba(255,255,255,.55),0 8px 28px color-mix(in srgb,var(--rq-fs-accent) 30%,transparent);color:#171004;font-size:.94rem;font-weight:1000;letter-spacing:.11em;cursor:pointer}.rq-fs-summary-continue:hover{filter:brightness(1.08);transform:translateY(-1px)}
.rq-fs-summary-confetti{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}.rq-fs-summary-confetti i{--angle:calc(var(--i)*15deg);position:absolute;left:50%;top:51%;width:7px;height:16px;border-radius:3px;background:var(--rq-fs-accent);opacity:0;transform:rotate(var(--angle)) translateY(-80px);animation:rqFsConfetti 1.7s calc(var(--i)*.025s) ease-out forwards}.rq-fs-summary-confetti i:nth-child(3n){background:#fff}.rq-fs-summary-confetti i:nth-child(3n+1){width:9px;height:9px;border-radius:50%}
body.rq-fs-summary-open{overflow:hidden!important}
@keyframes rqFsSummaryIn{from{opacity:0;transform:translateY(28px) scale(.91)}to{opacity:1;transform:none}}@keyframes rqFsGlow{from{opacity:.62;transform:translate(-50%,-50%) scale(.94)}to{opacity:1;transform:translate(-50%,-50%) scale(1.08)}}@keyframes rqFsConfetti{0%{opacity:0;transform:rotate(var(--angle)) translateY(-55px) scale(.6)}18%{opacity:1}100%{opacity:0;transform:rotate(var(--angle)) translateY(-330px) rotate(520deg) scale(1.05)}}
@media(max-width:640px){.rq-fs-summary-backdrop{padding:10px}.rq-fs-summary-card{padding:29px 16px 22px;border-radius:22px}.rq-fs-summary-x{right:10px;top:10px;width:38px;height:38px}.rq-fs-summary-total-wrap{margin:20px auto 15px;padding:17px 10px}.rq-fs-summary-continue{min-width:190px}}
@media(max-height:650px) and (orientation:landscape){.rq-fs-summary-card{width:min(690px,calc(100vw - 20px));padding:20px 24px 17px}.rq-fs-summary-card h2{margin:9px 0 3px;font-size:clamp(1.45rem,3.5vw,2.25rem)}.rq-fs-summary-total-wrap{margin:13px auto 10px;padding:12px}.rq-fs-summary-total-wrap strong{font-size:clamp(2rem,6vw,3.7rem)}.rq-fs-summary-copy{margin-bottom:12px}.rq-fs-summary-continue{min-height:44px}}

/* ReelQuanta out-of-chips rescue bonus - 2026-07-25 */
.rq-rescue-backdrop{
  position:fixed;
  inset:0;
  z-index:10060;
  display:grid;
  place-items:center;
  padding:18px;
  background:radial-gradient(circle at 50% 35%,rgba(67,36,176,.46),transparent 42%),rgba(2,5,16,.88);
  backdrop-filter:blur(11px) saturate(1.15);
  opacity:1;
  transition:opacity .22s ease;
}
.rq-rescue-backdrop.hidden{display:none!important}
.rq-rescue-backdrop.closing{opacity:0}
.rq-rescue-card{
  --rescue-accent:#ffd950;
  position:relative;
  isolation:isolate;
  width:min(520px,calc(100vw - 28px));
  overflow:hidden;
  padding:28px 30px 24px;
  border:2px solid rgba(255,220,91,.9);
  border-radius:26px;
  color:#fff;
  text-align:center;
  background:
    linear-gradient(145deg,rgba(32,20,100,.98),rgba(7,13,39,.99) 58%,rgba(19,6,44,.99)),
    #091027;
  box-shadow:0 0 0 5px rgba(95,62,221,.24),0 30px 100px rgba(0,0,0,.72),inset 0 1px rgba(255,255,255,.18);
  transform:translateY(0) scale(1);
  animation:rqRescueEnter .42s cubic-bezier(.2,.85,.22,1.12) both;
}
.rq-rescue-backdrop[data-stage="3"] .rq-rescue-card{
  --rescue-accent:#7affd5;
  border-color:rgba(122,255,213,.92);
  box-shadow:0 0 0 5px rgba(24,210,162,.18),0 30px 100px rgba(0,0,0,.72),inset 0 1px rgba(255,255,255,.18);
}
@keyframes rqRescueEnter{
  from{opacity:0;transform:translateY(24px) scale(.94)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
.rq-rescue-rings{position:absolute;inset:-45%;z-index:-1;pointer-events:none}
.rq-rescue-rings i{position:absolute;inset:18%;border:1px solid rgba(255,224,92,.12);border-radius:50%;animation:rqRescueRing 7s linear infinite}
.rq-rescue-rings i:nth-child(2){inset:29%;animation-duration:10s;animation-direction:reverse}
.rq-rescue-rings i:nth-child(3){inset:39%;animation-duration:13s}
@keyframes rqRescueRing{to{transform:rotate(360deg)}}
.rq-rescue-close{
  position:absolute;
  right:14px;
  top:14px;
  width:38px;
  height:38px;
  border:1px solid rgba(255,255,255,.25);
  border-radius:50%;
  color:#fff;
  background:rgba(2,7,24,.55);
  font-size:1.6rem;
  line-height:1;
  cursor:pointer;
}
.rq-rescue-kicker{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:5px 13px;
  border:1px solid color-mix(in srgb,var(--rescue-accent) 55%,transparent);
  border-radius:999px;
  color:var(--rescue-accent);
  background:color-mix(in srgb,var(--rescue-accent) 10%,transparent);
  font-size:.72rem;
  font-weight:1000;
  letter-spacing:.16em;
}
.rq-rescue-chip{
  width:88px;
  height:88px;
  margin:20px auto 13px;
  display:grid;
  place-items:center;
  border:4px solid #fff2a3;
  border-radius:50%;
  color:#6b3500;
  background:radial-gradient(circle at 35% 27%,#fffad1 0 8%,#ffe66d 28%,#ffb20d 63%,#b95a00 100%);
  box-shadow:0 0 0 7px rgba(255,189,24,.15),0 0 40px rgba(255,213,62,.38),inset 0 0 0 5px rgba(150,75,0,.28);
  transform:rotate(-7deg);
}
.rq-rescue-chip b{font-family:Georgia,serif;font-size:2.3rem;text-shadow:0 2px #fff0a1}
.rq-rescue-card h2{margin:0;color:#fff;font-size:clamp(1.9rem,5vw,2.7rem);line-height:1;letter-spacing:-.035em}
.rq-rescue-copy{max-width:420px;margin:13px auto 18px;color:#d7d9ec;font-size:1rem;line-height:1.48}
.rq-rescue-award{
  display:grid;
  gap:2px;
  margin:0 auto 16px;
  padding:14px 16px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:17px;
  background:linear-gradient(135deg,rgba(255,255,255,.09),rgba(255,255,255,.025));
  box-shadow:inset 0 1px rgba(255,255,255,.1);
}
.rq-rescue-award small{color:#b9bdd4;font-size:.68rem;font-weight:900;letter-spacing:.17em}
.rq-rescue-award strong{color:var(--rescue-accent);font-size:clamp(2.15rem,7vw,3.25rem);line-height:1.06;text-shadow:0 0 24px color-mix(in srgb,var(--rescue-accent) 46%,transparent);font-variant-numeric:tabular-nums}
.rq-rescue-progress{display:flex;justify-content:center;gap:8px;margin:4px 0 12px}
.rq-rescue-progress i{width:38px;height:7px;border-radius:999px;background:rgba(255,255,255,.13);box-shadow:inset 0 1px rgba(0,0,0,.45)}
.rq-rescue-progress i.done{background:#8f79ff}
.rq-rescue-progress i.active{background:var(--rescue-accent);box-shadow:0 0 14px color-mix(in srgb,var(--rescue-accent) 60%,transparent)}
.rq-rescue-note{margin:0 0 15px;color:#9298b2;font-size:.72rem}
.rq-rescue-actions{display:grid;grid-template-columns:1fr;gap:10px}
.rq-rescue-backdrop[data-stage="3"] .rq-rescue-actions{grid-template-columns:1fr 1fr}
.rq-rescue-claim,.rq-rescue-buy{
  min-height:58px;
  border:0;
  border-radius:15px;
  cursor:pointer;
  font:inherit;
  font-weight:1000;
  letter-spacing:.055em;
  transition:transform .16s ease,filter .16s ease,opacity .16s ease;
}
.rq-rescue-claim{
  color:#251500;
  background:linear-gradient(180deg,#fff58d,#ffc326 62%,#e98a00);
  box-shadow:inset 0 3px rgba(255,255,255,.55),0 7px 0 #8c4300,0 13px 28px rgba(255,158,0,.23);
}
.rq-rescue-buy{
  display:grid;
  place-content:center;
  gap:1px;
  color:#061a16;
  background:linear-gradient(180deg,#9effe2,#31deb4 62%,#0b9c79);
  box-shadow:inset 0 3px rgba(255,255,255,.48),0 7px 0 #075f4a,0 13px 28px rgba(14,217,166,.2);
}
.rq-rescue-buy span{font-size:.72rem}.rq-rescue-buy b{font-size:1.16rem}
.rq-rescue-claim:hover,.rq-rescue-buy:hover{filter:brightness(1.08);transform:translateY(-1px)}
.rq-rescue-claim:active,.rq-rescue-buy:active{transform:translateY(4px);box-shadow:none}
.rq-rescue-claim:disabled,.rq-rescue-buy:disabled{cursor:wait;filter:saturate(.35);opacity:.66;transform:none}
.rq-rescue-buy.hidden{display:none!important}
body.rq-rescue-open{overflow:hidden!important}
@media(max-width:620px){
  .rq-rescue-card{padding:23px 18px 18px;border-radius:21px}
  .rq-rescue-chip{width:72px;height:72px;margin-top:16px}.rq-rescue-chip b{font-size:1.9rem}
  .rq-rescue-backdrop[data-stage="3"] .rq-rescue-actions{grid-template-columns:1fr}
}
@media(max-height:650px) and (orientation:landscape){
  .rq-rescue-backdrop{padding:8px}
  .rq-rescue-card{width:min(760px,calc(100vw - 20px));max-height:calc(100vh - 16px);padding:15px 22px 14px;display:grid;grid-template-columns:120px minmax(0,1fr);grid-template-areas:"chip kicker" "chip title" "chip copy" "award award" "progress progress" "note note" "actions actions";column-gap:18px;overflow:auto;text-align:left}
  .rq-rescue-chip{grid-area:chip;width:86px;height:86px;margin:auto}
  .rq-rescue-kicker{grid-area:kicker;justify-self:start;align-self:end}.rq-rescue-card h2{grid-area:title}.rq-rescue-copy{grid-area:copy;max-width:none;margin:6px 0 10px}.rq-rescue-award{grid-area:award;width:100%;box-sizing:border-box;text-align:center;margin-bottom:9px;padding:8px 12px}.rq-rescue-award strong{font-size:2rem}.rq-rescue-progress{grid-area:progress;margin:0 0 5px}.rq-rescue-note{grid-area:note;text-align:center;margin-bottom:8px}.rq-rescue-actions{grid-area:actions}.rq-rescue-claim,.rq-rescue-buy{min-height:46px}
}
@media(prefers-reduced-motion:reduce){.rq-rescue-card,.rq-rescue-rings i{animation:none!important}}


/* Image-first Jackpot-style lobby cards - 2026-07-25 */
.portal-lobby-page .portal-tools{
  margin-top:34px;
  padding:0 4px;
}
.portal-lobby-page .portal-tools h2,
.portal-lobby-page .portal-section-heading h2{
  margin:4px 0 0;
  color:#fff;
  font-size:clamp(1.65rem,3vw,2.35rem);
  text-shadow:0 2px 0 #8f1bd0,0 0 14px rgba(255,255,255,.35);
}
.portal-lobby-page .portal-tools .section-kicker,
.portal-lobby-page .portal-section-heading .section-kicker{
  color:#fff0ff;
  text-shadow:0 1px 3px #64128c;
}
.portal-lobby-page .portal-game-section{
  position:relative;
  margin-top:12px;
  padding:14px;
  border:0;
  border-radius:18px;
  background:linear-gradient(180deg,rgba(111,18,174,.92),rgba(62,5,111,.96));
  box-shadow:0 18px 38px rgba(56,8,92,.32),inset 0 1px 0 rgba(255,255,255,.25);
}
.portal-lobby-page .portal-recent-section{
  margin-top:34px;
}
.portal-section-heading{
  position:relative;
  margin:0 0 10px;
  padding-left:4px;
}
.portal-lobby-page .portal-game-grid{
  display:grid;
  grid-template-columns:1.16fr repeat(3,minmax(0,1fr));
  grid-auto-flow:dense;
  grid-auto-rows:154px;
  gap:11px;
}
.portal-lobby-page .portal-recent-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  grid-auto-rows:154px;
}
.portal-lobby-page .image-only-game-card{
  position:relative;
  width:100%;
  height:100%;
  min-height:0;
  overflow:hidden;
  border:0;
  border-radius:9px;
  background:#120728;
  box-shadow:0 7px 14px rgba(18,2,36,.52),0 0 0 1px rgba(255,255,255,.15);
  transform:translateZ(0);
  transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;
}
.portal-lobby-page .image-only-game-card.portal-feature-card{
  grid-row:span 2;
}
.portal-lobby-page .image-only-game-card:hover,
.portal-lobby-page .image-only-game-card:focus-visible{
  z-index:5;
  transform:translateY(-3px) scale(1.018);
  box-shadow:0 13px 25px rgba(20,2,42,.62),0 0 0 3px #d54cff,0 0 24px rgba(224,73,255,.42);
  outline:0;
}
.portal-lobby-page .image-only-game-card .game-art{
  position:absolute;
  inset:0;
  min-height:0;
  background-position:center;
  background-repeat:no-repeat;
  background-size:cover;
  transition:transform .35s ease,filter .25s ease;
}
.portal-lobby-page .image-only-game-card:hover .game-art,
.portal-lobby-page .image-only-game-card:focus-visible .game-art{
  transform:scale(1.055);
  filter:saturate(1.1) brightness(.9);
}
.portal-lobby-page .image-only-game-card .game-art::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(5,3,20,.05) 24%,rgba(7,2,21,.18) 52%,rgba(8,2,22,.92) 100%);
}
.portal-lobby-page .image-only-game-card .game-art.placeholder::before{
  font-size:clamp(4rem,8vw,7rem);
}
.portal-lobby-page .game-title-overlay{
  position:absolute;
  z-index:3;
  left:14px;
  right:48px;
  bottom:11px;
  margin:0;
  color:#fff;
  font-size:clamp(1.05rem,1.55vw,1.42rem);
  line-height:1.04;
  font-weight:1000;
  letter-spacing:-.025em;
  text-shadow:0 3px 5px #000,0 0 10px rgba(0,0,0,.8);
}
.portal-lobby-page .portal-feature-card .game-title-overlay{
  left:18px;
  bottom:18px;
  font-size:clamp(1.65rem,2.75vw,2.55rem);
}
.portal-lobby-page .game-favorite{
  top:8px;
  right:8px;
  width:32px;
  height:32px;
  border:2px solid rgba(255,255,255,.82);
  background:rgba(14,4,38,.72);
  box-shadow:0 3px 8px rgba(0,0,0,.35);
}
.portal-lobby-page .image-game-status{
  position:absolute;
  z-index:4;
  left:8px;
  top:8px;
  padding:5px 9px;
  border-radius:7px;
  color:#fff;
  background:rgba(28,8,48,.82);
  border:1px solid rgba(255,255,255,.45);
  font-size:.62rem;
  font-weight:1000;
  letter-spacing:.055em;
  box-shadow:0 3px 8px rgba(0,0,0,.28);
}
.portal-lobby-page .registration-required .image-game-status{
  background:rgba(10,102,69,.86);
}
.portal-lobby-page .game-hover-play{
  position:absolute;
  z-index:4;
  left:50%;
  top:50%;
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#fff;
  background:linear-gradient(145deg,#ff4ce1,#7342ff);
  border:3px solid rgba(255,255,255,.9);
  box-shadow:0 7px 22px rgba(33,2,73,.58),0 0 22px rgba(223,69,255,.5);
  opacity:0;
  transform:translate(-50%,-42%) scale(.72);
  transition:opacity .2s ease,transform .2s ease;
  font-size:1.15rem;
}
.portal-lobby-page .image-only-game-card:hover .game-hover-play,
.portal-lobby-page .image-only-game-card:focus-visible .game-hover-play{
  opacity:1;
  transform:translate(-50%,-50%) scale(1);
}
.portal-lobby-page .image-only-game-card.coming .game-art{
  filter:saturate(.62) brightness(.74);
}
.portal-lobby-page .image-only-game-card.coming .game-hover-play{
  background:linear-gradient(#51425e,#21182d);
}
@media(max-width:1180px){
  .portal-lobby-page .portal-game-grid{grid-template-columns:1.12fr repeat(2,minmax(0,1fr));grid-auto-rows:150px}
  .portal-lobby-page .portal-recent-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:820px){
  .portal-lobby-page .portal-game-grid,
  .portal-lobby-page .portal-recent-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto}
  .portal-lobby-page .image-only-game-card,
  .portal-lobby-page .image-only-game-card.portal-feature-card{grid-row:auto;aspect-ratio:16/9;min-height:0}
}
@media(max-width:540px){
  .portal-lobby-page .portal-game-grid,
  .portal-lobby-page .portal-recent-grid{grid-template-columns:1fr}
  .portal-lobby-page .image-only-game-card{aspect-ratio:16/8.5}
}


/* Separate playable and Coming Soon lobby areas - 2026-07-25 */
.portal-lobby-page .portal-coming-section{
  margin-top:42px;
  padding:18px;
  background:
    linear-gradient(180deg,rgba(32,18,70,.94),rgba(19,10,47,.97));
  border:1px solid rgba(205,181,255,.22);
  box-shadow:0 18px 38px rgba(28,8,68,.28),inset 0 1px 0 rgba(255,255,255,.13);
}
.portal-lobby-page .portal-coming-section::before{
  content:"";
  position:absolute;
  left:18px;
  right:18px;
  top:-15px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,#dc74ff 18%,#8056ff 50%,#dc74ff 82%,transparent);
  box-shadow:0 0 18px rgba(208,92,255,.5);
}
.portal-lobby-page .portal-coming-section .portal-section-heading{
  margin-bottom:14px;
}
.portal-lobby-page .portal-coming-section .portal-section-heading h2{
  color:#f4eaff;
  text-shadow:0 2px 0 #4c2680,0 0 16px rgba(192,132,255,.3);
}
.portal-lobby-page .portal-coming-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  grid-auto-rows:154px;
}
.portal-lobby-page .portal-coming-grid .image-only-game-card{
  opacity:.92;
  border:1px solid rgba(207,189,255,.18);
}
.portal-lobby-page .portal-coming-grid .image-only-game-card:hover,
.portal-lobby-page .portal-coming-grid .image-only-game-card:focus-visible{
  opacity:1;
}
.portal-lobby-page .portal-coming-grid .image-game-status{
  background:rgba(48,29,73,.9);
  border-color:rgba(230,214,255,.55);
}
@media(max-width:1180px){
  .portal-lobby-page .portal-coming-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:150px}
}
@media(max-width:820px){
  .portal-lobby-page .portal-coming-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto}
}
@media(max-width:540px){
  .portal-lobby-page .portal-coming-grid{grid-template-columns:1fr}
}
