.solaria-casino-root[hidden] { display: none !important; }
.solaria-casino-root { position: fixed; inset: 0; z-index: 13000; display: grid; place-items: center; font-family: Inter, system-ui, sans-serif; color: #eaf7ff; }
.solaria-casino-backdrop { position: absolute; inset: 0; background: rgba(1, 8, 15, .84); backdrop-filter: blur(8px); }
.solaria-casino-modal { position: relative; width: min(1080px, calc(100vw - 32px)); max-height: min(850px, calc(100vh - 32px)); overflow: auto; border: 1px solid #2b6d91; border-radius: 18px; background: linear-gradient(155deg, #0d2739, #071923 72%); box-shadow: 0 32px 90px rgba(0, 0, 0, .62), inset 0 1px rgba(255,255,255,.08); }
.solaria-casino-header { display: flex; justify-content: space-between; gap: 20px; padding: 24px 26px 18px; border-bottom: 1px solid #21465c; background: radial-gradient(circle at 10% 0, rgba(43, 206, 182, .17), transparent 42%); }
.solaria-casino-header h1, .solaria-casino-section-head h2, .solaria-casino-card h3 { margin: 4px 0; color: #fff; }
.solaria-casino-header h1 { font-size: clamp(24px, 3vw, 38px); letter-spacing: -.04em; }
.solaria-casino-header p, .solaria-casino-section-head p, .solaria-casino-card p { margin: 5px 0; color: #a9c6d5; line-height: 1.45; }
.solaria-casino-kicker { color: #66e2cc; font-size: 11px; font-weight: 800; letter-spacing: .12em; }
.solaria-casino-close { flex: 0 0 42px; width: 42px; height: 42px; border-radius: 12px; border: 1px solid #2f6a88; background: #102f43; color: #fff; font-size: 27px; cursor: pointer; }
.solaria-casino-wallet { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: #20475c; border-bottom: 1px solid #20475c; }
.solaria-casino-wallet span { padding: 13px 24px; background: #0a202e; }
.solaria-casino-wallet small { display: block; color: #799eb2; font-size: 10px; letter-spacing: .1em; }
.solaria-casino-wallet b { display: block; margin-top: 4px; color: #ffd76a; font-size: 17px; }
.solaria-casino-tabs { display: flex; gap: 8px; padding: 14px 24px; border-bottom: 1px solid #1c4054; overflow-x: auto; }
.solaria-casino-tabs button, .solaria-casino-filters button, .solaria-casino-options button { border: 1px solid #28566f; border-radius: 10px; background: #0c2636; color: #b9d3df; padding: 9px 14px; font-weight: 700; cursor: pointer; white-space: nowrap; }
.solaria-casino-tabs button.is-active, .solaria-casino-filters button.is-active, .solaria-casino-options button.is-selected { color: #071b22; border-color: #67e8d2; background: #67e8d2; }
.solaria-casino-notice { margin: 14px 24px 0; padding: 12px 14px; border: 1px solid #2aa183; border-radius: 10px; background: rgba(25, 133, 109, .18); color: #b9ffed; }
.solaria-casino-notice.is-error { border-color: #bd5061; background: rgba(151, 43, 62, .2); color: #ffd1d6; }
.solaria-casino-body { padding: 22px 24px 28px; }
.solaria-casino-section-head, .solaria-casino-callout { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin-bottom: 18px; }
.solaria-casino-callout { align-items: center; padding: 17px 18px; border: 1px solid #a88023; border-radius: 14px; background: linear-gradient(120deg, rgba(177, 125, 26, .18), rgba(21, 52, 60, .6)); }
.solaria-casino-limit { border: 1px solid #28566f; border-radius: 999px; padding: 8px 12px; color: #a9c6d5; font-size: 12px; white-space: nowrap; }
.solaria-casino-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.solaria-casino-grid--compact { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.solaria-casino-card { display: flex; flex-direction: column; min-height: 155px; padding: 17px; border: 1px solid #204d65; border-radius: 14px; background: linear-gradient(145deg, #102d40, #0a202d); }
.solaria-casino-card.is-featured { border-color: #65e4cf; box-shadow: inset 0 0 0 1px rgba(101, 228, 207, .25); }
.solaria-casino-card .solaria-casino-primary { margin-top: auto; }
.solaria-casino-game-card { position: relative; min-height: 252px; overflow: hidden; isolation: isolate; }
.solaria-casino-game-card::before, .solaria-casino-game-hero::before { content: ''; position: absolute; inset: 0; z-index: -1; opacity: .2; background: radial-gradient(circle at 82% 16%, var(--casino-game-accent, #67e8d2), transparent 38%); }
.solaria-casino-game-card-art { display: grid; place-items: center; min-height: 86px; margin: -17px -17px 12px; border-bottom: 1px solid rgba(255,255,255,.08); background: linear-gradient(125deg, rgba(255,255,255,.05), rgba(0,0,0,.14)); }
.solaria-casino-game-card-art span { font-size: 52px; filter: drop-shadow(0 8px 10px rgba(0,0,0,.36)); transition: transform .2s ease; }
.solaria-casino-game-card:hover .solaria-casino-game-card-art span { transform: translateY(-3px) scale(1.08); }
.solaria-casino-game-card .solaria-casino-secondary { margin-top: auto; }
.solaria-casino-game-card.is-caca_niquel, .solaria-casino-game-detail.is-caca_niquel { --casino-game-accent: #ffd76a; }
.solaria-casino-game-card.is-roleta, .solaria-casino-game-detail.is-roleta { --casino-game-accent: #ff6f83; }
.solaria-casino-game-card.is-vinte_um, .solaria-casino-game-detail.is-vinte_um { --casino-game-accent: #79a9ff; }
.solaria-casino-game-card.is-raspadinha, .solaria-casino-game-detail.is-raspadinha { --casino-game-accent: #b58cff; }
.solaria-casino-game-card.is-dados, .solaria-casino-game-detail.is-dados { --casino-game-accent: #77e6bd; }
.solaria-casino-game-card.is-alto_baixo, .solaria-casino-game-detail.is-alto_baixo { --casino-game-accent: #ff9fd6; }
.solaria-casino-game-card.is-roda_da_sorte, .solaria-casino-game-detail.is-roda_da_sorte { --casino-game-accent: #ff9d62; }
.solaria-casino-game-detail { display: grid; gap: 14px; }
.solaria-casino-game-detail-nav { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.solaria-casino-game-hero { position: relative; display: flex; align-items: center; gap: 18px; min-height: 132px; overflow: hidden; padding: 22px; border: 1px solid var(--casino-game-accent, #67e8d2); border-radius: 16px; background: linear-gradient(135deg, #102f43, #091e2b); isolation: isolate; }
.solaria-casino-game-hero-icon { display: grid; place-items: center; flex: 0 0 88px; width: 88px; height: 88px; border: 1px solid color-mix(in srgb, var(--casino-game-accent, #67e8d2) 65%, transparent); border-radius: 22px; background: rgba(3,18,27,.62); font-size: 52px; box-shadow: inset 0 0 24px rgba(255,255,255,.05); }
.solaria-casino-game-hero h2 { margin: 4px 0; color: #fff; font-size: clamp(25px, 4vw, 38px); }
.solaria-casino-game-hero p { margin: 0; color: #a9c6d5; }
.solaria-casino-game-console { min-height: 0; }
.solaria-casino-game-console-head { display: flex; align-items: center; gap: 12px; }
.solaria-casino-game-icon { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 13px; background: rgba(3,18,27,.62); font-size: 28px; }
.solaria-casino-game-console-head small { color: #799eb2; }
.solaria-casino-primary { border: 0; border-radius: 10px; padding: 11px 15px; background: linear-gradient(135deg, #2ed0ae, #20a4bb); color: #041a21; font-weight: 900; cursor: pointer; }
.solaria-casino-primary:disabled { cursor: not-allowed; filter: grayscale(.7); opacity: .45; }
.solaria-casino-quiz { margin: 10px 0 14px; color: #d9edf5; }
.solaria-casino-options { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin-top: 10px; }
.solaria-casino-options button { white-space: normal; }
.solaria-casino-filters { display: flex; gap: 8px; }
.solaria-casino-prize { align-items: center; text-align: center; }
.solaria-casino-prize-art { display: grid; place-items: center; width: 84px; height: 84px; margin-bottom: 8px; border: 1px solid #2c6180; border-radius: 18px; background: radial-gradient(circle, rgba(103,232,210,.14), rgba(5,22,31,.82)); }
.solaria-casino-item-sprite { width: 64px; height: 64px; object-fit: contain; image-rendering: pixelated; filter: drop-shadow(0 7px 7px rgba(0,0,0,.42)); }
.solaria-casino-history { border: 1px solid #204d65; border-radius: 14px; overflow: hidden; }
.solaria-casino-history > div { display: flex; justify-content: space-between; padding: 13px 16px; border-bottom: 1px solid #183d51; }
.solaria-casino-history > div:last-child { border: 0; }
.solaria-casino-history b { color: #ff9c9c; }
.solaria-casino-history b.is-positive { color: #73eac7; }
.solaria-casino-history > p { padding: 20px; color: #9bb9c8; }
.solaria-casino-loading { display: grid; min-height: 340px; place-items: center; color: #a9c6d5; }
.solaria-casino-secondary { border: 1px solid #3c7791; border-radius: 10px; padding: 10px 15px; background: #0c2636; color: #cfe6f0; font-weight: 800; cursor: pointer; }
.solaria-casino-secondary:disabled { cursor: not-allowed; opacity: .4; }
.solaria-casino-table { padding: 18px; border: 1px solid #204d65; border-radius: 14px; background: linear-gradient(150deg, #0f3040, #08202c); }
.solaria-casino-moves { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 16px; }
.solaria-casino-outcome { display: grid; gap: 14px; margin-bottom: 18px; padding: 15px 17px; border: 1px solid #2f6a88; border-radius: 14px; background: rgba(16, 47, 67, .7); }
.solaria-casino-outcome-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.solaria-casino-table--final { padding: 14px; background: rgba(4, 20, 29, .55); }
.solaria-casino-outcome.is-win { border-color: #35c69f; background: linear-gradient(120deg, rgba(35, 168, 133, .22), rgba(11, 39, 48, .7)); }
.solaria-casino-outcome.is-loss { border-color: #a4515f; background: linear-gradient(120deg, rgba(140, 51, 68, .22), rgba(11, 39, 48, .7)); }
.solaria-casino-outcome h3 { margin: 4px 0; color: #fff; }
/* Vinte e Um */
.solaria-casino-hand + .solaria-casino-hand { margin-top: 16px; }
.solaria-casino-cards { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.solaria-casino-playcard { display: grid; place-items: center; width: 52px; height: 72px; border: 1px solid #cddfe8; border-radius: 8px; background: #f4fbff; color: #10222c; font-size: 17px; line-height: 1.1; }
.solaria-casino-playcard i { font-style: normal; font-size: 15px; }
.solaria-casino-playcard.is-red { color: #b3243a; }
.solaria-casino-playcard.is-back { border-color: #2f6a88; background: repeating-linear-gradient(45deg, #14384c 0 6px, #0e2b3b 6px 12px); color: #5f93ab; }
.solaria-casino-paytable { margin-top: 14px; color: #799eb2; font-size: 12px; }
/* Animações das mesas. `--slot` escalona o atraso item a item; `is-rolling` é o
   suspense antes da revelação e `is-landed` é a chegada do resultado. */
@keyframes solaria-casino-drop { from { transform: translateY(-38px) scale(.86); opacity: 0; } 60% { transform: translateY(5px) scale(1.04); opacity: 1; } to { transform: none; opacity: 1; } }
@keyframes solaria-casino-tumble { from { transform: rotate(-160deg) scale(.7); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes solaria-casino-flip { from { transform: rotateY(88deg) translateY(-10px); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes solaria-casino-pop { from { transform: scale(.4); opacity: 0; } 70% { transform: scale(1.12); } to { transform: none; opacity: 1; } }
@keyframes solaria-casino-blur { 0% { transform: translateY(-16px); filter: blur(3px); } 50% { transform: translateY(16px); filter: blur(4px); } 100% { transform: translateY(-16px); filter: blur(3px); } }
@keyframes solaria-casino-spin { to { transform: rotate(360deg); } }
@keyframes solaria-casino-glow { 0%, 100% { box-shadow: 0 0 0 2px rgba(255, 215, 106, .25); } 50% { box-shadow: 0 0 22px 4px rgba(255, 215, 106, .55); } }
@keyframes solaria-casino-shimmer { 0%, 100% { filter: brightness(1); } 50% { filter: brightness(1.35); } }
.solaria-casino-reel.is-landed { animation: solaria-casino-drop .5s cubic-bezier(.2, .9, .3, 1.3) both; animation-delay: calc(var(--slot, 0) * 130ms); }
.solaria-casino-reel.is-rolling { animation: solaria-casino-blur .32s linear infinite; animation-delay: calc(var(--slot, 0) * 60ms); }
.solaria-casino-die.is-landed { animation: solaria-casino-tumble .5s cubic-bezier(.2, .9, .3, 1.2) both; animation-delay: calc(var(--slot, 0) * 120ms); }
.solaria-casino-die.is-rolling { animation: solaria-casino-spin .5s linear infinite; animation-delay: calc(var(--slot, 0) * 80ms); }
.solaria-casino-playcard.is-dealt { animation: solaria-casino-flip .4s ease-out both; animation-delay: calc(var(--slot, 0) * 110ms); }
.solaria-casino-playcard.is-rolling { animation: solaria-casino-flip .5s ease-in-out infinite alternate; animation-delay: calc(var(--slot, 0) * 120ms); }
.solaria-casino-scratch-cell.is-open { animation: solaria-casino-pop .38s cubic-bezier(.2, .9, .3, 1.4) both; animation-delay: calc(var(--slot, 0) * 70ms); }
.solaria-casino-scratch-cell.is-rolling { animation: solaria-casino-shimmer .6s ease-in-out infinite; animation-delay: calc(var(--slot, 0) * 55ms); }
.solaria-casino-roulette-ball.is-landed { animation: solaria-casino-pop .5s cubic-bezier(.2, .9, .3, 1.4) both; }
.solaria-casino-roulette-ball.is-rolling { animation: solaria-casino-spin .55s linear infinite; }
.solaria-casino-wedge.is-stop { animation: solaria-casino-glow 1.1s ease-in-out infinite; }
.solaria-casino-wedge.is-rolling { animation: solaria-casino-shimmer .5s ease-in-out infinite; animation-delay: calc(var(--slot, 0) * 45ms); }
.solaria-casino-outcome.is-suspense { border-color: #d8b45c; background: linear-gradient(120deg, rgba(177, 125, 26, .18), rgba(11, 39, 48, .7)); }
/* Seletor de aposta */
.solaria-casino-wager { margin: 10px 0 14px; padding: 11px 12px; border: 1px solid #204d65; border-radius: 12px; background: #0a202d; }
.solaria-casino-wager-head { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.solaria-casino-wager-head small { color: #799eb2; font-size: 10px; letter-spacing: .1em; }
.solaria-casino-wager-head b { color: #ffd76a; font-size: 17px; }
.solaria-casino-wager-row { display: flex; gap: 6px; margin: 9px 0; }
.solaria-casino-wager-row button { width: 38px; flex: 0 0 38px; border: 1px solid #2c6180; border-radius: 9px; background: #0d2c3e; color: #eaf7ff; font-size: 18px; font-weight: 800; cursor: pointer; }
.solaria-casino-wager-row button:disabled { cursor: not-allowed; opacity: .35; }
.solaria-casino-wager-input { flex: 1; min-width: 0; border: 1px solid #2c6180; border-radius: 9px; background: #0d2c3e; color: #eaf7ff; padding: 8px 10px; font: inherit; font-weight: 800; text-align: center; }
.solaria-casino-wager-chips { display: flex; flex-wrap: wrap; gap: 5px; }
.solaria-casino-wager-chips button { border: 1px solid #28566f; border-radius: 999px; background: #0c2636; color: #b9d3df; padding: 5px 10px; font-size: 11px; font-weight: 800; cursor: pointer; }
.solaria-casino-wager-chips button.is-active { border-color: #67e8d2; background: #67e8d2; color: #071b22; }
.solaria-casino-wager-range { display: block; margin-top: 8px; color: #799eb2; font-size: 11px; }
/* Máquina de garra do balcão de Pokémon */
@keyframes solaria-casino-claw-run {
  0%   { left: 8%; transform: translate(-50%, 0); }
  20%  { left: var(--x, 50%); transform: translate(-50%, 0); }
  42%  { left: var(--x, 50%); transform: translate(-50%, 132px); }
  56%  { left: var(--x, 50%); transform: translate(-50%, 132px); }
  76%  { left: var(--x, 50%); transform: translate(-50%, 0); }
  100% { left: 8%; transform: translate(-50%, 0); }
}
@keyframes solaria-casino-claw-grip { 0%, 44% { transform: rotate(0); } 56%, 100% { transform: rotate(var(--pinch, 0deg)); } }
@keyframes solaria-casino-plush-caught {
  0%, 48%  { transform: none; opacity: 1; }
  76%      { transform: translateY(-118px) scale(.86); opacity: 1; }
  92%      { transform: translateY(-118px) translateX(-40%) scale(.7); opacity: .6; }
  100%     { transform: translateY(-40px) translateX(-40%) scale(.4); opacity: 0; }
}
.solaria-casino-claw { position: relative; padding: 12px; border: 2px solid #b1832a; border-radius: 16px;
  background: linear-gradient(180deg, rgba(46, 208, 174, .09), rgba(5, 22, 31, .95)); box-shadow: inset 0 0 42px rgba(46, 208, 174, .12); }
.solaria-casino-claw-rail { position: relative; height: 34px; margin-bottom: 6px; border-bottom: 3px solid #7a5d1c; }
/* `--x` é a coluna escolhida em porcentagem da trilha. Fica declarada aqui, no
   próprio braço, porque os keyframes leem a variável do elemento animado. */
.solaria-casino-claw-arm { --x: calc((var(--lane, 0) + .5) / var(--lanes, 1) * 100%);
  position: absolute; top: 0; left: var(--x); transform: translateX(-50%); display: grid; justify-items: center; }
.solaria-casino-claw.is-grabbing .solaria-casino-claw-arm { animation: solaria-casino-claw-run 2.2s ease-in-out both; }
.solaria-casino-claw-cable { display: block; width: 3px; height: 26px; background: linear-gradient(#d8b45c, #8d6a1c); }
.solaria-casino-claw-grip { display: flex; gap: 2px; }
.solaria-casino-claw-grip em { display: block; width: 5px; height: 22px; border-radius: 0 0 4px 4px; background: linear-gradient(#e6c876, #9c7620); transform-origin: top center; }
.solaria-casino-claw-grip em:first-child { --pinch: 26deg; }
.solaria-casino-claw-grip em:last-child { --pinch: -26deg; }
.solaria-casino-claw.is-grabbing .solaria-casino-claw-grip em { animation: solaria-casino-claw-grip 2.2s ease-in-out both; }
.solaria-casino-claw-pit { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 8px; padding: 10px 6px 14px; border-bottom: 2px dashed #2c6180; }
.solaria-casino-plush { display: grid; justify-items: center; gap: 3px; padding: 10px 6px; border: 1px solid #2c6180; border-radius: 12px; background: #0d2c3e; color: #eaf7ff; font: inherit; cursor: pointer; }
.solaria-casino-plush:hover { border-color: #67e8d2; }
.solaria-casino-plush.is-picked { border-color: #ffd76a; background: #16384a; box-shadow: 0 0 0 2px rgba(255, 215, 106, .3); }
.solaria-casino-plush.is-caught { animation: solaria-casino-plush-caught 2.2s ease-in-out both; }
.solaria-casino-plush b { font-size: 12px; }
.solaria-casino-plush small { color: #a9c6d5; font-size: 10px; }
.solaria-casino-plush:disabled { cursor: default; }
.solaria-casino-claw-chute { display: grid; place-items: center; height: 40px; margin-top: 10px; border: 1px solid #2c6180; border-radius: 10px; background: repeating-linear-gradient(90deg, #0d2c3e 0 10px, #10333f 10px 20px); }
.solaria-casino-claw-chute span { color: #799eb2; font-size: 10px; letter-spacing: .22em; }
/* Caça-Níquel */
.solaria-casino-slots { display: flex; gap: 10px; justify-content: center; padding: 16px; border: 2px solid #b1832a; border-radius: 14px; background: linear-gradient(180deg, #1a1206, #0b1a24); }
.solaria-casino-reel { display: grid; place-items: center; width: 92px; height: 104px; border: 1px solid #d8b45c; border-radius: 10px; background: #f6f1e2; font-size: 46px; line-height: 1; }
.solaria-casino-lever { padding: 13px 22px; }
/* Roleta */
.solaria-casino-roulette { display: grid; justify-items: center; gap: 14px; }
.solaria-casino-roulette-ball { display: grid; place-items: center; width: 92px; height: 92px; border: 3px solid #d8b45c; border-radius: 50%; background: radial-gradient(circle at 34% 28%, #24506a, #08202c); color: #ffd76a; font-size: 34px; font-weight: 900; }
.solaria-casino-roulette-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 7px; width: 100%; max-width: 380px; }
.solaria-casino-roulette-slot { padding: 12px 0; border: 1px solid #2c6180; border-radius: 9px; background: #0d2c3e; color: #dceaf1; font-size: 16px; font-weight: 800; cursor: pointer; }
.solaria-casino-roulette-slot.is-bet { border-color: #67e8d2; background: #10404a; }
.solaria-casino-roulette-slot.is-result { border-color: #ffd76a; background: #43350f; color: #ffd76a; }
.solaria-casino-roulette-slot:disabled { cursor: default; }
/* Raspadinha */
.solaria-casino-scratch { display: grid; grid-template-columns: repeat(3, 78px); gap: 8px; justify-content: center; }
.solaria-casino-scratch-cell { display: grid; place-items: center; height: 78px; border: 1px solid #2c6180; border-radius: 10px; background: repeating-linear-gradient(45deg, #143a4c 0 7px, #0e2b3b 7px 14px); font-size: 34px; }
.solaria-casino-scratch-cell.is-open { border-color: #67e8d2; background: #f4fbff; }
/* Dados */
.solaria-casino-dice { display: flex; gap: 12px; justify-content: center; }
.solaria-casino-die { display: grid; place-items: center; width: 88px; height: 88px; border: 1px solid #d8b45c; border-radius: 12px; background: #f6f1e2; color: #14232b; font-size: 62px; line-height: 1; }
/* Alto ou Baixo */
.solaria-casino-highlow { display: flex; align-items: center; justify-content: center; gap: 16px; }
.solaria-casino-highlow-arrow { color: #ffd76a; font-size: 26px; }
/* Roda da Sorte */
.solaria-casino-wheel { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.solaria-casino-wedge { display: grid; place-items: center; height: 58px; padding: 0 6px; border: 1px solid #2c6180; border-radius: 10px; background: #0d2c3e; color: #dceaf1; font-size: 12px; font-weight: 800; text-align: center; }
.solaria-casino-wedge.is-blank { color: #47728a; }
.solaria-casino-wedge.is-stop { border-color: #ffd76a; background: #43350f; color: #ffd76a; box-shadow: 0 0 0 2px rgba(255, 215, 106, .3); }
.solaria-casino-log { margin: 12px 0 0; padding-left: 18px; color: #a9c6d5; font-size: 13px; }
/* Máquina de Eevee */
.solaria-casino-iv-layout { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 16px; }
.solaria-casino-eevee-machine { display: grid; gap: 14px; align-content: start; padding: 16px; border: 1px solid #204d65; border-radius: 12px; background: linear-gradient(150deg, #10303f, #0a202d); }
.solaria-casino-eevee-slots { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; }
.solaria-casino-eevee-slots span { display: grid; place-items: center; height: 62px; border: 1px dashed #2c6180; border-radius: 10px; color: #4d7d95; font-size: 20px; font-weight: 800;
  animation: solaria-casino-shimmer 2.4s ease-in-out infinite; animation-delay: calc(var(--slot, 0) * 220ms); }
.solaria-casino-eevee-machine p { margin: 0; color: #a9c6d5; font-size: 12px; line-height: 1.45; }
.solaria-casino-eevee-note { margin-top: 14px; color: #a9c6d5; }
.solaria-casino-odds { padding: 14px; border: 1px solid #204d65; border-radius: 12px; background: #0a202d; }
/* Cartela raspável */
.solaria-casino-eevee-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.solaria-casino-eevee-card { display: flex; flex-direction: column; gap: 4px; min-height: 246px; padding: 14px 12px; border: 1px solid #204d65; border-radius: 14px; text-align: center; font: inherit; color: #eaf7ff; }
.solaria-casino-eevee-card.is-covered { align-items: center; justify-content: center; cursor: pointer;
  border-style: dashed; border-color: #d8b45c;
  background: repeating-linear-gradient(45deg, #1d3a4b 0 9px, #142c3b 9px 18px); }
.solaria-casino-eevee-card.is-covered:hover { border-color: #ffd76a; filter: brightness(1.15); }
.solaria-casino-eevee-card.is-covered:disabled { cursor: not-allowed; opacity: .6; }
.solaria-casino-eevee-cover b { display: block; color: #ffd76a; font-size: 34px; line-height: 1; }
.solaria-casino-eevee-cover small { display: block; margin-top: 6px; color: #a9c6d5; font-size: 11px; letter-spacing: .1em; }
.solaria-casino-eevee-card.is-open { background: linear-gradient(160deg, #123243, #0a202d); }
.solaria-casino-eevee-card.is-new { animation: solaria-casino-pop .45s cubic-bezier(.2, .9, .3, 1.4) both; }
.solaria-casino-eevee-card h3 { margin: 2px 0 0; font-size: 15px; }
.solaria-casino-eevee-card p { margin: 0; color: #a9c6d5; font-size: 12px; }
.solaria-casino-eevee-art { display: grid; place-items: center; height: 88px; }
.solaria-casino-mon { max-width: 84px; max-height: 84px; image-rendering: pixelated; }
.solaria-casino-mon.is-shiny { filter: sepia(.55) saturate(2.4) hue-rotate(-14deg) brightness(1.12); animation: solaria-casino-shimmer 1.6s ease-in-out infinite; }
.solaria-casino-eevee-where { margin-top: auto; color: #799eb2; font-size: 11px; }
/* Cores de raridade, compartilhadas pelas cartas e pela tabela de chances */
.is-common { border-color: #2c6180; }
.is-uncommon { border-color: #4fbf7a; }
.is-rare { border-color: #4aa8ff; }
.is-epic { border-color: #b06bff; }
.is-legendary { border-color: #ff8ac4; }
.is-mythic { border-color: #ffd76a; box-shadow: inset 0 0 0 1px rgba(255, 215, 106, .4), 0 0 26px rgba(255, 215, 106, .25); }
.solaria-casino-eevee-card.is-uncommon .solaria-casino-kicker { color: #7ff0a6; }
.solaria-casino-eevee-card.is-rare .solaria-casino-kicker { color: #8ecbff; }
.solaria-casino-eevee-card.is-epic .solaria-casino-kicker { color: #d3aaff; }
.solaria-casino-eevee-card.is-legendary .solaria-casino-kicker { color: #ffb2da; }
.solaria-casino-eevee-card.is-mythic .solaria-casino-kicker { color: #ffd76a; }
.solaria-casino-eevee-card.is-mythic h3 { color: #ffd76a; }
.solaria-casino-eevee-odds > div { border-left: 3px solid transparent; padding-left: 8px; }
.solaria-casino-eevee-odds > div.is-uncommon { border-left-color: #4fbf7a; }
.solaria-casino-eevee-odds > div.is-rare { border-left-color: #4aa8ff; }
.solaria-casino-eevee-odds > div.is-epic { border-left-color: #b06bff; }
.solaria-casino-eevee-odds > div.is-legendary { border-left-color: #ff8ac4; }
.solaria-casino-eevee-odds > div.is-mythic { border-left-color: #ffd76a; box-shadow: none; }
.solaria-casino-odds > div { display: flex; justify-content: space-between; gap: 10px; padding: 6px 0; border-bottom: 1px solid #143242; font-size: 13px; }
.solaria-casino-odds > div:last-of-type { border: 0; }
.solaria-casino-odds b { color: #ffd76a; }
.solaria-casino-odds small { color: #799eb2; }
@media (max-width: 760px) {
  .solaria-casino-root { align-items: end; }
  .solaria-casino-iv-layout { grid-template-columns: 1fr; }
  .solaria-casino-reel { width: 72px; height: 84px; font-size: 34px; }
  .solaria-casino-die { width: 68px; height: 68px; font-size: 46px; }
  .solaria-casino-scratch { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .solaria-casino-scratch-cell { height: 64px; font-size: 26px; }
  .solaria-casino-wheel { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .solaria-casino-eevee-slots { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .solaria-casino-eevee-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .solaria-casino-eevee-card { min-height: 210px; }
  .solaria-casino-plush b { font-size: 10px; }
  .solaria-casino-plush .solaria-casino-mon { max-width: 46px; max-height: 46px; }
  .solaria-casino-wager-chips button { padding: 4px 8px; font-size: 10px; }
  .solaria-casino-game-detail-nav { align-items: stretch; flex-direction: column; }
  .solaria-casino-game-hero { min-height: 106px; padding: 16px; }
  .solaria-casino-game-hero-icon { flex-basis: 66px; width: 66px; height: 66px; border-radius: 17px; font-size: 38px; }
}
/* Quem pediu menos movimento no sistema recebe o resultado direto, sem
   suspense nem brilho piscando. */
@media (prefers-reduced-motion: reduce) {
  .solaria-casino-root *, .solaria-casino-root *::before, .solaria-casino-root *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }
}

/* Atlas compacto: 4 colunas × 2 linhas, produzido especialmente para cada
   estação. O WebP completo pesa menos que oito PNGs separados. */
.solaria-casino-station-sprite { display: block; flex: 0 0 auto; width: 90px; height: 120px;
  background: url('/assets/ui/solaria-casino-stations-v1.webp') var(--sprite-x) var(--sprite-y) / 400% 200% no-repeat;
  image-rendering: pixelated; filter: drop-shadow(0 10px 10px rgba(0,0,0,.42));
  transition: transform .22s ease, filter .22s ease; }
.solaria-casino-station-sprite.is-small { width: 42px; height: 56px; }
.solaria-casino-station-sprite.is-hero { width: 96px; height: 128px; }
.solaria-casino-station-sprite.is-eevee { width: 108px; height: 144px; justify-self: center; }
.solaria-casino-game-card:hover .solaria-casino-station-sprite { transform: translateY(-4px) scale(1.06); filter: drop-shadow(0 13px 12px rgba(0,0,0,.5)) brightness(1.08); }
.solaria-casino-game-card-art { min-height: 132px; }
.solaria-casino-game-hero { min-height: 158px; }
.solaria-casino-header-actions { display: flex; align-items: flex-start; gap: 8px; }
.solaria-casino-sound { min-height: 42px; border: 1px solid #2f6a88; border-radius: 12px; padding: 0 12px; background: #102f43; color: #eaf7ff; font-weight: 800; cursor: pointer; }
.solaria-casino-tabs button { position: relative; }
.solaria-casino-tabs button i { position: absolute; top: -7px; right: -6px; display: grid; place-items: center; min-width: 18px; height: 18px; padding: 0 4px; border-radius: 999px; background: #ffd76a; color: #10222c; font: 900 10px/1 Inter, sans-serif; }

.solaria-casino-missions { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px; }
.solaria-casino-mission { display: grid; gap: 14px; padding: 17px; border: 1px solid #204d65; border-radius: 14px; background: linear-gradient(145deg,#102d40,#0a202d); }
.solaria-casino-mission h3 { margin: 5px 0; color: #fff; }
.solaria-casino-mission p { margin: 0; color: #a9c6d5; line-height: 1.42; }
.solaria-casino-mission.is-complete { border-color: #4fc8a8; box-shadow: inset 0 0 26px rgba(46,208,174,.08); }
.solaria-casino-mission.is-claimed { opacity: .66; }
.solaria-casino-progress { height: 8px; overflow: hidden; border-radius: 999px; background: #061720; }
.solaria-casino-progress i { display: block; width: var(--progress); height: 100%; border-radius: inherit; background: linear-gradient(90deg,#2ed0ae,#ffd76a); transition: width .35s ease; }
.solaria-casino-mission-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.solaria-casino-mission-foot b { color: #ffd76a; }

.solaria-casino-prize { gap: 7px; }
.solaria-casino-prize > p { min-height: 42px; font-size: 12px; }
.solaria-casino-prize-meta { display: flex; align-items: center; justify-content: space-between; gap: 8px; width: 100%; color: #ffd76a; }
.solaria-casino-prize-meta small { color: #86aabb; }
.solaria-casino-prize-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; width: 100%; margin-top: auto; }
.solaria-casino-prize-actions button { margin-top: 0 !important; }
.solaria-casino-empty { padding: 32px; border: 1px dashed #2c6180; border-radius: 14px; color: #8fb0c0; text-align: center; }
.solaria-casino-detail-backdrop { position: fixed; inset: 0; z-index: 30; background: rgba(0,8,13,.74); backdrop-filter: blur(4px); }
.solaria-casino-detail { position: fixed; left: 50%; top: 50%; z-index: 31; width: min(420px, calc(100vw - 30px)); max-height: calc(100vh - 30px); overflow: auto; transform: translate(-50%,-50%); padding: 26px; border: 1px solid #67e8d2; border-radius: 18px; background: linear-gradient(150deg,#123448,#071923); box-shadow: 0 28px 80px rgba(0,0,0,.72); text-align: center; }
.solaria-casino-detail .solaria-casino-close { position: absolute; top: 12px; right: 12px; }
.solaria-casino-detail-art { display: grid; place-items: center; min-height: 118px; }
.solaria-casino-detail-art .solaria-casino-mon, .solaria-casino-detail-art .solaria-casino-item-sprite { max-width: 110px; max-height: 110px; width: 110px; height: 110px; }
.solaria-casino-detail h2 { margin: 6px 0; color: #fff; }
.solaria-casino-detail p { color: #abc7d5; line-height: 1.5; }
.solaria-casino-detail dl { display: grid; grid-template-columns: repeat(3,1fr); gap: 7px; margin: 18px 0; }
.solaria-casino-detail dl div { padding: 10px; border: 1px solid #28566f; border-radius: 10px; background: #0a202e; }
.solaria-casino-detail dt { color: #799eb2; font-size: 10px; text-transform: uppercase; }
.solaria-casino-detail dd { margin: 4px 0 0; color: #ffd76a; font-weight: 900; }

.solaria-casino-history-filters { margin-bottom: 12px; overflow-x: auto; }
.solaria-casino-history > div span { display: grid; gap: 2px; }
.solaria-casino-history > div span small { color: #678da1; font-size: 10px; }
.solaria-casino-history > div span b { color: #eaf7ff; }
.solaria-casino-history > div span em { color: #799eb2; font-size: 11px; font-style: normal; }
.solaria-casino-history > div > strong { align-self: center; color: #ff9c9c; }
.solaria-casino-history > div > strong.is-positive { color: #73eac7; }

.solaria-casino-tutorial { position: sticky; bottom: 12px; z-index: 12; display: grid; grid-template-columns: auto 1fr; gap: 14px; margin: 0 18px 16px; padding: 15px; border: 1px solid #ffd76a; border-radius: 16px; background: linear-gradient(125deg,rgba(47,33,7,.98),rgba(9,34,45,.98)); box-shadow: 0 18px 46px rgba(0,0,0,.5); }
.solaria-casino-host { display: grid; place-items: center; width: 54px; height: 54px; border: 2px solid #ffd76a; border-radius: 50%; background: radial-gradient(circle,#735c1f,#141e28); color: #ffd76a; font-size: 26px; }
.solaria-casino-tutorial h3 { margin: 4px 0; color: #fff; }
.solaria-casino-tutorial p { margin: 0; color: #c0d4dc; line-height: 1.45; }
.solaria-casino-tutorial-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 10px; }

@media (max-width: 760px) {
  .solaria-casino-modal { width: 100%; max-height: 94vh; border-radius: 18px 18px 0 0; }
  .solaria-casino-header { padding: 15px; }
  .solaria-casino-header h1 { font-size: 25px; }
  .solaria-casino-header p, .solaria-casino-sound span { display: none; }
  .solaria-casino-wallet span { padding: 10px 9px; }
  .solaria-casino-wallet b { font-size: 13px; }
  .solaria-casino-tabs { position: sticky; top: 0; z-index: 8; padding: 11px 12px; background: #081d29; }
  .solaria-casino-tabs button, .solaria-casino-filters button, .solaria-casino-primary, .solaria-casino-secondary { min-height: 46px; }
  .solaria-casino-body { padding: 16px 13px 24px; }
  .solaria-casino-grid, .solaria-casino-grid--compact, .solaria-casino-missions { grid-template-columns: 1fr; }
  .solaria-casino-section-head, .solaria-casino-callout { align-items: stretch; flex-direction: column; }
  .solaria-casino-filters { overflow-x: auto; padding-bottom: 3px; }
  .solaria-casino-game-card { min-height: 222px; }
  .solaria-casino-game-hero { align-items: center; min-height: 126px; }
  .solaria-casino-station-sprite.is-hero { width: 72px; height: 96px; }
  .solaria-casino-prize-actions { grid-template-columns: 1fr; }
  .solaria-casino-claw-pit { overflow-x: auto; grid-auto-columns: 104px; }
  .solaria-casino-tutorial { grid-template-columns: 1fr; margin: 0 10px 10px; }
  .solaria-casino-host { display: none; }
  .solaria-casino-tutorial-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .solaria-casino-detail { padding: 22px 16px; }
  .solaria-casino-detail dl { grid-template-columns: 1fr; }
}
