/* PokeUltraz — interface do jogo e autenticação responsiva */
* { margin: 0; padding: 0; box-sizing: border-box; }
/* 📊 relatório offline "bem-vindo de volta" */
.off-rep .or-sub { font-size: 13px; color: #cdd7e2; margin-bottom: 12px; }
.off-rep .or-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(96px, 1fr)); gap: 8px; }
.off-rep .or-card { background: #0e1622; border: 1px solid #24344a; border-radius: 9px; padding: 10px; text-align: center; }
.off-rep .or-card span { display: block; font-size: 11px; color: #8b97a5; margin-bottom: 3px; }
.off-rep .or-card b { font-size: 18px; color: #ffd964; }
.off-rep .or-loot-h { margin: 14px 0 6px; font-weight: bold; color: #9fe28f; font-size: 13px; }
.off-rep .or-loot { display: flex; flex-wrap: wrap; gap: 6px; }
.off-rep .or-loot-i { display: inline-flex; align-items: center; gap: 3px; background: #101a26; border: 1px solid #26344a;
  border-radius: 14px; padding: 3px 9px; font-size: 12px; color: #cdd7e2; }
.off-rep .or-loot-i canvas { image-rendering: pixelated; vertical-align: middle; }
.off-rep .or-loot-i b { color: #ffd964; }
.off-rep { width: min(920px, 100%); }
.off-rep .or-grid { grid-template-columns: repeat(4, minmax(118px, 1fr)); }
.off-rep .or-card {
  min-height: 78px; display: flex; flex-direction: column; justify-content: center;
  background: linear-gradient(145deg, #111d2c, #0b141f); border-color: #2a425e;
}
.off-rep .or-card b { text-shadow: 0 2px 8px rgba(255, 193, 49, .18); }
.off-rep .or-card-poke b { color: #8fe8bd; text-shadow: 0 2px 8px rgba(45, 214, 151, .18); }
.off-rep .or-level-h { margin: 13px 0 6px; font-size: 13px; font-weight: 800; color: #9fcfff; }
.off-rep .or-levels { display: flex; flex-wrap: wrap; gap: 6px; }
.off-rep .or-level-i {
  display: inline-flex; align-items: center; gap: 5px; min-width: 0;
  padding: 5px 8px; border: 1px solid #314a69; border-radius: 8px;
  background: linear-gradient(135deg, #122238, #0d1827); color: #dcecff; font-size: 12px;
}
.off-rep .or-level-i small { color: #a7b7cb; white-space: nowrap; }
.off-rep .or-level-i em { color: #80e9b1; font-style: normal; font-weight: 800; white-space: nowrap; }
@media (max-width: 640px) {
  .off-rep .or-sub { font-size: 12px; margin-bottom: 9px; }
  .off-rep .or-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
  .off-rep .or-card { min-height: 68px; padding: 8px 6px; }
  .off-rep .or-card b { font-size: 16px; }
  .off-rep .or-card span { font-size: 10px; }
  .off-rep .or-level-i { width: 100%; justify-content: space-between; }
}
/* 📣 banner de boas-vindas (WhatsApp) — overlay com imagem + botão + X */
#welcome-bg { position:fixed; inset:0; z-index:10000; display:flex; align-items:center; justify-content:center; padding:20px;
  background:radial-gradient(circle at 50% 15%,rgba(255,119,30,.16),transparent 35%),rgba(3,7,13,.84); backdrop-filter:blur(5px); animation:wc-fade .25s ease; }
@keyframes wc-fade { from { opacity: 0; } to { opacity: 1; } }
#welcome-card { position:relative; width:min(640px,100%); overflow:hidden; border:1px solid rgba(255,196,56,.88); border-radius:18px;
  background:linear-gradient(145deg,#111d30 0%,#080f1b 58%,#171005 100%); box-shadow:0 28px 70px rgba(0,0,0,.62),0 0 0 5px rgba(255,132,32,.08),0 0 36px rgba(255,157,39,.24); animation:wc-pop .34s cubic-bezier(.2,1.2,.4,1); }
@keyframes wc-pop { from { transform:translateY(14px) scale(.95); opacity:0; } to { transform:translateY(0) scale(1); opacity:1; } }
#welcome-card::before { content:""; position:absolute; inset:0 0 auto; height:3px; z-index:3; background:linear-gradient(90deg,#ff5b20,#ffd964 50%,#ff9f22); }
#welcome-head { min-height:68px; padding:13px 58px 12px 17px; display:flex; align-items:center; justify-content:space-between; gap:16px; border-bottom:1px solid rgba(116,151,195,.22); background:linear-gradient(90deg,rgba(19,36,61,.96),rgba(23,18,13,.82)); }
.welcome-brand { display:flex; align-items:center; gap:9px; min-width:0; color:#ffd964; text-transform:uppercase; letter-spacing:.6px; }
.welcome-brand-mark { width:26px; height:26px; display:grid; place-items:center; border-radius:8px; color:#15110a; background:linear-gradient(135deg,#ffe681,#ffad21); box-shadow:0 0 16px rgba(255,205,75,.28); font-size:15px; }
.welcome-brand b { display:block; color:#ffe485; font-size:15px; line-height:1.05; }
.welcome-brand small { display:block; margin-top:3px; color:#9fb2ca; font-size:8px; font-weight:800; letter-spacing:1px; white-space:nowrap; }
.welcome-copy { min-width:0; text-align:right; }.welcome-copy b,.welcome-copy span { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.welcome-copy b { color:#f4f7fc; font-size:13px; }.welcome-copy span { margin-top:3px; color:#aebed1; font-size:10px; }
#welcome-img { display:block; width:100%; max-height:min(52vh,420px); object-fit:contain; background:#070d17; }
#welcome-x { position:absolute; top:16px; right:15px; width:31px; height:31px; border:1px solid rgba(177,203,234,.3); border-radius:9px; background:rgba(7,13,24,.84); color:#d9e5f6; font-size:17px; cursor:pointer; line-height:1; z-index:4; transition:.16s ease; }
#welcome-x:hover { border-color:#ffba3d; background:#48200f; color:#ffe28a; transform:scale(1.06); }
#welcome-btn { display:block; margin:12px; padding:13px 16px; border:1px solid rgba(255,222,124,.7); border-radius:10px; text-align:center; text-decoration:none; background:linear-gradient(100deg,#ffb52b,#ff7e1d); color:#1b1003; font-size:14px; font-weight:900; letter-spacing:.45px; text-transform:uppercase; box-shadow:inset 0 1px rgba(255,255,255,.35),0 7px 18px rgba(255,104,18,.2); transition:filter .16s,transform .16s; }
#welcome-btn:hover { filter:brightness(1.1); transform:translateY(-1px); }
@media (max-width:560px) { #welcome-bg{padding:12px} #welcome-card{border-radius:14px} #welcome-head{min-height:61px;padding:11px 51px 10px 13px;gap:9px}.welcome-brand-mark{width:22px;height:22px;border-radius:7px;font-size:12px}.welcome-brand b{font-size:13px}.welcome-copy b{font-size:11px}.welcome-copy span{font-size:9px}#welcome-x{top:14px;right:12px;width:28px;height:28px}#welcome-img{max-height:57vh}#welcome-btn{margin:9px;padding:12px;font-size:13px} }
/* ⚠️ banner de senha fraca (fixo no topo, acima de tudo) */
#weakpw-banner { position: fixed; top: 0; left: 0; right: 0; z-index: 9999;
  display: flex; align-items: center; gap: 10px; padding: 9px 14px;
  background: linear-gradient(90deg, #6e1414, #8a1f1f); color: #ffe3e3;
  border-bottom: 2px solid #ff6b6b; box-shadow: 0 3px 12px rgba(0,0,0,.5);
  font-size: 13px; animation: wpb-in .3s ease; }
@keyframes wpb-in { from { transform: translateY(-100%); } to { transform: translateY(0); } }
#weakpw-banner .wpb-txt { flex: 1; }
#weakpw-banner .wpb-btn { background: #ffd964; color: #2a1c00; border: 0; font-weight: bold;
  padding: 6px 12px; border-radius: 6px; cursor: pointer; white-space: nowrap; }
#weakpw-banner .wpb-btn:hover { background: #ffe58a; }
#weakpw-banner .wpb-x { background: transparent; color: #ffd0d0; border: 0; font-size: 16px; cursor: pointer; padding: 2px 6px; }
html, body { height: 100%; overflow: hidden; }
body {
  font-family: "Segoe UI", Verdana, sans-serif;
  font-size: 13px;
  background: #05070a;
  color: #dfe6ee;
  user-select: none;
}
.hidden { display: none !important; }
.dim { color: #8b97a5; }
.tiny-txt { font-size: 10px; margin-top: 2px; }
b { color: #fff; }

/* ------------------------------------------------ painéis */
.panel {
  background: rgba(9, 13, 19, .93);
  border: 1px solid #715c25;
  border-radius: 8px;
  box-shadow: 0 4px 18px rgba(0, 0, 0, .55);
}
.hud { position: absolute; z-index: 10; }

.btn {
  background: #1a2330;
  color: #dfe6ee;
  border: 1px solid #37475c;
  border-radius: 5px;
  padding: 6px 14px;
  cursor: pointer;
  font-size: 13px;
}
.btn:hover { background: #243144; }
.btn.gold { background: #2e2410; border-color: #a3852f; color: #ffd964; }
.btn.gold:hover { background: #40331a; }
.evo-requirements {
  display: block;
  margin-top: 5px;
  color: #ffe7aa;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.45;
}
.evo-requirements i { color: #d7bd80; font-style: normal; font-weight: 500; }
.btn.tiny { padding: 1px 8px; font-size: 11px; }
.btn:disabled { opacity: .4; cursor: default; }

.tag {
  background: #1a2330; border: 1px solid #37475c; border-radius: 8px;
  font-size: 10px; padding: 1px 7px; color: #aeb9c6;
}
.err { color: #ff7a7a; min-height: 18px; font-size: 12px; margin-top: 8px; text-align: center; }

/* ------------------------------------------------ login PokeUltraz */
.login-wrap {
  --rush-orange: #ff5a18;
  --rush-orange-2: #ff8a1f;
  --rush-yellow: #ffc928;
  --rush-green: #36c58a;
  position: fixed;
  inset: 0;
  z-index: 100;
  min-height: 100vh;
  min-height: 100dvh;
  overflow: auto;
  display: block;
  padding: clamp(18px, 3vw, 40px);
  background: #07090e;
  color: #f7f8fa;
  user-select: text;
  isolation: isolate;
  overscroll-behavior: contain;
}
.login-bg,
.login-vignette {
  position: fixed;
  inset: 0;
  pointer-events: none;
}
.login-bg {
  z-index: -3;
  background:
    radial-gradient(circle at 15% 20%, rgba(255, 80, 20, .20), transparent 28%),
    radial-gradient(circle at 84% 75%, rgba(32, 178, 123, .12), transparent 25%),
    radial-gradient(circle at 70% 5%, rgba(255, 189, 24, .10), transparent 22%),
    linear-gradient(125deg, #050608 0%, #0d0e13 48%, #090a0e 100%);
}
.login-bg::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .24;
  background-image:
    linear-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: linear-gradient(90deg, #000, transparent 72%);
}
.login-bg::after {
  content: "";
  position: absolute;
  width: min(68vw, 880px);
  aspect-ratio: 1;
  left: -18vw;
  top: 50%;
  transform: translateY(-50%);
  border: clamp(28px, 5vw, 74px) solid rgba(255, 82, 20, .055);
  border-radius: 50%;
  box-shadow:
    0 0 0 clamp(12px, 2vw, 30px) rgba(255, 189, 24, .022),
    0 0 120px rgba(255, 78, 18, .08);
}
.login-vignette {
  z-index: -2;
  background:
    linear-gradient(90deg, transparent 0 45%, rgba(3, 4, 7, .26) 70%, rgba(3, 4, 7, .56) 100%),
    radial-gradient(ellipse at center, transparent 20%, rgba(0, 0, 0, .48) 100%);
}
.login-shell {
  width: min(1120px, 100%);
  min-height: calc(100dvh - 80px);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 430px);
  align-items: center;
  gap: clamp(42px, 8vw, 112px);
  position: relative;
}
.language-switcher {
  position: fixed;
  z-index: 105;
  top: max(14px, env(safe-area-inset-top));
  right: max(16px, env(safe-area-inset-right));
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 8px 6px 12px;
  color: #cbd0d8;
  background: rgba(12, 14, 19, .88);
  border: 1px solid rgba(255, 255, 255, .11);
  border-radius: 999px;
  box-shadow: 0 8px 26px rgba(0, 0, 0, .28);
  backdrop-filter: blur(14px);
}
.language-switcher-label {
  font-size: 10px;
  font-weight: 750;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.language-flags {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.language-flag {
  width: 35px;
  height: 31px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 999px;
  background: rgba(255, 255, 255, .035);
  color: #fff;
  font: inherit;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
  filter: saturate(.78);
  opacity: .72;
  transition: transform .15s ease, opacity .15s ease, filter .15s ease,
              border-color .15s ease, background .15s ease;
}
.language-flag:hover {
  transform: translateY(-1px);
  opacity: 1;
  filter: saturate(1);
  background: rgba(255, 255, 255, .075);
}
.language-flag.is-active {
  opacity: 1;
  filter: saturate(1);
  border-color: rgba(255, 122, 53, .68);
  background: rgba(255, 90, 24, .14);
  box-shadow: 0 0 0 2px rgba(255, 90, 24, .09);
}
.language-flag:focus-visible {
  outline: 2px solid var(--rush-orange, #ff5a18);
  outline-offset: 2px;
}
.language-flag .flag-icon {
  position: relative;
  display: block;
  width: 22px;
  height: 16px;
  overflow: hidden;
  border-radius: 2px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .42);
}
/* Bandeiras em CSS: não dependem da fonte de emoji do dispositivo e jamais
   caem em siglas como BR, US ou ES. */
.flag-br { background: #15985a; }
.flag-br::before {
  content: "";
  position: absolute;
  inset: 2px 5px;
  background: #f7d645;
  transform: rotate(45deg) scale(.92);
}
.flag-br::after {
  content: "";
  position: absolute;
  width: 7px;
  height: 7px;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: #2857a4;
  border: 1px solid rgba(255,255,255,.72);
}
.flag-us {
  background: repeating-linear-gradient(to bottom, #b22234 0 1.23px, #fff 1.23px 2.46px);
}
.flag-us::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 10px;
  height: 8px;
  background: #35538a;
}
.flag-us::after {
  content: "★";
  position: absolute;
  left: 3px;
  top: -2px;
  color: #fff;
  font-size: 8px;
  line-height: 1;
}
.flag-es { background: linear-gradient(to bottom, #aa151b 0 25%, #f1c63c 25% 75%, #aa151b 75%); }
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.language-switcher select,
.game-language-switcher select {
  min-height: 30px;
  padding: 4px 26px 4px 9px;
  color: #fff;
  background: #171a21;
  border: 1px solid #343943;
  border-radius: 999px;
  font: 700 11px/1 "Segoe UI", sans-serif;
  cursor: pointer;
  outline: none;
}
.language-switcher select:focus-visible,
.game-language-switcher select:focus-visible {
  border-color: var(--rush-orange, #ff5a18);
  box-shadow: 0 0 0 3px rgba(255, 90, 24, .18);
}
.login-brand {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.login-mark {
  display: block;
  width: clamp(300px, 35vw, 460px);
  height: auto;
  margin: clamp(-80px, -6vw, -42px) 0 clamp(-78px, -6vw, -46px);
  margin-left: clamp(-48px, -3vw, -20px);
  mix-blend-mode: screen;
  filter: drop-shadow(0 20px 44px rgba(0, 0, 0, .48)) drop-shadow(0 0 28px rgba(255, 84, 20, .10));
  pointer-events: none;
}
.login-brand-copy { max-width: 610px; position: relative; z-index: 1; }
.brand-kicker,
.login-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--rush-orange-2);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.brand-kicker::before,
.login-eyebrow::before {
  content: "";
  width: 24px;
  height: 2px;
  border-radius: 2px;
  background: linear-gradient(90deg, var(--rush-orange), var(--rush-yellow));
}
.login-brand h1 {
  max-width: 590px;
  margin: 14px 0 12px;
  font-size: clamp(38px, 5vw, 68px);
  line-height: .98;
  letter-spacing: -.045em;
  text-wrap: balance;
}
.login-brand p {
  max-width: 560px;
  color: #aeb4bf;
  font-size: clamp(14px, 1.5vw, 17px);
  line-height: 1.65;
}
.public-stats {
  position: relative;
  width: min(700px, 100%);
  margin-top: 28px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}
.public-stat {
  min-width: 0;
  min-height: 88px;
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 15px 18px;
  background: rgba(7, 9, 14, .62);
  border: 1px solid rgba(255, 255, 255, .09);
  border-radius: 13px;
  backdrop-filter: blur(10px);
}
.public-stat > div { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.public-stat strong {
  color: #fff;
  font-size: 30px;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.public-stat div > span {
  overflow: hidden;
  color: #8f96a2;
  font-size: 13px;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.stat-icon {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  flex: none;
  color: var(--rush-orange-2);
  background: rgba(255, 94, 25, .10);
  border: 1px solid rgba(255, 116, 23, .24);
  border-radius: 10px;
}
.stat-icon-online::before {
  content: "";
  width: 12px;
  height: 12px;
  background: var(--rush-green);
  border-radius: 50%;
  box-shadow: 0 0 0 5px rgba(54, 197, 138, .10), 0 0 12px rgba(54, 197, 138, .42);
}
.stats-live-label {
  position: absolute;
  left: 0;
  top: calc(100% + 7px);
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #747b85;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.stats-live-label i {
  width: 5px;
  height: 5px;
  background: #59606a;
  border-radius: 50%;
}
.public-stats.is-ready .stats-live-label i {
  background: var(--rush-green);
  box-shadow: 0 0 8px rgba(54, 197, 138, .55);
}
.brand-features {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  width: 100%;
  margin-top: 26px;
}
.brand-features i { font-style: normal; }
.brand-features span {
  min-height: 64px;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 11px 12px;
  color: #d4d7dd;
  font-size: 11px;
  line-height: 1.35;
  background: rgba(255, 255, 255, .035);
  border: 1px solid rgba(255, 255, 255, .075);
  border-radius: 12px;
  backdrop-filter: blur(8px);
}
.brand-features b {
  color: var(--rush-orange-2);
  font: 800 10px/1 "Segoe UI", sans-serif;
  letter-spacing: .08em;
}

.login-card {
  position: relative;
  width: 100%;
  padding: clamp(26px, 3vw, 36px);
  overflow: hidden;
  background:
    linear-gradient(155deg, rgba(24, 25, 31, .97), rgba(11, 12, 17, .98));
  border: 1px solid rgba(255, 255, 255, .11);
  border-radius: 22px;
  box-shadow:
    0 32px 90px rgba(0, 0, 0, .55),
    0 0 0 1px rgba(255, 89, 24, .035) inset;
  backdrop-filter: blur(20px);
}
.login-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 32px;
  right: 32px;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--rush-orange), var(--rush-yellow), transparent);
}
.login-card-top { margin-bottom: 26px; }
.login-card-top h2,
.login-mode-head h3 {
  margin: 9px 0 6px;
  color: #fff;
  font-size: clamp(24px, 3vw, 30px);
  line-height: 1.15;
  letter-spacing: -.03em;
}
.login-card-top p,
.login-mode-head p {
  color: #8f96a2;
  font-size: 13px;
  line-height: 1.5;
}
.login-mode-head { margin: 2px 0 22px; }
.login-recovery-mode .login-card-top { display: none; }
.field-label {
  display: block;
  margin: 0 0 7px 2px;
  color: #c8ccd3;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .045em;
  text-transform: uppercase;
}
.login-note { color: #9ea5b0; font-size: 12px; margin: 5px 0 11px; line-height: 1.5; }
.login-fineprint { margin-top: 14px; opacity: .78; font-size: 11px; }

.in-wrap { position: relative; margin-bottom: 15px; }
.in-wrap .in-ic {
  position: absolute;
  left: 15px;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  color: #737b88;
  font-size: 12px;
  text-align: center;
  pointer-events: none;
}
.in-wrap input {
  width: 100%;
  min-height: 50px;
  padding: 12px 44px 12px 44px;
  background: rgba(4, 6, 10, .72);
  color: #fff;
  font: inherit;
  font-size: 15px;
  border: 1px solid #30343d;
  border-radius: 12px;
  outline: none;
  caret-color: var(--rush-orange-2);
  transition: border-color .16s, box-shadow .16s, background .16s;
}
.in-wrap input::placeholder { color: #646b77; }
.in-wrap input:hover { border-color: #464b56; }
.in-wrap input:focus {
  background: rgba(8, 9, 13, .94);
  border-color: var(--rush-orange);
  box-shadow: 0 0 0 3px rgba(255, 90, 24, .13);
}
.in-eye {
  position: absolute;
  right: 7px;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  background: transparent;
  border: 0;
  border-radius: 9px;
  color: #8c939e;
  cursor: pointer;
  font-size: 15px;
}
.in-eye:hover { color: #fff; background: rgba(255, 255, 255, .055); }

.btn-epic,
.btn-ghost {
  width: 100%;
  min-height: 49px;
  border-radius: 12px;
  cursor: pointer;
  font: inherit;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .075em;
  text-transform: uppercase;
  transition: transform .12s, border-color .16s, background .16s, box-shadow .16s, color .16s;
}
.btn-epic {
  margin-top: 5px;
  padding: 13px 18px;
  background: linear-gradient(135deg, #ff4714, #ff7417 58%, #ff9c1d);
  border: 1px solid #ff8b32;
  color: #fff;
  text-shadow: 0 1px 2px rgba(87, 20, 0, .35);
  box-shadow: 0 10px 30px rgba(255, 74, 16, .20), inset 0 1px rgba(255, 255, 255, .22);
}
.btn-epic:hover {
  background: linear-gradient(135deg, #ff5a1b, #ff8321 58%, #ffad28);
  box-shadow: 0 13px 34px rgba(255, 74, 16, .30), inset 0 1px rgba(255, 255, 255, .25);
  transform: translateY(-1px);
}
.btn-ghost {
  margin-top: 10px;
  padding: 12px 18px;
  background: rgba(255, 255, 255, .025);
  border: 1px solid #353a44;
  color: #d5d8de;
}
.btn-ghost:hover { border-color: #666c77; background: rgba(255, 255, 255, .055); color: #fff; }
.btn-epic:active,
.btn-ghost:active { transform: translateY(1px); }
.btn-epic:disabled,
.btn-ghost:disabled { opacity: .58; cursor: wait; transform: none; }
.login-btns { display: grid; grid-template-columns: 1.25fr .75fr; gap: 9px; }
.login-btns .btn-epic,
.login-btns .btn-ghost { margin-top: 0; }

.login-divider {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 19px 0 11px;
  color: #686f7a;
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .13em;
  white-space: nowrap;
}
.login-divider::before,
.login-divider::after { content: ""; flex: 1; height: 1px; background: #292d35; }
#gg-btn {
  width: 100%;
  display: flex;
  justify-content: center;
  overflow: hidden;
}
/* O Google injeta um div branco ao redor do iframe. Ele deve manter apenas a
   largura nativa do botão, e não ocupar toda a coluna do formulário. */
#gg-btn > div {
  display: inline-block !important;
  width: auto !important;
  max-width: 100%;
  background: transparent !important;
  overflow: hidden;
  border-radius: 999px;
  vertical-align: top;
}
#gg-btn iframe {
  display: block;
  max-width: 100% !important;
  border: 0 !important;
  border-radius: 999px;
}
.social-provider-stack {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 9px;
}
#gg-wrap,
#fb-wrap { width: 100%; }
.facebook-login-btn {
  width: min(340px, 100%);
  min-height: 44px;
  margin: 0 auto;
  padding: 9px 17px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 11px;
  border: 1px solid #2c7eea;
  border-radius: 999px;
  background: #1877f2;
  color: #fff;
  cursor: pointer;
  font: 700 14px/1.2 "Segoe UI", Arial, sans-serif;
  letter-spacing: .01em;
  box-shadow: 0 6px 18px rgba(24, 119, 242, .18);
  transition: background .16s, box-shadow .16s, transform .12s, opacity .16s;
}
.facebook-login-btn:hover {
  background: #2b83f3;
  box-shadow: 0 8px 22px rgba(24, 119, 242, .28);
  transform: translateY(-1px);
}
.facebook-login-btn:active { transform: translateY(1px); }
.facebook-login-btn:disabled { opacity: .5; cursor: wait; transform: none; }
.facebook-f {
  width: 23px;
  height: 23px;
  display: inline-grid;
  place-items: end center;
  flex: none;
  overflow: hidden;
  border-radius: 50%;
  background: #fff;
  color: #1877f2;
  font: 900 24px/22px Arial, sans-serif;
  text-transform: lowercase;
}
.facebook-login-btn.compact {
  width: auto;
  min-height: 38px;
  margin: 0;
  padding: 7px 14px;
  font-size: 12px;
}
.facebook-login-btn.compact .facebook-f { width: 20px; height: 20px; font-size: 21px; line-height: 20px; }
.social-profile-link {
  margin: 12px 0;
  padding: 11px 13px;
  display: flex;
  align-items: center;
  gap: 11px;
  flex-wrap: wrap;
  border: 1px solid #263a5e;
  border-radius: 12px;
  background: #0f1725;
}
.social-profile-link > b { color: #9fc5ff; font-size: 13px; }
.social-profile-message { min-width: 140px; flex: 1; color: #9aabc2; font-size: 12px; }
.login-recovery-link { display: flex; justify-content: center; margin-top: 13px; }
.login-recovery-link .linklike {
  min-height: 44px;
  margin: 0;
  padding: 8px 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.login-trust {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 16px;
  padding-top: 15px;
  border-top: 1px solid rgba(255, 255, 255, .06);
  color: #747b86;
  font-size: 10px;
  line-height: 1.4;
  text-align: center;
}
.login-trust span { color: var(--rush-green); font-size: 8px; }
.login-footer {
  position: relative;
  z-index: 2;
  width: min(1120px, 100%);
  margin: 26px auto 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  color: #646a73;
  font-size: 10px;
  letter-spacing: .04em;
}
.login-footer a { color: #9ca2ad; text-decoration: none; }
.login-footer a:hover { color: var(--rush-orange-2); }

.landing-content {
  position: relative;
  z-index: 2;
  width: min(1120px, 100%);
  margin: 36px auto 0;
  padding: clamp(30px, 5vw, 64px);
  overflow: hidden;
  background:
    radial-gradient(circle at 90% 10%, rgba(255, 91, 20, .10), transparent 28%),
    linear-gradient(145deg, rgba(19, 21, 27, .96), rgba(9, 11, 16, .97));
  border: 1px solid rgba(255, 255, 255, .09);
  border-radius: 26px;
  box-shadow: 0 28px 80px rgba(0, 0, 0, .32);
}
.landing-content::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255, 255, 255, .025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .025) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: linear-gradient(#000, transparent 72%);
}
.landing-section-head { position: relative; max-width: 720px; margin-bottom: 30px; }
.landing-section-head h2 {
  margin: 11px 0 10px;
  color: #fff;
  font-size: clamp(28px, 4vw, 46px);
  line-height: 1.05;
  letter-spacing: -.035em;
  text-wrap: balance;
}
.landing-section-head > p {
  max-width: 660px;
  color: #979eaa;
  font-size: 14px;
  line-height: 1.65;
}
.systems-grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 11px;
}
.system-card {
  min-width: 0;
  min-height: 190px;
  padding: 19px;
  background: rgba(5, 7, 11, .58);
  border: 1px solid rgba(255, 255, 255, .075);
  border-radius: 16px;
  transition: transform .16s ease, border-color .16s ease, background .16s ease;
}
.system-card:hover {
  transform: translateY(-2px);
  background: rgba(10, 12, 18, .82);
  border-color: rgba(255, 114, 27, .28);
}
.system-icon {
  width: 35px;
  height: 35px;
  display: grid;
  place-items: center;
  margin-bottom: 18px;
  color: var(--rush-orange-2);
  background: linear-gradient(145deg, rgba(255, 78, 18, .14), rgba(255, 184, 34, .055));
  border: 1px solid rgba(255, 113, 21, .24);
  border-radius: 11px;
  font-size: 16px;
}
.system-card h3 {
  margin-bottom: 8px;
  color: #f4f5f7;
  font-size: 14px;
  line-height: 1.25;
}
.system-card p {
  color: #858d99;
  font-size: 11px;
  line-height: 1.58;
}

.game-language-switcher {
  right: max(10px, env(safe-area-inset-right));
  bottom: max(10px, env(safe-area-inset-bottom));
  z-index: 58;
  min-height: 38px;
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 4px 5px 4px 9px;
  border-color: #3f4652;
}
.game-language-switcher select { width: 48px; padding-left: 8px; padding-right: 4px; }

.login-wrap .linklike {
  color: #ff9b62;
  font-weight: 650;
  text-underline-offset: 3px;
}
.login-wrap .linklike:hover { color: #ffc09d; }
.login-wrap .err {
  min-height: 0;
  margin-top: 9px;
  color: #ff8f8f;
  font-size: 12px;
  line-height: 1.4;
}
.login-wrap .err:empty { display: none; }
.login-wrap .starter-card {
  min-width: 0;
  border-color: #2a2e36;
  background: rgba(5, 7, 11, .68);
}
.login-wrap .starter-card:hover { border-color: #555b66; }
.login-wrap .starter-card.sel {
  border-color: var(--rush-orange);
  background: rgba(255, 84, 20, .08);
  box-shadow: 0 0 0 2px rgba(255, 84, 20, .10), 0 8px 20px rgba(0, 0, 0, .16);
}
.starter-emoji { font-size: 30px !important; }

.login-wrap button:focus-visible,
.login-wrap a:focus-visible,
.login-wrap input:focus-visible,
.login-wrap [role="button"]:focus-visible {
  outline: 2px solid var(--rush-yellow);
  outline-offset: 3px;
}

@media (max-width: 900px) {
  .login-shell { min-height: 0; grid-template-columns: 1fr; gap: 18px; width: min(620px, 100%); padding-top: 26px; }
  .login-brand { align-items: center; text-align: center; }
  .login-mark {
    width: clamp(230px, 50vw, 330px);
    margin: -64px auto -58px;
  }
  .login-brand-copy { display: block; }
  .login-brand h1 { max-width: 560px; font-size: clamp(34px, 7vw, 48px); }
  .login-brand p { max-width: 560px; }
  .public-stats { margin-left: auto; margin-right: auto; text-align: left; }
  .brand-features { display: none; }
  .login-card { padding: clamp(24px, 6vw, 34px); }
  .landing-content { width: min(720px, 100%); margin-top: 52px; }
  .systems-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .login-footer { width: min(720px, 100%); }
}
@media (max-width: 560px) {
  .login-wrap {
    display: block;
    padding: max(10px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right))
      max(14px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));
  }
  .login-shell { display: block; }
  .login-mark { width: min(68vw, 260px); margin: -50px auto -50px; }
  .login-brand-copy { padding: 0 6px 23px; }
  .login-brand h1 { margin-top: 11px; font-size: clamp(29px, 9vw, 38px); line-height: 1.02; }
  .login-brand p { font-size: 13px; line-height: 1.55; }
  .public-stats { margin-top: 19px; gap: 7px; }
  .public-stat { min-height: 74px; padding: 11px 12px; gap: 10px; }
  .public-stat strong { font-size: 24px; }
  .public-stat div > span { font-size: 11px; }
  .stat-icon { width: 32px; height: 32px; }
  .login-card { padding: 25px 18px 21px; border-radius: 18px; }
  .login-card-top { margin-bottom: 22px; }
  .login-card-top h2 { font-size: 25px; }
  .in-wrap input { min-height: 52px; font-size: 16px; }
  .btn-epic, .btn-ghost { min-height: 51px; }
  .language-switcher { top: max(8px, env(safe-area-inset-top)); right: max(8px, env(safe-area-inset-right)); }
  .language-switcher-label { display: none; }
  .landing-content { margin-top: 34px; padding: 29px 17px; border-radius: 19px; }
  .landing-section-head { margin-bottom: 21px; }
  .landing-section-head h2 { font-size: 29px; }
  .systems-grid { grid-template-columns: 1fr; gap: 8px; }
  .system-card { min-height: 0; padding: 17px; }
  .system-icon { margin-bottom: 13px; }
  .login-footer { display: none; }
}
@media (max-width: 360px) {
  .language-switcher { padding-left: 7px; padding-right: 7px; }
  .language-switcher > [aria-hidden="true"] { display: none; }
  .language-flag { width: 33px; }
  .login-card { padding-left: 14px; padding-right: 14px; }
  .starter-row { gap: 5px; }
  .login-wrap .starter-card { padding-left: 2px; padding-right: 2px; }
  .login-wrap .starter-card span { font-size: 10px; }
  .login-btns { grid-template-columns: 1fr; }
}
@media (orientation: landscape) and (min-width: 520px) and (max-width: 900px) and (max-height: 540px) {
  .login-wrap {
    display: block;
    padding: max(8px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right))
      max(8px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));
  }
  .login-shell {
    width: min(720px, 100%);
    display: grid;
    grid-template-columns: minmax(160px, .7fr) minmax(300px, 430px);
    align-items: start;
    gap: 14px;
  }
  .login-brand {
    position: sticky;
    top: 8px;
    min-height: 270px;
    justify-content: center;
  }
  .login-brand-copy { display: none; }
  .login-mark { width: min(31vw, 230px); margin: -42px auto -38px; }
  .login-card { padding: 21px 24px; border-radius: 17px; }
  .login-card-top { margin-bottom: 16px; }
  .login-card-top h2 { font-size: 23px; }
  .login-card-top p { display: none; }
  .in-wrap { margin-bottom: 11px; }
  .in-wrap input { min-height: 46px; }
  .btn-epic, .btn-ghost { min-height: 46px; }
  .login-footer { display: none; }
}
@media (min-width: 901px) and (max-height: 720px) {
  .login-wrap { padding-top: 18px; padding-bottom: 18px; }
  .login-shell { min-height: 0; }
  .login-mark { width: 300px; margin-top: -64px; margin-bottom: -60px; }
  .login-brand h1 { font-size: 44px; }
  .brand-features { margin-top: 17px; }
  .login-card { padding: 25px 30px; }
  .login-card-top { margin-bottom: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .login-wrap *, #rotate-hint .rh-icon { animation: none !important; transition-duration: .01ms !important; }
}

/* ------------------------------------------------ canvas */
#world { position: absolute; inset: 0; width: 100%; height: 100%; image-rendering: pixelated; }

#zone-label {
  top: 10px; left: 50%; transform: translateX(-50%);
  margin-top: 52px;
  color: #cfe3b8; text-shadow: 0 1px 3px #000;
  font-size: 12px; letter-spacing: .4px; pointer-events: none;
}

/* ------------------------------------------------ painel do jogador */
#player-panel { top: 12px; left: 12px; width: 240px; padding: 10px 12px; }
.pp-head { display: flex; justify-content: space-between; align-items: baseline; }
#pp-name { font-weight: bold; color: #ffd964; font-size: 14px; }
.pp-poke { display: flex; gap: 8px; margin: 8px -4px 6px; padding: 4px; border-radius: 8px; align-items: center; }
.pp-poke.clickable { cursor: pointer; transition: background .15s; }
.pp-poke.clickable:hover { background: rgba(255,255,255,.06); }
.pp-poke.clickable:hover #pp-sprite { border-color: #c9a34e; }
#pp-sprite { image-rendering: pixelated; background: #0d141d; border: 1px solid #37475c; border-radius: 6px; transition: border-color .15s; }

/* ⚡ seletor rápido de pokémon ativo (popover sob o painel) */
#poke-switch { position: fixed; z-index: 120; width: 210px; padding: 10px; }
#poke-switch .ps-title { color: #ffd964; font-weight: bold; font-size: 12px; margin-bottom: 8px; }
#poke-switch .ps-grid { display: flex; flex-direction: column; gap: 5px; }
.ps-card {
  position: relative; display: flex; align-items: center; gap: 8px; cursor: pointer;
  background: #101823; border: 1px solid #1c2836; border-radius: 8px; padding: 5px 8px 5px 6px;
  transition: border-color .15s, transform .12s, background .15s;
}
.ps-card:hover { border-color: #31465f; transform: translateX(2px); background: #121c29; }
.ps-card.active { border-color: #3f7d46; box-shadow: 0 0 8px rgba(63,125,70,.3); cursor: default; }
.ps-card.active:hover { transform: none; }
.ps-card.shiny { border-color: #b98f1f; }
.ps-card canvas { image-rendering: pixelated; }
.ps-info { flex: 1; min-width: 0; }
.ps-nm { font-size: 12px; color: #eaf0f6; font-weight: bold; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ps-lv { font-size: 10px; color: #7c8a99; }
.ps-hp { height: 4px; background: #26303c; border-radius: 3px; overflow: hidden; margin-top: 3px; }
.ps-hp > div { height: 100%; background: linear-gradient(#66d96b, #2f9d43); }
.ps-cur { color: #7fe08a; font-size: 12px; }
.pp-poke-info { flex: 1; min-width: 0; }
.pp-poke-info .row { display: flex; gap: 6px; align-items: center; margin-bottom: 4px; }
.pp-nature { display: inline-flex; align-items: center; max-width: 100%; margin: -1px 0 4px; padding: 2px 7px; overflow: hidden; border: 1px solid rgba(138, 105, 235, .56); border-radius: 999px; background: rgba(92, 62, 170, .2); color: #dccdff; font-size: 10px; font-weight: 800; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.pp-poke-meta { display: flex; align-items: center; gap: 5px; margin: 0 0 4px; color: #aab7c9; font-size: 10px; line-height: 1.2; white-space: nowrap; }
.pp-poke-meta span + span::before { content: "·"; margin-right: 5px; color: #607087; }
.pp-poke-meta #pp-poke-lv { color: #dce7f6; font-weight: 800; }
.pp-poke-meta #pp-poke-boost { color: #c7d4e5; }
.pp-poke-meta #pp-poke-iv { color: #91b7d6; }
.bar { height: 9px; background: #0d141d; border: 1px solid #37475c; border-radius: 4px; overflow: hidden; }
.bar > div { height: 100%; width: 0; transition: width .5s; }
.bar.hp > div { background: linear-gradient(#66d96b, #2f9d43); }
.bar.exp { margin-top: 6px; }
.bar.exp > div { background: linear-gradient(#ffd964, #b98f1f); }
.pp-cash { display: flex; gap: 12px; margin-top: 8px; font-size: 12px; }

/* ------------------------------------------------ topbar */
#topbar {
  top: 12px; left: 50%; transform: translateX(-50%);
  display: flex; gap: 4px; padding: 5px 8px;
}
.tb {
  background: transparent; border: 1px solid transparent; border-radius: 7px;
  font-size: 17px; padding: 3px 8px; cursor: pointer;
  transition: background .12s, border-color .12s, transform .08s;
}
.tb:hover { background: #223047; border-color: #46618a; }
.tb:active { transform: scale(.9); }
/* ícones reais do client (PNG) */
.tb.ic { padding: 5px; width: 38px; height: 38px; display: flex; align-items: center; justify-content: center; }
.tb.ic img {
  width: 26px; height: 26px; image-rendering: auto;
  filter: drop-shadow(0 1px 1px rgba(0,0,0,.6));
  opacity: .92; transition: opacity .12s, transform .1s;
}
.tb.ic:hover img { opacity: 1; transform: scale(1.08); }
/* botão de emoji (📢 Update) + bolinha de "tem novidade" */
.tb.ic { position: relative; }
.tb.ic.emoji span { font-size: 21px; filter: drop-shadow(0 1px 1px rgba(0,0,0,.6)); }
.upd-dot {
  position: absolute; top: 3px; right: 3px; width: 9px; height: 9px;
  border-radius: 50%; background: #e5484d; border: 1px solid #1a1408;
}
.hud-quick-btn{position:relative}
.upd-card {
  background: #0d141d; border: 1px solid #273246; border-radius: 8px;
  padding: 10px 14px; margin-bottom: 10px;
}
.upd-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 6px; }
.upd-head b { color: #ffd964; }
.upd-list { margin: 0; padding-left: 18px; }
.upd-list li { margin: 4px 0; font-size: 13px; }

/* ------------------------------------------------ auto helper */
/* cabeçalho + atalhos FIXOS, lista de funções com rolagem própria, rodapé fixo */
#auto-panel {
  top: 12px; right: 12px; width: 258px; padding: 8px 9px 7px; font-size: 12px;
  max-height: calc(100vh - 24px);
  display: flex; flex-direction: column;
}
.ap-title {
  flex: none; color: #ffd964; font-weight: bold; margin-bottom: 7px;
  border-bottom: 1px solid #273246; padding-bottom: 6px;
  display: flex; justify-content: space-between; align-items: center; cursor: pointer;
}
.ap-actions { display: flex; align-items: center; gap: 5px; position: relative; overflow: visible; }
#auto-hunt-analysis {
  display: inline-flex; align-items: center; justify-content: center; gap: 5px;
  min-width: 32px; height: 28px; padding: 0 7px; border: 1px solid #496487;
  border-radius: 7px; background: linear-gradient(180deg, #172b3d, #101b29);
  color: #9ee1ff; cursor: pointer; transition: width .18s ease, border-color .15s, background .15s, transform .15s;
}
#auto-hunt-analysis:hover { border-color: #ffd964; background: linear-gradient(180deg, #223c53, #142437); transform: translateY(-1px); }
#auto-hunt-analysis:focus-visible { outline: 2px solid #ffd964; outline-offset: 2px; }
.hunt-analysis-glyph { display: inline-flex; align-items: end; gap: 2px; height: 14px; }
.hunt-analysis-glyph i { display:block; width:3px; border-radius:2px; background:#78d6ff; box-shadow:0 0 5px rgba(120,214,255,.45); }
.hunt-analysis-glyph i:nth-child(1) { height:6px; }.hunt-analysis-glyph i:nth-child(2) { height:11px; }.hunt-analysis-glyph i:nth-child(3) { height:14px; }
.hunt-mini-readout { display:none; align-items:center; gap:5px; min-width:0; font-size:9px; font-weight:800; white-space:nowrap; overflow:hidden; }
#auto-hunt-analysis.is-expanded {
  position:absolute; right:32px; top:0; z-index:7; width:min(206px, calc(100vw - 68px));
  justify-content:flex-start; padding:0 8px; border-color:#77cfff;
  box-shadow:0 7px 20px rgba(0,0,0,.36), 0 0 0 1px rgba(120,214,255,.12);
}
#auto-hunt-analysis.is-expanded .hunt-mini-readout { display:inline-flex; }
#auto-hunt-analysis.is-expanded .hunt-analysis-glyph { flex:none; }
#auto-hunt-analysis.is-expanded .hm-time { color:#d9efff; }
#auto-hunt-analysis.is-expanded .hm-xp { color:#ffd964; }
#auto-hunt-analysis.is-expanded .hm-gold { color:#9fe28f; }
#auto-hunt-analysis.is-expanded .hm-kills { color:#dce6f2; }
#auto-hunt-analysis.is-idle .hunt-analysis-glyph i { background:#72849a; box-shadow:none; }
#auto-panel.min #auto-hunt-analysis { display:none; }
@media (max-width: 520px) { #auto-hunt-analysis.is-expanded { width:min(190px, calc(100vw - 58px)); right:30px; } }
#hunt-analyse-readout {
  width:100%; display:grid; grid-template-columns:auto 1fr 1fr; gap:4px 7px; align-items:center;
  margin:0 0 5px; padding:6px 7px; border:1px solid #355779; border-radius:8px;
  background:linear-gradient(135deg,rgba(20,48,68,.9),rgba(13,25,39,.95)); color:#cfe9ff;
  text-align:left; font-size:9px; cursor:pointer;
}
#hunt-analyse-readout:hover { border-color:#ffd964; background:linear-gradient(135deg,rgba(29,65,89,.95),rgba(16,31,48,.98)); }
#hunt-analyse-readout b { color:#82dcff; font-size:10px; }
#hunt-analyse-readout .ha-xp { color:#ffd964; } #hunt-analyse-readout .ha-gold { color:#9fe28f; }
#auto-panel.min #hunt-analyse-readout { display:none!important; }
/* Painel flutuante do Hunt Analyzer: acompanha o Auto-Hunt e recolhe para a
   lateral esquerda, mantendo a caçada inteira legível em uma única olhada. */
#hunt-analyzer-hud { position:fixed; z-index:86; width:218px; box-sizing:border-box; overflow:hidden; border:1px solid #8f491d; border-radius:9px; background:linear-gradient(150deg,rgba(32,17,8,.98),rgba(10,16,16,.98)); box-shadow:0 8px 20px rgba(0,0,0,.48),0 0 14px rgba(255,105,4,.1); color:#f7ddc0; font-family:Inter,system-ui,sans-serif; transition:left .2s ease,top .2s ease,width .18s ease,border-radius .18s ease,box-shadow .18s ease; }
body:not(.rush-hunt-zone) #hunt-analyzer-hud { display:none !important; pointer-events:none !important; }
#hunt-analyzer-hud .hah-head { display:flex; align-items:center; gap:6px; min-height:33px; padding:5px 6px 5px 8px; border-bottom:1px solid rgba(179,88,27,.45); background:linear-gradient(90deg,rgba(94,42,9,.48),rgba(24,18,13,.12)); cursor:pointer; }
.hah-mark { display:flex; align-items:flex-end; gap:2px; width:19px; height:18px; padding:3px; box-sizing:border-box; border:1px solid #c76a24; border-radius:5px; background:rgba(255,123,7,.11); box-shadow:0 0 9px rgba(255,112,0,.18); }
.hah-mark i { display:block; width:3px; border-radius:2px 2px 1px 1px; background:linear-gradient(#ffd05a,#ff6b08); box-shadow:0 0 5px rgba(255,143,18,.55); }.hah-mark i:nth-child(1){height:5px}.hah-mark i:nth-child(2){height:10px}.hah-mark i:nth-child(3){height:14px}
.hah-title { display:grid; min-width:0; flex:1; gap:0; }.hah-title b { color:#ffcf87; font-size:10px; letter-spacing:.05px; }.hah-title small { display:none; }
.hah-min { width:21px; height:21px; border:1px solid #84441f; border-radius:5px; background:#170f0a; color:#ffc176; font:900 16px/1 Inter,system-ui,sans-serif; cursor:pointer; transition:.15s; }.hah-min:hover { border-color:#ff7900; background:#351707; box-shadow:0 0 10px rgba(255,108,0,.22); }
.hah-content { display:grid; gap:5px; padding:5px; }.hah-stats { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:3px; }.hah-stat { min-width:0; padding:4px 5px; border:1px solid rgba(124,65,30,.6); border-radius:5px; background:rgba(4,9,10,.4); }.hah-stat small { display:block; overflow:hidden; color:#aa8565; font-size:6px; font-weight:800; letter-spacing:.2px; text-overflow:ellipsis; white-space:nowrap; }.hah-stat b { display:block; overflow:hidden; margin-top:1px; color:#f8e0c5; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }.hah-stat.xp b { color:#ffd46b; }.hah-stat.gold b { color:#9ae59f; }.hah-stat.shiny b { color:#dca6ff; }
.hah-loot { display:grid; gap:2px; padding:5px; border:1px solid rgba(126,65,30,.52); border-radius:5px; background:rgba(9,13,13,.66); }.hah-loot>span { color:#ffb865; font-size:6px; font-weight:900; letter-spacing:.45px; }.hah-loot>div { display:flex; align-items:center; justify-content:space-between; gap:5px; min-width:0; color:#e9c9a7; font-size:7px; }.hah-loot b { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.hah-loot small { flex:none; color:#c79c70; font-size:6px; }.hah-loot em { color:#92735a; font-size:7px; font-style:normal; }.hah-detail { width:100%; min-height:22px; border:1px solid #a6551d; border-radius:5px; background:linear-gradient(90deg,#a94609,#e96c0a); color:#fff1dd; font:900 8px Inter,system-ui,sans-serif; cursor:pointer; }.hah-detail:hover { filter:brightness(1.12); box-shadow:0 0 12px rgba(255,111,0,.23); }
#hunt-analyzer-hud.is-minimized { width:43px; height:78px; border-left:0; border-radius:0 11px 11px 0; box-shadow:5px 8px 20px rgba(0,0,0,.46),0 0 14px rgba(255,105,4,.13); }.is-minimized .hah-head { height:100%; min-height:0; justify-content:center; padding:7px; border:0; }.is-minimized .hah-title,.is-minimized .hah-content { display:none; }.is-minimized .hah-mark { width:22px; height:22px; }.is-minimized .hah-min { position:absolute; right:4px; bottom:5px; width:25px; height:22px; font-size:17px; transform:rotate(180deg); }
@media(max-width:520px){#hunt-analyzer-hud{width:min(218px,calc(100vw - 16px))}.hah-content{gap:5px}.hah-stat{padding:4px 5px}}
#ah-min {
  background: #101823; border: 1px solid #37475c; border-radius: 5px;
  color: #aeb9c6; cursor: pointer; font-size: 12px; line-height: 1;
  padding: 2px 8px; font-weight: bold;
}
#ah-min:hover { border-color: #c9a34e; color: #ffd964; }
/* minimizado: só a barra do título */
#auto-panel.min > :not(.ap-title) { display: none !important; }
#auto-panel.min { width: 150px; }
#auto-panel.min .ap-title { margin-bottom: 0; border-bottom: none; padding-bottom: 0; }
#auto-panel label { margin: 0; cursor: pointer; }

/* atalhos compactos no topo: Hunt Analyse · Centro Pokémon · Mercado (Mark) */
.ah-top { flex: none; display: flex; gap: 5px; margin: 0 0 4px; }
.ah-go {
  flex: 1; display: flex; flex-direction: column; align-items: center; gap: 2px;
  padding: 5px 2px 4px; font-size: 14px; line-height: 1; cursor: pointer;
  background: linear-gradient(180deg, #182636, #101a26);
  border: 1px solid #2a3d55; border-radius: 8px; color: #cfe6ff; transition: .12s;
}
.ah-go small { font-size: 9px; font-weight: 700; color: #9fb0c4; letter-spacing: .2px; }
.ah-go:hover { border-color: #c9a34e; color: #ffd964; }
.ah-go:hover small { color: #ffd964; }
.ah-go:active { transform: translateY(1px); }

/* card VIP (🤖 Auto-Hunt Inteligente, injetado pelo settings-extra):
   compacto e dourado, fixo logo acima da lista (flex order) */
#auto-panel #ah-smart { order: 1; flex: none; padding: 6px 8px !important; margin: 2px 0 4px !important; border-radius: 8px !important; }
#auto-panel #ah-smart .d { display: none; }

/* SÓ a lista de funções rola (cabeçalho/rodapé sempre visíveis) */
.ah-body { order: 2; flex: 1 1 auto; min-height: 0; overflow-y: auto; scrollbar-width: thin; padding-right: 3px; margin-right: -3px; }
.ah-body::-webkit-scrollbar { width: 7px; }
.ah-body::-webkit-scrollbar-thumb { background: #c9a34e55; border-radius: 4px; }
.ah-bottom { order: 3; flex: none; border-top: 1px solid #273246; margin-top: 5px; padding-top: 5px; }
#ahp-back { order: 4; }

/* categorias (Batalha / Captura / Automação) */
.ah-cat {
  display: flex; align-items: center; gap: 6px; margin: 7px 2px 3px;
  color: #ffd964; font-size: 10px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase;
}
.ah-cat:first-child { margin-top: 1px; }
.ah-cat::after { content: ""; flex: 1; height: 1px; background: linear-gradient(90deg, #c9a34e55, transparent); }

/* 🪟 opacidade ajustável dos painéis (menus) */
.panel.hud { opacity: var(--menu-op, 1); }

/* cards: verde discreto LIGADO · cinza desligado */
.ah-row {
  background: #0d141d; border: 1px solid #273246; border-radius: 7px;
  padding: 5px 7px; margin: 4px 0; transition: border-color .15s, background .15s;
}
.ah-row:hover { border-color: #37475c; }
.ah-row.on {
  border-color: #3f8f4a66;
  background: linear-gradient(180deg, #0e1c13, #0c1610);
}
.ah-head { display: flex; align-items: center; gap: 4px; }
.ah-main { flex: 1; min-width: 0; display: flex; align-items: center; gap: 7px; }
.ah-ic { flex: none; width: 20px; text-align: center; font-size: 14px; filter: grayscale(.6) opacity(.75); transition: filter .15s; }
.ah-row.on .ah-ic { filter: none; }
.ah-txt { flex: 1; min-width: 0; }
.ah-txt b {
  display: block; font-size: 11.5px; line-height: 1.25; color: #aeb9c6; font-weight: 600;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.ah-row.on .ah-txt b { color: #cfeed4; }
.ah-desc {
  display: block; color: #75808f; font-size: 9px; line-height: 1.25;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.ah-row.on .ah-desc { color: #8fae95; }

/* switch — o checkbox REAL fica invisível (mesmos ids/eventos de sempre) */
#auto-panel .ah-row input[type=checkbox] { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.ah-sw {
  flex: none; width: 30px; height: 17px; border-radius: 10px; position: relative;
  background: #222c39; border: 1px solid #37475c; transition: background .18s, border-color .18s;
}
.ah-sw::after {
  content: ""; position: absolute; top: 2px; left: 2px; width: 11px; height: 11px;
  border-radius: 50%; background: #77828f; transition: left .18s, background .18s;
}
#auto-panel .ah-row input[type=checkbox]:checked + .ah-sw { background: #1d4527; border-color: #3f8f4a; }
#auto-panel .ah-row input[type=checkbox]:checked + .ah-sw::after { left: 15px; background: #58c468; }
#auto-panel .ah-row input[type=checkbox]:focus-visible + .ah-sw { outline: 1px solid #c9a34e; outline-offset: 1px; }
.ah-sw.sm { width: 24px; height: 14px; }
.ah-sw.sm::after { width: 8px; height: 8px; }
#auto-panel .ah-row input[type=checkbox]:checked + .ah-sw.sm::after { left: 12px; }

/* ▾ expandir opções (potion/bola/isca) mesmo com a função desligada */
.ah-exp {
  flex: none; width: 16px; height: 16px; padding: 0; line-height: 1;
  background: none; border: 0; color: #5f6f83; font-size: 10px; cursor: pointer;
  transition: transform .15s, color .15s;
}
.ah-exp:hover { color: #ffd964; }
.ah-exp.none { visibility: hidden; }
.ah-row.exp .ah-exp { transform: rotate(180deg); color: #ffd964; }

/* sub-opções: aparecem com a função LIGADA ou expandida no ▾ */
.ah-sub { display: none; margin: 5px 0 1px 27px; flex-direction: column; gap: 3px; }
.ah-row.on .ah-sub, .ah-row.exp .ah-sub { display: flex; }
.ah-line { display: flex; align-items: center; gap: 5px; }
.ah-line span { flex: none; color: #93a0ae; font-size: 10px; }
.ah-line select {
  flex: 1; min-width: 0; background: #0d141d; color: #e8eef5;
  border: 1px solid #37475c; border-radius: 5px; padding: 2px 3px; font-size: 10.5px;
}
.ah-line .tag { flex: none; }
.ah-check { display: flex; align-items: center; gap: 6px; font-size: 10px; color: #aeb9c6; }
.ah-warn { color: #ffd964; font-size: 9.5px; margin: 4px 0 1px 27px; }

/* rodapé fixo: opacidade + reset das posições */
.ah-oprow { display: flex; align-items: center; gap: 5px; font-size: 10.5px; color: #cfd8e3; margin-bottom: 3px; }
.ah-oprow b { color: #ffd964; }
.ah-oprow .ah-reset { margin-left: auto; }
.ah-bottom input[type=range] { width: 100%; accent-color: #c9a34e; cursor: pointer; height: 14px; }

/* modo premium (launcher do settings-extra): esconde a lista clássica inteira */
body.ah-premium #auto-panel .ah-body, body.ah-premium #auto-panel .ah-bottom { display: none !important; }

/* celular: o painel abre mais pra baixo — não deixa passar da tela */
@media (max-width: 980px), (pointer: coarse) {
  #auto-panel { max-height: calc(100vh - 72px); width: min(258px, calc(100vw - 82px)); }
}

/* badges dos slots do time/box (✨ shiny · 🔒 travado) */
.eq-slot { position: relative; }
.slot-b { position: absolute; top: 2px; font-size: 11px; pointer-events: none; text-shadow: 0 1px 2px rgba(0,0,0,.8); }
.slot-b.sh { left: 3px; }
.slot-b.lk { right: 3px; }

/* barra fininha de EXP do pokémon (abaixo do HP no painel do jogador) */
.poke-exp { height: 5px; margin-top: 3px; }

/* 📊 Hunt Analyse */
.ha-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.ha-card {
  background: #0d141d; border: 1px solid #273246; border-radius: 8px;
  padding: 8px 10px; display: flex; flex-direction: column; gap: 2px;
}
.ha-card span { color: #8b97a5; font-size: 11px; }
.ha-card b { font-size: 16px; color: #fff; }
.ha-card i { font-style: normal; color: #ffd964; font-size: 11px; }
.ha-loot { max-height: 220px; overflow-y: auto; display: flex; flex-direction: column; gap: 4px; }
.ha-loot-row {
  display: flex; justify-content: space-between; align-items: center;
  background: #0d141d; border: 1px solid #273246; border-radius: 6px;
  padding: 4px 10px; font-size: 12px;
}
.ha-loot-row > b { color: #ffd964; }
.ha-loot-item { display: flex; align-items: center; gap: 8px; text-transform: capitalize; }
.ha-loot-item canvas { image-rendering: pixelated; flex: none; }
@media (max-width: 700px) { .ha-grid { grid-template-columns: repeat(2, 1fr); } }

/* 🗺️ minimapa ao vivo (canto superior esquerdo, sob o painel do jogador) */
#minimap {
  position: fixed; left: 12px; top: 262px; z-index: 26; padding: 5px 6px 6px;
  width: 194px;
}
.mm-head {
  display: flex; justify-content: space-between; align-items: center;
  color: #ffd964; font-size: 11px; font-weight: bold; margin-bottom: 4px; padding: 0 2px;
}
#mm-hide {
  background: #101823; border: 1px solid #37475c; border-radius: 4px;
  color: #aeb9c6; cursor: pointer; font-size: 11px; line-height: 1; padding: 1px 6px;
}
#mm-hide:hover { border-color: #c9a34e; color: #ffd964; }
#mm-canvas {
  display: block; width: 182px; height: 140px; border-radius: 5px;
  border: 1px solid #273246; background: #06090d; cursor: pointer;
  image-rendering: pixelated;
}
#mm-show {
  position: fixed; left: 12px; top: 262px; z-index: 26;
  background: rgba(10,16,24,.85); border: 1px solid #2a3d55; border-radius: 6px;
  color: #ffd964; cursor: pointer; font-size: 16px; padding: 5px 9px;
}
/* no celular o minimapa some (tela pequena) */
@media (max-width: 980px), (pointer: coarse) { #minimap, #mm-show { display: none; } }

/* 📊 mini Hunt Analyse (barrinha ao vivo sob o painel do jogador) */
#mini-hunt {
  position: fixed; left: 12px; top: 230px; z-index: 26; cursor: pointer;
  background: rgba(10, 16, 24, .85); border: 1px solid #2a3d55; border-radius: 6px;
  padding: 4px 10px; font-size: 11px; display: flex; gap: 10px; align-items: center;
  white-space: nowrap;
}
#mini-hunt:hover { border-color: #37475c; }
#mini-hunt .mh-xp { color: #ffd964; }
#mini-hunt .mh-gold { color: #9fe28f; }
#mini-hunt .mh-k { color: #ff9d9d; }
#mini-hunt .mh-x { color: #8b97a5; cursor: pointer; font-size: 13px; padding: 0 2px; }
#mini-hunt .mh-x:hover { color: #fff; }
@media (max-width: 980px), (pointer: coarse) { #mini-hunt { display: none; } }

/* 💰 feed de ganhos (+XP, +gold, loot) — espaço entre a HUD superior direita
   e o minimapa. A posição fina é sincronizada no game.js com o minimapa que
   o jogador arrastou, para não cobrir o mapa nem a área jogável. */
#gain-feed {
  position: fixed; right: 12px; left: auto; top: 78px; z-index: 25;
  display: flex; flex-direction: column; gap: 4px; pointer-events: none;
  width: min(276px, calc(100vw - 24px)); max-height: 220px; overflow: hidden;
}
.gain {
  background: rgba(10, 16, 24, .85); border: 1px solid #2a3d55; border-radius: 6px;
  padding: 4px 10px; font-size: 12px; color: #cfd8e3; max-width: none;
  animation: gainIn .25s ease-out;
}
@keyframes gainIn { from { opacity: 0; transform: translateX(-14px); } }
.gain.out { opacity: 0; transition: opacity .5s; }
.gain.xp { color: #ffd964; border-color: #7a5a10; }
.gain.gold { color: #9fe28f; border-color: #3f8f4a; }
.gain.loot { color: #8fc7ff; border-color: #2f6d9d; }
.gain.catch { color: #ff9d9d; border-color: #a33; }

/* ✨ banner GLOBAL de captura shiny (anúncio dourado) */
#shiny-banner {
  position: fixed; top: 14%; left: 50%; transform: translateX(-50%);
  width: min(92vw, 860px); z-index: 95; cursor: pointer;
  background: linear-gradient(105deg, #2b2007 0%, #4a3a10 30%, #67511a 50%, #4a3a10 70%, #2b2007 100%);
  border: 1px solid #c9a34e; border-radius: 10px;
  clip-path: polygon(3% 0, 97% 0, 100% 18%, 100% 82%, 97% 100%, 3% 100%, 0 82%, 0 18%);
  padding: 18px 30px 22px; text-align: center;
  box-shadow: 0 8px 40px rgba(0,0,0,.65), inset 0 0 60px rgba(255,217,100,.12);
  animation: sbIn .5s ease-out;
}
@keyframes sbIn { from { opacity: 0; transform: translateX(-50%) translateY(-24px) scale(.95); } }
#shiny-banner.sb-out { opacity: 0; transition: opacity .7s; }
#shiny-banner .sb-title {
  font-weight: bold; letter-spacing: 4px; color: #ffd964; font-size: 20px;
  margin-bottom: 10px; animation: sbPulse 1.4s infinite alternate;
}
@keyframes sbPulse { from { text-shadow: 0 0 8px rgba(255,217,100,.5); } to { text-shadow: 0 0 22px rgba(255,217,100,1); } }
#shiny-banner .sb-body { display: flex; align-items: center; gap: 22px; }
#shiny-banner .sb-poke { position: relative; flex: none; filter: drop-shadow(0 0 14px rgba(255,217,100,.85)); }
#shiny-banner .sb-poke::after { /* sombra dourada no chão, como no anúncio */
  content: ''; position: absolute; left: 50%; bottom: -10px; transform: translateX(-50%);
  width: 96px; height: 24px; border-radius: 50%; z-index: -1;
  background: radial-gradient(ellipse, rgba(140,105,25,.85), transparent 70%);
}
#shiny-banner .sb-poke canvas { image-rendering: pixelated; }
#shiny-banner .sb-mid { flex: 1; }
#shiny-banner .sb-who { color: #f3e7c8; font-size: 15px; }
#shiny-banner .sb-cyan { color: #7fe7ff; font-weight: bold; letter-spacing: 1px; text-shadow: 0 0 10px rgba(127,231,255,.7); }
#shiny-banner .sb-name {
  font-size: 34px; font-weight: 900; letter-spacing: 3px; color: #ffd964;
  text-shadow: 0 2px 0 #7a5a10, 0 0 18px rgba(255,217,100,.5); margin: 4px 0 8px;
}
#shiny-banner .sb-global {
  display: inline-block; background: #5b2fd4; color: #fff; border-radius: 14px;
  padding: 4px 14px; font-size: 12px; font-weight: bold; letter-spacing: 1px;
}
#shiny-banner .sb-rare { color: #cbb98a; font-size: 11px; margin-top: 8px; font-style: italic; }
#shiny-banner .sb-hex {
  flex: none; width: 92px; height: 102px; display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: 4px;
  clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
  background: linear-gradient(#3a2c08, #1f1804); border: 1px solid #c9a34e;
  color: #ffd964; font-size: 11px; font-weight: bold; letter-spacing: 1px;
}
#shiny-banner .sb-hex-star { font-size: 26px; text-shadow: 0 0 12px rgba(255,217,100,.9); }
@media (max-width: 700px) {
  #shiny-banner .sb-hex { display: none; }
  #shiny-banner .sb-name { font-size: 24px; }
}

/* 🔑 bloco de recuperação no Perfil (letra maior pra dar pra LER) */
.prof-rec {
  margin-top: 8px; padding: 8px 10px; font-size: 13px; line-height: 1.7;
  background: #0d141d; border: 1px solid #37475c; border-radius: 6px; color: #cfd8e3;
}

/* link "Esqueceu a senha?" da tela de login */
.linklike {
  background: none; border: none; color: #8fc7ff; cursor: pointer;
  font-size: 12px; margin-top: 8px; text-decoration: underline; padding: 0;
}
.linklike:hover { color: #bfe0ff; }

/* ------------------------------------------------ captura */
/* fundo cinzentado + borda azul discreta + detalhes dourados (tokens da Pokédex) */
#capture-panel {
  right: 12px; bottom: 12px; width: 265px; padding: 9px 10px;
  background: linear-gradient(180deg, rgba(23, 29, 39, .97), rgba(13, 18, 26, .97));
  border: 1px solid #2a3d55;
  box-shadow: 0 3px 12px rgba(0, 0, 0, .35);
}
/* cabeçalho limpo: ícone+título à esquerda · gerenciador · contador à direita */
.cp-head {
  display: flex; align-items: center; gap: 6px;
  margin-bottom: 7px; padding-bottom: 6px; border-bottom: 1px solid #1e2a3c;
}
/* ⚾ botão do gerenciador de bolas (pity por espécie) */
.cp-mgr {
  background: #101823; border: 1px solid #37475c; border-radius: 5px;
  cursor: pointer; font-size: 13px; padding: 1px 7px; margin-left: auto; flex: none;
}
.cp-mgr:hover { border-color: #c9a34e; }
/* contador: neutro em "0 selvagens" · dourado discreto quando tem selvagem */
#cp-count {
  flex: none; font-size: 10.5px; border-radius: 11px; padding: 2px 9px;
  background: #101823; border: 1px solid #2a3d55; color: #8b97a5;
  transition: color .15s, border-color .15s;
}
#cp-count.has { color: #ffd964; border-color: #c9a34e88; font-weight: 700; }
/* 🧍 bônus do outfit no card da loja */
.oc-bonus { font-size: 10px; color: #ffd964; margin: 2px 0 4px; min-height: 12px; }

/* 🪟 painéis arrastáveis */
.drag-handle { cursor: move; -webkit-user-select: none; user-select: none; }
.ah-reset {
  padding: 2px 7px; cursor: pointer;
  background: transparent; border: 1px dashed #37475c; border-radius: 5px;
  color: #8b97a5; font-size: 9.5px; line-height: 1.3;
}
.ah-reset:hover { border-color: #c9a34e; color: #ffd964; }

/* ✨ botão Bônus no painel do jogador */
#btn-bonus {
  width: 100%; margin-top: 8px; padding: 6px; cursor: pointer;
  background: linear-gradient(180deg, #1a2233, #121826);
  border: 1px solid #37475c; border-radius: 7px;
  color: #ffd964; font-size: 12px; font-weight: bold; letter-spacing: .5px;
  transition: border-color .15s, background .15s;
}
#btn-bonus:hover { border-color: #c9a34e; background: linear-gradient(180deg, #232d40, #161d2c); }
/* linhas de bônus no modal */
.bonus-row {
  display: flex; align-items: center; gap: 12px;
  background: #0d141d; border: 1px solid #273246; border-radius: 8px;
  padding: 9px 12px; margin-bottom: 7px;
}
.bonus-row .bn-ic { font-size: 18px; width: 24px; text-align: center; flex: none; }
.bonus-row .bn-lbl { flex: 1; display: flex; flex-direction: column; }
.bonus-row .bn-lbl b { font-size: 13px; }
.bonus-row .bn-from { font-size: 11px; color: #8b97a5; }
.bonus-row .bn-val { font-weight: 900; font-size: 17px; }

/* 🛡️ clãs — cards estilo banner com brasão */
.clan-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 12px; }
.clan-card {
  position: relative; text-align: center; padding: 16px 10px 12px; border-radius: 12px;
  background:
    radial-gradient(120px 80px at 50% 0%, color-mix(in srgb, var(--cc) 40%, transparent), transparent 70%),
    linear-gradient(180deg, #131a26, #0b111a);
  border: 1px solid color-mix(in srgb, var(--cc) 45%, #273246);
  display: flex; flex-direction: column; align-items: center; gap: 7px;
  transition: transform .1s, box-shadow .15s, border-color .15s;
}
.clan-card:hover { transform: translateY(-3px); box-shadow: 0 10px 28px rgba(0,0,0,.5); border-color: color-mix(in srgb, var(--cc) 70%, #273246); }
.clan-card.on { border-color: var(--cc); box-shadow: 0 0 0 2px color-mix(in srgb, var(--cc) 45%, transparent), 0 10px 28px rgba(0,0,0,.45); }
/* faixa de cor no topo do card */
.clan-card::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(90deg, transparent, var(--cc), transparent); border-radius: 12px 12px 0 0;
}
/* 🛡️ BRASÃO heráldico: moldura dourada metálica + escudo na cor do clã + gloss */
.cc-shield {
  width: 72px; height: 80px; padding: 3px; margin-top: 2px;
  clip-path: polygon(50% 0, 100% 15%, 100% 64%, 50% 100%, 0 64%, 0 15%);
  background: linear-gradient(155deg, #fbeeb6 0%, #cba845 30%, #7c5f22 62%, #4a3712 100%);
  filter: drop-shadow(0 3px 6px rgba(0,0,0,.55)) drop-shadow(0 0 10px color-mix(in srgb, var(--cc) 45%, transparent));
}
.cc-emblem {
  width: 100%; height: 100%; display: flex; align-items: center; justify-content: center;
  font-size: 36px; line-height: 1;
  clip-path: polygon(50% 0, 100% 15%, 100% 64%, 50% 100%, 0 64%, 0 15%);
  background:
    radial-gradient(70% 45% at 50% 18%, rgba(255,255,255,.45), transparent 62%),
    linear-gradient(180deg, color-mix(in srgb, var(--cc) 92%, #fff 12%), color-mix(in srgb, var(--cc) 48%, #000 34%));
  box-shadow: inset 0 -8px 16px rgba(0,0,0,.35), inset 0 3px 8px rgba(255,255,255,.15);
  text-shadow: 0 2px 4px rgba(0,0,0,.6), 0 0 12px rgba(0,0,0,.3);
}
/* se você puser a SUA arte em public/clans/<clã>.png ela entra aqui */
.cc-img { width: 86%; height: 86%; object-fit: contain; image-rendering: pixelated; filter: drop-shadow(0 1px 3px rgba(0,0,0,.5)); }
.cc-name {
  font-weight: 900; font-size: 15px; letter-spacing: 1.5px; text-transform: uppercase;
  color: #fff; text-shadow: 0 0 12px color-mix(in srgb, var(--cc) 70%, transparent), 0 1px 2px rgba(0,0,0,.6);
}
.cc-types { display: flex; gap: 6px; }
.cc-type {
  width: 24px; height: 24px; display: inline-flex; align-items: center; justify-content: center;
  font-size: 13px; background: radial-gradient(circle at 50% 35%, #1a2434, #0a0f18);
  border: 1px solid color-mix(in srgb, var(--cc) 55%, #37475c); border-radius: 50%;
  box-shadow: inset 0 0 6px rgba(0,0,0,.5);
}
.cc-bonus { display: flex; flex-direction: column; gap: 2px; font-size: 11px; color: #b9f0a8; }
.cc-members { font-size: 11px; color: #8b97a5; }
.clan-card .btn { margin-top: 4px; width: 100%; }

/* ── Clãs · janela compacta Laranja Neon ─────────────────────────────── */
#modal.clan-modal { width:min(790px,calc(100vw - 28px)); max-height:min(710px,84vh); border:1px solid #8f4216; box-shadow:0 18px 58px rgba(0,0,0,.68),0 0 25px rgba(255,100,0,.16); }
#modal.clan-modal .modal-head { padding:11px 14px; border-bottom-color:#603019; background:linear-gradient(100deg,#241007,#101415 72%); color:#ffc278; }
#modal.clan-modal #modal-body { padding:11px 13px 14px; background:linear-gradient(145deg,#0e1112,#090e10); overflow-y:auto; }
.clan-neon { display:grid; gap:10px; color:#e8cdb3; }
.clan-neon-summary { display:grid; grid-template-columns:minmax(190px,1fr) auto; gap:8px 14px; align-items:center; padding:10px 12px; border:1px solid #663319; border-radius:10px; background:radial-gradient(260px 90px at 5% 0,rgba(255,104,0,.17),transparent 68%),linear-gradient(135deg,#201108,#101414); }
.clan-neon-current { display:flex; min-width:0; align-items:center; gap:8px; }.clan-neon-current-ico { display:grid; place-items:center; width:31px; height:31px; border:1px solid #ff8428; border-radius:8px; background:#2a1609; color:#ffc06a; font-size:16px; box-shadow:0 0 12px rgba(255,105,0,.2); }.clan-neon-current small { display:block; color:#b17b50; font:800 8px Inter,system-ui,sans-serif; letter-spacing:.07em; }.clan-neon-current b { display:block; overflow:hidden; color:#fff0dc; font:900 13px Inter,system-ui,sans-serif; text-overflow:ellipsis; white-space:nowrap; }
.clan-neon-stats { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:4px; }.clan-neon-stats span { padding:4px 6px; border:1px solid #5d311b; border-radius:6px; background:#130f0d; color:#c7a17e; font:700 9px Inter,system-ui,sans-serif; white-space:nowrap; }.clan-neon-stats b { color:#ffd06f; }.clan-neon-summary p { grid-column:1/-1; margin:0; color:#aa896e; font:700 9px/1.35 Inter,system-ui,sans-serif; }.clan-neon-summary p b { color:#ffd16f; }
.clan-neon-grid { grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:8px; }.clan-neon-card { min-height:0; padding:9px; gap:7px; align-items:stretch; text-align:left; overflow:hidden; border-color:#59321d; background:linear-gradient(145deg,#19120e,#0c1112); }.clan-neon-card:hover { transform:translateY(-2px); border-color:#ff7b1f; box-shadow:0 8px 18px rgba(0,0,0,.45),0 0 12px rgba(255,104,0,.12); }.clan-neon-card.on { border-color:var(--cc); box-shadow:0 0 0 1px color-mix(in srgb,var(--cc) 40%,transparent),0 0 16px color-mix(in srgb,var(--cc) 20%,transparent); }.clan-neon-card-top { display:flex; align-items:center; gap:8px; min-width:0; }.clan-neon-card .cc-shield { width:42px; height:47px; flex:0 0 42px; margin:0; padding:2px; }.clan-neon-card .cc-emblem { font-size:22px; }.clan-neon-card .cc-img { width:90%; height:90%; }.clan-neon-card-title { min-width:0; display:grid; gap:5px; }.clan-neon-card .cc-name { color:#ffe5c8; font-size:12px; letter-spacing:.7px; text-align:left; text-shadow:none; }.clan-neon-card .cc-types { justify-content:flex-start; gap:4px; }.clan-neon-card .cc-type { width:19px; height:19px; font-size:10px; }.clan-neon-card .cc-bonus { display:flex; flex-direction:row; gap:5px; padding:6px 0 0; border-top:1px solid #3d2519; color:#a9d992; font-size:9px; }.clan-neon-card .cc-bonus span { flex:1; }.clan-neon-rule { padding:5px 6px; border:1px solid rgba(255,131,28,.25); border-radius:6px; background:rgba(255,105,0,.07); color:#f0bd87; font:700 8px/1.35 Inter,system-ui,sans-serif; text-transform:capitalize; }.clan-neon-card .cc-members { color:#9d8772; font-size:9px; }.clan-neon-card .btn { min-height:28px; margin-top:0; font-size:10px; }.clan-neon-active { position:absolute; top:7px; right:7px; padding:2px 5px; border:1px solid var(--cc); border-radius:5px; background:#122017; color:#9fe28f; font:900 8px Inter,system-ui,sans-serif; letter-spacing:.04em; }
@media(max-width:560px){#modal.clan-modal{width:calc(100vw - 14px);max-height:90vh}.clan-neon-summary{grid-template-columns:1fr}.clan-neon-stats{justify-content:flex-start}.clan-neon-grid{grid-template-columns:1fr}}

/* 🏪 mercado entre jogadores */
.mk-tabs { display: flex; gap: 8px; margin-bottom: 12px; }
.mk-tab {
  flex: 1; padding: 9px; border-radius: 8px; cursor: pointer; font-weight: bold;
  background: #101823; border: 1px solid #273246; color: #aeb9c6; font-size: 13px;
}
.mk-tab.on { background: linear-gradient(180deg, #24344a, #1a2636); border-color: #c9a34e; color: #ffd964; }
.mk-filters { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
.mk-chip {
  padding: 5px 12px; border-radius: 14px; cursor: pointer; font-size: 12px;
  background: #101823; border: 1px solid #37475c; color: #aeb9c6;
}
.mk-chip:hover { border-color: #c9a34e; }
.mk-chip.on { background: #2b2007; border-color: #c9a34e; color: #ffd964; }
.mk-search {
  width: 100%; box-sizing: border-box; margin-bottom: 12px;
  background: #0d141d; color: #fff; border: 1px solid #37475c;
  border-radius: 8px; padding: 9px 12px;
}
.mk-list { display: flex; flex-direction: column; gap: 8px; }
.mk-empty { text-align: center; padding: 30px 10px; color: #cfd8e3; font-size: 15px; line-height: 1.8; }
.mk-row {
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  background: linear-gradient(180deg, #0f1722, #0d141d);
  border: 1px solid #273246; border-radius: 12px; padding: 10px 14px;
  transition: border-color .15s, transform .05s;
}
.mk-row:hover { border-color: #37475c; }
.mk-row.mine { border-color: #3f6a3f; background: linear-gradient(180deg, #0e1a12, #0d1510); }
.mk-item { display: flex; align-items: center; gap: 12px; min-width: 0; }
.mk-av {
  width: 60px; height: 60px; flex: none; border-radius: 10px;
  background: #0a0f16; border: 1px solid #273246;
  display: flex; align-items: center; justify-content: center;
}
.mk-av.shiny { border-color: #c9a34e; box-shadow: inset 0 0 14px rgba(255,217,100,.25); }
.mk-av canvas { image-rendering: pixelated; }
.mk-info { min-width: 0; }
.mk-nm { font-weight: bold; font-size: 15px; }
.mk-sub { font-size: 12px; margin: 4px 0; }
.mk-seller { font-size: 11px; color: #8b97a5; }
.mk-right { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; flex: none; }
.mk-price { font-weight: 900; font-size: 17px; color: #ffd964; white-space: nowrap; display: flex; align-items: center; gap: 3px; }
.mk-price.diamonds { color: #7fe7ff; }
.mk-sellform { display: flex; gap: 8px; margin-bottom: 4px; }

/* Mercado — composição compacta em laranja neon. Os controles e callbacks
   existentes permanecem os mesmos; apenas a leitura visual foi reorganizada. */
.market-window { width: min(760px, calc(100vw - 42px)); color: #f8e8d8; }
.market-header {
  display: flex; justify-content: space-between; gap: 18px; align-items: center;
  padding: 2px 2px 12px; margin-bottom: 10px; border-bottom: 1px solid rgba(255,119,13,.35);
}
.market-kicker { color: #ff8a28; font: 800 9px/1 system-ui,sans-serif; letter-spacing: .8px; }
.market-header h3 { margin: 3px 0 2px; color: #ffb35d; font-size: 20px; line-height: 1; }
.market-header p { margin: 0; color: #a99b91; font-size: 11px; }
.market-summary {
  display: grid; grid-template-columns: auto auto; column-gap: 6px; align-items: baseline;
  min-width: 115px; padding: 7px 9px; border: 1px solid rgba(255,126,28,.52); border-radius: 10px;
  background: linear-gradient(135deg, rgba(255,96,8,.12), rgba(12,14,18,.84)); text-align: right;
}
.market-summary b { grid-row: span 2; color: #ffad50; font-size: 22px; line-height: 1; }
.market-summary span { color: #d9b993; font-size: 9px; white-space: nowrap; }
.market-summary i { color: #7fe3a0; font-size: 9px; font-style: normal; }
.market-window .mk-tabs { gap: 6px; margin-bottom: 9px; }
.market-window .mk-tab {
  display: inline-flex; justify-content: center; align-items: center; gap: 6px; padding: 8px 11px;
  border-color: rgba(255,132,36,.3); border-radius: 9px; background: rgba(10,13,17,.84); color: #bca28a;
}
.market-window .mk-tab span { color: #ff841e; font-size: 16px; line-height: 0; }
.market-window .mk-tab:hover, .market-window .mk-tab.on {
  border-color: #ff790d; background: linear-gradient(135deg, rgba(255,113,12,.22), rgba(24,16,11,.92));
  color: #ffe0bd; box-shadow: inset 0 0 14px rgba(255,95,10,.08), 0 0 10px rgba(255,91,11,.14);
}
.market-toolbar { display: grid; grid-template-columns: 1fr minmax(175px, 230px); gap: 8px; align-items: center; margin-bottom: 9px; }
.market-window .mk-filters { gap: 5px; margin: 0; }
.market-window .mk-chip { padding: 5px 9px; border-color: rgba(255,132,36,.27); background: #0d1115; color: #c6aa8c; }
.market-window .mk-chip:hover, .market-window .mk-chip.on { border-color: #ff790d; color: #ffd5a3; background: rgba(255,99,9,.14); }
.market-window .mk-search { margin: 0; min-height: 32px; border-color: rgba(255,132,36,.38); background: #090c10; color: #ffe5c8; font-size: 12px; }
.market-window .mk-search:focus { outline: none; border-color: #ff8a22; box-shadow: 0 0 0 2px rgba(255,110,12,.14); }
.market-window .mk-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; max-height: min(48vh, 430px); overflow: auto; padding: 1px 2px 4px; }
.market-window .mk-row {
  min-height: 76px; padding: 8px; gap: 7px; border-color: rgba(255,132,36,.25);
  background: linear-gradient(145deg, rgba(23,20,17,.96), rgba(8,10,13,.98));
}
.market-window .mk-row:hover { border-color: #ff790d; box-shadow: 0 0 13px rgba(255,94,8,.15); }
.market-window .mk-row.mine { border-color: rgba(106,224,139,.6); background: linear-gradient(145deg, rgba(15,33,23,.96), rgba(8,13,11,.98)); }
.market-window .mk-item { gap: 8px; }
.market-window .mk-av { width: 48px; height: 48px; border-color: rgba(255,132,36,.34); border-radius: 9px; background: #090c10; }
.market-window .mk-av.shiny { border-color: #ffb13d; box-shadow: inset 0 0 13px rgba(255,168,34,.19); }
.market-window .mk-nm { font-size: 12px; color: #ffe0bd; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.market-window .mk-sub, .market-window .mk-seller { font-size: 9px; line-height: 1.25; }
.market-window .mk-right { gap: 5px; }
.market-window .mk-price { color: #ffb353; font-size: 13px; }.market-window .mk-price.diamonds { color: #66eaff; }
.market-window .btn.tiny { min-height: 26px; padding: 4px 7px; font-size: 10px; }
.market-window .mk-empty { grid-column: 1 / -1; border: 1px dashed rgba(255,132,36,.34); border-radius: 10px; padding: 24px 10px; color: #d7b99c; }
.market-sell-intro { margin: 0 0 9px; padding: 8px 9px; border-left: 2px solid #ff790d; border-radius: 5px; background: rgba(255,99,9,.07); color: #d5b99d; font-size: 11px; line-height: 1.4; }
.market-window .mk-sellform { padding: 8px; border: 1px solid rgba(255,132,36,.34); border-radius: 10px; background: #0a0d11; }
.market-window .mk-sellform input, .market-window .mk-sellform select { border-color: rgba(255,132,36,.45) !important; background: #101015 !important; color: #ffe3c1 !important; }
.market-window .market-section-title { margin: 11px 0 5px; padding-bottom: 4px; border-bottom: 1px solid rgba(255,119,13,.24); color: #ffad55; font-size: 12px; }
.market-window .eq-slots { gap: 6px; max-height: 152px; overflow: auto; padding: 2px; }
.market-window .eq-slot { width: 56px; height: 56px; border-color: rgba(255,132,36,.32); background: #0b0e12; }
.market-window .eq-slot:hover { border-color: #ff790d; box-shadow: 0 0 10px rgba(255,91,11,.24); }
@media (max-width: 620px) {
  .market-window { width: min(440px, calc(100vw - 28px)); }
  .market-header { align-items: flex-start; }.market-header p { max-width: 180px; }
  .market-toolbar { grid-template-columns: 1fr; }.market-window .mk-list { grid-template-columns: 1fr; max-height: 44vh; }
}

/* 🗳️ votações */
.pl-adminbox {
  background: linear-gradient(180deg, #141b12, #0f150d);
  border: 1px solid #3f5a2f; border-radius: 12px; padding: 12px; margin-bottom: 14px;
  display: flex; flex-direction: column; gap: 8px;
}
.pl-adm-h { font-weight: 800; font-size: 13px; color: #b7e08a; }
.pl-inp {
  background: #0d141d; color: #fff; border: 1px solid #37475c;
  border-radius: 8px; padding: 9px 11px; font: inherit; width: 100%;
}
.pl-inp:focus { outline: none; border-color: #6aa9e0; }
.pl-ta { resize: vertical; min-height: 54px; line-height: 1.4; }
.pl-empty { text-align: center; padding: 28px 10px; color: #cfd8e3; font-size: 15px; line-height: 1.8; }
.pl-card {
  background: linear-gradient(180deg, #0f1722, #0d141d);
  border: 1px solid #273246; border-left: 4px solid #4a6a9e;
  border-radius: 12px; padding: 12px 14px; margin-bottom: 10px;
}
.pl-card.approved { border-left-color: #4fbf6a; }
.pl-card.progress { border-left-color: #e0a94a; }
.pl-card.done     { border-left-color: #7fb0ff; opacity: .92; }
.pl-card.rejected { border-left-color: #c85454; opacity: .68; }
.pl-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 6px; }
.pl-badge {
  font-size: 11px; font-weight: 800; padding: 3px 9px; border-radius: 999px;
  background: #16233a; color: #8fb8ee; border: 1px solid #2c4468; white-space: nowrap;
}
.pl-badge.approved { background: #123020; color: #7fe0a0; border-color: #2f5a3f; }
.pl-badge.progress { background: #2e2410; color: #f0c877; border-color: #5a4a2f; }
.pl-badge.done     { background: #16233a; color: #aaccff; border-color: #2c4468; }
.pl-badge.rejected { background: #2e1616; color: #e59b9b; border-color: #5a2f2f; }
.pl-by { font-size: 11px; color: #8b97a5; }
.pl-title { font-weight: 800; font-size: 16px; margin: 2px 0; }
.pl-desc { font-size: 13px; color: #c2ccd8; line-height: 1.5; margin: 4px 0 8px; white-space: pre-wrap; word-break: break-word; }
.pl-bar { display: flex; height: 10px; border-radius: 6px; overflow: hidden; background: #0a0f16; border: 1px solid #273246; margin-top: 6px; }
.pl-bar-yes { background: linear-gradient(90deg, #3f9e5a, #56c878); }
.pl-bar-no { background: linear-gradient(90deg, #c85454, #e06a6a); }
.pl-nums { display: flex; justify-content: space-between; font-size: 12px; margin-top: 5px; }
.pl-nums .y { color: #7fd47f; font-weight: 700; }
.pl-nums .n { color: #e59b9b; font-weight: 700; }
.pl-vote { display: flex; gap: 8px; margin-top: 10px; }
.pl-vbtn {
  flex: 1; padding: 9px; border-radius: 8px; cursor: pointer; font: inherit; font-weight: 700;
  border: 1px solid #37475c; background: #131c27; color: #dfe7f0; transition: .12s;
}
.pl-vbtn:hover { border-color: #5a7292; }
.pl-vbtn.yes.on { background: linear-gradient(180deg, #1f5a34, #164026); border-color: #4fbf6a; color: #cfeecf; }
.pl-vbtn.no.on { background: linear-gradient(180deg, #5a1f1f, #401616); border-color: #d06a6a; color: #f0d0d0; }
.pl-myvote { margin-top: 9px; font-size: 12px; color: #9aa6b2; font-weight: 600; }
.pl-admin { display: flex; gap: 8px; margin-top: 10px; padding-top: 10px; border-top: 1px dashed #273246; }
.pl-sel { flex: 1; background: #0d141d; color: #fff; border: 1px solid #37475c; border-radius: 8px; padding: 7px; font: inherit; }
.pl-del { flex: none; background: #2a1414; color: #e89b9b; border: 1px solid #5a2f2f; border-radius: 8px; padding: 7px 11px; cursor: pointer; }
.pl-del:hover { background: #3a1a1a; }
.pl-del.wide { flex: 1; width: 100%; text-align: center; font-weight: 700; }
/* caixa de sugestão do jogador (azul) + opções de enquete do ADM */
.pl-suggestbox {
  background: linear-gradient(180deg, #101a26, #0d1017);
  border: 1px solid #2f4a6a; border-radius: 12px; padding: 12px; margin-bottom: 14px;
  display: flex; flex-direction: column; gap: 8px;
}
.pl-note { font-size: 11px; color: #8b97a5; line-height: 1.4; }
.pl-opts { display: flex; flex-direction: column; gap: 6px; }
.pl-opt { font-size: 13px; }
.pl-addopt {
  align-self: flex-start; background: #16233a; color: #9cc2f0;
  border: 1px dashed #37475c; border-radius: 8px; padding: 5px 10px; cursor: pointer; font-size: 12px;
}
.pl-addopt:hover { border-color: #6aa9e0; }
/* enquete: opções clicáveis com barra de resultado no fundo */
.pl-enq { display: flex; flex-direction: column; gap: 6px; margin-top: 8px; }
.pl-eopt {
  position: relative; overflow: hidden; text-align: left;
  display: flex; align-items: center; justify-content: space-between; gap: 8px;
  padding: 9px 12px; border-radius: 8px; cursor: pointer; font: inherit; font-weight: 600;
  border: 1px solid #37475c; background: #0d141d; color: #dfe7f0; transition: .12s;
}
.pl-eopt:hover:not(.locked) { border-color: #6aa9e0; }
.pl-eopt.locked { cursor: default; }
.pl-eopt.on { border-color: #4fbf6a; }
.pl-efill {
  position: absolute; left: 0; top: 0; bottom: 0; z-index: 0;
  background: linear-gradient(90deg, rgba(79,169,224,.30), rgba(79,169,224,.14));
  transition: width .25s;
}
.pl-eopt.on .pl-efill { background: linear-gradient(90deg, rgba(86,200,120,.42), rgba(86,200,120,.18)); }
.pl-etext { position: relative; z-index: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pl-epct { position: relative; z-index: 1; flex: none; font-size: 12px; color: #cfd8e3; font-weight: 700; }
.pl-etotal { font-size: 11px; color: #8b97a5; margin-top: 6px; }

/* 🚀 boost */
/* 🚀 BOOST v2 — padrão da Pokédex (fundo #0e141e · superfície #171f2e ·
   bordas #2a3d55 · dourado #c9a34e · azul #3f8cff · verde #42d67b) */
.bst2 { display: flex; flex-direction: column; gap: 8px; }
.bst2-card {
  background: linear-gradient(180deg, #171f2e, #0e141e); border: 1px solid #2a3d55;
  border-radius: 12px; padding: 12px 14px;
}
.bst2-top { display: flex; gap: 14px; align-items: center; }
.bst2-sp {
  flex: none; background: #0a0e16; border: 1px solid #2a3d55; border-radius: 12px;
  padding: 8px; display: flex; align-items: center; justify-content: center;
}
.bst2-sp canvas { image-rendering: pixelated; display: block; }
.bst2-info { flex: 1; min-width: 0; }
.bst2-nm { font-size: 16px; font-weight: 800; color: #e8eef4; }
.bst2-plus { color: #ffd964; font-weight: 900; margin-left: 3px; }
.bst2-sub { font-size: 11.5px; color: #9fb0c4; margin-top: 3px; }
.bst2-badge {
  display: inline-block; margin-top: 5px; font-size: 9.5px; font-weight: 800;
  color: #7fd0ff; background: rgba(63, 140, 255, .12); border: 1px solid #3f8cff55;
  border-radius: 8px; padding: 1px 8px; letter-spacing: .2px;
}
.bst2-bar { position: relative; height: 15px; background: #0a0e16; border: 1px solid #22314a; border-radius: 8px; overflow: hidden; margin-top: 7px; }
.bst2-bar > div { height: 100%; background: linear-gradient(90deg, #c9a34e, #f8d462); transition: width .4s; }
.bst2-bar span { position: absolute; inset: 0; text-align: center; font-size: 10px; line-height: 15px; color: #fff; text-shadow: 0 0 3px #000; font-weight: 700; }
.bst2-max { margin-top: 10px; text-align: center; font-weight: 800; color: #ffd964; padding: 8px; border: 1px solid #c9a34e55; border-radius: 9px; background: rgba(201, 163, 78, .08); }
/* quantidade: +1 / +5 / +10 / Máximo possível */
.bst2-qtds { display: flex; gap: 5px; }
.bst2-q {
  flex: 1; background: #171f2e; border: 1px solid #2a3d55; color: #9fb0c4;
  border-radius: 9px; padding: 7px 4px; font-size: 12px; font-weight: 700; cursor: pointer; transition: all .12s;
}
.bst2-q:hover { border-color: #c9a34e; }
.bst2-q.on { background: #c9a34e; border-color: #c9a34e; color: #1a1408; }
/* prévia antes → depois */
.bst2-body { display: flex; flex-direction: column; gap: 6px; }
.bst2-prev { background: #171f2e; border: 1px solid #22314a; border-radius: 10px; padding: 8px 12px; }
.bst2-r { display: flex; align-items: center; gap: 8px; padding: 3px 0; font-size: 12px; color: #9fb0c4; }
.bst2-r span { flex: 1; }
.bst2-r b { color: #e8eef4; font-variant-numeric: tabular-nums; }
.bst2-r i { color: #5f6f83; font-style: normal; }
.bst2-r b.dep { color: #42d67b; }
.bst2-r b.dep em { font-style: normal; font-size: 10px; color: #7fd0ff; margin-left: 3px; }
/* recursos: verde quando tem, vermelho + quanto falta quando não */
.bst2-rec {
  display: flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 700;
  background: #171f2e; border: 1px solid #2a3d55; border-radius: 9px; padding: 7px 11px; color: #9fb0c4;
}
.bst2-rec b { color: #e8eef4; font-variant-numeric: tabular-nums; }
.bst2-rec .si { margin-left: auto; font-style: normal; font-size: 10.5px; font-weight: 800; }
.bst2-rec.ok { border-color: #42d67b55; }
.bst2-rec.ok .si.ok { color: #42d67b; }
.bst2-rec.no { border-color: #a3333366; }
.bst2-rec.no .si.no { color: #ff8f8f; }
/* botão principal */
.bst2-go {
  width: 100%; padding: 12px; border-radius: 11px; cursor: pointer;
  background: linear-gradient(180deg, #e0b95d, #b8893a); color: #161006;
  border: 1px solid #ffd964; font-size: 14px; font-weight: 800; transition: filter .15s;
}
.bst2-go:hover:not(:disabled) { filter: brightness(1.08); }
.bst2-go:disabled { opacity: .45; cursor: default; }
.bst2-go.feito { background: linear-gradient(180deg, #4ad67b, #2b9b52); border-color: #42d67b; color: #06130a; animation: bstPop .5s cubic-bezier(.2,.9,.3,1.4); }
@keyframes bstPop { from { transform: scale(.94); } 60% { transform: scale(1.03); } to { transform: none; } }
/* carrossel de escolha do pokémon */
.bst2-selwrap { display: flex; align-items: stretch; gap: 5px; }
.bst2-nav {
  flex: none; width: 24px; background: #171f2e; border: 1px solid #2a3d55; border-radius: 9px;
  color: #9fb0c4; font-size: 16px; cursor: pointer;
}
.bst2-nav:hover { border-color: #c9a34e; color: #ffd964; }
.bst2-sel { flex: 1; min-width: 0; display: flex; gap: 6px; overflow-x: auto; scrollbar-width: thin; padding: 2px; }
.bst2-sel::-webkit-scrollbar { height: 7px; }
.bst2-sel::-webkit-scrollbar-thumb { background: #c9a34e44; border-radius: 4px; }
.bst2-poke {
  flex: none; width: 84px; display: flex; flex-direction: column; align-items: center; gap: 1px;
  background: #171f2e; border: 1px solid #2a3d55; border-radius: 10px; padding: 7px 4px 6px;
  cursor: pointer; transition: border-color .12s, transform .12s;
}
.bst2-poke:hover { border-color: #3f8cff; transform: translateY(-1px); }
.bst2-poke.sel { border-color: #c9a34e; box-shadow: 0 0 0 1px #c9a34e55 inset; background: linear-gradient(180deg, #1d1a10, #171f2e); }
.bst2-poke canvas { image-rendering: pixelated; }
.bst2-poke .n { max-width: 100%; font-size: 10px; font-weight: 700; color: #e8eef4; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bst2-poke .l { font-size: 9.5px; color: #9fb0c4; }
.bst2-poke .l b { color: #ffd964; }
.slot-boost {
  position: absolute; top: 1px; left: 3px; font-size: 9px; font-weight: 900;
  color: #c58cff; text-shadow: 0 0 3px #000;
}

/* 🏆 MOLDURA DO BOOST +100 — aplicada em QUALQUER card/slot que mostre o
   badge .slot-boost com +100 ou mais (o marcador vem do settings-extra).
   É borda/glow: NÃO cobre o sprite, NÃO some com o shiny (✨ continua) e
   NÃO substitui a raridade — todos coexistem. Sem asset .png: escala em
   qualquer tamanho e anima sem pesar (só border/box-shadow/transform). */
.boost100 {
  border-color: #ffd700 !important;
  box-shadow: 0 0 0 1px rgba(255, 215, 0, .55) inset, 0 0 10px rgba(255, 215, 0, .45);
  animation: b100-glow 2.4s ease-in-out infinite;
}
@keyframes b100-glow {
  0%, 100% { box-shadow: 0 0 0 1px rgba(255,215,0,.5) inset, 0 0 8px rgba(255,215,0,.4); }
  50%      { box-shadow: 0 0 0 1px rgba(255,215,0,.9) inset, 0 0 16px rgba(255,215,0,.75); }
}
/* brilho passando por cima (discreto) */
.boost100::before {
  content: ''; position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
  background: linear-gradient(115deg, transparent 42%, rgba(255,255,255,.30) 50%, transparent 58%);
  background-size: 260% 100%; animation: b100-shine 3.6s linear infinite; z-index: 3;
}
@keyframes b100-shine { 0% { background-position: 140% 0; } 100% { background-position: -60% 0; } }
/* coroa discreta no canto */
.boost100::after {
  content: '👑'; position: absolute; top: -8px; right: -4px; font-size: 11px;
  filter: drop-shadow(0 0 3px rgba(255,215,0,.9)); pointer-events: none; z-index: 4;
}
/* o badge "+100" vira dourado */
.boost100 .slot-boost { color: #ffd700; text-shadow: 0 0 4px rgba(255,215,0,.8), 0 0 3px #000; }

/* ⚙️ configurações */
.cfg-row {
  display: flex; align-items: center; gap: 12px; cursor: pointer;
  background: #0d141d; border: 1px solid #273246; border-radius: 10px;
  padding: 11px 13px; margin-bottom: 8px; transition: border-color .15s;
}
.cfg-row:hover { border-color: #37475c; }
.cfg-row input[type=checkbox] { width: 18px; height: 18px; accent-color: #56c878; flex: none; cursor: pointer; }
.cfg-row b { display: block; font-size: 14px; }
.cfg-desc { display: block; font-size: 11px; color: #8b97a5; margin-top: 2px; }

/* O idioma agora vive dentro de Configurações > Idioma. O seletor antigo
   permanece no DOM para sincronização/compatibilidade, mas não ocupa a HUD. */
#game-language-control { display: none !important; }

/* Tela de pre-loading: login e viagens so liberam o jogo depois que o estado e
   os chunks do destino chegam. Isolada da HUD para nao herdar layouts mobile. */
#pr-preload {
  position: fixed;
  inset: 0;
  z-index: 15000;
  display: grid;
  place-items: center;
  padding: 20px;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  background:
    radial-gradient(circle at 50% 42%, rgba(255, 137, 30, .17), transparent 27%),
    radial-gradient(circle at 50% 50%, rgba(42, 202, 138, .10), transparent 46%),
    rgba(3, 7, 12, .93);
  backdrop-filter: blur(8px);
  transition: opacity .2s ease, visibility 0s linear .2s;
}
#pr-preload.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: all;
  transition: opacity .2s ease;
}
.feature-soon { text-align: center; padding: 8px 4px 4px; color: #d8e5f4; }
.feature-soon-icon { width: 74px; height: 74px; display: grid; place-items: center; margin: 2px auto 10px; border: 1px solid rgba(255, 199, 69, .52); border-radius: 22px; background: radial-gradient(circle, rgba(255, 177, 45, .2), rgba(16, 31, 48, .7)); font-size: 38px; box-shadow: 0 0 28px rgba(255, 179, 46, .16); }
.feature-soon h3 { margin: 0; color: #ffe07b; font-size: 21px; }
.feature-soon > p { max-width: 430px; margin: 7px auto 15px; color: #aebed1; line-height: 1.5; }
.feature-soon-list { display: grid; gap: 7px; max-width: 420px; margin: auto; text-align: left; }
.feature-soon-list span { padding: 10px 12px; border: 1px solid #2a4260; border-radius: 10px; background: rgba(17, 31, 47, .75); color: #dceaff; font-size: 13px; }
.feature-soon-list span::first-letter { color: #77dda4; }
.feature-soon-note { margin: 15px auto 3px; padding: 10px; border: 1px solid rgba(241, 182, 55, .35); border-radius: 9px; background: rgba(124, 85, 14, .14); color: #f3cb70; font-size: 12px; font-weight: 700; }
.prof-rec { display: grid; gap: 5px; margin-top: 9px; color: #b9c8d8; font-size: 12px; line-height: 1.45; }
.prof-secret { min-width: 92px; display: inline-block; color: #ffd964; letter-spacing: 1.5px; font-size: 14px; vertical-align: middle; }
.prof-secret-toggle { width: 28px; height: 25px; margin-left: 6px; border: 1px solid #40546e; border-radius: 7px; background: #132134; color: #dcecff; cursor: pointer; line-height: 1; vertical-align: middle; }
.prof-secret-toggle:hover { border-color: #f0c14d; color: #ffe17d; background: #1b2d45; }
.prof-public-team { grid-template-columns: repeat(auto-fit, minmax(92px, 1fr)); gap: 9px; }
.prof-public-team .prof-slot { position: relative; min-height: 88px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; padding: 5px; border-color: #304968; background: linear-gradient(145deg, #142238, #0d1726); }
.prof-public-team .prof-slot.active { border-color: #54c987; box-shadow: 0 0 0 1px rgba(84, 201, 135, .23), 0 0 16px rgba(64, 207, 127, .14); }
.prof-public-team canvas { image-rendering: pixelated; }
.prof-public-poke-name { max-width: 100%; overflow: hidden; color: #eaf2ff; font-size: 10px; font-weight: 800; text-align: center; text-overflow: ellipsis; white-space: nowrap; }
.prof-public-active { position: absolute; top: 4px; right: 4px; padding: 2px 4px; border-radius: 4px; background: #216b45; color: #caffdd; font-size: 7px; font-style: normal; font-weight: 900; letter-spacing: .3px; }
.pr-preload-card {
  width: min(330px, calc(100vw - 40px));
  padding: 30px 26px 25px;
  text-align: center;
  border: 1px solid rgba(255, 188, 57, .62);
  border-radius: 22px;
  background: linear-gradient(150deg, rgba(24, 35, 53, .98), rgba(7, 12, 20, .99));
  box-shadow: 0 24px 74px rgba(0, 0, 0, .65), inset 0 1px rgba(255, 255, 255, .07);
}
.pr-preload-logo {
  display: block;
  width: 92px;
  height: 92px;
  margin: 0 auto 9px;
  object-fit: contain;
  image-rendering: auto;
  filter: drop-shadow(0 0 18px rgba(255, 132, 28, .35));
  animation: pr-preload-pulse 1.45s ease-in-out infinite;
}
.pr-preload-title {
  color: #fff5df;
  font-size: 25px;
  font-weight: 900;
  letter-spacing: -.04em;
}
.pr-preload-text {
  min-height: 20px;
  margin-top: 7px;
  color: #b9c8d8;
  font-size: 13px;
  font-weight: 650;
}
.pr-preload-bar {
  height: 6px;
  margin-top: 19px;
  overflow: hidden;
  border: 1px solid rgba(255, 202, 69, .28);
  border-radius: 999px;
  background: #08111c;
}
.pr-preload-bar i {
  display: block;
  width: 46%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #ff5a1f, #ffd85c, #49d39a);
  box-shadow: 0 0 16px rgba(255, 183, 47, .7);
  animation: pr-preload-run 1.15s ease-in-out infinite;
}
@keyframes pr-preload-pulse {
  50% { transform: scale(1.055); filter: drop-shadow(0 0 27px rgba(255, 155, 30, .56)); }
}
@keyframes pr-preload-run {
  0% { transform: translateX(-115%); }
  100% { transform: translateX(265%); }
}
@media (max-width: 560px) {
  .pr-preload-card { width: min(290px, calc(100vw - 32px)); padding: 24px 18px 20px; border-radius: 18px; }
  .pr-preload-logo { width: 76px; height: 76px; }
  .pr-preload-title { font-size: 22px; }
}
@media (prefers-reduced-motion: reduce) {
  .pr-preload-logo, .pr-preload-bar i { animation: none; }
}

.settings-tabs-shell { min-width: 0; }
.settings-tabs-nav {
  display: flex; gap: 7px; margin: -2px 0 14px; padding: 5px;
  border: 1px solid #263348; border-radius: 12px; background: rgba(8,13,21,.72);
  position: relative; z-index: 2; pointer-events: auto;
}
.settings-tabs-nav [role=tab] {
  min-height: 40px; flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  border: 1px solid transparent; border-radius: 9px; padding: 8px 14px;
  background: transparent; color: #8f9bad; font: 750 13px/1 system-ui,sans-serif; cursor: pointer;
  transition: color .16s,background .16s,border-color .16s;
}
.settings-tabs-nav [role=tab]:hover { color: #e8eef5; background: rgba(255,255,255,.04); }
.settings-tabs-nav [role=tab].is-active {
  color: #ffe08a; border-color: rgba(201,163,78,.48);
  background: linear-gradient(135deg,rgba(201,163,78,.18),rgba(201,163,78,.07));
  box-shadow: inset 0 1px rgba(255,255,255,.05);
}
.settings-tabs-nav [role=tab]:focus-visible { outline: 2px solid #e5b94f; outline-offset: 2px; }
.settings-tab-panel { display: none; }
.settings-tab-panel.is-active { display: block; }
.settings-tab-panel[hidden] { display: none !important; }
.settings-language-panel { animation: settings-panel-in .18s ease-out; }
@keyframes settings-panel-in {
  from { opacity: 0; transform: translateY(4px); }
  to { opacity: 1; transform: translateY(0); }
}
.settings-language-head {
  display: flex; align-items: center; gap: 13px; padding: 4px 3px 14px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.settings-language-globe {
  width: 46px; height: 46px; flex: 0 0 auto; display: grid; place-items: center;
  border: 1px solid rgba(89,166,255,.38); border-radius: 13px;
  background: linear-gradient(145deg,rgba(48,124,214,.2),rgba(24,64,112,.08)); font-size: 23px;
}
.settings-language-head h3 { margin: 0 0 4px; color: #eff4fa; font-size: 16px; }
.settings-language-head p { margin: 0; color: #8e9bad; font-size: 11.5px; line-height: 1.45; }
.settings-language-options {
  display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; margin-top: 14px;
}
.settings-language-option {
  position: relative; min-width: 0; min-height: 114px; display: flex; flex-direction: column;
  align-items: flex-start; gap: 8px; padding: 13px; text-align: left;
  border: 1px solid #29384d; border-radius: 12px; background: linear-gradient(150deg,#111a27,#0b111a);
  color: #dfe7f0; cursor: pointer; transition: transform .16s,border-color .16s,box-shadow .16s;
}
.settings-language-option:hover { transform: translateY(-2px); border-color: #536984; }
.settings-language-option:focus-visible { outline: 2px solid #e5b94f; outline-offset: 2px; }
.settings-language-option:disabled { opacity: .68; cursor: wait; }
.settings-language-option.is-selected {
  border-color: #d2aa4e; box-shadow: 0 0 0 1px rgba(210,170,78,.15),0 8px 24px rgba(0,0,0,.24);
  background: linear-gradient(150deg,rgba(70,56,26,.82),rgba(18,24,31,.95));
}
.settings-language-flag { font-size: 26px; line-height: 1; filter: drop-shadow(0 2px 3px rgba(0,0,0,.35)); }
.settings-language-copy { min-width: 0; display: flex; flex-direction: column; }
.settings-language-copy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12.5px; }
.settings-language-copy small { margin-top: 4px; color: #8190a2; font-size: 9.5px; line-height: 1.35; }
.settings-language-check {
  position: absolute; top: 10px; right: 10px; width: 21px; height: 21px; display: grid; place-items: center;
  border: 1px solid #3b495b; border-radius: 50%; color: transparent; background: #0b1119; font-size: 11px; font-weight: 900;
}
.settings-language-option.is-selected .settings-language-check {
  border-color: #d2aa4e; background: #d2aa4e; color: #171106;
}
.settings-language-status {
  min-height: 18px; margin-top: 12px; color: #7fdda7; font-size: 11px; font-weight: 700; text-align: center;
}
.settings-language-note {
  margin: 5px 0 0; color: #738195; font-size: 10px; line-height: 1.4; text-align: center;
}
@media (max-width: 620px) {
  .settings-language-options { grid-template-columns: 1fr; }
  .settings-language-option { min-height: 72px; flex-direction: row; align-items: center; }
  .settings-language-copy { padding-right: 24px; }
  .settings-language-head { align-items: flex-start; }
}
@media (prefers-reduced-motion: reduce) {
  .settings-language-panel,.settings-language-option { animation: none !important; transition: none !important; }
}

/* ⚔️ DUELO PvP */
#duel-challenge {
  position: fixed; left: 50%; top: 38%; transform: translate(-50%, -50%);
  z-index: 210; padding: 16px; width: 320px;
  border: 1px solid #a04848; box-shadow: 0 12px 40px rgba(0,0,0,.6);
}
.dc-t { font-size: 16px; font-weight: 800; margin-bottom: 4px; }
.dc-sub { font-size: 12px; color: #9aa6b2; margin-bottom: 10px; line-height: 1.4; }
.dc-row { display: flex; gap: 8px; margin-bottom: 10px; }
.dc-amt { flex: 1; background: #0d141d; color: #fff; border: 1px solid #37475c; border-radius: 8px; padding: 8px 10px; font: inherit; }
.dc-cur { background: #0d141d; color: #fff; border: 1px solid #37475c; border-radius: 8px; padding: 8px; font: inherit; }
.dc-btns { display: flex; gap: 8px; }
.dc-btns .btn { flex: 1; }
#duel-panel {
  /* ⚔️ V2.3: painel EM PÉ na lateral direita. Antes ficava deitado no centro
     (bottom:84px) e tapava justamente a arena onde os pokémon lutam — e agora
     que eles avançam ~290px, essa faixa central precisa ficar 100% livre.
     A lateral direita, entre o Auto-Helper (topo) e a Captura (rodapé), é o
     único espaço vertical realmente vago. */
  position: fixed; right: 12px; top: 50%; left: auto; bottom: auto;
  transform: translateY(-50%);
  z-index: 120; width: 228px; max-height: 78vh; overflow-y: auto; padding: 10px 12px 12px;
  background: rgba(15,20,28,.94);
  border: 1px solid #a04848; box-shadow: 0 8px 30px rgba(160,40,40,.35);
}
/* arena EM PÉ: eu em cima, VS no meio, rival embaixo */
#duel-panel .dp-arena { flex-direction: column; gap: 6px; }
#duel-panel .dp-f { min-width: 0; width: 100%; }
#duel-panel .dp-hp { width: 100%; }
#duel-panel .dp-head { font-size: 11px; gap: 4px; }
#duel-panel .dp-left { margin-left: 0; }
#duel-panel .dp-mid { flex: none; padding: 2px 0; }
#duel-panel .dp-vs { font-size: 15px; }
#duel-panel .dp-count { font-size: 24px; }
#duel-panel .dp-bench { flex-wrap: wrap; gap: 4px; margin-top: 8px; }
#duel-panel .dp-slot { width: 34px; height: 34px; }
/* histórico compacto: nome + dano + efetividade na MESMA linha */
#duel-panel .dp-log { font-size: 10px; gap: 0; }
#duel-panel .dp-log > div { display: flex; align-items: baseline; gap: 4px;
  padding: 2px 0; border-bottom: 1px solid rgba(39,50,70,.5); }
#duel-panel .dp-log > div:last-child { border-bottom: 0; }
#duel-panel .dp-log span { min-width: 0; flex: 1; overflow: hidden;
  text-overflow: ellipsis; white-space: nowrap; }
#duel-panel .dp-log b { margin: 0; }
/* telas baixas/estreitas: volta pro rodapé (lateral não caberia) */
@media (max-width: 900px), (max-height: 620px) {
  #duel-panel { right: 50%; top: auto; bottom: 8px; transform: translateX(50%);
    width: min(460px, 94vw); max-height: 44vh; }
  #duel-panel .dp-arena { flex-direction: row; }
  #duel-panel .dp-f { width: auto; min-width: 110px; }
  #duel-panel .dp-hp { width: 110px; }
}
.dp-head { font-size: 12px; color: #cfd8e3; margin-bottom: 8px; display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.dp-wager { color: #ffd964; font-weight: 700; }
.dp-left { margin-left: auto; font-size: 11px; color: #8b97a5; }
.dp-arena { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.dp-f { display: flex; flex-direction: column; align-items: center; gap: 3px; min-width: 120px; }
.dp-nm { font-size: 12px; font-weight: 700; }
.dp-hp { position: relative; width: 120px; height: 13px; background: #0a0f16; border: 1px solid #273246; border-radius: 6px; overflow: hidden; }
.dp-hp > div { height: 100%; background: linear-gradient(90deg, #3f9e5a, #56c878); transition: width .6s; }
.dp-hp.foe > div { background: linear-gradient(90deg, #c85454, #e06a6a); }
.dp-hp span { position: absolute; inset: 0; text-align: center; font-size: 9px; line-height: 13px; color: #fff; text-shadow: 0 0 3px #000; }
.dp-mid { flex: 1; text-align: center; font-size: 13px; }
.dp-vs { font-size: 20px; font-weight: 900; color: #a04848; }
.dp-count { font-size: 30px; font-weight: 900; color: #ffd964; text-shadow: 0 0 12px rgba(255,217,100,.5); }
.dp-switch { color: #ffd964; font-weight: 700; animation: dpblink 1s infinite; }
@keyframes dpblink { 50% { opacity: .45; } }
.dp-bench { display: flex; gap: 6px; justify-content: center; margin-top: 9px; }
.dp-bench.hot .dp-slot:not(.dead) { cursor: pointer; border-color: #ffd964; box-shadow: 0 0 8px rgba(255,217,100,.45); animation: dpblink 1s infinite; }
.dp-bench.hot .dp-slot:not(.dead):hover { transform: scale(1.18); animation: none; }
.dp-slot { width: 42px; height: 42px; border-radius: 8px; background: #0d141d; border: 2px solid #273246; display: flex; align-items: center; justify-content: center; position: relative; }
.dp-slot.cur { border-color: #56c878; }
.dp-slot.dead { opacity: .35; filter: grayscale(1); }
.dp-ff {
  position: absolute; top: 8px; right: 10px; background: #2a1414; color: #e89b9b;
  border: 1px solid #5a2f2f; border-radius: 7px; padding: 3px 9px; cursor: pointer; font-size: 11px;
}
.dp-ff:hover { background: #3a1a1a; }

/* ✨ seletor de auras */
.aura-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap: 8px; }
.aura-opt {
  display: flex; flex-direction: column; align-items: center; gap: 6px;
  background: #0d141d; border: 1px solid #273246; border-radius: 10px;
  padding: 12px 8px; cursor: pointer; color: #cfd8e3; font-size: 12px;
}
.aura-opt:hover { border-color: #37475c; }
.aura-opt.on { border-color: #c9a34e; background: #14110a; color: #ffd964; }
.aura-dot {
  width: 34px; height: 34px; border-radius: 50%;
  box-shadow: 0 0 12px 2px rgba(255,255,255,.15);
}
.aura-dot.none {
  background: #101823; border: 1px dashed #4a5a6e; color: #6a7787;
  display: flex; align-items: center; justify-content: center; font-size: 16px;
  box-shadow: none;
}

/* 🔗 pokémon linkado no chat (shift+clique no Time/Box) */
.poke-link { color: #7fe7ff; cursor: pointer; text-decoration: underline; font-weight: bold; }
.poke-link:hover { color: #fff; }

/* ⚾ GERENCIADOR DE BOLAS v2 — padrão da Pokédex: fundo cinzentado, borda azul
   discreta, detalhes dourados, altura FIXA com paginação (3×5 = 15/página) */
.bm2 { display: flex; flex-direction: column; gap: 8px; }
.bm2-top { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.bm2-count {
  flex: none; font-size: 11px; color: #8b97a5; background: #101823;
  border: 1px solid #2a3d55; border-radius: 11px; padding: 3px 10px;
}
.bm2-count b { color: #ffd964; }
.bm2-busca {
  flex: 1; min-width: 150px; background: rgba(10, 16, 26, .95); color: #e8eef5;
  border: 1px solid #2a3d55; border-radius: 9px; padding: 6px 11px; font-size: 12px; outline: none;
}
.bm2-busca:focus { border-color: #c9a34e; }
.bm2-fs { display: flex; gap: 4px; flex-wrap: wrap; }
.bm2-f {
  background: rgba(20, 30, 45, .6); border: 1px solid #2a3d55; color: #cfd8e3;
  border-radius: 13px; padding: 4px 10px; font-size: 11px; cursor: pointer; transition: all .12s;
}
.bm2-f:hover { border-color: #c9a34e; }
.bm2-f.on { background: #c9a34e; color: #1a1408; border-color: #c9a34e; font-weight: 700; }
/* grade fixa com setas laterais */
.bm2-mid { position: relative; padding: 0 26px; }
.bm2-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); grid-template-rows: repeat(5, 1fr);
  gap: 6px; height: min(55vh, 520px);
}
.bm2-nav {
  position: absolute; top: 50%; transform: translateY(-50%); width: 22px; height: 56px;
  display: flex; align-items: center; justify-content: center; cursor: pointer;
  background: #101823; border: 1px solid #2a3d55; border-radius: 8px;
  color: #cfd8e3; font-size: 16px; line-height: 1; transition: all .12s; padding: 0;
}
.bm2-prev { left: 0; }
.bm2-next { right: 0; }
.bm2-nav:hover:not(:disabled) { border-color: #c9a34e; color: #ffd964; }
.bm2-nav:disabled { opacity: .3; cursor: default; }
/* card: sprite centralizado + nome + bolas + chance (altura padronizada) */
.bm2-card {
  position: relative; min-width: 0; overflow: hidden;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px;
  background: linear-gradient(180deg, rgba(23, 29, 39, .9), rgba(13, 20, 32, .9));
  border: 1px solid #2a3d55; border-radius: 9px; padding: 6px 8px;
  transition: border-color .12s, transform .12s;
}
.bm2-card:hover { border-color: #c9a34e; transform: translateY(-1px); }
.bm2-card canvas { image-rendering: pixelated; flex: none; }
.bm2-card.caught { border-color: #3f8f4a66; background: linear-gradient(180deg, #0e1c13, #0d141d); }
.bm2-card.sh { border-color: #ffd96455; }
.bm2-badge {
  position: absolute; top: 4px; left: 4px; font-size: 8.5px; font-weight: 700;
  color: #7fd47f; background: rgba(60, 157, 80, .16); border: 1px solid #3c9d5055;
  border-radius: 8px; padding: 1px 6px; letter-spacing: .2px;
}
.bm2-nm {
  max-width: 100%; font-weight: 700; font-size: 11.5px; color: #e8eef4;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; padding: 0 4px;
}
.bm2-meta { font-size: 10px; color: #8b97a5; }
.bm2-meta b { color: #cfd8e3; }
.bm2-ch { color: #ffd964; font-weight: 700; }
.bm2-caret {
  position: absolute; top: 2px; right: 4px; background: none; border: none;
  color: #5f6f83; font-size: 11px; cursor: pointer; padding: 2px 4px;
  transition: transform .15s, color .15s;
}
.bm2-caret:hover { color: #ffd964; }
.bm2-card.open .bm2-caret { transform: rotate(180deg); color: #ffd964; }
/* ▾ bolas usadas: POPOVER dentro do card — a grade não muda de tamanho */
.bm2-pop {
  display: none; position: absolute; left: 4px; right: 4px; bottom: 4px; z-index: 6;
  background: rgba(10, 15, 22, .98); border: 1px solid #c9a34e66; border-radius: 8px;
  padding: 5px 6px; flex-wrap: wrap; gap: 4px; justify-content: center;
  max-height: calc(100% - 8px); overflow-y: auto; scrollbar-width: thin;
}
.bm2-card.open .bm2-pop { display: flex; }
.bm2-vazio { grid-column: 1 / -1; align-self: center; text-align: center; font-size: 12.5px; }
/* rodapé: Página X de Y + números compactos */
.bm2-foot { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 26px; flex-wrap: wrap; }
.bm2-pg { font-size: 11px; color: #8b97a5; }
.bm2-pg b { color: #ffd964; }
.bm2-pgs { display: flex; align-items: center; gap: 3px; }
.bm2-pgs i { color: #5f6f83; font-style: normal; font-size: 10px; padding: 0 1px; }
.bm2-pn {
  min-width: 22px; height: 20px; padding: 0 5px; background: #101823;
  border: 1px solid #2a3d55; border-radius: 6px; color: #cfd8e3;
  font-size: 10.5px; cursor: pointer; transition: all .12s;
}
.bm2-pn:hover { border-color: #c9a34e; }
.bm2-pn.on { background: #c9a34e; border-color: #c9a34e; color: #1a1408; font-weight: 700; }
/* telas menores: 2 colunas (ou 1 bem estreita), grade rola por dentro */
@media (max-width: 640px) {
  .bm2-mid { padding: 0 24px; }
  .bm2-grid { grid-template-columns: repeat(2, 1fr); grid-template-rows: none; grid-auto-rows: minmax(96px, auto); height: auto; max-height: 58vh; overflow-y: auto; }
}
@media (max-width: 380px) {
  .bm2-grid { grid-template-columns: 1fr; }
}
/* chips de bola (usados no popover do gerenciador) */
.bm-chip {
  display: inline-flex; align-items: center; gap: 4px; font-size: 11px;
  background: #101823; border: 1px solid #37475c; border-radius: 11px;
  padding: 2px 8px; color: #e6edf5;
}
.bm-chip canvas { image-rendering: pixelated; }
.cp-title { flex: 1; min-width: 0; color: #ffd964; font-weight: bold; letter-spacing: .5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
/* bolas em GRADE uniforme: célula igual pra todas (ícone em cima, quantidade
   embaixo — "38.6K" cabe inteiro). Grade re-flui sozinha em telas menores. */
.cp-balls {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(52px, 1fr));
  gap: 4px; margin-bottom: 8px; max-height: 96px; overflow-y: auto;
  scrollbar-width: thin; padding-right: 2px;
}
.cp-balls::-webkit-scrollbar { width: 6px; }
.cp-balls::-webkit-scrollbar-thumb { background: #c9a34e55; border-radius: 3px; }
.cp-ball {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 2px; min-height: 42px; padding: 4px 2px; border-radius: 8px; cursor: pointer;
  background: #101823; border: 1px solid #37475c; color: #aeb9c6;
  font-size: 10px; line-height: 1.1; text-align: center;
  transition: border-color .12s, background .12s, color .12s;
}
.cp-ball canvas { width: 18px; height: 18px; image-rendering: pixelated; flex: none; }
.cp-ball > span { font-size: 13px; line-height: 18px; } /* fallback: ícone emoji */
.cp-ball b { font-weight: 700; font-size: 10px; color: inherit; max-width: 100%; white-space: nowrap; }
/* cor DISCRETA por tipo de bola (só a borda — selecionada vira dourada) */
.cp-ball.cp-b-pokeball { border-color: #7c3f3b; }
.cp-ball.cp-b-great { border-color: #3d5f92; }
.cp-ball.cp-b-super { border-color: #4a5568; }
.cp-ball.cp-b-ultra { border-color: #8a7a2e; }
.cp-ball.cp-b-saffari { border-color: #4a7a4e; }
.cp-ball.cp-b-master { border-color: #6a4a8f; }
.cp-ball.cp-b-moon { border-color: #4a4a7a; }
.cp-ball.cp-b-tinker { border-color: #8f5a7a; }
.cp-ball.cp-b-sora { border-color: #4a7a9a; }
.cp-ball.cp-b-dusk { border-color: #3a5a45; }
.cp-ball.cp-b-yume { border-color: #7a4a7a; }
.cp-ball.cp-b-tale { border-color: #4a7a72; }
.cp-ball.cp-b-net { border-color: #3f7a8a; }
.cp-ball.cp-b-janguru { border-color: #4a7a3f; }
.cp-ball.cp-b-magu { border-color: #8a5a2e; }
.cp-ball.cp-b-fast { border-color: #8a6a2e; }
.cp-ball.cp-b-heavy { border-color: #5a6a7a; }
.cp-ball.cp-b-premier { border-color: #7a8a9a; }
.cp-ball.cp-b-especial { border-color: #8a7a3e; }
.cp-ball.cp-b-esferadepal { border-color: #6a5a8f; }
.cp-ball.cp-b-esferamega { border-color: #8f4a5a; }
.cp-ball.cp-b-esferagiga { border-color: #4a6a8f; }
.cp-ball.cp-b-esferatera { border-color: #4a8f7a; }
.cp-ball.cp-b-esferaultra { border-color: #8f7a3e; }
.cp-ball.cp-b-esferalendaria { border-color: #9a7a2e; }
.cp-ball.cp-b-divine { border-color: #9a8a3e; }
.cp-ball.cp-b-police { border-color: #3f5f9a; }
/* estados por ÚLTIMO (vencem a cor do tipo na mesma especificidade) */
.cp-ball:hover { border-color: #c9a34e; color: #e8eef5; }
.cp-ball.sel {
  border-color: #e0b95d; color: #ffd964;
  background: linear-gradient(180deg, #1d1a10, #141108);
  box-shadow: 0 0 0 1px #e0b95d44 inset;
}
.cp-list { display: flex; flex-direction: column; gap: 4px; max-height: 230px; overflow-y: auto; scrollbar-width: thin; }
.cp-list::-webkit-scrollbar { width: 6px; }
.cp-list::-webkit-scrollbar-thumb { background: #c9a34e55; border-radius: 3px; }
.cp-row {
  display: flex; align-items: center; gap: 8px;
  background: #101823; border: 1px solid #22314a; border-radius: 7px; padding: 4px 8px;
}
.cp-row canvas { image-rendering: pixelated; }
.cp-row .nm { flex: 1; min-width: 0; font-size: 12px; }
.cp-row .nm .dim { font-size: 10px; display: block; }
.cp-row.shiny { border-color: #b98f1f; background: linear-gradient(180deg, #17150c, #101823); }

/* ------------------------------------------------ chat */
#chat { left: 12px; bottom: 12px; width: 330px; height: 190px; display: flex; flex-direction: column; }
.chat-tabs { display: flex; gap: 3px; padding: 6px 6px 0; }
.ct {
  background: #101823; border: 1px solid #273246; color: #aeb9c6;
  border-radius: 5px 5px 0 0; padding: 3px 8px; cursor: pointer; font-size: 11px;
  white-space: nowrap;
}
.ct.active { color: #ffd964; border-color: #715c25; }
#chat-log { flex: 1; overflow-y: auto; padding: 6px 10px; font-size: 11.5px; line-height: 1.5; }
#chat-log .t { color: #5d6b7a; margin-right: 4px; }
#chat-log .m-catch { color: #7fd47f; }
#chat-log .m-shiny { color: #ffd964; }
#chat-log .m-level { color: #6fc3ff; }
#chat-log .m-evolve { color: #d99cff; }
#chat-log .m-rare { color: #ffb066; }
#chat-log .m-flee { color: #ff8f8f; }
#chat-log .m-zone { color: #9ad0c2; }
#chat-log .m-chat { color: #e8eef4; }
#chat-log .m-chat .cn { color: #6fc3ff; font-weight: bold; }
#chat-log .m-trade { color: #ffe2ad; }
#chat-log .m-trade .cn { color: #f0b859; font-weight: bold; }
#chat-log .m-pm { color: #e8d9f4; }
#chat-log .m-pm .cn { color: #c58cff; font-weight: bold; }
#chat-log .pm-name { cursor: pointer; text-decoration: underline dotted; }
/* rodapé FIXO do chat: campo + Enviar sempre visíveis (o log rola sozinho) */
.chat-input { display: flex; gap: 6px; padding: 6px 8px; border-top: 1px solid #1e2a3c; flex: 0 0 auto; background: inherit; }
.chat-input input {
  flex: 1; min-width: 0; background: rgba(10, 16, 26, .95); color: #e8eef5;
  border: 1px solid #2a3d55; border-radius: 8px; padding: 5px 10px; outline: none; font-size: 12px;
}
.chat-input input:focus { border-color: #c9a34e; }

/* ⚔ World Boss: banner antigo REMOVIDO (30/07/2026) — virou modal central.
   As regras novas (#boss-modal / #boss-ind) estão no fim do arquivo. */

/* tarefas */
.task-row { background: #0d141d; border: 1px solid #273246; border-radius: 7px; padding: 10px 12px; margin-bottom: 8px; }
.task-row .bar { margin-top: 6px; }
.task-row .bar > div { background: linear-gradient(#6fc3ff, #2f6d9d); }
.task-row.done { border-color: #3f7d46; }

/* ------------------------------------------------ modais */
#modal-bg {
  /* 130 > login (100): os Termos de Uso precisam abrir NA TELA DE LOGIN */
  position: fixed; inset: 0; z-index: 130;
  background: rgba(0, 0, 0, .6);
  display: flex; align-items: center; justify-content: center;
}
#modal { width: min(760px, 92vw); max-height: 84vh; display: flex; flex-direction: column; }
.modal-head {
  display: flex; justify-content: space-between; align-items: center;
  padding: 12px 16px; border-bottom: 1px solid #273246;
  color: #ffd964; font-weight: bold; letter-spacing: .5px;
}
#modal-close { background: none; border: none; color: #8b97a5; font-size: 15px; cursor: pointer; }
#modal-body { overflow-y: auto; padding: 14px 16px; }

/* Tutorial do primeiro acesso: centralizado e responsivo. */
#modal.onboarding-modal { width: min(540px, calc(100vw - 28px)); max-height: min(640px, calc(100dvh - 28px)); margin: auto; }
#modal.onboarding-modal .modal-head { justify-content:center; position:relative; min-height:52px; padding:13px 54px 13px 18px; text-align:center; }
#modal.onboarding-modal #modal-close { position:absolute; right:13px; top:50%; transform:translateY(-50%); width:34px; height:34px; border-radius:9px; }
#modal.onboarding-modal #modal-body { display:flex; justify-content:center; padding:20px; text-align:center; }
.onboarding-tour,.onboarding-starter { width:min(100%,460px); margin:auto; text-align:center; }
.onboarding-tour h3 { font-size:clamp(20px,4vw,25px); line-height:1.2; }
.onboarding-tour p { max-width:420px; margin-left:auto!important; margin-right:auto!important; font-size:clamp(13px,2.5vw,15px); }
.onboarding-actions { display:flex; justify-content:center; gap:10px; width:100%; margin-top:16px; }
.onboarding-actions .btn { min-width:144px; min-height:42px; }
.onboarding-starter > p { max-width:450px; margin-left:auto; margin-right:auto; }
.onboarding-starter-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; width:100%; margin-top:16px; }
.onboarding-starter-card { min-height:150px!important; display:flex!important; flex-direction:column; align-items:center; justify-content:center; gap:6px; padding:12px 8px; }
.onboarding-starter-card canvas { max-width:64px; max-height:64px; image-rendering:pixelated; }
@media (max-width:600px) { #modal.onboarding-modal { width:calc(100vw - 16px); max-height:calc(100dvh - 16px); } #modal.onboarding-modal #modal-body { padding:15px 12px; } .onboarding-actions { flex-direction:column-reverse; align-items:stretch; } .onboarding-actions .btn { width:100%; min-height:46px; } .onboarding-starter-grid { gap:8px; } .onboarding-starter-card { min-height:128px!important; padding:8px 4px; font-size:11px; } .onboarding-starter-card canvas { transform:scale(.83); margin:-4px; } }
@media (max-width:380px) { #modal.onboarding-modal .modal-head { font-size:13px; } .onboarding-starter-card { min-height:112px!important; } .onboarding-starter-card canvas { transform:scale(.7); margin:-9px; } }

/* pokédex */
/* Guia de campo do primeiro acesso: mantém a tela jogável e ilumina o sistema
   citado, em vez de esconder o HUD atrás de uma janela genérica. */
.onboarding-coach {
  position: fixed; left: 50%; top: 50%; transform: translate(-50%, -50%);
  width: min(480px, calc(100vw - 30px)); z-index: 124;
  padding: 18px 20px 16px; border: 1px solid #c99a2d; border-radius: 16px;
  color: #e8eef7; background: linear-gradient(145deg, rgba(17,28,46,.97), rgba(8,13,23,.98));
  box-shadow: 0 18px 60px rgba(0,0,0,.66), 0 0 0 1px rgba(112,65,235,.3) inset;
}
.onboarding-kicker { color: #f4c64d; font-size: 10px; font-weight: 800; letter-spacing: 1.1px; margin-bottom: 10px; }
.onboarding-coach-head { display: flex; gap: 12px; align-items: center; }
.onboarding-coach-icon { width: 46px; height: 46px; flex: 0 0 46px; display: grid; place-items: center; border-radius: 12px; font-size: 25px; background: #15253a; border: 1px solid #355276; box-shadow: 0 0 18px rgba(255,204,78,.18); }
.onboarding-coach h3 { margin: 0; color: #ffe06a; font-size: 20px; line-height: 1.16; }
.onboarding-where { margin: 4px 0 0; color: #79c8ff; font-size: 12px; font-weight: 700; }
.onboarding-coach-text { margin: 14px 0 11px; color: #c4d0df; font-size: 14px; line-height: 1.55; }
.onboarding-hint { padding: 8px 10px; color: #9be0ff; background: rgba(39,99,136,.18); border: 1px solid rgba(86,162,211,.36); border-radius: 8px; font-size: 11px; line-height: 1.35; }
.onboarding-dots { display: flex; justify-content: center; gap: 5px; margin: 13px 0 2px; }
.onboarding-dots i { width: 6px; height: 6px; border-radius: 50%; background: #40516a; }
.onboarding-dots i.on { width: 18px; border-radius: 6px; background: #ffd45b; box-shadow: 0 0 8px rgba(255,212,91,.65); }
.onboarding-coach-actions { margin-top: 12px; }
.onboarding-coach-actions .btn { min-width: 0; flex: 1; font-size: 12px; }
.tutorial-spotlight { z-index: 9001 !important; outline: 3px solid #ffd45b !important; outline-offset: 4px; border-radius: 10px !important; animation: tutorial-pulse 1.25s ease-in-out infinite; box-shadow: 0 0 0 5px rgba(255,187,49,.19), 0 0 26px rgba(255,196,63,.9) !important; }
.tutorial-spotlight-ring { position: fixed; z-index: 9001; box-sizing: border-box; pointer-events: none; border: 3px solid #ffd45b; border-radius: 14px; animation: tutorial-ring-pulse 1.25s ease-in-out infinite; box-shadow: 0 0 0 6px rgba(255,187,49,.2), 0 0 34px rgba(255,196,63,.95), inset 0 0 18px rgba(255,208,79,.12); }
@keyframes tutorial-ring-pulse { 50% { border-color: #72dcff; box-shadow: 0 0 0 10px rgba(114,220,255,.14), 0 0 42px rgba(114,220,255,.95), inset 0 0 22px rgba(114,220,255,.14); } }
@keyframes tutorial-pulse { 50% { outline-color: #74dcff; box-shadow: 0 0 0 9px rgba(116,220,255,.12), 0 0 34px rgba(116,220,255,.86) !important; } }
@media (max-width:600px), (pointer:coarse) {
  .onboarding-coach { top: auto; bottom: max(96px, env(safe-area-inset-bottom)); transform: translateX(-50%); width: min(460px, calc(100vw - 18px)); max-height: min(50dvh, 390px); overflow-y: auto; padding: 14px 15px 13px; }
  .onboarding-coach h3 { font-size: 18px; }.onboarding-coach-text { font-size: 13px; margin: 11px 0 9px; }.onboarding-coach-icon { width: 40px; height: 40px; flex-basis: 40px; font-size: 21px; }.onboarding-coach-actions { flex-wrap: wrap; }.onboarding-coach-actions .btn { min-height: 38px; }
}

.dex-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); gap: 8px; }
.dex-cell {
  background: #0d141d; border: 1px solid #273246; border-radius: 7px;
  text-align: center; padding: 8px 4px; font-size: 10.5px; color: #8b97a5;
}
.dex-cell canvas { image-rendering: pixelated; filter: grayscale(1) brightness(.45); }
.dex-cell.caught { border-color: #3f7d46; color: #dfe6ee; }
.dex-cell.caught canvas { filter: none; }
.dex-cell.seen canvas { filter: grayscale(1) brightness(.8); }
.dex-cell .no { color: #5d6b7a; display: block; }

/* zonas */
.zone-row {
  display: flex; align-items: center; gap: 10px;
  background: #0d141d; border: 1px solid #273246; border-radius: 7px;
  padding: 8px 12px; margin-bottom: 7px;
}
.zone-row.locked { opacity: .45; }
.zone-row.current { border-color: #a3852f; }
.zone-row .zr-info { flex: 1; }
.zone-row .zr-poke { font-size: 11px; color: #8b97a5; }

/* time / loja / perfil */
.poke-row {
  display: flex; align-items: center; gap: 10px;
  background: #0d141d; border: 1px solid #273246; border-radius: 7px;
  padding: 6px 12px; margin-bottom: 6px;
}
.poke-row canvas { image-rendering: pixelated; }
.poke-row .pr-nm { flex: 1; }
.poke-row.active-poke { border-color: #3f7d46; }
.poke-row.shiny { border-color: #b98f1f; }
/* 🛒 hero da loja do Mark: avatar + saldo em gold sempre à vista */
.shop-hero {
  display: flex; gap: 12px; align-items: center; margin-bottom: 12px;
  background: linear-gradient(120deg, #1a1408, #2b2007 60%, #1a1408);
  border: 1px solid #7a5a10; border-radius: 10px; padding: 12px 14px;
}
.sh-av {
  width: 54px; height: 54px; border-radius: 50%; flex: none; overflow: hidden;
  background: #101823; border: 1px solid #37475c;
  display: flex; align-items: center; justify-content: center;
}
.sh-av canvas { image-rendering: pixelated; }
.sh-t { font-weight: bold; color: #f3e7c8; }
.sh-bal { font-size: 22px; font-weight: 900; color: #ffd964; display: flex; align-items: center; gap: 6px; margin: 2px 0; }
.sh-bal .sh-ic { display: inline-flex; }
.sh-sub { color: #8b97a5; font-size: 11px; }

.shop-row {
  display: flex; align-items: center; gap: 10px; padding: 8px 10px;
  background: #101823; border: 1px solid #1c2836; border-radius: 8px;
  margin-bottom: 6px; transition: border-color .15s;
}
.shop-row:hover { border-color: #31465f; }
.shop-row .sr-nm { flex: 1; }
.shop-row .sr-ic { width: 30px; display: flex; justify-content: center; }
.shop-h {
  margin: 14px 0 8px; padding-bottom: 4px; border-bottom: 1px solid #24344a;
  color: #ffd964; font-weight: bold; font-size: 13px; letter-spacing: .4px;
}
.shop-h:first-child { margin-top: 0; }
.tag.dia { background: #1c2c44; color: #8fd0ff; border-color: #2c4a6e; }

.sh-sub { font-size: 11px; color: #7c8a99; font-weight: normal; letter-spacing: 0; }
/* 📢 broadcast do ADM na TELA (todo mundo vê) */
#broadcast-banner {
  position: fixed; top: 120px; left: 50%; transform: translateX(-50%) scale(.9);
  max-width: 76vw; z-index: 200; pointer-events: none;
  background: linear-gradient(135deg, rgba(58,32,4,.95), rgba(30,16,2,.95));
  border: 2px solid #ff9a3c; border-radius: 10px;
  padding: 14px 26px; text-align: center;
  color: #ffb46b; font-size: 20px; font-weight: bold; letter-spacing: .5px;
  text-shadow: 0 2px 6px rgba(0,0,0,.8);
  box-shadow: 0 6px 30px rgba(255,154,60,.35);
  opacity: 0; transition: opacity .3s, transform .3s;
}
#broadcast-banner.show { opacity: 1; transform: translateX(-50%) scale(1); }

/* talkactions: ADM fala laranja, broadcast destacado */
.cn.adm { color: #ff9a3c; font-weight: bold; }
.cn.tutor { color: #7fd0ff; font-weight: bold; }
.adm-txt { color: #ffb46b; }
.m-broadcast { color: #ff9a3c; font-weight: bold; }

/* escolha do pokémon inicial (criar conta) */
.starter-row { display: flex; gap: 8px; }
/* 📜 aceite dos termos no registro */
.terms-check { display: flex; align-items: flex-start; gap: 8px; margin: 12px 2px 2px; color: #9fb0c8; font-size: 12.5px; line-height: 1.45; cursor: pointer; }
.terms-check input { margin-top: 2px; width: 16px; height: 16px; accent-color: #3fbf6f; flex-shrink: 0; cursor: pointer; }
.terms-doc { max-height: 62vh; overflow-y: auto; padding-right: 6px; }
.terms-doc h4 { margin: 14px 0 4px; color: #ffd964; font-size: 14px; }
.terms-doc p { margin: 0 0 6px; color: #ccd6e6; font-size: 13px; line-height: 1.55; }
.terms-doc .terms-ver { font-size: 11px; margin-bottom: 8px; }
.starter-card {
  flex: 1; background: #101823; border: 2px solid #1c2836; border-radius: 10px;
  padding: 8px 4px; text-align: center; cursor: pointer;
  display: flex; flex-direction: column; align-items: center; gap: 4px;
  transition: border-color .15s, transform .15s;
}
.starter-card:hover { border-color: #31465f; transform: translateY(-2px); }
.starter-card.sel { border-color: #c9a34e; box-shadow: 0 0 10px rgba(201,163,78,.35); }
.starter-card canvas { image-rendering: pixelated; }
.starter-card span { font-size: 12px; color: #c9d3dd; }

/* 🎨 pintor de outfit */
.paint-row { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.paint-lb { flex: none; width: 58px; font-size: 12px; font-weight: 700; color: #cfd8e3; }
.paint-swatches { display: flex; flex-wrap: wrap; gap: 4px; }
.paint-sw {
  width: 21px; height: 21px; border-radius: 5px; cursor: pointer;
  border: 2px solid #37475c; padding: 0; font-size: 10px; line-height: 1;
}
.paint-sw:hover { transform: scale(1.15); }
.paint-sw.on { border-color: #ffd964; box-shadow: 0 0 6px rgba(255,217,100,.6); }
.paint-sw.none { background: #0d141d; color: #8b97a5; }
.profile-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 18px; }
.profile-grid div { padding: 5px 0; border-bottom: 1px solid #17202c; }
.profile-grid span { float: right; color: #ffd964; }
.rank-row { display: flex; gap: 10px; padding: 6px 4px; border-bottom: 1px solid #17202c; }
.rank-row .pos { width: 34px; color: #ffd964; }
.rank-row .nm { flex: 1; }

/* diálogo de NPC */
#npc-box {
  bottom: 230px; left: 50%; transform: translateX(-50%);
  width: 340px; padding: 14px 16px; z-index: 30; text-align: center;
}
.npc-head { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
#npc-face { image-rendering: pixelated; }
#npc-name { flex: 1; color: #ffd964; font-weight: bold; font-size: 15px; letter-spacing: .5px; text-align: left; }
#npc-close { background: none; border: none; color: #8b97a5; cursor: pointer; font-size: 14px; }
#npc-text { font-size: 12.5px; line-height: 1.5; color: #c9d3dd; margin-bottom: 10px; text-align: left; }
#npc-actions { display: flex; justify-content: center; gap: 8px; }
#npc-actions .btn { padding: 7px 20px; }

/* modal de desmaio */
#faint-box {
  position: fixed; inset: 0; z-index: 9500;
  background: rgba(8, 7, 5, .72);
  display: flex; align-items: center; justify-content: center;
}
.fb-panel {
  width: min(360px,calc(100vw - 28px)); padding: 20px 22px; text-align: center;
  border:1px solid #ff7900; border-radius:12px;
  background:radial-gradient(circle at 50% 0,rgba(255,117,0,.16),transparent 45%),linear-gradient(145deg,#201209,#0b1112 72%);
  box-shadow:0 20px 56px rgba(0,0,0,.72),0 0 24px rgba(255,112,0,.24);
}
.fb-skull { font-size: 32px; margin-bottom: 5px; filter:drop-shadow(0 0 8px rgba(255,113,0,.55)); }
#faint-title { color: #ffb35c; font-weight:900; letter-spacing:.08em; font-size:15px; margin-bottom:8px; }
.fb-text { font-size:11px; color:#cdb9a5; line-height:1.45; margin-bottom:10px; }
.fb-text b{color:#ffd18e}#faint-count { color:#ff8a1c; font-size:28px; font-weight:900;text-shadow:0 0 12px rgba(255,112,0,.38); }
#faint-target{width:100%;height:34px;margin:0 0 8px;padding:0 9px;border:1px solid #78421d;border-radius:7px;background:#101516;color:#f5dec6;font:700 11px system-ui}
.fb-green {
  width: 100%; margin-bottom: 8px; padding: 10px;
  background:linear-gradient(135deg,#ff7900,#bf4704) !important;border-color:#ff9b36 !important;color:#fff1df !important;
  font-weight: bold;
}
.fb-green:disabled { opacity: .45;filter:grayscale(.35) }
.fb-city { width: 100%; padding: 9px;border-color:#70421f!important;background:#151514!important;color:#e7c5a1!important; }
.fb-city:disabled{opacity:.42;cursor:not-allowed}

/* card de equipe */
.eq-slots { display: flex; gap: 8px; margin-bottom: 14px; }
.eq-slot {
  width: 64px; height: 64px; border-radius: 8px; cursor: pointer;
  background: #0d141d; border: 2px solid #273246;
  display: flex; align-items: center; justify-content: center; position: relative;
}
.eq-slot.sel { border-color: #c9a34e; }
.eq-slot.empty { border-style: dashed; opacity: .5; cursor: default; }
.eq-slot .lv { position: absolute; bottom: 2px; right: 4px; font-size: 9px; color: #ffd964; }
/* 💰 venda em massa: selecionado + travado (protegido) */
.eq-slot.picked { border-color: #56c878; box-shadow: 0 0 0 2px rgba(86,200,120,.45) inset, 0 0 10px rgba(86,200,120,.35); }
.eq-slot.picked::after {
  content: '✔'; position: absolute; top: 1px; left: 3px; font-size: 12px; font-weight: 900;
  color: #7fffa0; text-shadow: 0 0 3px #000;
}
.eq-slot.dimlock { opacity: .45; cursor: not-allowed; }
.box-sellbar {
  display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
  background: #101a12; border: 1px solid #2f5a3f; border-radius: 8px;
  padding: 7px 10px; margin-bottom: 10px;
}
.box-sellbar .bs-info { flex: 1; font-size: 13px; color: #cfe6d0; min-width: 120px; }
/* ═══════════ 🏆 CARD DO POKÉMON — painel de coleção ═══════════
   Reformulado só em CSS + um marcador de raridade (settings-extra). Os botões
   do jogo (vender/box/evoluir/aura) continuam intactos — nada de JS ofuscado
   foi tocado. A moldura da raridade e a do Boost +100 COEXISTEM (uma é a borda
   interna do sprite, a outra é o anel externo). */
.eq-card {
  background: radial-gradient(circle at 50% 0%, rgba(40, 55, 82, .55), #0b111a 70%);
  border: 1px solid #273246; border-radius: 14px; padding: 16px 14px 14px;
  position: relative; overflow: hidden;
  animation: eqc-in .22s cubic-bezier(.2, 1.1, .3, 1);
}
@keyframes eqc-in { from { transform: scale(.97); opacity: .5 } to { transform: none; opacity: 1 } }
/* faixa da raridade no topo */
.eq-card::before {
  content: ''; position: absolute; left: 0; right: 0; top: 0; height: 3px;
  background: var(--rar, #3b4759); opacity: .9;
}
/* sprite GRANDE, centralizado, com moldura da raridade + brilho + idle */
.eq-head { display: flex; gap: 14px; align-items: center; }
.eq-head > canvas, .eq-head > img {
  width: 148px !important; height: 148px !important; /* ~2x o 74 original */
  image-rendering: pixelated;
  padding: 8px; border-radius: 16px;
  border: 2px solid var(--rar, #3b4759);
  background: radial-gradient(circle at 50% 60%, rgba(255, 255, 255, .07), transparent 70%);
  box-shadow: 0 0 14px var(--rarGlow, rgba(59, 71, 89, .5)), 0 8px 18px rgba(0, 0, 0, .5);
  animation: eqc-idle 3.2s ease-in-out infinite;
}
@keyframes eqc-idle { 0%, 100% { transform: translateY(0) } 50% { transform: translateY(-5px) } }
/* cores por raridade — ancoradas no .eq-head porque BOTH a janela da Equipe
   e a do pokémon LINKADO no chat (🔗) usam .eq-head. Uma regra cobre as duas. */
.eq-head.rar-comum,         .eq-card.rar-comum         { --rar: #9aa4b2; --rarGlow: rgba(154,164,178,.45); }
.eq-head.rar-rara,          .eq-card.rar-rara          { --rar: #4ade80; --rarGlow: rgba(74,222,128,.45); }
.eq-head.rar-superrara,     .eq-card.rar-superrara     { --rar: #4d9dff; --rarGlow: rgba(77,157,255,.5); }
.eq-head.rar-epica,         .eq-card.rar-epica         { --rar: #b06cff; --rarGlow: rgba(176,108,255,.55); }
.eq-head.rar-lendaria,      .eq-card.rar-lendaria      { --rar: #ffd700; --rarGlow: rgba(255,215,0,.6); }
.eq-head.rar-superlendaria, .eq-card.rar-superlendaria { --rar: #ff8c1a; --rarGlow: rgba(255,140,26,.65); }
.eq-head.rar-mistica,       .eq-card.rar-mistica       { --rar: #ff3b6b; --rarGlow: rgba(255,59,107,.7); }
.eq-head.rar-transcendente, .eq-card.rar-transcendente { --rar: #00e5d0; --rarGlow: rgba(0,229,208,.75); }
/* compatibilidade: "boa" era o nome antigo do tier que hoje se chama RARA */
.eq-head.rar-boa,           .eq-card.rar-boa           { --rar: #4ade80; --rarGlow: rgba(74,222,128,.45); }
/* ✨ shiny: brilho atrás do sprite (sem tirar a moldura) */
.eq-head.is-shiny > canvas, .eq-head.is-shiny > img {
  background: radial-gradient(circle at 50% 55%, rgba(255, 245, 170, .3), transparent 68%);
  box-shadow: 0 0 22px var(--rarGlow, rgba(255,255,255,.5)), 0 0 40px rgba(255, 240, 150, .3), 0 8px 18px rgba(0,0,0,.5);
}
/* ⭐ Boost +100: ANEL EXTERNO dourado animado — coexiste com a moldura acima */
.eq-head.boost100 > canvas, .eq-head.boost100 > img {
  outline: 3px solid #ffd700; outline-offset: 4px;
  animation: eqc-idle 3.2s ease-in-out infinite, eqc-ring 2.2s ease-in-out infinite;
}
@keyframes eqc-ring {
  0%, 100% { outline-color: rgba(255, 215, 0, .55); }
  50%      { outline-color: rgba(255, 215, 0, 1); }
}
/* ══════ 🖼 MOLDURAS DINÂMICAS: tokens de raridade UNIVERSAIS ══════
   Qualquer elemento com .rar-<tier> ganha as cores --rar/--rarGlow — o MESMO
   componente em toda tela (card de detalhe, Market, ficha de venda, mini). */
.rar-comum         { --rar: #9aa4b2; --rarGlow: rgba(154,164,178,.45); }
.rar-rara, .rar-boa { --rar: #4ade80; --rarGlow: rgba(74,222,128,.5); }
.rar-superrara     { --rar: #4d9dff; --rarGlow: rgba(77,157,255,.55); }
.rar-epica         { --rar: #b06cff; --rarGlow: rgba(176,108,255,.6); }
.rar-lendaria      { --rar: #ffd700; --rarGlow: rgba(255,215,0,.65); }
.rar-superlendaria { --rar: #ff8c1a; --rarGlow: rgba(255,140,26,.7); }
.rar-mistica       { --rar: #ff3b6b; --rarGlow: rgba(255,59,107,.75); }
.rar-transcendente { --rar: #00e5d0; --rarGlow: rgba(0,229,208,.8); }
/* moldura do sprite do card de detalhe PULSA nas raridades altas */
.eq-head.rar-epica > canvas, .eq-head.rar-epica > img,
.eq-head.rar-lendaria > canvas, .eq-head.rar-lendaria > img,
.eq-head.rar-superlendaria > canvas, .eq-head.rar-superlendaria > img,
.eq-head.rar-mistica > canvas, .eq-head.rar-mistica > img,
.eq-head.rar-transcendente > canvas, .eq-head.rar-transcendente > img {
  animation: eqc-idle 3.2s ease-in-out infinite, rar-pulse 2.6s ease-in-out infinite;
}
/* os 3 tiers do topo pulsam mais rapido: da pra sentir de longe que e raro */
.eq-head.rar-mistica > canvas, .eq-head.rar-mistica > img {
  animation: eqc-idle 3.2s ease-in-out infinite, rar-pulse 1.8s ease-in-out infinite;
}
.eq-head.rar-transcendente > canvas, .eq-head.rar-transcendente > img {
  animation: eqc-idle 3.2s ease-in-out infinite, rar-pulse 1.3s ease-in-out infinite;
}
@keyframes rar-pulse {
  0%, 100% { box-shadow: 0 0 14px var(--rarGlow), 0 8px 18px rgba(0,0,0,.5); }
  50%      { box-shadow: 0 0 26px var(--rarGlow), 0 0 8px var(--rar), 0 8px 18px rgba(0,0,0,.5); }
}
/* 🏪 Market (card + mini de seleção): a MESMA moldura da raridade */
.mk2-card[class*="rar-"], .mk2-mini[class*="rar-"] {
  border-color: var(--rar) !important;
  box-shadow: inset 0 0 0 1px var(--rar), 0 3px 14px var(--rarGlow);
}
.mk2-card.rar-epica, .mk2-card.rar-lendaria { animation: rar-card 2.6s ease-in-out infinite; }
@keyframes rar-card {
  0%, 100% { box-shadow: inset 0 0 0 1px var(--rar), 0 3px 14px var(--rarGlow); }
  50%      { box-shadow: inset 0 0 0 1px var(--rar), 0 3px 24px var(--rarGlow); }
}
/* 🐾 ficha de venda: moldura da raridade no herói e no sprite */
.mkf-hero.rar-comum, .mkf-hero.rar-boa, .mkf-hero.rar-rara, .mkf-hero.rar-epica, .mkf-hero.rar-lendaria {
  border-color: var(--rar); box-shadow: inset 0 0 0 1px var(--rar), 0 0 22px var(--rarGlow);
}
.mkf-hero[class*="rar-"] canvas { box-shadow: 0 0 16px var(--rarGlow); border-radius: 12px; }
/* barras dos atributos mais gordas e com cor por stat */
.eq-stats .bar { height: 10px !important; border-radius: 5px; overflow: hidden; background: #0a0f17; }
.eq-stats .bar > div { border-radius: 5px; transition: width .3s ease; }
.eq-badges { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 6px; }
.badge { font-size: 10px; padding: 2px 9px; border-radius: 9px; font-weight: bold; }
.badge.tipo { background: #274156; color: #9fd0ff; }
.badge.poder { background: #2e2410; color: #ffd964; }
.badge.r-comum { background: #2a3240; color: #aeb9c6; }
.badge.r-boa { background: #1d3d26; color: #8fe89f; }
.badge.r-rara { background: #3d1d3d; color: #f09fe8; }
.badge.r-epica { background: #4d2e10; color: #ffb066; }
.badge.r-lendaria { background: #4d3d10; color: #ffe066; }
.eq-stats { margin-top: 12px; display: grid; grid-template-columns: 34px 1fr 40px; gap: 4px 8px; align-items: center; font-size: 11px; }
.eq-stats .bar { height: 7px; }
.eq-stats .bar > div { background: linear-gradient(#8fe89f, #3f9d4c); }
.eq-actions { display: flex; gap: 8px; margin-top: 12px; flex-wrap: wrap; }
.eq-actions .btn { flex: 1; min-width: 120px; }

/* inventário em grade */
.inv-grid { display: grid; grid-template-columns: repeat(auto-fill, 52px); gap: 7px; }
.inv-slot {
  width: 52px; height: 52px; border-radius: 8px; position: relative;
  background: #0d141d; border: 1px solid #273246;
  display: flex; align-items: center; justify-content: center;
}
.inv-slot.poke { border-color: #c9a34e; }
.inv-slot .qt {
  position: absolute; bottom: 1px; right: 3px;
  font-size: 10px; font-weight: bold; color: #ffd964;
  text-shadow: 0 1px 2px #000;
}

/* quests por cidade */
.q-tabs { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 12px; }
.q-tab {
  background: #101823; border: 1px solid #273246; color: #aeb9c6;
  border-radius: 6px; padding: 4px 12px; cursor: pointer; font-size: 12px;
}
.q-tab.sel { border-color: #a3852f; color: #ffd964; }
.q-card { background: #0d141d; border: 1px solid #273246; border-radius: 8px; padding: 10px 14px; margin-bottom: 8px; }
.q-card.done { opacity: .55; }
.q-card .q-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 6px; }
.q-card .q-npc { color: #ffd964; font-weight: bold; }
.q-card .q-rw { font-size: 11px; color: #9fd0ff; }
.q-target { display: flex; justify-content: space-between; font-size: 11.5px; margin: 3px 0 2px; }
.q-target .qt-n { color: #7fd47f; }
.q-card .bar { height: 6px; margin-bottom: 4px; }
.q-card .bar > div { background: linear-gradient(#6fc3ff, #2f6d9d); }

/* toast */
#toast {
  position: fixed; left: 50%; transform: translateX(-50%);
  display: flex; align-items: center; justify-content: center; gap: 9px;
  width: fit-content; min-width: 280px; max-width: min(520px, calc(100vw - 28px));
  box-sizing: border-box; min-height: 46px; padding: 10px 18px;
  border: 1px solid #ff871d; border-radius: 11px;
  background: linear-gradient(135deg, rgba(55,27,8,.98), rgba(20,16,12,.98));
  box-shadow: 0 12px 32px rgba(0,0,0,.56), 0 0 0 1px rgba(255,113,10,.15) inset, 0 0 18px rgba(255,104,0,.26);
  color: #ffe0be; text-align: center; font: 800 13px/1.35 Inter,system-ui,sans-serif;
  letter-spacing: .08px; text-shadow: 0 1px 2px rgba(0,0,0,.85);
  z-index: 30000; pointer-events: none; animation: toast-neon-in .18s ease-out;
}
#toast::before { content: "!"; display: grid; place-items: center; flex: 0 0 20px; width: 20px; height: 20px; border: 1px solid #ffb04d; border-radius: 50%; background: rgba(255,119,10,.13); color: #ffd28d; font: 900 14px/1 Inter,system-ui,sans-serif; box-shadow: 0 0 10px rgba(255,123,12,.3); }
#toast.ok { border-color: #75d481; background: linear-gradient(135deg, rgba(15,47,29,.98), rgba(13,23,17,.98)); color: #c8f5cb; box-shadow: 0 12px 32px rgba(0,0,0,.56), 0 0 0 1px rgba(100,221,119,.16) inset, 0 0 18px rgba(63,205,90,.2); }
#toast.ok::before { border-color: #87e194; background: rgba(68,195,90,.15); color: #b9f7c1; content: "✓"; box-shadow: 0 0 10px rgba(77,214,101,.28); }
@keyframes toast-neon-in { from { opacity: 0; transform: translate(-50%,-8px) scale(.96); } to { opacity: 1; transform: translateX(-50%) scale(1); } }
#vip-lock-notice{position:fixed;top:50%;left:50%;z-index:11000;max-width:min(360px,calc(100vw - 32px));padding:14px 22px;border:1px solid #ff841b;border-radius:11px;background:linear-gradient(145deg,rgba(38,19,7,.97),rgba(12,14,14,.97));box-shadow:0 14px 45px rgba(0,0,0,.68),0 0 20px rgba(255,112,0,.32);color:#ffe0b5;font:800 14px/1.25 Inter,system-ui,sans-serif;text-align:center;pointer-events:none;opacity:0;transform:translate(-50%,-44%) scale(.94);transition:opacity .16s ease,transform .16s ease}#vip-lock-notice.show{opacity:1;transform:translate(-50%,-50%) scale(1)}
.hunt-catalog{display:grid;gap:10px}.hunt-tabs{display:flex;flex-wrap:wrap;gap:6px;overflow:visible}.hunt-tabs button{flex:1 1 126px;min-width:0;padding:8px 10px;border:1px solid #59331c;border-radius:8px;background:#111516;color:#d2b89d;font:800 10px system-ui;cursor:pointer}.hunt-tabs button.on{border-color:#ff7900;background:#452007;color:#ffe3c0}.hunt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:10px}.hunt-card{display:grid;gap:7px;padding:10px;border:1px solid #5c351d;border-radius:10px;background:linear-gradient(145deg,#1c120b,#0d1314);color:#e9d7c5}.hunt-card header{display:flex;justify-content:space-between;color:#ffb25b;font-size:11px}.hunt-card header span{font-size:9px}.hunt-card>strong{font-size:12px}.hunt-card small,.hunt-card i,.hunt-card em{font-size:9px;font-style:normal;color:#aa998a}.hunt-card div{display:grid;gap:2px;padding-top:6px;border-top:1px solid #422919}.hunt-card em{color:#e4c397}.hunt-card .btn{margin-top:2px}.hunt-card.locked{opacity:.58}.hunt-soon{display:grid;place-items:center;gap:6px;min-height:250px;border:1px dashed #6b3c1f;border-radius:11px;color:#dca368}.hunt-soon b{font-size:16px}
.hunt-soon-icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid #a9531a;border-radius:11px;background:rgba(62,29,8,.64);color:#ff9c3f;font-size:23px;line-height:1;box-shadow:0 0 15px rgba(255,112,0,.16)}
#modal.hunt-modal{width:min(880px,calc(100vw - 28px));max-height:min(760px,84vh)}#modal.hunt-modal #modal-body{padding:12px 14px}.hunt-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}.hunt-card{min-height:228px;align-content:start;gap:8px;padding:12px;text-align:center}.hunt-card header{align-items:center;padding-bottom:7px;border-bottom:1px solid #422919}.hunt-card header b{font-size:12px}.hunt-card header span{padding:3px 6px;border:1px solid #70401d;border-radius:6px;background:#241408;color:#ffc06b;font-size:9px}.hunt-card>strong{min-height:28px;display:grid;place-items:center;color:#fff0df;font-size:12px;line-height:1.25}.hunt-card>small{margin-top:-5px;color:#c99a68}.hunt-sprites{display:flex!important;justify-content:center;align-items:center;min-height:47px;padding:0!important;border:0!important;gap:8px}.hunt-sprites canvas{width:42px!important;height:42px!important;image-rendering:pixelated;filter:drop-shadow(0 2px 3px rgba(0,0,0,.6))}.hunt-card .hunt-match{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:8px 0 0;border-top:1px solid #422919;color:#b9aa9a;font-size:8px;text-align:left}.hunt-match span{min-height:30px;padding:5px 6px;border-radius:6px;background:rgba(0,0,0,.2)}.hunt-match span:first-child{color:#82d98a}.hunt-match span:last-child{color:#ef9685}.hunt-card>div:not(.hunt-sprites):not(.hunt-match){justify-items:center;text-align:center}.hunt-card .btn{align-self:end;width:100%;min-height:30px;margin-top:auto}.hunt-missions-loading{display:grid;place-items:center;min-height:170px;color:#e5ae75;font:800 12px Inter,system-ui,sans-serif}.hunt-mission-tabs{display:flex;gap:6px;overflow:auto;padding-bottom:2px}.hunt-mission-tabs button{flex:0 0 auto;padding:7px 11px;border:1px solid #5d351d;border-radius:7px;background:#111516;color:#d2b89d;font:800 10px Inter,system-ui,sans-serif;cursor:pointer}.hunt-mission-tabs button.on{border-color:#ff7900;background:#452007;color:#ffe3c0}.hunt-mission-head{display:grid;gap:3px;padding:10px 12px;border:1px solid #603719;border-radius:9px;background:linear-gradient(135deg,rgba(60,28,8,.7),rgba(14,16,15,.92))}.hunt-mission-head b{color:#ffc06b;font-size:12px}.hunt-mission-head span{color:#caa583;font-size:10px}.hunt-mission-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:10px;margin-top:10px}.hunt-mission-card{display:grid;gap:9px;padding:11px;border:1px solid #5d351d;border-radius:10px;background:linear-gradient(145deg,#1c120b,#0d1314)}.hunt-mission-card.ready{border-color:#d87920;box-shadow:0 0 14px rgba(255,121,0,.13)}.hunt-mission-card.done{opacity:.62}.hunt-mission-card header{display:flex;justify-content:space-between;gap:8px;color:#ffbd72;font-size:10px}.hunt-mission-card header span{color:#e4c397;font-size:9px;text-align:right}.hunt-mission-targets{display:grid;gap:7px}.hunt-mission-target{display:grid;grid-template-columns:1fr auto;gap:3px 7px;align-items:center;color:#dfc6ae;font-size:10px}.hunt-mission-target b{color:#ffbd72;font-size:9px}.hunt-mission-target i{grid-column:1/-1;height:4px;overflow:hidden;border-radius:99px;background:#28170d}.hunt-mission-target i em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ff7900,#ffd166)}.hunt-mission-card .btn{width:100%;min-height:30px;font-size:10px}@media(max-width:560px){#modal.hunt-modal{width:calc(100vw - 14px)}.hunt-grid,.hunt-mission-grid{grid-template-columns:1fr}.hunt-tabs{margin-right:0}.hunt-tabs button{flex-basis:calc(50% - 3px)}.hunt-card{min-height:0}.hunt-card .hunt-match{font-size:9px}}
.hunt-filters{display:grid;grid-template-columns:minmax(190px,1.7fr) repeat(4,minmax(108px,1fr)) minmax(120px,1fr) auto;gap:7px;padding:9px;border:1px solid #603719;border-radius:10px;background:linear-gradient(145deg,rgba(42,20,7,.76),rgba(12,15,15,.9))}.hunt-filters[hidden]{display:none!important}.hunt-filters input,.hunt-filters select{width:100%;min-width:0;box-sizing:border-box;height:32px;padding:0 9px;border:1px solid #6d3c1d;border-radius:7px;outline:0;background:#101314;color:#f6d9b9;font:700 10px Inter,system-ui,sans-serif}.hunt-filters input::placeholder{color:#a27a58}.hunt-filters input:focus,.hunt-filters select:focus{border-color:#ff7900;box-shadow:0 0 0 2px rgba(255,102,0,.16)}.hunt-filter-select{min-width:0}.hunt-filter-clear{height:32px;padding:0 10px;border:1px solid #8d4b20;border-radius:7px;background:#24150c;color:#ffc27f;font:800 10px Inter,system-ui,sans-serif;cursor:pointer}.hunt-filter-clear:hover{border-color:#ff7900;background:#3a1b08}.hunt-results{margin:0;color:#d2a878;font:700 10px Inter,system-ui,sans-serif}.hunt-empty{display:grid;place-items:center;min-height:150px;padding:15px;border:1px dashed #70401d;border-radius:10px;color:#d6a16b;font:700 12px Inter,system-ui,sans-serif;text-align:center}@media(max-width:850px){.hunt-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.hunt-search{grid-column:span 2}}@media(max-width:560px){.hunt-filters{grid-template-columns:1fr 1fr}.hunt-search{grid-column:1/-1}.hunt-drop-search{grid-column:span 1}.hunt-filter-clear{grid-column:span 1}}
.hunt-boss-card{display:grid;justify-items:center;gap:9px;max-width:430px;margin:8px auto;padding:16px;border:1px solid #8b4219;border-radius:12px;background:radial-gradient(circle at 50% 0,rgba(123,43,10,.26),transparent 56%),linear-gradient(145deg,#211009,#0d1414);text-align:center;box-shadow:0 0 20px rgba(255,99,0,.12)}.hunt-boss-card header{display:flex;width:100%;justify-content:space-between;gap:12px;padding-bottom:8px;border-bottom:1px solid #5d3018;color:#ffbf78;font:800 11px Inter,system-ui,sans-serif}.hunt-boss-card header span{color:#e79952}.hunt-boss-card strong{color:#ffe2bd;font:800 17px Inter,system-ui,sans-serif}.hunt-boss-card p,.hunt-boss-card small{margin:0;color:#d1af8a;font:700 11px Inter,system-ui,sans-serif}.hunt-boss-card>i{width:100%;height:8px;overflow:hidden;border:1px solid #643018;border-radius:99px;background:#1a0d08}.hunt-boss-card>i em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ff5318,#ffb12b);box-shadow:0 0 10px rgba(255,88,0,.6)}.hunt-boss-sprite{display:grid;place-items:center;min-height:60px}.hunt-boss-sprite canvas{image-rendering:pixelated;filter:drop-shadow(0 4px 8px rgba(255,94,0,.42))}.hunt-boss-card .btn{min-width:200px}
.boss-campaigns{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;margin:10px auto;max-width:720px}.boss-campaign{display:grid;gap:9px;padding:12px;border:1px solid #713817;border-radius:10px;background:linear-gradient(145deg,#1d1009,#0d1313);box-shadow:0 0 14px rgba(255,111,0,.09)}.boss-campaign.queued{border-color:#d68728;background:linear-gradient(145deg,#2d1608,#101414)}.boss-campaign header{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#ffbf78;font:800 11px Inter,system-ui,sans-serif}.boss-campaign header span{color:#ffe0ad;font-size:10px;text-align:right}.boss-campaign>i{height:7px;overflow:hidden;border:1px solid #663118;border-radius:99px;background:#130c08}.boss-campaign>i em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ff6500,#ffd65a);box-shadow:0 0 10px rgba(255,117,0,.48)}.boss-campaign p{margin:0;color:#d2ae87;font:700 10px/1.4 Inter,system-ui,sans-serif}.boss-campaign-donors{padding-top:8px;border-top:1px solid #4e2917;color:#e9b879;font:800 10px Inter,system-ui,sans-serif}.boss-campaign-donors ul{display:grid;gap:4px;margin:6px 0 0;padding:0;list-style:none}.boss-campaign-donors li{display:flex;justify-content:space-between;gap:8px;color:#d5c2aa;font:700 10px Inter,system-ui,sans-serif}.boss-campaign-donors li.empty{color:#8e7966}.boss-campaign .btn{width:100%;min-height:31px;font-size:10px}.boss-funding-modal{position:fixed;z-index:12000;inset:0;display:grid;place-items:center;padding:14px;background:rgba(0,0,0,.68);backdrop-filter:blur(3px)}.boss-funding-modal>section{position:relative;display:grid;gap:10px;width:min(380px,calc(100vw - 28px));padding:18px;border:1px solid #ff7900;border-radius:13px;background:linear-gradient(145deg,#241208,#0c1212);box-shadow:0 18px 55px rgba(0,0,0,.7),0 0 24px rgba(255,112,0,.2);color:#f9dcc0}.boss-funding-modal h3{margin:0;color:#ffc174;font:900 16px Inter,system-ui,sans-serif}.boss-funding-modal p,.boss-funding-modal small{margin:0;color:#cda982;font:700 11px/1.4 Inter,system-ui,sans-serif}.boss-funding-modal label{display:grid;gap:4px;color:#f2bd7a;font:800 10px Inter,system-ui,sans-serif}.boss-funding-modal input{height:34px;box-sizing:border-box;padding:0 9px;border:1px solid #75401f;border-radius:7px;outline:0;background:#0c1111;color:#ffe2bf;font:700 12px Inter,system-ui,sans-serif}.boss-funding-modal input:focus{border-color:#ff7900;box-shadow:0 0 0 2px rgba(255,112,0,.16)}.bfm-close{position:absolute;top:8px;right:9px;width:28px;height:28px;border:1px solid #77401d;border-radius:7px;background:#160f0b;color:#ffc279;font-size:20px;cursor:pointer}.bfm-result{display:grid;justify-items:center;gap:8px;overflow-wrap:anywhere;color:#d8b48e;font:700 10px/1.35 Inter,system-ui,sans-serif;text-align:center}.bfm-result img{width:176px;height:176px;padding:6px;border-radius:9px;background:#fff}.bfm-result code{max-height:54px;overflow:auto;padding:6px;border:1px solid #5b331d;border-radius:6px;background:#0c1010;color:#e3c19c;font-size:8px;word-break:break-all;text-align:left}.bfm-ok{color:#9ce69c;font-size:12px}
.boss-campaign-name{color:#fff0d9;font:900 12px Inter,system-ui,sans-serif}

::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-thumb { background: #273246; border-radius: 4px; }
::-webkit-scrollbar-track { background: transparent; }

/* ============================================================ CELULAR */
/* O aviso de orientação fica dentro do #game: o login segue livre em retrato. */
#rotate-hint {
  display: none; position: fixed; inset: 0; z-index: 999;
  background:
    radial-gradient(circle at 50% 25%, rgba(255,90,24,.17), transparent 34%),
    #090b10;
  color: #e8eef4;
  flex-direction: column; align-items: center; justify-content: center;
  gap: 12px; text-align: center; padding: 24px;
}
#rotate-hint .rh-icon { font-size: 64px; animation: rh-spin 2s ease-in-out infinite; }
#rotate-hint .rh-title { font-size: 22px; font-weight: bold; color: #ff8a1f; }
#rotate-hint .rh-sub { font-size: 14px; color: #8b97a5; }
@keyframes rh-spin {
  0%, 60%, 100% { transform: rotate(0); }
  25%, 40% { transform: rotate(90deg); }
}
@media (orientation: portrait) and (pointer: coarse) {
  #rotate-hint { display: flex; }
}

/* botões flutuantes do celular (abrem auto/captura/chat) */
#mob-fabs { display: none; position: fixed; right: 10px; bottom: 12px; flex-direction: column; gap: 10px; z-index: 55; }
.fab {
  width: 48px; height: 48px; border-radius: 50%;
  background: #131b28; border: 1px solid #2a3d55; color: #e8eef4;
  font-size: 22px; cursor: pointer;
  box-shadow: 0 4px 14px rgba(0,0,0,.5);
}
.fab:active { transform: scale(.92); }
body.show-auto .fab[data-show="auto"],
body.show-cap .fab[data-show="cap"],
body.show-chat .fab[data-show="chat"] { border-color: #c9a34e; color: #ffd964; }

/* layout compacto: telas estreitas OU qualquer tela de toque */
@media (max-width: 980px), (pointer: coarse) {
  #mob-fabs { display: flex; }
  /* painéis grandes começam ESCONDIDOS — abrem pelos botões flutuantes */
  #auto-panel, #capture-panel, #chat { display: none; }
  body.show-auto #auto-panel { display: flex; top: 60px; right: 66px; z-index: 60; }
  body.show-cap #capture-panel { display: block; right: 66px; bottom: 12px; z-index: 60; max-height: 60vh; }
  body.show-chat #chat { display: flex; left: 8px; bottom: 12px; width: min(330px, 55vw); height: min(190px, 45vh); z-index: 60; }
  /* painel do jogador compacto */
  #player-panel { transform: scale(.82); transform-origin: top left; top: 6px; left: 6px; }
  /* menu no topo à DIREITA (não briga com o painel do jogador) */
  #topbar { left: auto; right: 8px; top: 6px; transform: none; }
  .tb { width: 44px; height: 44px; font-size: 20px; }
  .tb.ic img { width: 30px; height: 30px; }
  #zone-label { top: 56px; font-size: 10px; max-width: 60vw; left: 8px; transform: none; }
  #coords { bottom: 4px; font-size: 10px; padding: 2px 8px; }
  #broadcast-banner { top: 64px; font-size: 15px; padding: 10px 16px; max-width: 88vw; }
  /* botões maiores pra dedo */
  .btn { min-height: 36px; }
  .btn.tiny { min-height: 30px; }
  #modal { width: min(760px, 96vw); max-height: 90vh; }
  #modal-body { padding: 10px; }
  .login-box { width: min(92vw, 360px); padding: 20px; }
  #npc-box { width: min(340px, 90vw); bottom: 80px; }
  .eq-slots { flex-wrap: wrap; }
  /* 📱 detalhe da Box (Equipe & Box) no celular: sprite menor, ações em 2 colunas,
     botões com alvo de toque confortável — cabem sem estourar o modal estreito. */
  .eq-card { padding: 12px 10px 12px; }
  .eq-head { gap: 10px; }
  .eq-head > canvas, .eq-head > img { width: 96px !important; height: 96px !important; padding: 5px; }
  .eq-actions { gap: 6px; }
  .eq-actions .btn { min-width: 0; flex: 1 1 46%; min-height: 42px; }
  .eq-card .btn.gold { min-height: 44px; }          /* botões de evolução: fáceis de tocar */
  .eq-stats { font-size: 12px; }
  .bxp-rodape { flex-direction: column; gap: 6px; }
  .bxp-nav .btn { min-width: 40px; min-height: 40px; }
}
/* telas bem estreitas: ações da Box em 1 coluna */
@media (max-width: 420px) {
  .eq-actions .btn { flex: 1 1 100%; }
}

/* ============================================ Rankings · compacto Laranja Neon */
#modal.rank-modal { width: min(660px, calc(100vw - 28px)); max-height: min(630px, 84vh); border-color: #a85018; box-shadow: 0 0 0 1px rgba(255,126,18,.14), 0 16px 38px rgba(0,0,0,.58), 0 0 20px rgba(255,105,0,.08); }
#modal.rank-modal .modal-head { min-height: 40px; padding: 9px 12px; border-bottom-color: #8d4315;
  background: linear-gradient(100deg, #291206 0%, #160d09 48%, #101214 100%); color: #ffbd70; }
#modal.rank-modal #modal-body { padding: 9px 10px 11px; background: radial-gradient(circle at 5% 0%, rgba(255,106,0,.06), transparent 32%), #0b0f10; }
.rank-page { display: grid; gap: 7px; color: #ecd5bd; }
.rank-period-tabs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px; padding: 4px;
  border: 1px solid #432718; border-radius: 9px; background: #0d1111; }
.rank-period-tab { min-height: 29px; border: 1px solid transparent; border-radius: 6px; background: transparent;
  color: #b98557; cursor: pointer; font: 900 10px/1 Inter,system-ui,sans-serif; letter-spacing: .18px; }
.rank-period-tab:hover { color: #ffd5ad; }
.rank-period-tab.sel { border-color: #9b4e18; background: linear-gradient(135deg, #4a2107, #211207); color: #ffe0b7;
  box-shadow: 0 0 9px rgba(255,104,0,.13); }
.rank-tabs { display: flex; gap: 5px; margin: 0; overflow-x: auto; padding: 1px; scrollbar-width: thin; }
.rank-tab { flex: 1 0 auto; min-height: 29px; padding: 5px 8px; border: 1px solid #63361a;
  border-radius: 7px; background: linear-gradient(145deg, #151312, #101314); color: #cea078; cursor: pointer; font: 800 10px/1 Inter,system-ui,sans-serif;
  white-space: nowrap; transition: border-color .15s ease, background .15s ease, color .15s ease; }
.rank-tab:hover { border-color: #ff7a00; color: #ffd7ad; }
.rank-tab.sel { background: linear-gradient(135deg, #4a2107, #211207); border-color: #ff7900; color: #ffe0b7;
  box-shadow: inset 0 0 0 1px rgba(255,150,54,.12), 0 0 10px rgba(255,104,0,.14); }
.rank-category-tabs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 5px; overflow: visible; padding: 1px 0 3px; }
.rank-category-tabs .rank-tab { min-width: 0; width: 100%; padding: 5px 4px; font-size: 9px; white-space: normal; }
.rank-period-caption { margin-top: -3px; color: #9e7351; font: 700 9px Inter,system-ui,sans-serif; text-align: right; }
.rank-period-caption b { color: #ffc27d; }
.rank-search{display:flex;gap:6px;padding:5px;border:1px solid #653719;border-radius:8px;background:linear-gradient(135deg,#17110d,#0d1212)}.rank-search input{min-width:0;flex:1;height:29px;padding:0 9px;border:1px solid #79431f;border-radius:6px;outline:0;background:#0c1111;color:#ffe0bc;font:700 10px Inter,system-ui,sans-serif}.rank-search input:focus{border-color:#ff7900;box-shadow:0 0 0 2px rgba(255,115,0,.15),0 0 9px rgba(255,106,0,.08)}.rank-search button{flex:0 0 auto;padding:0 10px;border:1px solid #b75a1b;border-radius:6px;background:linear-gradient(135deg,#6b3009,#321506);color:#ffe1bd;font:900 9px Inter,system-ui,sans-serif;cursor:pointer}.rank-search-result{display:grid;gap:3px;padding:7px 9px;border:1px solid #914719;border-radius:8px;background:linear-gradient(135deg,#2d1607,#111414);color:#f5d5b3;font:700 10px/1.35 Inter,system-ui,sans-serif}.rank-search-result>b{color:#ffba6b}.rank-search-result span{color:#d5b18a}
.rank-highlights { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin: 0; }
.rh-chip { display: flex; min-width: 0; gap: 7px; align-items: center; padding: 7px 8px; border: 1px solid #442819;
  border-radius: 8px; background: linear-gradient(145deg, #1a110c, #101414); }
.rh-ic { flex: 0 0 auto; font-size: 16px; filter: drop-shadow(0 0 4px rgba(255,126,0,.28)); }
.rh-t { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 8px; color: #b17a49; letter-spacing: .45px; }
.rh-v { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 10px; color: #f7ddc2; font-weight: 800; }
.podium { display: flex; justify-content: center; align-items: flex-end; gap: 6px; margin: 0; padding: 3px 0 1px; }
.pod-slot { display: flex; min-width: 104px; flex: 0 1 136px; flex-direction: column; align-items: center; gap: 2px;
  border: 1px solid #6e3a19; border-radius: 8px; padding: 6px 7px; background: linear-gradient(150deg, #21140c, #0e1414); }
.pod-slot canvas, .rank-page .rank-row canvas { image-rendering: pixelated; }
.pod-1 { border-color: #ff8a18; box-shadow: 0 0 11px rgba(255,111,0,.18), inset 0 0 12px rgba(255,117,0,.04); padding-bottom: 9px; }
.pod-2, .pod-3 { margin-bottom: 4px; }
.pod-medal { font-size: 17px; line-height: 1; }
.pod-nm { width: 100%; overflow: hidden; text-align: center; font-size: 10px; }
.pod-nm b { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #ffe2c0; }
.pod-nm .dim, .pod-nm .rk-clan { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 9px; }
.pod-nm i { font-size: 9px; font-style: normal; }
.pod-guild-emblem { width: 42px; height: 42px; flex-basis: 42px; font-size: 21px; }
.rank-page .rank-row { display: flex; min-height: 40px; align-items: center; gap: 8px; padding: 5px 8px;
  border: 1px solid #45281a; border-radius: 8px; background: linear-gradient(120deg, #151210, #101414); }
.rank-page .rank-row:hover { border-color: #9a4c19; background: #1b140f; }
.rank-page .rank-row .pos { flex: 0 0 27px; width: 27px; color: #ffac55; font: 800 10px Inter,system-ui,sans-serif; }
.rank-page .rank-row .nm { min-width: 0; flex: 1; color: #f2dcc5; font-size: 11px; }
.rank-page .rank-row .nm b { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rank-page .rank-row .nm small { display: block; min-height: 11px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #9b8068; font: 700 9px/1.2 Inter,system-ui,sans-serif; }
.rank-podium-value { display: block; color: #ffbd72; font: 900 9px Inter,system-ui,sans-serif; }
.rank-online { color: #6fd47f; font-size: 9px; }
.rank-search-result.hidden { display: none; }
.rank-page .rank-row .tag { flex: 0 0 auto; border: 1px solid #623819; border-radius: 6px; padding: 4px 6px;
  background: #211309; color: #ffc27d; font: 800 9px Inter,system-ui,sans-serif; white-space: nowrap; }
.rank-page .rk-clan { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rank-page .rank-guild-row { min-height: 44px; }
.guild-rank-emblem { display: grid; flex: 0 0 29px; width: 29px; height: 29px; place-items: center; border: 1px solid var(--guild-color);
  border-radius: 8px; background: #15120f; color: var(--guild-color); font-size: 14px; box-shadow: 0 0 8px color-mix(in srgb, var(--guild-color) 24%, transparent); }
.rank-page .rank-guild-row .nm i { font-size: 9px; font-style: normal; }
.rank-page .rank-guild-row .nm small { display: block; margin-top: 2px; color: #9b8068; font-size: 9px; }
.rank-empty { display: grid; min-height: 100px; place-items: center; border: 1px dashed #633719; border-radius: 8px; color: #c79462; font: 700 11px Inter,system-ui,sans-serif; }
@media (max-width: 560px) {
  #modal.rank-modal { width: calc(100vw - 14px); max-height: 88vh; }
  .rank-category-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rank-category-tabs .rank-tab { min-height: 30px; font-size: 9px; }
  .rank-highlights { grid-template-columns: 1fr; }
  .pod-slot { min-width: 0; padding: 6px 4px; }
  .pod-slot canvas { transform: scale(.86); margin: -4px; }
}

/* ============================================ Daily Gift */
.daily-head { display: flex; align-items: center; gap: 10px; background: linear-gradient(135deg,#2a2004,#161002);
  border: 1px solid #6b5a1f; border-radius: 10px; padding: 10px 14px; margin-bottom: 12px; }
.daily-head .dc-gem { font-size: 30px; }
.daily-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; }
.daily-cell { background: #101823; border: 1px solid #1e2c3e; border-radius: 8px;
  padding: 7px 3px; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 2px; }
.daily-cell .dn { font-size: 10px; color: #8b97a5; }
.daily-cell .di { font-size: 18px; }
.daily-cell .dl { font-size: 9px; color: #aeb9c6; line-height: 1.1; }
.daily-cell.claimed { opacity: .5; }
.daily-cell.today { border-color: #ffd964; box-shadow: 0 0 10px rgba(255,217,100,.4); background: #1c1708; }
.daily-cell.vip { border-color: #7a5cff; }
.daily-cell .vip-tag { font-size: 8px; color: #b49bff; background: #241a44; padding: 0 3px; border-radius: 3px; }

/* ============================================ Amigos */
.friend-row { display: flex; align-items: center; gap: 10px; background: #0d141d;
  border: 1px solid #1e2c3e; border-radius: 8px; padding: 6px 10px; margin-bottom: 6px; }
.friend-row canvas { image-rendering: pixelated; }
.friend-row .fr-nm { flex: 1; }
.fr-status { font-size: 11px; }
.fr-status.on { color: #6fd47f; }
.fr-status.off { color: #6a7787; }

/* ============================================ Amigos · Laranja Neon */
#modal.friends-modal{width:min(520px,calc(100vw - 28px));max-height:min(620px,82vh)}#modal.friends-modal .modal-head{padding:10px 13px;border-bottom-color:#713817;background:linear-gradient(100deg,#201006,#101313 76%);color:#ffbc70}#modal.friends-modal #modal-body{padding:11px 12px 13px;background:#0b0f10}.friends-page{display:grid;gap:9px;color:#efd8bf}.friends-hero{display:flex;align-items:center;gap:10px;padding:11px;border:1px solid #87441a;border-radius:10px;background:radial-gradient(circle at 0 50%,rgba(255,112,0,.18),transparent 45%),linear-gradient(135deg,#271306,#111414);box-shadow:0 0 17px rgba(255,101,0,.11)}.friends-hero-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border:1px solid #c15f17;border-radius:10px;background:#1b0e07;color:#ffbe71;font-size:20px}.friends-hero div{display:grid;min-width:0;gap:2px;flex:1}.friends-hero small{color:#ff9c4a;font:800 8px Inter,system-ui,sans-serif;letter-spacing:.75px}.friends-hero strong{color:#ffe1bd;font:900 14px Inter,system-ui,sans-serif}.friends-hero p{margin:0;color:#bc9674;font:700 9px/1.35 Inter,system-ui,sans-serif}.friends-hero>b{padding:5px 6px;border:1px solid #713817;border-radius:6px;background:#211107;color:#ffc37a;font:900 8px Inter,system-ui,sans-serif;white-space:nowrap}.friends-add{display:flex;gap:6px;padding:7px;border:1px solid #4f2b18;border-radius:9px;background:#101313}.friends-add input{min-width:0;flex:1;height:31px;box-sizing:border-box;padding:0 9px;border:1px solid #6a391d;border-radius:6px;outline:0;background:#0b1010;color:#ffe2bd;font:700 10px Inter,system-ui,sans-serif}.friends-add input:focus{border-color:#ff7900;box-shadow:0 0 0 2px rgba(255,112,0,.15)}.friends-add .btn{min-height:31px;padding:0 11px;font-size:10px}.friends-list-head{display:flex;align-items:center;justify-content:space-between;padding:2px 2px 0;color:#ffb869;font:800 11px Inter,system-ui,sans-serif}.friends-list-head span{color:#b38c6b;font-size:9px}.friend-row.friend-card{min-height:43px;margin:0;padding:6px 8px;border-color:#4f2c19;border-radius:9px;background:linear-gradient(145deg,#17120e,#101414);box-shadow:none}.friend-row.friend-card.online{border-color:#82411b;box-shadow:inset 0 0 12px rgba(255,103,0,.06)}.fr-avatar{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border:1px solid #6a391d;border-radius:8px;background:#100e0c}.friend-card .fr-nm b{display:block;color:#f6dcc2;font-size:11px}.friend-card .fr-nm span{display:block;margin-top:2px;color:#aa8769;font-size:9px}.friend-card .fr-status{min-width:43px;padding:4px 5px;border:1px solid #56331f;border-radius:6px;background:#121312;text-align:center;font:800 8px Inter,system-ui,sans-serif}.friend-card .fr-status.on{border-color:#a95519;background:#281407;color:#ffb96e}.friend-card .fr-status.off{color:#857262}.friend-card .btn.tiny{min-height:27px;padding:0 7px;border-radius:6px;font-size:9px}.friend-card .friend-remove{border-color:#59321e;color:#bd8d6c}.friends-empty{display:grid;justify-items:center;gap:4px;min-height:100px;padding:14px;border:1px dashed #6a3b1e;border-radius:9px;color:#d1a277;text-align:center}.friends-empty b{color:#ffc47b;font-size:12px}.friends-empty span{font-size:10px}@media(max-width:480px){#modal.friends-modal{width:calc(100vw - 14px)}.friends-hero>b{display:none}.friend-card .fr-status{display:none}.friend-card .btn.tiny{padding:0 6px}.friends-add .btn{padding:0 8px}}

/* Ações rápidas nos cards de Amigos */
.friend-actions{display:flex;gap:4px;align-items:center}.friend-card .friend-message{border-color:#754019;background:rgba(255,114,7,.08);color:#ffc27b}.friend-card .friend-message:hover{border-color:#ff7900;background:rgba(255,112,6,.16);color:#fff0dc}

/* Amigos e Afiliados — uma única janela, abas compactas e laranja neon. */
#modal.friends-modal{width:min(700px,calc(100vw - 28px));max-height:min(680px,84vh)}.friends-hub{gap:10px}.friends-tabs{display:flex;gap:6px;padding:5px;border:1px solid #5b3019;border-radius:9px;background:#0c1111}.friends-tab{flex:1;min-height:31px;border:1px solid #57301b;border-radius:6px;background:#111313;color:#bd916d;cursor:pointer;font:800 10px Inter,system-ui,sans-serif}.friends-tab:hover{border-color:#d46216;color:#ffd6ad}.friends-tab.active{border-color:#ff7900;background:linear-gradient(135deg,#482006,#20130c);box-shadow:inset 0 0 12px rgba(255,112,0,.13),0 0 10px rgba(255,112,0,.09);color:#ffe1bd}.friends-social-content{min-width:0}.friends-affiliate .aff-inline{border:1px solid #5e3119;border-radius:10px;overflow:hidden;background:linear-gradient(145deg,#17100b,#0d1111)}.friends-affiliate .aff-body{display:block}.friends-affiliate .aff-menu{width:auto;min-height:0;padding:7px;border:0;border-bottom:1px solid #542d19;display:flex;flex-direction:row;gap:5px;overflow-x:auto;background:#0d1111}.friends-affiliate .aff-mi{flex:0 0 auto;padding:7px 9px;border-color:#5a311b;color:#c99b72;font-size:10px;white-space:nowrap}.friends-affiliate .aff-mi:hover{background:rgba(255,112,0,.10);border-color:#b95518}.friends-affiliate .aff-mi.on{background:linear-gradient(120deg,rgba(255,112,0,.22),rgba(255,112,0,.06));border-color:#ff7900;color:#ffca92}.friends-affiliate .aff-content{max-height:410px;padding:12px;overflow:auto}.friends-affiliate .aff-h{color:#ffb568}.friends-affiliate .aff-hint,.friends-affiliate .aff-off,.friends-affiliate .aff-empty{color:#b68c6d}.friends-affiliate .aff-card,.friends-affiliate .aff-ref{border-color:#57301b;background:rgba(12,15,15,.72)}.friends-affiliate .aff-card .v.g,.friends-affiliate .aff-pill{color:#ffc275}.friends-affiliate .aff-pill{background:rgba(255,112,0,.13)}.friends-affiliate .aff-btn{background:linear-gradient(120deg,#ff8a15,#ffb04a);color:#241004}.friends-affiliate .aff-btn.ghost{border-color:#ba5819;background:transparent;color:#ffc27c}.friends-affiliate .aff-link-inp{border-color:#60341d;background:#0a1010;color:#ffd9b3}.friends-affiliate .aff-tbl th{color:#b88d6d;border-bottom-color:#59301b}.friends-affiliate .aff-tbl td{border-bottom-color:#2c1c14;color:#ead4c0}.friends-affiliate .aff-tbl tr.me td{background:rgba(255,112,0,.12)}@media(max-width:520px){#modal.friends-modal{width:calc(100vw - 14px)}.friends-affiliate .aff-content{max-height:380px;padding:9px}.friends-affiliate .aff-cards{grid-template-columns:repeat(2,1fr)}.friends-affiliate .aff-refs{grid-template-columns:1fr}}

/* ============================================ Pokédex detalhe */
.dexmon-head { display: flex; gap: 16px; align-items: center; margin-bottom: 14px; }
.dexmon-spr { position: relative; background: #0d141d; border: 2px solid #37475c;
  border-radius: 12px; padding: 6px; }
.dexmon-spr.caught { border-color: #c9a34e; }
.dexmon-spr canvas { image-rendering: pixelated; }
.dexmon-spr .dm-chk { position: absolute; top: -8px; right: -8px; background: #2f9d43;
  color: #fff; border-radius: 50%; width: 24px; height: 24px; display: flex;
  align-items: center; justify-content: center; font-weight: bold; border: 2px solid #0d141d; }
.dm-no { color: #7c8a99; font-size: 13px; font-weight: bold; }
.dm-name { font-size: 24px; font-weight: bold; color: #fff; letter-spacing: .5px; }
.dm-type { display: inline-block; color: #fff; font-size: 10px; font-weight: bold;
  padding: 2px 10px; border-radius: 10px; letter-spacing: .5px; }
.dm-prog { background: #0e1622; border: 1px solid #1e2c3e; border-radius: 8px;
  padding: 10px 12px; margin-bottom: 14px; }
.dexmon-stats { display: grid; grid-template-columns: 40px 1fr 40px; gap: 6px 10px; align-items: center; }

/* ícones reais de moeda no painel do jogador */
.cash-ic { image-rendering: pixelated; vertical-align: middle; }
.daily-cell .di canvas, .daily-cell .di img { image-rendering: pixelated; }

/* ============================================ Perfil */
.prof-hero { display: flex; gap: 14px; align-items: center;
  background: linear-gradient(135deg, #16233a, #0e1826); border: 1px solid #2c4a6e;
  border-radius: 12px; padding: 14px; margin-bottom: 12px; }
.prof-av { background: #0d141d; border: 2px solid #c9a34e; border-radius: 12px; padding: 4px; }
.prof-av canvas { image-rendering: pixelated; }
.prof-name { font-size: 20px; font-weight: bold; color: #fff; letter-spacing: .3px; }
.prof-lv { color: #aeb9c6; font-size: 13px; margin-top: 2px; }
.prof-badge { font-size: 10px; font-weight: bold; padding: 1px 7px; border-radius: 8px; vertical-align: middle; }
.prof-badge.adm { background: #4a2c08; color: #ff9a3c; border: 1px solid #ff9a3c; }
.prof-badge.tutor { background: #0e2a3a; color: #7fd0ff; border: 1px solid #7fd0ff; }
.prof-badge.vip { background: #4b3506; color: #ffe17a; border: 1px solid #e9b936; }
.prof-badge.streamer { background: #2d123d; color: #ef9dff; border: 1px solid #c965e5; }
.prof-tiles { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-bottom: 12px; }
.prof-tile { background: #0e1622; border: 1px solid #1e2c3e; border-radius: 10px;
  padding: 10px 4px; text-align: center; }
.prof-tile .pt-ic { height: 24px; display: flex; align-items: center; justify-content: center; }
.prof-tile .pt-ic canvas { image-rendering: pixelated; }
.prof-tile .pt-v { font-weight: bold; color: #ffd964; font-size: 15px; margin-top: 3px; }
.prof-tile .pt-l { font-size: 10px; color: #7c8a99; }
.prof-dex { background: #0e1622; border: 1px solid #1e2c3e; border-radius: 10px; padding: 12px; margin-bottom: 6px; }
.prof-best { display: flex; align-items: center; gap: 12px; background: #101823;
  border: 1px solid #2c4a6e; border-radius: 10px; padding: 10px; }
.prof-best canvas { image-rendering: pixelated; }
.prof-team { display: flex; gap: 6px; }
.prof-slot { flex: 1; background: #0d141d; border: 1px solid #273246; border-radius: 8px;
  padding: 6px 2px; text-align: center; position: relative; min-height: 54px;
  display: flex; flex-direction: column; align-items: center; justify-content: center; }
.prof-slot.empty { opacity: .3; }
.prof-slot canvas { image-rendering: pixelated; }
.prof-slot .ps-lv { font-size: 9px; color: #8b97a5; }

/* Perfil compacto: painel único, leitura rápida e paleta Laranja Neon. */
#modal.profile-modal { width: min(610px, 94vw) !important; max-height: min(690px, calc(100dvh - 16px)) !important; border-color: #723713; background: #090d10; }
#modal.profile-modal .modal-head { padding: 10px 13px; color: #ffc27b; border-bottom-color: rgba(255,117,16,.42); background: linear-gradient(105deg,#1d1109,#0c1014); }
#modal.profile-modal #modal-body { overflow: hidden; padding: 8px 10px 10px; background: #090d10; }
.profile-neon { display: grid; gap: 6px; color: #e9edf0; }
.profile-neon-hero { display: grid; grid-template-columns: 78px minmax(0,1fr); gap: 10px; align-items: center; padding: 9px; border: 1px solid rgba(255,121,0,.46); border-radius: 11px; background: linear-gradient(135deg,rgba(35,19,10,.96),rgba(10,16,19,.97)); box-shadow: inset 0 1px rgba(255,207,157,.12),0 0 14px rgba(255,103,0,.08); }
.profile-neon-avatar { display: grid; place-items: center; width: 68px; height: 68px; padding: 0; overflow: hidden; line-height: 0; border: 1px solid #ff7900; border-radius: 10px; background: radial-gradient(circle,rgba(255,123,0,.16),#0b1115 70%); cursor: pointer; box-shadow: 0 0 12px rgba(255,112,0,.18); }
.profile-neon-avatar:hover { box-shadow: 0 0 16px rgba(255,112,0,.5); }
.profile-neon-avatar canvas,.profile-neon-badge canvas,.profile-neon-slot canvas,.profile-neon-stat canvas { image-rendering: pixelated; }
.profile-neon-avatar canvas { display: block; width: 60px !important; height: 60px !important; margin: 0 !important; transform: none !important; }
.profile-neon-identity { min-width: 0; display: grid; justify-items: center; gap: 4px; text-align: center; }
.profile-neon-name { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 4px; color: #fff0de; font-size: 18px; font-weight: 900; min-width: 0; }
.profile-player-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.profile-role-tags,.profile-affiliations { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 3px; min-width: 0; }
.profile-affiliations { gap: 4px; }
.profile-affiliation { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; padding: 2px 5px; border: 1px solid rgba(255,142,37,.36); border-radius: 6px; background: rgba(255,106,0,.08); color: #ffd3a0; font-size: 8px; font-weight: 800; line-height: 1.25; }
.profile-affiliation.clan { color: var(--aff-color,#ffb866); border-color: color-mix(in srgb,var(--aff-color,#ffb866) 58%,transparent); background: color-mix(in srgb,var(--aff-color,#ffb866) 10%,transparent); }
.profile-affiliation.guild { color: #ffe08a; border-color: rgba(255,202,79,.42); background: rgba(171,117,10,.12); }
.profile-neon-level { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; align-items: center; color: #b9c0c6; font-size: 11px; }
.profile-neon-level b { color: #ffb35d; }.profile-neon-level span { color: #ffd56e; }
.profile-neon-xp { display: grid; width: min(100%,420px); grid-template-columns: minmax(80px,1fr) auto; gap: 6px; align-items: center; }.profile-neon-xp .bar { height: 7px; margin: 0; }.profile-neon-xp .bar>div { background: linear-gradient(90deg,#ff6200,#ffd35d) !important; }.profile-neon-xp span { color: #929ea7; font-size: 9px; white-space: nowrap; }
.profile-neon-account { grid-column: 1 / -1; display: grid; grid-template-columns: auto auto 1fr; gap: 6px; align-items: center; min-width: 0; padding-top: 5px; border-top: 1px solid rgba(255,134,32,.2); }.profile-neon-account>span { color: #ffbf75; font-size: 10px; font-weight: 800; white-space: nowrap; }.profile-neon-account>small { color: #81909c; font-size: 9px; min-width: 0; }.profile-vip-status { grid-column: 1 / -1; display: block; width: fit-content; padding: 3px 7px; border: 1px solid; border-radius: 6px; font-size: 9px; line-height: 1.1; }.profile-vip-status.active { color: #ffe18a; border-color: #ad7d1d; background: rgba(112,75,7,.3); }.profile-vip-status.inactive { color: #9da6ad; border-color: #34404a; background: rgba(30,38,44,.35); }.profile-neon-account .btn { width: max-content; min-height: 25px; padding: 2px 9px; border-color: rgba(255,121,0,.5); color: #ffd0a0; background: rgba(255,104,0,.08); font-size: 10px; white-space: nowrap; justify-self: start; }.profile-neon-account .profile-google-link { grid-column: 1 / -1; }.profile-neon-stats { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 5px; }.profile-neon-stat { display: grid; grid-template-columns: 19px 1fr; grid-template-rows: 14px 11px; column-gap: 4px; align-items: center; padding: 5px; border: 1px solid rgba(255,135,32,.25); border-radius: 8px; background: #0d1519; }.profile-neon-stat-icon { grid-row: 1 / 3; display: grid; place-items: center; }.profile-neon-stat b { color: #ffba67; font-size: 11px; line-height: 1; }.profile-neon-stat small { color: #82909b; font-size: 8px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.profile-neon-content { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 8px; }.profile-neon-panel { min-width: 0; padding: 8px; border: 1px solid rgba(255,135,32,.28); border-radius: 9px; background: linear-gradient(145deg,#0e1519,#0a0f12); }.profile-neon-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding-bottom: 5px; border-bottom: 1px solid rgba(255,125,25,.18); }.profile-neon-heading b { color: #ffb65f; font-size: 12px; }.profile-neon-heading span { color: #929da5; font-size: 9px; white-space: nowrap; }.profile-neon-panel>small { display: block; margin-top: 5px; color: #89949c; font-size: 9px; }
.profile-neon-dexbar { height: 7px; margin-top: 9px; overflow: hidden; border-radius: 5px; background: #151c20; }.profile-neon-dexbar i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#ff5d21,#ff9d32,#ffd76a); box-shadow: 0 0 8px rgba(255,125,20,.42); }
.profile-neon-badge-grid { display: grid; grid-template-columns: repeat(8,1fr); gap: 4px; margin-top: 6px; }.profile-neon-badge { display: grid; justify-items: center; gap: 1px; min-width: 0; padding: 3px 1px; border: 1px solid #303235; border-radius: 7px; background: #101619; }.profile-neon-badge.locked { opacity: .42; filter: grayscale(1); }.profile-neon-badge.unlocked { border-color: #ff8a1c; box-shadow: 0 0 8px rgba(255,125,12,.34); }.profile-neon-badge span { max-width: 100%; overflow: hidden; color: #e1b783; font-size: 7px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }.profile-neon-badge small { display:none; }
.profile-neon-featured { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }.profile-neon-featured.solo { grid-template-columns: 1fr; }.profile-neon-feature { display: grid; grid-template-columns: 52px minmax(0,1fr); align-items: center; gap: 7px; padding: 6px; text-align: left; border: 1px solid rgba(255,127,24,.32); border-radius: 9px; background: linear-gradient(135deg,#101719,#0a0f11); color: inherit; cursor: pointer; }.profile-neon-feature.strongest { border-color: rgba(255,137,20,.65); box-shadow: inset 0 0 0 1px rgba(255,161,45,.10),0 0 11px rgba(255,107,0,.09); }.profile-neon-feature:hover { border-color: #ff8317; background: #151514; }.profile-neon-feature canvas { image-rendering: pixelated; }.profile-neon-feature div { display: grid; min-width: 0; gap: 2px; }.profile-neon-feature small { color: #ffb76b; font-size: 9px; font-weight: 800; }.profile-neon-feature b { overflow: hidden; color: #ffe4c4; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }.profile-neon-feature span { color: #87939d; font-size: 9px; }
.profile-neon-team { padding-bottom: 5px; }.profile-neon-team-grid { display: grid; grid-template-columns: repeat(6,1fr); gap: 5px; margin-top: 5px; }.profile-neon-slot { display: grid; justify-items: center; min-width: 0; min-height: 43px; padding: 2px 1px; border: 1px solid rgba(255,129,23,.28); border-radius: 7px; background: #0b1114; }.profile-neon-slot.empty { opacity: .28; }.profile-neon-slot span { max-width: 100%; overflow: hidden; color: #dfc4a6; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }.profile-neon-slot small { color: #82909a; font-size: 8px; }
/* Conta protegida: cabeçalho, ações e vínculo ocupam toda a largura útil. */
.profile-neon-account { grid-template-columns:1fr !important; gap:6px !important; }
.profile-account-head { display:flex; align-items:center; justify-content:space-between; gap:7px; min-width:0; }
.profile-account-head>span { color:#ffbf75; font-size:10px; font-weight:800; white-space:nowrap; }
.profile-account-head>small { color:#81909c; font-size:9px; margin-right:auto; white-space:nowrap; }
.profile-account-head .profile-vip-status { display:block; width:auto; padding:3px 7px; white-space:nowrap; }
.profile-account-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
.profile-neon-account .profile-account-actions .btn { width:100%; min-height:29px; justify-self:stretch; }
.profile-neon-account .profile-google-link { grid-column:auto; margin-top:0 !important; width:100%; box-sizing:border-box; }
/* Dados privados do Perfil: ficam expostos apenas nesta sessão e cada linha
   pode ser ocultada localmente pelo ícone de olho. */
.profile-account-secrets { display:grid; gap:5px; }
.profile-secret-row,.profile-google-link { min-width:0; display:grid !important; grid-template-columns:132px minmax(0,1fr) 27px; align-items:center; gap:7px; padding:6px 8px; border:1px solid rgba(255,121,0,.31); border-radius:8px; background:#0c1317; }
.profile-secret-row small { color:#d39a61; font-size:9px; font-weight:800; white-space:nowrap; }
.profile-secret-row b,.profile-google-link .profile-google-value { min-width:0; overflow:hidden; color:#ffe0b6; font-size:10px; font-weight:800; text-overflow:ellipsis; white-space:nowrap; }
.profile-google-link b { color:#ffd964 !important; font-size:9px !important; white-space:nowrap; }.profile-google-link #gg-link-btn { grid-column:2 / -1; }.profile-google-link #gg-link-msg:not(.profile-google-value) { grid-column:2 / -1; min-width:0 !important; font-size:9px !important; }
.profile-secret-toggle { display:grid; width:27px; height:23px; place-items:center; padding:0; border:1px solid rgba(255,142,32,.42); border-radius:6px; background:rgba(255,107,0,.09); color:#ffcf94; cursor:pointer; font-size:15px; line-height:1; }.profile-secret-toggle:hover { border-color:#ffae50; background:rgba(255,124,0,.2); color:#fff2df; }
@media (max-width:580px) { .profile-secret-row,.profile-google-link { grid-template-columns:104px minmax(0,1fr) 27px; gap:5px; }.profile-secret-row small,.profile-google-link b { font-size:8px !important; } }
/* O Pokémon mais forte usa o espaço inteiro com seus dados reais. */
.profile-neon-feature.strongest { grid-template-columns:58px minmax(130px,.72fr) minmax(240px,1.28fr); min-height:82px; }
.profile-strongest-data { display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px !important; align-self:stretch; padding-left:8px; border-left:1px solid rgba(255,135,32,.22); }
.profile-strongest-data>span { display:grid; align-content:center; gap:2px; min-width:0; padding:3px 5px; border:1px solid rgba(255,135,32,.2); border-radius:6px; background:rgba(255,104,0,.055); }
.profile-strongest-data small { color:#a88461 !important; font-size:8px !important; }.profile-strongest-data b { color:#ffd09a !important; font-size:10px !important; }
.profile-strongest-matchup { grid-column:2 / -1; display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px !important; padding-top:4px; border-top:1px solid rgba(255,135,32,.16); }
.profile-strongest-matchup>span { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:4px; min-width:0; padding:3px 5px; border-radius:6px; background:rgba(255,255,255,.025); }
.profile-strongest-matchup .advantage { border:1px solid rgba(85,220,133,.26); }.profile-strongest-matchup .weakness { border:1px solid rgba(255,110,92,.26); }
.profile-strongest-matchup small { font-size:8px !important; white-space:nowrap; }.profile-strongest-matchup .advantage small { color:#79dc9a !important; }.profile-strongest-matchup .weakness small { color:#ff9e8e !important; }
.profile-strongest-matchup b { min-width:0; color:#e4c7a6 !important; font-size:9px !important; text-align:right; }
@media (max-width:580px) { .profile-account-head { flex-wrap:wrap; }.profile-account-head>small { margin-right:0; }.profile-neon-feature.strongest { grid-template-columns:52px minmax(0,1fr); }.profile-strongest-data { grid-column:1 / -1; grid-template-columns:repeat(2,minmax(0,1fr)); padding:5px 0 0; border-top:1px solid rgba(255,135,32,.22); border-left:0; }.profile-strongest-matchup { grid-column:1 / -1; } }
@media (max-width: 580px) { #modal.profile-modal #modal-body { overflow-y:auto; }.profile-neon-hero { grid-template-columns: 62px minmax(0,1fr); }.profile-neon-avatar { width: 56px; height: 56px; }.profile-neon-avatar canvas { width: 50px !important; height: 50px !important; }.profile-neon-account { grid-template-columns: 1fr 1fr; }.profile-neon-account>span,.profile-neon-account>small { display: none; }.profile-neon-stats { grid-template-columns: repeat(2,1fr); }.profile-neon-content { grid-template-columns: 1fr; }.profile-neon-featured { grid-template-columns: 1fr; }.profile-neon-badge-grid { grid-template-columns: repeat(8,1fr); }.profile-neon-badge span,.profile-neon-badge small { display: none; } }

/* ── Perfil do treinador: versão compacta Neon Orange ─────────────────── */
#modal.profile-modal { width: min(650px, 92vw); max-height: min(760px, 88vh); }
#modal.profile-modal .modal-head { padding: 10px 13px; border-bottom-color: #67320d;
  background: linear-gradient(100deg, #160d08, #0d1116 72%); color: #ffb15a; }
#modal.profile-modal #modal-body { padding: 10px 12px 12px; background: #090e10; }
.prof-page { display: grid; gap: 8px; }
.prof-page .prof-hero { gap: 10px; padding: 10px; margin: 0; border-color: #66330f;
  background: linear-gradient(135deg, #18120e, #0c151b 72%); border-radius: 10px;
  box-shadow: inset 0 1px 0 rgba(255,129,25,.12); }
.prof-page .prof-av { border-color: #ff7900; border-radius: 10px; padding: 3px;
  box-shadow: 0 0 12px rgba(255,105,0,.18); }
.prof-page .prof-name { font-size: 18px; color: #fff2e1; }
.prof-page .prof-lv { font-size: 12px; }
.prof-page .prof-hero .bar { margin-top: 6px !important; }
.prof-page .prof-rec { margin-top: 7px; padding: 6px 8px; border: 1px solid #3d2b20;
  border-radius: 7px; background: rgba(4,8,11,.48); font-size: 11px; line-height: 1.75; }
.prof-page .prof-secret-toggle { min-width: 27px; min-height: 24px; padding: 1px 5px; }
.prof-account { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 8px 10px;
  border: 1px solid #573018; border-radius: 9px; background: linear-gradient(100deg, #14100d, #10171c); }
.prof-account-copy { flex: 1; min-width: 160px; display: grid; gap: 1px; }
.prof-account-copy b { color: #ffb15a; font-size: 12px; }
.prof-account-copy span { color: #81909e; font-size: 10px; }
.prof-account-actions, .prof-form-actions { display: flex; gap: 6px; flex-wrap: wrap; }
.prof-account .btn { min-height: 29px; padding: 4px 8px; font-size: 11px; }
.prof-account-form { width: 100%; display: grid; gap: 6px; padding-top: 8px;
  border-top: 1px solid #3d2b20; }
.prof-account-form > b { color: #ffb15a; font-size: 12px; }
.prof-account-form .dim { font-size: 10px; }
.prof-account-form input { width: 100%; min-height: 32px; box-sizing: border-box;
  padding: 7px 9px; border: 1px solid #6c390f; border-radius: 7px; outline: 0;
  background: #090e12; color: #f7fbff; font: inherit; font-size: 12px; }
.prof-account-form input:focus { border-color: #ff7900; box-shadow: 0 0 0 2px rgba(255,105,0,.14); }
.prof-form-error { min-height: 14px; color: #ff9d9d; font-size: 11px; }
.prof-page .prof-tiles { gap: 6px; margin: 0; }
.prof-page .prof-tile { padding: 7px 3px; border-color: #403027; border-radius: 8px; background: #0d151a; }
.prof-page .prof-tile .pt-ic { height: 20px; transform: scale(.9); }
.prof-page .prof-tile .pt-v { margin-top: 1px; color: #ffad4d; font-size: 14px; }
.prof-page .prof-tile .pt-l { font-size: 9px; }
.prof-page .prof-dex { margin: 0; padding: 9px 10px; border-color: #403027; border-radius: 8px; background: #0d151a; }
.prof-page .shop-h { margin: 2px 0 0; padding-bottom: 5px; color: #ffb15a; font-size: 13px; border-bottom-color: #51311b; }
.prof-page .prof-best { gap: 9px; padding: 8px; border-color: #5a351e; border-radius: 8px; background: #0d151a; }
.prof-page .prof-team { gap: 4px; }
.prof-page .prof-slot { min-height: 48px; padding: 4px 1px; border-color: #3d2d23; border-radius: 7px; background: #0c1318; }
.prof-page .prof-slot canvas { transform: scale(.9); margin: -2px; }

@media (max-width: 560px) {
  #modal.profile-modal { width: calc(100vw - 14px); }
  .prof-page .prof-tiles { grid-template-columns: repeat(2, 1fr); }
  .prof-account-actions { width: 100%; }
  .prof-account-actions .btn { flex: 1; }
  .prof-page .prof-team { display: grid; grid-template-columns: repeat(3, 1fr); }
}

/* ============================================ Troca (Trade) */
.trade-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.trade-side { background: #0e1622; border: 1px solid #1e2c3e; border-radius: 10px; padding: 10px; }
.trade-side.confirmed { border-color: #3f7d46; box-shadow: 0 0 10px rgba(63,125,70,.3); }
.ts-head { font-weight: bold; color: #ffd964; margin-bottom: 8px; font-size: 13px; }
.ts-ok { color: #6fd47f; font-size: 11px; }
.ts-gold { margin-top: 8px; color: #ffd964; font-size: 13px; }
.trade-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(48px, 1fr)); gap: 5px; min-height: 50px; }
.trade-cell { background: #0d141d; border: 1px solid #273246; border-radius: 7px; padding: 3px; text-align: center; position: relative; cursor: pointer; }
.trade-cell.shiny { border-color: #b98f1f; }
/* 🛡️ moldura por raridade — bate o olho e vê o que tá sendo trocado */
.trade-cell.r-rara { border-color: #7a3f7a; }
.trade-cell.r-epica { border-color: #b06a2a; }
.trade-cell.r-lendaria { border-color: #c9a52c; box-shadow: 0 0 8px rgba(201,165,44,.35); }
.trade-cell.legend { border-color: #d94fd9; box-shadow: 0 0 9px rgba(217,79,217,.4); }
.trade-cell canvas { image-rendering: pixelated; }
.trade-cell .tc-lv { display: block; font-size: 9px; color: #8b97a5; }
.tc-badges { position: absolute; top: 1px; left: 1px; right: 1px; display: flex; gap: 2px; flex-wrap: wrap; }
.tc-badge { font-size: 9px; line-height: 1; padding: 1px 3px; border-radius: 4px; font-weight: bold; }
.tc-badge.lg { background: #4d1a4d; color: #f2a6f2; }
.tc-badge.sh { background: #4d3d10; color: #ffe066; }
.tc-badge.bs { background: #4a2a12; color: #ff9e5c; }
.trade-warn { margin-top: 8px; font-size: 11px; color: #ffcf8a; background: #2a2010; border: 1px solid #5a4520; border-radius: 7px; padding: 7px 9px; line-height: 1.35; }
.badge.boost { background: #4a2a12; color: #ff9e5c; }

/* ============================================ Painel Admin */
.admin-sum { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-bottom: 10px; }
.as-tile { background: #0e1622; border: 1px solid #1e2c3e; border-radius: 8px; padding: 8px; text-align: center; }
.as-tile b { display: block; color: #ffd964; font-size: 16px; }
.as-tile span { font-size: 10px; color: #7c8a99; }
.admin-row { display: flex; align-items: center; gap: 8px; background: #0d141d;
  border: 1px solid #1e2c3e; border-radius: 8px; padding: 7px 10px; margin-bottom: 6px; }
.admin-row.banned { border-color: #6a2020; background: #170d0d; }
.admin-row .ar-info { flex: 1; min-width: 0; }
.admin-row .ar-acts { display: flex; gap: 4px; flex-wrap: wrap; }
.admin-row .ar-acts .btn { padding: 3px 7px; }

/* ═══════════════════════════════════════════════════════════════════════════
   📱 CAMADA RESPONSIVA GLOBAL — Mobile First
   Fica no FIM do arquivo de propósito: é a última palavra, então corrige
   qualquer janela sem precisar caçar a regra original de cada uma.

   Cobre as janelas que o settings-extra desenha (Market, Loja de Diamantes,
   Wiki, Pokédex Global, Guild, Re-Roll, Bônus) E as do game.js ofuscado —
   essas últimas usam #modal/.panel, que estão aqui embaixo.
   ═══════════════════════════════════════════════════════════════════════════ */

:root {
  /* entalhe / Dynamic Island / bordas arredondadas */
  --safe-t: env(safe-area-inset-top, 0px);
  --safe-b: env(safe-area-inset-bottom, 0px);
  --safe-l: env(safe-area-inset-left, 0px);
  --safe-r: env(safe-area-inset-right, 0px);
  /* altura real da janela: no celular, 100vh mente quando a barra do
     navegador aparece/some. dvh acompanha; o vh fica de reserva. */
  --tela-h: 100vh;
  --toque: 44px;   /* alvo mínimo de toque (vira 48 no celular) */
}
@supports (height: 100dvh) { :root { --tela-h: 100dvh; } }

/* ── NENHUMA JANELA PASSA DA TELA ─────────────────────────────────────────
   Vale pro modal genérico do game.js e pras janelas próprias.            */
#modal,
.mk2-win, .dp-win, .gx-det, .wk-win, .gd-win, .rr-box, .pkhb {
  max-width: calc(100vw - var(--safe-l) - var(--safe-r) - 16px) !important;
  max-height: calc(var(--tela-h) - var(--safe-t) - var(--safe-b) - 16px) !important;
  box-sizing: border-box;
}
#modal-bg, .mk2-ov, .dp-ov, .gx-ov, .wk-ov, .gd-ov, .pkhb-ov {
  padding: calc(var(--safe-t) + 8px) calc(var(--safe-r) + 8px)
           calc(var(--safe-b) + 8px) calc(var(--safe-l) + 8px);
  box-sizing: border-box;
}
/* conteúdo rolável nunca empurra a janela pra fora */
#modal-body, .mk2-body, .dp-body, .wk-body, .gx-corpo {
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}
/* tabela larga rola sozinha em vez de esticar a janela */
.adm-tbl, .gx-grade, .mk2-grid { max-width: 100%; }
.scroller, .gx-corpo, #modal-body { overscroll-behavior-x: contain; }

/* ── BREAKPOINTS ─────────────────────────────────────────────────────────
   Cada faixa tem layout próprio, não é só encolher.                      */

/* Notebook — 1024 a 1365 */
@media (max-width: 1365px) {
  #modal { width: min(720px, 94vw); }
}

/* Tablet — 768 a 1023: híbrido (layout de desktop, botão maior) */
@media (max-width: 1023px) {
  :root { --toque: 46px; }
  #modal { width: min(680px, 95vw); }
  .gx-grade { grid-template-columns: repeat(2, 1fr); }
  .adm-cards, .gx-stats { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
}

/* Mobile grande — 430 a 767 */
@media (max-width: 767px) {
  :root { --toque: 48px; }
  #modal { width: calc(100vw - 16px); max-height: calc(var(--tela-h) - var(--safe-t) - var(--safe-b) - 12px) !important; }
  .modal-head { position: sticky; top: 0; z-index: 3; }
  .gx-grade { grid-template-columns: 1fr; }
  .gx-stats, .adm-cards { grid-template-columns: repeat(2, 1fr); }
  .gx-abas, .gx-filtros, .adm-subtabs, .gcap-tabs {
    overflow-x: auto; flex-wrap: nowrap; -webkit-overflow-scrolling: touch;
    scrollbar-width: none; padding-bottom: 2px;
  }
  .gx-abas::-webkit-scrollbar, .gx-filtros::-webkit-scrollbar { display: none; }
  .gx-aba, .gx-f, .adm-subtab { flex: 0 0 auto; }
  /* nunca deixar texto minúsculo no celular */
  .gx-stat span, .adm-card .l { font-size: 11px; }
}

/* Mobile pequeno — até 429 */
@media (max-width: 429px) {
  #modal { width: calc(100vw - 8px); border-radius: 12px; }
  .gx-stats, .adm-cards { grid-template-columns: 1fr 1fr; gap: 6px; }
  .gx-stat b, .adm-card .v { font-size: 17px; }
  .gx-det { padding: 15px; }
}

/* ── ALVO DE TOQUE (só em tela de toque; no mouse fica compacto) ───────── */
@media (pointer: coarse) {
  button, .btn, .tb, .gx-aba, .gx-f, .gx-ver, .adm-btn, .adm-subtab,
  .mk2-tab, .dp-tab, .wk-tab, select, .seg {
    min-height: var(--toque);
    min-width: var(--toque);
    padding-block: 8px;
  }
  /* botão de ícone quadrado: mantém proporção sem esticar o texto */
  .tb.ic { min-width: var(--toque); min-height: var(--toque); }
  input, textarea, select { font-size: 16px; } /* <16px faz o iOS dar zoom sozinho */
  a, .linklike { padding: 2px 0; }
}

/* ── CHAT: estados de altura no celular ──────────────────────────────────
   mini 35% · médio 60% · expandido 90% · cheio 100%. O settings-extra troca
   a classe em #chat conforme o arrasto/gesto.                            */
@media (max-width: 900px), (pointer: coarse) {
  #chat {
    left: var(--safe-l); right: var(--safe-r);
    width: auto !important;
    bottom: var(--safe-b);
    border-radius: 14px 14px 0 0;
    transition: height .22s cubic-bezier(.4, 0, .2, 1);
  }
  #chat.ch-mini  { height: 35% !important; }
  #chat.ch-med   { height: 60% !important; }
  #chat.ch-exp   { height: 90% !important; }
  #chat.ch-full  { height: calc(var(--tela-h) - var(--safe-t)) !important; border-radius: 0; }
  /* a barra de digitar NUNCA some, nem com o teclado aberto */
  #chat form, #chat .chat-input, #chat-form {
    position: sticky; bottom: 0; z-index: 5;
    padding-bottom: max(6px, var(--safe-b));
    background: inherit;
  }
  #chat-log { overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
  /* alça de arrastar no topo do chat (o settings-extra cria o elemento) */
  .ch-grip {
    height: 22px; display: flex; align-items: center; justify-content: center;
    cursor: grab; touch-action: none; flex: 0 0 auto;
  }
  .ch-grip::before {
    content: ''; width: 38px; height: 4px; border-radius: 99px;
    background: rgba(255, 255, 255, .25);
  }
  .ch-grip:active { cursor: grabbing; }
}
/* no computador o chat segue como era (arrasto pela alça de redimensionar) */
@media (min-width: 901px) and (pointer: fine) {
  .ch-grip { display: none; }
}

/* ── PAISAGEM no celular: chat na lateral, jogo continua visível ───────── */
@media (orientation: landscape) and (pointer: coarse) and (max-height: 500px) {
  #chat {
    top: var(--safe-t); bottom: var(--safe-b);
    left: var(--safe-l); right: auto;
    width: min(46vw, 380px) !important;
    height: auto !important;
    border-radius: 0 14px 14px 0;
  }
  #chat.ch-mini { height: auto !important; }
  .ch-grip { display: none; }
}

/* ── TAMANHO DA FONTE DO CHAT (o jogador escolhe nas configurações) ────── */
#chat.fs-p  { font-size: 11.5px; }
#chat.fs-m  { font-size: 13px; }
#chat.fs-g  { font-size: 15px; }
#chat.fs-xg { font-size: 17px; }
#chat.fs-p  #chat-log, #chat.fs-m #chat-log,
#chat.fs-g  #chat-log, #chat.fs-xg #chat-log { font-size: inherit; }

/* ── acessibilidade ─────────────────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  #chat, #modal, .gx-card { transition: none !important; animation: none !important; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   💬 CHAT V2 — o layout novo. Enquanto #chat tiver a classe cv2-on, o log e as
   abas ORIGINAIS ficam escondidos (não removidos): tirar a classe devolve o
   chat antigo na hora, sem reiniciar nada.
   ═══════════════════════════════════════════════════════════════════════════ */
/* Esconde o chat ORIGINAL desde o primeiro pixel. Antes eu só escondia depois
   que o JS rodava (classe cv2-on), então num F5 o chat velho aparecia por um
   instante e "piscava" pro jogador.
   Rede de segurança: se o renderizador novo não montar em 6s, o JS põe
   .cv2-falhou e o chat original volta — ninguém fica sem chat. */
#chat > #chat-log,
#chat > .chat-tabs { display: none !important; }
#chat.cv2-falhou > #chat-log { display: block !important; }
#chat.cv2-falhou > .chat-tabs { display: flex !important; }
#chat.cv2-falhou > .cv2-log,
#chat.cv2-falhou > .cv2-tabs { display: none !important; }

/* fundo escuro UNIFORME (sem a faixa/gradiente que o blur criava por trás)
   + borda azul discreta e detalhes dourados — mesmos tokens da Pokédex */
#chat.cv2-on { background: rgba(10, 15, 22, .97); border-color: #2a3d55; }
/* Janela fixa no canto inferior esquerdo: mais espaço para conversar sem
   competir com as HUDs, mas ainda compacta para a caça. */
#chat.cv2-on:not(.cv2-big) { width: min(370px, calc(100vw - 24px)) !important; height:min(290px,calc(100vh - 165px)) !important; min-height:220px !important; border-color:rgba(255,106,0,.62); background:linear-gradient(150deg,rgba(25,17,11,.98),rgba(8,13,16,.98)); box-shadow:0 12px 30px rgba(0,0,0,.48),0 0 18px rgba(255,106,0,.12); }

/* abas: canais fixos │ conversas privadas — menores, alinhadas, com rolagem
   horizontal quando há muitas conversas (a barra nunca quebra o layout) */
.cv2-tabs {
  display: flex; gap: 3px; align-items: center; flex-wrap: nowrap;
  overflow-x: auto; scrollbar-width: none; padding: 4px 6px; flex: 0 0 auto;
  min-height: 30px; border-bottom: 1px solid #1e2a3c;
}
.cv2-tabs::-webkit-scrollbar { display: none; }
.cv2-tabgroup { flex:0 0 auto; padding:0 3px; color:#a98466; font:800 8px/1 system-ui,sans-serif; letter-spacing:.08em; text-transform:uppercase; white-space:nowrap; }
.cv2-tabgroup-pm { color:#c4a9e6; }
.cv2-ct {
  position: relative; flex: 0 0 auto; background: rgba(255,106,0,.06); border: 1px solid rgba(122,65,26,.55);
  color: #d1ae8e; border-radius: 7px; padding: 4px 8px; font-size: 11px; line-height: 1.5; cursor: pointer;
  transition: color .15s, background .15s, border-color .15s; white-space: nowrap;
}
.cv2-ct:hover { color: #ffe2c0; border-color: #ff8a2a; background:rgba(255,106,0,.14); }
/* aba ativa: Laranja Neon, com contraste suficiente para leitura. */
.cv2-ct.on { color: #271103; background: linear-gradient(135deg,#ff9c22,#ff6107); border-color:#ffc05c; font-weight: 800; box-shadow:0 0 10px rgba(255,112,0,.32); }
.cv2-ct[data-c="guild"] { color:#9de4c1; border-color:rgba(65,174,120,.45); background:rgba(43,130,84,.12); }
.cv2-ct[data-c="guild"].on { color:#092417; border-color:#87e7b3; background:linear-gradient(135deg,#5bd487,#20a45d); box-shadow:0 0 10px rgba(62,201,120,.26); }
/* separador + tom próprio das conversas privadas (distingue dos canais) */
.cv2-sep { flex: 0 0 auto; width: 1px; height: 16px; background: #2a3d55; margin: 0 3px; }
.cv2-ct.cv2-pm { background: rgba(96, 60, 140, .16); border-color: #6a4a8f44; color: #c5a8e8; }
.cv2-ct.cv2-pm:hover { border-color: #8f6fe0; color: #e2d2ff; }
.cv2-ct.cv2-pm.on { background: #8f6fe0; border-color: #8f6fe0; color: #14101f; }
/* 🔔 não lidas */
.cv2-badge {
  position: absolute; top: -4px; right: -4px; min-width: 14px; height: 14px; padding: 0 3px;
  background: #e5484d; color: #fff; border-radius: 99px; font-size: 9px; font-style: normal;
  display: flex; align-items: center; justify-content: center; font-weight: 700;
  border: 1px solid #0b1017;
}
.cv2-emo { display:grid; place-items:center; flex:0 0 auto; width:30px; height:30px; padding:0; border:1px solid rgba(255,106,0,.48); border-radius:8px; background:linear-gradient(145deg,rgba(255,122,13,.18),rgba(25,16,10,.7)); color:#ffbf66; cursor:pointer; opacity:.96; box-shadow:inset 0 1px rgba(255,219,166,.12),0 0 8px rgba(255,101,0,.08); }
.cv2-emo svg { width:18px; height:18px; overflow:visible; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; filter:drop-shadow(0 0 3px rgba(255,156,46,.5)); }
.cv2-emo:hover { opacity:1; border-color:#ffb04d; background:rgba(255,106,0,.25); box-shadow:inset 0 1px rgba(255,229,184,.18),0 0 12px rgba(255,117,0,.3); }
/* ─ / ⛶ : minimizar e aumentar (compactos; no celular continua o arrasto) */
.cv2-szb {
  flex: 0 0 auto; width: 20px; height: 20px; padding: 0; line-height: 1;
  background: rgba(20, 30, 45, .45); border: 1px solid #2a3d55; border-radius: 5px;
  color: #8b97a5; font-size: 10px; cursor: pointer;
}
.cv2-szb:hover { border-color: #c9a34e; color: #ffd964; }
#chat.cv2-mini {
  height: 42px !important; min-height: 42px !important; max-height: 42px !important;
  overflow: hidden; border-color: #c9a34e99; box-shadow: 0 7px 20px rgba(0,0,0,.42);
}
#chat.cv2-mini .cv2-log,
#chat.cv2-mini .cv2-tabs,
#chat.cv2-mini .chat-input,
#chat.cv2-mini > #chat-log,
#chat.cv2-mini > .chat-tabs { display: none !important; }
.cv2-mini-launcher {
  display: none; width: 100%; height: 42px; align-items: center; gap: 7px;
  padding: 0 10px; border: 0; background: linear-gradient(100deg,#122133,#101823);
  color: #eaf2fb; font: 800 12px/1 inherit; cursor: pointer; text-align: left;
}
.cv2-mini-launcher:hover { background: linear-gradient(100deg,#1a3047,#172131); color: #ffd964; }
.cv2-mini-launcher:focus-visible { outline: 2px solid #ffd964; outline-offset: -3px; }
.cv2-mini-ic { font-size: 16px; }
.cv2-mini-count {
  margin-left: auto; min-width: 22px; padding: 3px 6px; border-radius:999px;
  background: #c9962f; color: #15100a; text-align:center; font-size:10px; font-variant-numeric:tabular-nums;
}
#chat.cv2-mini .cv2-mini-launcher { display: flex; }
#chat.cv2-big { height: min(62vh, 560px) !important; width: min(380px, calc(100vw - 24px)); }
@media (pointer: coarse) { .cv2-szb { display: none; } }

/* lista: rolagem PRÓPRIA (scrollbar dourada fininha, padrão Pokédex) */
.cv2-log {
  flex: 1 1 auto; overflow-y: auto; overscroll-behavior: contain;
  padding: 4px 8px 6px; display: flex; flex-direction: column; gap: 1px;
  -webkit-overflow-scrolling: touch;
}
.cv2-log::-webkit-scrollbar { width: 7px; }
.cv2-log::-webkit-scrollbar-thumb { background: #c9a34e44; border-radius: 4px; }
.cv2-mais { text-align: center; color: #55637a; font-size: 11px; padding: 6px 0 8px; }

/* mensagem COMPACTA: badge · nome · [lv] · texto · hora, tudo na mesma linha */
.cv2-msg {
  display: flex; gap: 6px; padding: 2px 6px; border-radius: 6px;
  animation: cv2In .18s ease;
}
@keyframes cv2In { from { opacity: 0; transform: translateY(3px); } to { opacity: 1; transform: none; } }
.cv2-msg:hover { background: rgba(255,255,255,.04); }
.cv2-av { flex: 0 0 auto; width: 28px; height: 28px; }
.cv2-av canvas { image-rendering: pixelated; display: block; }
.cv2-av-vazio { width: 0; }
.cv2-corpo { flex: 1 1 auto; min-width: 0; }
.cv2-cab { display: flex; align-items: center; gap: 5px; flex-wrap: wrap; }
/* linha unica estilo Tibia: [GUILD] TAG Nome [184]: mensagem · 12:04 */
.cv2-linha { line-height: 1.45; font-size: 12.5px; word-break: break-word; }
.cv2-gld { color: #7fd4a8; font-weight: 700; font-size: 11px; }
.cv2-lv { color: #7c8899; margin-left: 3px; font-size: 11px; }
.cv2-dp { color: #7c8899; }
.cv2-linha .cv2-nome { vertical-align: baseline; }
.cv2-linha .cv2-txt { display: inline; margin: 0; }
/* horário: COLADO no fim da mensagem (era float solto no canto direito) */
.cv2-linha .cv2-h { float: none; margin-left: 6px; }
.cv2-linha .cv2-tag { margin-right: 3px; }
/* 🏷 pílula de cargo padronizada (VIP/Streamer/Admin/Moderador — a cor vem do cargo) */
.cv2-reply, .chat-reply {
  display: inline-grid; place-items:center; width:18px; height:18px; margin-left:6px; padding:0;
  border: 1px solid rgba(108,182,255,.32); border-radius: 5px; background: rgba(45,99,150,.15);
  color: #8fc7ff; font: 800 13px/1 system-ui,sans-serif; cursor: pointer; vertical-align: baseline;
  white-space: nowrap; opacity: .78; transition: opacity .14s, border-color .14s, background .14s;
}
.cv2-msg:hover .cv2-reply, .chat-reply:hover { opacity: 1; border-color: #6cb6ff; background: rgba(45,99,150,.28); }
.cv2-reply:focus-visible, .chat-reply:focus-visible { outline: 2px solid #ffd964; outline-offset: 1px; }
.cv2-reply-ref {
  display: flex; align-items: baseline; gap: 5px; max-width: 100%; margin: 2px 0 3px;
  padding: 2px 6px; border-left: 2px solid #4d9dff; border-radius: 0 5px 5px 0;
  background: rgba(57,104,160,.10); color: #8fa5bf; font-size: 10px; line-height: 1.35;
}
.cv2-reply-ref span { color: #6cb6ff; font-weight: 800; }
.cv2-reply-ref b { color: #b9d7f5; white-space: nowrap; }
.cv2-reply-ref em { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-style: normal; }
.cv2-reply-draft {
  display: flex; align-items: center; gap: 6px; min-width: 0; padding: 3px 8px;
  border-top: 1px solid rgba(108,182,255,.28); background: rgba(32,64,96,.22); color: #9cb5ce;
  font-size: 10.5px; line-height: 1.3;
}
.cv2-reply-draft span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cv2-reply-draft b { color: #c2e0ff; }
.cv2-reply-draft em { margin-left: 5px; color: #8292a5; font-style: normal; }
.cv2-reply-draft button { margin-left: auto; flex: 0 0 auto; border: 0; background: transparent; color: #93a4b8; font-size: 17px; line-height: 1; cursor: pointer; }
.cv2-reply-draft button:hover { color: #ff9a9a; }
.cv2-tag {
  font-size: 9.5px; border: 1px solid; border-radius: 5px; padding: 0 4px;
  line-height: 1.5; font-weight: 700; text-transform: uppercase; letter-spacing: .3px;
}
.cv2-nome {
  background: none; border: none; padding: 0; cursor: pointer;
  font-weight: 700; font-size: 12.5px; line-height: 1.35;
}
.cv2-nome:hover { text-decoration: underline; }
.cv2-h { color: #55637a; font-size: 9.5px; flex: 0 0 auto; font-variant-numeric: tabular-nums; }
.cv2-sub { color: #7c8899; font-size: 10.5px; margin-top: -1px; }
.cv2-sub b { color: #9aa8bd; font-weight: 600; }
.cv2-txt { color: #d7e0ea; font-size: 12.5px; line-height: 1.45; margin-top: 0; word-break: break-word; }
.cv2-link { color: #6cb6ff; text-decoration: none; }
.cv2-link:hover { text-decoration: underline; }
.cv2-men { color: #ffd964; }
.cv2-men-eu { background: rgba(255,217,100,.16); border-radius: 4px; padding: 0 3px; }
/* tamanho de fonte escolhido nas configurações vale também no chat novo */
#chat.fs-p .cv2-linha, #chat.fs-p .cv2-txt, #chat.fs-p .cv2-sys { font-size: 11px; }
#chat.fs-g .cv2-linha, #chat.fs-g .cv2-txt, #chat.fs-g .cv2-sys { font-size: 14.5px; }
#chat.fs-xg .cv2-linha, #chat.fs-xg .cv2-txt, #chat.fs-xg .cv2-sys { font-size: 16.5px; }

/* linhas de sistema: texto primeiro, hora junto do fim (ordem via flex) */
.cv2-sys { color: #8b97a5; font-size: 11.5px; padding: 2px 6px; display: flex; gap: 6px; align-items: baseline; }
.cv2-sys .cv2-txt { color: #8b97a5; font-size: 11.5px; margin: 0; order: 1; }
.cv2-sys .cv2-h { margin-left: 0; order: 2; }
.cv2-sys .cv2-x { order: 3; }
.cv2-t-rare .cv2-txt, .cv2-t-rare { color: #ffd964; }
.cv2-t-broadcast { background: rgba(201,163,78,.09); border-left: 2px solid #c9a34e; }
.cv2-t-trade .cv2-txt { color: #b9e6c9; }

/* card de pokémon linkado: compacto — sprite + infos alinhadas em 3 linhas */
.cv2-pk {
  margin: 3px 0 2px; background: rgba(13, 20, 32, .85); border: 1px solid #2a3d55;
  border-radius: 8px; padding: 5px 8px; display: inline-flex; align-items: center; gap: 8px;
  max-width: 100%; cursor: pointer; transition: border-color .12s;
}
.cv2-pk:hover { border-color: #c9a34e; }
.cv2-pk canvas { width: 30px; height: 30px; image-rendering: pixelated; flex: none; }
.cv2-pk-i { min-width: 0; }
.cv2-pk-n { font-weight: 700; font-size: 11.5px; color: #e8eef4; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cv2-pk-n .cv2-pk-l { margin-left: 4px; }
.cv2-pk-l { font-size: 10px; color: #8b97a5; font-weight: 600; }
.cv2-pk-r { font-size: 10px; font-weight: 700; margin-top: 1px; }
.cv2-pk-s { font-size: 9.5px; color: #7c8899; margin-top: 1px; white-space: nowrap; }
.cv2-pk-sh { border-color: #ffd96455; }

/* menu do perfil */
.cv2-menu {
  position: fixed; z-index: 9500; min-width: 178px;
  background: linear-gradient(rgba(28,36,52,.99), rgba(13,18,28,.99));
  border: 1px solid #2a3d55; border-radius: 11px; padding: 5px;
  box-shadow: 0 10px 30px rgba(0,0,0,.55);
}
.cv2-mh { font-size: 11px; color: #6b7c92; padding: 4px 8px 6px; border-bottom: 1px solid rgba(255,255,255,.06); margin-bottom: 4px; }
.cv2-menu button {
  display: block; width: 100%; text-align: left; background: none; border: none;
  color: #cfd8e3; padding: 8px 9px; border-radius: 7px; font-size: 12.5px; cursor: pointer;
}
.cv2-menu button:hover { background: rgba(255,255,255,.07); color: #fff; }

/* emojis */
.chat-input { position: relative; }
.cv2-emos {
  position: absolute; bottom: calc(100% + 6px); right: 4px; z-index: 60;
  background: linear-gradient(rgba(28,36,52,.99), rgba(13,18,28,.99));
  border: 1px solid #2a3d55; border-radius: 11px; padding: 6px;
  display: grid; grid-template-columns: repeat(8, 1fr); gap: 2px;
  box-shadow: 0 10px 28px rgba(0,0,0,.5);
}
.cv2-emos button { background: none; border: none; font-size: 18px; cursor: pointer; padding: 4px; border-radius: 6px; }
.cv2-emos button:hover { background: rgba(255,255,255,.09); }

/* Capturas e Eventos são murais: só leitura, sem qualquer controle de envio. */
#chat.cv2-readonly .chat-input,
#chat.cv2-readonly .cv2-emos,
#chat.cv2-readonly .cv2-reply-draft { display: none !important; }

/* alguém me mencionou */
#chat.cv2-ping { animation: cv2Ping 1.4s ease; }
@keyframes cv2Ping {
  0%, 100% { box-shadow: none; }
  25%, 75% { box-shadow: 0 0 0 2px rgba(255,217,100,.55), 0 0 22px rgba(255,217,100,.25); }
}

/* celular: avatar menor, mensagem com mais ar */
@media (max-width: 767px), (pointer: coarse) {
  .cv2-av, .cv2-av canvas { width: 24px; height: 24px; }
  .cv2-msg { padding: 7px; gap: 7px; }
  .cv2-txt { font-size: 13.5px; line-height: 1.55; }
  .cv2-ct { padding: 8px 12px; font-size: 12.5px; }
  .cv2-emos { grid-template-columns: repeat(6, 1fr); }
  .cv2-emos button { font-size: 22px; padding: 7px; }
}
@media (prefers-reduced-motion: reduce) {
  .cv2-msg { animation: none; }
  #chat.cv2-ping { animation: none; }
}

/* no toque: um pouco mais de respiro (alvo de dedo), sem voltar aos vãos antigos */
@media (max-width: 767px), (pointer: coarse) {
  .cv2-log { gap: 3px; padding: 6px 9px 8px; }
  .cv2-msg { padding: 5px 7px; }
  .cv2-linha { line-height: 1.6; font-size: 13.5px; }
}
/* contador de mensagem repetida (auto-caça manda a mesma linha várias vezes) */
.cv2-x {
  display: inline-block; margin-left: 6px; padding: 0 6px;
  background: rgba(255,255,255,.09); border-radius: 99px;
  font-size: 10.5px; color: #9aa8bd; font-weight: 700;
}

/* ── coordenadas do jogador (era estilo inline no index.html) ─────────── */
#coords {
  position: fixed; bottom: 8px; left: 50%; transform: translateX(-50%);
  background: rgba(10, 16, 24, .75); border: 1px solid #2a3d55; border-radius: 6px;
  padding: 3px 10px; font: 12px monospace; color: #9fd; z-index: 30;
  pointer-events: none; /* nunca rouba clique de nada */
}
/* com o chat aberto no celular ele cobriria o campo de mensagem → some */
body.show-chat #coords { display: none; }

/* ── conversa privada: aba por pessoa, com × pra fechar ─────────────── */
.cv2-ct.cv2-pm { padding-right: 24px; }
.cv2-fech {
  position: absolute; right: 5px; top: 50%; transform: translateY(-50%);
  font-style: normal; font-size: 14px; line-height: 1; color: #6b7c92;
  padding: 2px 3px; border-radius: 4px; cursor: pointer;
}
.cv2-fech:hover { color: #ff8f8f; background: rgba(255,90,90,.14); }
.cv2-t-pmEu .cv2-nome { opacity: .85; }
.cv2-t-pmEu { background: rgba(77,157,255,.05); }

/* ── card do pokémon: clicável + popup de detalhe ───────────────────── */
.cv2-pk-clic { cursor: pointer; transition: border-color .15s, transform .12s; }
.cv2-pk-clic:hover { border-color: #c9a34e; transform: translateY(-1px); }
.cv2-pkov {
  position: fixed; inset: 0; z-index: 9600; background: rgba(4,7,12,.82);
  display: flex; align-items: center; justify-content: center; padding: 16px;
  animation: cv2In .16s ease;
}
.cv2-pkdet {
  position: relative; width: min(330px, 92vw); text-align: center; padding: 20px;
  background: linear-gradient(rgba(28,36,52,.99), rgba(13,18,28,.99));
  border: 1px solid #c9a34e66; border-radius: 15px;
}
.cv2-pkdet.cv2-pk-sh { border-color: #ffd70088; box-shadow: 0 0 28px rgba(255,215,0,.18); }
.cv2-pkx { position: absolute; top: 8px; right: 11px; background: none; border: none; color: #8b97a5; font-size: 23px; cursor: pointer; line-height: 1; }
.cv2-pkx:hover { color: #fff; }
.cv2-pksp canvas { image-rendering: pixelated; }
.cv2-pkt { font-size: 18px; font-weight: 700; color: #e8eef4; margin-top: 4px; }
.cv2-pkr { font-size: 12.5px; font-weight: 600; margin-top: 2px; }
.cv2-dls { margin-top: 13px; text-align: left; }
.cv2-dl { display: flex; justify-content: space-between; padding: 6px 2px; border-bottom: 1px solid rgba(255,255,255,.055); font-size: 12.5px; }
.cv2-dl:last-child { border-bottom: none; }
.cv2-dl span { color: #8b97a5; }
.cv2-dl b { color: #dbe4ee; font-variant-numeric: tabular-nums; }
/* privado: minha fala e a do outro bem separadas */
.cv2-t-pmEu { background: rgba(108,182,255,.06); border-left: 2px solid rgba(108,182,255,.4); }
.cv2-t-pm   { background: rgba(255,143,199,.05); border-left: 2px solid rgba(255,143,199,.35); }

/* ── ✨ Painel de Bônus (bn-*) ─────────────────────────────────────────── */
.bn-tot { display: grid; grid-template-columns: repeat(auto-fit, minmax(88px, 1fr)); gap: 7px; margin: 4px 0 8px; }
.bn-t {
  background: rgba(20,30,45,.6); border: 1px solid #2a3d55; border-radius: 10px;
  padding: 9px 6px; text-align: center; cursor: pointer; transition: all .15s;
  display: flex; flex-direction: column; gap: 1px;
}
.bn-t:hover { border-color: var(--c); transform: translateY(-1px); }
.bn-t.on { border-color: var(--c); background: color-mix(in srgb, var(--c) 14%, transparent); }
.bn-ti { font-size: 15px; }
.bn-tv { font-size: 16px; font-weight: 700; color: var(--c); font-variant-numeric: tabular-nums; }
.bn-tn { font-size: 10px; color: #8b97a5; }

.bn-f { background: rgba(16,23,34,.6); border: 1px solid #24344a; border-radius: 10px; padding: 10px 11px; margin-bottom: 7px; }
.bn-f.bn-off { opacity: .55; }
.bn-fh { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }
.bn-fi { font-size: 15px; }
.bn-fh b { font-size: 13px; color: #e8eef4; }
.bn-st { font-size: 9.5px; font-weight: 700; letter-spacing: .05em; padding: 2px 6px; border-radius: 5px; background: rgba(74,222,128,.16); color: #4ade80; }
.bn-st.off { background: rgba(255,176,32,.16); color: #ffb020; }
.bn-tm { margin-left: auto; font-size: 11px; color: #8b97a5; font-variant-numeric: tabular-nums; }
.bn-vs { display: flex; flex-wrap: wrap; gap: 5px 12px; margin-top: 6px; }
.bn-v { font-size: 12px; }
.bn-v b { font-variant-numeric: tabular-nums; }
.bn-nada { font-size: 11.5px; color: #6b7c92; margin-top: 4px; }
.bn-nota { font-size: 11px; color: #8b97a5; margin-top: 5px; line-height: 1.45; }
.bn-nota b { color: #cfd8e3; }
.bn-vazio { text-align: center; padding: 20px 10px; color: #6b7c92; font-size: 20px; }
.bn-vazio span { display: block; font-size: 12.5px; margin-top: 3px; }
.pkhb-hint { font-size: 11px; color: #6b7c92; margin: 2px 0 8px; line-height: 1.45; }

/* celular: um bônus por linha, cards maiores */
@media (max-width: 560px), (pointer: coarse) {
  .bn-tot { grid-template-columns: repeat(2, 1fr); }
  .bn-t { padding: 12px 8px; }
  .bn-vs { flex-direction: column; gap: 4px; }
  .bn-v { font-size: 12.5px; }
}
/* ▲ totais de bônus na HUD (só o que os bônus realmente alteram) */
.pkh-up {
  display: inline-flex; align-items: center; gap: 3px; padding: 2px 7px;
  background: rgba(74,222,128,.13); border: 1px solid rgba(74,222,128,.3);
  border-radius: 99px; font-size: 10.5px; color: #7fe0a0; white-space: nowrap;
}
.pkh-up b { font-variant-numeric: tabular-nums; }
.pkh-buffs { flex-wrap: wrap; gap: 4px; }
/* 🟢 status buffado: número em verde (boost / shiny / força do clã) */
.pkh-cell b.buffado, .pkh-coin b.buffado {
  color: #4ade80 !important;
  text-shadow: 0 0 7px rgba(74,222,128,.35);
}
.pkh-cell b.buffado::after { content: ' ▲'; font-size: .72em; opacity: .8; }

/* ⚔️ PvP V2.3 — histórico de golpes e tela de resultado.
   Estende o visual do #duel-panel (mesmas cores/bordas/raios do jogo). */
.dp-log { margin-top: 9px; padding-top: 8px; border-top: 1px solid #273246;
  display: flex; flex-direction: column; gap: 3px; font-size: 11px; }
.dp-log > div, .dp-log { line-height: 1.5; }
.dp-log span { display: inline-block; min-width: 132px; }
.dp-log span.eu { color: #9fe28f; }
.dp-log span.foe { color: #e59a9a; }
.dp-log b { color: #fff; margin: 0 6px; font-variant-numeric: tabular-nums; }
.dp-log .ef { font-style: normal; font-size: 9px; padding: 1px 5px; border-radius: 4px; vertical-align: middle; }
.dp-log .ef.sup { background: rgba(255,217,100,.16); color: #ffd964; }
.dp-log .ef.fra { background: rgba(143,179,224,.14); color: #8fb3e0; }
.dp-log .ef.imu { background: rgba(144,153,165,.16); color: #9099a5; }
/* barra de HP com transição mais curta: acompanha o polling sem parecer travada */
.dp-hp > div { transition: width .35s cubic-bezier(.25,.8,.3,1); }

#duel-result {
  position: fixed; left: 50%; top: 50%; transform: translate(-50%,-50%);
  z-index: 400; width: min(400px, 92vw); padding: 18px 20px 16px; text-align: center;
  animation: drIn .28s cubic-bezier(.2,.9,.3,1.2);
}
@keyframes drIn { from { opacity: 0; transform: translate(-50%,-46%) scale(.94); } }
#duel-result.win  { border: 1px solid #4e9e5f; box-shadow: 0 10px 44px rgba(60,180,90,.30); }
#duel-result.loss { border: 1px solid #a04848; box-shadow: 0 10px 44px rgba(180,60,60,.28); }
#duel-result.draw { border: 1px solid #7a7f8c; box-shadow: 0 10px 44px rgba(0,0,0,.45); }
.dr-head { font-size: 25px; font-weight: 900; letter-spacing: 1px; margin-bottom: 2px; }
#duel-result.win  .dr-head { color: #7fe0a0; text-shadow: 0 0 18px rgba(90,220,140,.45); }
#duel-result.loss .dr-head { color: #ff8f8f; }
#duel-result.draw .dr-head { color: #cfd8e3; }
.dr-sub { font-size: 11px; color: #8b97a5; margin-bottom: 13px; }
.dr-grid, .dr-money { display: flex; flex-direction: column; gap: 5px; text-align: left; }
.dr-money { margin-top: 11px; padding-top: 10px; border-top: 1px solid #273246; }
.dr-row { display: flex; justify-content: space-between; align-items: baseline;
  font-size: 12px; color: #b9c4d2; gap: 10px; }
.dr-row b { color: #fff; font-weight: 700; font-variant-numeric: tabular-nums; }
.dr-row i { color: #8b97a5; font-style: normal; font-size: 10px; }
.dr-row.pos b { color: #7fe0a0; }
.dr-row.neg b { color: #ff8f8f; }
.dr-close { margin-top: 15px; width: 100%; padding: 9px; border-radius: 8px; cursor: pointer;
  background: #182231; border: 1px solid #2f3d54; color: #cfd8e3; font-weight: 700; letter-spacing: .5px; }
.dr-close:hover { background: #22304a; border-color: #4a5f80; color: #fff; }

/* ═══ FASE 2 — paginação da Box ═══════════════════════════════════════════════
   A Box voltou ao layout ANTIGO (.eq-slots/.eq-card/.eq-actions, que já existiam).
   Só a paginação é nova, e vive no rodapé do modal — nada mais de bxp-*. */
.bxp-rodape{display:flex;align-items:center;justify-content:space-between;gap:10px;
  flex-wrap:wrap;margin-top:10px;padding-top:10px;border-top:1px solid rgba(55,71,92,.5)}
.bxp-info{font-size:11.5px;color:#8b97a5}
.bxp-navwrap{display:flex}
.bxp-nav{display:flex;gap:4px;flex-wrap:wrap;justify-content:center}
.bxp-nav .btn{min-width:30px;border-radius:6px}
.bxp-gap{opacity:.4;pointer-events:none;border:none;background:transparent}
@media (max-width:599px){
  .bxp-rodape{flex-direction:column;gap:6px;padding-bottom:env(safe-area-inset-bottom)}
  .bxp-info{width:100%;text-align:center}
  .bxp-nav .btn{min-width:40px;min-height:40px}   /* alvo de toque confortável */
}
@media (prefers-reduced-motion:reduce){ .bxp-nav .btn{transition:none!important} }

/* ═══════════════ 🎒📦 EQUIPE & BOX v2 (reforma 30/07/2026) ═══════════════
   Novo layout do showTeamPaged (game-source): equipe no topo, detalhe à
   esquerda, Box 6×5 à direita — empilha no celular. O v1 (showTeam, com a
   flag BOX_PAGE desligada) continua usando .eq-slots/.eq-card/.eq-actions,
   por isso NENHUMA regra antiga foi removida; este bloco só ADICIONA bx2-*. */
#modal.bxp-modal { width: min(1120px, 96vw); }
.bx2 {
  --box-bg: #0e141e; --box-surface: #171f2e; --box-border: #2a3d55;
  --box-gold: #c9a34e; --box-blue: #3f8cff; --box-green: #42d67b;
  --box-red: #ef5350; --box-text: #e8eef4; --box-muted: #9fb0c4;
}
/* ── equipe (topo) */
.bx2-team { background: var(--box-bg); border: 1px solid var(--box-border); border-radius: 12px; padding: 10px 12px; margin-bottom: 12px; }
.bx2-teamhd { display: flex; align-items: baseline; gap: 10px; margin-bottom: 8px; flex-wrap: wrap; }
.bx2-teamhd b { color: var(--box-gold); letter-spacing: .5px; }
.bx2-dica { font-size: 10.5px; color: var(--box-muted); }
.bx2-teamwrap { display: flex; align-items: center; gap: 6px; }
.bx2-tarr { display: none; width: 30px; height: 58px; border-radius: 8px; background: var(--box-surface); border: 1px solid var(--box-border); color: var(--box-text); font-size: 18px; cursor: pointer; flex: 0 0 auto; }
.bx2 .bx2-tslots { display: flex; gap: 10px; margin-bottom: 0; flex: 1; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; padding: 8px 2px 2px; }
.bx2 .bx2-tslots::-webkit-scrollbar { display: none; }
.bx2 .bx2-tslot { width: 76px; height: 76px; flex: 0 0 auto; border-radius: 10px; background: var(--box-surface); }
.bx2 .bx2-tslot[class*="rar-"] { border-color: var(--rar); box-shadow: inset 0 0 8px rgba(0, 0, 0, .35); }
.bx2 .bx2-tslot.sel { border-color: var(--box-gold); box-shadow: 0 0 0 2px rgba(201, 163, 78, .35), inset 0 0 8px rgba(0, 0, 0, .35); }
.bx2 .bx2-tslot.empty { border-style: dashed; border-color: var(--box-border); opacity: .6; }
.bx2-vazio { font-size: 9.5px; color: var(--box-muted); text-align: center; line-height: 1.5; }
.bx2 .bx2-tslot .lv { bottom: 7px; }
.bx2-ativo { position: absolute; top: -8px; left: 50%; transform: translateX(-50%); font-size: 10px; background: #2e2410; border: 1px solid var(--box-gold); color: #ffd964; border-radius: 8px; padding: 0 5px; line-height: 1.5; pointer-events: none; z-index: 1; }
.bx2-xpmini { position: absolute; left: 5px; right: 5px; bottom: 2px; height: 3px; border-radius: 2px; background: #0a0f17; overflow: hidden; pointer-events: none; }
.bx2-xpmini > div { height: 100%; background: linear-gradient(90deg, #6fc3ff, #2f6d9d); }
/* ── duas colunas (desktop) / empilhado (celular) */
.bx2-main { display: grid; grid-template-columns: 380px 1fr; gap: 12px; align-items: start; }
.bx2-detcol { min-width: 0; }
.bx2-boxcol { min-width: 0; background: var(--box-bg); border: 1px solid var(--box-border); border-radius: 12px; padding: 10px 12px; }
.bx2-semsel { border: 1px dashed var(--box-border); border-radius: 12px; padding: 28px 16px; text-align: center; color: var(--box-muted); font-size: 12.5px; }
/* ── detalhe (sprite um pouco menor que o card antigo pra caber na coluna) */
.bx2 .bx2-det { padding: 14px 12px 12px; }
.bx2 .bx2-det .eq-head > canvas, .bx2 .bx2-det .eq-head > img { width: 116px !important; height: 116px !important; }
.bx2-status { margin-top: 10px; font-size: 11.5px; color: var(--box-muted); background: rgba(63, 140, 255, .08); border: 1px solid rgba(63, 140, 255, .28); border-radius: 8px; padding: 6px 10px; line-height: 1.45; }
.bx2-status b { color: var(--box-text); }
.bx2-extras { margin-top: 8px; font-size: 11.5px; color: var(--box-muted); }
.bx2-extras b { color: #ffd964; }
.bx2-stats { margin-top: 12px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.bx2-stat { background: rgba(10, 16, 26, .65); border: 1px solid var(--box-border); border-radius: 8px; padding: 6px 8px 7px; min-width: 0; }
.bx2-stat span { display: block; font-size: 9px; color: var(--box-muted); text-transform: uppercase; letter-spacing: .4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bx2-stat b { display: block; font-size: 14px; color: var(--box-text); margin: 1px 0 4px; }
.bx2-stbar { height: 4px; border-radius: 2px; background: #0a0f17; overflow: hidden; }
.bx2-stbar > div { height: 100%; border-radius: 2px; }
.bx2-mvbtn { width: 100%; margin-top: 10px; }
.bx2-moves { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 8px; }
.bx2-move { font-size: 10.5px; background: #274156; color: #9fd0ff; border-radius: 8px; padding: 2px 8px; }
.bx2-grptit { margin-top: 12px; font-size: 9.5px; letter-spacing: .8px; text-transform: uppercase; color: var(--box-muted); }
.bx2 .bx2-grp { margin-top: 6px; }
.bx2-porque { margin-top: 8px; font-size: 11px; line-height: 1.45; color: #ffd0a8; background: rgba(255, 140, 26, .08); border: 1px solid rgba(255, 140, 26, .3); border-radius: 8px; padding: 6px 10px; }
/* botão PERIGOSO (vender) — vermelho, sempre com confirmação no JS */
.btn.bx2-danger { background: #3a1216; border-color: #8a2f3f; color: #ff9aa5; font-weight: bold; }
.btn.bx2-danger:hover:not(:disabled) { background: #55161d; border-color: var(--box-red); color: #ffc2c9; }
.btn.bx2-danger:disabled { opacity: .5; }
/* badges de raridade que faltavam (escala de 8 níveis) */
.badge.r-superrara { background: #12304d; color: #8ec4ff; }
.badge.r-superlendaria { background: #4d2c10; color: #ffc078; }
.badge.r-mistica { background: #4d1020; color: #ff8fa8; }
.badge.r-transcendente { background: #0e3d3a; color: #7df0e4; }
.badge.bx2-bmega { background: #33204d; color: #cfa8ff; }
/* ── box: cabeçalho + barra de busca/filtros */
.bx2-boxhd { display: flex; align-items: baseline; gap: 10px; margin-bottom: 8px; flex-wrap: wrap; }
.bx2-boxhd b { color: var(--box-gold); letter-spacing: .5px; }
.bx2-boxn { font-size: 11px; color: var(--box-muted); }
.bx2-bar { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-bottom: 10px; }
.bx2-busca { flex: 1 1 150px; min-width: 130px; background: rgba(10, 16, 26, .95); border: 1px solid var(--box-border); border-radius: 8px; color: var(--box-text); padding: 6px 10px; font-size: 12px; }
.bx2-busca:focus { outline: none; border-color: var(--box-gold); }
.bx2-sel { background: rgba(10, 16, 26, .95); color: var(--box-text); border: 1px solid var(--box-border); border-radius: 8px; padding: 5px 6px; font-size: 11.5px; }
.bx2-chip { background: rgba(10, 16, 26, .95); border: 1px solid var(--box-border); color: var(--box-muted); border-radius: 14px; padding: 4px 11px; font-size: 11px; cursor: pointer; }
.bx2-chip.on { border-color: var(--box-gold); color: #ffd964; background: rgba(201, 163, 78, .12); }
.bx2-vazia { padding: 28px 10px; text-align: center; }
.bx2-selprot { display: block; font-size: 10px; color: var(--box-muted); margin-top: 2px; }
/* ── grade 6×5 */
.bx2-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; }
.bx2-cell { position: relative; aspect-ratio: 1; border-radius: 10px; cursor: pointer; background: var(--box-surface); border: 2px solid #273246; display: flex; align-items: center; justify-content: center; min-width: 0; }
.bx2-cell[class*="rar-"] { border-color: var(--rar); }
.bx2-cell.sel { box-shadow: 0 0 0 2px var(--box-gold); }
.bx2-cell .lv { position: absolute; bottom: 2px; right: 4px; font-size: 9px; color: #ffd964; }
.bx2-cell.picked { border-color: #56c878 !important; box-shadow: 0 0 0 2px rgba(86, 200, 120, .45) inset, 0 0 10px rgba(86, 200, 120, .35); }
.bx2-cell.picked::after { content: '✔'; position: absolute; top: 1px; left: 3px; font-size: 12px; font-weight: 900; color: #7fffa0; text-shadow: 0 0 3px #000; }
.bx2-cell.dimlock { opacity: .4; cursor: not-allowed; }
.bx2-mega { position: absolute; bottom: 2px; left: 3px; font-size: 8.5px; font-weight: 900; background: #33204d; color: #cfa8ff; border-radius: 5px; padding: 0 3px; pointer-events: none; }
/* ── responsivo: empilha as colunas, setas da equipe, grade 4 col no celular */
@media (max-width: 980px) {
  .bx2-main { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .bx2-tarr { display: block; }
  .bx2-grid { grid-template-columns: repeat(4, 1fr); }
  .bx2 .bx2-det .eq-head > canvas, .bx2 .bx2-det .eq-head > img { width: 96px !important; height: 96px !important; }
  .bx2-busca { flex: 1 1 100%; }
}

/* ── Equipe & Box compacta: foco no Pokémon selecionado e na coleção ───── */
#modal.bxp-modal { width: min(890px, 94vw); max-height: min(760px, 88vh); }
#modal.bxp-modal .modal-head { padding: 10px 13px; border-bottom-color: #63310d;
  color: #ffb15a; background: linear-gradient(100deg, #160d08, #0d1216 70%); }
#modal.bxp-modal #modal-body { padding: 9px 10px 12px; background: #090e10; }
.bx2 { --box-bg: #0d1215; --box-surface: #131b20; --box-border: #5b351b;
  --box-gold: #ff8a16; --box-blue: #ff9d35; --box-green: #58dc8d;
  --box-red: #ef5350; --box-text: #f5efe9; --box-muted: #98a2a8; }
.bx2-team { padding: 8px 10px; margin-bottom: 8px; border-color: #59331a;
  border-radius: 9px; background: linear-gradient(100deg, #15100c, #10191d); }
.bx2-teamhd { gap: 7px; margin-bottom: 3px; }
.bx2-teamhd b, .bx2-boxhd b { color: #ff9d35; font-size: 12px; }
.bx2-dica { font-size: 9.5px; }
.bx2 .bx2-tslots { gap: 7px; padding: 5px 1px 1px; }
.bx2 .bx2-tslot { width: 62px; height: 62px; border-radius: 8px; background: #0d1418; }
.bx2 .bx2-tslot .lv { bottom: 5px; font-size: 8px; }
.bx2-ativo { border-color: #ff8a16; color: #ffd2a0; background: #2a1609; }
.bx2-main { grid-template-columns: 320px minmax(0, 1fr); gap: 8px; }
.bx2-boxcol { padding: 8px 9px; border-color: #59331a; border-radius: 9px; background: #0d1418; }
.bx2-boxhd { gap: 7px; margin-bottom: 5px; }
.bx2-boxn { font-size: 10px; }
.bx2 .bx2-det { padding: 10px; border-color: #59331a; border-radius: 9px;
  background: radial-gradient(circle at 50% 0, rgba(255,116,0,.10), #0c1317 62%); }
.bx2 .bx2-det .eq-head { gap: 9px; }
.bx2 .bx2-det .eq-head > canvas, .bx2 .bx2-det .eq-head > img { width: 84px !important; height: 84px !important;
  padding: 4px; border-radius: 10px; }
.bx2 .eq-badges { gap: 4px; margin-top: 4px; }
.bx2 .badge { padding: 2px 6px; font-size: 9px; }
.bx2-stats { margin-top: 8px; gap: 4px; }
.bx2-stat { padding: 5px 6px; border-color: #3c2a20; border-radius: 6px; }
.bx2-stat span { font-size: 8px; }
.bx2-stat b { margin: 0 0 3px; font-size: 12px; }
.bx2-status, .bx2-extras, .bx2-porque { margin-top: 6px; padding: 5px 7px; font-size: 10px; }
.bx2-mvbtn { margin-top: 7px; min-height: 27px; font-size: 10px; }
.bx2-moves { gap: 4px; margin-top: 5px; }
.bx2-move { padding: 2px 6px; font-size: 9px; }
.bx2-grptit { margin-top: 8px; font-size: 8.5px; }
.bx2 .eq-actions { gap: 5px; margin-top: 5px; }
.bx2 .eq-actions .btn { min-width: 0; min-height: 29px; padding: 4px 6px; font-size: 10px; }
.bx2-more-actions { margin-top: 7px; border: 1px solid #3f2b1e; border-radius: 7px; background: #0b1216; }
.bx2-more-actions summary { list-style: none; cursor: pointer; padding: 6px 8px; color: #b3bdc5; font-size: 10px; user-select: none; }
.bx2-more-actions summary::-webkit-details-marker { display: none; }
.bx2-more-actions summary::after { content: '⌄'; float: right; color: #ff8a16; font-size: 14px; line-height: 9px; }
.bx2-more-actions[open] summary { border-bottom: 1px solid #3f2b1e; color: #ffb15a; }
.bx2-more-actions[open] summary::after { content: '⌃'; }
.bx2-more-actions .bx2-grp { padding: 5px; margin: 0; }
.bx2-bar { gap: 4px; margin-bottom: 7px; }
.bx2-busca { min-width: 112px; padding: 5px 7px; font-size: 10px; border-color: #4d301d; }
.bx2-sel { padding: 4px 5px; font-size: 10px; border-color: #4d301d; }
.bx2-chip { padding: 3px 7px; font-size: 9px; }
.bx2-grid { grid-template-columns: repeat(5, 1fr); gap: 5px; }
.bx2-cell { border-width: 1px; border-radius: 7px; }
.bx2-cell .lv { font-size: 8px; bottom: 1px; right: 2px; }
.bxp-rodape { gap: 5px; margin-top: 6px; padding-top: 6px; }
.bxp-info { font-size: 10px; }
.bxp-nav { gap: 3px; }
.bxp-nav .btn { min-width: 25px; min-height: 25px; padding: 2px 5px; font-size: 10px; }

/* confirmação visual da evolução — não interfere no mapa nem captura cliques */
.poke-evolution-fx { position: fixed; inset: 0; z-index: 9500; pointer-events: none;
  display: grid; place-content: center; grid-template-columns: 116px 116px; gap: 18px;
  padding-bottom: 28px; opacity: 0; transition: opacity .18s ease;
  background: radial-gradient(circle at center, rgba(255,118,0,.17), transparent 29%); }
.poke-evolution-fx.on { opacity: 1; }
.poke-evo-stage { width: 116px; height: 116px; display: grid; place-items: center; border-radius: 50%;
  background: rgba(8,13,16,.88); border: 1px solid #ff7900; box-shadow: 0 0 26px rgba(255,105,0,.55); }
.poke-evo-from { animation: poke-evo-leave .72s ease-in forwards; }
.poke-evo-to { opacity: 0; transform: scale(.45); animation: poke-evo-arrive .68s .62s cubic-bezier(.2,1.3,.35,1) forwards; }
.poke-evolution-fx::before { content: ''; position: absolute; left: 50%; top: 50%; width: 10px; height: 10px;
  border-radius: 50%; background: #fff1cf; box-shadow: 0 0 20px 10px #ff7900, 0 0 80px 32px rgba(255,105,0,.46);
  transform: translate(-50%,-50%) scale(.1); animation: poke-evo-flash .7s .5s ease-out forwards; }
.poke-evo-copy { grid-column: 1 / -1; text-align: center; margin-top: -8px; text-shadow: 0 2px 4px #000; }
.poke-evo-copy span { display: block; color: #ff9d35; font-size: 10px; font-weight: 800; letter-spacing: 1.4px; }
.poke-evo-copy b { color: #fff3df; font-size: 14px; }
.poke-evo-copy i { color: #ff7900; font-style: normal; padding: 0 3px; }
@keyframes poke-evo-leave { 0% { opacity: 1; transform: scale(1); } 55% { transform: scale(.75); filter: brightness(2.8); } 100% { opacity: 0; transform: scale(.1) rotate(18deg); } }
@keyframes poke-evo-arrive { from { opacity: 0; transform: scale(.25); filter: brightness(3); } to { opacity: 1; transform: scale(1); filter: none; } }
@keyframes poke-evo-flash { 0% { transform: translate(-50%,-50%) scale(.1); opacity: 0; } 35% { opacity: 1; } 100% { transform: translate(-50%,-50%) scale(16); opacity: 0; } }
@media (max-width: 700px) {
  #modal.bxp-modal { width: calc(100vw - 14px); }
  .bx2-main { grid-template-columns: 1fr; }
  .bx2-grid { grid-template-columns: repeat(4, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  .poke-evo-stage, .poke-evolution-fx::before { animation: none; }
  .poke-evolution-fx, .poke-evo-to { opacity: 1; transform: none; }
}

/* Equipe & Box v3 — coleção primeiro, ficha lateral: compacto e sem paginação. */
#modal.bxp-modal { width: min(760px, 94vw); max-height: min(690px, 84vh); }
.bx2-team { padding: 7px 8px; }
.bx2-teamhd { margin-bottom: 1px; }
.bx2-dica { display: none; }
.bx2 .bx2-tslots { gap: 5px; padding-top: 3px; }
.bx2 .bx2-tslot { width: 50px; height: 50px; border-radius: 7px; }
.bx2 .bx2-tslot > canvas { transform: scale(.78); }
.bx2 .bx2-tslot .lv { bottom: 3px; font-size: 7px; }
.bx2-xpmini { left: 3px; right: 3px; bottom: 1px; height: 2px; }
.bx2-main { grid-template-columns: minmax(0, 1fr) 252px; gap: 7px; }
.bx2-boxcol { padding: 7px; }
.bx2 .bx2-det { padding: 8px; }
.bx2 .bx2-det .eq-head { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 7px; align-items: center; }
.bx2 .bx2-det .eq-head > canvas, .bx2 .bx2-det .eq-head > img { width: 58px !important; height: 58px !important; padding: 3px; }
.bx2 .bx2-det .eq-head b { font-size: 13px !important; line-height: 1.1; }
.bx2 .eq-badges { gap: 3px; }
.bx2 .badge { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; padding: 1px 5px; font-size: 8px; }
.bx2 .bx2-det .bar { height: 5px; }
.bx2 .tiny-txt { font-size: 9px; }
.bx2-stats { grid-template-columns: repeat(2, 1fr); margin-top: 6px; }
.bx2-stat { padding: 4px 5px; }
.bx2-stat b { font-size: 10px; }
.bx2-status, .bx2-extras, .bx2-porque { display: none; }
.bx2-mvbtn { margin-top: 5px; }
.bx2-grptit { margin-top: 6px; }
.bx2 .eq-actions .btn { flex: 1 1 100%; min-height: 27px; }
.bx2-more-actions summary { padding: 5px 6px; font-size: 9px; }
.bx2-grid { grid-template-columns: repeat(5, 1fr); gap: 4px; max-height: 434px; overflow-y: auto; padding-right: 2px; }
.bx2-cell { min-height: 0; border-radius: 6px; }
.bx2-cell > canvas { transform: scale(.78); }
.bx2-cell .lv { font-size: 7px; }
.bx2-result-info { padding-top: 6px; color: #85929d; font-size: 9px; text-align: right; }
.bx2-type { border-color: #ff7900; color: #ffd1a2; }
@media (max-width: 700px) {
  #modal.bxp-modal { width: calc(100vw - 12px); max-height: 88vh; }
  .bx2-main { grid-template-columns: 1fr; }
  .bx2-detcol { order: -1; }
  .bx2 .bx2-det .eq-head { grid-template-columns: 70px minmax(0, 1fr); }
  .bx2-grid { grid-template-columns: repeat(5, 1fr); max-height: none; }
}

/* ── Equipe & Box v4: coleção + ficha completa, sem acordeões ─────────── */
#modal.bxp-modal { width: min(790px, 94vw); max-height: min(740px, 87vh); }
.bx2-main { display: flex; flex-direction: column; gap: 8px; }
.bx2-boxcol { order: 0; padding: 9px; border: 1px solid #6c3714;
  background: linear-gradient(145deg, #12110f, #0b1216 65%); box-shadow: inset 0 1px rgba(255,124,0,.13); }
.bx2-boxhd { margin-bottom: 7px; padding-bottom: 6px; border-bottom: 1px solid rgba(255,117,0,.22); }
.bx2-boxhd b { color: #ff9f38; font-size: 13px; }
.bx2-boxn { margin-left: auto; color: #b4a493; font-size: 10px; }
.bx2-bar { display: grid; grid-template-columns: minmax(130px,1fr) 94px 105px 92px auto auto auto; gap: 5px; }
.bx2-busca, .bx2-sel, .bx2-chip { min-height: 28px; box-sizing: border-box; border-color: #5b361e;
  background: #0a1014; color: #d8dfe5; }
.bx2-busca:focus, .bx2-sel:focus { border-color: #ff7900; box-shadow: 0 0 0 2px rgba(255,105,0,.14); }
.bx2-chip { border-radius: 7px; white-space: nowrap; padding: 3px 7px; }
.bx2-chip.on { border-color: #ff7900; background: rgba(255,105,0,.12); color: #ffbd74; }
.bx2-grid { grid-template-columns: repeat(8, 1fr); gap: 5px; max-height: 238px; padding: 2px 3px 2px 1px; }
.bx2-cell { min-width: 0; border: 1px solid #4a3021; border-radius: 8px; background: linear-gradient(145deg, #172027, #0b1015);
  box-shadow: inset 0 1px rgba(255,255,255,.035); transition: transform .14s ease, border-color .14s ease, box-shadow .14s ease; }
.bx2-cell::before { content: ''; position: absolute; top: 0; left: 7px; right: 7px; height: 1px; background: var(--rar, #ff7900); opacity: .8; }
.bx2-cell:hover { z-index: 2; transform: translateY(-2px); border-color: #ff8a16; box-shadow: 0 5px 15px rgba(0,0,0,.38), 0 0 10px rgba(255,105,0,.17); }
.bx2-cell.sel { border-color: #ff9c35; box-shadow: 0 0 0 1px #ff9c35, 0 0 14px rgba(255,119,0,.35); }
.bx2-cell > canvas { transform: scale(.9); }
.bx2-cell .lv { padding: 1px 3px; border-radius: 4px; background: rgba(4,7,9,.76); color: #ffd39c; text-shadow: none; }
.bx2-result-info { border-top: 1px solid rgba(255,117,0,.16); margin-top: 7px; padding-top: 6px; text-align: left; color: #8e9ba5; }

/* Ficha: identidade em cima, atributos e ações claros em blocos visíveis. */
.bx2-detcol { order: 1; }
.bx2 .bx2-det { padding: 10px; border: 1px solid #6c3714; border-radius: 10px;
  background: linear-gradient(125deg, #17100b, #0c1418 58%, #0b1013); box-shadow: inset 0 1px rgba(255,128,20,.15); }
.bx2 .bx2-det .eq-head { display: grid; grid-template-columns: 86px minmax(0,1fr); gap: 10px; align-items: center;
  padding-bottom: 9px; border-bottom: 1px solid rgba(255,117,0,.22); }
.bx2 .bx2-det .eq-head > canvas, .bx2 .bx2-det .eq-head > img { width: 76px !important; height: 76px !important; padding: 4px;
  border-color: #ff7900; box-shadow: 0 0 16px rgba(255,105,0,.27); }
.bx2 .bx2-det .eq-head b { display: block; color: #fff0df; font-size: 16px !important; margin-bottom: 4px; }
.bx2 .badge { padding: 2px 6px; font-size: 9px; max-width: none; }
.bx2 .bx2-det .bar { height: 6px; }
.bx2 .tiny-txt { font-size: 9px; }
.bx2-status, .bx2-extras, .bx2-porque { display: block; margin-top: 7px; border-color: rgba(255,123,0,.3); background: rgba(255,103,0,.07); color: #c9b9a7; }
.bx2-extras { padding: 5px 8px; border: 1px solid #3f2a1b; border-radius: 7px; }
.bx2-extras b { color: #ffb15a; }
.bx2-stats { grid-template-columns: repeat(3, 1fr); gap: 5px; margin-top: 9px; }
.bx2-stat { padding: 5px 7px; border-color: #453025; background: rgba(5,10,13,.54); }
.bx2-stat span { font-size: 8.5px; }
.bx2-stat b { font-size: 12px; color: #f2e7dd; }
.bx2-stbar { height: 3px; }
.bx2-grptit { margin-top: 9px; padding-bottom: 3px; border-bottom: 1px solid rgba(255,117,0,.19); color: #ffad55; font-size: 9px; font-weight: 800; letter-spacing: .8px; }
.bx2-moves { display: flex !important; gap: 4px; margin-top: 5px; }
.bx2-move { border: 1px solid #674020; border-radius: 5px; padding: 3px 6px; color: #ffc17a; background: rgba(255,105,0,.09); font-size: 9.5px; }
.bx2 .eq-actions.bx2-grp { display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px; margin-top: 5px; }
.bx2 .eq-actions .btn { min-height: 29px; padding: 4px 5px; border-color: #5d371e; background: #131a1e; color: #dfe7ed; font-size: 9px; line-height: 1.1; }
.bx2 .eq-actions .btn:hover:not(:disabled) { border-color: #ff7900; background: #251609; color: #ffd2a0; }
.bx2 .eq-actions .btn.gold { background: linear-gradient(140deg, #63310c, #2d1809); border-color: #ff7900; color: #ffd5a3; }
.bx2 .eq-actions .btn.bx2-danger { background: #321217; border-color: #89303d; color: #ffa9b2; }
.bx2-more-actions { display: contents; }

@media (max-width: 780px) {
  .bx2-bar { grid-template-columns: minmax(120px,1fr) 90px 92px 88px; }
  .bx2-bar .bx2-chip { min-width: 0; }
  .bx2-grid { grid-template-columns: repeat(7, 1fr); }
}
@media (max-width: 580px) {
  #modal.bxp-modal { width: calc(100vw - 10px); }
  .bx2-bar { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .bx2-busca { grid-column: 1 / -1; }
  .bx2-grid { grid-template-columns: repeat(5, 1fr); max-height: 210px; }
  .bx2 .bx2-det .eq-actions.bx2-grp { grid-template-columns: repeat(2, 1fr); }
}

/* Ordem final: Pokémon em foco acima; Box abaixo como coleção compacta. */
#modal.bxp-modal { width: min(750px, 94vw); max-height: min(700px, 85vh); }
.bx2-main { gap: 6px; }
.bx2-detcol { order: 0; }
.bx2-boxcol { order: 1; padding: 7px 8px; }
.bx2 .bx2-det { padding: 8px; }
.bx2 .bx2-det .eq-head { grid-template-columns: 68px minmax(0, 1fr); gap: 8px; padding-bottom: 6px; }
.bx2 .bx2-det .eq-head > canvas, .bx2 .bx2-det .eq-head > img { width: 58px !important; height: 58px !important; padding: 3px; }
.bx2 .bx2-det .eq-head b { font-size: 14px !important; margin-bottom: 2px; }
.bx2 .eq-badges { gap: 3px; margin-top: 2px; }
.bx2 .badge { padding: 1px 5px; font-size: 8px; }
.bx2-status, .bx2-extras, .bx2-porque { margin-top: 5px; padding: 4px 6px; font-size: 9px; }
.bx2-stats { grid-template-columns: repeat(6, 1fr); gap: 4px; margin-top: 6px; }
.bx2-stat { padding: 4px; border-radius: 5px; }
.bx2-stat span { font-size: 7.5px; letter-spacing: 0; }
.bx2-stat b { font-size: 10px; }
.bx2-grptit { margin-top: 6px; padding-bottom: 2px; font-size: 8px; }
.bx2-moves { gap: 3px; margin-top: 4px; }
.bx2-move { padding: 2px 5px; font-size: 8.5px; }
.bx2 .eq-actions.bx2-grp { grid-template-columns: repeat(3, 1fr); gap: 4px; margin-top: 4px; }
.bx2 .eq-actions .btn { min-height: 26px; padding: 3px 4px; font-size: 8px; }
.bx2-boxhd { margin-bottom: 5px; padding-bottom: 4px; }
.bx2-boxhd b { font-size: 11px; }
.bx2-boxn { font-size: 9px; }
.bx2-bar { grid-template-columns: minmax(125px,1fr) 84px 92px 78px auto auto auto; gap: 4px; }
.bx2-busca, .bx2-sel, .bx2-chip { min-height: 25px; padding: 3px 5px; font-size: 9px; }
.bx2-grid { grid-template-columns: repeat(9, 1fr); gap: 4px; max-height: 184px; }
.bx2-cell { border-radius: 6px; }
.bx2-cell > canvas { transform: scale(.72); }
.bx2-cell .lv { font-size: 6.5px; }
.bx2-result-info { margin-top: 4px; padding-top: 4px; font-size: 8.5px; }
@media (max-width: 700px) {
  .bx2-stats { grid-template-columns: repeat(3, 1fr); }
  .bx2-grid { grid-template-columns: repeat(6, 1fr); }
  .bx2-bar { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .bx2-busca { grid-column: 1 / -1; }
}

/* Equipe & Box: movimentos, vantagem de tipo e simulador. Cada bloco usa
   células pequenas para preservar uma ficha legível sem cartões gigantes. */
.poke-system-tabs { display: flex; gap: 5px; align-items: center; overflow-x: auto; margin: 0 0 7px; padding: 5px; border: 1px solid #613817; border-radius: 9px; background: linear-gradient(110deg, #15110d, #0c1216); scrollbar-width: thin; }
.poke-system-tab { flex: 1 0 auto; min-height: 29px; padding: 4px 8px; border: 1px solid #53311d; border-radius: 6px; background: rgba(9,14,17,.88); color: #cdb9a4; font: 800 9px/1 system-ui, sans-serif; cursor: pointer; white-space: nowrap; }
.poke-system-tab span { margin-right: 4px; font-size: 11px; }
.poke-system-tab:hover { border-color: #ff7900; color: #ffe0bf; background: rgba(255,105,0,.11); }
.poke-system-tab.active { border-color: #ff7900; color: #fff0df; background: linear-gradient(135deg, #6d3308, #261608); box-shadow: inset 0 1px rgba(255,211,160,.18), 0 0 9px rgba(255,105,0,.18); }
.bst2 > .poke-system-tabs, .breeding-panel > .poke-system-tabs { margin-bottom: 10px; }
.bx2-moves.bx2-move-cards { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(82px, 1fr)); gap: 5px; }
.bx2-move-card { min-width: 0; min-height: 74px; padding: 5px 4px; display: grid; grid-template-columns: 28px minmax(0, 1fr); grid-template-rows: auto auto auto; column-gap: 5px; align-items: center; border: 1px solid #62401f; border-radius: 7px; background: linear-gradient(145deg, rgba(255,111,0,.12), rgba(7,13,17,.88)); }
.bx2-move-card:hover { border-color: #ff850e; box-shadow: 0 0 11px rgba(255,111,0,.21); }
.bx2-move-icon { grid-row: 1 / 4; width: 28px; height: 28px; object-fit: cover; object-position: left top; image-rendering: pixelated; border: 1px solid rgba(255,126,20,.54); border-radius: 5px; background: #0b1013; }
.bx2-move-card b { overflow: hidden; color: #ffe0b9; font-size: 8.5px; line-height: 1.05; text-overflow: ellipsis; white-space: nowrap; }
.bx2-move-card span, .bx2-move-card small { overflow: hidden; color: #b69f87; font-size: 7.5px; line-height: 1.05; text-overflow: ellipsis; white-space: nowrap; }
.bx2-move-card small { color: #ff9d43; }
.bx2-move-card.locked { opacity: .58; filter: saturate(.45); border-style: dashed; }
.bx2-move-card.locked small { color: #d29b72; }
.bx2-move-card.passive { border-style: dashed; border-color: rgba(104,200,244,.58); background: linear-gradient(145deg, rgba(45,102,125,.18), rgba(7,13,17,.88)); }
.bx2-move-card.passive span { color: #a2e7ff; }
.bx2-matchup { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; margin-top: 4px; }
.bx2-matchup-group { min-width: 0; padding: 5px; border: 1px solid #403225; border-radius: 7px; background: rgba(5,11,14,.52); }
.bx2-matchup-group > b { display: block; margin-bottom: 4px; color: #d9e2e7; font-size: 8px; text-transform: uppercase; letter-spacing: .35px; }
.bx2-matchup-group.strong > b { color: #7ee5a1; }
.bx2-matchup-group.weak > b { color: #ff9b83; }
.bx2-type-chips { display: flex; flex-wrap: wrap; gap: 3px; }
.bx2-type-chip, .bx2-type-empty { padding: 2px 4px; border-radius: 4px; background: #182127; color: #d2dce0; font-size: 7.5px; line-height: 1.1; }
.bx2-type-empty { color: #81909a; background: transparent; padding-left: 0; }
.bx2-type-chip.type-fire { color: #ffb199; background: #472016; }.bx2-type-chip.type-water { color: #9bdfff; background: #123e52; }.bx2-type-chip.type-grass { color: #a8f0a8; background: #1a4321; }.bx2-type-chip.type-electric { color: #ffe688; background: #4b4112; }.bx2-type-chip.type-ice { color: #baf6ff; background: #174451; }.bx2-type-chip.type-fighting { color: #ffb1a5; background: #4d1c19; }.bx2-type-chip.type-ground,.bx2-type-chip.type-rock { color: #ead2a1; background: #49361f; }.bx2-type-chip.type-ghost,.bx2-type-chip.type-dark { color: #c9b9ff; background: #302447; }.bx2-type-chip.type-dragon { color: #b8c1ff; background: #273370; }.bx2-type-chip.type-fairy { color: #ffc1e4; background: #542743; }
.bx2-simulator { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 5px; margin-top: 4px; padding: 5px; border: 1px solid #5b3a22; border-radius: 7px; background: linear-gradient(145deg, rgba(255,110,0,.08), rgba(6,12,15,.7)); }
.bx2-sim-fields { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; }
.bx2-sim-fields label { min-width: 0; color: #a99989; font-size: 7.5px; }
.bx2-sim-fields input, .bx2-sim-fields select { display: block; width: 100%; min-width: 0; height: 23px; margin-top: 2px; padding: 2px 4px; box-sizing: border-box; border: 1px solid #4f3826; border-radius: 5px; outline: 0; background: #0a1014; color: #f1ddca; font-size: 8px; }
.bx2-sim-fields input:focus, .bx2-sim-fields select:focus { border-color: #ff7900; }
.bx2-sim-button { align-self: end; min-height: 23px !important; padding: 3px 7px !important; font-size: 8px !important; }
.bx2-sim-result { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(8, 1fr); gap: 3px; }
.bx2-sim-result span { min-width: 0; padding: 3px 2px; border-radius: 4px; background: rgba(0,0,0,.27); color: #fff0df; text-align: center; }
.bx2-sim-result small, .bx2-sim-result b { display: block; overflow: hidden; font-size: 7px; line-height: 1.05; text-overflow: ellipsis; white-space: nowrap; }.bx2-sim-result small { color: #a4998b; }.bx2-sim-result b { margin-top: 1px; color: #ffbd72; font-size: 8px; }
@media (max-width: 700px) { .bx2-moves.bx2-move-cards { grid-template-columns: repeat(3, 1fr); }.bx2-sim-fields { grid-template-columns: repeat(2, 1fr); }.bx2-sim-result { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 520px) { .poke-system-tabs { gap: 4px; padding: 4px; }.poke-system-tab { min-height: 27px; padding: 4px 7px; font-size: 8px; } }

/* Alinhamento estrutural: nenhum bloco fica "solto" dentro do modal. */
#modal.bxp-modal #modal-body { display: flex; justify-content: center; }
#modal.bxp-modal .bx2 { width: 100%; max-width: 100%; margin: 0 auto; }
.bx2-team, .bx2-detcol, .bx2-boxcol { box-sizing: border-box; width: 100%; }
.bx2-teamhd { justify-content: center; text-align: center; }
.bx2-teamwrap { width: 100%; justify-content: center; }
/* Seis slots têm largura própria: ficam centralizados como uma única faixa,
   sem o vazio assimétrico que sobrava ao fim do time. */
.bx2 .bx2-tslots { flex: 0 1 340px; width: min(340px, 100%); justify-content: center; }
.bx2 .bx2-tslot { flex: 0 0 50px; width: 50px; }
.bx2-detcol { display: flex; justify-content: center; }
.bx2-detcol > .bx2-det { width: 100%; }
@media (max-width: 700px) {
  .bx2-teamhd { justify-content: flex-start; text-align: left; }
  .bx2 .bx2-tslots { flex: 1 1 auto; width: auto; justify-content: flex-start; }
}

/* Três zonas de ação simultâneas evitam uma pilha longa e difícil de navegar. */
.bx2-action-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5px; margin-top: 7px; }
.bx2-action-block { min-width: 0; padding: 5px; border: 1px solid #4b3020; border-radius: 7px; background: rgba(6,11,14,.48); }
.bx2-action-title { padding-bottom: 4px; margin-bottom: 4px; border-bottom: 1px solid rgba(255,116,0,.19); color: #ffad55;
  font-size: 8px; font-weight: 800; letter-spacing: .55px; text-transform: uppercase; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bx2-action-block .eq-actions.bx2-grp { display: grid; grid-template-columns: 1fr; gap: 4px; margin: 0; }
.bx2-action-block .eq-actions .btn { width: 100%; min-height: 25px; padding: 3px 4px; font-size: 8px; }
/* A coleção fica em uma faixa própria; apenas ela rola quando tiver muitos cards. */
.bx2-grid { max-height: 164px; }
@media (max-width: 620px) {
  .bx2-action-grid { grid-template-columns: 1fr; }
  .bx2-action-block .eq-actions.bx2-grp { grid-template-columns: repeat(2, 1fr); }
  .bx2-grid { max-height: 185px; }
}

/* ── Equipe & Box: composição final sem rolagem interna ───────────────── */
/* A janela é o ÚNICO elemento rolável. A equipe vira uma coluna lateral
   compacta; a ficha selecionada fica acima da coleção, na leitura natural. */
#modal.bxp-modal { width: min(760px, 94vw); max-height: min(740px, 88vh); }
#modal.bxp-modal #modal-body { display: block; overflow-y: auto; }
.bx2 { display: grid; grid-template-columns: 66px minmax(0, 1fr); gap: 7px; align-items: start; }
/* A barra de sistemas ocupa uma linha completa. Antes ela disputava a mesma
   célula da equipe lateral e criava o espaço vazio acima da ficha ativa. */
.bx2 > .poke-system-tabs { grid-column: 1 / -1; grid-row: 1; width: 100%; box-sizing: border-box; margin: 0; }
.bx2-team { grid-column: 1; grid-row: 2; position: sticky; top: 0; width: 66px; box-sizing: border-box;
  margin: 0; padding: 5px 4px; border-color: #6b3919; background: linear-gradient(180deg, #17110c, #0b1216); }
.bx2-teamhd { min-height: 18px; margin: 0 0 5px; justify-content: center; text-align: center; }
.bx2-teamhd b { font-size: 8px; line-height: 1.05; letter-spacing: 0; color: #ffad55; }
.bx2-teamwrap { display: block; }
.bx2-tarr { display: none !important; }
.bx2 .bx2-tslots { display: flex; flex: none; flex-direction: column; align-items: center; justify-content: flex-start;
  width: 100%; gap: 5px; padding: 0; overflow: visible; }
.bx2 .bx2-tslot { flex: 0 0 52px; width: 52px; height: 52px; }
.bx2 .bx2-tslot > canvas { transform: scale(.8); }
.bx2 .bx2-tslot .lv { bottom: 3px; }
.bx2-main { grid-column: 2; grid-row: 2; width: 100%; min-width: 0; display: flex; flex-direction: column; gap: 7px; }
.bx2-detcol, .bx2-boxcol { width: 100%; }
.bx2-detcol { order: 0; }
.bx2-boxcol { order: 1; }
/* A grade pertence ao fluxo normal da janela: não existe mais segunda barra
   de rolagem para a Box. */
.bx2-grid { max-height: none; overflow: visible; padding-right: 0; }
.bx2-boxcol { overflow: visible; }
.bx2-result-info { margin-bottom: 2px; }
@media (max-width: 620px) {
  .bx2 { display: block; }
  .bx2 > .poke-system-tabs { width: 100%; margin-bottom: 6px; }
  .bx2-team { position: static; width: 100%; margin-bottom: 6px; }
  .bx2-teamhd { justify-content: flex-start; text-align: left; }
  .bx2-teamwrap { overflow-x: auto; }
  .bx2 .bx2-tslots { flex-direction: row; width: max-content; min-width: 100%; justify-content: flex-start; padding: 2px; }
  .bx2-main { width: 100%; display: flex; }
}

/* ── Sistemas: mesma linguagem Laranja Neon da coleção ─────────────────── */
#modal.bxp-modal .bst2, #modal.breeding-modal .breeding-panel { color: #f2e8df; }
.bst2 { gap: 6px; }
.bst2-card, .bst2-prev, .bst2-rec, .bst2-poke, .bst2-nav { border-color: #60391f !important; background: linear-gradient(145deg, #15110d, #0b1216) !important; }
.bst2-card { padding: 9px 10px; box-shadow: inset 0 1px rgba(255,145,36,.13); }
.bst2-sp { border-color: #8b4e1c !important; background: #0a0f12 !important; padding: 5px; }
.bst2-nm, .bst2-rec b { color: #fff0df !important; }.bst2-plus, .bst2-r b.dep, .bst2-max { color: #ffad55 !important; }
.bst2-badge { color: #ffc17a !important; border-color: rgba(255,121,0,.4) !important; background: rgba(255,104,0,.1) !important; }
.bst2-bar { border-color: #57341d !important; background: #090e10 !important; }.bst2-bar > div { background: linear-gradient(90deg, #ff6500, #ffbe55) !important; }
.bst2-q { border-color: #5c361e !important; background: #11181c !important; color: #cbb8a4 !important; padding: 6px 4px; }.bst2-q.on { border-color: #ff7900 !important; background: linear-gradient(135deg, #8b3d08, #3a1b09) !important; color: #fff0df !important; }
.bst2-go { padding: 10px; border-color: #ff830e !important; background: linear-gradient(135deg, #ff6b08, #c94a05) !important; color: #1b0d04 !important; }
.bst2-poke.sel { border-color: #ff830e !important; box-shadow: 0 0 0 1px rgba(255,121,0,.35) inset, 0 0 9px rgba(255,104,0,.18) !important; }.bst2-poke:hover, .bst2-nav:hover { border-color: #ff830e !important; }
#modal.breeding-modal .modal-head { border-bottom-color: #67391a; background: linear-gradient(100deg, #1b0e07, #0c1418 70%); }#modal.breeding-modal #modal-title { color: #ffb45d; }
.breeding-panel { max-width: 760px; margin: 0 auto; color: #eee4da; }.breeding-panel:before { background: radial-gradient(circle, rgba(255,104,0,.16), transparent 68%) !important; }
.breed-header { padding: 8px 3px 10px; border-bottom-color: #59371e; background: radial-gradient(ellipse at 15% 0%, rgba(255,105,0,.17), transparent 55%) !important; }.breed-header h3, .breed-level b { color: #ffb45d !important; }.breed-header p, .breed-level span { color: #a99e93 !important; }.breed-kicker { color: #ff8c26 !important; }
.breed-level, .breed-slot-info, .breed-preview, .breed-parent, .breed-active, .breed-ready, .breed-eggs, .breed-egg { border-color: #593a24 !important; background: linear-gradient(145deg, #15110d, #0b1216) !important; }
.breed-tabs { padding: 9px 0 6px; }.breed-tabs button { min-height: 30px; padding: 5px 10px; border-color: #59351d !important; background: #11181c !important; color: #cbb9a6 !important; }.breed-tabs button.active { border-color: #ff7900 !important; background: linear-gradient(135deg, #7e3608, #2e170a) !important; color: #fff0df !important; box-shadow: 0 0 10px rgba(255,105,0,.18) !important; }
.breed-btn { border-color: #70431f !important; background: #151b1d !important; color: #f4e9df !important; }.breed-btn.primary { border-color: #ff7b08 !important; background: linear-gradient(135deg, #ff6b08, #c54b05) !important; color: #1d0e05 !important; }.breed-progress { border-color: #58371e !important; background: #090e10 !important; }.breed-progress i, .breed-progress.egg i { background: linear-gradient(90deg, #ff6500, #ffc15a) !important; }

/* Sistemas do treinador: painel curto, informação em blocos e laranja neon.
   Os dados e ações continuam os mesmos; somente a hierarquia visual muda. */
#modal.pokemon-system-modal { width: min(760px, 94vw); max-height: min(740px, 88vh); border-color: #753b13; background: #0b0f10; box-shadow: 0 18px 55px rgba(0,0,0,.72), 0 0 20px rgba(255,105,0,.16); }
#modal.pokemon-system-modal .modal-head { position: relative; min-height: 38px; padding: 8px 44px 8px 12px; border-color: #5f3115; background: linear-gradient(100deg, #1d1008, #0d1213 74%); color: #ffb565; font-size: 12px; }
#modal.pokemon-system-modal #modal-close, .modal-system-help { position: absolute; top: 7px; display: grid; place-items: center; width: 26px; height: 26px; padding: 0; border: 1px solid #62361d !important; border-radius: 7px; background: rgba(0,0,0,.26) !important; color: #ffc27d !important; font: 800 15px/1 system-ui,sans-serif; cursor: pointer; }
#modal.pokemon-system-modal #modal-close { right: 9px; }
.modal-system-help { right: 40px; font-size: 14px; }
.modal-system-help:hover, #modal.pokemon-system-modal #modal-close:hover { border-color: #ff7900 !important; color: #fff0df !important; box-shadow: 0 0 9px rgba(255,112,0,.25); }
#modal.pokemon-system-modal #modal-body { padding: 9px 10px 11px; }

#modal.pokemon-system-modal .bst2 { gap: 5px; }
#modal.pokemon-system-modal .bst2-card { padding: 7px 8px; border-radius: 9px; }
#modal.pokemon-system-modal .bst2-top { gap: 8px; }
#modal.pokemon-system-modal .bst2-sp { padding: 3px; border-radius: 8px; }
#modal.pokemon-system-modal .bst2-sp canvas { width: 52px !important; height: 52px !important; }
#modal.pokemon-system-modal .bst2-nm { font-size: 13px; }
#modal.pokemon-system-modal .bst2-sub { margin-top: 1px; font-size: 9.5px; }
#modal.pokemon-system-modal .bst2-badge { margin-top: 3px; padding: 1px 6px; font-size: 8px; }
#modal.pokemon-system-modal .bst2-bar { height: 12px; margin-top: 5px; }
#modal.pokemon-system-modal .bst2-bar span { font-size: 8px; line-height: 12px; }
#modal.pokemon-system-modal .bst2-q { min-height: 28px; padding: 4px 3px; font-size: 10px; border-radius: 7px; }
#modal.pokemon-system-modal .bst2-prev { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px 8px; padding: 6px 8px; }
#modal.pokemon-system-modal .bst2-r { gap: 4px; padding: 2px 0; font-size: 9px; }
#modal.pokemon-system-modal .bst2-rec { padding: 5px 8px; font-size: 9px; }
#modal.pokemon-system-modal .bst2-stone-name { display: inline-flex; align-items: center; gap: 5px; min-width: 0; }
#modal.pokemon-system-modal .bst2-stone-icon { display: inline-grid; place-items: center; flex: 0 0 18px; width: 18px; height: 18px; border: 1px solid rgba(255,128,23,.35); border-radius: 5px; background: rgba(0,0,0,.25); }
#modal.pokemon-system-modal .bst2-stone-icon canvas { width: 18px; height: 18px; image-rendering: pixelated; }
#modal.pokemon-system-modal .bst2-go { min-height: 34px; padding: 7px; font-size: 11px; }
#modal.pokemon-system-modal .bst2-selwrap { gap: 4px; }
#modal.pokemon-system-modal .bst2-nav { width: 21px; font-size: 14px; border-radius: 7px; }
#modal.pokemon-system-modal .bst2-poke { width: 60px; padding: 4px 2px; border-radius: 7px; }
#modal.pokemon-system-modal .bst2-poke canvas { width: 32px !important; height: 32px !important; }
#modal.pokemon-system-modal .bst2-poke .n, #modal.pokemon-system-modal .bst2-poke .l { font-size: 8px; }

#modal.pokemon-system-modal .breeding-panel { max-width: 100%; font-size: 11px; }
#modal.pokemon-system-modal .breeding-panel .poke-system-tabs { margin-bottom: 6px; }
#modal.pokemon-system-modal .breed-header { min-height: 0; padding: 8px 9px; border-radius: 9px; }
#modal.pokemon-system-modal .breed-kicker { font-size: 7.5px; }
#modal.pokemon-system-modal .breed-header h3 { margin: 1px 0; font-size: 16px; }
#modal.pokemon-system-modal .breed-header p { font-size: 9px; line-height: 1.3; }
#modal.pokemon-system-modal .breed-level { min-width: 76px; padding: 5px 7px; border-radius: 7px; }
#modal.pokemon-system-modal .breed-level b { font-size: 16px; }
#modal.pokemon-system-modal .breed-tabs { margin: 6px 0 2px; padding: 3px; border-radius: 8px; }
#modal.pokemon-system-modal .breed-tabs button { min-height: 27px; padding: 4px 8px; font-size: 10px; }
#modal.pokemon-system-modal .breed-guide, #modal.pokemon-system-modal .breed-slot-info { padding: 6px 7px; font-size: 9px; }
#modal.pokemon-system-modal .breed-form { gap: 7px; margin-top: 7px; }
#modal.pokemon-system-modal .breed-parent { min-height: 128px; border-radius: 8px; }
#modal.pokemon-system-modal .breed-parent-head { padding: 6px 7px; margin: 0; }
#modal.pokemon-system-modal .breed-parent-open { width: calc(100% - 12px); margin: 6px; padding: 6px 7px; font-size: 9px; }
#modal.pokemon-system-modal .breed-parent-empty { min-height: 56px; margin: 0 6px; font-size: 9px; }
#modal.pokemon-system-modal .breed-parent-detail { min-height: 58px; margin: 3px 6px 6px; padding: 5px 6px; }
#modal.pokemon-system-modal .breed-parent-detail > canvas { width: 38px !important; height: 38px !important; padding: 2px; border-radius: 7px; }
#modal.pokemon-system-modal .breed-parent-detail strong { font-size: 11px; }
#modal.pokemon-system-modal .breed-picker { padding: 7px; border-radius: 8px; }
#modal.pokemon-system-modal .breed-picker-head { margin-bottom: 6px; }
#modal.pokemon-system-modal .breed-picker-head b { font-size: 10px; }
#modal.pokemon-system-modal .breed-picker-head span, #modal.pokemon-system-modal .breed-picker-count { font-size: 8px; }
#modal.pokemon-system-modal .breed-filters { grid-template-columns: minmax(120px,1fr) 94px 94px auto; gap: 4px; margin-bottom: 6px; }
#modal.pokemon-system-modal .breed-filters select, #modal.pokemon-system-modal .breed-filters button, #modal.pokemon-system-modal .breed-search { min-height: 27px; font-size: 9px; }
#modal.pokemon-system-modal .breed-picker-grid { grid-template-columns: repeat(3, minmax(0,1fr)); gap: 5px; }
#modal.pokemon-system-modal .breed-poke-card { grid-template-columns: 36px minmax(0,1fr); min-height: 66px; gap: 4px; padding: 5px 5px 17px; border-radius: 7px; }
#modal.pokemon-system-modal .breed-poke-sprite { width: 34px; height: 34px; border-radius: 6px; }
#modal.pokemon-system-modal .breed-poke-sprite canvas { width: 30px !important; height: 30px !important; }
#modal.pokemon-system-modal .breed-poke-name { font-size: 9px; }
#modal.pokemon-system-modal .breed-poke-tags, #modal.pokemon-system-modal .breed-poke-fertility, #modal.pokemon-system-modal .breed-poke-hp { display: none; }
#modal.pokemon-system-modal .breed-poke-select { right: 5px; bottom: 3px; font-size: 7px; }
#modal.pokemon-system-modal .breed-preview, #modal.pokemon-system-modal .breed-everstone { min-height: 32px; padding: 5px 7px; font-size: 9px; }
#modal.pokemon-system-modal .breed-payment { padding: 6px 7px; }
#modal.pokemon-system-modal .breed-btn { min-height: 28px; padding: 5px 7px; font-size: 9px; }
#modal.pokemon-system-modal .breed-btn.primary { min-height: 34px; font-size: 10px; }
#modal.pokemon-system-modal .breed-active, #modal.pokemon-system-modal .breed-ready, #modal.pokemon-system-modal .breed-eggs, #modal.pokemon-system-modal .breed-egg { margin-top: 7px; padding: 8px; border-radius: 8px; }
@media (max-width: 620px) { #modal.pokemon-system-modal { max-height: 88vh; } #modal.pokemon-system-modal .bst2-prev { grid-template-columns: 1fr; } #modal.pokemon-system-modal .breed-filters { grid-template-columns: 1fr 1fr; } #modal.pokemon-system-modal .breed-search { grid-column: 1 / -1; } #modal.pokemon-system-modal .breed-picker-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }

/* Ajuda clicável: pequena explicação sobreposta, sem fechar a aba atual. */
.system-help-layer { position: fixed; z-index: 25050; inset: 0; display: grid; place-items: center; padding: 16px; background: rgba(0,0,0,.55); backdrop-filter: blur(3px); }
.system-help-card { position: relative; width: min(390px, calc(100vw - 32px)); padding: 19px; border: 1px solid #ff7900; border-radius: 13px; background: linear-gradient(145deg,#1b110b,#0c1214); color: #f3e5d8; box-shadow: 0 18px 44px #000b, 0 0 22px rgba(255,105,0,.2); font: 13px/1.48 Inter,system-ui,sans-serif; }
.system-help-card h3 { margin: 0 28px 8px 0; color: #ffb45d; font-size: 16px; }.system-help-card p { margin: 0; color: #d2c1b2; }.system-help-close { position:absolute;right:9px;top:8px;width:25px;height:25px;border:1px solid #6b3a1c;border-radius:7px;background:#111315;color:#ffbd73;font-size:20px;line-height:1;cursor:pointer; }.system-help-ok { width:100%;min-height:32px;margin-top:14px;border:1px solid #ff830e;border-radius:8px;background:linear-gradient(135deg,#ff6b08,#c94b05);color:#210f04;font:800 11px system-ui,sans-serif;cursor:pointer; }

/* ═══════════════ 🧳 TOOLTIP DA MOCHILA (30/07/2026) ═══════════════
   Um único nó #inv-tip no <body> (portal) — position:fixed com coordenadas do
   viewport, então nunca é cortado pelo modal e fica acima de tudo. pointer-events
   desligado: o tooltip jamais rouba o mouse. */
#inv-tip {
  position: fixed; left: 0; top: 0; z-index: 9700;
  width: max-content; min-width: 200px; max-width: 280px;
  background: rgba(10, 16, 26, .97);
  border: 1px solid rgba(201, 163, 78, .55);
  border-radius: 10px; padding: 10px 12px;
  box-shadow: 0 6px 22px rgba(0, 0, 0, .55);
  pointer-events: none;
  opacity: 0; transform: translateY(4px); visibility: hidden;
  transition: opacity .12s ease, transform .12s ease, visibility .12s;
  font-size: 11.5px; line-height: 1.45; color: #c9d3dd;
}
#inv-tip.on { opacity: 1; transform: none; visibility: visible; }
#inv-tip .itt-hd { display: flex; align-items: center; gap: 9px; margin-bottom: 6px; }
#inv-tip .itt-hd canvas, #inv-tip .itt-hd img { image-rendering: pixelated; flex: 0 0 auto; }
#inv-tip .itt-emoji { font-size: 26px; flex: 0 0 auto; }
#inv-tip .itt-nome { display: block; color: #ffd964; font-size: 13px; letter-spacing: .3px; }
#inv-tip .itt-cat { display: block; font-size: 10px; color: #8b97a5; text-transform: uppercase; letter-spacing: .6px; }
#inv-tip .itt-linha { display: flex; justify-content: space-between; gap: 14px; padding: 1px 0; }
#inv-tip .itt-linha span { color: #8b97a5; }
#inv-tip .itt-linha b { color: #e8eef4; }
#inv-tip .itt-desc { margin-top: 6px; padding-top: 6px; border-top: 1px solid rgba(201, 163, 78, .18); color: #9fb0c4; }
#inv-tip .itt-nodesc { font-style: italic; opacity: .8; }
#inv-tip .itt-toque { margin-top: 6px; font-size: 10.5px; color: #ffd964; text-align: center; }
/* slots com tooltip: destaque suave no hover/foco + ícone levemente maior
   (transform não desloca a grade) + cursor de ajuda. Quantidades intactas. */
.inv-slot[data-tip] { cursor: help; transition: border-color .15s, background .15s, box-shadow .15s; }
.inv-slot[data-tip]:hover, .inv-slot[data-tip]:focus-visible {
  border-color: #c9a34e; background: #121b28;
  box-shadow: 0 0 8px rgba(201, 163, 78, .25);
  outline: none;
}
.inv-slot[data-tip] > canvas, .inv-slot[data-tip] > img, .inv-slot[data-tip] > span:first-child { transition: transform .15s; }
.inv-slot[data-tip]:hover > canvas, .inv-slot[data-tip]:hover > img { transform: scale(1.12); }
.inv-slot[data-tip] .qt { z-index: 1; }
@media (prefers-reduced-motion: reduce) {
  #inv-tip, .inv-slot[data-tip], .inv-slot[data-tip] > canvas { transition: none !important; }
}

/* ═══════════════ 🧳 MOCHILA v2 (reforma visual 30/07/2026 — compacta) ═══════════════
   Resumo no topo (ícones = sprites REAIS do jogo) + um card escuro por categoria,
   slots uniformes e rodapé do loot. As classes antigas (.inv-grid/.inv-slot/.qt)
   seguem nos slots — é nelas que o tooltip e as ações se penduram. */
.bag2 { --bag-bg: #0e141e; --bag-surface: #171f2e; --bag-border: #2a3d55; --bag-gold: #c9a34e; }
.bag2-resumo { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; margin-bottom: 8px; }
.bag2-tile {
  background: var(--bag-bg); border: 1px solid var(--bag-border); border-radius: 9px;
  padding: 5px 4px 4px; text-align: center; min-width: 0; min-height: 50px;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1px;
}
.bag2-tile .ic { line-height: 0; }
.bag2-tile .ic canvas, .bag2-tile .ic img { image-rendering: pixelated; }
.bag2-tile b { display: block; color: #ffd964; font-size: 12.5px; line-height: 1.2; max-width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bag2-tile .rot { display: block; font-size: 8.5px; color: #8b97a5; text-transform: uppercase; letter-spacing: .4px; max-width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bag2-card { background: var(--bag-bg); border: 1px solid var(--bag-border); border-radius: 10px; padding: 8px 10px; margin-bottom: 8px; }
.bag2-hd { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; margin-bottom: 7px; flex-wrap: wrap; }
.bag2-hd b { color: var(--bag-gold); font-size: 12px; letter-spacing: .4px; }
.bag2-hd span { font-size: 10px; color: #8b97a5; }
.bag2 .inv-grid { grid-template-columns: repeat(auto-fill, 46px); gap: 6px; }
.bag2 .inv-slot { width: 46px; height: 46px; border-radius: 8px; background: var(--bag-surface); border-color: #273246; }
.bag2 .inv-slot .qt { bottom: 1px; right: 3px; font-size: 9px; }
.bag2 .inv-slot.poke { border-color: var(--bag-gold); }
.bag2-ativo { display: flex; gap: 10px; align-items: center; }
.bag2-ativo .inv-slot { width: 52px; height: 52px; flex: 0 0 auto; }
.bag2-atinfo { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.bag2-atinfo b { color: #e8eef4; font-size: 13px; }
.bag2-atinfo .dim { font-size: 10.5px; }
.bag2-atinfo .bar { max-width: 230px; height: 7px; }
.bag2-dica { font-size: 9.5px; color: #66788c; }
.bag2-total {
  display: flex; align-items: baseline; justify-content: flex-end; gap: 9px; flex-wrap: wrap;
  background: rgba(201, 163, 78, .08); border: 1px solid rgba(201, 163, 78, .3);
  border-radius: 9px; padding: 6px 10px;
}
.bag2-total > span:first-child { color: #c9d3dd; font-size: 11.5px; }
.bag2-total b { color: #ffd964; font-size: 14px; }
@media (max-width: 600px) {
  .bag2-resumo { grid-template-columns: repeat(3, 1fr); }
  .bag2 .inv-grid { grid-template-columns: repeat(auto-fill, 44px); gap: 5px; }
  .bag2 .inv-slot { width: 44px; height: 44px; }
}

/* ═══════════════ ⚔ ALERTA DE BOSS v2 (30/07/2026) ═══════════════
   Modal central renderizado direto no <body> (position:fixed, acima de HUD,
   chat e janelas) + indicador discreto #boss-ind quando o jogador fecha. */
#boss-modal {
  position: fixed; inset: 0; z-index: 9640; display: none;
  align-items: center; justify-content: center;
  background: rgba(4, 8, 14, .62); backdrop-filter: blur(2px);
  padding: 12px;
  padding-top: max(12px, env(safe-area-inset-top));
  padding-bottom: max(12px, env(safe-area-inset-bottom));
}
#boss-modal.on { display: flex; }
#boss-modal .bm-box {
  width: min(400px, calc(100vw - 24px));
  max-height: calc(100vh - 24px); overflow-y: auto;
  background: linear-gradient(165deg, #131b28, #0b111a 65%);
  border: 1px solid #8a2f2f; border-radius: 16px;
  box-shadow: 0 0 0 1px rgba(201, 163, 78, .22), 0 24px 70px rgba(0, 0, 0, .75);
  padding: 14px 18px 16px; text-align: center;
  animation: bm-in .18s cubic-bezier(.2, 1.1, .3, 1);
}
@keyframes bm-in { from { transform: scale(.94) translateY(8px); opacity: 0; } to { transform: none; opacity: 1; } }
#boss-modal .bm-hd { display: flex; justify-content: space-between; align-items: center; color: #ff9d9d; font-weight: bold; letter-spacing: 1.2px; font-size: 12.5px; margin-bottom: 6px; }
#boss-modal .bm-x { background: none; border: none; color: #8b97a5; font-size: 15px; cursor: pointer; padding: 2px 5px; }
#boss-modal .bm-x:hover { color: #fff; }
#boss-modal .bm-sprite { display: flex; justify-content: center; margin: 2px 0 6px; min-height: 96px; }
#boss-modal .bm-sprite canvas { image-rendering: pixelated; filter: drop-shadow(0 6px 14px rgba(224, 82, 82, .35)); }
#boss-modal .bm-nome { color: #ffd964; font-size: 19px; font-weight: bold; letter-spacing: .5px; }
#boss-modal .bm-txt { color: #c9d3dd; font-size: 12px; margin: 2px 0 10px; }
#boss-modal .bm-selo {
  display: inline-block; background: rgba(10, 16, 26, .9);
  border: 1px solid #2a3d55; border-radius: 20px; padding: 4px 14px;
  font-size: 12px; color: #c9d3dd; margin-bottom: 10px;
}
#boss-modal .bm-selo b { color: #ffd964; font-variant-numeric: tabular-nums; }
#boss-modal .bm-hptxt { font-size: 12px; color: #c9d3dd; margin-bottom: 5px; }
#boss-modal .bm-hptxt b { color: #ff9d9d; }
#boss-modal .bm-bar { height: 12px; border-radius: 6px; }
#boss-modal .bm-bar > div { background: linear-gradient(#e05252, #8a2f2f); box-shadow: 0 0 8px rgba(224, 82, 82, .45); transition: width .3s; }
#boss-modal .bm-sub { font-size: 10.5px; margin-top: 6px; min-height: 13px; }
#boss-modal .bm-acoes { display: flex; gap: 10px; margin-top: 12px; }
#boss-modal .bm-fechar { flex: 1; background: #141c28; }
#boss-modal .bm-entrar { flex: 1.6; font-weight: bold; min-height: 40px; }
#boss-modal .bm-entrar:disabled { opacity: .6; }
/* indicador discreto no topo depois de fechar — clique reabre */
#boss-ind {
  position: fixed; top: calc(58px + env(safe-area-inset-top, 0px)); left: 50%; transform: translateX(-50%);
  z-index: 56; display: none;
  background: rgba(10, 16, 26, .92); border: 1px solid #8a2f2f;
  color: #ff9d9d; font-weight: bold; font-size: 12px; letter-spacing: .4px;
  border-radius: 20px; padding: 5px 14px; cursor: pointer;
  box-shadow: 0 4px 14px rgba(0, 0, 0, .5); font-variant-numeric: tabular-nums;
  max-width: 88vw; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
#boss-ind.on { display: block; }
#boss-ind:hover { border-color: #e05252; color: #ffc2c2; }
@media (max-width: 480px) {
  #boss-modal .bm-acoes { flex-direction: column-reverse; }
  #boss-modal .bm-entrar { min-height: 46px; }
  #boss-modal .bm-fechar { min-height: 42px; }
}
@media (prefers-reduced-motion: reduce) {
  #boss-modal .bm-box { animation: none; }
}

/* 🏆 placar de dano do Boss (visível enquanto você está NA luta) + ranking no modal */
#boss-rank {
  position: fixed; top: calc(58px + env(safe-area-inset-top, 0px)); left: 50%; transform: translateX(-50%);
  z-index: 56; display: none; min-width: 230px; max-width: min(320px, 90vw);
  background: rgba(10, 16, 26, .93); border: 1px solid #8a2f2f; border-radius: 12px;
  padding: 8px 12px 7px; cursor: pointer; box-shadow: 0 6px 18px rgba(0, 0, 0, .55);
  font-variant-numeric: tabular-nums;
}
#boss-rank.on { display: block; }
#boss-rank:hover { border-color: #e05252; }
#boss-rank .br-hd { display: flex; justify-content: space-between; gap: 10px; align-items: baseline; margin-bottom: 5px; }
#boss-rank .br-hd span { color: #ff9d9d; font-weight: bold; font-size: 12px; letter-spacing: .4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#boss-rank .br-hd b { color: #ffd964; font-size: 12px; }
#boss-rank .br-bar { height: 5px; border-radius: 3px; background: #0a0f17; overflow: hidden; margin-bottom: 6px; }
#boss-rank .br-bar > div { height: 100%; background: linear-gradient(90deg, #e05252, #8a2f2f); transition: width .3s; }
#boss-rank .br-linha { display: flex; justify-content: space-between; gap: 12px; font-size: 11px; color: #c9d3dd; padding: 1px 0; }
#boss-rank .br-linha span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#boss-rank .br-linha b { color: #e8eef4; }
#boss-rank .br-linha.eu span, #boss-rank .br-linha.eu b { color: #ffd964; }
#boss-rank .br-n { margin-top: 4px; font-size: 9.5px; color: #66788c; text-align: center; }
/* ranking dentro do modal do boss */
#boss-modal .bm-rank { margin-top: 8px; text-align: left; max-height: 168px; overflow-y: auto; }
#boss-modal .bm-rank:empty { display: none; }
#boss-modal .bm-rank .br-linha { display: flex; justify-content: space-between; gap: 12px; font-size: 11.5px; color: #c9d3dd; padding: 2px 4px; border-radius: 5px; }
#boss-modal .bm-rank .br-linha:nth-child(odd) { background: rgba(255, 255, 255, .03); }
#boss-modal .bm-rank .br-linha b { color: #e8eef4; }
#boss-modal .bm-rank .br-linha.eu { background: rgba(201, 163, 78, .1); }
#boss-modal .bm-rank .br-linha.eu span, #boss-modal .bm-rank .br-linha.eu b { color: #ffd964; }

/* 🌙 standby do Modo Ausente (modal vivo: tempo + rendimento) */
.afkst-selo {
  display: inline-block; background: rgba(10, 16, 26, .9); border: 1px solid #2a3d55;
  border-radius: 20px; padding: 4px 14px; font-size: 12px; color: #c9d3dd; margin-bottom: 10px;
}
.afkst-selo b { color: #ffd964; font-variant-numeric: tabular-nums; }
.afkst-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-top: 8px; }
.afkst-tile {
  background: #0e141e; border: 1px solid #2a3d55; border-radius: 10px;
  padding: 8px 4px 7px; text-align: center; min-width: 0;
  display: flex; flex-direction: column; align-items: center; gap: 1px;
}
.afkst-tile .ic { font-size: 15px; }
.afkst-tile b { color: #ffd964; font-size: 14px; font-variant-numeric: tabular-nums; max-width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.afkst-tile .rot { font-size: 9px; color: #8b97a5; text-transform: uppercase; letter-spacing: .4px; }
@media (max-width: 480px) { .afkst-grid { grid-template-columns: repeat(2, 1fr); } }

/* 🕹️ joystick virtual do celular (31/07/2026): base nasce onde o dedo pousa */
#joy {
  position: fixed; z-index: 54; width: 124px; height: 124px;
  margin: -62px 0 0 -62px; border-radius: 50%;
  background: radial-gradient(circle, rgba(23, 31, 46, .42), rgba(10, 16, 26, .6));
  border: 2px solid rgba(201, 163, 78, .45);
  box-shadow: 0 6px 20px rgba(0, 0, 0, .35), inset 0 0 18px rgba(0, 0, 0, .35);
  display: none; pointer-events: none; touch-action: none;
}
#joy.on { display: block; animation: joy-in .1s ease; }
@keyframes joy-in { from { transform: scale(.85); opacity: 0; } to { transform: none; opacity: 1; } }
#joy-thumb {
  position: absolute; left: 50%; top: 50%; width: 54px; height: 54px;
  margin: -27px 0 0 -27px; border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, #2f4260, #131c2a 75%);
  border: 2px solid #c9a34e;
  box-shadow: 0 4px 12px rgba(0, 0, 0, .55), inset 0 1px 3px rgba(255, 255, 255, .12);
}

/* ═══════════════ 🏆 TORNEIO PvP (Fase 1, 31/07/2026) ═══════════════
   UI dormente: nada disto aparece sem ESTADO.tournament (flag no servidor). */
.tn-tb.tn-aberto { box-shadow: 0 0 0 1px #c9a34e, 0 0 10px rgba(255, 205, 72, .55); animation: tnPulse 1.6s ease-in-out infinite; }
@keyframes tnPulse { 0%, 100% { filter: brightness(1); } 50% { filter: brightness(1.35); } }
.tn-head { text-align: center; margin-bottom: 8px; }
.tn-status { font-size: 14px; }
.tn-relogio { margin-top: 4px; font-size: 13px; color: #ffd964; }
.tn-acoes { display: flex; gap: 8px; justify-content: center; align-items: center; flex-wrap: wrap; margin: 8px 0 12px; }
.tn-tag { font-size: 11px; color: #c9a34e; border: 1px solid #4a4436; border-radius: 8px; padding: 3px 8px; }
.tn-campeao { text-align: center; padding: 12px; margin: 6px auto 10px; max-width: 340px; border: 1px solid #c9a34e; border-radius: 12px; background: linear-gradient(180deg, rgba(255, 205, 72, .12), rgba(0, 0, 0, .15)); }
.tn-campeao img { image-rendering: pixelated; }
.tn-campeao-t { font-size: 15px; font-weight: 800; color: #ffd964; letter-spacing: 1px; }
.tn-campeao-n { font-size: 18px; font-weight: 800; }
/* ── chaveamento (desktop: colunas dos dois lados + final no centro) ── */
/* flex-start + margens auto: centraliza quando cabe e ROLA quando não cabe
   (justify-content:center + overflow CORTAVA as colunas das pontas — era o
   "sumiu as oitavas" do bracket de 16) */
.tn-bracket { position: relative; display: flex; gap: 12px; align-items: center; justify-content: flex-start; overflow-x: auto; padding: 10px 4px 14px; scrollbar-width: thin; }
.tn-bracket .tn-col:first-child { margin-left: auto; }
.tn-bracket .tn-col:last-child { margin-right: auto; }
/* chave LOTADA (16+ jogadores = 7 colunas): cards compactos */
.tn-bracket.tn-lotado { gap: 8px; }
.tn-bracket.tn-lotado .tn-col { min-width: 118px; gap: 8px; }
.tn-bracket.tn-lotado .tn-match { min-width: 118px; padding: 4px; }
.tn-bracket.tn-lotado .tn-card .tn-nm { font-size: 10.5px; }
.tn-bracket.tn-lotado .tn-card .tn-av { width: 20px; height: 20px; }
.tn-bracket.tn-lotado .tn-card .tn-lv { display: none; }
.tn-bracket.tn-lotado .tn-match-st { font-size: 9px; }
.tn-svg { position: absolute; inset: 0; pointer-events: none; z-index: 0; }
.tn-col { display: flex; flex-direction: column; gap: 14px; justify-content: center; z-index: 1; min-width: 148px; }
.tn-col-t { text-align: center; font-size: 11px; font-weight: 700; color: #c9a34e; text-transform: uppercase; letter-spacing: .5px; }
.tn-col-final .tn-col-t { font-size: 13px; color: #ffd964; }
.tn-trofeu { display: block; margin: 0 auto 4px; image-rendering: pixelated; }
.tn-match { background: rgba(20, 22, 30, .92); border: 1px solid #3a3f52; border-radius: 10px; padding: 6px; min-width: 148px; }
.tn-match-st { font-size: 10px; text-align: center; color: #9aa3b5; margin-bottom: 4px; }
.tn-vs { text-align: center; font-size: 10px; font-weight: 800; color: #6c7488; margin: 2px 0; }
.tn-card { display: flex; align-items: center; gap: 6px; padding: 3px 5px; border-radius: 7px; }
.tn-card .tn-av { width: 26px; height: 26px; flex: none; }
.tn-card .tn-nm { flex: 1; font-size: 11.5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tn-card .tn-lv { font-size: 10px; color: #9aa3b5; }
.tn-card.tn-venceu { background: rgba(126, 217, 87, .12); box-shadow: inset 0 0 0 1px rgba(126, 217, 87, .35); }
.tn-card.tn-elim { opacity: .45; }
.tn-card.tn-vazio { justify-content: center; font-size: 11px; }
/* ── celular: uma rodada por vez ── */
.tn-abas { display: flex; gap: 4px; justify-content: center; flex-wrap: wrap; margin-bottom: 8px; }
.tn-rodada-solo { display: flex; flex-direction: column; gap: 10px; }
.tn-hist { margin-top: 12px; border-top: 1px solid #2c3040; padding-top: 8px; }
.tn-hist-row { font-size: 12px; padding: 2px 0; }
@media (max-width: 700px) {
  .tn-match { min-width: 0; }
  .tn-col { min-width: 120px; }
}

/* ── 🏆 painel ADM do torneio (redesign 31/07) ── */
.tnadm-fluxo { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; margin: 6px 0 12px; }
.tnadm-passo { font-size: 11px; padding: 4px 10px; border-radius: 14px; border: 1px solid #3a3f52; color: #8a93a8; background: rgba(20, 22, 30, .6); }
.tnadm-passo.on { border-color: #c9a34e; color: #ffd964; background: rgba(255, 205, 72, .12); font-weight: 700; }
.tnadm-passo.feito { color: #7ed957; border-color: #3d5c3a; }
.tnadm-seta { color: #4a5065; font-size: 12px; }
.tnadm-principal { display: block; width: 100%; margin: 4px 0 10px; padding: 12px; font-size: 14px; font-weight: 800; border-radius: 10px; cursor: pointer; border: 1px solid #c9a34e; color: #1a1206; background: linear-gradient(180deg, #ffd964, #d9a83e); }
.tnadm-principal:hover { filter: brightness(1.08); }
.tnadm-mesa { border: 1px solid #3a3f52; border-radius: 10px; padding: 10px; font-size: 13px; line-height: 2; background: rgba(20, 22, 30, .7); margin-bottom: 8px; }
.tnadm-acoes { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 8px; }
.tnadm-perigo { border-color: #7a3a3a !important; color: #ff9d9d !important; }
.tnadm-cfg { display: flex; gap: 8px; flex-wrap: wrap; align-items: end; margin-bottom: 6px; }
.tnadm-cfg label { display: flex; flex-direction: column; gap: 3px; font-size: 10.5px; color: #9aa3b5; }
.tnadm-cfg input[type="number"], .tnadm-cfg input:not([type]) { width: 92px; background: #0d141d; color: #fff; border: 1px solid #37475c; border-radius: 6px; padding: 6px 8px; font-size: 12px; }
.tnadm-cfg input[type="checkbox"] { width: 18px; height: 18px; margin: 6px 0; }
/* ===================== CRIADORES AO VIVO (landing) ===================== */
.creator-live-rail[hidden]{display:none!important}
.creator-live-rail{
  position:fixed;left:0;top:50%;z-index:88;
  width:min(430px,calc(100vw - 18px));display:flex;flex-direction:row-reverse;
  align-items:flex-start;transform:translate( calc(-100% + 48px),-50%);
  transition:transform .28s cubic-bezier(.2,.75,.2,1);
  filter:drop-shadow(0 20px 45px rgba(0,0,0,.55))
}
.creator-live-rail.is-open{transform:translate(0,-50%)}
.creator-live-toggle{
  width:48px;min-width:48px;height:148px;padding:12px 8px;border:1px solid rgba(255,91,91,.7);
  border-left:0;border-radius:0 14px 14px 0;background:linear-gradient(180deg,#281217,#121721);
  color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
  font:900 10px/1.05 system-ui,sans-serif;letter-spacing:.12em;cursor:pointer;
  writing-mode:vertical-rl;text-orientation:mixed
}
.creator-live-toggle strong{
  min-width:24px;padding:5px 3px;border-radius:999px;background:#e52f3f;color:#fff;
  text-align:center;font-size:11px;writing-mode:horizontal-tb
}
.creator-live-pulse{
  width:9px;height:9px;border-radius:50%;background:#ff3f52;box-shadow:0 0 0 5px rgba(255,63,82,.14);
  animation:creator-live-pulse 1.6s ease-in-out infinite
}
@keyframes creator-live-pulse{50%{opacity:.55;box-shadow:0 0 0 9px rgba(255,63,82,0)}}
.creator-live-panel{
  width:calc(100% - 48px);max-height:min(680px,82vh);overflow:hidden;display:flex;flex-direction:column;
  border:1px solid rgba(255,255,255,.13);border-left:0;border-radius:0 18px 18px 0;
  background:linear-gradient(155deg,rgba(22,27,39,.985),rgba(8,11,17,.99));color:#edf3fa
}
.creator-live-panel header{display:flex;align-items:center;gap:14px;padding:17px 18px 9px}
.creator-live-panel h2{margin:3px 0 0;font-size:22px;line-height:1.1;color:#fff}
.creator-live-close{
  margin-left:auto;width:36px;height:36px;border:1px solid rgba(255,255,255,.12);border-radius:10px;
  background:rgba(255,255,255,.05);color:#b9c2ce;font-size:23px;line-height:1;cursor:pointer
}
.creator-live-close:hover,.creator-live-close:focus-visible{border-color:#ff5b69;color:#fff;outline:none}
.creator-live-intro{margin:0;padding:0 18px 14px;color:#9ba8b8;font-size:12px}
.creator-live-list{overflow:auto;padding:0 12px 14px;scrollbar-width:thin;overscroll-behavior:contain}
.creator-live-empty{
  margin:4px 6px 2px;padding:24px 14px;border:1px dashed rgba(255,255,255,.12);border-radius:13px;
  color:#9ba8b8;text-align:center;font-size:12px
}
.creator-live-card{
  display:block;margin:0 0 11px;border:1px solid rgba(255,255,255,.1);border-radius:14px;
  overflow:hidden;background:#101621;color:inherit;text-decoration:none;transition:transform .18s,border-color .18s
}
.creator-live-card:hover,.creator-live-card:focus-visible{transform:translateY(-2px);border-color:rgba(255,95,109,.8);outline:none}
.creator-live-media{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:linear-gradient(135deg,#21141b,#111b29)}
.creator-live-frame{display:block;width:100%;height:100%;border:0;background:#07090d}
.creator-live-thumb{width:100%;height:100%;display:block;object-fit:cover;transition:transform .25s}
.creator-live-card:hover .creator-live-thumb{transform:scale(1.025)}
.creator-live-media:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(3,5,9,.76));pointer-events:none}
.creator-live-badge,.creator-live-viewers{
  position:absolute;z-index:1;top:10px;padding:4px 7px;border-radius:6px;color:#fff;
  font:800 10px/1 system-ui,sans-serif;letter-spacing:.04em
}
.creator-live-badge{left:10px;background:#e3263b;text-transform:uppercase}
.creator-live-viewers{right:10px;background:rgba(5,8,13,.82)}
.creator-live-card-body{display:flex;align-items:center;gap:10px;padding:11px 12px}
.creator-live-avatar{width:34px;height:34px;border-radius:50%;object-fit:cover;flex:0 0 auto;border:2px solid #47566a}
.creator-live-card-twitch .creator-live-avatar{border-color:#9146ff}
.creator-live-card-youtube .creator-live-avatar{border-color:#ff3347}
.creator-live-card-copy{display:flex;min-width:0;flex:1;flex-direction:column}
.creator-live-card-copy strong,.creator-live-card-copy span,.creator-live-card-copy small{
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap
}
.creator-live-card-copy strong{font-size:12.5px;color:#f4f7fb}
.creator-live-card-copy span{font-size:11px;color:#abb6c4;margin-top:2px}
.creator-live-card-copy small{font-size:9.5px;color:#768497;margin-top:3px;text-transform:uppercase;letter-spacing:.06em}

@media (max-width:720px){
  .creator-live-rail{
    top:auto;left:0;bottom:0;width:100%;max-height:78dvh;display:flex;flex-direction:column;
    transform:translateY(calc(100% - 52px));filter:drop-shadow(0 -14px 34px rgba(0,0,0,.55))
  }
  .creator-live-rail.is-open{transform:translateY(0)}
  .creator-live-toggle{
    width:100%;min-width:0;height:52px;flex-direction:row;writing-mode:horizontal-tb;border-left:1px solid rgba(255,91,91,.7);
    border-bottom:0;border-radius:15px 15px 0 0;padding:8px 14px
  }
  .creator-live-panel{
    width:100%;max-height:calc(78dvh - 52px);border-left:1px solid rgba(255,255,255,.13);
    border-bottom:0;border-radius:0
  }
  .creator-live-toggle strong{padding:5px 8px}
  .creator-live-list{padding-bottom:max(14px,env(safe-area-inset-bottom))}
}

@media (prefers-reduced-motion:reduce){
  .creator-live-rail,.creator-live-card,.creator-live-thumb{transition:none!important}
  .creator-live-pulse{animation:none!important}
}

/* Retorno seguro do popup OAuth dos criadores. */
.creator-oauth-page{
  min-height:100dvh;margin:0;display:grid;place-items:center;padding:24px;
  background:
    radial-gradient(circle at 50% 15%,rgba(255,99,49,.17),transparent 34rem),
    linear-gradient(145deg,#0e131d,#06080d);color:#eef3f8;font-family:system-ui,sans-serif
}
.creator-oauth-card{
  width:min(430px,100%);padding:28px;text-align:center;border:1px solid rgba(255,255,255,.13);
  border-radius:22px;background:rgba(17,23,34,.96);box-shadow:0 28px 80px rgba(0,0,0,.55)
}
.creator-oauth-card>img{width:96px;height:96px;object-fit:contain}
.creator-oauth-icon{
  width:54px;height:54px;margin:4px auto 16px;border-radius:50%;display:grid;place-items:center;
  background:rgba(50,210,135,.14);border:1px solid rgba(50,210,135,.5);color:#55e3a1;font-size:27px;font-weight:900
}
.creator-oauth-icon.is-error{background:rgba(255,74,89,.13);border-color:rgba(255,74,89,.55);color:#ff6977}
.creator-oauth-card h1{margin:0 0 8px;font-size:24px}
.creator-oauth-card p{margin:0 auto 20px;max-width:34ch;color:#aab5c3;line-height:1.55}
.creator-oauth-card button{
  width:100%;padding:12px 16px;border:0;border-radius:11px;background:linear-gradient(110deg,#f1502a,#ff7a2b);
  color:#fff;font-weight:850;cursor:pointer
}
.creator-oauth-card a{display:inline-block;margin-top:14px;color:#aeb9c7;font-size:12px}
/* ==================== INCUBADORA / BREEDING ==================== */
.breed-parent-open{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;width:calc(100% - 20px);margin:10px;padding:9px 10px;border:1px solid #45648f;border-radius:8px;background:#08111e;color:#eff7ff;font:700 12px system-ui,sans-serif;cursor:pointer}.breed-parent-open:hover{border-color:#e0b44d;background:#14233a}.breed-parent-open b{color:#82e7ef;font-size:15px}
.breed-picker{grid-column:1/3;padding:12px;border:1px solid #3d5680;border-radius:13px;background:linear-gradient(145deg,#101d31,#0a1424);box-shadow:inset 0 1px #ffffff0d}.breed-picker-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.breed-picker-head b{display:block;color:#ffe18a;font-size:13px}.breed-picker-head span{display:block;margin-top:2px;color:#98adca;font-size:11px}.breed-picker-head strong{color:#8ef0d0}.breed-picker-count{display:flex;align-items:center;gap:6px;white-space:nowrap;padding:6px 8px;border:1px solid #4d5f8b;border-radius:8px;background:#0a1422;color:#b6c9df;font-size:11px}.breed-picker-count i{color:#ffd55d;font-style:normal}.breed-filters{display:grid;grid-template-columns:minmax(160px,1fr) 140px 140px auto;gap:7px;margin-bottom:10px}.breed-filters select,.breed-filters button,.breed-search{min-height:36px;border:1px solid #405c82;border-radius:8px;background:#0a1422;color:#dbe9fa;font:12px system-ui,sans-serif}.breed-filters select{padding:0 8px}.breed-filters button{padding:0 12px;color:#b7cbe4;cursor:pointer}.breed-filters button:hover{border-color:#dcae43;color:#ffe69b}.breed-search{display:flex;align-items:center;gap:7px;padding:0 9px;color:#7e9ac1}.breed-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:#eff7ff;font:12px system-ui,sans-serif}.breed-picker-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.breed-picker-empty{grid-column:1/-1;padding:27px 12px;border:1px dashed #425879;border-radius:9px;color:#899bb7;text-align:center}.breed-poke-card{position:relative;display:grid;grid-template-columns:57px minmax(0,1fr);align-items:start;gap:8px;min-width:0;min-height:91px;padding:8px 8px 25px;border:1px solid #324b6e;border-radius:10px;background:linear-gradient(145deg,#15243a,#0d1828);color:#eaf3ff;text-align:left;cursor:pointer;transition:.16s ease}.breed-poke-card:hover,.breed-poke-card:focus-visible{z-index:4;border-color:#e2b84a;outline:0;transform:translateY(-1px);box-shadow:0 7px 18px #0008}.breed-poke-card.selected{border-color:#7e62cd;background:linear-gradient(135deg,#252150,#17243b);box-shadow:inset 0 0 0 1px #b290f355,0 0 15px #825ce333}.breed-poke-card.is-shiny{border-color:#e8b844}.breed-poke-sprite{display:grid;place-items:center;width:54px;height:54px;overflow:hidden;border:1px solid #765ece;border-radius:10px;background:radial-gradient(circle,#453b73,#0b1423 68%)}.breed-poke-sprite canvas{width:48px!important;height:48px!important;image-rendering:pixelated;filter:drop-shadow(0 3px 3px #0009)}.breed-poke-copy{display:grid;gap:4px;min-width:0}.breed-poke-name{overflow:hidden;color:#fff2be;font-size:12px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.breed-poke-name small{color:#95aac8;font-size:10px;font-weight:700}.breed-poke-tags{display:flex;flex-wrap:wrap;gap:3px}.breed-poke-tags i{padding:2px 4px;border:1px solid #455c7c;border-radius:5px;background:#0a1422;color:#cbd9ec;font-size:9px;font-style:normal;white-space:nowrap}.breed-poke-tags .gene-s{border-color:#f0bd48;color:#ffdf79}.breed-poke-tags .gene-a{border-color:#b17bf1;color:#d9b5ff}.breed-poke-tags .gene-b{border-color:#5fc4e8;color:#a5eaff}.breed-poke-tags .gene-c{border-color:#68c783;color:#a5efb6}.breed-poke-tags .gene-d{border-color:#7486a2;color:#b5c2d5}.breed-poke-fertility{display:grid;grid-template-columns:1fr auto;gap:2px 5px;color:#91a6c1;font-size:9px}.breed-poke-fertility b{color:#dfeaff;font-size:9px}.breed-poke-fertility em{grid-column:1/3;display:block;height:3px;overflow:hidden;border-radius:9px;background:#07101b}.breed-poke-fertility em i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#62d99d,#e6cc6a)}.breed-poke-hp{display:flex;align-items:center;gap:5px;color:#aebed1;font-size:9px}.breed-poke-hp>i{display:block;flex:1;height:4px;overflow:hidden;border:1px solid #354e72;border-radius:99px;background:#09101c}.breed-poke-hp>i>b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#eb6971,#6edf9d)}.breed-poke-select{position:absolute;right:7px;bottom:6px;color:#8edffc;font-size:9px;font-weight:800}.breed-poke-card.selected .breed-poke-select{color:#ffe28a}.breed-poke-extra{color:#aabbd2;font-size:9px;line-height:1.35}.breed-poke-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:3px}.breed-poke-stats span{padding:2px 3px;border-radius:4px;background:#0b1625;color:#93a9c6;font-size:8px}.breed-poke-stats b{float:right;color:#e7f1ff}.breed-poke-tooltip{position:absolute;z-index:15;left:0;right:0;bottom:calc(100% + 7px);display:none;padding:10px;border:1px solid #9b7ade;border-radius:10px;background:linear-gradient(145deg,#1a2140,#0a1423);box-shadow:0 12px 28px #000d;color:#eaf3ff;pointer-events:none}.breed-poke-card:hover .breed-poke-tooltip,.breed-poke-card:focus-visible .breed-poke-tooltip{display:block}.breed-poke-tooltip .breed-poke-copy{gap:5px}.breed-pages{display:flex;align-items:center;justify-content:center;gap:9px;margin-top:10px;color:#9fb4ce;font-size:11px}.breed-pages button{width:28px;height:26px;border:1px solid #435e84;border-radius:7px;background:#101e32;color:#d6e7fb;cursor:pointer}.breed-pages button:disabled{opacity:.35;cursor:not-allowed}
.breeding-panel{width:min(860px,calc(100vw - 34px));color:#eaf3ff;font:14px/1.35 system-ui,-apple-system,Segoe UI,sans-serif}
.breed-header{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:10px 4px 15px;border-bottom:1px solid #293a55;background:radial-gradient(ellipse at 15% 0%,#243157 0,transparent 55%)}
.breed-header h3{margin:3px 0;color:#ffd25a;font-size:25px;letter-spacing:.04em}.breed-header p{margin:0;color:#aebdd3}.breed-kicker{color:#7de9a6;font-size:10px;font-weight:800;letter-spacing:.13em}.breed-level{display:grid;grid-template-columns:auto auto;gap:0 9px;align-items:center;min-width:115px;padding:8px 11px;border:1px solid #51608c;border-radius:11px;background:#101a2d;text-align:right}.breed-level small{grid-column:1/3;color:#91a5c5;font-size:10px;letter-spacing:.08em}.breed-level b{color:#ffd25a;font-size:23px}.breed-level span{color:#b5c5dc;font-size:11px}
.breed-tabs{display:flex;gap:7px;padding:15px 0 10px}.breed-tabs button{border:1px solid #38506f;border-radius:9px;background:#111d30;color:#bdcce0;padding:8px 17px;font:700 13px inherit;cursor:pointer}.breed-tabs button.active{color:#fff4c8;border-color:#e6ad37;background:linear-gradient(135deg,#825426,#b47b26);box-shadow:0 0 14px #d89b303b}.breed-tabs i{display:inline-grid;place-items:center;min-width:16px;height:16px;border-radius:10px;background:#243b60;color:#aee7ff;font-size:10px;font-style:normal}
.breed-content{padding:2px 0 6px}.breed-slot-info,.breed-preview{display:flex;gap:8px;flex-wrap:wrap;padding:10px 12px;border:1px solid #2b4466;border-radius:10px;background:#111d2d;color:#aebed2;font-size:12px}.breed-slot-info span{padding-right:12px;border-right:1px solid #2a3b55}.breed-slot-info span:last-child{border:0}.breed-slot-info b,.breed-preview b{color:#ffe080}.breed-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.breed-parent{min-height:178px;padding:12px;border:1px solid #314c70;border-radius:12px;background:linear-gradient(145deg,#142239,#0d1728)}.breed-parent-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}.breed-parent-head span{color:#82dffc;font-size:11px;font-weight:900;letter-spacing:.08em}.breed-parent-head strong{color:#f5d984;font-size:12px}.breed-select{width:100%;padding:9px;border:1px solid #3a567c;border-radius:8px;background:#091321;color:#e7f1ff;font:12px inherit}.breed-parent-empty{display:grid;place-items:center;min-height:88px;color:#7185a2;text-align:center}.breed-parent-detail{display:flex;gap:10px;align-items:center;margin-top:12px;color:#adbed4}.breed-parent-detail>div{display:grid;gap:3px}.breed-parent-detail strong{color:#fff;font-size:15px}.breed-parent-detail strong small{color:#98abc6;font-weight:600}.breed-parent-detail span{font-size:12px}.breed-parent-detail b{color:#a8e6ad}.breed-preview{grid-column:1/3;justify-content:space-between}.breed-preview.ok{border-color:#4c7b5d;background:#10241f}.breed-everstone{grid-column:1/3;color:#c5d4ea;font-size:12px}.breed-everstone input{accent-color:#f5be39}.breed-btn{border:1px solid #516b91;border-radius:9px;background:#14233a;color:#e9f4ff;padding:9px 14px;font:800 12px inherit;cursor:pointer}.breed-btn:hover{filter:brightness(1.15)}.breed-btn:disabled{cursor:not-allowed;filter:grayscale(.8);opacity:.5}.breed-btn.primary{grid-column:1/3;border-color:#f0b83b;background:linear-gradient(135deg,#a86719,#e1aa34);color:#1e1708;font-size:14px;letter-spacing:.04em}.breed-btn.ghost{border-color:#7d5760;background:#301d29;color:#ffcad0}.breed-btn.small{padding:7px 10px;font-size:11px}.breed-btn.hatch{border-color:#47b97c;background:linear-gradient(135deg,#1b7f53,#31b86e);color:white}.breed-form>small{grid-column:1/3;color:#8193ae;font-size:11px}.breed-active,.breed-ready,.breed-eggs{margin-top:12px;padding:13px;border:1px solid #355174;border-radius:12px;background:#0e1929}.breed-status,.breed-active-bottom,.breed-ready-row,.breed-eggs-title,.breed-egg-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.breed-status span{font-size:10px;font-weight:900;letter-spacing:.11em;color:#84dffa}.breed-status strong{color:#ffe58a;font-size:17px}.breed-progress{height:10px;margin:12px 0 9px;overflow:hidden;border:1px solid #2d4668;border-radius:10px;background:#09101c}.breed-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#42c283,#ffd653);box-shadow:0 0 10px #ffd65366}.breed-progress.egg i{background:linear-gradient(90deg,#8c5df4,#f7c858)}.breed-active small,.breed-egg small{display:block;margin-top:9px;color:#91a3bb;font-size:11px}.breed-ready h4,.breed-eggs h4{margin:0 0 9px;color:#ffe071;font-size:13px;letter-spacing:.06em}.breed-ready-row{padding:8px;border-top:1px solid #293b54}.breed-empty-row{padding:13px;color:#7f91aa;text-align:center}.breed-empty-row.large{padding:42px}.breed-eggs-title p{margin:2px 0;color:#94a6bd;font-size:11px}.breed-eggs-title>span{color:#82dffc;font-size:12px}.breed-egg{padding:12px;margin-top:10px;border:1px solid #3a4e73;border-radius:10px;background:#121e31}.breed-egg-top>span{font-size:30px}.breed-egg-top>div{flex:1}.breed-egg-top b{display:block;color:#fff0ae}.breed-egg-top small{margin:2px 0 0}.breed-unavailable,.breed-loading{padding:42px 18px;text-align:center;border:1px solid #694b57;border-radius:13px;background:#1d1522}.breed-unavailable>div{font-size:48px}.breed-unavailable h3{color:#ffd369}.breed-unavailable p{color:#ffbec7}.breed-unavailable small{color:#abb9ce}
@media(max-width:620px){.breeding-panel{width:calc(100vw - 26px);font-size:13px}.breed-header{align-items:flex-start}.breed-header h3{font-size:20px}.breed-header p{font-size:12px}.breed-level{min-width:83px}.breed-form{grid-template-columns:1fr}.breed-preview,.breed-everstone,.breed-btn.primary,.breed-form>small{grid-column:1}.breed-slot-info{display:grid}.breed-slot-info span{border:0;padding:0}.breed-active-bottom,.breed-ready-row{align-items:flex-start;flex-direction:column}.breed-btn.small{width:100%}}
@media(max-width:720px){.breed-picker{grid-column:1}.breed-filters{grid-template-columns:1fr 1fr}.breed-search{grid-column:1/-1}.breed-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.breed-poke-tooltip{display:none!important}.breed-parent-open{font-size:11px}}
@media(max-width:420px){.breed-picker{padding:9px}.breed-picker-head{align-items:flex-start;flex-direction:column;gap:6px}.breed-picker-count{width:100%;justify-content:center}.breed-filters{gap:5px}.breed-filters select,.breed-filters button,.breed-search{min-height:33px;font-size:11px}.breed-poke-card{grid-template-columns:48px minmax(0,1fr);gap:6px;min-height:85px;padding:7px 6px 24px}.breed-poke-sprite{width:45px;height:45px}.breed-poke-sprite canvas{width:40px!important;height:40px!important}.breed-poke-tags i{font-size:8px}.breed-poke-name{font-size:11px}.breed-poke-hp{display:none}.breed-poke-fertility{font-size:8px}.breed-poke-select{font-size:8px}}
/* Escolha explícita do pai que fornece a Everstone. */
.breed-stone-parent{grid-column:1/3;max-width:240px;padding:7px 9px;border:1px solid #3a567c;border-radius:8px;background:#091321;color:#e7f1ff;font:12px system-ui,sans-serif}
@media(max-width:620px){.breed-stone-parent{grid-column:1;width:100%;max-width:none}}
/* ── Incubadora: composição final, desktop/mobile ─────────────────────── */
#modal.breeding-modal{width:min(980px,96vw);max-height:min(820px,92dvh);border-color:#6e4db4;box-shadow:0 18px 70px #000c,0 0 0 1px #e0a94522 inset;background:linear-gradient(160deg,#101b31 0%,#09111e 58%,#160f22 100%)}
#modal.breeding-modal .modal-head{background:linear-gradient(90deg,#1c1939,#151d32 60%,#302011);border-bottom-color:#5c477c}
#modal.breeding-modal #modal-title{color:#ffe18a;text-shadow:0 1px 0 #000}
#modal.breeding-modal #modal-body{padding:12px 18px 18px;scrollbar-color:#b47b2a #0a1020}
.breeding-panel{position:relative;isolation:isolate;width:100%;padding:2px 1px 8px;color:#edf4ff}
.breeding-panel:before{content:"";position:absolute;z-index:-1;inset:6px -8px auto auto;width:250px;height:250px;border-radius:50%;background:radial-gradient(circle,#8554dc27,transparent 68%);pointer-events:none}
.breed-header{position:relative;min-height:96px;align-items:center;padding:15px 18px;border:1px solid #384c75;border-radius:15px;background:linear-gradient(110deg,#192748 0%,#101a2e 52%,#21182d 100%);box-shadow:inset 0 1px #ffffff0d,0 8px 24px #0004}
.breed-header:after{content:"";position:absolute;right:145px;top:0;bottom:0;width:1px;background:linear-gradient(transparent,#8062be99,transparent)}
.breed-kicker{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border-radius:99px;background:#0c2530;border:1px solid #297171;color:#8ef0d0;font-size:9px;letter-spacing:.12em}
.breed-header h3{font-size:clamp(21px,3vw,29px);letter-spacing:.06em;text-shadow:0 2px 0 #000}.breed-header p{max-width:610px;margin-top:4px;font-size:13px}
.breed-level{position:relative;min-width:122px;padding:9px 13px;border-color:#8366c6;background:linear-gradient(145deg,#1c1b3a,#11172a);box-shadow:0 0 24px #815be52c}.breed-level:before{content:"⚗";position:absolute;left:-12px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:25px;height:25px;border:1px solid #a184e4;border-radius:50%;background:#211d45;color:#edd585;font-size:14px}
.breed-tabs{position:relative;margin:12px 0 2px;padding:5px;border:1px solid #293f63;border-radius:12px;background:#0c1423}.breed-tabs button{flex:1;border-color:transparent;background:transparent;color:#9eb2d1;padding:10px 17px;transition:.18s ease}.breed-tabs button.active{position:relative;border-color:#7353bd;background:linear-gradient(135deg,#49318c,#7950d0);box-shadow:0 5px 15px #0007;color:#fff}.breed-tabs button.active:after{content:"";position:absolute;right:9px;top:8px;width:5px;height:5px;border-radius:50%;background:#ffe078;box-shadow:0 0 8px #ffe078}
.breed-slot-info{justify-content:center;gap:0;padding:8px 10px;border-color:#2e496e;background:#101a2b}.breed-slot-info span{flex:1;min-width:190px;padding:2px 12px;text-align:center}.breed-slot-info b{color:#84eab2}
.breed-guide{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:0 0 9px;padding:8px;border:1px solid #345779;border-radius:10px;background:linear-gradient(90deg,#102238,#111b31);color:#b8c9e1;font-size:11px}.breed-guide span{display:flex;align-items:center;gap:6px;padding:2px 5px}.breed-guide b{display:grid;place-items:center;flex:0 0 19px;width:19px;height:19px;border-radius:50%;background:#7753cd;color:#fff;font-size:11px;box-shadow:0 0 8px #865ee466}
.breed-form{position:relative;gap:14px;margin-top:14px}.breed-parent{position:relative;min-height:205px;padding:0;overflow:hidden;border-color:#3d5680;background:linear-gradient(145deg,#172741,#0c1728 64%);box-shadow:inset 0 1px #ffffff12,0 8px 18px #0003;transition:border-color .18s,transform .18s}.breed-parent:hover{border-color:#7f62c8;transform:translateY(-1px)}.breed-parent:before{content:"";position:absolute;right:-32px;bottom:-52px;width:155px;height:155px;border-radius:50%;background:radial-gradient(circle,#6552b327,transparent 68%)}
.breed-parent-head{position:relative;z-index:1;margin:0;padding:9px 12px;border-bottom:1px solid #314867;background:#101d31}.breed-parent-head span{display:inline-flex;padding:3px 7px;border:1px solid #327b89;border-radius:5px;background:#102d38;color:#82e7ef;font-size:9px}.breed-parent-head strong{color:#ffe394;font-size:11px;letter-spacing:.08em}.breed-select{position:relative;z-index:1;margin:10px;width:calc(100% - 20px);border-color:#45648f;background:#08111e;color:#eff7ff;box-shadow:inset 0 1px 2px #0008}.breed-select:focus{outline:0;border-color:#ddaf47;box-shadow:0 0 0 2px #dca63c2b}
.breed-parent-empty{min-height:106px;margin:0 10px;border:1px dashed #3b5374;border-radius:10px;background:repeating-linear-gradient(45deg,#0b1423,#0b1423 8px,#0d1828 8px,#0d1828 16px);font-size:12px}.breed-parent-empty:before{content:"✦";display:block;margin-bottom:5px;color:#6956b3;font-size:25px}.breed-parent-detail{position:relative;z-index:1;min-height:93px;margin:5px 10px 10px;padding:9px 10px;border:1px solid #48648a;border-radius:11px;background:linear-gradient(90deg,#0b1525cc,#1a1830b8);box-shadow:inset 0 1px #ffffff0d}.breed-parent-detail>canvas{flex:0 0 auto;width:62px!important;height:62px!important;padding:4px;border:1px solid #866bdb;border-radius:12px;background:radial-gradient(circle,#443375,#10182a 68%);image-rendering:pixelated;filter:drop-shadow(0 4px 4px #0009)}.breed-parent-detail>div{gap:5px}.breed-parent-detail strong{font-size:17px;color:#fff5d0}.breed-parent-detail strong small{color:#9cb4d3}.breed-parent-detail span{font-size:11px;color:#b8c7de}.breed-parent-detail b{color:#8aefb0}
.breed-preview{grid-column:1/3;min-height:46px;align-items:center;justify-content:space-evenly;border-color:#425d83;background:linear-gradient(90deg,#111f34,#132237)}.breed-preview:before{content:"✦ Prévia do cruzamento";color:#8fdcf5;font-size:11px;font-weight:800;letter-spacing:.05em}.breed-preview.ok{border-color:#4da875;background:linear-gradient(90deg,#112d29,#15312e 55%,#19283b)}.breed-preview.ok:before{color:#90efb4}.breed-preview span{padding:2px 8px;border-left:1px solid #46617d;font-size:11px}.breed-preview span:nth-of-type(1){border-left:0}.breed-everstone{display:flex;align-items:center;min-height:37px;padding:0 9px;border:1px solid #4c416b;border-radius:8px;background:#18162a;color:#d9cafc}.breed-stone-parent{min-height:37px;max-width:none;border-color:#4c416b;background:#121526}.breed-btn.primary{min-height:46px;border:0;border-radius:10px;background:linear-gradient(100deg,#b36919,#ffd353 52%,#c98a20);box-shadow:inset 0 1px #fff7bb99,0 7px 15px #0007;color:#241606;text-shadow:0 1px #fff1a3;font-size:13px}.breed-btn.primary:hover{transform:translateY(-1px);box-shadow:inset 0 1px #fff7bb99,0 9px 19px #0009}.breed-form>small{padding-left:4px;color:#8498b5}
.breed-active{position:relative;overflow:hidden;padding:16px;border-color:#8a67ce;background:linear-gradient(120deg,#171d3d,#111b2e 50%,#23172c)}.breed-active:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 18%,#ffffff08 40%,transparent 62%);transform:translateX(-100%);animation:breed-scan 3.6s linear infinite}.breed-status{position:relative}.breed-status strong{font-size:21px}.breed-progress{position:relative;height:13px;border-color:#516a91;background:#07101c;box-shadow:inset 0 2px 5px #0009}.breed-progress i{background:linear-gradient(90deg,#4bd490,#a978ed 54%,#ffe26c);box-shadow:0 0 13px #bd87ef88}.breed-active-bottom{position:relative}.breed-active small{position:relative}.breed-ready{border-color:#5b4a7b;background:linear-gradient(145deg,#151c30,#151426)}.breed-ready h4{display:flex;align-items:center;gap:7px;color:#ffe58d}.breed-ready h4:before{content:"";width:8px;height:8px;border-radius:50%;background:#75ecaf;box-shadow:0 0 10px #75ecaf}.breed-ready-row{padding:10px 4px}.breed-ready-row b{color:#fff1b4}
.breed-eggs{border-color:#54477c;background:linear-gradient(145deg,#151b31,#101827)}.breed-eggs-title{padding-bottom:10px;border-bottom:1px solid #314761}.breed-egg{position:relative;overflow:hidden;padding:13px 14px;border-color:#455f8b;background:linear-gradient(110deg,#14233b,#10182b 55%,#261a35)}.breed-egg:after{content:"";position:absolute;right:-25px;top:-35px;width:145px;height:145px;border-radius:50%;background:radial-gradient(circle,#aa7ded31,transparent 67%)}.breed-egg-top{position:relative;z-index:1}.breed-egg-top>span{display:grid;place-items:center;flex:0 0 52px;width:52px;height:52px;border:1px solid #af8bf3;border-radius:50% 50% 46% 46%;background:radial-gradient(circle at 34% 24%,#fff6b5 0 8%,#e7b4ff 9% 22%,#7359c6 23% 46%,#241b4a 47%);box-shadow:0 0 16px #a77be466;color:transparent;transform:rotate(-9deg)}.breed-egg-top>span:after{content:"✦";color:#fff0a0;font-size:18px;filter:drop-shadow(0 1px #4b2574)}.breed-egg-top b{font-size:14px}.breed-egg .breed-progress{height:9px}.breed-egg small{position:relative;z-index:1}.breed-btn.hatch{min-width:85px;border:0;background:linear-gradient(135deg,#20a56a,#8be36e);box-shadow:inset 0 1px #efffbd99,0 5px 12px #0006;color:#071b11}
@keyframes breed-scan{to{transform:translateX(100%)}}
@media(max-width:720px){#modal.breeding-modal{width:calc(100vw - 14px);max-height:calc(100dvh - 14px)}#modal.breeding-modal #modal-body{padding:9px 10px 12px}.breed-header{min-height:0;padding:13px}.breed-header:after{display:none}.breed-header p{font-size:12px}.breed-level{min-width:102px}.breed-slot-info span{min-width:0;text-align:left}.breed-preview{justify-content:flex-start}.breed-preview:before{width:100%;margin-bottom:3px}.breed-preview span{border-left:0;padding:2px 6px}.breed-parent-detail>canvas{width:54px!important;height:54px!important}.breed-parent-detail strong{font-size:15px}}
@media(max-width:540px){.breed-header{display:grid;grid-template-columns:1fr auto;gap:8px}.breed-header h3{font-size:20px}.breed-kicker{font-size:8px}.breed-level{padding:7px 9px;min-width:83px}.breed-level b{font-size:19px}.breed-level:before{display:none}.breed-tabs{margin-top:9px}.breed-tabs button{padding:9px 8px;font-size:12px}.breed-guide{grid-template-columns:1fr;gap:2px;padding:6px}.breed-form{grid-template-columns:1fr;gap:10px}.breed-parent{min-height:190px}.breed-preview,.breed-everstone,.breed-stone-parent,.breed-btn.primary,.breed-form>small{grid-column:1}.breed-preview{display:block}.breed-preview span{display:inline-block;border:0;padding:3px 2px;margin-right:6px}.breed-slot-info{gap:4px}.breed-slot-info span{padding:2px 4px;font-size:11px}.breed-parent-detail{min-height:79px}.breed-parent-detail>canvas{width:50px!important;height:50px!important}.breed-parent-detail span{font-size:10px}.breed-active{padding:12px}.breed-status strong{font-size:17px}.breed-active-bottom{flex-direction:row;align-items:center}.breed-active-bottom .breed-btn{width:auto}.breed-ready-row{flex-direction:row;align-items:center}.breed-ready-row .breed-btn{width:auto}.breed-egg{padding:11px}.breed-egg-top>span{flex-basis:45px;width:45px;height:45px}.breed-btn.hatch{min-width:70px;padding:8px 7px}}
/* Aviso persistente dentro da Incubadora: falta de Essence, Gold, Diamantes ou Everstone. */
.breed-chrono-actions{position:relative;z-index:2;display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.breed-btn.chrono{min-width:138px;border-color:#4c89be;background:linear-gradient(135deg,#153b67,#287eb5);box-shadow:inset 0 1px #dbf8ff66,0 4px 10px #0006;color:#eaf8ff}.breed-btn.chrono i{display:block;margin-top:2px;color:#bdeeff;font-style:normal;font-size:10px}.breed-btn.chrono-chrono-core{border-color:#cf9d44;background:linear-gradient(135deg,#725016,#c88c25);color:#fff5d7}.breed-btn.chrono-chrono-core i{color:#fff2bb}.breed-btn.chrono-chrono-shard{border-color:#7288c8;background:linear-gradient(135deg,#303e82,#5d74c7)}@media(max-width:540px){.breed-chrono-actions{display:grid;grid-template-columns:1fr}.breed-btn.chrono{width:100%}}
.breed-accelerator-label{display:block;flex-basis:100%;color:#cdb4ff;font-weight:800;font-size:11px}.breed-btn.genesis{min-width:138px;border-color:#9367df;background:linear-gradient(135deg,#37205f,#7547c7);box-shadow:inset 0 1px #ecdfff55,0 4px 10px #0006;color:#fbf5ff}.breed-btn.genesis i{display:block;margin-top:2px;color:#eadcff;font-style:normal;font-size:10px}.breed-btn.genesis:hover{filter:brightness(1.12)}@media(max-width:540px){.breed-btn.genesis{width:100%}}
.breed-hatch-result{position:relative;display:flex;align-items:center;gap:14px;min-height:88px;padding:13px 46px 13px 15px;margin:0 0 12px;border:1px solid #d9ae43;border-radius:13px;background:radial-gradient(circle at 13% 50%,#f7c74638,transparent 31%),linear-gradient(135deg,#1d2842,#132038);box-shadow:inset 0 1px #fff3af33,0 7px 18px #0005}.breed-hatch-result>canvas{width:62px!important;height:62px!important;image-rendering:pixelated;filter:drop-shadow(0 0 8px #ffd95b88)}.breed-hatch-copy{flex:1;min-width:0}.breed-hatch-copy>span{display:block;color:#ffdb67;font-size:10px;font-weight:900;letter-spacing:.8px}.breed-hatch-copy h4{margin:2px 0;color:#fff4c1;font-size:19px}.breed-hatch-copy h4 small{color:#aebbd3;font-size:12px}.breed-hatch-copy p{margin:0;color:#c6d3e6;font-size:12px}.breed-hatch-stats{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.breed-hatch-stats i{padding:3px 6px;border:1px solid #50678c;border-radius:6px;background:#0a1322a8;color:#dceaff;font-style:normal;font-size:10px}.breed-hatch-result button{position:absolute;right:10px;top:9px;width:26px;height:26px;border:0;border-radius:7px;background:#ffffff12;color:#e6edf9;font:700 20px/22px system-ui;cursor:pointer}.breed-hatch-result button:hover{background:#ffffff28}@media(max-width:540px){.breed-hatch-result{gap:9px;padding:10px 37px 10px 10px}.breed-hatch-result>canvas{width:48px!important;height:48px!important}.breed-hatch-copy h4{font-size:16px}.breed-hatch-copy p{font-size:11px}}
.breed-level{grid-template-columns:auto auto;min-width:190px}.breed-level-xp{grid-column:1/3;height:6px;overflow:hidden;margin-top:5px;border:1px solid #4d6091;border-radius:99px;background:#080e1b}.breed-level-xp i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#5bdb9e,#a77bff,#ffdf67);box-shadow:0 0 8px #9f81ff99}.breed-level em{grid-column:1/3;color:#aebddb;font-size:10px;font-style:normal}.breed-level-next{grid-column:1/3;display:grid;gap:2px;margin-top:3px;padding-top:4px;border-top:1px solid #ffffff12;text-align:left}.breed-level-next span{color:#8ee7b2;font-size:9px;line-height:1.2}.breed-valid-targets{position:relative;z-index:1;margin-top:10px;padding:9px 10px;border:1px solid #386188;border-radius:9px;background:linear-gradient(110deg,#0d2034,#13223a);color:#b8c9df;font-size:11px}.breed-valid-targets>b{display:block;margin-bottom:3px;color:#8fe0ff;font-size:11px}.breed-valid-targets strong{color:#ffe377}.breed-target-list{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.breed-target-list i{padding:3px 6px;border:1px solid #3f6290;border-radius:99px;background:#0b1728;color:#d6e8ff;font-size:10px;font-style:normal}.breed-target-list i:last-child{border-color:#7757b4;color:#d2c0ff}@media(max-width:720px){.breed-level{min-width:160px}.breed-level-next{display:none}}@media(max-width:540px){.breed-level{min-width:94px}.breed-level-xp,.breed-level em{grid-column:1/3}.breed-level em{font-size:9px}.breed-valid-targets{font-size:10px}.breed-target-list i{font-size:9px}}
.breed-shiny-odds{border-color:#8d6fe0!important;background:#2d20511f;color:#e3d5ff}.breed-shiny-odds b{color:#f0d2ff!important}.breed-shiny-odds i{margin-left:2px;color:#bba9dc;font-size:10px;font-style:normal}
.breed-inline-alert{grid-column:1/3;display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:9px;padding:10px 11px;border:1px solid #e47248;border-radius:10px;background:linear-gradient(100deg,#3a1d1d,#25172a);box-shadow:inset 0 1px #ffd3b41a,0 5px 14px #0005;color:#ffd6c2}.breed-inline-alert>span{display:grid;place-items:center;width:23px;height:23px;border:1px solid #ffb470;border-radius:50%;background:#613020;color:#ffe6c6;font-size:13px;font-weight:900}.breed-inline-alert b{display:block;color:#ffe1a0;font-size:12px}.breed-inline-alert p{margin:2px 0 0;color:#f1c2bd;font-size:12px;line-height:1.35}.breed-inline-alert button{width:24px;height:24px;padding:0;border:0;border-radius:7px;background:#ffffff12;color:#ffe1d2;font:700 19px/20px system-ui;cursor:pointer}.breed-inline-alert button:hover{background:#ffffff24}
@media(max-width:540px){.breed-inline-alert{grid-column:1}.breed-inline-alert p{font-size:11px}}
/* Pagamento da Incubadora: Gold ou Diamantes. */
.breed-payment{grid-column:1/3;padding:10px;border:1px solid #405b82;border-radius:10px;background:linear-gradient(100deg,#101d31,#172238)}
.breed-payment-title{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:8px;color:#e9f3ff}.breed-payment-title small{color:#80e4bb;font-size:11px}
.breed-payment-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.breed-payment-options button{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:7px;min-height:42px;padding:7px 10px;border:1px solid #496485;border-radius:8px;background:#101827;color:#c9d8ed;font:700 12px system-ui,sans-serif;cursor:pointer;text-align:left}.breed-payment-options button span{color:#93a8c5}.breed-payment-options button b{color:#ffe17d;font-size:14px}.breed-payment-options button.selected{border-color:#e2b13b;background:linear-gradient(100deg,#3f2c14,#573d18);box-shadow:inset 0 0 0 1px #ffe37a22,0 0 12px #d99b2333}.breed-payment-options button.diamond.selected{border-color:#63c8f1;background:linear-gradient(100deg,#12374d,#17304d);box-shadow:inset 0 0 0 1px #a4efff22,0 0 12px #3bc2f244}.breed-payment-options button.diamond b{color:#81e9ff}
@media(max-width:540px){.breed-payment{grid-column:1}.breed-payment-title{align-items:flex-start;flex-direction:column;gap:2px}.breed-payment-options{grid-template-columns:1fr}}

/* Incubadora — camada final Laranja Neon.
   O CSS histórico desta tela era carregado depois do tema dos sistemas e
   reintroduzia azul/roxo. Estas regras ficam no fim para manter a paleta única. */
#modal.breeding-modal.pokemon-system-modal{width:min(760px,94vw)!important;max-height:min(740px,88vh)!important;background:linear-gradient(145deg,#15110d,#0a1012)!important;border-color:#6a3b1b!important;border-top-color:#ff7900!important;color:#eee1d2!important}
#modal.breeding-modal.pokemon-system-modal .breed-head,#modal.breeding-modal.pokemon-system-modal .breed-header{background:linear-gradient(100deg,rgba(255,103,0,.16),transparent 68%)!important;border-color:#59361f!important;color:#ffb45d!important}
#modal.breeding-modal.pokemon-system-modal .breed-head:before,#modal.breeding-modal.pokemon-system-modal .breed-head:after,#modal.breeding-modal.pokemon-system-modal .breed-header:before,#modal.breeding-modal.pokemon-system-modal .breed-header:after{background:#ff7900!important;box-shadow:0 0 8px rgba(255,121,0,.45)!important}
#modal.breeding-modal.pokemon-system-modal .breed-head h2,#modal.breeding-modal.pokemon-system-modal .breed-header h2,#modal.breeding-modal.pokemon-system-modal .breed-head b,#modal.breeding-modal.pokemon-system-modal .breed-header b{color:#ffb45d!important}
#modal.breeding-modal.pokemon-system-modal .breed-head p,#modal.breeding-modal.pokemon-system-modal .breed-header p,#modal.breeding-modal.pokemon-system-modal .breed-head small,#modal.breeding-modal.pokemon-system-modal .breed-header small{color:#b9a99a!important}
#modal.breeding-modal.pokemon-system-modal .breed-tabs{border-color:#593820!important;background:#101514!important}
#modal.breeding-modal.pokemon-system-modal .breed-tabs button{border-color:#59371f!important;background:#101518!important;color:#cbb9a6!important}
#modal.breeding-modal.pokemon-system-modal .breed-tabs button.active,#modal.breeding-modal.pokemon-system-modal .breed-tabs button.on{border-color:#ff7900!important;background:linear-gradient(135deg,#7e3608,#30170a)!important;color:#fff0df!important;box-shadow:0 0 9px rgba(255,105,0,.18)!important}
#modal.breeding-modal.pokemon-system-modal .breeding-panel,#modal.breeding-modal.pokemon-system-modal .breed-main,#modal.breeding-modal.pokemon-system-modal .breed-guide,#modal.breeding-modal.pokemon-system-modal .breed-form,#modal.breeding-modal.pokemon-system-modal .breed-parent,#modal.breeding-modal.pokemon-system-modal .breed-parent-card,#modal.breeding-modal.pokemon-system-modal .breed-picker,#modal.breeding-modal.pokemon-system-modal .breed-egg,#modal.breeding-modal.pokemon-system-modal .breed-egg-card{background:linear-gradient(145deg,#17120e,#0d1416)!important;border-color:#593820!important;color:#e6d9cb!important}
#modal.breeding-modal.pokemon-system-modal .breed-guide h3,#modal.breeding-modal.pokemon-system-modal .breed-parent h3,#modal.breeding-modal.pokemon-system-modal .breed-picker h3,#modal.breeding-modal.pokemon-system-modal .breed-egg h3,#modal.breeding-modal.pokemon-system-modal .breed-egg-card h3{color:#ffb45d!important}
#modal.breeding-modal.pokemon-system-modal .breed-guide p,#modal.breeding-modal.pokemon-system-modal .breed-parent p,#modal.breeding-modal.pokemon-system-modal .breed-picker p,#modal.breeding-modal.pokemon-system-modal .breed-egg p,#modal.breeding-modal.pokemon-system-modal .breed-egg-card p{color:#b9a99a!important}
#modal.breeding-modal.pokemon-system-modal .breed-parent.selected,#modal.breeding-modal.pokemon-system-modal .breed-parent-card.selected,#modal.breeding-modal.pokemon-system-modal .breed-picker button.selected{border-color:#ff7900!important;background:linear-gradient(145deg,#301a0b,#15110d)!important;box-shadow:0 0 10px rgba(255,105,0,.19)!important}
#modal.breeding-modal.pokemon-system-modal .breed-parent-head{justify-content:center!important}
#modal.breeding-modal.pokemon-system-modal .breed-parent-head strong{color:#ffca74!important;text-align:center!important}
#modal.breeding-modal.pokemon-system-modal .breed-btn,#modal.breeding-modal.pokemon-system-modal .breed-actions button{border-color:#ff7900!important;background:linear-gradient(135deg,#ff6b08,#c94b05)!important;color:#240f04!important;box-shadow:inset 0 1px rgba(255,242,220,.3),0 4px 10px rgba(0,0,0,.3)!important}
#modal.breeding-modal.pokemon-system-modal .breed-btn i,#modal.breeding-modal.pokemon-system-modal .breed-actions button i{color:#321305!important}
#modal.breeding-modal.pokemon-system-modal .breed-btn.chrono,#modal.breeding-modal.pokemon-system-modal .breed-btn.genesis,#modal.breeding-modal.pokemon-system-modal .breed-btn.chrono-chrono-core,#modal.breeding-modal.pokemon-system-modal .breed-btn.chrono-chrono-shard{border-color:#ff8a16!important;background:linear-gradient(135deg,#733108,#d65a06)!important;color:#fff0d7!important}
#modal.breeding-modal.pokemon-system-modal .breed-btn.chrono i,#modal.breeding-modal.pokemon-system-modal .breed-btn.genesis i{color:#ffe0b1!important}
#modal.breeding-modal.pokemon-system-modal .breed-progress,#modal.breeding-modal.pokemon-system-modal .breed-progress.egg{border-color:#593820!important;background:#080d0e!important}
#modal.breeding-modal.pokemon-system-modal .breed-progress i,#modal.breeding-modal.pokemon-system-modal .breed-progress.egg i{background:linear-gradient(90deg,#ff6b08,#ffc35b)!important;box-shadow:0 0 8px rgba(255,121,0,.42)!important}
#modal.breeding-modal.pokemon-system-modal .breed-level,#modal.breeding-modal.pokemon-system-modal .breed-level-xp,#modal.breeding-modal.pokemon-system-modal .breed-valid-targets,#modal.breeding-modal.pokemon-system-modal .breed-payment{border-color:#593820!important;background:linear-gradient(145deg,#15110d,#0d1416)!important;color:#d9cbbc!important}
#modal.breeding-modal.pokemon-system-modal .breed-level-xp i{background:linear-gradient(90deg,#ff6b08,#ffc35b)!important;box-shadow:0 0 8px rgba(255,121,0,.42)!important}
#modal.breeding-modal.pokemon-system-modal .breed-valid-targets>b,#modal.breeding-modal.pokemon-system-modal .breed-payment-title,#modal.breeding-modal.pokemon-system-modal .breed-payment-options button b{color:#ffb45d!important}
#modal.breeding-modal.pokemon-system-modal .breed-target-list i,#modal.breeding-modal.pokemon-system-modal .breed-payment-options button{border-color:#593820!important;background:#101518!important;color:#ddcdbd!important}
#modal.breeding-modal.pokemon-system-modal .breed-target-list i:last-child,#modal.breeding-modal.pokemon-system-modal .breed-payment-options button.selected,#modal.breeding-modal.pokemon-system-modal .breed-payment-options button.diamond.selected{border-color:#ff7900!important;background:linear-gradient(135deg,#4a2109,#21150c)!important;color:#fff0df!important;box-shadow:0 0 9px rgba(255,105,0,.16)!important}
#modal.breeding-modal.pokemon-system-modal .breed-payment-options button.diamond b,#modal.breeding-modal.pokemon-system-modal .breed-payment-options button span{color:#ffbe7a!important}
#modal.breeding-modal.pokemon-system-modal .breed-hatch-result{border-color:#a95713!important;background:radial-gradient(circle at 13% 50%,rgba(255,144,24,.2),transparent 31%),linear-gradient(135deg,#271609,#121516)!important}
#modal.breeding-modal.pokemon-system-modal .breed-hatch-copy>span,#modal.breeding-modal.pokemon-system-modal .breed-hatch-copy h4{color:#ffbd68!important}
#modal.breeding-modal.pokemon-system-modal .breed-hatch-copy h4 small,#modal.breeding-modal.pokemon-system-modal .breed-hatch-copy p,#modal.breeding-modal.pokemon-system-modal .breed-hatch-stats i{color:#c9b9a8!important;border-color:#593820!important;background:#11130f!important}
#modal.breeding-modal.pokemon-system-modal .breed-shiny-odds{border-color:#a95713!important;background:rgba(100,47,10,.18)!important;color:#ffcf97!important}

/* Aba EXP Share no hub Meus Pokémons e Sistemas. */
.exp-share-system{display:grid;gap:8px}
.exp-share-card{display:grid;gap:8px;padding:12px;border:1px solid #593820;border-radius:11px;background:linear-gradient(145deg,#17120e,#0d1416);color:#e8dbcc}
.exp-share-level{display:grid;gap:3px;text-align:center;padding:7px;border:1px solid #633a1d;border-radius:9px;background:radial-gradient(circle at 50% 0,rgba(255,117,0,.16),transparent 64%),#111513}
.exp-share-level>b{color:#ffb45d;font-size:15px}.exp-share-level small{color:#b9a99a;font-size:10px}
.exp-share-stars{color:#54311c;letter-spacing:3px;font-size:18px}.exp-share-stars .on{color:#ffad39;text-shadow:0 0 8px rgba(255,135,13,.45)}
.exp-share-rates{display:grid;grid-template-columns:1fr 1fr;gap:7px}.exp-share-rates>div,.exp-share-next{display:grid;gap:3px;padding:9px;border:1px solid #593820;border-radius:8px;background:#101514}.exp-share-rates span,.exp-share-next span{color:#b9a99a;font-size:10px}.exp-share-rates b,.exp-share-next>b{color:#ffbd73;font-size:12px}
.exp-share-pokes{display:flex;align-items:center;gap:3px;min-height:24px;margin-top:2px;color:#8f8073;font-size:9px}.exp-share-poke{display:grid;place-items:center;width:24px;height:24px;border:1px solid #62391d;border-radius:6px;background:#0b1011}.exp-share-poke canvas{width:22px!important;height:22px!important;image-rendering:pixelated}
.exp-share-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:4px}.exp-share-actions button{min-height:32px;border:1px solid #ff7900;border-radius:7px;background:linear-gradient(135deg,#ff6b08,#c94b05);color:#260f04;font:800 10px system-ui,sans-serif;cursor:pointer}.exp-share-actions button.diamond{background:#11191c;color:#ffbf7b}.exp-share-actions button:disabled{opacity:.43;cursor:not-allowed}.exp-share-max{padding:9px;border:1px solid #725020;border-radius:8px;background:#17130c;color:#ffd78d;text-align:center;font-size:11px}
@media(max-width:520px){.exp-share-rates,.exp-share-actions{grid-template-columns:1fr}}

/* Ficha de Meus Pokémons: os textos dos Moves são informação de combate,
   portanto nunca podem sumir atrás de reticências. A grade usa menos colunas
   e cada card acomoda suas três linhas completas. */
.bx2-moves.bx2-move-cards{grid-template-columns:repeat(auto-fit,minmax(142px,1fr))!important;gap:6px!important}
.bx2-move-card{min-height:88px!important;padding:6px!important;grid-template-columns:32px minmax(0,1fr)!important;grid-template-rows:auto auto minmax(22px,auto)!important;column-gap:6px!important;row-gap:3px!important;align-items:start!important}
.bx2-move-icon{grid-row:1 / 4!important;width:30px!important;height:30px!important;align-self:center!important}
.bx2-move-card b,.bx2-move-card span,.bx2-move-card small{overflow:visible!important;text-overflow:clip!important;white-space:normal!important;word-break:normal!important;overflow-wrap:anywhere!important}
.bx2-move-card b{font-size:10px!important;line-height:1.18!important}
.bx2-move-card span,.bx2-move-card small{font-size:8px!important;line-height:1.2!important}
@media(max-width:700px){.bx2-moves.bx2-move-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:440px){.bx2-moves.bx2-move-cards{grid-template-columns:1fr!important}.bx2-move-card{min-height:76px!important}}

/* Simulador de Meus Pokémons e Sistemas: sempre calcula no servidor e não grava alterações. */
.poke-sim{display:grid;gap:7px;padding:9px;border:1px solid #75411c;border-radius:10px;background:radial-gradient(circle at 96% 0,rgba(255,122,0,.16),transparent 35%),linear-gradient(135deg,#18120d,#0b1215);box-shadow:inset 0 1px rgba(255,182,89,.08)}.poke-sim>header{display:flex;align-items:center;justify-content:space-between;gap:9px}.poke-sim>header>div{display:grid;gap:1px}.poke-sim>header span{color:#ff8c2b;font:800 8px system-ui,sans-serif;letter-spacing:.12em}.poke-sim>header b{color:#ffe1bd;font:800 12px system-ui,sans-serif}.poke-sim>header small{color:#a99686;font:9px system-ui,sans-serif}.poke-sim>header canvas,.poke-sim>header img{width:38px!important;height:38px!important;image-rendering:pixelated}.poke-sim-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto auto;gap:5px;align-items:end}.poke-sim-form label{display:grid;gap:3px;min-width:0;color:#c9ad90;font:800 8px system-ui,sans-serif}.poke-sim-form input,.poke-sim-form select{min-width:0;height:27px;box-sizing:border-box;padding:0 6px;border:1px solid #61391e;border-radius:6px;outline:0;background:#0a1011;color:#ffe0be;font:800 10px system-ui,sans-serif}.poke-sim-form input:focus,.poke-sim-form select:focus{border-color:#ff7900;box-shadow:0 0 0 2px rgba(255,119,0,.13)}.poke-sim-form button{height:27px;padding:0 8px;border:1px solid #e86e0c;border-radius:6px;background:linear-gradient(135deg,#ff7900,#bd4404);color:#2b1103;font:800 9px system-ui,sans-serif;cursor:pointer;white-space:nowrap}.poke-sim-form button.ghost{border-color:#60381e;background:#111617;color:#dfbf9d}.poke-sim-form button:disabled{opacity:.55;cursor:wait}.poke-sim-result{display:grid;gap:5px;min-height:22px;padding:6px 8px;border:1px solid #4d321f;border-radius:7px;background:rgba(7,12,13,.76);color:#b8a696;font:9px system-ui,sans-serif}.poke-sim-result>span b,.poke-sim-summary b{color:#ffbe71}.poke-sim-summary{display:flex;justify-content:space-between;gap:8px;align-items:baseline}.poke-sim-summary span{color:#bca792;font-size:8px;text-align:right}.poke-sim-stats{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:4px}.poke-sim-stats span{display:grid;gap:1px;padding:4px;border:1px solid #442d1d;border-radius:5px;background:#111516;text-align:center}.poke-sim-stats i{color:#a58f79;font:700 7px system-ui,sans-serif;font-style:normal}.poke-sim-stats b{color:#f6d5ae;font:800 9px system-ui,sans-serif}.poke-sim-error{color:#ff9a8e}@media(max-width:760px){.poke-sim-form{grid-template-columns:repeat(2,minmax(0,1fr))}.poke-sim-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.poke-sim-summary{display:grid;gap:2px}.poke-sim-summary span{text-align:left}}@media(max-width:420px){.poke-sim-form{grid-template-columns:1fr}.poke-sim-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Box contínua: blocos leves no servidor, uma única coleção para o treinador. */
.bxp-autoload{display:flex;justify-content:center;align-items:center;min-height:30px;margin-top:7px;border:1px dashed #70421f;border-radius:7px;background:linear-gradient(90deg,rgba(255,111,0,.08),rgba(11,17,18,.8));color:#d7a66d;font:800 9px system-ui,sans-serif;letter-spacing:.02em}

/* Composição final — Meus Pokémons e Sistemas: coleção compacta Laranja Neon. */
#modal.bxp-modal.pokemon-system-modal{width:min(735px,94vw);max-height:min(720px,87vh);border-color:#8a4314;background:linear-gradient(145deg,#101213,#080d0f);box-shadow:0 20px 58px #000b,0 0 22px rgba(255,106,0,.16)}
#modal.bxp-modal.pokemon-system-modal #modal-body{padding:7px 8px 10px;scrollbar-color:#c65a0a #0a0e0f}
#modal.bxp-modal.pokemon-system-modal .bx2{grid-template-columns:58px minmax(0,1fr);gap:6px}
#modal.bxp-modal.pokemon-system-modal .bx2-team{width:58px;padding:5px 3px;border-color:#6d3515;background:linear-gradient(180deg,#1a100a,#0a1011)}
#modal.bxp-modal.pokemon-system-modal .bx2-teamhd{min-height:14px;margin-bottom:4px}
#modal.bxp-modal.pokemon-system-modal .bx2-teamhd b{color:#ff9c42;font-size:7px}
#modal.bxp-modal.pokemon-system-modal .bx2 .bx2-tslots{gap:4px}
#modal.bxp-modal.pokemon-system-modal .bx2 .bx2-tslot{flex-basis:45px;width:45px;height:45px;border-radius:7px}
#modal.bxp-modal.pokemon-system-modal .bx2 .bx2-tslot>canvas{transform:scale(.68)}
#modal.bxp-modal.pokemon-system-modal .bx2-main{gap:6px}
#modal.bxp-modal.pokemon-system-modal .bx2 .bx2-det{padding:7px;border-color:#703714;border-radius:9px;background:radial-gradient(circle at 96% 3%,rgba(255,113,0,.12),transparent 28%),linear-gradient(135deg,#16100b,#0b1112)}
#modal.bxp-modal.pokemon-system-modal .bx2 .bx2-det .eq-head{grid-template-columns:59px minmax(0,1fr);gap:7px;padding-bottom:5px}
#modal.bxp-modal.pokemon-system-modal .bx2 .bx2-det .eq-head>canvas,#modal.bxp-modal.pokemon-system-modal .bx2 .bx2-det .eq-head>img{width:52px!important;height:52px!important;padding:2px;box-shadow:0 0 10px rgba(255,112,0,.2)}
#modal.bxp-modal.pokemon-system-modal .bx2 .bx2-det .eq-head b{font-size:13px!important}
#modal.bxp-modal.pokemon-system-modal .bx2 .badge{padding:1px 4px;font-size:7.5px}
#modal.bxp-modal.pokemon-system-modal .bx2-stats{gap:3px;margin-top:5px}
#modal.bxp-modal.pokemon-system-modal .bx2-stat{padding:3px;border-radius:5px}
#modal.bxp-modal.pokemon-system-modal .bx2-stat span{font-size:7px}
#modal.bxp-modal.pokemon-system-modal .bx2-stat b{font-size:9px}
#modal.bxp-modal.pokemon-system-modal .bx2-moves[style*="display: none"]{display:none!important}
#modal.bxp-modal.pokemon-system-modal .bx2-moves{margin-top:4px}
#modal.bxp-modal.pokemon-system-modal .bx2-move{padding:2px 4px;font-size:8px}
#modal.bxp-modal.pokemon-system-modal .bx2-grptit{margin-top:5px;padding-bottom:2px;color:#ff9b40;font-size:7.5px}
#modal.bxp-modal.pokemon-system-modal .bx2 .eq-actions.bx2-grp{gap:3px;margin-top:3px}
#modal.bxp-modal.pokemon-system-modal .bx2 .eq-actions .btn{min-height:24px;padding:2px 3px;border-color:#673516;background:#111719;color:#ead8c5;font-size:7.5px}
#modal.bxp-modal.pokemon-system-modal .bx2-boxcol{padding:7px;border-color:#703714;border-radius:9px;background:linear-gradient(145deg,#12100d,#091011)}
#modal.bxp-modal.pokemon-system-modal .bx2-boxhd{margin-bottom:5px;padding-bottom:4px}
#modal.bxp-modal.pokemon-system-modal .bx2-boxhd b{color:#ff9c42;font-size:11px}
#modal.bxp-modal.pokemon-system-modal .bx2-boxn{font-size:8.5px}
#modal.bxp-modal.pokemon-system-modal .bx2-bar{grid-template-columns:minmax(120px,1fr) 78px 86px auto auto auto;gap:4px}
#modal.bxp-modal.pokemon-system-modal .bx2-busca,#modal.bxp-modal.pokemon-system-modal .bx2-sel,#modal.bxp-modal.pokemon-system-modal .bx2-chip{min-height:24px;padding:2px 5px;border-color:#593016;border-radius:6px;background:#090f10;color:#e8d8c7;font-size:8px}
#modal.bxp-modal.pokemon-system-modal .bx2-chip.on{border-color:#ff7900;background:rgba(255,105,0,.15);color:#ffd29a}
#modal.bxp-modal.pokemon-system-modal .bx2-grid{grid-template-columns:repeat(10,minmax(0,1fr));gap:3px;max-height:none!important;overflow:visible!important;padding:1px}
#modal.bxp-modal.pokemon-system-modal .bx2-cell{min-height:50px;aspect-ratio:1/1;border-color:#492b19;border-radius:6px;background:linear-gradient(145deg,#151718,#0a0f10)}
#modal.bxp-modal.pokemon-system-modal .bx2-cell::before{left:5px;right:5px;background:#ff7900;opacity:.66}
#modal.bxp-modal.pokemon-system-modal .bx2-cell>canvas{transform:scale(.62)}
#modal.bxp-modal.pokemon-system-modal .bx2-cell .lv{bottom:2px;padding:0 2px;color:#ffd5a5;font-size:6px}
#modal.bxp-modal.pokemon-system-modal .bx2-cell:hover{transform:translateY(-1px);border-color:#ff7900;box-shadow:0 0 8px rgba(255,111,0,.24)}
#modal.bxp-modal.pokemon-system-modal .bxp-autoload{min-height:25px;margin-top:5px;color:#ffae5a;font-size:8px}
@media(max-width:700px){#modal.bxp-modal.pokemon-system-modal .bx2{display:block}#modal.bxp-modal.pokemon-system-modal .bx2-team{position:static;width:100%;margin-bottom:5px}#modal.bxp-modal.pokemon-system-modal .bx2-teamhd{display:none}#modal.bxp-modal.pokemon-system-modal .bx2 .bx2-tslots{flex-direction:row;width:max-content;min-width:100%;justify-content:flex-start;padding:1px}#modal.bxp-modal.pokemon-system-modal .bx2 .bx2-tslot{flex-basis:43px;width:43px;height:43px}#modal.bxp-modal.pokemon-system-modal .bx2-bar{grid-template-columns:repeat(3,minmax(0,1fr))}#modal.bxp-modal.pokemon-system-modal .bx2-busca{grid-column:1/-1}#modal.bxp-modal.pokemon-system-modal .bx2-grid{grid-template-columns:repeat(7,minmax(0,1fr))}}
@media(max-width:430px){#modal.bxp-modal.pokemon-system-modal .bx2-grid{grid-template-columns:repeat(5,minmax(0,1fr))}#modal.bxp-modal.pokemon-system-modal .bx2-stats{grid-template-columns:repeat(3,1fr)}#modal.bxp-modal.pokemon-system-modal .bx2 .eq-actions.bx2-grp{grid-template-columns:repeat(2,1fr)}}

/* Uma única transição para todas as abas de Meus Pokémons e Sistemas. */
@keyframes pmi-system-tab-in{from{opacity:0;transform:translateY(7px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
#modal.pokemon-system-modal #modal-body>:not(#rr-ov){animation:pmi-system-tab-in .18s ease-out both}
#modal.pokemon-system-modal .nt-root.nt-embedded{position:static!important;inset:auto!important;z-index:auto!important;display:block!important;color:#f2e9e0!important;font:inherit!important}
#modal.pokemon-system-modal .nt-root.nt-embedded .nt-back{display:none!important}
#modal.pokemon-system-modal .nt-root.nt-embedded .nt2-box{position:static!important;width:100%!important;max-height:none!important;margin:0!important;box-sizing:border-box!important;box-shadow:none!important;animation:pmi-system-tab-in .18s ease-out both}
#modal.pokemon-system-modal .nt-root.nt-embedded .nt2-box>.poke-system-tabs{margin-top:6px!important}

/* Inventário V3 — compacto, legível e alinhado ao Laranja Neon. */
#modal.inventory-modal{width:min(820px,94vw);max-height:min(720px,88vh);border-color:#6c3918;background:linear-gradient(145deg,#15100c,#091012);box-shadow:0 22px 65px #000b,0 0 24px rgba(255,102,0,.14)}
#modal.inventory-modal .modal-head{border-color:#5a3018;background:linear-gradient(100deg,rgba(255,101,0,.15),transparent 65%);color:#ffbd73}
#modal.inventory-modal #modal-body{padding:10px 12px 12px}
.bag3{display:grid;gap:8px;color:#e8dccf;font:12px/1.3 Inter,system-ui,sans-serif}
.bag3-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #59361e;border-radius:10px;background:radial-gradient(circle at 9% 0,rgba(255,113,0,.14),transparent 38%),linear-gradient(145deg,#19120d,#0d1415)}
.bag3-head span{color:#e78029;font:900 8px/1 system-ui,sans-serif;letter-spacing:.13em}.bag3-head h3{margin:3px 0 1px;color:#ffbd73;font-size:17px}.bag3-head p{margin:0;color:#aa9c90;font-size:10px}
.bag3-value{display:grid;gap:1px;min-width:116px;padding-left:12px;border-left:1px solid #59361e;text-align:right}.bag3-value small{color:#9d8c7b;font-size:8px;font-weight:800}.bag3-value b{color:#ffc061;font-size:14px}.bag3-value em{color:#a99b8f;font-size:9px;font-style:normal}
.bag3-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}.bag3-controls input{min-width:0;height:33px;box-sizing:border-box;padding:0 10px;border:1px solid #593820;border-radius:8px;outline:0;background:#0d1213;color:#f0e2d5;font:11px system-ui,sans-serif}.bag3-controls input:focus{border-color:#ff7900;box-shadow:0 0 0 2px rgba(255,105,0,.13)}
.bag3-sell-all{display:flex;align-items:center;gap:8px;min-height:33px;padding:0 10px;border:1px solid #ff7900;border-radius:8px;background:linear-gradient(135deg,#ff6e08,#bf4906);color:#281103;font:800 10px system-ui,sans-serif;cursor:pointer}.bag3-sell-all b{color:#421b05;font-size:10px}.bag3-sell-all:disabled{opacity:.43;cursor:not-allowed}
.bag3-tabs{display:flex;gap:5px;overflow:auto;padding-bottom:1px}.bag3-tabs button{display:flex;align-items:center;gap:5px;min-height:28px;padding:0 8px;border:1px solid #4f341f;border-radius:7px;background:#101415;color:#c8b6a4;font:800 9px system-ui,sans-serif;white-space:nowrap;cursor:pointer}.bag3-tabs button i{padding:1px 4px;border-radius:5px;background:#21170f;color:#a99786;font-size:8px;font-style:normal}.bag3-tabs button.on{border-color:#ff7900;background:linear-gradient(135deg,#5c2808,#29150b);color:#fff0df;box-shadow:0 0 9px rgba(255,105,0,.18)}.bag3-tabs button.on i{background:#b94b08;color:#fff1df}
.bag3-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(196px,1fr));gap:7px;min-height:150px;max-height:368px;overflow:auto;padding:2px}
.bag3-head-right{display:flex;align-items:stretch;gap:9px}.bag3-wallet{display:grid;grid-template-columns:repeat(2,minmax(68px,1fr));gap:5px}.bag3-wallet span{display:grid;align-content:center;gap:2px;min-width:72px;padding:5px 7px;border:1px solid #52331e;border-radius:7px;background:#101415;text-align:right}.bag3-wallet i{color:#a99b8e;font-size:8px;font-style:normal;font-weight:800}.bag3-wallet b{color:#ffc061;font-size:11px;white-space:nowrap}.bag3-wallet span:last-child b{color:#62e9ff}.bag3-vip-note{padding:6px 9px;border:1px solid #593820;border-radius:7px;background:linear-gradient(90deg,rgba(255,108,0,.11),rgba(16,20,21,.65));color:#f1bf83;font-size:9px;font-weight:700}.bag3-sections{display:grid;gap:11px;max-height:392px;overflow:auto;padding:2px}.bag3-section{display:grid;gap:8px;padding:9px;border:1px solid #4e321e;border-radius:10px;background:linear-gradient(145deg,rgba(33,22,15,.82),rgba(11,16,17,.9))}.bag3-section>header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 2px;color:#ffb25d}.bag3-section>header b{font-size:10px;text-transform:uppercase;letter-spacing:.06em}.bag3-section>header span{color:#9c8d7e;font-size:8px;font-weight:700}.bag3-section .bag3-grid{grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:9px;min-height:0;max-height:none;overflow:visible;padding:0}.bag3-section-empty{grid-column:1/-1;padding:11px;border:1px dashed #593920;border-radius:7px;color:#9f9183;font-size:9px;text-align:center}
.bag3-item{position:relative;display:grid!important;grid-template-columns:44px minmax(0,1fr);gap:8px;align-items:center;width:auto!important;min-width:0!important;height:auto!important;min-height:76px;padding:8px!important;border:1px solid #51351f;border-radius:9px;background:linear-gradient(145deg,#17130f,#0d1314);color:#ecdfd2;cursor:default;transition:border-color .14s,transform .14s}.bag3-item:hover,.bag3-item:focus{z-index:1;border-color:#e97417;outline:0;transform:translateY(-1px)}.bag3-item.sellable{border-left-color:#b25a12}.bag3-item.locked{border-color:#80602b;background:linear-gradient(145deg,#1c1910,#101412)}.bag3-item.protected{opacity:.76}.bag3-sprite{display:grid;place-items:center;width:42px;height:42px;border:1px solid #7a451f;border-radius:8px;background:radial-gradient(circle at 35% 28%,#24170e,#090e0f 72%);line-height:0}.bag3-sprite canvas,.bag3-sprite img{display:block;width:32px!important;height:32px!important;image-rendering:pixelated}.bag3-copy{display:grid;min-width:0;gap:2px;align-content:center}.bag3-copy b{overflow:hidden;color:#f8e8d9;font-size:11px;line-height:1.15;white-space:nowrap;text-overflow:ellipsis}.bag3-copy small,.bag3-copy em,.bag3-copy u{display:flex;justify-content:space-between;gap:8px;min-width:0;text-decoration:none;font-size:8.5px;line-height:1.2}.bag3-copy small{color:#b9a899}.bag3-copy em{color:#d8b990;font-style:normal}.bag3-copy u{color:#ffad55}.bag3-copy strong{color:#f5e2d0;font-size:inherit}.bag3-copy u strong{color:#ffc16a}.bag3-lock{position:absolute;top:5px;right:6px;font-size:10px;font-style:normal}
.bag3-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-top:-2px}.bag3-actions button{min-height:20px;padding:2px 4px;border:1px solid #633b20;border-radius:5px;background:#111617;color:#d6c0aa;font:800 8px system-ui,sans-serif;cursor:pointer}.bag3-actions .bag3-sell-btn{border-color:#e06c12;background:#532307;color:#ffd4a8}.bag3-actions button:hover{filter:brightness(1.18)}
.bag3-empty{grid-column:1/-1;display:grid;place-items:center;gap:3px;min-height:126px;border:1px dashed #58391f;border-radius:9px;color:#b7a697;text-align:center}.bag3-empty b{color:#ffb15a;font-size:11px}.bag3-empty span{font-size:9px}.bag3-foot{display:flex;justify-content:space-between;gap:8px;padding:7px 9px;border-top:1px solid #402b1b;color:#988a7c;font-size:9px}.bag3-foot span:first-child{color:#e4c58e}.bag3-lock-all{margin-left:auto;min-height:23px;padding:2px 7px;border:1px solid #75421f;border-radius:6px;background:#161514;color:#f4bf82;font:800 8px system-ui,sans-serif;cursor:pointer}.bag3-lock-all:hover{border-color:#ff7900;background:#402008;color:#fff0dc}.bag3-sale-review{max-height:620px}.bag3-sale-tools{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border:1px solid #5a351e;border-radius:8px;background:#101414;color:#d8b68f;font:800 10px Inter,system-ui,sans-serif}.bag3-sale-tools b{color:#ffc166}.bag3-sale-list{display:grid;gap:5px;max-height:340px;overflow:auto}.bag3-sale-row{display:grid;grid-template-columns:auto 34px minmax(0,1fr) 70px;gap:7px;align-items:center;padding:7px;border:1px solid #49301f;border-radius:7px;background:#101313;cursor:pointer}.bag3-sale-row span{min-width:0}.bag3-sale-sprite{display:grid;place-items:center;width:32px;height:32px;border:1px solid #70401f;border-radius:6px;background:#0a0e0f;line-height:0}.bag3-sale-sprite canvas,.bag3-sale-sprite img{display:block;width:26px!important;height:26px!important;image-rendering:pixelated}.bag3-sale-row b,.bag3-sale-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bag3-sale-row b{color:#f1d9bf;font-size:10px}.bag3-sale-row small{margin-top:2px;color:#a98d74;font-size:8px}.bag3-sale-row input[type=number]{width:100%;height:27px;box-sizing:border-box;border:1px solid #6b3b1c;border-radius:6px;outline:0;background:#0a0e0f;color:#ffd19b;text-align:center;font:800 10px Inter,system-ui,sans-serif}.bag3-sale-row input[type=number]:focus{border-color:#ff7900;box-shadow:0 0 0 2px rgba(255,105,0,.14)}
@media(max-width:560px){#modal.inventory-modal #modal-body{padding:8px}.bag3-head{align-items:flex-start}.bag3-head p{display:none}.bag3-head-right{width:100%;display:grid;gap:6px}.bag3-wallet{grid-template-columns:1fr 1fr}.bag3-wallet span{min-width:0;text-align:left}.bag3-value{min-width:94px;padding-left:7px}.bag3-controls{grid-template-columns:1fr}.bag3-sell-all{justify-content:center}.bag3-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-height:52vh}.bag3-section .bag3-grid{grid-template-columns:1fr;max-height:none}.bag3-sections{max-height:48vh}.bag3-foot{display:grid;gap:3px}.bag3-tabs{margin-right:-2px}}
