/* ============================================================
   NARUTO UNIVERSE — tema (dark / fogo / laranja)
   Recriação em CSS fiel ao layout pagina.png
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;600;700&display=swap');

:root{
  --nu-orange:       #f2731e;
  --nu-orange-2:     #ff8a3d;
  --nu-orange-deep:  #c94e12;
  --nu-red:          #b0322b;
  --nu-bg:           #0c0908;
  --nu-bg-2:         #150d0a;
  --nu-panel-a:      #241d18;
  --nu-panel-b:      #100b09;
  --nu-panel-c:      #1b1512;
  --nu-border:       #4a3e34;
  --nu-border-lite:  #7a6857;
  --nu-text:         #ece5de;
  --nu-muted:        #9b908a;
  --nu-green:        #4bd162;
  --nu-shell:        1500px;
}

/* ---------- base ---------- */
*{ box-sizing:border-box; }

body.nu-body{
  margin:0;
  padding:0;
  background:
    radial-gradient(1200px 700px at 50% 8%, rgba(120,45,12,.35), transparent 60%),
    radial-gradient(900px 900px at 50% 60%, rgba(60,20,8,.30), transparent 70%),
    linear-gradient(180deg, #17100c 0%, var(--nu-bg) 45%, #080605 100%);
  background-attachment:fixed;
  color:var(--nu-text);
  font-family:'Segoe UI', Roboto, Arial, sans-serif;
  font-size:15px;
  line-height:1.55;
  min-height:100vh;
  overflow-x:hidden;
}

.nu-body a{ color:var(--nu-orange); text-decoration:none; }
.nu-body a:hover{ color:var(--nu-orange-2); }

/* fundo com brasas/faíscas sutis */
.nu-embers{
  position:fixed; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(2px 2px at 20% 30%, rgba(255,140,60,.5), transparent 60%),
    radial-gradient(1.5px 1.5px at 70% 50%, rgba(255,120,40,.45), transparent 60%),
    radial-gradient(2px 2px at 40% 75%, rgba(255,150,70,.35), transparent 60%),
    radial-gradient(1.5px 1.5px at 85% 20%, rgba(255,120,40,.4), transparent 60%),
    radial-gradient(2px 2px at 12% 65%, rgba(255,130,50,.35), transparent 60%);
  opacity:.6;
}

/* ---------- personagens laterais (decorativos) ---------- */
.nu-char{
  position:fixed; top:0; z-index:1; pointer-events:none;
  height:min(88vh, 860px);
  max-width:24vw;
  -webkit-user-drag:none; user-select:none;
}
/* fade mais forte no lado interno p/ não invadir as pontas do menu */
.nu-char.left{ left:0;  mask-image:linear-gradient(90deg,#000 40%,transparent 92%);
               -webkit-mask-image:linear-gradient(90deg,#000 40%,transparent 92%); }
.nu-char.right{ right:0; clip-path:inset(0 0 0 15%);
               mask-image:linear-gradient(270deg,#000 40%,transparent 92%);
               -webkit-mask-image:linear-gradient(270deg,#000 40%,transparent 92%); }

/* ---------- shell / conteúdo ---------- */
.nu-shell{
  position:relative; z-index:3;
  max-width:var(--nu-shell);
  margin:0 auto;
  padding:0 20px 60px;
}

/* ============================================================
   HEADER — logo oficial (PNG recortado, sem a moldura transparente)
   ============================================================ */
.nu-header{ text-align:center; padding:26px 0 6px; }

.nu-brand{
  display:inline-block; line-height:0; text-decoration:none;
  transition:transform .25s ease;
}
.nu-brand:hover{ transform:translateY(-2px); }

.nu-brand-logo{
  display:block; height:auto;
  width:clamp(280px, 46vw, 620px);
  /* o brilho vive no filter, não numa box-shadow: o PNG tem alfa e uma
     sombra retangular apareceria como um bloco atrás do lettering */
  filter:drop-shadow(0 10px 28px rgba(0,0,0,.75))
         drop-shadow(0 0 30px rgba(242,115,30,.22));
}

/* ============================================================
   MENU — 100% CSS, sem sprite
   ============================================================ */
.nu-nav{
  position:relative; z-index:20;
  max-width:1060px; margin:0 auto 38px;
}

/* botão sanduíche (só aparece no mobile) */
.nu-nav-toggle{ display:none; }
.nu-nav-burger{
  display:none; align-items:center; justify-content:center; gap:10px;
  margin:0 auto; padding:11px 22px; cursor:pointer;
  font-family:'Oswald',sans-serif; font-weight:600; font-size:14px;
  letter-spacing:2px; text-transform:uppercase; color:var(--nu-orange);
  border:1px solid var(--nu-border); border-radius:8px;
  background:linear-gradient(180deg,#1c1512,#0e0a08);
}

.nu-nav-links{
  position:relative;
  display:flex; align-items:stretch; justify-content:center;
  padding:5px;
}
/* O fundo chanfrado vive numa camada própria: aplicar clip-path no container
   recortaria TODOS os descendentes — inclusive os dropdowns, que ficam abaixo
   da barra e simplesmente sumiam. */
.nu-nav-links::before{
  content:""; position:absolute; inset:0; z-index:0;
  border:1px solid var(--nu-border);
  background:
    linear-gradient(180deg, rgba(242,115,30,.10), transparent 55%),
    linear-gradient(180deg, #221a15 0%, #120c09 55%, #0b0806 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    inset 0 0 26px rgba(242,115,30,.07);
  clip-path:polygon(22px 0, calc(100% - 22px) 0, 100% 50%, calc(100% - 22px) 100%, 22px 100%, 0 50%);
  /* drop-shadow no pseudo (não no container): box-shadow seria recortado pelo
     clip-path, e um filter no container jogaria sombra também nos dropdowns */
  filter:drop-shadow(0 12px 24px rgba(0,0,0,.6));
}

/* cada item do menu */
.nu-nav-zone{
  position:relative; z-index:1; flex:1 1 0; min-width:0;
  display:flex; align-items:center; justify-content:center; gap:8px;
  padding:14px 8px;
  font-family:'Oswald',sans-serif; font-weight:600; font-size:14px;
  letter-spacing:1.2px; text-transform:uppercase; white-space:nowrap;
  color:var(--nu-muted) !important;
  transition:color .18s ease, background .18s ease;
}
.nu-nav-zone > i{ font-size:14px; transition:color .18s ease, transform .18s ease; }
/* aperta um pouco antes de cair no menu mobile */
@media (max-width:1080px){
  .nu-nav-zone{ font-size:12.5px; letter-spacing:.8px; gap:6px; padding:13px 5px; }
  .nu-nav-zone > i{ font-size:13px; }
}

/* separador fino entre itens */
.nu-nav-zone + .nu-nav-zone::before{
  content:""; position:absolute; left:0; top:24%; bottom:24%; width:1px;
  background:linear-gradient(180deg,transparent,rgba(255,255,255,.13),transparent);
}

/* traço luminoso que cresce do centro no hover.
   é o ÚNICO retorno visual do menu: sem mudança de cor, de ícone ou de fundo
   ao passar o mouse / na página atual — só o traço embaixo. */
.nu-nav-zone::after{
  content:""; position:absolute; left:50%; right:50%; bottom:6px; height:2px;
  border-radius:2px; background:var(--nu-orange-2);
  box-shadow:0 0 10px rgba(255,138,61,.9);
  transition:left .22s ease, right .22s ease;
}
.nu-nav-zone:hover::after{ left:18%; right:18%; }

/* item da página atual — também só o traço */
.nu-nav-zone.active::after{ left:14%; right:14%; }

/* ---------- DROPDOWNS (Loja / Comunidade) ---------- */
/* o item pai é um <div>; este link invisível é que torna o rótulo clicável */
.nu-nav-hit{ position:absolute; inset:0; display:block; z-index:1; }
.nu-nav-zone.has-drop{ cursor:pointer; }
.nu-nav-zone.has-drop > .nu-caret{
  font-size:9px; opacity:.7; transition:transform .18s ease, opacity .18s ease;
}
.nu-nav-zone.has-drop:hover > .nu-caret{ opacity:1; transform:rotate(180deg); }

.nu-nav-drop{
  position:absolute; top:100%; left:50%;
  transform:translateX(-50%) translateY(14px);
  min-width:230px; padding:8px; z-index:120; line-height:normal;
  background:linear-gradient(180deg,var(--nu-panel-a),var(--nu-panel-b));
  border:1px solid var(--nu-orange); border-radius:10px;
  box-shadow:0 14px 34px rgba(0,0,0,.6), 0 0 20px rgba(242,115,30,.28);
  opacity:0; visibility:hidden; pointer-events:none;
  transition:opacity .18s ease, transform .18s ease;
}
/* ponte invisível para não perder o hover ao descer o mouse */
.nu-nav-drop::before{
  content:""; position:absolute; left:0; right:0; top:-14px; height:14px;
}
/* setinha do balão */
.nu-nav-drop::after{
  content:""; position:absolute; top:-7px; left:50%; transform:translateX(-50%) rotate(45deg);
  width:12px; height:12px; background:var(--nu-panel-a);
  border-left:1px solid var(--nu-orange); border-top:1px solid var(--nu-orange);
}
.nu-nav-zone.has-drop:hover .nu-nav-drop,
.nu-nav-zone.has-drop:focus-within .nu-nav-drop{
  opacity:1; visibility:visible; pointer-events:auto;
  transform:translateX(-50%) translateY(10px);
}
.nu-nav-drop a{
  display:flex; align-items:center; gap:11px;
  padding:11px 14px; border-radius:7px;
  font-family:'Oswald',sans-serif; font-weight:600; font-size:14px;
  letter-spacing:.6px; text-transform:uppercase; white-space:nowrap;
  color:var(--nu-text) !important; transition:background .16s, color .16s;
}
.nu-nav-drop a i{ color:var(--nu-orange); width:18px; text-align:center; font-size:15px; transition:color .16s; }
.nu-nav-drop a:hover{
  background:linear-gradient(90deg,rgba(242,115,30,.22),rgba(242,115,30,.04));
  color:#fff !important;
}
.nu-nav-drop a:hover i{ color:#fff; }
.nu-nav-drop a::after{ display:none; }

/* o último item (Conta) fica na borda: o balão centralizado vazaria para fora,
   então ele encosta pela direita e a setinha acompanha */
.nu-nav-links > .nu-nav-zone:last-child .nu-nav-drop{
  left:auto; right:0; transform:translateX(0) translateY(14px);
}
.nu-nav-links > .nu-nav-zone:last-child.has-drop:hover .nu-nav-drop,
.nu-nav-links > .nu-nav-zone:last-child.has-drop:focus-within .nu-nav-drop{
  transform:translateX(0) translateY(10px);
}
.nu-nav-links > .nu-nav-zone:last-child .nu-nav-drop::after{ left:auto; right:26px; transform:rotate(45deg); }

/* variante larga em 2 colunas — para a Biblioteca, que tem 9 itens */
.nu-nav-drop.wide{
  display:grid; grid-template-columns:1fr 1fr; gap:2px;
  min-width:430px;
}

/* ---------- menu no mobile: vira lista sanfonada ---------- */
@media (max-width:900px){
  .nu-nav-burger{ display:flex; }

  .nu-nav-links{
    display:none; flex-direction:column; padding:8px; margin-top:12px;
  }
  /* o chanfro vive no ::before — é ele que precisa virar retângulo no mobile */
  .nu-nav-links::before{ clip-path:none; border-radius:10px; }
  .nu-nav-toggle:checked ~ .nu-nav-links{ display:flex; }

  .nu-nav-zone{
    justify-content:flex-start; padding:14px 18px; border-radius:7px;
    flex:0 0 auto;
  }
  .nu-nav-zone + .nu-nav-zone::before{
    top:0; bottom:auto; left:14px; right:14px; width:auto; height:1px;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.13),transparent);
  }
  /* no mobile o traço fica preso à esquerda do item, sem esticar a linha toda */
  .nu-nav-zone::after{ bottom:8px; left:18px; right:auto; width:0; }
  .nu-nav-zone:hover::after,
  .nu-nav-zone.active::after{ left:18px; right:auto; width:34px; }
  .nu-nav-zone.active{ border-radius:7px; }

  /* submenu deixa de flutuar e passa a abrir embutido */
  .nu-nav-drop{
    position:static; transform:none; opacity:1; visibility:visible;
    pointer-events:auto; min-width:0; border:0; box-shadow:none;
    background:transparent; padding:0 0 0 26px; display:none;
  }
  .nu-nav-drop::before, .nu-nav-drop::after{ display:none; }
  .nu-nav-zone.has-drop{ flex-wrap:wrap; }
  .nu-nav-zone.has-drop:hover .nu-nav-drop,
  .nu-nav-zone.has-drop:focus-within .nu-nav-drop{ transform:none; display:block; }
  /* anula o alinhamento à direita do último item — no mobile tudo é embutido */
  .nu-nav-links > .nu-nav-zone:last-child .nu-nav-drop,
  .nu-nav-links > .nu-nav-zone:last-child.has-drop:hover .nu-nav-drop,
  .nu-nav-links > .nu-nav-zone:last-child.has-drop:focus-within .nu-nav-drop{
    left:auto; right:auto; transform:none;
  }
  .nu-nav-zone.has-drop > .nu-caret{ margin-left:auto; }
  .nu-nav-drop a{ padding:10px 12px; font-size:13px; }
  /* no mobile o hit não pode cobrir o submenu aberto */
  .nu-nav-hit{ inset:0 0 auto 0; height:50px; }
}

/* ---------- títulos de seção ---------- */
.nu-title{
  text-align:center;
  font-family:'Oswald', 'Arial Narrow', sans-serif;
  font-weight:700; text-transform:uppercase;
  color:#fff; letter-spacing:3px;
  font-size:26px; margin:8px 0 22px;
  display:flex; align-items:center; justify-content:center; gap:16px;
  text-shadow:0 2px 10px rgba(0,0,0,.6);
}
.nu-title::before, .nu-title::after{
  content:""; height:2px; width:46px;
  background:linear-gradient(90deg,transparent,var(--nu-orange));
}
.nu-title::after{ transform:scaleX(-1); }

/* ---------- SERVER STATUS (100% CSS, sem os PNGs de ornamento) ---------- */
.nu-status-wrap{
  display:flex; align-items:center; justify-content:center; gap:22px;
  margin:10px 0 44px;
}
/* filetes decorativos que substituem os ornamentos recortados */
.nu-orn{
  flex:1 1 0; max-width:300px; height:14px; position:relative;
}
.nu-orn::before{
  content:""; position:absolute; top:50%; left:0; right:0; height:1px;
  background:linear-gradient(90deg,transparent,rgba(242,115,30,.55));
}
.nu-orn::after{
  content:""; position:absolute; top:50%; right:0; margin-top:-4px;
  width:8px; height:8px; transform:rotate(45deg);
  background:var(--nu-orange); box-shadow:0 0 10px rgba(242,115,30,.8);
}
.nu-orn.left{ transform:scaleX(1); }
.nu-orn.right{ transform:scaleX(-1); }

.nu-status{
  position:relative; flex:0 0 auto;
  min-width:330px; padding:20px 46px 22px; text-align:center;
  background:
    radial-gradient(120% 90% at 50% 0%, rgba(242,115,30,.14), transparent 62%),
    linear-gradient(180deg, var(--nu-panel-a) 0%, var(--nu-panel-b) 60%, #0a0706 100%);
  border:1px solid var(--nu-border);
  box-shadow:
    0 14px 32px rgba(0,0,0,.6),
    inset 0 1px 0 rgba(255,255,255,.05),
    inset 0 0 34px rgba(0,0,0,.55);
  clip-path:polygon(20px 0, calc(100% - 20px) 0, 100% 20px, 100% calc(100% - 20px),
                    calc(100% - 20px) 100%, 20px 100%, 0 calc(100% - 20px), 0 20px);
}
/* moldura interna fina, acompanhando o chanfro */
.nu-status::before{
  content:""; position:absolute; inset:5px; pointer-events:none;
  border:1px solid rgba(242,115,30,.20);
  clip-path:polygon(16px 0, calc(100% - 16px) 0, 100% 16px, 100% calc(100% - 16px),
                    calc(100% - 16px) 100%, 16px 100%, 0 calc(100% - 16px), 0 16px);
}
.nu-status-title{
  font-family:'Oswald',sans-serif; font-weight:600; letter-spacing:3.5px;
  text-transform:uppercase; color:var(--nu-orange); font-size:14px;
}
.nu-status-state{
  font-family:'Oswald',sans-serif; font-weight:700; letter-spacing:3px;
  text-transform:uppercase; font-size:36px; line-height:1.15; margin:4px 0 6px;
  display:flex; align-items:center; justify-content:center; gap:14px;
}
.nu-status-state.on{ color:var(--nu-green); text-shadow:0 0 22px rgba(75,209,98,.35); }
.nu-status-state.off{ color:#d0483c; text-shadow:0 0 22px rgba(208,72,60,.3); }

/* bolinha com halo pulsante */
.nu-dot{
  position:relative; width:14px; height:14px; border-radius:50%; flex:0 0 auto;
  background:radial-gradient(circle at 35% 30%, #b6ffbf, var(--nu-green));
  box-shadow:0 0 10px var(--nu-green);
}
.nu-dot::after{
  content:""; position:absolute; inset:-6px; border-radius:50%;
  border:1px solid var(--nu-green); opacity:.6;
  animation:nu-pulse 2s ease-out infinite;
}
.nu-status-state.off .nu-dot{
  background:radial-gradient(circle at 35% 30%,#ff9b93,#c0392b);
  box-shadow:0 0 10px #c0392b;
}
.nu-status-state.off .nu-dot::after{ border-color:#c0392b; animation:none; opacity:.35; }
@keyframes nu-pulse{
  0%   { transform:scale(.7); opacity:.75; }
  100% { transform:scale(1.7); opacity:0; }
}

.nu-status-count{
  font-family:'Oswald',sans-serif; font-weight:500; letter-spacing:1.6px;
  text-transform:uppercase; color:#b3a9a2; font-size:13px;
  padding-top:10px; border-top:1px solid rgba(255,255,255,.07);
}
.nu-status-count b{ color:var(--nu-orange); font-size:16px; }
.nu-status-count a{
  color:inherit; text-decoration:none;
  transition:color .18s ease;
}
.nu-status-count a:hover{ color:#fff; }
.nu-status-count a:hover b{ text-shadow:0 0 14px rgba(242,115,30,.6); }
.nu-status-max{ color:#7c716a; font-size:14px; font-weight:400; }
.nu-status-uptime{
  font-family:'Oswald',sans-serif; font-weight:500; letter-spacing:1.6px;
  text-transform:uppercase; color:#8d837c; font-size:12px; margin-top:6px;
}
.nu-status-uptime b{ color:#b3a9a2; font-weight:600; }

/* ---------- KAGES ---------- */
.nu-kages{
  display:flex; gap:18px; justify-content:center; flex-wrap:wrap;
  margin-bottom:14px;
}
.nu-kage{
  width:172px;
  background:linear-gradient(180deg,var(--nu-panel-a),var(--nu-panel-b));
  border:1px solid var(--nu-border);
  border-radius:8px; padding:14px 12px 12px; text-align:center;
  position:relative;
  box-shadow:0 8px 20px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.04);
  transition:transform .18s, border-color .18s, box-shadow .18s;
}
.nu-kage:hover{ transform:translateY(-5px); border-color:var(--nu-orange);
  box-shadow:0 12px 26px rgba(0,0,0,.55), 0 0 18px rgba(242,115,30,.35); }
.nu-kage-frame{
  position:relative; width:112px; height:112px; margin:0 auto 12px;
  border:2px solid rgba(242,115,30,.35); border-radius:8px;
  overflow:hidden; background:#000;
  box-shadow:inset 0 0 20px rgba(0,0,0,.7);
}
.nu-kage-frame img{ width:100%; height:100%; object-fit:cover; display:block; }
.nu-crown{ position:absolute; top:-16px; left:50%; transform:translateX(-50%);
  font-size:26px; z-index:2; filter:drop-shadow(0 2px 3px rgba(0,0,0,.7)); }
.nu-crown.gold{ color:#ffcf3f; } .nu-crown.silver{ color:#d8dde3; }
.nu-crown.bronze{ color:#cd7f32; } .nu-crown.green{ color:#57c85a; }
.nu-crown.red{ color:#e0413a; } .nu-crown.purple{ color:#9b6cff; }
.nu-kage-name{ font-family:'Oswald',sans-serif; font-weight:500;
  color:#efe7df; font-size:15px; letter-spacing:.3px;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.nu-kage-elo{ color:var(--nu-orange); font-size:13px; font-weight:600; }

/* ---------- TOP GUILDS (frags) — caixa da HOME ----------
   prefixo próprio (nu-topguild*): as classes .nu-guild/.nu-guilds já pertencem
   à página de guilds, mais abaixo neste arquivo, e venciam por vir depois. */
.nu-topguilds{
  display:flex; gap:18px; justify-content:center; flex-wrap:wrap;
  margin-bottom:14px;
}
.nu-topguild{
  display:block; width:172px; box-sizing:border-box;
  background:linear-gradient(180deg,var(--nu-panel-a),var(--nu-panel-b));
  border:1px solid var(--nu-border);
  border-radius:8px; padding:14px 12px 12px; text-align:center;
  position:relative;
  box-shadow:0 8px 20px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.04);
  transition:transform .18s, border-color .18s, box-shadow .18s;
}
.nu-topguild:hover{ transform:translateY(-5px); border-color:var(--nu-orange);
  box-shadow:0 12px 26px rgba(0,0,0,.55), 0 0 18px rgba(242,115,30,.35); }
.nu-topguild-frame{
  position:relative; width:96px; height:96px; margin:0 auto 12px;
  border:2px solid rgba(242,115,30,.35); border-radius:8px;
  overflow:hidden; background:#000;
  box-shadow:inset 0 0 20px rgba(0,0,0,.7);
}
.nu-topguild-frame img{ width:100%; height:100%; object-fit:contain; display:block; }
.nu-topguild-pos{
  position:absolute; top:-2px; left:-2px; z-index:2;
  min-width:24px; padding:2px 6px;
  font-family:'Oswald',sans-serif; font-weight:600; font-size:12px;
  color:#1a0f08; background:var(--nu-orange-2);
  border-radius:8px 0 8px 0;
}
.nu-topguild-name{ font-family:'Oswald',sans-serif; font-weight:500;
  color:#efe7df; font-size:15px; letter-spacing:.3px;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.nu-topguild-frags{
  display:flex; align-items:center; justify-content:center; gap:6px;
  color:var(--nu-orange); font-size:13px; font-weight:600; margin-top:2px;
}
.nu-topguild-frags i{ font-size:12px; opacity:.85; }

/* ---------- BOTÃO ANGULAR (ranking) ---------- */
.nu-btn-wrap{ text-align:center; margin:26px 0 46px; }
.nu-btn{
  display:inline-flex; align-items:center; gap:12px;
  padding:14px 46px;
  font-family:'Oswald',sans-serif; font-weight:600; font-size:18px;
  letter-spacing:2px; text-transform:uppercase; color:var(--nu-orange) !important;
  background:linear-gradient(180deg,#241a14,#0f0a08);
  border:1px solid var(--nu-orange);
  clip-path:polygon(16px 0,calc(100% - 16px) 0,100% 50%,calc(100% - 16px) 100%,16px 100%,0 50%);
  box-shadow:0 6px 18px rgba(0,0,0,.5), inset 0 0 14px rgba(242,115,30,.15);
  transition:all .18s;
}
.nu-btn:hover{ color:#fff !important;
  background:linear-gradient(180deg,var(--nu-orange),var(--nu-orange-deep));
  box-shadow:0 8px 22px rgba(242,115,30,.4), inset 0 0 16px rgba(255,190,140,.3); }

/* ---------- NOVIDADES ---------- */
.nu-news-head{
  font-family:'Oswald',sans-serif; font-weight:700; text-transform:uppercase;
  color:#fff; letter-spacing:2px; font-size:22px; margin:0 0 18px;
  display:flex; align-items:center; gap:12px;
}
.nu-news-head::before{ content:""; width:6px; height:26px;
  background:linear-gradient(180deg,var(--nu-orange),var(--nu-orange-deep));
  border-radius:2px; }
.nu-news-row{
  display:grid; grid-template-columns:repeat(3,1fr); gap:18px;
  align-items:stretch;
}
.nu-news{
  position:relative; display:flex; flex-direction:column;
  background:linear-gradient(180deg,var(--nu-panel-a),var(--nu-panel-b));
  border:1px solid var(--nu-border); border-radius:8px;
  box-shadow:0 8px 20px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.04);
  transition:border-color .18s, transform .18s;
  overflow:hidden;
}
.nu-news:hover{ border-color:var(--nu-orange); transform:translateY(-4px); }

/* imagem da notícia (myaac_news.article_image) — some sozinha se não houver */
.nu-news-thumb{
  position:relative; height:150px; flex:0 0 auto;
  background:#0b0806; border-bottom:1px solid var(--nu-border); overflow:hidden;
}
.nu-news-thumb img{
  width:100%; height:100%; object-fit:cover; display:block;
  transition:transform .35s ease; opacity:.92;
}
.nu-news:hover .nu-news-thumb img{ transform:scale(1.05); opacity:1; }
/* esfumaça a base da imagem pro texto encostar sem corte seco */
.nu-news-thumb::after{
  content:""; position:absolute; inset:auto 0 0 0; height:46%;
  background:linear-gradient(180deg,transparent,var(--nu-panel-a));
  pointer-events:none;
}

.nu-news-text{ flex:1 1 auto; padding:18px 18px 44px; }
.nu-news-date{ color:#cfc7c0; font-size:13px; letter-spacing:.5px; }
.nu-news-title{ font-family:'Oswald',sans-serif; font-weight:700;
  text-transform:uppercase; color:var(--nu-orange); font-size:19px;
  letter-spacing:.5px; margin:6px 0 10px; line-height:1.2; }
.nu-news:hover .nu-news-title{ color:var(--nu-orange-2); }
.nu-news-body{ color:#c6bdb6; font-size:14px; }
.nu-news-shuriken{ position:absolute; right:12px; bottom:10px;
  color:rgba(242,115,30,.5); font-size:22px; }

/* ---------- seta rodapé ---------- */
.nu-scroll{ text-align:center; margin:44px 0 10px; }
.nu-scroll i{ color:var(--nu-orange); font-size:30px; animation:nu-bounce 1.8s infinite; }
@keyframes nu-bounce{ 0%,100%{transform:translateY(0)} 50%{transform:translateY(8px)} }

/* ---------- painel de conteúdo genérico (sub-páginas) ---------- */
.nu-panel{
  background:linear-gradient(180deg,var(--nu-panel-a),var(--nu-panel-b));
  border:1px solid var(--nu-border); border-radius:8px;
  padding:22px 26px; margin-bottom:26px;
  box-shadow:0 8px 22px rgba(0,0,0,.45);
}
.nu-panel h2, .nu-panel h1{ font-family:'Oswald',sans-serif; color:var(--nu-orange);
  text-transform:uppercase; letter-spacing:1px; }
.nu-panel a{ color:var(--nu-orange); }
.nu-panel table{ width:100%; border-collapse:collapse; }
.nu-panel th{ background:rgba(242,115,30,.15); color:#fff; padding:8px;
  text-transform:uppercase; font-family:'Oswald',sans-serif; letter-spacing:.5px; }
.nu-panel td{ padding:8px; border-bottom:1px solid rgba(255,255,255,.06); }

/* ---- normaliza tabelas padrão do MyAAC/Gesior p/ o tema Naruto ----
   (páginas Comunidade / Guilds / Últimas Mortes / Highscores usam bgcolor inline) */
.nu-panel table[cellspacing] tr[bgcolor],
.nu-panel table tr[bgcolor]{ background:transparent !important; }
.nu-panel table td, .nu-panel table th{
  background-color:var(--nu-panel-b); color:var(--nu-text);
  border-bottom:1px solid rgba(255,255,255,.05);
}
/* cabeçalhos (classe .white padrão do MyAAC ou 1ª linha) em laranja */
.nu-panel table td.white,
.nu-panel table td.white a,
.nu-panel table tr:first-child td b{
  color:#fff !important;
}
.nu-panel table td.white{
  background:linear-gradient(180deg,var(--nu-orange-deep),#8a3410) !important;
  font-family:'Oswald',sans-serif; letter-spacing:.5px;
}
.nu-panel table tr:nth-child(even) td:not(.white){ background-color:var(--nu-panel-a); }
.nu-panel table a{ color:var(--nu-orange); }
.nu-panel table a:hover{ color:var(--nu-orange-2); }
/* remove bordas/tons claros herdados */
.nu-panel .TableContainer, .nu-panel .Table, .nu-panel .CipBox{
  background:transparent !important; border-color:var(--nu-border) !important;
}

/* ---------- footer ---------- */
.nu-footer{
  position:relative; z-index:3; text-align:center;
  color:var(--nu-muted); font-size:13px; padding:26px 16px 34px;
  border-top:1px solid rgba(242,115,30,.18); margin-top:20px;
}
.nu-social{ display:flex; gap:14px; justify-content:center; margin-bottom:12px; }
.nu-social a{ width:42px; height:42px; display:flex; align-items:center; justify-content:center;
  border:1px solid var(--nu-border); border-radius:8px; color:var(--nu-orange) !important;
  font-size:20px; background:linear-gradient(180deg,#221a15,#0e0a08); transition:all .18s; }
.nu-social a:hover{ border-color:var(--nu-orange); color:#fff !important;
  background:linear-gradient(180deg,var(--nu-orange),var(--nu-orange-deep)); }

/* ============================================================
   RANKING (Elo Points / Frags)
   ============================================================ */
.nu-rank{ max-width:900px; margin:0 auto; }
.nu-rank-title{
  text-align:center; font-family:'Oswald',sans-serif; font-weight:700;
  text-transform:uppercase; letter-spacing:3px; color:#fff; font-size:26px;
  margin:6px 0 20px; display:flex; align-items:center; justify-content:center; gap:16px;
}
.nu-rank-title::before, .nu-rank-title::after{
  content:""; height:2px; width:46px; background:linear-gradient(90deg,transparent,var(--nu-orange)); }
.nu-rank-title::after{ transform:scaleX(-1); }

.nu-rank-tabs{ display:flex; gap:8px; justify-content:center; margin-bottom:20px; flex-wrap:wrap; }
.nu-rank-tab{
  /* são onze listas agora: o padding encolheu e o clip-path saiu, senão as
     abas cortadas em losango se sobrepõem quando a linha quebra */
  display:inline-flex; align-items:baseline; gap:7px;
  cursor:pointer; padding:9px 16px; text-decoration:none;
  font-family:'Oswald',sans-serif; font-weight:600; font-size:14px;
  letter-spacing:1.1px; text-transform:uppercase; color:#cdbfb4;
  background:linear-gradient(180deg,#241a14,#0f0a08);
  border:1px solid var(--nu-border);
  border-radius:3px;
  transition:all .18s; user-select:none;
}
.nu-rank-tab:hover{ color:#fff; border-color:var(--nu-orange); text-decoration:none; }
.nu-rank-tab.active{
  color:#fff; border-color:var(--nu-orange);
  background:linear-gradient(180deg,var(--nu-orange),var(--nu-orange-deep));
  box-shadow:0 6px 16px rgba(242,115,30,.35);
}
.nu-rank-tab i{ font-size:13px; }
/* o nome que o jogo usa vem primeiro; a skill original fica de legenda */
.nu-rank-tab-sub{
  font-size:11px; font-weight:400; letter-spacing:.6px;
  text-transform:none; color:#8a7d73;
}
.nu-rank-tab:hover .nu-rank-tab-sub{ color:#b8aaa0; }
.nu-rank-tab.active .nu-rank-tab-sub{ color:rgba(255,255,255,.75); }

.nu-rank-pane{ display:none; }
.nu-rank-pane.active{ display:block; animation:nu-fade .25s ease; }
@keyframes nu-fade{ from{opacity:0; transform:translateY(6px)} to{opacity:1; transform:none} }

.nu-rank-table{ width:100%; border-collapse:separate; border-spacing:0 8px; }
.nu-rank-table th{
  font-family:'Oswald',sans-serif; text-transform:uppercase; letter-spacing:1px;
  font-size:13px; color:var(--nu-orange); text-align:left; padding:4px 14px; background:none;
}
.nu-rank-table th.num, .nu-rank-table td.num{ text-align:right; }
.nu-rank-row td{
  background:linear-gradient(180deg,var(--nu-panel-a),var(--nu-panel-b));
  border-top:1px solid var(--nu-border); border-bottom:1px solid var(--nu-border);
  padding:10px 14px; vertical-align:middle;
}
.nu-rank-row td:first-child{ border-left:1px solid var(--nu-border);
  border-radius:8px 0 0 8px; }
.nu-rank-row td:last-child{ border-right:1px solid var(--nu-border);
  border-radius:0 8px 8px 0; }
.nu-rank-row:hover td{ border-color:var(--nu-orange); }
.nu-rank-row.top td{ box-shadow:inset 0 0 22px rgba(242,115,30,.10); }

.nu-pos{ font-family:'Oswald',sans-serif; font-weight:700; font-size:18px;
  color:#b7ada6; width:56px; text-align:center; }
.nu-medal{ font-size:22px; }
.nu-medal.gold{ color:#ffcf3f; } .nu-medal.silver{ color:#d8dde3; } .nu-medal.bronze{ color:#cd7f32; }
.nu-medal.gold, .nu-medal.silver, .nu-medal.bronze{ filter:drop-shadow(0 1px 2px rgba(0,0,0,.6)); }

.nu-rank-player{ display:flex; align-items:center; gap:12px; }
.nu-rank-av{ width:42px; height:42px; flex:0 0 auto; border:1px solid var(--nu-border);
  border-radius:6px; background:#000; overflow:hidden; display:flex; align-items:center; justify-content:center; }
.nu-rank-av img{ width:100%; height:100%; object-fit:contain; }
.nu-rank-name{ display:block; font-family:'Oswald',sans-serif; font-weight:600; font-size:16px;
  color:#efe7df !important; letter-spacing:.3px; line-height:1.2; }
.nu-rank-player:hover .nu-rank-name{ color:var(--nu-orange) !important; }
.nu-rank-sub{ font-size:12px; color:var(--nu-muted); }
.nu-rank-player > span:last-child{ display:flex; flex-direction:column; }
.nu-rank-val{ font-family:'Oswald',sans-serif; font-weight:700; font-size:20px; color:var(--nu-orange); }
.nu-rank-empty{ text-align:center; color:var(--nu-muted); padding:30px; }

@media (max-width:560px){
  .nu-rank-av{ display:none; }
  .nu-rank-tab{ padding:8px 12px; font-size:12px; gap:5px; }
  .nu-rank-tab-sub{ display:none; }
  .nu-rank-title{ font-size:21px; }
}

/* ============================================================
   EDITOR DE NOTÍCIAS (front-end admin)
   ============================================================ */
/* mensagens de feedback (success/error/warning/note) dentro do painel */
.nu-panel .success, .nu-panel .error, .nu-panel .warning, .nu-panel .note{
  max-width:860px; margin:0 auto 16px; padding:12px 16px; border-radius:8px;
  font-family:'Oswald',sans-serif; letter-spacing:.4px; border:1px solid;
}
.nu-panel .success{ background:rgba(75,209,98,.12); border-color:rgba(75,209,98,.5); color:#7ee68f; }
.nu-panel .error{ background:rgba(224,65,58,.12); border-color:rgba(224,65,58,.55); color:#ff8b84; }
.nu-panel .warning, .nu-panel .note{ background:rgba(242,115,30,.12); border-color:rgba(242,115,30,.5); color:var(--nu-orange-2); }

.nu-ed{ max-width:860px; margin:0 auto; }
.nu-ed .nu-rank-title i{ color:var(--nu-orange); margin-right:6px; }
.nu-ed-hint{ text-align:center; color:var(--nu-muted); margin:-6px 0 22px; font-size:14px; }
.nu-ed-hint b{ color:var(--nu-orange); }

.nu-ed-guard{
  max-width:560px; margin:20px auto; text-align:center; padding:26px 20px;
  background:linear-gradient(180deg,var(--nu-panel-a),var(--nu-panel-b));
  border:1px solid var(--nu-border); border-radius:10px; color:var(--nu-text);
  font-family:'Oswald',sans-serif; letter-spacing:.5px;
}
.nu-ed-guard i{ color:var(--nu-orange); margin-right:8px; }

.nu-ed-form{
  background:linear-gradient(180deg,var(--nu-panel-a),var(--nu-panel-b));
  border:1px solid var(--nu-border); border-radius:10px;
  padding:22px 24px; margin-bottom:30px;
  box-shadow:0 8px 22px rgba(0,0,0,.45);
}
.nu-ed-row{ margin-bottom:18px; }
.nu-ed-row label{
  display:block; margin-bottom:7px;
  font-family:'Oswald',sans-serif; font-weight:600; text-transform:uppercase;
  letter-spacing:1px; color:var(--nu-orange); font-size:14px;
}
.nu-ed-count{ color:var(--nu-muted); font-weight:400; text-transform:none; letter-spacing:0; font-size:12px; }
.nu-ed-form input[type=text],
.nu-ed-form textarea{
  width:100%; padding:12px 14px; border-radius:8px;
  background:#0e0a08; border:1px solid var(--nu-border);
  color:var(--nu-text); font-family:'Segoe UI',Roboto,Arial,sans-serif; font-size:15px;
  outline:none; transition:border-color .16s, box-shadow .16s; resize:vertical;
}
.nu-ed-form input[type=text]:focus,
.nu-ed-form textarea:focus{
  border-color:var(--nu-orange);
  box-shadow:0 0 0 3px rgba(242,115,30,.18);
}
.nu-ed-form textarea{ min-height:150px; line-height:1.5; }

.nu-ed-actions{ display:flex; align-items:center; gap:18px; flex-wrap:wrap; margin-top:4px; }
.nu-ed-save{ border:none; cursor:pointer; }
button.nu-btn{ font-family:'Oswald',sans-serif; }
.nu-ed-cancel{ color:var(--nu-muted); font-family:'Oswald',sans-serif; text-transform:uppercase;
  letter-spacing:1px; font-size:14px; }
.nu-ed-cancel:hover{ color:var(--nu-orange); }

.nu-ed-listtitle{
  font-family:'Oswald',sans-serif; text-transform:uppercase; letter-spacing:2px;
  color:#fff; font-size:20px; margin:0 0 16px; display:flex; align-items:center; gap:10px;
}
.nu-ed-listtitle::before{ content:""; width:6px; height:24px; border-radius:2px;
  background:linear-gradient(180deg,var(--nu-orange),var(--nu-orange-deep)); }
.nu-ed-listtitle span{ color:var(--nu-muted); font-size:15px; letter-spacing:0; }

.nu-ed-list{ display:flex; flex-direction:column; gap:10px; }
.nu-ed-item{
  display:flex; align-items:center; justify-content:space-between; gap:14px;
  padding:12px 16px; border-radius:8px;
  background:linear-gradient(180deg,var(--nu-panel-a),var(--nu-panel-b));
  border:1px solid var(--nu-border); transition:border-color .16s;
}
.nu-ed-item:hover{ border-color:var(--nu-orange); }
.nu-ed-item.hidden-news{ opacity:.55; }
.nu-ed-item-info{ display:flex; flex-direction:column; gap:3px; min-width:0; }
.nu-ed-item-title{ font-family:'Oswald',sans-serif; font-weight:600; color:#efe7df; font-size:16px;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.nu-ed-item-date{ font-size:12px; color:var(--nu-muted); }
.nu-ed-item-date i{ margin-right:3px; }
.nu-ed-badge{ margin-left:8px; font-style:normal; color:#e0413a;
  border:1px solid rgba(224,65,58,.5); border-radius:4px; padding:0 6px; font-size:11px; text-transform:uppercase; }

.nu-ed-item-btns{ display:flex; align-items:center; gap:8px; flex:0 0 auto; }
.nu-ed-item-btns form{ margin:0; }
.nu-ed-b{
  width:36px; height:36px; display:inline-flex; align-items:center; justify-content:center;
  border-radius:7px; cursor:pointer; font-size:14px;
  background:#0e0a08; border:1px solid var(--nu-border); color:var(--nu-text);
  transition:all .16s;
}
.nu-ed-b:hover{ border-color:var(--nu-orange); color:#fff; }
.nu-ed-b.edit:hover{ background:rgba(242,115,30,.2); }
.nu-ed-b.del:hover{ background:rgba(224,65,58,.25); border-color:#e0413a; color:#fff; }
.nu-ed-b.hide:hover{ background:rgba(155,144,138,.2); }

/* botões admin na home (cards de notícia) */
.nu-news-wrap{ position:relative; display:flex; }
.nu-news-wrap .nu-news{ flex:1 1 auto; }
.nu-news-edit{
  position:absolute; top:8px; right:8px; z-index:4;
  width:30px; height:30px; display:flex; align-items:center; justify-content:center;
  border-radius:6px; font-size:12px; color:#fff !important;
  background:rgba(242,115,30,.85); border:1px solid rgba(255,255,255,.25);
  box-shadow:0 3px 10px rgba(0,0,0,.4); opacity:0; transition:opacity .16s, transform .16s;
}
.nu-news-wrap:hover .nu-news-edit{ opacity:1; }
.nu-news-edit:hover{ background:var(--nu-orange); transform:scale(1.08); }
.nu-news-admin-add{ margin-left:auto; }
.nu-news-head .nu-news-admin-add{
  font-family:'Oswald',sans-serif; font-size:13px; font-weight:600; letter-spacing:1px;
  text-transform:uppercase; color:var(--nu-orange); border:1px solid var(--nu-orange);
  padding:5px 14px; border-radius:6px; display:inline-flex; align-items:center; gap:7px;
  transition:all .16s;
}
.nu-news-head .nu-news-admin-add:hover{ background:var(--nu-orange); color:#fff; }

/* ============================================================
   LOGIN / CONTA  (account.login.html.twig)
   ============================================================ */
.nu-auth{ max-width:460px; margin:10px auto 6px; }
.nu-auth-card{
  position:relative;
  background:linear-gradient(180deg,var(--nu-panel-a),var(--nu-panel-b));
  border:1px solid var(--nu-border); border-radius:10px;
  box-shadow:0 12px 30px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.05);
  overflow:hidden;
}
/* faixa laranja no topo do card */
.nu-auth-card::before{
  content:""; position:absolute; inset:0 0 auto 0; height:3px;
  background:linear-gradient(90deg,transparent,var(--nu-orange),transparent);
}
.nu-auth-head{
  text-align:center; padding:26px 24px 4px;
}
.nu-auth-head i{
  font-size:30px; color:var(--nu-orange);
  filter:drop-shadow(0 0 10px rgba(242,115,30,.45));
}
.nu-auth-head h2{
  font-family:'Oswald',sans-serif; font-weight:700; text-transform:uppercase;
  letter-spacing:3px; font-size:22px; color:#fff; margin:10px 0 6px;
}
.nu-auth-head p{ color:var(--nu-muted); font-size:13.5px; margin:0; }

.nu-auth-body{ padding:18px 30px 26px; }

.nu-field{ margin-bottom:16px; }
.nu-field label{
  display:block; font-family:'Oswald',sans-serif; font-size:12px; font-weight:600;
  letter-spacing:1.5px; text-transform:uppercase; color:var(--nu-orange);
  margin-bottom:7px;
}
.nu-field .nu-input-wrap{ position:relative; display:block; }
.nu-field .nu-input-wrap > i{
  position:absolute; left:14px; top:50%; transform:translateY(-50%);
  color:var(--nu-muted); font-size:14px; pointer-events:none; transition:color .16s;
}
.nu-auth input[type=text],
.nu-auth input[type=password]{
  /* o 46 à esquerda é o ícone (14 de margem + ~16 de largura) + folga */
  width:100%; padding:12px 14px 12px 46px;
  background:#0b0806; color:var(--nu-text);
  border:1px solid var(--nu-border); border-radius:6px;
  font-family:inherit; font-size:15px; outline:none;
  transition:border-color .16s, box-shadow .16s, background .16s;
}
.nu-auth input[type=text]::placeholder,
.nu-auth input[type=password]::placeholder{ color:#6b625c; }
.nu-auth input[type=text]:focus,
.nu-auth input[type=password]:focus{
  border-color:var(--nu-orange); background:#120c09;
  box-shadow:0 0 0 3px rgba(242,115,30,.16);
}
.nu-field .nu-input-wrap:focus-within > i{ color:var(--nu-orange); }

.nu-check{
  display:flex; align-items:center; gap:9px;
  color:#c6bdb6; font-size:14px; cursor:pointer; user-select:none;
  margin:2px 0 20px;
}
.nu-check input{ width:16px; height:16px; accent-color:var(--nu-orange); cursor:pointer; }

.nu-auth .nu-btn{ width:100%; justify-content:center; padding:13px 20px; font-size:16px; }

.nu-auth-links{
  display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap;
  margin-top:18px; padding-top:16px;
  border-top:1px solid rgba(255,255,255,.07);
  font-size:13.5px;
}
.nu-auth-links a{ display:inline-flex; align-items:center; gap:7px; color:var(--nu-orange); }
.nu-auth-links a:hover{ color:var(--nu-orange-2); }

.nu-auth-error{
  display:flex; align-items:center; gap:10px;
  background:rgba(224,65,58,.12); border:1px solid rgba(224,65,58,.55);
  color:#ff8b84; border-radius:6px; padding:11px 14px; margin-bottom:18px;
  font-size:14px;
}

/* ============================================================
   KIT DE FORMULÁRIO  (criar conta / conta perdida / etc.)
   ============================================================ */
.nu-form{ max-width:620px; margin:6px auto 0; }
.nu-form.wide{ max-width:820px; }

.nu-form-intro{
  color:#b8aea7; font-size:14px; line-height:1.6;
  margin:0 auto 22px; max-width:620px; text-align:center;
}

.nu-form-section{
  background:linear-gradient(180deg,var(--nu-panel-a),var(--nu-panel-b));
  border:1px solid var(--nu-border); border-radius:10px;
  margin-bottom:18px; overflow:hidden;
  box-shadow:0 8px 22px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.04);
}
.nu-form-section > h3{
  margin:0; padding:13px 20px;
  font-family:'Oswald',sans-serif; font-weight:600; font-size:14px;
  letter-spacing:2px; text-transform:uppercase; color:#fff;
  background:linear-gradient(180deg,var(--nu-orange-deep),#7d2f0e);
  border-bottom:1px solid rgba(0,0,0,.4);
  display:flex; align-items:center; gap:10px;
}
.nu-form-section > h3 i{ font-size:14px; opacity:.9; }
.nu-form-section-body{ padding:20px; }

/* linha rótulo + campo */
.nu-row{ margin-bottom:16px; }
.nu-row:last-child{ margin-bottom:0; }
.nu-row > label,
.nu-row > .nu-row-label{
  display:block; margin-bottom:7px;
  font-family:'Oswald',sans-serif; font-size:12px; font-weight:600;
  letter-spacing:1.5px; text-transform:uppercase; color:var(--nu-orange);
}
.nu-row.has-error > label,
.nu-row.has-error > .nu-row-label{ color:#ff8b84; }
.nu-row-input{ display:flex; align-items:center; gap:10px; }
.nu-row-input > img{ flex:0 0 auto; }

.nu-form input[type=text],
.nu-form input[type=email],
.nu-form input[type=password],
.nu-form select{
  flex:1 1 auto; width:100%; padding:11px 14px;
  background:#0b0806; color:var(--nu-text);
  border:1px solid var(--nu-border); border-radius:6px;
  font-family:inherit; font-size:15px; outline:none;
  transition:border-color .16s, box-shadow .16s, background .16s;
}
.nu-form select{
  appearance:none; -webkit-appearance:none; cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,var(--nu-orange) 50%),
                   linear-gradient(135deg,var(--nu-orange) 50%,transparent 50%);
  background-position:calc(100% - 20px) 50%, calc(100% - 14px) 50%;
  background-size:6px 6px, 6px 6px; background-repeat:no-repeat;
  padding-right:38px;
}
.nu-form select option{ background:#120c09; color:var(--nu-text); }
.nu-form input::placeholder{ color:#6b625c; }
.nu-form input[type=text]:focus,
.nu-form input[type=email]:focus,
.nu-form input[type=password]:focus,
.nu-form select:focus{
  border-color:var(--nu-orange); background:#120c09;
  box-shadow:0 0 0 3px rgba(242,115,30,.16);
}

/* mensagens de validação abaixo do campo */
.nu-form .FormFieldError,
.nu-field-msg{ display:block; margin-top:6px; color:#ff8b84; font-size:13px; }
.nu-field-msg:empty{ display:none; }

/* rádios e checkboxes */
.nu-opts{ display:flex; flex-wrap:wrap; gap:10px 22px; }
.nu-opt{
  display:inline-flex; align-items:center; gap:8px;
  color:#d3cac3; font-size:14px; cursor:pointer;
  padding:8px 14px; border:1px solid var(--nu-border); border-radius:6px;
  background:#0e0a08; transition:border-color .16s, background .16s, color .16s;
}
.nu-opt:hover{ border-color:var(--nu-border-lite); color:#fff; }
.nu-opt input{ width:16px; height:16px; accent-color:var(--nu-orange); cursor:pointer; margin:0; }
.nu-opt.block{ width:100%; }

/* botões padrão do MyAAC (buttons.base.html.twig) */
.nu-btn-sm{
  padding:11px 34px; font-size:15px; letter-spacing:1.5px; cursor:pointer;
}
.nu-form-actions{ text-align:center; margin-top:22px; }

/* caixa de erros global (error_box.html.twig) */
.nu-errorbox{
  max-width:620px; margin:0 auto 20px;
  background:rgba(224,65,58,.12); border:1px solid rgba(224,65,58,.55);
  border-radius:8px; padding:14px 18px; color:#ffb0aa;
}
.nu-errorbox b{
  display:flex; align-items:center; gap:9px; color:#ff8b84;
  font-family:'Oswald',sans-serif; letter-spacing:1px; text-transform:uppercase;
  font-size:13px; margin-bottom:8px;
}
.nu-errorbox ul{ margin:0; padding-left:20px; }
.nu-errorbox li{ font-size:14px; margin:3px 0; }

/* ---- passos seguintes do "conta perdida" ainda usam tabelas inline ---- */
.nu-panel table[cellspacing] td[bgcolor]{ border-radius:0; }
/* .nu-auth precisa ficar de fora: os campos de login têm ícone dentro do campo
   e dependem do padding-left maior. sem esta exceção a regra genérica vence por
   especificidade e o placeholder sobe por cima do ícone. */
.nu-panel input[type=text]:not(.nu-form input):not(.nu-auth input),
.nu-panel input[type=password]:not(.nu-form input):not(.nu-auth input){
  padding:9px 12px; background:#0b0806; color:var(--nu-text);
  border:1px solid var(--nu-border); border-radius:6px; outline:none;
}
.nu-panel input[type=text]:focus,
.nu-panel input[type=password]:focus{ border-color:var(--nu-orange); }

/* ============================================================
   DOWNLOADS  (pages/baixar.php)
   ============================================================ */
.nu-dl-notice{
  display:flex; align-items:flex-start; gap:12px;
  background:rgba(242,115,30,.10); border:1px solid rgba(242,115,30,.45);
  border-radius:8px; padding:14px 16px; margin-bottom:26px;
  color:#e8ddd4; font-size:14px; line-height:1.5;
}
.nu-dl-notice i{ color:var(--nu-orange); font-size:18px; margin-top:2px; flex:0 0 auto; }

.nu-dl-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:18px; }

.nu-dl-card{
  display:flex; flex-direction:column;
  background:linear-gradient(180deg,var(--nu-panel-a),var(--nu-panel-b));
  border:1px solid var(--nu-border); border-radius:10px;
  padding:22px 20px 20px; text-align:center;
  box-shadow:0 8px 20px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.04);
  transition:border-color .18s, transform .18s, box-shadow .18s;
}
.nu-dl-card:hover{
  border-color:var(--nu-orange); transform:translateY(-4px);
  box-shadow:0 14px 28px rgba(0,0,0,.5), 0 0 0 1px rgba(242,115,30,.25);
}
.nu-dl-icon{
  width:56px; height:56px; margin:0 auto 12px;
  display:flex; align-items:center; justify-content:center;
  border:1px solid var(--nu-border); border-radius:12px;
  background:linear-gradient(180deg,#2a201a,#100b09);
  color:var(--nu-orange); font-size:24px;
}
.nu-dl-card h3{
  font-family:'Oswald',sans-serif; font-weight:700; text-transform:uppercase;
  letter-spacing:1.5px; font-size:18px; color:#fff; margin:0 0 4px;
}
.nu-dl-tag{
  display:inline-block; font-size:11px; letter-spacing:1.2px; text-transform:uppercase;
  font-family:'Oswald',sans-serif; padding:2px 10px; border-radius:99px;
  border:1px solid var(--nu-border-lite); color:var(--nu-muted); margin-bottom:10px;
}
.nu-dl-tag.hot{ border-color:var(--nu-orange); color:var(--nu-orange); }
.nu-dl-desc{ color:#a89e97; font-size:13.5px; margin:0 0 16px; min-height:38px; }
.nu-dl-links{ margin-top:auto; display:flex; flex-direction:column; gap:9px; }
.nu-dl-link{
  display:flex; align-items:center; justify-content:center; gap:9px;
  padding:10px 12px; border-radius:6px; font-size:14px; font-weight:600;
  color:var(--nu-orange) !important;
  background:linear-gradient(180deg,#241a14,#0f0a08);
  border:1px solid var(--nu-border); transition:all .16s;
}
.nu-dl-link:hover{
  color:#fff !important; border-color:var(--nu-orange);
  background:linear-gradient(180deg,var(--nu-orange),var(--nu-orange-deep));
  box-shadow:0 6px 16px rgba(242,115,30,.32);
}
.nu-dl-sub{
  font-family:'Oswald',sans-serif; text-transform:uppercase; letter-spacing:2px;
  font-size:15px; color:#fff; margin:34px 0 16px;
  display:flex; align-items:center; gap:12px;
}
.nu-dl-sub::after{ content:""; flex:1; height:1px; background:rgba(242,115,30,.25); }

/* ============================================================
   TABELA PADRÃO DO TEMA (rankings, mortes, histórico…)
   ============================================================ */
.nu-table-wrap{
  border:1px solid var(--nu-border); border-radius:10px; overflow:hidden;
  background:linear-gradient(180deg,var(--nu-panel-a),var(--nu-panel-b));
  box-shadow:0 8px 22px rgba(0,0,0,.45);
  margin-bottom:22px;
}
.nu-table-wrap > h3{
  margin:0; padding:13px 20px;
  font-family:'Oswald',sans-serif; font-weight:600; font-size:14px;
  letter-spacing:2px; text-transform:uppercase; color:#fff;
  background:linear-gradient(180deg,var(--nu-orange-deep),#7d2f0e);
  display:flex; align-items:center; gap:10px;
}
.nu-table-scroll{ overflow-x:auto; }
table.nu-table{ width:100%; border-collapse:collapse; font-size:14px; }
table.nu-table th{
  background:rgba(242,115,30,.14) !important; color:#fff !important;
  font-family:'Oswald',sans-serif; font-weight:600; font-size:12px;
  letter-spacing:1.2px; text-transform:uppercase;
  padding:11px 14px; text-align:left; white-space:nowrap;
  border-bottom:1px solid rgba(242,115,30,.3);
}
table.nu-table td{
  background:transparent !important; color:var(--nu-text) !important;
  padding:10px 14px; border-bottom:1px solid rgba(255,255,255,.06);
  vertical-align:middle;
}
table.nu-table tbody tr{ transition:background .14s; }
table.nu-table tbody tr:nth-child(even){ background:rgba(255,255,255,.022); }
table.nu-table tbody tr:hover{ background:rgba(242,115,30,.09); }
table.nu-table tbody tr:last-child td{ border-bottom:0; }
table.nu-table td.num{ color:var(--nu-muted) !important; width:52px; text-align:center; }
table.nu-table td.empty{ text-align:center; color:var(--nu-muted) !important; padding:26px 14px; }
.nu-ok{ color:var(--nu-green) !important; }
.nu-no{ color:#ff8b84 !important; }

/* ============================================================
   BIBLIOTECA / WIKI
   Normaliza o HTML legado dessas páginas (tabelas com bgcolor
   chumbado, <font>, <center>, <th> usado como célula de dado)
   sem precisar reescrever o conteúdo de jogo linha a linha.
   ============================================================ */
/* o alinhamento central saiu das tags <center> e passou pro CSS */
.nu-wiki{ color:#c6bdb6; text-align:center; font-size:14.5px; line-height:1.65; }

/* blocos de texto explicativo */
.nu-wiki > p,
.nu-wiki > b,
.nu-wiki > center{
  display:block; max-width:900px; margin:0 auto 14px;
  color:#c6bdb6; font-size:14.5px; line-height:1.65;
}
.nu-wiki font{ font-size:inherit !important; }
.nu-wiki font[color="white"], .nu-wiki font[color="White"]{ color:var(--nu-text) !important; }
.nu-wiki font[color="green"], .nu-wiki font[color="#54CD36"]{ color:var(--nu-green) !important; }
.nu-wiki font[color="red"]{ color:#ff8b84 !important; }
.nu-wiki blink{ text-decoration:none; }
.nu-wiki b{ color:var(--nu-text); }

/* títulos internos */
.nu-wiki h1, .nu-wiki h2{
  font-family:'Oswald',sans-serif; font-weight:700; text-transform:uppercase;
  letter-spacing:2.5px; color:var(--nu-orange); text-align:center;
  font-size:20px; margin:34px 0 16px;
  display:flex; align-items:center; justify-content:center; gap:14px;
}
.nu-wiki h1::before, .nu-wiki h1::after,
.nu-wiki h2::before, .nu-wiki h2::after{
  content:""; width:clamp(20px,6vw,70px); height:1px;
  background:linear-gradient(90deg,transparent,var(--nu-orange));
}
.nu-wiki h1::after, .nu-wiki h2::after{ transform:scaleX(-1); }
.nu-wiki h1:first-child, .nu-wiki h2:first-child{ margin-top:0; }

/* imagens ilustrativas (screenshots de npc, mapa, etc.) */
.nu-wiki img{
  max-width:100%; height:auto; vertical-align:middle;
  image-rendering:pixelated;
}
.nu-wiki p img,
.nu-wiki > center > img,
.nu-wiki div[align="center"] img{
  image-rendering:auto; border-radius:10px;
  border:1px solid var(--nu-border);
  box-shadow:0 10px 26px rgba(0,0,0,.5);
}

/* ---------- REGRAS ---------- */
/* índice de seções */
.nu-rules-index{
  display:flex; flex-wrap:wrap; gap:8px; justify-content:center;
  max-width:900px; margin:0 auto 26px;
}
.nu-rules-index a{
  display:inline-flex; align-items:center; gap:9px;
  padding:8px 16px; border-radius:99px;
  border:1px solid var(--nu-border); background:#0e0a08;
  font-family:'Oswald',sans-serif; font-size:12.5px; font-weight:600;
  letter-spacing:1.2px; text-transform:uppercase;
  color:var(--nu-muted) !important; transition:all .16s;
}
.nu-rules-index a:hover{
  color:#fff !important; border-color:var(--nu-orange);
  background:linear-gradient(180deg,rgba(242,115,30,.28),rgba(201,78,18,.10));
}
.nu-rules-index a span{
  width:20px; height:20px; flex:0 0 auto; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:var(--nu-orange-deep); color:#fff; font-size:11px;
}

/* seções */
.nu-rules-list{ max-width:900px; margin:0 auto; }
.nu-rule{
  background:linear-gradient(180deg,var(--nu-panel-a),var(--nu-panel-b));
  border:1px solid var(--nu-border); border-radius:10px;
  margin-bottom:16px; overflow:hidden;
  box-shadow:0 8px 22px rgba(0,0,0,.45);
  scroll-margin-top:20px;
}
.nu-rule > h3{
  margin:0; padding:14px 20px;
  display:flex; align-items:center; gap:13px;
  font-family:'Oswald',sans-serif; font-weight:600; font-size:15px;
  letter-spacing:1.8px; text-transform:uppercase; color:#fff;
  background:linear-gradient(180deg,var(--nu-orange-deep),#7d2f0e);
  border-bottom:1px solid rgba(0,0,0,.4);
}
.nu-rule-num{
  width:26px; height:26px; flex:0 0 auto; border-radius:6px;
  display:flex; align-items:center; justify-content:center;
  background:rgba(0,0,0,.32); font-size:14px;
}
.nu-rule ul{ list-style:none; margin:0; padding:6px 0; }
.nu-rule li{
  display:flex; align-items:flex-start; gap:13px;
  padding:11px 20px; text-align:left;
  color:#c6bdb6; font-size:14px; line-height:1.65;
  border-bottom:1px solid rgba(255,255,255,.05);
}
.nu-rule li:last-child{ border-bottom:0; }
.nu-rule li:hover{ background:rgba(242,115,30,.05); }
.nu-rule li > b{
  width:22px; height:22px; flex:0 0 auto; margin-top:1px;
  display:flex; align-items:center; justify-content:center;
  border:1px solid var(--nu-border); border-radius:5px; background:#0b0806;
  font-family:'Oswald',sans-serif; font-size:12px; color:var(--nu-orange);
}

/* lista de comandos (War System) */
.nu-cmd-list{
  max-width:900px; margin:0 auto 26px; text-align:left;
  border:1px solid var(--nu-border); border-radius:10px; overflow:hidden;
  background:linear-gradient(180deg,var(--nu-panel-a),var(--nu-panel-b));
  box-shadow:0 8px 22px rgba(0,0,0,.45);
}
.nu-cmd-list span{
  display:flex; align-items:baseline; gap:14px; flex-wrap:wrap;
  padding:11px 18px; font-size:13.5px; color:#b8aea7;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.nu-cmd-list span:last-child{ border-bottom:0; }
.nu-cmd-list span:nth-child(even){ background:rgba(255,255,255,.022); }
.nu-cmd-list code{
  flex:0 0 auto; font-family:Consolas,Monaco,monospace; font-size:12.5px;
  color:var(--nu-orange); background:#0b0806; padding:4px 10px;
  border:1px solid var(--nu-border); border-radius:5px; white-space:nowrap;
}

/* tabelas: assume o visual padrão do tema, ignorando bgcolor/border inline */
.nu-wiki table{
  width:100% !important; max-width:960px; margin:0 auto 26px;
  border-collapse:separate; border-spacing:0;
  background:linear-gradient(180deg,var(--nu-panel-a),var(--nu-panel-b)) !important;
  border:1px solid var(--nu-border) !important; border-radius:10px;
  overflow:hidden; box-shadow:0 8px 22px rgba(0,0,0,.45);
  font-size:14px;
}
.nu-wiki table td,
.nu-wiki table th{
  background:transparent !important; color:var(--nu-text) !important;
  border:0 !important; border-bottom:1px solid rgba(255,255,255,.06) !important;
  padding:11px 14px !important; text-align:center; vertical-align:middle;
  width:auto !important; font-weight:400;
}
/* primeira linha = cabeçalho */
.nu-wiki table tr:first-child td,
.nu-wiki table tr:first-child th{
  background:linear-gradient(180deg,var(--nu-orange-deep),#7d2f0e) !important;
  color:#fff !important;
  font-family:'Oswald',sans-serif; font-weight:600; font-size:12.5px;
  letter-spacing:1.5px; text-transform:uppercase;
  border-bottom:1px solid rgba(0,0,0,.4) !important;
}
.nu-wiki table tr:first-child td *,
.nu-wiki table tr:first-child th *{ color:#fff !important; font-size:inherit !important; }
.nu-wiki table tr:nth-child(even):not(:first-child){ background:rgba(255,255,255,.022); }
.nu-wiki table tr:hover:not(:first-child){ background:rgba(242,115,30,.08); }
.nu-wiki table tr:last-child td,
.nu-wiki table tr:last-child th{ border-bottom:0 !important; }
/* sprites de item dentro das tabelas ficam com moldura discreta */
.nu-wiki table img{
  border-radius:6px; background:#0b0806;
  border:1px solid rgba(255,255,255,.07); padding:3px; margin:2px;
}

/* ============================================================
   QUEM ESTÁ ONLINE
   ============================================================ */
.nu-online-bar{
  display:flex; align-items:center; gap:22px; flex-wrap:wrap;
  background:linear-gradient(180deg,var(--nu-panel-a),var(--nu-panel-b));
  border:1px solid var(--nu-border); border-radius:10px;
  padding:18px 24px; margin-bottom:22px;
  box-shadow:0 8px 22px rgba(0,0,0,.45);
}
.nu-online-state{
  display:flex; align-items:center; gap:11px; flex:0 0 auto;
  font-family:'Oswald',sans-serif; font-weight:700; font-size:20px;
  letter-spacing:2.5px; text-transform:uppercase;
}
.nu-online-state.on{ color:var(--nu-green); }
.nu-online-state.off{ color:#d0483c; }
.nu-online-state.off .nu-dot{
  background:radial-gradient(circle at 35% 30%,#ff9b93,#c0392b);
  box-shadow:0 0 10px #c0392b;
}
.nu-online-state.off .nu-dot::after{ border-color:#c0392b; animation:none; opacity:.35; }

.nu-online-info{ color:var(--nu-muted); font-size:14px; flex:1 1 220px; }
.nu-online-nums{ display:flex; gap:10px; flex-wrap:wrap; margin-left:auto; }
.nu-online-nums span{
  display:inline-flex; align-items:baseline; gap:7px;
  font-family:'Oswald',sans-serif; font-size:13px; letter-spacing:1.2px;
  text-transform:uppercase; color:var(--nu-muted);
  border:1px solid var(--nu-border); border-radius:99px;
  padding:6px 16px; background:#0e0a08;
}
.nu-online-nums b{ color:var(--nu-orange); font-size:17px; }

/* atalhos de ordenação no cabeçalho do bloco */
.nu-sort{
  margin-left:auto; display:flex; align-items:center; gap:10px;
  font-family:'Segoe UI',Roboto,Arial,sans-serif; font-size:12px;
  letter-spacing:0; text-transform:none; color:rgba(255,255,255,.65);
}
.nu-sort a{
  color:#fff !important; border-bottom:1px dotted rgba(255,255,255,.5);
  padding-bottom:1px;
}
.nu-sort a:hover{ border-bottom-color:#fff; }

table.nu-table th a{ color:#fff !important; }
table.nu-table th a:hover{ color:var(--nu-orange-2) !important; }
td.nu-flag img{ display:block; border-radius:2px; }
td.nu-outfit{ height:56px; }
td.nu-outfit img{ max-width:56px; max-height:56px; image-rendering:pixelated; display:block; }

.nu-skull-legend{
  display:flex; flex-wrap:wrap; gap:10px 26px; justify-content:center;
  background:linear-gradient(180deg,var(--nu-panel-a),var(--nu-panel-b));
  border:1px solid var(--nu-border); border-radius:10px;
  padding:14px 20px; margin-bottom:22px;
  color:var(--nu-muted); font-size:13px;
}
.nu-skull-legend span{ display:inline-flex; align-items:center; gap:8px; }

/* ============================================================
   GUILDS
   ============================================================ */
.nu-guilds{ display:grid; grid-template-columns:repeat(auto-fill,minmax(340px,1fr)); gap:16px; }
.nu-guild{
  display:flex; gap:16px; align-items:flex-start;
  background:linear-gradient(180deg,var(--nu-panel-a),var(--nu-panel-b));
  border:1px solid var(--nu-border); border-radius:10px; padding:16px;
  box-shadow:0 8px 20px rgba(0,0,0,.42);
  transition:border-color .18s, transform .18s;
}
.nu-guild:hover{ border-color:var(--nu-orange); transform:translateY(-3px); }
.nu-guild-logo{
  flex:0 0 auto; width:64px; height:64px; border-radius:8px; object-fit:cover;
  border:1px solid var(--nu-border); background:#0b0806;
}
.nu-guild-info{ flex:1 1 auto; min-width:0; }
.nu-guild-name{
  font-family:'Oswald',sans-serif; font-weight:700; text-transform:uppercase;
  letter-spacing:.5px; font-size:17px; color:var(--nu-orange); margin:0 0 5px;
}
.nu-guild-desc{
  color:#a89e97; font-size:13.5px; line-height:1.5; margin:0 0 12px;
  overflow-wrap:anywhere;
}
.nu-guild-del{ font-size:12px; color:#ff8b84 !important; margin-left:8px; }
.nu-guild-actions form{ display:inline; }

/* ---- página de uma guild ---- */
.nu-guild-hero{
  display:flex; align-items:center; gap:20px; justify-content:center;
  background:linear-gradient(180deg,var(--nu-panel-a),var(--nu-panel-b));
  border:1px solid var(--nu-border); border-radius:10px;
  padding:22px; margin-bottom:20px; text-align:center;
  box-shadow:0 8px 22px rgba(0,0,0,.45);
}
.nu-guild-hero img{
  width:72px; height:72px; border-radius:10px; object-fit:cover;
  border:1px solid var(--nu-border); background:#0b0806; flex:0 0 auto;
}
.nu-guild-hero h1{
  margin:0; font-family:'Oswald',sans-serif; font-weight:700;
  text-transform:uppercase; letter-spacing:3px; font-size:26px;
  color:var(--nu-orange); text-shadow:0 0 18px rgba(242,115,30,.3);
}
.nu-guild-about{ padding:20px; color:#c6bdb6; font-size:14px; line-height:1.6; }
.nu-guild-about p{ margin:0 0 10px; }
.nu-guild-about p:last-child{ margin-bottom:0; }
.nu-guild-about a{ color:var(--nu-orange); }
.nu-actions{
  display:flex; flex-wrap:wrap; gap:10px; justify-content:center;
  margin-top:22px;
}
.nu-actions form{ margin:0; }
.nu-nick-form{ display:inline-flex; align-items:center; gap:6px; margin:0; }
.nu-nick-form input[type=text]{
  padding:5px 9px; font-size:13px; width:130px;
  background:#0b0806; color:var(--nu-text);
  border:1px solid var(--nu-border); border-radius:5px; outline:none;
}
.nu-nick-form input[type=text]:focus{ border-color:var(--nu-orange); }
.nu-kick{ font-size:11px; color:#ff8b84 !important; float:right; }

/* ============================================================
   FICHA DO PERSONAGEM
   ============================================================ */
.nu-char-hero{
  display:flex; align-items:center; gap:22px; flex-wrap:wrap;
  background:linear-gradient(180deg,var(--nu-panel-a),var(--nu-panel-b));
  border:1px solid var(--nu-border); border-radius:10px;
  padding:22px 26px; margin-bottom:20px;
  box-shadow:0 8px 22px rgba(0,0,0,.45);
}
.nu-char-outfit{
  width:110px; height:110px; flex:0 0 auto;
  display:flex; align-items:center; justify-content:center;
  border:1px solid var(--nu-border); border-radius:10px;
  background:radial-gradient(circle at 50% 40%, rgba(242,115,30,.18), transparent 70%), #0b0806;
}
.nu-char-outfit img{ max-width:96px; max-height:96px; image-rendering:pixelated; }
.nu-char-id{ flex:1 1 240px; min-width:0; }
.nu-char-id h1{
  margin:0 0 6px; font-family:'Oswald',sans-serif; font-weight:700;
  text-transform:uppercase; letter-spacing:2px; font-size:26px; color:var(--nu-orange);
  text-shadow:0 0 18px rgba(242,115,30,.3); overflow-wrap:anywhere;
}
.nu-char-sub{ color:#a89e97; font-size:14px; }
.nu-char-badges{ display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.nu-badge{
  display:inline-flex; align-items:center; gap:7px;
  font-family:'Oswald',sans-serif; font-size:12px; font-weight:600;
  letter-spacing:1px; text-transform:uppercase;
  padding:5px 13px; border-radius:99px;
  border:1px solid var(--nu-border); background:#0e0a08; color:#d3cac3;
}
.nu-badge.on{ border-color:rgba(75,209,98,.6); color:var(--nu-green); }
.nu-badge.off{ border-color:rgba(224,65,58,.5); color:#ff8b84; }
.nu-badge.gold{ border-color:var(--nu-orange); color:var(--nu-orange); }

/* grade de atributos */
.nu-stats{
  display:grid; grid-template-columns:repeat(auto-fill,minmax(190px,1fr)); gap:1px;
  background:rgba(255,255,255,.06);
}
.nu-stat{ background:var(--nu-panel-b); padding:13px 16px; }
.nu-stat dt{
  font-family:'Oswald',sans-serif; font-size:11px; font-weight:600;
  letter-spacing:1.4px; text-transform:uppercase; color:var(--nu-muted); margin:0 0 4px;
}
.nu-stat dd{ margin:0; font-size:15px; color:var(--nu-text); overflow-wrap:anywhere; }

/* skills */
.nu-skills{
  display:grid; grid-template-columns:repeat(auto-fill,minmax(96px,1fr)); gap:12px; padding:18px;
}
.nu-skill{
  display:flex; flex-direction:column; align-items:center; gap:7px;
  background:#0e0a08; border:1px solid var(--nu-border); border-radius:8px;
  padding:12px 8px; transition:border-color .16s;
}
.nu-skill:hover{ border-color:var(--nu-orange); }
.nu-skill img{ width:32px; height:32px; object-fit:contain; image-rendering:pixelated; }
.nu-skill-name{ font-size:10.5px; color:var(--nu-muted); text-transform:capitalize; text-align:center; }
.nu-skill-value{
  font-family:'Oswald',sans-serif; font-weight:700; font-size:18px; color:var(--nu-orange);
}

/* inventário (paperdoll) — regras vinham do default.css, que o tema não carrega */
.nu-inv-wrap{ display:flex; justify-content:center; padding:18px; }
.inventario{
  background:url(imagens/Avatar.png) no-repeat center top;
  background-size:contain;
  width:350px; height:400px; position:relative;
}
.inventario > div{ position:absolute; width:34px; height:34px; }
.inventario img{ max-width:32px; max-height:32px; image-rendering:pixelated; }
.inventario .helmet-inv{ left:158px; top:16px; }
.inventario .amulet    { left:110px; top:60px; }
.inventario .backpack  { left:206px; top:60px; }
.inventario .armor-inv { left:158px; top:60px; }
.inventario .arma      { left:110px; top:104px; }
.inventario .shield    { left:206px; top:104px; }
.inventario .legs      { left:158px; top:104px; }
.inventario .boots     { left:158px; top:148px; }
.inventario .ring      { left:110px; top:148px; }
.inventario .ring-dir  { left:206px; top:148px; }

/* achievements */
.nu-quests{ display:flex; flex-wrap:wrap; gap:12px; padding:18px; }
.tooltip{ position:relative; display:inline-block; }
.tooltip img{ width:90px; border-radius:8px; border:1px solid var(--nu-border); background:#0e0a08; }
.tooltip .tooltiptext{
  visibility:hidden; opacity:0; transition:opacity .25s;
  position:absolute; z-index:5; bottom:112%; left:50%; transform:translateX(-50%);
  min-width:120px; padding:6px 10px; border-radius:6px;
  background:#1b1512; border:1px solid var(--nu-border-lite);
  color:#fff; font-size:12px; text-align:center; white-space:nowrap;
}
.tooltip .tooltiptext::after{
  content:""; position:absolute; top:100%; left:50%; margin-left:-5px;
  border-width:5px; border-style:solid;
  border-color:var(--nu-border-lite) transparent transparent transparent;
}
.tooltip:hover .tooltiptext{ visibility:visible; opacity:1; }

/* ============================================================
   DOAÇÕES / COMPRAR PONTOS  (pages/points.php)
   ============================================================ */
.nu-donate-rules{
  background:linear-gradient(180deg,var(--nu-panel-a),var(--nu-panel-b));
  border:1px solid var(--nu-border); border-radius:10px;
  padding:22px 26px; margin-bottom:24px;
  box-shadow:0 8px 22px rgba(0,0,0,.45);
}
.nu-donate-rules h3{
  margin:0 0 14px; font-family:'Oswald',sans-serif; font-weight:600;
  font-size:14px; letter-spacing:2px; text-transform:uppercase; color:var(--nu-orange);
  display:flex; align-items:center; gap:10px;
}
.nu-donate-rules ul{ margin:0; padding-left:20px; color:#b8aea7; font-size:14px; line-height:1.7; }
.nu-donate-rules li{ margin:5px 0; }
.nu-donate-rules a{ color:var(--nu-orange); }

.nu-pay-grid{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:18px; max-width:560px; margin:0 auto;
}
.nu-pay{
  display:flex; flex-direction:column; align-items:center; gap:12px;
  background:linear-gradient(180deg,var(--nu-panel-a),var(--nu-panel-b));
  border:1px solid var(--nu-border); border-radius:10px;
  padding:24px 18px; text-align:center;
  box-shadow:0 8px 20px rgba(0,0,0,.42);
  transition:border-color .18s, transform .18s, box-shadow .18s;
}
.nu-pay:hover{
  border-color:var(--nu-orange); transform:translateY(-4px);
  box-shadow:0 14px 28px rgba(0,0,0,.5), 0 0 0 1px rgba(242,115,30,.25);
}
.nu-pay img{
  width:76px; height:76px; border-radius:50%; object-fit:contain;
  background:#fff; padding:8px; border:1px solid var(--nu-border);
  transition:transform .18s;
}
.nu-pay:hover img{ transform:scale(1.06); }
.nu-pay-name{
  font-family:'Oswald',sans-serif; font-weight:700; text-transform:uppercase;
  letter-spacing:1.5px; font-size:16px; color:#fff;
}
.nu-pay-desc{ color:var(--nu-muted); font-size:13px; margin:-4px 0 0; }

.nu-hint{
  text-align:center; color:var(--nu-muted); font-size:13.5px;
  margin-top:26px; padding-top:18px; border-top:1px solid rgba(255,255,255,.07);
}
.nu-hint form{ display:inline-block; margin:10px 0; }
.nu-hint a{ color:var(--nu-orange); }

/* ============================================================
   SHOP (gesior-shop-system)
   ============================================================ */
.nu-shop-head{ text-align:center; margin-bottom:22px; }
.nu-shop-head h2{
  font-family:'Oswald',sans-serif; font-weight:700; text-transform:uppercase;
  letter-spacing:4px; font-size:26px; color:var(--nu-orange); margin:0 0 8px;
  text-shadow:0 0 18px rgba(242,115,30,.35);
}
.nu-shop-points{
  display:inline-flex; align-items:center; gap:9px;
  font-size:14px; color:#d3cac3;
  border:1px solid var(--nu-border); border-radius:99px; padding:7px 18px;
  background:#0e0a08;
}
.nu-shop-points i{ color:var(--nu-orange); }
.nu-shop-points b{ color:var(--nu-green); }

.nu-shop-tabs{ display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin:22px 0 18px; }
.nu-shop-tab{
  font-family:'Oswald',sans-serif; font-size:14px; font-weight:600;
  letter-spacing:1.5px; text-transform:uppercase;
  padding:9px 22px; border-radius:6px;
  color:var(--nu-muted) !important; border:1px solid var(--nu-border);
  background:linear-gradient(180deg,#1c1512,#0e0a08); transition:all .16s;
}
.nu-shop-tab:hover{ color:#fff !important; border-color:var(--nu-border-lite); }
.nu-shop-tab.active{
  color:#fff !important; border-color:var(--nu-orange);
  background:linear-gradient(180deg,var(--nu-orange),var(--nu-orange-deep));
  box-shadow:0 6px 16px rgba(242,115,30,.3);
}

.nu-shop-search{ position:relative; max-width:320px; margin:0 auto 26px; }
.nu-shop-search i{
  position:absolute; left:14px; top:50%; transform:translateY(-50%);
  color:var(--nu-muted); font-size:14px; pointer-events:none;
}
.nu-shop-search input{
  width:100%; padding:11px 14px 11px 40px;
  background:#0b0806; color:var(--nu-text);
  border:1px solid var(--nu-border); border-radius:6px;
  font-family:inherit; font-size:14px; outline:none; transition:all .16s;
}
.nu-shop-search input:focus{
  border-color:var(--nu-orange); box-shadow:0 0 0 3px rgba(242,115,30,.16);
}

.nu-shop-grid{
  display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:14px;
}
.nu-offer{
  position:relative; display:flex; flex-direction:column; align-items:center;
  background:linear-gradient(180deg,var(--nu-panel-a),var(--nu-panel-b));
  border:1px solid var(--nu-border); border-radius:10px;
  padding:16px 12px 14px; text-align:center;
  box-shadow:0 6px 16px rgba(0,0,0,.4);
  transition:border-color .18s, transform .18s, box-shadow .18s;
}
.nu-offer:hover{
  border-color:var(--nu-orange); transform:translateY(-4px);
  box-shadow:0 12px 24px rgba(0,0,0,.5), 0 0 0 1px rgba(242,115,30,.25);
}
.nu-offer-img{
  width:48px; height:48px; object-fit:contain; image-rendering:pixelated;
  margin-bottom:10px; filter:drop-shadow(0 3px 6px rgba(0,0,0,.6));
}
.nu-offer-name{
  font-family:'Oswald',sans-serif; font-weight:600; font-size:13px;
  letter-spacing:.4px; color:#fff; line-height:1.25; margin-bottom:8px;
  min-height:32px; display:flex; align-items:center;
}
.nu-offer-points{
  display:inline-flex; align-items:center; gap:6px;
  font-family:'Oswald',sans-serif; font-size:15px; font-weight:700;
  color:var(--nu-orange); margin-bottom:12px;
}
.nu-offer-points i{ font-size:12px; }
.nu-offer-actions{ margin-top:auto; display:flex; align-items:center; gap:8px; }
.nu-offer-buy{
  padding:7px 18px; border-radius:6px; border:1px solid var(--nu-orange);
  font-family:'Oswald',sans-serif; font-size:12px; font-weight:600;
  letter-spacing:1.2px; text-transform:uppercase; cursor:pointer;
  color:var(--nu-orange); background:linear-gradient(180deg,#241a14,#0f0a08);
  transition:all .16s;
}
.nu-offer-buy:hover{
  color:#fff; background:linear-gradient(180deg,var(--nu-orange),var(--nu-orange-deep));
  box-shadow:0 5px 14px rgba(242,115,30,.35);
}
.nu-offer-info{
  width:28px; height:28px; flex:0 0 auto; cursor:pointer;
  border-radius:50%; border:1px solid var(--nu-border); background:#0e0a08;
  color:var(--nu-muted); font-size:12px; transition:all .16s;
}
.nu-offer-info:hover{ color:#fff; border-color:var(--nu-orange); }
.nu-offer-desc{ display:none; }

.nu-shop-empty{
  grid-column:1 / -1; text-align:center; color:var(--nu-muted);
  padding:40px 20px; border:1px dashed var(--nu-border); border-radius:10px;
}
.nu-shop-empty h3{
  font-family:'Oswald',sans-serif; text-transform:uppercase; letter-spacing:2px;
  color:#d3cac3; margin:0 0 6px; font-size:16px;
}
.nu-credits{ text-align:center; color:#6b625c; font-size:12px; margin-top:22px; }

/* ============================================================
   BUSCA DE PERSONAGEM
   ============================================================ */
.nu-search{
  display:flex; gap:10px; align-items:center; justify-content:center;
  flex-wrap:wrap; max-width:560px; margin:0 auto;
}
.nu-search .nu-input-wrap{ position:relative; flex:1 1 260px; }
.nu-search .nu-input-wrap i{
  position:absolute; left:14px; top:50%; transform:translateY(-50%);
  color:var(--nu-muted); font-size:14px; pointer-events:none;
}
.nu-search input[type=text]{
  width:100%; padding:11px 14px 11px 40px;
  background:#0b0806; color:var(--nu-text);
  border:1px solid var(--nu-border); border-radius:6px;
  font-family:inherit; font-size:15px; outline:none; transition:all .16s;
}
.nu-search input[type=text]:focus{
  border-color:var(--nu-orange); box-shadow:0 0 0 3px rgba(242,115,30,.16);
}

/* ---------- responsivo ---------- */
@media (max-width:1200px){
  .nu-char{ display:none; }
  .nu-news-row{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:860px){
  .nu-orn{ display:none; }
  .nu-kage, .nu-topguild{ width:44%; }
}
@media (max-width:560px){
  .nu-news-row{ grid-template-columns:1fr; }
  .nu-status-state{ font-size:26px; }
  .nu-kage, .nu-topguild{ width:46%; }
  .nu-auth-body{ padding:16px 18px 22px; }
  .nu-auth-links{ justify-content:center; }
}

/* ============================================================
   PAINEL DA CONTA — ?subtopic=accountmanagement
   Renderiza dentro de .nu-panel, por isso vários seletores precisam
   sobrescrever as regras genéricas de tabela/link daquele contêiner.
   ============================================================ */
.nu-acc{ max-width:1000px; margin:0 auto; }

/* ---------- cabeçalho ---------- */
.nu-acc-hero{
  display:flex; align-items:center; justify-content:space-between;
  gap:20px; flex-wrap:wrap; margin-bottom:22px;
  padding:20px 22px; border-radius:8px;
  background:
    radial-gradient(120% 160% at 0% 0%, rgba(242,115,30,.16), transparent 60%),
    linear-gradient(180deg,var(--nu-panel-a),var(--nu-panel-b));
  border:1px solid var(--nu-border);
}
.nu-acc-hero-id{ display:flex; align-items:center; gap:16px; }
.nu-acc-avatar{
  width:56px; height:56px; flex:0 0 auto;
  display:grid; place-items:center; border-radius:50%;
  background:linear-gradient(180deg,var(--nu-orange),var(--nu-orange-deep));
  color:#1a0e07; font-size:24px;
  box-shadow:0 6px 18px rgba(242,115,30,.35);
}
.nu-acc-hello{
  display:block; font-size:12px; letter-spacing:2px; text-transform:uppercase;
  color:var(--nu-muted); margin-bottom:2px;
}
.nu-panel h1.nu-acc-name{
  /* sem o text-transform herdado de .nu-panel h1: o nome da conta é o login
     do jogador e precisa aparecer com a grafia exata que ele digita */
  margin:0; font-size:27px; letter-spacing:1.5px; color:#fff;
  text-transform:none;
}
.nu-acc-badges{ display:flex; gap:10px; flex-wrap:wrap; }
.nu-acc-badge{
  display:inline-flex; align-items:center; gap:8px;
  padding:8px 15px; border-radius:999px;
  font-family:'Oswald',sans-serif; font-size:13px; font-weight:600;
  letter-spacing:1px; text-transform:uppercase;
  border:1px solid var(--nu-border); background:rgba(0,0,0,.3); color:#cdbfb4;
}
.nu-acc-badge.vip{ border-color:#c9a227; color:#ffd766; background:rgba(201,162,39,.12); }
.nu-acc-badge.pts{ border-color:var(--nu-orange); color:var(--nu-orange-2); background:rgba(242,115,30,.12); }

/* ---------- avisos ---------- */
.nu-acc-alert{
  display:flex; align-items:center; gap:14px; flex-wrap:wrap;
  padding:14px 18px; margin-bottom:18px; border-radius:6px;
  border:1px solid var(--nu-border); background:var(--nu-panel-c);
  border-left-width:3px;
}
.nu-acc-alert > div{ flex:1 1 260px; display:flex; flex-direction:column; gap:3px; }
.nu-acc-alert span{ color:var(--nu-muted); font-size:13px; }
.nu-acc-alert > i{ font-size:19px; }
.nu-acc-alert.warn{ border-left-color:var(--nu-orange); }
.nu-acc-alert.warn > i{ color:var(--nu-orange); }
.nu-acc-alert.info{ border-left-color:#4a90d9; }
.nu-acc-alert.info > i{ color:#4a90d9; }
.nu-acc-alert.danger{ border-left-color:#c0392b; }
.nu-acc-alert.danger > i{ color:#e05a4b; }

/* ---------- cards ---------- */
.nu-acc-grid{
  display:grid; grid-template-columns:1.35fr 1fr; gap:18px; margin-bottom:18px;
  align-items:start;
}
.nu-card{
  background:linear-gradient(180deg,var(--nu-panel-a),var(--nu-panel-b));
  border:1px solid var(--nu-border); border-radius:8px;
  padding:18px 20px 20px; margin-bottom:18px;
}
.nu-acc-grid .nu-card{ margin-bottom:0; height:100%; }
.nu-panel h2.nu-card-head{
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
  margin:0 0 16px; padding-bottom:12px;
  border-bottom:1px solid rgba(255,255,255,.07);
  font-size:16px; letter-spacing:2px;
}
.nu-card-head i{ color:var(--nu-orange); }
.nu-card-count{
  font-size:12px; padding:2px 9px; border-radius:999px;
  background:rgba(242,115,30,.15); color:var(--nu-orange-2);
  border:1px solid rgba(242,115,30,.3);
}
.nu-card-head .head-btn{ margin-left:auto; }

/* ---------- lista de informações ---------- */
.nu-acc-info{ margin:0; display:grid; grid-template-columns:auto 1fr; gap:0; }
.nu-acc-info dt, .nu-acc-info dd{
  margin:0; padding:9px 0; border-bottom:1px solid rgba(255,255,255,.05);
}
.nu-acc-info dt{
  font-family:'Oswald',sans-serif; font-size:12px; letter-spacing:1.3px;
  text-transform:uppercase; color:var(--nu-muted); padding-right:22px;
  white-space:nowrap;
}
.nu-acc-info dd{ color:var(--nu-text); word-break:break-word; }
.nu-acc-info dt:last-of-type, .nu-acc-info dd:last-of-type{ border-bottom:0; }

.nu-acc-tag{
  display:inline-block; padding:2px 10px; border-radius:3px;
  font-size:12px; font-weight:600; letter-spacing:.6px;
}
.nu-acc-tag.ok { background:rgba(75,209,98,.14);  color:var(--nu-green); border:1px solid rgba(75,209,98,.3); }
.nu-acc-tag.off{ background:rgba(255,255,255,.06); color:#b3a9a2;        border:1px solid var(--nu-border); }
.nu-acc-tag.bad{ background:rgba(192,57,43,.14);  color:#e05a4b;         border:1px solid rgba(192,57,43,.35); }
.nu-panel a.nu-acc-inline-link{ font-size:12px; margin-left:6px; }

/* ---------- botões ---------- */
.nu-acc-actions{ display:flex; flex-wrap:wrap; gap:10px; }
.nu-acc-actions.char-actions{
  margin-top:18px; padding-top:16px; border-top:1px solid rgba(255,255,255,.07);
}
.nu-panel a.nu-acc-btn{
  display:inline-flex; align-items:center; gap:9px;
  padding:10px 17px; border-radius:4px; text-decoration:none;
  font-family:'Oswald',sans-serif; font-size:13px; font-weight:600;
  letter-spacing:1.2px; text-transform:uppercase;
  color:#cdbfb4; background:linear-gradient(180deg,#241a14,#0f0a08);
  border:1px solid var(--nu-border);
  transition:all .18s ease;
}
.nu-panel a.nu-acc-btn:hover{
  color:#fff; border-color:var(--nu-orange); transform:translateY(-1px);
}
.nu-panel a.nu-acc-btn i{ font-size:13px; }
.nu-panel a.nu-acc-btn.primary{
  color:#fff; border-color:var(--nu-orange);
  background:linear-gradient(180deg,var(--nu-orange),var(--nu-orange-deep));
  box-shadow:0 5px 14px rgba(242,115,30,.3);
}
.nu-panel a.nu-acc-btn.primary:hover{ filter:brightness(1.1); }
.nu-panel a.nu-acc-btn.danger{ color:#d98a80; }
.nu-panel a.nu-acc-btn.danger:hover{ color:#fff; border-color:#c0392b; background:linear-gradient(180deg,#8c2b22,#5c1c16); }

/* ---------- personagens ---------- */
.nu-acc-chars{ display:grid; grid-template-columns:repeat(auto-fill,minmax(258px,1fr)); gap:12px; }
.nu-acc-char{
  display:flex; align-items:center; gap:13px; padding:12px 14px;
  border:1px solid var(--nu-border); border-radius:6px;
  background:var(--nu-panel-c); transition:border-color .18s ease;
}
.nu-acc-char:hover{ border-color:var(--nu-orange); }
.nu-acc-char.is-online{ border-color:rgba(75,209,98,.4); }
.nu-acc-char-av{
  width:46px; height:46px; flex:0 0 auto; display:grid; place-items:center;
  border:1px solid var(--nu-border); border-radius:5px;
  background:rgba(0,0,0,.35); color:#5a4f47;
}
.nu-acc-char-av img{ max-width:100%; max-height:100%; object-fit:contain; }
.nu-acc-char-info{ display:flex; flex-direction:column; gap:2px; min-width:0; flex:1; }
.nu-panel a.nu-acc-char-name{
  font-family:'Oswald',sans-serif; font-weight:600; font-size:16px;
  color:#fff; text-decoration:none;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.nu-panel a.nu-acc-char-name:hover{ color:var(--nu-orange); }
.nu-acc-char-meta{ font-size:12px; color:var(--nu-muted); display:flex; align-items:center; gap:6px; }
.nu-acc-dot{ width:7px; height:7px; border-radius:50%; flex:0 0 auto; }
.nu-acc-dot.on { background:var(--nu-green); box-shadow:0 0 7px var(--nu-green); }
.nu-acc-dot.off{ background:#5a4f47; }
.nu-panel a.nu-acc-char-edit{
  flex:0 0 auto; width:30px; height:30px; display:grid; place-items:center;
  border:1px solid var(--nu-border); border-radius:4px;
  color:var(--nu-muted); font-size:12px; text-decoration:none;
  transition:all .18s ease;
}
.nu-panel a.nu-acc-char-edit:hover{ color:#fff; border-color:var(--nu-orange); background:rgba(242,115,30,.15); }

.nu-acc-empty{ text-align:center; color:var(--nu-muted); padding:26px 10px; }

/* ---------- log ---------- */
.nu-acc-log{ list-style:none; margin:0; padding:0; }
.nu-acc-log li{
  display:flex; align-items:baseline; gap:14px; flex-wrap:wrap;
  padding:9px 0; border-bottom:1px solid rgba(255,255,255,.05); font-size:13px;
}
.nu-acc-log li:last-child{ border-bottom:0; }
.nu-acc-log-date{ color:var(--nu-orange); font-family:'Oswald',sans-serif; letter-spacing:.6px; white-space:nowrap; }
.nu-acc-log-text{ flex:1 1 220px; color:var(--nu-text); }
.nu-acc-log-ip{ color:#6d635c; font-size:12px; white-space:nowrap; }

@media (max-width:860px){
  .nu-acc-grid{ grid-template-columns:1fr; }
  .nu-acc-hero{ flex-direction:column; align-items:flex-start; }
  .nu-card-head .head-btn{ margin-left:0; width:100%; justify-content:center; }
}
@media (max-width:560px){
  .nu-acc-info{ grid-template-columns:1fr; }
  .nu-acc-info dt{ padding-bottom:0; border-bottom:0; }
  .nu-acc-info dd{ padding-top:2px; }
  .nu-acc-actions .nu-acc-btn{ flex:1 1 100%; justify-content:center; }
}
