/* =====================================================================
   ALIADOS DO JOGO · Acesso (login, senha nova) e página 404
   ===================================================================== */

/* ---------- Login e recuperação de senha ---------- */
.adj-acesso .adj-senha{position:relative}
.adj-acesso .adj-senha input{padding-right:52px;width:100%}
.adj-acesso .adj-olho{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:40px;height:40px;
  display:grid;place-items:center;border:0;border-radius:12px;background:transparent;color:var(--muted);cursor:pointer;
  transition:color .2s var(--ease),background .2s var(--ease)}
.adj-acesso .adj-olho:hover,.adj-acesso .adj-olho.is-on{color:var(--adj-neon);background:color-mix(in srgb,var(--adj-neon) 10%,transparent)}
.adj-acesso .adj-olho:focus-visible{outline:2px solid var(--adj-neon);outline-offset:1px}
.adj-acesso .adj-olho .adj-icon{width:19px;height:19px}
.adj-acesso .adj-olho.is-on::after{content:"";position:absolute;width:22px;height:2px;background:currentColor;border-radius:2px;transform:rotate(-40deg)}

.adj-acesso-topo{margin-bottom:22px}
.adj-acesso-topo h2{margin:14px 0 8px}
.adj-acesso-topo p{margin:0;color:var(--muted);font-size:.95rem}
.adj-acesso-topo .adj-acesso-dica{margin-top:10px;font-size:.86rem;color:var(--muted-2)}
.adj-acesso-ico{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;
  color:var(--adj-neon);background:color-mix(in srgb,var(--adj-neon) 11%,transparent);
  border:1px solid color-mix(in srgb,var(--adj-neon) 28%,transparent);
  box-shadow:0 10px 30px -14px color-mix(in srgb,var(--adj-neon) 70%,transparent)}
.adj-acesso-ico .adj-icon{width:22px;height:22px}
.adj-acesso-ok .adj-acesso-ico{animation:adjAcessoPop .6s var(--ease) both}
@keyframes adjAcessoPop{from{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}
.adj-acesso-links a{display:inline-flex;align-items:center;gap:8px}
.adj-acesso-links .adj-seta-volta{width:15px;height:15px;transform:rotate(180deg)}
.adj-acesso .adj-alert{animation:adjAcessoIn .45s var(--ease) both}
.adj-acesso .adj-alert-err{color:var(--adj-text)}
.adj-acesso .adj-alert-err .adj-icon{color:#ff7a7a}
.adj-acesso .adj-alert-ok .adj-icon{color:var(--adj-neon)}
@keyframes adjAcessoIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.adj-acesso .adj-btn.is-enviando{opacity:.7;pointer-events:none}
.adj-acesso .adj-btn.is-enviando span::after{content:"";display:inline-block;width:14px;height:14px;margin-left:10px;vertical-align:-2px;
  border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:adjAcessoGira .7s linear infinite}
@keyframes adjAcessoGira{to{transform:rotate(360deg)}}

/* ---------- 404 ---------- */
.adj-404{position:relative;overflow:hidden;min-height:calc(100vh - 76px);min-height:calc(100svh - 76px);
  display:flex;align-items:center;padding-block:clamp(48px,8vw,100px) clamp(60px,9vw,120px);isolation:isolate}
.adj-404-in{position:relative;z-index:1;text-align:center;display:flex;flex-direction:column;align-items:center}
.adj-404 .adj-h1{max-width:15ch;margin:10px auto 18px}
.adj-404 .adj-lead{max-width:560px;margin:0 auto;color:var(--muted)}

.adj-404-campo{position:absolute;inset:0;z-index:0;pointer-events:none;
  -webkit-mask-image:radial-gradient(80% 75% at 50% 55%,#000 30%,transparent 100%);
          mask-image:radial-gradient(80% 75% at 50% 55%,#000 30%,transparent 100%)}
.adj-404-campo svg{opacity:.9}
.adj-404-campo svg{width:100%;height:100%}
.adj-404-linhas{fill:none;stroke:rgba(255,255,255,.045);stroke-width:1.5}
.adj-404-linhas circle{fill:rgba(255,255,255,.12);stroke:none}
.adj-404-traj{fill:none;stroke:var(--adj-neon);stroke-opacity:.45;stroke-width:2;stroke-dasharray:3 10;stroke-linecap:round;
  stroke-dashoffset:600;animation:adjTraj 2.4s .5s var(--ease) forwards}
.adj-404-bolinha circle{fill:var(--adj-gold);filter:drop-shadow(0 0 10px var(--adj-gold));opacity:0;animation:adjBolinha .6s 2.3s var(--ease) forwards}
@keyframes adjTraj{to{stroke-dashoffset:0}}
@keyframes adjBolinha{to{opacity:.9}}

.adj-404-placar{display:flex;align-items:center;justify-content:center;gap:clamp(4px,1.2vw,14px);margin:26px 0 6px;
  font-family:var(--adj-font-display),sans-serif;font-weight:800;line-height:.9;letter-spacing:-.05em;
  font-size:clamp(6.5rem,24vw,15rem)}
.adj-404-placar span{background:linear-gradient(170deg,#fff 0%,color-mix(in srgb,var(--adj-neon) 70%,#fff) 45%,var(--adj-neon) 70%,var(--adj-gold) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 18px 40px color-mix(in srgb,var(--adj-neon) 30%,transparent))}
.adj-404-bola{width:.78em;height:.78em;flex:none;animation:adjBola 5s var(--ease) infinite;
  filter:drop-shadow(0 16px 30px color-mix(in srgb,var(--adj-neon) 35%,transparent))}
.adj-404-bola circle{fill:color-mix(in srgb,var(--adj-surface) 70%,transparent);stroke:var(--adj-neon);stroke-width:3.2}
.adj-404-bola polygon{fill:var(--adj-neon)}
.adj-404-bola path{fill:none;stroke:var(--adj-neon);stroke-width:3.2;stroke-linecap:round}
@keyframes adjBola{0%,100%{transform:translateY(0) rotate(0)}45%{transform:translateY(-.08em) rotate(160deg)}60%{transform:translateY(0) rotate(200deg)}}

.adj-404-var{display:inline-flex;align-items:center;gap:12px;margin-top:26px;padding:9px 16px 9px 9px;max-width:100%;
  border-radius:var(--r-pill);border:1px solid var(--line-strong);background:rgba(255,255,255,.03);
  font-size:.9rem;color:var(--muted);text-align:left}
.adj-404-var b{flex:none;font-size:.72rem;letter-spacing:.14em;padding:6px 10px;border-radius:var(--r-pill);
  color:#04120A;background:var(--adj-gold)}
.adj-404-var span{min-width:0;overflow-wrap:anywhere}
.adj-404-var code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.86em;color:var(--adj-text);
  background:rgba(255,255,255,.06);padding:2px 7px;border-radius:7px}

.adj-404-acoes{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:30px}

.adj-404-atalhos{width:100%;max-width:980px;margin-top:clamp(44px,6vw,70px)}
.adj-404-rot{margin:0 0 16px;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted-2)}
.adj-404-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.adj-404-card{position:relative;display:flex;align-items:center;gap:14px;padding:18px;text-align:left;
  border-radius:var(--r-lg);border:1px solid var(--line);
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.015));
  transition:transform .35s var(--ease),border-color .35s var(--ease),background .35s var(--ease)}
.adj-404-card:hover,.adj-404-card:focus-visible{transform:translateY(-4px);border-color:color-mix(in srgb,var(--adj-neon) 35%,transparent);
  background:linear-gradient(180deg,color-mix(in srgb,var(--adj-neon) 9%,transparent),rgba(255,255,255,.015))}
.adj-404-card:focus-visible{outline:2px solid var(--adj-neon);outline-offset:3px}
.adj-404-ico{flex:none;width:44px;height:44px;border-radius:14px;display:grid;place-items:center;color:var(--adj-neon);
  background:color-mix(in srgb,var(--adj-neon) 11%,transparent);border:1px solid color-mix(in srgb,var(--adj-neon) 24%,transparent)}
.adj-404-ico .adj-icon{width:20px;height:20px}
.adj-404-txt{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}
.adj-404-txt b{font-family:var(--adj-font-display),sans-serif;font-size:1rem;color:var(--adj-text)}
.adj-404-txt small{font-size:.82rem;color:var(--muted);line-height:1.35}
.adj-404-ir{flex:none;color:var(--muted-2);transition:transform .35s var(--ease),color .35s var(--ease)}
.adj-404-ir .adj-icon{width:16px;height:16px}
.adj-404-card:hover .adj-404-ir{transform:translateX(4px);color:var(--adj-neon)}

@media(max-width:900px){.adj-404-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){
  .adj-404{min-height:0;padding-top:36px}
  .adj-404-grid{grid-template-columns:1fr;gap:10px}
  .adj-404-card{padding:14px 16px}
  .adj-404-acoes{flex-direction:column;align-self:stretch}
  .adj-404-acoes .adj-btn{width:100%}
  .adj-404-var{border-radius:18px}
  .adj-404-traj,.adj-404-bolinha{display:none}
}
@media (prefers-reduced-motion:reduce){
  .adj-404-bola,.adj-404-traj,.adj-404-bolinha circle,.adj-acesso-ok .adj-acesso-ico,.adj-acesso .adj-alert{animation:none}
  .adj-404-traj{stroke-dashoffset:0}.adj-404-bolinha circle{opacity:.9}
}
