/* =====================================================================
   PETS — menu do pet na arena (opção C) e Loja de Pets (opção A)
   ---------------------------------------------------------------------
   Escolhas do autor em 30/09. O menu da arena é um cartão com 4 medalhas
   (vida, dano, cura, protege), o especial com a contagem e dois botões que
   levam para a Loja; abre centralizado no pet (a posição vem do JS, em
   `placeBattlePetSheet`). A Loja perdeu o banner da vendedora e os quadrões
   de saldo; ficou "Vitrine": Meu Pet, Expedições e Coleção.
   `--pet-porte` (game.js, PET_PORTE) deixa bicho grande até 35% maior (25/10).
   ===================================================================== */
:root{
  --pt-bg:#101826; --pt-bg2:#0b111c; --pt-line:#2a3c58; --pt-line2:#1d2a40;
  --pt-txt:#e9eef7; --pt-mut:#9fb0c8; --pt-gold:#e7b54a; --pt-gold2:#b98520; --pt-goldtxt:#241603;
  --pt-hp:#4fc76f; --pt-esp:#6fa8ff; --pt-vin:#b27cff; --pt-bad:#ff8a7a;
  --pt-atk:#ff8a66; --pt-gua:#6bb8ff; --pt-sup:#73dfa0; --pt-cac:#e7b54a;
}

/* ---------- peças comuns ---------- */
/* A arte dos pets é grande (768 px): sem o scale(1.12) e o pixelated do cartão antigo. */
.pet-sheet .pet-sheet-img,#merchantView .pet-shop-art{transform:none!important;image-rendering:auto!important}
.pet-sheet .col-icone img,.pets-v2 .col-icone img{width:1.25em;height:1.25em;object-fit:contain;vertical-align:-.22em}
.pet-sheet-med{display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr));gap:8px}
.pet-sheet-med>div{min-width:0;text-align:center;padding:9px 4px 8px;border-radius:12px;background:#131c2c;border:1px solid var(--pt-line2)}
.pet-sheet-med span{display:block;font-size:calc(19px * var(--text-scale, 1));line-height:1.1}
.pet-sheet-med span .col-icone img{width:24px;height:24px;vertical-align:middle}
.pet-sheet-med strong{display:block;margin-top:3px;color:var(--pt-txt);font-size:calc(16px * var(--text-scale, 1));font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pet-sheet-med small{display:block;color:var(--pt-mut);font-size:calc(11px * var(--text-scale, 1))}

/* ---------- ARENA: o pet cresce pelo porte, com os pés no mesmo lugar ---------- */
/* 06/10 (autor, Android com texto a 130%): o tamanho do TEXTO não mexe na arte da arena. Com --ui-scale o Corvo e o pet
   ficavam 30% maiores que no PC; o herói e os monstros nunca seguiram o texto. */
.battle-arena .pet-battle-art{height:calc(62px * var(--pet-porte, 1))!important}

/* O menu: a caixa externa (#battlePetPopover) só carrega o cartão. */
#battlePetPopover.battle-pet-popover{width:auto!important;max-width:calc(100vw - 16px)!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important;overflow:visible!important}
.pet-sheet{box-sizing:border-box;width:380px;max-width:calc(100vw - 16px);padding:14px;border:1px solid var(--pt-line);border-radius:16px;background:linear-gradient(180deg,var(--pt-bg),var(--pt-bg2));box-shadow:0 18px 44px rgba(0,0,0,.55);color:var(--pt-txt);text-align:left}
.pet-sheet *{box-sizing:border-box}
.pet-sheet-head{display:grid;grid-template-columns:64px minmax(0,1fr) 36px;gap:12px;align-items:center;margin-bottom:12px}
.pet-sheet-art{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 60%,#27344d,#121a29);box-shadow:0 0 0 3px #223049,0 0 0 5px var(--pt-hp)}
.pet-sheet-art.is-defeated{box-shadow:0 0 0 3px #223049,0 0 0 5px var(--pt-bad);filter:grayscale(.7)}
.pet-sheet-art.is-mission{box-shadow:0 0 0 3px #223049,0 0 0 5px var(--pt-esp)}
.pet-sheet-art img,.pet-sheet-art .pet-art-fallback{width:calc(82% * var(--pet-porte, 1));height:calc(82% * var(--pet-porte, 1));max-width:100%;max-height:100%;object-fit:contain;font-size:30px;line-height:1;display:grid;place-items:center}
.pet-sheet-name{min-width:0}
.pet-sheet-name strong{display:block;font-size:calc(18px * var(--text-scale, 1));line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pet-sheet-name>div{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin-top:3px}
.pet-sheet .pet-stars{font-size:calc(14px * var(--text-scale, 1))!important}
.pet-sheet-tag,.pa-tag{display:inline-block;padding:1px 8px;border-radius:20px;font-size:calc(10.5px * var(--text-scale, 1));font-weight:800;letter-spacing:.06em;background:#16301f;color:#7fe39a}
.pet-sheet-tag.is-defeated,.pa-tag.is-defeated{background:#3a1a18;color:var(--pt-bad)}
.pet-sheet-tag.is-mission,.pa-tag.is-mission{background:#162640;color:var(--pt-esp)}
.pet-sheet .pet-sheet-close{width:36px;height:36px;padding:0;align-self:start;justify-self:end;border-radius:10px;border:1px solid var(--pt-line);background:#141d2e;color:var(--pt-txt);font-size:20px;line-height:1;display:grid;place-items:center}
.pet-sheet-special{display:flex;gap:10px;align-items:center;margin-top:12px;padding:10px 12px;border-radius:12px;background:#122036;border:1px solid #274268}
.pet-sheet-special>div{flex:1;min-width:0}
.pet-sheet-special-top{display:flex;justify-content:space-between;gap:8px;font-size:calc(12.5px * var(--text-scale, 1));margin-bottom:5px}
.pet-sheet-special-top b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pet-sheet-special-top span{color:var(--pt-mut);white-space:nowrap}
.pet-sheet-bar,.pa-bar{height:8px;border-radius:8px;background:#1b2537;overflow:hidden}
.pet-sheet-bar i,.pa-bar i{display:block;height:100%;border-radius:8px;background:linear-gradient(90deg,#3c7de0,#93c2ff)}
.pet-sheet-down,.pa-down{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;justify-content:space-between;margin-top:12px;padding:10px 12px;border-radius:12px;background:#2a1414;border:1px solid #5a2622;font-size:calc(12.5px * var(--text-scale, 1))}
.pet-sheet-down button,.pa-down button{min-height:36px;padding:0 12px;border-radius:9px;background:var(--botao-ouro-fundo);color:var(--botao-ouro-texto);font-size:calc(11.5px * var(--text-scale, 1))}
.pet-sheet-down .pet-auto-pausa,.pa-down .pet-auto-pausa{flex-basis:100%;color:#f0c27a;font-size:calc(11px * var(--text-scale, 1));line-height:1.35;overflow-wrap:anywhere}
.pet-sheet-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.pet-sheet-actions button{min-height:42px;padding:0 10px;border-radius:11px;border:1px solid var(--pt-line);background:#172338;color:var(--pt-txt);font-size:calc(12.5px * var(--text-scale, 1));letter-spacing:.04em;display:flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}
.pet-sheet-actions button.is-gold{background:var(--botao-ouro-fundo);color:var(--botao-ouro-texto);border-color:var(--botao-ouro-borda)}
.pet-sheet-lock{margin-top:12px;padding:11px 12px;border-radius:11px;border:1px dashed #3a4b68;color:var(--pt-mut);text-align:center;font-size:calc(12.5px * var(--text-scale, 1));line-height:1.4}
.pet-sheet-lock b{color:var(--pt-gold)}
@media (max-width:420px){
  .pet-sheet{width:calc(100vw - 16px);padding:12px}
  .pet-sheet-head{grid-template-columns:56px minmax(0,1fr) 36px;gap:10px}
  .pet-sheet-art{width:56px;height:56px}
  .pet-sheet-med{gap:6px}
}

/* ---------- LOJA DE PETS (opção A) ---------- */
#merchantView.pets-v2{max-width:1180px;margin:0 auto;color:var(--pt-txt)}
#merchantView.pets-v2 *{box-sizing:border-box}
#merchantView .pets-topo{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;margin:0 0 14px}
#merchantView .pets-topo h2{margin:0;font-size:calc(26px * var(--text-scale, 1));color:var(--pt-txt)}
#merchantView .pets-saldo{display:flex;flex-wrap:wrap;gap:8px}
#merchantView .pets-saldo>span{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:30px;background:#141e30;border:1px solid var(--pt-line2);color:var(--pt-mut);font-size:calc(13px * var(--text-scale, 1));font-variant-numeric:tabular-nums}
#merchantView .pets-saldo strong{color:var(--pt-txt);font-size:calc(14px * var(--text-scale, 1))}
#merchantView .vendor-subtabs.pets-abas{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-auto-flow:row!important;gap:4px!important;margin:0 0 16px!important;padding:4px;border-radius:12px;background:#0f1726;border:1px solid var(--pt-line2)}
#merchantView .pets-abas .vendor-subtab{min-height:42px;padding:8px 6px!important;border:0!important;border-radius:9px!important;background:transparent!important;color:var(--pt-mut)!important;font-size:calc(14px * var(--text-scale, 1))!important;box-shadow:none!important}
#merchantView .pets-abas .vendor-subtab.active{background:#1e2b44!important;color:var(--pt-txt)!important;box-shadow:inset 0 -2px 0 var(--pt-gold)!important}
#merchantView .pets-corpo{display:block}
#merchantView .pets-painel{display:grid;gap:16px}
#merchantView .pets-painel.hidden{display:none!important}
#merchantView .pa-meu{display:grid;gap:16px}
#merchantView .pa-card{position:relative;min-width:0;padding:18px;border:1px solid var(--pt-line);border-radius:14px;background:var(--pt-bg)}
#merchantView .pa-card h4{margin:0 0 12px;font-size:calc(12.5px * var(--text-scale, 1));letter-spacing:.12em;text-transform:uppercase;color:var(--pt-gold)}
#merchantView .pa-card small{display:block;color:var(--pt-mut);font-size:calc(12.5px * var(--text-scale, 1));line-height:1.45}
#merchantView .pa-empty{color:var(--pt-mut);text-align:center}
#merchantView .pa-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:42px;padding:6px 14px;border-radius:10px;border:1px solid var(--pt-line);background:#172338;color:var(--pt-txt);font-size:calc(12.5px * var(--text-scale, 1));letter-spacing:.04em;line-height:1.2;text-align:center}
#merchantView .pa-btn.is-gold{background:var(--botao-ouro-fundo);color:var(--botao-ouro-texto);border-color:var(--botao-ouro-borda)}
#merchantView .pa-btn:disabled{opacity:.45}
#merchantView .pa-role{display:inline-block;padding:1px 8px;border-radius:20px;border:1px solid currentColor;font-size:calc(10.5px * var(--text-scale, 1));font-weight:800;letter-spacing:.08em;text-transform:uppercase}
/* PET DE VERDADE (10/10): raridade e bonus do heroi no cartao da Colecao; 10 estrelas cabem numa linha. */
#merchantView .pa-rar{display:inline-block;margin-left:4px;padding:1px 8px;border-radius:20px;border:1px solid currentColor;font-size:calc(10.5px * var(--text-scale, 1));font-weight:800;letter-spacing:.06em;text-transform:uppercase}
#merchantView .pa-rar.r-comum{color:#b9c2cf}#merchantView .pa-rar.r-raro{color:#6fb8ff}#merchantView .pa-rar.r-epico{color:#c58bff}#merchantView .pa-rar.r-lendario{color:#ffb547}
#merchantView .pa-heroi{display:block;margin-top:4px;color:#ffd76a;font-size:calc(11.5px * var(--text-scale, 1));line-height:1.35;overflow-wrap:anywhere}
.pet-stars{white-space:nowrap}
#merchantView .r-ataque{color:var(--pt-atk)}#merchantView .r-guardiao{color:var(--pt-gua)}#merchantView .r-suporte{color:var(--pt-sup)}#merchantView .r-cacador{color:var(--pt-cac)}
#merchantView .pa-bar.is-hp i{background:linear-gradient(90deg,#34a152,#72e08e)}
#merchantView .pa-bar.is-vin i{background:linear-gradient(90deg,#8753dc,#caa2ff)}
#merchantView .pa-bar.is-gold i{background:linear-gradient(90deg,var(--pt-gold2),#f3c75e)}
#merchantView .is-ok{color:var(--pt-hp)}#merchantView .is-no{color:var(--pt-bad)}#merchantView .is-gold{color:var(--pt-gold)}#merchantView .pa-mut{color:var(--pt-mut)}

/* Meu Pet: herói */
#merchantView .pa-hero{display:grid;grid-template-columns:170px minmax(0,1fr);gap:22px;align-items:center}
#merchantView .pa-hero-art{width:170px;height:170px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 62%,#26344e,#111a2a 70%);box-shadow:0 0 0 4px #223049,0 0 0 7px var(--pt-hp)}
#merchantView .pa-hero-art.is-defeated{box-shadow:0 0 0 4px #223049,0 0 0 7px var(--pt-bad)}
#merchantView .pa-hero-art.is-defeated img{filter:grayscale(.75)}
#merchantView .pa-hero-art.is-mission{box-shadow:0 0 0 4px #223049,0 0 0 7px var(--pt-esp)}
#merchantView .pa-hero-art img,#merchantView .pa-hero-art .pet-art-fallback{width:calc(76% * var(--pet-porte, 1));height:calc(76% * var(--pet-porte, 1));max-width:96%;max-height:96%;object-fit:contain;font-size:64px;display:grid;place-items:center}
#merchantView .pa-hero-info{min-width:0;display:grid;gap:10px}
#merchantView .pa-hero-info h3{margin:0;font-size:calc(26px * var(--text-scale, 1));color:var(--pt-txt);overflow-wrap:anywhere}
#merchantView .pa-sub{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
#merchantView .pa-sub .pet-stars{font-size:calc(16px * var(--text-scale, 1))!important}
#merchantView .pa-hp{display:flex;justify-content:space-between;gap:10px;font-size:calc(13px * var(--text-scale, 1));margin-bottom:-4px}
#merchantView .pa-hp b{font-variant-numeric:tabular-nums}
#merchantView .pa-esp{display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:8px;align-items:baseline;padding:10px 12px;border-radius:10px;background:#122036;border:1px solid #274268}
#merchantView .pa-esp small{text-align:right}
#merchantView .pa-desc{margin:0;color:var(--pt-mut);font-size:calc(13px * var(--text-scale, 1));line-height:1.5}
#merchantView .pa-desc span{color:var(--pt-txt)}

/* Meu Pet: Estrela e Vínculo */
#merchantView .pa-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
#merchantView .pa-star{display:grid;gap:12px}
/* 2467 ASCENSAO DO PET (visual A): cartao embaixo da Estrela, 10 losangos de cristal */
#merchantView .pa-col{display:grid;gap:16px;min-width:0}
#merchantView .pa-asc{display:grid;gap:12px}
#merchantView .pa-asc h4{margin:0}
#merchantView .pa-asc .pa-cmp b{white-space:normal;text-align:right}
#merchantView .pa-asc-dia{display:flex;justify-content:center;gap:clamp(5px,1.2vw,9px);padding:6px 0}
#merchantView .pa-asc-dia i{flex:0 1 22px;aspect-ratio:1;max-width:22px;min-width:12px;transform:rotate(45deg);background:#1b2433;border:1px solid #2c3a52;border-radius:3px}
#merchantView .pa-asc-dia i.on{background:linear-gradient(135deg,#d2ecff,#3a7bd5 70%);border-color:#bfe3ff;box-shadow:0 0 10px #4aa3ffaa}
#merchantView .pa-asc-dia i.next{border:2px dashed #9fd6ff}
/* 2604: Ascensão Dourada (11 a 20): o losango já ganho fica dourado; o próximo continua azul com o tracejado dourado */
#merchantView .pa-asc-dia i.on2{background:linear-gradient(135deg,#fff3c4,#d9a521 70%);border-color:#ffe08a;box-shadow:0 0 10px #f0b93aaa}
#merchantView .pa-asc-dia.is-dourada i.next{border:2px dashed #ffd76a}
#merchantView .pa-star h4{margin:0}
#merchantView .pa-cmp{display:grid;gap:8px}
#merchantView .pa-cmp div,#merchantView .pa-need div{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:calc(13.5px * var(--text-scale, 1))}
#merchantView .pa-cmp b{font-variant-numeric:tabular-nums;white-space:nowrap}
#merchantView .pa-cmp em{font-style:normal;color:var(--pt-hp)}
#merchantView .pa-need{display:grid;gap:6px}
#merchantView .pa-need div{padding:8px 10px;border-radius:9px;background:#131c2c}
#merchantView .pa-need div.is-ok b{color:var(--pt-hp)}#merchantView .pa-need div.is-no b{color:var(--pt-bad)}
#merchantView .pa-need div span{color:var(--pt-txt)}
#merchantView .pa-hint{margin-top:-6px}
#merchantView .pa-star-max{display:grid;gap:8px}#merchantView .pa-star-max p{margin:0;color:var(--pt-mut)}
#merchantView .pa-vin-top{display:flex;gap:14px;align-items:center;margin-bottom:12px}
#merchantView .pa-vin-top b{font-size:calc(15px * var(--text-scale, 1))}
#merchantView .pa-ring{flex:none;width:78px;height:78px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--pt-vin) var(--p,0deg),#1b2537 0)}
#merchantView .pa-ring span{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:var(--pt-bg);font-size:calc(21px * var(--text-scale, 1));font-weight:800}
#merchantView .pa-vin-next{display:flex;justify-content:space-between;font-size:calc(12.5px * var(--text-scale, 1));color:var(--pt-mut);margin-bottom:5px}
#merchantView .pa-enfeites{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:6px}
#merchantView .pa-enfeites li{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:38px;padding:6px 10px;border-radius:9px;background:#131c2c;font-size:calc(13px * var(--text-scale, 1))}
#merchantView .pa-enfeites li span{min-width:0;overflow-wrap:anywhere}
#merchantView .pa-enfeites li span b{display:block;font-weight:inherit}
#merchantView .pa-enfeites li span small.pa-enfeite-dica{display:block;margin-top:2px;color:var(--pt-mut);font-size:calc(11px * var(--text-scale, 1));line-height:1.3}
#merchantView .pa-enfeites li.is-locked{color:var(--pt-mut)}
#merchantView .pa-enfeites li em{font-style:normal;color:var(--pt-mut);white-space:nowrap}
#merchantView .pa-enfeites li button{flex:none;min-height:30px;padding:0 12px;border-radius:8px;background:var(--botao-ouro-fundo);color:var(--botao-ouro-texto);font-size:calc(11px * var(--text-scale, 1))}
#merchantView .pa-enfeites li.is-active button{background:#2a3b24;color:#9fe3a0}
/* Meu Pet: Vitalidade dos Pets (04/10) */
#merchantView .pa-vit{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;align-items:start}
#merchantView .pa-vit h4{grid-column:1/-1;margin:0}
#merchantView .pa-vit .pa-hint{grid-column:1/-1;margin-top:-4px}
#merchantView .pa-vit-nivel{grid-column:1/-1;display:grid;gap:5px}
#merchantView .pa-vit-nivel span{font-size:calc(12.5px * var(--text-scale, 1));color:var(--pt-mut)}
#merchantView .pa-bar.is-vit i{background:linear-gradient(90deg,#c0392b,#ff8a7a)}
#merchantView .pa-vit .pa-btn{grid-column:1/-1}
#merchantView .pa-joia{width:18px;height:18px;object-fit:contain;vertical-align:-4px}
#merchantView .pa-opt{display:flex;align-items:center;gap:16px}
#merchantView .pa-opt>div{flex:1;min-width:0}
#merchantView .pa-switch{position:relative;flex:none;width:54px;height:30px;cursor:var(--cur-mao,pointer)}
#merchantView .pa-switch input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:var(--cur-mao,pointer);z-index:1}
#merchantView .pa-switch span{position:absolute;inset:0;border-radius:30px;background:#2a354a;transition:background .15s}
#merchantView .pa-switch span::after{content:"";position:absolute;left:4px;top:4px;width:22px;height:22px;border-radius:50%;background:#d3dbe8;transition:left .15s}
#merchantView .pa-switch input:checked+span{background:#35a353}
#merchantView .pa-switch input:checked+span::after{left:28px}
#merchantView .pa-switch input:focus-visible+span{outline:2px solid var(--pt-esp);outline-offset:2px}

/* Expedições */
#merchantView .pa-exp{display:grid;gap:16px}
#merchantView .pa-exh{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:14px;align-items:center}
#merchantView .pa-exh-art{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 62%,#26344e,#111a2a 70%)}
#merchantView .pa-exh-art img{width:calc(80% * var(--pet-porte, 1));height:calc(80% * var(--pet-porte, 1));max-width:100%;max-height:100%;object-fit:contain}
#merchantView .pa-exh-txt{min-width:0}
#merchantView .pa-chip{display:inline-block;padding:6px 12px;border-radius:30px;background:#141e30;border:1px solid var(--pt-line2);font-size:calc(12.5px * var(--text-scale, 1));font-weight:700;white-space:nowrap}
#merchantView .pa-ready{display:flex;gap:14px;align-items:center;border-color:var(--pt-hp)}
#merchantView .pa-ready>div{flex:1}
#merchantView .pa-ready .pa-btn{width:auto;min-width:140px}
#merchantView .pa-ex3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
#merchantView .pa-ex{display:flex;flex-direction:column;gap:9px}
#merchantView .pa-ex-ic{font-size:28px;line-height:1}
#merchantView .pa-ex-nome{font-size:calc(17px * var(--text-scale, 1))}
#merchantView .pa-ex-t{font-size:calc(34px * var(--text-scale, 1));font-weight:800;line-height:1;color:var(--pt-txt)}
#merchantView .pa-ex-t small{display:inline;margin-left:5px;font-size:calc(13px * var(--text-scale, 1));font-weight:600}
#merchantView .pa-ex-rw{color:var(--pt-mut);font-size:calc(13px * var(--text-scale, 1))}
#merchantView .pa-ex-rw b{color:var(--pt-txt)}
#merchantView .pa-ex-state{color:var(--pt-mut);font-size:calc(12.5px * var(--text-scale, 1))}
#merchantView .pa-ex .pa-btn{margin-top:auto}
#merchantView .pa-ex.is-running{border-color:var(--pt-esp);box-shadow:inset 0 0 0 1px var(--pt-esp)}
#merchantView .pa-ex.level-locked{opacity:.6}

/* Coleção */
#merchantView .pa-col-sum{display:grid;gap:12px;margin-bottom:14px}
#merchantView .pa-col-top{display:grid;gap:10px}
#merchantView .pa-col-txt{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;align-items:baseline}
#merchantView .pa-col-txt b{font-size:calc(15px * var(--text-scale, 1))}
#merchantView .pa-flt{display:flex;flex-wrap:wrap;gap:6px}
#merchantView .pa-flt button{min-height:34px;padding:0 13px;border-radius:20px;border:1px solid var(--pt-line);background:#131c2c;color:var(--pt-mut);font-size:calc(12.5px * var(--text-scale, 1))}
#merchantView .pa-flt button.active{background:var(--botao-ouro-fundo);color:var(--botao-ouro-texto);border-color:var(--botao-ouro-borda)}
#merchantView .pa-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
#merchantView .pa-pc{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid var(--pt-line);border-radius:14px;background:var(--pt-bg)}
#merchantView .pa-pc.active{border-color:var(--pt-hp)}
#merchantView .pa-pc.can-unlock{border-color:var(--pt-gold)}
#merchantView .pa-pc-art{aspect-ratio:1/1;max-width:100%;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 62%,#26344e,#111a2a 70%)}
#merchantView .pa-pc-art img,#merchantView .pa-pc-art .pet-art-fallback{width:calc(78% * var(--pet-porte, 1));height:calc(78% * var(--pet-porte, 1));max-width:96%;max-height:96%;object-fit:contain;font-size:54px;display:grid;place-items:center}
#merchantView .pa-pc.pet-collection-locked .pa-pc-art img{filter:brightness(0) opacity(.55)}
#merchantView .pa-pc.can-unlock .pa-pc-art img{filter:brightness(.35) saturate(.4)}
#merchantView .pa-pc-b{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:10px 12px 12px;min-width:0}
#merchantView .pa-pc-b strong{font-size:calc(15px * var(--text-scale, 1));line-height:1.25;overflow-wrap:anywhere}
#merchantView .pa-pc-st{font-size:calc(12.5px * var(--text-scale, 1));line-height:1.35}
/* O que falta para liberar (10/10): cada exigencia com o que o jogador tem, vermelha quando falta. */
#merchantView .pa-pc-falta{display:grid;gap:2px;width:100%;font-size:calc(12px * var(--text-scale, 1));line-height:1.35}
#merchantView .pa-pc-falta>b{color:var(--pt-mut);font-weight:600}
#merchantView .pa-pc-falta>span{font-weight:700;color:var(--pt-txt);overflow-wrap:anywhere}
#merchantView .pa-pc-falta>span em{font-style:normal;font-weight:400;color:var(--pt-mut)}
#merchantView .pa-pc-falta>span.falta,#merchantView .pa-pc-falta>span.falta em{color:var(--pt-bad)}
#merchantView .pa-pc-falta .col-icone{font-style:normal}#merchantView .pa-pc-falta .col-icone img{width:1.15em;height:1.15em;object-fit:contain;vertical-align:-.2em}
#merchantView .pa-pc-acts{display:grid;gap:6px;width:100%;margin-top:auto;padding-top:4px}
#merchantView .pa-pc-acts .pa-btn{min-height:36px;padding:4px 8px;font-size:calc(11.5px * var(--text-scale, 1))}
/* O QUE O PET FAZ (05/10): números reais de 1★ a 5★, para comparar antes de liberar. */
#merchantView .pa-col-dica{margin:0;color:var(--pt-mut);font-size:calc(12px * var(--text-scale, 1));line-height:1.45}
#merchantView .pa-faz{width:100%;display:grid;gap:6px;padding:8px 0 2px;border-top:1px solid var(--pt-line2)}
#merchantView .pa-faz p{margin:0}
#merchantView .pa-faz-frase{color:var(--pt-txt);font-size:calc(12px * var(--text-scale, 1));line-height:1.35}
#merchantView .pa-faz ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
#merchantView .pa-faz li{display:grid;grid-template-columns:20px minmax(0,1fr);column-gap:6px;align-items:start;line-height:1.3}
#merchantView .pa-faz-i{grid-row:span 2;display:grid;place-items:center;width:20px;height:20px;font-size:14px}
#merchantView .pa-faz-i img,#merchantView .pa-faz-i .col-icone img{width:18px;height:18px;object-fit:contain;vertical-align:middle}
#merchantView .pa-faz li b{font-size:calc(13px * var(--text-scale, 1));color:var(--pt-txt);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
#merchantView .pa-faz li small,#merchantView .pa-faz-esp p small{color:var(--pt-mut);font-size:calc(11px * var(--text-scale, 1));overflow-wrap:anywhere}
#merchantView .pa-faz-esp{display:grid;gap:4px;padding:6px 8px;border-radius:10px;background:#131c2c;border:1px solid var(--pt-line2)}
#merchantView .pa-faz-esp p{display:grid;grid-template-columns:20px minmax(0,1fr);column-gap:6px;line-height:1.3}
#merchantView .pa-faz-esp p span{grid-row:span 2;text-align:center}
#merchantView .pa-faz-esp p b{color:var(--pt-esp);font-size:calc(12.5px * var(--text-scale, 1));overflow-wrap:anywhere}

@media (max-width:760px){
  #merchantView .pets-topo h2{font-size:calc(22px * var(--text-scale, 1))}
  #merchantView .pets-saldo{width:100%}
  #merchantView .pets-saldo>span{flex:1 1 auto;justify-content:center;padding:6px 8px}
  #merchantView .pa-card{padding:14px}
  #merchantView .pa-hero{grid-template-columns:1fr;justify-items:center;text-align:center;gap:14px}
  #merchantView .pa-hero-art{width:132px;height:132px}
  #merchantView .pa-hero-info{width:100%}
  #merchantView .pa-sub{justify-content:center}
  #merchantView .pa-esp{grid-template-columns:auto minmax(0,1fr);text-align:left}
  #merchantView .pa-esp small{grid-column:1/-1;text-align:left}
  #merchantView .pa-two,#merchantView .pa-ex3,#merchantView .pa-vit{grid-template-columns:1fr}
  #merchantView .pa-exh{grid-template-columns:48px minmax(0,1fr)}
  #merchantView .pa-exh-art{width:48px;height:48px}
  #merchantView .pa-exh .pa-chip{grid-column:1/-1;white-space:normal;text-align:center}
  #merchantView .pa-ready{flex-wrap:wrap}
  #merchantView .pa-ready .pa-btn{width:100%}
  #merchantView .pa-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  #merchantView .pa-pc-b{padding:8px 10px 10px}
}
/* CORVO E CAVALO DO DL: NÍVEL (06/10, "minimalista"). Selo do nível no nome, barra de EXP e
   duas frases curtas; o resto da janela é o de sempre (.battle-pet-popover). */
#battleCompanionPopover .comp-nivel{margin-left:6px;padding:1px 7px;border:1px solid #6b5a2a;border-radius:999px;background:#2a2312;color:#f3cf72;font-style:normal;font-size:calc(11px * var(--text-scale, 1));font-weight:800;vertical-align:2px;white-space:nowrap}
#battleCompanionPopover .comp-exp{margin:8px 0 4px}
#battleCompanionPopover .comp-exp-topo{display:flex;justify-content:space-between;gap:8px;font-size:calc(11px * var(--text-scale, 1));color:#aebbd4}
#battleCompanionPopover .comp-exp-topo b{color:#f3cf72;font-variant-numeric:tabular-nums}
#battleCompanionPopover .comp-exp-barra{display:block;height:6px;margin-top:4px;border-radius:999px;background:#1c2638;overflow:hidden}
#battleCompanionPopover .comp-exp-barra>i{display:block;height:100%;min-width:2px;border-radius:inherit;background:linear-gradient(90deg,#b8862b,#f3cf72)}
#battleCompanionPopover .comp-exp-como,#battleCompanionPopover .comp-por-nivel,#battleCompanionPopover .comp-pvp{margin:4px 0 6px;font-size:calc(11px * var(--text-scale, 1));line-height:1.4;color:#93a3bf}
#battleCompanionPopover .comp-por-nivel{color:#d8c48e}
#battleCompanionPopover .comp-pvp{margin:8px 0 0;color:#93a3bf}

/* ---------- ÁLBUM DE PETS (10/10): uma folha por família, 3 páginas ---------- */
#merchantView .pa-grid.is-album{grid-template-columns:repeat(2,minmax(0,1fr))}
#merchantView .pa-alb-top{grid-column:1/-1;display:grid;gap:6px}
#merchantView .pa-alb-top>b{font-size:calc(17px * var(--text-scale, 1));color:var(--pt-txt)}
#merchantView .pa-alb-top small{color:var(--pt-mut);line-height:1.4}
#merchantView .pa-alb-total{margin:4px 0 0;color:var(--pt-mut)}
#merchantView .pa-alb-total b{color:var(--pt-gold)}
#merchantView .pa-alb{display:grid;gap:12px;border-top:3px solid var(--pa-alb-cor,var(--pt-line))}
#merchantView .pa-alb-ataque{--pa-alb-cor:var(--pt-atk)}
#merchantView .pa-alb-guardiao{--pa-alb-cor:var(--pt-gua)}
#merchantView .pa-alb-suporte{--pa-alb-cor:var(--pt-sup)}
#merchantView .pa-alb-cacador{--pa-alb-cor:var(--pt-cac)}
#merchantView .pa-alb header{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
#merchantView .pa-alb header b{color:var(--pa-alb-cor);font-size:calc(15px * var(--text-scale, 1))}
#merchantView .pa-alb-pets{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
#merchantView .pa-alb-pets li{min-width:0;display:grid;justify-items:center;gap:3px;text-align:center}
#merchantView .pa-alb-art{width:100%;max-width:76px;aspect-ratio:1;display:grid;place-items:center;overflow:hidden;border-radius:12px;background:radial-gradient(circle at 50% 60%,#27344d,#121a29);border:1px solid var(--pt-line2)}
#merchantView .pa-alb-art .pet-shop-art{width:100%;height:100%;object-fit:contain}
#merchantView .pa-alb-pets li.is-falta .pa-alb-art .pet-shop-art{filter:brightness(0) opacity(.55)}
#merchantView .pa-alb-pets b{max-width:100%;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.2;overflow-wrap:anywhere;color:var(--pt-txt);font-size:calc(11.5px * var(--text-scale, 1))}
#merchantView .pa-alb-pets small{color:var(--pt-gold);font-size:calc(11px * var(--text-scale, 1));white-space:nowrap}
#merchantView .pa-alb-pets li.is-falta small{color:var(--pt-mut)}
#merchantView .pa-alb-pgs{list-style:none;margin:0;padding:0;display:grid;gap:6px}
#merchantView .pa-alb-pgs li{display:grid;grid-template-columns:44px minmax(0,1fr);grid-template-areas:"n t" "n b";column-gap:8px;align-items:center;padding:7px 10px;border-radius:10px;background:#131c2c;border:1px solid var(--pt-line2);opacity:.7}
#merchantView .pa-alb-pgs li span{grid-area:n;text-align:center;font-variant-numeric:tabular-nums;color:var(--pt-mut);font-weight:700}
#merchantView .pa-alb-pgs li b{grid-area:t;color:var(--pt-txt);font-size:calc(12.5px * var(--text-scale, 1))}
#merchantView .pa-alb-pgs li small{grid-area:b;color:var(--pt-mut);font-size:calc(11.5px * var(--text-scale, 1));line-height:1.3}
#merchantView .pa-alb-pgs li.is-ok{opacity:1;border-color:var(--pa-alb-cor)}
#merchantView .pa-alb-pgs li.is-ok small{color:var(--pt-txt)}
#merchantView .pa-alb-pgs li.is-proxima{opacity:1;border-style:dashed;border-color:var(--pt-gold)}
@media (max-width:760px){
  #merchantView .pa-grid.is-album{grid-template-columns:minmax(0,1fr)}
}

/* LAÇO DO ÁLBUM (10/10): o bloco embaixo de cada família e a aura do Laço 10 (só CSS, sem arte nova). */
#merchantView .pa-alb-laco{display:grid;gap:8px;padding:10px;border-radius:12px;background:#111a29;border:1px solid var(--pt-line2)}
#merchantView .pa-alb-laco.is-max{border-color:var(--pa-alb-cor);box-shadow:0 0 12px color-mix(in srgb,var(--pa-alb-cor) 35%,transparent)}
#merchantView .pa-alb-laco.is-fechado{opacity:.75}
#merchantView .pa-alb-laco header b{color:var(--pt-txt)}
#merchantView .pa-alb-laco-barra{height:8px;border-radius:99px;background:#0b111c;overflow:hidden}
#merchantView .pa-alb-laco-barra i{display:block;height:100%;background:linear-gradient(90deg,var(--pa-alb-cor),var(--pt-gold))}
#merchantView .pa-alb-laco p{margin:0;font-size:calc(12px * var(--text-scale, 1));line-height:1.35}
#merchantView .pa-alb-laco-dica{color:var(--pt-mut)}
#merchantView .pa-alb-laco-agora{color:var(--pt-txt)}
#merchantView .pa-alb-laco-custo{display:flex;flex-wrap:wrap;gap:4px 10px;color:var(--pt-txt)}
#merchantView .pa-alb-laco-custo .is-falta{color:#ff7b7b}
#merchantView .pa-alb-laco-troca,#merchantView .pa-alb-laco-aura{display:grid;gap:6px}
#merchantView .pa-alb-laco-troca small,#merchantView .pa-alb-laco-aura small{color:var(--pt-mut);font-size:calc(11.5px * var(--text-scale, 1));line-height:1.35}
#merchantView .pa-alb-laco-troca div,#merchantView .pa-alb-laco-aura div{display:flex;flex-wrap:wrap;gap:6px}
#merchantView .pa-btn-sec{min-height:34px;padding:4px 10px;border-radius:9px;border:1px solid var(--pt-line);background:#172338;color:var(--pt-txt);font-size:calc(11.5px * var(--text-scale, 1))}
#merchantView .pa-laco-cor{width:30px;height:30px;padding:0;border-radius:50%;background:var(--laco-cor);border:2px solid #0b111c;box-shadow:0 0 8px var(--laco-cor)}
#merchantView .pa-laco-cor.is-atual{outline:2px solid #fff;outline-offset:2px}
#merchantView .pa-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.laco-cor-rubi{--laco-cor:#ff4d5e}
.laco-cor-safira{--laco-cor:#4d8dff}
.laco-cor-esmeralda{--laco-cor:#3ddc84}
.laco-cor-ouro{--laco-cor:#ffc94d}
.laco-cor-ametista{--laco-cor:#b46bff}
.laco-cor-gelo{--laco-cor:#9feaff}
.laco-cor-sol{--laco-cor:#ff9a3d}
.laco-cor-sombra{--laco-cor:#8b7bb8}
.laco-aura{position:relative;isolation:isolate}
.battle-arena .pet-toggle-icon.laco-aura{position:relative!important}
.laco-aura::before,.laco-aura::after{content:"";position:absolute;left:50%;pointer-events:none;z-index:-1}
.laco-aura::before{bottom:-8%;width:120%;height:38%;translate:-50% 0;border-radius:50%;background:radial-gradient(ellipse at center,color-mix(in srgb,var(--laco-cor) 60%,transparent),transparent 70%);animation:laco-pulso 2.4s ease-in-out infinite}
.laco-aura::after{bottom:0;width:86%;height:20%;translate:-50% 0;border-radius:50%;border:2px solid var(--laco-cor);box-shadow:0 0 10px var(--laco-cor),inset 0 0 8px var(--laco-cor);animation:laco-anel 2.4s ease-in-out infinite}
@keyframes laco-pulso{0%,100%{opacity:.55;transform:scale(.9)}50%{opacity:1;transform:scale(1.06)}}
@keyframes laco-anel{0%,100%{opacity:.5;transform:scale(.94)}50%{opacity:.95;transform:scale(1.04)}}
@media (prefers-reduced-motion:reduce){.laco-aura::before,.laco-aura::after{animation:none}}

/* 22/10 (print 23): cartão curto na Coleção. Só arte, nome, papel/raridade e estado; o resto abre no clique. */
#merchantView .pa-grid:not(.is-album){grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:10px}
#merchantView .pa-pc{cursor:var(--cur-mao,pointer);transition:border-color .15s}
#merchantView .pa-pc:hover{border-color:var(--pt-gold)}
#merchantView .pa-pc-art{aspect-ratio:4/3}
#merchantView .pa-pc-b{gap:5px;padding:8px 10px 10px}
#merchantView .pa-pc-tags{display:flex;flex-wrap:wrap;gap:4px}
#merchantView .pa-pc-mais{display:none}
#merchantView .pa-pc-ver{margin-top:auto;font-size:calc(11px * var(--text-scale, 1));font-weight:700;color:var(--pt-mut)}
#merchantView .pa-pc-ver::after{content:" ▾"}
/* aberto: a ficha inteira, organizada, numa janela por cima da grade */
#merchantView .pa-pc-fundo{position:fixed;inset:0;z-index:1290;background:rgba(4,6,10,.78)}
#merchantView .pa-pc.pa-pc-modal{position:fixed;z-index:1300;left:50%;top:50%;transform:translate(-50%,-50%);width:min(760px,calc(100vw - 32px));max-height:calc(100dvh - 40px);
  overflow:auto;flex-direction:row;cursor:var(--cur-seta,default);border-color:var(--pt-gold);box-shadow:0 18px 50px rgba(0,0,0,.6)}
#merchantView .pa-pc-modal .pa-pc-art{flex:0 0 240px;aspect-ratio:auto;min-height:240px}
#merchantView .pa-pc-modal .pa-pc-b{padding:14px 16px;gap:8px}
#merchantView .pa-pc-modal .pa-pc-b>strong{font-size:calc(19px * var(--text-scale, 1))}
#merchantView .pa-pc-modal .pa-pc-mais{display:grid;gap:8px;width:100%}
#merchantView .pa-pc-modal .pa-pc-acts{grid-template-columns:repeat(auto-fit,minmax(150px,220px))}
#merchantView .pa-pc-modal .pa-pc-ver{cursor:var(--cur-mao,pointer);color:var(--pt-gold)}
#merchantView .pa-pc-modal .pa-pc-ver::after{content:" ✕"}
@media (max-width:699px){
  #merchantView .pa-grid:not(.is-album){grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  #merchantView .pa-pc-b{padding:6px 7px 8px}
  #merchantView .pa-pc-b strong{font-size:calc(13px * var(--text-scale, 1))}
  #merchantView .pa-pc .pa-role,#merchantView .pa-pc .pa-rar{font-size:calc(9px * var(--text-scale, 1));padding:1px 5px}
  #merchantView .pa-pc-st{font-size:calc(11px * var(--text-scale, 1))}
  #merchantView .pa-pc.pa-pc-modal{flex-direction:column;top:auto;bottom:calc(66px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);max-height:calc(100dvh - 150px)}
  #merchantView .pa-pc-modal .pa-pc-art{flex:none;min-height:0;aspect-ratio:16/9}
}
/* PETS ANIMADOS (29/10, src/combat/pets-horda.js): o retrato é um <span class="pet-sprite"> quadrado com a folha
   "parado" (respira). O mesmo tamanho que a <img> tinha em cada moldura, pela altura. */
.pet-sheet-art .pet-sprite{width:auto;height:calc(82% * var(--pet-porte, 1));max-height:100%;aspect-ratio:1/1}
#merchantView .pa-hero-art .pet-sprite{width:auto;height:calc(76% * var(--pet-porte, 1));max-height:96%;aspect-ratio:1/1}
#merchantView .pa-exh-art .pet-sprite{width:auto;height:calc(80% * var(--pet-porte, 1));max-height:100%;aspect-ratio:1/1}
#merchantView .pa-pc-art .pet-sprite{width:auto;height:calc(78% * var(--pet-porte, 1));max-height:96%;aspect-ratio:1/1}
#merchantView .pa-alb-art .pet-sprite{width:100%;height:100%}
#merchantView .pa-hero-art.is-defeated .pet-sprite{filter:grayscale(.75)}
#merchantView .pa-pc.pet-collection-locked .pa-pc-art .pet-sprite{filter:brightness(0) opacity(.55)}
#merchantView .pa-pc.can-unlock .pa-pc-art .pet-sprite{filter:brightness(.35) saturate(.4)}
/* PETS CORTADOS NA COLEÇÃO (31/10, autor: "os pets tão mal posicionados, cortados"): o quadro da arte é 4:3 sem altura fixa, então o 78% e o teto 96% da altura não valiam e o bicho grande (--pet-porte 1.2 a 1.35) ficava mais alto que o quadro e cortado em cima/embaixo/dos lados. A arte agora fica presa no meio do quadro (absoluta): a altura conta do quadro de verdade e o teto de 96% segura o bicho grande inteiro. Tamanho de cada pet (porte) igual; calibração do Editor não muda.*/
#merchantView .pa-pc-art{position:relative}
#merchantView .pa-pc-art>img,#merchantView .pa-pc-art>.pet-sprite,#merchantView .pa-pc-art>.pet-art-fallback{position:absolute;left:50%;top:50%;translate:-50% -50%;max-width:96%;max-height:96%}
#merchantView .pa-alb-pets li.is-falta .pa-alb-art .pet-sprite{filter:brightness(0) opacity(.55)}
