/* PC: botões de perfil e notificação com o mesmo padrão (PokéTower e menu JOGAR) e popover de perfil. */
html:not(.battlemon-mobile) :is(#trainerProfileAnchor, #homeTrainerProfileAnchor) { display: flex; align-items: center; gap: .5rem; }

html:not(.battlemon-mobile) :is(.trainer-header-pill, .home-profile-button, .reward-notifications-button) {
  border: 1px solid #2c4468;
  background: linear-gradient(180deg, #17263f, #0d1727);
  box-shadow: inset 0 1px 0 #ffffff14, 0 .25rem .75rem #0006;
  color: #e2ecfa;
  transition: border-color .2s, box-shadow .25s, transform .2s, background .25s;
}
html:not(.battlemon-mobile) :is(.trainer-header-pill, .home-profile-button, .reward-notifications-button):is(:hover, [aria-expanded="true"], :focus-visible) {
  border-color: #5aa9ff;
  background: linear-gradient(180deg, #1b2f4f, #0f1b2e);
  box-shadow: inset 0 1px 0 #ffffff1c, 0 0 0 3px #38bdf81c, 0 .4rem 1rem #0007;
  transform: translateY(-1px);
}
html:not(.battlemon-mobile) :is(.trainer-header-pill, .home-profile-button, .reward-notifications-button):focus-visible { outline: 2px solid #fbbf24; outline-offset: 2px; }

/* Cabeçalho do jogo */
html:not(.battlemon-mobile) .trainer-header-pill { height: 2.5rem; gap: .55rem; padding: 0 .85rem 0 .3rem; border-radius: .8rem; }
html:not(.battlemon-mobile) .trainer-header-pill img { width: 1.95rem; height: 1.95rem; border-radius: .55rem; border: 1px solid #38bdf866; background: radial-gradient(circle at 50% 30%, #23406b, #0c1626); object-fit: contain; }
html:not(.battlemon-mobile) #trainerProfileAnchor .reward-notifications-button { width: 2.5rem; height: 2.5rem; min-height: 0; border-radius: .8rem; color: #9cc8ff; }

/* Menu JOGAR */
html:not(.battlemon-mobile) .home-profile-button { min-height: 3.5rem; border-radius: 1rem; }
html:not(.battlemon-mobile) .home-profile-button > img { border-radius: .7rem; border-color: #38bdf866; background: radial-gradient(circle at 50% 30%, #23406b, #0c1626); }
html:not(.battlemon-mobile) #homeTrainerProfileAnchor .reward-notifications-button { width: 3.5rem; height: 3.5rem; min-height: 0; border-radius: 1rem; color: #9cc8ff; }
html:not(.battlemon-mobile) #homeTrainerProfileAnchor .reward-notifications-button svg { width: 1.45rem; height: 1.45rem; }

/* Selo de não lidas */
html:not(.battlemon-mobile) .reward-notifications-button b { top: -.35rem; right: -.35rem; min-width: 1.1rem; height: 1.1rem; display: grid; place-items: center; padding: 0 .28rem; border: 2px solid #0b1426; background: linear-gradient(180deg, #fb7185, #e11d48); font: 800 .6rem/1 var(--font-pixel-ui); box-shadow: 0 0 .5rem #e11d4888; }
html:not(.battlemon-mobile) .reward-notifications-button:hover svg { animation: profileBellRing .6s ease-in-out; transform-origin: 50% 10%; }

/* Popover de perfil */
html:not(.battlemon-mobile) .trainer-profile-popover {
  width: min(23rem, calc(100vw - 1.5rem)); padding: 0 1rem 1rem; overflow: hidden;
  border: 1px solid #2f4d78; border-radius: 1.1rem;
  background: radial-gradient(ellipse 90% 40% at 50% 0%, #1d4ed822, transparent 70%), linear-gradient(180deg, #0f1a2e, #0a1120);
  box-shadow: 0 1.4rem 3rem #000b, 0 0 0 1px #ffffff08 inset, 0 0 1.6rem #38bdf81a;
}
html:not(.battlemon-mobile) #homeTrainerProfileAnchor .trainer-profile-popover { overflow-y: auto; }
html:not(.battlemon-mobile) .trainer-profile-heading {
  position: relative; margin: 0 -1rem .9rem; padding: 1rem 1rem .95rem; align-items: center; overflow: hidden;
  background: linear-gradient(120deg, #1e4fae 0%, #163a7c 45%, #0e1f40 100%);
  border-bottom: 1px solid #ffffff14;
}
html:not(.battlemon-mobile) .trainer-profile-heading::after {
  content: ""; position: absolute; right: -2.2rem; top: -2.2rem; width: 8rem; height: 8rem; border-radius: 50%; pointer-events: none; opacity: .12;
  border: 1.1rem solid #fff; background: linear-gradient(transparent 44%, #fff 44% 56%, transparent 56%);
}
.trainer-profile-hero { position: relative; z-index: 1; display: flex; align-items: center; gap: .75rem; min-width: 0; }
.trainer-profile-hero-avatar { display: grid; place-items: center; width: 3.4rem; height: 3.4rem; flex: 0 0 auto; border-radius: 50%; background: radial-gradient(circle at 50% 35%, #2a5aa8, #0b1426 75%); border: 2px solid #fbbf24; box-shadow: 0 0 0 3px #0b142688, 0 0 1rem #fbbf2455; }
.trainer-profile-hero-avatar img { width: 3rem; height: 3rem; object-fit: contain; image-rendering: pixelated; }
.trainer-profile-hero-text { display: flex; flex-direction: column; gap: .25rem; min-width: 0; }
.trainer-profile-hero-text small { color: #bfdbfe; font: 700 .62rem var(--font-pixel-ui); letter-spacing: .14em; }
.trainer-profile-hero-text strong { max-width: 13rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #fff; font: 800 1.1rem var(--font-pixel-ui); text-shadow: 0 2px 0 #0b1f4a; }
html:not(.battlemon-mobile) .trainer-profile-close { position: relative; z-index: 1; width: 2rem; height: 2rem; flex-basis: 2rem; border-radius: .6rem; border-color: #ffffff30; background: #0b142666; }
.trainer-profile-info-label { display: flex; align-items: center; gap: .5rem; margin-bottom: .55rem; }
html:not(.battlemon-mobile) .trainer-profile-section-label { color: #7dd3fc; font: 800 .62rem var(--font-pixel-ui); letter-spacing: .14em; }
html:not(.battlemon-mobile) .trainer-profile-section-label::after { content: ""; flex: 1; height: 1px; background: linear-gradient(90deg, #38bdf855, transparent); }
html:not(.battlemon-mobile) .trainer-profile-team-section .trainer-profile-section-label { display: flex; align-items: center; gap: .5rem; }
.trainer-profile-popover.is-guest .trainer-profile-info-label { display: none; }

html:not(.battlemon-mobile) .trainer-profile-stats { gap: .5rem; }
html:not(.battlemon-mobile) .trainer-profile-stat {
  --stat: #fbbf24; position: relative; gap: .3rem; padding: .75rem .3rem .6rem; overflow: hidden; border-radius: .75rem;
  border: 1px solid color-mix(in srgb, var(--stat) 30%, #22324d);
  background: radial-gradient(90% 70% at 50% 0%, color-mix(in srgb, var(--stat) 18%, transparent), transparent 70%), linear-gradient(180deg, #16243b, #0d1626);
  box-shadow: inset 0 1px 0 #ffffff12;
}
html:not(.battlemon-mobile) .trainer-profile-stat::before { content: ""; position: absolute; top: 0; left: 15%; right: 15%; height: 2px; border-radius: 0 0 2px 2px; background: var(--stat); box-shadow: 0 0 .6rem var(--stat); }
html:not(.battlemon-mobile) .trainer-profile-stat:nth-child(2) { --stat: #38bdf8; }
html:not(.battlemon-mobile) .trainer-profile-stat:nth-child(3) { --stat: #f9a8d4; }
html:not(.battlemon-mobile) .trainer-profile-stat span { color: #a9bbd4; font: 700 .58rem var(--font-pixel-ui); letter-spacing: .08em; }
html:not(.battlemon-mobile) .trainer-profile-stat strong { color: var(--stat); font-size: .95rem; text-shadow: 0 0 .6rem color-mix(in srgb, var(--stat) 45%, transparent); }
html:not(.battlemon-mobile) .trainer-profile-stat small { color: #7f93b0; font: 600 .6rem var(--font-pixel-ui); }

html:not(.battlemon-mobile) .trainer-profile-team-section { margin-top: 1rem; }
html:not(.battlemon-mobile) .trainer-profile-team { gap: .5rem; margin-top: .55rem; }
html:not(.battlemon-mobile) #profileMainTeam .profile-team-pokemon {
  position: relative; padding: .5rem .3rem .55rem; border-radius: .75rem; border: 1px solid #2a4167;
  background: radial-gradient(ellipse 70% 30% at 50% 58%, #38bdf826, transparent 70%), linear-gradient(180deg, #15233a, #0c1525);
  transition: transform .2s, border-color .2s;
}
html:not(.battlemon-mobile) #profileMainTeam .profile-team-pokemon:hover { transform: translateY(-2px); border-color: #5aa9ff; }
html:not(.battlemon-mobile) #profileMainTeam .profile-team-pokemon img { width: 3rem; height: 3rem; flex-basis: 3rem; image-rendering: pixelated; filter: drop-shadow(0 .2rem .2rem #0008); }
html:not(.battlemon-mobile) #profileMainTeam .profile-team-pokemon small { color: #fde68a; font: 700 .6rem var(--font-pixel-ui); }

@keyframes profileBellRing { 0%, 100% { transform: rotate(0); } 20% { transform: rotate(14deg); } 40% { transform: rotate(-12deg); } 60% { transform: rotate(8deg); } 80% { transform: rotate(-4deg); } }
@media (prefers-reduced-motion: reduce) { html:not(.battlemon-mobile) .reward-notifications-button:hover svg { animation: none; } }

/* Padrão único de raio para os controles da barra superior (perfil, notificações, moedas, ícones) */
html:not(.battlemon-mobile) .navbar :is(.trainer-header-pill, .reward-notifications-button, .currency-pill, #btnHuntMaps, #btnDailyRewards, #btnHeaderLeaderboard, #btnQuickMusicToggle, #btnOpenSettings),
html:not(.battlemon-mobile) #trainerProfileAnchor :is(.trainer-header-pill, .reward-notifications-button) { border-radius: .5rem; }
html:not(.battlemon-mobile) .trainer-header-pill img { border-radius: .4rem; }

/* Perfil e notificações com a mesma altura e raio dos demais botões da direita (34px / .5rem) */
html:not(.battlemon-mobile) .trainer-header-pill { height: 2.125rem; padding: 0 .75rem 0 .25rem; gap: .5rem; }
html:not(.battlemon-mobile) .trainer-header-pill img { width: 1.55rem; height: 1.55rem; }
html:not(.battlemon-mobile) #trainerProfileAnchor .reward-notifications-button { width: 2.125rem; height: 2.125rem; }
html:not(.battlemon-mobile) #trainerProfileAnchor .reward-notifications-button svg { width: 1.1rem; height: 1.1rem; }
html:not(.battlemon-mobile) #btnFriends { width: 2.125rem; height: 2.125rem; }

/* Trainer level: chip + XP bar in the header pill, home profile button and profile popover */
.trainer-level-chip { display:inline-flex; align-items:center; flex:none; padding:.1rem .4rem; border-radius:.3rem; border:1px solid #fbbf2499; background:#fbbf2420; color:#fde68a; font:800 .56rem/1.2 var(--font-pixel-ui); letter-spacing:.05em; white-space:nowrap; }
.trainer-level-chip.is-levelup { animation:trainerLevelUp 1.2s ease-out; }
@keyframes trainerLevelUp { 0% { transform:scale(1); } 20% { transform:scale(1.5); box-shadow:0 0 1.1rem #fde047; background:#fbbf24; color:#2a1203; } 100% { transform:scale(1); } }
.trainer-xp-track { display:block; height:3px; border-radius:2px; background:#0b1222; overflow:hidden; }
.trainer-xp-fill { display:block; height:100%; width:0; border-radius:inherit; background:linear-gradient(90deg,#38bdf8,#a78bfa); box-shadow:0 0 .4rem #38bdf8aa; transition:width .6s cubic-bezier(.3,1.2,.5,1); }
html:not(.battlemon-mobile) .trainer-header-pill { position:relative; }
html:not(.battlemon-mobile) .trainer-header-pill .trainer-xp-track { position:absolute; left:.5rem; right:.5rem; bottom:3px; }
html:not(.battlemon-mobile) .trainer-header-pill .trainer-level-chip { margin-left:.15rem; }
html:not(.battlemon-mobile) .home-profile-button .trainer-level-chip { margin-left:.2rem; }
.trainer-profile-level { display:flex; align-items:center; gap:.6rem; margin:.5rem 0 .6rem; padding:.5rem .6rem; border:1px solid #2e4063; border-radius:.5rem; background:#0d1424; }
.trainer-profile-level > div { flex:1; display:grid; gap:.25rem; min-width:0; }
.trainer-profile-level small { color:#94a3b8; font:700 .55rem var(--font-pixel-ui); letter-spacing:.08em; }
.trainer-profile-level .trainer-xp-track { height:6px; }
.trainer-profile-level em { font-style:normal; color:#cbd5e1; font:700 .6rem var(--font-pixel-ui); }
.is-guest .trainer-profile-level { display:none; }
.trainer-xp-float { position:fixed; z-index:99990; pointer-events:none; padding:.25rem .6rem; border-radius:.4rem; border:1px solid #a78bfa; background:#1e1b4bee; color:#e9d5ff; font:800 .7rem var(--font-pixel-ui); letter-spacing:.06em; box-shadow:0 0 .9rem #a78bfa66; animation:trainerXpFloat 2.4s ease-out forwards; }
@keyframes trainerXpFloat { 0% { opacity:0; transform:translateY(-6px); } 12% { opacity:1; transform:translateY(0); } 80% { opacity:1; } 100% { opacity:0; transform:translateY(14px); } }
.victory-trainer-xp { display:flex; align-items:center; justify-content:center; gap:.6rem; margin:.4rem auto 0; padding:.4rem .8rem; max-width:24rem; border:1px solid #a78bfa66; border-radius:.5rem; background:#1e1b4b66; }
.victory-trainer-xp strong { color:#e9d5ff; font:800 .68rem var(--font-pixel-ui); letter-spacing:.06em; white-space:nowrap; }
.victory-trainer-xp .trainer-xp-track { flex:1; min-width:4rem; height:5px; }
