:root {
  color-scheme: dark;
  --ink: #070910;
  --bg: #090d17;
  --panel: #141a29;
  --panel-2: #1c2437;
  --line: #35405b;
  --text: #fffaf0;
  --muted: #aeb8cc;
  --mint: #69e6ad;
  --yellow: #ffdb63;
  --pink: #ff7198;
  --blue: #72c8ff;
  --radius: 26px;
  font-family: "Trebuchet MS", "Arial Rounded MT Bold", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scrollbar-gutter: stable; }
body {
  margin: 0;
  min-height: 100vh;
  overflow-x: hidden;
  color: var(--text);
  background: var(--bg);
}
body.game-open { overflow: hidden; }
body.settings-open, body.profile-open { overflow: hidden; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
button:disabled { cursor: wait; opacity: .58; }
button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible { outline: 4px solid var(--yellow); outline-offset: 3px; }
[hidden] { display: none !important; }
h1, h2, h3, p { margin-top: 0; }
h1 { margin: 0; font-size: 1.42rem; letter-spacing: -.04em; }
h2 { margin-bottom: 10px; font-size: clamp(1.65rem,3vw,2.45rem); line-height: 1.02; letter-spacing: -.045em; }
h3 { margin: 0; font-size: 1rem; }
.muted { color: var(--muted); }
.eyebrow { margin-bottom: 6px; color: var(--mint); font-size: .69rem; font-weight: 950; letter-spacing: .14em; text-transform: uppercase; }

.ambient { position: fixed; z-index: -2; border: 12px solid currentColor; border-radius: 50%; opacity: .055; filter: blur(2px); pointer-events: none; }
.ambient-violet { top: -12rem; left: -12rem; width: 30rem; height: 30rem; background: #7f5cff; }
.ambient-green { top: 36rem; right: -14rem; width: 28rem; height: 28rem; background: #2be49b; }
.ambient-gold { bottom: -18rem; left: 35%; width: 26rem; height: 26rem; background: #ffbd3f; }
.shell { width: min(1400px,calc(100% - 40px)); margin: 0 auto; padding: 25px 0 34px; }
.card {
  border: 3px solid #080b13;
  border-radius: var(--radius);
  background: var(--panel);
  box-shadow: 0 7px 0 #05070c, 0 22px 48px rgba(0,0,0,.3);
}

.brand-bar { display: flex; justify-content: space-between; align-items: center; gap: 18px; margin-bottom: 31px; padding: 0 4px; }
.brand-lockup { display: flex; align-items: center; gap: 13px; }
.brand-mark {
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  border: 3px solid var(--ink);
  border-radius: 17px 23px 17px 21px;
  color: #102019;
  background: var(--mint);
  box-shadow: 0 5px 0 #227a5a;
  font-weight: 950;
  letter-spacing: -.08em;
  transform: rotate(-3deg);
}
.brand-mark span { transform: translateX(-1px); }
.top-notice { display: inline-flex; align-items: center; gap: 8px; border: 2px solid var(--line); border-radius: 999px; padding: 9px 15px; color: #d8e0ed; background: #111725; box-shadow: 0 3px 0 #05070c; font-size: .73rem; font-weight: 850; }
.top-notice i { width: 9px; height: 9px; border: 2px solid #1c7b57; border-radius: 50%; background: var(--mint); }

.auth-card { display: grid; grid-template-columns: .8fr 1fr; max-width: 880px; min-height: 520px; margin: 7vh auto 12vh; overflow: hidden; }
.auth-art { position: relative; display: flex; justify-content: center; align-items: center; gap: 10px; overflow: hidden; border-right: 3px solid var(--ink); background: #3d2d64; }
.auth-art::before, .auth-art::after { position: absolute; color: #8b6bc4; font-size: 9rem; line-height: 1; content: "★"; }
.auth-art::before { top: -38px; left: -28px; transform: rotate(-18deg); }
.auth-art::after { right: -40px; bottom: -48px; transform: rotate(15deg); }
.auth-art span { position: relative; z-index: 1; display: grid; place-items: center; width: 82px; height: 116px; border: 4px solid var(--ink); border-radius: 18px; color: var(--yellow); background: #20213a; box-shadow: 0 7px 0 var(--ink); font-size: 2.6rem; font-weight: 950; }
.auth-art span:nth-child(1) { transform: rotate(-7deg); }
.auth-art span:nth-child(2) { color: var(--mint); transform: translateY(-13px); }
.auth-art span:nth-child(3) { transform: rotate(7deg); }
.auth-content { align-self: center; padding: clamp(30px,5vw,52px); }
form { display: grid; gap: 10px; }
label { color: #e8e6f3; font-size: .83rem; font-weight: 900; }
input, textarea { width: 100%; border: 3px solid var(--ink); border-radius: 13px; padding: 13px 14px; color: var(--text); background: #11121f; box-shadow: inset 0 0 0 2px #30314e; outline: none; }
input:focus, textarea:focus { border-color: var(--mint); box-shadow: inset 0 0 0 2px #1d6d53; }
input:disabled { color: var(--yellow); background: #282132; }
textarea { resize: vertical; line-height: 1.5; }
button { border: 3px solid var(--ink); border-radius: 13px; padding: 12px 18px; font-weight: 950; transition: transform .14s ease, box-shadow .14s ease, filter .14s ease; }
button:hover { filter: brightness(1.08); }
button:active { transform: translateY(3px); box-shadow: none !important; }
.primary { margin-top: 10px; color: #102019; background: var(--mint); box-shadow: 0 5px 0 #227a5a; }
.ghost { color: var(--text); background: #292a43; box-shadow: 0 4px 0 var(--ink); }
.message { min-height: 1.4em; margin: 16px 0 0; color: var(--pink); }
code { border: 2px solid #414361; border-radius: 7px; padding: 2px 7px; color: #c5ffe0; background: #10111e; }

.dashboard {
  --game-accent: #ffcc55;
  --game-dark: #7d321e;
  --game-soft: #3c252e;
  display: grid;
  gap: 34px;
}
.dashboard[data-game="bonus"] { --game-accent: #ffda6c; --game-dark: #284f8a; --game-soft: #1e3457; }
.dashboard[data-game="bigfisher"] { --game-accent: #ffca3c; --game-dark: #07527b; --game-soft: #063d60; }
.dashboard[data-game="mines"] { --game-accent: #68e4ff; --game-dark: #126888; --game-soft: #17384a; }

.account-bar { display: grid; grid-template-columns: 1fr 2px auto auto; align-items: center; gap: 24px; padding: 17px 21px; background: #121827; }
.player-info { display: flex; align-items: center; gap: 12px; }
.avatar { display: grid; place-items: center; width: 45px; height: 45px; border: 3px solid var(--ink); border-radius: 15px; color: #11251c; background: var(--mint); box-shadow: 0 4px 0 #287c5d; font-weight: 950; }
.avatar img { width: 100%; height: 100%; border-radius: 11px; object-fit: cover; }
.avatar b { font: inherit; }
.player-info h2 { margin: 0; font-size: 1.22rem; }
.player-info .eyebrow { display: flex; align-items: center; gap: 7px; margin-bottom: 3px; }
.online-dot { width: 9px; height: 9px; border: 2px solid #1d7456; border-radius: 50%; background: var(--mint); }
.compact-level { display: grid; grid-template-columns: auto minmax(70px,130px) auto; align-items: center; gap: 7px; margin-top: 7px; color: #dfe7f5; font-size: .62rem; font-weight: 900; }
.compact-level > span { color: var(--yellow); }
.compact-level i, .public-profile-progress i { display: block; height: 8px; overflow: hidden; border: 2px solid #080b13; border-radius: 999px; background: #30384d; }
.compact-level i b, .public-profile-progress i b { display: block; width: 0; height: 100%; border-radius: inherit; background: var(--mint); transition: width .35s ease; }
.compact-level small { color: var(--muted); white-space: nowrap; }
.account-divider { width: 3px; height: 50px; border-radius: 3px; background: #393b5a; }
.balance-box { display: flex; flex-direction: column; min-width: 180px; }
.balance-box span { color: var(--muted); font-size: .65rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.balance-box strong { color: var(--yellow); font-size: 1.72rem; line-height: 1.15; letter-spacing: -.04em; text-shadow: 2px 2px 0 #76550d; }
.account-actions { display: flex; align-items: center; gap: 9px; }
.settings-button { display: inline-flex; align-items: center; gap: 8px; color: #172018; background: var(--mint); box-shadow: 0 4px 0 #227a5a; }
.settings-button > span { font-size: 1.05rem; line-height: 1; }

.lobby { display: grid; gap: 18px; }
.section-heading { display: block; }
.section-heading h2 { margin: 0; font-size: clamp(1.9rem,3vw,2.65rem); }
.game-picker { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(18px,2.5vw,30px); }
.game-tile { position: relative; display: grid; grid-template-rows: auto auto 1fr auto; min-width: 0; min-height: 380px; overflow: hidden; padding: clamp(22px,3vw,31px); border: 5px solid var(--ink); border-radius: 30px; color: #fff; background: #151c2a; box-shadow: 0 10px 0 #070a10,0 22px 40px rgba(0,0,0,.3); text-align: left; isolation: isolate; }
.game-tile.bonus { background: #171b25 url("images/backgroundforbonus.png") center / cover no-repeat; box-shadow: 0 10px 0 #080a0f,0 22px 40px rgba(0,0,0,.36); }
.game-tile.bigfisher { background: #034f78 url("bigbass/background/bigbassbackground.png") center / cover no-repeat; box-shadow: 0 10px 0 #012d48,0 22px 40px rgba(0,0,0,.36); }
.game-tile.mines { background: #111b2d; box-shadow: 0 10px 0 #050b14,0 22px 40px rgba(0,0,0,.36); }
.game-tile:hover { transform: translateY(-7px) rotate(-.35deg); }
.game-tile.selected { outline: 4px solid var(--yellow); outline-offset: 3px; }
.game-tile.bonus.selected { outline-color: #8fc0ff; }
.game-tile.bigfisher.selected { outline-color: #69dcff; }
.game-tile.mines.selected { outline-color: #68e4ff; }
.tile-top, .tile-footer { position: relative; z-index: 2; display: flex; justify-content: space-between; align-items: center; gap: 9px; }
.game-label { border: 2px solid rgba(255,255,255,.28); border-radius: 999px; padding: 6px 9px; background: rgba(0,0,0,.18); font-size: .64rem; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.volatility { display: inline-flex; align-items: center; gap: 6px; color: rgba(255,255,255,.72); font-size: .65rem; }
.volatility i { width: 9px; height: 9px; border: 2px solid #173f2e; border-radius: 50%; background: var(--mint); }
.volatility.high i { border-color: #69203e; background: #ff7eb6; }
.volatility.bonus-level i { border-color: #795b0c; background: var(--yellow); }
.game-logo { position: relative; z-index: 2; align-self: end; margin-top: 25px; font-size: clamp(2rem,3.6vw,3rem); letter-spacing: -.055em; text-shadow: 4px 4px 0 rgba(0,0,0,.48); }
.game-logo b { color: var(--yellow); font-weight: 950; }
.bonus .game-logo b { color: #ffe389; }
.tile-reels { display: flex; justify-content: center; align-items: center; gap: 7px; margin: 11px 0 9px; }
.tile-reels i { display: grid; place-items: center; width: 82px; height: 91px; border: 4px solid var(--ink); border-radius: 18px; background: #151624; box-shadow: 0 5px 0 var(--ink),inset 0 0 0 3px #31334d; }
.tile-reels i:nth-child(2) { transform: translateY(-6px); }
.tile-reels img { width: 68px; height: 68px; object-fit: contain; filter: drop-shadow(0 6px 0 rgba(0,0,0,.36)); }
.bonus-sigil { position: absolute; z-index: 1; right: -20px; bottom: 27px; width: clamp(285px,31vw,420px); height: 390px; overflow: visible; pointer-events: none; }
.bonus-sigil img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(7px 9px 0 rgba(0,0,0,.38)); transform: scale(1.08); transform-origin: right bottom; }
.bonus .game-logo { max-width: 52%; }
.bigfisher .game-logo { align-self: start; margin-top: 22px; }
.bigfisher .game-logo b { color: #ffdd5e; }
.fisher-tile-art { position: absolute; z-index: 1; inset: 62px 0 54px; overflow: hidden; pointer-events: none; }
.fisher-tile-art img { position: absolute; object-fit: contain; filter: drop-shadow(7px 9px 0 rgba(0,0,0,.32)); }
.fisher-tile-fish { left: -6%; bottom: -9%; width: 68%; height: 72%; transform: rotate(-8deg); }
.fisher-tile-man { right: -8%; bottom: -10%; width: 64%; height: 92%; }
.bigfisher .tile-footer { z-index: 3; }
.mines .game-logo b { color: #75e8ff; }
.mines-tile-art { display: flex; align-items: center; justify-content: center; gap: 9px; margin: 10px 0 8px; }
.mines-tile-art i { display: grid; place-items: center; width: 82px; aspect-ratio: 1; border: 3px solid #31435c; border-radius: 18px; background: #18263a; box-shadow: 0 5px 0 #050a12; }
.mines-tile-art i:nth-child(2) { border-color: #7c2e3f; background: #331c29; transform: translateY(-7px); }
.mines-tile-art img { width: 76%; height: 76%; object-fit: contain; filter: drop-shadow(0 6px 5px rgba(0,0,0,.45)); }
.tile-footer { align-self: end; padding-top: 17px; border-top: 2px dashed rgba(255,255,255,.22); }
.tile-footer > span { display: grid; color: rgba(255,255,255,.67); font-size: .68rem; }
.tile-footer strong { color: var(--yellow); font-size: 1.25rem; text-shadow: 2px 2px 0 rgba(0,0,0,.5); }
.tile-footer em { border: 2px solid rgba(255,255,255,.35); border-radius: 999px; padding: 8px 12px; color: #fff; background: rgba(0,0,0,.2); font-size: .69rem; font-style: normal; font-weight: 950; text-transform: uppercase; }

.game-screen { position: fixed; z-index: 100; inset: 0; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; overflow-anchor: none; scrollbar-gutter: stable; isolation: isolate; background: #0b0c18; }
.game-screen::before { position: fixed; z-index: -1; inset: 0; background: rgba(7,8,17,.48); pointer-events: none; content: ""; }
.game-screen::after { position: fixed; z-index: -2; inset: 0; background-position: center; background-size: cover; background-repeat: no-repeat; pointer-events: none; content: ""; }
.dashboard[data-game="mines"] .game-screen { background: #09111d; }
.dashboard[data-game="bonus"] .game-screen { background: #0e1118; }
.dashboard[data-game="bigfisher"] .game-screen { background: #043657; }
.dashboard[data-game="mines"] .game-screen::after { background-color: #09111d; }
.dashboard[data-game="bonus"] .game-screen::after { background-color: #0e1118; background-image: url("images/backgroundforbonus.png"); }
.dashboard[data-game="bigfisher"] .game-screen::after { background-color: #043657; background-image: url("bigbass/background/bigbassbackground.png"); }
.dashboard[data-game="mines"] .game-screen::before { background: rgba(3,8,15,.18); }
.dashboard[data-game="bonus"] .game-screen::before { background: rgba(3,5,9,.11); }
.dashboard[data-game="bigfisher"] .game-screen::before { background: rgba(0,28,51,.2); }
.game-screen-nav { position: sticky; z-index: 20; top: 0; display: flex; justify-content: space-between; align-items: center; width: min(1460px,calc(100% - 34px)); margin: 0 auto; padding: 17px 0 10px; pointer-events: none; }
.game-screen-nav button { display: grid; place-items: center; width: 55px; height: 55px; padding: 0; border: 4px solid var(--ink); border-radius: 18px; color: var(--text); background: rgba(24,31,48,.9); box-shadow: 0 5px 0 var(--ink); backdrop-filter: blur(5px); font-size: 1.9rem; line-height: 1; }
.game-screen-nav button, .game-balance { pointer-events: auto; }
.game-screen-nav button:hover { transform: translateX(-3px); }
.game-balance { display: grid; min-width: min(270px,42vw); padding: 10px 17px 11px; border: 4px solid var(--ink); border-radius: 18px; background: rgba(17,21,32,.94); box-shadow: 0 5px 0 var(--ink); backdrop-filter: blur(6px); text-align: right; }
.game-balance span { color: #c7c6d4; font-size: .62rem; font-weight: 950; letter-spacing: .12em; text-transform: uppercase; }
.game-balance strong { overflow: hidden; color: var(--yellow); font-size: clamp(1.25rem,2.4vw,1.8rem); line-height: 1.05; text-overflow: ellipsis; text-shadow: 2px 2px 0 #76550d; white-space: nowrap; }
.game-screen-inner { position: relative; z-index: 1; width: min(1180px,calc(100% - 34px)); margin: 0 auto; padding: 5px 0 42px; }
.slot-card, .history-card { padding: clamp(23px,3vw,33px); }
.slot-card { position: relative; min-width: 0; overflow: hidden; border-color: var(--ink); background: rgba(24,25,43,.94); }
.dashboard[data-game="mines"] .slot-card { background: #101a2a; }
.dashboard[data-game="bonus"] .slot-card { border: 0; border-radius: 0; background: transparent; box-shadow: none; outline: 0; overflow: visible; }
.dashboard[data-game="bigfisher"] .slot-card { border: 0; border-radius: 0; background: transparent; box-shadow: none; outline: 0; overflow: visible; }
.dashboard[data-game="bonus"] .free-spins-banner,
.dashboard[data-game="bonus"] .bonus-multiplier-panel { width: fit-content; max-width: 100%; border-color: rgba(255,218,108,.78); background: rgba(7,8,11,.68); box-shadow: 0 5px 0 rgba(3,3,5,.72); backdrop-filter: blur(3px); }
.dashboard[data-game="bonus"] .free-spins-banner { grid-template-columns: auto auto auto; }
.dashboard[data-game="bonus"] .bonus-multiplier-panel { grid-template-columns: auto auto auto; margin-left: auto; }
.dashboard[data-game="bonus"] .machine-shell { border: 0; background: transparent; box-shadow: none; }
.dashboard[data-game="bonus"] .machine-topline,
.dashboard[data-game="bonus"] .machine-lights { display: none; }
.dashboard[data-game="bonus"] .reel { border-color: transparent; background: transparent; box-shadow: none; }
.bonus-character { display: none; }

.fisher-progress-panel { display: grid; gap: 11px; margin-top: 15px; padding: 12px 14px 14px; border: 3px solid #031b2b; border-radius: 19px; background: rgba(1,45,72,.9); box-shadow: 0 5px 0 #012237; }
.fisher-progress-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.fisher-progress-copy { display: grid; gap: 3px; }
.fisher-progress-copy span { color: #7bddff; font-size: .61rem; font-weight: 950; letter-spacing: .1em; text-transform: uppercase; }
.fisher-progress-copy strong { color: #fff3b6; font-size: .87rem; }
.fisherman-counter { display: flex; align-items: baseline; justify-content: flex-end; gap: 3px; min-width: 145px; color: #fff; font-size: 1rem; font-weight: 950; text-align: right; }
.fisherman-counter span { margin-right: 7px; padding: 5px 8px; border: 2px solid #03283e; border-radius: 9px; color: #09202b; background: #ffdc57; box-shadow: 0 3px 0 #021927; }
.fisherman-counter b { color: #ffdb5d; font-size: 1.8rem; line-height: 1; text-shadow: 3px 3px 0 #052438; }
.fisher-progression-board { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.fisher-milestone { display: grid; grid-template-columns: minmax(0,1fr) 70px; gap: 8px; min-width: 0; padding: 8px; border: 2px solid #064266; border-radius: 14px; background: rgba(0,26,43,.76); box-shadow: 0 3px 0 #011d2f; transition: opacity .2s ease,transform .2s ease,border-color .2s ease; }
.fisher-milestone.active { border-color: #ffda58; box-shadow: 0 0 0 2px rgba(255,224,96,.3),0 3px 0 #011d2f; }
.fisher-milestone.future { opacity: .69; }
.fisher-milestone.queued-progress { border-color: #79d8ff; opacity: 1; box-shadow: 0 0 0 2px rgba(121,216,255,.22),0 3px 0 #011d2f; }
.fisher-milestone.completed { border-color: #4fa95f; }
.fisher-milestone-progress { display: grid; align-content: center; gap: 7px; min-width: 0; }
.fisher-milestone-progress > strong { color: #c6efff; font-size: .61rem; letter-spacing: .07em; }
.fisher-silhouettes { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 4px; }
.fisher-silhouettes span { display: grid; place-items: center; min-width: 0; aspect-ratio: 1; overflow: hidden; border: 1px solid #0a5276; border-radius: 8px; background: #082d43; }
.fisher-silhouettes img { width: 98%; height: 98%; object-fit: contain; filter: grayscale(1) brightness(.43); opacity: .42; transition: filter .24s ease,opacity .24s ease,transform .24s ease; }
.fisher-silhouettes span.caught { border-color: #ffe368; background: #0a4664; box-shadow: inset 0 0 0 1px rgba(255,234,125,.28); }
.fisher-silhouettes span.caught img { filter: none; opacity: 1; }
.fisher-silhouettes span.new-catch { animation: fisher-board-catch .33s cubic-bezier(.18,.82,.28,1.35) both; }
.fisher-reward { display: grid; place-items: center; align-content: center; min-width: 0; min-height: 68px; padding: 4px; border: 2px solid #0b5b7f; border-radius: 11px; color: #8ca5af; background: #173542; filter: grayscale(1); opacity: .62; text-align: center; }
.fisher-reward strong { font-size: 1.08rem; line-height: 1; }
.fisher-reward small { font-size: .48rem; font-weight: 950; letter-spacing: .04em; }
.fisher-reward b { color: #c6d0d3; font-size: 1.24rem; line-height: 1; }
.fisher-reward.unlocked { border-color: #e5aa24; color: #2f2100; background: #ffd653; filter: none; opacity: 1; box-shadow: inset 0 0 0 2px #fff0a0,0 3px 0 #8e5912; }
.fisher-reward.unlocked b { color: #c33518; }
.fisher-reward.pending { animation: fisher-reward-pending .85s ease-in-out infinite alternate; }
.fisher-milestone.waiting-next-series { border-color: #76e884; box-shadow: 0 0 0 2px rgba(118,232,132,.28),0 3px 0 #011d2f; }
.fisher-reward.unlocking { animation: fisher-reward-unlock .62s cubic-bezier(.18,.82,.28,1.35) both; }
.fisher-progress-panel.final-stage .fisherman-counter b,
.fisher-progress-panel.final-stage .fisherman-counter small { display: none; }
.fisher-progress-panel.stage-upgrade { animation: fisher-stage-upgrade .9s cubic-bezier(.18,.82,.28,1.2) both; }
.fisher-progress-panel.series-transition { animation: fisher-series-transition 1s cubic-bezier(.18,.82,.28,1.2) both; }
@keyframes fisher-board-catch { 0% { transform: scale(.72); } 55% { transform: scale(1.2) rotate(-5deg); box-shadow: 0 0 0 5px #ffe577; } 100% { transform: scale(1); } }
@keyframes fisher-reward-unlock { 0% { transform: scale(.84); } 45% { transform: scale(1.14) rotate(3deg); box-shadow: 0 0 0 6px #fff2a0; } 100% { transform: scale(1); } }
@keyframes fisher-reward-pending { from { transform: scale(.96); box-shadow: inset 0 0 0 2px #fff0a0,0 3px 0 #8e5912; } to { transform: scale(1.04); box-shadow: inset 0 0 0 2px #fff0a0,0 3px 0 #8e5912,0 0 16px #ffe16c; } }
@keyframes fisher-stage-upgrade { 0% { transform: scale(1); } 45% { transform: scale(1.035) rotate(-.4deg); box-shadow: 0 0 0 7px #ffe474,0 7px 0 #012237; } 100% { transform: scale(1); } }
@keyframes fisher-series-transition { 0% { transform: scale(1); } 42% { transform: scale(1.025); box-shadow: 0 0 0 8px #79ed89,0 7px 0 #012237; } 100% { transform: scale(1); } }
.slot-heading { display: flex; justify-content: space-between; align-items: start; gap: 22px; }
.slot-title-wrap { display: flex; align-items: center; gap: 14px; }
.game-orb { display: grid; place-items: center; flex: 0 0 49px; height: 49px; border: 3px solid var(--ink); border-radius: 16px; color: #211b08; background: var(--game-accent); box-shadow: 0 4px 0 var(--game-dark); }
.slot-heading h2 { margin-bottom: 6px; text-shadow: 3px 3px 0 rgba(0,0,0,.45); }
.slot-heading .muted { max-width: 620px; margin: 0; font-size: .87rem; line-height: 1.5; }
.slot-heading .muted:empty { display: none; }
.slot-card .eyebrow { color: var(--game-accent); }
.slot-badges { display: flex; gap: 9px; }
.layout-badge, .max-win { display: grid; place-items: center; flex: 0 0 72px; min-height: 66px; border: 3px solid var(--ink); border-radius: 17px; background: var(--game-soft); box-shadow: 0 4px 0 var(--ink); }
.slot-badges small { color: #c9c9dc; font-size: .58rem; font-weight: 950; letter-spacing: .06em; text-transform: uppercase; }
.slot-badges strong { color: var(--game-accent); font-size: 1.18rem; text-shadow: 2px 2px 0 rgba(0,0,0,.5); }

.free-spins-banner { display: grid; grid-template-columns: auto auto 1fr; align-items: center; gap: 14px; margin-top: 21px; padding: 14px 16px; border: 3px solid var(--ink); border-radius: 19px; background: #20365b; box-shadow: 0 4px 0 var(--ink); }
.free-spins-banner.active { outline: 3px solid var(--yellow); outline-offset: 3px; }
.free-icon { width: 56px; height: 56px; overflow: visible; border: 3px solid var(--ink); border-radius: 13px; background: #11120f; }
.free-icon img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 17%; filter: drop-shadow(3px 4px 0 rgba(0,0,0,.35)); transform: scale(1.12); }
.free-spins-banner > div:nth-child(2) { display: grid; }
.free-spins-banner span { color: #9cc9ff; font-size: .61rem; font-weight: 950; letter-spacing: .1em; text-transform: uppercase; }
.free-spins-banner strong { color: var(--yellow); font-size: .9rem; white-space: nowrap; }
.free-spins-banner strong b { font-size: 1.18rem; }
.free-spins-banner p { justify-self: end; max-width: 290px; margin: 0; color: #d8d6cf; font-size: .73rem; line-height: 1.35; text-align: right; }
.bonus-multiplier-panel { display: grid; grid-template-columns: minmax(190px,1fr) auto auto; align-items: center; gap: 16px; margin-top: 15px; padding: 14px 16px; border: 3px solid var(--ink); border-radius: 19px; background: #3c285f; box-shadow: 0 5px 0 var(--ink); }
.bonus-multiplier-panel > div:first-child { display: grid; }
.bonus-multiplier-panel span { color: #c9b5ff; font-size: .62rem; font-weight: 950; letter-spacing: .1em; text-transform: uppercase; }
.bonus-multiplier-panel strong { color: #fff1b0; font-size: .88rem; }
.multiplier-chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 7px; }
.multiplier-chips b { display: grid; place-items: center; min-width: 48px; height: 42px; border: 3px solid var(--ink); border-radius: 12px; color: #d7cdec; background: #211b36; box-shadow: 0 3px 0 var(--ink); font-size: .9rem; }
.multiplier-chips b.selected { color: #201605; background: var(--yellow); outline: 3px solid #fff0a1; transform: rotate(-5deg) scale(1.14); }
#active-bonus-multiplier { min-width: 86px; color: var(--yellow); font-size: 2rem; font-weight: 950; text-align: center; text-shadow: 4px 4px 0 var(--ink); }
#active-bonus-multiplier.activated { animation: multiplier-pop .7s cubic-bezier(.17,.89,.25,1.3) both; }
@keyframes multiplier-pop { 0% { transform: scale(.1) rotate(-18deg); } 65% { transform: scale(1.3) rotate(7deg); } 100% { transform: scale(1) rotate(-2deg); } }

.mines-panel { display: grid; gap: 14px; width: min(720px,100%); margin: 22px auto 19px; }
.mines-stats { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; }
.mines-stats div { display: grid; gap: 3px; min-width: 0; padding: 11px 13px; border: 2px solid #263b53; border-radius: 13px; background: #111f31; text-align: center; }
.mines-stats span { color: #93abc5; font-size: .61rem; font-weight: 950; letter-spacing: .08em; text-transform: uppercase; }
.mines-stats strong { overflow: hidden; color: #74e7ff; font-size: clamp(.82rem,2.1vw,1.18rem); text-overflow: ellipsis; white-space: nowrap; }
.mines-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: clamp(6px,1.1vw,11px); padding: clamp(9px,1.5vw,15px); border: 3px solid #07101b; border-radius: 22px; background: #0a1421; box-shadow: 0 7px 0 #050a11; }
.mine-field { position: relative; display: grid; place-items: center; min-width: 0; aspect-ratio: 1; overflow: hidden; padding: 5px; border: 3px solid #263c55; border-radius: clamp(9px,1.4vw,16px); background: #17273a; box-shadow: 0 5px 0 #07101a; }
.mine-field.covered::after { width: 34%; aspect-ratio: 1; border: 3px solid #38526e; border-radius: 50%; background: #20354b; content: ""; }
.mine-field.covered:not(:disabled):hover { border-color: #68e4ff; background: #1e344b; transform: translateY(-2px); box-shadow: 0 7px 0 #07101a; }
.mine-field:disabled { cursor: default; opacity: 1; }
.mine-field.revealed { border-color: #315b73; background: #0d1c29; box-shadow: inset 0 0 0 2px #162d3d,0 3px 0 #07101a; }
.mine-field.diamond { border-color: #3cb5d3; background: #102d3b; }
.mine-field.mine { border-color: #8b3346; background: #321923; }
.mine-field img { width: 82%; height: 82%; object-fit: contain; filter: drop-shadow(0 5px 5px rgba(0,0,0,.45)); user-select: none; pointer-events: none; }
.mine-field.just-revealed img { animation: mine-diamond-pop .58s cubic-bezier(.2,.8,.25,1.35) both; }
.mine-field.exploded { animation: mine-field-blast .62s ease both; }
.mine-field.exploded img { animation: mine-blast .62s cubic-bezier(.2,.8,.25,1.25) both; }
.mines-cashout { justify-self: center; min-width: min(360px,100%); color: #07191e; background: #68e4ff; box-shadow: 0 6px 0 #126888; font-size: .88rem; letter-spacing: .05em; text-transform: uppercase; }
.mines-cashout strong { margin-left: 8px; color: #063343; font-size: 1rem; }
.mines-cashout:disabled { color: #7c8a9b; background: #283647; box-shadow: 0 4px 0 #07101a; opacity: 1; }
.mines-fairness { min-width: 0; margin: 0; color: #8296ad; font-size: .63rem; text-align: center; }
.mines-fairness code { display: inline-block; max-width: min(430px,75%); overflow: hidden; border: 0; padding: 0; color: #9fc8d5; background: transparent; text-overflow: ellipsis; vertical-align: bottom; white-space: nowrap; }
.mine-count-input { display: grid; gap: 7px; }
.mine-count-input select { width: 100%; min-height: 51px; border: 3px solid var(--ink); border-radius: 13px; padding: 10px 13px; color: var(--text); background: #11121f; box-shadow: inset 0 0 0 2px #30314e; outline: none; }
.mine-count-input select:disabled { color: var(--yellow); background: #282132; }
.dashboard[data-game="mines"] .bet-row { grid-template-columns: minmax(0,.8fr) minmax(130px,.45fr) minmax(210px,1fr); }
.history-game.mines { border-color: #277891; color: #b9f3ff; background: #173d4b; }
@keyframes mine-diamond-pop { 0% { opacity: 0; transform: scale(.2) rotate(-14deg); } 65% { opacity: 1; transform: scale(1.22) rotate(5deg); } 100% { opacity: 1; transform: scale(1) rotate(0); } }
@keyframes mine-field-blast { 0%,100% { transform: translate(0); } 25% { transform: translate(-5px,2px); } 50% { transform: translate(5px,-2px); } 75% { transform: translate(-3px,-1px); } }
@keyframes mine-blast { 0% { transform: scale(.3); filter: brightness(2); } 55% { transform: scale(1.35) rotate(9deg); filter: brightness(1.65) drop-shadow(0 0 16px #ff5b52); } 100% { transform: scale(1); filter: drop-shadow(0 5px 5px rgba(0,0,0,.45)); } }

.machine-shell { position: relative; margin: 25px 0 21px; padding: 38px 21px 22px; border: 6px solid var(--ink); border-radius: 30px; background: #101522; box-shadow: 0 8px 0 var(--game-dark), inset 0 0 0 3px #3d4660; }
.dashboard[data-game="bigfisher"] .machine-shell { margin: 16px 0 20px; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.dashboard[data-game="bigfisher"] .machine-topline,
.dashboard[data-game="bigfisher"] .machine-lights { display: none; }
.dashboard[data-game="bigfisher"] .reels { width: min(100%,940px); margin: 0 auto; gap: 0; }
.dashboard[data-game="bigfisher"] .reel,
.dashboard[data-game="bigfisher"] .reel.spinning { min-height: 0; aspect-ratio: 1; overflow: hidden; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.dashboard[data-game="bigfisher"] .machine-shell[data-rows="3"] .reel { min-height: 0; }
.dashboard[data-game="bigfisher"] .reel > img.reel-symbol { width: 88%; height: 88%; }
.dashboard[data-game="bigfisher"] .reel-symbol.fish-stack,
.dashboard[data-game="bigfisher"] .reel-symbol.scatter-stack,
.dashboard[data-game="bigfisher"] .reel-symbol.fisherman-stack { width: 100%; height: 100%; }
.machine-topline { position: absolute; top: 9px; left: 17px; right: 17px; display: flex; align-items: center; gap: 10px; }
.machine-topline span { flex: 1; height: 2px; border-radius: 2px; background: #464862; }
.machine-topline strong { color: #d0cfdd; font-size: .58rem; letter-spacing: .12em; text-transform: uppercase; }
.machine-lights { position: absolute; top: 24px; left: 26px; right: 26px; display: flex; justify-content: space-around; }
.machine-lights i { width: 6px; height: 6px; border: 2px solid var(--ink); border-radius: 50%; background: var(--game-accent); }
.reels { position: relative; z-index: 1; display: grid; gap: 11px; }
.reels::before { position: absolute; z-index: 5; inset: 0; background: rgba(3,5,14,.04); box-shadow: inset 0 16px 20px rgba(0,0,0,.34),inset 0 -18px 23px rgba(0,0,0,.4); content: ""; pointer-events: none; }
.reels[data-columns="3"] { grid-template-columns: repeat(3,minmax(0,1fr)); }
.reels[data-columns="5"] { grid-template-columns: repeat(5,minmax(0,1fr)); gap: 8px; }
.reels[data-columns="6"] { grid-template-columns: repeat(6,minmax(0,1fr)); gap: 7px; }
.reel { position: relative; display: grid; place-items: center; min-width: 0; min-height: 132px; overflow: hidden; contain: paint; isolation: isolate; border: 4px solid var(--ink); border-radius: 17px; background: #242b3f; box-shadow: inset 0 0 0 3px #3b4661,0 5px 0 #070810; }
.machine-shell[data-rows="3"] .reel, .machine-shell[data-rows="4"] .reel, .machine-shell[data-rows="5"] .reel { min-height: 76px; border-radius: 13px; }
.game-screen .machine-shell[data-rows="1"] .reel { min-height: 184px; }
.game-screen .machine-shell[data-rows="3"] .reel, .game-screen .machine-shell[data-rows="4"] .reel, .game-screen .machine-shell[data-rows="5"] .reel { min-height: 92px; }
.reel-symbol { display: block; width: min(86%,112px); height: 100px; object-fit: contain; filter: drop-shadow(0 7px 0 rgba(0,0,0,.34)); user-select: none; }
.machine-shell[data-rows="3"] .reel-symbol, .machine-shell[data-rows="4"] .reel-symbol, .machine-shell[data-rows="5"] .reel-symbol { width: min(82%,70px); height: 64px; }
.game-screen .machine-shell[data-rows="1"] .reel-symbol { width: min(78%,150px); height: 148px; }
.game-screen .machine-shell[data-rows="3"] .reel-symbol, .game-screen .machine-shell[data-rows="4"] .reel-symbol, .game-screen .machine-shell[data-rows="5"] .reel-symbol { width: min(80%,82px); height: 76px; }
.pixi-reels-layer { position: absolute; z-index: 4; inset: 0; overflow: hidden; isolation: isolate; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .19s cubic-bezier(.22,.72,.25,1),visibility 0s linear .19s; }
.pixi-reels-layer canvas { position: relative; z-index: 1; display: block; image-rendering: auto; }
.pixi-reels-layer::after { position: absolute; z-index: 3; top: -42%; right: -18%; left: -18%; height: 19%; background: rgba(255,255,255,.15); content: ""; filter: blur(12px); opacity: 0; transform: translateY(-40%) rotate(-3deg); }
.reels.pixi-active .pixi-reels-layer { opacity: 1; visibility: visible; transition-delay: 0s; }
.reels.pixi-active .reel-symbol { opacity: 0; transition: opacity .19s cubic-bezier(.22,.72,.25,1); }
.reels.pixi-active .reel.spinning .reel-symbol { position: relative; top: auto; left: auto; transform: none; }
.reels.pixi-active .reel { will-change: border-color,box-shadow,filter; }
.reels.pixi-spinning .pixi-reels-layer::after { animation: pixi-reel-sheen 1.15s .08s cubic-bezier(.18,.72,.25,1) both; }
.reel.pixi-column-moving { border-color: color-mix(in srgb,var(--game-accent) 72%,#fff 28%); }
.reel.pixi-column-landed { animation: pixi-column-land .34s cubic-bezier(.2,.82,.3,1) both; }
.reel.pixi-column-landed::after { position: absolute; z-index: 3; inset: 7%; border-radius: inherit; background: rgba(255,246,177,.2); box-shadow: 0 0 18px rgba(255,229,119,.34); content: ""; filter: blur(5px); pointer-events: none; animation: pixi-column-flash .34s ease-out both; }
@keyframes pixi-reel-sheen { 0% { opacity: 0; transform: translateY(-40%) rotate(-3deg); } 28% { opacity: .36; } 100% { opacity: 0; transform: translateY(510%) rotate(-3deg); } }
@keyframes pixi-column-land { 0%,100% { filter: brightness(1); } 42% { filter: brightness(1.16); } }
@keyframes pixi-column-flash { 0%,100% { opacity: 0; } 38% { opacity: .75; } }
.reel .symbol-bonus { --symbol-rest-scale: 1.16; width: min(94%,140px); height: 112px; object-fit: cover; object-position: 50% 17%; border-radius: 12px; transform: scale(var(--symbol-rest-scale)); }
.fish-stack,
.scatter-stack,
.fisherman-stack { position: relative; }
.reel-symbol.fish-stack,
.reel-symbol.scatter-stack,
.reel-symbol.fisherman-stack { display: block; width: min(96%,110px); height: 105px; filter: none; overflow: visible; }
.symbol-layer { position: absolute; inset: 50% auto auto 50%; width: 100%; height: 100%; object-fit: contain; transform: translate(-50%,-50%); pointer-events: none; }
.fish-stack .symbol-background { width: 100%; height: 100%; }
.fish-stack .symbol-main { z-index: 1; width: 94%; height: 82%; }
.fish-stack.symbol-epicfish .symbol-main { width: 98%; height: 86%; filter: drop-shadow(0 0 8px rgba(248,196,255,.72)); }
.scatter-stack .symbol-background,
.fisherman-stack .symbol-background { width: 100%; height: 100%; }
.scatter-stack .symbol-main { z-index: 1; width: 100%; height: 100%; }
.fisherman-stack .symbol-main { z-index: 1; width: 97%; height: 97%; }
.symbol-value-badge { position: absolute; z-index: 3; left: 50%; bottom: -2px; display: grid; place-items: center; width: 78%; height: 34%; transform: translateX(-50%); }
.symbol-value-badge img { position: absolute; width: 100%; height: 100%; object-fit: fill; filter: drop-shadow(0 3px 0 rgba(0,0,0,.35)); }
.symbol-value-badge strong { position: relative; z-index: 1; max-width: 82%; overflow: hidden; color: #fff; font-size: clamp(.55rem,1.15vw,.9rem); line-height: 1; text-overflow: ellipsis; text-shadow: 0 2px 2px #5c1600,2px 2px 0 #6b1a00; white-space: nowrap; }
.fisherman-stack .symbol-value-badge { bottom: -4px; width: 82%; }
.capture-multiplier { position: absolute; z-index: 5; top: 5%; right: 4%; display: grid; place-items: center; min-width: 42px; min-height: 36px; padding: 4px 7px; border: 3px solid #2c1902; border-radius: 11px; color: #3c2000; background: #ffe05c; box-shadow: 0 4px 0 #8b4c08; font-size: clamp(.72rem,1.6vw,1.25rem); font-weight: 950; text-shadow: 0 1px 0 #fff5b5; }
.dashboard[data-game="bigfisher"] .game-screen .machine-shell[data-rows="3"] .reel .reel-symbol.fish-stack,
.dashboard[data-game="bigfisher"] .game-screen .machine-shell[data-rows="3"] .reel .reel-symbol.scatter-stack,
.dashboard[data-game="bigfisher"] .game-screen .machine-shell[data-rows="3"] .reel .reel-symbol.fisherman-stack { width: 100%; height: 100%; }
.history-symbol .symbol-value-badge,
.paytable-symbol .symbol-value-badge { display: none; }
.history-symbol.fish-stack,
.history-symbol.scatter-stack,
.history-symbol.fisherman-stack,
.paytable-symbol.fish-stack,
.paytable-symbol.scatter-stack,
.paytable-symbol.fisherman-stack { filter: none; }
.reel.spinning { border-color: var(--game-accent); box-shadow: inset 0 0 0 3px var(--game-soft),0 5px 0 #070810; }
.dashboard[data-game="bonus"] .reel.spinning { border-color: transparent; background: transparent; box-shadow: none; }
.reel.spinning .reel-symbol { position: absolute; left: 50%; top: 50%; backface-visibility: hidden; transform: translate3d(-50%,-50%,0); transform-origin: center; will-change: transform; }
.reel-symbol-outgoing { animation: reel-symbol-fall-out var(--reel-phase-duration,115ms) cubic-bezier(.55,.06,.78,.42) both; }
.reel-symbol-incoming { animation: reel-symbol-fall-in var(--reel-phase-duration,115ms) cubic-bezier(.18,.72,.28,1) both; }
.reel.settled .reel-symbol { animation: reel-symbol-land .32s cubic-bezier(.2,.8,.3,1.18) both; }
.reel.winning { z-index: 3; border-color: var(--yellow); animation: reel-winning-glow .65s ease-in-out 4 alternate; }
.reel.winning .reel-symbol { animation: reel-winning-symbol .65s ease-in-out 4 alternate; }
.reel.bonus-hit { z-index: 3; border-color: var(--blue); animation: reel-bonus-glow .62s ease-in-out 4 alternate; }
.reel.bonus-hit .reel-symbol { animation: reel-winning-symbol .62s ease-in-out 4 alternate; }
.reel.scatter-trigger .scatter-stack { animation: scatter-dive .9s cubic-bezier(.35,.05,.25,1) both; }
.reel.fish-caught .fish-stack .symbol-value-badge { animation: fish-value-caught .68s cubic-bezier(.35,.05,.25,1) both; }
.reel.fish-caught .fish-stack .symbol-main { animation: fish-caught-flash .68s ease both; }
.reel.fisher-catching .fisherman-stack { animation: fisherman-cast .68s ease-in-out both; }
.reel.fisher-caught .fisherman-stack .symbol-value-badge { animation: fisherman-value-grow .7s cubic-bezier(.17,.89,.25,1.35) both; }
.reel.fisher-multiplying .capture-multiplier { animation: fisherman-multiplier-hit .52s cubic-bezier(.17,.89,.25,1.35) both; }
.reel.fisher-multiplying .fisherman-stack .symbol-value-badge { animation: fisherman-value-wait .52s ease both; }
.reel.fisher-multiplied .fisherman-stack .symbol-value-badge { animation: fisherman-value-multiplied .68s cubic-bezier(.17,.89,.25,1.35) both; }
@keyframes scatter-dive { 0%,100% { transform: translateY(0); } 42% { transform: translateY(36%) scale(.93); } 72% { transform: translateY(-7%) scale(1.04); } }
@keyframes fish-value-caught { 0% { opacity: 1; transform: translateX(-50%) scale(1); } 55% { opacity: 1; transform: translate(-50%,-30%) scale(1.18); } 100% { opacity: 0; transform: translate(-50%,-120%) scale(.25); } }
@keyframes fish-caught-flash { 0%,100% { filter: none; } 45% { filter: brightness(1.55) drop-shadow(0 0 10px #fff1a0); transform: scale(1.08); } }
@keyframes fisherman-cast { 0%,100% { transform: rotate(0); } 35% { transform: rotate(-7deg) scale(1.06); } 68% { transform: rotate(4deg) scale(.98); } }
@keyframes fisherman-value-grow { 0% { opacity: 0; transform: translateX(-50%) scale(.1); } 65% { opacity: 1; transform: translateX(-50%) scale(1.3); } 100% { opacity: 1; transform: translateX(-50%) scale(1); } }
@keyframes fisherman-multiplier-hit { 0% { opacity: 0; transform: translateY(-25%) scale(.25) rotate(-12deg); } 65% { opacity: 1; transform: translateY(18%) scale(1.28) rotate(7deg); } 100% { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes fisherman-value-wait { 0%,100% { transform: translateX(-50%) scale(1); } 50% { transform: translateX(-50%) scale(.9); filter: brightness(1.35); } }
@keyframes fisherman-value-multiplied { 0% { transform: translateX(-50%) scale(.55); filter: brightness(2); } 62% { transform: translateX(-50%) scale(1.35); filter: brightness(1.45); } 100% { transform: translateX(-50%) scale(1); filter: none; } }
.reel.tumble-winning { z-index: 6; border-color: #fff18b; animation: cluster-bounce .48s ease-in-out infinite alternate; }
.reel.tumble-winning .reel-symbol { filter: brightness(1.25) drop-shadow(0 0 9px #fff0a0); }
.reel.tumble-remove { animation: tumble-remove .39s cubic-bezier(.55,-.2,.8,.4) both; }
.reel.tumble-drop { animation: tumble-drop .58s cubic-bezier(.16,.82,.32,1.12) both; }
.reel.tumble-row-1 { animation-delay: .05s; }
.reel.tumble-row-2 { animation-delay: .1s; }
.reel.tumble-row-3 { animation-delay: .15s; }
.reel.tumble-row-4 { animation-delay: .2s; }
@keyframes reel-symbol-fall-out { from { transform: translate3d(-50%,-50%,0); } to { transform: translate3d(-50%,125%,0); } }
@keyframes reel-symbol-fall-in { from { transform: translate3d(-50%,-225%,0); } to { transform: translate3d(-50%,-50%,0); } }
@keyframes reel-symbol-land { 0% { transform: translateY(-7px) scale(var(--symbol-rest-scale,1)); } 68% { transform: translateY(2px) scale(var(--symbol-rest-scale,1)); } 100% { transform: translateY(0) scale(var(--symbol-rest-scale,1)); } }
@keyframes reel-winning-glow { to { transform: translateY(-4px) rotate(-1deg); box-shadow: inset 0 0 0 5px #9a7922,0 7px 0 #5e4410,0 0 0 5px #ffe889; } }
@keyframes reel-bonus-glow { to { transform: translateY(-4px) rotate(1deg); box-shadow: inset 0 0 0 5px #285c91,0 7px 0 #173c66,0 0 0 5px #9fd4ff; } }
@keyframes reel-winning-symbol { to { transform: scale(1.13) rotate(3deg); filter: brightness(1.2) drop-shadow(0 8px 0 rgba(0,0,0,.3)); } }
@keyframes cluster-bounce { to { transform: scale(1.06) rotate(1.5deg); box-shadow: inset 0 0 0 5px #8e6c12,0 6px 0 #070810,0 0 0 4px #fff3a5; } }
@keyframes tumble-remove { 0% { transform: scale(1); opacity: 1; } 55% { transform: scale(1.18) rotate(-7deg); opacity: 1; } 100% { transform: scale(.08) rotate(18deg); opacity: 0; } }
@keyframes tumble-drop { 0% { transform: translateY(-125%) scale(.8); opacity: 0; } 72% { transform: translateY(7%) scale(1.04); opacity: 1; } 100% { transform: none; opacity: 1; } }
.cluster-connections { position: absolute; z-index: 5; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
.cluster-link { stroke: #ffdf5d; stroke-width: 9; stroke-linecap: round; filter: drop-shadow(0 0 4px #fff4ac); stroke-dasharray: 220; stroke-dashoffset: 220; animation: cluster-connect .38s ease-out forwards; }
@keyframes cluster-connect { to { stroke-dashoffset: 0; } }

.paylines { position: absolute; z-index: 4; inset: 35px 11px 20px; pointer-events: none; }
.paylines i { position: absolute; left: 0; right: 0; height: 2px; border-radius: 3px; background: var(--game-accent); opacity: 0; }
.paylines i.win-line { z-index: 5; height: 7px; border: 2px solid #6b4e0e; opacity: 1 !important; background: var(--yellow); box-shadow: 0 0 0 3px #fff1a7; transform-origin: left center; animation: winning-line-connect .46s cubic-bezier(.2,.9,.25,1) both,winning-line-pulse .55s .46s ease-in-out 3 alternate; }
@keyframes winning-line-connect { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes winning-line-pulse { to { transform: scaleX(1) scaleY(1.55); } }

.quick-bets { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 13px; padding: 0; border: 0; }
.quick-bet-options { display: contents; }
.hell-bet-toggle, .hell-current-multiplier, .hell-spin-win { display: none; }
.quick-bets legend { width: 100%; margin-bottom: 8px; color: #c2c1d2; font-size: .71rem; font-weight: 900; }
.quick-bets button { padding: 8px 12px; color: #d4d3df; background: #26273d; box-shadow: 0 4px 0 var(--ink); font-size: .71rem; }
.quick-bets button:hover, .quick-bets button.selected { color: #181305; background: var(--game-accent); }
.bet-row { display: grid; grid-template-columns: minmax(0,.72fr) minmax(210px,1.28fr); align-items: end; gap: 12px; }
.bet-input { display: grid; gap: 7px; }
.spin-button { display: flex; justify-content: center; align-items: center; gap: 12px; min-height: 51px; color: #181405; background: var(--game-accent); box-shadow: 0 6px 0 var(--game-dark); }
.spin-button span { font-size: .94rem; letter-spacing: .08em; text-transform: uppercase; }
.spin-button small { max-width: 160px; overflow: hidden; padding-left: 11px; border-left: 2px solid rgba(0,0,0,.3); font-size: .63rem; font-weight: 950; text-overflow: ellipsis; white-space: nowrap; }
.spin-button:hover { transform: translateY(-2px) rotate(-.3deg); }
.bonus-buy-row { display: grid; grid-template-columns: minmax(0,1fr) minmax(210px,.72fr); align-items: center; gap: 12px; margin: 12px 0 8px; padding: 13px 14px; border: 3px solid #171327; border-radius: 17px; background: rgba(7,8,11,.82); box-shadow: 0 5px 0 rgba(5,5,7,.86); }
.bonus-buy-row > div { display: grid; gap: 4px; }
.bonus-buy-row span { color: #b9c9df; font-size: .65rem; font-weight: 950; letter-spacing: .08em; text-transform: uppercase; }
.bonus-buy-row strong { color: #fff; font-size: .92rem; }
.bonus-buy-row strong b { color: var(--yellow); }
#buy-bonus-button { display: grid; place-items: center; min-height: 53px; border: 3px solid #171327; color: #1b1505; background: var(--yellow); box-shadow: 0 5px 0 #76540e; }
#buy-bonus-button small { display: block; margin-top: 3px; font-size: .59rem; font-weight: 950; letter-spacing: .06em; text-transform: uppercase; }
#buy-bonus-button:hover { transform: translateY(-2px) rotate(-.4deg); }
.auto-spin-row { display: grid; grid-template-columns: minmax(170px,.7fr) minmax(130px,.55fr) minmax(190px,1fr); gap: 12px; align-items: end; margin-top: 4px; }
.fast-mode-toggle { position: relative; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 10px; min-height: 51px; border: 3px solid var(--ink); border-radius: 13px; padding: 8px 11px; background: #26273d; box-shadow: 0 5px 0 var(--ink); cursor: pointer; }
.fast-mode-toggle input { position: absolute; width: 1px; height: 1px; padding: 0; opacity: 0; pointer-events: none; }
.fast-mode-switch { position: relative; width: 44px; height: 25px; border: 2px solid var(--ink); border-radius: 999px; background: #555872; box-shadow: inset 0 0 0 2px rgba(255,255,255,.08); transition: background .14s ease; }
.fast-mode-switch::after { position: absolute; top: 3px; left: 3px; width: 15px; height: 15px; border-radius: 50%; background: #fff; box-shadow: 0 2px 0 rgba(0,0,0,.4); content: ""; transition: transform .14s ease; }
.fast-mode-toggle input:checked + .fast-mode-switch { background: var(--game-accent); }
.fast-mode-toggle input:checked + .fast-mode-switch::after { transform: translateX(19px); }
.fast-mode-toggle input:focus-visible + .fast-mode-switch { outline: 4px solid var(--yellow); outline-offset: 3px; }
.fast-mode-toggle:has(input:disabled) { cursor: wait; opacity: .58; }
.fast-mode-copy { display: grid; gap: 2px; }
.fast-mode-copy strong { color: #fff; font-size: .76rem; }
.fast-mode-copy small { color: #b9bbcc; font-size: .57rem; line-height: 1.2; }
.auto-spin-count { display: grid; gap: 7px; }
.auto-spin-start, .auto-spin-stop { min-height: 51px; color: #181405; background: var(--game-accent); box-shadow: 0 5px 0 var(--game-dark); }
.auto-spin-stop { color: #fff; background: #a72e43; box-shadow: 0 5px 0 #561522; }
.auto-spin-stop b { color: var(--yellow); }
.dashboard[data-game="bonus"] .auto-spin-count input { background: rgba(7,8,11,.78); box-shadow: inset 0 0 0 2px rgba(255,218,108,.32); }
.dashboard.fast-mode .reel.settled .reel-symbol { animation-duration: .11s; }
.dashboard.fast-mode .reel.winning,
.dashboard.fast-mode .reel.winning .reel-symbol { animation-duration: .23s; }
.dashboard.fast-mode .reel.bonus-hit,
.dashboard.fast-mode .reel.bonus-hit .reel-symbol { animation-duration: .22s; }
.dashboard.fast-mode .reel.tumble-winning { animation-duration: .17s; }
.dashboard.fast-mode .reel.tumble-remove { animation-duration: .14s; }
.dashboard.fast-mode .reel.tumble-drop { animation-duration: .2s; }
.dashboard.fast-mode .reel.tumble-row-1 { animation-delay: .02s; }
.dashboard.fast-mode .reel.tumble-row-2 { animation-delay: .04s; }
.dashboard.fast-mode .reel.tumble-row-3 { animation-delay: .05s; }
.dashboard.fast-mode .reel.tumble-row-4 { animation-delay: .07s; }
.dashboard.fast-mode .cluster-link { animation-duration: .13s; }
.dashboard.fast-mode .paylines i.win-line { animation-duration: .16s,.19s; animation-delay: 0s,.16s; }
.dashboard.fast-mode #active-bonus-multiplier.activated,
.dashboard.fast-mode .bonus-cards button.revealed strong { animation-duration: .25s; }
.dashboard.fast-mode .big-win.celebrate { animation-duration: 1.26s; }
.dashboard.fast-mode .big-win.celebrate .big-win-card { animation-duration: 1.14s; }
.dashboard.fast-mode .big-win.celebrate .big-win-card strong { animation-duration: .15s; animation-delay: .21s; }
.dashboard.fast-mode .big-win.celebrate .big-win-stickers img { animation-duration: .91s; animation-delay: .1s; }
.dashboard.fast-mode .big-win.celebrate .big-win-stickers img:nth-child(2) { animation-delay: .14s; }
.dashboard.fast-mode .big-win.celebrate .big-win-stickers img:nth-child(3) { animation-delay: .18s; }
.dashboard.fast-mode .big-win.celebrate .big-win-stickers img:nth-child(4) { animation-delay: .22s; }
.result-panel { display: flex; align-items: center; gap: 11px; min-height: 61px; margin-top: 16px; padding: 13px 16px; border: 3px solid var(--ink); border-radius: 16px; color: #c3c2d4; background: #27283e; box-shadow: 0 4px 0 var(--ink); line-height: 1.45; }
.result-dot { flex: 0 0 10px; height: 10px; border: 2px solid var(--ink); border-radius: 50%; background: #777991; }
.result-panel.loading { color: var(--game-accent); }
.result-panel.loading .result-dot { background: var(--game-accent); animation: status-pulse .55s ease infinite alternate; }
.result-panel.win { color: #b7ffd5; background: #174a38; }
.result-panel.win .result-dot { background: var(--mint); }
.result-panel.bonus-win { color: #ffe794; background: #57401e; outline: 3px solid #9f7622; outline-offset: -6px; }
.result-panel.bonus-win .result-dot, .result-panel.free-spin .result-dot { background: var(--yellow); }
.result-panel.free-spin { color: #c5e2ff; background: #1b3d63; }
.result-panel.error { color: #ffc2d0; background: #572535; }
.result-panel.error .result-dot { background: var(--pink); }
@keyframes status-pulse { to { transform: scale(.5); opacity: .4; } }

.paytable-section { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 28px; margin-top: 23px; padding-top: 22px; border-top: 3px dashed rgba(255,255,255,.14); }
.paytable-title { min-width: 165px; }
.paytable-title .eyebrow { margin-bottom: 4px; }
.paytable { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.paytable > div { display: flex; justify-content: space-between; align-items: center; gap: 8px; min-width: 0; padding: 9px 10px; border: 3px solid var(--ink); border-radius: 11px; background: #26273d; box-shadow: 0 3px 0 var(--ink); font-size: .66rem; }
.paytable-combination { display: flex; align-items: center; gap: 3px; min-width: 0; overflow: hidden; color: #dad9e5; white-space: nowrap; }
.paytable-combination em { margin-right: 2px; overflow: hidden; color: var(--muted); font-size: .59rem; font-style: normal; text-overflow: ellipsis; }
.paytable-symbol { display: block; flex: 0 0 22px; width: 22px; height: 22px; object-fit: contain; }
.paytable .symbol-bonus { object-fit: cover; object-position: 50% 17%; border-radius: 5px; transform: scale(1.12); }
.paytable strong { color: var(--game-accent); white-space: nowrap; }

.settings-panel { position: fixed; z-index: 1200; inset: 0; display: grid; place-items: center; overflow-y: auto; padding: 26px; background: rgba(4,7,14,.76); backdrop-filter: blur(6px); }
.settings-sheet { width: min(1120px,100%); max-height: min(820px,calc(100vh - 52px)); overflow: auto; border: 4px solid var(--ink); border-radius: 28px; padding: clamp(20px,3vw,32px); background: #151c2c; box-shadow: 0 10px 0 #05070c,0 24px 60px rgba(0,0,0,.45); }
.settings-header { display: flex; justify-content: space-between; align-items: center; gap: 18px; padding-bottom: 19px; border-bottom: 2px solid #313b53; }
.settings-header h2 { margin: 0; }
.settings-header button { display: grid; place-items: center; width: 46px; height: 46px; padding: 0; color: #fff; background: #2a3247; box-shadow: 0 4px 0 var(--ink); font-size: 1.8rem; line-height: 1; }
.profile-editor { margin-top: 24px; padding: 24px; background: #111725; box-shadow: 0 5px 0 #05070c; }
.profile-editor form { margin-top: 18px; }
.profile-editor-grid { display: grid; grid-template-columns: 280px 1fr; gap: 10px 20px; align-items: end; }
.profile-editor-grid > label[for="profile-bio"],
.profile-editor-grid > label[for="profile-nickname"] { display: flex; justify-content: space-between; align-items: center; }
.profile-editor-grid > label[for="profile-bio"] span,
.profile-editor-grid > label[for="profile-nickname"] span { color: var(--muted); font-size: .7rem; }
.avatar-upload { grid-row: span 5; display: flex; align-items: center; gap: 13px; min-height: 112px; border: 3px dashed #44506d; border-radius: 18px; padding: 14px; color: #fff; background: #171e30; cursor: pointer; }
.avatar-upload:hover { border-color: var(--mint); }
.avatar-upload > span:last-child { display: grid; gap: 5px; }
.avatar-upload small { color: var(--muted); font-size: .67rem; line-height: 1.35; }
.profile-avatar-preview, .public-avatar { flex: 0 0 auto; display: grid; place-items: center; width: 78px; height: 78px; overflow: hidden; border: 4px solid #070a11; border-radius: 24px; color: #122019; background: var(--mint); box-shadow: 0 5px 0 #287c5d; font-size: 1.75rem; }
.profile-avatar-preview img, .public-avatar img { width: 100%; height: 100%; object-fit: cover; }
#profile-avatar { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.profile-field-help { margin: -3px 0 2px; color: var(--muted); font-size: .67rem; line-height: 1.45; }
#profile-nickname:valid { border-color: #4c8c68; }
#profile-nickname:invalid:not(:placeholder-shown) { border-color: #a95768; }
#profile-nickname[readonly] { border-color: #3a4359; color: #aab3c5; background: #171d2b; cursor: not-allowed; }
.profile-form-footer { display: flex; justify-content: flex-end; align-items: center; gap: 18px; }
.profile-form-footer .message { flex: 1; margin: 0; color: var(--mint); }
.profile-form-footer .primary { margin-top: 0; }
.history-card { min-width: 0; padding: 24px 0 0; }
.section-title { display: flex; justify-content: space-between; align-items: start; gap: 15px; }
.section-title h3 { font-size: 1.35rem; }
.section-title p { margin: 5px 0 0; color: var(--muted); font-size: .78rem; }
.pill { flex: none; border: 2px solid #444662; border-radius: 999px; padding: 7px 11px; color: #c2c1d1; background: #26273d; font-size: .66rem; font-weight: 850; }
.table-wrap { max-height: 690px; overflow: auto; }
table { width: 100%; border-collapse: collapse; }
th, td { padding: 12px 8px; border-bottom: 2px solid #343650; text-align: left; white-space: nowrap; }
th { position: sticky; top: 0; z-index: 3; color: #aaaac0; background: var(--panel); font-size: .62rem; letter-spacing: .07em; text-transform: uppercase; }
td { font-size: .77rem; }
.history-badges { display: flex; align-items: center; gap: 5px; }
.history-game, .history-free { display: inline-flex; border: 2px solid #634d19; border-radius: 999px; padding: 4px 8px; color: var(--yellow); background: #423419; font-size: .6rem; font-weight: 950; }
.history-game.archived { border-color: #4b5367; color: #c3cad8; background: #252c3a; }
.history-game.bonus { border-color: #315d92; color: #b1d3ff; background: #203d62; }
.history-game.bigfisher { border-color: #0f7aa7; color: #bdefff; background: #084664; }
.history-free { border-color: #85631c; color: #ffe38b; background: #55411d; }
.history-symbols { display: inline-flex; align-items: center; gap: 3px; }
.history-symbols.grid-result { display: grid; gap: 1px; padding: 4px; border: 2px solid #3e405e; border-radius: 7px; background: #11121e; }
.history-symbols.columns-5 { grid-template-columns: repeat(5,13px); }
.history-symbols.columns-6 { grid-template-columns: repeat(6,12px); }
.history-symbol { display: block; width: 24px; height: 24px; object-fit: contain; }
.grid-result .history-symbol { width: 13px; height: 13px; }
.grid-result .symbol-bonus { object-fit: cover; object-position: 50% 16%; border-radius: 2px; }
.empty-state { display: grid; place-items: center; gap: 8px; min-height: 230px; margin: 0; color: var(--muted); text-align: center; font-size: .81rem; }
.empty-state span { color: #5a5c79; font-size: 2.3rem; }

.community-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(18px,2.5vw,30px); }
.community-card { min-width: 0; padding: clamp(22px,3vw,30px); background: #121827; }
.community-card .section-title { padding-bottom: 17px; border-bottom: 2px dashed #35405b; }
.community-card .section-title h2 { margin: 0; font-size: clamp(1.55rem,2.5vw,2.15rem); }
.player-ranking { display: grid; gap: 9px; margin: 16px 0 0; padding: 0; list-style: none; }
.player-row-button, .win-player-button { width: 100%; color: var(--text); background: transparent; box-shadow: none; text-align: left; }
.player-row-button { display: grid; grid-template-columns: 34px 46px minmax(0,1fr) auto; align-items: center; gap: 10px; padding: 9px 10px; border: 2px solid #303b53; border-radius: 16px; background: #192135; }
.player-row-button:hover, .win-player-button:hover { border-color: var(--mint); transform: translateY(-2px); }
.rank-position { color: var(--yellow); font-size: .85rem; text-align: center; }
.mini-avatar { display: grid; place-items: center; width: 42px; height: 42px; overflow: hidden; border: 3px solid #070a11; border-radius: 14px; color: #11251c; background: var(--mint); box-shadow: 0 3px 0 #287c5d; }
.mini-avatar img { width: 100%; height: 100%; object-fit: cover; }
.player-row-copy { min-width: 0; display: grid; gap: 3px; }
.player-row-copy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.player-row-copy small { color: var(--muted); }
.player-money { color: var(--yellow); white-space: nowrap; }
.big-wins-list { display: grid; gap: 10px; margin-top: 16px; }
.win-entry { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 12px; border: 2px solid #3d384d; border-radius: 17px; padding: 8px 11px; background: #211c2b; }
.win-player-button { display: flex; align-items: center; gap: 10px; min-width: 0; padding: 0; border: 0; }
.win-copy { min-width: 0; display: grid; gap: 3px; }
.win-copy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.win-copy small { color: var(--muted); }
.win-amount { display: grid; justify-items: end; color: var(--yellow); }
.win-amount small { color: var(--muted); font-size: .62rem; }
.community-empty { margin: 22px 0 4px; color: var(--muted); text-align: center; }

.profile-modal { position: fixed; z-index: 1500; inset: 0; display: grid; place-items: center; overflow-y: auto; padding: 24px; background: rgba(4,7,14,.82); backdrop-filter: blur(7px); }
.public-profile-card { position: relative; width: min(610px,100%); padding: clamp(25px,4vw,38px); background: #151c2c; }
.profile-close { position: absolute; top: 16px; right: 16px; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; color: #fff; background: #2a3247; box-shadow: 0 4px 0 var(--ink); font-size: 1.7rem; }
.public-profile-hero { display: flex; align-items: center; gap: 18px; padding-right: 50px; }
.public-avatar { width: 104px; height: 104px; border-radius: 30px; font-size: 2.2rem; }
.public-profile-hero h2 { margin: 0 0 10px; }
.level-badge { display: inline-flex; border: 2px solid #594b1e; border-radius: 999px; padding: 6px 11px; color: #2b2104; background: var(--yellow); font-size: .73rem; font-weight: 950; }
.public-profile-bio { min-height: 54px; margin: 25px 0; border: 2px dashed #404b65; border-radius: 15px; padding: 14px; color: #d9e0ed; background: #111725; line-height: 1.55; white-space: pre-wrap; }
.public-profile-progress { display: grid; gap: 8px; margin-bottom: 22px; }
.public-profile-progress > div { display: flex; justify-content: space-between; color: var(--muted); font-size: .72rem; font-weight: 900; }
.public-profile-progress i { height: 13px; }
.profile-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0; }
.profile-stats div { border: 2px solid #35405b; border-radius: 15px; padding: 12px; background: #111725; }
.profile-stats dt { color: var(--muted); font-size: .65rem; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.profile-stats dd { margin: 5px 0 0; color: var(--yellow); font-size: 1.05rem; font-weight: 950; }
footer { max-width: 840px; margin: 33px auto 0; color: var(--muted); font-size: .77rem; line-height: 1.6; text-align: center; }

.big-win { position: fixed; z-index: 1000; inset: 0; display: grid; place-items: center; overflow: hidden; padding: 24px; background: rgba(7,7,16,.72); pointer-events: none; }
.big-win-card { position: relative; z-index: 2; display: grid; place-items: center; min-width: min(620px,88vw); padding: 36px 62px 40px; border: 7px solid var(--ink); border-radius: 35px; color: #fff; background: #714be8; box-shadow: 0 13px 0 #342172,0 0 0 7px var(--yellow); text-align: center; transform: scale(.2) rotate(-12deg); }
.big-win-card::before, .big-win-card::after { position: absolute; color: var(--yellow); font-size: 4rem; content: "★"; text-shadow: 4px 4px 0 #6f4d05; }
.big-win-card::before { top: -45px; left: -38px; transform: rotate(-18deg); }
.big-win-card::after { right: -38px; bottom: -45px; transform: rotate(18deg); }
.big-win-kicker { border: 3px solid var(--ink); border-radius: 999px; padding: 7px 15px; color: #1f1908; background: var(--yellow); box-shadow: 0 4px 0 #98731c; font-size: .78rem; font-weight: 950; letter-spacing: .12em; text-transform: uppercase; }
.big-win-card strong { margin-top: 9px; color: var(--yellow); font-size: clamp(4.2rem,12vw,8rem); line-height: .9; letter-spacing: -.08em; text-shadow: 5px 5px 0 #d74a58,10px 10px 0 var(--ink); }
.big-win-card b { margin-top: 22px; color: #fff; font-size: clamp(2rem,6vw,3.8rem); text-shadow: 4px 4px 0 var(--ink); }
.big-win-card small { margin-top: 7px; color: #e8e0ff; font-size: 1rem; font-weight: 950; }
.big-win-stickers { position: absolute; inset: 0; }
.big-win-stickers img { position: absolute; width: clamp(75px,12vw,155px); height: clamp(75px,12vw,155px); object-fit: contain; filter: drop-shadow(7px 9px 0 rgba(0,0,0,.42)); opacity: 0; }
.big-win-stickers img:nth-child(1) { left: 8%; top: 8%; }
.big-win-stickers img:nth-child(2) { right: 7%; top: 12%; }
.big-win-stickers img:nth-child(3) { left: 11%; bottom: 8%; }
.big-win-stickers img:nth-child(4) { right: 10%; bottom: 7%; }
.big-win.celebrate { animation: big-win-screen 3.6s ease both; }
.big-win.celebrate .big-win-card { animation: big-win-pop 3.25s cubic-bezier(.17,.89,.25,1.25) both; }
.big-win.celebrate .big-win-card strong { animation: big-win-wobble .42s .6s ease-in-out 5 alternate; }
.big-win.celebrate .big-win-stickers img { animation: sticker-burst 2.6s .28s cubic-bezier(.17,.8,.3,1.2) both; }
.big-win.celebrate .big-win-stickers img:nth-child(2) { animation-delay: .4s; }
.big-win.celebrate .big-win-stickers img:nth-child(3) { animation-delay: .52s; }
.big-win.celebrate .big-win-stickers img:nth-child(4) { animation-delay: .64s; }
@keyframes big-win-screen { 0% { opacity: 0; } 10%,82% { opacity: 1; } 100% { opacity: 0; } }
@keyframes big-win-pop { 0% { transform: scale(.2) rotate(-12deg); } 22% { transform: scale(1.1) rotate(3deg); } 34% { transform: scale(.97) rotate(-2deg); } 48%,82% { transform: scale(1) rotate(0); } 100% { transform: scale(.65) rotate(8deg); } }
@keyframes big-win-wobble { from { transform: rotate(-3deg) scale(1); } to { transform: rotate(3deg) scale(1.08); } }
@keyframes sticker-burst { 0% { opacity: 0; transform: scale(.1) rotate(-30deg); } 30% { opacity: 1; transform: scale(1.2) rotate(12deg); } 55%,80% { opacity: 1; transform: scale(1) rotate(-5deg); } 100% { opacity: 0; transform: scale(.5) translateY(70px) rotate(30deg); } }

.fisher-series-transition { position: fixed; z-index: 950; inset: 0; display: grid; place-items: center; padding: 24px; background: rgba(0,20,34,.82); pointer-events: none; }
.fisher-series-card { display: grid; place-items: center; width: min(620px,92vw); padding: clamp(30px,6vw,55px); border: 6px solid #031b2b; border-radius: 31px; color: #fff; background: #07577f; box-shadow: 0 11px 0 #01263c,0 0 0 6px #ffdc57; text-align: center; }
.fisher-series-card span { padding: 7px 13px; border: 2px solid #03263a; border-radius: 999px; color: #082130; background: #ffdc57; font-size: .72rem; font-weight: 950; letter-spacing: .1em; text-transform: uppercase; }
.fisher-series-card strong { margin-top: 19px; color: #fff; font-size: clamp(2.8rem,10vw,5.5rem); line-height: .92; letter-spacing: -.06em; text-shadow: 5px 5px 0 #01263c; }
.fisher-series-card b { margin-top: 18px; color: #ffdf5e; font-size: clamp(1.6rem,6vw,3.2rem); text-shadow: 3px 3px 0 #04344d; }
.fisher-series-card small { max-width: 390px; margin-top: 11px; color: #c9efff; font-size: .82rem; font-weight: 900; line-height: 1.35; }
.fisher-series-transition.show { animation: fisher-series-screen 2.2s ease both; }
.fisher-series-transition.show .fisher-series-card { animation: fisher-series-card-in 2.05s cubic-bezier(.17,.89,.25,1.2) both; }
@keyframes fisher-series-screen { 0%,100% { opacity: 0; } 12%,86% { opacity: 1; } }
@keyframes fisher-series-card-in { 0% { opacity: 0; transform: scale(.25) rotate(-8deg); } 24% { opacity: 1; transform: scale(1.08) rotate(2deg); } 38%,82% { opacity: 1; transform: scale(1) rotate(0); } 100% { opacity: 0; transform: scale(.78); } }

.bonus-card-choice { position: fixed; z-index: 900; inset: 0; display: grid; align-content: center; justify-items: center; gap: 25px; overflow-y: auto; padding: 72px 24px 45px; background: rgba(5,13,29,.14); backdrop-filter: blur(1px); }
.bonus-choice-copy { max-width: 720px; color: #fff; text-align: center; text-shadow: 3px 3px 0 #0b1020; }
.bonus-choice-copy > span { display: inline-flex; border: 3px solid #171327; border-radius: 999px; padding: 7px 14px; color: #201804; background: var(--yellow); box-shadow: 0 4px 0 #76540e; font-size: .7rem; font-weight: 950; letter-spacing: .11em; text-transform: uppercase; }
.bonus-choice-copy h2 { margin: 13px 0 8px; font-size: clamp(2.4rem,6vw,4.6rem); }
.bonus-choice-copy p { margin: 0; color: #edf4ff; font-weight: 850; line-height: 1.5; }
.bonus-cards { display: grid; grid-template-columns: repeat(3,minmax(0,230px)); gap: clamp(14px,3vw,34px); width: min(780px,100%); }
.bonus-cards button { position: relative; display: grid; place-items: end center; min-height: 340px; overflow: hidden; padding: 18px; border: 5px solid rgba(255,226,131,.88); border-radius: 27px; color: #fff; background: rgba(5,6,8,.08); box-shadow: 0 9px 0 rgba(5,5,7,.82),0 0 0 4px rgba(10,10,12,.3); backdrop-filter: blur(1px); transform: rotate(-2deg); }
.bonus-cards button:nth-child(2) { transform: translateY(-10px) rotate(1deg); }
.bonus-cards button:nth-child(3) { transform: rotate(3deg); }
.bonus-cards button:hover { transform: translateY(-13px) rotate(0) scale(1.04); background: rgba(4,4,6,.22); }
.bonus-cards img { position: absolute; inset: 0 0 44px; width: 100%; height: calc(100% - 44px); object-fit: contain; filter: drop-shadow(7px 9px 0 rgba(0,0,0,.34)); transform: scale(1.14); }
.bonus-cards span { position: relative; z-index: 2; width: 100%; border: 3px solid #171327; border-radius: 12px; padding: 9px; color: #201804; background: var(--yellow); box-shadow: 0 4px 0 #76540e; text-transform: uppercase; }
.bonus-cards strong { position: absolute; z-index: 4; inset: 0; display: grid; place-items: center; padding: 14px; color: var(--yellow); background: rgba(5,5,7,.58); font-size: clamp(2.6rem,6vw,4.6rem); line-height: .95; text-align: center; text-shadow: 5px 5px 0 #11101e; white-space: pre-line; opacity: 0; transform: scale(.2) rotate(-12deg); }
.bonus-cards button.revealed strong { opacity: 1; animation: card-reveal .7s cubic-bezier(.17,.89,.25,1.3) both; }
.bonus-cards button.chosen { border-color: #fff2a6; box-shadow: 0 9px 0 #6c4b0c,0 0 0 6px var(--yellow),0 0 35px #ffdc67; }
.bonus-cards button.not-chosen { opacity: .58; filter: saturate(.5); }
.bonus-cards button:disabled { cursor: default; }
.bonus-choice-result { min-height: 1.5em; margin: 0; color: var(--yellow); font-size: 1.15rem; font-weight: 950; text-align: center; text-shadow: 3px 3px 0 #11101e; }
@keyframes card-reveal { 0% { opacity: 0; transform: scale(.2) rotate(-12deg); } 65% { opacity: 1; transform: scale(1.25) rotate(7deg); } 100% { opacity: 1; transform: scale(1) rotate(0); } }

@media (max-width:1120px) {
  .game-picker { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .table-wrap { max-height: 430px; }
  .empty-state { min-height: 150px; }
}

@media (min-width:781px) {
  .dashboard[data-game="bonus"] .machine-shell { padding-right: clamp(180px,22vw,250px); }
  .dashboard[data-game="bonus"] .bonus-character {
    position: absolute;
    z-index: 3;
    top: 50%;
    right: -6px;
    display: block;
    width: clamp(190px,22vw,285px);
    height: calc(100% - 4px);
    object-fit: contain;
    object-position: center bottom;
    filter: drop-shadow(10px 12px 0 rgba(0,0,0,.28));
    transform: translateY(-50%);
    pointer-events: none;
    user-select: none;
  }
}

@media (min-width:1121px) {
  .dashboard[data-game="bigfisher"] .game-screen-inner { width: min(1320px,calc(100% - 42px)); }
  .dashboard[data-game="bonus"] .game-screen-inner { width: min(1580px,calc(100% - 42px)); }
  .dashboard[data-game="bonus"] .slot-card { padding: 30px 34px 38px; }
  .dashboard[data-game="bonus"] .slot-heading h2 { font-size: 3rem; }
  .dashboard[data-game="bonus"] .game-orb { flex-basis: 61px; height: 61px; font-size: 1.35rem; }
  .dashboard[data-game="bonus"] .layout-badge,
  .dashboard[data-game="bonus"] .max-win { flex-basis: 84px; min-height: 78px; }
  .dashboard[data-game="bonus"] .free-spins-banner { gap: 20px; padding: 18px 22px; }
  .dashboard[data-game="bonus"] .free-icon { width: 74px; height: 74px; }
  .dashboard[data-game="bonus"] .machine-shell { margin: 20px 0 22px; padding: 10px clamp(270px,22vw,340px) 12px 14px; }
  .dashboard[data-game="bonus"] .bonus-character { right: 0; width: clamp(270px,22vw,350px); }
  .dashboard[data-game="bonus"] .machine-shell[data-rows="3"] .reel,
  .dashboard[data-game="bonus"] .machine-shell[data-rows="4"] .reel,
  .dashboard[data-game="bonus"] .machine-shell[data-rows="5"] .reel { min-height: 108px; }
  .dashboard[data-game="bonus"] .machine-shell[data-rows="3"] .reel-symbol,
  .dashboard[data-game="bonus"] .machine-shell[data-rows="4"] .reel-symbol,
  .dashboard[data-game="bonus"] .machine-shell[data-rows="5"] .reel-symbol { width: min(94%,118px); height: 108px; }
  .dashboard[data-game="bonus"] .machine-shell[data-rows="5"] .symbol-bonus { width: min(98%,145px); height: 116px; }
  .dashboard[data-game="bonus"] input { min-height: 60px; font-size: 1.06rem; }
  .dashboard[data-game="bonus"] .spin-button { min-height: 62px; }
  .dashboard[data-game="bonus"] .result-panel { min-height: 70px; font-size: .96rem; }
  .dashboard[data-game="bonus"] .paytable > div { padding: 11px 13px; font-size: .75rem; }
}

@media (max-width:780px) {
  .shell { width: min(100% - 24px,1320px); padding-top: 19px; }
  .account-bar { grid-template-columns: 1fr auto; }
  .account-divider { display: none; }
  .account-actions { grid-column: 1 / -1; justify-content: flex-end; }
  .section-heading > p { display: none; }
  .game-picker { grid-template-columns: 1fr; }
  .community-grid { grid-template-columns: 1fr; }
  .game-tile { min-height: 330px; }
  .paytable-section { grid-template-columns: 1fr; gap: 13px; }
  .big-win-card { padding-right: 30px; padding-left: 30px; }
  .bonus-cards button { min-height: 285px; }
  .fisher-milestone { grid-template-columns: 1fr; }
  .fisher-reward { grid-template-columns: auto auto auto; gap: 3px; min-height: 43px; }
}

@media (max-width:540px) {
  .top-notice { display: none; }
  .auth-card { display: block; min-height: 0; }
  .auth-art { min-height: 215px; border-right: 0; border-bottom: 3px solid var(--ink); }
  .auth-art span { width: 62px; height: 88px; font-size: 2rem; }
  .dashboard { gap: 24px; }
  .account-bar { grid-template-columns: 1fr; gap: 15px; }
  .compact-level { grid-template-columns: auto 1fr auto; }
  .account-actions { justify-content: stretch; }
  .account-actions button { flex: 1; padding-right: 9px; padding-left: 9px; }
  .balance-box { padding-top: 13px; border-top: 2px dashed #3d3f5b; }
  .game-tile { min-height: 305px; padding: 20px; }
  .game-logo { font-size: 1.85rem; }
  .tile-reels i { width: 64px; height: 70px; }
  .tile-reels img { width: 53px; height: 53px; }
  .mines-tile-art i { width: 66px; border-radius: 14px; }
  .bonus-sigil { right: -26px; bottom: 28px; width: 225px; height: 280px; }
  .tile-footer em { padding: 7px 9px; font-size: .58rem; }
  .game-screen-nav { padding-top: 12px; }
  .game-screen-nav button { width: 48px; height: 48px; }
  .game-balance { min-width: min(220px,58vw); padding: 8px 12px 9px; border-width: 3px; border-radius: 15px; }
  .game-balance strong { font-size: 1.18rem; }
  .slot-card { padding-right: 16px; padding-left: 16px; }
  .bonus-buy-row { grid-template-columns: 1fr; }
  .settings-panel { align-items: start; padding: 12px; }
  .settings-sheet { max-height: calc(100vh - 24px); padding: 18px 14px; border-radius: 21px; }
  .settings-header h2 { font-size: 1.65rem; }
  .profile-editor { padding: 17px; }
  .profile-editor-grid { grid-template-columns: 1fr; }
  .avatar-upload { grid-row: auto; }
  .profile-form-footer { display: grid; gap: 10px; }
  .profile-form-footer .primary { width: 100%; }
  .history-card { padding-top: 18px; }
  .slot-heading { align-items: center; }
  .slot-title-wrap { min-width: 0; }
  .game-orb { display: none; }
  .slot-heading .muted { display: none; }
  .slot-badges { gap: 5px; }
  .layout-badge, .max-win { flex-basis: 56px; min-height: 56px; }
  .free-spins-banner { grid-template-columns: auto 1fr; }
  .free-spins-banner p { grid-column: 1 / -1; justify-self: start; text-align: left; }
  .dashboard[data-game="bonus"] .free-spins-banner,
  .dashboard[data-game="bonus"] .bonus-multiplier-panel { width: 100%; }
  .dashboard[data-game="bonus"] .free-spins-banner { grid-template-columns: auto 1fr; }
  .dashboard[data-game="bonus"] .bonus-multiplier-panel { grid-template-columns: 1fr; margin-left: 0; }
  .bonus-multiplier-panel { gap: 10px; }
  .multiplier-chips { justify-content: center; }
  .multiplier-chips b { min-width: 43px; height: 38px; }
  #active-bonus-multiplier { position: absolute; right: 31px; margin-top: -70px; }
  .machine-shell { padding: 31px 9px 13px; }
  .reels { gap: 6px; }
  .reels[data-columns="5"] { gap: 3px; }
  .reels[data-columns="6"] { gap: 2px; }
  .reel { min-height: 94px; border-width: 3px; border-radius: 12px; }
  .machine-shell[data-rows="3"] .reel, .machine-shell[data-rows="4"] .reel, .machine-shell[data-rows="5"] .reel { min-height: 48px; border-width: 2px; border-radius: 7px; box-shadow: inset 0 0 0 2px #3b4661,0 3px 0 #070810; }
  .game-screen .machine-shell[data-rows="1"] .reel { min-height: 115px; }
  .game-screen .machine-shell[data-rows="3"] .reel, .game-screen .machine-shell[data-rows="4"] .reel, .game-screen .machine-shell[data-rows="5"] .reel { min-height: 48px; }
  .reel-symbol { width: min(88%,84px); height: 74px; }
  .machine-shell[data-rows="3"] .reel-symbol, .machine-shell[data-rows="4"] .reel-symbol, .machine-shell[data-rows="5"] .reel-symbol { width: min(90%,42px); height: 39px; }
  .game-screen .machine-shell[data-rows="1"] .reel-symbol { width: min(88%,90px); height: 88px; }
  .game-screen .machine-shell[data-rows="3"] .reel-symbol, .game-screen .machine-shell[data-rows="4"] .reel-symbol, .game-screen .machine-shell[data-rows="5"] .reel-symbol { width: min(90%,40px); height: 38px; }
  .dashboard[data-game="bonus"] .machine-shell { margin: 18px 0 16px; padding: 4px 0 7px; }
  .dashboard[data-game="bonus"] .machine-shell[data-rows="3"] .reel,
  .dashboard[data-game="bonus"] .machine-shell[data-rows="4"] .reel,
  .dashboard[data-game="bonus"] .machine-shell[data-rows="5"] .reel { border-color: transparent; box-shadow: none; }
  .dashboard[data-game="bonus"] .machine-shell[data-rows="5"] .reel-symbol { width: min(96%,47px); height: 45px; }
  .dashboard[data-game="bonus"] .machine-shell[data-rows="5"] .symbol-bonus { width: 100%; height: 48px; transform: scale(1.24); }
  .dashboard[data-game="bigfisher"] .machine-shell { margin: 16px 0; padding: 0; }
  .dashboard[data-game="bigfisher"] .machine-shell[data-rows="3"] .reel,
  .dashboard[data-game="bigfisher"] .game-screen .machine-shell[data-rows="3"] .reel { min-height: 0; aspect-ratio: 1; border: 0; border-radius: 0; box-shadow: none; }
  .dashboard[data-game="bigfisher"] .machine-shell[data-rows="3"] .reel-symbol,
  .dashboard[data-game="bigfisher"] .game-screen .machine-shell[data-rows="3"] .reel-symbol { width: 100%; height: 100%; }
  .dashboard[data-game="bigfisher"] .machine-shell[data-rows="3"] .reel > img.reel-symbol,
  .dashboard[data-game="bigfisher"] .game-screen .machine-shell[data-rows="3"] .reel > img.reel-symbol { width: 88%; height: 88%; }
  .dashboard[data-game="bigfisher"] .symbol-value-badge { bottom: -1px; width: 88%; height: 34%; }
  .dashboard[data-game="bigfisher"] .symbol-value-badge strong { font-size: .46rem; text-shadow: 0 1px 1px #5c1600; }
  .dashboard[data-game="bigfisher"] .capture-multiplier { top: 2%; right: 1%; min-width: 25px; min-height: 22px; padding: 2px 4px; border-width: 2px; border-radius: 6px; box-shadow: 0 2px 0 #8b4c08; font-size: .58rem; }
  .mines-panel { gap: 10px; margin-top: 16px; }
  .mines-stats { gap: 5px; }
  .mines-stats div { padding: 8px 4px; border-radius: 9px; }
  .mines-stats span { font-size: .46rem; letter-spacing: .03em; }
  .mines-stats strong { font-size: .72rem; }
  .mines-grid { gap: 4px; padding: 6px; border-radius: 14px; }
  .mine-field { padding: 2px; border-width: 2px; border-radius: 8px; box-shadow: 0 3px 0 #07101a; }
  .mine-field.covered::after { border-width: 2px; }
  .mines-fairness { font-size: .54rem; }
  .fisher-progress-panel { gap: 8px; padding: 9px 7px 11px; }
  .fisher-progress-header { align-items: flex-start; gap: 7px; }
  .fisher-progress-copy strong { font-size: .69rem; line-height: 1.25; }
  .fisherman-counter { min-width: 106px; font-size: .78rem; }
  .fisherman-counter span { margin-right: 2px; padding: 4px 5px; font-size: .73rem; }
  .fisherman-counter b { font-size: 1.4rem; }
  .fisher-progression-board { gap: 4px; }
  .fisher-milestone { grid-template-columns: 1fr; gap: 5px; padding: 5px 4px; border-radius: 10px; }
  .fisher-milestone-progress { gap: 4px; }
  .fisher-milestone-progress > strong { font-size: .49rem; letter-spacing: .02em; text-align: center; }
  .fisher-silhouettes { gap: 2px; }
  .fisher-silhouettes span { border-radius: 5px; }
  .fisher-reward { grid-template-columns: auto auto auto; gap: 2px; min-height: 38px; padding: 3px 2px; border-radius: 7px; }
  .fisher-reward strong { font-size: .8rem; }
  .fisher-reward small { font-size: .36rem; }
  .fisher-reward b { font-size: .88rem; }
  .quick-bets { display: grid; grid-template-columns: repeat(3,1fr); }
  .quick-bets button { padding: 8px 3px; }
  .bet-row { grid-template-columns: 1fr; }
  .dashboard[data-game="mines"] .bet-row { grid-template-columns: 1fr; }
  .auto-spin-row { grid-template-columns: 1fr; }
  .spin-button small { max-width: 150px; }
  .paytable { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .big-win-card { min-width: 92vw; padding: 28px 20px 32px; border-width: 5px; }
  .big-win-card strong { font-size: clamp(3.5rem,20vw,5rem); text-shadow: 4px 4px 0 #d74a58,7px 7px 0 var(--ink); }
  .big-win-card::before, .big-win-card::after { font-size: 2.6rem; }
  .big-win-stickers img { width: 78px; height: 78px; }
  .bonus-card-choice { align-content: start; gap: 18px; padding: 58px 14px 30px; }
  .bonus-choice-copy h2 { font-size: 2.35rem; }
  .bonus-choice-copy p { font-size: .82rem; }
  .bonus-cards { gap: 8px; }
  .bonus-cards button { min-height: 220px; padding: 8px; border-width: 3px; border-radius: 17px; }
  .bonus-cards img { inset: 0 0 39px; width: 100%; height: calc(100% - 39px); }
  .bonus-cards span { border-width: 2px; padding: 7px 2px; font-size: .65rem; }
  .bonus-cards strong { font-size: 2rem; }
  .player-row-button { grid-template-columns: 28px 42px minmax(0,1fr); }
  .player-money { grid-column: 3; }
  .win-entry { grid-template-columns: 1fr; }
  .win-amount { justify-items: start; padding-left: 52px; }
  .profile-modal { align-items: start; padding: 12px; }
  .public-profile-card { margin-top: 22px; }
  .public-profile-hero { align-items: flex-start; }
  .public-avatar { width: 78px; height: 78px; border-radius: 24px; }
  .profile-stats { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .pixi-reels-layer { display: none !important; }
}

/* Dark casino lobby and Mines refresh */
:root {
  --ink: #050711;
  --bg: #060812;
  --panel: #0e1120;
  --panel-2: #171b30;
  --line: #252b43;
  --text: #f7f8fc;
  --muted: #8991a8;
  --paper: #f7fbfd;
  --cream: #fff8e9;
  --pink: #ff7d91;
  --yellow: #e6e94d;
  --violet: #8d83ee;
  --mint: #18b873;
  --blue: #5dc7ff;
  --shadow: rgba(2,10,18,.24);
  font-family: "Segoe UI",Tahoma,Arial,sans-serif;
}

body { background: #060812; }
.ambient { opacity: .06; border-width: 1px; filter: none; }
.ambient-violet { color: #25304c; background: #11172a; }
.ambient-green { color: #087846; background: #073723; }
.ambient-gold { color: #887f18; background: #393612; }
.shell { width: min(1440px,calc(100% - 48px)); padding-top: 22px; }
.card {
  border: 1px solid #20263c;
  border-radius: 24px;
  background: #0e1120;
  box-shadow: 0 18px 50px rgba(0,0,0,.28);
}

.brand-bar { margin-bottom: 14px; }
.brand-mark {
  border: 0;
  border-radius: 16px;
  background: #18b873;
  box-shadow: 0 8px 22px rgba(8,145,86,.2);
  transform: none;
}
.brand-lockup strong { color: #f7fbff; text-shadow: none; }
.brand-lockup small { color: #8fa8b9; }
.top-notice {
  padding: 10px 14px;
  border: 1px solid #252c43;
  border-radius: 14px;
  color: #a7aec1;
  background: #101426;
  box-shadow: none;
}
.auth-card { border-color: #20263c; background: #0e1120; box-shadow: 0 22px 54px rgba(0,0,0,.31); }
.auth-art { border-right: 1px solid #222940; background: #101426; }
.auth-art::before,.auth-art::after { color: #232941; opacity: .65; }
.auth-art span {
  border: 1px solid #2d354f;
  border-radius: 19px;
  color: #e6e94d;
  background: #181d33;
  box-shadow: 0 10px 24px rgba(0,0,0,.25);
}
.auth-art span:nth-child(1) { transform: rotate(-3deg); }
.auth-art span:nth-child(2) { color: #18b873; transform: translateY(-11px); }
.auth-art span:nth-child(3) { transform: rotate(3deg); }
.auth-content label { color: #cfdee6; }
.auth-content input {
  border: 1px solid #2b324a;
  color: #f7fbff;
  background: #090c18;
  box-shadow: none;
}
.auth-content input:focus { border-color: #18b873; box-shadow: 0 0 0 3px rgba(24,184,115,.12); }
.auth-content .primary {
  border: 0;
  border-radius: 14px;
  color: #10352a;
  background: #18b873;
  box-shadow: 0 9px 22px rgba(8,145,86,.2);
}
.auth-content .primary:hover { background: #20c880; transform: translateY(-1px); }
.auth-content code { border: 1px solid #293048; color: #7be0aa; background: #111526; }
.dashboard { gap: 28px; }

.account-bar {
  grid-template-columns: 1fr 1px auto auto;
  gap: 16px;
  padding: 15px 17px;
  border-color: #20263c;
  background: #0d1020;
  box-shadow: 0 14px 34px rgba(0,0,0,.24);
}
.player-info { gap: 12px; }
.player-info h2 { margin-bottom: 2px; color: #f7fbff; text-shadow: none; }
.player-info p { color: #90a7b7; }
.avatar {
  border: 1px solid #2a8d62;
  border-radius: 15px;
  background: #123628;
  color: #eefaff;
  box-shadow: none;
}
.account-divider { width: 1px; height: 38px; border: 0; background: #262c43; }
.balance-box { border: 0; background: transparent; box-shadow: none; }
.balance-box span { color: #8fa8b9; }
.balance-box strong { color: #28cc84; text-shadow: none; }
.settings-button,.account-actions .ghost {
  border: 1px solid #293048;
  border-radius: 13px;
  color: #eaf4f8;
  background: #171b30;
  box-shadow: none;
}
.settings-button:hover,.account-actions .ghost:hover { border-color: #16a969; background: #1b2236; transform: translateY(-1px); }

.lobby { gap: 20px; }
.lobby-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px;
  padding: 2px 4px 0;
}
.lobby-heading > div:first-child { max-width: 710px; }
.lobby-heading .eyebrow {
  margin: 0 0 7px;
  color: #21c77e;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.lobby-heading h2 {
  margin: 0;
  color: #f7fbff;
  font-size: clamp(1.6rem,2.6vw,2.35rem);
  letter-spacing: -.035em;
  text-shadow: none;
}
.lobby-heading > div:first-child > p:last-child {
  display: block;
  margin: 8px 0 0;
  color: #939bb0;
  font-size: .94rem;
  line-height: 1.55;
}
.lobby-tags { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.lobby-tags span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 11px;
  border: 1px solid #252c43;
  border-radius: 999px;
  color: #c2c7d5;
  background: #111526;
  font-size: .72rem;
  font-weight: 800;
}
.lobby-tags i {
  min-width: 23px;
  padding: 3px 5px;
  border-radius: 999px;
  color: #06150e;
  background: #20bf78;
  font-size: .62rem;
  font-style: normal;
  font-weight: 950;
  text-align: center;
}

.game-picker { gap: 18px; }
.game-tile {
  min-height: 360px;
  overflow: hidden;
  padding: 25px;
  border: 1px solid #232a42;
  border-radius: 22px;
  background-color: #101426;
  box-shadow: 0 18px 38px rgba(0,0,0,.27);
  transform: none;
  transition: transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.game-tile::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  pointer-events: none;
  background: rgba(4,6,13,.28);
}
.game-tile.mines::before { background: rgba(5,8,17,.08); }
.game-tile.bonus::before,.game-tile.bigfisher::before { background: rgba(4,6,13,.4); }
.game-tile > * { position: relative; z-index: 1; }
.game-tile:hover { transform: translateY(-5px); border-color: #2d7657; box-shadow: 0 24px 46px rgba(0,0,0,.34); }
.game-tile.selected { border-color: #1cbd76; outline: 0; box-shadow: 0 0 0 2px rgba(28,189,118,.16),0 24px 46px rgba(0,0,0,.33); }
.tile-top { align-items: center; }
.game-label {
  border: 1px solid rgba(222,230,240,.18);
  border-radius: 999px;
  color: #f8fcff;
  background: rgba(10,12,23,.76);
  box-shadow: none;
}
.game-label.live { color: #071710; background: #20bf78; border-color: #20bf78; }
.mini-chip {
  border: 1px solid rgba(220,243,250,.25);
  border-radius: 999px;
  color: #e7f2f7;
  background: rgba(15,39,52,.72);
  box-shadow: none;
}
.game-logo h3 { color: #fff; text-shadow: 0 2px 14px rgba(0,0,0,.34); }
.game-logo p { color: #d5e4eb; text-shadow: 0 1px 8px rgba(0,0,0,.55); }
.mines-tile-art {
  border: 1px solid #232a42;
  border-radius: 18px;
  background: #0b0e1b;
  box-shadow: none;
}
.mines-tile-art i {
  border: 1px solid #29314b;
  border-radius: 12px;
  background: #171c31;
  box-shadow: 0 5px 12px rgba(0,0,0,.2);
}
.mines-tile-art i:nth-child(2) { border-color: #5d2938; background: #2e1722; }
.tile-footer { border-top: 1px solid rgba(218,239,247,.17); }
.tile-footer span { color: #d7e5eb; text-shadow: none; }
.tile-footer strong { text-shadow: none; }
.tile-footer em {
  border: 1px solid rgba(234,247,251,.2);
  border-radius: 12px;
  color: #f6fbfd;
  background: rgba(12,32,44,.7);
  box-shadow: none;
}

.community-grid { gap: 18px; }
.community-card {
  padding: 20px;
  border-color: #20263c;
  background: #0d1020;
  box-shadow: 0 14px 34px rgba(0,0,0,.22);
}
.community-card .section-title { border-bottom: 1px solid #242a41; }
.community-card .section-title h2 { color: #f5faff; text-shadow: none; }
.online-dot { box-shadow: 0 0 0 4px rgba(102,222,180,.12); }
.player-row,.win-entry {
  border: 1px solid #222940;
  border-radius: 15px;
  background: #171b30;
  box-shadow: none;
}
.player-row:hover,.win-entry:hover { border-color: #2d7657; background: #1b2037; }
.player-name,.win-name { color: #f4f9fc; }
.player-money,.win-amount strong { color: #27ca82; text-shadow: none; }
.profile-badge,.win-game-tag {
  border: 1px solid #2a314a;
  border-radius: 999px;
  color: #aeb5c7;
  background: #1a1f35;
  box-shadow: none;
}

footer { color: #757d94; }

/* Mines follows the same compact dark casino system. */
.dashboard[data-game="mines"] .game-screen,
.dashboard[data-game="mines"] .game-screen::before,
.dashboard[data-game="mines"] .game-screen::after { background: #060812; }
.dashboard[data-game="mines"] .game-screen { color: #f7f8fc; color-scheme: dark; }
.dashboard[data-game="mines"] .game-screen-nav { width: min(1060px,calc(100% - 36px)); }
.dashboard[data-game="mines"] #close-game-button,
.dashboard[data-game="mines"] .game-balance {
  border: 1px solid #252b43;
  border-radius: 13px;
  color: #f5f7fb;
  background: #101426;
  box-shadow: 0 9px 24px rgba(0,0,0,.28);
  backdrop-filter: none;
}
.dashboard[data-game="mines"] #close-game-button:hover { border-color: #1dbb75; background: #151a2c; transform: translateX(-2px); }
.dashboard[data-game="mines"] .game-balance span { color: #838ba2; }
.dashboard[data-game="mines"] .game-balance strong { color: #25c97f; text-shadow: none; }
.dashboard[data-game="mines"] .game-screen-inner { width: min(1060px,calc(100% - 36px)); }
.dashboard[data-game="mines"] .slot-card {
  padding: 26px;
  border: 1px solid #20263c;
  border-radius: 22px;
  color: #f7f8fc;
  background: #0d1020;
  box-shadow: 0 24px 60px rgba(0,0,0,.31);
}
.dashboard[data-game="mines"] .slot-heading { margin-bottom: 8px; }
.dashboard[data-game="mines"] .slot-heading h2 { color: #f7f8fc; text-shadow: none; }
.dashboard[data-game="mines"] .slot-heading p { color: #8991a8; }
.dashboard[data-game="mines"] .game-orb {
  border: 1px solid #20b975;
  color: #06170f;
  background: #20bf78;
  box-shadow: none;
}
.dashboard[data-game="mines"] .layout-badge,
.dashboard[data-game="mines"] .max-win {
  border: 1px solid #293049;
  border-radius: 11px;
  color: #f7f8fc;
  background: #171b30;
  box-shadow: none;
}
.dashboard[data-game="mines"] .layout-badge small,
.dashboard[data-game="mines"] .max-win small { color: #7e879e; }
.dashboard[data-game="mines"] .layout-badge strong,
.dashboard[data-game="mines"] .max-win strong { color: #28ca82; text-shadow: none; }
.dashboard[data-game="mines"] .mines-panel { width: min(800px,100%); gap: 13px; margin-top: 20px; }
.dashboard[data-game="mines"] .mines-stats { gap: 9px; }
.dashboard[data-game="mines"] .mines-stats div {
  padding: 11px 8px;
  border: 1px solid #242b43;
  border-radius: 11px;
  background: #171b30;
  box-shadow: none;
}
.dashboard[data-game="mines"] .mines-stats span { color: #7f879f; }
.dashboard[data-game="mines"] .mines-stats strong { color: #29cc83; text-shadow: none; }
.dashboard[data-game="mines"] .mines-grid {
  gap: 9px;
  padding: 17px;
  border: 1px solid #20263c;
  border-radius: 18px;
  background: #080a15;
  box-shadow: 0 18px 38px rgba(0,0,0,.3);
}
.dashboard[data-game="mines"] .mine-field {
  border: 1px solid #29314b;
  border-radius: 11px;
  background: #171c31;
  box-shadow: 0 4px 9px rgba(0,0,0,.2);
  transition: transform .14s ease,border-color .14s ease,background .14s ease,box-shadow .14s ease;
}
.dashboard[data-game="mines"] .mine-field.covered:hover {
  border-color: #1dbb75;
  background: #1c2238;
  box-shadow: 0 7px 15px rgba(0,0,0,.24);
  transform: translateY(-2px);
}
.dashboard[data-game="mines"] .mine-field.covered::after {
  width: 29%;
  height: 29%;
  border: 1px solid #3b4563;
  border-radius: 7px;
  background: #242b43;
  box-shadow: none;
}
.dashboard[data-game="mines"] .mine-field.revealed { border-color: #1ca76a; background: #102c23; box-shadow: none; }
.dashboard[data-game="mines"] .mine-field.diamond { border-color: #20bf78; background: #0e2f24; }
.dashboard[data-game="mines"] .mine-field.mine { border-color: #8e3448; background: #311722; box-shadow: none; }
.dashboard[data-game="mines"] .mine-field img { filter: drop-shadow(0 5px 6px rgba(0,0,0,.34)); }
.dashboard[data-game="mines"] .mines-cashout {
  border: 0;
  border-radius: 12px;
  color: #06170f;
  background: #18b873;
  box-shadow: 0 8px 20px rgba(8,145,86,.2);
}
.dashboard[data-game="mines"] .mines-cashout strong { color: #06170f; }
.dashboard[data-game="mines"] .mines-cashout:hover:not(:disabled) { background: #22c97f; box-shadow: 0 11px 24px rgba(8,145,86,.25); transform: translateY(-1px); }
.dashboard[data-game="mines"] .mines-cashout:disabled { color: #697188; background: #1b2033; box-shadow: none; }
.dashboard[data-game="mines"] .mines-fairness { color: #6f778d; }
.dashboard[data-game="mines"] .mines-fairness code { color: #20b975; }
.dashboard[data-game="mines"] #spin-form {
  margin-top: 20px;
  padding: 18px;
  border: 1px solid #20263c;
  border-radius: 16px;
  background: #101426;
}
.dashboard[data-game="mines"] .quick-bets { border-color: #252c43; }
.dashboard[data-game="mines"] .quick-bets legend,
.dashboard[data-game="mines"] .bet-row label,
.dashboard[data-game="mines"] .mine-count-input span { color: #9199ad; }
.dashboard[data-game="mines"] .quick-bets button {
  border: 1px solid #293049;
  border-radius: 9px;
  color: #c4c9d7;
  background: #191e34;
  box-shadow: none;
}
.dashboard[data-game="mines"] .quick-bets button:hover,
.dashboard[data-game="mines"] .quick-bets button.selected { border-color: #1dbb75; color: #f7f8fc; background: #16452f; transform: translateY(-1px); }
.dashboard[data-game="mines"] .bet-input input,
.dashboard[data-game="mines"] #mines-count {
  border: 1px solid #2a314a;
  border-radius: 10px;
  color: #f5f7fb;
  background: #090c18;
  box-shadow: none;
}
.dashboard[data-game="mines"] .bet-input input:focus,
.dashboard[data-game="mines"] #mines-count:focus { border-color: #1dbb75; outline: 3px solid rgba(29,187,117,.12); }
.dashboard[data-game="mines"] .currency { color: #858da3; }
.dashboard[data-game="mines"] .spin-button {
  border: 0;
  border-radius: 11px;
  color: #06170f;
  background: #18b873;
  box-shadow: 0 8px 20px rgba(8,145,86,.2);
  transform: none;
}
.dashboard[data-game="mines"] .spin-button:hover:not(:disabled) { background: #22c97f; box-shadow: 0 11px 24px rgba(8,145,86,.24); transform: translateY(-1px); }
.dashboard[data-game="mines"] .spin-button:disabled { color: #697188; background: #1b2033; box-shadow: none; }
.dashboard[data-game="mines"] .result-panel {
  border: 1px solid #242b43;
  border-radius: 12px;
  color: #aeb5c6;
  background: #171b30;
  box-shadow: none;
}
.dashboard[data-game="mines"] .result-panel.win { border-color: #1b8156; color: #7ce0ae; background: #123124; }
.dashboard[data-game="mines"] .result-panel.error { border-color: #713040; color: #ff9bad; background: #2b1720; }

@media (max-width:1120px) {
  .lobby-heading { align-items: flex-start; flex-direction: column; gap: 16px; }
  .lobby-tags { justify-content: flex-start; }
}

@media (max-width:780px) {
  .shell { width: min(100% - 24px,1440px); padding-top: 14px; }
  .card { border-radius: 20px; }
  .dashboard { gap: 20px; }
  .account-bar { gap: 11px; padding: 13px; }
  .lobby-heading { padding-inline: 2px; }
  .lobby-heading h2 { font-size: 1.65rem; }
  .lobby-heading > div:first-child > p:last-child { font-size: .84rem; }
  .game-picker { gap: 14px; }
  .game-tile { min-height: 330px; padding: 19px; border-radius: 22px; }
  .players-card,.wins-card { padding: 15px; }
  .dashboard[data-game="mines"] .game-screen-nav,
  .dashboard[data-game="mines"] .game-screen-inner { width: min(100% - 22px,1060px); }
  .dashboard[data-game="mines"] .slot-card { padding: 20px; border-radius: 24px; }
  .dashboard[data-game="mines"] .mines-grid { gap: 7px; padding: 11px; border-radius: 21px; }
  .dashboard[data-game="mines"] .mine-field { border-radius: 11px; }
  .dashboard[data-game="mines"] #spin-form { padding: 16px; border-radius: 18px; }
}

@media (max-width:540px) {
  .shell { width: min(100% - 16px,1440px); }
  .brand-bar { align-items: flex-start; gap: 10px; }
  .top-notice { padding: 8px 10px; font-size: .6rem; }
  .account-bar { border-radius: 17px; }
  .balance-box { padding-inline: 3px; }
  .lobby-tags { gap: 6px; }
  .lobby-tags span { padding: 7px 9px; font-size: .64rem; }
  .game-tile { min-height: 305px; }
  .dashboard[data-game="mines"] .game-screen-nav { padding-top: 12px; }
  .dashboard[data-game="mines"] #close-game-button,
  .dashboard[data-game="mines"] .game-balance { border-radius: 12px; }
  .dashboard[data-game="mines"] .slot-card { padding: 14px; border-radius: 20px; }
  .dashboard[data-game="mines"] .slot-heading { gap: 8px; }
  .dashboard[data-game="mines"] .mines-panel { gap: 10px; margin-top: 14px; }
  .dashboard[data-game="mines"] .mines-stats { gap: 5px; }
  .dashboard[data-game="mines"] .mines-stats div { padding: 8px 3px; border-radius: 10px; }
  .dashboard[data-game="mines"] .mines-stats span { font-size: .44rem; }
  .dashboard[data-game="mines"] .mines-stats strong { font-size: .72rem; }
  .dashboard[data-game="mines"] .mines-grid { gap: 5px; padding: 7px; border-radius: 16px; }
  .dashboard[data-game="mines"] .mine-field { border-radius: 8px; box-shadow: 0 3px 7px rgba(35,83,94,.09); }
  .dashboard[data-game="mines"] .mine-field.covered::after { border-width: 1px; }
  .dashboard[data-game="mines"] #spin-form { margin-top: 15px; padding: 13px; }
  .dashboard[data-game="mines"] .quick-bets { grid-template-columns: repeat(3,1fr); }
}

/* Media assets are UI, not draggable browser content. */
img,
picture,
svg,
canvas,
video,
audio {
  -webkit-user-drag: none;
  user-select: none;
}
