/* ==========================================================================
   IdleMon — tema oficial (identidade visual)
   Diretrizes: docs/DESIGN.md · Componentes: docs/UI-COMPONENTS.md
   Este arquivo carrega DEPOIS de styles.css/world.css/legacy-map.css e
   redefine tokens + componentes. Novos estilos devem usar estes tokens.
   ========================================================================== */

/* ---- 1. Tokens ---------------------------------------------------------- */
:root{
  /* Pedra & pergaminho (Tibia) */
  --ink:#100d08;
  --stone-800:#1b1710;
  --stone-700:#241e13;
  --stone-600:#2f2717;
  --bevel-light:#54492e;
  --bevel-dark:#0a0805;
  --gold:#d4a83c;
  --gold-soft:#f0cf7d;
  --parchment:#f3e6c4;
  --parchment-dim:#b3a684;

  /* Acentos Pokémon */
  --poke-red:#e3350d;
  --poke-red-dark:#8e1f05;
  --poke-yellow:#ffcb05;
  --poke-blue:#2a75bb;
  --hp-green:#5ac54f;
  --hp-yellow:#f7d02c;
  --hp-red:#e8543f;

  /* Compatibilidade: tokens antigos remapeados para o tema IdleMon */
  --bg:var(--ink);
  --panel:var(--stone-700);
  --panel-2:var(--stone-600);
  --line:var(--bevel-light);
  --text:var(--parchment);
  --muted:var(--parchment-dim);
  --green:var(--poke-yellow);
  --yellow:var(--poke-yellow);
  --danger:var(--poke-red);
  --accent:var(--gold-soft);
  --electric:var(--poke-yellow);

  /* Tipografia — legível (sem pixel font nas UI texts) */
  --font-display:'Outfit','Manrope',system-ui,sans-serif; /* títulos, botões, marca */
  --font-num:'DM Mono',ui-monospace,monospace;            /* números, timers, log  */
  --font-body:'Nunito',system-ui,sans-serif;              /* textos corridos       */
  --font-ui:'Manrope',system-ui,sans-serif;

  /* Relevo padrão dos painéis (bevel de pedra) */
  --bevel:inset 1px 1px 0 var(--bevel-light),inset -1px -1px 0 var(--bevel-dark);
  --bevel-strong:inset 2px 2px 0 var(--bevel-light),inset -2px -2px 0 var(--bevel-dark);

  font-family:var(--font-body);
  color:var(--text);
  background:var(--bg);
}

/* ---- 2. Base ------------------------------------------------------------ */
html{overflow:hidden;height:100%}
body{
  height:100%;
  overflow:hidden;
  background:
    radial-gradient(circle at 62% 8%,#3a2f1a33 0,transparent 30%),
    repeating-linear-gradient(0deg,transparent 0 3px,#00000012 3px 6px),
    var(--ink);
}
.noise{opacity:.04}

h1,h2,h3{font-family:var(--font-display);font-weight:600;letter-spacing:.5px}
.eyebrow{font-family:var(--font-display);font-size:10px;letter-spacing:1.4px;color:var(--gold)}

::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-track{background:var(--stone-800)}
::-webkit-scrollbar-thumb{background:var(--bevel-light);border:2px solid var(--stone-800)}

/* ---- 3. Topbar & navegação ---------------------------------------------- */
.topbar{
  background:linear-gradient(#2c2515,#1d1810);
  border-bottom:2px solid var(--bevel-dark);
  box-shadow:0 1px 0 var(--bevel-light) inset,0 4px 14px #000a;
  grid-template-columns:minmax(150px,210px) minmax(0,1fr) minmax(240px,320px);
  gap:10px;
}
.brand{font-family:var(--font-display);font-size:18px;letter-spacing:.04em;font-weight:700}
.brand strong{color:var(--poke-yellow);text-shadow:none}
/* Marca: pokébola pixel */
.brand-mark{
  border:2px solid #14100a;border-radius:50%;box-shadow:0 0 14px #e3350d55;
  background:linear-gradient(var(--poke-red) 0 44%,#14100a 45% 55%,#f6f1e4 56%);
}
.brand-mark:before{display:none}
.brand-mark i{border-color:#14100a;background:#f6f1e4}

/* Navegação: ícones estilo PokeIdle (tooltip via title/aria-label) */
.main-nav{gap:6px;align-items:center;align-self:center;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;padding:7px 6px;scrollbar-width:none}
.main-nav::-webkit-scrollbar{display:none}
.nav-item{
  position:relative;flex:0 0 auto;width:42px;height:42px;padding:0;
  display:grid;place-items:center;
  font-family:var(--font-display);font-size:0;color:transparent;
  background:linear-gradient(#2a2418,#1a1610);
  border:1px solid #4a3f2a;border-radius:8px;
  box-shadow:inset 0 1px 0 #5a4e3522,0 2px 0 #0a0804;transition:.15s;
}
.nav-item:hover{
  color:transparent;border-color:var(--gold);
  background:linear-gradient(#3a3220,#221c12);
  transform:translateY(-1px);
}
.nav-item:active{transform:translateY(1px);box-shadow:inset 0 1px 0 #0004}
.nav-item.active{
  color:transparent;border-color:var(--gold);
  background:linear-gradient(#463a20,#2a2214);
  box-shadow:inset 0 1px 0 #d4a83c33,0 0 10px #ffcb0528,0 2px 0 #0a0804;
}
.nav-item.active:after{display:none}
.topbar .main-nav .nav-item>span.nav-icon{
  position:absolute;inset:2px;width:auto;height:auto;display:grid;place-items:center;pointer-events:none;
  margin:0;padding:0;box-sizing:border-box;line-height:0;font-size:0;
  border:none;border-radius:6px;
  background:transparent;
  filter:drop-shadow(0 2px 3px #000c);
}
.topbar .main-nav .nav-item>span.nav-icon .ui-icon{
  width:30px;height:30px;margin:0;padding:0;transform-origin:center;
  image-rendering:pixelated;image-rendering:crisp-edges;
}
.topbar .main-nav .nav-item>span.nav-icon .ui-icon-img{
  width:32px;height:32px;object-fit:contain;object-position:center;
  image-rendering:auto;-ms-interpolation-mode:bicubic;
}
.topbar .main-nav .nav-item:hover>span.nav-icon{filter:drop-shadow(0 0 6px #ffcb05aa) drop-shadow(0 2px 3px #000c)}
.topbar .main-nav .nav-item:hover>span.nav-icon .ui-icon{transform:scale(1.1)}
.topbar .main-nav .nav-item.active>span.nav-icon{filter:drop-shadow(0 0 6px #ffcb05dd) drop-shadow(0 2px 3px #000c)}
.nav-badge,.nav-item .specialization-point-badge{
  position:absolute;top:-5px;right:-5px;min-width:16px;height:16px;padding:0 4px;
  display:inline-grid;place-items:center;margin:0;z-index:3;
  background:var(--poke-red);color:#fff;border:1px solid var(--poke-red-dark);
  border-radius:999px;font-family:var(--font-num);font-size:10px;line-height:1;font-weight:700;
}
.nav-badge:empty,.nav-badge.hidden,.nav-item .specialization-point-badge.hidden{display:none}
.nav-badge.is-zero{display:none}
.map-nav{color:transparent!important}
.settings-button{
  width:38px;height:38px;padding:0;display:grid;place-items:center;
  border:1px solid #4a3f2a;border-radius:8px;background:linear-gradient(#2a2418,#1a1610);
  box-shadow:inset 0 1px 0 #5a4e3522,0 2px 0 #0a0804;cursor:pointer;flex-shrink:0;
}
.settings-button:hover{border-color:var(--gold)}
.settings-button .nav-icon{width:100%;height:100%;display:grid;place-items:center;margin:0;padding:0;line-height:0}
.settings-button .nav-icon .ui-icon{width:24px;height:24px;margin:0;padding:0;image-rendering:auto}
.settings-button .nav-icon .ui-icon-img{width:24px;height:24px;object-fit:contain;image-rendering:auto}

.player-bar{display:flex;align-items:center;gap:10px;min-width:0}
.player-bar .currency-row{
  display:flex;align-items:center;gap:12px;height:38px;padding:0 4px;
}
.currency{
  display:inline-flex;align-items:center;gap:7px;height:38px;
  font-family:var(--font-num);font-size:15px;font-weight:500;color:var(--parchment);line-height:1;
}
.currency b{font-weight:500;letter-spacing:.02em;min-width:1ch}
.currency i{font-style:normal;line-height:0;display:inline-grid;place-items:center}
.idlecoin-mark,
.emerald-mark{
  --mark-size:26px;
  width:var(--mark-size);height:var(--mark-size);flex:0 0 var(--mark-size);
  display:inline-grid;place-items:center;border-radius:0;overflow:visible;line-height:0;
  background:transparent;
}
.idlecoin-mark img,
.emerald-mark img{
  width:100%;height:100%;object-fit:contain;
  image-rendering:auto;pointer-events:none;
  mix-blend-mode:normal;
}
.shop-mark-coins{display:inline-flex;align-items:center;gap:6px}
.shop-mark-coins .idlecoin-mark{--mark-size:22px}
.avatar{background:linear-gradient(135deg,var(--poke-red),var(--poke-red-dark));border:2px solid var(--gold);color:#fff;font-family:var(--font-display)}
.profile b{font-family:var(--font-display);font-size:13px;font-weight:700;letter-spacing:.01em}
.profile small{color:var(--parchment-dim);font-family:var(--font-ui);font-size:11px;font-weight:500}

/* ---- 4. Painéis (pedra com bevel) ---------------------------------------- */
.panel,.city-sidebar{
  background:linear-gradient(160deg,var(--stone-600),var(--stone-700) 55%);
  box-shadow:var(--bevel);
}
.routes-panel{border-right:2px solid var(--bevel-dark)}
.controls-panel{border-left:2px solid var(--bevel-dark)}

.control-card,.city-chat,.city-actions button,.battle-log,.drop-bag-card,
.current-route-card,.journey-stats div{
  background:var(--stone-800);
  border:1px solid var(--bevel-dark);
  box-shadow:var(--bevel);
  border-radius:4px;
}
.journey-stats{border:0;gap:5px;display:grid;grid-template-columns:1fr 1fr}
.journey-stats span{color:var(--parchment-dim);font-family:var(--font-display);font-size:8px}
.journey-stats b{font-family:var(--font-num);font-size:19px;color:var(--gold-soft)}
.active-card{border-color:var(--gold);box-shadow:var(--bevel),0 0 12px #d4a83c22}
.control-title b{font-family:var(--font-display);font-size:12px;font-weight:500}
.control-icon{background:var(--stone-600);color:var(--poke-yellow);border:1px solid var(--bevel-dark);box-shadow:var(--bevel);border-radius:4px}
.control-icon.capture{color:var(--poke-red)}

.current-route-card{border-radius:4px;background:
  radial-gradient(circle at 80% 10%,color-mix(in srgb,var(--route-glow,#ffcb05) 20%,transparent) 0,transparent 40%),var(--stone-800)}
.current-route-card h3{font-size:16px;text-shadow:2px 2px 0 #0008}
.current-route-card>small{font-family:var(--font-display);color:var(--gold);font-size:8px}
.current-route-icon{border-radius:6px;border:2px solid #14100a;box-shadow:var(--bevel),0 0 22px color-mix(in srgb,var(--route-glow,#ffcb05) 35%,transparent)}
.route-preview img{background:var(--stone-700);border:2px solid var(--bevel-dark);box-shadow:0 0 0 1px var(--bevel-light)}

.drop-bag-heading small{font-family:var(--font-display);color:var(--gold);font-size:9px}
.drop-bag-heading span{font-family:var(--font-num);font-size:15px;color:var(--parchment-dim)}
.drop-bag-heading b{color:var(--poke-yellow)}
.drop-bag-item{background:var(--stone-700);border:1px solid var(--bevel-dark);box-shadow:var(--bevel);border-radius:3px}
.drop-bag-item em{font-family:var(--font-num);font-size:12px;background:#14100ae0;color:var(--gold-soft)}
.drop-bag-empty,.drop-bag-tip{color:var(--parchment-dim)}
.drop-bag-empty{border-color:var(--bevel-light)}

/* ---- 5. Botões ------------------------------------------------------------
   Primário  = vermelho pokébola com borda escura e “degrau” 3D
   Secundário = pedra com bevel e texto dourado
   Perigo/sair = contorno vermelho                                            */
.open-map-button,.city-map-button,.heal-team,.city-store-button{
  font-family:var(--font-display);
  background:linear-gradient(#ff5a2b,var(--poke-red) 45%,#c22a08);
  border:2px solid #14100a;border-radius:6px;color:#fff;
  box-shadow:0 3px 0 var(--poke-red-dark),0 6px 14px #0008,inset 1px 1px 0 #ff8a5f;
  text-shadow:1px 1px 0 var(--poke-red-dark);
  transition:.15s;
}
.open-map-button:hover,.city-map-button:hover,.heal-team:hover,.city-store-button:hover{
  filter:brightness(1.1);transform:translateY(-1px);
  box-shadow:0 4px 0 var(--poke-red-dark),0 8px 16px #0008,inset 1px 1px 0 #ff8a5f;
}
.open-map-button:active,.city-map-button:active,.heal-team:active,.city-store-button:active{
  transform:translateY(2px);box-shadow:0 1px 0 var(--poke-red-dark),inset 1px 1px 0 #ff8a5f;
}
.city-map-button:hover{transform:translateX(-50%) translateY(-1px)}
.city-map-button{transform:translateX(-50%)}
.city-map-button:active{transform:translateX(-50%) translateY(2px)}
.open-map-button b{font-size:13px;font-weight:600}
.open-map-button small,.city-map-button small{color:#ffd9c4;font-family:var(--font-display);font-size:8px}
.city-map-button b{font-family:var(--font-display)}
.open-map-button>span,.compass-icon{background:#fff;color:var(--poke-red);border-radius:50%;border:2px solid #14100a}

.city-store-button{
  position:absolute;right:16px;bottom:18px;z-index:9;
  min-width:108px;padding:12px 18px;
  font-size:15px;font-weight:700;letter-spacing:.04em;
  text-transform:uppercase;cursor:pointer;
}
#cityView:not(.active) .city-store-button{display:none}
.city-map-source{right:auto;left:14px}

.icon-button,.sound-button,.map-close,.range-switch button,.map-range-switch button,
.shop-tab,.select-like button,.dialog-close{
  font-family:var(--font-display);
  background:linear-gradient(var(--stone-600),var(--stone-800));
  border:1px solid var(--bevel-dark);box-shadow:var(--bevel);
  color:var(--parchment-dim);border-radius:4px;
}
.range-switch button.active,.map-range-switch button.active,.shop-tab.active,
.select-like button.selected{
  color:var(--poke-yellow);border-color:var(--gold);
  background:linear-gradient(#3d321b,var(--stone-700));
  box-shadow:var(--bevel),0 0 10px #ffcb0522;
}

.leave-route{
  font-family:var(--font-display);font-size:11px;letter-spacing:1px;
  background:var(--stone-800);border:2px solid var(--poke-red-dark);color:var(--hp-red);
  box-shadow:var(--bevel);border-radius:4px;
}
.leave-route:hover{border-color:var(--poke-red);color:#ff8a70}

.city-actions button:hover{border-color:var(--gold);box-shadow:var(--bevel),0 0 10px #d4a83c22}
.city-actions button>span{background:var(--stone-600);color:var(--poke-yellow);border:1px solid var(--bevel-dark);box-shadow:var(--bevel)}
.city-actions b{font-family:var(--font-display);font-size:12px;font-weight:500}
.city-actions em{font-family:var(--font-num);font-size:12px;color:var(--gold)}

/* ---- 6. HUD de combate (moldura Pokémon) ----------------------------------
   Fundo pergaminho, texto quase-preto, nível em chip escuro, tipo em chip da
   cor da rota. Animações: shine na barra de HP, estados low/crit, flash ao
   levar dano (.hud-hit) e entrada de inimigo novo (.hud-swap) — classes
   controladas pelo app.js.                                                    */
.route-partner-hud,.route-combat-hud,.nameplate{
  background:linear-gradient(#fbf6e8,#efe6cd);
  border:3px solid #2b2317;border-radius:8px;
  box-shadow:0 0 0 2px #f6f1e4,0 6px 16px #000a;
  color:#2b2317;
}
.route-partner-hud{width:230px;padding:9px 11px}
.route-combat-hud{width:215px;padding:9px 11px}
.hud-row{display:flex;align-items:center;justify-content:space-between;gap:8px}
.route-partner-hud .hud-row b,.route-combat-hud .hud-row b,.nameplate b{
  font-family:var(--font-display);font-size:15px;font-weight:600;color:#181104}
.route-partner-hud .hud-level,.route-combat-hud .hud-level{
  font-family:var(--font-num);font-size:14px;color:var(--parchment);
  background:#2b2317;padding:1px 7px 2px;border-radius:4px;flex-shrink:0;white-space:nowrap}
.route-partner-hud .hud-level b,.route-combat-hud .hud-level b{
  font-family:var(--font-num);font-size:16px;font-weight:400;color:var(--poke-yellow)}
.route-partner-hud .hud-type,.route-combat-hud .hud-type{
  display:inline-block;margin-top:5px;padding:2px 7px 3px;
  font-family:var(--font-display);font-size:9px;letter-spacing:1px;font-weight:500;
  color:#fff;background:var(--type-color,var(--route-glow,#e3350d));
  border:2px solid #2b2317;border-radius:4px;text-shadow:1px 1px 0 #0007}
.route-partner-hud em,.nameplate em{
  display:block;margin-top:5px;padding-right:26px;
  font-family:var(--font-num);font-size:16px;font-style:normal;color:#453a20}

/* A hunt mostra apenas a equipe do jogador; a vida selvagem fica sobre os
   próprios Pokémon no mapa. */
.route-combat-hud{display:none!important}
.route-partner-hud{width:270px!important;max-height:calc(100% - 28px);padding:8px!important;overflow:auto;
  background:#101713ed;border-color:#d7c99f;box-shadow:0 0 0 2px #2a2419,0 8px 22px #000b}
.team-hud-heading{display:flex;align-items:center;justify-content:space-between;padding:3px 4px 8px;border-bottom:1px solid #655b43}
.team-hud-heading div{display:grid}.team-hud-heading small{font:500 8px var(--font-display);letter-spacing:1px;color:var(--poke-yellow)!important}
.team-hud-heading b{font:400 12px var(--font-num);color:#d7cfb7}.team-hud-heading>span{padding:2px 6px;border:1px solid #655b43;border-radius:4px;font:400 13px var(--font-num);color:#d7cfb7!important}
.route-team-list{display:grid;gap:5px;margin-top:6px}.team-pokemon-row{position:relative;display:grid;grid-template-columns:43px minmax(0,1fr);gap:7px;align-items:center;padding:6px;border:1px solid var(--slot-color,#4d4939);border-radius:5px;background:#17201bee}
.team-pokemon-row.active{border-color:var(--slot-color,#d0b13e);background:linear-gradient(90deg,#242819,#17201b 62%);box-shadow:0 0 10px color-mix(in srgb,var(--slot-color,#d0b13e) 22%,transparent)}
.team-pokemon-row.active:before{content:attr(data-active-label,"ACTIVE");position:absolute;right:6px;top:-6px;padding:1px 4px;border-radius:3px;background:#d0b13e;color:#1d190d;font:500 7px var(--font-display)}
.team-pokemon-portrait{position:relative;width:42px;height:42px;border:2px solid var(--slot-color,#82765b);border-radius:50%;display:grid;place-items:center;background:#0b100d;overflow:hidden}
.team-pokemon-row.active .team-pokemon-portrait{box-shadow:0 0 8px color-mix(in srgb,var(--slot-color,var(--poke-yellow)) 40%,transparent)}.team-pokemon-portrait img{width:34px;height:34px;object-fit:contain;image-rendering:pixelated}

/* Retratos circulares com sprite de entidade (mesmo estilo do HUD) */
.poke-portrait{
  position:relative;display:inline-grid;place-items:center;flex:0 0 auto;
  width:36px;height:36px;border:2px solid var(--slot-color,#82765b);border-radius:50%;
  background:#0b100d;overflow:hidden;vertical-align:middle;
}
.poke-portrait img{width:28px;height:28px;object-fit:contain;image-rendering:pixelated}
.poke-portrait.sm{width:30px;height:30px}
.poke-portrait.sm img{width:22px;height:22px}
.poke-portrait.lg{width:72px;height:72px;border-width:3px}
.poke-portrait.lg img{width:58px;height:58px}
.team-pokemon-info{min-width:0}
.route-partner-hud .team-pokemon-info .hud-identity{display:flex;align-items:center;gap:5px;min-width:0;flex:1}
.route-partner-hud .team-pokemon-info .hud-row b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#f1ead7}
.route-partner-hud .team-pokemon-info .hud-level{padding:0 5px;font-size:10px}.route-partner-hud .team-pokemon-info .hud-level b{font-size:12px;color:var(--poke-yellow)}
.route-partner-hud .team-pokemon-info .hud-type{margin-top:0;padding:1px 5px 2px;border-width:1px;font-size:7px;flex-shrink:0;line-height:1.2}
.route-partner-hud .team-pokemon-info .hp-bar{height:7px;margin-top:3px;border-width:1px}.route-partner-hud .team-pokemon-info .exp-bar{height:4px;margin-top:2px;border-width:1px}.route-partner-hud .team-pokemon-info em{margin-top:1px;padding:0;font-size:11px;color:#d7cfb7}
.team-evolve-button{position:absolute;right:4px;top:5px;padding:4px 7px;border:1px solid #6f8494;border-radius:4px;background:linear-gradient(#60788b,#3f5365);box-shadow:0 2px 0 #202c35;color:#eaf3fa;font:500 8px var(--font-display);cursor:pointer;z-index:2}
.team-evolve-button:hover{filter:brightness(1.16);border-color:#9fc9e3}.team-evolve-button:active{transform:translateY(2px);box-shadow:none}.team-evolve-button.hidden{display:none}
.team-pokemon-row:has(.team-evolve-button:not(.hidden)) .team-pokemon-info{padding-right:50px}
.team-pokemon-row.active .team-evolve-button{top:13px}
#routeReserveList{display:grid;gap:5px}.team-pokemon-row.reserve{opacity:.94;cursor:pointer;transition:filter .16s ease,border-color .16s ease,transform .16s ease}.team-pokemon-row.reserve:hover,.team-pokemon-row.reserve:focus-visible{opacity:1;filter:brightness(1.15);border-color:var(--poke-yellow);outline:none;transform:translateX(2px)}

.move-loadout{margin-top:8px;padding-top:8px;border-top:1px solid #3a4338}
.move-loadout-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:5px}
.move-loadout-head small{font:600 8px var(--font-display);letter-spacing:.06em;color:#9aa78f}
.move-loadout-head b{font:600 10px var(--font-display);color:var(--poke-yellow)}
.move-equip-slots{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:7px}
.move-slot{min-height:36px;padding:4px 5px;border:1px solid #4a5546;border-radius:4px;background:#121a15;color:#d7cfb7;font:500 9px var(--font-ui);text-align:left;cursor:pointer}
.move-slot.filled{border-color:#7a8f5a;background:#1a241c}
.move-slot-name{display:block;font-weight:600;color:#f1ead7;font-size:10px;line-height:1.2}
.move-slot em{display:block;font-style:normal;font-size:8px;color:#8f9a86;margin-top:1px}
.move-pool-label{margin:2px 0 4px}.move-pool-label small{font:600 8px var(--font-display);letter-spacing:.06em;color:#9aa78f}
.move-pool{display:flex;flex-wrap:wrap;gap:3px;max-height:90px;overflow:auto}
.move-pool-btn{padding:3px 5px;border:1px solid #3f4a3c;border-radius:3px;background:#0f1511;color:#c9c2ad;font:500 8px var(--font-ui);cursor:pointer}
.move-pool-btn.equipped{border-color:#c4b15a;color:#f0e5b4;background:#242819}
.move-pool-btn:hover{filter:brightness(1.15)}

/* A equipe compacta não pertence mais à rota: acompanha o jogador na cidade,
   na hunt e enquanto os demais painéis estão abertos. */
.global-team-hud{position:fixed!important;left:14px!important;top:84px!important;z-index:19!important;width:270px!important;max-height:calc(100vh - 100px);overflow:auto;background:#101713ed;border:1px solid #d7c99f;box-shadow:0 0 0 2px #2a2419,0 8px 22px #000b}

/* ---- Meus Pokémon ------------------------------------------------------ */
.team-management-overlay{position:fixed;inset:70px 0 0;z-index:18;background:#05030166;display:grid;place-items:start center;padding:14px 16px 18px}.team-management-overlay.hidden{display:none}
.team-management-panel{position:relative;left:auto;right:auto;top:auto;bottom:auto;width:min(880px,calc(100vw - 28px));max-height:calc(100vh - 100px);display:flex;flex-direction:column;overflow:hidden;border:2px solid var(--bevel-dark);border-radius:8px;background:linear-gradient(155deg,#191a14,#0d1210 58%);box-shadow:var(--bevel-strong),0 28px 70px #000d}
.team-management-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:12px 14px 10px;border-bottom:1px solid #514a36;background:linear-gradient(90deg,#242217,#171812)}
.team-management-head h2{font-size:17px}.team-management-head p{margin:4px 0 0;color:#a9a08b;font-size:10px}.team-management-head .icon-button{flex:0 0 auto}
.team-management-layout{min-height:0;flex:1;display:grid;grid-template-columns:210px minmax(0,1fr);gap:8px;padding:8px}
.team-management-list{min-height:0;overflow:auto;display:grid;align-content:start;gap:6px;padding-right:2px}
.team-management-slot{position:relative;display:grid;grid-template-columns:24px 46px minmax(0,1fr);gap:8px;align-items:center;min-height:60px;padding:6px 8px;border:1px solid #403b2d;border-left:3px solid var(--member-color,#403b2d);border-radius:5px;background:#121916;color:#d7cfb7;text-align:left;cursor:pointer}
.team-management-slot:hover{border-color:#716548}.team-management-slot.active{border-color:var(--gold);background:linear-gradient(90deg,#2a281a,#182019);box-shadow:inset 0 0 18px #d4a83c12}
.team-management-slot>span{font:600 12px var(--font-num);color:#746c59;text-align:center}.team-management-slot img{width:44px;height:44px;object-fit:contain;image-rendering:pixelated}.team-management-slot b{display:block;overflow:hidden;text-overflow:ellipsis;font:500 11px var(--font-display);color:#f1ead7}.team-management-slot small{display:block;margin-top:3px;font:400 11px var(--font-num);color:#9c947e}.team-slot-badges{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin-top:4px}.team-slot-rarity,.team-slot-iv{display:inline-block;padding:2px 6px;border-radius:999px;font:700 8px var(--font-display);letter-spacing:.02em;font-style:normal}.team-slot-rarity{background:var(--rarity,#a9b5ae);color:#1a140c}.team-slot-iv{border:1px solid var(--rarity,#a9b5ae);background:#0b100ed9;color:#eee7d5;font-family:var(--font-num)}.team-management-slot.empty{grid-template-columns:24px minmax(0,1fr);min-height:38px;padding:5px 8px;border-style:dashed;border-left:1px dashed #403b2d;background:#0e1411;cursor:default;opacity:.6}.team-management-slot.empty b{font-size:10px;color:#7e7761}
.team-open-deposit{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:2px;padding:9px;border:1px solid #5c5338;border-radius:5px;background:#181a12;color:#d9c98d;font:600 9px var(--font-display);cursor:pointer}.team-open-deposit:hover{border-color:#c2a54f;background:#242416}.team-open-deposit span{font-size:12px}
.team-management-detail{min-width:0;min-height:0;overflow:auto;border:1px solid #403b2d;border-radius:6px;background:#0d1210;padding:12px}.team-management-empty{display:grid;place-items:center;height:100%;color:#9c947e;font-size:12px}
.team-detail-card{display:grid;gap:13px}.team-detail-identity{position:sticky;top:-12px;z-index:3;display:grid;grid-template-columns:92px minmax(0,1fr) auto;gap:13px;align-items:center;padding:10px;border:1px solid color-mix(in srgb,var(--rarity) 55%,#403b2d);border-radius:7px;background:linear-gradient(100deg,color-mix(in srgb,var(--rarity) 12%,#141a16),#111713),#111713;box-shadow:0 6px 16px #000a}
.team-detail-portrait{width:88px;height:88px;display:grid;place-items:center;border:2px solid var(--rarity);border-radius:12px;background:#090d0b;box-shadow:0 0 16px color-mix(in srgb,var(--rarity) 28%,transparent);overflow:hidden}.team-detail-portrait img{width:72px;height:72px;object-fit:contain;image-rendering:pixelated}
.team-detail-copy{min-width:0}
.team-detail-identity h3{margin:0 0 6px;font:500 24px var(--font-display);color:#f3eddd;letter-spacing:.02em}
.team-detail-meta{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}
.team-detail-level{font:600 13px var(--font-num);color:#5ec8c4}
.team-detail-meta i{width:5px;height:5px;border-radius:50%;background:#3d7ee8;opacity:.85}
.team-detail-power{font:600 13px var(--font-num);color:#e5a84e}
.team-detail-badges{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.team-iv-pill{display:inline-flex;padding:4px 10px;border:1px solid var(--iv-color,#a9b5ae);border-radius:999px;background:#0b100ee8;color:#f2ead5;font:600 11px var(--font-num);letter-spacing:0;box-shadow:0 0 9px #0008}
.team-type-pill{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 10px;border-radius:999px;border:1px solid color-mix(in srgb,var(--badge) 75%,#111);background:color-mix(in srgb,var(--badge) 40%,#111);box-shadow:0 0 10px color-mix(in srgb,var(--badge) 35%,transparent);color:#fff;font:600 10px var(--font-display);font-style:normal;letter-spacing:.03em;line-height:1}
.team-rarity-pill{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 10px;border-radius:999px;border:0;background:var(--badge,#e5a84e);color:#1a140c;font:700 10px var(--font-display);letter-spacing:.03em;line-height:1;box-shadow:0 0 12px color-mix(in srgb,var(--badge) 45%,transparent)}.team-rarity-pill span{font-family:var(--font-num);font-size:11px;letter-spacing:0}
.team-detail-actions{align-self:center;display:grid;gap:7px;min-width:150px}.team-detail-primary,.team-detail-evolve{width:100%;padding:9px 10px;border-radius:4px;font:500 9px var(--font-display)}
.team-detail-primary{border:1px solid #d5b64d;background:linear-gradient(#5a4d22,#3b341b);box-shadow:0 2px 0 #241e0e;color:#fff4b8;cursor:pointer}.team-detail-primary:hover{filter:brightness(1.16)}.team-detail-primary.current{border-color:#566052;background:#293028;box-shadow:none;color:#aeb7a8;cursor:default;opacity:.78}
.team-detail-evolve{border:1px solid #7fc4d8;background:linear-gradient(#4b687b,#304b5e);box-shadow:0 2px 0 #172a36,0 0 12px #7fc4d833;color:#f0f8fc;cursor:pointer}.team-detail-evolve:hover{filter:brightness(1.15)}
.team-detail-columns{display:grid;grid-template-columns:1fr 1fr;gap:10px}.team-detail-columns>section,.team-moves-editor{padding:11px 12px;border:0;border-radius:8px;background:#10150f}
.team-detail-label{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}.team-detail-label span,.team-learned-head span{font:600 8px var(--font-display);letter-spacing:.08em;color:var(--gold)}.team-detail-label b,.team-learned-head b{font:500 12px var(--font-num);color:#e9dfc5}
.team-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.team-stats-grid div{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:7px 8px;border:0;border-radius:5px;background:#0a0f0c}.team-stats-grid span{font:600 8px var(--font-display);color:#8f9988}.team-stats-grid b{font:500 13px var(--font-num);color:#eee2bd}
.team-ivs-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.team-ivs-grid div{display:grid;grid-template-columns:1fr auto;row-gap:5px;align-items:center;padding:7px 8px;border:0;border-radius:5px;background:#0a0f0c}.team-ivs-grid span{font:600 8px var(--font-display);color:#8f9988;text-transform:uppercase}.team-ivs-grid b{font:500 12px var(--font-num);color:#eee2bd}.team-ivs-grid b em{font-style:normal;font-size:10px;color:#79826f}.team-ivs-grid i{grid-column:1/-1;height:5px;overflow:hidden;border-radius:3px;background:#232a20;box-shadow:inset 0 1px 2px #0008}.team-ivs-grid u{display:block;height:100%;border-radius:3px;background:#5f8f56;text-decoration:none}.team-ivs-grid .iv-high u{background:linear-gradient(90deg,#8fbd67,var(--poke-yellow));box-shadow:0 0 6px #d4a83c55}.team-ivs-grid .iv-high b{color:#f3db78}
.team-moves-editor>p{margin:-2px 0 9px;color:#928a76;font-size:11px;line-height:1.35}.team-move-slots{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.team-move-slot{display:flex;min-height:66px;flex-direction:column;justify-content:flex-start;gap:6px;padding:9px;border:1px solid #333c31;border-radius:6px;background:#0c110e;color:#bbb3a0;text-align:left;cursor:pointer}.team-move-slot.filled{border-color:color-mix(in srgb,var(--move-color,#6e8156) 55%,#333c31);border-top:3px solid var(--move-color,#6e8156);background:linear-gradient(color-mix(in srgb,var(--move-color,#6e8156) 10%,#131a14),#0e130f)}.team-move-slot b{display:block;font:500 13px var(--font-display);color:#f1ead7}.team-move-slot:disabled{align-items:center;justify-content:center;border-style:dashed;cursor:default;opacity:.45}.team-move-slot-plus{font:400 16px var(--font-display);font-style:normal;color:#6d6852;line-height:1}.team-move-slot:disabled b{font-size:9px;color:#7e7761}
.move-chip-row{display:flex;flex-wrap:wrap;gap:4px}.move-chip{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;border:1px solid #333c31;border-radius:999px;background:#0a0f0c;color:#c4bda8;font:500 10px var(--font-num);font-style:normal;line-height:1.3;white-space:nowrap}.move-chip-type{border-color:color-mix(in srgb,var(--move-color,#777) 55%,#333c31);color:#e8e1cc}.move-chip-cd{color:#9aa693}
.team-learned-head{display:flex;align-items:baseline;justify-content:space-between;margin:11px 0 6px}.team-learned-moves{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;max-height:190px;overflow:auto;padding-right:2px}.team-learned-moves button{position:relative;padding:8px 9px;border:1px solid color-mix(in srgb,var(--move-color) 45%,#3f493d);border-left:3px solid var(--move-color);border-radius:4px;background:#0d1310;color:#bbb3a0;text-align:left;cursor:pointer}.team-learned-moves button:hover{filter:brightness(1.14)}.team-learned-moves button.equipped{background:color-mix(in srgb,var(--move-color) 20%,#151b17);border-color:var(--move-color)}.team-learned-moves button b{display:block;font:500 13px var(--font-display);color:#eee7d5}.team-learned-moves button b{margin-bottom:5px}.team-moves-empty{grid-column:1/-1;padding:12px;border:1px dashed #403b2d;text-align:center;color:#928a76;font-size:12px}
.team-move-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:10px;padding-top:9px;border-top:1px solid #343c33}.team-move-actions span{font:500 11px var(--font-display);color:#6f796d}.team-move-actions span.changed{display:inline-flex;align-items:center;gap:6px;color:var(--poke-yellow);font-weight:700}.team-move-actions span.changed::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--poke-yellow);box-shadow:0 0 7px var(--poke-yellow);animation:team-pending-pulse 1.1s ease-in-out infinite}.team-move-actions button{padding:9px 16px;border:1px solid #9fc45a;border-radius:5px;background:linear-gradient(#4a6a33,#2c421f);color:#f2f9dd;font:600 11px var(--font-display);cursor:pointer}.team-move-actions button:not(:disabled){box-shadow:0 0 12px #9fc45a33,inset 0 1px 0 #ffffff22}.team-move-actions button:not(:disabled):hover{filter:brightness(1.12)}.team-move-actions button:disabled{opacity:.38;cursor:default;box-shadow:none}
@keyframes team-pending-pulse{0%,100%{opacity:1}50%{opacity:.35}}

.hp-bar{position:relative;height:9px;background:#4f4430;border:2px solid #2b2317;border-radius:6px;margin-top:7px;overflow:hidden}
.exp-bar{position:relative;height:5px;background:#26323d;border:2px solid #2b2317;border-radius:6px;margin-top:3px;overflow:hidden}
.exp-bar i{display:block;height:100%;background:linear-gradient(#8fd4ef,#3d9ad1 55%,#2a6fa8);transition:width .3s ease}
.hp-bar i{position:relative;height:100%;background:linear-gradient(#8ae07f,var(--hp-green) 55%,#3f9c36);transition:width .3s ease}
.hp-bar i:after{content:"";position:absolute;inset:0;
  background:linear-gradient(100deg,transparent 32%,#ffffff5c 46%,#ffffff5c 54%,transparent 68%) no-repeat;
  background-size:230% 100%;animation:hp-shine 2.8s linear infinite}
.hp-bar.low i{background:linear-gradient(#ffe37a,var(--hp-yellow) 55%,#c79f14)}
.hp-bar.crit i{background:linear-gradient(#ff9a86,var(--hp-red) 55%,#b93520);animation:hp-crit .75s ease-in-out infinite}
@keyframes hp-shine{0%{background-position:230% 0}60%,100%{background-position:-130% 0}}
@keyframes hp-crit{50%{filter:brightness(1.4)}}

.hud-hit{animation:hud-hit .35s ease}
@keyframes hud-hit{
  15%{transform:translate(-3px,1px)}
  35%{transform:translate(3px,-1px);box-shadow:0 0 0 2px #f6f1e4,0 0 20px var(--poke-red),0 6px 16px #000a}
  60%{transform:translate(-2px,0)}
}
.hud-swap{animation:hud-swap .45s cubic-bezier(.2,1.4,.4,1)}
@keyframes hud-swap{0%{transform:translateY(-12px) scale(.9);opacity:0}100%{transform:none;opacity:1}}

.battle-status{background:#14100aee;border:2px solid var(--bevel-light);border-radius:6px;padding:9px 11px;width:250px;animation:status-pulse 2.4s ease-in-out infinite}
.battle-status span{font-family:var(--font-display);font-size:10px;color:var(--gold-soft);letter-spacing:1px}
.battle-status small{color:var(--parchment-dim);font-size:9px}
@keyframes status-pulse{50%{box-shadow:0 0 16px #d4a83c30;border-color:#6d5f3d}}
.battle-progress{height:5px;background:var(--stone-800);border:1px solid var(--bevel-dark);border-radius:3px}
.battle-progress i{background:repeating-linear-gradient(45deg,var(--poke-yellow) 0 6px,#d9a900 6px 12px);box-shadow:0 0 10px #ffcb0577;animation:progress-stripes .5s linear infinite}
@keyframes progress-stripes{to{background-position:17px 0}}

.damage-number{font-family:var(--font-num);font-size:40px;color:var(--poke-yellow);text-shadow:3px 3px 0 #000,0 0 18px #e3350d99,0 0 8px #ffcb0588;letter-spacing:.02em}
@keyframes damage{
  0%{opacity:0;transform:translateY(8px) scale(.6)}
  25%{opacity:1;transform:translateY(-8px) scale(1.25)}
  100%{opacity:0;transform:translateY(-46px) scale(1) rotate(4deg)}
}

.wild-label{font:500 9px var(--font-display);background:#14100af2;border:1px solid var(--bevel-light);color:var(--parchment);border-radius:4px;padding:3px 6px}
.wild-label span{font:400 11px var(--font-num);color:var(--gold-soft)}
.stage-topline{font-family:var(--font-display);font-size:10px;color:var(--gold)}
.live-dot{background:var(--poke-red);box-shadow:0 0 9px var(--poke-red)}

/* ---- 7. Log de batalha ----------------------------------------------------- */
.log-heading{font-family:var(--font-display);color:var(--gold);font-size:10px}
.log-heading button{color:var(--parchment-dim);font-family:var(--font-display)}
.log-entries{font-family:var(--font-num);font-size:14px;line-height:1.5;color:var(--parchment-dim);max-height:84px}
.log-entry span{color:#6d6248}
.log-entry strong{color:var(--poke-yellow);font-weight:400}

/* ---- 8. Loja, inventário e diálogos ---------------------------------------- */
.city-dialog-card,.world-map-shell,.starter-content{
  background:linear-gradient(160deg,var(--stone-600),var(--stone-700) 50%);
  border:2px solid var(--bevel-dark);
  box-shadow:var(--bevel-strong),0 30px 80px #000;
  border-radius:8px;
}
.map-header{background:transparent;border-bottom:2px solid var(--bevel-dark);box-shadow:0 1px 0 var(--bevel-light)}
.shop-grid button,.sell-grid button{
  background:var(--stone-800);border:1px solid var(--bevel-dark);box-shadow:var(--bevel);border-radius:4px;color:var(--text);
}
.shop-grid button:hover,.sell-grid button:hover{border-color:var(--gold);box-shadow:var(--bevel),0 0 10px #d4a83c33}
.shop-grid b,.sell-grid b{font-family:var(--font-display);font-weight:500}
.shop-grid small,.sell-grid small{font-family:var(--font-num);font-size:13px;color:var(--gold-soft)}
.select-like em{font-family:var(--font-num);font-size:12px;color:var(--gold-soft)}
.shop-empty{color:var(--parchment-dim);border:1px dashed var(--bevel-light);border-radius:4px}

.vip-card{background:linear-gradient(140deg,#2b2312,#241e13);border-color:#d4a83c55}
.vip-heading>span{color:var(--poke-yellow);border-color:#ffcb0555;font-family:var(--font-display)}
.vip-heading b{font-family:var(--font-display);font-weight:500}
.vip-choice{background:var(--stone-700);border-color:var(--bevel-dark)}
.vip-choice.selected{border-color:var(--poke-yellow)}
.vip-note{color:var(--gold)}
.vip-choices{grid-template-columns:repeat(3,minmax(0,1fr));max-height:250px;overflow:auto;padding-right:3px;align-items:start}
.vip-pool-summary{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:2;padding:6px 7px;border:1px solid #4d4633;border-radius:4px;background:#171b16;color:#eee2bd}
.vip-pool-summary b{font:500 9px var(--font-display)}.vip-pool-summary small{font:400 10px var(--font-num);color:#9e9786}
.vip-choice{min-width:0;display:grid;grid-template-columns:1fr auto;grid-template-areas:"portrait portrait" "name chance";align-items:center;gap:2px;padding:4px!important}
.vip-choice .poke-portrait{grid-area:portrait;margin:auto}.vip-choice>small{grid-area:name;white-space:nowrap;text-align:left!important}.vip-choice>em{grid-area:chance;color:#d6bd68;font:500 9px var(--font-num);font-style:normal}
.vip-choice .vip-check{display:none;position:absolute;z-index:2;right:4px;top:4px;width:15px;height:15px;border-radius:50%;background:var(--poke-yellow);color:#17130a;font:800 10px/15px sans-serif;text-align:center}.vip-choice.selected .vip-check{display:block}
.vip-pool-empty{grid-column:1/-1;padding:18px;border:1px dashed #4d4633;color:#9e9786;text-align:center;font-size:10px}

.switch span{background:var(--stone-800);border:1px solid var(--bevel-dark)}
.switch span:after{background:var(--parchment-dim)}
.switch input:checked+span{background:var(--poke-red-dark);border-color:var(--poke-red)}
.switch input:checked+span:after{background:var(--poke-yellow)}

/* ---- 9. Coleção -------------------------------------------------------------- */
.pokemon-card{background:var(--stone-800);border:1px solid var(--bevel-dark);box-shadow:var(--bevel);border-radius:6px}
.pokemon-card h3{font-size:15px}
.pokemon-card>.rarity,.iv-total{font-family:var(--font-num);font-size:13px}
.iv-grid span{font-family:var(--font-num);font-size:12px;background:var(--stone-700);color:var(--parchment-dim)}
.empty-collection{border-color:var(--bevel-light);color:var(--parchment-dim)}

/* ---- 10. Mapa-múndi ------------------------------------------------------------ */

/* ---- 11. Modal inicial & toast -------------------------------------------------- */
/* Fundo compartilhado: criação de personagem + login (futuro). */
.auth-screen,
.auth-screen.starter-modal{
  --auth-backdrop:url("../public/assets/ui/auth-backdrop.png");
  background:
    linear-gradient(180deg,#070a10cc 0%,#070a1088 28%,#070a10a6 72%,#070a10d0 100%),
    var(--auth-backdrop) center / cover no-repeat,
    #0a1018;
  overflow:auto;
  align-content:safe center;
}
.auth-screen-panel{
  backdrop-filter:blur(6px);
  background:linear-gradient(160deg,#1a2218e8,#121812f0 55%,#0e140fe8)!important;
}
.starter-modal{
  overflow:auto;
  align-content:safe center;
}
.starter-content,.onboarding-content{
  text-align:center;max-width:720px;width:min(720px,100%);
  padding:28px 24px 22px;margin:auto;
}
.starter-content h1,.onboarding-content h1{
  font-size:clamp(22px,4vw,32px);text-shadow:3px 3px 0 #000;
  color:var(--gold);letter-spacing:.04em;text-transform:uppercase;
}
.onboarding-content>p{color:var(--parchment-dim);font:400 13px var(--font-body);max-width:36em;margin:8px auto 0}
.onboarding-steps{display:flex;justify-content:center;gap:8px;margin:14px 0 6px}
.onboarding-step-dot{
  width:8px;height:8px;border-radius:50%;
  background:var(--bevel-light);opacity:.45;
}
.onboarding-step-dot.active{background:var(--poke-yellow);opacity:1;box-shadow:0 0 8px #ffcb0555}
.onboarding-step-dot.done{background:var(--gold);opacity:.85}
.onboarding-panel{margin-top:18px}
.onboarding-panel.hidden{display:none}
.onboarding-nav{
  display:flex;justify-content:center;gap:10px;align-items:stretch;
  max-width:420px;margin:4px auto 14px;
}
.onboarding-back{
  min-width:110px;padding:14px 16px;cursor:pointer;
  font:700 13px var(--font-display);letter-spacing:.05em;text-transform:uppercase;
  color:var(--parchment-dim);
  background:linear-gradient(var(--stone-600),var(--stone-800));
  border:2px solid var(--bevel-dark);border-radius:6px;box-shadow:var(--bevel);
}
.onboarding-back:hover{border-color:var(--gold);color:var(--parchment)}
.onboarding-back.hidden{display:none}
.onboarding-nav .onboarding-start{flex:1;margin:0;max-width:none}
.onboarding-subtitle{
  margin:28px 0 12px;font:600 16px var(--font-display);
  color:var(--gold);letter-spacing:.06em;text-transform:uppercase;text-shadow:2px 2px 0 #000;
}
.starter-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:22px 0 8px;
}
.starter-grid button{
  position:relative;
  background:linear-gradient(145deg,var(--stone-600),var(--stone-800));
  border:2px solid var(--bevel-dark);box-shadow:var(--bevel);border-radius:8px;
  color:var(--parchment);cursor:pointer;padding:16px 12px 14px;transition:.18s;
}
.starter-grid button:hover{border-color:var(--poke-yellow);box-shadow:var(--bevel),0 12px 40px #000b,0 0 20px #ffcb0533}
.starter-grid button.selected{
  border-color:var(--gold);
  box-shadow:var(--bevel),0 0 0 1px var(--gold),0 0 24px #d4a83c44;
}
.starter-grid button.selected::before{
  content:"";position:absolute;inset:10% 18% 42%;border-radius:50%;
  background:radial-gradient(circle,color-mix(in srgb,var(--accent,#d4a83c) 45%,transparent) 0,transparent 70%);
  pointer-events:none;z-index:0;
}
.starter-grid button>*{position:relative;z-index:1}
.starter-grid b{display:block;font-family:var(--font-display);font-weight:600;font-size:15px;margin-top:4px}
.starter-grid small,.starter-number{font-family:var(--font-num);font-size:13px;color:var(--gold)}
.starter-number{position:absolute;left:10px;top:8px;z-index:2;opacity:.7}
.starter-chosen{
  display:inline-block;margin-top:8px;padding:3px 8px;border-radius:4px;
  background:#d4a83c22;border:1px solid var(--gold);color:var(--gold-soft);
  font:500 10px var(--font-display);letter-spacing:.04em;
}
.starter-chosen.hidden{display:none}
.onboarding-regions{
  display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0 0 16px;
}
.onboarding-region-btn{
  min-width:88px;padding:8px 12px;cursor:pointer;
  font:600 11px var(--font-display);letter-spacing:.05em;text-transform:uppercase;
  color:var(--parchment-dim);
  background:linear-gradient(var(--stone-600),var(--stone-800));
  border:2px solid var(--bevel-dark);border-radius:6px;box-shadow:var(--bevel);
}
.onboarding-region-btn:hover{border-color:var(--gold);color:var(--parchment)}
.onboarding-region-btn[aria-pressed="true"],.onboarding-region-btn.selected{
  border-color:var(--gold);color:var(--poke-yellow);
  box-shadow:var(--bevel),0 0 16px #d4a83c33;
}
.onboarding-gender{display:flex;justify-content:center;gap:10px;margin-bottom:14px}
.onboarding-gender-btn{
  min-width:110px;padding:10px 16px;cursor:pointer;
  font:600 12px var(--font-display);letter-spacing:.05em;text-transform:uppercase;
  color:var(--parchment-dim);
  background:linear-gradient(var(--stone-600),var(--stone-800));
  border:2px solid var(--bevel-dark);border-radius:6px;box-shadow:var(--bevel);
}
.onboarding-gender-btn:hover{border-color:var(--gold);color:var(--parchment)}
.onboarding-gender-btn[aria-pressed="true"]{
  border-color:var(--gold);color:var(--poke-yellow);
  box-shadow:var(--bevel),0 0 16px #d4a83c33;
}
.onboarding-looks{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 18px;
}
.onboarding-look{
  position:relative;display:grid;gap:6px;justify-items:center;padding:12px 8px;
  background:var(--stone-800);border:2px solid var(--bevel-dark);border-radius:6px;
  box-shadow:var(--bevel);color:var(--parchment);cursor:pointer;transition:.15s;
}
.onboarding-look:hover{border-color:var(--gold)}
.onboarding-look.selected{border-color:var(--gold);box-shadow:var(--bevel),0 0 0 1px var(--gold),0 0 18px #d4a83c33}
.onboarding-look-frame{
  width:64px;height:64px;display:grid;place-items:center;overflow:hidden;
}
.onboarding-look img{
  width:56px;height:56px;object-fit:contain;image-rendering:pixelated;
  filter:drop-shadow(0 4px 6px #0008);
}
.onboarding-look b{font:500 11px var(--font-display);color:var(--parchment)}
.onboarding-colors{
  max-width:420px;margin:0 auto 18px;padding:12px;
  background:var(--stone-800);border:1px solid var(--bevel-dark);border-radius:6px;box-shadow:var(--bevel);
}
.onboarding-colors.hidden{display:none}
.onboarding-colors-label{
  display:block;margin-bottom:4px;
  font:500 10px var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--parchment-dim);
}
.onboarding-colors-hint{
  margin:0 0 10px;text-align:center;color:#9e9786;font:400 11px var(--font-ui);line-height:1.35;
}
.onboarding-color-pieces{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-bottom:10px}
.onboarding-color-piece{
  min-width:72px;padding:7px 10px;cursor:pointer;
  font:600 10px var(--font-display);letter-spacing:.04em;text-transform:uppercase;
  color:var(--parchment-dim);
  background:linear-gradient(var(--stone-600),var(--stone-800));
  border:2px solid var(--bevel-dark);border-radius:4px;box-shadow:var(--bevel);
}
.onboarding-color-piece:hover{border-color:var(--gold);color:var(--parchment)}
.onboarding-color-piece[aria-pressed="true"]{
  border-color:var(--gold);color:var(--poke-yellow);
}
.onboarding-color-piece .swatch{
  display:inline-block;width:10px;height:10px;margin-right:5px;border-radius:2px;
  border:1px solid #000;vertical-align:-1px;
}
.onboarding-color-grid{
  display:grid;grid-template-columns:repeat(19,minmax(0,1fr));gap:2px;
  max-width:100%;
}
.onboarding-color-swatch{
  aspect-ratio:1;width:100%;min-width:0;padding:0;cursor:pointer;
  border:1px solid #0008;border-radius:2px;
}
.onboarding-color-swatch:hover{outline:1px solid var(--gold);outline-offset:1px;z-index:1}
.onboarding-color-swatch[aria-pressed="true"]{
  outline:2px solid var(--poke-yellow);outline-offset:0;z-index:2;
}
.onboarding-name-field{
  display:grid;gap:6px;text-align:left;max-width:360px;margin:0 auto 12px;
}
.onboarding-name-field>span{
  font:500 10px var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--parchment-dim);
}
.onboarding-name-field input{
  width:100%;padding:12px 14px;border-radius:6px;
  border:2px solid var(--gold);background:var(--stone-800);color:var(--parchment);
  font:600 15px var(--font-body);outline:none;box-shadow:var(--bevel);
}
.onboarding-name-field input:focus{border-color:var(--poke-yellow);box-shadow:var(--bevel),0 0 12px #ffcb0533}
.onboarding-error{margin:0 0 10px;color:var(--hp-red);font:500 12px var(--font-body)}
.onboarding-error.hidden{display:none}
.onboarding-start{
  display:block;width:100%;max-width:420px;margin:4px auto 14px;padding:14px 18px;cursor:pointer;
  font:700 14px var(--font-display);letter-spacing:.06em;text-transform:uppercase;color:#fff;
  background:linear-gradient(#ff5a2b,var(--poke-red) 45%,#c22a08);
  border:2px solid #14100a;border-radius:6px;
  box-shadow:0 3px 0 var(--poke-red-dark),0 6px 14px #0008,inset 1px 1px 0 #ff8a5f;
  text-shadow:1px 1px 0 var(--poke-red-dark);transition:.15s;
}
.onboarding-start:hover{filter:brightness(1.08);transform:translateY(-1px)}
.onboarding-start:active{transform:translateY(2px);box-shadow:0 1px 0 var(--poke-red-dark),inset 1px 1px 0 #ff8a5f}
.onboarding-start:disabled{opacity:.45;cursor:not-allowed;transform:none;filter:none}
.save-note{color:var(--parchment-dim);font-family:var(--font-body)}
@media (max-width:640px){
  .starter-grid,.onboarding-looks{grid-template-columns:1fr;max-width:280px;margin-left:auto;margin-right:auto}
  .onboarding-content{padding:20px 14px}
}

.toast{
  background:var(--parchment);color:#2b2317;
  border:2px solid #2b2317;border-radius:6px;
  box-shadow:0 3px 0 #8a6d2f,0 10px 24px #000a;
  font-family:var(--font-display);font-size:12px;font-weight:500;
}

/* Level-up do treinador — centro da tela */
.level-up-banner{
  position:fixed;inset:0;z-index:95;
  display:grid;place-items:center;
  pointer-events:none;
}
.level-up-banner.hidden{display:none}
.level-up-glow{
  position:absolute;width:min(520px,90vw);height:min(520px,90vw);
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,203,5,.28) 0%,rgba(212,168,60,.12) 38%,transparent 70%);
  animation:level-up-glow 2.4s ease-out forwards;
}
.level-up-card{
  position:relative;z-index:1;
  display:grid;justify-items:center;gap:6px;
  padding:22px 36px 20px;
  border:1px solid var(--bevel-light);
  border-radius:10px;
  background:linear-gradient(180deg,#2a2316f0,#14100af5);
  box-shadow:var(--bevel),0 18px 40px #000c,0 0 40px #d4a83c33;
  animation:level-up-pop .55s cubic-bezier(.18,.85,.35,1.12) both;
  text-align:center;
}
.level-up-eyebrow{
  font:700 28px/1 var(--font-display);
  letter-spacing:.08em;
  color:var(--poke-yellow);
  text-shadow:0 2px 0 #5a3d08,0 0 18px #ffcb0588;
}
.level-up-level{
  font:400 42px/1 var(--font-num);
  color:var(--gold-soft);
  text-shadow:0 2px 0 #3a2a0c,0 0 14px #d4a83c66;
}
.level-up-text{
  margin:4px 0 0;
  font:600 13px var(--font-body);
  color:var(--parchment);
  letter-spacing:.02em;
}
.level-up-banner.closing .level-up-card{
  animation:level-up-out .35s ease forwards;
}
.level-up-banner.closing .level-up-glow{
  animation:level-up-glow-out .35s ease forwards;
}
@keyframes level-up-pop{
  0%{opacity:0;transform:translateY(18px) scale(.86)}
  100%{opacity:1;transform:none}
}
@keyframes level-up-out{
  to{opacity:0;transform:translateY(-10px) scale(.94)}
}
@keyframes level-up-glow{
  0%{opacity:0;transform:scale(.55)}
  35%{opacity:1;transform:scale(1)}
  100%{opacity:.55;transform:scale(1.08)}
}
@keyframes level-up-glow-out{
  to{opacity:0;transform:scale(1.15)}
}
@media (prefers-reduced-motion:reduce){
  .level-up-card,.level-up-glow,.level-up-banner.closing .level-up-card,.level-up-banner.closing .level-up-glow{animation:none}
}

/* Feedback de EXP pós-KO + captura — canto superior direito */
.feedback-stack{
  position:fixed;right:18px;top:84px;z-index:80;
  display:flex;flex-direction:column;align-items:stretch;gap:10px;
  width:min(300px,calc(100vw - 28px));
  max-height:calc(100vh - 100px);
  pointer-events:none;
}
.feedback-stack > *{pointer-events:auto;width:100%}
.combat-feedback{
  position:relative;right:auto;top:auto;bottom:auto;z-index:auto;
  width:100%;
  max-height:min(42vh,360px);
  overflow:auto;
  padding:10px 12px 15px;
  border:1px solid var(--bevel-light);
  border-radius:8px;
  background:linear-gradient(180deg,#241e13f2,#14100af6);
  box-shadow:var(--bevel),0 14px 32px #000c;
  color:var(--parchment);
  font-family:var(--font-body);
  animation:combat-feedback-pop .3s cubic-bezier(.18,.85,.35,1.15);
}
.combat-feedback.hidden{display:none}
.combat-feedback.closing{
  opacity:0;transform:translateY(-10px) scale(.97);
  transition:opacity .2s ease,transform .2s ease;
}
@keyframes combat-feedback-pop{
  from{opacity:0;transform:translateY(-12px) scale(.94)}
  to{opacity:1;transform:none}
}
.combat-feedback header{
  display:grid;grid-template-columns:auto 1fr auto;gap:7px;align-items:center;
  margin-bottom:8px;padding-bottom:7px;border-bottom:1px solid #ffffff12;
}
.combat-feedback header b{
  font:600 13px var(--font-display);color:var(--gold-soft);
  letter-spacing:.05em;text-transform:uppercase;
}
.combat-feedback-icon{font-size:14px;line-height:1;color:var(--gold)}
.combat-feedback-close{
  width:22px;height:22px;border:0;border-radius:4px;
  background:transparent;color:var(--parchment-dim);font-size:16px;line-height:1;cursor:pointer;
}
.combat-feedback-close:hover{color:var(--parchment);background:#ffffff12}
.combat-feedback-defeat{display:flex;align-items:center;gap:9px;margin-bottom:10px}
.combat-feedback-portrait{
  flex:0 0 auto;width:36px;height:36px;border-radius:50%;
  display:grid;place-items:center;overflow:hidden;
  background:radial-gradient(circle at 50% 35%,#2f2717,#0d0a06 78%);
  border:2px solid var(--slot-color,var(--bevel-light));
}
.combat-feedback-portrait img{
  width:30px;height:30px;object-fit:contain;image-rendering:pixelated;
}
.combat-feedback-title{
  margin:0;font:500 13px var(--font-display);color:var(--parchment);line-height:1.35;
}
.combat-feedback-rows{display:grid;gap:8px}
.combat-feedback-block{
  display:grid;gap:2px;justify-items:start;
  padding:7px 9px;border-radius:6px;
  background:#ffffff08;border:1px solid #ffffff0d;
  animation:combat-feedback-row .32s .05s cubic-bezier(.22,.8,.36,1) backwards;
}
.combat-feedback-block:nth-child(2){animation-delay:.14s}
.combat-feedback-block:nth-child(3){animation-delay:.23s}
@keyframes combat-feedback-row{
  from{opacity:0;transform:translateX(12px)}
  to{opacity:1;transform:none}
}
.combat-feedback-line{
  display:flex;align-items:baseline;gap:7px;
  font:400 18px/1 var(--font-num);color:var(--parchment);
}
.combat-feedback-line span{font:700 11px var(--font-body);color:var(--parchment-dim);letter-spacing:.02em}
.combat-feedback-total{
  font:400 15px/1.2 var(--font-num);color:var(--hp-green);
  text-shadow:0 0 8px #5ac54f55;
}
.combat-feedback-level{
  margin-top:4px;padding:2px 7px;border-radius:4px;
  font:500 10px var(--font-display);color:var(--poke-yellow);
  background:#ffcb0514;border:1px solid #ffcb0533;
}
.combat-feedback-drops{gap:5px}
.combat-feedback-drops-label{
  font:700 10px var(--font-body);color:var(--parchment-dim);
  letter-spacing:.06em;text-transform:uppercase;
}
.combat-feedback-drop-list{display:flex;flex-wrap:wrap;gap:6px}
.combat-feedback-drop{
  display:inline-flex;align-items:center;gap:4px;
  padding:3px 7px 3px 4px;border-radius:5px;
  background:#0d0a0680;border:1px solid var(--bevel-light);
}
.combat-feedback-drop .shop-item-icon{
  width:18px;height:18px;object-fit:contain;image-rendering:pixelated;
}
.combat-feedback-drop b{font:400 14px/1 var(--font-num);color:var(--parchment)}
.combat-feedback-drop.rare{
  border-color:var(--gold);background:#d4a83c1a;box-shadow:0 0 8px #d4a83c44;
}
.combat-feedback-drop.rare b{color:var(--gold-soft)}
.combat-feedback-timer{
  position:absolute;left:10px;right:10px;bottom:5px;height:3px;
  border-radius:2px;background:#ffffff14;overflow:hidden;
}
.combat-feedback-timer i{
  display:block;height:100%;border-radius:inherit;
  background:linear-gradient(90deg,var(--hp-green),var(--gold-soft));
  transform-origin:left;
  animation:combat-feedback-countdown var(--combat-feedback-duration,4000ms) linear forwards;
}
.combat-feedback.paused .combat-feedback-timer i{animation-play-state:paused}
@keyframes combat-feedback-countdown{
  from{transform:scaleX(1)}
  to{transform:scaleX(0)}
}
@media (prefers-reduced-motion:reduce){
  .combat-feedback,.combat-feedback-block{animation:none}
  .combat-feedback.closing{transition:none}
}

/* Feedback de captura (manual queue + auto toast) */
.capture-feedback{
  position:relative;right:auto;top:auto;bottom:auto;z-index:auto;
  width:100%;
  max-height:min(42vh,360px);
  overflow:auto;
  padding:10px 12px 15px;
  border:1px solid var(--bevel-light);
  border-radius:8px;
  background:linear-gradient(180deg,#241e13f2,#14100af6);
  box-shadow:var(--bevel),0 14px 32px #000c;
  color:var(--parchment);
  font-family:var(--font-body);
  animation:combat-feedback-pop .3s cubic-bezier(.18,.85,.35,1.15);
}
.capture-feedback.hidden{display:none}
.capture-feedback.closing{
  opacity:0;transform:translateY(-10px) scale(.97);
  transition:opacity .2s ease,transform .2s ease;
}
.capture-feedback header{
  display:grid;grid-template-columns:auto 1fr auto auto;gap:7px;align-items:center;
  margin-bottom:8px;padding-bottom:7px;border-bottom:1px solid #ffffff12;
}
.capture-feedback header b{
  font:600 13px var(--font-display);color:var(--gold-soft);
  letter-spacing:.05em;text-transform:uppercase;
}
.capture-feedback-badge{
  justify-self:end;padding:2px 7px;border-radius:999px;
  font:600 9px var(--font-display);letter-spacing:.04em;text-transform:uppercase;
  color:var(--poke-yellow);background:#ffcb0518;border:1px solid #ffcb053a;
}
.capture-feedback-badge[hidden]{display:none}
.capture-feedback-balls{
  display:flex;flex-wrap:wrap;gap:6px;margin-bottom:9px;
}
.capture-feedback-balls[hidden]{display:none}
.capture-ball-pill{
  display:inline-flex;align-items:center;gap:5px;
  padding:4px 8px 4px 5px;border-radius:6px;cursor:pointer;
  background:#ffffff08;border:1px solid #ffffff14;color:var(--parchment);
  font:600 11px var(--font-body);
}
.capture-ball-pill .shop-item-icon{width:18px;height:18px;object-fit:contain;image-rendering:pixelated}
.capture-ball-pill em{font:400 12px/1 var(--font-num);color:var(--parchment-dim);font-style:normal}
.capture-ball-pill.active{
  border-color:var(--gold);background:#d4a83c1a;box-shadow:0 0 8px #d4a83c33;
}
.capture-ball-pill:disabled{opacity:.35;cursor:not-allowed}
.capture-feedback-list{display:grid;gap:7px}
.capture-faint-row{
  display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;
  padding:7px 8px;border-radius:6px;
  background:#ffffff08;border:1px solid #ffffff0d;
  animation:combat-feedback-row .28s cubic-bezier(.22,.8,.36,1) backwards;
}
.capture-faint-row.flash-ok{animation:capture-flash-ok .45s ease}
.capture-faint-row.flash-fail{animation:capture-flash-fail .45s ease}
@keyframes capture-flash-ok{
  0%,100%{box-shadow:none}
  40%{box-shadow:0 0 0 1px #5ac54f88,0 0 14px #5ac54f55;border-color:#5ac54f}
}
@keyframes capture-flash-fail{
  0%,100%{box-shadow:none}
  40%{box-shadow:0 0 0 1px #e85d2788,0 0 14px #e85d2755;border-color:#e85d27}
}
.capture-faint-portrait{
  width:34px;height:34px;border-radius:50%;
  display:grid;place-items:center;overflow:hidden;
  background:radial-gradient(circle at 50% 35%,#2f2717,#0d0a06 78%);
  border:2px solid var(--slot-color,var(--bevel-light));
}
.capture-faint-portrait img{width:28px;height:28px;object-fit:contain;image-rendering:pixelated}
.capture-faint-copy{min-width:0;display:grid;gap:2px}
.capture-faint-copy b{font:600 12px var(--font-display);color:var(--parchment);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.capture-faint-meta{display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.capture-faint-meta small{font:600 10px var(--font-body);color:var(--parchment-dim)}
.capture-faint-type{
  padding:1px 5px;border-radius:3px;font:700 8px var(--font-display);
  letter-spacing:.03em;color:#fff;background:var(--type-color,#777);
}
.capture-faint-chance{font:400 11px/1 var(--font-num);color:var(--gold-soft)}
.capture-throw-btn{
  padding:5px 9px;border-radius:5px;cursor:pointer;
  border:1px solid var(--gold);background:#d4a83c22;color:var(--gold-soft);
  font:600 10px var(--font-display);letter-spacing:.04em;text-transform:uppercase;
}
.capture-throw-btn:hover{background:#d4a83c33}
.capture-throw-btn:disabled{opacity:.4;cursor:not-allowed}
.capture-throw-btn.throwing{
  animation:capture-ball-toss .35s ease;
}
@keyframes capture-ball-toss{
  0%{transform:scale(1)}
  40%{transform:scale(1.12) rotate(-8deg)}
  100%{transform:scale(1)}
}
.capture-faint-status{
  padding:4px 8px;border-radius:5px;
  font:600 9px var(--font-display);letter-spacing:.04em;text-transform:uppercase;
  text-align:center;min-width:4.5rem;
}
.capture-faint-status.caught{color:#9be28e;background:#5ac54f22;border:1px solid #5ac54f55}
.capture-faint-status.escaped{color:#f0a090;background:#e85d2722;border:1px solid #e85d2755}
.capture-faint-status.attempting{color:var(--poke-yellow);background:#ffcb0515;border:1px solid #ffcb0544;animation:capture-attempt-pulse .7s ease-in-out infinite alternate}
.capture-faint-status.no-ball{color:var(--parchment-dim);background:#ffffff0a;border:1px solid #ffffff14}
@keyframes capture-attempt-pulse{to{filter:brightness(1.35);box-shadow:0 0 9px #ffcb0538}}
.capture-feedback.toast-mode header{grid-template-columns:auto 1fr auto}
.capture-feedback.toast-mode .capture-feedback-balls,
.capture-feedback.toast-mode .capture-feedback-badge{display:none!important}
.capture-toast-card{
  display:grid;grid-template-columns:auto auto 1fr;gap:8px;align-items:center;
  padding:8px;border-radius:6px;background:#ffffff08;border:1px solid #ffffff0d;
}
.capture-toast-card.ok{border-color:#5ac54f55;background:#5ac54f14}
.capture-toast-card.fail{border-color:#e85d2755;background:#e85d2714}
.capture-toast-card.rare{
  border-color:var(--gold);background:#d4a83c1a;box-shadow:0 0 10px #d4a83c44;
}
.capture-toast-ball .shop-item-icon{width:22px;height:22px;object-fit:contain;image-rendering:pixelated}
.capture-toast-copy{min-width:0;display:grid;gap:2px}
.capture-toast-copy b{font:600 12px var(--font-display);color:var(--parchment)}
.capture-toast-copy span{font:600 10px var(--font-body);color:var(--parchment-dim)}
.capture-toast-copy .capture-toast-reward{font:700 10px var(--font-display);color:var(--gold);letter-spacing:.025em}
.capture-toast-copy .ok-label{color:#9be28e}
.capture-toast-copy .fail-label{color:#f0a090}
.capture-faint-status.caught small{display:block;margin-top:3px;font:600 8px var(--font-body);color:var(--gold);white-space:nowrap}
.capture-feedback.paused .capture-feedback-timer i{animation-play-state:paused}
.capture-feedback .capture-feedback-timer i{
  animation-duration:var(--capture-feedback-duration,12000ms);
}
@media (prefers-reduced-motion:reduce){
  .capture-feedback,.capture-faint-row,.capture-throw-btn.throwing{animation:none}
  .capture-feedback.closing{transition:none}
}

/* ---- 12. Cidade ------------------------------------------------------------------ */
.city-welcome{background:#14100ae0;border:2px solid var(--bevel-light);border-radius:6px}
.city-welcome h1{font-size:24px;text-shadow:2px 2px 0 #000}
.city-sidebar-title h2{font-size:16px}
.online{font-family:var(--font-num);font-size:13px;color:var(--gold-soft)}
.online i{background:var(--hp-green);box-shadow:0 0 8px var(--hp-green)}
.city-chat>div b{font-family:var(--font-display);font-size:11px}
.city-chat>div span{font-family:var(--font-num);color:var(--hp-green)}
.city-chat p{font-family:var(--font-body);font-size:10px}
.city-chat strong{color:var(--gold-soft)}
.city-chat label{border-color:var(--bevel-dark);background:var(--stone-800)}
.city-chat button{background:var(--poke-red);color:#fff}
.city-npc b{font-family:var(--font-display);font-size:13px}
.city-npc button{font-family:var(--font-display);font-size:14px;background:var(--poke-red);color:#fff;border:2px solid #14100a;border-radius:6px;box-shadow:0 3px 0 var(--poke-red-dark);cursor:pointer}
.city-npc-markers{position:absolute;inset:0;pointer-events:none;z-index:6}
.city-system-npc{pointer-events:auto;position:absolute;transform:translate(-50%,-100%);border:1px solid #4a3f2a;background:rgba(24,18,10,.88);color:#f0e6d0;padding:4px 8px;border-radius:8px;font:600 10px/1.2 var(--font-display);cursor:pointer;white-space:nowrap}
.city-npc-prompt{position:absolute;transform:translate(-50%,-120%);z-index:8;display:flex;gap:4px;align-items:center;padding:4px 8px;border-radius:8px;background:rgba(20,14,8,.92);border:1px solid #6a5630;color:#ffd978;font:600 11px/1 var(--font-display);pointer-events:none}
.city-npc-prompt.hidden{display:none}
.city-map-source{font-family:var(--font-num)}

/* ---- 13. Coleção (painel flutuante arrastável) ------------------------------
   Raridade e IV aparecem na própria linha; clique = expande status calculados
   + IVs.                                                                       */
.collection-panel{
  width:min(360px,calc(100vw - 24px))!important;
  max-height:min(620px,calc(100vh - 90px))!important;
  display:flex;flex-direction:column;
  background:linear-gradient(160deg,var(--stone-600),var(--stone-700) 55%);
  border:2px solid var(--bevel-dark);border-radius:8px;
  box-shadow:var(--bevel-strong),0 30px 60px #000c;
  overflow:hidden;
}
.collection-panel-head{
  display:flex;justify-content:space-between;align-items:center;
  padding:12px 12px 6px;gap:8px;flex-shrink:0;
}
.collection-panel-head h2{font-size:16px;margin:0}
.collection-hint{margin:0;padding:0 15px 10px;font-family:var(--font-body);font-size:9px;color:var(--parchment-dim);flex-shrink:0}
.collection-list{flex:1;min-height:0;overflow-y:auto;padding:2px 12px 12px;display:flex;flex-direction:column;gap:6px}
.collection-row{
  display:flex;flex:0 0 auto;flex-direction:column;min-width:0;
  border:1px solid var(--bevel-dark);border-left:3px solid var(--rarity,#777);
  border-radius:5px;background:var(--stone-800);box-shadow:var(--bevel);
}
.collection-row-main{
  flex:0 0 auto;
  position:relative;display:grid;grid-template-columns:42px 1fr;gap:10px;align-items:center;
  width:100%;padding:7px 10px;background:none;border:0;color:var(--text);cursor:pointer;text-align:left;
}
.collection-row-main:hover{background:#ffffff08}
.collection-row-main img{width:28px;height:28px;object-fit:contain;image-rendering:pixelated}
.collection-row-main .poke-portrait{width:40px;height:40px}
.collection-row-main .poke-portrait img{width:30px;height:30px}
.collection-row-copy{min-width:0}
.collection-row-title{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}
.collection-row-main b{font-family:var(--font-display);font-size:12px;font-weight:500}
.collection-row-main small{display:block;margin-top:3px;font-family:var(--font-num);font-size:13px;color:var(--parchment-dim)}
.collection-rarity-pill,.collection-iv-pill{padding:2px 7px;border-radius:999px;flex-shrink:0;font-style:normal}
.collection-rarity-pill{background:var(--badge,#a9b5ae);color:#1a140c;font:700 9px var(--font-display);letter-spacing:.02em}
.collection-rarity-pill span{margin-left:3px;font:600 9px var(--font-num);letter-spacing:0;opacity:.82}
.collection-iv-pill{border:1px solid var(--iv-color,#a9b5ae);background:#0b100ed9;color:#f4edda;font:600 11px var(--font-num);letter-spacing:0;box-shadow:0 0 7px #0008}
.collection-detail{display:none;flex:0 0 auto;width:100%;min-width:0;padding:2px 12px 11px;border-top:1px solid var(--bevel-dark)}
.collection-row.open{border-color:var(--gold)}
.collection-row.open>.collection-detail{display:block;position:relative;inset:auto;transform:none;z-index:auto}
.detail-label{font-family:var(--font-display);font-size:8px;letter-spacing:1.2px;text-transform:uppercase;color:var(--gold);margin:9px 0 5px}
.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
.detail-grid span{
  display:flex;justify-content:space-between;gap:4px;padding:4px 7px;border-radius:3px;
  background:var(--stone-700);border:1px solid var(--bevel-dark);
  font-family:var(--font-display);font-size:8px;color:var(--parchment-dim);align-items:center;
}
.detail-grid b{font-family:var(--font-num);font-size:14px;font-weight:400;color:var(--gold-soft)}
.detail-foot{margin-top:9px;font-family:var(--font-display);font-size:9px}
.collection-equip{width:100%;margin-top:10px;padding:8px;border:1px solid #9fc45a;border-radius:4px;background:#26391d;color:#eff7d9;font-family:var(--font-display);font-size:9px;cursor:pointer}
.collection-equip:hover{background:#344d27;border-color:var(--gold)}
.collection-equip.equipped{border-color:#9b6854;background:#3a2420;color:#f2c5ad}
.collection-evolve{width:100%;margin-top:10px;padding:9px;border:1px solid #739db8;border-radius:4px;background:linear-gradient(#4b687b,#304b5e);box-shadow:0 2px 0 #172a36;color:#f0f8fc;font-family:var(--font-display);font-size:9px;cursor:pointer}
.collection-evolve:hover{filter:brightness(1.14);border-color:#a9d4ec}
.collection-empty{
  border:1px dashed var(--bevel-light);border-radius:6px;padding:34px 18px;
  text-align:center;color:var(--parchment-dim);font-family:var(--font-body);font-size:11px;line-height:1.6;
}

/* Filtros da coleção */
.collection-filters{padding:0 15px 10px;display:grid;gap:6px;flex-shrink:0}
.collection-filters input,.collection-filters select{
  width:100%;padding:8px 9px;border-radius:4px;outline:none;
  background:var(--stone-800);border:1px solid var(--bevel-dark);box-shadow:var(--bevel);
  color:var(--parchment);font-family:var(--font-display);font-size:10px;
}
.collection-filters input::placeholder{color:var(--parchment-dim)}
.collection-filters input:focus,.collection-filters select:focus{border-color:var(--gold)}
.collection-filters select option{background:var(--stone-800);color:var(--parchment)}
.collection-filters input[type=number]{font-family:var(--font-num);font-size:15px;text-align:center}
.filter-row{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.iv-row{grid-template-columns:1fr 72px 34px}
#colClear{
  font-family:var(--font-display);font-size:11px;border-radius:4px;cursor:pointer;
  background:linear-gradient(var(--stone-600),var(--stone-800));
  border:1px solid var(--bevel-dark);box-shadow:var(--bevel);color:var(--parchment-dim);
}
#colClear:hover{color:var(--hp-red);border-color:var(--poke-red-dark)}
.collection-results{font-family:var(--font-num);font-size:14px;color:var(--parchment-dim);padding:0 2px}

/* Evolução manual: confirmação + aura em volta dos retratos */
.evolution-dialog{z-index:58}.evolution-dialog-card{width:min(500px,94vw);padding:24px}
.evolution-portrait{
  position:relative;margin:0;display:grid;justify-items:center;gap:8px;isolation:isolate;
}
.evolution-portrait img{
  position:relative;z-index:2;
  width:94px;height:94px;object-fit:contain;image-rendering:pixelated;
  padding:8px;border:3px solid var(--slot-color,#82765b);border-radius:50%;background:#0b100d;
  filter:drop-shadow(0 8px 6px #0008);
  animation:evo-portrait-bob 2.4s ease-in-out infinite;
}
.evolution-portrait.evo-target img{animation-delay:.35s}
.evo-aura{
  position:absolute;left:50%;top:42%;z-index:1;
  width:118px;height:118px;margin:-59px 0 0 -59px;
  border-radius:50%;pointer-events:none;
  background:
    radial-gradient(circle,color-mix(in srgb,var(--slot-color,#d4a83c) 35%,transparent) 0 28%,transparent 68%),
    conic-gradient(from 0deg,transparent 0 60%,color-mix(in srgb,var(--slot-color,#ffcb05) 55%,transparent) 70%,transparent 85%);
  box-shadow:0 0 28px color-mix(in srgb,var(--slot-color,#d4a83c) 40%,transparent);
  animation:evo-aura-spin 4.5s linear infinite,evo-aura-pulse 1.8s ease-in-out infinite;
}
.evo-aura:before,.evo-aura:after{
  content:"";position:absolute;inset:-10px;border-radius:50%;
  border:2px solid color-mix(in srgb,var(--slot-color,#ffcb05) 45%,transparent);
  opacity:.55;animation:evo-ring 2.2s ease-out infinite;
}
.evo-aura:after{inset:-22px;animation-delay:.7s;opacity:.35}
.evolution-arrow{
  text-align:center;color:var(--gold);font-size:24px;
  text-shadow:0 0 10px #d4a83c88;
  animation:evo-arrow-pulse 1.4s ease-in-out infinite;
}
.evolution-preview{
  display:grid;grid-template-columns:1fr 34px 1fr;align-items:center;gap:8px;
  margin:18px 0 10px;padding:18px 12px;border:1px solid var(--bevel-dark);border-radius:6px;
  background:
    radial-gradient(circle at 50% 45%,#d4a83c18 0,transparent 55%),
    #100e09;
  overflow:hidden;
}
.evolution-preview figcaption{position:relative;z-index:2;font:400 15px var(--font-num);color:var(--parchment)}
.evolution-warning{padding:9px 10px;border-left:3px solid var(--poke-yellow);background:#d4a83c12;color:var(--parchment-dim)!important}
.evolution-normal{width:100%;padding:11px;border:1px solid #9fc45a;border-radius:4px;background:linear-gradient(#395029,#26391d);box-shadow:0 2px 0 #15200f;color:#eff7d9;font:500 10px var(--font-display);cursor:pointer}.evolution-normal:hover{filter:brightness(1.15);border-color:var(--gold)}
.evolution-stones{display:grid;gap:6px;margin-top:12px}.evolution-stones>p{margin:2px 0 5px!important;font-size:10px!important;color:var(--parchment-dim)!important}.evolution-stones button{display:grid;grid-template-columns:40px 1fr;gap:9px;align-items:center;width:100%;padding:8px;text-align:left;border:1px solid #987a39;border-radius:4px;background:#2d2414;color:var(--parchment);cursor:pointer}.evolution-stones button:hover{border-color:var(--poke-yellow);background:#3a2e18}.evolution-stones .shop-item-icon{width:34px;height:34px;object-fit:contain}.evolution-stones button span{display:grid;gap:3px}.evolution-stones button b{font:500 9px var(--font-display);color:var(--gold-soft)}.evolution-stones button small{font:400 13px var(--font-num);color:var(--parchment-dim)}
.no-evolution-stone{padding:8px;border:1px dashed var(--bevel-light);border-radius:4px}
.starter-grid .poke-portrait{margin:8px auto 4px;display:grid}
@keyframes evo-aura-spin{to{transform:rotate(360deg)}}
@keyframes evo-aura-pulse{
  0%,100%{filter:brightness(1);transform:scale(1)}
  50%{filter:brightness(1.25);transform:scale(1.06)}
}
@keyframes evo-ring{
  0%{transform:scale(.72);opacity:.7}
  100%{transform:scale(1.25);opacity:0}
}
@keyframes evo-portrait-bob{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-3px)}
}
@keyframes evo-arrow-pulse{
  0%,100%{opacity:.65;transform:scale(1)}
  50%{opacity:1;transform:scale(1.12)}
}
/* Burst no retrato do time após evoluir */
.team-pokemon-portrait.evo-burst{
  animation:team-evo-burst .9s ease;
}
.team-pokemon-portrait.evo-burst:before{
  content:"";position:absolute;inset:-6px;border-radius:50%;
  border:2px solid var(--poke-yellow);
  box-shadow:0 0 18px #ffcb0588,0 0 28px color-mix(in srgb,var(--slot-color,#d4a83c) 50%,transparent);
  animation:team-evo-ring .9s ease forwards;
  pointer-events:none;z-index:3;
}
@keyframes team-evo-burst{
  0%{filter:brightness(1)}
  35%{filter:brightness(1.8)}
  100%{filter:brightness(1)}
}
@keyframes team-evo-ring{
  0%{transform:scale(.6);opacity:1}
  100%{transform:scale(1.55);opacity:0}
}
@media (prefers-reduced-motion:reduce){
  .evolution-portrait img,.evo-aura,.evo-aura:before,.evo-aura:after,.evolution-arrow,
  .team-pokemon-portrait.evo-burst,.team-pokemon-portrait.evo-burst:before{animation:none}
}

/* ---- Hunt em tela cheia ------------------------------------------------- */
#adventureView.hunt-screen.active{display:block!important;position:relative;width:100%;height:calc(100vh - 70px);min-height:0;overflow:hidden;background:#060805}
.hunt-screen .battle-stage{position:absolute;inset:0;display:block;min-height:0;overflow:hidden;background:#060805}
.hunt-screen .environment{position:absolute;inset:0;height:100%!important;width:100%!important;border:0;overflow:hidden}
.hunt-screen .stage-topline{position:absolute;z-index:14;left:0;right:0;top:0;height:58px;padding:0 16px;background:linear-gradient(#100d08f2,#100d08c7 72%,transparent);border:0;pointer-events:none}
.hunt-screen .stage-topline>*{pointer-events:auto}
.hunt-header-button{white-space:nowrap}
.hunt-toolbar{display:flex;align-items:center;gap:6px}
.hunt-tool-button{height:34px;display:flex;align-items:center;gap:6px;padding:0 11px;border:1px solid #665a3d;border-radius:5px;background:#17130de8;color:#d9cfb3;box-shadow:inset 1px 1px 0 #ffffff12,0 4px 10px #0007;font:500 10px var(--font-display);cursor:pointer}
.hunt-tool-button:hover,.hunt-tool-button.active{color:var(--poke-yellow);border-color:var(--gold);background:#282111ef}
.hunt-tool-button span{font-size:14px}.hunt-tool-button em{min-width:17px;padding:1px 4px;border-radius:8px;background:var(--poke-red);color:#fff;font:400 11px var(--font-num);font-style:normal;text-align:center}
.hunt-tool-button.map{color:#ff9471}.hunt-toolbar .sound-button{height:34px;width:34px;margin-left:2px}
.hunt-screen .route-partner-hud{top:70px;left:14px}
.hunt-screen .battle-status{bottom:24px}

.hunt-window{width:min(380px,calc(100vw - 24px))!important;max-height:calc(100vh - 90px)!important;margin:0!important;padding:14px!important;overflow:auto!important;border:1px solid #6d6041!important;border-radius:8px!important;background:linear-gradient(155deg,#111a17f5,#0b1110f8)!important;box-shadow:0 18px 48px #000d,inset 1px 1px 0 #ffffff12!important}
.hunt-window.hidden{display:none!important}
.floating-panel-layer{position:fixed;z-index:45;inset:0;pointer-events:none}.floating-panel-layer.hidden{display:none}.floating-panel-layer .floating-panel{position:fixed!important;pointer-events:auto}.floating-panel-handle{cursor:grab;user-select:none;touch-action:none}.floating-panel.dragging .floating-panel-handle{cursor:grabbing}.floating-panel.dragging{transition:none!important}
#huntPanel{border-right:1px solid #6d6041!important}
#automationPanel{display:block!important;border-left:1px solid #6d6041!important}
.city-view{grid-template-columns:1fr!important;min-height:0;height:calc(100vh - 70px);overflow:hidden!important}
.city-scene{
  position:relative!important;
  border-right:0!important;
  height:calc(100vh - 70px)!important;
  max-height:calc(100vh - 70px)!important;
  min-height:0!important;
  overflow:hidden!important;
}
.chat-floating-panel{width:min(340px,calc(100vw - 24px));max-height:280px;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--gold);border-radius:3px;background:#090b0beF;box-shadow:0 12px 34px #000c,inset 0 0 0 1px #ffffff0d}.chat-panel-head{min-height:38px;display:flex;align-items:center;border-bottom:1px solid #51472f;background:linear-gradient(#171914,#0c0f0d)}.chat-tabs{display:flex;align-self:stretch}.chat-tabs button{min-width:74px;border:0;border-right:1px solid #34362d;background:transparent;color:#938d80;padding:0 10px;font:500 10px var(--font-display);text-transform:uppercase;cursor:pointer}.chat-tabs button.active{margin:4px;border:1px solid var(--gold);border-radius:3px;color:#eee2bd;background:#252419}.chat-online{display:flex;align-items:center;gap:5px;margin-left:auto;padding:0 9px;color:#918b7b;font:400 11px var(--font-num)}.chat-online i{width:7px;height:7px;border-radius:50%;background:#48e66b;box-shadow:0 0 9px #48e66b}.chat-messages{min-height:116px;max-height:165px;overflow:auto;padding:8px;color:#d8d39b;font:600 11px/1.45 var(--font-body)}.chat-messages p{margin:0 0 4px}.chat-messages time{color:#807b68;font:400 11px var(--font-num)}.chat-messages strong{color:#e4d300}.chat-compose{display:grid;grid-template-columns:42px 1fr 68px;gap:5px;padding:6px;border-top:1px solid #51472f;background:#0d100f}.chat-compose input,.chat-compose button{height:31px;border:1px solid #3a4850;border-radius:4px;background:#10171b;color:#b7bdba;font-size:10px}.chat-compose input{min-width:0;padding:0 9px}.chat-compose button{font-family:var(--font-display);cursor:default}.chat-compose button:disabled,.chat-compose input:disabled{opacity:.72}
.hunt-window-head{margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid #4a432f}.hunt-window-head h2{font-family:var(--font-display);font-size:16px}.hunt-window-close{width:30px;height:30px;border:1px solid #8d3d40;border-radius:5px;background:#361a1d;color:#ff9b9f;font-size:18px;cursor:pointer}.hunt-window-close:hover{background:#592229;color:#fff}
.hunt-window .current-route-card{margin-top:0}.hunt-window .drop-bag-card{margin-top:10px}.hunt-window .open-map-button{margin-top:10px}

/* Hunt Analyzer — sessão atual / última hunt */
#huntAnalyzerBody{display:grid;gap:10px;margin-top:10px}
.hunt-analyzer-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.hunt-stat{
  display:flex;gap:9px;align-items:center;min-width:0;
  padding:9px 10px;border-radius:6px;
  background:linear-gradient(160deg,#ffffff0a,#ffffff02);
  border:1px solid #ffffff0f;box-shadow:var(--bevel);
}
.hunt-stat-icon{
  flex:0 0 auto;width:30px;height:30px;display:grid;place-items:center;
  border-radius:6px;background:#0d0a0666;border:1px solid #ffffff0a;
  font-size:15px;font-style:normal;line-height:1;
}
.hunt-stat-copy{display:grid;gap:3px;min-width:0}
.hunt-stat-value{font:400 20px/1 var(--font-num);color:var(--stat-color,var(--parchment));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hunt-stat-copy small{font:500 8px var(--font-display);color:var(--parchment-dim);letter-spacing:.04em}
.hunt-stat-copy small em{font-style:normal;color:var(--stat-color,var(--parchment-dim))}
.hunt-balance{
  display:flex;justify-content:space-between;align-items:center;gap:10px;
  padding:10px 12px;border-radius:6px;
  border:1px solid #5ac54f55;background:linear-gradient(90deg,#5ac54f21,#5ac54f08);
}
.hunt-balance small{font:600 9px var(--font-display);color:#9fdd96;letter-spacing:.04em}
.hunt-balance b{font:400 22px/1 var(--font-num);color:var(--hp-green);text-shadow:0 0 10px #5ac54f44;white-space:nowrap}
.hunt-balance.negative{border-color:#e8543f55;background:linear-gradient(90deg,#e8543f21,#e8543f08)}
.hunt-balance.negative small{color:#f0a396}
.hunt-balance.negative b{color:var(--hp-red);text-shadow:0 0 10px #e8543f44}
.hunt-rate-chips{display:flex;flex-wrap:wrap;gap:6px}
.hunt-rate-chip{
  flex:1 1 auto;display:inline-flex;align-items:center;justify-content:center;gap:5px;
  padding:5px 8px;border-radius:5px;
  border:1px solid #ffffff14;background:#0d0a0666;
  font:400 14px/1 var(--font-num);color:var(--chip-color,var(--parchment));white-space:nowrap;
}
.hunt-drops{display:grid;gap:6px}
.hunt-drops-title{font:600 9px var(--font-display);color:var(--parchment-dim);letter-spacing:.08em;text-transform:uppercase}
.hunt-drop-list{display:grid;gap:5px;max-height:224px;overflow:auto;padding-right:2px}
.hunt-drop-row{
  display:grid;grid-template-columns:auto 1fr auto auto;gap:8px;align-items:center;
  padding:6px 8px;border-radius:5px;
  background:#ffffff07;border:1px solid #ffffff0a;
}
.hunt-drop-row .shop-item-icon{width:20px;height:20px;object-fit:contain;image-rendering:pixelated}
.hunt-drop-name{font:600 11px var(--font-body);color:var(--parchment);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hunt-drop-qty{font:400 14px var(--font-num);color:var(--parchment-dim)}
.hunt-drop-value{font:400 14px var(--font-num);color:var(--gold-soft)}
.hunt-drops-empty{font:600 11px var(--font-body);color:var(--parchment-dim);padding:2px}

/* Inventário — painel flutuante sobre .ui-card (só tokens; vence .hunt-window) */
.inventory-panel.ui-card{
  width:min(400px,calc(100vw - 24px))!important;
  padding:14px 14px 12px!important;
  border:2px solid var(--bevel-dark)!important;border-radius:8px!important;
  background:linear-gradient(160deg,var(--stone-600),var(--stone-700) 52%)!important;
  box-shadow:var(--bevel-strong),0 30px 80px #000!important;
}
.inventory-panel>.ui-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:10px;cursor:grab;
  margin-bottom:12px;padding-bottom:10px;border-bottom:2px solid var(--bevel-dark);
  box-shadow:0 1px 0 var(--bevel-light);
}
.inventory-panel>.ui-head h2{margin:2px 0 4px;color:var(--parchment);font:600 18px var(--font-display)}
.inventory-panel>.ui-head p{margin:0;color:var(--parchment-dim);font:400 12px var(--font-body);line-height:1.45}
.inventory-panel>.ui-head>.dialog-close,
.inventory-panel .hunt-window-close.dialog-close{
  position:relative;inset:auto;flex-shrink:0;
  width:30px;height:30px;border:1px solid var(--bevel-dark);border-radius:6px;
  background:var(--stone-800);color:var(--parchment-dim);box-shadow:var(--bevel);
  font-size:18px;cursor:pointer;line-height:1;
}
.inventory-panel .hunt-window-close.dialog-close:hover{color:var(--poke-yellow);border-color:var(--gold);background:var(--stone-700)}
.inventory-summary{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 4px}
.inventory-sections{display:grid;gap:12px}
.inventory-section{display:grid;gap:7px}
.inventory-section>header{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.inventory-section>header>small{color:var(--gold);font:600 8px var(--font-display);letter-spacing:.06em;text-transform:uppercase}
.inventory-section>header>b{color:var(--parchment);font:400 12px var(--font-num)}
.inventory-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(48px,1fr));gap:6px}
.inventory-slot{
  position:relative;aspect-ratio:1;display:grid;place-items:center;
  border:1px solid var(--bevel-dark);border-radius:4px;background:var(--stone-800);
  box-shadow:var(--bevel);cursor:default;
}
.inventory-slot:hover,.inventory-slot:focus-within{border-color:var(--gold);background:var(--stone-700);z-index:3}
.inventory-slot .shop-item-icon,.inventory-slot img{width:34px;height:34px;object-fit:contain;image-rendering:pixelated;pointer-events:none}
.inventory-slot>em{
  position:absolute;right:3px;bottom:2px;padding:0 2px;border-radius:2px;background:var(--ink);
  font:700 10px var(--font-num);font-style:normal;color:var(--parchment);line-height:1.15;pointer-events:none;
}
.inventory-float-tip{
  position:fixed;z-index:80;min-width:180px;max-width:260px;padding:9px 11px;
  border:1px solid var(--bevel-dark);border-radius:6px;background:var(--stone-700);box-shadow:var(--bevel-strong);
  color:var(--parchment);pointer-events:none;opacity:0;visibility:hidden;transition:opacity .12s;
}
.inventory-float-tip.show{opacity:1;visibility:visible}
.inventory-float-tip .inventory-tip-head,.inventory-tip-content .inventory-tip-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.inventory-float-tip .inventory-tip-head b,.inventory-tip-content .inventory-tip-head b{color:var(--parchment);font:600 13px var(--font-display)}
.inventory-float-tip .inventory-tip-head span,.inventory-tip-content .inventory-tip-head span{color:var(--parchment-dim);font:500 12px var(--font-num)}
.inventory-float-tip>small,.inventory-tip-content>small{display:block;margin-top:3px;color:var(--parchment-dim);font:600 9px var(--font-display);letter-spacing:.08em}
.inventory-tip-value{display:flex;align-items:center;gap:6px;margin-top:7px;color:var(--gold-soft);font:500 12px var(--font-num)}
.inventory-tip-value i{color:var(--hp-green);font:700 11px var(--font-display);font-style:normal;letter-spacing:-1px}
.inventory-tip-value em{margin-left:auto;color:var(--parchment-dim);font:500 9px var(--font-display);font-style:normal;letter-spacing:.04em}
.inventory-tip-value.total span{color:var(--poke-yellow)}
.inventory-empty{
  grid-column:1/-1;padding:12px;border:1px dashed var(--bevel-light);border-radius:5px;
  text-align:center;color:var(--parchment-dim);font:400 11px var(--font-body);
}
.inventory-foot{margin:4px 0 0}

.pokedex-panel{width:min(780px,calc(100vw - 24px))!important;max-height:min(620px,calc(100vh - 90px))!important}
.pokedex-toolbar{display:grid;grid-template-columns:1fr 140px auto;gap:6px;margin-bottom:8px}
.pokedex-toolbar input,.pokedex-toolbar select{height:30px;border:1px solid #665a3d;border-radius:4px;background:#121714;color:#ddd4bc;padding:0 8px;font:400 11px var(--font-ui)}
.pokedex-owned-only{display:flex;align-items:center;gap:5px;color:#aaa28d;font:500 9px var(--font-display);white-space:nowrap}
.pokedex-summary{display:flex;gap:14px;margin-bottom:8px;color:#aaa28d;font:400 12px var(--font-num)}
.pokedex-summary b{color:#eee2bd}
.pokedex-layout{display:grid;grid-template-columns:minmax(240px,.95fr) minmax(260px,1.05fr);gap:10px;min-height:360px}
.pokedex-list{overflow:auto;display:grid;gap:4px;padding-right:2px;max-height:min(460px,calc(100vh - 220px))}
.pokedex-row{display:grid;grid-template-columns:44px 36px minmax(0,1fr) auto;gap:7px;align-items:center;padding:5px 7px;border:1px solid #403b2d;border-radius:5px;background:#121916;color:#d7cfb7;text-align:left;cursor:pointer}
.pokedex-row:hover{border-color:#6d6041}
.pokedex-row.active{border-color:var(--gold);background:#1c2418}
.pokedex-row.missing{opacity:.72}
.pokedex-row.owned{opacity:1}
.pokedex-row .poke-portrait{width:34px;height:34px}
.pokedex-row .poke-portrait img{width:26px;height:26px}
.pokedex-num{font:600 10px var(--font-num);color:#9c947e}
.pokedex-name b{display:block;font:500 12px var(--font-display);color:#f1ead7}
.pokedex-name small,.pokedex-types{display:block;margin-top:2px;font:600 11px var(--font-display)}
.pokedex-types em{font-style:normal;font-family:var(--font-display)}
.pokedex-types i{margin:0 4px;font-style:normal;color:#6d6041}
.pokedex-badges em{font:600 11px var(--font-num);font-style:normal;color:var(--poke-yellow)}
.pokedex-badges i{font-style:normal;color:#5b5239}
.pokedex-detail{overflow:auto;border:1px solid #403b2d;border-radius:6px;background:#0f1512;padding:12px;max-height:min(460px,calc(100vh - 220px))}
.pokedex-detail-empty,.pokedex-empty{padding:18px 10px;text-align:center;color:#9c947e;font-size:13px;line-height:1.5}
.pokedex-detail-card header{display:grid;grid-template-columns:72px 1fr;gap:10px;align-items:center;margin-bottom:12px}
.pokedex-detail-card header .poke-portrait.lg{width:72px;height:72px}
.pokedex-detail-card header .poke-portrait.lg img{width:58px;height:58px}
.pokedex-detail-card h3{margin:2px 0 6px;font:500 20px var(--font-display);color:#f1ead7}
.pokedex-detail-card header small{color:#b7ad93;font:600 12px var(--font-display)}
.pokedex-type-pills{display:flex;flex-wrap:wrap;gap:5px}
.pokedex-type-pills span{padding:3px 8px;border-radius:4px;background:color-mix(in srgb,var(--tc) 35%,#111);border:1px solid color-mix(in srgb,var(--tc) 70%,#000);color:#f4efe3;font:600 11px var(--font-display)}
.pokedex-detail-card section{margin-top:14px}
.pokedex-detail-card .label{display:block;margin-bottom:7px;font:600 11px var(--font-display);letter-spacing:.05em;color:var(--gold)}
.pokedex-stats{display:grid;gap:6px}
.pokedex-stats div{position:relative;display:grid;grid-template-columns:56px 36px 1fr;gap:8px;align-items:center;font:500 13px var(--font-num);color:#d7cfb7}
.pokedex-stats b{color:#f1ead7;font-size:14px}
.pokedex-stats i{display:block;height:8px;border-radius:3px;background:linear-gradient(90deg,#7ea86a,#d0b13e);opacity:.85}
.pokedex-evo{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.pokedex-evo button{display:grid;justify-items:center;gap:3px;min-width:72px;padding:7px;border:1px solid #403b2d;border-radius:5px;background:#151c19;color:#d7cfb7;cursor:pointer}
.pokedex-evo button.current{border-color:var(--gold)}
.pokedex-evo .poke-portrait{width:42px;height:42px}
.pokedex-evo .poke-portrait img{width:32px;height:32px}
.pokedex-evo b{font:500 12px var(--font-display)}
.pokedex-evo small{font:500 11px var(--font-num);color:#b7ad93}
.evo-arrow{color:#6d6041;font-size:14px}
.pokedex-sell-note{margin:0 0 8px;color:#cfc6ae;font-size:13px;line-height:1.45}
.pokedex-sell-note b{color:var(--poke-yellow);font-size:14px}
.pokedex-capture-summary{display:grid;width:min(100%,240px);grid-template-columns:1fr;gap:6px;padding:9px;border:1px solid #3f493c;border-radius:7px;background:linear-gradient(145deg,#17201a,#111713)}
.pokedex-capture-summary>div{display:grid;gap:3px;padding:7px 8px;border-radius:5px;background:#0e1511}
.pokedex-capture-summary small{color:#8f998d;font:600 8px var(--font-display);letter-spacing:.04em;text-transform:uppercase}
.pokedex-capture-summary b{color:#efe6c9;font:600 14px var(--font-display)}
.pokedex-capture-summary>div:first-child b{color:var(--poke-yellow)}
.pokedex-detail-card .pokedex-sub-label{margin-top:11px}
.pokedex-section-hint{margin:-2px 0 8px;color:#aeb7aa;font-size:10px;line-height:1.4}
.pokedex-drop-grid{display:grid;gap:6px}
.pokedex-drop-grid article{display:grid;grid-template-columns:40px minmax(0,1fr);gap:10px;align-items:center;min-height:56px;padding:10px;border:1px solid #4b5549;border-radius:7px;background:linear-gradient(100deg,#1a231d,#121713)}
.pokedex-drop-grid article>img,.pokedex-drop-grid article>.shop-item-icon{width:36px;height:36px;object-fit:contain;image-rendering:pixelated}
.pokedex-drop-grid article b{display:block;margin-bottom:7px;color:#f1ecdf;font:600 13px var(--font-display);line-height:1.1}
.pokedex-drop-grid article div>span{display:flex;flex-wrap:wrap;gap:5px}
.pokedex-drop-grid em{display:inline-flex;align-items:center;gap:6px;padding:4px 7px;border:1px solid #5b6558;border-radius:5px;background:#0d130f;color:#d1d7ce;font-style:normal;line-height:1}
.pokedex-drop-grid em span{font:700 10px var(--font-body)}
.pokedex-drop-grid em strong{color:#fff;font:800 11px var(--font-body)}
.pokedex-drop-grid em.primary{border-color:#628854;background:#172417}.pokedex-drop-grid em.primary strong{color:#b9edaa}.pokedex-drop-grid em.secondary{border-color:#5c7f94;background:#14212a}.pokedex-drop-grid em.secondary strong{color:#b8def1}.pokedex-drop-grid em.signature{border-color:#967d3b;background:#28210f}.pokedex-drop-grid em.signature strong{color:#ffe38a}.pokedex-drop-grid em.stone{border-color:#85618c;background:#241728}.pokedex-drop-grid em.stone strong{color:#edbdf1}
.pokedex-drop-grid em.qty{border-color:#5b6558;background:#121812}.pokedex-drop-grid em.qty strong{color:#d7e0d2}
.pokedex-drop-grid em.sell{border-color:#4f7a58;background:#142018}.pokedex-drop-grid em.sell strong{color:#8fe3a4}
.pokedex-locs{display:grid;gap:6px}
.pokedex-loc{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:8px 10px;border:1px solid color-mix(in srgb,var(--tc) 45%,#403b2d);
  border-radius:5px;background:color-mix(in srgb,var(--tc) 14%,#151c19);
}
.pokedex-loc b{font:500 13px var(--font-display);color:#f1ead7;text-transform:capitalize}
.pokedex-loc small{font:500 12px var(--font-num);color:#ddd4bc}
.pokedex-owned-list{display:grid;gap:5px}
.pokedex-owned-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:8px 9px;border:1px solid #403b2d;border-radius:5px;background:#151c19}
.pokedex-owned-row b{display:block;font:500 13px var(--font-display);color:#f1ead7}
.pokedex-owned-row small{display:block;margin-top:2px;color:#b7ad93;font:500 12px var(--font-num)}
.pokedex-sell-btn{border:1px solid #6d6041;border-radius:4px;background:linear-gradient(#3a3424,#241f16);color:#f0e5b4;padding:7px 10px;font:600 12px var(--font-display);cursor:pointer}
.pokedex-sell-btn:hover{border-color:var(--gold);filter:brightness(1.1)}
@media(max-width:720px){
  .pokedex-toolbar{grid-template-columns:1fr}
  .pokedex-layout{grid-template-columns:1fr}
}

.capture-log-note{margin:-3px 0 10px;color:var(--parchment-dim);font-size:10px}.capture-log-entries{display:grid;gap:6px}.capture-log-row{display:grid;grid-template-columns:42px 1fr auto;gap:9px;align-items:center;padding:7px 9px;border:1px solid #403b2d;border-left:3px solid var(--rarity);border-radius:5px;background:#151c19}.capture-log-row img{width:40px;height:40px;object-fit:contain;image-rendering:pixelated}.capture-log-row b{display:block;font:500 11px var(--font-display)}.capture-log-row small{display:block;margin-top:3px;color:#aaa28d;font:400 13px var(--font-num)}.capture-log-row strong{color:var(--rarity);font:500 9px var(--font-display);text-transform:uppercase}.capture-log-empty{padding:34px 15px;border:1px dashed #5b5239;border-radius:6px;text-align:center;color:#9c947e;font-size:11px;line-height:1.6}
.capture-history-panel{width:min(480px,calc(100vw - 24px));max-height:min(460px,calc(100vh - 90px));display:flex;flex-direction:column;padding:12px;border:1px solid #6d6041;border-radius:8px;background:linear-gradient(155deg,#111a17,#0b1110);box-shadow:0 18px 48px #000d,inset 1px 1px 0 #ffffff12}.capture-history-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:8px;border-bottom:1px solid #4a432f}.capture-history-head h2{font-family:var(--font-display);font-size:16px}.capture-history-head .eyebrow{margin:0 0 3px;font-size:7px}.capture-history-summary{display:flex;align-items:center;flex-wrap:wrap;gap:5px 11px;padding:8px 2px;color:#aaa28d;font:400 12px var(--font-num)}.capture-history-summary b{color:#eee2bd;font-size:13px}.capture-history-filters{display:flex;gap:5px;width:100%}.capture-history-filters button{flex:1;border:1px solid #665a3d;border-radius:5px;background:#17130d;color:#b7ad93;padding:5px 8px;font:500 9px var(--font-display);cursor:pointer}.capture-history-filters button.active{border-color:var(--gold);background:linear-gradient(#d6b957,#9b7830);color:#1d160b}.capture-history-entries{overflow:auto;padding-right:3px}.capture-history-entries .capture-log-row{grid-template-columns:36px minmax(74px,1fr) 38px 64px 72px 78px;gap:4px;min-height:45px;padding:4px 6px;border-left:1px solid #403b2d}.capture-history-entries .capture-log-row img{width:34px;height:34px}.capture-history-entries .capture-log-row.shiny{border-color:#d9b755;box-shadow:inset 0 0 20px #d9b75516}.capture-history-entries .capture-log-row small,.capture-history-entries .capture-log-row strong,.capture-history-entries .capture-log-row span,.capture-history-entries .capture-log-row em,.capture-history-entries .capture-log-row time{margin:0;font:400 10px var(--font-num);font-style:normal;color:#aaa28d}.capture-history-entries .capture-log-row span{white-space:nowrap}.capture-history-entries .capture-log-row strong{color:var(--rarity);font:500 8px var(--font-display)}.capture-history-entries .capture-log-row em{display:none}.capture-history-entries .capture-log-row time{font-size:9px;text-align:right}.capture-history-foot{margin:7px 2px 0;color:#9c947e;font-size:9px}

@media(max-width:850px){
  #adventureView.hunt-screen.active{height:calc(100vh - 60px - 55px)}
  .hunt-screen .stage-topline{height:104px;align-items:flex-start;padding-top:10px;gap:7px;flex-direction:column}
  .hunt-toolbar{width:100%;overflow-x:auto;padding-bottom:4px}.hunt-tool-button{flex:0 0 auto}
  .hunt-screen .route-partner-hud{top:112px;width:245px!important;max-height:calc(100% - 125px)}
  .hunt-window{max-height:calc(100vh - 130px)!important}
  .global-team-hud{top:72px!important;width:245px!important;max-height:calc(100vh - 145px)}
  .team-management-overlay{inset:60px 0 55px;z-index:44;padding:10px}.team-management-panel{width:min(640px,calc(100vw - 20px));max-height:calc(100vh - 130px)}.team-management-layout{grid-template-columns:180px minmax(0,1fr)}
  .team-detail-columns{grid-template-columns:1fr}.team-move-slots{grid-template-columns:1fr 1fr}.team-learned-moves{grid-template-columns:1fr 1fr}
}
@media(max-width:720px){
  .capture-history-panel{max-height:calc(100vh - 130px)}.capture-history-entries .capture-log-row{grid-template-columns:34px minmax(72px,1fr) 38px 58px 68px;gap:4px}.capture-history-entries .capture-log-row time{display:none}
  .main-nav{justify-content:flex-start;overflow-x:auto;overflow-y:hidden;padding-inline:8px}
  .main-nav .nav-item{flex:0 0 auto}
  .global-team-hud{left:8px!important;top:68px!important;width:225px!important;max-height:180px}
  .team-management-layout{grid-template-columns:1fr;overflow:auto}.team-management-list{grid-template-columns:1fr 1fr;overflow:visible}.team-management-detail{overflow:visible}.team-management-panel{overflow:auto}.team-management-head p{display:none}.team-detail-identity{grid-template-columns:74px minmax(0,1fr)}.team-detail-portrait{width:68px;height:68px}.team-detail-portrait img{width:56px;height:56px}.team-detail-actions{grid-column:1/-1;min-width:0;grid-template-columns:1fr 1fr}.team-detail-actions>:only-child{grid-column:1/-1}.team-stats-grid{grid-template-columns:1fr 1fr}.team-move-slots,.team-learned-moves{grid-template-columns:1fr 1fr}
}

/* Interior do Centro: o mapa Myst já traz o salão real (PNG/Pixi).
   O SVG placeholder foi removido — não cobre mais o cenário original. */
.pc-interior{display:none!important}

/* ---- Ícones de tipo (SVG padronizado, src/type-icons.js) ------------------
   typeGlyph herda a cor via currentColor (usar sobre fundo colorido);
   .type-icon-circle já embute disco colorido + glifo escuro. */
.type-icon{width:1em;height:1em;display:inline-block;vertical-align:-.12em;flex:none}
.hud-type .type-icon{width:9px;height:9px;margin-right:3px;vertical-align:-1.5px;color:#14100a}
.map-route-node .orb .type-icon{width:21px;height:21px;color:#08120d}
.current-route-icon .type-icon{width:26px;height:26px;color:#14100a}
.pokedex-type-pills span .type-icon,.team-type-pill .type-icon{width:11px;height:11px;margin-right:4px;vertical-align:-1.5px}
.pokedex-types .type-icon{width:10px;height:10px;margin-right:3px;vertical-align:-1.5px}
.pokedex-loc b .type-icon{width:11px;height:11px;margin-right:4px;vertical-align:-1.5px}
.collection-row-main small .type-icon{width:11px;height:11px;margin-right:3px;vertical-align:-2px}
.team-move-slot .type-icon,.team-learned-moves .type-icon{width:13px;height:13px;margin-right:4px;vertical-align:-2px}

/* ---- Loja do Sam — layout sobre .ui-card (só tokens) --------------------- */
.shop-mark-card{width:min(480px,94vw);max-height:min(720px,calc(100vh - 40px));padding:16px 16px 14px}
.shop-mark-card.hidden,.shop-pane.hidden,.city-dialog-card.hidden{display:none!important}
.shop-mark-head{position:relative}
.shop-mark-coins{margin-top:8px;width:fit-content}
.shop-mark-coins .idlecoin-mark,.shop-mark-coins img{width:14px;height:14px}
.shop-mark-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:0 0 10px}
.shop-mark-tabs.tm-only{grid-template-columns:1fr}
.shop-mark-tabs.tm-only .shop-tab:not([data-tab="buy"]){display:none}
.shop-mark-tabs .shop-tab{width:100%;justify-content:center}
.shop-mark-tabs .shop-tab.active{border-color:var(--gold);color:var(--parchment);background:var(--stone-700)}
.shop-body{gap:8px;min-height:0;flex:1}
.shop-pane{display:flex;flex-direction:column;min-height:0;flex:1;gap:8px}
.shop-vendor-intro{
  margin:0;padding:10px 11px;border:1px solid var(--bevel-dark);border-radius:6px;
  background:var(--stone-800);box-shadow:var(--bevel);color:var(--parchment-dim);
  font:400 11px var(--font-body);line-height:1.5;
}
.shop-vendor-intro.hidden{display:none}
.shop-qty-row{display:grid;grid-template-columns:auto minmax(52px,64px) 1fr;gap:8px;align-items:end;margin:0}
.shop-qty-row>span{display:grid;gap:4px}
.shop-qty-row label{color:var(--parchment-dim);font:600 9px var(--font-display);letter-spacing:.06em;text-transform:uppercase}
.shop-qty-row input[type=number]{
  width:100%;height:34px;padding:0 6px;border:1px solid var(--bevel-dark);border-radius:6px;
  background:var(--stone-800);box-shadow:var(--bevel);color:var(--parchment);
  text-align:center;font:400 13px var(--font-num);outline:none;
}
.shop-qty-row input[type=number]:focus{border-color:var(--gold)}
.shop-qty-row input[type=range]{
  -webkit-appearance:none;appearance:none;width:100%;height:6px;margin-bottom:14px;
  border-radius:999px;background:var(--stone-600);outline:none;
}
.shop-qty-row input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none;width:16px;height:16px;border-radius:50%;
  background:var(--gold);border:2px solid var(--stone-800);cursor:pointer;
}
.shop-qty-row input[type=range]::-moz-range-thumb{
  width:16px;height:16px;border-radius:50%;background:var(--gold);border:2px solid var(--stone-800);cursor:pointer;
}
.shop-list{display:grid;gap:6px;overflow:auto;max-height:min(420px,52vh);padding-right:2px;min-height:120px}
.shop-row{
  display:grid;grid-template-columns:36px minmax(0,1fr) auto auto;gap:8px;align-items:center;
  padding:8px 10px;border:1px solid var(--bevel-dark);border-radius:6px;
  background:var(--stone-800);box-shadow:var(--bevel);color:var(--parchment);
}
.shop-row.sell,.shop-row.poke{grid-template-columns:18px 36px minmax(0,1fr) auto;cursor:pointer}
.shop-row.poke{grid-template-columns:18px 36px minmax(0,1fr) auto auto}
.shop-row.sell.selected{align-items:start}
.shop-row.selected{border-color:var(--gold);background:var(--stone-700)}
.shop-row.disabled{opacity:.55}
.shop-row .shop-item-icon,.shop-row img.shop-item-icon{width:30px;height:30px;object-fit:contain;image-rendering:pixelated}
.shop-row .poke-portrait{width:34px;height:34px}
.shop-row .poke-portrait img{width:26px;height:26px}
.shop-row-copy{min-width:0}
.shop-row-copy b{display:block;color:var(--parchment);font:600 12px var(--font-display)}
.shop-row-copy small{display:block;margin-top:2px;color:var(--parchment-dim);font:400 11px var(--font-num)}
.shop-row-copy small em,.shop-row-copy small i{font-style:normal;color:var(--hp-green)}
.shop-sell-qty{display:grid;grid-template-columns:52px 1fr;gap:8px;align-items:center;margin-top:8px}
.shop-sell-qty input[type=number]{
  width:52px;height:28px;border:1px solid var(--bevel-dark);border-radius:6px;
  background:var(--stone-700);box-shadow:var(--bevel);color:var(--parchment);
  text-align:center;font:400 13px var(--font-num);outline:none;
}
.shop-sell-qty input[type=range]{
  -webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:999px;
  background:var(--stone-600);outline:none;cursor:pointer;
}
.shop-sell-qty input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none;width:16px;height:16px;border-radius:50%;
  background:var(--gold);border:2px solid var(--stone-800);cursor:pointer;
}
.shop-sell-qty input[type=range]::-moz-range-thumb{
  width:16px;height:16px;border-radius:50%;background:var(--gold);border:2px solid var(--stone-800);cursor:pointer;
}
.shop-row>strong{color:var(--hp-green);font:400 13px var(--font-num);white-space:nowrap}
.shop-row-buy{white-space:nowrap;padding:7px 11px}
.shop-row input[type=checkbox]{width:15px;height:15px;accent-color:var(--gold);cursor:pointer;margin-top:2px}
.shop-lock{
  width:28px;height:28px;border:1px solid var(--bevel-dark);border-radius:4px;
  background:var(--stone-700);box-shadow:var(--bevel);cursor:pointer;opacity:.75;color:var(--parchment-dim);
}
.shop-lock.on,.shop-lock:hover{opacity:1;border-color:var(--gold);color:var(--poke-yellow)}
.shop-poke-filters{display:grid;gap:8px}
.shop-iv-filter{display:flex;align-items:center;gap:6px;color:var(--parchment-dim);font:500 11px var(--font-display)}
.shop-iv-filter input{
  width:52px;height:28px;border:1px solid var(--bevel-dark);border-radius:6px;
  background:var(--stone-800);box-shadow:var(--bevel);color:var(--parchment);
  text-align:center;font:400 12px var(--font-num);outline:none;
}
.shop-iv-filter i{font-style:normal;color:var(--parchment-dim)}
.shop-rarity-filters{display:flex;flex-wrap:wrap;gap:5px}
.shop-rarity-pill{
  padding:4px 8px;border:1px solid color-mix(in srgb,var(--badge) 70%,var(--bevel-dark));border-radius:4px;
  background:var(--stone-800);box-shadow:var(--bevel);color:var(--parchment-dim);font:600 9px var(--font-display);cursor:pointer;
}
.shop-rarity-pill.active{background:color-mix(in srgb,var(--badge) 28%,var(--stone-800));color:var(--parchment);border-color:var(--badge)}
.shop-mark-foot{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center}
.shop-mark-foot>.ui-btn-primary{width:100%}
.shop-mark-card .shop-empty{
  padding:28px 12px;border:1px dashed var(--bevel-light);border-radius:6px;
  text-align:center;color:var(--parchment-dim);font:400 12px var(--font-body);
}

.settings-button{width:34px;height:34px;margin-right:8px;border:1px solid var(--gold,#d0b13e);border-radius:4px;background:linear-gradient(#252419,#14160f);color:#eee2bd;font-size:16px;cursor:pointer;display:inline-grid;place-items:center;flex-shrink:0}
.settings-button:hover{filter:brightness(1.15)}
.settings-dialog-card{min-width:min(320px,90vw)}
.settings-language-list{display:grid;gap:8px;margin-top:14px}
.settings-lang-option{padding:10px 12px;border:1px solid #665a3d;border-radius:5px;background:#17130d;color:#eee2bd;font:600 13px var(--font-display);text-align:left;cursor:pointer}
.settings-lang-option.active{border-color:var(--gold,#d0b13e);background:#252419}

/* ---- Raridades altas (Épico+): coleção e Meus Pokémon ------------------- */
/*
 * Os efeitos ficam em pseudo-elementos recortados pelo cabeçalho do card.
 * O detalhe continua fora desse recorte para ocupar sua altura normalmente.
 */
.team-management-slot.rarity-epic,.team-management-slot.rarity-legendary,.team-management-slot.rarity-mythic,.team-management-slot.rarity-celestial{
  position:relative;isolation:isolate;overflow:hidden;
}
.collection-row.rarity-epic,.collection-row.rarity-legendary,.collection-row.rarity-mythic,.collection-row.rarity-celestial{min-height:56px}
.collection-row.rarity-epic>.collection-row-main,.collection-row.rarity-legendary>.collection-row-main,.collection-row.rarity-mythic>.collection-row-main,.collection-row.rarity-celestial>.collection-row-main{isolation:isolate;overflow:hidden;border-radius:3px}
.collection-row.rarity-epic>.collection-row-main>*,.collection-row.rarity-legendary>.collection-row-main>*,.collection-row.rarity-mythic>.collection-row-main>*,.collection-row.rarity-celestial>.collection-row-main>*,
.team-management-slot.rarity-epic>*,.team-management-slot.rarity-legendary>*,.team-management-slot.rarity-mythic>*,.team-management-slot.rarity-celestial>*{
  position:relative;z-index:2;
}
.collection-row.rarity-epic>.collection-row-main::before,.collection-row.rarity-legendary>.collection-row-main::before,.collection-row.rarity-mythic>.collection-row-main::before,.collection-row.rarity-celestial>.collection-row-main::before,
.collection-row.rarity-legendary>.collection-row-main::after,.collection-row.rarity-mythic>.collection-row-main::after,.collection-row.rarity-celestial>.collection-row-main::after,
.team-management-slot.rarity-epic::before,.team-management-slot.rarity-legendary::before,.team-management-slot.rarity-mythic::before,.team-management-slot.rarity-celestial::before,
.team-management-slot.rarity-legendary::after,.team-management-slot.rarity-mythic::after,.team-management-slot.rarity-celestial::after,
.rarity-legendary .team-detail-identity::after,.rarity-mythic .team-detail-identity::after,.rarity-celestial .team-detail-identity::after{
  content:'';position:absolute;inset:1px;border-radius:inherit;pointer-events:none;z-index:0;
}

/* Épico: energia violeta contida. */
.collection-row.rarity-epic,.team-management-slot.rarity-epic{
  border-color:#79508f;
  background:linear-gradient(112deg,#2a1830 0%,#1d171f 48%,var(--stone-800) 82%);
  box-shadow:var(--bevel),inset 0 0 16px #aa6de124;
}
.collection-row.rarity-epic>.collection-row-main::before,.team-management-slot.rarity-epic::before{
  background:radial-gradient(circle at 8% 50%,#c679e938 0,transparent 34%),linear-gradient(90deg,transparent,#8d51b00d 70%,transparent);
}

/* Lendário: ouro quente e uma faixa de luz lenta. */
.collection-row.rarity-legendary,.team-management-slot.rarity-legendary{
  border-color:#b77a2f;
  background:linear-gradient(112deg,#3a2814 0%,#241c14 45%,var(--stone-800) 82%);
  box-shadow:var(--bevel),inset 0 0 20px #e5a84e2b;
}
.collection-row.rarity-legendary>.collection-row-main::before,.team-management-slot.rarity-legendary::before{
  background:radial-gradient(circle at 10% 50%,#ffd66f42 0,transparent 36%),radial-gradient(circle at 82% 0,#f28b3030 0,transparent 35%);
}

/* Mítico: duas cores para não parecer apenas uma versão rosa do Lendário. */
.collection-row.rarity-mythic,.team-management-slot.rarity-mythic{
  border-color:#b94d76;
  background:linear-gradient(112deg,#371522 0%,#241724 48%,#151821 82%);
  box-shadow:var(--bevel),inset 0 0 22px #9f5cff30;
}
.collection-row.rarity-mythic>.collection-row-main::before,.team-management-slot.rarity-mythic::before{
  background:radial-gradient(circle at 8% 50%,#ff668e45 0,transparent 34%),radial-gradient(circle at 92% 50%,#725cff30 0,transparent 38%);
  animation:rarity-aura-pulse 3s ease-in-out infinite;
}

/* Celestial: aurora multicolor, moldura clara e pontos de estrela. */
.collection-row.rarity-celestial,.team-management-slot.rarity-celestial{
  border-color:#efdf87;
  background:linear-gradient(112deg,#23352f 0%,#25203a 42%,#332719 67%,#171a18 100%);
  box-shadow:var(--bevel),inset 0 0 24px #ffffff30,inset 0 0 7px #77e8db66;
}
.collection-row.rarity-celestial>.collection-row-main::before,.team-management-slot.rarity-celestial::before{
  background:
    radial-gradient(circle at 9% 24%,#fffbd9 0 1px,transparent 2px),
    radial-gradient(circle at 24% 74%,#fff 0 1px,transparent 2px),
    radial-gradient(circle at 72% 22%,#fffbd9 0 1px,transparent 2px),
    radial-gradient(circle at 90% 70%,#fff 0 1px,transparent 2px),
    linear-gradient(105deg,#65e6d32b,#8a6cff32 42%,#f5d65b35 72%,#ff7eb326);
  background-size:auto,auto,auto,auto,180% 100%;
  animation:celestial-aurora 4s ease-in-out infinite alternate;
}

/* Varredura contida no cabeçalho do próprio card. */
.collection-row.rarity-legendary>.collection-row-main::after,.collection-row.rarity-mythic>.collection-row-main::after,.collection-row.rarity-celestial>.collection-row-main::after,
.team-management-slot.rarity-legendary::after,.team-management-slot.rarity-mythic::after,.team-management-slot.rarity-celestial::after,
.rarity-legendary .team-detail-identity::after,.rarity-mythic .team-detail-identity::after,.rarity-celestial .team-detail-identity::after{
  z-index:1;
  background:linear-gradient(112deg,transparent 32%,#ffffff08 43%,#ffffff38 49%,#ffffff0b 55%,transparent 68%) no-repeat;
  background-size:260% 100%;
  animation:rarity-sheen-safe 3.8s linear infinite;
}
.collection-row.rarity-mythic>.collection-row-main::after,.team-management-slot.rarity-mythic::after,.rarity-mythic .team-detail-identity::after{animation-duration:3.1s}
.collection-row.rarity-celestial>.collection-row-main::after,.team-management-slot.rarity-celestial::after,.rarity-celestial .team-detail-identity::after{animation-duration:2.6s}
.collection-row.open>.collection-row-main::after{content:none}

/* O painel detalhado de Meus Pokémon recebe a mesma identidade do card. */
.rarity-legendary .team-detail-identity,.rarity-mythic .team-detail-identity,.rarity-celestial .team-detail-identity{
  position:relative;isolation:isolate;border-color:var(--rarity);box-shadow:0 0 17px #e5a84e4d;
}
.rarity-mythic .team-detail-identity{background:linear-gradient(100deg,#351620,#1e1724 55%,#111713);box-shadow:0 0 18px #e4647455}
.rarity-celestial .team-detail-identity{background:linear-gradient(105deg,#20322d,#241e35 52%,#332819);box-shadow:0 0 22px #efdf8770,0 0 8px #77e8db4d}
.rarity-legendary .team-detail-identity>*,.rarity-mythic .team-detail-identity>*,.rarity-celestial .team-detail-identity>*{position:relative;z-index:2}

/* Badges legíveis e imediatamente reconhecíveis mesmo sem animação. */
.rarity-epic .collection-rarity-pill,.rarity-epic .team-rarity-pill,.rarity-epic .team-slot-rarity{background:linear-gradient(120deg,#d79cff,#9e5fd2);color:#211128;box-shadow:0 0 9px #aa6de166}
.rarity-legendary .collection-rarity-pill,.rarity-legendary .team-rarity-pill,.rarity-legendary .team-slot-rarity{background:linear-gradient(120deg,#fff0a6,#e4a33e 62%,#ffca62);color:#291906;box-shadow:0 0 10px #e5a84e80}
.rarity-mythic .collection-rarity-pill,.rarity-mythic .team-rarity-pill,.rarity-mythic .team-slot-rarity{background:linear-gradient(120deg,#ff9cb6,#dd5877 55%,#9e72ee);color:#2a0e19;box-shadow:0 0 11px #e4647485}
.rarity-celestial .collection-rarity-pill,.rarity-celestial .team-rarity-pill,.rarity-celestial .team-slot-rarity{
  background:linear-gradient(115deg,#8ff3e3,#d0b4ff 36%,#fff2a1 70%,#ffb1cf);background-size:180% 100%;
  color:#171522;box-shadow:0 0 12px #efdf87a0;animation:celestial-badge 3s ease-in-out infinite alternate;
}
.rarity-epic .collection-rarity-pill::before,.rarity-epic .team-rarity-pill::before,.rarity-epic .team-slot-rarity::before{content:'◆ '}
.rarity-legendary .collection-rarity-pill::before,.rarity-legendary .team-rarity-pill::before,.rarity-legendary .team-slot-rarity::before{content:'★ '}
.rarity-mythic .collection-rarity-pill::before,.rarity-mythic .team-rarity-pill::before,.rarity-mythic .team-slot-rarity::before{content:'✧ '}
.rarity-celestial .collection-rarity-pill::before,.rarity-celestial .team-rarity-pill::before,.rarity-celestial .team-slot-rarity::before{content:'✦ '}

/* Anciã: jade luminoso acima do Celestial — a raridade mais alta do jogo. */
.team-management-slot.rarity-ancient{position:relative;isolation:isolate;overflow:hidden}
.collection-row.rarity-ancient{min-height:56px}
.collection-row.rarity-ancient>.collection-row-main{isolation:isolate;overflow:hidden;border-radius:3px}
.collection-row.rarity-ancient>.collection-row-main>*,.team-management-slot.rarity-ancient>*{position:relative;z-index:2}
.collection-row.rarity-ancient>.collection-row-main::before,.collection-row.rarity-ancient>.collection-row-main::after,
.team-management-slot.rarity-ancient::before,.team-management-slot.rarity-ancient::after,
.rarity-ancient .team-detail-identity::after{content:'';position:absolute;inset:1px;border-radius:inherit;pointer-events:none;z-index:0}
.collection-row.rarity-ancient,.team-management-slot.rarity-ancient{
  border-color:#43d6b5;
  background:linear-gradient(112deg,#0f302c 0%,#152a2b 46%,#111c1e 82%);
  box-shadow:var(--bevel),inset 0 0 24px #43d6b52e,inset 0 0 7px #9affe04d;
}
.collection-row.rarity-ancient>.collection-row-main::before,.team-management-slot.rarity-ancient::before{
  background:
    radial-gradient(circle at 10% 30%,#b9ffe9 0 1px,transparent 2px),
    radial-gradient(circle at 78% 68%,#eafff6 0 1px,transparent 2px),
    radial-gradient(circle at 50% 14%,#8ff0d4 0 1px,transparent 2px),
    linear-gradient(105deg,#43d6b52e,#2fbfa733 45%,#7ef0d329 78%,#3de8c026);
  background-size:auto,auto,auto,180% 100%;
  animation:celestial-aurora 4s ease-in-out infinite alternate;
}
.collection-row.rarity-ancient>.collection-row-main::after,.team-management-slot.rarity-ancient::after,.rarity-ancient .team-detail-identity::after{
  z-index:1;
  background:linear-gradient(112deg,transparent 32%,#ffffff08 43%,#ffffff40 49%,#ffffff0b 55%,transparent 68%) no-repeat;
  background-size:260% 100%;
  animation:rarity-sheen-safe 2.4s linear infinite;
}
.rarity-ancient .team-detail-identity{position:relative;isolation:isolate;border-color:var(--rarity);background:linear-gradient(105deg,#103029,#14262c 52%,#0f1c1e);box-shadow:0 0 22px #43d6b585,0 0 8px #9affe04d}
.rarity-ancient .team-detail-identity>*{position:relative;z-index:2}
.rarity-ancient .collection-rarity-pill,.rarity-ancient .team-rarity-pill,.rarity-ancient .team-slot-rarity{
  background:linear-gradient(115deg,#9bffe6,#5fe6c6 45%,#c7fff0);background-size:180% 100%;
  color:#0c211d;box-shadow:0 0 12px #43d6b5a0;animation:celestial-badge 3s ease-in-out infinite alternate;
}
.rarity-ancient .collection-rarity-pill::before,.rarity-ancient .team-rarity-pill::before,.rarity-ancient .team-slot-rarity::before{content:'❖ '}
.capture-log-row.rarity-ancient{position:relative;isolation:isolate;overflow:hidden}
.capture-log-row.rarity-ancient::before,.capture-log-row.rarity-ancient::after{content:'';position:absolute;inset:1px;border-radius:inherit;pointer-events:none;z-index:0}
.capture-history-entries .capture-log-row.rarity-ancient{border-color:#43d6b5;background:linear-gradient(112deg,#0f302c 0%,#152a2b 46%,#111c1e 82%);box-shadow:var(--bevel),inset 0 0 24px #43d6b52e,inset 0 0 7px #9affe04d}
.capture-log-row.rarity-ancient::before{background:radial-gradient(circle at 8% 50%,#8ff0d445 0,transparent 34%),radial-gradient(circle at 92% 50%,#43d6b535 0,transparent 38%);animation:rarity-aura-pulse 3s ease-in-out infinite}
.capture-log-row.rarity-ancient::after{z-index:1;background:linear-gradient(112deg,transparent 32%,#ffffff08 43%,#ffffff38 49%,#ffffff0b 55%,transparent 68%) no-repeat;background-size:260% 100%;animation:rarity-sheen-safe 2.4s linear infinite}

/* Secreto: o topo absoluto (só via breeding) — prisma sobre um void violeta. */
.team-management-slot.rarity-secret{position:relative;isolation:isolate;overflow:hidden}
.collection-row.rarity-secret{min-height:56px}
.collection-row.rarity-secret>.collection-row-main{isolation:isolate;overflow:hidden;border-radius:3px}
.collection-row.rarity-secret>.collection-row-main>*,.team-management-slot.rarity-secret>*{position:relative;z-index:2}
.collection-row.rarity-secret>.collection-row-main::before,.collection-row.rarity-secret>.collection-row-main::after,
.team-management-slot.rarity-secret::before,.team-management-slot.rarity-secret::after,
.rarity-secret .team-detail-identity::after{content:'';position:absolute;inset:1px;border-radius:inherit;pointer-events:none;z-index:0}
.collection-row.rarity-secret,.team-management-slot.rarity-secret{
  border-color:#8a5cf0;
  background:linear-gradient(112deg,#1a1030 0%,#140f22 46%,#0d0a17 82%);
  box-shadow:var(--bevel),inset 0 0 26px #8a5cf033,inset 0 0 8px #d8b4ff40;
}
.collection-row.rarity-secret>.collection-row-main::before,.team-management-slot.rarity-secret::before{
  background:
    radial-gradient(circle at 12% 28%,#f0d9ff 0 1px,transparent 2px),
    radial-gradient(circle at 82% 66%,#c9b0ff 0 1px,transparent 2px),
    radial-gradient(circle at 46% 84%,#a5f0ff 0 1px,transparent 2px),
    linear-gradient(105deg,#ff5ea033,#8a5cf03d 38%,#4fd6ff33 68%,#f5d65b2b 100%);
  background-size:auto,auto,auto,200% 100%;
  animation:celestial-aurora 5s ease-in-out infinite alternate;
}
.collection-row.rarity-secret>.collection-row-main::after,.team-management-slot.rarity-secret::after,.rarity-secret .team-detail-identity::after{
  z-index:1;
  background:linear-gradient(112deg,transparent 30%,#ffffff0d 42%,#ffffff4d 49%,#ffffff0d 56%,transparent 70%) no-repeat;
  background-size:280% 100%;
  animation:rarity-sheen-safe 2.1s linear infinite;
}
.rarity-secret .team-detail-identity{position:relative;isolation:isolate;border-color:var(--rarity);background:linear-gradient(105deg,#1a1030,#140f22 52%,#0d0a17);box-shadow:0 0 24px #8a5cf085,0 0 9px #d8b4ff4d}
.rarity-secret .team-detail-identity>*{position:relative;z-index:2}
.rarity-secret .collection-rarity-pill,.rarity-secret .team-rarity-pill,.rarity-secret .team-slot-rarity{
  background:linear-gradient(115deg,#ff9ed8,#a97bff 42%,#8fe6ff);background-size:200% 100%;
  color:#160a24;box-shadow:0 0 13px #8a5cf0a8;animation:celestial-badge 2.8s ease-in-out infinite alternate;
}
.rarity-secret .collection-rarity-pill::before,.rarity-secret .team-rarity-pill::before,.rarity-secret .team-slot-rarity::before{content:'✵ '}
.capture-log-row.rarity-secret{position:relative;isolation:isolate;overflow:hidden}
.capture-log-row.rarity-secret::before,.capture-log-row.rarity-secret::after{content:'';position:absolute;inset:1px;border-radius:inherit;pointer-events:none;z-index:0}
.capture-history-entries .capture-log-row.rarity-secret{border-color:#8a5cf0;background:linear-gradient(112deg,#1a1030 0%,#140f22 46%,#0d0a17 82%);box-shadow:var(--bevel),inset 0 0 26px #8a5cf033,inset 0 0 8px #d8b4ff40}
.capture-log-row.rarity-secret::before{background:radial-gradient(circle at 8% 50%,#c9b0ff45 0,transparent 34%),radial-gradient(circle at 92% 50%,#8a5cf038 0,transparent 38%);animation:rarity-aura-pulse 2.8s ease-in-out infinite}
.capture-log-row.rarity-secret::after{z-index:1;background:linear-gradient(112deg,transparent 30%,#ffffff0d 42%,#ffffff45 49%,#ffffff0d 56%,transparent 70%) no-repeat;background-size:280% 100%;animation:rarity-sheen-safe 2.1s linear infinite}

@keyframes rarity-sheen-safe{from{background-position:135% 0}to{background-position:-135% 0}}
@keyframes rarity-aura-pulse{0%,100%{opacity:.58}50%{opacity:1}}
@keyframes celestial-aurora{from{background-position:0 0,0 0,0 0,0 0,0 0;opacity:.7}to{background-position:0 0,0 0,0 0,0 0,100% 0;opacity:1}}
@keyframes celestial-badge{from{background-position:0 0}to{background-position:100% 0}}
@media (prefers-reduced-motion:reduce){
  .collection-row[class*=rarity-]>.collection-row-main::before,.collection-row[class*=rarity-]>.collection-row-main::after,
  .team-management-slot[class*=rarity-]::before,.team-management-slot[class*=rarity-]::after,
  .team-detail-identity::after,.collection-rarity-pill,.team-rarity-pill,.team-slot-rarity{animation:none}
}

/* Pokemon Center deposit -------------------------------------------------- */
.collection-panel{width:min(760px,calc(100vw - 24px))!important;height:min(620px,calc(100vh - 90px))!important;max-height:min(620px,calc(100vh - 90px))!important;padding:0!important;overflow:hidden!important;background:linear-gradient(155deg,#111b20,#081116 60%);border-color:#7e5f1d;border-radius:10px}
.collection-panel-head{padding:12px 16px;gap:12px;border-bottom:1px solid #2d3940}.collection-panel-head h2{font-size:17px;text-transform:uppercase}.deposit-title{display:flex;align-items:center;gap:9px}.deposit-title-icon{color:#d89b48;font-size:16px}.deposit-count{margin-left:auto;padding:7px 10px;border:1px solid #8f6813;border-radius:7px;color:#f3d36d;font:700 10px var(--font-display);white-space:nowrap}.collection-row-open{grid-column:1/3;display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;align-items:center;padding:0;border:0;background:none;color:inherit;text-align:left;cursor:pointer}
.deposit-tabs{display:grid;grid-template-columns:1fr 1fr;padding:8px 16px 0;gap:6px;background:#0b141a}.deposit-tabs button{padding:11px;border:1px solid #37414a;border-bottom-color:#8f6813;border-radius:8px 8px 0 0;background:#151d26;color:#87929b;font:700 10px var(--font-display);cursor:pointer}.deposit-tabs button.active{background:#2a2b29;color:#f1e7cf;border-color:#8f6813;border-bottom-color:#2a2b29}.deposit-pane{display:flex;flex:1;min-height:0;flex-direction:column}.deposit-pane.hidden{display:none!important}
.collection-list,.deposit-list{flex:1;min-height:0;overflow-y:auto;padding:2px 0 10px;display:flex;flex-direction:column;gap:6px}.collection-row{border-color:#27323a;border-left-color:var(--rarity,#777);border-radius:7px;background:#121b21;box-shadow:0 2px 5px #0007}.collection-row-main{grid-template-columns:42px 1fr auto;padding:8px 10px}.collection-detail{border-top-color:#27323a}.collection-empty{border-color:#33434b;padding:28px 16px}
.deposit-ivs{margin-top:9px;padding:9px 10px;border:1px solid #343c33;border-radius:6px;background:#101713}.deposit-ivs .team-detail-label{margin-bottom:7px}
.collection-filters,.deposit-item-filters{padding:8px 16px 10px;display:grid;gap:7px;flex-shrink:0;border-bottom:1px solid #27323a}.collection-filters input,.collection-filters select,.deposit-item-filters input,.deposit-item-filters select{width:100%;min-width:0;padding:8px 9px;border-radius:6px;outline:none;background:#071017;border:1px solid #344550;box-shadow:none;color:var(--parchment);font-family:var(--font-display);font-size:10px}.collection-filters input::placeholder,.deposit-item-filters input::placeholder{color:#76828b}.collection-filters input:focus,.collection-filters select:focus,.deposit-item-filters input:focus,.deposit-item-filters select:focus{border-color:#9d7418}.collection-filters select option,.deposit-item-filters select option{background:#0c151b;color:var(--parchment)}
.deposit-search-row{display:grid;grid-template-columns:minmax(190px,2fr) minmax(130px,1fr) 34px;gap:7px}.deposit-range-row{display:grid;grid-template-columns:auto 72px 12px 72px auto 72px 12px 72px;gap:6px;align-items:center;color:#aab4b9;font:700 9px var(--font-display)}.deposit-range-row i{text-align:center;font-style:normal;color:#62717a}.deposit-rarity-filters{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.deposit-rarity-filters button{padding:4px 9px;border:1px solid var(--badge,#777);border-radius:999px;background:transparent;color:var(--badge,#aaa);font:700 9px var(--font-display);cursor:pointer}.deposit-rarity-filters button.active{background:color-mix(in srgb,var(--badge,#777) 28%,#071017);box-shadow:0 0 0 1px color-mix(in srgb,var(--badge,#777) 45%,transparent);color:#fff}
.deposit-columns{display:grid;grid-template-columns:minmax(240px,.75fr) minmax(300px,1.25fr);gap:10px;flex:1;min-height:0;padding:10px 16px 0}.deposit-column{display:flex;min-width:0;min-height:0;flex-direction:column}.deposit-column>h3{display:flex;align-items:center;gap:6px;margin:0 2px 8px;padding-bottom:7px;border-bottom:1px solid #28333a;color:#c2c9cd;font:700 10px var(--font-display)}.deposit-column>h3 b{margin-left:auto;color:#e2c45d;font:700 10px var(--font-num)}.deposit-foot{margin:0;padding:8px 16px 12px;color:#78868d;font:10px var(--font-body)}
#colClear{background:#121c22;border-color:#3b4850;box-shadow:none}.collection-results{font-size:12px;color:#8f9ba2}.deposit-team-row,.deposit-item-row{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:9px;padding:9px;border:1px solid #28343b;border-radius:7px;background:#121b21;color:#e7e0cf}.deposit-team-row .poke-portrait{width:40px;height:40px}.deposit-team-row .poke-portrait img{width:30px;height:30px}.deposit-row-copy{min-width:0}.deposit-row-copy b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:700 10px var(--font-display)}.deposit-row-copy small{display:block;margin-top:4px;color:#87949b;font:12px var(--font-num)}.deposit-move-button{width:30px;height:30px;border:1px solid #8d6a16;border-radius:6px;background:#1b211e;color:#e4c45b;font:700 16px var(--font-display);cursor:pointer}.deposit-move-button:hover{background:#342f1c}.deposit-move-button:disabled{opacity:.35;cursor:not-allowed}.collection-row-main>.deposit-move-button{grid-column:3;grid-row:1}.deposit-item-filters{grid-template-columns:1fr 170px}.deposit-item-row img{width:34px;height:34px;object-fit:contain;image-rendering:pixelated}.deposit-all-button{align-self:flex-start;margin:3px 0 10px;padding:9px 15px;border:1px solid #9b741e;border-radius:7px;background:linear-gradient(#efd276,#caa341);color:#1b160b;font:700 9px var(--font-display);cursor:pointer}.deposit-all-button:disabled{opacity:.4;cursor:not-allowed}
@media(max-width:720px){.collection-panel{width:calc(100vw - 16px)!important;height:calc(100vh - 82px)!important}.deposit-range-row{grid-template-columns:auto 1fr 10px 1fr}.deposit-range-row span:nth-of-type(2){grid-column:1}.deposit-columns{grid-template-columns:1fr;overflow-y:auto}.deposit-team-column,.deposit-box-column{min-height:220px}.deposit-item-filters{grid-template-columns:1fr}.deposit-item-columns .deposit-column{min-height:210px}.deposit-tabs{padding-left:10px;padding-right:10px}.collection-filters,.deposit-item-filters,.deposit-columns{padding-left:10px;padding-right:10px}}

/* Progressão sistêmica: evolução, offline, maestria e prestígio. */
button.profile{border:0;background:transparent;color:inherit;cursor:pointer;padding:0}.profile>span:first-child{display:grid}.profile:hover .avatar{box-shadow:0 0 0 2px #e7c65a55}
.evolution-methods{display:grid;grid-template-columns:1fr 1fr;gap:8px}.evolution-coins{display:grid;gap:3px;padding:10px;border:1px solid #bf9438;border-radius:4px;background:linear-gradient(#4c3b1b,#30240f);color:#fff0b8;font:500 10px var(--font-display);cursor:pointer}.evolution-coins small{font:12px var(--font-num);color:#d3bd78}.evolution-coins:disabled{opacity:.42;cursor:not-allowed}
.offline-card p{margin:9px 0;color:var(--parchment-dim);font-size:10px;line-height:1.45}.offline-start,.offline-claim,.prestige-button{width:100%;padding:10px;border:1px solid #a8832d;border-radius:5px;background:linear-gradient(#4a3b1d,#2b2212);color:#f4dda0;font:600 10px var(--font-display);cursor:pointer}.offline-start:disabled,.prestige-button:disabled{opacity:.4;cursor:not-allowed}
.trainer-progress-card,.offline-report-card,.outfit-card{width:min(520px,94vw);padding:24px}
/* Profile — layout específico (avatar) sobre .ui-card; só tokens */
.profile-card{width:min(640px,96vw);padding:20px 22px}
.profile-card>.dialog-close{z-index:3}
.profile-hero{margin-bottom:2px}
.profile-head{display:grid;grid-template-columns:104px minmax(0,1fr);gap:16px;align-items:center}
.profile-avatar-stage{position:relative;width:104px;height:104px}
.profile-avatar-glow{
  position:absolute;inset:8px;border-radius:50%;
  background:radial-gradient(circle,color-mix(in srgb,var(--gold) 35%,transparent),transparent 70%);
  filter:blur(8px);pointer-events:none;animation:profileGlow 3.2s ease-in-out infinite alternate;
}
@keyframes profileGlow{from{opacity:.55;transform:scale(.92)}to{opacity:1;transform:scale(1.05)}}
.profile-avatar-wrap{
  position:relative;z-index:1;width:104px;height:104px;border:1px solid var(--gold);
  border-radius:6px;background:var(--stone-700);
  display:grid;place-items:center;overflow:hidden;box-shadow:var(--bevel);
}
.profile-avatar-img{width:78px;height:78px;object-fit:contain;image-rendering:pixelated}
.profile-identity{display:grid;gap:8px;min-width:0}
.profile-identity-meta{display:flex;flex-wrap:wrap;gap:7px;align-items:center}
.profile-level-line{color:var(--parchment);font:600 13px var(--font-num)}
.profile-xp{margin:0}
.profile-xp-text{display:block;color:var(--parchment-dim);font:500 11px var(--font-num)}
.profile-chips{display:flex;flex-wrap:wrap;gap:8px}
.profile-action-grid{grid-template-columns:1.25fr 1fr}
.profile-action-grid>.ui-btn-primary,.profile-action-grid>.ui-btn{width:100%}
.profile-panels{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.profile-rows{display:grid;gap:7px}
.profile-row{padding:8px 10px}
.profile-row-value{display:flex;flex-direction:column;align-items:flex-end;gap:5px;color:var(--poke-yellow);font:400 13px var(--font-num);text-align:right}
.profile-mini-bar{display:block;width:min(120px,28vw);height:5px;border-radius:4px;background:var(--stone-800);overflow:hidden;border:1px solid var(--bevel-dark)}
.profile-mini-bar em{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--gold-soft))}
.profile-foot{grid-template-columns:1fr 1fr;justify-items:stretch}
.profile-foot>.ui-btn,.profile-foot>.ui-btn-primary{width:100%}
.outfit-card{
  width:min(760px,96vw);max-height:92vh;overflow:auto;padding:22px 22px 18px;
  background:
    radial-gradient(ellipse 70% 45% at 0% 0%,color-mix(in srgb,var(--gold) 14%,transparent),transparent 55%),
    linear-gradient(165deg,var(--stone-600),var(--stone-800) 55%,var(--stone-700));
  border-color:var(--gold);border-radius:8px;
}
.outfit-head{margin-bottom:14px;padding-right:28px}
.outfit-head h2{margin:2px 0 6px}
.outfit-hint{margin:0;color:#a59e8a;font:400 12px var(--font-ui);line-height:1.45;max-width:52ch}
.outfit-layout{display:grid;grid-template-columns:168px minmax(0,1fr);gap:16px;align-items:start}
.outfit-stage{
  position:sticky;top:0;display:grid;justify-items:center;gap:12px;padding:14px 10px;
  border:1px solid #4a4333;border-radius:14px;
  background:radial-gradient(circle at 50% 30%,#24301f,#10150f 72%);
}
.outfit-preview-frame{
  width:132px;height:132px;border:1px solid #d4b45a88;border-radius:16px;
  background:
    radial-gradient(circle at 50% 40%,#2a3324,#0c100c 75%);
  display:grid;place-items:center;
  box-shadow:inset 0 0 0 1px #ffffff10,0 10px 22px #00000055;
}
.outfit-preview-frame img{width:96px;height:96px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 5px 0 #00000066)}
.outfit-gender{width:100%}
.outfit-controls{min-width:0}
.outfit-looks-label{
  margin:0 0 8px;color:#c9b277;font:700 10px var(--font-display);
  letter-spacing:.1em;text-transform:uppercase;
}
.outfit-looks{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px;
  max-height:220px;overflow:auto;padding:2px 4px 8px 2px;margin-bottom:12px;
  scrollbar-width:thin;
}
.outfit-looks .onboarding-look{
  min-height:0;padding:8px 6px;border-radius:10px;border:1px solid #3a4034;background:#141914;
}
.outfit-looks .onboarding-look.selected{
  border-color:#e0c57a;background:linear-gradient(180deg,#2a2614,#18170f);box-shadow:0 0 0 1px #e0c57a55;
}
.outfit-looks .onboarding-look-frame{
  width:56px;height:56px;margin:0 auto 6px;border-radius:10px;
  background:radial-gradient(circle at 50% 30%,#24301f,#0e130e);
}
.outfit-looks .onboarding-look b{font-size:9px;line-height:1.2}
.outfit-colors-panel{
  margin-top:0;padding:12px;border:1px solid #3a4034;border-radius:12px;background:#121711;
}
.outfit-save-row{display:grid;grid-template-columns:1fr 1.5fr;gap:10px;margin-top:16px}
.outfit-save-row>button{
  padding:12px 14px;border:1px solid #6b7484;border-radius:10px;background:#161b18;color:#eee2bd;
  font:600 12px var(--font-display);cursor:pointer;
}
.outfit-save{
  border:0!important;background:linear-gradient(180deg,#efd276,#b8923f)!important;color:#1a140c!important;
  font:700 13px var(--font-display)!important;box-shadow:0 6px 16px #b8923f44;
}
@media(max-width:720px){
  .profile-panels,.outfit-layout{grid-template-columns:1fr}
  .outfit-stage{position:static}
  .profile-action-grid,.profile-foot,.outfit-save-row{grid-template-columns:1fr}
  .profile-head{grid-template-columns:84px minmax(0,1fr);gap:12px}
  .profile-avatar-stage,.profile-avatar-wrap{width:84px;height:84px}
  .profile-avatar-img{width:64px;height:64px}
  .outfit-looks{max-height:180px}
}
.progress-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}.progress-summary span,.offline-report-grid span{display:grid;gap:3px;padding:10px;border:1px solid #4d4633;border-radius:6px;background:#171b16;color:#9e9786;font-size:9px}.progress-summary b,.offline-report-grid b{color:#f0d77b;font:700 15px var(--font-num)}.progress-perks{display:grid;gap:6px;margin:0 0 14px;padding:0;list-style:none}.progress-perks li{padding:8px 10px;border-left:3px solid #8fac5b;background:#151d17;color:#d8dfcf;font-size:10px}.offline-report-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:16px 0}.offline-report-loot{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 14px}.offline-report-loot img{width:30px;height:30px;object-fit:contain;image-rendering:pixelated}
.trainer-progress-level{display:grid;grid-template-columns:1fr auto;gap:7px;margin:16px 0;padding:13px;border:1px solid #51482d;border-radius:7px;background:#141a15}.trainer-progress-level>b{color:#f0d77b;font:700 16px var(--font-display)}.trainer-progress-level>span{color:#9fbd75;font:700 11px var(--font-num)}.trainer-progress-level>i{grid-column:1/-1;height:6px;overflow:hidden;border-radius:4px;background:#292d25}.trainer-progress-level>i em{display:block;height:100%;background:linear-gradient(90deg,#789e50,#e0c45d)}.trainer-progress-level>small{grid-column:1/-1;color:#aaa38d;font-size:9px}.trainer-perk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:0 0 12px}.trainer-perk-grid>div,.offline-report-summary>div{display:grid;gap:3px;padding:10px;border:1px solid #474333;border-radius:6px;background:#171b16}.trainer-perk-grid b,.offline-report-summary b{color:#f0d77b;font:700 15px var(--font-num)}.trainer-perk-grid small,.offline-report-summary small{color:#9e9786;font-size:9px}.trainer-progress-note,.offline-report-card>div>p{color:#b7b09c;font-size:10px;line-height:1.55}.offline-report-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}.offline-report-drops{display:grid;gap:6px;margin:12px 0}.offline-report-drops>div{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:8px;padding:7px 9px;border:1px solid #454333;border-radius:5px;background:#171b16}.offline-report-drops img{width:28px;height:28px;object-fit:contain;image-rendering:pixelated}.offline-report-drops span{color:#d9d4c4;font-size:10px}.offline-report-drops b{color:#e7ca69;font:700 12px var(--font-num)}
.specialization-nav{position:relative;color:var(--gold-soft)!important}
.specialization-point-badge{display:inline-grid;min-width:16px;height:16px;margin-left:4px;padding:0 4px;place-items:center;border:1px solid var(--gold);border-radius:999px;background:var(--stone-700);color:var(--poke-yellow);font:700 9px var(--font-num);box-shadow:var(--bevel)}
.specialization-point-badge.hidden{display:none}
.progress-open-specialization{width:100%;margin-top:4px}
.ui-icon{display:block;width:1em;height:1em;image-rendering:pixelated;image-rendering:crisp-edges;shape-rendering:crispEdges;transition:transform .15s ease}
.ui-icon-img{object-fit:contain;object-position:center;image-rendering:auto;-ms-interpolation-mode:bicubic}
.spec-icon{display:block;width:1em;height:1em}
.specialization-card{width:min(940px,96vw)}
.specialization-points,.specialization-streak-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.specialization-streak-stats>.specialization-streak-note,.specialization-points>.specialization-streak-note{grid-column:1/-1;margin:0}
.specialization-points .ui-stat.has-points{border-color:var(--gold);box-shadow:var(--bevel),0 0 10px color-mix(in srgb,var(--gold) 20%,transparent)}
.specialization-points .ui-stat.has-points b{color:var(--poke-yellow)}
.specialization-streak-invest,.specialization-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.specialization-streak-card{grid-template-columns:38px minmax(0,1fr);grid-template-rows:auto auto auto auto auto;align-items:start}
.specialization-streak-card .specialization-streak-pct{grid-column:1/-1;justify-self:end;font:700 18px var(--font-num);color:var(--talent-color)}
.specialization-streak-card>.ui-hint{grid-column:1/-1;margin:0}
.specialization-ranks{grid-column:1/-1;display:grid;grid-template-columns:repeat(5,1fr);gap:5px}
.specialization-ranks i{height:7px;border-radius:4px;background:var(--stone-800);border:1px solid var(--bevel-dark)}
.specialization-ranks i.active{background:linear-gradient(90deg,color-mix(in srgb,var(--talent-color) 82%,var(--ink)),var(--talent-color))}
.specialization-effect{grid-column:1/-1;display:grid;gap:3px;padding:8px 10px;border:1px solid var(--bevel-dark);border-radius:6px;background:var(--stone-800);box-shadow:var(--bevel)}
.specialization-effect span{color:var(--parchment);font:700 10.5px var(--font-display)}
.specialization-effect small{color:var(--parchment-dim);font:400 9px var(--font-body)}
.specialization-streak-card>.ui-btn-primary{grid-column:1/-1;width:100%}
.specialization-kill-xp,.specialization-shiny-research{display:grid;gap:8px}
.specialization-kill-xp-row,.specialization-shiny-row{align-items:flex-start}
.specialization-kill-bar{display:block;margin-top:6px;width:100%}
.specialization-shiny-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;width:100%}
.specialization-kills .specialization-kill-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;max-height:220px;overflow:auto}
.specialization-kill-tile{cursor:default}
.specialization-kill-tile .ui-iconbox img{width:22px;height:22px;object-fit:contain;image-rendering:pixelated}
.specialization-kills-empty{margin:0;padding:18px 10px;color:var(--parchment-dim);font:400 11px var(--font-body);text-align:center}
.specialization-actions{display:flex;justify-content:flex-end}
.systems-discovery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){
  .specialization-streak-stats,.specialization-streak-invest,.specialization-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .specialization-kill-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .systems-discovery-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
  .specialization-card{width:calc(100vw - 14px)}
  .specialization-streak-stats,.specialization-streak-invest,.specialization-grid,.systems-discovery-grid{grid-template-columns:1fr}
  .specialization-kill-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .specialization-shiny-stats{grid-template-columns:1fr}
}
.pokedex-drop-list{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0 8px}.pokedex-drop-list span{display:inline-flex;align-items:center;gap:5px;padding:5px 7px;border:1px solid var(--bevel-dark);border-radius:5px;background:var(--stone-800);color:var(--parchment);font:400 9px var(--font-body)}.pokedex-drop-list img{width:22px;height:22px;object-fit:contain;image-rendering:pixelated}
.fishing-dialog-card{max-width:420px}
.fishing-status{margin:14px 0 12px;padding:10px 12px;border-radius:6px;background:var(--stone-800);border:1px solid var(--bevel-dark);color:var(--parchment);font:600 12px var(--font-body)}
.fishing-rod-row{display:grid;gap:8px;margin:0 0 14px}
.fishing-rod-pick{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:center;padding:8px 10px;border:1px solid var(--bevel-dark);border-radius:6px;background:var(--stone-800);color:var(--parchment);cursor:pointer;text-align:left}
.fishing-rod-pick:hover{border-color:var(--gold)}
.fishing-rod-pick.selected{border-color:var(--poke-yellow);box-shadow:0 0 0 1px color-mix(in srgb,var(--poke-yellow) 35%,transparent)}
.fishing-rod-pick:disabled{opacity:.4;cursor:not-allowed}
.fishing-rod-pick b{display:block;font:600 12px var(--font-display)}
.fishing-rod-pick small{color:var(--parchment-dim);font:500 10px var(--font-num)}
.fishing-actions{display:grid}
@media(max-width:560px){.evolution-methods,.progress-summary,.offline-report-grid,.trainer-perk-grid,.offline-report-summary{grid-template-columns:1fr}.trainer-progress-card,.offline-report-card{max-height:88vh;overflow:auto}}

/* Capture Log: same card language and rarity treatment as the Deposit. */
.capture-history-panel{
  width:min(610px,calc(100vw - 24px));height:min(620px,calc(100vh - 90px));max-height:min(620px,calc(100vh - 90px));
  padding:0;border-color:#7e5f1d;border-radius:10px;background:linear-gradient(155deg,#111b20,#081116 60%);overflow:hidden;
}
.capture-history-head{padding:12px 16px;border-bottom-color:#2d3940;background:#0b141a}
.capture-history-title{display:flex;align-items:center;gap:9px}.capture-history-title-icon{color:#d89b48;font-size:16px}
.capture-history-head h2{font-size:17px;text-transform:uppercase}.capture-history-head .eyebrow{color:#d8ae48}
.capture-history-summary{gap:7px;padding:10px 16px;border-bottom:1px solid #27323a;background:#0b141a;color:#87949b}
.capture-history-summary>span{padding:5px 8px;border:1px solid #34414a;border-radius:999px;background:#121b21;font:600 10px var(--font-display)}
.capture-history-summary>span b{margin-left:2px;color:#f1d064;font:700 11px var(--font-num)}
.capture-history-filters{gap:7px;margin-top:2px}
.capture-history-filters button{padding:7px 10px;border-color:#3c4850;border-radius:6px;background:#111a20;color:#909ba2}
.capture-history-filters button:hover{border-color:#9d7418;color:#e8dfcb}
.capture-history-filters button.active{border-color:#9d7418;background:linear-gradient(#efd276,#caa341);color:#1b160b;box-shadow:inset 0 1px 0 #fff4b566}
.capture-history-entries{display:flex;flex:1;min-height:0;flex-direction:column;padding:10px 16px;gap:7px;overflow-y:auto}
.capture-history-entries .capture-log-row{flex:0 0 auto}
.capture-history-entries .capture-log-row{
  position:relative;isolation:isolate;display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:11px;align-items:center;
  min-height:68px;padding:9px 11px;border:1px solid #2f3b42;border-left:3px solid var(--rarity,#777);border-radius:7px;
  background:#121b21;color:#e7e0cf;box-shadow:0 2px 5px #0007;overflow:hidden;
}
.capture-history-entries .capture-log-row>*{position:relative;z-index:2}
.capture-history-entries .capture-log-row .poke-portrait{width:44px;height:44px}
.capture-history-entries .capture-log-row .poke-portrait img{width:34px;height:34px;object-fit:contain;image-rendering:pixelated}
.capture-log-copy{min-width:0;display:grid;gap:5px}
.capture-log-title{display:flex;min-width:0;align-items:center;gap:7px}
.capture-history-entries .capture-log-title b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#f2efe6;font:700 11px var(--font-display)}
.capture-history-entries .capture-log-row .capture-shiny-pill{display:inline-flex;padding:2px 6px;border:1px solid #e7c95a;border-radius:999px;background:#493a12;color:#ffe994;font:700 8px var(--font-display);font-style:normal;box-shadow:0 0 9px #e7c95a44}
.capture-log-badges{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.capture-history-entries .capture-log-row .collection-rarity-pill{display:inline-flex;color:#1a140c;font:700 8px var(--font-display)}
.capture-history-entries .capture-log-row .collection-iv-pill{display:inline-flex;color:#fff7df;font:700 11px var(--font-num);box-shadow:0 0 9px color-mix(in srgb,var(--iv-color) 32%,transparent)}
.capture-log-meta{display:flex;min-width:0;align-items:center;gap:7px;color:#87949b;font:500 10px var(--font-num)}
.capture-log-meta>span{display:inline-flex;align-items:center;gap:3px;min-width:0;white-space:nowrap}
.capture-log-ball{overflow:hidden;text-overflow:ellipsis;color:#b7c0c5!important}
.capture-history-entries .capture-log-row time{align-self:center;max-width:92px;color:#77858c;font:500 9px/1.35 var(--font-num);text-align:right;white-space:normal}
.capture-history-entries .capture-log-row.shiny{border-color:#d9b755;border-left-color:#ffe56f;box-shadow:0 2px 6px #0008,inset 0 0 22px #d9b75518}
.capture-history-entries .capture-log-row{cursor:pointer}.capture-history-entries .capture-log-row:focus-visible{outline:2px solid #e7c65a;outline-offset:2px}.capture-history-entries .capture-log-row.open{border-color:#9d7418}.capture-log-ivs{display:none;grid-column:1/-1;margin-top:2px;padding:9px 10px;border:1px solid #343c33;border-radius:6px;background:#101713}.capture-history-entries .capture-log-row.open>.capture-log-ivs{display:block}.capture-log-ivs .team-detail-label{margin-bottom:7px}.capture-log-ivs-empty{margin:0;color:#9c947e;font-size:10px}
.capture-history-foot{margin:0;padding:9px 16px 12px;border-top:1px solid #27323a;background:#0b141a;color:#78868d;font-size:9px}

/* Deposit rarity borders, auras and sheen are deliberately mirrored here. */
.capture-log-row.rarity-epic,.capture-log-row.rarity-legendary,.capture-log-row.rarity-mythic,.capture-log-row.rarity-celestial{position:relative;isolation:isolate;overflow:hidden}
.capture-log-row.rarity-epic::before,.capture-log-row.rarity-legendary::before,.capture-log-row.rarity-mythic::before,.capture-log-row.rarity-celestial::before,
.capture-log-row.rarity-legendary::after,.capture-log-row.rarity-mythic::after,.capture-log-row.rarity-celestial::after{
  content:'';position:absolute;inset:1px;border-radius:inherit;pointer-events:none;z-index:0;
}
.capture-history-entries .capture-log-row.rarity-epic{border-color:#79508f;background:linear-gradient(112deg,#2a1830 0%,#1d171f 48%,var(--stone-800) 82%);box-shadow:var(--bevel),inset 0 0 16px #aa6de124}
.capture-log-row.rarity-epic::before{background:radial-gradient(circle at 8% 50%,#c679e938 0,transparent 34%),linear-gradient(90deg,transparent,#8d51b00d 70%,transparent)}
.capture-history-entries .capture-log-row.rarity-legendary{border-color:#b77a2f;background:linear-gradient(112deg,#3a2814 0%,#241c14 45%,var(--stone-800) 82%);box-shadow:var(--bevel),inset 0 0 20px #e5a84e2b}
.capture-log-row.rarity-legendary::before{background:radial-gradient(circle at 10% 50%,#ffd66f42 0,transparent 36%),radial-gradient(circle at 82% 0,#f28b3030 0,transparent 35%)}
.capture-history-entries .capture-log-row.rarity-mythic{border-color:#b94d76;background:linear-gradient(112deg,#371522 0%,#241724 48%,#151821 82%);box-shadow:var(--bevel),inset 0 0 22px #9f5cff30}
.capture-log-row.rarity-mythic::before{background:radial-gradient(circle at 8% 50%,#ff668e45 0,transparent 34%),radial-gradient(circle at 92% 50%,#725cff30 0,transparent 38%);animation:rarity-aura-pulse 3s ease-in-out infinite}
.capture-history-entries .capture-log-row.rarity-celestial{border-color:#efdf87;background:linear-gradient(112deg,#23352f 0%,#25203a 42%,#332719 67%,#171a18 100%);box-shadow:var(--bevel),inset 0 0 24px #ffffff30,inset 0 0 7px #77e8db66}
.capture-log-row.rarity-celestial::before{
  background:radial-gradient(circle at 9% 24%,#fffbd9 0 1px,transparent 2px),radial-gradient(circle at 24% 74%,#fff 0 1px,transparent 2px),radial-gradient(circle at 72% 22%,#fffbd9 0 1px,transparent 2px),radial-gradient(circle at 90% 70%,#fff 0 1px,transparent 2px),linear-gradient(105deg,#65e6d32b,#8a6cff32 42%,#f5d65b35 72%,#ff7eb326);
  background-size:auto,auto,auto,auto,180% 100%;animation:celestial-aurora 4s ease-in-out infinite alternate;
}
.capture-log-row.rarity-legendary::after,.capture-log-row.rarity-mythic::after,.capture-log-row.rarity-celestial::after{
  z-index:1;background:linear-gradient(112deg,transparent 32%,#ffffff08 43%,#ffffff38 49%,#ffffff0b 55%,transparent 68%) no-repeat;background-size:260% 100%;animation:rarity-sheen-safe 3.8s linear infinite;
}
.capture-log-row.rarity-mythic::after{animation-duration:3.1s}.capture-log-row.rarity-celestial::after{animation-duration:2.6s}

@media(prefers-reduced-motion:reduce){.capture-log-row[class*=rarity-]::before,.capture-log-row[class*=rarity-]::after{animation:none}}
@media(max-width:560px){
  .capture-history-panel{height:calc(100vh - 130px);max-height:calc(100vh - 130px)}
  .capture-history-summary,.capture-history-entries{padding-inline:9px}.capture-history-foot{padding-inline:11px}
  .capture-history-entries .capture-log-row{grid-template-columns:42px minmax(0,1fr);gap:9px;padding:8px}
  .capture-history-entries .capture-log-row .poke-portrait{width:40px;height:40px}.capture-history-entries .capture-log-row .poke-portrait img{width:30px;height:30px}
  .capture-history-entries .capture-log-row time{grid-column:2;max-width:none;text-align:left}.capture-log-meta{flex-wrap:wrap}
}

/* ---- Altar / Breeding / Atlas / Boss (UI layer) ---------------------------- */
.altar-overlay,.breeding-overlay,.atlas-overlay{position:fixed;inset:0;z-index:70;display:grid;place-items:center;padding:18px;background:#030806d9;backdrop-filter:blur(5px)}
.altar-overlay.hidden,.breeding-overlay.hidden,.atlas-overlay.hidden{display:none}
.altar-overlay-card,.breeding-overlay-card,.atlas-overlay-card{
  position:relative;width:min(920px,96vw);max-height:92vh;overflow:auto;padding:22px;
  border:2px solid #b8923f;border-radius:14px;
  background:radial-gradient(ellipse 70% 45% at 10% 0,#e7c65a22,transparent 55%),linear-gradient(165deg,#1f241c,#121711 55%,#181408);
  box-shadow:0 30px 80px #000;
}
.altar-head,.breeding-head,.atlas-head{padding-right:36px;margin-bottom:14px}
.altar-head h2,.breeding-head h2,.atlas-head h2{margin:2px 0 6px;font:700 24px var(--font-display);color:#f7f0dc}
.altar-head p,.breeding-head p,.atlas-head p{margin:0;color:#a59e8a;font:400 12px var(--font-ui);line-height:1.45;max-width:60ch}
.altar-cards-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:14px;padding:10px 12px;border:1px solid #4a4333;border-radius:10px;background:#151a14}
.altar-cards-bar b{color:#f0d77b;font:700 14px var(--font-num)}
.altar-cards-bar em{margin-left:auto;color:#c9b277;font:600 11px var(--font-display)}
.altar-layout{display:grid;grid-template-columns:200px minmax(0,1fr);gap:14px}
.altar-preview{display:grid;justify-items:center;gap:10px;padding:14px;border:1px solid #4a4333;border-radius:12px;background:radial-gradient(circle at 50% 30%,#24301f,#10150f)}
.altar-preview-frame{width:120px;height:120px;border:1px solid #d4b45a88;border-radius:14px;display:grid;place-items:center;background:#0c100c}
.altar-preview-frame img{width:88px;height:88px;object-fit:contain;image-rendering:pixelated}
.altar-preview-frame span{font-size:36px;color:#e7c65a}
.altar-invoke{width:100%;padding:12px;border:0;border-radius:10px;background:linear-gradient(180deg,#efd276,#b8923f);color:#1a140c;font:700 12px var(--font-display);cursor:pointer}
.altar-invoke:disabled{opacity:.4;cursor:not-allowed}
.altar-hint{margin:0;color:#ff9d8a;font-size:11px;text-align:center}
.altar-search,.atlas-search{display:flex;align-items:center;gap:8px;margin-bottom:10px;padding:8px 10px;border:1px solid #3a4034;border-radius:8px;background:#121711;color:#cfc7b2}
.altar-search input,.atlas-search input,.breeding-box header input{flex:1;border:0;background:transparent;color:#f2efe6;font:500 13px var(--font-ui);outline:none}
.altar-species-grid,.atlas-species-grid,.breeding-box-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;max-height:420px;overflow:auto}
.altar-species,.atlas-species,.breeding-box-tile{display:grid;gap:4px;justify-items:center;padding:8px 6px;border:1px solid #3a4034;border-radius:10px;background:#141914;color:#eee2bd;cursor:pointer}
.altar-species img,.atlas-species img,.breeding-box-tile img{width:48px;height:48px;object-fit:contain;image-rendering:pixelated}
.altar-species.selected,.atlas-species.selected,.breeding-box-tile.selected,.atlas-type.selected,.atlas-band.selected{border-color:#e0c57a;box-shadow:0 0 0 1px #e0c57a55;background:linear-gradient(180deg,#2a2614,#18170f)}
.altar-species b,.atlas-species b,.breeding-box-tile b{font:700 10px var(--font-display);text-align:center}
.altar-empty,.atlas-empty,.breeding-empty{padding:24px;text-align:center;color:#9e9786}

.breeding-layout{display:grid;grid-template-columns:1fr 1.1fr .9fr;gap:12px;margin-bottom:14px}
.breeding-pair-col,.breeding-center-col,.breeding-right-col{padding:12px;border:1px solid #2f342c;border-radius:12px;background:#121711cc}
.breeding-pair-col h3,.breeding-center-col h3,.breeding-right-col h3,.breeding-box h3{margin:0 0 10px;font:700 11px var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:#c9b277}
.breeding-pair-slots{display:grid;gap:8px}
.breeding-slot{display:grid;grid-template-columns:52px 1fr auto;gap:8px;align-items:center;padding:10px;border:1px solid #3a4034;border-radius:10px;background:#151a14;color:#eee2bd}
.breeding-slot.empty{grid-template-columns:1fr;justify-items:center;cursor:pointer;min-height:72px;border-style:dashed}
.breeding-slot img{width:48px;height:48px;object-fit:contain;image-rendering:pixelated}
.breeding-slot button{width:28px;height:28px;border:1px solid #6b7484;border-radius:6px;background:#161b18;color:#eee2bd;cursor:pointer}
.breeding-analysis dl{display:grid;gap:8px;margin:0 0 12px}
.breeding-analysis dt{color:#9aa3b2;font-size:11px}.breeding-analysis dd{margin:2px 0 0;color:#f2efe6;font:700 12px var(--font-num)}
.breeding-stat{margin-bottom:12px}.breeding-stat i{display:block;height:7px;margin-top:6px;border-radius:999px;background:#292d25;overflow:hidden}
.breeding-stat em{display:block;height:100%;background:linear-gradient(90deg,#789e50,#e0c45d)}
.breeding-warn{color:#e7c65a;font-size:11px;margin:0 0 10px}
.breeding-create{width:100%;padding:12px;border:0;border-radius:10px;background:linear-gradient(180deg,#efd276,#b8923f);color:#1a140c;font:700 12px var(--font-display);cursor:pointer}
.breeding-check{display:flex;gap:8px;align-items:center;margin:6px 0;color:#d7d2c4;font-size:12px}
.breeding-egg-slots{display:grid;gap:8px}
.breeding-egg{display:grid;gap:4px;padding:10px;border:1px solid #3a4034;border-radius:10px;background:#151a14;color:#eee2bd}
.breeding-egg.empty{justify-items:center;color:#9e9786}
.breeding-egg img{width:40px;height:40px;object-fit:contain;image-rendering:pixelated}
.breeding-egg i{display:block;height:6px;border-radius:999px;background:#292d25;overflow:hidden}
.breeding-egg em{display:block;height:100%;background:linear-gradient(90deg,#789e50,#e0c45d)}
.breeding-box{padding:12px;border:1px solid #2f342c;border-radius:12px;background:#121711}
.breeding-box header{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:10px}
.breeding-box header input{width:min(220px,40vw);padding:7px 9px;border:1px solid #3a4034;border-radius:8px;background:#151a14}

/* ---- Atlas de Hunt: layout master-detail no tema pedra/pergaminho ---------- */
.atlas-overlay{background:#030806e6}
.atlas-overlay-card{
  width:min(1120px,96vw);height:min(760px,94vh);min-height:0;display:flex;flex-direction:column;overflow:hidden;
  padding:18px 20px;border:2px solid var(--bevel-dark);border-radius:8px;
  background:linear-gradient(160deg,var(--stone-600),var(--stone-700) 52%);
  box-shadow:var(--bevel-strong),0 30px 80px #000;
}
.atlas-overlay-card .dialog-close{border:1px solid var(--bevel-dark);border-radius:6px;background:var(--stone-800);color:var(--parchment-dim);box-shadow:var(--bevel)}
.atlas-overlay-card .dialog-close:hover{color:var(--poke-yellow);border-color:var(--gold)}
.atlas-head{margin-bottom:12px;padding-bottom:10px;border-bottom:2px solid var(--bevel-dark);box-shadow:0 1px 0 var(--bevel-light)}
.atlas-head::after{content:none}
.atlas-head h2{color:var(--parchment);font-size:24px;text-shadow:none}
.atlas-head p{color:var(--parchment-dim)}
.atlas-layout{flex:1;min-height:0;display:grid;grid-template-columns:210px minmax(0,1fr);gap:14px}
.atlas-types{display:flex;flex-direction:column;gap:8px;min-height:0}
.atlas-type-list{flex:1;min-height:0;overflow-y:auto;display:grid;gap:6px;align-content:start;padding-right:2px}
.atlas-type{display:grid;grid-template-columns:34px minmax(0,1fr);gap:9px;align-items:center;padding:7px 8px;border:1px solid var(--bevel-dark);border-radius:6px;background:var(--stone-800);box-shadow:var(--bevel);color:var(--parchment);cursor:pointer;text-align:left;transition:border-color .15s ease}
.atlas-type:hover:not(:disabled){border-color:var(--type-color)}
.atlas-type.selected{border-color:var(--type-color);background:var(--stone-700);box-shadow:var(--bevel),inset 3px 0 0 var(--type-color)}
.atlas-type:disabled{opacity:.45;filter:grayscale(.7);cursor:not-allowed}
.atlas-type-icon{width:32px;height:32px;display:grid;place-items:center;border:2px solid var(--bevel-dark);border-radius:50%;background:var(--type-color);box-shadow:inset 0 2px 0 #ffffff55}
.atlas-type-icon .type-icon{width:19px;height:19px;color:#17140e}
.atlas-type-copy{display:grid;gap:1px;min-width:0}
.atlas-type-copy b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--parchment);font:600 11px var(--font-display)}
.atlas-type-copy small{color:var(--parchment-dim);font:400 10px var(--font-num)}
.atlas-main{display:flex;flex-direction:column;gap:10px;min-height:0}
.atlas-bands-wrap{display:grid;gap:7px}
.atlas-bands{display:flex;flex-wrap:wrap;gap:6px}
.atlas-band{position:relative;display:grid;grid-template-columns:26px minmax(0,1fr);gap:7px;align-items:center;padding:6px 8px;border:1px solid var(--bevel-dark);border-radius:6px;background:var(--stone-800);box-shadow:var(--bevel);color:var(--parchment);cursor:pointer;text-align:left;transition:border-color .15s ease}
.atlas-band:hover{border-color:var(--gold)}
.atlas-band.selected{border-color:var(--gold);background:var(--stone-700);box-shadow:var(--bevel),0 0 10px #d4a83c33}
.atlas-band.selected .atlas-band-copy b{color:var(--poke-yellow)}
.atlas-band-icon{width:24px;height:24px;display:grid;place-items:center;color:var(--gold)}
.atlas-band-icon .ui-icon{width:20px;height:20px}
.atlas-band-copy{display:grid;gap:0;min-width:0}
.atlas-band-copy b{color:var(--gold-soft);font:400 13px var(--font-num);line-height:1.15}
.atlas-band-copy em{color:var(--parchment-dim);font:400 9px var(--font-num);font-style:normal}
.atlas-band>strong{position:absolute;right:-4px;top:-7px;padding:1px 5px;border:1px solid var(--bevel-dark);border-radius:4px;background:var(--poke-red-dark);color:#ffe3d9;font:600 7px var(--font-display);letter-spacing:.04em}
.atlas-band.zone-band>strong{background:var(--gold);color:var(--ink)}
.atlas-band.locked{opacity:.6}
.atlas-band.locked .atlas-band-icon{color:var(--parchment-dim)}
.atlas-unlock-panel{display:flex;align-items:center;gap:10px;padding:9px 11px;border:1px solid var(--bevel-dark);border-radius:6px;background:var(--stone-800);box-shadow:var(--bevel),inset 3px 0 0 var(--gold)}
.atlas-unlock-panel>span{font-size:16px}
.atlas-unlock-panel>div{display:grid;gap:2px}
.atlas-unlock-panel small{color:var(--gold);font:600 8px var(--font-display);letter-spacing:.1em;text-transform:uppercase}
.atlas-unlock-panel b{color:var(--gold-soft);font:600 11px var(--font-display)}
.atlas-unlock-panel p{margin:0;color:var(--parchment-dim);font:400 10px var(--font-body)}
.atlas-species-pane{flex:1;min-height:0;display:flex;flex-direction:column}
.atlas-search{margin-bottom:10px;padding:9px 11px;border:1px solid var(--bevel-dark);border-radius:6px;background:var(--stone-800);box-shadow:var(--bevel);color:var(--parchment-dim)}
.atlas-species-grid{flex:1;min-height:0;max-height:none;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;align-content:start;padding:2px}
.atlas-species{position:relative;display:grid;grid-template-columns:64px minmax(0,1fr) auto;grid-template-areas:"art copy types" "art state state";gap:4px 10px;align-items:center;justify-items:stretch;min-height:88px;padding:9px;border:1px solid var(--bevel-dark);border-radius:6px;background:var(--stone-800);box-shadow:var(--bevel);color:var(--parchment);text-align:left;cursor:pointer;transition:border-color .15s ease}
.atlas-species:hover{border-color:var(--gold)}
.atlas-species.selected{border-color:var(--gold);background:var(--stone-700);box-shadow:var(--bevel),0 0 10px #d4a83c33}
.atlas-species.caught{box-shadow:var(--bevel),inset 3px 0 0 var(--gold)}
.atlas-species-art{grid-area:art;width:62px;height:66px;display:grid;place-items:center;overflow:hidden;border:1px solid var(--bevel-dark);border-radius:6px;background:var(--stone-700)}
.atlas-species-art img{width:56px!important;height:56px!important;filter:drop-shadow(0 4px 4px #0009)}
.atlas-species-copy{grid-area:copy;display:grid;gap:2px;min-width:0}
.atlas-species-copy b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--parchment);font:600 11px var(--font-display);text-align:left}
.atlas-species-copy small{color:var(--gold-soft);font:400 11px var(--font-num)}
.atlas-species-types{grid-area:types;display:flex;gap:4px;justify-self:end}
.atlas-species-types i{width:22px;height:22px;display:grid;place-items:center;border:1px solid var(--bevel-dark);border-radius:50%;background:var(--type-color)}
.atlas-species-types .type-icon{width:13px;height:13px;color:#17140e}
.atlas-caught-state{grid-area:state;justify-self:start;color:var(--parchment-dim);font:600 9px var(--font-display);font-style:normal}
.atlas-species.caught .atlas-caught-state{color:var(--gold-soft)}
.atlas-boss-badge{position:absolute;right:7px;bottom:7px;padding:2px 6px;border:1px solid #14100a;border-radius:4px;background:var(--poke-red-dark);color:#ffe3d9;font:600 8px var(--font-display)}
.atlas-empty{border:1px dashed var(--bevel-light);border-radius:6px;background:var(--stone-800)}
.atlas-zone-pane{flex:1;min-height:0;overflow-y:auto;display:grid;gap:10px;align-content:start;padding:2px}
.atlas-zone-card{display:grid;gap:10px;padding:14px;border:1px solid var(--bevel-dark);border-radius:8px;background:var(--stone-800);box-shadow:var(--bevel);color:var(--parchment)}
.atlas-zone-card .eyebrow{color:var(--gold)}
.atlas-zone-card h3{margin:0;color:var(--parchment);font:600 17px var(--font-display)}
.atlas-zone-card p{margin:0;color:var(--parchment-dim);font:400 12px var(--font-body);line-height:1.45}
.atlas-zone-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.atlas-zone-stats>span{display:grid;gap:3px;padding:8px;border:1px solid var(--bevel-dark);border-radius:6px;background:var(--stone-700);box-shadow:var(--bevel)}
.atlas-zone-stats small{color:var(--parchment-dim);font:600 8px var(--font-display);letter-spacing:.08em;text-transform:uppercase}
.atlas-zone-stats b{color:var(--gold-soft);font:400 14px var(--font-num)}
.atlas-zone-progress{display:grid;gap:6px}
.atlas-zone-progress>span{display:flex;justify-content:space-between;color:var(--parchment);font:600 10px var(--font-display)}
.atlas-zone-progress em{color:var(--gold-soft);font:400 11px var(--font-num);font-style:normal}
.atlas-zone-progress>i{height:9px;overflow:hidden;border:2px solid #2b2317;border-radius:6px;background:#4f4430}
.atlas-zone-progress u{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--gold-soft));text-decoration:none}
.atlas-zone-legendary-guide{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:start;padding:10px;border:1px solid var(--bevel-dark);border-radius:6px;background:var(--stone-700);box-shadow:var(--bevel)}
.atlas-zone-legendary-guide>span{width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--gold);border-radius:50%;background:var(--stone-800);color:var(--gold-soft)}
.atlas-zone-legendary-guide .ui-icon{width:17px;height:17px}
.atlas-zone-legendary-guide div{display:grid;gap:4px}
.atlas-zone-legendary-guide b{color:var(--gold-soft);font:600 10px var(--font-display)}
.atlas-zone-legendary-guide p{color:var(--parchment-dim)!important;font-size:10px!important;line-height:1.45!important}
.atlas-zone-effects{padding:8px 10px;border:1px solid var(--bevel-dark);border-radius:6px;background:var(--stone-700);box-shadow:var(--bevel);color:var(--gold-soft)!important;text-align:center}
.atlas-zone-lock{padding:9px!important;border:2px solid var(--poke-red-dark);border-radius:6px;background:var(--stone-800);color:var(--hp-red)!important}
.atlas-zone-pool{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;max-height:260px;overflow:auto}
.atlas-zone-species{margin:0;display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0;padding:8px;border:1px solid var(--bevel-dark);border-radius:6px;background:var(--stone-700);box-shadow:var(--bevel)}
.atlas-zone-art{width:64px;height:64px;flex:0 0 auto;display:grid;place-items:center;overflow:hidden;border:1px solid var(--bevel-dark);border-radius:6px;background:var(--stone-800)}
.atlas-zone-art img{width:56px;height:56px;object-fit:contain;object-position:center;image-rendering:pixelated;filter:drop-shadow(0 4px 4px #0009);transform:translate(var(--sprite-shift-x,0),var(--sprite-shift-y,0))}
.atlas-zone-species figcaption{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--parchment);font:600 10px var(--font-display);text-align:center}
.atlas-zone-hint{color:var(--gold)!important}
.atlas-zone-bosses{display:flex;align-items:center;gap:7px;padding-top:3px;flex-wrap:wrap}
.atlas-zone-bosses>small{margin-right:auto;color:var(--gold);font:600 8px var(--font-display);letter-spacing:.08em;text-transform:uppercase}
.atlas-zone-bosses span{width:38px;height:38px;display:grid;place-items:center;overflow:hidden;border:1px solid var(--gold);border-radius:50%;background:var(--stone-800);opacity:.72}
.atlas-zone-bosses span.is-featured{opacity:1;box-shadow:0 0 0 2px var(--gold-soft)}
.atlas-zone-bosses img{width:34px;height:34px;object-fit:contain;image-rendering:pixelated;transform:translate(var(--sprite-shift-x,0),var(--sprite-shift-y,0))}
.atlas-zone-featured{display:grid;gap:6px;justify-items:start}
.atlas-zone-featured>small{color:var(--gold);font:600 8px var(--font-display);letter-spacing:.08em;text-transform:uppercase}
.atlas-zone-featured figure{display:grid;gap:4px;justify-items:center;margin:0;padding:8px 10px;border:1px solid var(--gold);border-radius:8px;background:var(--stone-800)}
.atlas-zone-featured img{width:64px;height:64px;object-fit:contain;image-rendering:pixelated}
.atlas-zone-featured figcaption{color:var(--gold-soft);font:600 11px var(--font-display)}
.atlas-foot{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;margin-top:12px;padding-top:12px;border-top:2px solid var(--bevel-dark);box-shadow:0 -1px 0 var(--bevel-light)}
.atlas-foot-meta{display:flex;flex-wrap:wrap;gap:6px}
.atlas-foot-meta span,.atlas-foot-meta b{padding:4px 8px;border:1px solid var(--bevel-dark);border-radius:4px;background:var(--stone-800);box-shadow:var(--bevel);color:var(--parchment-dim);font:400 12px var(--font-num)}
.atlas-foot-meta b{color:var(--gold-soft)}
.atlas-difficulty{display:flex;align-items:center;gap:6px}
.atlas-difficulty small{color:var(--parchment-dim);font:600 9px var(--font-display);letter-spacing:.06em;text-transform:uppercase}
.atlas-difficulty button{padding:5px 10px;border:1px solid var(--bevel-dark);border-radius:4px;background:var(--stone-800);box-shadow:var(--bevel);color:var(--parchment-dim);font:400 12px var(--font-num);cursor:pointer}
.atlas-difficulty button:hover{border-color:var(--gold)}
.atlas-difficulty button.active{border-color:var(--gold);color:var(--poke-yellow)}
.atlas-start{padding:12px 18px;border:2px solid #14100a;border-radius:6px;background:linear-gradient(#ff5a2b,var(--poke-red) 45%,#c22a08);color:#fff;font:600 12px var(--font-display);text-shadow:1px 1px 0 var(--poke-red-dark);box-shadow:0 3px 0 var(--poke-red-dark),0 6px 14px #0008,inset 1px 1px 0 #ff8a5f;cursor:pointer;transition:.15s}
.atlas-start:hover:not(:disabled){filter:brightness(1.06)}
.atlas-start:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 var(--poke-red-dark)}
.atlas-start:disabled{opacity:.4;filter:grayscale(.4);cursor:not-allowed}
.atlas-empty{grid-column:1/-1}
.map-zone-levels,.map-zone-types{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.map-zone-level,.map-zone-type{display:inline-grid;gap:2px;padding:8px 10px;border:1px solid #4a5648;border-radius:10px;background:#151a14;color:#eee2bd;cursor:pointer;text-align:left}
.map-zone-level.active,.map-zone-type:hover{border-color:#e0c57a;background:#221e12}
.map-zone-type{grid-template-columns:22px 1fr;align-items:center;min-width:140px}
.map-zone-type small{grid-column:2;color:#8f9788;font:600 9px var(--font-ui)}
.map-zone-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0}.map-zone-stat{display:grid;gap:3px;padding:9px;border:1px solid #4c4030;border-radius:8px;background:#0d100d}.map-zone-stat small{color:#998c77;font:700 7px var(--font-display);text-transform:uppercase}.map-zone-stat b{overflow:hidden;text-overflow:ellipsis;color:#f0d080;font:700 12px var(--font-num);white-space:nowrap}.map-zone-progress{display:grid;gap:6px;text-align:left}.map-zone-progress>span{display:flex;justify-content:space-between}.map-zone-progress b,.map-zone-progress em{font:700 9px var(--font-display);font-style:normal}.map-zone-progress em{color:#f0d080}.map-zone-progress>i{height:7px;overflow:hidden;border-radius:99px;background:#070806}.map-zone-progress u{display:block;height:100%;background:linear-gradient(90deg,#9d5d31,#f0d080);text-decoration:none}.map-zone-effects{margin-top:10px!important;color:#d9bd75!important;font:600 10px var(--font-ui)!important}.map-zone-lock{margin-top:9px!important;padding:7px;border:1px solid #814343;border-radius:7px;background:#281314;color:#f5a7a0!important}.map-zone-start{width:100%;margin-top:12px;padding:11px;border:1px solid #f0d080;border-radius:8px;background:linear-gradient(#e5bd5c,#9d6d25);color:#1a1209;font:800 11px var(--font-display);cursor:pointer}.map-zone-start:disabled{filter:grayscale(1);opacity:.4;cursor:not-allowed}.map-zone-level.locked{opacity:.55;border-style:dashed}

.wild-actor.shiny .wild-label,.wild-actor.boss .wild-label{position:relative}
.wild-actor.shiny .wild-label{color:#ffe08a;text-shadow:0 0 8px #e7c65a88}
.wild-actor.boss{filter:drop-shadow(0 0 6px #c2675288)}
.wild-actor.zone-legendary{filter:drop-shadow(0 0 10px #f0d080) drop-shadow(0 0 18px #9a67d8)}.wild-actor.zone-legendary .wild-label{outline-color:#f0d080;background:#251b2dcc}.wild-actor.zone-legendary .wild-boss-tag{background:linear-gradient(90deg,#6f43a0,#c89537)}
.wild-actor.boss .wild-label{outline:1px solid #c26752;background:#2a1410cc;border-radius:4px;padding:2px 4px}
.wild-boss-tag{display:inline-block;margin-left:4px;padding:1px 5px;border-radius:999px;background:#c26752;color:#fff4e8;font:700 8px var(--font-display);letter-spacing:.04em}
.enemy-boss-badge{display:inline-flex;align-items:center;gap:4px;margin-left:6px;padding:2px 7px;border:1px solid #c26752;border-radius:999px;background:#2a1410;color:#ffb39a;font:700 9px var(--font-display)}
.team-aoe-slot{margin-top:12px;padding:12px;border:1px solid #3a4034;border-radius:10px;background:#151a14}
.team-aoe-slot.locked{opacity:.72}
.team-aoe-slot header{display:flex;justify-content:space-between;gap:8px;margin-bottom:8px;color:#c9b277;font:700 10px var(--font-display);letter-spacing:.08em;text-transform:uppercase}
.team-aoe-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.team-aoe-actions button{padding:8px 10px;border:1px solid #6b7484;border-radius:8px;background:#161b18;color:#eee2bd;font:600 11px var(--font-display);cursor:pointer}
.team-tm-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.team-tm-list button{padding:7px 9px;border:1px solid #4a4333;border-radius:8px;background:#121711;color:#eee2bd;font:600 10px var(--font-display);cursor:pointer}

@media(max-width:860px){
  .altar-layout,.breeding-layout{grid-template-columns:1fr}
  .atlas-overlay-card{height:auto;max-height:94vh;padding:16px;overflow-y:auto}
  .atlas-layout{grid-template-columns:1fr;min-height:0}
  .atlas-type-list{display:flex;overflow-x:auto;overflow-y:hidden;padding-bottom:4px}
  .atlas-type{flex:0 0 auto;min-width:150px}
  .atlas-species-grid{grid-template-columns:1fr;max-height:40vh}
  .atlas-zone-stats,.map-zone-details{grid-template-columns:1fr}
  .atlas-foot{grid-template-columns:1fr;justify-items:stretch}
  .atlas-foot-meta{justify-content:center}
  .atlas-difficulty{justify-content:center}
  .atlas-start{width:100%}
}

/* ---- Sistemas da cidade (master-ui) --------------------------------------- */
#masterSystemsDialog{z-index:70}
.master-systems-card{
  position:relative;width:min(880px,96vw);max-height:92vh;display:flex;flex-direction:column;
  padding:20px 22px;border:2px solid var(--bevel-dark);border-radius:8px;
  background:linear-gradient(160deg,var(--stone-600),var(--stone-700) 52%);
  box-shadow:var(--bevel-strong),0 30px 80px #000;
}
.master-systems-card .dialog-close{border:1px solid var(--bevel-dark);border-radius:6px;background:var(--stone-800);color:var(--parchment-dim);box-shadow:var(--bevel)}
.master-systems-card .dialog-close:hover{color:var(--poke-yellow);border-color:var(--gold)}
.master-head{padding-right:36px;margin-bottom:12px;padding-bottom:10px;border-bottom:2px solid var(--bevel-dark);box-shadow:0 1px 0 var(--bevel-light)}
.master-head h2{margin:2px 0 4px;color:var(--parchment);font:600 22px var(--font-display)}
.master-head p{margin:0;color:var(--parchment-dim);font:400 12px var(--font-body)}
.master-systems-body{display:grid;gap:10px;align-content:start;overflow-y:auto;padding:2px 4px 2px 2px}
.master-back{justify-self:start;padding:6px 12px;border:1px solid var(--bevel-dark);border-radius:4px;background:var(--stone-800);box-shadow:var(--bevel);color:var(--parchment-dim);font:600 10px var(--font-display);cursor:pointer}
.master-back:hover{color:var(--poke-yellow);border-color:var(--gold)}
.master-hint{margin:0;color:var(--parchment-dim);font:400 11px var(--font-body);line-height:1.45}
.master-section{display:grid;gap:7px;align-content:start}
.master-hub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px}
.master-hub-btn{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:center;padding:10px;border:1px solid var(--bevel-dark);border-radius:6px;background:var(--stone-800);box-shadow:var(--bevel);color:var(--parchment);cursor:pointer;text-align:left;transition:border-color .15s ease}
.master-hub-btn:hover{border-color:var(--gold)}
.master-hub-icon{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--bevel-dark);border-radius:6px;background:var(--stone-700);box-shadow:var(--bevel);color:var(--gold-soft)}
.master-hub-icon .ui-icon{width:22px;height:22px}
.master-hub-icon .emerald-mark{--mark-size:22px}
.master-hub-copy{display:grid;gap:2px;min-width:0}
.master-hub-copy b{color:var(--parchment);font:600 11px var(--font-display)}
.master-hub-copy small{color:var(--parchment-dim);font:400 10px var(--font-body)}
.master-hub-status{grid-column:1/-1;display:inline-flex;align-items:center;gap:5px;justify-self:start;padding:3px 7px;border:1px solid var(--bevel-dark);border-radius:4px;background:var(--stone-700);color:var(--gold-soft);font:400 11px var(--font-num);font-style:normal}
.master-hub-status b{color:var(--poke-yellow);font-weight:400}
.master-hub-btn.live{border-color:var(--gold)}
.master-hub-btn.live .master-hub-status{border-color:var(--gold);color:var(--poke-yellow)}
.master-list{display:grid;gap:6px}
.master-row{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:9px 11px;border:1px solid var(--bevel-dark);border-radius:6px;background:var(--stone-800);box-shadow:var(--bevel)}
.master-row>div{display:grid;gap:2px;min-width:0}
.master-row b{color:var(--parchment);font:600 11px var(--font-display)}
.master-row small{color:var(--parchment-dim);font:400 11px var(--font-body)}
.master-row.ready{border-color:var(--gold)}
.master-row.done b{color:var(--gold-soft)}
.master-check{color:var(--gold-soft);font:600 13px var(--font-display)}
.master-btn{display:inline-flex;align-items:center;gap:5px;padding:7px 11px;border:1px solid var(--bevel-dark);border-radius:4px;background:linear-gradient(var(--stone-600),var(--stone-800));box-shadow:var(--bevel);color:var(--parchment-dim);font:600 10px var(--font-display);cursor:pointer;white-space:nowrap}
.master-btn:hover:not(:disabled){color:var(--poke-yellow);border-color:var(--gold)}
.master-btn:disabled{opacity:.4;cursor:not-allowed}
.master-primary{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:11px 14px;border:2px solid #14100a;border-radius:6px;background:linear-gradient(#ff5a2b,var(--poke-red) 45%,#c22a08);color:#fff;font:600 11px var(--font-display);text-shadow:1px 1px 0 var(--poke-red-dark);box-shadow:0 3px 0 var(--poke-red-dark),0 6px 14px #0008,inset 1px 1px 0 #ff8a5f;cursor:pointer;transition:.15s}
.master-primary:hover{filter:brightness(1.06)}
.master-primary:active{transform:translateY(2px);box-shadow:0 1px 0 var(--poke-red-dark)}
.master-perk-row{display:flex;flex-wrap:wrap;gap:6px}
.master-perk-row span{padding:5px 8px;border:1px solid var(--bevel-dark);border-radius:4px;background:var(--stone-800);box-shadow:var(--bevel);color:var(--gold-soft);font:400 12px var(--font-num)}
.master-balance{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border:1px solid var(--bevel-dark);border-radius:6px;background:var(--stone-800);box-shadow:var(--bevel)}
.master-balance small{color:var(--parchment-dim);font:600 9px var(--font-display);letter-spacing:.08em;text-transform:uppercase}
.master-balance b{display:inline-flex;align-items:center;gap:6px;color:var(--gold-soft);font:400 17px var(--font-num)}
.master-bar{display:block;height:8px;margin-top:5px;overflow:hidden;border:2px solid #2b2317;border-radius:5px;background:#4f4430}
.master-bar u{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--gold-soft));text-decoration:none}
.master-bar.danger u{background:linear-gradient(#ff7a5c,var(--poke-red) 60%,#a92407)}
.master-row select{padding:6px 8px;border:1px solid var(--bevel-dark);border-radius:4px;background:var(--stone-800);box-shadow:var(--bevel);color:var(--parchment);font:400 12px var(--font-num)}
.master-ul{margin:0;padding-left:18px;color:var(--parchment-dim);font:400 12px var(--font-body)}

@media(max-width:640px){
  .master-systems-card{padding:16px}
  .master-hub-grid{grid-template-columns:1fr 1fr}
  .master-row{flex-wrap:wrap}
}
