/* Zona PvP (10/10/2026): janela das 3 áreas, HUD da área, menu Atacar/Perfil, aviso e botão ZONA PVP da HUD.
   Carregado por pvp-zone.js. Paleta própria (área de combate): escura nos dois temas. */
:root {
  --pvpz-ink: #f4f1ea;
  --pvpz-muted: #b9b4a8;
  --pvpz-panel: #191b22;
  --pvpz-panel-2: #22252e;
  --pvpz-line: rgba(255, 255, 255, .12);
  --pvpz-gold: #f2c14e;
  --pvpz-red: #e2524b;
  --pvpz-green: #5fd38d;
  --pvpz-bronze: #c98a4b;
  --pvpz-prata: #b9c4cf;
  --pvpz-ouro: #f2c14e;
}

/* ---------------------------------------------------------------- botão da HUD (molde: .rh-halloween) */
body.upi-reference-hud .rh-shortcuts:has(.rh-pvp-zone:not([hidden])) { grid-template-columns: repeat(12, minmax(0, 1fr)) !important; }
body.upi-reference-hud .rh-shortcuts .rh-pvp-zone { position: relative; background: linear-gradient(155deg, #5a2422, #2a1416) !important; border-color: #e2524b66 !important; padding-inline: 2px !important; }
body.upi-reference-hud .rh-pvp-zone span { color: #ffd0a8 !important; font-size: 8px !important; letter-spacing: 0 !important; }
body.upi-reference-hud .rh-shortcuts .rh-pvp-zone img { object-fit: contain !important; filter: drop-shadow(0 1px 4px #e2524b44); }
body.upi-reference-hud .rh-pvp-zone-glory { position: absolute; right: 2px; top: 2px; max-width: 34px; min-width: 14px; border-radius: 10px; padding: 2px 3px; background: #1d0f10; color: var(--pvpz-gold); border: 1px solid #f2c14e66; font: 750 8px/1.2 "Segoe UI", sans-serif; text-align: center; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rh-pvp-zone[hidden], [data-rh-action="pvp-zone"][hidden] { display: none !important; }
@media (max-width: 720px) and (orientation: portrait) {
  body.upi-reference-hud.rh-mobile-deck-open .rh-shortcuts:has(.rh-pvp-zone:not([hidden])) { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; grid-template-rows: repeat(5, minmax(48px, 1fr)) !important; }
}
@media (max-height: 560px) and (orientation: landscape) {
  body.upi-reference-hud .rh-shortcuts:has(.rh-pvp-zone:not([hidden])) { grid-template-columns: repeat(12, minmax(36px, 1fr)) !important; }
}

/* ---------------------------------------------------------------- janela */
.pvpz-overlay { position: fixed; inset: 0; z-index: 2147482000; display: grid; place-items: center; padding: 16px; background: rgba(6, 8, 12, .62); backdrop-filter: blur(3px); font-family: Inter, "Segoe UI", system-ui, sans-serif; }
.pvpz-overlay[hidden] { display: none; }
.pvpz-dialog { width: min(1020px, 100%); max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); overflow: auto; display: grid; gap: 12px; padding: 18px; border: 1px solid var(--pvpz-line); border-radius: 20px; background: radial-gradient(120% 80% at 0% 0%, #3a1a1a 0%, transparent 55%), linear-gradient(160deg, var(--pvpz-panel-2), var(--pvpz-panel)); color: var(--pvpz-ink); box-shadow: 0 28px 80px rgba(0, 0, 0, .55); outline: none; }
.pvpz-head { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.pvpz-title { flex: 1 1 200px; min-width: 0; }
.pvpz-title small { display: block; color: var(--pvpz-red); font-size: 10px; font-weight: 900; letter-spacing: .12em; }
.pvpz-title h2 { margin: 2px 0 0; font-size: 26px; line-height: 1.05; letter-spacing: .04em; }
.pvpz-glory { display: flex; align-items: center; gap: 6px; padding: 6px 12px; border: 1px solid #f2c14e55; border-radius: 999px; background: #2a2012; }
.pvpz-glory img { width: 22px; height: 22px; object-fit: contain; }
.pvpz-glory b { color: var(--pvpz-gold); font-size: 16px; }
.pvpz-glory span { color: var(--pvpz-muted); font-size: 11px; }
.pvpz-close { width: 36px; height: 36px; border: 1px solid var(--pvpz-line); border-radius: 50%; background: #0f1015; color: var(--pvpz-ink); font-size: 22px; line-height: 1; cursor: pointer; }
.pvpz-close:hover { background: #2a2c34; }
/* Regras em ícones (antes um parágrafo corrido): 3 colunas no computador, 2 no celular. */
.pvpz-rules { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; margin: 0; padding: 0; list-style: none; }
.pvpz-rules li { display: flex; align-items: center; gap: 9px; min-width: 0; padding: 6px 10px; border: 1px solid rgba(226, 82, 75, .2); border-radius: 12px; background: rgba(226, 82, 75, .06); }
.pvpz-rules i { flex: 0 0 auto; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 9px; background: rgba(0, 0, 0, .3); font-size: 16px; font-style: normal; }
.pvpz-rules span { display: grid; gap: 1px; min-width: 0; }
.pvpz-rules b { color: #f4e9dc; font-size: 12px; }
.pvpz-rules small { color: var(--pvpz-muted); font-size: 11px; line-height: 1.3; }
.pvpz-message { margin: 0; padding: 9px 12px; border-radius: 10px; font-size: 12px; font-weight: 700; background: #23262f; }
.pvpz-message[data-kind="error"] { background: #3a1716; color: #ffb4ad; }
.pvpz-message[data-kind="success"] { background: #12301f; color: #a9f0c4; }
.pvpz-empty { padding: 28px; text-align: center; color: var(--pvpz-muted); }
.pvpz-medal { display: inline-grid; place-items: center; min-width: 34px; height: 34px; padding: 0 6px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #fff8, transparent 45%), var(--tier, var(--pvpz-bronze)); color: #1a1208; font: 900 13px/1 Georgia, serif; box-shadow: inset 0 -3px 0 rgba(0, 0, 0, .25); }
.pvpz-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 12px; align-items: stretch; }
/* Cartão da área (dono 10/10, "melhore essa tela"): o mapa da área no topo, números em blocos, exclusivos em grade e
   um botão principal por estado (COMPRAR INGRESSO ou ENTRAR). */
.pvpz-card { --tier: var(--pvpz-bronze); position: relative; display: flex; flex-direction: column; gap: 10px; padding: 0 0 12px; overflow: hidden; border: 1px solid color-mix(in srgb, var(--tier) 45%, transparent); border-radius: 16px; background: linear-gradient(180deg, color-mix(in srgb, var(--tier) 10%, #1b1d24), #15171d 60%); transition: transform .15s ease, box-shadow .15s ease; }
.pvpz-card > :not(.pvpz-hero) { margin-inline: 12px; }
.pvpz-card:hover { transform: translateY(-2px); box-shadow: 0 14px 32px rgba(0, 0, 0, .42); }
.pvpz-card.is-prata { --tier: var(--pvpz-prata); }
.pvpz-card.is-ouro { --tier: var(--pvpz-ouro); }
.pvpz-card.is-recommended { box-shadow: 0 0 0 2px var(--tier), 0 0 28px color-mix(in srgb, var(--tier) 30%, transparent); }
.pvpz-card.is-current { box-shadow: 0 0 0 2px var(--pvpz-green), 0 10px 30px rgba(0, 0, 0, .35); }
.pvpz-card.is-locked:hover { transform: none; }
.pvpz-card.is-locked .pvpz-hero::before { filter: grayscale(.9) brightness(.6); }
.pvpz-card.is-locked .pvpz-tiles, .pvpz-card.is-locked .pvpz-exclusive { opacity: .55; }
.pvpz-hero { position: relative; isolation: isolate; display: flex; align-items: flex-end; gap: 10px; min-height: 98px; padding: 10px 12px; overflow: hidden; border-bottom: 1px solid color-mix(in srgb, var(--tier) 35%, transparent); }
.pvpz-hero::before { content: ""; position: absolute; inset: 0; z-index: -2; background: var(--pvpz-map, none) center 42% / 240% auto no-repeat, color-mix(in srgb, var(--tier) 22%, #1b1d24); transition: transform .5s ease; }
.pvpz-card:not(.is-locked):hover .pvpz-hero::before { transform: scale(1.06); }
.pvpz-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(12, 13, 17, .05), rgba(12, 13, 17, .5) 48%, rgba(22, 24, 30, .97)); }
.pvpz-hero .pvpz-medal { min-width: 44px; height: 44px; font-size: 15px; box-shadow: inset 0 -3px 0 rgba(0, 0, 0, .25), 0 4px 14px rgba(0, 0, 0, .55); }
.pvpz-hero-text { display: grid; gap: 2px; min-width: 0; }
.pvpz-hero h3 { margin: 0; color: var(--tier); font-size: 19px; line-height: 1.1; text-shadow: 0 2px 6px rgba(0, 0, 0, .85); }
.pvpz-hero small { color: #ebe5da; font-size: 11px; font-weight: 700; text-shadow: 0 1px 4px #000; }
.pvpz-band { color: var(--pvpz-muted); font-size: 11px; font-style: normal; font-weight: 800; text-shadow: 0 1px 4px #000; }
.pvpz-band.is-ok { color: #a9e3bf; }
.pvpz-band.is-bad { color: #ffb4ad; }
.pvpz-ribbon { position: absolute; top: 10px; right: 10px; padding: 5px 9px; border: 1px solid rgba(255, 255, 255, .25); border-radius: 999px; background: rgba(0, 0, 0, .62); color: #fff; font: 900 10px/1 Inter, "Segoe UI", sans-serif; letter-spacing: .08em; }
.pvpz-ribbon.is-best { border-color: transparent; background: var(--tier); color: #1a1208; box-shadow: 0 3px 12px rgba(0, 0, 0, .45); }
.pvpz-ribbon.is-here { border-color: transparent; background: var(--pvpz-green); color: #0c2416; }
.pvpz-ribbon.is-locked { color: #ffd0cb; }
.pvpz-tiles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; margin: 0; padding: 0; list-style: none; }
.pvpz-tiles li { display: grid; gap: 2px; min-width: 0; padding: 7px 9px; border: 1px solid rgba(255, 255, 255, .06); border-radius: 10px; background: rgba(255, 255, 255, .045); }
.pvpz-tiles li > span { display: flex; align-items: center; gap: 5px; min-width: 0; }
.pvpz-tiles img { width: 16px; height: 16px; object-fit: contain; }
.pvpz-tiles b { color: var(--pvpz-ink); font-size: 16px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.pvpz-tiles .is-xp b { color: #9fd0ff; }
.pvpz-tiles .is-coin b { color: var(--pvpz-gold); }
.pvpz-tiles .is-glory b { color: #ffcf8a; }
.pvpz-tiles .is-wild b { color: #ff9f96; }
.pvpz-tiles small { overflow: hidden; color: var(--pvpz-muted); font-size: 10px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.pvpz-card-foot { display: grid; gap: 8px; margin-top: auto; }
.pvpz-pass { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 8px 10px; border-radius: 10px; background: #0f1116; color: var(--pvpz-muted); font-size: 12px; font-weight: 700; }
.pvpz-pass b { color: var(--pvpz-ink); font-size: 15px; font-variant-numeric: tabular-nums; }
.pvpz-pass.is-active { background: rgba(95, 211, 141, .1); box-shadow: inset 0 0 0 1px rgba(95, 211, 141, .3); color: #c9f0d8; }
.pvpz-pass.is-active b { color: var(--pvpz-green); }
.pvpz-price { display: inline-flex; align-items: center; gap: 4px; color: var(--pvpz-gold); font-weight: 900; font-variant-numeric: tabular-nums; white-space: nowrap; }
.pvpz-price img { width: 15px; height: 15px; object-fit: contain; }
.pvpz-card-actions { display: grid; gap: 6px; }
.pvpz-btn.is-big { min-height: 44px; font-size: 14px; letter-spacing: .06em; }
.pvpz-btn.is-here { border-color: rgba(95, 211, 141, .5); background: rgba(95, 211, 141, .12); color: #a9f0c4; }
.pvpz-btn.is-here:disabled { opacity: 1; cursor: default; }
.pvpz-btn .pvpz-price img { width: 14px; height: 14px; }
.pvpz-lock { margin: 0; padding: 10px; border: 1px dashed rgba(226, 82, 75, .45); border-radius: 10px; background: rgba(226, 82, 75, .07); color: #ffb4ad; font-size: 12px; font-weight: 700; line-height: 1.4; text-align: center; }
.pvpz-confirm { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.pvpz-confirm > span { grid-column: 1 / -1; color: #f4e9dc; font-size: 12px; font-weight: 700; line-height: 1.5; }
.pvpz-btn { min-height: 38px; padding: 8px 10px; border: 1px solid var(--pvpz-line); border-radius: 10px; background: #2b2e37; color: var(--pvpz-ink); font: 800 12px/1.2 Inter, "Segoe UI", sans-serif; cursor: pointer; }
.pvpz-btn:hover:not(:disabled) { background: #363a45; }
.pvpz-btn:disabled { opacity: .45; cursor: not-allowed; }
.pvpz-btn.is-primary { border-color: #e2524b88; background: linear-gradient(180deg, #d94b43, #a5302b); color: #fff; }
.pvpz-btn.is-primary:hover:not(:disabled) { background: linear-gradient(180deg, #e65a51, #b5362f); }
.pvpz-btn.is-shop { border-color: #f2c14e77; background: linear-gradient(180deg, #4a3812, #2c2008); color: var(--pvpz-gold); letter-spacing: .04em; }
.pvpz-btn.is-danger { border-color: #e2524b88; background: #3a1716; color: #ffb4ad; }
.pvpz-inside { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; padding: 10px 12px; border: 1px dashed #e2524b66; border-radius: 12px; font-size: 12px; color: #e8ddd2; }

/* ---------------------------------------------------------------- chip da área (pedido do dono 10/10)
   "lá em cima na HUD ... minimizado mostra o contador de tempo e quantas vitórias e quanto de honra ganhou ... clicando
   em cima abre o modal completo com histórico". Sempre minimizado; o SAIR e as ÁREAS ficam dentro da janela. */
.pvpz-hud { --tier: var(--pvpz-bronze); position: fixed; z-index: 2147480000; pointer-events: auto; font: 800 13px/1 Inter, "Segoe UI", sans-serif; }
.pvpz-hud[hidden] { display: none; }
/* Tela aberta por cima (LOJA DA ZONA e demais telas do reference-dom-screens, mochila, batalha, Perfil): o chip some. */
.pvpz-hud.is-covered, body:has(#reference-dom-screens:not([hidden])) #pvp-zone-hud { display: none !important; }
.pvpz-hud.is-prata { --tier: var(--pvpz-prata); }
.pvpz-hud.is-ouro { --tier: var(--pvpz-ouro); }
.pvpz-chip-open { display: flex; align-items: center; gap: 5px; height: 40px; margin: 0; padding: 0 9px 0 4px; border: 1px solid color-mix(in srgb, var(--tier) 65%, transparent); border-radius: 999px; background: linear-gradient(180deg, rgba(44, 22, 22, .95), rgba(15, 16, 21, .95)); color: var(--pvpz-ink); font: inherit; white-space: nowrap; box-shadow: 0 6px 18px rgba(0, 0, 0, .38); cursor: pointer; }
.pvpz-chip-open:hover { filter: brightness(1.15); }
.pvpz-chip-open:focus-visible { outline: 2px solid var(--pvpz-gold); outline-offset: 2px; }
.pvpz-chip .pvpz-medal { min-width: 30px; height: 30px; padding: 0 4px; font-size: 11px; }
.pvpz-chip-stat { display: inline-flex; align-items: center; gap: 3px; padding: 5px 7px; border-radius: 999px; background: rgba(255, 255, 255, .07); font-variant-numeric: tabular-nums; }
.pvpz-chip-stat[hidden] { display: none; }
.pvpz-chip-stat i { font-style: normal; font-size: 12px; }
.pvpz-chip-stat img { width: 15px; height: 15px; object-fit: contain; }
.pvpz-chip-stat.is-wins b { color: #ffcf8a; }
.pvpz-chip-stat.is-glory b { color: var(--pvpz-green); }
.pvpz-chip-stat.is-shield { background: rgba(95, 170, 255, .16); }
.pvpz-chip-stat.is-shield b { color: #9fd0ff; }
.pvpz-chip-stat.is-cooldown b { color: #ffcf8a; }
/* Menos de 2 min de ingresso: o chip fica vermelho. */
.pvpz-chip.is-low .pvpz-chip-open { border-color: var(--pvpz-red); background: linear-gradient(180deg, rgba(118, 26, 24, .96), rgba(52, 12, 12, .96)); }
.pvpz-chip.is-low .is-pass { background: rgba(226, 82, 75, .4); }
.pvpz-chip.is-low .is-pass b { color: #fff; }

/* ---------------------------------------------------------------- menu Atacar / Perfil */
.pvpz-target-menu { position: fixed; z-index: 2147483000; display: grid; gap: 6px; min-width: 170px; max-width: 240px; padding: 10px; border: 1px solid #e2524b77; border-radius: 14px; background: linear-gradient(170deg, #2a1718, #15171d); color: var(--pvpz-ink); font: 600 12px/1.3 Inter, "Segoe UI", sans-serif; box-shadow: 0 16px 40px rgba(0, 0, 0, .5); }
.pvpz-target-head { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.pvpz-target-head strong { font-size: 14px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pvpz-target-head small { color: var(--pvpz-muted); }
.pvpz-target-hint { margin: 0; color: var(--pvpz-muted); font-size: 11px; }
.pvpz-target-menu button { min-height: 36px; padding: 7px 10px; border: 1px solid var(--pvpz-line); border-radius: 10px; background: #2b2e37; color: var(--pvpz-ink); font: 800 13px/1 Inter, "Segoe UI", sans-serif; text-align: left; cursor: pointer; }
.pvpz-target-menu button:hover:not(:disabled) { background: #363a45; }
.pvpz-target-menu .pvpz-target-attack { border-color: #e2524b99; background: linear-gradient(180deg, #d94b43, #a5302b); color: #fff; }
.pvpz-target-menu button:disabled { opacity: .45; cursor: not-allowed; }

/* ---------------------------------------------------------------- aviso */
.pvpz-toast { position: fixed; top: 118px; left: 50%; z-index: 2147483200; max-width: min(560px, calc(100vw - 32px)); transform: translate(-50%, -8px); padding: 11px 16px; border: 1px solid var(--pvpz-line); border-radius: 12px; background: rgba(20, 22, 28, .96); color: var(--pvpz-ink); font: 700 13px/1.4 Inter, "Segoe UI", sans-serif; text-align: center; box-shadow: 0 14px 36px rgba(0, 0, 0, .45); opacity: 0; pointer-events: none; transition: opacity .18s ease, transform .18s ease; }
.pvpz-toast[hidden] { display: none; }
.pvpz-toast.is-in { opacity: 1; transform: translate(-50%, 0); }
.pvpz-toast[data-kind="success"] { border-color: #5fd38d88; background: rgba(14, 40, 26, .96); color: #c9f5d9; }
.pvpz-toast[data-kind="error"] { border-color: #e2524b88; background: rgba(48, 18, 18, .96); color: #ffd0cb; }
.pvpz-toast[data-kind="defeat"] { border-color: #e2524b; background: linear-gradient(180deg, rgba(92, 24, 22, .97), rgba(44, 12, 12, .97)); color: #fff; font-size: 15px; }
@media (max-width: 720px) { .pvpz-toast { top: 132px; font-size: 12px; } }
@media (prefers-reduced-motion: reduce) { .pvpz-toast { transition: none; } }

/* Lendário da área (10/10): sprite + "Lendário: Terrakion · 0,01%" e a regra de uma bola só. */
.pvpz-legend { display: flex; align-items: center; gap: 8px; margin: 0 0 8px; padding: 4px 10px 4px 4px; border: 1px solid rgba(255, 210, 122, .55); border-radius: 10px; background: linear-gradient(90deg, rgba(255, 196, 64, .2), rgba(0, 0, 0, .28)); box-shadow: inset 0 0 12px rgba(255, 196, 64, .12); }
.pvpz-legend img { flex: none; width: 44px; height: 44px; object-fit: contain; image-rendering: pixelated; filter: drop-shadow(0 0 4px rgba(255, 214, 102, .55)); }
.pvpz-legend i { flex: none; display: grid; place-items: center; width: 44px; height: 44px; color: #ffd27a; font-style: normal; font-size: 22px; }
.pvpz-legend span { display: flex; flex-direction: column; min-width: 0; }
.pvpz-legend b { color: #ffe9a8; font-size: 13px; font-weight: 900; letter-spacing: .02em; }
.pvpz-legend small { color: #e8dcc0; font-size: 10.5px; font-weight: 700; line-height: 1.3; }
.pvpz-card.is-locked .pvpz-legend { opacity: .55; }
@media (max-width: 720px) {
  .pvpz-legend img, .pvpz-legend i { width: 36px; height: 36px; }
  .pvpz-legend b { font-size: 12px; }
  .pvpz-legend small { font-size: 10px; }
}

/* Exclusivos da área (10/10): grade sem barra de rolagem; "+N" abre a lista toda. */
.pvpz-exclusive small { display: block; margin-bottom: 4px; color: #ffd27a; font-size: 10px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.pvpz-exclusive ul { display: flex; flex-wrap: wrap; gap: 2px; margin: 0; padding: 4px; list-style: none; border: 1px solid rgba(255, 210, 122, .22); border-radius: 10px; background: rgba(0, 0, 0, .25); }
.pvpz-exclusive li { flex: 0 0 auto; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 8px; }
.pvpz-exclusive li:hover { background: rgba(255, 210, 122, .12); }
.pvpz-exclusive li img { width: 38px; height: 38px; object-fit: contain; image-rendering: pixelated; }
.pvpz-exclusive li span { color: #e8ecf5; font-size: 9px; line-height: 1.1; text-align: center; }
.pvpz-more button { width: 38px; height: 38px; padding: 0; border: 1px dashed rgba(255, 210, 122, .5); border-radius: 8px; background: rgba(255, 210, 122, .08); color: #ffd27a; font: 900 11px/1 Inter, "Segoe UI", sans-serif; cursor: pointer; }
.pvpz-more button:hover { background: rgba(255, 210, 122, .2); }

/* Ajustes da demonstração (10/10): o × da janela fica na mesma linha do título no celular. */
@media (max-width: 720px) {
  .pvpz-head { flex-wrap: nowrap; }
  .pvpz-head .pvpz-title { flex: 1 1 auto; min-width: 0; }
  .pvpz-head .pvpz-btn.is-shop { padding-inline: 8px; font-size: 11px; }
  .pvpz-head .pvpz-glory span { display: none; }
}

/* Posição do chip (pedido do dono 10/10). Computador: DENTRO da faixa do topo (0-58 px), no vão entre o cartão AUTO
   HUNT (termina em ~390 px) e as moedas (começam em largura - ~472 px): centro do vão = 50% - 41 px. */
.pvpz-hud { top: 9px; left: calc(50% - 41px); right: auto; transform: translateX(-50%); }
/* O pvp-zone.js mede o vão de verdade e grava top/left. Vão curto (1024 px): compacta (sem a medalha); nem assim:
   logo abaixo do cartão da missão (is-below) e o aviso desce junto. */
.pvpz-chip.is-compact .pvpz-medal { display: none; }
.pvpz-chip.is-compact .pvpz-chip-open { gap: 3px; height: 36px; padding: 0 6px; font-size: 12px; }
.pvpz-chip.is-compact .pvpz-chip-stat { padding: 4px 5px; }
body.pvp-zone-chip-below .pvpz-toast { top: 186px; }
@media (max-width: 720px) {
  /* Celular: o topo é apertado. Abaixo do cartão da missão (até ~149 px), à esquerda do botão do chat (#pmk-btn,
     x >= 263 num 375): uma linha de 32 px. O aviso (.pvpz-toast) desce para não ficar em cima do chip. */
  .pvpz-hud { top: 156px; left: 8px; right: auto; transform: none; max-width: calc(100vw - 120px); }
  .pvpz-chip-open { height: 32px; gap: 3px; padding: 0 6px 0 3px; font-size: 12px; }
  .pvpz-chip .pvpz-medal { min-width: 24px; height: 24px; font-size: 10px; }
  .pvpz-chip-stat { padding: 3px 5px; gap: 2px; }
  .pvpz-chip-stat img { width: 13px; height: 13px; }
  .pvpz-chip.has-timer .pvpz-medal { display: none; }
  .pvpz-toast { top: 214px; }
}

/* ---------------------------------------------------------------- abas ÁREAS · HISTÓRICO · RANKING (10/10)
   Pedido do dono: "um lugar que tenha histórico de batalhas de quem matou e quantas vezes e ranking disso de quem mais
   matou". Mesma paleta da janela; nada rola de lado no celular (tabelas com table-layout fixo e nomes com reticências). */
.pvpz-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; padding: 4px; border: 1px solid var(--pvpz-line); border-radius: 12px; background: #0f1116; }
.pvpz-tab { min-width: 0; min-height: 36px; padding: 6px 4px; border: 0; border-radius: 9px; background: transparent; color: var(--pvpz-muted); font: 900 12px/1 Inter, "Segoe UI", sans-serif; letter-spacing: .08em; cursor: pointer; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pvpz-tab:hover { color: var(--pvpz-ink); background: #1d2028; }
.pvpz-tab:focus-visible { outline: 2px solid var(--pvpz-gold); outline-offset: 1px; }
.pvpz-tab.is-active { background: linear-gradient(180deg, #d94b43, #a5302b); color: #fff; box-shadow: 0 4px 14px rgba(217, 75, 67, .3); }
.pvpz-panel { display: grid; gap: 12px; min-width: 0; }
.pvpz-btn.is-small { min-height: 30px; padding: 5px 10px; font-size: 11px; }
.pvpz-foot { margin: 0; color: var(--pvpz-muted); font-size: 11px; line-height: 1.45; }

/* "Você está na Área X" (no topo da janela quando está dentro). */
.pvpz-here { --tier: var(--pvpz-bronze); display: flex; align-items: center; gap: 10px 14px; flex-wrap: wrap; padding: 10px 12px; border: 1px solid color-mix(in srgb, var(--tier) 55%, transparent); border-radius: 14px; background: linear-gradient(100deg, color-mix(in srgb, var(--tier) 18%, #1b1d24), #15171d 75%); }
.pvpz-here.is-prata { --tier: var(--pvpz-prata); }
.pvpz-here.is-ouro { --tier: var(--pvpz-ouro); }
.pvpz-here > header { display: flex; align-items: center; gap: 8px; min-width: 0; }
.pvpz-here > header small { display: block; color: var(--pvpz-muted); font-size: 9px; font-weight: 900; letter-spacing: .1em; }
.pvpz-here > header b { display: block; color: var(--tier); font-size: 15px; }
.pvpz-here-stats { display: flex; flex-wrap: wrap; gap: 6px; flex: 1 1 260px; min-width: 0; }
.pvpz-here-stat { display: grid; grid-template-columns: auto auto auto; align-items: baseline; column-gap: 4px; padding: 4px 8px; border-radius: 9px; background: rgba(255, 255, 255, .06); }
.pvpz-here-stat[hidden] { display: none; }
.pvpz-here-stat i { font-style: normal; }
.pvpz-here-stat img { width: 15px; height: 15px; align-self: center; object-fit: contain; }
.pvpz-here-stat b { font-size: 14px; font-variant-numeric: tabular-nums; }
.pvpz-here-stat em { font-style: normal; color: var(--pvpz-gold); font-weight: 800; font-size: 12px; }
.pvpz-here-stat small { grid-column: 1 / -1; color: var(--pvpz-muted); font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.pvpz-here-stat.is-glory b { color: var(--pvpz-green); }
.pvpz-here-stat.is-wins b { color: #ffcf8a; }
.pvpz-here-stat.is-shield { background: rgba(95, 170, 255, .14); }
.pvpz-here-stat.is-shield b { color: #9fd0ff; }
.pvpz-here-stat.is-cooldown b { color: #ffcf8a; }
.pvpz-here-stat.is-low { background: rgba(226, 82, 75, .3); }
.pvpz-here-stat.is-low b { color: #ffd0cb; }
.pvpz-here-leave { margin-left: auto; }

/* HISTÓRICO */
.pvpz-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(128px, 1fr)); gap: 8px; }
.pvpz-stat { display: grid; align-content: start; gap: 3px; min-width: 0; padding: 10px 12px; border: 1px solid var(--pvpz-line); border-radius: 12px; background: #15171d; }
.pvpz-stat b { font-size: 22px; line-height: 1.05; font-variant-numeric: tabular-nums; }
.pvpz-stat b span { color: var(--pvpz-muted); font-size: 15px; }
.pvpz-stat small { color: var(--pvpz-muted); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.pvpz-stat em { color: #8f8a80; font-size: 10px; font-style: normal; }
.pvpz-stat.is-kills b { color: var(--pvpz-green); }
.pvpz-stat.is-deaths b { color: #ff8f86; }
.pvpz-stat.is-kd b, .pvpz-stat.is-streak b { color: var(--pvpz-gold); }
.pvpz-block { display: grid; gap: 8px; min-width: 0; padding: 12px; border: 1px solid var(--pvpz-line); border-radius: 14px; background: rgba(0, 0, 0, .18); }
.pvpz-block > header { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.pvpz-block h3 { margin: 0; color: var(--pvpz-gold); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
.pvpz-block .pvpz-empty { margin: 0; padding: 14px 8px; font-size: 12px; }
.pvpz-fights { display: grid; gap: 6px; max-height: 330px; margin: 0; padding: 0; overflow-y: auto; list-style: none; }
.pvpz-fight { display: grid; grid-template-columns: 78px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 8px 10px; border-left: 3px solid #8f8a80; border-radius: 10px; background: #15171d; }
.pvpz-fight.is-win { border-left-color: var(--pvpz-green); }
.pvpz-fight.is-lose { border-left-color: var(--pvpz-red); }
.pvpz-outcome { font: 900 11px/1 Inter, "Segoe UI", sans-serif; letter-spacing: .06em; color: #cfc9be; }
.pvpz-fight.is-win .pvpz-outcome { color: var(--pvpz-green); }
.pvpz-fight.is-lose .pvpz-outcome { color: #ff8f86; }
.pvpz-fight-main { min-width: 0; }
.pvpz-fight-main b { display: block; overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.pvpz-fight-main small { display: block; overflow: hidden; color: var(--pvpz-muted); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.pvpz-fight-glory { display: inline-flex; align-items: center; gap: 3px; font-weight: 900; font-variant-numeric: tabular-nums; }
.pvpz-fight-glory img { width: 14px; height: 14px; object-fit: contain; }
.pvpz-fight-glory.is-plus { color: var(--pvpz-green); }
.pvpz-fight-glory.is-minus { color: #ff8f86; }
.pvpz-fight-glory.is-zero { color: #8f8a80; }
.pvpz-versus { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 12px; }
.pvpz-table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 12px; }
.pvpz-table th { padding: 5px 6px; border-bottom: 1px solid var(--pvpz-line); color: var(--pvpz-muted); font-size: 10px; font-weight: 800; letter-spacing: .05em; text-align: left; text-transform: uppercase; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pvpz-table td { padding: 7px 6px; border-bottom: 1px solid rgba(255, 255, 255, .05); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pvpz-table .c-num { width: 64px; text-align: right; font-variant-numeric: tabular-nums; font-weight: 800; }
.pvpz-table th.c-num { text-align: right; }
.pvpz-table .c-when { width: 92px; color: var(--pvpz-muted); text-align: right; font-size: 11px; }
.pvpz-table-empty { padding: 14px 6px !important; color: var(--pvpz-muted); text-align: center; white-space: normal !important; }

/* RANKING */
.pvpz-rank-bar { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; }
.pvpz-rank-bar small { flex: 1 1 180px; min-width: 0; color: var(--pvpz-muted); font-size: 11px; }
.pvpz-seg { display: inline-grid; grid-auto-flow: column; gap: 3px; padding: 3px; border: 1px solid var(--pvpz-line); border-radius: 10px; background: #0f1116; }
.pvpz-seg button { min-height: 30px; padding: 4px 14px; border: 0; border-radius: 8px; background: transparent; color: var(--pvpz-muted); font: 900 11px/1 Inter, "Segoe UI", sans-serif; letter-spacing: .08em; cursor: pointer; }
.pvpz-seg button:hover { color: var(--pvpz-ink); }
.pvpz-seg button.is-active { background: #2b2e37; color: var(--pvpz-gold); box-shadow: inset 0 0 0 1px #f2c14e66; }
.pvpz-me { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 12px; padding: 10px 12px; border: 1px solid #f2c14e55; border-radius: 12px; background: linear-gradient(90deg, rgba(242, 193, 78, .16), rgba(242, 193, 78, .03)); color: #e8ddd2; font-size: 12px; }
.pvpz-me > span:first-child { color: var(--pvpz-muted); font-size: 10px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.pvpz-me-pos { color: var(--pvpz-gold); font-size: 22px; font-variant-numeric: tabular-nums; }
.pvpz-me.is-empty { border-style: dashed; background: none; }
.pvpz-me.is-empty > span:first-child { color: #e8ddd2; font-size: 12px; font-weight: 600; letter-spacing: 0; text-transform: none; }
.pvpz-rank .c-pos { width: 40px; text-align: center; font-weight: 800; }
.pvpz-rank .c-num { width: 84px; }
/* Computador: cabeçalhos inteiros ("Derrotas aplicadas", "Maior sequência") sem reticências. */
.pvpz-rank .c-kills { width: 150px; }
.pvpz-rank .c-deaths { width: 96px; }
.pvpz-rank .c-kd { width: 72px; }
.pvpz-rank .c-seq { width: 140px; }
.pvpz-rank td.is-kills { color: var(--pvpz-green); }
.pvpz-rank-name { overflow: hidden; text-overflow: ellipsis; }
.pvpz-rank-medal { display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #fff8, transparent 45%), var(--pvpz-bronze); color: #1a1208; font: 900 11px/1 Georgia, serif; box-shadow: inset 0 -2px 0 rgba(0, 0, 0, .25); }
.pvpz-rank tr.is-top1 .pvpz-rank-medal { background: radial-gradient(circle at 35% 30%, #fff8, transparent 45%), var(--pvpz-ouro); }
.pvpz-rank tr.is-top2 .pvpz-rank-medal { background: radial-gradient(circle at 35% 30%, #fff8, transparent 45%), var(--pvpz-prata); }
.pvpz-rank tbody tr.is-me td { background: rgba(242, 193, 78, .15); color: #fff; }
.pvpz-rank tbody tr.is-me td:first-child { box-shadow: inset 3px 0 0 var(--pvpz-gold); }
.pvpz-you { display: inline-block; margin-left: 6px; padding: 2px 6px; border-radius: 999px; background: var(--pvpz-gold); color: #1a1208; font-size: 9px; font-weight: 900; letter-spacing: .04em; vertical-align: 1px; }
.pvpz-short { display: none; }

@media (max-width: 720px) {
  .pvpz-tab { font-size: 11px; letter-spacing: .04em; }
  .pvpz-here { padding: 8px 10px; gap: 8px; }
  .pvpz-here-stats { flex: 1 1 100%; order: 2; gap: 4px; }
  .pvpz-here-stat { padding: 3px 6px; }
  .pvpz-here-stat small { display: none; }
  .pvpz-here-leave { order: 1; min-height: 32px; padding: 6px 10px; font-size: 11px; }
  .pvpz-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
  .pvpz-stat { padding: 8px; }
  .pvpz-stat b { font-size: 18px; }
  .pvpz-stat small { font-size: 9px; letter-spacing: .02em; }
  .pvpz-block { padding: 10px 8px; }
  .pvpz-fight { grid-template-columns: 62px minmax(0, 1fr) auto; gap: 6px; padding: 7px 8px; }
  .pvpz-outcome { font-size: 10px; letter-spacing: .02em; }
  .pvpz-table td, .pvpz-table th { padding-inline: 3px; }
  .pvpz-table .c-num { width: 44px; }
  .pvpz-table .c-when { width: 82px; }
  .pvpz-rank .c-pos { width: 30px; }
  .pvpz-rank .c-num, .pvpz-rank .c-kills, .pvpz-rank .c-deaths, .pvpz-rank .c-seq { width: 42px; }
  .pvpz-rank .c-kd { width: 44px; }
  .pvpz-long { display: none; }
  .pvpz-short { display: inline; }
  .pvpz-you { margin-left: 3px; padding: 1px 4px; font-size: 8px; }
}
@media (max-width: 480px) {
  .pvpz-overlay { padding: 8px; }
  .pvpz-dialog { gap: 10px; padding: 12px; border-radius: 16px; }
}

/* Aba ÁREAS no celular (dono 10/10, "melhore essa tela"). */
@media (max-width: 720px) {
  /* Cabeçalho em duas linhas: título + × em cima, Glória + LOJA DA ZONA embaixo (antes o título quebrava em 5 linhas). */
  .pvpz-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "title close" "glory shop"; gap: 8px; }
  .pvpz-head .pvpz-title { grid-area: title; }
  .pvpz-head .pvpz-title small, .pvpz-head .pvpz-title h2 { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .pvpz-head .pvpz-title h2 { font-size: 22px; }
  .pvpz-head .pvpz-close { grid-area: close; }
  .pvpz-head .pvpz-glory { grid-area: glory; justify-self: start; }
  .pvpz-head .pvpz-glory span { display: inline; }
  .pvpz-head .pvpz-btn.is-shop { grid-area: shop; }
  .pvpz-rules { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; }
  .pvpz-rules li { gap: 6px; padding: 6px 7px; }
  .pvpz-rules i { width: 24px; height: 24px; font-size: 13px; }
  .pvpz-rules b { font-size: 11px; }
  .pvpz-rules small { font-size: 10px; }
  .pvpz-hero { min-height: 96px; }
}

/* ---------------------------------------------------------------- correções 10/10
   Trava diária de abates pagos no bloco "você está na Área X" (linha própria embaixo, nos dois tamanhos), nota "buffs
   não somam" no bloco de Pokécoins do cartão (segunda linha curta: cabe nas 2 colunas de um celular de 375 px) e a
   etiqueta "não contou para o ranking" no histórico. */
.pvpz-here-daily, .pvpz-here-cap { flex: 1 1 100%; order: 3; margin: 0; font-size: 12px; font-weight: 700; line-height: 1.4; }
.pvpz-here-daily { color: var(--pvpz-muted); }
.pvpz-here-daily b { color: var(--pvpz-ink); font-variant-numeric: tabular-nums; }
.pvpz-here-daily.is-capped b { color: #ffb4ad; }
.pvpz-here-cap { padding: 7px 10px; border: 1px solid rgba(226, 82, 75, .5); border-radius: 10px; background: rgba(226, 82, 75, .12); color: #ffd0cb; }
.pvpz-tiles .pvpz-tile-note { color: #e8c98f; font-size: 9px; font-weight: 800; letter-spacing: .02em; }
.pvpz-uncounted { display: inline-block; max-width: 100%; margin-top: 3px; padding: 1px 7px; overflow: hidden; border: 1px solid rgba(255, 255, 255, .12); border-radius: 999px; background: rgba(255, 255, 255, .05); color: var(--pvpz-muted); font-size: 10px; font-style: normal; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 720px) {
  .pvpz-here-daily, .pvpz-here-cap { font-size: 11px; }
  .pvpz-here-cap { padding: 6px 8px; }
  .pvpz-uncounted { font-size: 9px; padding: 1px 5px; }
}
