/* Arena ilustrada: identidade azul/vermelho e informações nos personagens. */
#pvponArenaBox:has(.nr-room-body), #pvponArenaBox:has(.nr-battle-body) { width:min(1560px,98vw); max-width:98vw; height:auto; max-height:96svh; background:#0c1929; border:1px solid #cba765; box-shadow:0 20px 90px #000b; }
#pvponArenaBox:has(.nr-room-body)>.pvpon-modal-header, #pvponArenaBox:has(.nr-battle-body)>.pvpon-modal-header { background:#0d1c2c; min-height:30px; padding:5px 14px; border-bottom:1px solid #947b4d; }
#pvponArenaBox:has(.nr-room-body) #pvponArenaTitulo, #pvponArenaBox:has(.nr-battle-body) #pvponArenaTitulo { color:#e8d3a4; font-size:12px; }
#pvponSalaModal.nr-room-body, #pvponSalaModal.nr-battle-body { padding:0; display:block; overflow:auto; color:#fff1d3; background:#0c1929; }
.nr-room { background:linear-gradient(#13203330,#09152520 55%,#091525d9),url('../img/arena_pvp/vale-fim-redesign.png') center/cover; padding:16px 20px 0; }
.nr-room-heading { text-align:center; text-shadow:0 2px 8px #000; padding-bottom:20px; }
.nr-room-heading h1 { font:52px/1 Bangers,Impact,sans-serif; color:#ffde9d; letter-spacing:2px; margin:4px; }
.nr-room-heading p { color:#fff3d3; font-size:14px; font-weight:800; margin:8px; }
.nr-room .nr-room-teams, .nr-room-teams { display:grid; grid-template-columns:minmax(0,1fr) 70px minmax(0,1fr); align-items:center; gap:12px; }
.nr-room .nr-room-team { display:block; }
.nr-room-team { --team:#49a6ff; --team-rgb:30,92,156; min-width:0; }
.nr-room-team.red { --team:#ff6562; --team-rgb:139,42,47; }
.nr-room-team h2 { font:30px Bangers,Impact,sans-serif; text-align:center; color:var(--team); border-top:2px solid var(--team); background:linear-gradient(90deg,transparent,#071321e8,transparent); margin:0 0 10px; padding:10px; letter-spacing:2px; }
.nr-room-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
/* 1v1: um boneco so, entao o card e o titulo ficam grandes e os dois times encostam ao VS central. */
.nr-room.nr-mode-1 .nr-room-teams, .nr-mode-1 .nr-room-teams { display:grid; grid-template-columns:minmax(0,1fr) 120px minmax(0,1fr); align-items:center; gap:12px; }
.nr-room.nr-mode-1 .nr-room-team, .nr-mode-1 .nr-room-team { display:block; width:min(330px,100%); justify-self:end; }
.nr-room.nr-mode-1 .nr-room-team.red, .nr-mode-1 .nr-room-team.red { justify-self:start; }
.nr-mode-1 .nr-room-cards { grid-template-columns:minmax(0,330px); justify-content:center; }
.nr-mode-1 .nr-room-team h2 { font-size:32px; }
.nr-mode-1 .nr-room-art { height:clamp(200px,30vh,340px); }
.nr-mode-1 .nr-vs { font-size:54px; }
.nr-mode-2 .nr-room-cards { grid-template-columns:repeat(2,minmax(0,220px)); justify-content:center; }
.nr-room-player { min-width:0; border:2px solid var(--team); border-radius:9px 9px 3px 3px; background:linear-gradient(160deg,rgba(var(--team-rgb),.45),#081728aa); box-shadow:0 8px 20px #0007,inset 0 0 20px rgba(var(--team-rgb),.3); overflow:hidden; }
.nr-room-art { height:clamp(180px,28vh,360px); display:flex; align-items:flex-end; justify-content:center; position:relative; }
.nr-room-art::after { content:''; position:absolute; bottom:1px; left:15%; width:70%; height:13px; border:2px solid var(--team); border-radius:50%; box-shadow:0 0 12px var(--team); }
.nr-room-art img { width:100%; height:100%; object-fit:contain; position:relative; z-index:1; filter:drop-shadow(0 5px 5px #0008); }
.nr-silhouette { display:grid; place-items:center; width:100%; height:100%; color:#e3d6bf55; font:70px Bangers,sans-serif; }
.nr-room-name { border-top:1px solid #b69351; background:#091827ed; padding:9px 5px; text-align:center; }
.nr-room-name strong { display:block; font-size:16px; color:#fff3d6; overflow-wrap:anywhere; }
.nr-room-name small { display:block; color:#c7d6e5; font-size:12px; }
.nr-room-ready { text-align:center; padding:5px; background:#071521; font-size:12px; font-weight:900; color:#e7c477; border-top:1px solid #64717d; }
.nr-room-ready.ready { color:#a4ef84; }
.nr-vs { color:#ffcf70; text-shadow:0 0 20px #ffad48; font:48px Bangers,sans-serif; text-align:center; }
.nr-room-bottom { display:grid; grid-template-columns:1fr 1.5fr 1fr; gap:12px; margin:20px -20px 0; padding:12px; background:#071422eb; border-top:1px solid #b79b61; }
.nr-room-bottom section { min-width:0; border:1px solid #486177; background:#0d1d2dbf; border-radius:6px; padding:10px; }
.nr-room-bottom h3 { color:#f3dfb7; font-size:13px; margin:0 0 9px; }
.nr-room-chat .pvpon-chat-msgs { height:70px; min-height:0; overflow:auto; font-size:12px; }
.nr-room-chat input { min-width:0; color:#fff1d3; background:#132637; }
.nr-room-bottom button { color:#f9e9c6; background:#223448; border:1px solid #698196; border-radius:5px; padding:8px 12px; cursor:pointer; font-weight:800; font-size:12px; }
.nr-room-bottom button:hover { filter:brightness(1.2); }
.nr-room-bottom button:disabled { opacity:.5; cursor:default; }
#nrRoomDeck { display:grid; grid-template-columns:repeat(10,minmax(0,1fr)); gap:4px; margin:12px 0; }
#nrRoomDeck span { height:40px; border:1px solid #b69b65; border-radius:4px; overflow:hidden; background:#152537; }
#nrRoomDeck img { width:100%; height:100%; object-fit:cover; }
.nr-room-actions { display:flex; flex-direction:column; justify-content:center; gap:8px; text-align:center; }
.nr-room-actions .pvpon-btn-iniciar { background:linear-gradient(#ffda76,#da942d)!important; color:#24170b; border:2px solid #f1cf80; font:22px Teko,Impact,sans-serif; padding:12px; }
.nr-room-actions small { color:#d8c798; font-size:12px; }
.nr-room-actions>div { display:flex; gap:6px; justify-content:center; }
/* Combate: nenhum painel lateral duplicado. */
.nr-battle-body .pon-combate-content, .nr-battle-body .pon-combate { padding:0; margin:0; width:100%; max-width:none; background:#0a1929; }
.nr-battle-body .pon-combate-topo { background:#0d2034; padding:9px 16px; margin:0; border:0; display:flex; gap:15px; align-items:center; }
.nr-battle-body .pon-combate-topo-titulo { flex:1; }
.nr-battle-body .pon-combate-titulo-linha1 { color:#ffdf91; font-size:18px; }
.nr-battle-body .pon-combate-titulo-linha2 { color:#dae7f3; font-size:13px; }
.nr-turn-clock { font:700 23px monospace; color:#fce8b7; padding:6px 12px; border:1px solid #b69b65; border-radius:5px; }
.nr-turn-clock.urgent { color:#ff9c83; border-color:#ff9c83; }
.nr-battle-body .pon-arena-3col { display:block; padding:0; margin:0; }
.nr-battle-body .pon-arena-quadro { width:100%; height:clamp(400px,56vh,700px); min-height:400px; position:relative; border:0; border-radius:0; overflow:hidden; }
.nr-battle-body .pon-combate-bg { position:absolute; inset:0; opacity:1; }
.nr-battle-body .pon-combate-bg-overlay { background:linear-gradient(#06162655,transparent 35%,#06162633); }
.nr-turn-order { position:absolute; z-index:5; top:7px; left:50%; transform:translateX(-50%); display:flex; gap:5px; padding:18px 9px 5px; background:#091b30dc; border:1px solid #9c8253; border-radius:7px; }
.nr-turn-order>span { position:absolute; top:2px; left:0; width:100%; font-size:9px; text-align:center; color:#f1ddb2; }
.nr-turn-order>div { width:34px; height:34px; border:1px solid #7d8a98; overflow:hidden; border-radius:3px; }
.nr-turn-order img { width:100%; height:100%; object-fit:cover; }
.nr-turn-order .active { border:2px solid #ffdd77; box-shadow:0 0 8px #ffcf65; }
.nr-battle-body .pon-standees-arena { position:absolute; inset:80px 15px 8px; display:grid; grid-template-columns:minmax(0,1fr) 30px minmax(0,1fr); gap:12px; align-items:end; padding:0; }
.nr-battle-body .pon-standees-col { display:flex; flex-direction:row; align-items:flex-end; justify-content:center; gap:8px; min-width:0; height:100%; }
.nr-battle-body .pon-standees-col:last-child { flex-direction:row-reverse; }
.nr-battle-body .pon-standee { --team:#70b9ff; display:flex; flex:1; flex-direction:column; align-items:center; min-width:0; max-width:230px; width:auto; position:relative; padding:0; background:none; border:0; border-radius:0; box-shadow:none; }
.nr-battle-body .pon-standee.lado-b { --team:#ff817d; }
.nr-battle-body[data-mode="3"] .pon-standee:nth-child(2) { align-self:center; }
.nr-battle-body[data-mode="3"] .pon-standee:nth-child(3) { align-self:flex-start; }
.nr-battle-body[data-mode="2"] .pon-standee:nth-child(2) { align-self:center; }
.nr-battle-body .pon-standee-img-wrap { height:clamp(125px,20vh,250px); width:100%; position:relative; display:flex; justify-content:center; align-items:end; overflow:visible; background:none; border:0; }
.nr-battle-body[data-mode="1"] .pon-standee-img-wrap { height:clamp(200px,30vh,350px); }
.nr-battle-body .pon-standee-img { width:100%; height:100%; object-fit:contain; max-height:none; filter:drop-shadow(0 5px 5px #0009); }
.nr-battle-body .pon-standee-img-wrap::after { content:''; position:absolute; z-index:0; bottom:-3px; width:80%; height:12px; border:2px solid var(--team); border-radius:50%; box-shadow:0 0 12px var(--team); }
.nr-battle-body .pon-standee.turno-ativo { --team:#ffda68; }
.nr-fighter-plate { position:relative; width:100%; background:#081b2cee; border:1px solid var(--team); padding:5px 7px; border-radius:4px; z-index:2; box-shadow:0 3px 9px #0006; }
.nr-battle-body .pon-standee-nome { color:#fff3d2; padding:0; font-size:13px; line-height:1.3; display:flex; justify-content:space-between; gap:4px; background:none; text-shadow:none; overflow-wrap:anywhere; }
.nr-battle-body .pon-standee-nome small { font-size:9px; color:#c1d3e5; white-space:nowrap; }
.nr-battle-body .pon-hp-bar-wrap { width:100%; height:7px; margin:4px 0; background:#24313d; }
.nr-battle-body .pon-hp-bar { height:100%; background:linear-gradient(90deg,#50b548,#a4ef7c); }
.nr-battle-body .pon-standee-hp-txt { color:#fff8e5; font:11px Nunito,sans-serif; text-align:center; }
.nr-turn-label { min-height:20px; padding:3px 6px; color:#ffe398; text-shadow:0 2px 3px #000; font-size:12px; font-weight:900; }
.nr-battle-body .pon-standee.alvo-clicavel { cursor:pointer; }
.nr-battle-body .pon-standee.alvo-clicavel:hover .nr-fighter-plate, .nr-battle-body .pon-standee:focus-visible .nr-fighter-plate { outline:3px solid #ffe094; }
.nr-battle-body .pon-standee.morto { opacity:.42; filter:grayscale(1); }
.nr-battle-body .pon-standees-vs { align-self:center; font:24px Bangers,sans-serif; color:#ffe0a2; }
.nr-battle-body .pon-combate-baixo { display:grid; grid-template-columns:minmax(220px,.7fr) minmax(0,2fr); margin:0; padding:10px; gap:12px; border-top:1px solid #b59960; background:#081726; }
.nr-battle-body .pon-combate-baixo-log, .nr-battle-body .pon-combate-baixo-acoes { width:auto; min-width:0; background:#102336; border:1px solid #476078; border-radius:5px; }
.nr-battle-body .pon-log-titulo { color:#f5dfb3; padding:8px; }
.nr-battle-body .pon-log { height:160px; max-height:160px; color:#dbe7ef; background:transparent; font-size:12px; }
.nr-battle-body .pon-acoes { padding:10px; background:none; border:0; }
.nr-battle-body .pon-acoes-titulo { color:#ffdb85; font-size:15px; margin-bottom:8px; }
.nr-battle-body .pon-acoes-btns { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:6px; }
.nr-battle-body .pon-btn { font-size:12px; min-width:0; padding:7px; white-space:normal; min-height:48px; color:#f9e9c6; background:#172f44; border:1px solid #637d91; }
.nr-battle-body .pon-btn-ataque { background:linear-gradient(#f6d67e,#cc912e); color:#231607; font-weight:900; }
.nr-battle-body .nr-pass { background:#243545; color:#dfebf5; }
.nr-battle-body .pon-jutsu-img { width:32px; height:32px; object-fit:contain; }
.nr-battle-body .pon-jutsu-dano { color:#c4ef9b; }
/* 30/09 — dano do botão com os aumentos/reduções de quem ataca (js/pvp-online.js, _ponDanoModificado). */
.pon-jutsu-dano-mod { display:inline-flex; align-items:baseline; gap:4px; font-weight:800; }
.pon-jutsu-dano-mod .pon-jutsu-dano-pct { font-size:.85em; font-weight:900; }
.pon-jutsu-dano-mod.sobe, .nr-battle-body .pon-jutsu-dano-mod.sobe { color:#7dff9a; text-shadow:0 0 6px rgba(125,255,154,.35); }
.pon-jutsu-dano-mod.desce, .nr-battle-body .pon-jutsu-dano-mod.desce { color:#ff8f7d; }
.nr-battle-body .pon-jutsu-cd { opacity:.5; }
.nr-battle-body .pon-aguardando { color:#e5d2a4; padding:24px; }
@media(max-width:850px) {
 .nr-room { padding:12px 8px 0; }.nr-room-heading h1 { font-size:36px; }.nr-room-teams { gap:4px; grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr); }.nr-vs { font-size:24px; }.nr-room-team h2 { font-size:20px; }.nr-room-cards { gap:4px; }.nr-room-art { height:160px; }.nr-room-name strong { font-size:11px; }.nr-room-name small,.nr-room-ready { font-size:9px; }.nr-room-name { padding:5px 2px; }.nr-room-bottom { margin:14px -8px 0; grid-template-columns:1fr 1fr; }.nr-room-actions { grid-column:1/-1; }.nr-room-actions .pvpon-btn-iniciar { padding:8px; }#nrRoomDeck { grid-template-columns:repeat(5,minmax(0,1fr)); }
 .nr-battle-body .pon-combate-baixo { grid-template-columns:1fr; }.nr-battle-body .pon-combate-baixo-log { order:2; }.nr-battle-body .pon-log { height:90px; }.nr-battle-body .pon-acoes-btns { grid-template-columns:repeat(3,minmax(0,1fr)); }.nr-battle-body .pon-standees-arena { left:5px; right:5px; gap:4px; grid-template-columns:minmax(0,1fr) 12px minmax(0,1fr); }.nr-battle-body .pon-standees-col { gap:3px; }.nr-battle-body .pon-standee-nome { font-size:10px; flex-direction:column; gap:0; }.nr-battle-body .pon-standee-hp-txt { font-size:9px; }.nr-fighter-plate { padding:4px 2px; }.nr-turn-label { font-size:9px; text-align:center; }.nr-battle-body .pon-standee-img-wrap { height:140px; }.nr-battle-body .pon-combate-titulo-linha1 { font-size:14px; }.nr-turn-clock { font-size:17px; padding:5px; }
}
@media(max-width:480px) { .nr-room-art { height:125px; }.nr-room-heading h1 { font-size:30px; }.nr-room-heading p { font-size:11px; }.nr-room-team h2 { font-size:16px; }.nr-room-bottom { grid-template-columns:1fr; }.nr-room-actions { grid-column:auto; }.nr-room-ready { font-size:8px; }.nr-battle-body .pon-standee-img-wrap { height:110px; }.nr-battle-body .pon-standees-col { position:relative; }.nr-battle-body .pon-arena-quadro { min-height:450px; }.nr-battle-body .pon-standee { flex:1; }.nr-battle-body .pon-standee-nome small { font-size:8px; }.nr-battle-body .pon-standee-hp-txt { font-size:8px; }.nr-turn-order>div { width:28px; height:28px; } }
/* Medidas finais mantêm as placas dentro do quadro e os nomes legíveis. */
.nr-battle-body .pon-standees-arena { height:auto; }
.nr-battle-body .pon-standees-col { flex-wrap:nowrap; }
.nr-battle-body .pon-standee-img-wrap { aspect-ratio:auto; }
.nr-battle-body .pon-standee-nome { white-space:normal; max-width:none; width:100%; overflow:visible; border:0; }
.nr-battle-body .pon-combate-titulo-linha2 strong { color:#fff0c2; }
.nr-battle-body .pon-btn-abandonar { color:#ffb6a5; border-color:#af655b; }
.nr-battle-body .pon-btn-jutsu { flex-wrap:wrap; justify-content:center; gap:5px; overflow-wrap:anywhere; }
@media(max-width:480px) {
 .nr-battle-body .pon-arena-quadro { height:650px; min-height:650px; max-height:none; aspect-ratio:auto; }
 .nr-battle-body .pon-standees-col, .nr-battle-body .pon-standees-col:last-child { flex-direction:column; align-items:center; justify-content:space-around; }
 .nr-battle-body .pon-standee { flex:none; width:100%; max-width:145px; align-self:center!important; }
 .nr-battle-body .pon-standee-img-wrap { height:100px; }
 .nr-battle-body .pon-standee-nome { flex-direction:row; font-size:11px; }
 .nr-battle-body .pon-standee-hp-txt { font-size:10px; }
 .nr-battle-body .pon-acoes-btns { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .nr-battle-body .pon-btn-jutsu { flex-direction:column; font-size:12px; text-align:center; }
 .nr-battle-body[data-mode="1"] .pon-arena-quadro { height:440px; min-height:440px; }
 .nr-battle-body[data-mode="2"] .pon-arena-quadro { height:540px; min-height:540px; }
}
@media(max-width:480px) { .nr-battle-body[data-mode="1"] .pon-standee-img-wrap { height:220px; } }
