/* XP de Evolução: pílula rosa ao lado das moedas e o modal (evolucao.js). Copyright (c) Eclipse. */
header .actions > .evoChip{position:relative;flex:none;display:inline-flex;align-items:center;gap:7px;min-height:42px;padding:6px 16px 10px 12px;overflow:hidden;
  border:1px solid #ff6fb599;border-radius:12px;background:linear-gradient(180deg,#3d1233f2,#1f0a1bf2);color:#ffc2e0;cursor:pointer;
  font:700 17px/1 'Alegreya Sans',system-ui,sans-serif;box-shadow:0 0 0 0 #ff6fb500}
header .actions > .evoChip[hidden]{display:none}
header .actions > .evoChip .evoIcon{align-self:center;width:24px;height:24px;object-fit:contain;filter:drop-shadow(0 0 6px #ff4f9f99)}
header .actions > .evoChip b{font:800 19px/1 'Alegreya Sans',system-ui,sans-serif;font-variant-numeric:tabular-nums;color:#ffe0ef}
header .actions > .evoChip .evoCap{font:600 12.5px/1 system-ui,sans-serif;color:#d98fb8;letter-spacing:.02em}
header .actions > .evoChip .evoBar{position:absolute;left:0;right:0;bottom:0;height:4px;background:#00000066}
header .actions > .evoChip .evoBar u{display:block;height:100%;width:0;background:linear-gradient(90deg,#ff4f9f,#ff9ccc);box-shadow:0 0 8px #ff5fa8;transition:width .6s cubic-bezier(.22,1,.36,1)}
header .actions > .evoChip:hover,header .actions > .evoChip:focus-visible{background:linear-gradient(180deg,#52173f,#2a0d24);border-color:#ff9ccc;box-shadow:0 10px 22px -10px #ff4f9f88}
header .actions > .evoChip.full{border-color:#ffd0e6}header .actions > .evoChip.full .evoBar u{background:linear-gradient(90deg,#ffb3d6,#fff)}
header .actions > .evoChip.pulse{animation:evoPulse .9s ease-out}
@keyframes evoPulse{0%{box-shadow:0 0 0 0 #ff6fb5aa}100%{box-shadow:0 0 0 14px #ff6fb500}}
@media (max-width:860px){header .actions > .evoChip{min-height:34px;padding:4px 9px 8px 7px;gap:5px}header .actions > .evoChip b{font-size:15px}header .actions > .evoChip .evoCap{display:none}}

/* modal */
:is(dialog.evoDlg:not(.cardInfo):not(.cxInspect),.evoPanel){width:min(680px,94vw);max-height:92dvh;padding:0;border:1px solid #ff6fb577;border-radius:18px;color:#ffe9f4;overflow:hidden;
  background:radial-gradient(ellipse 80% 60% at 50% 0,#ff4f9f26,transparent 70%),linear-gradient(180deg,#2a0d24,#160610);box-shadow:0 30px 80px #000d,0 0 60px #ff4f9f22}
:is(dialog.evoDlg:not(.cardInfo):not(.cxInspect),.evoPanel)::backdrop{background:#0b0309cc}
:is(dialog.evoDlg:not(.cardInfo):not(.cxInspect),.evoPanel) .evoClose{position:absolute;right:10px;top:10px;z-index:3;width:30px;height:30px;padding:0;display:grid;place-items:center;border-radius:50%;border:0;background:#ffffff14;color:#ffd0e6;font:700 14px/1 system-ui,sans-serif;cursor:pointer;box-shadow:none;transform:none}
:is(dialog.evoDlg:not(.cardInfo):not(.cxInspect),.evoPanel) .evoClose:hover{background:#3d1233}
.evoBody{padding:22px 24px 22px;overflow:auto;max-height:92dvh;scrollbar-width:thin;scrollbar-color:#ff6fb566 transparent}
.evoKicker{letter-spacing:.3em;font-size:11.5px;color:#ff8cc6}
:is(dialog.evoDlg:not(.cardInfo):not(.cxInspect),.evoPanel) .evoBody h2{margin:2px 0 14px;font:800 clamp(26px,4.4vw,34px)/1.1 'Alegreya Sans',system-ui,sans-serif;letter-spacing:.01em;color:#fff}
.evoBig{position:relative;height:42px;border-radius:12px;background:#0e040b;border:1px solid #ff6fb544;overflow:hidden}
.evoBig i{position:absolute;inset:0 auto 0 0;width:0;background:linear-gradient(90deg,#d62f86,#ff5fa8 60%,#ffa8d2);box-shadow:0 0 22px #ff4f9f99;transition:width .9s cubic-bezier(.22,1,.36,1)}
.evoBig span{position:relative;display:flex;align-items:center;justify-content:center;height:100%;white-space:nowrap;font:800 20px 'Alegreya Sans',system-ui,sans-serif;color:#fff;text-shadow:0 1px 4px #000a}.evoBig em{font-style:normal;font-weight:600;color:#ffd2e8;margin-left:6px}
.evoRes{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;margin:10px 0 14px;font-size:14px}
.evoRes small{color:#d98fb8;letter-spacing:.08em;text-transform:uppercase;font-size:11.5px}.evoRes b{color:#ffc2e0;font-variant-numeric:tabular-nums}
.evoSmall{height:10px;border-radius:6px;background:#0e040b;border:1px solid #ff6fb533;overflow:hidden}.evoSmall i{display:block;height:100%;background:linear-gradient(90deg,#8d2a66,#d65fa0)}
.evoHow{margin:0 0 6px;padding:0;list-style:none;display:grid;gap:7px}
.evoHow li{padding:8px 12px;border-radius:10px;background:#ff6fb510;border:1px solid #ff6fb52a;font-size:14.5px;line-height:1.45;color:#f6d9e8}.evoHow b{color:#ffb3d6}
:is(dialog.evoDlg:not(.cardInfo):not(.cxInspect),.evoPanel) .evoH3{margin:18px 0 8px;font:800 20px 'Alegreya Sans',system-ui,sans-serif;color:#ffd0e6}
.evoList{margin:0;padding:0;list-style:none;display:grid;gap:6px}
.evoRow{display:grid;grid-template-columns:40px minmax(0,1fr) auto auto auto;gap:10px;align-items:center;padding:6px 10px;border-radius:10px;background:#0e040b99;border:1px solid color-mix(in srgb,var(--rar) 40%,transparent)}
.evoRow.off{opacity:.78}
.evoThumb{width:40px;height:40px;border-radius:8px;background:#000 center 22%/cover;border:1px solid #ffffff22}
.evoWho{display:grid;min-width:0}.evoWho b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff}.evoWho small{color:#c79ab5;font-size:12.5px}
.evoStep{font-weight:800;color:#ffc933;white-space:nowrap}.evoStep i{font-style:normal;color:#ff8cc6;margin:0 3px}
.evoCost{font-weight:800;color:#ffb3d6;white-space:nowrap;font-variant-numeric:tabular-nums}
:is(dialog.evoDlg:not(.cardInfo):not(.cxInspect),.evoPanel) .evoDo{min-height:32px;padding:0 14px;border-radius:8px;border:1px solid #ff9ccc;background:linear-gradient(180deg,#ff7ab8,#d62f86);color:#2a0618;font:800 13px 'Alegreya Sans',system-ui,sans-serif;cursor:pointer;white-space:nowrap}
:is(dialog.evoDlg:not(.cardInfo):not(.cxInspect),.evoPanel) .evoDo:disabled{background:#2a0d24;color:#d98fb8;border-color:#ff6fb533;cursor:not-allowed;font-weight:600}
:is(dialog.evoDlg:not(.cardInfo):not(.cxInspect),.evoPanel) .evoDo:not(:disabled):hover{filter:brightness(1.1)}
.evoEmpty{color:#c79ab5}
.evoFoot{margin-top:16px;text-align:center}
:is(dialog.evoDlg:not(.cardInfo):not(.cxInspect),.evoPanel) .evoLink{padding:8px 18px;border-radius:10px;border:1px solid #ff6fb577;background:#2a0d24;color:#ffc2e0;font:700 14px 'Alegreya Sans',system-ui,sans-serif;cursor:pointer}:is(dialog.evoDlg:not(.cardInfo):not(.cxInspect),.evoPanel) .evoLink:hover{background:#3d1233}
@media (max-width:620px){.evoRow{grid-template-columns:40px minmax(0,1fr) auto}.evoStep,.evoCost{display:none}.evoBody{padding:18px 14px}}
@media (prefers-reduced-motion:reduce){.evoBig i,header .actions > .evoChip .evoBar u{transition:none}header .actions > .evoChip.pulse{animation:none}}
.reduced .evoBig i,.reduced header .actions > .evoChip .evoBar u{transition:none}

/* resultado da partida: XP de Evolução ganho */
.evoGain{border-color:#ff6fb577!important}.evoGain b{color:#ff8cc6}.evoGain small{color:#ff8cc6}
.evoNote{display:block;margin-top:2px;font-size:11.5px;color:#d98fb8}

:is(dialog.evoDlg:not(.cardInfo):not(.cxInspect),.evoPanel) .evoH3::before{display:none}
:is(dialog.evoDlg:not(.cardInfo):not(.cxInspect),.evoPanel) h2{text-shadow:0 0 22px #ff4f9f55}

/* modal de confirmar a evolução (carta de verdade + custo) */
.evoConfirm .evoPanel{width:min(780px,95vw)}
.ecGrid{display:grid;grid-template-columns:auto minmax(0,1fr);gap:24px;padding:24px;align-items:start}
.ecCard{--w:230px}.ecCard .proFrame{--w:230px}
.ecInfo{min-width:0;display:grid;gap:10px}
:is(dialog.evoDlg:not(.cardInfo):not(.cxInspect),.evoPanel) .ecInfo h2{margin:0}
.ecLevels{display:flex;gap:6px;flex-wrap:wrap}
:is(dialog.evoDlg:not(.cardInfo):not(.cxInspect),.evoPanel) .ecLv{display:inline-flex;flex-direction:column;align-items:center;min-width:64px;padding:5px 12px;border-radius:9px;border:1px solid #ff6fb544;background:#1f0a1b;color:#ffc933;font:800 15px 'Alegreya Sans',system-ui,sans-serif;cursor:pointer}
:is(dialog.evoDlg:not(.cardInfo):not(.cxInspect),.evoPanel) .ecLv small{font-size:11px;font-weight:600;color:#d98fb8}
:is(dialog.evoDlg:not(.cardInfo):not(.cxInspect),.evoPanel) .ecLv.on{border-color:#ff9ccc;background:#3d1233;box-shadow:0 0 0 1px #ff9ccc55}
.ecStep{margin:0;font-size:18px;color:#ffe0ef}.ecStep b{color:#ffc933}.ecStep i,.ecDiff i,.ecXpHead i{font-style:normal;color:#ff8cc6}
.ecDiff{margin:0;padding:0;list-style:none;display:grid;gap:4px}
.ecDiff li{display:flex;justify-content:space-between;gap:12px;padding:6px 12px;border-radius:9px;background:#ff6fb510;border:1px solid #ff6fb52a;font-size:15px}
.ecDiff li span{color:#d98fb8}.ecDiff li b{color:#fff;text-align:right}.ecDiff li.new{border-color:#ffc93366;background:#ffc9331a}
.ecXp{display:grid;gap:5px}.ecXpHead{display:flex;justify-content:space-between;align-items:baseline;font-size:14px}.ecXpHead small{color:#d98fb8;letter-spacing:.08em;text-transform:uppercase;font-size:11.5px}.ecXpHead b{color:#ffe0ef}.ecXpHead em{font-style:normal;color:#ffb3d6}
.evoBig.sm{height:16px;border-radius:8px}.evoBig.sm i{background:#7d2a5a;box-shadow:none}
.evoBig.sm u{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,#d62f86,#ff5fa8);transition:width .5s}
.ecWhy{margin:0;padding:7px 12px;border-radius:9px;background:#ff4f6a1f;border:1px solid #ff4f6a55;color:#ffb3bd;font-size:14px}.ecWhy.ok{background:#5fbf861f;border-color:#5fbf8655;color:#a8f0c4}
.ecBtns{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}
:is(dialog.evoDlg:not(.cardInfo):not(.cxInspect),.evoPanel) .evoDo.big{min-height:44px;padding:0 24px;font-size:16px}
@media (max-width:640px){.ecGrid{grid-template-columns:1fr;justify-items:center}.ecInfo{width:100%}}

/* animação sutil, só na carta que evolui */
.evoFrame{position:relative}
.evoFrame .evoShine{position:absolute;inset:0;border-radius:12px;pointer-events:none;opacity:0;background:linear-gradient(115deg,transparent 35%,#ffd0e8aa 50%,transparent 65%);background-size:250% 100%;background-position:130% 0;mix-blend-mode:screen}
.evoFrame.evoRise{animation:evoRise 1.1s cubic-bezier(.3,.7,.2,1)}
.evoFrame.evoRise .evoShine{animation:evoShine 1.1s ease-out}
@keyframes evoRise{0%{transform:translateY(0) scale(1);filter:none}35%{transform:translateY(-6px) scale(1.025);filter:drop-shadow(0 0 18px #ff4f9fcc) brightness(1.12)}100%{transform:translateY(0) scale(1);filter:none}}
@keyframes evoShine{0%{opacity:0;background-position:130% 0}25%{opacity:1}100%{opacity:0;background-position:-30% 0}}
@media (prefers-reduced-motion:reduce){.evoFrame.evoRise,.evoFrame.evoRise .evoShine{animation:none}}
.reduced .evoFrame.evoRise,.reduced .evoFrame.evoRise .evoShine{animation:none}

/* camada do modal de evolução (não é <dialog>) */
.evoOverlay{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;padding:16px;background:#0b0309cc;backdrop-filter:blur(3px)}
.evoOverlay[hidden]{display:none}
.evoPanel{position:relative;max-height:92dvh;overflow:auto;border:1px solid #ff6fb577;border-radius:18px;color:#ffe9f4;background:radial-gradient(ellipse 80% 60% at 50% 0,#ff4f9f26,transparent 70%),linear-gradient(180deg,#2a0d24,#160610);box-shadow:0 30px 80px #000d,0 0 60px #ff4f9f22}
.evoPanel button{font-family:'Alegreya Sans',system-ui,sans-serif}
.evoPanel .ecInfo h2{margin:0;font:800 clamp(24px,4vw,32px)/1.1 'Alegreya Sans',system-ui,sans-serif;color:#fff;letter-spacing:.01em}
.evoPanel .evoKicker{letter-spacing:.3em;font-size:11.5px;color:#ff8cc6}
.evoPanel .evoEmpty{color:#c79ab5}

.evoRefill{margin:8px 0 0;font-size:14px;color:#d98fb8}.evoRefill b{color:#ffe0ef;font-variant-numeric:tabular-nums;letter-spacing:.04em}

/* modal de evolução, versão enxuta */
.evoConfirm .evoPanel{width:min(600px,95vw)}
.evoConfirm .ecGrid{gap:20px;padding:20px 22px}
.evoConfirm .ecCard,.evoConfirm .ecCard .proFrame{--w:200px}
.evoConfirm .ecInfo{gap:10px;padding-right:26px;align-content:start}
.evoConfirm .ecInfo h2{font-size:clamp(22px,3.6vw,28px)}
.ecMove{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}
.ecFromTo{display:inline-flex;align-items:center;gap:6px;padding:3px 12px;border-radius:999px;background:#ff6fb51c;border:1px solid #ff6fb544;font-size:18px;color:#ffc933;font-weight:800}.ecFromTo i{font-style:normal;color:#ff8cc6}
.ecStat{font-size:14px;color:#d98fb8}.ecStat b{color:#fff}
.ecLevels{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.ecLevels>small{color:#d98fb8;font-size:12px;text-transform:uppercase;letter-spacing:.08em}
:is(dialog.evoDlg:not(.cardInfo):not(.cxInspect),.evoPanel) .ecLv{min-width:0;flex-direction:row;gap:5px;align-items:baseline;padding:3px 11px}
.ecNew{margin:0;padding:6px 10px;border-radius:9px;background:#ffc9331a;border:1px solid #ffc93355;color:#ffe6a8;font-size:14px;line-height:1.35}
.evoBig.sm{height:22px;border-radius:11px}.evoBig.sm span{font-size:13px;font-weight:800}.evoBig.sm em{margin:0 4px;font-style:normal;color:#ff8cc6}
.ecBtns{align-items:center}

.evoLogo{display:block;width:64px;height:64px;object-fit:contain;margin:0 0 4px;filter:drop-shadow(0 0 14px #ff4f9f88)}
/* números da pílula de XP centralizados na vertical com o ícone (sem deslocar pela linha de base) */
header .actions > .evoChip :is(b,.evoCap){display:inline-flex;align-items:center;line-height:1;margin:0;padding:0}
header .actions > .evoChip .evoValue{margin-top:1px}

/* Na partida (#gameView aberto) a barra de XP de Evolução não aparece (Leo, 05/10/2026). Fora do combate continua ao lado das moedas. */
body:has(#gameView:not([hidden])) #evoPill{display:none!important}

/* Modal de evolução maior (Leo, 05/10/2026: "está pequeno") e efeitos da animação */
.evoConfirm .evoPanel{width:min(900px,96vw)}
.evoConfirm .ecGrid{gap:32px;padding:30px 34px}
.evoConfirm .ecCard,.evoConfirm .ecCard .proFrame{--w:310px}
.evoConfirm .ecInfo{gap:14px;padding-right:30px}
.evoConfirm .ecInfo h2{font-size:clamp(26px,4vw,36px)}
.evoConfirm .ecFromTo{font-size:22px;padding:4px 16px}
.evoConfirm .ecStat{font-size:17px}
.evoConfirm .ecNew{font-size:16px;padding:9px 13px}
.evoConfirm .evoBig.sm{height:28px;border-radius:14px}.evoConfirm .evoBig.sm span{font-size:15px}
.evoConfirm :is(dialog.evoDlg,.evoPanel) .ecLv{padding:5px 14px;font-size:17px}
.evoConfirm :is(dialog.evoDlg,.evoPanel) .evoDo.big{min-height:52px;font-size:18px;padding:0 30px}
@media (max-width:760px){.evoConfirm .ecCard,.evoConfirm .ecCard .proFrame{--w:240px}.evoConfirm .ecGrid{padding:20px}}
.ecCard{position:relative}
.evoFx{position:absolute;inset:-60px;pointer-events:none;display:grid;place-items:center;z-index:6;overflow:visible}
.evoFx>i{position:absolute;left:50%;top:50%;display:block}
.evoAura{width:120%;aspect-ratio:1;margin:-60% 0 0 -60%;border-radius:50%;opacity:0;background:radial-gradient(circle,#ff9ccccc 0,#ff4f9f66 40%,transparent 70%);mix-blend-mode:screen}
.evoMote{width:7px;height:7px;margin:-3px;border-radius:50%;background:#ffd6ec;box-shadow:0 0 10px 3px #ff6fb5}
.evoFlash{width:140%;aspect-ratio:1;margin:-70% 0 0 -70%;border-radius:50%;background:radial-gradient(circle,#fff 0,#ffd6ec 35%,transparent 70%);mix-blend-mode:screen}
.evoRing{width:70%;aspect-ratio:1;margin:-35% 0 0 -35%;border-radius:50%;border:4px solid #ffb3da;box-shadow:0 0 24px 6px #ff6fb5,inset 0 0 24px #ff6fb5}
.evoRay{width:4px;height:46%;margin:0 0 0 -2px;transform-origin:50% 0;transform:rotate(var(--a));background:linear-gradient(#ffe6f3,transparent);top:50%}
.evoSpark{width:6px;height:6px;margin:-3px;border-radius:50%;background:#ffe0ef;box-shadow:0 0 8px 2px #ff8cc6}
@media (prefers-reduced-motion:reduce){.evoFx{display:none}}
.reduced .evoFx{display:none}

/* Encher a barra com Diamantes (06/10/2026) */
.evoBuy,.ecBuy{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:10px 0;padding:10px 14px;border-radius:12px;border:1px solid #8fd8ff55;background:linear-gradient(90deg,#10202f,#1a1226)}
.evoBuy span,.ecBuy span{color:#d8efff;font-size:15px}
.evoBuy small,.ecBuy small{color:#9fb8c8;font-size:12px}
.evoBuy .evoDo,.ecBuy .evoDo{display:inline-flex;align-items:center;gap:6px;border-color:#8fd8ff;background:linear-gradient(180deg,#6fd3f5,#2f7fd6);color:#04111c}
.evoBuy .evoDo:disabled,.ecBuy .evoDo:disabled{background:#12202c;color:#6f8fa3;border-color:#8fd8ff33}

/* A carta não pode mudar de tamanho durante a animação da evolução (Leo, 06/10/2026: "deixa a carta menor"). A camada de efeitos (.evoFx, inset -60px)
   transborda o painel, aparece uma barra de rolagem e a coluna da carta encolhe. Agora: a coluna da carta não encolhe (max-content), o painel reserva
   a barra (scrollbar-gutter) e, enquanto toca a animação (.evoPlaying), o transbordo é cortado em vez de rolar. */
.evoConfirm .ecGrid{grid-template-columns:max-content minmax(0,1fr)}
@media (max-width:760px){.evoConfirm .ecGrid{grid-template-columns:1fr}}
.evoConfirm .evoPanel{scrollbar-gutter:stable}
.evoConfirm .evoPanel.evoPlaying{overflow:hidden}
.evoConfirm .ecCard,.evoConfirm .ecCard .proFrame{flex:none;min-width:var(--w)}
