/* APOIO-SLOTS — Fúria de Zeus (7º jogo). Caça-níquel de vídeo no padrão dos cassinos on-line: céu de tempestade do Olimpo,
   colunas de mármore, moldura de ouro com friso grego, 5 rolos com borrão de movimento, linhas de prêmio em néon,
   faixas de vitória, rodadas grátis roxas e uma alavanca de verdade. Tela cheia, celular primeiro. */
.zeus{--ze-cel:calc((min(100vw,460px) - 74px) / 5);--ouro:#f3c95c;--ouro2:#fff1b0;--ouro3:#9a6413;
  position:fixed;inset:0;z-index:30;display:flex;flex-direction:column;align-items:center;overflow-y:auto;overflow-x:hidden;color:#fff4dc;font-family:var(--font);
  background:radial-gradient(120% 70% at 50% 18%,#3b4fae 0%,#1b2466 38%,#0b0f33 70%,#05061a 100%);padding:env(safe-area-inset-top) 0 calc(18px + env(safe-area-inset-bottom))}
.zeus[hidden]{display:none}
.zeus>*{flex-shrink:0;position:relative;z-index:1}
.zeSprite{position:absolute;width:0;height:0;overflow:hidden}

/* céu: nuvens que passam e relâmpago */
.zeCeu{position:fixed!important;inset:0;z-index:0!important;pointer-events:none;overflow:hidden}
.zeNuvem{position:absolute;width:420px;height:140px;border-radius:50%;background:radial-gradient(closest-side,rgba(170,180,255,.22),transparent);filter:blur(6px);animation:zeNuvem 38s linear infinite}
.zeNuvem.n1{top:4%;left:-30%}.zeNuvem.n2{top:26%;left:-60%;animation-duration:52s;opacity:.7}.zeNuvem.n3{top:64%;left:-45%;animation-duration:64s;opacity:.5}
@keyframes zeNuvem{to{transform:translateX(160vw)}}
.zeRelampago{position:absolute;top:0;left:62%;width:70px;height:46%;opacity:0;fill:#e9e4ff;filter:drop-shadow(0 0 14px #a98bff)}
.zeus.zeFlash .zeRelampago{animation:zeRaioCeu .7s ease-out}
.zeus::after{content:"";position:fixed;inset:0;z-index:5;pointer-events:none;background:#fff;opacity:0}
.zeus.zeFlash::after{animation:zeClarao .6s ease-out}
@keyframes zeRaioCeu{0%,100%{opacity:0}10%,30%{opacity:1}20%{opacity:.2}}
@keyframes zeClarao{0%{opacity:0}8%{opacity:.75}22%{opacity:.1}34%{opacity:.45}100%{opacity:0}}

/* topo */
.zeTopo{display:flex;align-items:center;gap:10px;width:min(100%,460px);padding:14px 16px 0}
.zeSaldo{line-height:1.1;padding:7px 12px;border-radius:12px;background:rgba(0,0,0,.35);box-shadow:inset 0 0 0 1px rgba(243,201,92,.35)}
.zeSaldo small{display:block;font-size:9px;color:rgba(255,244,220,.6);text-transform:uppercase;letter-spacing:.16em}
.zeSaldo strong{font-size:17px;font-weight:800;font-feature-settings:"tnum" 1;color:var(--ouro2)}
.zeFechar{margin-left:auto;width:42px;height:42px;border-radius:13px;background:rgba(0,0,0,.35);color:#fff;font-size:26px;line-height:1;box-shadow:inset 0 0 0 1px rgba(255,255,255,.15)}

/* logotipo em ouro */
.zeLogo{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:0 8px;margin:6px 0 2px;font-family:var(--serif);text-transform:uppercase;line-height:.95;text-align:center}
.zeLogo strong{font-size:40px;font-weight:900;letter-spacing:.02em;background:linear-gradient(180deg,#fffbe6 0%,#ffe08a 30%,#e8a92e 55%,#a8650f 75%,#ffe9a6 100%);-webkit-background-clip:text;background-clip:text;color:transparent;
  -webkit-text-stroke:1px rgba(80,40,0,.55);filter:drop-shadow(0 3px 0 #5a3407) drop-shadow(0 0 18px rgba(255,200,90,.45))}
.zeLogo .zeZeus{font-size:52px;letter-spacing:.06em}
.zeLogoDe,.zeLogoTopo{font-size:13px;font-weight:700;letter-spacing:.3em;color:var(--ouro)}
.zeLogoTopo{display:none}

/* a máquina */
.zeMaquina{width:min(100%,460px);padding:6px 16px 0;display:flex;flex-direction:column;align-items:center}
.zeColunaE,.zeColunaD{position:absolute;top:30px;bottom:56px;width:14px;border-radius:4px;z-index:2;
  background:repeating-linear-gradient(90deg,#fffaf0 0 2px,#d9d1c0 2px 4px,#f4efe4 4px 7px);box-shadow:0 0 0 2px #b38a3c,0 6px 14px rgba(0,0,0,.5)}
.zeColunaE{left:4px}.zeColunaD{right:4px}
.zeColunaE::before,.zeColunaD::before,.zeColunaE::after,.zeColunaD::after{content:"";position:absolute;left:-5px;right:-5px;height:9px;border-radius:3px;background:linear-gradient(#fff6d0,#c8912c)}
.zeColunaE::before,.zeColunaD::before{top:-8px}.zeColunaE::after,.zeColunaD::after{bottom:-8px}
.zeFrisos{width:100%;height:16px;margin-bottom:-2px;border-radius:10px 10px 0 0;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='16'%3E%3Crect width='24' height='16' fill='%231a1440'/%3E%3Cpath d='M2 14V4h14v8H8V8h4' fill='none' stroke='%23f3c95c' stroke-width='2'/%3E%3C/svg%3E") repeat-x center/24px 16px;
  box-shadow:inset 0 0 0 2px #e2b04a}
.zeJanela{position:relative;width:100%;padding:8px;border-radius:0 0 18px 18px;
  background:linear-gradient(180deg,#f8dc86,#c8902c 40%,#7a4a0e 60%,#e7b94e);box-shadow:0 18px 40px rgba(0,0,0,.6),0 0 40px rgba(120,110,255,.25)}
.zeRolos{display:grid;grid-template-columns:repeat(5,1fr);gap:3px;padding:4px;border-radius:12px;overflow:hidden;
  background:linear-gradient(180deg,#0d1240,#1d2a7a 50%,#0d1240);box-shadow:inset 0 0 0 2px #2a1a00,inset 0 10px 18px rgba(0,0,0,.6),inset 0 -10px 18px rgba(0,0,0,.6)}
.zeRolo{position:relative;height:calc(var(--ze-cel) * 3);overflow:hidden;border-radius:8px;background:radial-gradient(120% 60% at 50% 50%,rgba(140,160,255,.18),transparent 70%)}
.zeRolo::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(5,6,26,.55),transparent 18%,transparent 82%,rgba(5,6,26,.55))}
.zeFita{display:flex;flex-direction:column;will-change:transform}
.zeCel{width:100%;height:var(--ze-cel);display:grid;place-items:center;padding:4px;transition:transform .2s}
.zeCel svg{width:100%;height:100%;filter:drop-shadow(0 3px 3px rgba(0,0,0,.5))}
.zeRolo.zeGira .zeFita{filter:url(#zeBorrao)}
.zeRolo.zeParou{animation:zeBate .26s ease-out}
@keyframes zeBate{40%{transform:translateY(5px)}100%{transform:none}}
.zeRolo.zeSuspense{box-shadow:inset 0 0 0 3px #ffe17a,0 0 22px #a98bff,inset 0 0 26px rgba(255,220,120,.6);animation:zePulsa .35s ease-in-out infinite alternate}
@keyframes zePulsa{to{box-shadow:inset 0 0 0 3px #fff,0 0 34px #c9b0ff,inset 0 0 34px rgba(255,230,150,.8)}}
.zeus.zeTensao .zeJanela{animation:zeTreme .12s linear infinite}
@keyframes zeTreme{25%{transform:translate(1px,-1px)}75%{transform:translate(-1px,1px)}}

/* símbolos premiados e linhas */
.zeCel.zeAcende{animation:zeAcende .7s ease-in-out infinite alternate;position:relative;z-index:2}
.zeCel.zeAcende::before{content:"";position:absolute;inset:2px;border-radius:12px;box-shadow:0 0 0 2px var(--cor,#ffd54a),0 0 18px var(--cor,#ffd54a);pointer-events:none}
.zeCel.zeTemplo::before{box-shadow:0 0 0 2px #fff,0 0 22px #ffd36a}
@keyframes zeAcende{from{transform:scale(1)}to{transform:scale(1.1)}}
.zeLinhas{position:absolute;inset:12px;width:calc(100% - 24px);height:calc(100% - 24px);pointer-events:none;overflow:visible;z-index:3}
.zeLinha polyline{stroke-dasharray:100;stroke-dashoffset:100;animation:zeTraca .45s ease-out forwards}
.zeLinha polyline:nth-child(1){filter:blur(3px)}
@keyframes zeTraca{to{stroke-dashoffset:0}}
.zeLinhaN{font:900 12px Arial,sans-serif;fill:#1a1206}

/* faixas: bônus, raio, vitórias grandes */
.zeFaixa{position:absolute;left:50%;top:50%;z-index:4;min-width:78%;padding:14px 18px;border-radius:16px;text-align:center;transform:translate(-50%,-50%);
  background:linear-gradient(180deg,rgba(40,14,110,.95),rgba(14,6,50,.95));box-shadow:0 0 0 2px var(--ouro),0 0 40px rgba(169,139,255,.8)}
.zeFaixa[hidden]{display:none}
.zeFaixa.entra{animation:zeEntra .5s cubic-bezier(.3,1.6,.5,1)}
@keyframes zeEntra{from{transform:translate(-50%,-50%) scale(.3);opacity:0}}
.zeFaixa small{display:block;font-family:var(--serif);font-size:20px;font-weight:900;letter-spacing:.08em;color:var(--ouro2)}
.zeFaixa strong{display:block;margin-top:4px;font-size:34px;font-weight:900;font-family:var(--serif);background:linear-gradient(180deg,#fffbe6,#f3c95c 50%,#b3701a);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 0 #4a2a05)}
.zeFaixa strong:empty{display:none}
.zeFaixaRaio{background:linear-gradient(180deg,rgba(255,250,220,.95),rgba(255,214,110,.95));box-shadow:0 0 0 2px #fff,0 0 50px #ffe08a}
.zeFaixaRaio small{color:#5a2c00}.zeFaixaRaio strong{font-size:52px;background:linear-gradient(180deg,#7a3cff,#2a0b6e);-webkit-background-clip:text;background-clip:text}
.zeFaixaGrande{top:42%;background:radial-gradient(circle,rgba(120,40,0,.92),rgba(30,8,0,.95));box-shadow:0 0 0 3px var(--ouro),0 0 60px #ffb347}
.zeFaixaGrande small{font-size:26px;animation:zeBrilha .5s ease-in-out infinite alternate}
@keyframes zeBrilha{to{text-shadow:0 0 18px #ffd36a,0 0 2px #fff}}

/* mensagem e alavanca */
.zeMensagem{width:calc(100% - 20px);margin:10px auto 0;min-height:58px;padding:8px 12px;border-radius:12px;text-align:center;
  background:linear-gradient(180deg,#1a1440,#0c0a26);box-shadow:inset 0 0 0 1px rgba(243,201,92,.5),0 6px 16px rgba(0,0,0,.4)}
.zeMensagem small{display:block;font-size:10px;font-weight:700;letter-spacing:.16em;color:rgba(255,241,176,.7);text-transform:uppercase}
.zeMensagem strong{display:block;margin-top:2px;font-family:var(--serif);font-size:22px;font-weight:800;color:var(--ouro2);font-feature-settings:"tnum" 1}
.zeMensagem.zeGanhoMsg strong{font-size:28px;color:#ffe27a;text-shadow:0 0 14px rgba(255,210,90,.6)}
.zeMensagem.zeLinhaMsg strong{color:#fff}
.zeMensagem.zeQuaseMsg strong{color:#c9b0ff}
.zeAlavanca{position:absolute;right:3px;top:58px;z-index:3;width:28px;height:150px;padding:0;touch-action:none}
.zeAlavanca i{position:absolute;left:11px;top:16px;width:7px;height:calc(110px - var(--puxa,0px));border-radius:4px;background:linear-gradient(90deg,#8d8d9a,#f2f2f8,#7a7a88);transform-origin:bottom;transition:height .1s}
.zeAlavanca b{position:absolute;left:3px;top:calc(var(--puxa,0px) + 0px);width:22px;height:22px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ff9a8a,#d11a1a 55%,#6b0505);box-shadow:0 3px 6px rgba(0,0,0,.5);transition:top .1s}
.zeAlavanca.puxou b{animation:zeAlavB .5s ease-in-out}.zeAlavanca.puxou i{animation:zeAlavI .5s ease-in-out}
@keyframes zeAlavB{45%{top:96px}}@keyframes zeAlavI{45%{height:20px}}
.zeAlavanca:disabled{opacity:.85}

/* rodadas grátis */
.zeHud{display:flex;align-items:center;justify-content:center;gap:8px;width:min(calc(100% - 32px),428px);margin:10px auto 0;padding:8px 12px;border-radius:12px;
  background:linear-gradient(90deg,#4a12b0,#7a2cff,#4a12b0);box-shadow:0 0 0 2px var(--ouro),0 0 24px rgba(169,139,255,.7);font-size:11px;font-weight:800;letter-spacing:.1em}
.zeHud[hidden]{display:none}
.zeHud strong{font-size:16px;color:var(--ouro2);margin-right:10px}
.zeus.zeFS{background:radial-gradient(120% 70% at 50% 18%,#7a2cc9 0%,#3a0f7a 40%,#14053a 75%,#05021a 100%)}
.zeus.zeFS .zeRolos{background:linear-gradient(180deg,#24074f,#4b17a6 50%,#24074f)}

/* painel */
.zePainel{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;width:min(100%,460px);padding:16px 16px 4px}
.zeAposta{display:flex;align-items:center;gap:6px;padding:6px;border-radius:14px;background:rgba(0,0,0,.35);box-shadow:inset 0 0 0 1px rgba(243,201,92,.35)}
.zeAposta button{width:32px;height:32px;border-radius:10px;background:linear-gradient(180deg,#3a2a7a,#1a1240);color:var(--ouro2);font-size:20px;font-weight:800;box-shadow:inset 0 0 0 1px rgba(243,201,92,.5)}
.zeAposta div{flex:1;text-align:center;line-height:1.1}
.zeAposta small,.zeUltimo small{display:block;font-size:9px;color:rgba(255,244,220,.6);text-transform:uppercase;letter-spacing:.14em}
.zeAposta strong{font-size:14px;font-weight:800;font-feature-settings:"tnum" 1}
.zeUltimo{text-align:center;line-height:1.1;padding:8px;border-radius:14px;background:rgba(0,0,0,.35);box-shadow:inset 0 0 0 1px rgba(243,201,92,.35)}
.zeUltimo strong{font-size:14px;font-weight:800;color:var(--ouro2)}
.zeGirar{width:86px;height:86px;border-radius:50%;display:grid;place-items:center;color:#fff;
  background:radial-gradient(circle at 50% 35%,#7fb6ff,#2b5fe0 55%,#132f8a);box-shadow:0 0 0 5px #f3c95c,0 0 0 8px #7a4a0e,0 10px 26px rgba(0,0,0,.6),0 0 30px rgba(120,160,255,.6);transition:transform .12s}
.zeGirar svg{width:44px;height:44px;filter:drop-shadow(0 2px 0 rgba(0,0,0,.35))}
.zeGirar:active{transform:scale(.94)}
.zeus[data-girando="sim"] .zeGirar svg{animation:zeRoda .6s linear infinite}
.zeGirar:disabled{filter:saturate(.6)}
@keyframes zeRoda{to{transform:rotate(360deg)}}

/* histórico e tabela */
.zeHistorico{display:flex;gap:5px;flex-wrap:wrap;justify-content:center;width:min(calc(100% - 32px),428px);margin:8px auto 0;min-height:24px}
.zeHistorico span{padding:3px 8px;border-radius:99px;font-size:11px;font-weight:800;background:rgba(255,255,255,.08)}
.zeHistorico .ganho{background:rgba(255,213,74,.2);color:#ffe27a}.zeHistorico .grande{background:#f3c95c;color:#3a2000}
.zeHistorico .meia{background:rgba(255,107,138,.2);color:#ffb0c0}.zeHistorico .quase{background:rgba(169,139,255,.25);color:#d9c9ff}.zeHistorico .nada{color:rgba(255,255,255,.4)}
.zeTabela{width:min(calc(100% - 32px),428px);margin:12px auto 0;padding:10px 14px;border-radius:14px;background:rgba(0,0,0,.35);box-shadow:inset 0 0 0 1px rgba(243,201,92,.3);font-size:13px;line-height:1.45}
.zeTabela summary{cursor:pointer;font-weight:700;color:var(--ouro2)}
.zeTabelaGrade{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}
.zeTabItem{display:flex;align-items:center;gap:8px}
.zeTabItem svg{width:38px;height:38px;flex:none}
.zeTabItem b{display:block;font-size:12px}.zeTabItem small{font-size:11px;color:rgba(255,244,220,.7)}
.zeTabela p{margin:6px 0 0}.zeHonesto{color:#ffb0c0}
@media (min-width:700px){.zeus{--ze-cel:78px}}

/* ---------- o drama do giro (efeitos.js faz as faíscas, o tremor e os raios de luz) ---------- */
.zeMaquina{isolation:isolate}
.zeJanela::before{content:"";position:absolute;inset:-7px;padding:7px;border-radius:24px;pointer-events:none;z-index:2;opacity:.6;
  background:radial-gradient(circle,#fff8c8 0 2.3px,rgba(255,220,120,0) 3.4px) 0 0/17px 17px;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;
  filter:drop-shadow(0 0 4px #ffd36a);animation:zeLuzes 1.3s linear infinite}
@keyframes zeLuzes{to{background-position:17px 17px}}
.zeus.zeRodando .zeJanela::before{animation-duration:.22s;opacity:1}
.zeus.zeRodando .zeJanela{box-shadow:0 18px 40px rgba(0,0,0,.6),0 0 70px rgba(150,130,255,.7)}
.zeus.zeRodando .zeRelampago{animation:zeRaioCeu 1.6s ease-out infinite}
.zeRolo.zeImpacto::before{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,250,220,.7) 50%,rgba(255,255,255,0));animation:zeImpacto .4s ease-out forwards}
@keyframes zeImpacto{from{opacity:1;transform:scaleY(.2)}to{opacity:0;transform:scaleY(1.2)}}
.zeus.zeTensao .zeRolo:not(.zeSuspense) .zeCel:not(.s-templo){filter:brightness(.42) saturate(.6);transition:filter .3s}
.zeus.zeTensao .zeRolo:not(.zeSuspense) .zeCel.s-templo{animation:zeAcende .45s ease-in-out infinite alternate}
.zeus.zeTensao::before{content:"";position:fixed;inset:0;z-index:4;pointer-events:none;background:radial-gradient(circle at 50% 42%,transparent 30%,rgba(10,0,40,.65) 80%);animation:zeVinheta .6s ease-in-out infinite alternate}
@keyframes zeVinheta{to{opacity:.6}}
.zeGirar.zeConvida{animation:zeConvida 1.15s ease-in-out infinite}
@keyframes zeConvida{50%{transform:scale(1.08);box-shadow:0 0 0 5px #fff1b0,0 0 0 9px #a86f1a,0 10px 26px rgba(0,0,0,.6),0 0 54px rgba(140,180,255,.95)}}

/* ---------- a fúria: raios que caem nos símbolos (zeus.js: relampago, explodir, tempestade) ---------- */
.zeFuria{position:fixed;inset:0;z-index:40;pointer-events:none;overflow:hidden}
.zeRaio{position:absolute;inset:0;width:100%;height:100%;animation:zeRaioPisca .55s steps(1,end) forwards}
.zeRaio polyline{fill:none;stroke-linecap:round;stroke-linejoin:round}
.zeRaioBrilho{stroke:#9fc8ff;opacity:.55;filter:blur(3px)}
.zeRaioNucleo{stroke:#fff;filter:drop-shadow(0 0 6px #cfe4ff) drop-shadow(0 0 16px #8fb8ff)}
@keyframes zeRaioPisca{0%{opacity:1}12%{opacity:.25}20%{opacity:1}34%{opacity:.6}46%{opacity:1}70%{opacity:.4}100%{opacity:0}}
.zeOnda{position:absolute;width:var(--tam,120px);height:var(--tam,120px);margin:calc(var(--tam,120px) / -2) 0 0 calc(var(--tam,120px) / -2);
  border-radius:50%;border:3px solid #e6f2ff;box-shadow:0 0 24px #8fb8ff,inset 0 0 18px #8fb8ff;animation:zeOnda .55s ease-out forwards}
@keyframes zeOnda{from{transform:scale(.15);opacity:1}to{transform:scale(1.6);opacity:0}}
.zeClaraoRaio{position:absolute;inset:0;background:radial-gradient(circle at 50% 40%,#fff,rgba(190,215,255,.6) 40%,rgba(120,140,255,0) 75%);
  mix-blend-mode:screen;animation:zeClaraoRaio .35s ease-out forwards}
@keyframes zeClaraoRaio{to{opacity:0}}
.zeCel.zeExplode{animation:zeExplode .65s cubic-bezier(.2,1.6,.4,1);position:relative;z-index:3}
@keyframes zeExplode{0%{transform:scale(1);filter:brightness(1)}18%{transform:scale(1.32) rotate(-4deg);filter:brightness(1.35) drop-shadow(0 0 8px #9fc8ff)}
  45%{transform:scale(.94) rotate(2deg)}100%{transform:scale(1);filter:brightness(1)}}
.zeArco{animation-duration:.5s}
.zeus.zeTempestade .zeCeu{filter:brightness(.45) saturate(1.4)}
.zeus.zeTempestade .zeCeu{transition:filter .25s}
.zeus.zeTempestade .zeRelampago{animation:zeRaioCeu .5s ease-out infinite}
.zeCena{margin-top:12px}
.zeCena{background:radial-gradient(ellipse at 50% 110%,#7964c5,#27204a 72%,#11172a)}
.zeCena .zeImagem{position:absolute;width:min(66%,300px);height:88%;opacity:0;transform:scale(.86);transition:opacity .28s ease,transform .45s ease;filter:drop-shadow(0 5px 12px #b9a4ff88)}
.zeCena[data-fase="nuvem"] .zeNuvensImagem,.zeCena[data-fase="olho"] .zeOlhoImagem,.zeCena[data-fase="raio"] .zeRaioImagem{opacity:1;transform:scale(1)}
.zeCenaGiro .zeCena[data-fase="olho"] .zeOlhoImagem{animation:zeOlhoPulsa .7s ease-in-out infinite alternate}
.zeCenaPremio .zeCena[data-fase="raio"] .zeRaioImagem{animation:zeRaioCai .5s ease-out 3}
.zeCena .zeLampadas{animation-duration:.85s}.zeCenaGiro .zeLampadas{animation-duration:.22s}.zeCenaPremio .zeLampadas{animation:cenaPremio .25s ease-in-out 5}
@keyframes zeOlhoPulsa{to{filter:brightness(1.6) drop-shadow(0 0 20px #d9c5ff)}}@keyframes zeRaioCai{50%{transform:scale(1.22);filter:brightness(2) drop-shadow(0 0 25px #fff)}}
