:root {
  color-scheme: dark;
  --pv-bg: #050913;
  --pv-bg-2: #081222;
  --pv-panel: rgba(11, 25, 45, .94);
  --pv-panel-2: rgba(15, 34, 59, .92);
  --pv-panel-soft: rgba(18, 43, 72, .72);
  --pv-border: rgba(96, 181, 255, .24);
  --pv-border-strong: rgba(88, 196, 255, .48);
  --pv-text: #e9f4ff;
  --pv-muted: #91a8c1;
  --pv-cyan: #59d9ff;
  --pv-blue: #348dff;
  --pv-blue-2: #1b5ed6;
  --pv-gold: #f7c65c;
  --pv-green: #4de6a6;
  --pv-red: #ff6982;
  --pv-shadow: 0 24px 65px rgba(0, 0, 0, .45);
  --pv-radius: 18px;
  --pv-radius-sm: 11px;
  --pv-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { min-height: 100%; background: var(--pv-bg); }
body {
  min-height: 100vh;
  margin: 0 !important;
  color: var(--pv-text) !important;
  background:
    radial-gradient(circle at 14% 0%, rgba(41, 117, 214, .22), transparent 34rem),
    radial-gradient(circle at 90% 16%, rgba(35, 199, 225, .12), transparent 30rem),
    linear-gradient(160deg, #040812 0%, #07111f 45%, #050a13 100%) fixed !important;
  font-family: var(--pv-font) !important;
  font-size: 14px;
  line-height: 1.55;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  opacity: .17;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: linear-gradient(to bottom, black, transparent 75%);
}

a { color: #7cdcff; text-decoration: none; transition: color .16s ease, opacity .16s ease, border-color .16s ease, transform .16s ease, background .16s ease; }
a:hover:where(html.pv-can-hover *) { color: #c4f3ff; }
img { max-width: 100%; height: auto; }
hr, .hr { height: 1px !important; border: 0 !important; background: linear-gradient(90deg, transparent, rgba(99,189,255,.32), transparent) !important; margin: 18px 0 !important; }

h1, h2, h3, h4, h5, h6 { color: #f4f9ff !important; font-family: var(--pv-font) !important; line-height: 1.2; letter-spacing: -.02em; }
h1 { font-size: clamp(1.7rem, 2.5vw, 2.55rem); }
h2 { font-size: clamp(1.35rem, 2vw, 1.9rem); margin: 10px 0 18px; }
h3 { font-size: 1.15rem; }
h4, h5 { color: #bfe8ff !important; }
small, .small { color: var(--pv-muted) !important; }
strong { color: #f5fbff; }

/* Main recovered-game shell */
#container {
  width: min(1460px, calc(100% - 28px)) !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 14px auto 34px !important;
  position: relative;
}
#header {
  min-height: 84px !important;
  height: auto !important;
  padding: 13px 18px !important;
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  position: relative !important;
  background: linear-gradient(145deg, rgba(14,31,55,.98), rgba(7,17,32,.98)) !important;
  border: 1px solid var(--pv-border) !important;
  border-radius: var(--pv-radius) !important;
  box-shadow: var(--pv-shadow), inset 0 1px rgba(255,255,255,.035) !important;
  overflow: visible !important;
}
#header::after {
  content: "";
  position: absolute;
  height: 2px;
  left: 22px;
  right: 22px;
  bottom: -1px;
  background: linear-gradient(90deg, transparent, var(--pv-cyan), var(--pv-blue), transparent);
  opacity: .75;
}
#headerAd { display: none !important; }
#title { position: static !important; margin: 0 auto 0 0 !important; width: auto !important; height: auto !important; }
#title h1 { margin: 0 !important; font-size: 0 !important; }
#title h1 a {
  display: inline-flex !important;
  align-items: center;
  gap: 11px;
  color: white !important;
  text-decoration: none !important;
}
#title h1 a::before {
  content: "PV";
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  font: 800 14px/1 var(--pv-font);
  letter-spacing: .04em;
  color: #061120;
  background: linear-gradient(135deg, #86e8ff, #3b8cff 70%);
  box-shadow: 0 10px 28px rgba(49,143,255,.28), inset 0 1px rgba(255,255,255,.55);
}
#title h1 a::after {
  content: "POKÉMON VORTEX";
  font: 800 18px/1 var(--pv-font);
  letter-spacing: .105em;
  text-shadow: 0 0 22px rgba(76,180,255,.24);
}
#title em { display: none !important; }

#homeNav, #nav, #logout, #sidebarTabs {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  position: static !important;
  float: none !important;
  width: auto !important;
  height: auto !important;
  background: none !important;
}
#homeNav li, #nav li, #logout li, #sidebarTabs li { margin: 0 !important; padding: 0 !important; float: none !important; background: none !important; width: auto !important; height: auto !important; }
#homeNav a, #nav a, #logout a, #sidebarTabs a {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 38px !important;
  padding: 0 13px !important;
  border-radius: 10px !important;
  color: #afc3d7 !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  letter-spacing: .025em;
  text-decoration: none !important;
  background: rgba(255,255,255,.025) !important;
  border: 1px solid transparent !important;
  text-shadow: none !important;
}
#homeNav a em, #nav a em, #sidebarTabs a em { display: inline-flex !important; align-items: center; justify-content: center; font-style: normal !important; }
#homeNav a:hover:where(html.pv-can-hover *), #nav a:hover:where(html.pv-can-hover *), #logout a:hover:where(html.pv-can-hover *), #sidebarTabs a:hover:where(html.pv-can-hover *),
#homeNav a.selected, #nav a.selected, #sidebarTabs a.selected {
  color: #ecf9ff !important;
  background: rgba(51,136,225,.14) !important;
  border-color: rgba(89,203,255,.28) !important;
}
#logout { margin-left: 3px !important; }
#logout a { color: #ffd2d8 !important; border-color: rgba(255,105,130,.16) !important; }
#logout a:hover:where(html.pv-can-hover *) { background: rgba(255,105,130,.12) !important; border-color: rgba(255,105,130,.34) !important; }

#usernav {
  position: relative !important;
  inset: auto !important;
  width: calc(100% - 22px) !important;
  min-height: 38px !important;
  height: auto !important;
  margin: 9px auto 0 !important;
  padding: 9px 13px !important;
  border: 1px solid rgba(87,173,238,.16) !important;
  border-radius: 0 0 12px 12px !important;
  background: rgba(9,21,38,.82) !important;
  color: var(--pv-muted) !important;
  font-size: 12px !important;
  text-align: center !important;
  box-shadow: 0 10px 28px rgba(0,0,0,.18) !important;
}
#usernav a { font-weight: 700; }

#contentContainer {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 240px minmax(0, 1fr) !important;
  gap: 14px !important;
  margin-top: 14px !important;
  min-height: 650px !important;
  width: 100% !important;
  height: auto !important;
  background: none !important;
}
#sidebar {
  position: sticky !important;
  top: 12px !important;
  align-self: start !important;
  width: auto !important;
  height: auto !important;
  min-height: 220px;
  padding: 13px !important;
  float: none !important;
  background: linear-gradient(160deg, rgba(12,29,50,.95), rgba(7,17,31,.95)) !important;
  border: 1px solid var(--pv-border) !important;
  border-radius: var(--pv-radius) !important;
  box-shadow: 0 18px 48px rgba(0,0,0,.28) !important;
}
#sidebarContainer { width: auto !important; height: auto !important; min-height: 120px !important; background: none !important; }
#sidebarContent { width: auto !important; height: auto !important; padding: 3px !important; background: none !important; }
#sidebarTabs { flex-direction: column !important; align-items: stretch !important; margin-top: 9px !important; }
#sidebarTabs a { width: 100% !important; justify-content: flex-start !important; }

#content {
  position: relative !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  float: none !important;
  padding: 0 !important;
  background: none !important;
}
#scroll {
  position: relative !important;
  width: 100% !important;
  height: auto !important;
  min-height: 620px !important;
  overflow: visible !important;
  padding: 22px !important;
  background: linear-gradient(160deg, rgba(12,28,49,.95), rgba(7,17,31,.95)) !important;
  border: 1px solid var(--pv-border) !important;
  border-radius: var(--pv-radius) !important;
  box-shadow: 0 18px 52px rgba(0,0,0,.3) !important;
}
#scrollContent, #ajax {
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
  position: static !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--pv-text) !important;
}

/* Logged-out recovered layout */
body:not(.pv-modern-page) #contentContainer:has(#rightbarContainer) {
  display: block !important;
}
#rightbarContainer, #rightbarTop, #rightbarBottom { background: none !important; }
#rightbarContainer {
  float: right !important;
  width: 255px !important;
  margin: 0 0 18px 20px !important;
}
#rightbar {
  width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 14px !important;
  background: rgba(12,29,50,.72) !important;
  border: 1px solid var(--pv-border) !important;
  border-radius: 14px !important;
}
#rightbarContent { width: auto !important; height: auto !important; position: static !important; color: var(--pv-muted) !important; }
#rightbarContent .s { display: inline-block; padding: 3px 0; }

/* Forms */
input, select, textarea, button {
  font: inherit;
}
input[type="text"], input[type="password"], input[type="email"], input[type="number"], input[type="search"], select, textarea {
  width: auto;
  max-width: 100%;
  min-height: 40px;
  padding: 9px 11px !important;
  color: #eef9ff !important;
  background: rgba(2,10,20,.68) !important;
  border: 1px solid rgba(102,180,235,.24) !important;
  border-radius: 10px !important;
  outline: none !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.02) !important;
}
textarea { min-height: 110px; resize: vertical; }
input:focus, select:focus, textarea:focus {
  border-color: rgba(88,207,255,.72) !important;
  box-shadow: 0 0 0 3px rgba(67,172,255,.12) !important;
}
input[type="submit"], input[type="button"], button, .pv-btn {
  min-height: 40px;
  padding: 9px 16px !important;
  border: 1px solid rgba(105,205,255,.32) !important;
  border-radius: 10px !important;
  color: white !important;
  font-weight: 800 !important;
  cursor: pointer;
  background: linear-gradient(135deg, #257ddf, #1555be) !important;
  box-shadow: 0 8px 20px rgba(20,92,192,.24) !important;
}
input[type="submit"]:hover:where(html.pv-can-hover *), input[type="button"]:hover:where(html.pv-can-hover *), button:hover:where(html.pv-can-hover *), .pv-btn:hover:where(html.pv-can-hover *) { transform: translateY(-1px); filter: brightness(1.08); }
input[type="radio"], input[type="checkbox"] { accent-color: #4dbdff; }
label { color: #c8d8e8; }

/* Tables */
table { max-width: 100%; border-collapse: separate; border-spacing: 0; color: var(--pv-text); }
#scrollContent table:not([class]), #ajax table:not([class]) { background: rgba(4,14,27,.36); border: 1px solid rgba(84,167,225,.15); border-radius: 12px; overflow: hidden; }
th { color: #cceeff !important; background: rgba(35,91,139,.26) !important; font-size: 12px; text-transform: uppercase; letter-spacing: .045em; }
th, td { padding: 9px 10px; border-color: rgba(97,165,213,.12) !important; }
tr:nth-child(even) td { background: rgba(255,255,255,.012); }

/* Messages / status */
.actionMsg, .successMsg, .noticeMsg, .errorMsg, .betaMsg, .pv-system-error {
  margin: 12px 0 !important;
  padding: 12px 14px !important;
  border-radius: 11px !important;
  background-image: none !important;
  box-shadow: none !important;
  text-align: left;
}
.actionMsg, .successMsg { color: #c9ffe8 !important; background: rgba(34,171,112,.12) !important; border: 1px solid rgba(77,230,166,.25) !important; }
.noticeMsg, .betaMsg { color: #dbeeff !important; background: rgba(55,132,210,.12) !important; border: 1px solid rgba(89,217,255,.22) !important; }
.errorMsg, .pv-system-error { color: #ffd8de !important; background: rgba(201,49,80,.13) !important; border: 1px solid rgba(255,105,130,.28) !important; }

/* Map cards / Pokémon sprites */
#scrollContent img[src*="/maps/map"], #ajax img[src*="/maps/map"] {
  border: 1px solid rgba(92,190,255,.24) !important;
  border-radius: 13px !important;
  margin: 5px !important;
  background: #071322;
  box-shadow: 0 10px 24px rgba(0,0,0,.23);
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}
#scrollContent a:hover:where(html.pv-can-hover *) img[src*="/maps/map"], #ajax a:hover:where(html.pv-can-hover *) img[src*="/maps/map"] {
  transform: translateY(-2px) scale(1.015);
  border-color: rgba(94,218,255,.64) !important;
  box-shadow: 0 13px 30px rgba(30,117,210,.2);
}
img[src*="/pokemon/"] { image-rendering: auto; }

/* Modern custom pages */
.pv-modern-page { min-height: 100vh; }
.pv-site-shell { width: min(1240px, calc(100% - 30px)); margin: 0 auto; padding: 18px 0 42px; }
.pv-topbar {
  min-height: 72px;
  padding: 12px 15px;
  display: flex;
  align-items: center;
  gap: 14px;
  border: 1px solid var(--pv-border);
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(14,31,55,.96), rgba(7,17,32,.96));
  box-shadow: var(--pv-shadow);
}
.pv-brand { display: flex; align-items: center; gap: 11px; color: white !important; font-weight: 900; letter-spacing: .08em; }
.pv-brand-mark { width: 42px; height: 42px; border-radius: 13px; display: grid; place-items: center; color: #061120; background: linear-gradient(135deg, #8ae9ff, #3989fa); box-shadow: 0 10px 28px rgba(52,142,255,.26); font-size: 13px; }
.pv-brand-copy small { display: block; margin-top: 3px; font-size: 9px; letter-spacing: .16em; color: #6685a5 !important; }
.pv-nav { margin-left: auto; display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.pv-nav a { padding: 9px 12px; border: 1px solid transparent; border-radius: 10px; color: #a9bfd4; font-size: 12px; font-weight: 750; }
.pv-nav a:hover:where(html.pv-can-hover *), .pv-nav a.active { color: white; background: rgba(50,141,231,.13); border-color: rgba(87,195,255,.24); }
.pv-nav .danger { color: #ffc5cf; }

.pv-hero {
  min-height: 455px;
  margin-top: 15px;
  padding: clamp(28px, 5vw, 65px);
  display: grid;
  grid-template-columns: 1.12fr .88fr;
  gap: 34px;
  align-items: center;
  position: relative;
  overflow: hidden;
  border: 1px solid var(--pv-border);
  border-radius: 24px;
  background:
    linear-gradient(110deg, rgba(8,24,43,.97), rgba(8,20,36,.82)),
    radial-gradient(circle at 78% 45%, rgba(54,141,231,.20), transparent 40%);
  box-shadow: var(--pv-shadow);
}
.pv-hero::before { content:""; position:absolute; inset:0; background: linear-gradient(120deg, transparent 50%, rgba(85,215,255,.035) 50%); pointer-events:none; }
.pv-eyebrow { display: inline-flex; align-items: center; gap: 8px; padding: 6px 10px; border: 1px solid rgba(89,217,255,.2); border-radius: 999px; color: #8edfff; background: rgba(30,117,188,.10); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.pv-hero h1 { max-width: 730px; margin: 16px 0 15px; font-size: clamp(2.25rem, 5.3vw, 4.85rem); line-height: .98; letter-spacing: -.055em; }
.pv-hero h1 span { color: #76ddff; }
.pv-hero p { max-width: 670px; color: #a9bfd4; font-size: 16px; }
.pv-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 23px; }
.pv-btn { display:inline-flex; align-items:center; justify-content:center; text-decoration:none !important; }
.pv-btn.secondary { background: rgba(255,255,255,.035) !important; color: #d8eaff !important; border-color: rgba(117,184,232,.22) !important; box-shadow: none !important; }
.pv-hero-art { position: relative; min-height: 290px; display: grid; place-items: center; }
.pv-hero-art::before { content:""; position:absolute; width:min(390px,90%); aspect-ratio:1; border-radius:50%; background: radial-gradient(circle, rgba(53,165,255,.24), rgba(53,165,255,.035) 48%, transparent 70%); filter: blur(2px); }
.pv-hero-art img { position: relative; width: min(550px, 100%); filter: drop-shadow(0 28px 35px rgba(0,0,0,.48)); }

.pv-grid { display: grid; gap: 14px; margin-top: 14px; }
.pv-grid.cols-3 { grid-template-columns: repeat(3, 1fr); }
.pv-grid.cols-4 { grid-template-columns: repeat(4, 1fr); }
.pv-card { padding: 18px; border: 1px solid var(--pv-border); border-radius: 16px; background: linear-gradient(155deg, rgba(14,32,55,.88), rgba(7,18,32,.9)); box-shadow: 0 12px 36px rgba(0,0,0,.22); }
.pv-card h3 { margin: 4px 0 8px; }
.pv-card p { margin: 0; color: var(--pv-muted); }
.pv-icon { width: 38px; height: 38px; display:grid; place-items:center; border-radius:11px; background:rgba(50,142,229,.14); border:1px solid rgba(86,200,255,.2); font-weight:900; color:#83ddff; }
.pv-kpi { font-size: 25px; font-weight: 900; color: #f5fbff; }
.pv-kpi-label { color: var(--pv-muted); font-size: 11px; text-transform: uppercase; letter-spacing: .08em; font-weight: 800; }

.pv-auth-wrap { min-height: calc(100vh - 50px); display: grid; place-items: center; padding: 20px 0; }
.pv-auth { width: min(1050px, calc(100% - 28px)); display: grid; grid-template-columns: 1.05fr .95fr; overflow: hidden; border: 1px solid var(--pv-border); border-radius: 24px; background: rgba(7,17,31,.96); box-shadow: var(--pv-shadow); }
.pv-auth-side { padding: clamp(28px, 5vw, 58px); position: relative; background: radial-gradient(circle at 25% 10%, rgba(45,137,225,.24), transparent 50%), linear-gradient(155deg, rgba(12,34,58,.98), rgba(7,18,32,.98)); }
.pv-auth-side img { width: min(500px, 100%); margin-top: 28px; filter: drop-shadow(0 24px 34px rgba(0,0,0,.4)); }
.pv-auth-panel { padding: clamp(28px, 5vw, 58px); display: flex; flex-direction: column; justify-content: center; }
.pv-auth-panel h1 { margin: 0 0 8px; }
.pv-auth-panel > p { margin-top: 0; color: var(--pv-muted); }
.pv-field { margin: 0 0 14px; }
.pv-field label { display:block; margin-bottom: 6px; font-size: 12px; font-weight: 800; color: #b7cbe0; }
.pv-field input, .pv-field select { width: 100% !important; min-height: 46px; }
.pv-auth-panel input[type="submit"], .pv-auth-panel button { width: 100%; min-height: 46px; }
.pv-auth-links { margin-top: 17px; display:flex; flex-wrap:wrap; gap:10px 16px; color: var(--pv-muted); font-size: 12px; }
.pv-flash { margin: 0 0 16px; padding: 11px 13px; border-radius: 10px; font-size: 13px; }
.pv-flash.error { color:#ffd9df; background:rgba(203,44,73,.13); border:1px solid rgba(255,105,130,.26); }
.pv-flash.success { color:#caffea; background:rgba(42,168,111,.12); border:1px solid rgba(77,230,166,.23); }

.pv-game-layout { display:grid; grid-template-columns: 230px minmax(0,1fr); gap:14px; margin-top:14px; }
.pv-side-menu { position:sticky; top:12px; align-self:start; padding:13px; border:1px solid var(--pv-border); border-radius:16px; background:rgba(9,22,39,.92); }
.pv-side-menu a { display:flex; align-items:center; gap:9px; padding:10px 11px; border-radius:9px; color:#a9bfd3; font-weight:700; font-size:12px; }
.pv-side-menu a:hover:where(html.pv-can-hover *), .pv-side-menu a.active { color:white; background:rgba(55,145,228,.12); }
.pv-page { min-width:0; padding:20px; border:1px solid var(--pv-border); border-radius:18px; background:linear-gradient(160deg,rgba(12,28,49,.94),rgba(7,17,31,.94)); box-shadow:0 18px 50px rgba(0,0,0,.28); }
.pv-page-head { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-bottom:18px; }
.pv-page-head h1 { margin:0; font-size:1.75rem; }
.pv-subtle { color:var(--pv-muted); }
.pv-team { display:grid; grid-template-columns:repeat(6, minmax(0,1fr)); gap:9px; }
.pv-pokemon-card { min-width:0; padding:12px 9px; text-align:center; border:1px solid rgba(91,179,238,.18); border-radius:13px; background:rgba(5,14,26,.48); }
.pv-pokemon-card img { width:78px; height:78px; object-fit:contain; }
.pv-pokemon-card strong { display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-size:12px; }
.pv-statbar { height:7px; border-radius:999px; background:rgba(255,255,255,.06); overflow:hidden; }
.pv-statbar > span { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#338ef0,#58ddff); }

footer.pv-footer { margin: 22px 0 0; padding: 16px; text-align:center; color:#6f88a1; font-size:11px; }

@media (max-width: 980px) {
  #header { flex-wrap: wrap !important; }
  #homeNav, #nav { width: 100% !important; order: 3; overflow-x: auto; padding-top: 4px !important; }
  #logout { margin-left:auto !important; }
  #contentContainer { grid-template-columns: 1fr !important; }
  #sidebar { position: static !important; }
  #sidebarTabs { flex-direction: row !important; flex-wrap: wrap !important; }
  #sidebarTabs a { width:auto !important; }
  .pv-hero, .pv-auth { grid-template-columns: 1fr; }
  .pv-hero-art { min-height: 220px; }
  .pv-grid.cols-4 { grid-template-columns:repeat(2,1fr); }
  .pv-grid.cols-3 { grid-template-columns:1fr; }
  .pv-game-layout { grid-template-columns:1fr; }
  .pv-side-menu { position:static; display:flex; flex-wrap:wrap; }
  .pv-team { grid-template-columns:repeat(3,1fr); }
}

@media (max-width: 620px) {
  body { font-size:13px; }
  #container, .pv-site-shell { width: min(100% - 16px, 1460px) !important; }
  #header { padding: 10px !important; border-radius: 14px !important; }
  #title h1 a::after { font-size:14px; }
  #nav a, #homeNav a { padding:0 10px !important; }
  #scroll { padding:14px !important; border-radius:14px !important; }
  #rightbarContainer { float:none !important; width:100% !important; margin:0 0 14px !important; }
  .pv-topbar { flex-wrap:wrap; }
  .pv-nav { width:100%; margin-left:0; }
  .pv-hero { padding:26px 20px; min-height:0; }
  .pv-hero h1 { font-size:2.45rem; }
  .pv-grid.cols-4, .pv-grid.cols-3 { grid-template-columns:1fr; }
  .pv-auth-side { display:none; }
  .pv-auth { grid-template-columns:1fr; }
  .pv-team { grid-template-columns:repeat(2,1fr); }
  table { display:block; overflow-x:auto; white-space:nowrap; }
}


/* Restoration utility components */
.pv-narrow{max-width:980px}.pv-prose{line-height:1.75}.pv-prose h2{margin-top:1.8rem}.pv-prose code{padding:.15rem .4rem;border:1px solid rgba(103,205,255,.2);border-radius:6px;background:rgba(0,0,0,.22)}
.pv-card-link{display:block;color:inherit;text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.pv-card-link:hover:where(html.pv-can-hover *){transform:translateY(-2px);border-color:rgba(77,208,255,.55);box-shadow:0 12px 32px rgba(0,0,0,.24)}
.pv-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:22px 0}.pv-stat-grid>div{padding:15px;border:1px solid rgba(103,205,255,.16);border-radius:12px;background:rgba(4,15,29,.62)}.pv-stat-grid span{display:block;color:var(--pv-muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.pv-stat-grid strong{display:block;margin-top:5px;font-size:1.03rem;overflow-wrap:anywhere}.pv-actions{display:flex;gap:10px;flex-wrap:wrap}
.pv-sidequest-progress{min-width:230px;padding:12px 14px;border:1px solid rgba(103,205,255,.18);border-radius:12px;background:rgba(3,13,26,.7);text-align:center}.pv-progress{height:9px;margin:8px 0;border-radius:99px;overflow:hidden;background:#03101d}.pv-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#188cc8,#5ce2ff);box-shadow:0 0 16px rgba(92,226,255,.45)}
.pv-news-item time{color:var(--pv-cyan);font-size:.78rem;text-transform:uppercase;letter-spacing:.09em}
@media(max-width:760px){.pv-stat-grid{grid-template-columns:1fr 1fr}}


/* Production presentation pass */
.pv-hero-tags{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0}.pv-hero-tags span{padding:7px 10px;border:1px solid rgba(91,179,238,.2);border-radius:999px;background:rgba(5,18,33,.58);color:#a9c9e5;font-size:11px;font-weight:800;letter-spacing:.035em}
.pv-online{display:inline-flex;align-items:center;gap:7px;color:#bcefd5;font-weight:800}.pv-online::before{content:"";width:8px;height:8px;border-radius:50%;background:#4de0a0;box-shadow:0 0 0 4px rgba(77,224,160,.1),0 0 15px rgba(77,224,160,.45)}
.pv-muted-kpi{display:block;color:var(--pv-muted);font-size:12px;font-weight:700}.pv-feature{position:relative;overflow:hidden}.pv-feature::after{content:"";position:absolute;inset:auto -30% -65% 20%;height:130px;background:radial-gradient(circle,rgba(74,176,245,.09),transparent 70%);pointer-events:none}
.pv-home-banner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px;border:1px solid rgba(91,179,238,.2);border-radius:18px;background:linear-gradient(120deg,rgba(18,49,81,.65),rgba(6,18,32,.75));box-shadow:0 18px 45px rgba(0,0,0,.18)}.pv-home-banner h2{margin:0 0 5px}.pv-home-banner p{margin:0;color:var(--pv-muted)}
.pv-footer-main{color:#8da7c1;font-weight:700}.pv-footer-links{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 16px;margin-top:8px}.pv-footer-links a{color:#7194b5}.pv-footer-links a:hover:where(html.pv-can-hover *){color:#d9f3ff}
.pv-form-card{max-width:760px;padding:20px;border:1px solid var(--pv-border);border-radius:16px;background:rgba(6,18,32,.72)}.pv-form-card .pv-field:last-child{margin-bottom:0}
.pv-system-error{margin:18px auto;padding:14px 16px;max-width:720px;border:1px solid rgba(255,117,137,.22);border-radius:12px;background:rgba(141,35,58,.12);color:#ffdce2;text-align:center}
.noticeMsg,.actionMsg,.errorMsg{box-sizing:border-box;border-radius:10px!important;padding:10px 12px!important}.noticeMsg{border:1px solid rgba(84,179,239,.2)!important;background:rgba(41,117,171,.11)!important;color:#cdeaff!important}.actionMsg{border:1px solid rgba(77,224,160,.2)!important;background:rgba(45,146,103,.11)!important;color:#d8ffeb!important}.errorMsg{border:1px solid rgba(255,105,130,.22)!important;background:rgba(155,40,61,.13)!important;color:#ffdbe1!important}
@media(max-width:720px){.pv-home-banner{align-items:flex-start;flex-direction:column}.pv-hero-tags{gap:6px}.pv-hero-tags span{font-size:10px}}

/* ======================================================================
   V3 SCI-FI PRODUCTION POLISH
   Pure CSS presentation layer: geometric linework, scan-grid atmosphere,
   angular panels, cyan/gold telemetry accents and consistent page shells.
   ====================================================================== */
:root {
  --pv-bg: #020912;
  --pv-bg-2: #041323;
  --pv-bg-3: #061a2c;
  --pv-panel: rgba(5, 20, 35, .96);
  --pv-panel-2: rgba(7, 28, 47, .94);
  --pv-panel-soft: rgba(9, 38, 63, .78);
  --pv-border: rgba(74, 175, 230, .24);
  --pv-border-strong: rgba(89, 218, 255, .58);
  --pv-text: #e7f5ff;
  --pv-muted: #89a8c2;
  --pv-cyan: #5ee4ff;
  --pv-cyan-soft: #7bd8ff;
  --pv-blue: #238fd6;
  --pv-blue-2: #0d5a91;
  --pv-gold: #e7b941;
  --pv-gold-soft: #ffd76c;
  --pv-green: #55f3b6;
  --pv-red: #ff6f89;
  --pv-line: rgba(72, 174, 225, .12);
  --pv-line-strong: rgba(80, 202, 255, .28);
  --pv-shadow: 0 28px 80px rgba(0, 0, 0, .48);
  --pv-radius: 9px;
  --pv-radius-sm: 6px;
}

html {
  background: #020912;
  scrollbar-color: rgba(74, 181, 231, .46) #03101c;
}

body {
  position: relative;
  overflow-x: hidden;
  background:
    radial-gradient(circle at 73% 12%, rgba(30, 130, 190, .18), transparent 34rem),
    radial-gradient(circle at 12% 46%, rgba(10, 91, 150, .13), transparent 42rem),
    linear-gradient(120deg, rgba(2, 12, 22, .98), rgba(4, 25, 43, .98) 48%, rgba(2, 13, 24, .99)) fixed !important;
}

body::before {
  z-index: -2;
  opacity: .65;
  mask-image: linear-gradient(to bottom, #000 0%, #000 72%, transparent 100%);
  background-image:
    repeating-linear-gradient(0deg, rgba(95, 201, 255, .022) 0 1px, transparent 1px 4px),
    linear-gradient(rgba(80, 186, 238, .032) 1px, transparent 1px),
    linear-gradient(90deg, rgba(80, 186, 238, .032) 1px, transparent 1px);
  background-size: 100% 4px, 54px 54px, 54px 54px;
}

body::after {
  content: "";
  position: fixed;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  opacity: .5;
  background:
    linear-gradient(133deg, transparent 0 69%, rgba(68, 179, 228, .09) 69% 69.08%, transparent 69.08%),
    linear-gradient(47deg, transparent 0 77%, rgba(231, 185, 65, .065) 77% 77.08%, transparent 77.08%),
    linear-gradient(90deg, transparent 0 8%, rgba(64, 169, 218, .055) 8% 8.06%, transparent 8.06% 91%, rgba(64, 169, 218, .055) 91% 91.06%, transparent 91.06%),
    radial-gradient(circle at 93% 37%, transparent 0 96px, rgba(76, 190, 239, .08) 96px 97px, transparent 97px 158px, rgba(231, 185, 65, .055) 158px 159px, transparent 159px),
    radial-gradient(circle at 3% 78%, transparent 0 145px, rgba(55, 159, 214, .055) 145px 146px, transparent 146px);
}

::selection { background: rgba(66, 186, 239, .34); color: #fff; }

/* High-level atmosphere and framing */
.pv-site-shell,
#container {
  isolation: isolate;
}

.pv-site-shell {
  width: min(1380px, calc(100% - 32px));
  position: relative;
  padding-top: 16px;
}

.pv-site-shell::before,
.pv-site-shell::after {
  content: "";
  position: fixed;
  pointer-events: none;
  z-index: -1;
}

.pv-site-shell::before {
  width: 320px;
  height: 320px;
  right: clamp(-155px, -8vw, -70px);
  top: 22vh;
  border: 1px solid rgba(66, 177, 225, .12);
  transform: rotate(45deg);
  box-shadow: inset 0 0 0 62px rgba(30, 124, 173, .018), 0 0 80px rgba(22, 116, 170, .035);
}

.pv-site-shell::after {
  width: 190px;
  height: 190px;
  left: -105px;
  bottom: 11vh;
  border: 1px solid rgba(231, 185, 65, .08);
  transform: rotate(45deg);
}

/* Brand / navigation */
.pv-topbar,
#header {
  border-radius: 4px !important;
  border-color: rgba(73, 171, 220, .24) !important;
  background:
    linear-gradient(90deg, rgba(94, 228, 255, .06), transparent 20%, transparent 78%, rgba(231, 185, 65, .035)),
    linear-gradient(180deg, rgba(4, 18, 31, .985), rgba(3, 14, 25, .97)) !important;
  box-shadow: 0 17px 55px rgba(0, 0, 0, .38), inset 0 -1px rgba(63, 167, 219, .05) !important;
}

.pv-topbar {
  position: relative;
  min-height: 76px;
  padding: 10px 18px;
}

.pv-topbar::before,
#header::before {
  content: "";
  position: absolute;
  pointer-events: none;
  left: 0;
  top: -1px;
  width: 145px;
  height: 1px;
  background: linear-gradient(90deg, var(--pv-cyan), transparent);
  box-shadow: 0 0 14px rgba(94, 228, 255, .34);
}

.pv-topbar::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -1px;
  width: 95px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--pv-gold));
}

.pv-brand { gap: 12px; }
.pv-brand-mark,
#title h1 a::before {
  border-radius: 3px !important;
  clip-path: polygon(0 0, 78% 0, 100% 22%, 100% 100%, 22% 100%, 0 78%);
  color: #04121e !important;
  background: linear-gradient(135deg, #72e7ff 0%, #38b8e9 52%, #e4b443 150%) !important;
  box-shadow: 0 0 0 1px rgba(117, 224, 255, .16), 0 0 26px rgba(62, 187, 237, .21) !important;
}

.pv-brand-copy,
#title h1 a::after {
  font-family: "Arial Narrow", "Segoe UI", sans-serif !important;
  font-weight: 900 !important;
  letter-spacing: .115em !important;
}

.pv-brand-copy small {
  color: #5d8aab !important;
  font-size: 8px;
  letter-spacing: .22em;
}

.pv-nav a,
#homeNav a,
#nav a,
#logout a,
#sidebarTabs a,
.pv-side-menu a {
  font-family: "Arial Narrow", "Segoe UI", sans-serif !important;
  text-transform: uppercase;
  letter-spacing: .12em !important;
  font-weight: 800 !important;
}

.pv-nav a {
  border-radius: 2px;
  padding: 10px 13px;
  font-size: 10px;
  position: relative;
}

.pv-nav a:hover:where(html.pv-can-hover *),
.pv-nav a.active {
  background: rgba(20, 111, 157, .12);
  border-color: rgba(81, 198, 243, .30);
  box-shadow: inset 0 -1px rgba(86, 219, 255, .28);
}

.pv-nav a.active::after {
  content: "";
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 3px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--pv-cyan), transparent);
}

/* Hero / home command area */
.pv-hero {
  min-height: 520px;
  border-radius: 4px;
  border-color: rgba(75, 182, 231, .26);
  padding: clamp(34px, 5vw, 72px);
  background:
    linear-gradient(90deg, transparent 0 69%, rgba(58, 166, 214, .024) 69% 69.12%, transparent 69.12%),
    linear-gradient(rgba(61, 169, 217, .027) 1px, transparent 1px),
    linear-gradient(90deg, rgba(61, 169, 217, .027) 1px, transparent 1px),
    radial-gradient(circle at 76% 45%, rgba(34, 149, 207, .13), transparent 34%),
    linear-gradient(110deg, rgba(3, 17, 30, .99), rgba(5, 30, 51, .97) 60%, rgba(3, 17, 30, .98));
  background-size: auto, 38px 38px, 38px 38px, auto, auto;
  box-shadow: 0 26px 75px rgba(0,0,0,.42), inset 0 0 65px rgba(24, 103, 148, .05);
}

.pv-hero::before {
  inset: 0;
  opacity: 1;
  background:
    linear-gradient(135deg, transparent 0 78%, rgba(82, 203, 248, .075) 78% 78.15%, transparent 78.15%),
    linear-gradient(45deg, transparent 0 84%, rgba(231, 185, 65, .06) 84% 84.15%, transparent 84.15%);
}

.pv-hero::after {
  content: "";
  position: absolute;
  width: 285px;
  height: 285px;
  right: -52px;
  top: 72px;
  border: 1px solid rgba(62, 177, 224, .13);
  transform: rotate(45deg);
  box-shadow: inset 0 0 0 52px rgba(17, 101, 146, .02);
  pointer-events: none;
}

.pv-hero > * { position: relative; z-index: 2; }

.pv-eyebrow {
  border-radius: 2px;
  padding: 0;
  border: 0;
  background: none;
  color: #69dafa;
  font-family: "Arial Narrow", "Segoe UI", sans-serif;
  font-size: 10px;
  letter-spacing: .19em;
  font-weight: 900;
}

.pv-eyebrow::before {
  content: "";
  width: 28px;
  height: 1px;
  background: linear-gradient(90deg, var(--pv-gold), rgba(231, 185, 65, .18));
}

.pv-hero h1 {
  margin-top: 18px;
  font-family: "Arial Narrow", "Segoe UI", sans-serif !important;
  font-size: clamp(2.8rem, 5.1vw, 5.15rem);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: -.04em;
  text-shadow: 0 0 32px rgba(89, 210, 250, .065);
}

.pv-hero h1 span {
  color: transparent;
  -webkit-text-stroke: 1px rgba(238, 188, 61, .9);
  text-shadow: 0 0 24px rgba(224, 170, 45, .08);
}

.pv-hero p {
  padding-left: 16px;
  border-left: 2px solid rgba(73, 210, 255, .72);
  color: #9db8cf;
  line-height: 1.8;
}

.pv-hero-tags { margin-top: 22px; }
.pv-hero-tags span {
  border-radius: 2px;
  border-color: rgba(69, 166, 215, .14);
  background: rgba(2, 15, 27, .55);
  color: #6f95b2;
  font-size: 9px;
  letter-spacing: .12em;
  text-transform: uppercase;
}

/* Telemetry / status panel */
.pv-world-status {
  width: min(100%, 390px);
  justify-self: end;
  position: relative;
  padding: 26px 24px 22px;
  border: 1px solid rgba(72, 193, 228, .38);
  border-top-color: rgba(231, 185, 65, .82);
  border-radius: 2px;
  background: linear-gradient(150deg, rgba(5, 28, 48, .89), rgba(3, 17, 31, .94));
  box-shadow: 0 25px 60px rgba(0, 0, 0, .33), inset 0 0 45px rgba(32, 134, 183, .035);
}

.pv-world-status::before,
.pv-world-status::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

.pv-world-status::before {
  left: -1px;
  top: -1px;
  width: 58px;
  height: 58px;
  border-left: 1px solid var(--pv-cyan);
  border-top: 1px solid var(--pv-gold);
  opacity: .65;
}

.pv-world-status::after {
  right: 13px;
  bottom: 13px;
  width: 32px;
  height: 32px;
  border-right: 1px solid rgba(90, 214, 255, .35);
  border-bottom: 1px solid rgba(90, 214, 255, .35);
}

.pv-status-label {
  color: #5e91ae;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .19em;
  text-transform: uppercase;
}

.pv-status-online {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 12px 0 10px;
  color: #67f5ba;
  font-family: "Arial Narrow", "Segoe UI", sans-serif;
  font-size: clamp(2.1rem, 4vw, 3.3rem);
  font-weight: 900;
  letter-spacing: -.02em;
  text-transform: uppercase;
}

.pv-status-online::before {
  content: "";
  width: 10px;
  height: 10px;
  flex: 0 0 auto;
  background: #5cf0b1;
  box-shadow: 0 0 0 5px rgba(81, 240, 177, .08), 0 0 18px rgba(81, 240, 177, .55);
}

.pv-status-copy { color: #8ea9c0; line-height: 1.7; }
.pv-status-grid { margin-top: 20px; border-top: 1px solid rgba(83, 170, 217, .14); }
.pv-status-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 14px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(83, 170, 217, .12);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.pv-status-row span:first-child { color: #567e9b; }
.pv-status-row strong { color: #bdd6e8; font-size: 10px; }

/* Buttons: industrial/technical silhouette */
.pv-btn,
.pv-button,
input[type="submit"],
input[type="button"],
button {
  border-radius: 2px !important;
  min-height: 44px;
  text-transform: uppercase;
  letter-spacing: .095em;
  font-family: "Arial Narrow", "Segoe UI", sans-serif !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  border-color: rgba(112, 220, 255, .32) !important;
  background: linear-gradient(135deg, #0f739f, #0b4d78) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.08), 0 10px 25px rgba(3, 74, 112, .18) !important;
}

.pv-btn::after,
.pv-button::after {
  content: "  ›";
  margin-left: 9px;
  font-size: 14px;
  line-height: 0;
}

.pv-btn.secondary,
.pv-button-secondary {
  background: rgba(4, 20, 34, .58) !important;
  border-color: rgba(77, 169, 218, .27) !important;
  box-shadow: inset 0 0 0 1px rgba(33, 121, 168, .03) !important;
}

.pv-actions .pv-btn:first-child:not(.secondary),
.pv-actions .pv-button:first-child:not(.pv-button-secondary) {
  color: #071019 !important;
  border-color: rgba(255, 214, 108, .72) !important;
  background: linear-gradient(135deg, #f0bf43, #d79d21) !important;
  box-shadow: 0 12px 28px rgba(187, 127, 20, .15), inset 0 1px rgba(255,255,255,.38) !important;
}

/* Panels, cards and generic content */
.pv-content-wrap {
  width: min(1180px, 100%);
  margin: 14px auto 0;
  position: relative;
}

.pv-content-wrap.pv-narrow,
.pv-narrow { max-width: 930px; }

.pv-main-column { min-width: 0; }

.pv-panel,
.pv-page,
.pv-card,
.pv-feature-card,
#scroll,
#sidebar,
#rightbar {
  position: relative;
  border-radius: 4px !important;
  background:
    linear-gradient(135deg, rgba(67, 181, 228, .06) 0 1px, transparent 1px) top left / 26px 26px no-repeat,
    linear-gradient(225deg, rgba(231, 185, 65, .07) 0 1px, transparent 1px) top right / 26px 26px no-repeat,
    linear-gradient(315deg, rgba(67, 181, 228, .045) 0 1px, transparent 1px) bottom right / 26px 26px no-repeat,
    linear-gradient(160deg, rgba(6, 26, 44, .94), rgba(3, 15, 27, .96)) !important;
  border-color: rgba(74, 172, 221, .22) !important;
  box-shadow: 0 20px 55px rgba(0, 0, 0, .29), inset 0 1px rgba(105, 216, 255, .025) !important;
}

.pv-panel {
  padding: clamp(22px, 3.5vw, 38px);
}

.pv-panel::before,
.pv-page::before,
.pv-card::before,
.pv-feature-card::before,
#scroll::before,
#sidebar::before {
  content: "";
  position: absolute;
  left: -1px;
  top: -1px;
  width: 48px;
  height: 1px;
  background: var(--pv-cyan);
  opacity: .43;
  pointer-events: none;
}

.pv-panel::after,
.pv-page::after,
.pv-card::after,
.pv-feature-card::after,
#scroll::after {
  content: "";
  position: absolute;
  right: -1px;
  bottom: -1px;
  width: 36px;
  height: 1px;
  background: var(--pv-gold);
  opacity: .29;
  pointer-events: none;
}

.pv-feature-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 22px 0;
}

.pv-feature-card {
  display: block;
  min-height: 142px;
  padding: 20px;
  overflow: hidden;
}

.pv-feature-card h3 {
  margin: 0 0 9px;
  color: #dff4ff !important;
  text-transform: uppercase;
  font-size: 13px;
  letter-spacing: .07em;
}

.pv-feature-card p { margin: 0; color: var(--pv-muted); }
.pv-feature-card:hover:where(html.pv-can-hover *) { border-color: rgba(85, 214, 255, .42) !important; }

.pv-card {
  border-radius: 4px;
  overflow: hidden;
}

.pv-card:hover:where(html.pv-can-hover *) { border-color: rgba(78, 194, 240, .33) !important; }

.pv-kpi {
  font-family: "Arial Narrow", "Segoe UI", sans-serif;
  font-size: 29px;
  letter-spacing: -.01em;
}

.pv-kpi-label {
  margin-top: 4px;
  color: #63829d;
  font-size: 9px;
  letter-spacing: .14em;
}

.pv-icon {
  border-radius: 2px;
  background: rgba(20, 104, 150, .14);
  border-color: rgba(78, 194, 240, .22);
  font-size: 10px;
  letter-spacing: .05em;
}

.pv-prose { color: #a7bfd2; }
.pv-prose > h1 { margin: 12px 0 20px; }
.pv-prose h2 {
  padding-top: 14px;
  border-top: 1px solid rgba(80, 173, 220, .12);
  color: #d9efff !important;
  font-size: 1.22rem;
}
.pv-prose p { max-width: 76ch; }

.pv-muted { color: var(--pv-muted) !important; }
.pv-subtle { color: #7899b3; }

.pv-home-banner {
  border-radius: 4px;
  position: relative;
  overflow: hidden;
  border-color: rgba(75, 177, 224, .24);
  background:
    linear-gradient(135deg, transparent 76%, rgba(231, 185, 65, .055) 76% 76.2%, transparent 76.2%),
    linear-gradient(110deg, rgba(6, 31, 52, .90), rgba(3, 16, 29, .94));
}

/* Auth / account onboarding */
.pv-auth-wrap {
  position: relative;
}

.pv-auth-wrap::before {
  content: "";
  position: fixed;
  width: 420px;
  height: 420px;
  left: -200px;
  top: 16%;
  border: 1px solid rgba(76, 189, 236, .085);
  transform: rotate(45deg);
  pointer-events: none;
}

.pv-auth {
  border-radius: 4px;
  border-color: rgba(74, 179, 227, .28);
  background: rgba(3, 15, 27, .98);
  box-shadow: 0 34px 90px rgba(0, 0, 0, .48);
}

.pv-auth-side {
  overflow: hidden;
  background:
    linear-gradient(rgba(75, 183, 228, .032) 1px, transparent 1px),
    linear-gradient(90deg, rgba(75, 183, 228, .032) 1px, transparent 1px),
    radial-gradient(circle at 35% 20%, rgba(26, 130, 181, .17), transparent 42%),
    linear-gradient(145deg, rgba(5, 31, 51, .98), rgba(3, 16, 29, .99));
  background-size: 42px 42px, 42px 42px, auto, auto;
}

.pv-auth-side::after {
  content: "";
  position: absolute;
  width: 250px;
  height: 250px;
  right: -145px;
  bottom: 60px;
  border: 1px solid rgba(75, 184, 228, .12);
  transform: rotate(45deg);
}

.pv-auth-panel { background: linear-gradient(180deg, rgba(3, 17, 29, .98), rgba(2, 12, 22, .99)); }

.pv-field label {
  color: #7fa6c1;
  text-transform: uppercase;
  font-size: 9px;
  letter-spacing: .12em;
}

input[type="text"], input[type="password"], input[type="email"], input[type="number"], input[type="search"], select, textarea {
  border-radius: 2px !important;
  min-height: 44px;
  background: rgba(1, 10, 19, .76) !important;
  border-color: rgba(82, 176, 222, .22) !important;
}

input:focus, select:focus, textarea:focus {
  border-color: rgba(92, 222, 255, .62) !important;
  box-shadow: 0 0 0 2px rgba(64, 181, 230, .08), inset 2px 0 rgba(94, 228, 255, .35) !important;
}

.pv-form-card { border-radius: 3px; }
.pv-starter label { border-radius: 2px !important; }

/* Logged-in command shell */
.pv-game-layout { grid-template-columns: 238px minmax(0, 1fr); }
.pv-side-menu {
  border-radius: 4px;
  padding: 9px;
  background: linear-gradient(180deg, rgba(5, 25, 42, .96), rgba(3, 15, 27, .97));
}
.pv-side-menu::after {
  content: "TRAINER // NAVIGATION";
  display: block;
  padding: 14px 10px 5px;
  color: #476f8d;
  font-size: 8px;
  letter-spacing: .16em;
}
.pv-side-menu a {
  border-radius: 2px;
  border-left: 1px solid transparent;
  font-size: 9px;
  padding: 10px 11px;
}
.pv-side-menu a:hover:where(html.pv-can-hover *),
.pv-side-menu a.active {
  color: #e5f6ff;
  border-left-color: var(--pv-cyan);
  background: linear-gradient(90deg, rgba(39, 147, 194, .13), transparent);
}

.pv-page { border-radius: 4px; padding: clamp(18px, 2.6vw, 28px); }
.pv-page-head h1 { text-transform: uppercase; letter-spacing: -.01em; }
.pv-team { gap: 10px; }
.pv-pokemon-card {
  border-radius: 3px;
  background:
    linear-gradient(135deg, rgba(79, 194, 241, .045), transparent 34%),
    rgba(2, 13, 24, .58);
}

/* Legacy recovered pages inherit the same production shell */
#container { margin-top: 16px !important; }
#header { min-height: 76px !important; }
#header::after {
  left: auto;
  right: 0;
  width: 90px;
  bottom: -1px;
  background: linear-gradient(90deg, transparent, var(--pv-gold));
  opacity: .55;
}
#usernav {
  border-radius: 0 0 3px 3px !important;
  background: rgba(3, 16, 28, .91) !important;
  border-color: rgba(75, 168, 215, .13) !important;
  text-transform: uppercase;
  letter-spacing: .05em;
  font-size: 9px !important;
}
#contentContainer { gap: 13px !important; }
#sidebar, #scroll { border-radius: 4px !important; }
#sidebarTabs a { border-radius: 2px !important; }
#rightbar { border-radius: 4px !important; }

/* Legacy headings and content markers */
#scrollContent > h1:first-child,
#scrollContent > h2:first-child,
#ajax > h1:first-child,
#ajax > h2:first-child {
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(79, 177, 224, .13);
  text-transform: uppercase;
  letter-spacing: .02em;
}

/* Tables become data-terminal surfaces */
#scrollContent table:not([class]),
#ajax table:not([class]),
.pv-panel table,
.pv-page table {
  border-radius: 2px !important;
  border-color: rgba(72, 165, 213, .16) !important;
  background: rgba(1, 11, 20, .48) !important;
}
th {
  color: #8fc7df !important;
  background: rgba(17, 79, 111, .24) !important;
  font-size: 9px;
  letter-spacing: .12em;
}

/* System states */
.pv-flash,
.actionMsg, .successMsg, .noticeMsg, .errorMsg, .betaMsg, .pv-system-error {
  border-radius: 2px !important;
  position: relative;
}

.pv-flash::before,
.actionMsg::before, .successMsg::before, .noticeMsg::before, .errorMsg::before, .pv-system-error::before {
  content: "";
  position: absolute;
  left: -1px;
  top: 8px;
  bottom: 8px;
  width: 2px;
  background: currentColor;
  opacity: .52;
}

/* News */
.pv-news-item {
  padding: 22px 0;
  border-top: 1px solid rgba(75, 170, 219, .12);
}
.pv-news-item:first-of-type { margin-top: 12px; }
.pv-news-item h2 { border: 0; padding-top: 0; margin: 7px 0 8px; }
.pv-news-item time { color: var(--pv-gold); }

/* Footer */
footer.pv-footer {
  position: relative;
  margin-top: 18px;
  padding-top: 20px;
  border-top: 1px solid rgba(68, 159, 206, .12);
}
footer.pv-footer::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  width: 70px;
  height: 1px;
  background: var(--pv-cyan);
  opacity: .45;
}
.pv-footer-main { letter-spacing: .04em; }
.pv-footer-links a { text-transform: uppercase; letter-spacing: .09em; font-size: 9px; }

/* Motion kept restrained and functional */
@media (prefers-reduced-motion: no-preference) {
  .pv-world-status { animation: pv-status-in .45s ease-out both; }
  .pv-card, .pv-feature-card { transition: transform .18s ease, border-color .18s ease, background-color .18s ease; }
  .pv-card:hover:where(html.pv-can-hover *), .pv-feature-card:hover:where(html.pv-can-hover *) { transform: translateY(-2px); }
  @keyframes pv-status-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
}

@media (max-width: 980px) {
  .pv-world-status { width: 100%; max-width: none; justify-self: stretch; }
  .pv-hero { min-height: 0; }
  .pv-feature-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 700px) {
  body::after { opacity: .32; }
  .pv-site-shell { width: calc(100% - 16px); }
  .pv-topbar { border-radius: 3px; }
  .pv-feature-grid { grid-template-columns: 1fr; }
  .pv-panel { padding: 20px 16px; }
  .pv-hero { padding: 30px 20px; }
  .pv-hero::after { width: 190px; height: 190px; right: -100px; top: 30px; }
  .pv-hero h1 { font-size: clamp(2.5rem, 13vw, 4rem); }
  .pv-world-status { padding: 22px 18px; }
  .pv-status-online { font-size: 2.25rem; }
  .pv-side-menu::after { display: none; }
}


/* =============================================================
   v4 Production Sci‑Fi Surface System
   Pure CSS geometry keeps every page detailed without requiring
   decorative image assets and remains lightweight on XAMPP.
   ============================================================= */
body {
  position: relative;
  isolation: isolate;
  background:
    radial-gradient(900px 520px at 82% 7%, rgba(22,130,206,.17), transparent 72%),
    radial-gradient(760px 520px at 9% 28%, rgba(18,83,162,.18), transparent 74%),
    linear-gradient(180deg,#030914 0%,#061427 44%,#050c17 100%) fixed !important;
}
body::before {
  z-index: -3;
  opacity: .30;
  background-image:
    linear-gradient(rgba(68,169,228,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(68,169,228,.045) 1px, transparent 1px),
    repeating-linear-gradient(135deg, transparent 0 68px, rgba(59,152,214,.026) 68px 69px);
  background-size: 48px 48px,48px 48px,auto;
  mask-image: linear-gradient(to bottom,black 0%,rgba(0,0,0,.88) 65%,transparent 100%);
}
body::after {
  content:"";
  position:fixed;
  z-index:-2;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,transparent 0 7%,rgba(67,181,241,.08) 7% 7.08%,transparent 7.08% 93%,rgba(67,181,241,.06) 93% 93.08%,transparent 93.08%),
    linear-gradient(180deg,transparent 0 18%,rgba(67,181,241,.045) 18% 18.08%,transparent 18.08% 76%,rgba(67,181,241,.035) 76% 76.08%,transparent 76.08%);
  opacity:.72;
}

.pv-site-shell::before,
#container::before {
  content:"";
  position:fixed;
  z-index:-1;
  right:-170px;
  top:190px;
  width:520px;
  height:520px;
  border:1px solid rgba(72,181,240,.105);
  transform:rotate(45deg);
  box-shadow:inset 0 0 0 74px rgba(18,95,155,.018),inset 0 0 0 146px rgba(18,95,155,.014);
  pointer-events:none;
}
.pv-site-shell::after,
#container::after {
  content:"";
  position:fixed;
  z-index:-1;
  left:-210px;
  bottom:60px;
  width:440px;
  height:440px;
  border:1px solid rgba(70,166,224,.075);
  transform:rotate(45deg);
  pointer-events:none;
}

/* precision corner accents shared by major surfaces */
.pv-topbar,.pv-hero,.pv-card,.pv-page,.pv-side-menu,#header,#sidebar,#scroll,#rightbar {
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.pv-topbar,.pv-page,#header,#scroll {
  background-image:
    linear-gradient(135deg,rgba(95,217,255,.07) 0 1px,transparent 1px),
    linear-gradient(155deg,rgba(14,33,57,.96),rgba(5,16,30,.96)) !important;
}
.pv-topbar::after,#header::after {
  box-shadow:0 0 18px rgba(70,200,255,.22);
}
.pv-card,.pv-side-menu,#sidebar,#rightbar {
  position:relative;
  overflow:hidden;
}
.pv-card::before,.pv-side-menu::before,#sidebar::before,#rightbar::before {
  content:"";
  position:absolute;
  pointer-events:none;
  width:76px;
  height:76px;
  right:-38px;
  top:-38px;
  transform:rotate(45deg);
  border:1px solid rgba(86,200,255,.11);
}
.pv-card::after {
  content:"";
  position:absolute;
  left:17px;
  right:17px;
  top:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(96,214,255,.26),transparent);
}

/* Home hero geometry inspired by high-end sci-fi game landing pages. */
.pv-hero {
  border-radius:8px;
  min-height:520px;
  background:
    linear-gradient(90deg,rgba(65,197,255,.55),rgba(65,197,255,0)) top left/34% 1px no-repeat,
    linear-gradient(180deg,rgba(65,197,255,.45),rgba(65,197,255,0)) top left/1px 44% no-repeat,
    radial-gradient(720px 420px at 80% 54%,rgba(12,112,183,.18),transparent 72%),
    linear-gradient(112deg,rgba(6,23,42,.985),rgba(7,29,50,.94)) !important;
}
.pv-hero::before {
  inset:auto -80px -250px auto;
  width:620px;
  height:620px;
  transform:rotate(45deg);
  border:1px solid rgba(73,180,238,.12);
  background:transparent;
  box-shadow:inset 0 0 0 90px rgba(45,140,197,.018),inset 0 0 0 180px rgba(45,140,197,.013);
}
.pv-hero::after {
  content:"VORTEX // TRAINER NETWORK // ONLINE RPG";
  position:absolute;
  right:20px;
  top:72px;
  writing-mode:vertical-rl;
  color:rgba(117,184,222,.20);
  font-size:8px;
  font-weight:800;
  letter-spacing:.42em;
  pointer-events:none;
}
.pv-eyebrow {
  border-radius:2px;
  border:0;
  background:transparent;
  padding:0 0 0 37px;
  position:relative;
  letter-spacing:.16em;
}
.pv-eyebrow::before {
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:26px;
  height:1px;
  background:linear-gradient(90deg,var(--pv-gold),var(--pv-cyan));
}
.pv-hero h1 span {
  color:transparent;
  -webkit-text-stroke:1px rgba(247,198,92,.9);
  text-shadow:0 0 24px rgba(247,198,92,.08);
}
.pv-world-status {
  position:relative;
  padding:26px 24px 22px;
  border:1px solid rgba(82,207,255,.50);
  border-top-color:rgba(247,198,92,.82);
  background:linear-gradient(145deg,rgba(7,31,53,.90),rgba(5,17,31,.94));
  box-shadow:0 22px 55px rgba(0,0,0,.31),inset 0 1px rgba(255,255,255,.035);
}
.pv-world-status::before {
  content:"";
  position:absolute;
  inset:8px;
  border:1px solid rgba(86,196,255,.055);
  pointer-events:none;
}
.pv-status-label { color:#66859f;font-size:9px;font-weight:850;letter-spacing:.24em;text-transform:uppercase; }
.pv-status-online { margin:10px 0 7px;color:#67f2b6;font-size:40px;font-weight:950;letter-spacing:-.04em;text-transform:uppercase;text-shadow:0 0 24px rgba(74,240,174,.24); }
.pv-status-online::before { content:"■";font-size:13px;margin-right:11px;vertical-align:middle; }
.pv-status-copy { color:#93a9bc;margin-bottom:18px; }
.pv-status-grid { border-top:1px solid rgba(96,177,225,.18); }
.pv-status-row { min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid rgba(96,177,225,.13);font-size:10px;text-transform:uppercase;letter-spacing:.08em; }
.pv-status-row span { color:#5d7891; }
.pv-status-row strong { color:#c8e9ff;font-size:10px; }
.pv-hero-tags { display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:20px;color:#67829c;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.09em; }
.pv-hero-tags span::before { content:"■";color:#55e4ac;margin-right:7px;font-size:7px; }
.pv-home-banner { margin-top:14px;padding:28px;display:flex;align-items:center;justify-content:space-between;gap:22px;border:1px solid var(--pv-border);background:linear-gradient(110deg,rgba(11,31,54,.95),rgba(5,17,31,.96));position:relative;overflow:hidden; }
.pv-home-banner::after { content:"";position:absolute;right:-90px;top:-130px;width:280px;height:280px;border:1px solid rgba(75,188,247,.12);transform:rotate(45deg); }
.pv-home-banner h2 { margin:11px 0 7px; }
.pv-home-banner p { margin:0;color:var(--pv-muted); }
.pv-online { color:#62f2b3 !important;text-shadow:0 0 18px rgba(75,230,166,.16); }
.pv-muted-kpi { color:#7f92a5 !important; }

/* Production page hierarchy */
.pv-page { border-radius:6px; }
.pv-page-head { padding-bottom:15px;border-bottom:1px solid rgba(92,181,235,.13); }
.pv-page-head h1 { letter-spacing:-.035em; }
.pv-side-menu { border-radius:6px; }
.pv-side-menu a { border-radius:3px;border-left:2px solid transparent; }
.pv-side-menu a:hover:where(html.pv-can-hover *),.pv-side-menu a.active { border-left-color:var(--pv-cyan);background:linear-gradient(90deg,rgba(43,145,214,.16),rgba(43,145,214,.04)); }
.pv-pokemon-card { position:relative;border-radius:6px;background:linear-gradient(180deg,rgba(8,24,42,.9),rgba(4,14,27,.72)); }
.pv-pokemon-card:hover:where(html.pv-can-hover *) { border-color:rgba(87,208,255,.42);transform:translateY(-2px);box-shadow:0 13px 30px rgba(0,0,0,.23); }
.pv-pokemon-card img { filter:drop-shadow(0 8px 8px rgba(0,0,0,.36)); }

/* Older recovered pages: impose the same production visual language. */
body:not(.pv-modern-page) #header,
body:not(.pv-modern-page) #scroll,
body:not(.pv-modern-page) #sidebar { border-radius:6px !important; }
body:not(.pv-modern-page) #scroll::before {
  content:"";
  position:absolute;
  pointer-events:none;
  inset:0;
  background:
    linear-gradient(90deg,rgba(82,192,247,.22),transparent 90px) top left/150px 1px no-repeat,
    linear-gradient(180deg,rgba(82,192,247,.16),transparent 90px) top left/1px 150px no-repeat;
}
#scrollContent h1:first-child,#ajax h1:first-child,
#scrollContent h2:first-child,#ajax h2:first-child {
  padding-bottom:13px;
  border-bottom:1px solid rgba(94,181,231,.14);
}

/* no technical strings should visually dominate accidental warnings */
.pv-system-error { font-family:var(--pv-font)!important;white-space:normal!important; }

@media (prefers-reduced-motion: no-preference) {
  .pv-card,.pv-pokemon-card,.pv-btn { transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,filter .16s ease; }
  .pv-card:hover:where(html.pv-can-hover *) { transform:translateY(-2px);border-color:rgba(91,196,255,.34); }
}
@media (max-width: 760px) {
  .pv-hero::after { display:none; }
  .pv-home-banner { flex-direction:column;align-items:flex-start; }
  .pv-world-status { margin-top:4px; }
}

/* ======================================================================
   v5 PRODUCTION UX HARDENING
   Unified application chrome, dense sci-fi atmosphere, mobile navigation,
   trainer-network surfaces and stronger recovered-page compatibility.
   ====================================================================== */
:root {
  --pv-shell: min(1420px, calc(100% - 32px));
  --pv-cyan-bright: #7beaff;
  --pv-ink: #01060c;
  --pv-panel-glass: rgba(4, 17, 31, .90);
  --pv-panel-raised: rgba(7, 27, 47, .96);
  --pv-hairline: rgba(91, 203, 255, .16);
  --pv-hairline-2: rgba(247, 198, 92, .16);
}

body {
  background:
    radial-gradient(1000px 540px at 76% 9%, rgba(18, 130, 205, .18), transparent 70%),
    radial-gradient(760px 560px at 3% 55%, rgba(16, 86, 160, .17), transparent 72%),
    linear-gradient(117deg, #020812 0%, #041525 43%, #061a2b 68%, #020a13 100%) fixed !important;
}
body::before {
  opacity: .46;
  background-image:
    repeating-linear-gradient(0deg, rgba(104, 215, 255, .024) 0 1px, transparent 1px 4px),
    linear-gradient(rgba(80, 185, 235, .04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(80, 185, 235, .035) 1px, transparent 1px),
    repeating-linear-gradient(135deg, transparent 0 82px, rgba(81, 190, 240, .023) 82px 83px);
  background-size: 100% 4px, 52px 52px, 52px 52px, auto;
}

.pv-atmosphere { position: fixed; inset: 0; pointer-events: none; z-index: -1; overflow: hidden; }
.pv-atmosphere i { position: absolute; display: block; border: 1px solid rgba(83, 193, 241, .10); transform: rotate(45deg); }
.pv-atmosphere i:nth-child(1) { width: 460px; height: 460px; right: -178px; top: 18%; box-shadow: inset 0 0 0 76px rgba(30, 124, 180, .016), inset 0 0 0 154px rgba(30,124,180,.013); }
.pv-atmosphere i:nth-child(2) { width: 210px; height: 210px; right: 11%; top: 37%; border-color: rgba(247, 198, 92, .095); }
.pv-atmosphere i:nth-child(3) { width: 360px; height: 360px; left: -225px; bottom: 8%; border-color: rgba(73, 174, 228, .075); }
.pv-atmosphere i:nth-child(4) { width: 96px; height: 96px; left: 8%; top: 20%; border-color: rgba(105, 220, 255, .07); box-shadow: 0 0 0 36px rgba(48, 138, 190, .012); }

.pv-skip-link { position: fixed; z-index: 9999; left: 16px; top: -60px; padding: 10px 14px; border: 1px solid var(--pv-cyan); background: #061523; color: #fff; font-weight: 800; border-radius: 4px; }
.pv-skip-link:focus { top: 12px; }

.pv-site-shell { width: var(--pv-shell); }
.pv-topbar { position: sticky; top: 10px; z-index: 60; min-height: 72px; }
.pv-topbar::before { width: 185px; }
.pv-topbar::after { width: 145px; }

.pv-nav-toggle { display: none; min-width: 46px; min-height: 42px; padding: 8px 10px; border: 1px solid var(--pv-hairline); border-radius: 3px; background: rgba(11, 38, 60, .58); color: var(--pv-text); cursor: pointer; }
.pv-nav-toggle span { display: block; width: 19px; height: 1px; margin: 4px auto; background: #8adfff; }
.pv-nav-toggle b { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

.pv-trainer-chip { display: inline-flex !important; align-items: center; gap: 7px; padding-left: 7px !important; }
.pv-trainer-chip > span { display: grid; place-items: center; width: 25px; height: 25px; border: 1px solid rgba(94, 220, 255, .26); background: rgba(59, 162, 215, .13); color: #bbf1ff; font-size: 10px; font-weight: 950; }
.pv-trainer-chip > em { max-width: 104px; overflow: hidden; text-overflow: ellipsis; font-style: normal; white-space: nowrap; }

.pv-command-strip { display: flex; align-items: center; gap: 22px; min-height: 31px; margin: 6px 8px 13px; padding: 0 11px; color: #53728e; border-left: 1px solid rgba(91, 203, 255, .12); border-right: 1px solid rgba(247, 198, 92, .09); font: 800 8px/1.2 "Arial Narrow", "Segoe UI", sans-serif; letter-spacing: .17em; text-transform: uppercase; }
.pv-command-state { color: #72a1bf; }
.pv-command-state i, .pv-mini-status i, .pv-side-signal i, .pv-footer-signal i { display: inline-block; width: 6px; height: 6px; margin-right: 7px; background: var(--pv-green); box-shadow: 0 0 12px rgba(85, 243, 182, .55); }
.pv-command-tail { margin-left: auto; color: #465e74; }

.pv-footer { position: relative; overflow: hidden; }
.pv-footer::before { content: ""; position: absolute; top: 0; left: 0; width: 180px; height: 1px; background: linear-gradient(90deg, var(--pv-cyan), transparent); opacity: .55; }
.pv-footer-signal { margin-top: 10px; color: #466680; font: 800 8px/1 "Arial Narrow", sans-serif; letter-spacing: .17em; }
.pv-footer-signal i { width: 5px; height: 5px; }

/* Game navigation becomes a deliberate command rail rather than a flat list. */
.pv-side-menu { padding: 12px !important; background: linear-gradient(160deg, rgba(6,25,43,.97), rgba(3,14,26,.98)) !important; }
.pv-side-profile { margin: -2px -2px 12px; padding: 14px 13px 13px; border: 1px solid rgba(91, 200, 249, .13); background: linear-gradient(110deg, rgba(19, 69, 103, .24), rgba(5, 20, 34, .28)); }
.pv-side-profile strong { display: block; margin-top: 7px; overflow: hidden; text-overflow: ellipsis; font-size: 13px; white-space: nowrap; }
.pv-side-profile small, .pv-side-signal { display: block; color: #5e7d97 !important; font: 800 8px/1.2 "Arial Narrow", sans-serif; letter-spacing: .15em; text-transform: uppercase; }
.pv-side-signal { color: #6fd5ad !important; }
.pv-side-group + .pv-side-group { margin-top: 13px; padding-top: 12px; border-top: 1px solid rgba(86, 179, 225, .10); }
.pv-side-label { padding: 0 9px 6px; color: #4e6b83; font: 900 8px/1 "Arial Narrow", sans-serif; letter-spacing: .18em; text-transform: uppercase; }
.pv-side-menu a { justify-content: space-between !important; min-height: 34px; padding: 0 9px !important; font-size: 9px !important; }
.pv-side-menu a i { color: #41637f; font-style: normal; font-size: 14px; }
.pv-side-menu a.active i, .pv-side-menu a:hover:where(html.pv-can-hover *) i { color: var(--pv-cyan); }

/* Modern section hero and network surfaces */
.pv-section-hero { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 150px; background:
  linear-gradient(90deg, rgba(92, 218, 255, .48), transparent 36%) top left/46% 1px no-repeat,
  radial-gradient(480px 230px at 85% 25%, rgba(23, 130, 191, .13), transparent 72%),
  linear-gradient(130deg, rgba(7, 29, 50, .97), rgba(4, 17, 30, .95)) !important; }
.pv-section-hero h1 { margin-bottom: 7px; }
.pv-section-hero p { margin: 0; max-width: 700px; }
.pv-mini-status { flex: 0 0 auto; padding: 10px 12px; border: 1px solid rgba(87, 207, 255, .16); background: rgba(5, 24, 39, .55); color: #6b93af; font: 900 8px/1 "Arial Narrow", sans-serif; letter-spacing: .16em; }

.pv-stat-grid-wide { margin: 14px 0; }
.pv-stat-grid-wide > div { min-height: 88px; background: linear-gradient(145deg, rgba(7, 27, 46, .9), rgba(3, 14, 26, .85)); }
.pv-stat-grid-wide strong { font-size: 1.34rem !important; color: #dff7ff !important; }

.pv-network-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.pv-network-card { display: grid; grid-template-columns: 52px minmax(0,1fr) 24px; align-items: center; gap: 14px; min-height: 126px; padding: 18px; color: var(--pv-text); border: 1px solid var(--pv-hairline); background: linear-gradient(125deg, rgba(8, 31, 52, .9), rgba(4, 17, 30, .92)); position: relative; overflow: hidden; }
.pv-network-card::after { content: ""; position: absolute; width: 90px; height: 90px; right: -58px; top: -58px; transform: rotate(45deg); border: 1px solid rgba(80, 194, 242, .10); }
.pv-network-card:hover:where(html.pv-can-hover *) { color: #fff; border-color: rgba(100, 222, 255, .34); background: linear-gradient(125deg, rgba(12, 48, 76, .93), rgba(4, 20, 35, .95)); transform: translateY(-2px); }
.pv-network-code { display: grid; place-items: center; width: 48px; height: 48px; border: 1px solid rgba(94, 217, 255, .22); color: #7fe4ff; background: rgba(32, 126, 175, .09); font: 900 9px/1 "Arial Narrow", sans-serif; letter-spacing: .10em; clip-path: polygon(0 0, 78% 0, 100% 22%, 100% 100%, 22% 100%, 0 78%); }
.pv-network-card h3 { margin: 0 0 5px; font-size: 15px; }
.pv-network-card p { margin: 0; color: #7894ab; font-size: 12px; }
.pv-network-card > b { color: #4e819f; font-size: 19px; }
.pv-network-card:hover:where(html.pv-can-hover *) > b { color: var(--pv-cyan); }

.pv-compact-panel { margin-top: 14px; padding: 20px 22px !important; }
.pv-compact-panel h2 { margin: 8px 0 6px; font-size: 1.2rem; }
.pv-compact-panel p { margin: 0; }

.pv-account-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 14px; }
.pv-account-panel { min-height: 270px; }
.pv-detail-list { margin: 18px 0 0; }
.pv-detail-list > div { display: grid; grid-template-columns: 145px minmax(0, 1fr); gap: 16px; padding: 12px 0; border-bottom: 1px solid rgba(87, 180, 226, .10); }
.pv-detail-list dt { color: #64829b; font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.pv-detail-list dd { margin: 0; min-width: 0; overflow-wrap: anywhere; color: #d9effb; font-weight: 700; }

/* Authentication polish */
.pv-auth-page { background:
  radial-gradient(900px 550px at 20% 40%, rgba(14, 113, 183, .20), transparent 70%),
  radial-gradient(620px 420px at 90% 4%, rgba(45, 152, 198, .10), transparent 70%),
  linear-gradient(125deg,#020812,#041524 57%,#020a13) fixed !important; }
.pv-auth { border-radius: 5px !important; border: 1px solid rgba(82, 191, 239, .24) !important; box-shadow: 0 32px 90px rgba(0,0,0,.50) !important; overflow: hidden; }
.pv-auth-side { position: relative; background:
  linear-gradient(180deg, rgba(82, 205, 255, .35), transparent 40%) top left/1px 55% no-repeat,
  linear-gradient(90deg, rgba(82, 205, 255, .42), transparent 45%) top left/60% 1px no-repeat,
  radial-gradient(500px 300px at 50% 85%, rgba(34, 129, 183, .13), transparent 72%),
  linear-gradient(145deg, rgba(7, 29, 49, .98), rgba(3, 14, 26, .99)) !important; }
.pv-auth-side::after { content: "AUTH // TRAINER NETWORK"; position: absolute; left: 22px; bottom: 18px; color: rgba(109, 170, 207, .28); font: 800 8px/1 "Arial Narrow", sans-serif; letter-spacing: .23em; }
.pv-auth-side > img { max-height: 280px; object-fit: contain; filter: drop-shadow(0 24px 35px rgba(0,0,0,.44)); }
.pv-auth-panel { background:
  linear-gradient(90deg, rgba(91, 211, 255, .30), transparent 100px) top left/130px 1px no-repeat,
  linear-gradient(160deg, rgba(6, 22, 38, .98), rgba(3, 13, 24, .99)) !important; }
.pv-auth-panel button[type="submit"] { width: 100%; min-height: 45px; display: flex; align-items: center; justify-content: space-between; }
.pv-trainer-picker { display: grid; grid-template-columns: minmax(0,1fr) 100px; gap: 12px; align-items: stretch; }
.pv-trainer-preview { display: grid; place-items: center; align-content: center; min-height: 92px; border: 1px solid rgba(89, 203, 255, .17); background: rgba(4, 16, 29, .54); }
.pv-trainer-preview span { color: #52728b; font: 900 7px/1 "Arial Narrow", sans-serif; letter-spacing: .16em; }
.pv-trainer-preview img { width: 44px; height: 56px; margin-top: 6px; object-fit: contain; image-rendering: pixelated; filter: drop-shadow(0 8px 8px rgba(0,0,0,.34)); }
.pv-field-help { display: block; margin-top: 6px; color: #5f7e97 !important; font-size: 10px; }

/* Form consistency */
.pv-modern-page input:not([type="checkbox"]):not([type="radio"]),
.pv-modern-page select,
.pv-modern-page textarea { border-radius: 3px !important; border-color: rgba(91, 189, 235, .22) !important; background: rgba(2, 13, 24, .76) !important; box-shadow: inset 0 1px 8px rgba(0,0,0,.18); }
.pv-modern-page input:focus, .pv-modern-page select:focus, .pv-modern-page textarea:focus { outline: 1px solid rgba(88, 218, 255, .54) !important; border-color: rgba(88, 218, 255, .50) !important; box-shadow: 0 0 0 3px rgba(55, 183, 235, .08), inset 0 1px 8px rgba(0,0,0,.18) !important; }
.pv-btn, .pv-button, .pv-modern-page button[type="submit"] { border-radius: 2px !important; text-transform: uppercase; letter-spacing: .08em; font-family: "Arial Narrow", "Segoe UI", sans-serif; font-weight: 900 !important; }
.pv-button { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: 0 16px; border: 1px solid rgba(88, 209, 255, .28); background: rgba(17, 94, 137, .18); color: #dff8ff; }
.pv-button-secondary { background: rgba(5, 23, 39, .65); }
button[aria-busy="true"], input[aria-busy="true"] { opacity: .72; cursor: progress; }

/* Recovered pages: resilient tables, assets and interaction surfaces. */
body:not(.pv-modern-page) table { max-width: 100% !important; border-collapse: separate; border-spacing: 0; }
body:not(.pv-modern-page) th { background: rgba(20, 67, 99, .34) !important; color: #bfeaff !important; border-color: rgba(83, 182, 229, .18) !important; text-transform: uppercase; letter-spacing: .06em; font-size: 9px !important; }
body:not(.pv-modern-page) td { border-color: rgba(78, 164, 209, .10) !important; }
body:not(.pv-modern-page) tr.dark, body:not(.pv-modern-page) tr.light { background: rgba(4, 18, 32, .40) !important; }
body:not(.pv-modern-page) tr:hover:where(html.pv-can-hover *) td { background-color: rgba(26, 89, 127, .08) !important; }
body:not(.pv-modern-page) input, body:not(.pv-modern-page) select, body:not(.pv-modern-page) textarea { max-width: 100%; border: 1px solid rgba(85, 180, 227, .24) !important; border-radius: 2px !important; background: rgba(2, 12, 22, .82) !important; color: #dbefff !important; }
body:not(.pv-modern-page) input[type="submit"], body:not(.pv-modern-page) button { min-height: 33px; padding: 6px 12px !important; border: 1px solid rgba(92, 201, 247, .28) !important; background: linear-gradient(180deg, rgba(22, 104, 151, .36), rgba(9, 50, 78, .32)) !important; color: #e4f7ff !important; font-weight: 800; cursor: pointer; }
body:not(.pv-modern-page) iframe[src*="adv.php"], body:not(.pv-modern-page) iframe[src*="facebook.com/plugins"] { display: none !important; }
body:not(.pv-modern-page) #copy { margin-top: 22px !important; padding-top: 14px !important; border-top: 1px solid rgba(75, 170, 218, .12) !important; color: #58738a !important; font-size: 9px !important; text-align: center !important; }
body:not(.pv-modern-page) #copy a { color: #7198b5 !important; }
body:not(.pv-modern-page) img.pv-image-fallback { width: 54px !important; height: 54px !important; object-fit: contain !important; opacity: .72; filter: grayscale(.2) drop-shadow(0 7px 8px rgba(0,0,0,.34)); }

/* A missing sprite should look intentional rather than rendering a broken-image icon. */
img.pv-image-fallback { padding: 6px; border: 1px dashed rgba(86, 188, 234, .18); background: rgba(3, 15, 27, .50); }

@media (max-width: 1050px) {
  .pv-command-strip span:not(.pv-command-state):not(.pv-command-tail) { display: none; }
  .pv-network-grid, .pv-account-grid { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
  .pv-topbar { align-items: center; }
  .pv-nav-toggle { display: inline-block; margin-left: auto; position: relative; }
  .pv-nav { position: absolute; top: calc(100% + 7px); left: 0; right: 0; display: none !important; padding: 10px; border: 1px solid rgba(86, 193, 240, .24); background: rgba(3, 15, 27, .985); box-shadow: 0 26px 60px rgba(0,0,0,.48); }
  .pv-topbar.pv-nav-open .pv-nav { display: grid !important; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 6px; }
  .pv-nav a { justify-content: flex-start; min-height: 40px; }
  .pv-trainer-chip > em { max-width: none; }
  .pv-command-strip { margin-top: 3px; }
  .pv-game-layout { grid-template-columns: 1fr !important; }
  .pv-side-menu { position: relative !important; top: auto !important; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .pv-side-profile { grid-column: 1 / -1; margin: 0; }
  .pv-side-group + .pv-side-group { margin-top: 0; padding-top: 0; border-top: 0; }
}

@media (max-width: 650px) {
  .pv-site-shell { width: calc(100% - 12px); }
  .pv-topbar { top: 5px; min-height: 64px; padding: 8px 10px; }
  .pv-brand-copy { font-size: 13px !important; letter-spacing: .08em !important; }
  .pv-brand-copy small { font-size: 7px; }
  .pv-brand-mark { width: 38px !important; height: 38px !important; }
  .pv-command-strip { gap: 8px; margin: 5px 4px 9px; padding: 0 6px; }
  .pv-command-tail { display: none; }
  .pv-topbar.pv-nav-open .pv-nav { grid-template-columns: 1fr; }
  .pv-side-menu { grid-template-columns: 1fr; }
  .pv-side-profile { grid-column: auto; }
  .pv-section-hero { align-items: flex-start; flex-direction: column; min-height: 0; padding: 20px 17px !important; }
  .pv-network-grid { grid-template-columns: 1fr; }
  .pv-network-card { grid-template-columns: 44px minmax(0,1fr) 18px; min-height: 110px; padding: 14px; }
  .pv-network-code { width: 42px; height: 42px; }
  .pv-detail-list > div { grid-template-columns: 1fr; gap: 4px; }
  .pv-trainer-picker { grid-template-columns: 1fr 82px; }
  .pv-auth { grid-template-columns: 1fr !important; width: calc(100% - 12px) !important; }
  .pv-auth-side { min-height: 280px; }
  .pv-auth-side > img { max-height: 155px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
}

/* ========================================================================== */
/* v7 — runtime hardening, document scrolling and reconstructed world maps   */
/* ========================================================================== */
html,
body {
  height: auto !important;
  min-height: 100% !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior-y: auto;
}
body { min-height: 100vh !important; }
body:not(.pv-modern-page) {
  min-width: 0 !important;
  min-height: 100vh !important;
}
body:not(.pv-modern-page) #container,
body:not(.pv-modern-page) #contentContainer,
body:not(.pv-modern-page) #content,
body:not(.pv-modern-page) #scroll,
body:not(.pv-modern-page) #scrollContent,
body:not(.pv-modern-page) #ajax {
  height: auto !important;
  max-height: none !important;
  overflow-y: visible !important;
}
body:not(.pv-modern-page) #container,
body:not(.pv-modern-page) #contentContainer {
  min-height: 100vh !important;
  overflow: visible !important;
}
body:not(.pv-modern-page) #scroll {
  min-height: 680px !important;
  overflow-x: visible !important;
}
body:not(.pv-modern-page) #scrollContent,
body:not(.pv-modern-page) #ajax {
  min-height: 0 !important;
}
body:not(.pv-modern-page) #loading,
body:not(.pv-modern-page) #sidebarLoading {
  pointer-events: none;
}

.pv-map-select-page { overflow: clip; }
.pv-map-select-hero { margin: -1px -1px 0; }
.pv-map-legend {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 1px;
  margin: 14px 0 24px;
  border: 1px solid rgba(84,190,236,.15);
  background: rgba(73,171,214,.10);
}
.pv-map-legend span {
  min-height: 42px;
  display: flex;
  align-items: center;
  padding: 0 13px;
  background: rgba(3,16,28,.88);
  color: #7898b0;
  font: 800 9px/1.25 "Arial Narrow","Segoe UI",sans-serif;
  letter-spacing: .10em;
  text-transform: uppercase;
}
.pv-map-legend i { width: 5px; height: 5px; margin-right: 8px; background: var(--pv-green); box-shadow: 0 0 9px rgba(77,230,166,.45); }
.pv-map-group + .pv-map-group { margin-top: 32px; padding-top: 28px; border-top: 1px solid rgba(85,186,232,.12); }
.pv-map-group-head { display: grid; grid-template-columns: 58px minmax(0,1fr); gap: 14px; align-items: center; margin-bottom: 14px; }
.pv-map-group-code { display: grid; place-items: center; width: 56px; height: 56px; clip-path: polygon(0 0,78% 0,100% 22%,100% 100%,22% 100%,0 78%); border: 1px solid rgba(92,211,255,.25); background: rgba(23,105,148,.13); color: #82e7ff; font: 900 10px/1 "Arial Narrow","Segoe UI",sans-serif; letter-spacing: .12em; }
.pv-map-group-head span { color: #5c829d; font: 900 8px/1 "Arial Narrow","Segoe UI",sans-serif; letter-spacing: .18em; }
.pv-map-group-head h2 { margin: 5px 0 3px; font-size: 1.15rem; text-transform: uppercase; letter-spacing: .035em; }
.pv-map-group-head p { margin: 0; color: #718da5; font-size: 12px; }
.pv-map-card-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.pv-map-card { min-height: 128px; display: grid; grid-template-columns: 94px minmax(0,1fr) auto; align-items: center; gap: 13px; padding: 12px; position: relative; overflow: hidden; color: var(--pv-text); border: 1px solid rgba(83,184,231,.16); background: linear-gradient(125deg,rgba(7,29,49,.94),rgba(3,15,27,.96)); }
.pv-map-card::before { content:""; position:absolute; inset:0 auto 0 0; width:1px; background:linear-gradient(180deg,rgba(86,218,255,.6),transparent 62%); opacity:.45; }
.pv-map-card::after { content:""; position:absolute; right:-36px; top:-36px; width:72px; height:72px; transform:rotate(45deg); border:1px solid rgba(94,208,255,.10); }
.pv-map-card:hover:where(html.pv-can-hover *) { color:#fff; border-color:rgba(88,216,255,.40); background:linear-gradient(125deg,rgba(10,43,70,.96),rgba(3,18,31,.98)); transform:translateY(-2px); box-shadow:0 14px 34px rgba(0,0,0,.25); }
.pv-map-card-image { width:94px; height:94px; padding:4px; display:grid; place-items:center; border:1px solid rgba(92,198,240,.16); background:#03101c; overflow:hidden; }
.pv-map-card-image img { width:86px !important; height:86px !important; object-fit:cover; margin:0 !important; border:0 !important; border-radius:0 !important; image-rendering:pixelated; box-shadow:none !important; }
.pv-map-card-body { min-width:0; }
.pv-map-card-body small,.pv-map-card-body strong,.pv-map-card-body em { display:block; }
.pv-map-card-body small { color:#557a94 !important; font:900 8px/1 "Arial Narrow","Segoe UI",sans-serif; letter-spacing:.16em; }
.pv-map-card-body strong { margin:7px 0 6px; color:#dcf5ff; font-size:13px; }
.pv-map-card-body em { color:#68879f; font-size:10px; font-style:normal; }
.pv-map-card > b { color:#5387a5; font:900 9px/1 "Arial Narrow","Segoe UI",sans-serif; letter-spacing:.10em; }
.pv-map-card:hover:where(html.pv-can-hover *) > b { color:var(--pv-cyan); }

.pv-map-page { padding: clamp(18px,2.5vw,28px); }
.pv-map-head { align-items:flex-start; border-bottom:1px solid rgba(83,179,222,.12); padding-bottom:18px; }
.pv-map-head h1 { margin:9px 0 5px; }
.pv-map-head p { margin:0; max-width:760px; }
.pv-map-head-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
.pv-map-layout { display:grid; grid-template-columns:minmax(520px,1fr) 320px; gap:14px; align-items:start; }
.pv-map-console { min-width:0; border:1px solid rgba(87,196,239,.22); background:linear-gradient(155deg,rgba(3,17,29,.98),rgba(2,10,20,.99)); box-shadow:0 22px 48px rgba(0,0,0,.30); }
.pv-map-console-top,.pv-map-console-bottom { min-height:39px; display:flex; align-items:center; gap:16px; padding:0 12px; color:#5f8199; background:rgba(5,25,40,.82); font:900 8px/1 "Arial Narrow","Segoe UI",sans-serif; letter-spacing:.13em; text-transform:uppercase; }
.pv-map-console-top { border-bottom:1px solid rgba(79,184,228,.13); }
.pv-map-console-bottom { justify-content:space-between; border-top:1px solid rgba(79,184,228,.13); }
.pv-map-console-top span { color:#6dc7e7; }
.pv-map-console-top span i { display:inline-block; width:5px; height:5px; margin-right:7px; background:var(--pv-green); box-shadow:0 0 9px rgba(77,230,166,.45); }
.pv-map-console-top b { color:#8caec3; font-weight:900; }
.pv-map-console-top em { margin-left:auto; color:#d0eff8; font-style:normal; }
#pv-map-status[data-tone="success"] { color:#7fd8b6; }
#pv-map-status[data-tone="error"],#pv-map-status[data-tone="blocked"] { color:#e8a2ae; }
#pv-map-status[data-tone="busy"] { color:#7edcff; }
.pv-map-viewport-wrap { min-height:480px; display:grid; place-items:center; padding:38px 20px; overflow:auto; background:radial-gradient(520px 310px at 50% 45%,rgba(27,124,177,.10),transparent 76%),linear-gradient(180deg,rgba(4,18,31,.76),rgba(1,8,15,.88)); }
.pv-map-stage { width:480px; height:400px; flex:none; position:relative; background-repeat:no-repeat; background-position:0 0; background-size:480px 400px; image-rendering:pixelated; border:1px solid rgba(118,218,255,.33); outline:7px solid rgba(1,8,15,.82); box-shadow:0 0 0 8px rgba(71,182,225,.10),0 24px 60px rgba(0,0,0,.52); overflow:hidden; }
.pv-map-art { position:absolute; inset:0; z-index:0; width:480px !important; height:400px !important; max-width:none !important; object-fit:fill; image-rendering:pixelated; pointer-events:none; }
.pv-map-stage.is-map-error { background:radial-gradient(circle at 50% 45%,rgba(24,103,148,.18),transparent 46%),#020b13; }
.pv-map-stage.is-map-error .pv-map-grid { opacity:.13; }
.pv-map-stage::before { content:""; position:absolute; inset:0; z-index:3; pointer-events:none; box-shadow:inset 0 0 48px rgba(0,0,0,.32),inset 0 0 0 1px rgba(255,255,255,.035); }
.pv-map-stage.is-night::after { content:""; position:absolute; inset:0; z-index:2; pointer-events:none; background:rgba(0,18,55,.16); mix-blend-mode:multiply; }
.pv-map-stage.is-moving { filter:brightness(.96); }
.pv-map-stage.is-blocked { animation:pv-map-blocked .18s ease; }
@keyframes pv-map-blocked { 0%,100%{transform:translateX(0)} 30%{transform:translateX(-2px)} 70%{transform:translateX(2px)} }
.pv-map-weather-overlay { position:absolute; inset:0; width:480px !important; height:400px !important; z-index:2; object-fit:cover; opacity:.78; pointer-events:none; image-rendering:pixelated; }
.pv-map-grid { position:absolute; inset:0; z-index:4; pointer-events:none; opacity:.06; background-image:linear-gradient(rgba(159,230,255,.45) 1px,transparent 1px),linear-gradient(90deg,rgba(159,230,255,.45) 1px,transparent 1px); background-size:16px 16px; }
.pv-map-actors { position:absolute; inset:0; z-index:5; pointer-events:none; }
.pv-map-actor { position:absolute; width:16px; height:32px; pointer-events:auto; filter:drop-shadow(0 2px 2px rgba(0,0,0,.6)); }
.pv-map-actor img { position:absolute; left:0; width:16px !important; height:16px !important; max-width:none; image-rendering:pixelated; }
.pv-map-sprite-top { top:0; }
.pv-map-sprite-bottom { top:16px; }
.pv-map-actor b { display:none; position:absolute; left:50%; bottom:34px; transform:translateX(-50%); padding:4px 6px; white-space:nowrap; background:rgba(2,11,20,.92); border:1px solid rgba(92,201,243,.23); color:#d9f3ff; font-size:8px; letter-spacing:.04em; }
.pv-map-actor:hover:where(html.pv-can-hover *) b { display:block; }
.pv-map-actor-own { z-index:2; filter:drop-shadow(0 0 4px rgba(255,214,76,.62)); }
.pv-map-actor-bot { z-index:3; text-decoration:none; cursor:pointer; filter:drop-shadow(0 0 5px rgba(89,220,255,.72)); }
.pv-map-actor-bot::after { content:'AI'; position:absolute; right:-7px; top:-7px; min-width:12px; padding:1px 3px; border-radius:3px; background:#071b29; border:1px solid rgba(94,222,255,.72); color:#a9f1ff; font-size:6px; line-height:9px; font-weight:900; letter-spacing:.08em; text-align:center; box-shadow:0 1px 4px rgba(0,0,0,.55); }
.pv-map-actor-bot b small { display:block; margin-top:2px; color:#79ddf5; font-size:6px; letter-spacing:.12em; }
.pv-map-actor-bot:hover:where(html.pv-can-hover *) { filter:drop-shadow(0 0 7px rgba(89,220,255,.95)); }
.pv-map-sidebar { display:grid; gap:12px; }
.pv-map-control-panel,.pv-map-encounter-panel,.pv-map-region-panel { border:1px solid rgba(83,184,230,.18); background:linear-gradient(145deg,rgba(7,29,48,.92),rgba(3,15,27,.96)); padding:15px; position:relative; }
.pv-map-control-panel::before,.pv-map-encounter-panel::before,.pv-map-region-panel::before { content:""; position:absolute; left:-1px; top:-1px; width:44px; height:1px; background:var(--pv-cyan); opacity:.42; }
.pv-map-panel-label { margin-bottom:12px; color:#5f8199; font:900 8px/1 "Arial Narrow","Segoe UI",sans-serif; letter-spacing:.17em; }
.pv-map-compass { width:174px; margin:0 auto 13px; display:grid; grid-template-columns:repeat(3,52px); grid-auto-rows:52px; gap:6px; }
.pv-map-compass button,.pv-map-trainer-core { width:52px; height:52px; min-height:52px !important; padding:0 !important; display:grid; place-items:center; border-radius:2px !important; }
.pv-map-compass button { font-size:20px; color:#9cecff !important; background:linear-gradient(150deg,rgba(18,85,121,.38),rgba(5,31,50,.66)) !important; border-color:rgba(90,204,245,.24) !important; box-shadow:none !important; }
.pv-map-compass button:hover:where(html.pv-can-hover *) { background:linear-gradient(150deg,rgba(28,123,166,.52),rgba(7,42,67,.78)) !important; border-color:rgba(99,224,255,.46) !important; }
.pv-map-compass button:disabled { opacity:.48; transform:none !important; }
.pv-map-trainer-core { border:1px solid rgba(229,188,68,.22); background:radial-gradient(circle,rgba(231,185,65,.11),transparent 65%); }
.pv-map-trainer-core img { width:28px !important; height:28px !important; image-rendering:pixelated; }
.pv-map-control-panel > p { margin:0; color:#6e8aa0; font-size:11px; line-height:1.55; }
.pv-map-encounter-panel { min-height:206px; }
#pv-map-encounter { min-height:148px; display:grid; place-items:center; text-align:center; }
#pv-map-encounter form { width:100%; margin:0; }
#pv-map-encounter img[src*="/pokemon/"] { width:96px !important; height:96px !important; object-fit:contain; filter:drop-shadow(0 10px 18px rgba(0,0,0,.35)); }
#pv-map-encounter input[type="submit"] { margin-top:8px; width:100%; }
.pv-map-quiet { min-height:118px; display:grid; place-items:center; align-content:center; gap:7px; padding:14px; width:100%; border:1px dashed rgba(91,192,234,.15); background:rgba(2,13,23,.34); }
.pv-map-quiet strong { color:#c7e9f7; font-size:12px; }
.pv-map-quiet span { color:#66859d; font-size:10px; }
.pv-map-region-panel dl { margin:0; }
.pv-map-region-panel dl > div { display:flex; justify-content:space-between; gap:12px; padding:9px 0; border-bottom:1px solid rgba(80,173,216,.09); }
.pv-map-region-panel dl > div:last-child { border-bottom:0; }
.pv-map-region-panel dt { color:#5d7b92; font-size:10px; }
.pv-map-region-panel dd { margin:0; color:#c9e8f4; font-size:10px; font-weight:800; }

@media (max-width: 1100px) {
  .pv-map-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pv-map-layout { grid-template-columns:1fr; }
  .pv-map-sidebar { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .pv-map-control-panel,.pv-map-encounter-panel,.pv-map-region-panel { min-height:220px; }
}
@media (max-width: 820px) {
  .pv-map-legend { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pv-map-sidebar { grid-template-columns:1fr; }
  .pv-map-head { display:block; }
  .pv-map-head-actions { margin-top:14px; justify-content:flex-start; }
}
@media (max-width: 640px) {
  .pv-map-card-grid { grid-template-columns:1fr; }
  .pv-map-card { grid-template-columns:82px minmax(0,1fr) auto; min-height:108px; }
  .pv-map-card-image { width:80px; height:80px; }
  .pv-map-card-image img { width:72px !important; height:72px !important; }
  .pv-map-legend { grid-template-columns:1fr; }
  .pv-map-viewport-wrap { place-items:start; padding:24px 12px; }
}

.pv-map-noscript { padding:10px 12px; border-top:1px solid rgba(228,165,66,.22); background:rgba(92,55,8,.20); color:#e7c989; font-size:10px; text-align:center; }

.pv-map-compass button.is-path-blocked { opacity:.28 !important; cursor:not-allowed !important; background:rgba(31,39,49,.40) !important; border-color:rgba(122,143,155,.13) !important; color:#5a7281 !important; }

/* ========================================================================== */
/* v9 — final legacy shell hardening                                           */
/* The recovered themes used image-sprite nav buttons with hidden text. The   */
/* modern shell deliberately restores real text controls so navigation remains */
/* legible even when a historic sprite is absent or stale in the browser.      */
/* ========================================================================== */
body:not(.pv-modern-page) #header {
  min-height: 108px !important;
  height: auto !important;
  overflow: visible !important;
}
body:not(.pv-modern-page) ul#nav {
  float: right !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 7px !important;
  width: auto !important;
  height: auto !important;
  margin: 22px 18px 12px 220px !important;
  padding: 0 !important;
}
body:not(.pv-modern-page) ul#nav li {
  float: none !important;
  display: block !important;
  margin: 0 !important;
  width: auto !important;
  height: auto !important;
}
body:not(.pv-modern-page) ul#nav li a,
body:not(.pv-modern-page) ul#nav li a#mapsTab,
body:not(.pv-modern-page) ul#nav li a#battleTab,
body:not(.pv-modern-page) ul#nav li a#yourAccountTab,
body:not(.pv-modern-page) ul#nav li a#communityTab {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 104px !important;
  height: 34px !important;
  padding: 0 13px !important;
  border: 1px solid rgba(83,190,235,.15) !important;
  border-radius: 2px !important;
  background-image: none !important;
  background: rgba(7,29,47,.78) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.02) !important;
  text-decoration: none !important;
  transition: border-color .16s ease, background .16s ease, transform .16s ease !important;
}
body:not(.pv-modern-page) ul#nav li a em {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: auto !important;
  height: auto !important;
  overflow: visible !important;
  color: #9fc7d9 !important;
  font: 900 9px/1 "Arial Narrow","Segoe UI",sans-serif !important;
  font-style: normal !important;
  letter-spacing: .12em !important;
  text-indent: 0 !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}
body:not(.pv-modern-page) ul#nav li a:hover:where(html.pv-can-hover *),
body:not(.pv-modern-page) ul#nav li a.active,
body:not(.pv-modern-page) ul#nav li a.selected {
  background: rgba(13,51,78,.92) !important;
  border-color: rgba(87,215,255,.42) !important;
  transform: translateY(-1px) !important;
}
body:not(.pv-modern-page) ul#nav li a:hover:where(html.pv-can-hover *) em,
body:not(.pv-modern-page) ul#nav li a.active em,
body:not(.pv-modern-page) ul#nav li a.selected em {
  color: #d9f6ff !important;
}
body:not(.pv-modern-page) ul#logout {
  float: right !important;
  margin: 22px 14px 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
body:not(.pv-modern-page) ul#logout li { margin: 0 !important; }
body:not(.pv-modern-page) ul#logout a {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 34px !important;
  padding: 0 13px !important;
  border: 1px solid rgba(230,124,145,.20) !important;
  border-radius: 2px !important;
  background: rgba(54,17,29,.30) !important;
  color: #eab5c0 !important;
  font: 900 9px/1 "Arial Narrow","Segoe UI",sans-serif !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
body:not(.pv-modern-page) ul#logout a:hover:where(html.pv-can-hover *) {
  border-color: rgba(244,139,160,.43) !important;
  background: rgba(72,23,37,.46) !important;
  color: #ffd7df !important;
}

/* Make recovered content blocks breathe like the modern dashboard instead of
   inheriting fixed 2010-era viewport dimensions. */
body:not(.pv-modern-page) #ajax,
body:not(.pv-modern-page) #scrollContent {
  padding-bottom: 54px !important;
}
body:not(.pv-modern-page) #ajax > :last-child,
body:not(.pv-modern-page) #scrollContent > :last-child {
  margin-bottom: 0 !important;
}
body:not(.pv-modern-page) table {
  max-width: 100%;
}
body:not(.pv-modern-page) img {
  max-width: 100%;
}

@media (max-width: 980px) {
  body:not(.pv-modern-page) #header { padding-bottom: 12px !important; }
  body:not(.pv-modern-page) ul#nav {
    float: none !important;
    justify-content: flex-start !important;
    margin: 74px 14px 4px !important;
  }
  body:not(.pv-modern-page) ul#logout {
    position: absolute !important;
    top: 16px !important;
    right: 10px !important;
    margin: 0 !important;
  }
}
@media (max-width: 620px) {
  body:not(.pv-modern-page) ul#nav li a,
  body:not(.pv-modern-page) ul#nav li a#mapsTab,
  body:not(.pv-modern-page) ul#nav li a#battleTab,
  body:not(.pv-modern-page) ul#nav li a#yourAccountTab,
  body:not(.pv-modern-page) ul#nav li a#communityTab {
    min-width: 0 !important;
    padding: 0 10px !important;
  }
  body:not(.pv-modern-page) ul#nav li a em { font-size: 8px !important; }
}

/* ========================================================================== */
/* v10 — collection/trade runtime surfaces                                    */
/* ========================================================================== */
.pv-trade-filter { display:flex; flex-wrap:wrap; gap:7px; padding:10px; margin:0 0 18px; border:1px solid rgba(84,188,231,.16); background:rgba(4,20,34,.58); }
.pv-trade-filter a { min-height:31px; display:inline-flex; align-items:center; justify-content:center; padding:0 12px; border:1px solid rgba(93,194,235,.12); background:rgba(7,31,50,.72); color:#6f94aa; font:900 9px/1 "Arial Narrow","Segoe UI",sans-serif; letter-spacing:.11em; text-transform:uppercase; text-decoration:none; }
.pv-trade-filter a:hover:where(html.pv-can-hover *),.pv-trade-filter a.active { color:#d7f5ff; border-color:rgba(79,212,255,.42); background:linear-gradient(140deg,rgba(25,111,151,.42),rgba(5,29,48,.9)); }
.pv-section-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; margin:18px 0 13px; padding-bottom:10px; border-bottom:1px solid rgba(88,188,229,.12); }
.pv-section-heading span { display:block; margin-bottom:5px; color:#5c8299; font:900 8px/1 "Arial Narrow","Segoe UI",sans-serif; letter-spacing:.17em; }
.pv-section-heading h2 { margin:0; font-size:18px; }
.pv-section-heading small { color:#64849a; font-size:10px; }
.pv-pokemon-selection-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.pv-pokemon-select-card { min-height:202px; position:relative; display:grid; grid-template-rows:108px auto auto auto; align-items:center; justify-items:center; gap:3px; padding:13px 10px 11px; border:1px solid rgba(79,181,225,.14); background:linear-gradient(150deg,rgba(7,29,48,.88),rgba(2,14,25,.94)); cursor:pointer; transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease; overflow:hidden; }
.pv-pokemon-select-card::before { content:""; position:absolute; left:-1px; top:-1px; width:42px; height:42px; pointer-events:none; background:linear-gradient(135deg,rgba(61,191,231,.34) 0 48%,transparent 49%); opacity:.64; }
.pv-pokemon-select-card:hover:where(html.pv-can-hover *) { transform:translateY(-2px); border-color:rgba(80,214,255,.34); box-shadow:0 12px 30px rgba(0,0,0,.2); }
.pv-pokemon-select-card:has(input:checked) { border-color:rgba(77,230,166,.48); background:linear-gradient(150deg,rgba(8,46,55,.96),rgba(2,20,28,.98)); box-shadow:inset 0 0 0 1px rgba(77,230,166,.08),0 12px 28px rgba(0,0,0,.22); }
.pv-pokemon-select-card input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.pv-pokemon-select-check { position:absolute; right:9px; top:9px; width:22px; height:22px; display:grid; place-items:center; border:1px solid rgba(92,188,225,.22); color:transparent; background:rgba(2,13,23,.82); font-size:11px; z-index:2; }
.pv-pokemon-select-card:has(input:checked) .pv-pokemon-select-check { color:#07160f; border-color:var(--pv-green); background:var(--pv-green); box-shadow:0 0 14px rgba(77,230,166,.25); }
.pv-pokemon-select-image { height:108px; display:grid; place-items:center; }
.pv-pokemon-select-image img { width:96px !important; height:96px !important; object-fit:contain; image-rendering:auto; filter:drop-shadow(0 11px 18px rgba(0,0,0,.34)); }
.pv-pokemon-select-card strong { max-width:100%; color:#d5f2fb; text-align:center; font-size:12px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pv-pokemon-select-card small { color:#68889e; font-size:9px; }
.pv-pokemon-select-card > a { color:#69cbe9; font-size:9px; text-decoration:none; }
.pv-pokemon-select-card > a:hover:where(html.pv-can-hover *) { color:#bcefff; }
.pv-sticky-actionbar { position:sticky; bottom:10px; z-index:20; display:flex; align-items:center; justify-content:space-between; gap:18px; margin-top:16px; padding:12px 13px; border:1px solid rgba(82,190,232,.2); background:rgba(3,17,29,.96); box-shadow:0 15px 42px rgba(0,0,0,.38); backdrop-filter:blur(10px); }
.pv-sticky-actionbar span { color:#66879d; font-size:10px; }
.pv-sticky-actionbar strong { color:#b8dce9; }
.pv-pagination { display:flex; align-items:center; justify-content:center; gap:14px; margin-top:18px; }
.pv-pagination a,.pv-pagination span { min-height:32px; display:inline-flex; align-items:center; padding:0 12px; border:1px solid rgba(84,186,228,.15); background:rgba(5,25,41,.7); color:#7297ad; font-size:9px; text-decoration:none; }
.pv-pagination a:hover:where(html.pv-can-hover *) { color:#d3f3ff; border-color:rgba(79,212,255,.36); }
.pv-empty-state { min-height:180px; display:grid; align-content:center; justify-items:center; gap:7px; padding:24px; border:1px dashed rgba(81,185,229,.16); background:rgba(3,17,29,.38); text-align:center; }
.pv-empty-state strong { color:#c6e7f4; font-size:13px; }
.pv-empty-state span { max-width:520px; color:#66859a; font-size:10px; line-height:1.55; }
@media (max-width:1100px){ .pv-pokemon-selection-grid{grid-template-columns:repeat(3,minmax(0,1fr));} }
@media (max-width:760px){ .pv-pokemon-selection-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.pv-sticky-actionbar{position:static;display:grid}.pv-sticky-actionbar .pv-button{width:100%;} }
@media (max-width:480px){ .pv-pokemon-selection-grid{grid-template-columns:1fr;} }

/* ========================================================================== */
/* v11 — transactional Trade Center                                           */
/* ========================================================================== */
.pv-trade-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 14px}.pv-trade-overview>a{position:relative;min-height:108px;display:grid;align-content:center;gap:5px;padding:15px 16px;border:1px solid rgba(77,183,227,.15);background:linear-gradient(145deg,rgba(8,33,53,.87),rgba(2,16,28,.92));text-decoration:none;overflow:hidden}.pv-trade-overview>a::before{content:"";position:absolute;left:-1px;top:-1px;width:48px;height:48px;background:linear-gradient(135deg,rgba(52,190,232,.28) 0 48%,transparent 49%)}.pv-trade-overview>a::after{content:"";position:absolute;right:10px;top:10px;width:5px;height:5px;background:#4de6a6;box-shadow:0 0 12px rgba(77,230,166,.45);opacity:.45}.pv-trade-overview>a:hover:where(html.pv-can-hover *),.pv-trade-overview>a.active{border-color:rgba(81,214,255,.42);background:linear-gradient(145deg,rgba(10,52,76,.94),rgba(3,20,33,.97));transform:translateY(-1px)}.pv-trade-overview small{color:#5f8399;font:900 8px/1 "Arial Narrow","Segoe UI",sans-serif;letter-spacing:.15em}.pv-trade-overview strong{color:#e2f8ff;font:900 25px/1 "Arial Narrow","Segoe UI",sans-serif}.pv-trade-overview span{color:#6a8da3;font-size:9px}.pv-trade-tabs{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:16px;padding:8px;border:1px solid rgba(79,181,225,.12);background:rgba(3,17,29,.5)}.pv-trade-tabs a{min-height:34px;display:inline-flex;align-items:center;padding:0 13px;border:1px solid transparent;color:#6e91a6;font:900 9px/1 "Arial Narrow","Segoe UI",sans-serif;letter-spacing:.08em;text-decoration:none;text-transform:uppercase}.pv-trade-tabs a:hover:where(html.pv-can-hover *),.pv-trade-tabs a.active{color:#d8f5ff;border-color:rgba(79,206,250,.3);background:rgba(13,67,91,.38)}.pv-trade-search{display:flex;align-items:end;gap:10px;margin-bottom:15px;padding:11px 12px;border:1px solid rgba(74,174,215,.13);background:rgba(4,19,32,.54)}.pv-trade-search label{min-width:0;flex:1;display:grid;gap:6px}.pv-trade-search label>span{color:#5f8196;font:900 8px/1 "Arial Narrow","Segoe UI",sans-serif;letter-spacing:.15em}.pv-trade-search input{width:100%;height:38px;padding:0 12px;border:1px solid rgba(91,188,226,.18);outline:none;background:rgba(1,12,22,.86);color:#d3edf7}.pv-trade-search input:focus{border-color:rgba(74,211,255,.48);box-shadow:0 0 0 2px rgba(74,211,255,.06)}.pv-trade-search>a{min-height:38px;display:inline-flex;align-items:center;color:#6bcbea;font-size:9px;text-decoration:none}.pv-trade-market-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pv-trade-card{min-width:0;display:grid;grid-template-columns:132px minmax(0,1fr);border:1px solid rgba(78,183,225,.14);background:linear-gradient(145deg,rgba(6,27,45,.91),rgba(2,15,26,.96));overflow:hidden}.pv-trade-card-image{position:relative;min-height:182px;display:grid;place-items:center;border-right:1px solid rgba(77,178,219,.11);background:radial-gradient(circle at 50% 45%,rgba(34,129,168,.18),transparent 56%),linear-gradient(155deg,rgba(9,42,64,.7),rgba(2,14,24,.9))}.pv-trade-card-image::before,.pv-trade-focus-image::before{content:"";position:absolute;inset:13px;border:1px solid rgba(76,189,230,.09);transform:rotate(45deg);pointer-events:none}.pv-trade-card-image img{position:relative;z-index:1;width:104px!important;height:104px!important;object-fit:contain;filter:drop-shadow(0 13px 20px rgba(0,0,0,.42))}.pv-trade-card-image>span{position:absolute;left:8px;bottom:8px;z-index:2;padding:5px 7px;border:1px solid rgba(78,207,248,.18);background:rgba(2,14,23,.86);color:#87dff8;font:900 8px/1 "Arial Narrow","Segoe UI",sans-serif;letter-spacing:.09em}.pv-trade-card-body{min-width:0;display:grid;align-content:start;gap:10px;padding:14px}.pv-trade-card-title{display:flex;justify-content:space-between;gap:12px;align-items:start}.pv-trade-card-title small,.pv-trade-offer-head small,.pv-trade-focus small{display:block;margin-bottom:5px;color:#5f8196;font:900 8px/1 "Arial Narrow","Segoe UI",sans-serif;letter-spacing:.11em}.pv-trade-card-title h3,.pv-trade-offer-head h3{margin:0;color:#d9f2fa;font-size:15px}.pv-trade-card-title>b{white-space:nowrap;padding:5px 7px;border:1px solid rgba(77,230,166,.17);color:#69dcad;background:rgba(8,48,43,.34);font-size:8px;text-transform:uppercase}.pv-trade-meta{display:flex;gap:8px;flex-wrap:wrap}.pv-trade-meta span{padding:4px 6px;border:1px solid rgba(89,181,220,.1);color:#63879c;background:rgba(4,19,31,.64);font-size:8px}.pv-move-strip{display:flex;gap:5px;flex-wrap:wrap}.pv-move-strip span{padding:4px 6px;border:1px solid rgba(91,189,229,.12);color:#789db1;background:rgba(5,24,39,.66);font-size:8px}.pv-trade-card-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:auto;padding-top:2px}.pv-trade-card-actions>a,.pv-trade-card-actions button{min-height:31px;display:inline-flex;align-items:center;justify-content:center;padding:0 9px;border:1px solid rgba(89,188,228,.15);background:rgba(4,22,36,.72);color:#78b9d2;font:900 8px/1 "Arial Narrow","Segoe UI",sans-serif;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;cursor:pointer}.pv-trade-card-actions>a.primary{border-color:rgba(76,205,249,.34);color:#c8f4ff;background:rgba(12,71,95,.44)}.pv-trade-card-actions button{border-color:rgba(238,123,132,.16);color:#d88f98}.pv-trade-focus{display:grid;grid-template-columns:150px minmax(0,1fr) auto;align-items:center;gap:18px;margin:0 0 18px;padding:14px;border:1px solid rgba(74,187,229,.18);background:linear-gradient(145deg,rgba(8,35,56,.9),rgba(2,17,29,.96))}.pv-trade-focus-image{position:relative;height:132px;display:grid;place-items:center;border:1px solid rgba(73,180,222,.12);background:radial-gradient(circle,rgba(31,143,180,.17),transparent 61%)}.pv-trade-focus-image img{position:relative;z-index:1;width:108px!important;height:108px!important;object-fit:contain;filter:drop-shadow(0 13px 22px rgba(0,0,0,.4))}.pv-trade-focus h2{margin:0 0 4px;color:#e0f6fd;font-size:22px}.pv-trade-focus p{margin:0 0 9px;color:#6f91a5;font-size:10px}.pv-offer-list{display:grid;gap:8px}.pv-offer-row{display:grid;grid-template-columns:72px minmax(0,1fr) auto auto;align-items:center;gap:13px;padding:11px 12px;border:1px solid rgba(79,182,223,.13);background:rgba(4,22,37,.68)}.pv-offer-row>img{width:64px!important;height:64px!important;object-fit:contain;filter:drop-shadow(0 9px 15px rgba(0,0,0,.34))}.pv-offer-row small{color:#608296;font:900 8px/1 "Arial Narrow","Segoe UI",sans-serif;letter-spacing:.1em}.pv-offer-row h3{margin:5px 0 4px;color:#d4eef7;font-size:14px}.pv-offer-row p{margin:0;color:#6d8fa3;font-size:9px;line-height:1.5}.pv-trade-status{min-width:82px;display:inline-flex;justify-content:center;padding:6px 8px;border:1px solid rgba(101,178,209,.16);color:#7897a8;background:rgba(5,23,36,.78);font:900 8px/1 "Arial Narrow","Segoe UI",sans-serif;letter-spacing:.08em}.pv-trade-status-pending{color:#f0c26e;border-color:rgba(240,194,110,.22)}.pv-trade-status-accepted{color:#71e0ad;border-color:rgba(77,230,166,.25)}.pv-trade-status-declined,.pv-trade-status-cancelled,.pv-trade-status-withdrawn{color:#bd8e98;border-color:rgba(218,117,128,.18)}.pv-trade-offer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pv-trade-offer-card{display:grid;gap:12px;padding:14px;border:1px solid rgba(78,185,227,.16);background:linear-gradient(145deg,rgba(6,29,47,.9),rgba(2,15,26,.96))}.pv-trade-offer-head{display:flex;align-items:start;justify-content:space-between;gap:10px}.pv-trade-offer-head span{display:block;margin-top:5px;color:#5c7d91;font-size:8px}.pv-trade-offer-head>strong{padding:5px 7px;border:1px solid rgba(78,208,249,.16);color:#76d9f3;background:rgba(8,52,70,.32);font-size:8px}.pv-trade-offer-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.pv-trade-offer-items>div{min-width:0;display:grid;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:8px;padding:6px;border:1px solid rgba(83,176,213,.1);background:rgba(3,18,30,.55)}.pv-trade-offer-items img{width:44px!important;height:44px!important;object-fit:contain}.pv-trade-offer-items strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#bfe2ee;font-size:9px}.pv-trade-offer-items small{display:block;margin-top:3px;color:#5e8094;font-size:7px}.pv-trade-offer-actions{display:flex;gap:8px;justify-content:flex-end}.pv-limit-warning{color:#f0b66c!important}.pv-pokemon-select-card.pv-offer-disabled:not(:has(input:checked)){opacity:.48}.pv-pokemon-select-card.pv-offer-disabled:not(:has(input:checked)):hover:where(html.pv-can-hover *){transform:none;box-shadow:none}
@media(max-width:1180px){.pv-trade-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.pv-trade-market-grid,.pv-trade-offer-grid{grid-template-columns:1fr}}
@media(max-width:760px){.pv-trade-focus{grid-template-columns:100px minmax(0,1fr)}.pv-trade-focus>form{grid-column:1/-1}.pv-trade-focus-image{height:96px}.pv-trade-focus-image img{width:82px!important;height:82px!important}.pv-offer-row{grid-template-columns:58px minmax(0,1fr)}.pv-offer-row>.pv-trade-status,.pv-offer-row>form,.pv-offer-row>.pv-button{grid-column:2}.pv-trade-search{display:grid}.pv-trade-market-grid{grid-template-columns:1fr}.pv-trade-card{grid-template-columns:104px minmax(0,1fr)}.pv-trade-card-image{min-height:160px}.pv-trade-card-image img{width:88px!important;height:88px!important}}
@media(max-width:520px){.pv-trade-overview{grid-template-columns:1fr 1fr}.pv-trade-card{grid-template-columns:1fr}.pv-trade-card-image{min-height:126px;border-right:0;border-bottom:1px solid rgba(77,178,219,.11)}.pv-trade-offer-items{grid-template-columns:1fr}.pv-trade-offer-actions{display:grid}.pv-trade-offer-actions form,.pv-trade-offer-actions button{width:100%}}

/* ========================================================================== */
/* v12 — Evolution Lab                                                       */
/* ========================================================================== */
.pv-evolution-page{position:relative;overflow:hidden}.pv-evolution-page::before{content:"";position:absolute;right:-110px;top:72px;width:330px;height:330px;border:1px solid rgba(65,194,235,.06);transform:rotate(45deg);pointer-events:none}.pv-evolution-page::after{content:"EVOLUTION // SPECIES MATRIX";position:absolute;right:-76px;top:292px;color:rgba(92,192,226,.08);font:900 7px/1 "Arial Narrow","Segoe UI",sans-serif;letter-spacing:.25em;transform:rotate(90deg);pointer-events:none}
.pv-evolution-focus{position:relative;display:grid;grid-template-columns:minmax(250px,1.2fr) minmax(260px,.9fr);grid-template-areas:"source vitals" "moves moves";gap:12px;margin:5px 0 22px;padding:14px;border:1px solid rgba(78,190,233,.17);background:linear-gradient(145deg,rgba(7,34,55,.93),rgba(2,16,28,.97));box-shadow:inset 0 1px rgba(255,255,255,.015);overflow:hidden}.pv-evolution-focus::before{content:"";position:absolute;left:-1px;top:-1px;width:74px;height:74px;background:linear-gradient(135deg,rgba(53,191,231,.36) 0 48%,transparent 49%);pointer-events:none}.pv-evolution-focus::after{content:"";position:absolute;right:22px;top:0;width:90px;height:1px;background:linear-gradient(90deg,transparent,#e3b74f)}
.pv-evolution-source{grid-area:source;position:relative;z-index:1;display:grid;grid-template-columns:128px minmax(0,1fr);align-items:center;gap:16px;min-height:154px;padding:12px}.pv-panel-kicker,.pv-evolution-source>span{position:absolute;left:154px;top:27px;color:#5f91a7;font:900 8px/1 "Arial Narrow","Segoe UI",sans-serif;letter-spacing:.16em}.pv-evolution-source-art{position:relative;width:122px;height:122px;display:grid;place-items:center;border:1px solid rgba(75,191,232,.13);background:radial-gradient(circle at 50% 45%,rgba(44,161,200,.19),transparent 58%),rgba(2,16,27,.58);overflow:hidden}.pv-evolution-source-art::before{content:"";position:absolute;width:82px;height:82px;border:1px solid rgba(70,198,238,.08);transform:rotate(45deg)}.pv-evolution-source-art img{position:relative;z-index:1;width:104px!important;height:104px!important;object-fit:contain;filter:drop-shadow(0 13px 22px rgba(0,0,0,.42))}.pv-evolution-source>div:last-child{padding-top:25px}.pv-evolution-source h2{margin:0 0 5px;color:#e3f8ff;font-size:25px}.pv-evolution-source p{margin:0;color:#75a0b6;font-size:10px;letter-spacing:.04em}
.pv-evolution-vitals{grid-area:vitals;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-self:center;border:1px solid rgba(76,179,220,.11);background:rgba(2,16,27,.5)}.pv-evolution-vitals>div{min-width:0;display:grid;align-content:center;gap:4px;min-height:98px;padding:12px;border-right:1px solid rgba(76,179,220,.09)}.pv-evolution-vitals>div:last-child{border-right:0}.pv-evolution-vitals small{color:#5f8196;font:900 7px/1 "Arial Narrow","Segoe UI",sans-serif;letter-spacing:.14em}.pv-evolution-vitals strong{color:#d9f5fe;font:900 23px/1 "Arial Narrow","Segoe UI",sans-serif}.pv-evolution-vitals span{color:#56778b;font-size:8px}
.pv-evolution-moves{grid-area:moves;position:relative;z-index:1;display:grid;grid-template-columns:128px minmax(0,1fr);align-items:center;gap:14px;padding:11px 12px;border-top:1px solid rgba(79,183,224,.1)}.pv-evolution-moves>small{color:#5d8196;font:900 8px/1 "Arial Narrow","Segoe UI",sans-serif;letter-spacing:.14em}.pv-evolution-moves>div{display:flex;flex-wrap:wrap;gap:7px}.pv-evolution-moves>div span{padding:6px 9px;border:1px solid rgba(83,188,229,.13);background:rgba(4,23,38,.7);color:#85adbf;font-size:8px}
.pv-evolution-heading{position:relative;z-index:1}.pv-evolution-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pv-evolution-card{position:relative;min-width:0;display:grid;grid-template-columns:124px minmax(0,1fr);grid-template-areas:"status status" "art copy" "form form";border:1px solid rgba(80,183,225,.14);background:linear-gradient(147deg,rgba(6,29,48,.92),rgba(2,15,26,.97));overflow:hidden;transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease}.pv-evolution-card::before{content:"";position:absolute;left:-1px;top:-1px;width:46px;height:46px;background:linear-gradient(135deg,rgba(50,183,222,.28) 0 48%,transparent 49%);pointer-events:none}.pv-evolution-card.is-ready{border-color:rgba(74,219,177,.26);box-shadow:inset 0 0 0 1px rgba(74,219,177,.025)}.pv-evolution-card.is-ready:hover:where(html.pv-can-hover *){transform:translateY(-2px);border-color:rgba(76,227,184,.42);box-shadow:0 16px 34px rgba(0,0,0,.22)}.pv-evolution-card.is-locked{filter:saturate(.72)}
.pv-evolution-card-status{grid-area:status;position:relative;z-index:1;display:flex;align-items:center;gap:7px;min-height:35px;padding:0 12px 0 52px;border-bottom:1px solid rgba(79,181,222,.09);color:#768f9e;background:rgba(2,15,26,.5);font:900 7px/1 "Arial Narrow","Segoe UI",sans-serif;letter-spacing:.14em}.pv-evolution-card-status i{width:5px;height:5px;background:#708391;box-shadow:0 0 8px rgba(112,131,145,.25)}.pv-evolution-card.is-ready .pv-evolution-card-status{color:#76dfb2}.pv-evolution-card.is-ready .pv-evolution-card-status i{background:#4de6a6;box-shadow:0 0 11px rgba(77,230,166,.5)}
.pv-evolution-card-art{grid-area:art;position:relative;min-height:154px;display:grid;place-items:center;border-right:1px solid rgba(78,180,220,.09);background:radial-gradient(circle at 50% 43%,rgba(34,139,177,.18),transparent 59%)}.pv-evolution-card-art::before{content:"";position:absolute;width:88px;height:88px;border:1px solid rgba(75,191,231,.08);transform:rotate(45deg)}.pv-evolution-card-art img{position:relative;z-index:1;width:104px!important;height:104px!important;object-fit:contain;filter:drop-shadow(0 12px 19px rgba(0,0,0,.4))}.pv-evolution-card.is-locked .pv-evolution-card-art img{opacity:.66;filter:grayscale(.32) drop-shadow(0 12px 19px rgba(0,0,0,.35))}.pv-evolution-method-icon{position:absolute;left:8px;bottom:8px;z-index:2;min-width:31px;height:24px;display:grid;place-items:center;padding:0 6px;border:1px solid rgba(83,200,240,.17);background:rgba(2,15,25,.88);color:#70cbe7;font:900 7px/1 "Arial Narrow","Segoe UI",sans-serif;letter-spacing:.07em}
.pv-evolution-card-copy{grid-area:copy;min-width:0;display:grid;align-content:center;gap:6px;padding:15px}.pv-evolution-card-copy>small{color:#5f8197;font:900 7px/1 "Arial Narrow","Segoe UI",sans-serif;letter-spacing:.13em}.pv-evolution-card-copy h3{margin:0;color:#ddf5fd;font-size:18px}.pv-evolution-requirement{margin:1px 0 0;color:#8bc8dc!important;font-size:9px!important;font-weight:700}.pv-evolution-status-copy{margin:0;color:#66889c!important;font-size:8px!important;line-height:1.5}.pv-evolution-types{display:flex;gap:5px;flex-wrap:wrap;margin-top:3px}.pv-evolution-types span{padding:4px 6px;border:1px solid rgba(83,189,230,.12);background:rgba(3,20,33,.66);color:#759bad;font-size:7px;text-transform:uppercase;letter-spacing:.06em}
.pv-evolution-form{grid-area:form;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 12px;border-top:1px solid rgba(80,184,225,.1);background:rgba(2,15,25,.52)}.pv-check-row{min-width:0;display:flex;align-items:flex-start;gap:9px;cursor:pointer}.pv-check-row input{margin-top:2px;accent-color:#4de6a6}.pv-check-row span{display:grid;gap:3px}.pv-check-row strong{color:#a8cedd;font-size:9px}.pv-check-row small{color:#5c7d91;font-size:7px;line-height:1.4}.pv-evolution-cost{display:flex;align-items:center;gap:7px;padding:6px 8px;border:1px solid rgba(226,181,79,.16);background:rgba(53,42,13,.16);color:#d9b765;font-size:8px}.pv-evolution-cost img{width:22px!important;height:22px!important;object-fit:contain}.pv-evolution-form .pv-button{grid-column:1/-1;justify-self:stretch}.pv-evolution-locked-note{grid-area:form;display:flex;align-items:center;gap:10px;padding:12px;border-top:1px solid rgba(80,184,225,.08);background:rgba(2,14,24,.5)}.pv-evolution-locked-note>span{padding:5px 7px;border:1px solid rgba(197,123,132,.14);color:#a67680;background:rgba(56,23,31,.23);font:900 7px/1 "Arial Narrow","Segoe UI",sans-serif;letter-spacing:.09em}.pv-evolution-locked-note p{margin:0;color:#5f7c8e;font-size:8px}
.pv-evolution-result{position:relative;z-index:2;display:grid;grid-template-columns:230px minmax(0,1fr);align-items:center;gap:18px;margin:0 0 18px;padding:14px 17px;border:1px solid rgba(77,230,166,.35);background:linear-gradient(135deg,rgba(8,57,52,.7),rgba(3,25,34,.92));box-shadow:0 12px 32px rgba(0,0,0,.18);overflow:hidden}.pv-evolution-result::before{content:"";position:absolute;right:-60px;top:-90px;width:210px;height:210px;border:1px solid rgba(77,230,166,.09);transform:rotate(45deg)}.pv-evolution-result-sprites{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:8px}.pv-evolution-result-sprites img{width:82px!important;height:82px!important;object-fit:contain;filter:drop-shadow(0 9px 16px rgba(0,0,0,.35))}.pv-evolution-result-sprites span{color:#5fe0af;font-size:20px}.pv-evolution-result>div:last-child{position:relative;z-index:1}.pv-evolution-result small{color:#66e0ad;font:900 8px/1 "Arial Narrow","Segoe UI",sans-serif;letter-spacing:.16em}.pv-evolution-result h2{margin:7px 0 5px;color:#e3fff4;font-size:19px}.pv-evolution-result p{margin:0 0 9px;color:#7ca69a;font-size:9px;line-height:1.55}.pv-evolution-chip{display:inline-flex;margin:3px 5px 0 0;padding:5px 7px;border:1px solid rgba(91,205,171,.15);background:rgba(2,24,26,.4);color:#86b7a9;font-size:7px}
.pv-evolution-empty{position:relative;z-index:1}.pv-evolution-empty .pv-empty-icon{width:52px;height:52px;display:grid;place-items:center;border:1px solid rgba(83,190,232,.17);background:rgba(5,29,47,.72);color:#71cce8!important;font:900 8px/1 "Arial Narrow","Segoe UI",sans-serif!important;letter-spacing:.08em!important}.pv-evolution-empty h2{margin:4px 0 0;color:#cfeaf4;font-size:17px}.pv-evolution-empty p{max-width:540px;margin:0 0 7px;color:#68889b;font-size:9px;line-height:1.55}
@media(max-width:1100px){.pv-evolution-grid{grid-template-columns:1fr}.pv-evolution-focus{grid-template-columns:1fr;grid-template-areas:"source" "vitals" "moves"}.pv-evolution-vitals{align-self:stretch}}
@media(max-width:700px){.pv-evolution-source{grid-template-columns:94px minmax(0,1fr)}.pv-evolution-source-art{width:90px;height:90px}.pv-evolution-source-art img{width:78px!important;height:78px!important}.pv-panel-kicker,.pv-evolution-source>span{left:118px;top:25px}.pv-evolution-vitals{grid-template-columns:1fr 1fr}.pv-evolution-vitals>div{min-height:78px}.pv-evolution-vitals>div:nth-child(2){border-right:0}.pv-evolution-vitals>div:last-child{grid-column:1/-1;border-top:1px solid rgba(76,179,220,.09)}.pv-evolution-moves{grid-template-columns:1fr}.pv-evolution-card{grid-template-columns:102px minmax(0,1fr)}.pv-evolution-card-art{min-height:138px}.pv-evolution-card-art img{width:88px!important;height:88px!important}.pv-evolution-form{grid-template-columns:1fr}.pv-evolution-result{grid-template-columns:1fr;text-align:center}.pv-evolution-result-sprites{justify-content:center}}
@media(max-width:500px){.pv-evolution-card{grid-template-columns:1fr;grid-template-areas:"status" "art" "copy" "form"}.pv-evolution-card-art{min-height:122px;border-right:0;border-bottom:1px solid rgba(78,180,220,.08)}.pv-evolution-card-copy{text-align:center}.pv-evolution-types{justify-content:center}.pv-evolution-form{text-align:left}.pv-evolution-source{grid-template-columns:1fr;text-align:center}.pv-panel-kicker,.pv-evolution-source>span{position:static;grid-column:1;grid-row:1}.pv-evolution-source-art{margin:auto}.pv-evolution-source>div:last-child{padding-top:0}.pv-evolution-vitals{grid-template-columns:1fr}.pv-evolution-vitals>div{border-right:0;border-bottom:1px solid rgba(76,179,220,.09)}.pv-evolution-vitals>div:last-child{grid-column:auto;border-bottom:0}.pv-section-heading.pv-evolution-heading{align-items:start;display:grid}}

/* ========================================================================== */
/* v16 — server-authoritative wild encounters & battle console                */
/* ========================================================================== */
.pv-map-wild-card{display:grid;grid-template-columns:82px minmax(0,1fr);grid-template-areas:"art copy" "art action";gap:10px 12px;align-items:center;padding:12px;border:1px solid rgba(77,216,255,.25);background:linear-gradient(145deg,rgba(7,41,62,.94),rgba(2,18,31,.97));box-shadow:inset 0 0 24px rgba(50,188,232,.035)}
.pv-map-wild-card>img{grid-area:art;width:78px!important;height:78px!important;object-fit:contain;filter:drop-shadow(0 10px 16px rgba(0,0,0,.42))}
.pv-map-wild-card>div{grid-area:copy;min-width:0;display:grid;gap:4px}.pv-map-wild-card small{color:#57d9ff;font:900 7px/1 "Arial Narrow","Segoe UI",sans-serif;letter-spacing:.16em}.pv-map-wild-card strong{color:#e1f8ff;font-size:12px}.pv-map-wild-card span{color:#7799aa;font-size:9px}.pv-map-wild-card form{grid-area:action}.pv-map-wild-card .pv-button{width:100%;min-height:34px}
.pv-button-danger{border-color:rgba(255,104,120,.28)!important;background:linear-gradient(145deg,rgba(96,28,42,.82),rgba(43,15,24,.92))!important;color:#ffd6db!important}.pv-button-danger:hover:where(html.pv-can-hover *){border-color:rgba(255,123,139,.48)!important;background:linear-gradient(145deg,rgba(126,36,52,.92),rgba(53,18,29,.98))!important}
.pv-wildbattle-page{position:relative;overflow:hidden}.pv-wildbattle-page::before{content:"";position:absolute;right:-180px;top:140px;width:420px;height:420px;border:1px solid rgba(65,192,234,.06);transform:rotate(45deg);pointer-events:none}.pv-wildbattle-head{position:relative;z-index:1}
.pv-wild-empty{display:grid;grid-template-columns:64px minmax(0,1fr);gap:18px;align-items:center;min-height:190px;padding:24px;border:1px solid rgba(77,185,226,.14);background:linear-gradient(145deg,rgba(5,28,46,.82),rgba(2,15,26,.92))}.pv-wild-empty h2{margin:0 0 7px;color:#dff6fe}.pv-wild-empty p{max-width:620px;margin:0 0 15px;color:#6f91a3;font-size:10px;line-height:1.65}
.pv-wild-result{position:relative;z-index:2;margin:0 0 14px;padding:16px 18px;border:1px solid rgba(77,220,168,.25);background:linear-gradient(135deg,rgba(7,57,53,.72),rgba(3,24,35,.94));overflow:hidden}.pv-wild-result::after{content:"";position:absolute;right:-40px;top:-90px;width:180px;height:180px;border:1px solid rgba(77,230,166,.08);transform:rotate(45deg)}.pv-wild-result>span{color:#67e3b0;font:900 8px/1 "Arial Narrow","Segoe UI",sans-serif;letter-spacing:.16em}.pv-wild-result h2{margin:7px 0 5px;color:#e7fff7;font-size:22px}.pv-wild-result p{margin:0;color:#7aa59a;font-size:10px}.pv-wild-result-lost{border-color:rgba(255,112,126,.24);background:linear-gradient(135deg,rgba(67,22,32,.72),rgba(22,13,24,.94))}.pv-wild-result-lost>span{color:#ff8e9d}.pv-wild-result-ran{border-color:rgba(120,163,184,.2);background:linear-gradient(135deg,rgba(24,42,54,.7),rgba(8,20,31,.94))}.pv-wild-result-ran>span{color:#88aabd}.pv-wild-rewards{display:flex;gap:8px;margin-top:11px}.pv-wild-rewards b{padding:7px 9px;border:1px solid rgba(77,230,166,.15);background:rgba(3,29,30,.42);color:#87dcb9;font-size:9px}.pv-wild-result-actions{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}
.pv-wild-arena{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 74px minmax(0,1fr);align-items:stretch;gap:10px;margin-bottom:12px}.pv-wild-arena.is-complete{filter:saturate(.82)}.pv-wild-fighter{position:relative;min-height:318px;display:grid;border:1px solid rgba(74,182,225,.15);background:linear-gradient(150deg,rgba(7,32,52,.93),rgba(2,15,26,.97));overflow:hidden}.pv-wild-fighter::before{content:"";position:absolute;inset:18px;border:1px solid rgba(75,191,231,.055);transform:rotate(45deg);pointer-events:none}.pv-wild-enemy{grid-template-rows:auto 6px 1fr}.pv-wild-player{grid-template-rows:1fr auto 6px}.pv-wild-fighter-hud{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:13px 14px;background:rgba(2,16,28,.72)}.pv-wild-fighter-hud small{display:block;margin-bottom:5px;color:#5d8197;font:900 7px/1 "Arial Narrow","Segoe UI",sans-serif;letter-spacing:.15em}.pv-wild-fighter-hud h2{margin:0 0 4px;color:#def6ff;font-size:17px}.pv-wild-fighter-hud span{color:#6f93a7;font-size:8px}.pv-wild-fighter-hud>strong{white-space:nowrap;color:#9fc7d6;font:900 10px/1 "Arial Narrow","Segoe UI",sans-serif}.pv-wild-hp{height:6px;background:#06121d;overflow:hidden}.pv-wild-hp i{display:block;height:100%;background:linear-gradient(90deg,#43d79f,#55e7b3);box-shadow:0 0 14px rgba(77,230,166,.28);transition:width .2s ease}.pv-wild-enemy .pv-wild-hp i{background:linear-gradient(90deg,#4cb8ef,#5fd6f7);box-shadow:0 0 14px rgba(79,202,245,.28)}.pv-wild-sprite-zone{position:relative;z-index:1;display:grid;place-items:center;min-height:210px;background:radial-gradient(circle at 50% 53%,rgba(45,141,178,.15),transparent 35%),linear-gradient(transparent 92%,rgba(76,179,220,.04) 93%)}.pv-wild-sprite-zone::after{content:"";position:absolute;left:14%;right:14%;bottom:36px;height:1px;background:linear-gradient(90deg,transparent,rgba(68,189,230,.14),transparent)}.pv-wild-sprite-zone img{position:relative;z-index:3;width:128px!important;height:128px!important;object-fit:contain;filter:drop-shadow(0 18px 24px rgba(0,0,0,.48));image-rendering:auto}.pv-wild-scan-ring{position:absolute;z-index:1;width:152px;height:152px;border:1px solid rgba(65,204,244,.10);border-radius:50%;box-shadow:0 0 0 28px rgba(65,204,244,.018),0 0 0 58px rgba(65,204,244,.012)}.pv-wild-versus{display:grid;place-items:center;align-content:center;gap:12px;color:#75cee9}.pv-wild-versus span{width:50px;height:50px;display:grid;place-items:center;border:1px solid rgba(79,203,244,.22);background:rgba(5,28,45,.86);font:900 14px/1 "Arial Narrow","Segoe UI",sans-serif;letter-spacing:.08em;transform:rotate(45deg)}.pv-wild-versus span::first-line{transform:rotate(-45deg)}.pv-wild-versus i{width:1px;height:78px;background:linear-gradient(transparent,rgba(77,197,237,.22),transparent)}
.pv-wild-lower-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:10px}.pv-wild-log-panel,.pv-wild-control-panel{border:1px solid rgba(76,181,224,.14);background:linear-gradient(150deg,rgba(5,28,46,.9),rgba(2,15,26,.96))}.pv-wild-log-panel .pv-map-panel-label,.pv-wild-control-panel .pv-map-panel-label{padding:12px 13px;border-bottom:1px solid rgba(76,181,224,.10)}.pv-wild-log{display:grid;align-content:start;min-height:255px;max-height:360px;overflow:auto;padding:8px 12px}.pv-wild-log>div{display:grid;grid-template-columns:5px minmax(0,1fr);gap:9px;align-items:start;padding:9px 0;border-bottom:1px solid rgba(74,170,209,.07);color:#7596a7;font-size:9px;line-height:1.5}.pv-wild-log>div i{width:4px;height:4px;margin-top:5px;background:#5b7f93;box-shadow:0 0 8px rgba(91,127,147,.24)}.pv-wild-log .tone-good{color:#8fc8b2}.pv-wild-log .tone-good i{background:#4de6a6;box-shadow:0 0 10px rgba(77,230,166,.42)}.pv-wild-log .tone-danger{color:#c7959b}.pv-wild-log .tone-danger i{background:#ff7d8c;box-shadow:0 0 10px rgba(255,125,140,.35)}.pv-wild-log .tone-accent{color:#89cae0}.pv-wild-log .tone-accent i{background:#51d3f7;box-shadow:0 0 10px rgba(81,211,247,.4)}.pv-wild-log .tone-muted{color:#5c7889}
.pv-wild-command-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:9px;border-bottom:1px solid rgba(77,181,224,.09)}.pv-wild-command-tabs button{min-height:34px;border:1px solid rgba(76,181,224,.11);background:rgba(4,23,38,.68);color:#678a9e;font:900 8px/1 "Arial Narrow","Segoe UI",sans-serif;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.pv-wild-command-tabs button:hover:where(html.pv-can-hover *),.pv-wild-command-tabs button.active{border-color:rgba(81,211,250,.35);background:linear-gradient(145deg,rgba(16,74,99,.55),rgba(5,31,49,.85));color:#d8f5ff}.pv-wild-command-view{display:none;padding:10px}.pv-wild-command-view.active{display:block}.pv-wild-move-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pv-wild-move-grid form,.pv-wild-item-grid form,.pv-wild-team-grid form{margin:0}.pv-wild-move-grid button{width:100%;min-height:78px;display:grid;align-content:center;gap:5px;padding:10px 12px;text-align:left;border:1px solid rgba(79,189,231,.15);background:linear-gradient(145deg,rgba(7,37,58,.9),rgba(3,19,32,.95));color:#d4eff8;cursor:pointer}.pv-wild-move-grid button:hover:where(html.pv-can-hover *){border-color:rgba(78,215,255,.42);background:linear-gradient(145deg,rgba(13,66,91,.94),rgba(3,27,43,.98));transform:translateY(-1px)}.pv-wild-move-grid button small{color:#6c9aad;font:900 7px/1 "Arial Narrow","Segoe UI",sans-serif;letter-spacing:.09em}.pv-wild-move-grid button strong{font-size:12px}.pv-wild-move-grid button span{color:#5d7b8c;font-size:8px}.pv-wild-item-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.pv-wild-item-grid button{width:100%;min-height:54px;display:grid;align-content:center;gap:4px;padding:9px 11px;text-align:left;border:1px solid rgba(79,183,225,.14);background:rgba(5,28,46,.76);color:#cbe9f4;font-weight:800;cursor:pointer}.pv-wild-item-grid button small{color:#65879b;font-size:8px;font-weight:500}.pv-wild-item-grid button:hover:where(html.pv-can-hover *):not(:disabled){border-color:rgba(75,211,252,.38);background:rgba(10,54,76,.84)}.pv-wild-item-grid button:disabled,.pv-wild-team-grid button:disabled{opacity:.38;cursor:not-allowed}.pv-wild-team-grid{display:grid;gap:7px}.pv-wild-team-grid button{width:100%;display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:10px;padding:7px 10px;border:1px solid rgba(79,183,225,.13);background:rgba(5,27,44,.76);color:#cbe8f2;text-align:left;cursor:pointer}.pv-wild-team-grid button:hover:where(html.pv-can-hover *):not(:disabled){border-color:rgba(75,211,252,.36);background:rgba(9,49,69,.88)}.pv-wild-team-grid img{width:48px!important;height:48px!important;object-fit:contain}.pv-wild-team-grid span{display:grid;gap:4px}.pv-wild-team-grid strong{font-size:10px}.pv-wild-team-grid small{color:#688a9c;font-size:8px}.pv-wild-team-grid i{display:block;height:3px;background:#07141f}.pv-wild-team-grid i b{display:block;height:100%;background:#4de6a6}.pv-wild-run-box{display:grid;justify-items:start;align-content:center;min-height:210px;padding:18px}.pv-wild-run-box h3{margin:0 0 7px;color:#d8eff7}.pv-wild-run-box p{max-width:520px;margin:0 0 15px;color:#698a9c;font-size:9px;line-height:1.6}.pv-wild-command-complete{min-height:252px;display:grid;align-content:center;justify-items:center;gap:8px;padding:20px;text-align:center}.pv-wild-command-complete strong{color:#d8f1fa;font-size:14px}.pv-wild-command-complete p{max-width:430px;margin:0 0 8px;color:#66879a;font-size:9px;line-height:1.55}
@media(max-width:1100px){.pv-wild-arena{grid-template-columns:1fr}.pv-wild-versus{grid-template-columns:1fr 50px 1fr;align-items:center}.pv-wild-versus i{width:auto;height:1px}.pv-wild-lower-grid{grid-template-columns:1fr}.pv-wild-log{min-height:180px}.pv-wild-fighter{min-height:290px}}
@media(max-width:680px){.pv-wild-fighter-hud{display:grid}.pv-wild-fighter-hud>strong{justify-self:start}.pv-wild-move-grid,.pv-wild-item-grid{grid-template-columns:1fr}.pv-wild-command-tabs{grid-template-columns:repeat(2,1fr)}.pv-map-wild-card{grid-template-columns:64px minmax(0,1fr)}.pv-map-wild-card>img{width:60px!important;height:60px!important}.pv-wild-result-actions{display:grid}.pv-wild-result-actions .pv-button{width:100%}}

/* ========================================================================== */
/* v17 — economy, collection and trainer-network production surfaces          */
/* ========================================================================== */
.pv-wallet{min-width:170px;display:grid;gap:5px;padding:12px 14px;border:1px solid rgba(247,198,92,.22);background:linear-gradient(145deg,rgba(52,40,14,.48),rgba(6,22,34,.9));box-shadow:inset 0 0 28px rgba(247,198,92,.035)}
.pv-wallet small{color:#9b8759!important;font:900 7px/1 "Arial Narrow","Segoe UI",sans-serif;letter-spacing:.18em}.pv-wallet strong{color:#ffe6a6;font:900 21px/1 "Arial Narrow","Segoe UI",sans-serif}
.pv-alert{margin:0 0 14px;padding:11px 13px;border:1px solid rgba(78,190,230,.18);background:rgba(5,30,47,.76);color:#b8dce9;font-size:10px}.pv-alert-success{border-color:rgba(77,230,166,.3);background:rgba(7,54,48,.65);color:#a3e8c8}.pv-alert-error{border-color:rgba(255,105,130,.3);background:rgba(66,20,33,.65);color:#f3b4bf}

/* PokéMart */
.pv-shop-tabs{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 15px;padding:8px;border:1px solid rgba(78,181,224,.13);background:rgba(3,18,30,.56)}.pv-shop-tabs a{min-height:35px;display:inline-flex;align-items:center;padding:0 13px;border:1px solid transparent;color:#6d91a6;font:900 8px/1 "Arial Narrow","Segoe UI",sans-serif;letter-spacing:.11em;text-transform:uppercase}.pv-shop-tabs a:hover:where(html.pv-can-hover *),.pv-shop-tabs a.active{color:#d9f5ff;border-color:rgba(79,211,250,.34);background:linear-gradient(145deg,rgba(14,71,96,.52),rgba(5,31,49,.86))}
.pv-shop-department-head{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:13px;padding:15px 17px;border:1px solid rgba(76,181,224,.14);background:linear-gradient(145deg,rgba(7,34,54,.86),rgba(2,17,29,.94))}.pv-shop-department-head span{color:#5db9d8;font:900 7px/1 "Arial Narrow","Segoe UI",sans-serif;letter-spacing:.17em}.pv-shop-department-head h2{margin:6px 0 4px}.pv-shop-department-head p{margin:0;color:#68899c;font-size:9px}
.pv-shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.pv-shop-card{position:relative;display:grid;grid-template-rows:126px 1fr auto;min-width:0;border:1px solid rgba(77,181,223,.14);background:linear-gradient(155deg,rgba(7,31,50,.94),rgba(2,15,26,.98));overflow:hidden;transition:.16s ease}.pv-shop-card:hover:where(html.pv-can-hover *){transform:translateY(-2px);border-color:rgba(78,211,252,.35);box-shadow:0 16px 34px rgba(0,0,0,.24)}.pv-shop-card::before{content:"";position:absolute;right:-40px;top:-40px;width:110px;height:110px;border:1px solid rgba(77,197,235,.07);transform:rotate(45deg)}
.pv-shop-art{position:relative;display:grid;place-items:center;border-bottom:1px solid rgba(77,179,221,.09);background:radial-gradient(circle at 50% 46%,rgba(42,145,183,.16),transparent 54%)}.pv-shop-art img{width:76px!important;height:76px!important;object-fit:contain;filter:drop-shadow(0 12px 18px rgba(0,0,0,.4))}.pv-shop-art span{position:absolute;right:8px;bottom:8px;padding:4px 6px;border:1px solid rgba(77,203,243,.17);background:rgba(2,14,24,.82);color:#6fcbe6;font:900 7px/1 "Arial Narrow","Segoe UI",sans-serif;letter-spacing:.08em}
.pv-shop-copy{display:grid;align-content:start;gap:6px;padding:13px}.pv-shop-copy>small{color:#588198!important;font:900 7px/1 "Arial Narrow","Segoe UI",sans-serif;letter-spacing:.15em}.pv-shop-copy h3{margin:0!important;font-size:14px}.pv-shop-copy p{min-height:44px;margin:0;color:#6b8b9d;font-size:9px;line-height:1.55}.pv-shop-copy>strong{color:#f6d784;font:900 15px/1 "Arial Narrow","Segoe UI",sans-serif}
.pv-shop-buy{display:grid;grid-template-columns:90px 1fr;gap:7px;padding:10px 12px;border-top:1px solid rgba(77,179,221,.09);background:rgba(2,16,27,.72)}.pv-shop-buy label{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:6px;color:#5f8298;font:900 7px/1 "Arial Narrow","Segoe UI",sans-serif;letter-spacing:.08em}.pv-shop-buy select{height:33px}.pv-shop-buy button{min-height:33px}.pv-shop-buy button:disabled{opacity:.38;cursor:not-allowed}
.pv-shop-bottom-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.pv-receipt-list{display:grid;gap:6px;margin-top:10px}.pv-receipt-list>div{display:flex;justify-content:space-between;gap:14px;padding:9px 10px;border:1px solid rgba(75,172,210,.09);background:rgba(3,20,33,.52)}.pv-receipt-list strong{font-size:9px}.pv-receipt-list span{color:#5f8093;font-size:8px;text-align:right}

/* Collection archive */
.pv-collection-filter,.pv-dex-search{display:flex;flex-wrap:wrap;align-items:end;gap:9px;margin:0 0 14px;padding:10px;border:1px solid rgba(78,181,224,.13);background:rgba(3,18,30,.58)}.pv-collection-filter label{min-width:150px;flex:1;display:grid;gap:5px}.pv-collection-filter label>span{color:#5d8298;font:900 7px/1 "Arial Narrow","Segoe UI",sans-serif;letter-spacing:.12em;text-transform:uppercase}.pv-collection-filter input,.pv-collection-filter select,.pv-dex-search input{height:36px;width:100%}.pv-collection-filter button,.pv-dex-search button{min-height:36px}.pv-collection-filter>a,.pv-dex-search>a{min-height:36px;display:inline-flex;align-items:center;padding:0 8px;font-size:9px}
.pv-collection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.pv-collection-card{position:relative;display:grid;grid-template-rows:138px 1fr auto;min-width:0;border:1px solid rgba(77,181,223,.14);background:linear-gradient(150deg,rgba(7,31,50,.94),rgba(2,15,26,.98));overflow:hidden}.pv-collection-card.is-team{border-color:rgba(77,230,166,.25);box-shadow:inset 0 0 0 1px rgba(77,230,166,.035)}.pv-collection-card-art{position:relative;display:grid;place-items:center;background:radial-gradient(circle at 50% 48%,rgba(49,145,180,.17),transparent 52%)}.pv-collection-card-art::after{content:"";position:absolute;width:96px;height:96px;border:1px solid rgba(75,191,230,.07);transform:rotate(45deg)}.pv-collection-card-art img{position:relative;z-index:2;width:112px!important;height:112px!important;object-fit:contain;filter:drop-shadow(0 15px 21px rgba(0,0,0,.44))}.pv-collection-card-art>span{position:absolute;left:8px;top:8px;z-index:3;padding:5px 7px;background:#4de6a6;color:#041c13;font:900 7px/1 "Arial Narrow","Segoe UI",sans-serif;letter-spacing:.1em}
.pv-collection-card-body{padding:13px}.pv-collection-card-body>small{color:#5d8399!important;font:900 7px/1 "Arial Narrow","Segoe UI",sans-serif;letter-spacing:.1em}.pv-collection-card-body h3{margin:6px 0 8px!important}.pv-collection-types{display:flex;flex-wrap:wrap;gap:5px}.pv-collection-types span{padding:4px 6px;border:1px solid rgba(80,188,229,.15);background:rgba(9,44,63,.56);color:#87cbe0;font:800 7px/1 "Arial Narrow","Segoe UI",sans-serif;letter-spacing:.08em;text-transform:uppercase}.pv-collection-card-body dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin:11px 0 0}.pv-collection-card-body dl>div{padding:7px 8px;background:rgba(2,16,27,.54);border:1px solid rgba(72,167,205,.07)}.pv-collection-card-body dt{color:#53768b;font-size:7px;text-transform:uppercase}.pv-collection-card-body dd{margin:2px 0 0;color:#bfdae5;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pv-collection-card-actions{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(77,179,221,.09)}.pv-collection-card-actions a{min-height:34px;display:grid;place-items:center;border-right:1px solid rgba(77,179,221,.08);color:#6d9bb0;font:900 7px/1 "Arial Narrow","Segoe UI",sans-serif;letter-spacing:.06em;text-transform:uppercase}.pv-collection-card-actions a:last-child{border-right:0}.pv-collection-card-actions a:hover:where(html.pv-can-hover *){background:rgba(15,70,94,.48);color:#d4f3ff}.pv-collection-card-actions a.danger:hover:where(html.pv-can-hover *){background:rgba(85,24,38,.48);color:#ff9bab}
.pv-danger-zone{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.65fr);gap:18px;align-items:center;margin-top:16px;padding:17px;border:1px solid rgba(255,105,130,.28);background:linear-gradient(145deg,rgba(63,21,33,.62),rgba(14,17,28,.94))}.pv-danger-zone h2{margin:5px 0}.pv-danger-zone p{margin:0;color:#a67b84;font-size:9px}.pv-danger-zone form{display:grid;gap:8px}.pv-danger-zone label{display:grid;gap:5px;color:#b88c94;font-size:8px}.pv-danger-zone input{height:36px}

/* Team builder */
.pv-team-builder{display:grid;gap:10px}.pv-team-slot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.pv-team-slot{position:relative;padding:12px;border:1px solid rgba(78,181,224,.13);background:linear-gradient(145deg,rgba(6,29,47,.88),rgba(2,15,26,.96));overflow:hidden}.pv-team-slot.occupied{border-color:rgba(75,203,241,.24)}.pv-team-slot header{display:flex;justify-content:space-between;gap:8px;margin-bottom:9px}.pv-team-slot header span{color:#5c8197;font:900 7px/1 "Arial Narrow","Segoe UI",sans-serif;letter-spacing:.13em}.pv-team-slot header strong{color:#61cde9;font:900 7px/1 "Arial Narrow","Segoe UI",sans-serif;letter-spacing:.12em}.pv-team-slot-preview{min-height:94px;display:grid;grid-template-columns:84px minmax(0,1fr);gap:10px;align-items:center;margin-bottom:9px;padding:9px;border:1px solid rgba(75,173,211,.09);background:rgba(2,17,28,.54)}.pv-team-slot-preview>img{width:78px!important;height:78px!important;object-fit:contain}.pv-team-slot-preview>span{width:62px;height:62px;display:grid;place-items:center;border:1px dashed rgba(82,192,233,.2);color:#5a869d;font-size:24px}.pv-team-slot-preview h3{margin:0 0 3px!important}.pv-team-slot-preview p{margin:0;color:#63869a;font-size:9px}.pv-team-slot>label{display:grid;gap:5px;color:#577a90;font-size:8px}.pv-team-slot select{height:37px}.pv-team-builder-footer{position:sticky;bottom:10px;z-index:10;display:flex;justify-content:space-between;align-items:center;gap:15px;padding:12px 13px;border:1px solid rgba(77,193,235,.2);background:rgba(3,17,29,.96);box-shadow:0 16px 40px rgba(0,0,0,.35);backdrop-filter:blur(9px)}.pv-team-builder-footer div{display:grid;gap:3px}.pv-team-builder-footer strong{font-size:10px}.pv-team-builder-footer span{color:#628297;font-size:8px}

/* Pokédex */
.pv-dex-counter{min-width:130px;display:grid;justify-items:end;gap:4px;padding:10px 12px;border-left:1px solid rgba(78,183,225,.14)}.pv-dex-counter small{font:900 7px/1 "Arial Narrow","Segoe UI",sans-serif;letter-spacing:.15em}.pv-dex-counter strong{font:900 24px/1 "Arial Narrow","Segoe UI",sans-serif;color:#d9f5ff}.pv-dex-detail-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:10px}.pv-dex-hero{min-height:230px;display:grid;grid-template-columns:220px minmax(0,1fr);align-items:center;border:1px solid rgba(77,184,226,.16);background:linear-gradient(145deg,rgba(8,36,57,.92),rgba(2,16,28,.97));overflow:hidden}.pv-dex-scan{position:relative;height:100%;display:grid;place-items:center;background:radial-gradient(circle at 50% 50%,rgba(51,161,201,.17),transparent 48%)}.pv-dex-scan img{position:relative;z-index:2;width:152px!important;height:152px!important;object-fit:contain;filter:drop-shadow(0 18px 26px rgba(0,0,0,.44))}.pv-dex-scan i{position:absolute;width:132px;height:132px;border:1px solid rgba(73,203,242,.09);transform:rotate(45deg)}.pv-dex-scan i+ i{width:174px;height:174px;opacity:.4}.pv-dex-hero>div:last-child{padding:17px}.pv-dex-hero>div:last-child>span{color:#5d9cb4;font:900 7px/1 "Arial Narrow","Segoe UI",sans-serif;letter-spacing:.14em}.pv-dex-hero h2{margin:7px 0 9px!important}.pv-dex-hero p{color:#67899c;font-size:9px}.pv-dex-moves{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.pv-dex-moves span{padding:7px 9px;border:1px solid rgba(79,187,227,.13);background:rgba(7,37,56,.65);color:#9bcfe0;font-size:8px}.pv-dex-specimen{grid-column:1/-1}.pv-dex-ivs{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin:12px 0}.pv-dex-ivs>div{display:grid;gap:5px;padding:8px;border:1px solid rgba(73,170,207,.08);background:rgba(2,17,28,.54)}.pv-dex-ivs span{color:#587b90;font-size:7px}.pv-dex-ivs strong{font-size:11px}.pv-dex-ivs i{height:3px;background:#06131e}.pv-dex-ivs i b{display:block;height:100%;background:#4de6a6}.pv-dex-evolution-list{display:grid;gap:6px;margin-top:10px}.pv-dex-evolution-list>div{display:flex;justify-content:space-between;gap:12px;padding:8px;border:1px solid rgba(76,173,211,.08);background:rgba(2,18,30,.5)}.pv-dex-evolution-list strong{font-size:9px}.pv-dex-evolution-list span{color:#628397;font-size:8px;text-align:right}.pv-dex-search{align-items:center}.pv-dex-search input{flex:1;min-width:220px}.pv-dex-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.pv-dex-card{position:relative;min-height:176px;display:grid;grid-template-rows:108px auto auto;justify-items:center;align-content:start;padding:10px;border:1px solid rgba(78,181,224,.12);background:linear-gradient(145deg,rgba(6,29,47,.84),rgba(2,15,26,.94));text-align:center}.pv-dex-card:hover:where(html.pv-can-hover *){transform:translateY(-2px);border-color:rgba(76,208,249,.34)}.pv-dex-card img{width:96px!important;height:96px!important;object-fit:contain;filter:drop-shadow(0 12px 18px rgba(0,0,0,.36))}.pv-dex-card strong{max-width:100%;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pv-dex-card span{color:#587b90;font-size:7px}

/* Move Lab */
.pv-movelab-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);gap:10px;margin-bottom:12px}.pv-movelab-pokemon{display:grid;grid-template-columns:124px minmax(0,1fr);align-items:center;padding:13px;border:1px solid rgba(77,184,225,.15);background:linear-gradient(145deg,rgba(7,34,54,.91),rgba(2,16,28,.96))}.pv-movelab-pokemon img{width:112px!important;height:112px!important;object-fit:contain;filter:drop-shadow(0 14px 20px rgba(0,0,0,.4))}.pv-movelab-pokemon small{color:#5d9db5!important;font-size:7px}.pv-movelab-pokemon h2{margin:5px 0!important}.pv-movelab-pokemon span{color:#66899c;font-size:9px}.pv-movelab-current{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.pv-movelab-current>div{display:grid;align-content:center;gap:5px;padding:10px;border:1px solid rgba(77,180,222,.12);background:rgba(4,24,39,.76)}.pv-movelab-current small{font:900 7px/1 "Arial Narrow","Segoe UI",sans-serif;letter-spacing:.12em}.pv-movelab-current strong{font-size:10px}.pv-movelab-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.pv-move-card{display:grid;align-content:start;gap:10px;padding:12px;border:1px solid rgba(77,181,223,.13);background:linear-gradient(145deg,rgba(6,30,48,.88),rgba(2,15,26,.96))}.pv-move-card.is-known{border-color:rgba(77,230,166,.2);background:linear-gradient(145deg,rgba(7,45,45,.74),rgba(2,20,27,.95))}.pv-move-card header{display:flex;justify-content:space-between;gap:10px}.pv-move-card header small{color:#5d9bb3!important;font:900 7px/1 "Arial Narrow","Segoe UI",sans-serif;letter-spacing:.1em}.pv-move-card h3{margin:4px 0 0!important;font-size:12px}.pv-move-card header>strong{color:#f3d27d;font-size:10px}.pv-move-stats{display:flex;flex-wrap:wrap;gap:5px}.pv-move-stats span{padding:5px 6px;border:1px solid rgba(75,174,211,.08);background:rgba(2,18,30,.52);color:#5f8498;font-size:7px}.pv-move-stats b{color:#a8d1df}.pv-move-card form{display:grid;grid-template-columns:1fr auto;gap:7px;align-items:end}.pv-move-card label{display:grid;gap:4px;color:#5e8095;font-size:7px}.pv-move-card select{height:33px}.pv-move-card button{min-height:33px}.pv-move-known{margin:0;color:#65cba4;font:900 8px/1 "Arial Narrow","Segoe UI",sans-serif;letter-spacing:.08em}

/* Messages */
.pv-message-layout{display:grid;grid-template-columns:180px minmax(0,1fr);gap:10px}.pv-message-nav{display:grid;align-content:start;gap:6px;padding:9px;border:1px solid rgba(77,181,223,.13);background:rgba(3,19,32,.72)}.pv-message-nav a{min-height:38px;display:flex;align-items:center;padding:0 10px;border:1px solid transparent;color:#678b9f;font:900 8px/1 "Arial Narrow","Segoe UI",sans-serif;letter-spacing:.1em;text-transform:uppercase}.pv-message-nav a:hover:where(html.pv-can-hover *),.pv-message-nav a.active{border-color:rgba(79,207,248,.28);background:rgba(12,60,82,.46);color:#d2f1fc}.pv-message-content{min-width:0}.pv-message-list-head{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-bottom:7px;padding:8px 10px;color:#5b7e92;font:900 7px/1 "Arial Narrow","Segoe UI",sans-serif;letter-spacing:.11em;text-transform:uppercase}.pv-message-list{display:grid;gap:5px}.pv-message-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 12px;border:1px solid rgba(75,174,211,.09);background:rgba(4,23,38,.68)}.pv-message-row.unread{border-color:rgba(79,211,250,.25);background:linear-gradient(145deg,rgba(9,46,66,.78),rgba(4,24,39,.84));box-shadow:inset 3px 0 #4ed5fa}.pv-message-row>a{min-width:0;display:grid;gap:4px}.pv-message-row strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px}.pv-message-row span,.pv-message-row small{color:#5f8195;font-size:8px}.pv-message-reader,.pv-message-compose{padding:15px;border:1px solid rgba(77,181,223,.13);background:linear-gradient(145deg,rgba(6,30,48,.88),rgba(2,15,26,.96))}.pv-message-reader header{display:flex;justify-content:space-between;gap:18px;padding-bottom:11px;border-bottom:1px solid rgba(75,174,211,.1)}.pv-message-reader header h2{margin:4px 0!important}.pv-message-reader header small{color:#5d8094!important}.pv-message-body{min-height:160px;padding:16px 0;color:#9eb6c4;font-size:10px;line-height:1.75;white-space:pre-wrap}.pv-message-compose{display:grid;gap:11px}.pv-message-compose .pv-field{display:grid;gap:5px}.pv-message-compose textarea{min-height:190px;resize:vertical}.pv-recipient-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border:1px solid rgba(80,188,229,.15);background:rgba(8,42,61,.56);color:#8acde1;font-size:8px}

/* Trainer directory */
.pv-trainer-profile-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:10px}.pv-trainer-identity{display:grid;grid-template-columns:78px minmax(0,1fr);gap:13px;align-items:center}.pv-trainer-avatar{width:64px;height:64px;display:grid;place-items:center;border:1px solid rgba(79,207,248,.27);background:linear-gradient(145deg,rgba(23,106,139,.68),rgba(7,34,53,.92));color:#dff8ff;font:900 24px/1 "Arial Narrow","Segoe UI",sans-serif;box-shadow:inset 0 0 24px rgba(74,211,251,.06)}.pv-trainer-avatar.small{width:38px;height:38px;font-size:13px}.pv-trainer-identity h2{margin:4px 0!important}.pv-trainer-identity p{margin:0;color:#67899d;font-size:9px}.pv-status-pill{display:inline-flex;width:max-content;align-items:center;gap:6px;padding:4px 7px;border:1px solid rgba(77,230,166,.2);background:rgba(8,57,45,.5);color:#78dcb3;font:900 7px/1 "Arial Narrow","Segoe UI",sans-serif;letter-spacing:.08em;text-transform:uppercase}.pv-status-pill.offline{border-color:rgba(117,148,163,.16);background:rgba(26,38,48,.54);color:#7890a0}.pv-network-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.pv-big-number{display:block;margin:7px 0;color:#ddf6ff;font:900 32px/1 "Arial Narrow","Segoe UI",sans-serif}.pv-network-summary p{margin:0;color:#607f91;font-size:9px}.pv-request-list{display:grid;gap:6px;margin-top:9px}.pv-request-list>div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 10px;border:1px solid rgba(75,174,211,.09);background:rgba(3,20,33,.52)}.pv-request-list a{display:grid;gap:3px}.pv-request-list a strong{font-size:9px}.pv-request-list a span{color:#5b7d91;font-size:8px}.pv-trainer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.pv-trainer-card{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px;border:1px solid rgba(77,181,223,.12);background:linear-gradient(145deg,rgba(5,28,46,.82),rgba(2,15,26,.94))}.pv-trainer-card.is-friend{border-color:rgba(77,230,166,.2)}.pv-trainer-card .pv-trainer-avatar{width:48px;height:48px;font-size:17px}.pv-trainer-card small{color:#598097!important;font:900 7px/1 "Arial Narrow","Segoe UI",sans-serif;letter-spacing:.09em}.pv-trainer-card h3{margin:3px 0!important;font-size:11px}.pv-trainer-card span{color:#607f92;font-size:8px}.pv-trainer-card>b{color:#6fbcd5;font-size:7px;letter-spacing:.08em}

/* Clans */
.pv-clan-hero{display:grid;grid-template-columns:92px minmax(0,1fr) auto;gap:16px;align-items:center;margin-bottom:10px;padding:15px;border:1px solid rgba(247,198,92,.18);background:linear-gradient(145deg,rgba(45,37,15,.46),rgba(5,25,39,.94))}.pv-clan-emblem{width:76px;height:76px;display:grid;place-items:center;border:1px solid rgba(247,198,92,.32);background:linear-gradient(145deg,rgba(125,92,22,.38),rgba(25,31,36,.84));color:#ffe4a0;font:900 18px/1 "Arial Narrow","Segoe UI",sans-serif;letter-spacing:.08em}.pv-clan-emblem.small{width:48px;height:48px;font-size:12px}.pv-clan-hero small{color:#9e8755!important;font:900 7px/1 "Arial Narrow","Segoe UI",sans-serif;letter-spacing:.13em}.pv-clan-hero h2{margin:5px 0!important}.pv-clan-hero p{margin:0 0 5px;color:#8d8b7a;font-size:9px}.pv-clan-hero span{color:#6c8290;font-size:8px}.pv-clan-rank{display:grid;justify-items:end;gap:5px}.pv-clan-rank strong{color:#ffe39a;font:900 26px/1 "Arial Narrow","Segoe UI",sans-serif}.pv-clan-roster{display:grid;gap:5px;margin-top:9px}.pv-clan-roster>div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px;border:1px solid rgba(75,174,211,.08);background:rgba(3,20,33,.52)}.pv-clan-roster>div>a{display:flex;align-items:center;gap:9px}.pv-clan-roster a>div{display:grid;gap:3px}.pv-clan-roster strong{font-size:9px}.pv-clan-roster small{color:#5e8094!important;font-size:7px}.pv-clan-controls{border-color:rgba(255,105,130,.14)}.pv-disband-form{display:flex;gap:8px;align-items:end}.pv-disband-form label{flex:1;display:grid;gap:4px;color:#866d74;font-size:8px}.pv-disband-form input{height:35px}.pv-clan-create{padding:16px}.pv-clan-directory{display:grid;gap:7px}.pv-clan-directory-card{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:11px;align-items:center;padding:10px;border:1px solid rgba(78,181,223,.11);background:linear-gradient(145deg,rgba(5,28,46,.82),rgba(2,15,26,.94))}.pv-clan-directory-card small{color:#638399!important;font:900 7px/1 "Arial Narrow","Segoe UI",sans-serif;letter-spacing:.09em}.pv-clan-directory-card h3{margin:3px 0!important}.pv-clan-directory-card p{margin:0 0 4px;color:#6b899a;font-size:8px}.pv-clan-directory-card span{color:#57778b;font-size:7px}

/* Options */
.pv-options-form{display:grid;gap:10px}.pv-option-list{display:grid;gap:6px;margin-top:10px}.pv-option-list>label{display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px;align-items:center;padding:10px;border:1px solid rgba(75,174,211,.08);background:rgba(3,20,33,.52);cursor:pointer}.pv-option-list input[type=checkbox]{width:19px;height:19px;accent-color:#54d5f7}.pv-option-list label>span{display:grid;gap:3px}.pv-option-list strong{font-size:9px}.pv-option-list small{color:#5e8094!important;font-size:8px}.pv-sprite-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:7px;margin-top:10px}.pv-sprite-choice{position:relative;display:grid;place-items:center;gap:4px;min-height:84px;padding:7px;border:1px solid rgba(76,177,216,.09);background:rgba(3,20,33,.5);cursor:pointer}.pv-sprite-choice:has(input:checked){border-color:rgba(78,211,251,.38);background:rgba(10,57,78,.64)}.pv-sprite-choice input{position:absolute;opacity:0}.pv-sprite-choice img{width:46px!important;height:46px!important;object-fit:contain;image-rendering:pixelated}.pv-sprite-choice span{color:#5e8093;font-size:7px}.pv-options-footer{position:sticky;bottom:10px;display:flex;justify-content:space-between;align-items:center;gap:15px;padding:12px 13px;border:1px solid rgba(77,193,235,.2);background:rgba(3,17,29,.96);box-shadow:0 16px 40px rgba(0,0,0,.35);backdrop-filter:blur(9px)}.pv-options-footer div{display:grid;gap:3px}.pv-options-footer strong{font-size:9px}.pv-options-footer span{color:#5e8094;font-size:8px}

@media(max-width:1180px){.pv-shop-grid,.pv-collection-grid,.pv-movelab-grid,.pv-trainer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pv-dex-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.pv-sprite-grid{grid-template-columns:repeat(6,1fr)}}
@media(max-width:900px){.pv-dex-detail-grid,.pv-trainer-profile-grid{grid-template-columns:1fr}.pv-dex-specimen{grid-column:auto}.pv-dex-ivs{grid-template-columns:repeat(3,1fr)}.pv-movelab-hero,.pv-danger-zone{grid-template-columns:1fr}.pv-message-layout{grid-template-columns:1fr}.pv-message-nav{grid-template-columns:repeat(3,1fr)}.pv-team-slot-grid{grid-template-columns:1fr}.pv-clan-hero{grid-template-columns:76px 1fr}.pv-clan-rank{grid-column:1/-1;justify-items:start;padding-top:8px;border-top:1px solid rgba(247,198,92,.1)}.pv-sprite-grid{grid-template-columns:repeat(5,1fr)}}
@media(max-width:680px){.pv-shop-grid,.pv-collection-grid,.pv-movelab-grid,.pv-trainer-grid,.pv-shop-bottom-grid,.pv-network-summary{grid-template-columns:1fr}.pv-dex-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pv-dex-hero{grid-template-columns:1fr}.pv-dex-scan{min-height:190px}.pv-dex-ivs{grid-template-columns:repeat(2,1fr)}.pv-team-builder-footer,.pv-options-footer,.pv-shop-department-head{position:static;display:grid}.pv-clan-directory-card{grid-template-columns:50px minmax(0,1fr)}.pv-clan-directory-card form{grid-column:1/-1}.pv-message-nav{grid-template-columns:1fr}.pv-sprite-grid{grid-template-columns:repeat(4,1fr)}.pv-receipt-list>div,.pv-request-list>div{display:grid}.pv-disband-form{display:grid}.pv-wallet{width:100%;justify-items:start}}
@media(max-width:440px){.pv-dex-grid{grid-template-columns:1fr}.pv-sprite-grid{grid-template-columns:repeat(3,1fr)}.pv-collection-card-actions{grid-template-columns:repeat(2,1fr)}.pv-shop-buy{grid-template-columns:1fr}.pv-clan-hero{grid-template-columns:1fr}.pv-clan-emblem{width:64px;height:64px}.pv-dex-ivs{grid-template-columns:1fr}}

/* ========================================================================== */
/* v18 — legacy battle / league / sidequest production surfaces              */
/* ========================================================================== */
body.pv-legacy-battle-select-page #scrollContent,
body.pv-legacy-sidequest-page #scrollContent,
body.pv-legacy-live-arena-page #scrollContent,
body.pv-legacy-battle-page #scrollContent,
body.pv-legacy-live-battle-page #scrollContent {
  color:#9fb8c8 !important;
}
body.pv-legacy-battle-select-page #ajax > h2:first-of-type,
body.pv-legacy-sidequest-page #ajax > h2:first-of-type,
body.pv-legacy-live-arena-page #ajax > h2:first-of-type,
body.pv-legacy-battle-page #ajax > h2:first-of-type,
body.pv-legacy-live-battle-page #ajax > h2:first-of-type {
  margin:0 0 8px !important;
  color:#e5f8ff !important;
  font:900 26px/1.05 "Arial Narrow","Segoe UI",sans-serif !important;
  letter-spacing:.01em !important;
}
body.pv-legacy-battle-select-page #ajax > p,
body.pv-legacy-sidequest-page #ajax > p,
body.pv-legacy-live-arena-page #ajax > p,
body.pv-legacy-battle-page #ajax > p,
body.pv-legacy-live-battle-page #ajax > p {
  color:#7895a8 !important;
  line-height:1.7 !important;
}
body.pv-legacy-battle-select-page #rightbarContainer,
body.pv-legacy-sidequest-page #rightbarContainer,
body.pv-legacy-live-arena-page #rightbarContainer {
  position:relative !important;
  border:1px solid rgba(79,192,233,.16) !important;
  background:linear-gradient(145deg,rgba(6,29,47,.9),rgba(2,15,26,.97)) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.012),0 14px 30px rgba(0,0,0,.16) !important;
}
body.pv-legacy-battle-select-page #rightbarContainer::before,
body.pv-legacy-sidequest-page #rightbarContainer::before,
body.pv-legacy-live-arena-page #rightbarContainer::before {
  content:"";
  position:absolute;
  left:-1px;top:-1px;
  width:44px;height:44px;
  background:linear-gradient(135deg,rgba(61,191,231,.34) 0 48%,transparent 49%);
  pointer-events:none;
}
body.pv-legacy-battle-select-page #rightbarContent,
body.pv-legacy-sidequest-page #rightbarContent,
body.pv-legacy-live-arena-page #rightbarContent {
  padding:14px !important;
}
body.pv-legacy-battle-select-page #rightbarContent img,
body.pv-legacy-sidequest-page #rightbarContent img,
body.pv-legacy-live-arena-page #rightbarContent img {
  image-rendering:auto;
  filter:drop-shadow(0 10px 16px rgba(0,0,0,.28));
}
body.pv-legacy-battle-select-page #ajax table,
body.pv-legacy-sidequest-page #ajax table,
body.pv-legacy-live-arena-page #ajax table {
  width:min(100%,1100px) !important;
  margin:12px auto !important;
  border-collapse:separate !important;
  border-spacing:8px !important;
  background:transparent !important;
  border:0 !important;
}
body.pv-legacy-battle-select-page #ajax table td,
body.pv-legacy-sidequest-page #ajax table td,
body.pv-legacy-live-arena-page #ajax table td {
  vertical-align:top !important;
  background:transparent !important;
  border:0 !important;
}
body.pv-legacy-battle-select-page #ajax h2,
body.pv-legacy-sidequest-page #ajax h2,
body.pv-legacy-live-arena-page #ajax h2 {
  margin:24px 0 10px !important;
  color:#d9f2fb !important;
  font-size:20px !important;
}
body.pv-legacy-battle-select-page #ajax h3,
body.pv-legacy-sidequest-page #ajax h3,
body.pv-legacy-live-arena-page #ajax h3 {
  color:#83dff9 !important;
  font:900 10px/1 "Arial Narrow","Segoe UI",sans-serif !important;
  letter-spacing:.15em !important;
  text-transform:uppercase !important;
}
body.pv-legacy-battle-select-page #ajax > a img[src*="/gyms/"],
body.pv-legacy-sidequest-page #ajax img[src*="/sidemaps/"] {
  display:block;
  max-width:min(100%,760px) !important;
  height:auto !important;
  margin:10px auto !important;
  border:1px solid rgba(75,193,234,.18) !important;
  background:#041422 !important;
  box-shadow:0 18px 42px rgba(0,0,0,.28) !important;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
body.pv-legacy-battle-select-page #ajax > a:hover:where(html.pv-can-hover *) img[src*="/gyms/"],
body.pv-legacy-sidequest-page #ajax a:hover:where(html.pv-can-hover *) img[src*="/sidemaps/"] {
  transform:translateY(-2px);
  border-color:rgba(80,214,255,.42) !important;
  box-shadow:0 20px 44px rgba(0,0,0,.35),0 0 0 1px rgba(76,211,255,.05) !important;
}
body.pv-legacy-battle-select-page input[type=text],
body.pv-legacy-battle-select-page select,
body.pv-legacy-live-arena-page input[type=text],
body.pv-legacy-live-arena-page select,
body.pv-legacy-sidequest-page input[type=text],
body.pv-legacy-battle-page select,
body.pv-legacy-live-battle-page select {
  min-height:38px !important;
  border:1px solid rgba(82,190,231,.18) !important;
  background:rgba(2,13,23,.88) !important;
  color:#d1ecf6 !important;
  outline:none !important;
}
body.pv-legacy-battle-select-page input[type=submit],
body.pv-legacy-live-arena-page input[type=submit],
body.pv-legacy-sidequest-page input[type=submit],
body.pv-legacy-battle-page input[type=submit],
body.pv-legacy-live-battle-page input[type=submit] {
  min-height:36px !important;
  padding:0 14px !important;
  border:1px solid rgba(75,207,249,.30) !important;
  background:linear-gradient(145deg,rgba(16,84,112,.72),rgba(6,39,59,.92)) !important;
  color:#d7f6ff !important;
  font:900 9px/1 "Arial Narrow","Segoe UI",sans-serif !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  cursor:pointer !important;
}
body.pv-legacy-battle-select-page input[type=submit]:hover:where(html.pv-can-hover *),
body.pv-legacy-live-arena-page input[type=submit]:hover:where(html.pv-can-hover *),
body.pv-legacy-sidequest-page input[type=submit]:hover:where(html.pv-can-hover *),
body.pv-legacy-battle-page input[type=submit]:hover:where(html.pv-can-hover *),
body.pv-legacy-live-battle-page input[type=submit]:hover:where(html.pv-can-hover *) {
  border-color:rgba(88,221,255,.56) !important;
  background:linear-gradient(145deg,rgba(22,105,138,.86),rgba(7,48,70,.96)) !important;
}
body.pv-legacy-sidequest-page .pv-sidequest-reward {
  margin:0 0 16px !important;
  padding:13px 15px !important;
  border:1px solid rgba(77,230,166,.26) !important;
  background:linear-gradient(145deg,rgba(8,55,47,.68),rgba(3,24,31,.92)) !important;
  color:#9edfc4 !important;
  box-shadow:inset 3px 0 #4de6a6 !important;
}
body.pv-legacy-sidequest-page .progress {
  width:min(100%,560px) !important;
  height:12px !important;
  margin:12px auto !important;
  border:1px solid rgba(82,190,231,.20) !important;
  border-radius:0 !important;
  background:rgba(1,12,22,.9) !important;
}
body.pv-legacy-sidequest-page .progress img {
  height:100% !important;
  object-fit:cover !important;
}
body.pv-legacy-battle-page #ajax,
body.pv-legacy-live-battle-page #ajax {
  position:relative;
}
body.pv-legacy-battle-page #ajax table,
body.pv-legacy-live-battle-page #ajax table {
  border-color:rgba(75,190,231,.14) !important;
  background:linear-gradient(145deg,rgba(5,27,44,.84),rgba(2,15,26,.94)) !important;
}
body.pv-legacy-battle-page #ajax img[src*="/pokemon/"],
body.pv-legacy-live-battle-page #ajax img[src*="/pokemon/"] {
  image-rendering:auto;
  filter:drop-shadow(0 12px 18px rgba(0,0,0,.34));
}
body.pv-legacy-battle-page #ajax .actionMsg,
body.pv-legacy-live-battle-page #ajax .actionMsg {
  border:1px solid rgba(77,230,166,.20) !important;
  background:rgba(8,52,45,.55) !important;
  color:#9adbbd !important;
}
body.pv-legacy-battle-page #ajax .errorMsg,
body.pv-legacy-live-battle-page #ajax .errorMsg {
  border:1px solid rgba(238,123,132,.21) !important;
  background:rgba(68,20,29,.42) !important;
  color:#e3a7af !important;
}
@media(max-width:760px){
  body.pv-legacy-battle-select-page #ajax table,
  body.pv-legacy-sidequest-page #ajax table,
  body.pv-legacy-live-arena-page #ajax table{display:block!important;overflow-x:auto!important;border-spacing:5px!important;}
  body.pv-legacy-battle-select-page #rightbarContainer,
  body.pv-legacy-sidequest-page #rightbarContainer,
  body.pv-legacy-live-arena-page #rightbarContainer{min-width:210px!important;}
}

/* v18 — modern Live Battle Arena */
.pv-live-arena-tabs{display:flex;gap:7px;margin:0 0 14px;padding:8px;border:1px solid rgba(76,182,224,.12);background:rgba(3,18,30,.56)}
.pv-live-arena-tabs a{min-height:34px;display:inline-flex;align-items:center;gap:8px;padding:0 13px;border:1px solid transparent;color:#6e91a6;text-decoration:none;font:900 9px/1 "Arial Narrow","Segoe UI",sans-serif;letter-spacing:.09em;text-transform:uppercase}
.pv-live-arena-tabs a b{min-width:18px;height:18px;display:grid;place-items:center;border:1px solid rgba(80,194,234,.16);background:rgba(7,32,49,.8);color:#8edff5;font-size:8px}
.pv-live-arena-tabs a:hover:where(html.pv-can-hover *),.pv-live-arena-tabs a.active{color:#d8f5ff;border-color:rgba(79,206,250,.3);background:rgba(13,67,91,.38)}
.pv-live-arena-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:10px}
.pv-live-trainer-list,.pv-live-offer-list{display:grid;gap:7px}
.pv-live-trainer-list article{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:11px;align-items:center;padding:10px;border:1px solid rgba(77,181,223,.11);background:linear-gradient(145deg,rgba(5,28,46,.82),rgba(2,15,26,.94))}
.pv-live-trainer-list article>div:nth-child(2){display:grid;gap:3px;min-width:0}
.pv-live-trainer-list article small,.pv-live-offer-list article small{color:#5b8197;font:900 7px/1 "Arial Narrow","Segoe UI",sans-serif;letter-spacing:.11em;text-transform:uppercase}
.pv-live-trainer-list article strong,.pv-live-offer-list article strong{color:#d7f1fa;font-size:11px}
.pv-live-trainer-list article span,.pv-live-offer-list article span{color:#627f91;font-size:8px}
.pv-live-offer-list article{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:11px 12px;border:1px solid rgba(76,180,220,.1);background:rgba(4,23,38,.68)}
.pv-live-offer-list article>div:first-child{display:grid;gap:4px}
.pv-live-offer-list article.status-accepted{border-color:rgba(77,230,166,.22);box-shadow:inset 3px 0 #4de6a6}
.pv-live-offer-list article.status-declined,.pv-live-offer-list article.status-cancelled,.pv-live-offer-list article.status-expired{opacity:.72}
.pv-live-offer-list .pv-actions{display:flex;gap:6px;flex-wrap:wrap}
.pv-live-offer-list form,.pv-live-trainer-list form{margin:0}
@media(max-width:900px){.pv-live-arena-grid{grid-template-columns:1fr}}
@media(max-width:620px){.pv-live-trainer-list article{grid-template-columns:44px minmax(0,1fr)}.pv-live-trainer-list article form{grid-column:1/-1}.pv-live-trainer-list article form .pv-button{width:100%}.pv-live-offer-list article{display:grid}.pv-live-offer-list .pv-actions{width:100%}.pv-live-offer-list .pv-actions form{flex:1}.pv-live-offer-list .pv-actions .pv-button{width:100%}}

/* v20.3 — standard battle is deliberately network-isolated after render. */
body.pv-legacy-battle-page .optionsList {
  color:#7f9fb2 !important;
  line-height:1.9 !important;
}
body.pv-legacy-battle-page .optionsList > strong {
  display:block;
  margin-bottom:5px;
  color:#dff7ff !important;
  font:900 10px/1.2 "Arial Narrow","Segoe UI",sans-serif !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
}
body.pv-legacy-battle-page .optionsList a,
body.pv-legacy-battle-page #ajax p a {
  color:#72d9f7 !important;
  text-decoration:none !important;
}
body.pv-legacy-battle-page .optionsList a:hover:where(html.pv-can-hover *),
body.pv-legacy-battle-page #ajax p a:hover:where(html.pv-can-hover *) {
  color:#dff9ff !important;
  text-decoration:underline !important;
}

/* v21 — durable Live PvP result and production Event Center */
.pv-live-result-grid,.pv-event-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:0 0 14px}
.pv-live-result-grid article,.pv-event-status-grid article{display:grid;gap:5px;padding:14px;border:1px solid rgba(77,184,225,.13);background:linear-gradient(145deg,rgba(5,28,45,.82),rgba(2,15,26,.95))}
.pv-live-result-grid small,.pv-event-status-grid small,.pv-event-purchase small,.pv-event-progress small,.pv-event-code small{color:#5f899e;font:900 8px/1 "Arial Narrow","Segoe UI",sans-serif;letter-spacing:.12em;text-transform:uppercase}
.pv-live-result-grid strong,.pv-event-status-grid strong{color:#e2f8ff;font:900 18px/1.1 "Arial Narrow","Segoe UI",sans-serif;letter-spacing:.03em}
.pv-live-result-grid span,.pv-event-status-grid span{color:#6f91a5;font-size:9px;line-height:1.5}
.pv-live-result-modern .pv-actions,.pv-event-center-modern .pv-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}
.pv-event-status-grid{grid-template-columns:1.3fr .7fr .9fr}
.pv-event-status-grid .pv-panel{margin:0}
.pv-event-feature,.pv-event-unlock{display:grid;gap:14px}
.pv-event-hero{display:grid;grid-template-columns:minmax(180px,310px) minmax(0,1fr);gap:18px;align-items:center;padding:15px;border:1px solid rgba(83,191,231,.12);background:radial-gradient(circle at 10% 10%,rgba(34,117,149,.13),transparent 42%),rgba(2,17,29,.55)}
.pv-event-hero img{display:block;max-width:100%;max-height:230px;margin:auto;object-fit:contain;filter:drop-shadow(0 14px 20px rgba(0,0,0,.35))}
.pv-event-hero h2{margin:5px 0 8px;color:#e7f8ff;font-size:24px}
.pv-event-hero p,.pv-event-rules p{margin:0;color:#7798aa;line-height:1.65}
.pv-event-purchase{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:13px;border:1px solid rgba(220,177,80,.22);background:linear-gradient(145deg,rgba(54,39,8,.34),rgba(4,21,31,.78))}
.pv-event-purchase>div{display:grid;gap:4px}.pv-event-purchase strong{color:#f1d58c;font-size:15px}.pv-event-purchase span{color:#8d9da5;font-size:9px}
.pv-event-fusion-form{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end}
.pv-event-fusion-form label{display:grid;gap:6px}.pv-event-fusion-form label>span{color:#6d96aa;font:900 8px/1 "Arial Narrow","Segoe UI",sans-serif;letter-spacing:.11em;text-transform:uppercase}
.pv-event-fusion-form select{width:100%;min-height:42px;padding:0 11px;border:1px solid rgba(77,190,232,.22);background:#061b2a;color:#d9f4fd;font-size:12px}
.pv-event-progress{display:grid;grid-template-columns:190px minmax(0,1fr);gap:12px;align-items:center;padding:14px;border:1px solid rgba(77,184,225,.12);background:rgba(3,20,33,.68)}
.pv-event-progress>div{display:grid;gap:5px}.pv-event-progress strong{color:#e5f8ff;font-size:22px}
.pv-event-progress progress{width:100%;height:13px;accent-color:#59ccea}
.pv-event-code{display:grid;gap:7px;padding:18px;border:1px solid rgba(77,230,166,.25);background:linear-gradient(145deg,rgba(7,58,48,.48),rgba(3,22,30,.9));text-align:center}
.pv-event-code strong{overflow-wrap:anywhere;color:#9df0c7;font:900 20px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em}
.pv-event-code span{color:#7eaa96;font-size:10px}
.pv-event-rules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.pv-event-rules p{padding:12px;border-left:2px solid rgba(75,197,237,.22);background:rgba(3,20,32,.55)}.pv-event-rules strong{color:#d9f4fd}
.pv-live-offer-list article.status-completed{border-color:rgba(86,205,236,.22);box-shadow:inset 3px 0 #56cdec}
@media(max-width:920px){.pv-live-result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pv-event-status-grid{grid-template-columns:1fr}.pv-event-hero{grid-template-columns:1fr}.pv-event-fusion-form{grid-template-columns:1fr}.pv-event-rules{grid-template-columns:1fr}}
@media(max-width:560px){.pv-live-result-grid{grid-template-columns:1fr}.pv-event-progress{grid-template-columns:1fr}.pv-event-purchase{display:grid}.pv-event-purchase .pv-button{width:100%}}

/* v21 multi-world exploration / future Kanto preparation */
.pv-world-switcher { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:18px 0 14px; }
.pv-world-card { min-width:0; display:grid; grid-template-columns:58px minmax(0,1fr) auto; align-items:center; gap:14px; min-height:112px; padding:15px 16px; position:relative; overflow:hidden; color:var(--pv-text); border:1px solid rgba(83,184,231,.18); background:linear-gradient(135deg,rgba(7,29,49,.96),rgba(3,15,27,.98)); }
.pv-world-card::after { content:""; position:absolute; right:-42px; bottom:-42px; width:96px; height:96px; border:1px solid rgba(91,205,244,.10); transform:rotate(45deg); pointer-events:none; }
.pv-world-card:hover:where(html.pv-can-hover *),.pv-world-card.is-active { color:#fff; border-color:rgba(89,216,255,.42); background:linear-gradient(135deg,rgba(10,43,70,.98),rgba(3,18,31,.99)); }
.pv-world-card.is-active { box-shadow:inset 3px 0 0 var(--pv-cyan); }
.pv-world-card.is-prepared { border-color:rgba(218,178,75,.22); }
.pv-world-code { width:54px; height:54px; display:grid; place-items:center; color:#d7f4ff; font:900 11px/1 "Arial Narrow","Segoe UI",sans-serif; letter-spacing:.14em; border:1px solid rgba(90,207,247,.28); background:linear-gradient(145deg,rgba(28,126,171,.34),rgba(6,31,49,.58)); }
.pv-world-card.is-prepared .pv-world-code { color:#f0d992; border-color:rgba(221,185,84,.28); background:linear-gradient(145deg,rgba(126,91,23,.25),rgba(36,26,8,.30)); }
.pv-world-card-copy { min-width:0; display:block; }
.pv-world-card-copy small,.pv-world-card-copy strong,.pv-world-card-copy em { display:block; }
.pv-world-card-copy small { color:#5e879f; font:900 8px/1 "Arial Narrow","Segoe UI",sans-serif; letter-spacing:.16em; text-transform:uppercase; }
.pv-world-card-copy strong { margin:7px 0 5px; color:#dff7ff; font-size:15px; }
.pv-world-card-copy em { color:#6e8da2; font-size:10px; line-height:1.5; font-style:normal; }
.pv-world-card > b { color:#65a5c5; font:900 8px/1 "Arial Narrow","Segoe UI",sans-serif; letter-spacing:.12em; }
.pv-world-card.is-prepared > b { color:#c8a957; }
.pv-world-section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin:22px 0 12px; padding:0 2px 12px; border-bottom:1px solid rgba(82,184,226,.13); }
.pv-world-section-head span { color:#5e8299; font:900 8px/1 "Arial Narrow","Segoe UI",sans-serif; letter-spacing:.16em; }
.pv-world-section-head h2 { margin:6px 0 4px; color:#e2f7ff; font-size:18px; }
.pv-world-section-head p { margin:0; color:#68879c; font-size:10px; }
.pv-world-section-head > strong { flex:none; color:#7bdcf7; font:900 9px/1 "Arial Narrow","Segoe UI",sans-serif; letter-spacing:.12em; }
.pv-kanto-prepared-panel { min-height:280px; display:grid; grid-template-columns:220px minmax(0,1fr); align-items:center; gap:28px; padding:28px; border:1px solid rgba(91,193,235,.18); background:radial-gradient(460px 220px at 18% 50%,rgba(31,123,162,.11),transparent 72%),linear-gradient(145deg,rgba(6,25,42,.95),rgba(2,13,23,.98)); position:relative; overflow:hidden; }
.pv-kanto-grid-mark { width:190px; height:190px; margin:auto; position:relative; border:1px solid rgba(93,207,247,.20); background-image:linear-gradient(rgba(101,207,245,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(101,207,245,.08) 1px,transparent 1px); background-size:16px 16px; transform:rotate(45deg) scale(.72); }
.pv-kanto-grid-mark::before,.pv-kanto-grid-mark::after { content:""; position:absolute; inset:24px; border:1px solid rgba(232,193,80,.22); }
.pv-kanto-grid-mark::after { inset:55px; border-color:rgba(91,211,249,.28); }
.pv-kanto-grid-mark span { position:absolute; width:7px; height:7px; background:#6bdcf7; box-shadow:0 0 12px rgba(95,222,255,.35); }
.pv-kanto-grid-mark span:nth-child(1){left:24px;top:24px}.pv-kanto-grid-mark span:nth-child(2){right:24px;top:24px}.pv-kanto-grid-mark span:nth-child(3){left:24px;bottom:24px}.pv-kanto-grid-mark span:nth-child(4){right:24px;bottom:24px}
.pv-kanto-prepared-panel h2 { margin:8px 0 9px; color:#e6f8ff; font-size:21px; }
.pv-kanto-prepared-panel p { max-width:720px; margin:0; color:#7291a6; font-size:11px; line-height:1.65; }
.pv-kanto-readiness { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 14px; margin-top:18px; }
.pv-kanto-readiness span { color:#89a7b9; font-size:10px; }
.pv-kanto-readiness i { display:inline-block; width:5px; height:5px; margin-right:7px; background:var(--pv-green); box-shadow:0 0 8px rgba(77,230,166,.38); }
.pv-world-map-viewport { display:block; max-height:610px; min-height:480px; padding:34px; scroll-behavior:smooth; overflow-anchor:none; place-items:normal; place-items:safe center; }
.pv-world-map-stage { flex:none; position:relative; image-rendering:pixelated; border:1px solid rgba(118,218,255,.33); outline:7px solid rgba(1,8,15,.82); box-shadow:0 0 0 8px rgba(71,182,225,.10),0 24px 60px rgba(0,0,0,.52); overflow:hidden; overflow-anchor:none; }
.pv-world-map-stage .pv-map-actors { overflow-anchor:none; }
.pv-world-map-stage::before { content:""; position:absolute; inset:0; z-index:3; pointer-events:none; box-shadow:inset 0 0 48px rgba(0,0,0,.28),inset 0 0 0 1px rgba(255,255,255,.035); }
.pv-world-map-stage.is-moving { filter:brightness(.96); }
.pv-world-map-stage.is-blocked { animation:pv-map-blocked .18s ease; }
.pv-world-map-art { position:absolute; inset:0; z-index:0; display:block; max-width:none !important; image-rendering:pixelated; pointer-events:none; }
.pv-world-map-grid { position:absolute; inset:0; z-index:4; pointer-events:none; opacity:.045; background-image:linear-gradient(rgba(159,230,255,.42) 1px,transparent 1px),linear-gradient(90deg,rgba(159,230,255,.42) 1px,transparent 1px); background-size:var(--pv-world-tile) var(--pv-world-tile); }
#pv-world-map-status[data-tone="success"] { color:#7fd8b6; }
#pv-world-map-status[data-tone="error"],#pv-world-map-status[data-tone="blocked"] { color:#e8a2ae; }
#pv-world-map-status[data-tone="busy"] { color:#7edcff; }
@media (max-width: 820px) {
  .pv-world-switcher { grid-template-columns:1fr; }
  .pv-kanto-prepared-panel { grid-template-columns:1fr; }
  .pv-kanto-grid-mark { width:150px; height:150px; }
  .pv-kanto-readiness { grid-template-columns:1fr; }
  .pv-world-section-head { align-items:flex-start; flex-direction:column; }
}


/* v21.1 Kanto open-world atlas */
.pv-kanto-atlas-source{display:grid;grid-template-columns:minmax(220px,.78fr) minmax(0,1.22fr);gap:24px;align-items:center;margin:0 0 28px;padding:20px;border:1px solid rgba(82,203,255,.22);background:linear-gradient(135deg,rgba(5,26,43,.96),rgba(4,18,32,.88));position:relative;overflow:hidden}.pv-kanto-atlas-source:after{content:"";position:absolute;right:0;top:0;width:74px;height:2px;background:#d4ad55}.pv-kanto-atlas-source>img{width:100%;max-height:310px;object-fit:contain;image-rendering:pixelated;background:rgba(0,0,0,.2);border:1px solid rgba(82,203,255,.16);padding:8px}.pv-kanto-atlas-source h2{margin:7px 0 8px;color:#f4fbff}.pv-kanto-atlas-source p{margin:0;color:#8da9bb;line-height:1.7}.pv-kanto-connection-list{display:grid;gap:8px;margin-top:10px}.pv-kanto-connection-list a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;align-items:center;padding:10px 12px;border:1px solid rgba(82,203,255,.15);background:rgba(7,31,50,.68);text-decoration:none;transition:border-color .16s ease,background .16s ease}.pv-kanto-connection-list a span{grid-column:1;color:#638397;font-size:9px;letter-spacing:.17em;text-transform:uppercase}.pv-kanto-connection-list a strong{grid-column:1;color:#dcecf5;font-size:12px}.pv-kanto-connection-list a b{grid-column:2;grid-row:1/3;color:#5bd5ff;font-size:9px;letter-spacing:.12em}.pv-kanto-connection-list a:hover:where(html.pv-can-hover *),.pv-kanto-connection-list a:focus-visible{border-color:rgba(91,213,255,.5);background:rgba(10,46,72,.86)}
@media(max-width:900px){.pv-kanto-atlas-source{grid-template-columns:1fr}.pv-kanto-atlas-source>img{max-height:240px}}

/* ========================================================================== */
/* v21.4 — Kanto authoritative native-map rendering                           */
/* ========================================================================== */
.pv-kanto-native-viewport {
  max-height: 720px;
  min-height: 520px;
  padding: 26px;
  overflow: auto;
  scroll-behavior: smooth;
  background: #020c14;
}
.pv-kanto-native-stage {
  image-rendering: auto;
  box-shadow: 0 0 0 1px rgba(78,199,240,.18), 0 18px 44px rgba(0,0,0,.44);
  outline: 6px solid rgba(1,8,15,.90);
  background: #000;
}
.pv-kanto-native-stage::before { display:none !important; }
.pv-kanto-native-art {
  width: auto !important;
  height: auto !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: none !important;
  transform: none !important;
  filter: none !important;
  image-rendering: auto !important;
}
.pv-kanto-native-stage .pv-map-actor img {
  image-rendering: pixelated !important;
  image-rendering: crisp-edges !important;
}

/* ========================================================================== */
/* v21.5 — fixed resized Kanto artwork inside the existing scroll viewport    */
/* ========================================================================== */
/* The supplied resized PNG is rendered at its own natural dimensions. There
   are no Kanto zoom controls, CSS transforms or fit-to-panel rules. */
.pv-kanto-native-art {
  width: auto !important;
  height: auto !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: none !important;
  transform: none !important;
  filter: none !important;
}
/* Kanto's accepted logical grid remains 16px, while the user-supplied v21.5
   presentation maps use 32px per logical cell. Scale only trainer artwork to
   match that fixed map presentation; server coordinates remain unchanged. */
.pv-kanto-native-stage .pv-map-actor {
  width: var(--pv-kanto-actor-unit, 32px);
  height: 64px;
}
.pv-kanto-native-stage .pv-map-actor img {
  width: var(--pv-kanto-actor-unit, 32px) !important;
  height: var(--pv-kanto-actor-unit, 32px) !important;
  max-width: none !important;
  image-rendering: pixelated !important;
}
.pv-kanto-native-stage .pv-map-sprite-bottom { top: var(--pv-kanto-actor-unit, 32px); }
.pv-kanto-native-stage .pv-map-actor b { bottom: 66px; }


/* ========================================================================== */
/* v22 — shared fixed-presentation region viewport (Kanto + Hoenn)            */
/* ========================================================================== */
.pv-region-native-viewport {
  max-height:720px;
  min-height:520px;
  padding:26px;
  overflow:auto;
  scroll-behavior:smooth;
  overflow-anchor:none;
  background:#020c14;
}
.pv-region-native-stage {
  image-rendering:auto;
  box-shadow:0 0 0 1px rgba(78,199,240,.18),0 18px 44px rgba(0,0,0,.44);
  outline:6px solid rgba(1,8,15,.90);
  background:#000;
}
.pv-region-native-stage::before { display:none !important; }
.pv-region-native-art {
  width:auto !important;
  height:auto !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:none !important;
  transform:none !important;
  filter:none !important;
}
.pv-region-native-stage .pv-map-actor { width:var(--pv-world-actor-unit,32px); height:calc(var(--pv-world-actor-unit,32px) * 2); }
.pv-region-native-stage .pv-map-actor img {
  width:var(--pv-world-actor-unit,32px) !important;
  height:var(--pv-world-actor-unit,32px) !important;
  max-width:none !important;
  image-rendering:pixelated !important;
  image-rendering:crisp-edges !important;
}
.pv-region-native-stage .pv-map-sprite-bottom { top:var(--pv-world-actor-unit,32px); }
.pv-region-native-stage .pv-map-actor b { bottom:calc(var(--pv-world-actor-unit,32px) * 2 + 2px); }
.pv-world-connection-list{display:grid;gap:8px;margin-top:10px}
.pv-region-search { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;align-items:center;margin:0 0 20px; }
.pv-region-search label { grid-column:1/-1;font-weight:700; }
.pv-region-search input { width:100%;min-width:0;min-height:44px; }
.pv-region-search [role="status"] { font-size:12px; }
.pv-region-search[hidden],#pv-region-area-results [hidden] { display:none !important; }
.pv-world-entry-form { display:grid;gap:10px;margin-top:10px; }
.pv-world-entry-form label { font-size:12px;line-height:1.5; }
.pv-world-entry-form select,.pv-world-entry-form button { width:100%;min-width:0;min-height:44px; }
@media(max-width:640px){.pv-region-search{grid-template-columns:1fr;}}
.pv-world-connection-list a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;align-items:center;padding:10px 12px;border:1px solid rgba(82,203,255,.15);background:rgba(7,31,50,.68);text-decoration:none;transition:border-color .16s ease,background .16s ease}
.pv-world-connection-list a span{grid-column:1;color:#638397;font-size:9px;letter-spacing:.17em;text-transform:uppercase}
.pv-world-connection-list a strong{grid-column:1;color:#dcecf5;font-size:12px}
.pv-world-connection-list a b{grid-column:2;grid-row:1/3;color:#5bd5ff;font-size:9px;letter-spacing:.12em}
.pv-world-connection-list a:hover:where(html.pv-can-hover *),.pv-world-connection-list a:focus-visible{border-color:rgba(91,213,255,.5);background:rgba(10,46,72,.86)}
@media(min-width:1180px){.pv-world-switcher{grid-template-columns:repeat(3,minmax(0,1fr))}}


/* v22 generic region-overworld summary cards. */
.pv-region-overworld-source{display:grid;grid-template-columns:minmax(220px,.78fr) minmax(0,1.22fr);gap:24px;align-items:center;margin:0 0 28px;padding:20px;border:1px solid rgba(82,203,255,.22);background:linear-gradient(135deg,rgba(5,26,43,.96),rgba(4,18,32,.88));position:relative;overflow:hidden}
.pv-region-overworld-source:after{content:"";position:absolute;right:0;top:0;width:74px;height:2px;background:#d4ad55}
.pv-region-overworld-source>img{width:100%;max-height:310px;object-fit:contain;background:rgba(0,0,0,.2);border:1px solid rgba(82,203,255,.16);padding:8px}
.pv-region-overworld-source h2{margin:7px 0 8px;color:#f4fbff}
.pv-region-overworld-source p{margin:0;color:#8da9bb;line-height:1.7}
.pv-region-readiness{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;margin-top:18px}
.pv-region-readiness span{color:#89a7b9;font-size:10px}.pv-region-readiness i{display:inline-block;width:5px;height:5px;margin-right:7px;background:var(--pv-green);box-shadow:0 0 8px rgba(77,230,166,.38)}
@media(max-width:900px){.pv-region-overworld-source{grid-template-columns:1fr}.pv-region-overworld-source>img{max-height:240px}.pv-region-readiness{grid-template-columns:1fr}}


/* v22.4.0 — reconstructed League / Battle Facility hub */
.pv-arena-page{position:relative;overflow:hidden}.pv-arena-page::after{content:"";position:absolute;right:-190px;top:220px;width:430px;height:430px;border:1px solid rgba(84,198,239,.055);transform:rotate(45deg);pointer-events:none}.pv-arena-hero{align-items:center}.pv-arena-progress-orb{width:154px;height:154px;flex:0 0 154px;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;align-content:center;border:1px solid rgba(82,204,244,.24);background:radial-gradient(circle,rgba(23,126,169,.16),rgba(3,17,29,.84) 62%);clip-path:polygon(50% 0,92% 24%,92% 76%,50% 100%,8% 76%,8% 24%)}.pv-arena-progress-orb strong{font-size:38px;line-height:1;color:#e9f8ff}.pv-arena-progress-orb span{margin:9px 0 0 5px;color:#5dc9ee;font-weight:800}.pv-arena-progress-orb small{display:block;width:100%;text-align:center;margin-top:4px;font-size:8px;letter-spacing:1.8px;color:#6d8ba0}.pv-arena-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}.pv-arena-summary-grid>div{min-height:112px;padding:16px;border:1px solid rgba(80,187,227,.16);background:linear-gradient(145deg,rgba(5,28,45,.9),rgba(2,16,28,.94));display:flex;flex-direction:column;gap:6px}.pv-arena-summary-grid span{font-size:8px;letter-spacing:1.7px;color:#66869d}.pv-arena-summary-grid strong{font-size:21px;color:#e9f8ff}.pv-arena-summary-grid small{margin-top:auto;color:#718fa4;font-size:10px;line-height:1.5}.pv-arena-summary-grid i{height:5px;background:#061421;border:1px solid rgba(75,177,216,.12);overflow:hidden}.pv-arena-summary-grid i b{display:block;height:100%;background:linear-gradient(90deg,#25a9d9,#67e3ee)}.pv-arena-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:18px 0;border-bottom:1px solid rgba(72,165,201,.16);padding-bottom:10px}.pv-arena-tabs a{padding:10px 15px;border:1px solid rgba(72,165,201,.15);background:#031522;color:#7f9db1;text-transform:uppercase;letter-spacing:1.1px;font-size:9px;font-weight:800}.pv-arena-tabs a:hover:where(html.pv-can-hover *),.pv-arena-tabs a.active{color:#e8f9ff;border-color:rgba(76,201,242,.42);background:linear-gradient(180deg,#0b4765,#07324b)}.pv-arena-region-switch{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:18px}.pv-arena-region-switch a{display:flex;gap:12px;align-items:center;padding:8px 11px;border:1px solid rgba(70,172,210,.13);background:rgba(3,18,30,.82);font-size:9px;color:#7595aa}.pv-arena-region-switch a b{color:#5fc9e9}.pv-arena-region-switch a.active{border-color:rgba(86,207,242,.4);color:#e5f8ff}.pv-arena-region{margin-top:19px}.pv-arena-opponent-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pv-arena-opponent{border:1px solid rgba(74,172,210,.16);background:linear-gradient(150deg,rgba(4,25,40,.96),rgba(2,14,25,.97));min-width:0;box-shadow:0 10px 30px rgba(0,0,0,.12)}.pv-arena-opponent.is-complete{border-color:rgba(72,222,164,.25)}.pv-arena-opponent.is-disabled{opacity:.65}.pv-arena-opponent-head{display:flex;justify-content:space-between;gap:10px;padding:8px 11px;border-bottom:1px solid rgba(71,169,207,.12);font-size:7px;letter-spacing:1.4px;color:#65869c}.pv-arena-opponent-head b{color:#62c9e9}.pv-arena-opponent.is-complete .pv-arena-opponent-head b{color:#56dda4}.pv-arena-opponent-main{display:grid;grid-template-columns:72px 1fr;gap:12px;align-items:center;padding:13px 14px 9px}.pv-arena-trainer{height:76px;display:flex;align-items:flex-end;justify-content:center;background:radial-gradient(circle at 50% 70%,rgba(58,188,229,.13),transparent 62%);border-bottom:1px solid rgba(68,170,208,.1)}.pv-arena-trainer img{max-width:68px;max-height:74px;image-rendering:auto}.pv-arena-opponent-main small{display:block;color:#5fc6e8;font-size:8px;letter-spacing:1px;text-transform:uppercase}.pv-arena-opponent-main h3{margin:4px 0 3px;font-size:16px;color:#edfaff}.pv-arena-opponent-main p{margin:0;color:#708fa4;font-size:10px}.pv-arena-team{display:flex;gap:5px;min-height:37px;padding:7px 13px;border-top:1px solid rgba(71,169,207,.08);border-bottom:1px solid rgba(71,169,207,.08);overflow:hidden}.pv-arena-team span{width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:#041725;border:1px solid rgba(70,169,207,.11)}.pv-arena-team img{max-width:30px;max-height:30px;image-rendering:auto}.pv-arena-reward{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 13px}.pv-arena-reward>span{display:flex;align-items:center;gap:7px;min-width:0}.pv-arena-reward img{max-width:26px;max-height:26px}.pv-arena-reward em{font-style:normal;color:#8aa6b8;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pv-arena-reward .pv-button{padding:8px 12px;font-size:8px}.pv-arena-locked{font-size:7px;letter-spacing:1.2px;color:#c08a74}.pv-arena-network-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:12px}.pv-arena-network-card,.pv-arena-hold{padding:20px;border:1px solid rgba(71,169,207,.16);background:linear-gradient(145deg,rgba(5,28,45,.9),rgba(2,15,27,.95))}.pv-arena-network-card h2,.pv-arena-hold h2{margin:7px 0;font-size:20px}.pv-arena-network-card p,.pv-arena-hold p{color:#7391a5;font-size:11px;line-height:1.65}.pv-arena-challenge-form{display:grid;grid-template-columns:150px 1fr auto;gap:8px;align-items:end;margin-top:16px}.pv-arena-challenge-form label{display:flex;flex-direction:column;gap:6px;font-size:8px;letter-spacing:1px;color:#7090a5;text-transform:uppercase}.pv-arena-challenge-form input,.pv-arena-challenge-form select{height:39px;border:1px solid rgba(71,177,218,.2);background:#031522;color:#dff5ff;padding:0 10px}.pv-arena-hold div{display:flex;gap:14px;flex-wrap:wrap;margin-top:14px}.pv-arena-hold div span{font-size:9px;color:#7596aa}.pv-arena-hold div i{display:inline-block;width:6px;height:6px;margin-right:6px;background:#4bdca6;box-shadow:0 0 9px rgba(75,220,166,.4)}
@media(max-width:980px){.pv-arena-opponent-grid{grid-template-columns:1fr}.pv-arena-summary-grid{grid-template-columns:1fr}.pv-arena-network-grid{grid-template-columns:1fr}.pv-arena-challenge-form{grid-template-columns:1fr}.pv-arena-progress-orb{width:120px;height:120px;flex-basis:120px}.pv-arena-progress-orb strong{font-size:30px}}
@media(max-width:620px){.pv-arena-progress-orb{display:none}.pv-arena-opponent-main{grid-template-columns:58px 1fr}.pv-arena-trainer{height:66px}.pv-arena-trainer img{max-width:56px;max-height:64px}.pv-arena-team{flex-wrap:wrap}.pv-arena-reward{align-items:flex-start;flex-direction:column}.pv-arena-reward .pv-button{width:100%;text-align:center}}

/* v22.5 — authoritative Battle Arena Special Events */
.pv-event-hero{background:radial-gradient(520px 220px at 86% 20%,rgba(206,65,79,.08),transparent 68%),linear-gradient(145deg,rgba(5,28,45,.92),rgba(2,15,27,.97))}
.pv-event-switch a.active{border-color:rgba(235,106,117,.38);box-shadow:inset 2px 0 rgba(235,106,117,.46)}
.pv-event-region{padding-top:1px}.pv-event-region+.pv-event-region{margin-top:30px}
.pv-event-region-head{display:grid;grid-template-columns:180px minmax(0,1fr) 150px;gap:18px;align-items:center;margin:0 0 12px;padding:13px;border:1px solid rgba(83,187,226,.14);background:linear-gradient(145deg,rgba(5,27,44,.93),rgba(2,14,25,.97));position:relative;overflow:hidden}
.pv-event-region-head:after{content:"";position:absolute;right:-45px;bottom:-70px;width:170px;height:170px;border:1px solid rgba(226,179,69,.09);transform:rotate(45deg);pointer-events:none}
.pv-event-region.is-complete .pv-event-region-head{border-color:rgba(76,222,164,.26);box-shadow:inset 3px 0 rgba(76,222,164,.35)}
.pv-event-banner{height:62px;display:flex;align-items:center;justify-content:center;padding:7px 10px;border:1px solid rgba(81,181,220,.12);background:#03121e;overflow:hidden}
.pv-event-banner img{display:block;max-width:100%;max-height:48px;object-fit:contain}
.pv-event-region-copy span{color:#5fcbe9;font:900 8px/1 "Arial Narrow","Segoe UI",sans-serif;letter-spacing:.16em}.pv-event-region-copy h2{margin:6px 0 4px;color:#e7f8ff;font-size:19px}.pv-event-region-copy p{margin:0;color:#718fa3;font-size:10px;line-height:1.5}
.pv-event-badge-state{display:grid;grid-template-columns:38px minmax(0,1fr);grid-template-rows:auto auto;gap:2px 9px;align-items:center;min-width:0}.pv-event-badge-state img{grid-row:1/3;width:36px;height:36px;object-fit:contain;filter:saturate(.8)}.pv-event-region.is-complete .pv-event-badge-state img{filter:drop-shadow(0 0 7px rgba(76,222,164,.2))}.pv-event-badge-state strong{color:#75d9f2;font:900 8px/1.1 "Arial Narrow","Segoe UI",sans-serif;letter-spacing:.1em}.pv-event-region.is-complete .pv-event-badge-state strong{color:#58dda6}.pv-event-badge-state small{color:#69879b;font-size:8px;line-height:1.3}
.pv-event-opponent .pv-arena-trainer{background:radial-gradient(circle at 50% 70%,rgba(228,92,104,.10),transparent 62%)}
.pv-event-opponent .pv-arena-opponent-head{border-top:1px solid rgba(217,176,71,.05)}
@media(max-width:900px){.pv-event-region-head{grid-template-columns:130px minmax(0,1fr)}.pv-event-badge-state{grid-column:1/-1;border-top:1px solid rgba(75,169,206,.1);padding-top:10px}}
@media(max-width:620px){.pv-event-region-head{grid-template-columns:1fr}.pv-event-banner{justify-content:flex-start}.pv-event-badge-state{grid-column:auto}}


/* v22.6.0 — source-era Kanto Sidequest reconstruction */
.pv-sidequest-page-modern{position:relative;overflow:hidden}.pv-sidequest-page-modern::after{content:"";position:absolute;right:-210px;top:160px;width:460px;height:460px;border:1px solid rgba(81,196,236,.05);transform:rotate(45deg);pointer-events:none}.pv-sidequest-hero{align-items:center;background:radial-gradient(560px 240px at 86% 20%,rgba(54,178,140,.09),transparent 67%),linear-gradient(145deg,rgba(5,28,45,.94),rgba(2,15,27,.98))}.pv-sidequest-progress-orb{width:154px;height:154px;flex:0 0 154px;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;align-content:center;border:1px solid rgba(78,214,183,.25);background:radial-gradient(circle,rgba(29,148,123,.16),rgba(3,17,29,.86) 63%);clip-path:polygon(50% 0,92% 24%,92% 76%,50% 100%,8% 76%,8% 24%)}.pv-sidequest-progress-orb strong{font-size:38px;line-height:1;color:#eafcff}.pv-sidequest-progress-orb span{margin:9px 0 0 5px;color:#55ddba;font-weight:800}.pv-sidequest-progress-orb small{display:block;width:100%;text-align:center;margin-top:4px;font-size:8px;letter-spacing:1.8px;color:#6e958e}.pv-sidequest-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}.pv-sidequest-summary-grid>div{min-height:116px;padding:16px;border:1px solid rgba(76,187,172,.16);background:linear-gradient(145deg,rgba(5,28,45,.92),rgba(2,16,28,.95));display:flex;flex-direction:column;gap:6px}.pv-sidequest-summary-grid span{font-size:8px;letter-spacing:1.7px;color:#698c96}.pv-sidequest-summary-grid strong{font-size:21px;color:#edfaff}.pv-sidequest-summary-grid small{margin-top:auto;color:#73939c;font-size:10px;line-height:1.5}.pv-sidequest-summary-grid i{height:5px;background:#061421;border:1px solid rgba(71,183,168,.12);overflow:hidden}.pv-sidequest-summary-grid i b{display:block;height:100%;background:linear-gradient(90deg,#25a9d9,#57dfb9)}.pv-sidequest-roadmap{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin:18px 0;padding-bottom:12px;border-bottom:1px solid rgba(73,168,201,.15)}.pv-sidequest-roadmap>div{min-height:73px;padding:10px;border:1px solid rgba(71,169,207,.13);background:#031522;display:flex;flex-direction:column;gap:5px}.pv-sidequest-roadmap>div.is-active{border-color:rgba(78,214,183,.35);background:linear-gradient(160deg,rgba(9,58,67,.85),rgba(3,21,34,.95))}.pv-sidequest-roadmap b{font-size:9px;letter-spacing:1.3px;color:#dff8ff}.pv-sidequest-roadmap span{font-size:9px;color:#718e9f}.pv-sidequest-roadmap em{margin-top:auto;font-style:normal;font-size:6px;letter-spacing:1px;color:#536e7d}.pv-sidequest-roadmap .is-active em{color:#59dcb8}.pv-sidequest-current{display:grid;grid-template-columns:minmax(280px,.82fr) minmax(360px,1.18fr);gap:12px;margin-top:18px}.pv-sidequest-map-card,.pv-sidequest-target,.pv-sidequest-sequence,.pv-sidequest-reward-panel,.pv-sidequest-handoff{border:1px solid rgba(72,172,207,.16);background:linear-gradient(150deg,rgba(4,26,41,.96),rgba(2,15,26,.98));box-shadow:0 14px 35px rgba(0,0,0,.13)}.pv-sidequest-map-card{padding:14px}.pv-sidequest-map-frame{height:340px;overflow:hidden;border:1px solid rgba(77,191,221,.18);background:#02111c;display:flex;align-items:center;justify-content:center}.pv-sidequest-map-frame img{width:100%;height:100%;object-fit:contain;object-position:center;filter:saturate(.83) brightness(.82);transition:filter .2s ease}.pv-sidequest-map-frame:hover:where(html.pv-can-hover *) img{filter:saturate(.96) brightness(.9)}.pv-sidequest-map-card>p{margin:10px 2px 0;color:#718f9f;font-size:10px;line-height:1.6}.pv-sidequest-map-card code{color:#65d7ef}.pv-sidequest-target{padding:18px;display:flex;flex-direction:column;min-width:0}.pv-sidequest-target-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:8px 0 13px;border-bottom:1px solid rgba(72,169,204,.11)}.pv-sidequest-target-head small{font-size:8px;letter-spacing:1.3px;color:#5dc6e6}.pv-sidequest-target-head h2{margin:5px 0 4px;font-size:25px;color:#effbff}.pv-sidequest-target-head p{margin:0;color:#7895a5;font-size:10px}.pv-sidequest-target-head>b{font-size:8px;letter-spacing:1.3px;color:#5addb8}.pv-sidequest-team{display:flex;gap:8px;flex-wrap:wrap;padding:22px 0}.pv-sidequest-team>span{position:relative;width:70px;height:74px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(74,178,213,.14);background:radial-gradient(circle at 50% 58%,rgba(58,187,217,.12),rgba(3,20,32,.92) 66%)}.pv-sidequest-team img{max-width:52px;max-height:52px}.pv-sidequest-team small{position:absolute;left:0;right:0;bottom:3px;text-align:center;font-size:7px;color:#718e9e}.pv-sidequest-target-footer{margin-top:auto;padding-top:14px;border-top:1px solid rgba(72,169,204,.11);display:flex;justify-content:space-between;gap:12px;align-items:center}.pv-sidequest-target-footer div{display:flex;flex-direction:column;gap:3px}.pv-sidequest-target-footer span{font-size:7px;letter-spacing:1.2px;color:#617f91;text-transform:uppercase}.pv-sidequest-target-footer strong{font-size:13px;color:#dff7ff}.pv-sidequest-sequence{margin-top:12px;padding:16px}.pv-sidequest-sequence-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:13px}.pv-sidequest-sequence-grid>div{min-height:95px;padding:12px;border:1px solid rgba(71,169,205,.11);background:rgba(3,19,31,.84);display:flex;flex-direction:column;gap:4px}.pv-sidequest-sequence-grid>div.is-current{border-color:rgba(79,212,182,.29);background:linear-gradient(150deg,rgba(8,51,58,.88),rgba(3,20,32,.9))}.pv-sidequest-sequence-grid span{font-size:7px;color:#5fc6e8;letter-spacing:1.1px}.pv-sidequest-sequence-grid b{font-size:12px;color:#e5f7fc}.pv-sidequest-sequence-grid small{color:#708d9e;font-size:9px}.pv-sidequest-sequence-grid em{margin-top:auto;font-style:normal;font-size:7px;letter-spacing:1px;color:#536f7e}.pv-sidequest-sequence-grid .is-current em{color:#5bdbb8}.pv-sidequest-reward-panel,.pv-sidequest-handoff{margin-top:18px;padding:24px}.pv-sidequest-reward-panel h2,.pv-sidequest-handoff h2{margin:7px 0;font-size:26px}.pv-sidequest-reward-panel p,.pv-sidequest-handoff p{max-width:760px;color:#7895a5;font-size:11px;line-height:1.7}.pv-sidequest-rewards{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.pv-sidequest-rewards span{min-width:160px;padding:12px;border:1px solid rgba(74,183,211,.14);background:#031522;display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto auto;align-items:center;column-gap:9px;color:#dff7ff;font-size:10px}.pv-sidequest-rewards img{grid-row:1/3;max-width:36px;max-height:36px}.pv-sidequest-rewards small{color:#58d9b5;font-size:8px}.pv-sidequest-handoff-status{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px;padding:13px;border:1px solid rgba(73,174,207,.13);background:#031522}.pv-sidequest-handoff-status b{color:#e1f7fd;font-size:10px;letter-spacing:1px}.pv-sidequest-handoff-status span{color:#5bdab7;font-size:8px;letter-spacing:1px}.pv-sidequest-handoff-status i{font-style:normal;color:#4d7588}.pv-inline-money{width:13px;height:13px;vertical-align:-2px}
@media(max-width:1100px){.pv-sidequest-roadmap{grid-template-columns:repeat(3,1fr)}.pv-sidequest-current{grid-template-columns:1fr}.pv-sidequest-map-frame{height:300px}}@media(max-width:760px){.pv-sidequest-summary-grid{grid-template-columns:1fr}.pv-sidequest-roadmap{grid-template-columns:repeat(2,1fr)}.pv-sidequest-sequence-grid{grid-template-columns:1fr}.pv-sidequest-progress-orb{width:118px;height:118px;flex-basis:118px}.pv-sidequest-progress-orb strong{font-size:29px}.pv-sidequest-map-frame{height:230px}.pv-sidequest-team>span{width:58px;height:65px}}

/* v22.6 complete source-generation Sidequest campaign */
.pv-sidequest-roadmap{grid-template-columns:repeat(7,minmax(0,1fr))}.pv-sidequest-roadmap>div.is-complete{border-color:rgba(76,214,180,.2);background:linear-gradient(160deg,rgba(6,42,48,.7),rgba(3,19,31,.92))}.pv-sidequest-roadmap>div.is-complete em{color:#55cdaE}.pv-sidequest-target-footer small{margin-top:3px;color:#547585;font-size:7px;text-transform:uppercase;letter-spacing:.7px}.pv-sidequest-source-note{margin-top:14px;padding:15px 17px;border:1px solid rgba(73,174,207,.12);background:rgba(3,19,31,.7)}.pv-sidequest-source-note strong{font-size:9px;letter-spacing:1.3px;text-transform:uppercase;color:#62d8ef}.pv-sidequest-source-note p{margin:7px 0 0;color:#708f9f;font-size:10px;line-height:1.7}.pv-sidequest-rewards b{font-size:10px;font-weight:700;color:#dff7ff}
@media(max-width:1280px){.pv-sidequest-roadmap{grid-template-columns:repeat(4,1fr)}}
@media(max-width:760px){.pv-sidequest-roadmap{grid-template-columns:repeat(2,1fr)}}

/* v22.7 — unified modern combat shell; legacy engine remains functional without JS. */
body.pv-combat-shell-upgraded{background:#020912!important;color:#bdd2dd!important;min-width:0!important}
body.pv-combat-shell-upgraded #container{width:min(1220px,calc(100% - 24px))!important;max-width:1220px!important;margin:16px auto 34px!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
body.pv-combat-shell-upgraded #header,body.pv-combat-shell-upgraded #usernav,body.pv-combat-shell-upgraded #sidebar,body.pv-combat-shell-upgraded #copy,body.pv-combat-shell-upgraded #headerAd{display:none!important}
body.pv-combat-shell-upgraded .pv-combat-topbar{margin:0!important}
body.pv-combat-shell-upgraded .pv-combat-command-strip{margin-bottom:12px}
body.pv-combat-shell-upgraded #contentContainer{display:grid!important;grid-template-columns:196px minmax(0,1fr)!important;gap:12px!important;width:100%!important;min-height:0!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;float:none!important}
body.pv-combat-shell-upgraded .pv-combat-side-menu{grid-column:1!important;display:block!important;float:none!important;width:auto!important;height:max-content!important;margin:0!important}
body.pv-combat-shell-upgraded #content{grid-column:2!important;width:auto!important;min-width:0!important;float:none!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important}
body.pv-combat-shell-upgraded #scroll{width:100%!important;height:auto!important;min-height:620px!important;overflow:visible!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important}
body.pv-combat-shell-upgraded #scrollContent{width:auto!important;min-height:620px!important;margin:0!important;padding:0!important;border:1px solid rgba(77,184,225,.16)!important;background:linear-gradient(145deg,rgba(5,27,44,.96),rgba(2,14,25,.98))!important;box-shadow:0 20px 55px rgba(0,0,0,.2)!important}
body.pv-combat-shell-upgraded #ajax{min-height:600px;padding:16px!important}
body.pv-combat-shell-upgraded #loading,body.pv-combat-shell-upgraded #suggestResults,body.pv-combat-shell-upgraded #showDetails,body.pv-combat-shell-upgraded #errorBox{float:none!important}
body.pv-combat-shell-upgraded #scroll>div[style*="float: right"]{display:none!important}
.pv-combat-runtime-banner{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;margin:0 0 14px;padding:17px;border:1px solid rgba(76,188,230,.14);background:radial-gradient(circle at 82% 20%,rgba(36,142,177,.14),transparent 30%),linear-gradient(145deg,rgba(8,39,60,.88),rgba(3,19,31,.95));overflow:hidden}
.pv-combat-runtime-banner:after{content:"";position:absolute;right:-76px;bottom:-112px;width:220px;height:220px;border:1px solid rgba(71,203,244,.08);transform:rotate(45deg)}
.pv-combat-runtime-banner h1{margin:6px 0 7px!important;color:#edfaff!important;font:900 27px/1 "Arial Narrow","Segoe UI",sans-serif!important;letter-spacing:-.02em!important}
.pv-combat-runtime-banner p{max-width:680px;margin:0!important;color:#718fa1!important;font-size:9px!important;line-height:1.65!important}
.pv-combat-runtime-signal{position:relative;z-index:1;min-width:124px;display:grid;justify-items:center;gap:5px;padding:12px;border:1px solid rgba(77,230,166,.17);background:rgba(4,33,37,.54)}
.pv-combat-runtime-signal i{width:7px;height:7px;border-radius:50%;background:#4de6a6;box-shadow:0 0 14px rgba(77,230,166,.48)}
.pv-combat-runtime-signal strong{color:#d9f8ec;font:900 8px/1 "Arial Narrow","Segoe UI",sans-serif;letter-spacing:.14em}.pv-combat-runtime-signal span{color:#66b999;font-size:7px}
body.pv-combat-shell-upgraded #ajax>h2,body.pv-combat-shell-upgraded #ajax>h3{padding-left:11px;border-left:2px solid #4fd7fa!important;text-align:left!important}
body.pv-combat-shell-upgraded #ajax>h2{margin:15px 0 8px!important;color:#e4f8ff!important;font:900 22px/1.1 "Arial Narrow","Segoe UI",sans-serif!important}
body.pv-combat-shell-upgraded #ajax>h3{margin:8px 0 12px!important;color:#91aebb!important;font-size:10px!important;font-weight:600!important}
body.pv-combat-shell-upgraded #ajax form{max-width:100%;margin:0!important}
body.pv-combat-shell-upgraded #ajax .pokemonList{width:100%!important;margin:10px 0!important;border-collapse:separate!important;border-spacing:7px!important;background:transparent!important}
body.pv-combat-shell-upgraded #ajax .pokemonList>tbody>tr>td{vertical-align:top!important;border:1px solid rgba(76,181,222,.11)!important;background:rgba(3,20,34,.7)!important;padding:8px!important}
body.pv-combat-shell-upgraded #ajax .pokemonList table{min-width:170px!important;border:1px solid rgba(75,181,222,.09)!important;background:linear-gradient(145deg,rgba(7,32,50,.84),rgba(3,17,28,.94))!important}
body.pv-combat-shell-upgraded #ajax .pokemonList img{width:88px!important;height:88px!important;object-fit:contain!important}
body.pv-combat-shell-upgraded #ajax input[type=radio]{accent-color:#4fd7fa;transform:scale(1.05);margin-right:5px}
body.pv-combat-shell-upgraded #ajax input[type=submit]{min-width:130px!important;min-height:39px!important;margin:6px 4px 6px 0!important}
body.pv-combat-shell-upgraded #ajax .actionMsg,body.pv-combat-shell-upgraded #ajax .errorMsg,body.pv-combat-shell-upgraded #ajax .noticeMsg{margin:10px 0!important;padding:11px 13px!important;box-shadow:inset 3px 0 currentColor!important;font-size:9px!important;line-height:1.55!important}
body.pv-combat-shell-upgraded .pv-combat-footer{margin-top:12px!important}
@media(max-width:900px){body.pv-combat-shell-upgraded #container{width:min(100% - 12px,1220px)!important;margin-top:6px!important}body.pv-combat-shell-upgraded #contentContainer{grid-template-columns:1fr!important}body.pv-combat-shell-upgraded .pv-combat-side-menu{display:none!important}body.pv-combat-shell-upgraded #content{grid-column:1!important}.pv-combat-runtime-banner{grid-template-columns:1fr}.pv-combat-runtime-signal{display:none}}
@media(max-width:620px){body.pv-combat-shell-upgraded #ajax{padding:10px!important}.pv-combat-runtime-banner{padding:13px}.pv-combat-runtime-banner h1{font-size:22px!important}body.pv-combat-shell-upgraded #ajax .pokemonList{display:block!important;overflow-x:auto!important}}

/* v22.7.2 — coherent Trainer/Live PvP battle surface + synchronized waiting state. */
body.pv-combat-shell-upgraded.pv-combat-surface-upgraded #ajax{padding:14px!important}
.pv-combat-modern-surface{position:relative;z-index:2;display:grid;gap:12px}
.pv-combat-modern-surface .pv-wild-fighter{min-height:300px}
.pv-combat-modern-surface .pv-wild-sprite-zone{min-height:195px}
.pv-combat-modern-surface .pv-wild-command-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
.pv-combat-modern-surface .pv-wild-move-grid>div{margin:0}
.pv-combat-modern-surface .pv-wild-move-grid button,.pv-combat-modern-surface .pv-wild-item-grid button{font-family:inherit}
.pv-combat-modern-surface .pv-wild-move-grid button:focus-visible,.pv-combat-modern-surface .pv-wild-item-grid button:focus-visible,.pv-combat-modern-surface .pv-wild-team-grid button:focus-visible{outline:2px solid rgba(79,215,250,.72);outline-offset:2px}
.pv-combat-fighter-card .pv-wild-fighter-hud h2{max-width:280px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pv-combat-legacy-vault{position:fixed!important;left:-100000px!important;top:0!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important;clip-path:inset(50%)!important}
.pv-combat-team-choice{padding:4px 0 6px}.pv-combat-team-choice .pv-section-heading{margin-bottom:3px}.pv-combat-team-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.pv-combat-team-choice-grid button{min-height:82px}
.pv-live-wait-state{display:grid;justify-items:center;gap:8px;padding:70px 20px;text-align:center}.pv-live-wait-state strong{font-size:16px;color:#d8f2fb}.pv-live-wait-state span,.pv-live-wait-state small{color:#6f91a3;font-size:9px}.pv-live-wait-state a{color:#65d7f4}
.pv-live-wait-modern{min-height:520px;place-items:center;border:1px solid rgba(76,181,224,.14);background:radial-gradient(circle at 50% 42%,rgba(34,145,181,.14),transparent 24%),linear-gradient(150deg,rgba(5,28,46,.9),rgba(2,15,26,.97))}.pv-live-sync-core{position:relative;display:grid;justify-items:center;gap:9px;max-width:620px;padding:56px 34px;text-align:center}.pv-live-sync-core>.pv-wild-scan-ring{top:17px;left:50%;transform:translateX(-50%);width:170px;height:170px}.pv-live-sync-core>i{position:relative;z-index:2;width:10px;height:10px;margin-bottom:21px;border-radius:50%;background:#4de6a6;box-shadow:0 0 0 9px rgba(77,230,166,.05),0 0 28px rgba(77,230,166,.46);animation:pvLiveSyncPulse 1.4s ease-in-out infinite}.pv-live-sync-core small{position:relative;z-index:2;color:#57bddb;font:900 7px/1 "Arial Narrow","Segoe UI",sans-serif;letter-spacing:.15em}.pv-live-sync-core h2{position:relative;z-index:2;margin:0;color:#e0f5fc;font:900 25px/1.1 "Arial Narrow","Segoe UI",sans-serif}.pv-live-sync-core p{position:relative;z-index:2;max-width:540px;margin:0 0 7px;color:#718fa0;font-size:9px;line-height:1.65}.pv-live-sync-core .pv-button{position:relative;z-index:2}@keyframes pvLiveSyncPulse{0%,100%{transform:scale(.82);opacity:.72}50%{transform:scale(1.16);opacity:1}}
@media(max-width:900px){.pv-combat-team-choice-grid{grid-template-columns:1fr}.pv-live-wait-modern{min-height:420px}}
@media(max-width:680px){.pv-combat-modern-surface .pv-wild-fighter{min-height:260px}.pv-combat-modern-surface .pv-wild-sprite-zone{min-height:170px}.pv-live-sync-core{padding:44px 18px}.pv-live-sync-core h2{font-size:21px}}
.pv-combat-outcome-surface{padding:4px 0}.pv-combat-outcome-surface .pv-wild-result{margin:0;min-height:420px;display:grid;align-content:center;justify-items:start;padding:34px}.pv-combat-outcome-reward{margin:4px 0 6px;padding:10px 12px;border:1px solid rgba(77,181,224,.12);background:rgba(5,28,46,.72);color:#92b7c7;font-size:9px;line-height:1.55}.pv-combat-outcome-roster{display:flex;flex-wrap:wrap;gap:8px;margin:7px 0 12px}.pv-combat-outcome-roster img{width:64px!important;height:64px!important;object-fit:contain;padding:5px;border:1px solid rgba(78,183,225,.12);background:rgba(4,23,38,.7)}

/* v22.8.0 — native transaction-locked Live PvP state machine. */
.pv-live-runtime-page .pv-page-head{margin-bottom:12px}.pv-live-runtime-page .pv-combat-runtime-signal{min-width:132px}.pv-live-runtime-page .pv-wild-log .tone-info{color:#7596a7}.pv-live-runtime-page .pv-wild-log .tone-attack{color:#89cae0}.pv-live-runtime-page .pv-wild-log .tone-attack i{background:#51d3f7;box-shadow:0 0 10px rgba(81,211,247,.4)}.pv-live-runtime-page .pv-wild-log .tone-success{color:#8fc8b2}.pv-live-runtime-page .pv-wild-log .tone-success i{background:#4de6a6;box-shadow:0 0 10px rgba(77,230,166,.42)}
.pv-live-runtime-empty{grid-template-rows:auto 6px 1fr}.pv-live-runtime-section-head{display:grid;gap:4px;margin:0 0 8px}.pv-live-runtime-section-head strong{color:#d8f1fa;font-size:12px}.pv-live-runtime-section-head span{color:#67889a;font-size:8px;line-height:1.5}.pv-live-runtime-command-grid{display:grid;gap:15px;padding:10px}.pv-live-runtime-team-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:10px}.pv-live-runtime-team-grid.compact{padding:0}.pv-live-runtime-team-grid form{min-width:0}.pv-live-runtime-team-grid button{height:100%}
.pv-live-runtime-wait{position:relative;min-height:330px;display:grid;place-items:center;align-content:center;gap:9px;padding:30px;text-align:center;overflow:hidden}.pv-live-runtime-wait>.pv-wild-scan-ring{top:70px;left:50%;transform:translateX(-50%)}.pv-live-runtime-wait>i{position:relative;z-index:2;width:10px;height:10px;margin-bottom:24px;border-radius:50%;background:#4de6a6;box-shadow:0 0 0 9px rgba(77,230,166,.05),0 0 28px rgba(77,230,166,.46);animation:pvLiveSyncPulse 1.4s ease-in-out infinite}.pv-live-runtime-wait strong,.pv-live-runtime-wait p{position:relative;z-index:2}.pv-live-runtime-wait strong{color:#dff5fc;font-size:19px}.pv-live-runtime-wait p{max-width:460px;margin:0;color:#718fa0;font-size:9px;line-height:1.65}.pv-live-runtime-forfeit{display:flex;justify-content:flex-end;margin:12px 10px 10px}.pv-live-runtime-forfeit .pv-button{margin:0}
@media(max-width:760px){.pv-live-runtime-team-grid{grid-template-columns:1fr}.pv-live-runtime-command-grid{padding:8px}.pv-live-runtime-wait{min-height:270px}}

/* ========================================================================== */
/* v22.8.1 — Chromium/Edge-safe lossless region-map compositor                */
/* ========================================================================== */
/* Large Kanto/Hoenn source PNGs remain authoritative and unscaled. Maps above
   the conservative 2048px single-bitmap threshold are rendered from exact
   1024px lossless crops so Chromium never needs one oversized map texture.
   Firefox uses the identical presentation path for those maps. */
.pv-world-map-tile-layer {
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
  pointer-events:none;
}
.pv-world-map-render-tile {
  position:absolute;
  display:block;
  width:var(--pv-map-render-tile-width) !important;
  height:var(--pv-map-render-tile-height) !important;
  min-width:0 !important;
  min-height:0 !important;
  max-width:none !important;
  max-height:none !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  object-fit:fill !important;
  transform:none !important;
  filter:none !important;
  image-rendering:auto !important;
  pointer-events:none;
  user-select:none;
}
/* A filter on the entire native stage can force Chromium to allocate one
   compositor surface at the full map dimensions. Keep movement feedback in
   the status/control UI instead of compositing the oversized world layer. */
.pv-region-native-stage.is-moving { filter:none !important; }

/* v23.1.0 — Production Pokédex detail reconstruction */
.pv-dex-detail-head{align-items:flex-start}.pv-dex-head-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.pv-dex-entry-nav{display:grid;grid-template-columns:minmax(0,1fr) 150px minmax(0,1fr);align-items:stretch;gap:8px;margin:0 0 10px}.pv-dex-entry-nav>a,.pv-dex-entry-nav>div{min-height:54px;display:grid;align-content:center;gap:5px;padding:9px 11px;border:1px solid rgba(78,181,224,.13);background:rgba(3,18,30,.64)}.pv-dex-entry-nav>a:hover:where(html.pv-can-hover *){border-color:rgba(76,208,249,.36);background:rgba(5,30,47,.82)}.pv-dex-entry-nav small{color:#5f879a;font:900 7px/1 "Arial Narrow","Segoe UI",sans-serif;letter-spacing:.14em}.pv-dex-entry-nav strong{color:#b9dce8;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pv-dex-entry-nav>div{text-align:center;border-color:rgba(247,198,92,.13)}.pv-dex-entry-nav>div strong{color:#f5d27b;font-size:13px}.pv-dex-entry-nav .is-next{text-align:right}.pv-dex-detail-grid-production{grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr)}.pv-dex-hero-production{grid-column:1/-1;min-height:270px}.pv-dex-hero-production .pv-dex-scan{min-height:268px}.pv-dex-identity{display:grid;align-content:center;gap:7px}.pv-dex-status-line{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:4px}.pv-dex-variant-badge,.pv-dex-owned-badge{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border:1px solid rgba(88,183,218,.17);background:rgba(4,24,38,.72);color:#83b6c9;font:900 7px/1 "Arial Narrow","Segoe UI",sans-serif;letter-spacing:.11em}.pv-dex-owned-badge.is-owned{border-color:rgba(77,230,166,.2);color:#70dcb0;background:rgba(8,49,40,.44)}.pv-dex-base-species{margin:0!important;color:#66899b!important}.pv-dex-base-species strong{color:#aacbd7}.pv-dex-types{margin:2px 0 4px}.pv-dex-telemetry{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:7px}.pv-dex-telemetry>div{min-width:0;display:grid;gap:4px;padding:8px 9px;border:1px solid rgba(79,177,215,.09);background:rgba(2,18,29,.58)}.pv-dex-telemetry span{color:#5d8094;font:900 6px/1 "Arial Narrow","Segoe UI",sans-serif;letter-spacing:.1em}.pv-dex-telemetry strong{color:#d5edf5;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pv-dex-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:11px}.pv-dex-section-head h3{margin:5px 0 0!important;font-size:14px}.pv-dex-section-head>small{padding-top:2px;color:#5d8295;font:900 7px/1 "Arial Narrow","Segoe UI",sans-serif;letter-spacing:.13em;white-space:nowrap}.pv-dex-ability-card{min-height:100%}.pv-dex-ability-list{display:grid;gap:7px;margin-top:11px}.pv-dex-ability-list>div{display:grid;gap:4px;padding:10px;border:1px solid rgba(78,183,220,.1);background:linear-gradient(135deg,rgba(5,31,48,.72),rgba(2,18,29,.72))}.pv-dex-ability-list small{color:#5d8296;font:900 6px/1 "Arial Narrow","Segoe UI",sans-serif;letter-spacing:.13em}.pv-dex-ability-list strong{color:#c8e8f2;font-size:10px}.pv-dex-move-card{min-height:100%}.pv-dex-move-profile{display:grid;gap:6px}.pv-dex-move-row{display:grid;grid-template-columns:36px minmax(0,1fr) 58px 58px;align-items:center;gap:8px;min-height:50px;padding:7px 8px;border:1px solid rgba(79,182,220,.1);background:rgba(2,18,29,.54)}.pv-dex-move-index{display:grid;place-items:center;width:32px;height:32px;border:1px solid rgba(72,196,236,.15);background:#041b2b;color:#5da9c2;font:900 8px/1 "Arial Narrow","Segoe UI",sans-serif}.pv-dex-move-name{min-width:0;display:grid;gap:4px}.pv-dex-move-name strong{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pv-dex-move-name span{color:#617f91;font-size:7px}.pv-dex-move-stat{display:grid;justify-items:end;gap:4px}.pv-dex-move-stat small{color:#55788c;font:900 6px/1 "Arial Narrow","Segoe UI",sans-serif;letter-spacing:.1em}.pv-dex-move-stat strong{font-size:9px;color:#b6d6e1}.pv-dex-evolution-card,.pv-dex-variant-card,.pv-dex-owned-card{grid-column:1/-1}.pv-dex-final-stage,.pv-dex-empty-owned{display:grid;gap:5px;padding:13px;border:1px dashed rgba(80,178,216,.13);background:rgba(2,17,28,.42)}.pv-dex-final-stage strong,.pv-dex-empty-owned strong{color:#9fc7d5;font-size:9px}.pv-dex-final-stage span,.pv-dex-empty-owned span{color:#617f91;font-size:8px}.pv-dex-evolution-network{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:7px;align-items:stretch}.pv-dex-evolution-node,.pv-dex-evolution-current{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:9px;min-height:76px;padding:8px;border:1px solid rgba(79,183,222,.1);background:linear-gradient(135deg,rgba(5,31,48,.66),rgba(2,17,27,.76))}.pv-dex-evolution-node:hover:where(html.pv-can-hover *){border-color:rgba(77,205,245,.34);transform:translateY(-1px)}.pv-dex-evolution-current{border-color:rgba(247,198,92,.18);background:linear-gradient(135deg,rgba(50,42,18,.18),rgba(3,20,31,.76))}.pv-dex-evolution-node img,.pv-dex-evolution-current img{width:54px!important;height:54px!important;object-fit:contain}.pv-dex-evolution-node>div,.pv-dex-evolution-current>div{min-width:0;display:grid;gap:4px}.pv-dex-evolution-node small,.pv-dex-evolution-current small{color:#5c8396;font:900 6px/1 "Arial Narrow","Segoe UI",sans-serif;letter-spacing:.12em}.pv-dex-evolution-node strong,.pv-dex-evolution-current strong{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pv-dex-evolution-node span{color:#658597;font-size:7px;line-height:1.4}.pv-dex-variant-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}.pv-dex-variant-tile{min-width:0;display:grid;grid-template-rows:76px auto;justify-items:center;gap:6px;padding:9px;border:1px solid rgba(77,179,217,.1);background:rgba(2,18,29,.54);text-align:center}.pv-dex-variant-tile:hover:where(html.pv-can-hover *){border-color:rgba(77,206,246,.34);transform:translateY(-2px)}.pv-dex-variant-tile.is-active{border-color:rgba(247,198,92,.34);box-shadow:inset 0 0 0 1px rgba(247,198,92,.06)}.pv-dex-variant-tile.is-owned{background:linear-gradient(145deg,rgba(5,40,42,.58),rgba(2,18,29,.72))}.pv-dex-variant-tile img{width:72px!important;height:72px!important;object-fit:contain}.pv-dex-variant-tile>div{min-width:0;display:grid;gap:4px}.pv-dex-variant-tile small{color:#587c90;font:900 6px/1 "Arial Narrow","Segoe UI",sans-serif;letter-spacing:.08em}.pv-dex-variant-tile strong{font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pv-dex-variant-tile span{color:#6391a2;font-size:7px}.pv-dex-selected-specimen{border-color:rgba(247,198,92,.13)}.pv-dex-specimen-stats{grid-template-columns:repeat(6,minmax(0,1fr))}.pv-dex-specimen-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.pv-dex-specimen-list>a{min-width:0;display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px;border:1px solid rgba(79,180,218,.09);background:rgba(2,18,29,.52)}.pv-dex-specimen-list>a:hover:where(html.pv-can-hover *),.pv-dex-specimen-list>a.is-active{border-color:rgba(74,205,245,.31);background:rgba(5,30,46,.72)}.pv-dex-specimen-list img{width:48px!important;height:48px!important;object-fit:contain}.pv-dex-specimen-list div{min-width:0;display:grid;gap:4px}.pv-dex-specimen-list small{color:#587c8f;font:900 6px/1 "Arial Narrow","Segoe UI",sans-serif;letter-spacing:.1em}.pv-dex-specimen-list strong{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pv-dex-specimen-list span{color:#628397;font-size:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pv-dex-specimen-list b{color:#67c8e8;font-size:7px;white-space:nowrap}.pv-dex-owned-note{margin:9px 0 0!important}.pv-dex-error-state{display:grid;gap:7px;min-height:120px;align-content:center;justify-items:center;text-align:center}.pv-dex-error-state strong{font-size:12px;color:#b9d9e4}.pv-dex-error-state p{margin:0!important;color:#66899b;font-size:9px}.pv-dex-card.is-owned{border-color:rgba(77,230,166,.16);background:linear-gradient(145deg,rgba(5,38,43,.82),rgba(2,15,26,.94))}.pv-dex-card.is-owned>div>span{position:absolute;top:7px;right:7px;padding:4px 5px;border:1px solid rgba(77,230,166,.16);background:rgba(6,43,35,.76);color:#6fdbae;font:900 6px/1 "Arial Narrow","Segoe UI",sans-serif;letter-spacing:.08em}
@media(max-width:1180px){.pv-dex-variant-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pv-dex-specimen-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.pv-dex-detail-grid-production{grid-template-columns:1fr}.pv-dex-hero-production,.pv-dex-evolution-card,.pv-dex-variant-card,.pv-dex-owned-card{grid-column:auto}.pv-dex-telemetry{grid-template-columns:repeat(2,minmax(0,1fr))}.pv-dex-specimen-list{grid-template-columns:1fr}}
@media(max-width:680px){.pv-dex-entry-nav{grid-template-columns:1fr 86px 1fr}.pv-dex-entry-nav strong{font-size:7px}.pv-dex-variant-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pv-dex-specimen-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.pv-dex-move-row{grid-template-columns:32px minmax(0,1fr) 48px}.pv-dex-move-stat:last-child{display:none}.pv-dex-head-actions{justify-content:flex-start}}
@media(max-width:440px){.pv-dex-entry-nav{grid-template-columns:1fr}.pv-dex-entry-nav>span{display:none}.pv-dex-entry-nav .is-next{text-align:left}.pv-dex-telemetry,.pv-dex-variant-grid,.pv-dex-specimen-stats{grid-template-columns:1fr}.pv-dex-specimen-list>a{grid-template-columns:48px minmax(0,1fr)}.pv-dex-specimen-list>a>b{grid-column:2}.pv-dex-move-row{grid-template-columns:30px minmax(0,1fr)}.pv-dex-move-stat{display:none}}

/* v23.7 autonomous trainer interaction surface */
.pv-bot-profile-page { display:grid; gap:18px; }
.pv-bot-profile-hero { align-items:center; }
.pv-bot-profile-identity { display:flex; align-items:center; gap:18px; min-width:0; }
.pv-bot-trainer-avatar { position:relative; flex:0 0 76px; width:76px; height:76px; display:grid; place-items:center; border:1px solid rgba(86,214,246,.34); border-radius:10px; background:linear-gradient(180deg,rgba(11,39,55,.94),rgba(3,17,27,.98)); box-shadow:inset 0 0 24px rgba(55,188,226,.08),0 8px 24px rgba(0,0,0,.28); }
.pv-bot-trainer-avatar::after { content:'AI'; position:absolute; right:-6px; top:-6px; padding:3px 6px; border-radius:5px; border:1px solid rgba(101,224,250,.6); background:#061a28; color:#9cecff; font-size:8px; font-weight:900; letter-spacing:.12em; }
.pv-bot-trainer-avatar img { max-width:56px; max-height:64px; image-rendering:pixelated; }
.pv-bot-profile-grid { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(280px,.8fr); gap:16px; }
.pv-bot-interaction-card h2,.pv-bot-team-panel h2 { margin:8px 0 6px; }
.pv-bot-interaction-card > p { margin:0 0 14px; color:var(--pv-muted,#9fb2c2); }
.pv-bot-actions { display:flex; flex-wrap:wrap; gap:9px; align-items:center; }
.pv-bot-actions form { margin:0; }
.pv-bot-scope-note { margin-top:15px; padding:12px 14px; display:grid; gap:4px; border:1px solid rgba(78,199,231,.18); background:rgba(5,26,38,.68); }
.pv-bot-scope-note strong { color:#c9f3ff; font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.pv-bot-scope-note span { color:#91aabb; font-size:11px; line-height:1.55; }
.pv-bot-stat-list { margin:9px 0 0; display:grid; gap:0; }
.pv-bot-stat-list div { display:flex; justify-content:space-between; gap:14px; padding:10px 0; border-bottom:1px solid rgba(255,255,255,.055); }
.pv-bot-stat-list div:last-child { border-bottom:0; }
.pv-bot-stat-list dt { color:#7893a7; font-size:9px; letter-spacing:.09em; text-transform:uppercase; }
.pv-bot-stat-list dd { margin:0; color:#d8edf5; font-size:11px; text-align:right; }
.pv-bot-stat-list a { color:#75dff8; }
.pv-bot-team-count { align-self:center; color:#83e8ff; font-size:18px; }
.pv-bot-team-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.pv-bot-pokemon-card { position:relative; min-height:104px; display:flex; align-items:center; gap:10px; padding:13px; border:1px solid rgba(72,189,220,.17); background:linear-gradient(180deg,rgba(7,29,42,.88),rgba(4,20,31,.9)); overflow:hidden; }
.pv-bot-pokemon-slot { position:absolute; top:7px; right:8px; color:#5b7d91; font-size:7px; font-weight:800; letter-spacing:.12em; }
.pv-bot-pokemon-sprite { width:58px; min-width:58px; height:66px; display:grid; place-items:center; }
.pv-bot-pokemon-sprite img { max-width:58px; max-height:58px; image-rendering:pixelated; }
.pv-bot-pokemon-card > div:last-child { min-width:0; display:grid; gap:2px; }
.pv-bot-pokemon-card strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#e7f8ff; font-size:12px; }
.pv-bot-pokemon-card span:not(.pv-bot-pokemon-slot) { color:#94d9ec; font-size:10px; }
.pv-bot-pokemon-card small { color:#6e899b; font-size:8px; text-transform:uppercase; letter-spacing:.07em; }
.pv-bot-metrics-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.pv-bot-metrics-grid article { padding:14px; border:1px solid rgba(79,190,220,.14); background:rgba(4,21,31,.76); display:grid; gap:3px; }
.pv-bot-metrics-grid span { color:#668ba0; font-size:8px; font-weight:800; letter-spacing:.1em; }
.pv-bot-metrics-grid strong { color:#dff8ff; font-size:19px; }
.pv-bot-metrics-grid small { color:#7894a5; font-size:9px; }
@media (max-width:900px) { .pv-bot-profile-grid{grid-template-columns:1fr}.pv-bot-team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pv-bot-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:580px) { .pv-bot-profile-identity{align-items:flex-start}.pv-bot-trainer-avatar{flex-basis:62px;width:62px;height:62px}.pv-bot-team-grid,.pv-bot-metrics-grid{grid-template-columns:1fr}.pv-bot-actions{align-items:stretch}.pv-bot-actions form,.pv-bot-actions .pv-button{width:100%} }

/* ========================================================================== */
/* v24.0.0 — 2026 coherent motion & interaction polish                        */
/* Presentation-only: authoritative movement/combat values remain server-side. */
/* ========================================================================== */
:root {
  --pv-motion-fast: 140ms;
  --pv-motion-medium: 260ms;
  --pv-motion-slow: 520ms;
  --pv-motion-curve: cubic-bezier(.2,.78,.24,1);
  --pv-motion-spring: cubic-bezier(.2,.95,.28,1.18);
}

/* Ambient shell motion keeps the UI alive without competing with gameplay. */
.pv-atmosphere i { will-change: transform, opacity; }
.pv-atmosphere i:nth-child(1) { animation: pvAmbientDriftA 24s ease-in-out infinite alternate; }
.pv-atmosphere i:nth-child(2) { animation: pvAmbientDriftB 19s ease-in-out infinite alternate; }
.pv-atmosphere i:nth-child(3) { animation: pvAmbientDriftC 28s ease-in-out infinite alternate; }
.pv-atmosphere i:nth-child(4) { animation: pvAmbientDriftB 16s ease-in-out -5s infinite alternate-reverse; }
@keyframes pvAmbientDriftA { to { transform: translate3d(-28px,24px,0) rotate(51deg); opacity:.72; } }
@keyframes pvAmbientDriftB { to { transform: translate3d(18px,-22px,0) rotate(39deg); opacity:.58; } }
@keyframes pvAmbientDriftC { to { transform: translate3d(34px,-16px,0) rotate(50deg); opacity:.76; } }

.pv-ready .pv-topbar,
.pv-combat-shell-upgraded .pv-combat-topbar { animation: pvShellDrop .46s var(--pv-motion-curve) both; }
.pv-ready .pv-command-strip,
.pv-combat-shell-upgraded .pv-combat-command-strip { animation: pvShellFade .5s .07s var(--pv-motion-curve) both; }
.pv-ready .pv-side-menu,
.pv-combat-shell-upgraded .pv-combat-side-menu { animation: pvShellSide .52s .09s var(--pv-motion-curve) both; }
.pv-ready .pv-footer,
.pv-combat-shell-upgraded .pv-combat-footer { animation: pvShellFade .5s .12s var(--pv-motion-curve) both; }
@keyframes pvShellDrop { from { opacity:0; transform:translate3d(0,-10px,0); } to { opacity:1; transform:none; } }
@keyframes pvShellSide { from { opacity:0; transform:translate3d(-12px,0,0); } to { opacity:1; transform:none; } }
@keyframes pvShellFade { from { opacity:0; transform:translate3d(0,6px,0); } to { opacity:1; transform:none; } }

.pv-motion-reveal { opacity:1; transform:none; }
.pv-motion-reveal.is-visible {
  animation: pvRevealSurface .52s var(--pv-motion-curve) both;
  animation-delay: calc(var(--pv-reveal-index,0) * 28ms);
}
@keyframes pvRevealSurface { to { opacity:1; transform:none; } }

/* Navigation and button feedback. */
.pv-nav a,
.pv-side-menu a,
.pv-button,
.pv-btn,
button,
input[type="submit"],
input[type="button"] {
  transition:
    transform var(--pv-motion-fast) var(--pv-motion-curve),
    border-color var(--pv-motion-fast) ease,
    background-color var(--pv-motion-fast) ease,
    color var(--pv-motion-fast) ease,
    box-shadow var(--pv-motion-medium) ease,
    filter var(--pv-motion-fast) ease !important;
}
.pv-button::after,.pv-btn::after { display:inline-block; transition:transform var(--pv-motion-fast) var(--pv-motion-spring),opacity var(--pv-motion-fast) ease; }
.pv-nav a::before { transition:opacity var(--pv-motion-medium) ease,transform var(--pv-motion-medium) var(--pv-motion-curve); }
.pv-command-state i,.pv-side-signal i,.pv-map-console-top span i,.pv-footer-signal i {
  animation: pvSignalPulse 2.15s ease-in-out infinite;
}
@keyframes pvSignalPulse { 0%,100% { opacity:.68; box-shadow:0 0 7px currentColor; } 50% { opacity:1; box-shadow:0 0 15px currentColor; } }

@media (hover:hover:where(html.pv-can-hover *)) {
  .pv-nav a:hover:where(html.pv-can-hover *),.pv-side-menu a:hover:where(html.pv-can-hover *) { transform:translate3d(0,-1px,0); }
  .pv-button:hover:where(html.pv-can-hover *):not(:disabled),.pv-btn:hover:where(html.pv-can-hover *):not(:disabled),button:hover:where(html.pv-can-hover *):not(:disabled),input[type="submit"]:hover:where(html.pv-can-hover *):not(:disabled),input[type="button"]:hover:where(html.pv-can-hover *):not(:disabled) {
    transform:translate3d(0,-1px,0);
    filter:brightness(1.07);
  }
  .pv-button:hover:where(html.pv-can-hover *)::after,.pv-btn:hover:where(html.pv-can-hover *)::after { transform:translate3d(3px,0,0); }
}

.pv-button:active:not(:disabled),.pv-btn:active:not(:disabled),button:active:not(:disabled),input[type="submit"]:active:not(:disabled),input[type="button"]:active:not(:disabled) {
  transform:translate3d(0,1px,0) scale(.992) !important;
  transition-duration:70ms !important;
}

input:not([type="hidden"]), select, textarea {
  transition:border-color var(--pv-motion-fast) ease,box-shadow var(--pv-motion-medium) ease,background-color var(--pv-motion-fast) ease !important;
}
input:not([type="hidden"]):focus, select:focus, textarea:focus {
  box-shadow:0 0 0 2px rgba(89,217,255,.07),0 0 22px rgba(52,141,255,.09) !important;
}

/* Hover depth/highlight shared by the main card families. */
.pv-interactive-surface {
  isolation:isolate;
  transition:
    transform var(--pv-motion-medium) var(--pv-motion-curve),
    border-color var(--pv-motion-medium) ease,
    box-shadow var(--pv-motion-medium) ease,
    filter var(--pv-motion-medium) ease !important;
}
@media (hover:hover:where(html.pv-can-hover *)) {
  .pv-interactive-surface:hover:where(html.pv-can-hover *) {
    transform:translate3d(0,-3px,0);
    filter:brightness(1.055) saturate(1.035);
    box-shadow:0 18px 42px rgba(0,0,0,.28),0 0 0 1px rgba(94,218,255,.035) inset !important;
  }
  .pv-map-card:hover:where(html.pv-can-hover *) .pv-map-card-image img,
  .pv-world-card:hover:where(html.pv-can-hover *) .pv-world-code,
  .pv-pokemon-select-card:hover:where(html.pv-can-hover *) .pv-pokemon-select-image img,
  .pv-arena-opponent:hover:where(html.pv-can-hover *) .pv-arena-trainer img,
  .pv-trade-card:hover:where(html.pv-can-hover *) .pv-trade-card-image img {
    transform:translate3d(0,-3px,0) scale(1.035);
    filter:drop-shadow(0 14px 22px rgba(0,0,0,.42)) brightness(1.07);
  }
}
.pv-map-card-image img,.pv-pokemon-select-image img,.pv-arena-trainer img,.pv-trade-card-image img,.pv-world-code {
  transition:transform var(--pv-motion-medium) var(--pv-motion-curve),filter var(--pv-motion-medium) ease !important;
}

/* Tables and dense lists retain their layout while gaining immediate hover focus. */
.pv-modern-page table tbody tr,
body[class*="pv-legacy"] table tbody tr {
  transition:background-color var(--pv-motion-fast) ease,box-shadow var(--pv-motion-fast) ease !important;
}
.pv-modern-page table tbody tr:hover:where(html.pv-can-hover *) { background-color:rgba(74,174,224,.045); }

/* -------------------------------------------------------------------------- */
/* Smooth authoritative map movement                                           */
/* -------------------------------------------------------------------------- */
.pv-map-actor {
  left:0 !important;
  top:0 !important;
  transform:translate3d(var(--pv-actor-x,0px),var(--pv-actor-y,0px),0);
  transform-origin:50% 100%;
  transition:
    transform 420ms cubic-bezier(.22,.72,.18,1),
    opacity 190ms ease,
    filter 180ms ease !important;
  will-change:transform;
}
.pv-world-map-stage .pv-map-actor { transition-duration:520ms,190ms,180ms !important; }
.pv-map-actor.is-spawning { opacity:0; transform:translate3d(var(--pv-actor-x,0px),var(--pv-actor-y,0px),0) scale(.72); }
.pv-map-actor.is-leaving { opacity:0; transform:translate3d(var(--pv-actor-x,0px),calc(var(--pv-actor-y,0px) - 4px),0) scale(.78); pointer-events:none; }
.pv-map-actor.is-walking .pv-map-sprite-top { animation:pvActorStepTop 210ms ease-in-out 2; }
.pv-map-actor.is-walking .pv-map-sprite-bottom { animation:pvActorStepBottom 210ms ease-in-out 2; }
.pv-world-map-stage .pv-map-actor.is-walking .pv-map-sprite-top,
.pv-world-map-stage .pv-map-actor.is-walking .pv-map-sprite-bottom { animation-duration:260ms; }
@keyframes pvActorStepTop { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-1.5px); } }
@keyframes pvActorStepBottom { 0%,100% { transform:translateY(0) scaleY(1); } 50% { transform:translateY(-1px) scaleY(.95); } }
.pv-map-actor-own::before {
  content:"";
  position:absolute;
  left:50%; bottom:-3px;
  width:18px; height:7px;
  transform:translateX(-50%);
  border-radius:50%;
  background:radial-gradient(ellipse,rgba(247,198,92,.28),transparent 68%);
  animation:pvOwnerAura 2s ease-in-out infinite;
  pointer-events:none;
}
@keyframes pvOwnerAura { 50% { opacity:.55; transform:translateX(-50%) scale(1.22); } }
.pv-map-actor-bot::before {
  content:"";
  position:absolute;
  inset:-3px;
  border:1px solid rgba(89,220,255,.0);
  transition:border-color var(--pv-motion-fast) ease,box-shadow var(--pv-motion-fast) ease;
  pointer-events:none;
}
.pv-map-actor-bot:hover:where(html.pv-can-hover *)::before { border-color:rgba(89,220,255,.34); box-shadow:0 0 10px rgba(89,220,255,.12); }
.pv-map-actor b {
  opacity:0;
  display:block !important;
  visibility:hidden;
  transform:translateX(-50%) translateY(3px) scale(.96);
  transition:opacity var(--pv-motion-fast) ease,transform var(--pv-motion-fast) var(--pv-motion-curve),visibility 0s linear var(--pv-motion-fast);
}
.pv-map-actor:hover:where(html.pv-can-hover *) b,.pv-map-actor:focus-visible b {
  opacity:1;
  visibility:visible;
  transform:translateX(-50%) translateY(0) scale(1);
  transition-delay:0s;
}
.pv-map-stage,
.pv-world-map-stage { transition:filter var(--pv-motion-medium) ease,box-shadow var(--pv-motion-medium) ease; }
.pv-map-stage.is-moving,.pv-world-map-stage.is-moving { filter:brightness(.985) saturate(1.025); box-shadow:0 0 0 8px rgba(71,182,225,.12),0 24px 60px rgba(0,0,0,.52),0 0 28px rgba(74,197,238,.08); }
.pv-map-stage.is-transitioning,.pv-world-map-stage.is-transitioning { animation:pvMapTransitionOut .34s ease both; }
@keyframes pvMapTransitionOut { to { filter:brightness(.55) saturate(.65); transform:scale(.985); opacity:.7; } }
.pv-map-art,.pv-world-map-art { transition:opacity .42s ease,filter .42s ease !important; }
.pv-map-stage:not(.is-map-ready) .pv-map-art,.pv-world-map-stage:not(.is-map-ready) .pv-world-map-art { opacity:.72; filter:brightness(.82); }
.pv-map-stage.is-map-ready .pv-map-art,.pv-world-map-stage.is-map-ready .pv-world-map-art { animation:pvMapArtReady .48s ease both; }
@keyframes pvMapArtReady { from { opacity:.74; filter:brightness(.86); } to { opacity:1; filter:none; } }
#pv-map-encounter,#pv-world-map-encounter { position:relative; overflow:hidden; }
#pv-map-encounter.is-refreshing > *,#pv-world-map-encounter.is-refreshing > * { animation:pvEncounterRefresh .3s var(--pv-motion-curve) both; }
#pv-map-encounter.has-encounter,#pv-world-map-encounter.has-encounter { animation:pvEncounterLock .6s ease both; }
@keyframes pvEncounterRefresh { from { opacity:0; transform:translateY(6px) scale(.985); } to { opacity:1; transform:none; } }
@keyframes pvEncounterLock { 0%,100% { box-shadow:none; } 45% { box-shadow:inset 0 0 28px rgba(89,217,255,.10),0 0 18px rgba(89,217,255,.05); } }
.pv-map-compass button[aria-busy="true"] { animation:pvControlBusy .72s ease-in-out infinite alternate; }
@keyframes pvControlBusy { to { filter:brightness(1.14); box-shadow:inset 0 0 18px rgba(89,217,255,.08) !important; } }

/* -------------------------------------------------------------------------- */
/* Battle presentation — energetic, readable and rewarding                     */
/* -------------------------------------------------------------------------- */
.pv-wild-arena { overflow:hidden; isolation:isolate; }
.pv-wild-arena::before {
  content:"";
  position:absolute;
  z-index:6;
  left:-28%; right:-28%; top:-30%;
  height:32%;
  pointer-events:none;
  background:linear-gradient(180deg,transparent,rgba(89,217,255,.035),rgba(89,217,255,.09),transparent);
  transform:skewY(-5deg) translateY(-150%);
  animation:pvArenaScan 5.6s 1.1s ease-in-out infinite;
}
@keyframes pvArenaScan { 0%,68% { transform:skewY(-5deg) translateY(-170%); opacity:0; } 74% { opacity:1; } 100% { transform:skewY(-5deg) translateY(520%); opacity:0; } }
.pv-wild-enemy { animation:pvEnemyEnter .62s .08s var(--pv-motion-curve) both; }
.pv-wild-player { animation:pvPlayerEnter .62s .16s var(--pv-motion-curve) both; }
.pv-wild-versus { animation:pvVersusEnter .52s .24s var(--pv-motion-spring) both; }
@keyframes pvEnemyEnter { from { opacity:0; transform:translate3d(18px,-6px,0) scale(.985); } to { opacity:1; transform:none; } }
@keyframes pvPlayerEnter { from { opacity:0; transform:translate3d(-18px,8px,0) scale(.985); } to { opacity:1; transform:none; } }
@keyframes pvVersusEnter { from { opacity:0; transform:scale(.72); } to { opacity:1; transform:none; } }

.pv-wild-sprite-zone img {
  transform-origin:50% 82%;
  animation:pvBattleIdle 3.1s ease-in-out infinite;
  transition:transform var(--pv-motion-medium) var(--pv-motion-spring),filter var(--pv-motion-medium) ease !important;
}
.pv-wild-enemy .pv-wild-sprite-zone img { animation-delay:-1.2s; }
@keyframes pvBattleIdle { 0%,100% { transform:translate3d(0,0,0) rotate(-.25deg); } 50% { transform:translate3d(0,-5px,0) rotate(.25deg); } }
.pv-wild-sprite-zone:hover:where(html.pv-can-hover *) img { transform:translate3d(0,-6px,0) scale(1.045); filter:drop-shadow(0 20px 28px rgba(0,0,0,.48)) brightness(1.08); }
.pv-wild-scan-ring { animation:pvScanRingBreath 2.7s ease-in-out infinite; }
.pv-wild-scan-ring::before,.pv-wild-scan-ring::after {
  content:"";
  position:absolute;
  inset:10px;
  border-radius:50%;
  border:1px dashed rgba(89,217,255,.10);
  animation:pvScanRotate 9s linear infinite;
}
.pv-wild-scan-ring::after { inset:29px; border-style:solid; border-color:rgba(247,198,92,.08); animation-direction:reverse; animation-duration:6.5s; }
@keyframes pvScanRingBreath { 50% { transform:scale(1.045); opacity:.82; } }
@keyframes pvScanRotate { to { transform:rotate(360deg); } }
.pv-wild-hp i,.pv-wild-team-grid i b,.pv-arena-summary-grid i b {
  transform-origin:left center;
  animation:pvMeterFill .72s .22s var(--pv-motion-curve) both;
}
@keyframes pvMeterFill { from { transform:scaleX(0); filter:brightness(1.4); } to { transform:scaleX(1); filter:none; } }
.pv-wild-versus span { animation:pvVersusPulse 2.4s 1s ease-in-out infinite; }
@keyframes pvVersusPulse { 50% { box-shadow:0 0 25px rgba(89,217,255,.09); border-color:rgba(89,217,255,.38); } }

.pv-wild-lower-grid > section { animation:pvBattlePanelRise .55s .28s var(--pv-motion-curve) both; }
.pv-wild-lower-grid > section:nth-child(2) { animation-delay:.34s; }
@keyframes pvBattlePanelRise { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } }
.pv-wild-log > div { animation:pvLogLineIn .32s var(--pv-motion-curve) both; }
.pv-wild-log > div:nth-last-child(1) { animation-delay:.16s; }
.pv-wild-log > div:nth-last-child(2) { animation-delay:.12s; }
.pv-wild-log > div:nth-last-child(3) { animation-delay:.08s; }
@keyframes pvLogLineIn { from { opacity:0; transform:translateX(-5px); } to { opacity:1; transform:none; } }

.pv-wild-command-view.active { animation:pvCommandViewIn .24s var(--pv-motion-curve) both; }
@keyframes pvCommandViewIn { from { opacity:0; transform:translateY(5px); } to { opacity:1; transform:none; } }
.pv-wild-command-tabs button { position:relative; overflow:hidden; }
.pv-wild-command-tabs button::after {
  content:"";
  position:absolute;
  left:18%; right:18%; bottom:0;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--pv-cyan),transparent);
  transform:scaleX(0);
  transition:transform var(--pv-motion-medium) var(--pv-motion-curve);
}
.pv-wild-command-tabs button.active::after,.pv-wild-command-tabs button:hover:where(html.pv-can-hover *)::after { transform:scaleX(1); }
.pv-wild-move-grid button,.pv-wild-item-grid button,.pv-wild-team-grid button {
  position:relative;
  overflow:hidden;
  transition:transform var(--pv-motion-fast) var(--pv-motion-curve),border-color var(--pv-motion-fast) ease,box-shadow var(--pv-motion-medium) ease,filter var(--pv-motion-fast) ease !important;
}
.pv-wild-move-grid button::after,.pv-wild-item-grid button::after,.pv-wild-team-grid button::after {
  content:"";
  position:absolute;
  inset:-80% -35%;
  background:linear-gradient(105deg,transparent 42%,rgba(190,241,255,.09) 49%,rgba(255,255,255,.13) 50%,transparent 58%);
  transform:translateX(-58%);
  transition:transform .58s var(--pv-motion-curve);
  pointer-events:none;
}
.pv-wild-move-grid button:hover:where(html.pv-can-hover *)::after,.pv-wild-item-grid button:hover:where(html.pv-can-hover *)::after,.pv-wild-team-grid button:hover:where(html.pv-can-hover *)::after { transform:translateX(58%); }
.pv-wild-move-grid button:hover:where(html.pv-can-hover *):not(:disabled),.pv-wild-item-grid button:hover:where(html.pv-can-hover *):not(:disabled),.pv-wild-team-grid button:hover:where(html.pv-can-hover *):not(:disabled) {
  transform:translateY(-2px) scale(1.008) !important;
  box-shadow:0 12px 26px rgba(0,0,0,.22),inset 0 0 22px rgba(89,217,255,.035) !important;
}
.pv-wild-move-grid button:hover:where(html.pv-can-hover *) strong { color:#f0fbff; text-shadow:0 0 14px rgba(89,217,255,.18); }
.is-commanding { animation:pvCommandCommit .3s ease both !important; }
@keyframes pvCommandCommit { 45% { transform:scale(.975); filter:brightness(1.28); box-shadow:0 0 28px rgba(89,217,255,.18) !important; } }
.pv-battle-command-sent .pv-wild-arena { animation:pvBattleCharge .32s ease both; }
@keyframes pvBattleCharge { 45% { filter:brightness(1.05) saturate(1.08); } }

.pv-wild-result { animation:pvResultReveal .62s var(--pv-motion-spring) both; }
.pv-wild-result-won,.pv-wild-result-captured {
  box-shadow:0 18px 44px rgba(0,0,0,.22),inset 0 0 38px rgba(77,230,166,.035);
}
.pv-wild-result-won h2,.pv-wild-result-captured h2 { animation:pvVictoryText 1.8s .35s ease-in-out 2; }
@keyframes pvResultReveal { from { opacity:0; transform:translateY(-9px) scale(.975); } to { opacity:1; transform:none; } }
@keyframes pvVictoryText { 50% { text-shadow:0 0 22px rgba(77,230,166,.24); } }
.pv-wild-rewards b,.pv-combat-outcome-reward { animation:pvRewardPop .48s .28s var(--pv-motion-spring) both; }
.pv-wild-rewards b:nth-child(2) { animation-delay:.37s; }
@keyframes pvRewardPop { from { opacity:0; transform:scale(.82); } to { opacity:1; transform:none; } }
.pv-combat-outcome-roster img { animation:pvRosterPop .42s var(--pv-motion-spring) both; }
.pv-combat-outcome-roster img:nth-child(2){animation-delay:.05s}.pv-combat-outcome-roster img:nth-child(3){animation-delay:.10s}.pv-combat-outcome-roster img:nth-child(4){animation-delay:.15s}.pv-combat-outcome-roster img:nth-child(5){animation-delay:.20s}.pv-combat-outcome-roster img:nth-child(6){animation-delay:.25s}
@keyframes pvRosterPop { from { opacity:0; transform:translateY(6px) scale(.78); } to { opacity:1; transform:none; } }

/* Decorative reward particles; aria-hidden and never part of battle state. */
.pv-celebration { position:absolute; inset:0; z-index:0; overflow:hidden; pointer-events:none; }
.pv-celebration i {
  position:absolute;
  left:var(--pv-particle-x,50%);
  top:-14px;
  width:5px;
  height:11px;
  border:1px solid rgba(121,239,192,.52);
  background:rgba(77,230,166,.34);
  box-shadow:0 0 10px rgba(77,230,166,.15);
  animation:pvParticleFall var(--pv-particle-duration,1900ms) var(--pv-particle-delay,0ms) cubic-bezier(.15,.65,.25,1) both;
}
.pv-celebration i:nth-child(3n) { width:4px; height:4px; border-radius:50%; background:rgba(89,217,255,.48); border-color:rgba(89,217,255,.62); }
.pv-celebration i:nth-child(4n) { background:rgba(247,198,92,.48); border-color:rgba(247,198,92,.62); }
.pv-celebration-capture i { border-radius:50%; background:rgba(89,217,255,.42); border-color:rgba(89,217,255,.62); }
.pv-celebration-defeat i { opacity:.28; background:rgba(255,105,130,.25); border-color:rgba(255,105,130,.34); }
@keyframes pvParticleFall {
  0% { opacity:0; transform:translate3d(0,-8px,0) rotate(0deg) scale(.6); }
  12% { opacity:1; }
  100% { opacity:0; transform:translate3d(var(--pv-particle-drift,0px),390px,0) rotate(540deg) scale(1); }
}

.pv-live-sync-core>.pv-wild-scan-ring,.pv-live-runtime-wait>.pv-wild-scan-ring { animation:pvLiveOrbit 3.4s linear infinite; }
@keyframes pvLiveOrbit { to { transform:translateX(-50%) rotate(360deg); } }

/* Mobile/touch avoids hover-only displacement; motion remains subtle. */
@media (hover:none) {
  .pv-interactive-surface { transform:none !important; }
  .pv-wild-sprite-zone:hover:where(html.pv-can-hover *) img { transform:none; }
}



/* -------------------------------------------------------------------------- */
/* v24.0.1 — responsive media/UI containment hardening                         */
/* -------------------------------------------------------------------------- */
html, body { max-width:100%; }
body { overflow-x:clip; }

/* Ordinary page media may never force the application shell wider than its
   viewport. Native Vortex/Kanto/Hoenn map art keeps its explicit stage sizing
   below and remains scrollable inside the dedicated map viewport. */
picture, video, svg { max-width:100%; }
#container,
#contentContainer,
#content,
#scroll,
#scrollContent,
#ajax,
.pv-site-shell,
.pv-main-column,
.pv-page,
.pv-auth,
.pv-auth-panel,
.pv-interactive-surface { min-width:0; max-width:100%; }

#scrollContent > *, #ajax > *, .pv-page > * { min-width:0; max-width:100%; }
input, select, textarea, button { min-width:0; max-width:100%; }
pre { max-width:100%; overflow:auto; }

/* Preserve aspect ratio for legacy width/height attributes and malformed or
   unexpectedly large replacement artwork. More-specific component rules still
   control intentional fixed-size sprites. */
#scrollContent img:not(.pv-map-art):not(.pv-world-map-art),
#ajax img:not(.pv-map-art):not(.pv-world-map-art),
.pv-page img:not(.pv-map-art):not(.pv-world-map-art),
.pv-auth img:not(.pv-map-art):not(.pv-world-map-art) {
  max-width:100% !important;
  height:auto;
}
.pv-image-fallback { max-width:100% !important; max-height:100% !important; object-fit:contain !important; }

/* Hover/animation scaling is clipped by the visual frame instead of escaping
   into adjacent UI. */
.pv-map-card-image,
.pv-pokemon-select-image,
.pv-arena-trainer,
.pv-trade-card-image,
.pv-wild-sprite-zone { overflow:hidden; }

@supports not (overflow: clip) {
  body { overflow-x:hidden; }
}

/* Accessibility contract: all decoration yields to the OS reduced-motion flag. */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto !important; }
  *,*::before,*::after {
    animation-duration:.001ms !important;
    animation-delay:0ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    scroll-behavior:auto !important;
  }
  .pv-motion-reveal { opacity:1 !important; transform:none !important; }
  .pv-map-actor { will-change:auto; }
  .pv-celebration { display:none !important; }
}

/* -------------------------------------------------------------------------- */
/* v24.1.0 — cinematic battle-turn replay, impacts and capture choreography   */
/* -------------------------------------------------------------------------- */
.pv-wild-arena[data-pv-battle-fx-stage],
.pv-combat-modern-surface .pv-wild-arena,
.pv-legacy-combat-table {
  position:relative;
  isolation:isolate;
}
.pv-cinematic-fx-layer {
  position:absolute;
  inset:0;
  z-index:24;
  pointer-events:none;
  overflow:hidden;
}
.pv-wild-sprite-zone[data-pv-fighter],
.pv-combat-modern-surface .pv-wild-sprite-zone,
.pv-legacy-battle-fighter {
  transform:translate3d(0,0,0);
  transform-origin:50% 78%;
  will-change:transform,filter,opacity;
}
.pv-wild-sprite-zone[data-pv-fighter] img,
.pv-combat-modern-surface .pv-wild-sprite-zone img,
.pv-legacy-battle-sprite {
  will-change:transform,filter,opacity;
}

/* Strong, readable forward attacks. Player is on the right and enemy on left. */
.is-fx-lunging-player { animation:pvFxLungePlayer .58s cubic-bezier(.16,.88,.25,1) both !important; z-index:18 !important; }
.is-fx-lunging-enemy { animation:pvFxLungeEnemy .58s cubic-bezier(.16,.88,.25,1) both !important; z-index:18 !important; }
@keyframes pvFxLungePlayer {
  0% { transform:translate3d(0,0,0) scale(1); filter:brightness(1); }
  18% { transform:translate3d(18px,3px,0) scale(.96); filter:brightness(1.05); }
  46% { transform:translate3d(-86px,-5px,0) scale(1.13) rotate(-2deg); filter:brightness(1.35) drop-shadow(0 0 22px rgba(89,217,255,.38)); }
  62% { transform:translate3d(-58px,0,0) scale(1.04); }
  100% { transform:translate3d(0,0,0) scale(1); filter:brightness(1); }
}
@keyframes pvFxLungeEnemy {
  0% { transform:translate3d(0,0,0) scale(1); filter:brightness(1); }
  18% { transform:translate3d(-18px,3px,0) scale(.96); filter:brightness(1.05); }
  46% { transform:translate3d(86px,-5px,0) scale(1.13) rotate(2deg); filter:brightness(1.35) drop-shadow(0 0 22px rgba(247,198,92,.32)); }
  62% { transform:translate3d(58px,0,0) scale(1.04); }
  100% { transform:translate3d(0,0,0) scale(1); filter:brightness(1); }
}
.is-fx-hit-enemy { animation:pvFxHitEnemy .46s cubic-bezier(.2,.8,.3,1) both !important; }
.is-fx-hit-player { animation:pvFxHitPlayer .46s cubic-bezier(.2,.8,.3,1) both !important; }
@keyframes pvFxHitEnemy {
  0% { transform:translate3d(0,0,0); filter:none; }
  12% { transform:translate3d(-14px,-2px,0) scale(.96); filter:brightness(2.2) saturate(.25); }
  26% { transform:translate3d(21px,3px,0) rotate(2deg); filter:brightness(1.2); }
  40% { transform:translate3d(-11px,0,0) rotate(-1deg); }
  58% { transform:translate3d(8px,0,0); }
  100% { transform:translate3d(0,0,0); filter:none; }
}
@keyframes pvFxHitPlayer {
  0% { transform:translate3d(0,0,0); filter:none; }
  12% { transform:translate3d(14px,-2px,0) scale(.96); filter:brightness(2.2) saturate(.25); }
  26% { transform:translate3d(-21px,3px,0) rotate(-2deg); filter:brightness(1.2); }
  40% { transform:translate3d(11px,0,0) rotate(1deg); }
  58% { transform:translate3d(-8px,0,0); }
  100% { transform:translate3d(0,0,0); filter:none; }
}
.is-fx-dodging { animation:pvFxDodge .42s cubic-bezier(.2,.85,.3,1) both !important; }
@keyframes pvFxDodge { 0%,100%{transform:none} 34%{transform:translate3d(32px,-9px,0) rotate(3deg)} 64%{transform:translate3d(-11px,0,0) rotate(-1deg)} }

/* Turn impact core + radial energy shards. */
.pv-turn-impact {
  --pv-fx-rgb:214,231,239;
  position:absolute;
  width:34px;
  height:34px;
  margin:-17px 0 0 -17px;
  transform:scale(var(--pv-impact-scale,1));
  z-index:30;
}
.pv-turn-impact b,
.pv-turn-impact::before,
.pv-turn-impact::after {
  content:"";
  position:absolute;
  inset:0;
  border-radius:50%;
}
.pv-turn-impact b {
  background:radial-gradient(circle,rgba(255,255,255,.98) 0 10%,rgba(var(--pv-fx-rgb),.86) 12% 28%,rgba(var(--pv-fx-rgb),.12) 50%,transparent 72%);
  box-shadow:0 0 18px rgba(var(--pv-fx-rgb),.75),0 0 50px rgba(var(--pv-fx-rgb),.34);
  animation:pvFxImpactCore .48s ease-out both;
}
.pv-turn-impact::before {
  border:2px solid rgba(var(--pv-fx-rgb),.82);
  box-shadow:0 0 16px rgba(var(--pv-fx-rgb),.38);
  animation:pvFxImpactRing .58s ease-out both;
}
.pv-turn-impact::after {
  inset:-9px;
  border:1px solid rgba(255,255,255,.68);
  animation:pvFxImpactRing .68s .05s ease-out both;
}
.pv-turn-impact > i {
  position:absolute;
  left:50%;
  top:50%;
  width:3px;
  height:26px;
  margin-left:-1.5px;
  margin-top:-13px;
  border-radius:999px;
  background:linear-gradient(transparent,rgba(255,255,255,.98),rgba(var(--pv-fx-rgb),.86),transparent);
  box-shadow:0 0 9px rgba(var(--pv-fx-rgb),.55);
  transform-origin:50% 50%;
  animation:pvFxShard .54s var(--pv-shard-delay,0ms) cubic-bezier(.1,.7,.25,1) both;
}
@keyframes pvFxImpactCore { 0%{opacity:0;transform:scale(.15)} 18%{opacity:1;transform:scale(1.45)} 100%{opacity:0;transform:scale(2.8)} }
@keyframes pvFxImpactRing { 0%{opacity:.95;transform:scale(.3)} 100%{opacity:0;transform:scale(4.2)} }
@keyframes pvFxShard {
  0% { opacity:0; transform:rotate(var(--pv-shard-angle)) translateY(0) scaleY(.25); }
  18% { opacity:1; }
  100% { opacity:0; transform:rotate(var(--pv-shard-angle)) translateY(calc(var(--pv-shard-distance) * -1)) scaleY(1.1); }
}
.pv-turn-impact.is-critical { filter:brightness(1.35); }
.pv-turn-impact.is-critical b { box-shadow:0 0 26px rgba(255,255,255,.92),0 0 74px rgba(var(--pv-fx-rgb),.72); }

/* Type-driven procedural effects: no new artwork is required. */
.pv-fx-type-normal { --pv-fx-rgb:214,231,239; }
.pv-fx-type-fire { --pv-fx-rgb:255,105,67; }
.pv-fx-type-water { --pv-fx-rgb:72,171,255; }
.pv-fx-type-electric { --pv-fx-rgb:255,220,72; }
.pv-fx-type-grass { --pv-fx-rgb:91,214,126; }
.pv-fx-type-ice { --pv-fx-rgb:111,224,255; }
.pv-fx-type-fighting { --pv-fx-rgb:255,119,82; }
.pv-fx-type-poison { --pv-fx-rgb:185,101,244; }
.pv-fx-type-ground { --pv-fx-rgb:216,169,91; }
.pv-fx-type-flying { --pv-fx-rgb:136,196,255; }
.pv-fx-type-psychic { --pv-fx-rgb:255,100,191; }
.pv-fx-type-bug { --pv-fx-rgb:164,214,72; }
.pv-fx-type-rock { --pv-fx-rgb:196,168,100; }
.pv-fx-type-ghost { --pv-fx-rgb:145,108,226; }
.pv-fx-type-dragon { --pv-fx-rgb:99,120,255; }
.pv-fx-type-dark { --pv-fx-rgb:126,112,143; }
.pv-fx-type-steel { --pv-fx-rgb:159,197,217; }
.pv-fx-type-fairy { --pv-fx-rgb:255,148,214; }

.pv-turn-move-banner {
  --pv-fx-rgb:214,231,239;
  position:absolute;
  z-index:35;
  transform:translate(-50%,-50%);
  min-width:88px;
  max-width:180px;
  padding:5px 10px;
  border:1px solid rgba(var(--pv-fx-rgb),.48);
  background:linear-gradient(90deg,rgba(3,15,27,.18),rgba(3,15,27,.94),rgba(var(--pv-fx-rgb),.14),rgba(3,15,27,.94),rgba(3,15,27,.18));
  box-shadow:0 8px 26px rgba(0,0,0,.28),0 0 24px rgba(var(--pv-fx-rgb),.12);
  color:rgb(var(--pv-fx-rgb));
  text-align:center;
  text-transform:uppercase;
  font:900 9px/1.1 "Arial Narrow","Segoe UI",sans-serif;
  letter-spacing:.12em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  animation:pvFxMoveBanner .84s cubic-bezier(.16,.8,.25,1) both;
}
@keyframes pvFxMoveBanner { 0%{opacity:0;transform:translate(-50%,-30%) scale(.82)} 18%{opacity:1;transform:translate(-50%,-50%) scale(1.04)} 72%{opacity:1} 100%{opacity:0;transform:translate(-50%,-80%) scale(.98)} }

.pv-turn-float {
  position:absolute;
  z-index:38;
  transform:translate(-50%,-50%);
  padding:3px 7px;
  border-radius:4px;
  background:rgba(3,12,21,.84);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 5px 18px rgba(0,0,0,.38);
  color:#f4fbff;
  font:1000 12px/1 "Arial Narrow","Segoe UI",sans-serif;
  letter-spacing:.08em;
  text-shadow:0 2px 6px #000;
  white-space:nowrap;
  animation:pvFxFloat .95s cubic-bezier(.15,.65,.25,1) both;
}
@keyframes pvFxFloat { 0%{opacity:0;transform:translate(-50%,-20%) scale(.72)} 18%{opacity:1;transform:translate(-50%,-55%) scale(1.08)} 75%{opacity:1} 100%{opacity:0;transform:translate(-50%,-145%) scale(.96)} }
.pv-turn-float.is-critical,.pv-turn-float.is-critical-callout { color:#fff0a3;border-color:rgba(255,219,92,.46);box-shadow:0 0 22px rgba(255,207,74,.18); }
.pv-turn-float.is-critical-callout { margin-top:23px;font-size:9px; }
.pv-turn-float.is-effective { color:#8fffd0;border-color:rgba(76,232,168,.38); }
.pv-turn-float.is-resisted { color:#9fb6c3; }
.pv-turn-float.is-miss { color:#d7e9f1;letter-spacing:.18em; }
.pv-turn-float.is-heal { color:#8fffd0;border-color:rgba(76,232,168,.38); }
.pv-turn-float.is-switch { color:#86e8ff;border-color:rgba(89,217,255,.42); }
.pv-turn-float.is-capture-success { color:#b8ffde;border-color:rgba(82,242,172,.52);font-size:11px; }
.pv-turn-float.is-breakout { color:#ffd09d;border-color:rgba(255,157,88,.48); }

/* Arena-wide hit frames and micro camera kick. */
.pv-fx-stage-impact { animation:pvFxArenaKick .25s linear both; }
.pv-fx-stage-critical { animation:pvFxArenaCritical .36s linear both; }
.pv-fx-stage-capture-hit { animation:pvFxCaptureFlash .22s ease-out both; }
.pv-fx-stage-capture-success { animation:pvFxCaptureSuccessArena .9s ease-out both; }
@keyframes pvFxArenaKick { 0%,100%{transform:none;filter:none} 22%{transform:translate3d(-3px,1px,0);filter:brightness(1.1)} 44%{transform:translate3d(4px,-1px,0)} 68%{transform:translate3d(-2px,0,0)} }
@keyframes pvFxArenaCritical { 0%,100%{transform:none;filter:none} 12%{transform:translate3d(-7px,2px,0);filter:brightness(1.4) contrast(1.08)} 28%{transform:translate3d(8px,-2px,0)} 46%{transform:translate3d(-5px,1px,0)} 68%{transform:translate3d(3px,0,0)} }
@keyframes pvFxCaptureFlash { 0%{filter:none} 38%{filter:brightness(1.7) saturate(.35)} 100%{filter:none} }
@keyframes pvFxCaptureSuccessArena { 0%,100%{filter:none} 20%,55%{filter:brightness(1.12) saturate(1.12)} }

/* Recovery, switching and intro beats. */
.is-fx-healing { animation:pvFxHeal .7s ease both !important; }
.is-fx-switching { animation:pvFxSwitch .68s cubic-bezier(.16,.8,.25,1) both !important; }
.is-fx-running { animation:pvFxRun .62s cubic-bezier(.2,.7,.2,1) both !important; }
.is-fx-intro-player { animation:pvFxIntroPlayer .72s cubic-bezier(.16,.8,.25,1) both !important; }
.is-fx-intro-enemy { animation:pvFxIntroEnemy .72s cubic-bezier(.16,.8,.25,1) both !important; }
@keyframes pvFxHeal { 0%,100%{filter:none;transform:none} 35%{filter:brightness(1.45) drop-shadow(0 0 24px rgba(74,235,170,.42));transform:translateY(-5px) scale(1.06)} 65%{filter:brightness(1.2);transform:translateY(-2px) scale(1.02)} }
@keyframes pvFxSwitch { 0%{opacity:.2;transform:translateY(18px) scale(.6);filter:brightness(2.2)} 38%{opacity:1;transform:translateY(-5px) scale(1.12);filter:brightness(1.45)} 100%{opacity:1;transform:none;filter:none} }
@keyframes pvFxRun { 0%{opacity:1;transform:none} 38%{transform:translateX(-25px) scale(.96)} 100%{opacity:0;transform:translateX(180px) scale(.82)} }
@keyframes pvFxIntroPlayer { 0%{opacity:0;transform:translateX(72px) scale(.78);filter:brightness(1.8)} 58%{opacity:1;transform:translateX(-8px) scale(1.08)} 100%{transform:none;filter:none} }
@keyframes pvFxIntroEnemy { 0%{opacity:0;transform:translateX(-72px) scale(.78);filter:brightness(1.8)} 58%{opacity:1;transform:translateX(8px) scale(1.08)} 100%{transform:none;filter:none} }

/* Capture: existing packaged Ball art is thrown, absorbs the target, lands, shakes, and resolves. */
.pv-capture-ball-fx {
  position:absolute !important;
  z-index:46 !important;
  width:48px !important;
  height:48px !important;
  object-fit:contain !important;
  transform:translate(-50%,-50%);
  transform-origin:50% 50%;
  filter:drop-shadow(0 8px 11px rgba(0,0,0,.62)) drop-shadow(0 0 10px rgba(255,255,255,.15));
  image-rendering:auto;
  pointer-events:none;
}
.pv-capture-ball-fx.is-grounded { filter:drop-shadow(0 10px 8px rgba(0,0,0,.6)) brightness(1.05); }
.pv-capture-ball-fx.is-captured { animation:pvFxBallLocked .82s ease-in-out infinite alternate; }
.pv-capture-ball-fx.is-breakout { animation:pvFxBallBreakout .58s ease-out both; }
@keyframes pvFxBallLocked { to { filter:drop-shadow(0 8px 11px rgba(0,0,0,.62)) drop-shadow(0 0 19px rgba(85,239,173,.66)) brightness(1.16); } }
@keyframes pvFxBallBreakout { 0%{filter:brightness(1)} 22%{filter:brightness(3);transform:scale(1.25)} 100%{opacity:0;filter:brightness(1);transform:scale(1.7)} }
.is-fx-capture-target .pv-wild-scan-ring { animation:pvFxCaptureRing .48s linear infinite; }
@keyframes pvFxCaptureRing { to { transform:rotate(90deg) scale(.9);border-color:rgba(255,255,255,.42);box-shadow:0 0 0 18px rgba(89,217,255,.05),0 0 42px rgba(89,217,255,.2); } }
.pv-fx-reappear { animation:pvFxCaptureEscape .58s cubic-bezier(.15,.8,.25,1) both !important; }
@keyframes pvFxCaptureEscape { 0%{opacity:0;transform:scale(.1);filter:brightness(4)} 46%{opacity:1;transform:scale(1.18);filter:brightness(1.7)} 100%{opacity:1;transform:scale(1);filter:none} }
.pv-capture-success-beacon {
  position:absolute;
  z-index:42;
  width:14px;
  height:14px;
  margin:-7px 0 0 -7px;
  border-radius:50%;
  background:#c8ffe3;
  box-shadow:0 0 18px rgba(88,245,179,.9),0 0 60px rgba(88,245,179,.38);
  animation:pvFxCaptureBeaconCore .9s ease-out both;
}
.pv-capture-success-beacon::before {
  content:"";
  position:absolute;
  left:50%;
  bottom:0;
  width:2px;
  height:180px;
  transform:translateX(-50%);
  background:linear-gradient(to top,rgba(102,255,194,.55),rgba(102,255,194,.1),transparent);
  filter:blur(.2px);
  animation:pvFxCaptureBeam .9s ease-out both;
}
.pv-capture-success-beacon i {
  position:absolute;
  left:50%;top:50%;
  width:18px;height:8px;
  margin:-4px 0 0 -9px;
  border:1px solid rgba(114,255,202,.72);
  border-radius:50%;
  animation:pvFxCaptureBeaconRing .95s ease-out both;
}
.pv-capture-success-beacon i:nth-child(2){animation-delay:.12s}.pv-capture-success-beacon i:nth-child(3){animation-delay:.24s}.pv-capture-success-beacon i:nth-child(4){animation-delay:.36s}
@keyframes pvFxCaptureBeaconCore { 0%{opacity:0;transform:scale(.2)} 25%{opacity:1;transform:scale(1.3)} 100%{opacity:0;transform:scale(.8)} }
@keyframes pvFxCaptureBeam { 0%{opacity:0;transform:translateX(-50%) scaleY(.1);transform-origin:bottom} 24%{opacity:1;transform:translateX(-50%) scaleY(1)} 100%{opacity:0;transform:translateX(-50%) scaleY(1.25)} }
@keyframes pvFxCaptureBeaconRing { 0%{opacity:.9;transform:translate(-0,-0) scale(.2)} 100%{opacity:0;transform:scale(5)} }

/* Legacy trainer battles gain a modern cinematic stage without rewriting battle authority. */
.pv-legacy-combat-table {
  overflow:visible !important;
  border-collapse:separate !important;
}
.pv-legacy-combat-table .pv-legacy-battle-fighter {
  position:relative;
  min-height:150px;
  display:grid;
  place-items:center;
  align-content:center;
  padding:10px;
  overflow:visible;
}
.pv-legacy-battle-sprite {
  width:112px !important;
  height:112px !important;
  object-fit:contain;
  filter:drop-shadow(0 14px 18px rgba(0,0,0,.42));
  transform-origin:50% 82%;
}
.pv-legacy-fx-stage::before {
  content:"";
  position:absolute;
  inset:8px;
  z-index:-1;
  pointer-events:none;
  background:radial-gradient(circle at 50% 52%,rgba(75,196,238,.08),transparent 42%);
  border:1px solid rgba(75,196,238,.08);
}

@media(max-width:1100px) {
  .is-fx-lunging-player { animation-name:pvFxLungePlayerCompact !important; }
  .is-fx-lunging-enemy { animation-name:pvFxLungeEnemyCompact !important; }
  @keyframes pvFxLungePlayerCompact { 0%,100%{transform:none} 18%{transform:translateX(12px) scale(.96)} 48%{transform:translateX(-54px) translateY(-5px) scale(1.1)} 66%{transform:translateX(-30px) scale(1.03)} }
  @keyframes pvFxLungeEnemyCompact { 0%,100%{transform:none} 18%{transform:translateX(-12px) scale(.96)} 48%{transform:translateX(54px) translateY(-5px) scale(1.1)} 66%{transform:translateX(30px) scale(1.03)} }
}

@media(prefers-reduced-motion:reduce) {
  .pv-cinematic-fx-layer,
  .pv-turn-impact,
  .pv-turn-float,
  .pv-turn-move-banner,
  .pv-capture-ball-fx,
  .pv-capture-success-beacon { display:none !important; }
  .is-fx-lunging-player,.is-fx-lunging-enemy,.is-fx-hit-player,.is-fx-hit-enemy,.is-fx-dodging,
  .is-fx-healing,.is-fx-switching,.is-fx-running,.is-fx-intro-player,.is-fx-intro-enemy,.pv-fx-reappear {
    animation:none !important;
    transform:none !important;
    filter:none !important;
  }
}

/* v24.1.1 — unified cinematic battle stage hardening. Trainer/Snapshot and Live
   battles use the Wild Battle arena grammar without changing battle authority. */
.pv-combat-continue-panel{display:grid;align-content:center;gap:14px;min-height:250px;padding:22px!important}
.pv-combat-continue-copy{display:grid;gap:6px;padding:16px;border:1px solid rgba(80,196,235,.14);background:linear-gradient(145deg,rgba(7,37,57,.84),rgba(3,20,33,.9))}
.pv-combat-continue-copy strong{color:#e2f7ff;font-size:16px;letter-spacing:.02em}
.pv-combat-continue-copy span{color:#7193a5;font-size:9px;line-height:1.6}
.pv-combat-continue-panel>.pv-button{justify-self:start;min-width:170px}
.pv-live-runtime-page .pv-live-command-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}
.pv-live-runtime-page .pv-wild-command-view{min-height:270px}
.pv-live-runtime-page .pv-wild-command-view.active{animation:pvUnifiedCommandReveal .26s cubic-bezier(.2,.75,.25,1) both}
.pv-live-runtime-page .pv-wild-run-box{min-height:250px;gap:8px;border:1px solid rgba(225,111,105,.10);background:radial-gradient(circle at 15% 18%,rgba(190,65,65,.08),transparent 38%)}
.pv-live-runtime-page .pv-wild-run-box>strong{color:#f0d8d8;font-size:15px}
.pv-live-runtime-page .pv-wild-run-box>span{max-width:500px;color:#886f78;font-size:9px;line-height:1.6}
.pv-live-runtime-page .pv-wild-run-box form{margin-top:8px}
@keyframes pvUnifiedCommandReveal{0%{opacity:0;transform:translateY(7px)}100%{opacity:1;transform:none}}

/* A KO is now a staged combat beat rather than an abrupt static zero-HP card. */
.pv-wild-sprite-zone.is-fx-fainting{animation:pvFxFaint .66s cubic-bezier(.2,.7,.25,1) both!important}
.pv-wild-sprite-zone.is-fainted{opacity:.13;filter:grayscale(1) brightness(.58);transform:translateY(22px) scale(.76)}
.pv-turn-float.is-faint{color:#ffd1d1;border-color:rgba(255,105,105,.42);background:rgba(34,8,14,.9);box-shadow:0 0 26px rgba(255,77,77,.17);font-size:10px;letter-spacing:.14em}
@keyframes pvFxFaint{
  0%{opacity:1;transform:none;filter:none}
  20%{opacity:1;transform:translateY(-7px) scale(1.08);filter:brightness(2.15) saturate(.2)}
  48%{opacity:.82;transform:translateY(7px) scale(.92);filter:grayscale(.55) brightness(1.15)}
  100%{opacity:.13;transform:translateY(22px) scale(.76);filter:grayscale(1) brightness(.58)}
}

/* The arena is the visual source of truth for every modern battle mode. */
.pv-combat-modern-arena[data-pv-battle-fx-stage="standard"],
.pv-live-runtime-page [data-pv-battle-fx-stage="live"]{isolation:isolate;overflow:hidden}
.pv-combat-modern-arena[data-pv-battle-fx-stage="standard"]::after,
.pv-live-runtime-page [data-pv-battle-fx-stage="live"]::after{content:"";position:absolute;inset:0;z-index:8;pointer-events:none;opacity:.20;background:linear-gradient(105deg,transparent 0 42%,rgba(85,215,255,.09) 49%,transparent 57%);transform:translateX(-120%);animation:pvBattleStageSweep 6.2s ease-in-out infinite}
@keyframes pvBattleStageSweep{0%,68%{transform:translateX(-120%);opacity:0}76%{opacity:.24}92%{transform:translateX(120%);opacity:.12}100%{transform:translateX(120%);opacity:0}}

@media(max-width:680px){.pv-live-runtime-page .pv-live-command-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.pv-combat-continue-panel{min-height:210px;padding:14px!important}}
@media(prefers-reduced-motion:reduce){.pv-wild-sprite-zone.is-fx-fainting{animation:none!important}.pv-wild-sprite-zone.is-fainted{opacity:.35;filter:grayscale(.7);transform:none}.pv-live-runtime-page .pv-wild-command-view.active{animation:none!important}.pv-combat-modern-arena[data-pv-battle-fx-stage="standard"]::after,.pv-live-runtime-page [data-pv-battle-fx-stage="live"]::after{animation:none!important;display:none!important}}

/* ========================================================================== */
/* v25.0.0 — Pokémon Rival Network visual system                             */
/* Bright Pokémon-world art direction replacing the prior sci-fi navy shell.  */
/* Battle-specific cinematic selectors above remain authoritative and intact. */
/* ========================================================================== */
:root{
  color-scheme:light;
  --pv-bg:#dff4ff;
  --pv-bg-2:#fff7d9;
  --pv-panel:rgba(255,255,255,.94);
  --pv-panel-2:rgba(250,253,255,.96);
  --pv-panel-soft:rgba(239,248,255,.9);
  --pv-border:rgba(42,117,187,.22);
  --pv-border-strong:rgba(42,117,187,.48);
  --pv-text:#17324d;
  --pv-muted:#60758a;
  --pv-cyan:#51c7ea;
  --pv-blue:#2a75bb;
  --pv-blue-2:#174f91;
  --pv-gold:#ffcb05;
  --pv-green:#37b86a;
  --pv-red:#e84545;
  --pv-shadow:0 24px 55px rgba(36,82,124,.18),0 4px 12px rgba(36,82,124,.08);
  --pv-radius:22px;
  --pv-radius-sm:14px;
}
html{background:#dff4ff!important}
body,
body.pv-pokemon-theme-v25,
body.pv-modern-page{
  color:#17324d!important;
  background:
    radial-gradient(circle at 8% 8%,rgba(255,255,255,.95) 0 7rem,transparent 20rem),
    radial-gradient(circle at 92% 10%,rgba(255,203,5,.22),transparent 22rem),
    radial-gradient(circle at 18% 78%,rgba(55,184,106,.13),transparent 26rem),
    linear-gradient(145deg,#caefff 0%,#edf9ff 38%,#fff9df 68%,#e9f9e8 100%) fixed!important;
}
body::before{
  opacity:.32!important;
  background-image:
    radial-gradient(circle at center,rgba(42,117,187,.12) 0 1px,transparent 1.5px),
    linear-gradient(rgba(255,255,255,.72) 1px,transparent 1px)!important;
  background-size:22px 22px,100% 7px!important;
  mask-image:linear-gradient(to bottom,#000,rgba(0,0,0,.7) 72%,transparent)!important;
}
/* Pokémon-style scanner: a soft Pokédex scan beam, not the old sci-fi grid. */
body::after{
  content:"";
  position:fixed;
  z-index:9990;
  left:0;right:0;top:-18vh;height:18vh;
  pointer-events:none;
  opacity:.52;
  background:linear-gradient(to bottom,transparent 0%,rgba(70,197,238,.015) 22%,rgba(65,190,234,.18) 76%,rgba(255,255,255,.42) 88%,rgba(42,117,187,.12) 94%,transparent 100%);
  mix-blend-mode:screen;
  animation:pvPokemonGlobalScan 7.8s linear infinite;
}
@keyframes pvPokemonGlobalScan{to{transform:translateY(136vh)}}

a{color:#1768ad}
a:hover:where(html.pv-can-hover *){color:#d93b3b}
h1,h2,h3,h4,h5,h6,strong{color:#17324d!important}
small,.small,.pv-subtle{color:#687d90!important}
hr,.hr{background:linear-gradient(90deg,transparent,rgba(42,117,187,.36),rgba(255,203,5,.55),transparent)!important}

/* Global decorative Pokémon field. It sits behind gameplay surfaces. */
.pv-global-spritefield{position:fixed;z-index:0;inset:76px 0 0;overflow:hidden;pointer-events:none;opacity:.16}
.pv-site-shell,.pv-game-layout,#container,.pv-auth-wrap{position:relative;z-index:2}
.pv-global-spritefield>img{position:absolute;width:74px;height:74px;object-fit:contain;filter:drop-shadow(0 8px 11px rgba(41,80,111,.17));animation:pvPokemonFloat 9s ease-in-out infinite}
.pv-global-spritefield>img:nth-of-type(1){left:2.5%;top:12%;animation-delay:-1s}.pv-global-spritefield>img:nth-of-type(2){right:3%;top:19%;animation-delay:-4s}.pv-global-spritefield>img:nth-of-type(3){left:5%;top:57%;width:96px;height:96px;animation-delay:-6s}.pv-global-spritefield>img:nth-of-type(4){right:4%;top:64%;animation-delay:-2s}.pv-global-spritefield>img:nth-of-type(5){left:20%;top:88%;animation-delay:-5s}.pv-global-spritefield>img:nth-of-type(6){right:22%;top:86%;animation-delay:-7s}.pv-global-spritefield>img:nth-of-type(7){left:1%;top:82%;animation-delay:-3s}.pv-global-spritefield>img:nth-of-type(8){right:1%;top:40%;animation-delay:-8s}.pv-global-spritefield>img:nth-of-type(9){left:40%;top:5%;opacity:.4;animation-delay:-4.5s}.pv-global-spritefield>img:nth-of-type(10){right:40%;top:93%;opacity:.44;animation-delay:-1.8s}
.pv-float-ball{position:absolute;width:36px;height:36px;display:block;opacity:.58;animation:pvPokemonBallFloat 11s ease-in-out infinite}.pv-float-ball img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 7px 8px rgba(27,64,91,.18))}.pv-float-ball.ball-a{left:12%;top:37%}.pv-float-ball.ball-b{right:14%;top:52%;animation-delay:-5s}.pv-float-ball.ball-c{left:73%;top:14%;animation-delay:-8s}
@keyframes pvPokemonFloat{0%,100%{transform:translate3d(0,0,0) rotate(-2deg)}50%{transform:translate3d(0,-16px,0) rotate(3deg)}}
@keyframes pvPokemonBallFloat{0%,100%{transform:translateY(0) rotate(-10deg)}50%{transform:translateY(-25px) rotate(22deg)}}

/* Modern top shell — Pokémon League / Pokédex-inspired, bright and tactile. */
.pv-topbar{
  background:linear-gradient(120deg,rgba(255,255,255,.97),rgba(244,251,255,.98) 55%,rgba(255,248,210,.98))!important;
  border:1px solid rgba(42,117,187,.2)!important;
  box-shadow:0 10px 30px rgba(46,94,132,.14),inset 0 -4px rgba(42,117,187,.035)!important;
  border-radius:0 0 24px 24px!important;
}
.pv-topbar::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(90deg,#e84545 0 17%,#ffcb05 17% 36%,#2a75bb 36% 64%,#37b86a 64% 82%,#e84545 82%);opacity:.9}
.pv-brand{color:#17324d!important}.pv-brand-copy{color:#17324d!important;text-shadow:none!important}.pv-brand-copy small{color:#2a75bb!important}
.pv-brand-mark{width:52px!important;height:52px!important;padding:5px;border-radius:50%!important;background:radial-gradient(circle,#fff 0 58%,#e7f3fb 59%)!important;border:3px solid #2a75bb!important;box-shadow:0 6px 14px rgba(42,117,187,.2)!important}.pv-brand-mark img{width:100%;height:100%;object-fit:contain;animation:pvBrandBall 4.6s ease-in-out infinite}@keyframes pvBrandBall{0%,86%,100%{transform:rotate(0)}90%{transform:rotate(-12deg)}94%{transform:rotate(12deg)}}
.pv-nav a{color:#516b80!important;border-radius:15px!important;background:transparent!important;border:1px solid transparent!important}.pv-nav a:hover:where(html.pv-can-hover *),.pv-nav a.active{color:#174f91!important;background:linear-gradient(180deg,#fff,#ecf7ff)!important;border-color:rgba(42,117,187,.22)!important;box-shadow:0 7px 15px rgba(42,117,187,.11)!important;transform:translateY(-2px)}
.pv-nav a.active::after{background:#ffcb05!important;box-shadow:0 0 0 2px #fff,0 0 0 3px rgba(42,117,187,.18)!important}.pv-nav-icon{width:24px!important;height:24px!important;object-fit:contain!important;filter:drop-shadow(0 3px 4px rgba(31,72,100,.16));transition:transform .22s cubic-bezier(.2,.85,.25,1)}.pv-nav a:hover:where(html.pv-can-hover *) .pv-nav-icon{transform:translateY(-4px) scale(1.14) rotate(-5deg)}
.pv-trainer-chip{background:#fff!important;border-color:rgba(42,117,187,.18)!important}.pv-trainer-chip>span{background:linear-gradient(135deg,#ffcb05,#ffdf5a)!important;color:#17324d!important;border-color:#fff!important}.pv-trainer-chip em{color:#274860!important}
.pv-nav .danger{color:#b83a3a!important}.pv-nav .danger:hover:where(html.pv-can-hover *){background:#fff0ef!important;border-color:rgba(232,69,69,.25)!important}
.pv-command-strip{background:linear-gradient(90deg,#2a75bb,#287dbf 45%,#2179a9)!important;color:#fff!important;border:0!important;border-bottom:4px solid #ffcb05!important;box-shadow:0 8px 24px rgba(33,83,126,.18)!important}.pv-command-strip span{color:#eaf8ff!important}.pv-command-strip img{width:20px!important;height:20px!important;object-fit:contain;margin-right:5px;vertical-align:middle}.pv-command-state i{background:#75ef95!important;box-shadow:0 0 0 4px rgba(117,239,149,.2),0 0 12px rgba(117,239,149,.65)!important}.pv-command-tail{color:#fff3ae!important}

/* Side navigation becomes a trainer bag / badge-panel style surface. */
.pv-side-menu{background:linear-gradient(165deg,#fff,#f5fbff 72%,#fff9de)!important;border:1px solid rgba(42,117,187,.2)!important;border-radius:24px!important;box-shadow:var(--pv-shadow)!important;overflow:hidden!important}.pv-side-menu::before{content:"";display:block;height:6px;background:linear-gradient(90deg,#e84545 0 25%,#ffcb05 25% 50%,#2a75bb 50% 75%,#37b86a 75%)}
.pv-side-profile{background:radial-gradient(circle at 84% 20%,rgba(255,203,5,.24),transparent 34%),linear-gradient(135deg,#eaf7ff,#fff)!important;border-color:rgba(42,117,187,.12)!important}.pv-side-profile strong{color:#17324d!important}.pv-side-profile small,.pv-side-label{color:#668097!important}.pv-side-pokeball{width:40px!important;height:40px!important;object-fit:contain!important;filter:drop-shadow(0 5px 6px rgba(36,81,112,.18))}.pv-side-signal{color:#219553!important}.pv-side-group a{color:#546e82!important;border-radius:13px!important;border:1px solid transparent!important;margin:2px 7px!important}.pv-side-group a:hover:where(html.pv-can-hover *),.pv-side-group a.active{color:#174f91!important;background:linear-gradient(90deg,#edf8ff,#fffdf0)!important;border-color:rgba(42,117,187,.15)!important;transform:translateX(4px);box-shadow:0 5px 12px rgba(42,117,187,.08)!important}.pv-side-group a.active::before{background:#ffcb05!important;border:2px solid #2a75bb!important;box-shadow:none!important}

.pv-page,.pv-main-column{min-width:0}
.pv-card,.pv-panel,.pv-rival-section,.pv-rankings-panel,.pv-ai-zone-strip,.pv-ai-feed-panel,.pv-ai-pressure-panel{
  background:linear-gradient(150deg,rgba(255,255,255,.97),rgba(247,252,255,.98))!important;
  border:1px solid rgba(42,117,187,.18)!important;
  box-shadow:0 15px 34px rgba(39,83,118,.11),inset 0 1px #fff!important;
  border-radius:20px!important;
  color:#17324d!important;
}
.pv-card{position:relative;overflow:hidden}.pv-card::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(#2a75bb,#ffcb05,#e84545);opacity:.72}.pv-card p,.pv-panel p{color:#61768a!important}.pv-kpi{color:#174f91!important;text-shadow:none!important}.pv-kpi-label{color:#6a8195!important}
.pv-button,.pv-btn,.pv-button-secondary,.pv-btn.secondary{
  border-radius:999px!important;font-weight:900!important;letter-spacing:.025em!important;box-shadow:0 7px 14px rgba(42,117,187,.18)!important;transition:transform .22s cubic-bezier(.2,.85,.25,1),box-shadow .22s ease,filter .22s ease!important
}
.pv-button,.pv-btn{background:linear-gradient(180deg,#3a90d0,#2a75bb)!important;color:#fff!important;border:2px solid #fff!important;outline:2px solid rgba(42,117,187,.22)!important}.pv-button-secondary,.pv-btn.secondary{background:linear-gradient(180deg,#fff8ce,#ffcb05)!important;color:#20374c!important;outline-color:rgba(207,158,0,.2)!important}.pv-button:hover:where(html.pv-can-hover *),.pv-btn:hover:where(html.pv-can-hover *){transform:translateY(-3px) scale(1.015)!important;box-shadow:0 12px 23px rgba(42,117,187,.24)!important;filter:saturate(1.08)}.pv-button img,.pv-btn img{width:22px;height:22px;object-fit:contain;margin-right:7px;vertical-align:middle}
.pv-flash{border-radius:18px!important;background:#fff!important;color:#17324d!important;box-shadow:0 10px 24px rgba(35,80,116,.1)!important}.pv-flash.warning{border-color:#efb51c!important;background:#fff9dc!important}.pv-flash.danger{border-color:#e84545!important;background:#fff0ef!important}.pv-flash.success{border-color:#37b86a!important;background:#effbf2!important}.pv-flash span{color:#60758a!important}
.pv-empty-state{background:linear-gradient(135deg,#f1f9ff,#fffdf1)!important;border:2px dashed rgba(42,117,187,.22)!important;border-radius:18px!important;color:#60758a!important}.pv-empty-state strong{color:#174f91!important}
.pv-eyebrow{color:#2a75bb!important;font-weight:900!important;letter-spacing:.16em!important}

/* Reusable Pokémon banner with layered sprites and League colors. */
.pv-pokemon-banner{position:relative;min-height:250px;display:flex;align-items:center;justify-content:space-between;gap:30px;margin:0 0 18px;padding:34px 38px;overflow:hidden;border:1px solid rgba(42,117,187,.24);border-radius:28px;background:
  radial-gradient(circle at 78% 22%,rgba(255,203,5,.44),transparent 24%),
  radial-gradient(circle at 89% 78%,rgba(232,69,69,.17),transparent 28%),
  linear-gradient(120deg,#fff 0%,#eaf8ff 54%,#fff7c9 100%);box-shadow:0 22px 48px rgba(46,92,126,.16),inset 0 1px #fff}
.pv-pokemon-banner::before{content:"";position:absolute;width:260px;height:260px;right:92px;top:-82px;border:34px solid rgba(42,117,187,.055);border-radius:50%;box-shadow:0 0 0 22px rgba(255,255,255,.24),0 0 0 24px rgba(232,69,69,.04)}
.pv-pokemon-banner::after{content:"";position:absolute;left:0;right:0;bottom:0;height:7px;background:linear-gradient(90deg,#e84545 0 20%,#ffcb05 20% 40%,#2a75bb 40% 65%,#37b86a 65% 82%,#e84545 82%)}
.pv-pokemon-banner-copy{position:relative;z-index:3;max-width:690px}.pv-pokemon-banner h1{margin:8px 0 11px!important;font-size:clamp(2rem,4vw,4rem)!important;line-height:.98!important;color:#17324d!important;letter-spacing:-.055em!important;text-shadow:0 3px #fff}.pv-pokemon-banner p{max-width:640px;margin:0;color:#526c81!important;font-size:14px;line-height:1.72}.pv-pokemon-banner-team{position:relative;z-index:2;width:420px;height:185px;flex:0 0 420px}.pv-pokemon-banner-team>span{position:absolute;display:grid;place-items:center;width:104px;height:104px;border-radius:50%;background:radial-gradient(circle,#fff 0 40%,rgba(255,255,255,.45) 41%,transparent 69%);filter:drop-shadow(0 15px 12px rgba(39,83,118,.16));animation:pvBannerPokemonFloat 5.8s ease-in-out infinite}.pv-pokemon-banner-team img{max-width:96px;max-height:96px;object-fit:contain}.pv-pokemon-banner-team .slot-1{left:8px;bottom:6px}.pv-pokemon-banner-team .slot-2{left:76px;top:2px;animation-delay:-2s}.pv-pokemon-banner-team .slot-3{left:164px;bottom:22px;width:128px;height:128px;animation-delay:-4s}.pv-pokemon-banner-team .slot-4{right:57px;top:-8px;animation-delay:-1s}.pv-pokemon-banner-team .slot-5{right:-8px;bottom:-2px;animation-delay:-3s}.pv-pokemon-banner-team>i{position:absolute;left:194px;top:-21px;width:39px;height:39px;animation:pvPokemonBallFloat 5s ease-in-out infinite}.pv-pokemon-banner-team>i img{width:100%;height:100%}@keyframes pvBannerPokemonFloat{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-10px) scale(1.04)}}

/* Dashboard Pokémon conversion. */
.pv-dashboard-quickbar{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin:-7px 0 16px}.pv-dashboard-feature{min-height:250px!important;padding:24px!important;transition:transform .24s cubic-bezier(.2,.85,.25,1),box-shadow .24s ease!important}.pv-dashboard-feature:hover:where(html.pv-can-hover *){transform:translateY(-8px) rotate(.25deg);box-shadow:0 22px 38px rgba(42,117,187,.17)!important}.pv-image-icon{width:78px!important;height:78px!important;display:grid!important;place-items:center!important;border-radius:50%!important;background:radial-gradient(circle,#fff 0 48%,#e5f6ff 49% 70%,transparent 71%)!important;border:0!important}.pv-image-icon img{max-width:68px;max-height:68px;object-fit:contain;filter:drop-shadow(0 8px 8px rgba(31,73,104,.16));transition:transform .25s cubic-bezier(.2,.85,.25,1)}.pv-dashboard-feature:hover:where(html.pv-can-hover *) .pv-image-icon img{transform:translateY(-8px) scale(1.12) rotate(-4deg)}
.pv-team .pv-pokemon-card{background:linear-gradient(150deg,#fff,#f1f9ff)!important;border:1px solid rgba(42,117,187,.15)!important;border-radius:17px!important;transition:transform .22s ease,box-shadow .22s ease}.pv-team .pv-pokemon-card:hover:where(html.pv-can-hover *){transform:translateY(-6px);box-shadow:0 13px 22px rgba(42,117,187,.13)}.pv-team .pv-pokemon-card img{filter:drop-shadow(0 9px 8px rgba(40,78,108,.16));transition:transform .22s ease}.pv-team .pv-pokemon-card:hover:where(html.pv-can-hover *) img{transform:scale(1.12)}
.pv-dashboard-rival-card{display:grid;grid-template-columns:105px minmax(0,1fr) auto;gap:20px;align-items:center;margin:18px 0;padding:24px;border:1px solid rgba(42,117,187,.22);border-radius:24px;background:radial-gradient(circle at 75% 0,rgba(255,203,5,.25),transparent 30%),linear-gradient(135deg,#fff,#eaf7ff);box-shadow:var(--pv-shadow)}.pv-dashboard-rival-ball{width:92px;height:92px;display:grid;place-items:center;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 8px #e9f7ff,0 9px 18px rgba(42,117,187,.15)}.pv-dashboard-rival-ball img{max-width:65px;max-height:65px;animation:pvBrandBall 4.6s ease-in-out infinite}.pv-dashboard-rival-card h2{margin:4px 0 7px!important}.pv-dashboard-rival-card p{margin:0;color:#61778b!important}.pv-dashboard-rival-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}

/* Rival Hub. */
.pv-rival-page{overflow:visible}.pv-rival-overview{display:grid;grid-template-columns:1.35fr .9fr .9fr;gap:14px;margin:16px 0}.pv-rival-overview>article{position:relative;overflow:hidden;min-height:210px;padding:23px;border:1px solid rgba(42,117,187,.18);border-radius:22px;background:linear-gradient(145deg,#fff,#f0f9ff);box-shadow:0 13px 28px rgba(39,83,118,.1)}
.pv-rival-identity-card{display:grid;grid-template-columns:108px minmax(0,1fr);gap:18px;align-items:center}.pv-rival-identity-card::after{content:"";position:absolute;right:-40px;bottom:-75px;width:170px;height:170px;border:26px solid rgba(255,203,5,.12);border-radius:50%}.pv-rival-tier-orbit{width:102px;height:102px;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle,#fff 0 50%,#e8f5fc 51% 69%,transparent 70%);border:2px solid rgba(42,117,187,.16);animation:pvTierOrbit 5.5s ease-in-out infinite}.pv-rival-tier-orbit img{max-width:68px;max-height:68px;filter:drop-shadow(0 7px 7px rgba(34,76,105,.17))}@keyframes pvTierOrbit{0%,100%{transform:rotate(-2deg) translateY(0)}50%{transform:rotate(4deg) translateY(-5px)}}.pv-rival-big-rating{display:block;color:#174f91!important;font-size:44px;line-height:1;margin:5px 0}.pv-rival-identity-card small{font-weight:800;color:#708398!important}.pv-rival-record{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.pv-rival-record span{padding:9px 11px;border-radius:12px;background:#f4faff;border:1px solid rgba(42,117,187,.11);font-size:10px;color:#657c90}.pv-rival-record b{color:#174f91}
.pv-rival-shield-card{display:flex;flex-direction:column}.pv-rival-shield-card.is-protected{background:radial-gradient(circle at 85% 15%,rgba(42,117,187,.14),transparent 35%),linear-gradient(145deg,#fff,#eef9ff)!important}.pv-rival-shield-card.is-exposed{background:radial-gradient(circle at 85% 15%,rgba(55,184,106,.18),transparent 35%),linear-gradient(145deg,#fff,#f2fff5)!important}.pv-rival-shield-icon{position:absolute;right:15px;top:14px;width:54px;height:54px;opacity:.3}.pv-rival-shield-icon img{width:100%;height:100%;object-fit:contain}.pv-rival-shield-card h3{margin:8px 0 3px!important}.pv-rival-shield-card>strong{font-size:28px;color:#2a75bb!important}.pv-rival-shield-card.is-exposed>strong{color:#229052!important}.pv-rival-shield-card p{font-size:11px;color:#61788b!important;margin:auto 0 0;line-height:1.65}
.pv-rival-network-card{display:flex;flex-direction:column}.pv-rival-network-numbers{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;align-items:baseline;margin:10px 0 15px}.pv-rival-network-numbers strong{font-size:22px;color:#174f91!important}.pv-rival-network-numbers span{font-size:10px;color:#6b8194}.pv-rival-network-card .pv-button{margin-top:auto;justify-content:center}
.pv-rival-section{margin:15px 0;padding:18px!important}.pv-rival-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}.pv-rival-section-head h2{margin:4px 0 5px!important}.pv-rival-section-head p{margin:0;max-width:760px;color:#667c90!important;font-size:11px;line-height:1.65}.pv-rival-section-count{padding:7px 11px;border-radius:999px;background:#fff5c4;border:1px solid rgba(205,157,0,.19);color:#9e7500;font-size:9px;font-weight:900;letter-spacing:.1em;white-space:nowrap}.pv-rival-scanner{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border-radius:999px;background:#eaf8ff;color:#2a75bb;font-size:9px;font-weight:900;letter-spacing:.11em}.pv-rival-scanner i{width:8px;height:8px;border-radius:50%;background:#37b86a;box-shadow:0 0 0 5px rgba(55,184,106,.12);animation:pvScannerPulse 1.4s ease-in-out infinite}@keyframes pvScannerPulse{50%{transform:scale(.65);opacity:.55}}
.pv-rival-target-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.pv-rival-target-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.pv-rival-target{--tilt-x:0deg;--tilt-y:0deg;position:relative;min-width:0;overflow:hidden;padding:13px;border:1px solid rgba(42,117,187,.16);border-radius:19px;background:linear-gradient(155deg,#fff,#f4fbff);box-shadow:0 8px 18px rgba(42,117,187,.08);transform:perspective(850px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));transition:transform .2s ease,box-shadow .22s ease,border-color .22s ease}.pv-rival-target:hover:where(html.pv-can-hover *){z-index:4;transform:perspective(850px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) translateY(-7px) scale(1.015);border-color:rgba(42,117,187,.38);box-shadow:0 20px 32px rgba(42,117,187,.15)}.pv-rival-target-glow{position:absolute;inset:-80px -100px auto auto;width:180px;height:180px;border-radius:50%;background:rgba(255,203,5,.13);filter:blur(2px);pointer-events:none}.pv-rival-target-elite .pv-rival-target-glow{background:rgba(232,69,69,.12)}.pv-rival-target-active .pv-rival-target-glow{background:rgba(55,184,106,.13)}
.pv-rival-target-head{position:relative;z-index:2;display:flex;justify-content:space-between;gap:7px;align-items:center}.pv-rival-tier{display:inline-flex;align-items:center;gap:5px;min-height:27px;padding:4px 8px;border-radius:999px;background:#eef7fd;border:1px solid rgba(42,117,187,.13);color:#355a75;font-size:8px;font-weight:900;letter-spacing:.08em;white-space:nowrap}.pv-rival-tier img{width:18px;height:18px;object-fit:contain}.pv-tier-ultra{background:#fff2c9!important;color:#7c6300!important;border-color:rgba(208,167,14,.22)!important}.pv-tier-master,.pv-tier-champion{background:#f8eaff!important;color:#78449e!important;border-color:rgba(124,68,158,.2)!important}.pv-tier-champion{box-shadow:0 0 0 2px rgba(255,203,5,.17)}.pv-ai-chip,.pv-human-chip{font-size:7px;font-weight:900;letter-spacing:.09em;padding:4px 7px;border-radius:999px}.pv-ai-chip{color:#8f6100;background:#fff3c1;border:1px solid rgba(205,157,0,.18)}.pv-ai-chip i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#ffb413;margin-right:4px;animation:pvScannerPulse 1.3s ease infinite}.pv-human-chip{color:#16733f;background:#e9faef;border:1px solid rgba(55,184,106,.2)}
.pv-rival-target-visual{position:relative;height:104px;margin:5px 0 0;display:flex;align-items:flex-end;justify-content:center}.pv-rival-trainer-avatar{position:absolute;left:7px;bottom:0;width:70px;height:88px;display:flex;align-items:flex-end;justify-content:center;border-radius:50% 50% 18px 18px;background:radial-gradient(circle at 50% 68%,rgba(42,117,187,.13),transparent 65%)}.pv-rival-trainer-avatar img{max-width:65px;max-height:82px;object-fit:contain;filter:drop-shadow(0 7px 6px rgba(32,69,95,.16));transition:transform .22s ease}.pv-rival-target:hover:where(html.pv-can-hover *) .pv-rival-trainer-avatar img{transform:translateY(-5px) scale(1.05)}.pv-rival-lead{position:absolute;right:12px;bottom:0;width:88px;height:88px;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle,#fff 0 36%,#e9f7ff 37% 60%,transparent 61%)}.pv-rival-lead img{max-width:82px;max-height:82px;object-fit:contain;filter:drop-shadow(0 8px 7px rgba(33,73,101,.15));transition:transform .22s ease}.pv-rival-target:hover:where(html.pv-can-hover *) .pv-rival-lead img{transform:translateY(-7px) scale(1.12) rotate(2deg)}
.pv-rival-target-copy{text-align:center}.pv-rival-name{display:block;color:#174f91!important;font-weight:900;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pv-rival-rating{display:flex;align-items:baseline;justify-content:center;gap:6px;margin:3px 0}.pv-rival-rating strong{font-size:24px;color:#17324d!important}.pv-rival-rating span{font-size:7px;color:#7890a2;font-weight:900;letter-spacing:.09em}.pv-rival-mini-stats{display:flex;justify-content:center;gap:9px;margin:7px 0}.pv-rival-mini-stats span{font-size:8px;color:#70869a}.pv-rival-mini-stats b{color:#2a75bb}.pv-rival-target-copy small{font-size:8px!important}.pv-rival-battle-form{margin:10px 0 0}.pv-rival-battle-button{width:100%;justify-content:center;font-size:9px!important}.pv-rival-protected{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:10px;padding:8px;border-radius:12px;background:#edf8ff;border:1px solid rgba(42,117,187,.14);font-size:8px;color:#617b90}.pv-rival-protected img{width:23px;height:23px}.pv-rival-protected strong{color:#2a75bb!important}
.pv-retaliation-section{border-color:rgba(232,69,69,.2)!important;background:linear-gradient(145deg,#fff,#fff5f2)!important}.pv-retaliation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.pv-retaliation-card{position:relative;overflow:hidden;padding:14px;border:1px solid rgba(232,69,69,.2);border-radius:18px;background:#fff;box-shadow:0 8px 18px rgba(160,57,57,.07)}.pv-retaliation-warning{position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,#e84545,#ffcb05,#e84545);background-size:180% 100%;animation:pvRetaliationSweep 3s linear infinite}@keyframes pvRetaliationSweep{to{background-position:180% 0}}.pv-retaliation-opponent{display:grid;grid-template-columns:55px 52px minmax(0,1fr);gap:6px;align-items:center;margin:11px 0}.pv-retaliation-opponent img.trainer{max-width:50px;max-height:66px;justify-self:center}.pv-retaliation-opponent img.pokemon{max-width:48px;max-height:48px;justify-self:center}.pv-retaliation-opponent strong,.pv-retaliation-opponent span,.pv-retaliation-opponent small{display:block;overflow:hidden;text-overflow:ellipsis}.pv-retaliation-opponent span{font-size:9px;color:#657d90}.pv-retaliation-opponent small{font-size:8px!important}.pv-retaliation-opponent small b{color:#b43b3b}.pv-retaliate-button{width:100%;justify-content:center;background:linear-gradient(180deg,#f05d57,#d93b3b)!important;outline-color:rgba(217,59,59,.18)!important}.pv-rival-two-column{display:grid;grid-template-columns:1fr 1fr;gap:14px}.pv-rival-two-column>.pv-rival-section{margin:0}.pv-rival-two-column .pv-rival-target-grid.compact{grid-template-columns:1fr}
.pv-rival-history{display:grid;gap:7px}.pv-rival-history article{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 12px;border-radius:13px;background:#f7fbfe;border:1px solid rgba(42,117,187,.1)}.pv-rival-history article.is-win{border-left:4px solid #37b86a}.pv-rival-history article.is-loss{border-left:4px solid #e84545}.pv-rival-history-result{font-size:9px;font-weight:900;letter-spacing:.08em}.is-win .pv-rival-history-result{color:#229052}.is-loss .pv-rival-history-result{color:#cc3838}.pv-rival-history article strong,.pv-rival-history article small{display:block}.pv-rival-history article small{font-size:8px!important}.pv-rival-history b.positive,.pv-ai-event-rank b.positive{color:#229052!important}.pv-rival-history b.negative,.pv-ai-event-rank b.negative{color:#cf3d3d!important}

/* Rankings. */
.pv-ranking-summary{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:10px;margin:15px 0}.pv-ranking-summary>article{min-height:135px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:14px;border:1px solid rgba(42,117,187,.16);border-radius:18px;background:linear-gradient(145deg,#fff,#f2faff);box-shadow:0 9px 20px rgba(39,83,118,.08)}.pv-ranking-summary>article>img{width:44px;height:44px;object-fit:contain;margin-bottom:7px;filter:drop-shadow(0 6px 6px rgba(31,73,103,.15))}.pv-ranking-summary>article>strong{font-size:25px;color:#174f91!important}.pv-ranking-summary>article>span{font-size:8px;font-weight:900;letter-spacing:.08em;color:#6e8396}.pv-ranking-self{display:grid!important;grid-template-columns:82px 1fr!important;align-items:center!important;text-align:left!important;background:radial-gradient(circle at 88% 18%,rgba(255,203,5,.24),transparent 29%),linear-gradient(145deg,#fff,#eaf8ff)!important}.pv-ranking-ball{width:74px;height:74px;display:grid;place-items:center;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 7px #e8f6ff}.pv-ranking-ball img{max-width:50px;max-height:50px}.pv-ranking-self h2{font-size:31px!important;margin:2px 0!important;color:#174f91!important}.pv-ranking-self strong{font-size:15px!important}.pv-ranking-self small{display:block}.pv-rankings-panel{padding:18px!important}.pv-ranking-filters{display:flex;gap:5px;padding:4px;border-radius:999px;background:#eef8fd;border:1px solid rgba(42,117,187,.12)}.pv-ranking-filters a{padding:7px 12px;border-radius:999px;color:#637b8e;font-size:8px;font-weight:900;letter-spacing:.07em}.pv-ranking-filters a.active,.pv-ranking-filters a:hover:where(html.pv-can-hover *){background:#2a75bb;color:#fff!important;box-shadow:0 4px 9px rgba(42,117,187,.18)}.pv-ranking-live-tools{display:flex;align-items:flex-start;justify-content:flex-end;gap:9px;flex-wrap:wrap}.pv-ranking-refresh-clock{display:flex;align-items:center;gap:9px;min-width:142px;padding:7px 11px;border-radius:14px;background:linear-gradient(145deg,#f4fbff,#e8f7ff);border:1px solid rgba(42,117,187,.17);box-shadow:0 5px 13px rgba(39,83,118,.07)}.pv-ranking-refresh-clock>i{width:9px;height:9px;flex:0 0 9px;border-radius:50%;background:#37b86a;box-shadow:0 0 0 5px rgba(55,184,106,.11);animation:pvScannerPulse 1.4s ease-in-out infinite}.pv-ranking-refresh-clock>span{display:grid;grid-template-columns:auto auto;grid-template-areas:"label status" "clock clock";column-gap:8px;align-items:end}.pv-ranking-refresh-clock small{grid-area:label;font-size:7px;font-weight:900;letter-spacing:.1em;color:#6d8498}.pv-ranking-refresh-clock strong{grid-area:clock;display:block;min-width:58px;margin-top:1px;font-variant-numeric:tabular-nums;font-size:18px;line-height:1;color:#174f91!important;letter-spacing:.04em}.pv-ranking-refresh-clock em{grid-area:status;justify-self:end;font-style:normal;font-size:7px;font-weight:900;letter-spacing:.08em;color:#2b9a5a}.pv-ranking-refresh-clock em:not(:empty){white-space:nowrap}
.pv-ranking-table{overflow:auto;border:1px solid rgba(42,117,187,.12);border-radius:16px;background:#fff}.pv-player-standings-panel{margin-bottom:15px!important;background:radial-gradient(circle at 92% 0,rgba(255,203,5,.14),transparent 28%),linear-gradient(145deg,#fff,#f4fbff)!important}.pv-player-ranking-table{box-shadow:0 9px 22px rgba(39,83,118,.07)}.pv-ranking-row.is-player-spotlight{background:linear-gradient(90deg,rgba(42,117,187,.075),#fff);border-left:4px solid #2a75bb}.pv-ranking-row.is-player-spotlight.is-you{background:linear-gradient(90deg,rgba(255,203,5,.22),#fffdf0);border-left-color:#ffcb05}.pv-ranking-row.is-player-spotlight:hover:where(html.pv-can-hover *){background:linear-gradient(90deg,#eaf7ff,#fffbea)}.pv-ranking-row{min-width:910px;display:grid;grid-template-columns:55px minmax(230px,1.45fr) 120px 105px 115px 78px 120px;gap:8px;align-items:center;min-height:67px;padding:7px 12px;border-bottom:1px solid rgba(42,117,187,.09);color:#5e7588!important;transition:transform .16s ease,background .16s ease,box-shadow .16s ease}.pv-ranking-row:not(.pv-ranking-header):hover:where(html.pv-can-hover *){position:relative;z-index:3;transform:scale(1.008);background:linear-gradient(90deg,#edf8ff,#fffdf2);box-shadow:0 5px 15px rgba(42,117,187,.11);color:#3b607a!important}.pv-ranking-row.is-you{background:#fff8d8;border-left:4px solid #ffcb05}.pv-ranking-row.is-pinned-you{margin-top:8px;border-top:2px solid rgba(255,203,5,.62);box-shadow:0 8px 18px rgba(42,117,187,.10)}.pv-ranking-row.is-podium{background:linear-gradient(90deg,rgba(255,203,5,.11),#fff)}.pv-ranking-row.podium-1{border-left:5px solid #ffcb05}.pv-ranking-row.podium-2{border-left:5px solid #9fb3c2}.pv-ranking-row.podium-3{border-left:5px solid #c9824c}.pv-ranking-header{min-height:42px;background:#2a75bb!important;color:#fff!important;font-size:8px;font-weight:900;letter-spacing:.08em;position:sticky;top:0;z-index:4}.pv-ranking-number{font-size:17px;font-weight:900;color:#174f91}.pv-ranking-trainer{display:grid;grid-template-columns:68px minmax(0,1fr) auto auto;align-items:center;gap:7px;min-width:0}.pv-ranking-trainer>i{position:relative;width:62px;height:53px;display:block}.pv-ranking-trainer img.trainer{position:absolute;left:0;bottom:0;max-width:42px;max-height:52px}.pv-ranking-trainer img.lead{position:absolute;right:0;bottom:0;width:38px;height:38px;object-fit:contain;filter:drop-shadow(0 4px 4px rgba(34,73,100,.14))}.pv-ranking-trainer b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#174f91}.pv-ranking-trainer em,.pv-ranking-trainer small{padding:2px 5px;border-radius:999px;font-size:6px!important;font-style:normal;font-weight:900;letter-spacing:.06em}.pv-ranking-trainer em{background:#eaf8ff;color:#2a75bb}.pv-ranking-trainer small{background:#ffed8e;color:#705500!important}.pv-ranking-rating strong,.pv-ranking-rating small{display:block}.pv-ranking-rating strong{font-size:16px}.pv-ranking-rating small{font-size:7px!important}

/* AI activity command page in Pokémon-world visual language. */
.pv-ai-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin:15px 0}.pv-ai-kpis article{position:relative;min-height:148px;padding:14px;border:1px solid rgba(42,117,187,.15);border-radius:18px;background:linear-gradient(150deg,#fff,#f2faff);box-shadow:0 8px 18px rgba(39,83,118,.07);overflow:hidden}.pv-ai-kpis img{width:47px;height:47px;object-fit:contain;float:right;filter:drop-shadow(0 6px 6px rgba(34,75,103,.15));transition:transform .24s ease}.pv-ai-kpis article:hover:where(html.pv-can-hover *) img{transform:translateY(-6px) scale(1.12) rotate(-5deg)}.pv-ai-kpis span,.pv-ai-kpis strong,.pv-ai-kpis small{display:block}.pv-ai-kpis span{margin-top:7px;color:#658096;font-size:7px;font-weight:900;letter-spacing:.08em}.pv-ai-kpis strong{margin-top:4px;font-size:27px;color:#174f91!important}.pv-ai-kpis small{font-size:8px!important}.pv-ai-zone-strip{padding:17px!important;margin-bottom:14px}.pv-ai-zone-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.pv-ai-zone-grid article{position:relative;display:grid;grid-template-columns:46px 1fr;gap:9px;align-items:center;padding:12px;border-radius:15px;background:linear-gradient(145deg,#f4fbff,#fff);border:1px solid rgba(42,117,187,.11);transition:transform .22s ease,box-shadow .22s ease}.pv-ai-zone-grid article:hover:where(html.pv-can-hover *){transform:translateY(-5px);box-shadow:0 10px 18px rgba(42,117,187,.1)}.pv-ai-zone-grid img{width:40px;height:40px}.pv-ai-zone-grid span,.pv-ai-zone-grid strong,.pv-ai-zone-grid small{display:block}.pv-ai-zone-grid span{font-size:8px;color:#2a75bb;font-weight:900;letter-spacing:.08em}.pv-ai-zone-grid strong{font-size:14px}.pv-ai-zone-grid small{font-size:7px!important}.pv-ai-zone-grid article>i{grid-column:1/-1;height:5px;border-radius:99px;background:#e5f2f8;overflow:hidden}.pv-ai-zone-grid article>i b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#37b86a,#ffcb05,#2a75bb)}
.pv-ai-layout{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:14px}.pv-ai-feed-panel,.pv-ai-pressure-panel{padding:17px!important;min-width:0}.pv-ai-feed{display:grid;gap:6px}.pv-ai-event{display:grid;grid-template-columns:48px 215px minmax(220px,1fr) 130px;gap:9px;align-items:center;padding:9px;border:1px solid rgba(42,117,187,.1);border-radius:14px;background:#fbfdff;transition:transform .18s ease,background .18s ease,box-shadow .18s ease}.pv-ai-event:hover:where(html.pv-can-hover *){position:relative;z-index:3;transform:translateX(4px) scale(1.003);background:linear-gradient(90deg,#edf8ff,#fff);box-shadow:0 7px 14px rgba(42,117,187,.08)}.pv-ai-event-ranked{border-left:4px solid #ffcb05}.pv-ai-event-capture{border-left:4px solid #37b86a}.pv-ai-event-wild{border-left:4px solid #e84545}.pv-ai-event-roam{border-left:4px solid #2a75bb}.pv-ai-event-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#f1f9ff}.pv-ai-event-icon img{max-width:34px;max-height:34px}.pv-ai-event-trainer{display:grid;grid-template-columns:65px minmax(0,1fr);gap:7px;align-items:center;min-width:0}.pv-ai-event-trainer>span{position:relative;width:62px;height:48px}.pv-ai-event-trainer img.trainer{position:absolute;left:0;bottom:0;max-width:38px;max-height:48px}.pv-ai-event-trainer img.lead{position:absolute;right:0;bottom:0;width:34px;height:34px;object-fit:contain}.pv-ai-event-trainer strong,.pv-ai-event-trainer small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pv-ai-event-trainer strong{color:#174f91!important}.pv-ai-event-trainer small{font-size:7px!important}.pv-ai-event-copy strong,.pv-ai-event-copy span{display:block}.pv-ai-event-copy strong{font-size:11px}.pv-ai-event-copy span{font-size:8px;color:#6c8193;line-height:1.45}.pv-ai-event-rank{text-align:right}.pv-ai-event-rank>*{margin-left:auto}.pv-ai-event-rank>strong,.pv-ai-event-rank>b,.pv-ai-event-rank>small{display:block}.pv-ai-event-rank>strong{font-size:12px}.pv-ai-event-rank>b{font-size:9px}.pv-ai-event-rank>small{font-size:7px!important}.pv-ai-top-list{display:grid;gap:6px}.pv-ai-top-list>a{display:grid;grid-template-columns:31px 43px minmax(0,1fr) 70px;gap:7px;align-items:center;padding:7px;border-radius:12px;background:#f6fbff;border:1px solid rgba(42,117,187,.09);color:#5f778a!important}.pv-ai-top-list>a:hover:where(html.pv-can-hover *){transform:translateX(3px);background:#fff8d9;border-color:rgba(255,203,5,.3)}.pv-ai-top-list .rank{font-size:10px;font-weight:900;color:#2a75bb}.pv-ai-top-list .sprite{width:40px;height:40px;display:grid;place-items:center}.pv-ai-top-list .sprite img{max-width:38px;max-height:38px}.pv-ai-top-list .name strong,.pv-ai-top-list .name small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pv-ai-top-list .name strong{font-size:10px}.pv-ai-top-list .name small{font-size:7px!important}.pv-ai-top-list .rating{text-align:right}.pv-ai-top-list .rating img{width:19px;height:19px;vertical-align:middle}.pv-ai-top-list .rating strong{display:block;font-size:11px}

/* The recovered/legacy shell now shares the same Pokémon visual identity. */
#container{background:transparent!important}
#header{background:linear-gradient(120deg,#fff,#edf9ff 68%,#fff7d2)!important;border-color:rgba(42,117,187,.22)!important;border-radius:24px!important;box-shadow:var(--pv-shadow)!important}
#header::after{height:5px!important;background:linear-gradient(90deg,#e84545,#ffcb05 26%,#2a75bb 55%,#37b86a 78%,#e84545)!important;opacity:1!important}
#title h1 a::before{content:""!important;border-radius:50%!important;background:#fff url("../../html/static/images/items/Poke%20Ball.png") center/36px 36px no-repeat!important;border:2px solid #2a75bb!important;box-shadow:0 7px 14px rgba(42,117,187,.18)!important}
#title h1 a::after{color:#17324d!important;text-shadow:none!important}
#homeNav a,#nav a,#logout a,#sidebarTabs a{color:#5b7285!important;background:#f7fbfe!important;border-color:rgba(42,117,187,.08)!important;border-radius:13px!important}
#homeNav a:hover:where(html.pv-can-hover *),#nav a:hover:where(html.pv-can-hover *),#logout a:hover:where(html.pv-can-hover *),#sidebarTabs a:hover:where(html.pv-can-hover *),#homeNav a.selected,#nav a.selected,#sidebarTabs a.selected{color:#174f91!important;background:#fff7cd!important;border-color:rgba(255,203,5,.34)!important;box-shadow:0 6px 12px rgba(42,117,187,.08)!important}
#logout a{color:#b53d3d!important;background:#fff5f3!important}
#usernav{background:linear-gradient(90deg,#2a75bb,#378dc7)!important;color:#fff!important;border-color:transparent!important;box-shadow:0 8px 17px rgba(42,117,187,.16)!important}#usernav a{color:#fff6bd!important}
#sidebar{background:linear-gradient(165deg,#fff,#f2faff)!important;border-color:rgba(42,117,187,.18)!important;border-radius:22px!important;box-shadow:var(--pv-shadow)!important}
#content,#scroll,.contentBox,.contentBoxHeader,.contentBoxContent{color:#17324d!important}
#content{background:linear-gradient(150deg,rgba(255,255,255,.94),rgba(246,251,255,.95))!important;border-color:rgba(42,117,187,.15)!important;border-radius:22px!important;box-shadow:var(--pv-shadow)!important}
#content h1,#content h2,#content h3,#content h4,#content strong{color:#17324d!important}
#content a{color:#1768ad!important}#content a:hover:where(html.pv-can-hover *){color:#c93c3c!important}
#content table:not(.pv-legacy-combat-table) tr:nth-child(even){background:rgba(234,247,255,.58)!important}#content table:not(.pv-legacy-combat-table) tr:hover:where(html.pv-can-hover *){background:rgba(255,246,199,.7)!important}

/* Keep the battle arena cinematic contrast while skinning its outer frame. */
.pv-legacy-battle-page #content{background:linear-gradient(150deg,#f7fcff,#fff)!important}.pv-legacy-battle-page .pv-combat-modern-arena,.pv-legacy-battle-page .pv-legacy-combat-table,.pv-live-runtime-page .pv-wild-arena,.pv-wild-battle-page .pv-wild-arena{color:#e9f4ff!important}.pv-legacy-battle-page .pv-combat-modern-arena h1,.pv-legacy-battle-page .pv-combat-modern-arena h2,.pv-legacy-battle-page .pv-combat-modern-arena h3,.pv-live-runtime-page .pv-wild-arena h1,.pv-live-runtime-page .pv-wild-arena h2,.pv-live-runtime-page .pv-wild-arena h3,.pv-wild-battle-page .pv-wild-arena h1,.pv-wild-battle-page .pv-wild-arena h2,.pv-wild-battle-page .pv-wild-arena h3{color:#edfaff!important}
.pv-rival-battle-result{margin:14px auto;padding:14px 18px;max-width:760px;border-radius:16px;text-align:center;font-weight:800;background:#fff;border:2px solid rgba(42,117,187,.18);box-shadow:0 12px 24px rgba(39,83,118,.12)}.pv-rival-battle-result.is-win{border-color:#37b86a;background:#effbf2}.pv-rival-battle-result.is-loss{border-color:#e84545;background:#fff1f0}.pv-rival-battle-result a{display:inline-block;margin-left:9px}

/* Footer. */
.pv-footer{background:linear-gradient(120deg,#fff,#edf9ff)!important;border:1px solid rgba(42,117,187,.16)!important;border-radius:22px 22px 0 0!important;color:#637b8e!important;box-shadow:0 -8px 20px rgba(38,82,117,.07)!important}.pv-footer strong{color:#174f91!important}.pv-footer a{color:#5d778d!important}.pv-footer a:hover:where(html.pv-can-hover *){color:#d33e3e!important}.pv-footer-signal i{background:#37b86a!important}

/* Responsive layout. */
@media(max-width:1280px){.pv-rival-overview{grid-template-columns:1.3fr 1fr}.pv-rival-network-card{grid-column:1/-1;min-height:auto!important}.pv-rival-network-numbers{grid-template-columns:repeat(6,auto);justify-content:start}.pv-ranking-summary{grid-template-columns:repeat(4,1fr)}.pv-ranking-self{grid-column:1/-1}.pv-ai-kpis{grid-template-columns:repeat(3,1fr)}.pv-ai-layout{grid-template-columns:1fr}.pv-ai-pressure-panel{order:-1}.pv-ai-top-list{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1040px){.pv-pokemon-banner-team{width:330px;flex-basis:330px;transform:scale(.88);transform-origin:right center}.pv-rival-target-grid{grid-template-columns:repeat(2,1fr)}.pv-retaliation-grid{grid-template-columns:repeat(2,1fr)}.pv-rival-two-column{grid-template-columns:1fr}.pv-ai-event{grid-template-columns:44px 190px 1fr 110px}.pv-ai-zone-grid{grid-template-columns:1fr 1fr}.pv-ai-top-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.pv-pokemon-banner{min-height:220px;padding:27px 24px}.pv-pokemon-banner-team{position:absolute;right:-110px;opacity:.26}.pv-pokemon-banner-copy{max-width:86%}.pv-rival-overview{grid-template-columns:1fr}.pv-rival-network-card{grid-column:auto}.pv-rival-record{grid-template-columns:1fr 1fr 1fr}.pv-ranking-summary{grid-template-columns:repeat(2,1fr)}.pv-ai-kpis{grid-template-columns:repeat(2,1fr)}.pv-ai-event{grid-template-columns:44px 1fr 96px}.pv-ai-event-trainer{grid-column:2}.pv-ai-event-copy{grid-column:2}.pv-ai-event-rank{grid-column:3;grid-row:1/3}.pv-dashboard-rival-card{grid-template-columns:80px 1fr}.pv-dashboard-rival-ball{width:75px;height:75px}.pv-dashboard-rival-actions{grid-column:1/-1;justify-content:flex-start}}
@media(max-width:620px){.pv-pokemon-banner{padding:24px 18px}.pv-pokemon-banner h1{font-size:2.25rem!important}.pv-pokemon-banner-copy{max-width:100%}.pv-pokemon-banner-team{display:none}.pv-rival-target-grid,.pv-rival-target-grid.compact,.pv-retaliation-grid{grid-template-columns:1fr}.pv-rival-identity-card{grid-template-columns:82px 1fr}.pv-rival-tier-orbit{width:76px;height:76px}.pv-rival-tier-orbit img{max-width:52px}.pv-rival-big-rating{font-size:35px}.pv-rival-record{grid-template-columns:1fr}.pv-rival-network-numbers{grid-template-columns:auto 1fr}.pv-rival-section-head{display:block}.pv-rival-section-head>.pv-rival-scanner,.pv-rival-section-head>.pv-rival-section-count,.pv-ranking-live-tools{margin-top:10px}.pv-ranking-live-tools{justify-content:flex-start}.pv-ranking-filters{margin-top:0}.pv-ranking-summary{grid-template-columns:1fr 1fr}.pv-ranking-self{grid-column:1/-1}.pv-ai-kpis{grid-template-columns:1fr}.pv-ai-zone-grid{grid-template-columns:1fr}.pv-ai-event{grid-template-columns:40px 1fr}.pv-ai-event-rank{grid-column:2;grid-row:auto;text-align:left;display:flex;align-items:center;gap:7px;flex-wrap:wrap}.pv-ai-event-rank>*{margin-left:0!important}.pv-ai-top-list{grid-template-columns:1fr}.pv-dashboard-rival-card{grid-template-columns:1fr;text-align:center}.pv-dashboard-rival-ball{margin:auto}.pv-dashboard-rival-actions{justify-content:center}.pv-dashboard-quickbar{justify-content:stretch}.pv-dashboard-quickbar .pv-button{width:100%;justify-content:center}}

@media(prefers-reduced-motion:reduce){body::after,.pv-global-spritefield>img,.pv-float-ball,.pv-brand-mark img,.pv-pokemon-banner-team>span,.pv-pokemon-banner-team>i,.pv-rival-tier-orbit,.pv-rival-scanner i,.pv-ranking-refresh-clock>i,.pv-ai-chip i,.pv-retaliation-warning{animation:none!important}.pv-rival-target,.pv-dashboard-feature,.pv-ai-zone-grid article{transform:none!important}.pv-rival-target:hover:where(html.pv-can-hover *),.pv-dashboard-feature:hover:where(html.pv-can-hover *),.pv-ai-zone-grid article:hover:where(html.pv-can-hover *){transform:none!important}}

/* v25 reveal sequence driven by the global modern script. */
.pv-pokemon-reveal{opacity:1;transform:none;transition:opacity .48s ease,transform .48s cubic-bezier(.2,.75,.25,1)}.pv-pokemon-reveal.is-visible{opacity:1;transform:none}
.pv-rival-protected.is-expired{background:#effbf2;border-color:rgba(55,184,106,.22);color:#26884d}
@media(prefers-reduced-motion:reduce){.pv-pokemon-reveal{opacity:1!important;transform:none!important;transition:none!important}}

/* v25 broad-site Pokémon skin: auth, forms and specialist page surfaces. */
.pv-brand-mark img{margin:0!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;filter:none!important}
.pv-atmosphere i{border-color:rgba(42,117,187,.09)!important;background:radial-gradient(circle,rgba(255,255,255,.55),rgba(81,199,234,.08) 52%,transparent 70%)!important;filter:blur(.2px)!important}.pv-atmosphere i:nth-child(2){background:radial-gradient(circle,rgba(255,203,5,.15),transparent 70%)!important}.pv-atmosphere i:nth-child(3){background:radial-gradient(circle,rgba(55,184,106,.11),transparent 70%)!important}.pv-atmosphere i:nth-child(4){background:radial-gradient(circle,rgba(232,69,69,.08),transparent 70%)!important}
.pv-auth{background:linear-gradient(145deg,#fff,#f3faff)!important;border:1px solid rgba(42,117,187,.2)!important;border-radius:28px!important;box-shadow:0 30px 70px rgba(38,82,118,.18)!important}.pv-auth-side{background:radial-gradient(circle at 28% 9%,rgba(255,203,5,.3),transparent 35%),radial-gradient(circle at 88% 78%,rgba(55,184,106,.13),transparent 32%),linear-gradient(145deg,#eaf8ff,#fff9d9)!important}.pv-auth-side::after{content:"TRAINER WORLD · POKÉMON ADVENTURE"!important;color:rgba(42,117,187,.34)!important}.pv-auth-side>img{filter:drop-shadow(0 22px 28px rgba(40,77,105,.2))!important}.pv-auth-panel{background:linear-gradient(180deg,#fff,#f7fbff)!important;color:#17324d!important}.pv-auth-panel>p{color:#667d90!important}.pv-field label{color:#46677f!important}.pv-field input,.pv-field select,.pv-field textarea,input[type="text"],input[type="password"],input[type="email"],input[type="number"],select,textarea{background:#fff!important;color:#17324d!important;border:1px solid rgba(42,117,187,.23)!important;border-radius:13px!important;box-shadow:inset 0 2px 5px rgba(39,83,118,.04)!important}.pv-field input:focus,.pv-field select:focus,.pv-field textarea:focus,input:focus,select:focus,textarea:focus{outline:3px solid rgba(255,203,5,.28)!important;border-color:#2a75bb!important;box-shadow:0 0 0 1px rgba(42,117,187,.18)!important}.pv-auth-links a{color:#1768ad!important}
.pv-section-hero,.pv-hero,.pv-page-head{color:#17324d!important}.pv-section-hero{background:radial-gradient(circle at 86% 12%,rgba(255,203,5,.2),transparent 28%),linear-gradient(135deg,#fff,#edf9ff)!important;border-color:rgba(42,117,187,.18)!important;border-radius:22px!important;box-shadow:0 13px 28px rgba(39,83,118,.1)!important}.pv-section-hero p,.pv-hero p{color:#60788c!important}.pv-mini-status,.pv-status-chip{background:#effbf2!important;color:#25864c!important;border-color:rgba(55,184,106,.2)!important}.pv-mini-status i,.pv-status-chip i{background:#37b86a!important;box-shadow:0 0 0 4px rgba(55,184,106,.12)!important}
/* Most feature-specific pages are assembled from these shell surfaces. */
.pv-map-panel,.pv-map-shell,.pv-world-card,.pv-world-panel,.pv-bot-interaction-card,.pv-bot-location-card,.pv-bot-team-panel,.pv-community-panel,.pv-trade-panel,.pv-collection-panel,.pv-account-panel,.pv-live-panel,.pv-arena-network-card,.pv-arena-hold,.pv-event-card,.pv-event-panel,.pv-message-panel,.pv-clan-panel,.pv-shop-panel,.pv-item-panel{
  background:linear-gradient(150deg,#fff,#f4fbff)!important;border-color:rgba(42,117,187,.17)!important;box-shadow:0 12px 26px rgba(39,83,118,.09)!important;color:#17324d!important
}
.pv-map-panel h1,.pv-map-panel h2,.pv-map-panel h3,.pv-world-card h1,.pv-world-card h2,.pv-world-card h3,.pv-bot-profile-page h1,.pv-bot-profile-page h2,.pv-bot-profile-page h3,.pv-community-panel h1,.pv-community-panel h2,.pv-trade-panel h1,.pv-trade-panel h2{color:#17324d!important}
.pv-map-panel p,.pv-world-card p,.pv-bot-profile-page p,.pv-community-panel p,.pv-trade-panel p{color:#647b8f!important}
.pv-map-panel-label,.pv-side-label,.pv-arena-opponent-main small{color:#2a75bb!important}.pv-arena-opponent,.pv-arena-summary-grid>div,.pv-arena-region-switch a{background:linear-gradient(145deg,#fff,#f2faff)!important;border-color:rgba(42,117,187,.14)!important}.pv-arena-opponent-main h3,.pv-arena-summary-grid strong{color:#17324d!important}.pv-arena-opponent-main p,.pv-arena-summary-grid small,.pv-arena-region-switch a{color:#657e91!important}.pv-arena-tabs a{background:#fff!important;color:#5d7689!important;border-color:rgba(42,117,187,.13)!important;border-radius:999px!important}.pv-arena-tabs a:hover:where(html.pv-can-hover *),.pv-arena-tabs a.active{background:#2a75bb!important;color:#fff!important;border-color:#2a75bb!important}.pv-arena-trainer,.pv-arena-team span{background:radial-gradient(circle,#fff,#edf8ff)!important;border-color:rgba(42,117,187,.1)!important}
/* Poké Ball motif for blank/utility emblems. */
.pv-icon:not(.pv-image-icon){border-radius:50%!important;background:#fff url("../../html/static/images/items/Poke%20Ball.png") center/70% 70% no-repeat!important;color:transparent!important;border:2px solid rgba(42,117,187,.15)!important;box-shadow:0 6px 12px rgba(39,83,118,.1)!important}
.pv-incoming-panel{margin:15px 0;padding:18px;border:1px solid rgba(42,117,187,.18);border-radius:20px;background:linear-gradient(145deg,#fff,#f3faff);box-shadow:0 13px 28px rgba(39,83,118,.09)}.pv-incoming-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.pv-incoming-grid article{display:grid;grid-template-columns:48px minmax(0,1fr);gap:8px;align-items:center;padding:10px;border:1px solid rgba(42,117,187,.1);border-radius:14px;background:#fff}.pv-incoming-grid article.is-held{border-top:4px solid #37b86a}.pv-incoming-grid article.is-breached{border-top:4px solid #e84545}.pv-incoming-grid .signal{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:#eff8fd}.pv-incoming-grid .signal img{max-width:34px;max-height:34px}.pv-incoming-grid small,.pv-incoming-grid strong,.pv-incoming-grid span{display:block}.pv-incoming-grid small{font-size:6px!important;letter-spacing:.06em}.pv-incoming-grid strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pv-incoming-grid span{font-size:7px;color:#6d8294}.pv-incoming-grid b{grid-column:1/-1;padding-top:5px;border-top:1px solid rgba(42,117,187,.08);font-size:7px;letter-spacing:.08em;color:#2a75bb}.pv-incoming-grid .is-held b{color:#26884d}.pv-incoming-grid .is-breached b{color:#cc3d3d}@media(max-width:1040px){.pv-incoming-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.pv-incoming-grid{grid-template-columns:1fr}}

/* -------------------------------------------------------------------------- */
/* v25.1.0 — site-wide Pokémon visual coherence pass                          */
/*                                                                            */
/* The Rival Network established the bright Pokémon-world language. This      */
/* section deliberately carries that language through the remaining recovered  */
/* dark/navy surfaces without altering map dimensions, battle authority,       */
/* persistence, or combat animation hooks. Existing local artwork only.        */
/* -------------------------------------------------------------------------- */

:root{
  --pv-poke-ink:#17324d;
  --pv-poke-blue:#2a75bb;
  --pv-poke-blue-deep:#174f91;
  --pv-poke-sky:#eaf8ff;
  --pv-poke-yellow:#ffcb05;
  --pv-poke-red:#e84545;
  --pv-poke-green:#37b86a;
  --pv-poke-cream:#fff9df;
  --pv-poke-white:#ffffff;
  --pv-poke-muted:#60788c;
  --pv-poke-line:rgba(42,117,187,.16);
  --pv-poke-shadow:0 16px 36px rgba(39,83,118,.11),0 3px 9px rgba(39,83,118,.06);
}

/* Common game-page canvas. */
.pv-page,
.pv-main-column{
  color:var(--pv-poke-ink)!important;
}
.pv-page{
  position:relative;
  border-radius:24px;
  background:
    radial-gradient(circle at 95% 3%,rgba(255,203,5,.13),transparent 24rem),
    radial-gradient(circle at 0 100%,rgba(55,184,106,.08),transparent 22rem),
    linear-gradient(145deg,rgba(255,255,255,.98),rgba(246,252,255,.98) 56%,rgba(255,250,224,.96))!important;
}
.pv-page::before{
  content:"";
  position:absolute;
  pointer-events:none;
  z-index:0;
  width:180px;height:180px;
  right:34px;top:42px;
  border:24px solid rgba(42,117,187,.035);
  border-radius:50%;
  box-shadow:0 0 0 15px rgba(255,255,255,.26),0 0 0 17px rgba(232,69,69,.025);
}
.pv-page>*{position:relative;z-index:1}
.pv-page-head{
  margin-bottom:14px!important;
  padding:20px 2px 18px!important;
  border-bottom:1px solid rgba(42,117,187,.12)!important;
}
.pv-page-head h1,.pv-page-head h2{color:var(--pv-poke-ink)!important;text-shadow:none!important}
.pv-page-head p,.pv-page-head .pv-subtle{color:var(--pv-poke-muted)!important}
.pv-eyebrow{color:#2374b5!important}
.pv-eyebrow::before{background:linear-gradient(90deg,var(--pv-poke-yellow),var(--pv-poke-blue))!important}

/* Tactile shared cards and metric blocks. */
.pv-stat-grid>div,
.pv-stat-grid-wide>div,
.pv-network-summary>div,
.pv-bot-metrics-grid>article,
.pv-event-status-grid>article,
.pv-arena-summary-grid>div{
  position:relative;
  overflow:hidden;
  color:var(--pv-poke-ink)!important;
  background:linear-gradient(150deg,#fff,#f2faff)!important;
  border:1px solid var(--pv-poke-line)!important;
  border-radius:18px!important;
  box-shadow:0 9px 20px rgba(39,83,118,.07)!important;
}
.pv-stat-grid>div::before,
.pv-stat-grid-wide>div::before,
.pv-network-summary>div::before,
.pv-bot-metrics-grid>article::before,
.pv-event-status-grid>article::before{
  content:"";position:absolute;left:0;top:0;width:52px;height:7px;
  background:linear-gradient(90deg,var(--pv-poke-blue),var(--pv-poke-yellow),var(--pv-poke-red));
  border-radius:0 0 8px 0;
}
.pv-stat-grid strong,.pv-stat-grid-wide strong,.pv-network-summary strong,.pv-bot-metrics-grid strong,.pv-event-status-grid strong,.pv-arena-summary-grid strong{color:var(--pv-poke-blue-deep)!important;text-shadow:none!important}
.pv-stat-grid span,.pv-stat-grid-wide span,.pv-network-summary span,.pv-bot-metrics-grid span,.pv-event-status-grid span,.pv-arena-summary-grid small{color:#6b8194!important}

/* Public home — bright Pokémon launch screen rather than command terminal. */
.pv-hero{
  position:relative!important;
  overflow:hidden!important;
  min-height:510px!important;
  border:1px solid rgba(42,117,187,.2)!important;
  border-radius:28px!important;
  background:
    url("../../html/static/images/pokemon/Pikachu.gif") calc(100% - 74px) 16%/78px 78px no-repeat,
    url("../../html/static/images/pokemon/Charizard.gif") calc(100% - 175px) 54%/150px 150px no-repeat,
    url("../../html/static/images/pokemon/Eevee.gif") calc(100% - 310px) 28%/88px 88px no-repeat,
    radial-gradient(circle at 78% 45%,rgba(255,203,5,.28),transparent 18rem),
    radial-gradient(circle at 68% 48%,rgba(42,117,187,.10),transparent 26rem),
    linear-gradient(135deg,#ffffff,#edf9ff 53%,#fff6c9)!important;
  box-shadow:0 22px 46px rgba(39,83,118,.14)!important;
}
.pv-hero::before{
  content:"";position:absolute;right:115px;top:82px;width:310px;height:310px;border-radius:50%;
  border:38px solid rgba(42,117,187,.045);box-shadow:0 0 0 20px rgba(255,255,255,.34),0 0 0 23px rgba(232,69,69,.035);pointer-events:none
}
.pv-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:7px;background:linear-gradient(90deg,#e84545 0 20%,#ffcb05 20% 40%,#2a75bb 40% 66%,#37b86a 66% 84%,#e84545 84%)}
.pv-hero-copy{position:relative;z-index:3;max-width:650px!important}
.pv-hero h1{color:var(--pv-poke-ink)!important;text-shadow:0 3px #fff!important}
.pv-hero h1 span{color:transparent!important;-webkit-text-stroke:2px var(--pv-poke-blue-deep);text-shadow:0 3px 0 rgba(255,255,255,.9)!important}
.pv-hero p{color:#5b7488!important;max-width:620px!important}
.pv-hero-tags span{color:#365e7a!important;background:#fff!important;border:1px solid rgba(42,117,187,.13)!important;border-radius:999px!important;box-shadow:0 5px 12px rgba(39,83,118,.06)!important}
.pv-world-status{
  position:relative!important;z-index:3!important;
  background:rgba(255,255,255,.91)!important;
  border:1px solid rgba(42,117,187,.22)!important;
  border-radius:22px!important;
  box-shadow:0 14px 28px rgba(39,83,118,.12)!important;
  backdrop-filter:blur(8px);
}
.pv-status-label,.pv-status-row span{color:#6c8194!important}
.pv-status-online{color:#249b55!important;text-shadow:none!important}
.pv-status-copy{color:#5e768a!important}
.pv-status-row{border-color:rgba(42,117,187,.09)!important}.pv-status-row strong{color:var(--pv-poke-blue-deep)!important}
.pv-home-banner{
  border-radius:22px!important;border:1px solid var(--pv-poke-line)!important;
  background:radial-gradient(circle at 82% 20%,rgba(255,203,5,.19),transparent 29%),linear-gradient(135deg,#fff,#eef9ff)!important;
  box-shadow:var(--pv-poke-shadow)!important
}
.pv-home-banner h2{color:var(--pv-poke-ink)!important}.pv-home-banner p{color:var(--pv-poke-muted)!important}
.pv-feature{transition:transform .24s cubic-bezier(.2,.85,.25,1),box-shadow .24s ease!important}.pv-feature:hover:where(html.pv-can-hover *){z-index:3;transform:translateY(-7px) scale(1.015)!important;box-shadow:0 20px 34px rgba(42,117,187,.16)!important}

/* World selection — turn old dark route cards into polished region cards. */
.pv-map-select-page .pv-section-hero,
.pv-map-select-hero{background:radial-gradient(circle at 88% 18%,rgba(255,203,5,.20),transparent 26%),linear-gradient(135deg,#fff,#edf9ff)!important}
.pv-world-section-head{border-color:rgba(42,117,187,.10)!important}.pv-world-section-head span,.pv-world-section-head strong{color:#2a75bb!important}.pv-world-section-head h2{color:var(--pv-poke-ink)!important}.pv-world-section-head p{color:var(--pv-poke-muted)!important}
.pv-region-overworld-source{
  border:1px solid rgba(42,117,187,.17)!important;border-radius:20px!important;
  background:linear-gradient(130deg,#fff,#edf8ff 58%,#fff8d7)!important;
  box-shadow:0 12px 26px rgba(39,83,118,.10)!important;
}
.pv-region-overworld-source>img{border:5px solid #fff!important;outline:1px solid rgba(42,117,187,.18)!important;box-shadow:0 10px 22px rgba(39,83,118,.12)!important}
.pv-region-overworld-source h2{color:var(--pv-poke-ink)!important}.pv-region-overworld-source p{color:var(--pv-poke-muted)!important}
.pv-region-readiness span{color:#557287!important}.pv-region-readiness i{background:var(--pv-poke-green)!important;box-shadow:0 0 0 4px rgba(55,184,106,.12)!important}
.pv-map-group-code{background:linear-gradient(145deg,#eaf8ff,#fff)!important;border-color:rgba(42,117,187,.15)!important;color:#2a75bb!important}
.pv-map-group-head span{color:#2a75bb!important}.pv-map-group-head h2{color:var(--pv-poke-ink)!important}.pv-map-group-head p{color:var(--pv-poke-muted)!important}
.pv-map-card{
  color:var(--pv-poke-ink)!important;border:1px solid rgba(42,117,187,.13)!important;border-radius:17px!important;
  background:linear-gradient(145deg,#fff,#f4fbff)!important;box-shadow:0 7px 16px rgba(39,83,118,.07)!important;
  transition:transform .24s cubic-bezier(.2,.85,.25,1),box-shadow .24s ease,border-color .24s ease!important
}
.pv-map-card::before{width:5px!important;background:linear-gradient(#2a75bb,#ffcb05,#37b86a)!important;opacity:.9!important}
.pv-map-card::after{border-color:rgba(255,203,5,.20)!important;background:rgba(255,203,5,.05)!important;border-radius:16px!important}
.pv-map-card:hover:where(html.pv-can-hover *){z-index:3;color:var(--pv-poke-ink)!important;border-color:rgba(42,117,187,.34)!important;background:linear-gradient(145deg,#fff,#edf8ff 70%,#fff6c7)!important;transform:translateY(-6px) scale(1.012)!important;box-shadow:0 18px 30px rgba(42,117,187,.15)!important}
.pv-map-card-image{background:#fff!important;border:1px solid rgba(42,117,187,.13)!important;border-radius:13px!important;box-shadow:0 5px 12px rgba(39,83,118,.08)!important}
.pv-map-card-body small{color:#2a75bb!important}.pv-map-card-body strong{color:var(--pv-poke-ink)!important}.pv-map-card-body em{color:#6d8294!important}.pv-map-card>b,.pv-map-card:hover:where(html.pv-can-hover *)>b{color:#2a75bb!important}

/* Exploration chrome stays bright while native map pixels remain untouched. */
.pv-map-console,.pv-map-sidebar,.pv-map-control-panel,.pv-map-encounter-panel,.pv-map-region-panel{
  background:linear-gradient(150deg,#fff,#f3faff)!important;border:1px solid rgba(42,117,187,.16)!important;color:var(--pv-poke-ink)!important;box-shadow:0 10px 24px rgba(39,83,118,.08)!important
}
.pv-map-console{border-radius:20px!important;overflow:hidden!important}
.pv-map-console-top,.pv-map-console-bottom{background:linear-gradient(90deg,#eef9ff,#fff9dc)!important;border-color:rgba(42,117,187,.10)!important;color:#527086!important}
.pv-map-console-top strong,.pv-map-console-bottom strong,.pv-map-panel-label{color:#2473b3!important}
.pv-map-control-panel,.pv-map-encounter-panel,.pv-map-region-panel{border-radius:16px!important}
.pv-map-quiet,.pv-map-region-panel p,.pv-map-control-panel p{color:#698094!important}
.pv-map-compass button{background:linear-gradient(180deg,#fff,#eaf7ff)!important;color:#1768ad!important;border-color:rgba(42,117,187,.18)!important;box-shadow:0 4px 9px rgba(39,83,118,.06)!important}.pv-map-compass button:hover:where(html.pv-can-hover *){background:linear-gradient(180deg,#fff8cc,#ffde57)!important;color:#17324d!important;transform:translateY(-2px)!important}
/* Native map containers intentionally retain their dark framing and exact dimensions. */
.pv-map-stage,.pv-map-viewport-wrap,.pv-map-art,.pv-world-map-stage,.pv-world-map-viewport{border-color:rgba(42,117,187,.22)!important}

/* Pokémon battle presentation — arena becomes sky/field, controls become tactile cards. */
.pv-wildbattle-page,.pv-live-runtime-page,.pv-combat-modern-surface,.pv-legacy-battle-page{--pv-battle-ink:#17324d;--pv-battle-line:rgba(42,117,187,.17)}
.pv-wildbattle-page .pv-page,.pv-live-runtime-page .pv-page{background:linear-gradient(145deg,#fff,#eff9ff 58%,#fff9df)!important}
.pv-wild-arena,
.pv-combat-modern-surface .pv-wild-arena,
.pv-legacy-combat-table{
  padding:10px!important;border:1px solid rgba(42,117,187,.20)!important;border-radius:22px!important;
  background:linear-gradient(145deg,#ffffff,#edf9ff 62%,#fff8d6)!important;
  box-shadow:0 15px 32px rgba(39,83,118,.12)!important
}
.pv-wild-fighter{
  border:1px solid rgba(42,117,187,.17)!important;border-radius:18px!important;
  background:linear-gradient(180deg,#dff5ff 0%,#f8fdff 52%,#e9f7d9 53%,#cfeeb8 100%)!important;
  box-shadow:inset 0 1px #fff,0 7px 16px rgba(39,83,118,.07)!important
}
.pv-wild-enemy{background:linear-gradient(180deg,#e6f7ff 0%,#fffdf3 51%,#f5e7c6 52%,#e9d49f 100%)!important}
.pv-wild-fighter::before{border-color:rgba(42,117,187,.06)!important}
.pv-wild-fighter-hud{background:rgba(255,255,255,.88)!important;border-bottom:1px solid rgba(42,117,187,.09)!important;backdrop-filter:blur(5px)}
.pv-wild-player .pv-wild-fighter-hud{border-top:1px solid rgba(42,117,187,.09)!important;border-bottom:0!important}
.pv-wild-fighter-hud small{color:#2a75bb!important}.pv-wild-fighter-hud h2{color:var(--pv-poke-ink)!important;text-shadow:none!important}.pv-wild-fighter-hud span,.pv-wild-fighter-hud>strong{color:#60798c!important}
.pv-wild-hp{background:#d7e6e9!important;border-radius:999px!important}.pv-wild-hp i,.pv-wild-enemy .pv-wild-hp i{background:linear-gradient(90deg,#27a85a,#68dc7f)!important;box-shadow:0 0 10px rgba(55,184,106,.30)!important;border-radius:999px!important}
.pv-wild-sprite-zone{background:radial-gradient(ellipse at 50% 78%,rgba(255,255,255,.72),transparent 30%),radial-gradient(circle at 50% 45%,rgba(42,117,187,.09),transparent 42%)!important}
.pv-wild-sprite-zone::after{height:3px!important;bottom:34px!important;background:linear-gradient(90deg,transparent,rgba(55,184,106,.30),transparent)!important;border-radius:50%!important}
.pv-wild-sprite-zone img{filter:drop-shadow(0 16px 16px rgba(33,73,99,.22))!important}
.pv-wild-scan-ring{border-color:rgba(42,117,187,.10)!important;box-shadow:0 0 0 28px rgba(42,117,187,.024),0 0 0 58px rgba(255,203,5,.022)!important}
.pv-wild-versus{color:#174f91!important}.pv-wild-versus span{background:linear-gradient(145deg,#fff4ad,#ffcb05)!important;color:#17324d!important;border:2px solid #fff!important;outline:2px solid rgba(42,117,187,.18)!important;border-radius:12px!important;box-shadow:0 8px 17px rgba(39,83,118,.11)!important}.pv-wild-versus i{background:linear-gradient(transparent,rgba(42,117,187,.18),transparent)!important}
.pv-wild-log-panel,.pv-wild-control-panel,.pv-live-panel,.pv-combat-modern-surface{
  border-color:rgba(42,117,187,.16)!important;background:linear-gradient(150deg,#fff,#f4fbff)!important;color:var(--pv-poke-ink)!important;border-radius:18px!important;box-shadow:0 10px 23px rgba(39,83,118,.08)!important
}
.pv-wild-log-panel .pv-map-panel-label,.pv-wild-control-panel .pv-map-panel-label{border-color:rgba(42,117,187,.09)!important;background:linear-gradient(90deg,#eef9ff,#fff9dc)!important}
.pv-wild-log>div{border-color:rgba(42,117,187,.08)!important;color:#5f788b!important}.pv-wild-log .tone-good{color:#26884d!important}.pv-wild-log .tone-danger{color:#c74747!important}.pv-wild-log .tone-accent{color:#1768ad!important}.pv-wild-log .tone-muted{color:#7b8e9d!important}
.pv-wild-command-tabs{border-color:rgba(42,117,187,.09)!important;background:#f7fbff!important}.pv-wild-command-tabs button{background:linear-gradient(180deg,#fff,#edf8ff)!important;color:#4b6b82!important;border:1px solid rgba(42,117,187,.14)!important;border-radius:999px!important;box-shadow:0 4px 10px rgba(39,83,118,.05)!important}.pv-wild-command-tabs button:hover:where(html.pv-can-hover *),.pv-wild-command-tabs button.active{background:linear-gradient(180deg,#3c94d2,#2a75bb)!important;color:#fff!important;border-color:#2a75bb!important;transform:translateY(-2px)!important}
.pv-wild-command-view{background:transparent!important}
.pv-wild-move-grid button,.pv-wild-item-grid button,.pv-wild-team-grid button{
  background:linear-gradient(145deg,#fff,#eef8ff)!important;color:var(--pv-poke-ink)!important;border:1px solid rgba(42,117,187,.15)!important;border-radius:14px!important;box-shadow:0 5px 12px rgba(39,83,118,.06)!important
}
.pv-wild-move-grid button:hover:where(html.pv-can-hover *),.pv-wild-item-grid button:hover:where(html.pv-can-hover *):not(:disabled),.pv-wild-team-grid button:hover:where(html.pv-can-hover *):not(:disabled){background:linear-gradient(145deg,#fff8cd,#fff)!important;border-color:rgba(255,190,0,.48)!important;box-shadow:0 10px 20px rgba(39,83,118,.11)!important;transform:translateY(-3px)!important}
.pv-wild-move-grid button small,.pv-wild-item-grid button small,.pv-wild-team-grid small,.pv-wild-move-grid button span{color:#688095!important}.pv-wild-move-grid button strong,.pv-wild-item-grid button strong,.pv-wild-team-grid strong,.pv-wild-run-box h3,.pv-wild-command-complete strong{color:var(--pv-poke-ink)!important;text-shadow:none!important}
.pv-wild-team-grid i{background:#dce9ec!important;border-radius:99px!important}.pv-wild-team-grid i b{background:linear-gradient(90deg,#37b86a,#68dd80)!important;border-radius:99px!important}
.pv-wild-run-box p,.pv-wild-command-complete p{color:#687f92!important}
.pv-combat-runtime-signal{background:linear-gradient(145deg,#effbf2,#fff)!important;border:1px solid rgba(55,184,106,.19)!important;border-radius:14px!important}.pv-combat-runtime-signal strong{color:#25864c!important}.pv-combat-runtime-signal span{color:#6d8190!important}

/* Recovered Trainer Battle outer shell is now the same bright trainer-network chrome. */
body.pv-legacy-battle-page{
  background:radial-gradient(circle at 90% 8%,rgba(255,203,5,.18),transparent 24rem),linear-gradient(145deg,#d8f4ff,#f9fdff 46%,#fff6d7 72%,#eaf8e7)!important;color:var(--pv-poke-ink)!important
}
body.pv-legacy-battle-page #container{background:transparent!important}
body.pv-legacy-battle-page #header{
  background:linear-gradient(120deg,#fff,#f1f9ff 58%,#fff7d2)!important;border:1px solid rgba(42,117,187,.18)!important;border-radius:0 0 22px 22px!important;box-shadow:0 10px 27px rgba(39,83,118,.12)!important
}
body.pv-legacy-battle-page #header::after{height:4px!important;background:linear-gradient(90deg,#e84545 0 20%,#ffcb05 20% 40%,#2a75bb 40% 65%,#37b86a 65% 82%,#e84545 82%)!important;opacity:1!important}
body.pv-legacy-battle-page #title h1 a::before{
  content:""!important;background:#fff url("../../html/static/images/items/Poke%20Ball.png") center/74% 74% no-repeat!important;border:3px solid #2a75bb!important;border-radius:50%!important;box-shadow:0 6px 14px rgba(42,117,187,.18)!important;color:transparent!important
}
body.pv-legacy-battle-page #title h1 a::after{color:#17324d!important;text-shadow:none!important}
body.pv-legacy-battle-page #nav a,body.pv-legacy-battle-page #logout a,body.pv-legacy-battle-page #sidebarTabs a{color:#536e82!important;background:transparent!important}
body.pv-legacy-battle-page #nav a:hover:where(html.pv-can-hover *),body.pv-legacy-battle-page #nav a.selected,body.pv-legacy-battle-page #sidebarTabs a:hover:where(html.pv-can-hover *),body.pv-legacy-battle-page #sidebarTabs a.selected{background:#edf8ff!important;color:#174f91!important;border-color:rgba(42,117,187,.17)!important}
body.pv-legacy-battle-page #usernav{background:linear-gradient(90deg,#2a75bb,#287dbf)!important;color:#eefaff!important;border:0!important;border-bottom:4px solid #ffcb05!important;border-radius:0 0 12px 12px!important}
body.pv-legacy-battle-page #sidebar{background:linear-gradient(160deg,#fff,#f3faff)!important;border-color:rgba(42,117,187,.17)!important;box-shadow:0 13px 28px rgba(39,83,118,.09)!important}
body.pv-legacy-battle-page #scroll{background:linear-gradient(150deg,#fff,#f3faff)!important;border-color:rgba(42,117,187,.17)!important;box-shadow:0 13px 28px rgba(39,83,118,.09)!important}
body.pv-legacy-battle-page #scrollContent,body.pv-legacy-battle-page #ajax{color:var(--pv-poke-ink)!important}

/* Sidequests — map/adventure book styling. */
.pv-sidequest-page-modern{overflow:visible!important}.pv-sidequest-page-modern::after{border-color:rgba(255,203,5,.10)!important}
.pv-sidequest-hero{background:radial-gradient(circle at 89% 15%,rgba(255,203,5,.23),transparent 26%),linear-gradient(135deg,#fff,#eef9ff)!important;border-color:rgba(42,117,187,.17)!important;border-radius:22px!important}
.pv-sidequest-progress-orb{background:radial-gradient(circle,#fff 0 44%,#edf8ff 45% 64%,#ffed98 65% 72%,transparent 73%)!important;border-color:rgba(42,117,187,.15)!important;color:#174f91!important}
.pv-sidequest-summary-grid>div,.pv-sidequest-sequence>div,.pv-sidequest-target,.pv-sidequest-map-card,.pv-sidequest-reward-panel{
  background:linear-gradient(145deg,#fff,#f3faff)!important;border-color:rgba(42,117,187,.13)!important;color:var(--pv-poke-ink)!important;border-radius:16px!important;box-shadow:0 7px 16px rgba(39,83,118,.06)!important
}
.pv-sidequest-summary-grid strong,.pv-sidequest-target h2,.pv-sidequest-target h3,.pv-sidequest-map-card h3{color:var(--pv-poke-ink)!important}.pv-sidequest-summary-grid span,.pv-sidequest-target p,.pv-sidequest-map-card p{color:#688094!important}
.pv-sidequest-sequence>div.is-active,.pv-sidequest-target:hover:where(html.pv-can-hover *){border-color:rgba(255,190,0,.42)!important;background:linear-gradient(145deg,#fff8d2,#fff)!important}
.pv-sidequest-team span{background:#eef8ff!important;border-color:rgba(42,117,187,.12)!important;border-radius:13px!important}

/* Collection / team builder. */
.pv-collection-filter,.pv-team-builder-footer,.pv-options-footer{
  background:linear-gradient(90deg,#eef9ff,#fff9df)!important;border-color:rgba(42,117,187,.13)!important;border-radius:16px!important
}
.pv-collection-card,.pv-team-slot,.pv-pokemon-select-card{
  background:linear-gradient(150deg,#fff,#f2faff)!important;border:1px solid rgba(42,117,187,.14)!important;border-radius:18px!important;color:var(--pv-poke-ink)!important;box-shadow:0 8px 18px rgba(39,83,118,.07)!important;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease!important
}
.pv-collection-card:hover:where(html.pv-can-hover *),.pv-team-slot:hover:where(html.pv-can-hover *),.pv-pokemon-select-card:hover:where(html.pv-can-hover *){z-index:3;transform:translateY(-6px) scale(1.01)!important;border-color:rgba(42,117,187,.32)!important;box-shadow:0 17px 28px rgba(42,117,187,.13)!important}
.pv-collection-card-art,.pv-team-slot-preview{background:radial-gradient(circle at 50% 55%,#fff 0 25%,#eaf8ff 55%,transparent 72%)!important;border-color:rgba(42,117,187,.10)!important}
.pv-collection-card-art img,.pv-team-slot-preview img{filter:drop-shadow(0 12px 14px rgba(33,73,99,.18))!important}
.pv-collection-card-body>small{color:#2a75bb!important}.pv-collection-card-body h3,.pv-team-slot h3,.pv-team-slot strong{color:var(--pv-poke-ink)!important}.pv-collection-card-body dl>div{background:#f7fbff!important;border-color:rgba(42,117,187,.08)!important}.pv-collection-card-body dt{color:#708596!important}.pv-collection-card-body dd{color:#385d76!important}
.pv-collection-types span{background:#eaf8ff!important;border-color:rgba(42,117,187,.13)!important;color:#266c9e!important;border-radius:999px!important}
.pv-collection-card-actions{border-color:rgba(42,117,187,.10)!important}.pv-collection-card-actions a{color:#55768d!important;border-color:rgba(42,117,187,.08)!important}.pv-collection-card-actions a:hover:where(html.pv-can-hover *){background:#edf8ff!important;color:#1768ad!important}.pv-collection-card-actions a.danger:hover:where(html.pv-can-hover *){background:#fff0ef!important;color:#c74444!important}

/* Pokédex — clean research-book cards, still sprite-first. */
.pv-dex-search{background:linear-gradient(90deg,#eef9ff,#fff9dd)!important;border:1px solid rgba(42,117,187,.13)!important;border-radius:16px!important}
.pv-dex-card,.pv-dex-variant-card,.pv-dex-variant-tile,.pv-dex-owned-card,.pv-dex-ability-card,.pv-dex-move-card,.pv-dex-evolution-card{
  background:linear-gradient(145deg,#fff,#f3faff)!important;border:1px solid rgba(42,117,187,.13)!important;border-radius:17px!important;color:var(--pv-poke-ink)!important;box-shadow:0 7px 16px rgba(39,83,118,.06)!important;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease!important
}
.pv-dex-card:hover:where(html.pv-can-hover *),.pv-dex-variant-card:hover:where(html.pv-can-hover *),.pv-dex-variant-tile:hover:where(html.pv-can-hover *),.pv-dex-owned-card:hover:where(html.pv-can-hover *){z-index:3;transform:translateY(-6px) scale(1.015)!important;border-color:rgba(42,117,187,.31)!important;box-shadow:0 16px 27px rgba(42,117,187,.13)!important}
.pv-dex-card strong,.pv-dex-card h3,.pv-dex-variant-card strong,.pv-dex-owned-card strong{color:var(--pv-poke-ink)!important}.pv-dex-card span,.pv-dex-card small{color:#6c8294!important}
.pv-dex-hero{background:linear-gradient(135deg,#fff,#edf9ff 60%,#fff8d2)!important;border-color:rgba(42,117,187,.16)!important;border-radius:20px!important}.pv-dex-scan{background:radial-gradient(circle,#fff 0 25%,#eaf8ff 55%,transparent 72%)!important}.pv-dex-scan i{border-color:rgba(42,117,187,.10)!important}.pv-dex-scan img{filter:drop-shadow(0 15px 18px rgba(33,73,99,.20))!important}.pv-dex-hero>div:last-child>span{color:#2a75bb!important}.pv-dex-hero p{color:#657d90!important}.pv-dex-moves span,.pv-dex-types span{background:#eef8ff!important;color:#2b6b96!important;border-color:rgba(42,117,187,.11)!important;border-radius:999px!important}.pv-dex-ivs>div,.pv-dex-evolution-list>div{background:#f7fbff!important;border-color:rgba(42,117,187,.08)!important}.pv-dex-ivs span,.pv-dex-evolution-list span{color:#6a8194!important}.pv-dex-ivs i{background:#dfeaed!important;border-radius:99px!important}
.pv-dex-telemetry,.pv-dex-entry-nav>*{background:linear-gradient(145deg,#fff,#eef8ff)!important;border-color:rgba(42,117,187,.12)!important;color:#4d6b82!important}

/* PokéMart / items. */
.pv-shop-tabs{background:linear-gradient(90deg,#eef9ff,#fff8d4)!important;border:1px solid rgba(42,117,187,.13)!important;border-radius:16px!important}.pv-shop-tabs a{color:#56758b!important;border-radius:999px!important}.pv-shop-tabs a:hover:where(html.pv-can-hover *),.pv-shop-tabs a.active{background:#2a75bb!important;color:#fff!important;border-color:#2a75bb!important}
.pv-wallet{background:linear-gradient(145deg,#fff8c4,#ffdf56)!important;color:#17324d!important;border-color:rgba(198,151,0,.18)!important;border-radius:16px!important;box-shadow:0 8px 16px rgba(176,133,0,.12)!important}.pv-wallet strong{color:#174f91!important}
.pv-shop-department-head{background:linear-gradient(135deg,#fff,#eef8ff)!important;border-color:rgba(42,117,187,.13)!important;border-radius:18px!important}.pv-shop-department-head h2{color:var(--pv-poke-ink)!important}.pv-shop-department-head p{color:var(--pv-poke-muted)!important}
.pv-shop-card,.pv-item-panel{
  background:linear-gradient(145deg,#fff,#f3faff)!important;border:1px solid rgba(42,117,187,.14)!important;border-radius:18px!important;color:var(--pv-poke-ink)!important;box-shadow:0 8px 18px rgba(39,83,118,.07)!important;overflow:hidden!important;transition:transform .22s ease,box-shadow .22s ease!important
}
.pv-shop-card:hover:where(html.pv-can-hover *){z-index:3;transform:translateY(-6px)!important;box-shadow:0 17px 28px rgba(42,117,187,.13)!important}.pv-shop-art{background:radial-gradient(circle,#fff 0 26%,#eaf8ff 58%,transparent 72%)!important}.pv-shop-art img{filter:drop-shadow(0 12px 14px rgba(33,73,99,.18))!important}.pv-shop-copy h3{color:var(--pv-poke-ink)!important}.pv-shop-copy p,.pv-shop-copy small{color:#698094!important}.pv-shop-buy{background:#f7fbff!important;border-color:rgba(42,117,187,.09)!important}.pv-receipt-list>div{background:#f7fbff!important;border-color:rgba(42,117,187,.08)!important}.pv-receipt-list span{color:#6d8293!important}

/* Trade Center — marketplace cards become bright binder/trade-ticket surfaces. */
.pv-trade-overview>a,.pv-trade-card,.pv-trade-focus,.pv-offer-row{
  background:linear-gradient(145deg,#fff,#f2faff)!important;border:1px solid rgba(42,117,187,.14)!important;border-radius:17px!important;color:var(--pv-poke-ink)!important;box-shadow:0 7px 16px rgba(39,83,118,.06)!important
}
.pv-trade-overview>a::before{background:linear-gradient(135deg,rgba(42,117,187,.22) 0 48%,transparent 49%)!important}.pv-trade-overview>a::after{background:#37b86a!important}.pv-trade-overview>a:hover:where(html.pv-can-hover *),.pv-trade-overview>a.active{background:linear-gradient(145deg,#fff8d1,#fff)!important;border-color:rgba(255,190,0,.40)!important;transform:translateY(-5px)!important;box-shadow:0 15px 25px rgba(39,83,118,.11)!important}
.pv-trade-overview small,.pv-trade-card-title small,.pv-trade-offer-head small,.pv-trade-focus small{color:#6a8194!important}.pv-trade-overview strong,.pv-trade-card-title h3,.pv-trade-offer-head h3{color:var(--pv-poke-ink)!important}.pv-trade-overview span{color:#688094!important}
.pv-trade-tabs,.pv-trade-search{background:linear-gradient(90deg,#eef9ff,#fff9df)!important;border-color:rgba(42,117,187,.13)!important;border-radius:16px!important}.pv-trade-tabs a{color:#56758b!important;border-radius:999px!important}.pv-trade-tabs a:hover:where(html.pv-can-hover *),.pv-trade-tabs a.active{background:#2a75bb!important;color:#fff!important;border-color:#2a75bb!important}.pv-trade-search label>span{color:#2a75bb!important}
.pv-trade-card-image,.pv-trade-focus-image{background:radial-gradient(circle,#fff 0 25%,#eaf8ff 57%,transparent 72%)!important;border-color:rgba(42,117,187,.09)!important}.pv-trade-card-image::before,.pv-trade-focus-image::before{border-color:rgba(42,117,187,.08)!important}.pv-trade-card-image img,.pv-trade-focus-image img{filter:drop-shadow(0 12px 15px rgba(33,73,99,.18))!important}.pv-trade-card-image>span{background:#fff!important;color:#2a75bb!important;border-color:rgba(42,117,187,.13)!important;border-radius:999px!important}.pv-trade-meta span,.pv-move-strip span{background:#eef8ff!important;color:#52758e!important;border-color:rgba(42,117,187,.09)!important;border-radius:999px!important}.pv-trade-card-actions>a,.pv-trade-card-actions button{background:#fff!important;color:#52758e!important;border-color:rgba(42,117,187,.13)!important;border-radius:999px!important}.pv-trade-card-actions>a.primary{background:#2a75bb!important;color:#fff!important;border-color:#2a75bb!important}.pv-trade-card-actions button{color:#bd4545!important;background:#fff2f1!important}

/* Community, messages, trainer directory and clans. */
.pv-network-card{
  color:var(--pv-poke-ink)!important;border:1px solid rgba(42,117,187,.14)!important;border-radius:18px!important;background:linear-gradient(145deg,#fff,#f2faff)!important;box-shadow:0 8px 17px rgba(39,83,118,.06)!important
}
.pv-network-card::after{border-color:rgba(255,203,5,.19)!important;background:rgba(255,203,5,.05)!important}.pv-network-card:hover:where(html.pv-can-hover *){color:var(--pv-poke-ink)!important;border-color:rgba(42,117,187,.31)!important;background:linear-gradient(145deg,#fff8d1,#fff)!important;transform:translateY(-6px)!important;box-shadow:0 17px 28px rgba(42,117,187,.12)!important}.pv-network-code{background:#edf8ff!important;color:#2a75bb!important;border-color:rgba(42,117,187,.16)!important}.pv-network-card h3{color:var(--pv-poke-ink)!important}.pv-network-card p{color:#688094!important}.pv-network-card>b,.pv-network-card:hover:where(html.pv-can-hover *)>b{color:#2a75bb!important}
.pv-message-nav,.pv-message-row,.pv-message-reader,.pv-message-compose,.pv-clan-hero,.pv-clan-directory-card,.pv-form-card{
  background:linear-gradient(145deg,#fff,#f3faff)!important;border:1px solid rgba(42,117,187,.13)!important;border-radius:16px!important;color:var(--pv-poke-ink)!important;box-shadow:0 7px 16px rgba(39,83,118,.05)!important
}
.pv-message-nav a{color:#5b778d!important;border-radius:12px!important}.pv-message-nav a:hover:where(html.pv-can-hover *),.pv-message-nav a.active{background:#edf8ff!important;color:#1768ad!important;border-color:rgba(42,117,187,.16)!important}.pv-message-list-head{color:#607b90!important}.pv-message-row span,.pv-message-row small,.pv-message-reader header small{color:#6c8294!important}.pv-message-row.unread{background:linear-gradient(145deg,#eef9ff,#fff)!important;border-color:rgba(42,117,187,.23)!important;box-shadow:inset 4px 0 #2a75bb!important}.pv-message-body{color:#4f6d83!important}.pv-recipient-chip{background:#eaf8ff!important;color:#2b6d9b!important;border-color:rgba(42,117,187,.13)!important;border-radius:999px!important}
.pv-trainer-card,.pv-pokemon-card,.pv-request-list>div{
  background:linear-gradient(145deg,#fff,#f3faff)!important;border:1px solid rgba(42,117,187,.13)!important;border-radius:17px!important;color:var(--pv-poke-ink)!important;box-shadow:0 7px 16px rgba(39,83,118,.05)!important;transition:transform .22s ease,box-shadow .22s ease!important
}
.pv-trainer-card:hover:where(html.pv-can-hover *){z-index:3;transform:translateY(-5px)!important;box-shadow:0 15px 25px rgba(42,117,187,.12)!important}.pv-trainer-avatar{background:radial-gradient(circle,#fff,#eaf8ff)!important;border-color:rgba(42,117,187,.13)!important}.pv-status-pill{background:#effbf2!important;color:#25864c!important;border-color:rgba(55,184,106,.18)!important;border-radius:999px!important}
.pv-clan-hero{background:radial-gradient(circle at 12% 50%,rgba(255,203,5,.18),transparent 21%),linear-gradient(145deg,#fff,#fff9df)!important;border-color:rgba(218,168,0,.18)!important}.pv-clan-emblem{background:linear-gradient(145deg,#fff8c2,#ffdb4d)!important;color:#5d4800!important;border-color:rgba(206,157,0,.23)!important;border-radius:50%!important;box-shadow:0 7px 15px rgba(170,129,0,.12)!important}.pv-clan-hero small{color:#9d7800!important}.pv-clan-hero p,.pv-clan-hero span,.pv-clan-directory-card p,.pv-clan-directory-card span{color:#6b8193!important}.pv-clan-rank strong{color:#b98400!important}.pv-clan-roster>div{background:#f7fbff!important;border-color:rgba(42,117,187,.08)!important}.pv-clan-directory-card small{color:#2a75bb!important}

/* Account / options. */
.pv-account-panel,.pv-compact-panel,.pv-options-form>.pv-card{
  background:linear-gradient(145deg,#fff,#f3faff)!important;border:1px solid rgba(42,117,187,.14)!important;border-radius:19px!important;box-shadow:0 9px 20px rgba(39,83,118,.07)!important;color:var(--pv-poke-ink)!important
}
.pv-detail-list>div{border-color:rgba(42,117,187,.09)!important}.pv-detail-list dt{color:#54738a!important}.pv-detail-list dd{color:#275a7e!important}.pv-option-list>label,.pv-option-list>div{background:#f7fbff!important;border:1px solid rgba(42,117,187,.09)!important;border-radius:14px!important;color:var(--pv-poke-ink)!important}.pv-option-list>label:hover:where(html.pv-can-hover *),.pv-option-list>div:hover:where(html.pv-can-hover *){background:#fff9dc!important;border-color:rgba(255,190,0,.27)!important}.pv-sprite-choice{background:#f4faff!important;border:1px solid rgba(42,117,187,.11)!important;border-radius:15px!important;transition:transform .2s ease,border-color .2s ease,background .2s ease!important}.pv-sprite-choice:hover:where(html.pv-can-hover *){transform:translateY(-4px)!important;background:#fff9d8!important;border-color:rgba(255,190,0,.32)!important}.pv-sprite-choice input:checked+*{filter:drop-shadow(0 0 7px rgba(42,117,187,.18))!important}

/* Autonomous trainer profiles. */
.pv-bot-profile-hero,.pv-bot-interaction-card,.pv-bot-location-card,.pv-bot-team-panel,.pv-bot-pokemon-card{
  background:linear-gradient(145deg,#fff,#f3faff)!important;border:1px solid rgba(42,117,187,.14)!important;border-radius:19px!important;color:var(--pv-poke-ink)!important;box-shadow:0 9px 20px rgba(39,83,118,.07)!important
}
.pv-bot-profile-hero{background:radial-gradient(circle at 86% 16%,rgba(255,203,5,.18),transparent 27%),linear-gradient(145deg,#fff,#eef9ff)!important}.pv-bot-trainer-avatar,.pv-bot-pokemon-sprite{background:radial-gradient(circle,#fff,#eaf8ff)!important;border-color:rgba(42,117,187,.13)!important}.pv-bot-profile-page h1,.pv-bot-profile-page h2,.pv-bot-profile-page h3{color:var(--pv-poke-ink)!important}.pv-bot-profile-page p,.pv-bot-stat-list dt,.pv-bot-pokemon-card small{color:#677f92!important}.pv-bot-stat-list>div{border-color:rgba(42,117,187,.08)!important}.pv-bot-stat-list dd{color:#2e668d!important}.pv-bot-scope-note{background:#fff9dc!important;border-color:rgba(255,190,0,.20)!important;color:#6c5a18!important;border-radius:14px!important}.pv-bot-pokemon-card:hover:where(html.pv-can-hover *){transform:translateY(-5px)!important;border-color:rgba(42,117,187,.29)!important;box-shadow:0 15px 24px rgba(42,117,187,.11)!important}

/* Labs: Evolution, Move and Fossil. */
.pv-evolution-source,.pv-evolution-card,.pv-evolution-result,.pv-evolution-empty,.pv-movelab-pokemon,.pv-movelab-current>div,.pv-move-card,.pv-fossil-card,.pv-fossil-result{
  background:linear-gradient(145deg,#fff,#f3faff)!important;border:1px solid rgba(42,117,187,.13)!important;border-radius:17px!important;color:var(--pv-poke-ink)!important;box-shadow:0 7px 16px rgba(39,83,118,.06)!important
}
.pv-evolution-card:hover:where(html.pv-can-hover *),.pv-move-card:hover:where(html.pv-can-hover *),.pv-fossil-card:hover:where(html.pv-can-hover *){transform:translateY(-5px)!important;border-color:rgba(42,117,187,.30)!important;box-shadow:0 15px 25px rgba(42,117,187,.12)!important}.pv-evolution-source-art,.pv-evolution-card-art,.pv-fossil-card-image{background:radial-gradient(circle,#fff,#eaf8ff)!important;border-color:rgba(42,117,187,.09)!important}.pv-evolution-source-art img,.pv-evolution-card-art img,.pv-fossil-card-image img,.pv-movelab-pokemon img{filter:drop-shadow(0 12px 15px rgba(33,73,99,.18))!important}.pv-evolution-card-copy>small,.pv-movelab-pokemon small,.pv-move-card header small{color:#2a75bb!important}.pv-evolution-card-copy h3,.pv-movelab-pokemon h2,.pv-move-card h3{color:var(--pv-poke-ink)!important}.pv-evolution-requirement{color:#2e6f9a!important}.pv-evolution-status-copy,.pv-movelab-pokemon span{color:#6a8194!important}.pv-evolution-types span,.pv-move-stats span{background:#eef8ff!important;color:#52758e!important;border-color:rgba(42,117,187,.09)!important;border-radius:999px!important}.pv-movelab-current>div{background:#f7fbff!important}.pv-move-card.is-known{background:linear-gradient(145deg,#effbf2,#fff)!important;border-color:rgba(55,184,106,.20)!important}.pv-move-card header>strong{color:#b98400!important}.pv-move-stats b{color:#2e668d!important}.pv-move-known{color:#25864c!important}

/* Events / Arena / Live PvP lobby. */
.pv-event-hero,.pv-event-feature,.pv-event-rules,.pv-event-purchase,.pv-event-unlock,.pv-event-banner,.pv-event-opponent,.pv-arena-network-card,.pv-arena-opponent,.pv-live-arena-tabs,.pv-live-trainer-list,.pv-live-offer-list{
  background:linear-gradient(145deg,#fff,#f3faff)!important;border:1px solid rgba(42,117,187,.14)!important;border-radius:18px!important;color:var(--pv-poke-ink)!important;box-shadow:0 8px 18px rgba(39,83,118,.06)!important
}
.pv-event-hero,.pv-event-banner{background:radial-gradient(circle at 88% 16%,rgba(232,69,69,.10),transparent 24%),radial-gradient(circle at 77% 28%,rgba(255,203,5,.17),transparent 22%),linear-gradient(145deg,#fff,#eef9ff)!important}.pv-event-feature:hover:where(html.pv-can-hover *),.pv-event-opponent:hover:where(html.pv-can-hover *),.pv-arena-opponent:hover:where(html.pv-can-hover *){transform:translateY(-5px)!important;border-color:rgba(42,117,187,.29)!important;box-shadow:0 15px 26px rgba(42,117,187,.11)!important}.pv-event-code{background:#fff8cc!important;color:#8b6900!important;border-color:rgba(205,157,0,.20)!important;border-radius:999px!important}.pv-live-arena-tabs a{color:#5d778c!important;border-radius:999px!important}.pv-live-arena-tabs a b{background:#eaf8ff!important;color:#2a75bb!important;border-color:rgba(42,117,187,.13)!important;border-radius:50%!important}.pv-live-arena-tabs a:hover:where(html.pv-can-hover *),.pv-live-arena-tabs a.active{background:#2a75bb!important;color:#fff!important;border-color:#2a75bb!important}.pv-live-arena-tabs a:hover:where(html.pv-can-hover *) b,.pv-live-arena-tabs a.active b{background:#fff!important;color:#2a75bb!important}

/* Generic dark leftovers on modern feature pages. Keep deliberate map/battle stages excluded. */
.pv-modern-page .pv-card:not(.pv-rival-target):not(.pv-dex-card),
.pv-modern-page .pv-panel,
.pv-modern-page .pv-compact-panel{
  color:var(--pv-poke-ink)!important
}
.pv-modern-page .pv-card:not(.pv-rival-target):not(.pv-dex-card) h1,
.pv-modern-page .pv-card:not(.pv-rival-target):not(.pv-dex-card) h2,
.pv-modern-page .pv-card:not(.pv-rival-target):not(.pv-dex-card) h3,
.pv-modern-page .pv-panel h1,.pv-modern-page .pv-panel h2,.pv-modern-page .pv-panel h3{color:var(--pv-poke-ink)!important;text-shadow:none!important}

/* Inputs and tables match the bright skin. */
.pv-modern-page input[type="text"],.pv-modern-page input[type="password"],.pv-modern-page input[type="email"],.pv-modern-page input[type="number"],.pv-modern-page input[type="search"],.pv-modern-page select,.pv-modern-page textarea,
body.pv-legacy-battle-page input[type="text"],body.pv-legacy-battle-page select,body.pv-legacy-battle-page textarea{
  background:#fff!important;color:var(--pv-poke-ink)!important;border:1px solid rgba(42,117,187,.20)!important;border-radius:13px!important;box-shadow:inset 0 2px 5px rgba(39,83,118,.04)!important
}
.pv-modern-page input:focus,.pv-modern-page select:focus,.pv-modern-page textarea:focus,body.pv-legacy-battle-page input:focus,body.pv-legacy-battle-page select:focus,body.pv-legacy-battle-page textarea:focus{border-color:#2a75bb!important;outline:3px solid rgba(255,203,5,.25)!important;box-shadow:none!important}
.pv-modern-page table:not(.pv-legacy-combat-table){background:#fff!important;color:var(--pv-poke-ink)!important;border-color:rgba(42,117,187,.12)!important}.pv-modern-page table:not(.pv-legacy-combat-table) th{background:linear-gradient(180deg,#368cc9,#2a75bb)!important;color:#fff!important}.pv-modern-page table:not(.pv-legacy-combat-table) td{border-color:rgba(42,117,187,.08)!important}

/* Strong containment: never let ordinary artwork recreate the old oversized-UI bug. */
.pv-page img:not(.pv-map-art):not(.pv-world-map-art),
.pv-main-column img:not(.pv-map-art):not(.pv-world-map-art),
#scroll img:not(.pv-map-art):not(.pv-world-map-art){max-width:100%;height:auto}
.pv-page,.pv-main-column,.pv-card,.pv-panel,.pv-map-card,.pv-collection-card,.pv-trade-card,.pv-dex-card,.pv-shop-card,.pv-team-slot,.pv-message-content,.pv-bot-team-panel{min-width:0;max-width:100%}
.pv-page table,.pv-main-column table{max-width:100%}

/* Hover shine shared by major non-map cards. */
.pv-collection-card,.pv-trade-card,.pv-dex-card,.pv-shop-card,.pv-team-slot,.pv-trainer-card,.pv-network-card,.pv-bot-pokemon-card,.pv-evolution-card,.pv-move-card,.pv-fossil-card,.pv-map-card{position:relative;overflow:hidden}
.pv-collection-card::after,.pv-trade-card::after,.pv-dex-card::after,.pv-shop-card::after,.pv-team-slot::after,.pv-trainer-card::after,.pv-network-card::before,.pv-bot-pokemon-card::after,.pv-evolution-card::after,.pv-move-card::after,.pv-fossil-card::after,.pv-map-card .pv-map-card-body::after{
  content:"";position:absolute;pointer-events:none;width:42%;height:160%;left:-70%;top:-28%;transform:skewX(-18deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.75),transparent);opacity:0;transition:left .55s ease,opacity .3s ease
}
.pv-collection-card:hover:where(html.pv-can-hover *)::after,.pv-trade-card:hover:where(html.pv-can-hover *)::after,.pv-dex-card:hover:where(html.pv-can-hover *)::after,.pv-shop-card:hover:where(html.pv-can-hover *)::after,.pv-team-slot:hover:where(html.pv-can-hover *)::after,.pv-trainer-card:hover:where(html.pv-can-hover *)::after,.pv-network-card:hover:where(html.pv-can-hover *)::before,.pv-bot-pokemon-card:hover:where(html.pv-can-hover *)::after,.pv-evolution-card:hover:where(html.pv-can-hover *)::after,.pv-move-card:hover:where(html.pv-can-hover *)::after,.pv-fossil-card:hover:where(html.pv-can-hover *)::after{left:130%;opacity:.55}

@media(max-width:900px){
  .pv-hero{background:url("../../html/static/images/pokemon/Pikachu.gif") calc(100% - 35px) 18%/72px 72px no-repeat,radial-gradient(circle at 84% 28%,rgba(255,203,5,.18),transparent 14rem),linear-gradient(135deg,#fff,#edf9ff 60%,#fff8d4)!important}
  .pv-hero::before{right:-80px;opacity:.45}.pv-world-status{max-width:none!important}
}
@media(max-width:620px){
  .pv-hero{min-height:auto!important;background:linear-gradient(135deg,#fff,#edf9ff 62%,#fff8d4)!important}.pv-hero::before{display:none}.pv-hero h1 span{-webkit-text-stroke:1px var(--pv-poke-blue-deep)}
  .pv-map-card:hover:where(html.pv-can-hover *),.pv-collection-card:hover:where(html.pv-can-hover *),.pv-trade-card:hover:where(html.pv-can-hover *),.pv-dex-card:hover:where(html.pv-can-hover *),.pv-shop-card:hover:where(html.pv-can-hover *),.pv-team-slot:hover:where(html.pv-can-hover *),.pv-trainer-card:hover:where(html.pv-can-hover *),.pv-network-card:hover:where(html.pv-can-hover *),.pv-bot-pokemon-card:hover:where(html.pv-can-hover *),.pv-evolution-card:hover:where(html.pv-can-hover *),.pv-move-card:hover:where(html.pv-can-hover *),.pv-fossil-card:hover:where(html.pv-can-hover *){transform:translateY(-3px)!important}
}
@media(prefers-reduced-motion:reduce){
  .pv-feature,.pv-map-card,.pv-collection-card,.pv-trade-card,.pv-dex-card,.pv-shop-card,.pv-team-slot,.pv-trainer-card,.pv-network-card,.pv-bot-pokemon-card,.pv-evolution-card,.pv-move-card,.pv-fossil-card{transition:none!important}
  .pv-collection-card::after,.pv-trade-card::after,.pv-dex-card::after,.pv-shop-card::after,.pv-team-slot::after,.pv-trainer-card::after,.pv-network-card::before,.pv-bot-pokemon-card::after,.pv-evolution-card::after,.pv-move-card::after,.pv-fossil-card::after{display:none!important}
}

/* v25.1.0 specialist-surface completion. */
.pv-map-legend,.pv-world-card,.pv-kanto-prepared-panel,.pv-kanto-atlas-source,.pv-world-panel,.pv-arena-hold,.pv-arena-challenge-form,
.pv-sidequest-roadmap,.pv-sidequest-handoff,.pv-sidequest-source-note,.pv-sidequest-handoff-status,
.pv-live-trainer-list,.pv-live-offer-list,.pv-live-result-grid>div,.pv-live-wait-modern,
.pv-combat-runtime-banner,.pv-combat-outcome-reward,.pv-combat-outcome-roster,
.pv-trade-offer-card,.pv-trade-offer-items,.pv-evolution-focus,.pv-evolution-vitals>div,.pv-evolution-moves>div,.pv-evolution-form,
.pv-map-wild-card,.pv-wild-result,.pv-wild-rewards,.pv-dex-ability-list>*,.pv-dex-move-row,.pv-dex-empty-owned,.pv-dex-final-stage,
.pv-dex-evolution-current,.pv-dex-evolution-node,.pv-dex-specimen-list>*,.pv-turn-move-banner,.pv-combat-continue-copy{
  background:linear-gradient(145deg,#fff,#f3faff)!important;
  border-color:rgba(42,117,187,.13)!important;
  color:var(--pv-poke-ink)!important;
  box-shadow:0 7px 16px rgba(39,83,118,.05)!important;
}
.pv-map-legend,.pv-world-card,.pv-kanto-prepared-panel,.pv-kanto-atlas-source,.pv-sidequest-roadmap,.pv-sidequest-handoff,.pv-live-wait-modern,.pv-combat-runtime-banner,.pv-trade-offer-card,.pv-evolution-focus,.pv-wild-result,.pv-map-wild-card{border-radius:18px!important}
.pv-world-card:hover:where(html.pv-can-hover *),.pv-trade-offer-card:hover:where(html.pv-can-hover *),.pv-map-wild-card:hover:where(html.pv-can-hover *),.pv-dex-evolution-node:hover:where(html.pv-can-hover *){transform:translateY(-4px)!important;border-color:rgba(42,117,187,.28)!important;box-shadow:0 14px 24px rgba(42,117,187,.10)!important}
.pv-world-card h2,.pv-world-card h3,.pv-kanto-prepared-panel h2,.pv-kanto-atlas-source h2,.pv-sidequest-roadmap h2,.pv-sidequest-handoff h2,.pv-combat-runtime-banner h1,.pv-combat-runtime-banner h2,.pv-trade-offer-card h3,.pv-evolution-focus h2,.pv-wild-result h2,.pv-map-wild-card h3{color:var(--pv-poke-ink)!important;text-shadow:none!important}
.pv-world-card p,.pv-kanto-prepared-panel p,.pv-kanto-atlas-source p,.pv-sidequest-roadmap p,.pv-sidequest-handoff p,.pv-combat-runtime-banner p,.pv-trade-offer-card p,.pv-evolution-focus p,.pv-wild-result p,.pv-map-wild-card p{color:#667f92!important}
.pv-world-code{background:#edf8ff!important;color:#2a75bb!important;border-color:rgba(42,117,187,.13)!important;border-radius:999px!important}
.pv-kanto-connection-list>*,.pv-world-connection-list>*{background:#f7fbff!important;color:#527187!important;border-color:rgba(42,117,187,.08)!important;border-radius:12px!important}

.pv-arena-progress-orb{background:radial-gradient(circle,#fff 0 43%,#eaf8ff 44% 62%,#ffed99 63% 72%,transparent 73%)!important;border-color:rgba(42,117,187,.15)!important;color:#174f91!important}
.pv-arena-tabs,.pv-arena-region-switch{background:linear-gradient(90deg,#eef9ff,#fff9df)!important;border-color:rgba(42,117,187,.12)!important;border-radius:16px!important}
.pv-arena-team span,.pv-event-opponent .pv-arena-team span{background:radial-gradient(circle,#fff,#eaf8ff)!important;border-color:rgba(42,117,187,.10)!important;border-radius:13px!important}
.pv-arena-hold,.pv-arena-challenge-form{border-radius:16px!important}
.pv-arena-challenge-form label{color:#55748b!important}

.pv-sidequest-roadmap>*,.pv-sidequest-sequence-grid>*,.pv-sidequest-rewards>*{background:#f8fcff!important;border-color:rgba(42,117,187,.09)!important;color:#58758b!important;border-radius:13px!important}
.pv-sidequest-roadmap .active,.pv-sidequest-sequence-grid .active{background:#fff8d4!important;border-color:rgba(255,190,0,.28)!important;color:#6f5700!important}
.pv-sidequest-handoff-status{background:#effbf2!important;color:#25864c!important;border-color:rgba(55,184,106,.17)!important;border-radius:999px!important}
.pv-sidequest-source-note{background:#f7fbff!important;color:#6b8193!important;border-radius:13px!important}

.pv-alert,.pv-empty-state,.pv-pagination,.pv-sticky-actionbar{
  background:linear-gradient(145deg,#fff,#f4fbff)!important;border-color:rgba(42,117,187,.13)!important;color:var(--pv-poke-ink)!important;border-radius:16px!important;box-shadow:0 7px 15px rgba(39,83,118,.05)!important
}
.pv-alert-success{background:#effbf2!important;border-color:rgba(55,184,106,.20)!important;color:#267d49!important}.pv-alert-error{background:#fff1ef!important;border-color:rgba(232,69,69,.20)!important;color:#aa3e3e!important}
.pv-empty-state strong{color:var(--pv-poke-ink)!important}.pv-empty-state span,.pv-empty-state p{color:#6a8194!important}
.pv-pagination a,.pv-pagination span{background:#fff!important;color:#55748b!important;border-color:rgba(42,117,187,.11)!important;border-radius:999px!important}.pv-pagination a:hover:where(html.pv-can-hover *),.pv-pagination .active{background:#2a75bb!important;color:#fff!important;border-color:#2a75bb!important}
.pv-sticky-actionbar{backdrop-filter:blur(12px)}
.pv-pokemon-select-check{background:#fff8cd!important;color:#735a00!important;border-color:rgba(255,190,0,.23)!important;border-radius:999px!important}

.pv-trade-status{background:#eef8ff!important;color:#2b6d9b!important;border-color:rgba(42,117,187,.12)!important;border-radius:999px!important}.pv-trade-offer-head small{color:#2a75bb!important}.pv-trade-offer-items>*{background:#f7fbff!important;border-color:rgba(42,117,187,.08)!important;border-radius:12px!important}

.pv-evolution-vitals>div,.pv-evolution-moves>div{background:#f7fbff!important}.pv-evolution-vitals span,.pv-evolution-moves span{color:#6c8294!important}.pv-evolution-vitals strong,.pv-evolution-moves strong{color:#315e7c!important}.pv-evolution-form{background:#fff9df!important}.pv-evolution-locked-note{background:#fff1ef!important;color:#a54646!important;border-color:rgba(232,69,69,.16)!important;border-radius:13px!important}.pv-evolution-chip{background:#eef8ff!important;color:#2a75bb!important;border-color:rgba(42,117,187,.11)!important;border-radius:999px!important}.pv-empty-icon{background:#edf8ff!important;border-color:rgba(42,117,187,.11)!important;color:#2a75bb!important}

.pv-wild-result{background:radial-gradient(circle at 85% 20%,rgba(255,203,5,.20),transparent 25%),linear-gradient(145deg,#fff,#eef9ff)!important}.pv-wild-result-won,.pv-wild-result-captured{border-color:rgba(55,184,106,.23)!important}.pv-wild-result-lost{border-color:rgba(232,69,69,.22)!important}.pv-wild-rewards b{background:#fff8cd!important;color:#735a00!important;border-color:rgba(255,190,0,.18)!important;border-radius:999px!important}.pv-map-wild-card>img{filter:drop-shadow(0 10px 12px rgba(33,73,99,.18))!important}

.pv-dex-entry-nav>*{border-radius:14px!important}.pv-dex-owned-badge{background:#effbf2!important;color:#25864c!important;border-color:rgba(55,184,106,.18)!important;border-radius:999px!important}.pv-dex-variant-badge{background:#fff8cc!important;color:#7a6000!important;border-color:rgba(255,190,0,.18)!important;border-radius:999px!important}.pv-dex-ability-list>*{border-radius:12px!important}.pv-dex-move-row{border-radius:12px!important}.pv-dex-move-index{background:#2a75bb!important;color:#fff!important;border-radius:9px!important}.pv-dex-empty-owned{color:#6b8294!important;border-radius:14px!important}.pv-dex-final-stage{background:#fff9df!important}.pv-dex-evolution-current{background:#effbf2!important}.pv-dex-evolution-node{border-radius:14px!important}.pv-dex-specimen-list>*{border-radius:12px!important}

.pv-live-trainer-list,.pv-live-offer-list{padding:12px!important}.pv-live-trainer-list>*,.pv-live-offer-list>*{background:#f7fbff!important;border-color:rgba(42,117,187,.09)!important;border-radius:13px!important}.pv-live-result-grid>div{border-radius:14px!important}.pv-live-wait-modern{background:radial-gradient(circle at 50% 35%,rgba(42,117,187,.10),transparent 28%),linear-gradient(145deg,#fff,#eef9ff)!important}.pv-live-wait-modern h2{color:var(--pv-poke-ink)!important}.pv-live-wait-modern p{color:#698094!important}

.pv-combat-runtime-banner{background:radial-gradient(circle at 90% 18%,rgba(255,203,5,.17),transparent 22%),linear-gradient(135deg,#fff,#edf9ff)!important;border-radius:18px!important}.pv-combat-outcome-reward,.pv-combat-outcome-roster{border-radius:14px!important}.pv-turn-move-banner{background:linear-gradient(90deg,#eef9ff,#fff9df)!important;color:#315f7f!important;border-radius:999px!important}.pv-combat-continue-copy{border-radius:14px!important}.pv-combat-continue-copy strong{color:var(--pv-poke-ink)!important}.pv-combat-continue-copy span{color:#688094!important}

.pv-event-fusion-form,.pv-event-progress{background:linear-gradient(145deg,#fff,#f3faff)!important;border-color:rgba(42,117,187,.13)!important;border-radius:16px!important;color:var(--pv-poke-ink)!important}.pv-event-progress i{background:#dfeaed!important;border-radius:999px!important}.pv-event-progress i b{background:linear-gradient(90deg,#37b86a,#ffcb05,#2a75bb)!important;border-radius:999px!important}

/* Ensure bright text contrast within intentionally dark native map pixels only. */
.pv-map-stage .pv-map-actor-label,.pv-map-viewport-wrap .pv-map-actor-label,.pv-world-map-stage .pv-map-actor-label{color:#fff!important;text-shadow:0 1px 3px rgba(0,0,0,.75)!important}

/* Final specificity safeguards for the bright battle HUD. */
:root{color-scheme:light}
body.pv-legacy-battle-page .pv-combat-modern-arena .pv-wild-fighter-hud h1,
body.pv-legacy-battle-page .pv-combat-modern-arena .pv-wild-fighter-hud h2,
body.pv-legacy-battle-page .pv-combat-modern-arena .pv-wild-fighter-hud h3,
.pv-live-runtime-page .pv-wild-arena .pv-wild-fighter-hud h1,
.pv-live-runtime-page .pv-wild-arena .pv-wild-fighter-hud h2,
.pv-live-runtime-page .pv-wild-arena .pv-wild-fighter-hud h3,
.pv-wildbattle-page .pv-wild-arena .pv-wild-fighter-hud h1,
.pv-wildbattle-page .pv-wild-arena .pv-wild-fighter-hud h2,
.pv-wildbattle-page .pv-wild-arena .pv-wild-fighter-hud h3{color:var(--pv-poke-ink)!important;text-shadow:none!important}
body.pv-legacy-battle-page .pv-combat-modern-arena .pv-wild-fighter-hud strong,
.pv-live-runtime-page .pv-wild-arena .pv-wild-fighter-hud strong,
.pv-wildbattle-page .pv-wild-arena .pv-wild-fighter-hud strong{color:#60798c!important}

/* v25.1.0 — final icon and trainer-directory sprite coherence */
.pv-network-code.pv-image-icon {
    display: grid;
    place-items: center;
    overflow: visible;
    background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(233,247,255,.98));
    border: 1px solid rgba(42,117,187,.22);
    box-shadow: 0 8px 20px rgba(36,87,125,.11), inset 0 0 0 3px rgba(255,255,255,.72);
}
.pv-network-code.pv-image-icon img {
    width: 42px;
    height: 42px;
    max-width: 42px;
    max-height: 42px;
    object-fit: contain;
    image-rendering: pixelated;
    filter: drop-shadow(0 5px 7px rgba(28,60,88,.18));
    transform: translateZ(0);
    transition: transform .22s ease, filter .22s ease;
}
.pv-network-card:hover:where(html.pv-can-hover *) .pv-network-code.pv-image-icon img {
    transform: translateY(-3px) scale(1.08);
    filter: drop-shadow(0 8px 9px rgba(42,117,187,.22));
}
.pv-trainer-avatar {
    display: grid;
    place-items: center;
    overflow: hidden;
    background: radial-gradient(circle at 50% 35%, #fff 0 30%, #edf8ff 31% 67%, #d8effc 68% 100%);
    border-color: rgba(42,117,187,.22) !important;
    box-shadow: inset 0 0 0 3px rgba(255,255,255,.78), 0 6px 16px rgba(38,88,123,.11);
}
.pv-trainer-avatar img {
    display: block;
    width: auto;
    height: auto;
    max-width: 52px;
    max-height: 62px;
    object-fit: contain;
    image-rendering: pixelated;
    filter: drop-shadow(0 4px 4px rgba(35,69,92,.18));
}
.pv-trainer-card:hover:where(html.pv-can-hover *) .pv-trainer-avatar img,
.pv-trainer-identity:hover:where(html.pv-can-hover *) .pv-trainer-avatar img {
    animation: pvTrainerSpriteHop .48s ease both;
}
@keyframes pvTrainerSpriteHop {
    0%,100% { transform: translateY(0) scale(1); }
    46% { transform: translateY(-5px) scale(1.06); }
}
@media (prefers-reduced-motion: reduce) {
    .pv-trainer-card:hover:where(html.pv-can-hover *) .pv-trainer-avatar img,
    .pv-trainer-identity:hover:where(html.pv-can-hover *) .pv-trainer-avatar img { animation: none; }
}

/* -------------------------------------------------------------------------- */
/* v25.1.1 — full-site Pokémon style completion                               */
/*                                                                            */
/* Final coherence sweep across every player-facing surface. The older        */
/* terminal/navy palette is no longer used for ordinary game UI. Native map    */
/* pixels, sprite assets, combat animation hooks and server-authoritative       */
/* behavior remain untouched.                                                  */
/* -------------------------------------------------------------------------- */

:root{
  color-scheme:light;
  --pv-bg:#eaf8ff;
  --pv-bg-2:#fff9df;
  --pv-panel:rgba(255,255,255,.98);
  --pv-panel-2:rgba(245,251,255,.98);
  --pv-panel-soft:rgba(238,249,255,.92);
  --pv-border:rgba(42,117,187,.18);
  --pv-border-strong:rgba(42,117,187,.34);
  --pv-text:#17324d;
  --pv-muted:#60788c;
  --pv-cyan:#2a75bb;
  --pv-blue:#2a75bb;
  --pv-blue-2:#174f91;
  --pv-gold:#ffcb05;
  --pv-green:#37b86a;
  --pv-red:#e84545;
  --pv-shadow:0 18px 42px rgba(39,83,118,.12),0 3px 10px rgba(39,83,118,.06);
}

/* Global text fallback so any recovered sub-surface that missed a page-level
   override inherits the bright Pokémon theme instead of the old dark skin. */
body,
body.pv-modern-page,
body.pv-pokemon-theme-v25{color:var(--pv-poke-ink)!important}
body h1,body h2,body h3,body h4,body h5,body h6,body strong{color:var(--pv-poke-ink)!important;text-shadow:none!important}
body small,body .small,body .pv-subtle,body .pv-muted{color:var(--pv-poke-muted)!important}
body a{color:#1768ad}
body a:hover:where(html.pv-can-hover *){color:#174f91}

/* Public landing page: remove the last large navy hero/status surfaces. */
.pv-hero{
  color:var(--pv-poke-ink)!important;
  background:
    radial-gradient(circle at 84% 23%,rgba(255,203,5,.24),transparent 18rem),
    radial-gradient(circle at 92% 76%,rgba(55,184,106,.11),transparent 16rem),
    linear-gradient(135deg,#fff 0%,#edf9ff 58%,#fff8d5 100%)!important;
  border:1px solid rgba(42,117,187,.18)!important;
  box-shadow:0 22px 48px rgba(39,83,118,.13)!important;
}
.pv-hero h1,.pv-hero h2,.pv-hero h3{color:var(--pv-poke-ink)!important}
.pv-hero h1 span{color:transparent!important;-webkit-text-stroke:2px #b78b00!important;text-shadow:none!important}
.pv-hero p{color:#5e788c!important}
.pv-world-status{
  background:linear-gradient(150deg,#fff,#f4fbff)!important;
  color:var(--pv-poke-ink)!important;
  border:1px solid rgba(42,117,187,.18)!important;
  border-radius:20px!important;
  box-shadow:0 14px 28px rgba(39,83,118,.10)!important;
}
.pv-world-status .pv-status-online{color:#25864c!important}
.pv-world-status .pv-status-copy,.pv-status-row span{color:#688094!important}
.pv-status-row{border-color:rgba(42,117,187,.09)!important}
.pv-home-banner,.pv-feature,.pv-feature-card{
  background:linear-gradient(145deg,#fff,#f3faff)!important;
  border-color:rgba(42,117,187,.14)!important;
  color:var(--pv-poke-ink)!important;
  box-shadow:0 10px 22px rgba(39,83,118,.08)!important;
}
.pv-feature:hover:where(html.pv-can-hover *),.pv-feature-card:hover:where(html.pv-can-hover *){background:linear-gradient(145deg,#fff8d5,#fff)!important;border-color:rgba(255,190,0,.31)!important;transform:translateY(-5px)!important}

/* Authentication/setup surfaces and local utility pages. */
.pv-auth-page{
  background:radial-gradient(circle at 12% 15%,rgba(42,117,187,.14),transparent 28rem),radial-gradient(circle at 88% 13%,rgba(255,203,5,.22),transparent 25rem),linear-gradient(145deg,#e8f8ff,#fffdf2 70%,#eefbe9)!important
}
.pv-trainer-preview,.pv-setup-box{
  background:linear-gradient(145deg,#fff,#f2faff)!important;
  border-color:rgba(42,117,187,.16)!important;
  color:var(--pv-poke-ink)!important;
  border-radius:16px!important;
  box-shadow:0 8px 18px rgba(39,83,118,.06)!important;
}
.pv-setup-box p,.pv-setup-details span{color:#647f92!important}
.pv-starter label{background:linear-gradient(145deg,#fff,#f2faff)!important;border-color:rgba(42,117,187,.14)!important;color:var(--pv-poke-ink)!important}
.pv-starter label:hover:where(html.pv-can-hover *){background:#fff9d8!important;border-color:rgba(255,190,0,.30)!important;transform:translateY(-3px)}
.pv-starter input:checked+label{background:linear-gradient(145deg,#fff8c9,#fff)!important;border-color:#2a75bb!important;box-shadow:0 0 0 3px rgba(42,117,187,.10)!important}
.pv-skip-link{background:#fff!important;color:#174f91!important;border-color:#2a75bb!important}

/* World selection and exploration chrome. Actual map images retain native size. */
.pv-map-viewport-wrap,.pv-kanto-native-viewport,.pv-region-native-viewport{
  background:linear-gradient(145deg,#eaf8ff,#fff9df)!important;
  border:1px solid rgba(42,117,187,.16)!important;
  box-shadow:inset 0 0 0 6px rgba(255,255,255,.7),0 12px 26px rgba(39,83,118,.09)!important;
}
.pv-map-quiet,.pv-map-noscript{
  background:rgba(255,255,255,.88)!important;
  color:#607b90!important;
  border-color:rgba(42,117,187,.18)!important;
  border-radius:15px!important;
}
.pv-kanto-native-stage,.pv-region-native-stage{outline-color:rgba(42,117,187,.15)!important;box-shadow:0 0 0 1px rgba(42,117,187,.16),0 18px 36px rgba(39,83,118,.15)!important}
.pv-map-stage{box-shadow:0 18px 36px rgba(39,83,118,.16)!important}

/* Sidequests: every queue/roadmap/reward surface now uses the same bright
   adventure-book language. The old navy queue container was still visible. */
.pv-sidequest-sequence,.pv-sidequest-handoff,.pv-sidequest-reward-panel,.pv-sidequest-map-card,.pv-sidequest-target{
  background:linear-gradient(145deg,#fff,#f3faff)!important;
  border:1px solid rgba(42,117,187,.14)!important;
  color:var(--pv-poke-ink)!important;
  border-radius:19px!important;
  box-shadow:0 10px 22px rgba(39,83,118,.08)!important;
}
.pv-sidequest-sequence .pv-world-section-head,.pv-sidequest-map-card .pv-world-section-head{background:transparent!important;color:var(--pv-poke-ink)!important}
.pv-sidequest-sequence-grid>div{
  background:linear-gradient(145deg,#fff,#f6fbff)!important;
  border-color:rgba(42,117,187,.11)!important;
  color:var(--pv-poke-ink)!important;
}
.pv-sidequest-sequence-grid>div.is-current{background:linear-gradient(145deg,#fff8d0,#fff)!important;border-color:rgba(255,190,0,.34)!important;box-shadow:inset 4px 0 #ffcb05!important}
.pv-sidequest-sequence-grid span{color:#2a75bb!important}.pv-sidequest-sequence-grid b{color:#17324d!important}.pv-sidequest-sequence-grid small{color:#688094!important}.pv-sidequest-sequence-grid em{color:#778b9a!important}.pv-sidequest-sequence-grid .is-current em{color:#25864c!important}
.pv-sidequest-map-frame{background:linear-gradient(145deg,#eaf8ff,#fff9df)!important;border-color:rgba(42,117,187,.14)!important;border-radius:15px!important}
.pv-sidequest-map-frame img{filter:saturate(.98) brightness(1)!important}.pv-sidequest-map-frame:hover:where(html.pv-can-hover *) img{filter:saturate(1.06) brightness(1.02)!important}
.pv-sidequest-progress{background:#fff!important;border-color:rgba(42,117,187,.16)!important;color:var(--pv-poke-ink)!important}
.pv-sidequest-rewards span{background:#f7fbff!important;color:var(--pv-poke-ink)!important}
.pv-sidequest-rewards small{color:#25864c!important}

/* Battle Arena + Events: organization banners and region headers were the
   final large sci-fi strips on this page. */
.pv-event-region-head{
  background:radial-gradient(circle at 88% 20%,rgba(255,203,5,.15),transparent 15rem),linear-gradient(145deg,#fff,#eef9ff)!important;
  border:1px solid rgba(42,117,187,.15)!important;
  border-left:5px solid #2a75bb!important;
  color:var(--pv-poke-ink)!important;
  border-radius:18px!important;
  box-shadow:0 9px 20px rgba(39,83,118,.08)!important;
}
.pv-event-region:nth-of-type(3n+2) .pv-event-region-head{border-left-color:#e84545!important}
.pv-event-region:nth-of-type(3n+3) .pv-event-region-head{border-left-color:#37b86a!important}
.pv-event-region.is-complete .pv-event-region-head{border-color:rgba(55,184,106,.28)!important;border-left:5px solid #37b86a!important;box-shadow:0 9px 20px rgba(39,83,118,.08),inset 0 0 0 1px rgba(55,184,106,.08)!important}
.pv-event-region-head::after{border-color:rgba(255,203,5,.16)!important;background:rgba(255,203,5,.04)!important}
.pv-event-region-copy span{color:#2a75bb!important}.pv-event-region-copy h2{color:var(--pv-poke-ink)!important}.pv-event-region-copy p{color:#687f92!important}.pv-event-badge-state strong{color:#2a75bb!important}.pv-event-badge-state small{color:#718699!important}
.pv-event-banner{background:linear-gradient(145deg,#fff,#f7fbff)!important;border-color:rgba(42,117,187,.11)!important}
.pv-arena-opponent-grid{gap:12px!important}.pv-arena-region{color:var(--pv-poke-ink)!important}
.pv-arena-opponent-head,.pv-arena-reward{border-color:rgba(42,117,187,.09)!important}
.pv-arena-locked{background:#eef3f6!important;color:#7890a1!important;border-color:rgba(42,117,187,.08)!important;border-radius:999px!important}

/* Trainer/Wild/Live battle stages: presentation only. Animation attributes,
   forms, action tokens, HP values and authoritative server resolution are not
   altered. */
.pv-combat-modern-arena,.pv-wild-arena,.pv-live-runtime-page .pv-wild-arena,
body.pv-combat-shell-upgraded #scrollContent,
body.pv-combat-shell-upgraded #ajax{
  background:radial-gradient(circle at 50% 5%,rgba(255,203,5,.13),transparent 18rem),linear-gradient(145deg,#f8fcff,#fff9df)!important;
  color:var(--pv-poke-ink)!important;
  border-color:rgba(42,117,187,.16)!important;
  box-shadow:0 14px 30px rgba(39,83,118,.10)!important;
}
.pv-wild-fighter,
body.pv-combat-shell-upgraded #ajax .pokemonList table{
  background:radial-gradient(circle at 50% 56%,#fff 0 18%,#eaf8ff 48%,#f9fdff 72%,#fff9df 100%)!important;
  color:var(--pv-poke-ink)!important;
  border:1px solid rgba(42,117,187,.15)!important;
  box-shadow:0 10px 22px rgba(39,83,118,.08)!important;
}
.pv-wild-fighter::before,.pv-wild-fighter::after{border-color:rgba(42,117,187,.08)!important}
.pv-wild-fighter-hud{background:linear-gradient(90deg,rgba(255,255,255,.95),rgba(238,249,255,.96))!important;border-color:rgba(42,117,187,.09)!important}
.pv-wild-fighter-hud span,.pv-wild-fighter-hud small{color:#607b90!important}.pv-wild-fighter-hud h2,.pv-wild-fighter-hud h3{color:#17324d!important}
.pv-wild-sprite-zone{background:radial-gradient(circle at 50% 55%,rgba(255,255,255,.96),rgba(219,244,255,.67) 40%,rgba(255,248,214,.22) 61%,transparent 72%)!important}
.pv-wild-scan-ring,.pv-wild-scan-ring::before,.pv-wild-scan-ring::after{border-color:rgba(42,117,187,.13)!important}
.pv-wild-hp,.pv-wild-team-grid i{background:#dce8ec!important;border-radius:999px!important}
.pv-wild-log-panel,.pv-wild-control-panel{
  background:linear-gradient(145deg,#fff,#f2faff)!important;
  color:var(--pv-poke-ink)!important;
  border:1px solid rgba(42,117,187,.14)!important;
  border-radius:18px!important;
  box-shadow:0 8px 18px rgba(39,83,118,.06)!important;
}
.pv-wild-log{background:transparent!important}.pv-wild-command-complete,.pv-wild-run-box{background:#f8fcff!important;color:var(--pv-poke-ink)!important;border-color:rgba(42,117,187,.10)!important}
.pv-wild-empty{background:linear-gradient(145deg,#fff,#f3faff)!important;color:var(--pv-poke-ink)!important;border-color:rgba(42,117,187,.14)!important;border-radius:18px!important}
body.pv-combat-shell-upgraded{background:radial-gradient(circle at 90% 8%,rgba(255,203,5,.18),transparent 25rem),linear-gradient(145deg,#dff5ff,#fffdf3 67%,#edfbe8)!important;color:var(--pv-poke-ink)!important}
body.pv-combat-shell-upgraded #ajax .pokemonList td,body.pv-combat-shell-upgraded #ajax .pokemonList th{background:transparent!important;color:var(--pv-poke-ink)!important;border-color:rgba(42,117,187,.09)!important}
.pv-combat-outcome-reward,.pv-combat-outcome-roster,.pv-combat-continue-copy{background:linear-gradient(145deg,#fff,#f3faff)!important;color:var(--pv-poke-ink)!important;border-color:rgba(42,117,187,.12)!important}

/* Collection, shop, trade, messages, clans, directory, account and options:
   aggressively normalize any recovered literal-dark child blocks. */
.pv-shop-department-head,.pv-shop-card,.pv-collection-card,.pv-team-slot,.pv-dex-card,.pv-dex-hero,
.pv-movelab-pokemon,.pv-move-card,.pv-message-row,.pv-message-reader,.pv-message-compose,
.pv-trainer-card,.pv-clan-hero,.pv-clan-directory-card,.pv-clan-emblem,.pv-danger-zone,
.pv-trade-offer-card,.pv-trade-market-grid>*,.pv-offer-row,.pv-trade-filter,
.pv-option-list>label,.pv-sprite-choice,.pv-options-footer{
  background:linear-gradient(145deg,#fff,#f3faff)!important;
  color:var(--pv-poke-ink)!important;
  border-color:rgba(42,117,187,.13)!important;
}
.pv-danger-zone{background:linear-gradient(145deg,#fff5f4,#fff)!important;border-color:rgba(232,69,69,.20)!important;border-radius:18px!important}
.pv-clan-emblem{background:radial-gradient(circle,#fff8ce,#fff)!important;color:#8b6900!important;border-color:rgba(255,190,0,.24)!important}
.pv-trade-filter a:hover:where(html.pv-can-hover *),.pv-trade-filter a.active{color:#174f91!important;border-color:rgba(42,117,187,.25)!important;background:#fff8d4!important}
.pv-trade-card-title>b,.pv-trade-offer-head>strong{color:#25864c!important;background:#effbf2!important;border-color:rgba(55,184,106,.17)!important;border-radius:999px!important}
.pv-evolution-method-icon{background:#fff8cf!important;color:#7d6200!important;border-color:rgba(255,190,0,.22)!important;border-radius:999px!important}
.pv-evolution-cost,.pv-evolution-card-status{background:#eef8ff!important;color:#2a75bb!important;border-color:rgba(42,117,187,.12)!important}
.pv-prose code{background:#eef8ff!important;color:#1768ad!important;border-color:rgba(42,117,187,.14)!important}

/* Community cards: reserve a real icon column and clip the artwork inside it.
   This specifically prevents Pokémon/trainer art from overlapping card text. */
.pv-network-grid{gap:12px!important}
.pv-network-card{
  grid-template-columns:72px minmax(0,1fr) 26px!important;
  gap:16px!important;
  min-height:126px!important;
  padding:18px 20px!important;
  overflow:hidden!important;
  align-items:center!important;
}
.pv-network-code.pv-image-icon{
  width:62px!important;height:62px!important;
  min-width:62px!important;max-width:62px!important;
  overflow:hidden!important;
  clip-path:none!important;
  border-radius:50%!important;
  position:relative!important;
  z-index:2!important;
}
.pv-network-code.pv-image-icon img{
  display:block!important;
  width:46px!important;height:46px!important;
  max-width:46px!important;max-height:46px!important;
  object-fit:contain!important;
  margin:0!important;
  transform:none!important;
}
.pv-network-copy{min-width:0!important;padding-left:2px!important;position:relative!important;z-index:2!important;overflow:hidden!important}
.pv-network-copy h3{margin:0 0 6px!important;line-height:1.2!important;white-space:normal!important;overflow-wrap:anywhere!important}
.pv-network-copy p{margin:0!important;line-height:1.5!important;white-space:normal!important;overflow-wrap:anywhere!important}
.pv-network-card>b{position:relative!important;z-index:2!important;justify-self:end!important}
.pv-network-card:hover:where(html.pv-can-hover *) .pv-network-code.pv-image-icon img{transform:translateY(-2px) scale(1.04)!important}

/* Legacy helper/secondary pages that remain routable. */
.pv-sidequest-progress,.pv-trade-offer-head,.pv-trade-filter,.pv-progress{
  color:var(--pv-poke-ink)!important;
  border-color:rgba(42,117,187,.13)!important;
}
.pv-progress{background:#dfeaed!important}.pv-progress span{background:linear-gradient(90deg,#37b86a,#ffcb05,#2a75bb)!important;box-shadow:none!important}

/* Final hover polish stays contained and never overlaps neighboring copy. */
.pv-network-card,.pv-event-region-head,.pv-sidequest-sequence,.pv-wild-fighter,.pv-shop-card,.pv-trainer-card,.pv-clan-directory-card{isolation:isolate}
.pv-network-card:hover:where(html.pv-can-hover *),.pv-event-region-head:hover:where(html.pv-can-hover *),.pv-sidequest-sequence:hover:where(html.pv-can-hover *){transform:translateY(-3px)!important;box-shadow:0 16px 28px rgba(42,117,187,.11)!important}

/* Do not let decorative sprites or card art escape their intended boxes. */
.pv-network-card img,.pv-event-region-head img,.pv-sidequest-sequence img,.pv-shop-card img,.pv-trainer-card img,.pv-clan-directory-card img{max-width:100%;max-height:100%}
.pv-network-copy,.pv-event-region-copy,.pv-sidequest-sequence-grid>div,.pv-arena-opponent-main,.pv-shop-copy,.pv-trainer-card>div{min-width:0}

@media(max-width:760px){
  .pv-network-card{grid-template-columns:56px minmax(0,1fr) 20px!important;padding:14px!important;gap:12px!important}
  .pv-network-code.pv-image-icon{width:50px!important;height:50px!important;min-width:50px!important;max-width:50px!important}
  .pv-network-code.pv-image-icon img{width:38px!important;height:38px!important;max-width:38px!important;max-height:38px!important}
  .pv-event-region-head{grid-template-columns:1fr!important}
}

@media(prefers-reduced-motion:reduce){
  .pv-network-card:hover:where(html.pv-can-hover *),.pv-event-region-head:hover:where(html.pv-can-hover *),.pv-sidequest-sequence:hover:where(html.pv-can-hover *){transform:none!important}
  .pv-network-card:hover:where(html.pv-can-hover *) .pv-network-code.pv-image-icon img{transform:none!important}
}
.pv-button-danger,.pv-button.pv-button-danger{
  background:linear-gradient(145deg,#ffefed,#ffd9d5)!important;
  color:#a63b3b!important;
  border-color:rgba(232,69,69,.28)!important;
  box-shadow:0 7px 14px rgba(190,65,65,.08)!important;
}
.pv-button-danger:hover:where(html.pv-can-hover *),.pv-button.pv-button-danger:hover:where(html.pv-can-hover *){background:linear-gradient(145deg,#ffd9d5,#fff)!important;color:#8f2f2f!important;border-color:rgba(232,69,69,.42)!important;transform:translateY(-2px)!important}

/* -------------------------------------------------------------------------- */
/* v25.1.1 — residual surface audit                                            */
/*                                                                            */
/* The full page inventory exposed a final set of recovered literal-navy       */
/* components nested inside otherwise bright pages. These selectors normalize  */
/* those components explicitly instead of relying on inherited variables.      */
/* Map pixels, battle sprite layers and gameplay state hooks are not resized.   */
/* -------------------------------------------------------------------------- */

/* Core shells, generic cards, empty states and authentication surfaces. */
:is(.pv-page,.pv-panel,.pv-card,.pv-form-card,.pv-auth,.pv-auth-panel,.pv-auth-side,
    .pv-section-hero,.pv-empty-state,.pv-alert,.pv-stat-grid>div,.pv-stat-grid-wide>div){
  background:linear-gradient(145deg,#ffffff,#f1f9ff)!important;
  border-color:rgba(42,117,187,.14)!important;
  color:var(--pv-poke-ink)!important;
  box-shadow:0 10px 24px rgba(39,83,118,.08)!important;
}
.pv-auth-side{background:radial-gradient(circle at 18% 18%,rgba(42,117,187,.16),transparent 18rem),radial-gradient(circle at 82% 72%,rgba(255,203,5,.18),transparent 17rem),linear-gradient(145deg,#f5fbff,#fff9df)!important}
.pv-alert{border-left:4px solid #2a75bb!important;border-radius:14px!important}
.pv-empty-icon{background:linear-gradient(145deg,#fff8cf,#eef8ff)!important;border-color:rgba(42,117,187,.14)!important;color:#2a75bb!important}
.pv-hero-tags span,.pv-status-pill,.pv-mini-status{background:#eef8ff!important;border-color:rgba(42,117,187,.16)!important;color:#2a75bb!important;border-radius:999px!important}

/* Keep primary actions Pokémon-blue and make secondary actions light instead
   of retaining the recovered terminal/navy button treatment. */
.pv-btn:not(.secondary),.pv-btn.primary{
  background:linear-gradient(145deg,#3c9ee2,#2a75bb)!important;
  color:#fff!important;
  border-color:#1f69aa!important;
  box-shadow:0 8px 16px rgba(42,117,187,.18)!important;
}
.pv-btn.secondary,.pv-button-secondary{
  background:linear-gradient(145deg,#fff,#eef8ff)!important;
  color:#1768ad!important;
  border-color:rgba(42,117,187,.24)!important;
  box-shadow:0 7px 14px rgba(39,83,118,.07)!important;
}
.pv-btn:hover:where(html.pv-can-hover *):not(.secondary),.pv-btn.primary:hover:where(html.pv-can-hover *){background:linear-gradient(145deg,#2a75bb,#174f91)!important;transform:translateY(-2px)!important}
.pv-btn.secondary:hover:where(html.pv-can-hover *),.pv-button-secondary:hover:where(html.pv-can-hover *){background:linear-gradient(145deg,#fff8d5,#fff)!important;color:#174f91!important;transform:translateY(-2px)!important}

/* Battle Arena and Special Event catalogue. */
:is(.pv-arena-summary-grid>div,.pv-arena-network-card,.pv-arena-opponent,.pv-event-hero,
    .pv-event-rules,.pv-event-purchase,.pv-event-fusion-form,.pv-event-status-grid>div){
  background:linear-gradient(145deg,#fff,#f3faff)!important;
  border-color:rgba(42,117,187,.14)!important;
  color:var(--pv-poke-ink)!important;
  box-shadow:0 9px 20px rgba(39,83,118,.07)!important;
}
.pv-arena-progress-orb,.pv-event-progress{background:radial-gradient(circle,#fff8c7,#eef8ff 70%)!important;border-color:rgba(255,190,0,.28)!important;color:#174f91!important}
.pv-arena-tabs{background:#fff!important;border-color:rgba(42,117,187,.13)!important;border-radius:999px!important;padding:5px!important}
.pv-arena-tabs a{background:transparent!important;color:#527085!important;border-color:transparent!important;border-radius:999px!important}
.pv-arena-tabs a:hover:where(html.pv-can-hover *),.pv-arena-tabs a.active{background:linear-gradient(145deg,#3c9ee2,#2a75bb)!important;color:#fff!important;border-color:#2a75bb!important;box-shadow:0 6px 12px rgba(42,117,187,.16)!important}
.pv-arena-region-switch a{background:#fff!important;color:#41657e!important;border-color:rgba(42,117,187,.12)!important;border-radius:12px!important}
.pv-arena-region-switch a:hover:where(html.pv-can-hover *),.pv-arena-region-switch a.active{background:#fff8d5!important;color:#174f91!important;border-color:rgba(255,190,0,.30)!important}
.pv-arena-team span{background:#f7fbff!important;border-color:rgba(42,117,187,.11)!important;border-radius:50%!important}
.pv-arena-challenge-form input,.pv-arena-challenge-form select{background:#fff!important;color:#17324d!important;border-color:rgba(42,117,187,.20)!important;border-radius:10px!important}
.pv-event-code{background:#fff8d5!important;color:#856800!important;border-color:rgba(255,190,0,.24)!important}

/* Sidequest campaign: hero, roadmap, summary, team and handoff auxiliaries. */
.pv-sidequest-hero{background:radial-gradient(circle at 86% 18%,rgba(255,203,5,.18),transparent 20rem),linear-gradient(145deg,#fff,#eef9ff)!important;border-color:rgba(42,117,187,.14)!important;color:var(--pv-poke-ink)!important}
.pv-sidequest-progress-orb{background:radial-gradient(circle,#fff8c8,#eef8ff 70%)!important;border-color:rgba(42,117,187,.18)!important;color:#174f91!important;box-shadow:0 8px 20px rgba(39,83,118,.08)!important}
:is(.pv-sidequest-summary-grid>div,.pv-sidequest-roadmap>div,.pv-sidequest-team>span,
    .pv-sidequest-handoff-status,.pv-sidequest-source-note){
  background:linear-gradient(145deg,#fff,#f4faff)!important;
  border-color:rgba(42,117,187,.12)!important;
  color:var(--pv-poke-ink)!important;
}
.pv-sidequest-roadmap>div.is-active{background:linear-gradient(145deg,#fff8cf,#fff)!important;border-color:rgba(255,190,0,.30)!important;box-shadow:inset 4px 0 #ffcb05!important}
.pv-sidequest-roadmap>div.is-complete{background:linear-gradient(145deg,#effbf2,#fff)!important;border-color:rgba(55,184,106,.24)!important;box-shadow:inset 4px 0 #37b86a!important}
.pv-sidequest-summary-grid i{background:#dce9ef!important;border-color:rgba(42,117,187,.10)!important}.pv-sidequest-summary-grid i span{background:linear-gradient(90deg,#37b86a,#ffcb05,#2a75bb)!important}

/* Exploration and world-selection chrome. Native map/image dimensions remain
   controlled by their existing dedicated stage selectors. */
:is(.pv-map-card,.pv-map-console,.pv-map-control-panel,.pv-map-encounter-panel,.pv-map-region-panel,
    .pv-map-legend,.pv-map-compass,.pv-world-connection-list,.pv-region-overworld-source){
  background:linear-gradient(145deg,#fff,#f2faff)!important;
  border-color:rgba(42,117,187,.14)!important;
  color:var(--pv-poke-ink)!important;
  box-shadow:0 9px 20px rgba(39,83,118,.07)!important;
}
.pv-map-card:hover:where(html.pv-can-hover *){background:linear-gradient(145deg,#fff8d3,#fff)!important;border-color:rgba(255,190,0,.29)!important;transform:translateY(-3px)!important}
.pv-map-card-image{background:linear-gradient(145deg,#eaf8ff,#fff9df)!important;border-color:rgba(42,117,187,.12)!important;overflow:hidden!important}
.pv-map-console-top,.pv-map-console-bottom{background:linear-gradient(90deg,#2a75bb,#3c9ee2)!important;color:#fff!important;border-color:rgba(23,79,145,.20)!important}
.pv-map-console-top :where(span,b,strong,small),.pv-map-console-bottom :where(span,b,strong,small){color:#fff!important}
.pv-map-control-panel button{background:linear-gradient(145deg,#fff,#eef8ff)!important;color:#1768ad!important;border-color:rgba(42,117,187,.22)!important;box-shadow:0 5px 10px rgba(39,83,118,.06)!important}
.pv-map-control-panel button:hover:where(html.pv-can-hover *){background:linear-gradient(145deg,#fff8ce,#fff)!important;border-color:rgba(255,190,0,.30)!important;transform:translateY(-2px)!important}
.pv-world-code{background:#eef8ff!important;color:#2a75bb!important;border-color:rgba(42,117,187,.13)!important}

/* Pokédex/detail surfaces. */
:is(.pv-dex-search,.pv-dex-entry-nav>a,.pv-dex-entry-nav>div,.pv-dex-telemetry>div,
    .pv-dex-ability-list>div,.pv-dex-move-row,.pv-dex-final-stage,.pv-dex-empty-owned,
    .pv-dex-evolution-node,.pv-dex-evolution-current,.pv-dex-variant-tile,.pv-dex-specimen-list>a){
  background:linear-gradient(145deg,#fff,#f3faff)!important;
  border-color:rgba(42,117,187,.12)!important;
  color:var(--pv-poke-ink)!important;
}
.pv-dex-entry-nav>a:hover:where(html.pv-can-hover *),.pv-dex-specimen-list>a:hover:where(html.pv-can-hover *),.pv-dex-specimen-list>a.is-active{background:#fff8d5!important;border-color:rgba(255,190,0,.30)!important;color:#174f91!important}
.pv-dex-variant-badge,.pv-dex-owned-badge{background:#eef8ff!important;color:#2a75bb!important;border-color:rgba(42,117,187,.15)!important;border-radius:999px!important}
.pv-dex-owned-badge{background:#effbf2!important;color:#25864c!important;border-color:rgba(55,184,106,.18)!important}
.pv-dex-move-index{background:#2a75bb!important;color:#fff!important;border-color:#1f69aa!important;border-radius:9px!important}
.pv-dex-variant-tile.is-owned{background:linear-gradient(145deg,#effbf2,#fff)!important;border-color:rgba(55,184,106,.20)!important}
.pv-dex-ivs{background:#f7fbff!important;border-color:rgba(42,117,187,.12)!important;color:var(--pv-poke-ink)!important}

/* Collection/team selection. */
:is(.pv-pokemon-card,.pv-collection-card-body,.pv-collection-filter,.pv-pokemon-select-card,
    .pv-team-slot-preview,.pv-team-builder-footer){
  background:linear-gradient(145deg,#fff,#f3faff)!important;
  border-color:rgba(42,117,187,.13)!important;
  color:var(--pv-poke-ink)!important;
  box-shadow:0 8px 18px rgba(39,83,118,.06)!important;
}
.pv-pokemon-card:hover:where(html.pv-can-hover *),.pv-pokemon-select-card:hover:where(html.pv-can-hover *){background:linear-gradient(145deg,#fff8d7,#fff)!important;border-color:rgba(255,190,0,.28)!important;transform:translateY(-3px)!important}
.pv-pokemon-select-check{background:#2a75bb!important;color:#fff!important;border-color:#1f69aa!important;border-radius:50%!important}

/* Evolution/Move/Fossil labs. */
:is(.pv-evolution-card,.pv-evolution-empty,.pv-evolution-focus,.pv-evolution-form,.pv-evolution-moves,
    .pv-evolution-result,.pv-evolution-source-art,.pv-evolution-vitals,.pv-movelab-current,
    .pv-move-strip,.pv-move-stats){
  background:linear-gradient(145deg,#fff,#f3faff)!important;
  border-color:rgba(42,117,187,.13)!important;
  color:var(--pv-poke-ink)!important;
  box-shadow:0 8px 18px rgba(39,83,118,.06)!important;
}
.pv-evolution-chip,.pv-evolution-types span{background:#eef8ff!important;color:#2a75bb!important;border-color:rgba(42,117,187,.14)!important;border-radius:999px!important}
.pv-evolution-locked-note{background:#fff6e3!important;color:#8a6800!important;border-color:rgba(255,190,0,.20)!important}

/* Shop and wallet. */
.pv-shop-tabs{background:#fff!important;border-color:rgba(42,117,187,.13)!important;border-radius:999px!important;padding:5px!important}
.pv-shop-tabs a{background:transparent!important;color:#527085!important;border-color:transparent!important;border-radius:999px!important}
.pv-shop-tabs a:hover:where(html.pv-can-hover *),.pv-shop-tabs a.active{background:linear-gradient(145deg,#3c9ee2,#2a75bb)!important;color:#fff!important}
.pv-shop-art{background:radial-gradient(circle,#fff,#eaf8ff 70%)!important;border-color:rgba(42,117,187,.10)!important}
.pv-shop-buy{background:linear-gradient(145deg,#f7fbff,#fff)!important;border-color:rgba(42,117,187,.12)!important}
.pv-wallet{background:linear-gradient(145deg,#fff8c8,#fff)!important;color:#715900!important;border-color:rgba(255,190,0,.25)!important;box-shadow:0 8px 18px rgba(170,130,0,.08)!important}

/* Trade Center and offers. */
:is(.pv-trade-card,.pv-trade-card-image,.pv-trade-card-actions,.pv-trade-focus,.pv-trade-meta,
    .pv-trade-offer-items,.pv-trade-overview,.pv-trade-search,.pv-trade-status){
  background:linear-gradient(145deg,#fff,#f3faff)!important;
  border-color:rgba(42,117,187,.12)!important;
  color:var(--pv-poke-ink)!important;
}
.pv-trade-tabs{background:#fff!important;border-color:rgba(42,117,187,.13)!important;border-radius:999px!important;padding:5px!important}
.pv-trade-tabs a{background:transparent!important;color:#527085!important;border-radius:999px!important}
.pv-trade-tabs a:hover:where(html.pv-can-hover *),.pv-trade-tabs a.active{background:#2a75bb!important;color:#fff!important}

/* Community/messages/directory/clans. */
:is(.pv-message-nav,.pv-request-list,.pv-clan-roster,.pv-pagination){
  background:linear-gradient(145deg,#fff,#f3faff)!important;
  border-color:rgba(42,117,187,.12)!important;
  color:var(--pv-poke-ink)!important;
}
.pv-message-nav a{color:#4d6c82!important;border-color:transparent!important}.pv-message-nav a:hover:where(html.pv-can-hover *),.pv-message-nav a.active{background:#eef8ff!important;color:#174f91!important;border-color:rgba(42,117,187,.18)!important}
.pv-trainer-avatar{background:radial-gradient(circle,#fff,#eef8ff)!important;border-color:rgba(42,117,187,.14)!important;color:#2a75bb!important}

/* Autonomous trainer profile/detail cards. */
:is(.pv-bot-trainer-avatar,.pv-bot-scope-note,.pv-bot-pokemon-card,.pv-bot-metrics-grid article){
  background:linear-gradient(145deg,#fff,#f2faff)!important;
  border-color:rgba(42,117,187,.13)!important;
  color:var(--pv-poke-ink)!important;
  box-shadow:0 8px 18px rgba(39,83,118,.06)!important;
}
.pv-bot-trainer-avatar::after{background:#2a75bb!important;color:#fff!important;border-color:#1f69aa!important;box-shadow:0 4px 10px rgba(42,117,187,.16)!important}

/* Wild/Trainer/Live battle controls and results. */
:is(.pv-wild-command-tabs,.pv-wild-item-grid,.pv-wild-move-grid,.pv-wild-result,.pv-wild-rewards,
    .pv-live-offer-list,.pv-live-result-grid,.pv-live-trainer-list){
  background:linear-gradient(145deg,#fff,#f2faff)!important;
  border-color:rgba(42,117,187,.13)!important;
  color:var(--pv-poke-ink)!important;
  box-shadow:0 8px 18px rgba(39,83,118,.06)!important;
}
.pv-wild-versus{background:linear-gradient(145deg,#ffcb05,#ffe779)!important;color:#174f91!important;border-color:#d5a900!important;box-shadow:0 7px 15px rgba(190,145,0,.15)!important}
.pv-combat-runtime-signal{background:#effbf2!important;color:#25864c!important;border-color:rgba(55,184,106,.22)!important;border-radius:14px!important}
.pv-live-arena-tabs{background:#fff!important;border-color:rgba(42,117,187,.13)!important;border-radius:999px!important}.pv-live-arena-tabs a{color:#527085!important;border-radius:999px!important}.pv-live-arena-tabs a.active,.pv-live-arena-tabs a:hover:where(html.pv-can-hover *){background:#2a75bb!important;color:#fff!important}

/* Sticky/floating utilities. */
.pv-sticky-actionbar{background:rgba(255,255,255,.94)!important;border-color:rgba(42,117,187,.15)!important;color:var(--pv-poke-ink)!important;box-shadow:0 -10px 24px rgba(39,83,118,.10)!important;backdrop-filter:blur(14px)!important}
.pv-receipt-list>*,.pv-request-list>*{background:#f7fbff!important;border-color:rgba(42,117,187,.10)!important;color:var(--pv-poke-ink)!important}

/* Residual recovered controls that can otherwise pull the old palette back in. */
:is(.pv-collection-filter input,.pv-collection-filter select,.pv-trade-search input,.pv-trade-search select,
    .pv-evolution-form input,.pv-evolution-form select,.pv-live-offer-list input,.pv-live-offer-list select){
  background:#fff!important;color:#17324d!important;border-color:rgba(42,117,187,.20)!important;border-radius:10px!important;
}

/* Readability guard: recovered components sometimes set pale terminal text on
   descendants. On the normalized light surfaces force normal copy back to the
   site ink/muted palette while leaving buttons/badges/icons free to override. */
:is(.pv-arena-opponent,.pv-arena-network-card,.pv-event-hero,.pv-event-rules,.pv-event-purchase,
    .pv-sidequest-summary-grid>div,.pv-sidequest-roadmap>div,.pv-sidequest-handoff-status,.pv-sidequest-source-note,
    .pv-map-card,.pv-map-console,.pv-map-control-panel,.pv-map-encounter-panel,.pv-map-region-panel,.pv-map-legend,
    .pv-dex-telemetry>div,.pv-dex-ability-list>div,.pv-dex-move-row,.pv-dex-evolution-node,.pv-dex-evolution-current,.pv-dex-variant-tile,
    .pv-pokemon-card,.pv-pokemon-select-card,.pv-evolution-card,.pv-evolution-focus,.pv-evolution-form,.pv-evolution-result,
    .pv-trade-card,.pv-trade-focus,.pv-trade-overview,.pv-bot-pokemon-card,.pv-bot-scope-note,
    .pv-wild-item-grid,.pv-wild-move-grid,.pv-live-offer-list,.pv-live-result-grid,.pv-live-trainer-list)
  :where(p,span,small,em,label,li,td,th){color:#60788c!important}
:is(.pv-arena-opponent,.pv-arena-network-card,.pv-event-hero,.pv-event-rules,.pv-event-purchase,
    .pv-sidequest-summary-grid>div,.pv-sidequest-roadmap>div,.pv-sidequest-handoff-status,.pv-sidequest-source-note,
    .pv-map-card,.pv-map-console,.pv-map-control-panel,.pv-map-encounter-panel,.pv-map-region-panel,.pv-map-legend,
    .pv-dex-telemetry>div,.pv-dex-ability-list>div,.pv-dex-move-row,.pv-dex-evolution-node,.pv-dex-evolution-current,.pv-dex-variant-tile,
    .pv-pokemon-card,.pv-pokemon-select-card,.pv-evolution-card,.pv-evolution-focus,.pv-evolution-form,.pv-evolution-result,
    .pv-trade-card,.pv-trade-focus,.pv-trade-overview,.pv-bot-pokemon-card,.pv-bot-scope-note,
    .pv-wild-item-grid,.pv-wild-move-grid,.pv-live-offer-list,.pv-live-result-grid,.pv-live-trainer-list)
  :where(h1,h2,h3,h4,h5,h6,strong,b){color:#17324d!important}

/* Never let decorative/community artwork overlap adjacent copy. */
.pv-network-card .pv-network-code{contain:layout paint!important}.pv-network-card .pv-network-copy{max-width:100%!important}.pv-network-card .pv-network-copy>*{max-width:100%!important}

@media(max-width:900px){
  .pv-arena-tabs,.pv-shop-tabs,.pv-trade-tabs,.pv-live-arena-tabs{border-radius:16px!important;flex-wrap:wrap!important}
}
body.pv-legacy-battle-page{
  background:radial-gradient(circle at 90% 8%,rgba(255,203,5,.18),transparent 25rem),linear-gradient(145deg,#dff5ff,#fffdf3 67%,#edfbe8)!important;
  color:var(--pv-poke-ink)!important;
}

/* ========================================================================== */
/* v25.3.0 — mobile/iPad input and responsive shell                            */
/* Hover selectors above are guarded with zero-specificity pv-can-hover so    */
/* touch never changes an action's hit target before its native click arrives. */
/* ========================================================================== */
html { -webkit-text-size-adjust:100%; text-size-adjust:100%; }
.pv-topbar { overflow:visible; }
.pv-topbar::before,.pv-topbar::after,
.pv-global-spritefield,.pv-global-spritefield *,
.pv-pokemon-banner-team,.pv-combat-runtime-banner::after { pointer-events:none !important; }
.pv-brand,.pv-brand-copy,.pv-nav,.pv-side-sections { min-width:0; }
.pv-brand-mark { flex-shrink:0; }
.pv-side-toggle { display:none; }
/* Fail open: the menu must remain reachable when scripting is disabled. */
.pv-topbar .pv-nav { display:flex !important; }
.pv-topbar .pv-nav-toggle { display:none; }
.pv-side-sections { display:block; }
:where(a,button,input,select,textarea,summary,[role="button"]) { touch-action:manipulation; }
:where(a,button,summary,[role="button"]) { -webkit-tap-highlight-color:rgba(42,117,187,.18); }
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible {
  outline:3px solid #2a75bb; outline-offset:3px;
}
/* Never require an observer callback before a player can see/use a control. */
.pv-motion-reveal,.pv-pokemon-reveal { opacity:1; }
.pv-map-viewport-wrap,.pv-ranking-table { min-width:0; max-width:100%; -webkit-overflow-scrolling:touch; }
.pv-map-viewport-wrap { touch-action:pan-x pan-y pinch-zoom; }
.pv-map-layout,.pv-map-console,.pv-map-sidebar,.pv-wild-lower-grid > *,
.pv-ranking-summary > *,.pv-rival-overview > * { min-width:0; }

/* Between a full desktop and a tablet, the left rail reduces usable map width.
   Stack the map controls before the old 520px + 320px columns can overflow. */
@media (min-width:1101px) and (max-width:1400px) {
  .pv-map-layout { grid-template-columns:minmax(0,1fr); }
  .pv-map-sidebar { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (max-width:1100px) {
  .pv-site-shell { width:calc(100% - 20px); }
  .pv-topbar {
    position:relative !important; top:auto !important; flex-wrap:wrap;
    gap:10px; padding:10px 12px; min-height:68px;
  }
  .pv-topbar .pv-brand { flex:1 1 0; }
  .pv-topbar .pv-brand-copy { overflow-wrap:anywhere; }
  .pv-topbar .pv-nav {
    position:static; width:100%; flex:0 0 100%; margin:0;
    display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr));
    gap:6px; padding:8px; border:1px solid rgba(42,117,187,.20);
    border-radius:16px; background:#f7fbff; box-shadow:none;
    max-height:65vh; max-height:min(65dvh,36rem); overflow:auto;
    overscroll-behavior:contain; -webkit-overflow-scrolling:touch;
  }
  .pv-topbar.pv-nav-ready .pv-nav { display:none !important; }
  .pv-topbar.pv-nav-ready.pv-nav-open .pv-nav { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pv-topbar.pv-nav-ready .pv-nav-toggle {
    display:inline-flex; align-items:center; justify-content:center; flex-direction:column;
    position:relative; flex:0 0 48px; margin-left:auto; min-height:48px;
    background:#edf8ff; color:#174f91; border-color:rgba(42,117,187,.3); border-radius:12px;
  }
  .pv-nav-toggle span { background:#174f91; margin:3px auto; height:2px; }
  .pv-topbar .pv-nav a { display:flex; align-items:center; gap:8px; justify-content:flex-start; min-height:44px; padding:8px; font-size:14px; }
  .pv-nav a > span,.pv-trainer-chip > em { overflow-wrap:anywhere; white-space:normal; max-width:100%; }
  .pv-topbar .pv-trainer-chip > span { flex:0 0 25px; }
  .pv-game-layout,body.pv-combat-shell-upgraded #contentContainer { grid-template-columns:minmax(0,1fr) !important; }
  body.pv-combat-shell-upgraded #content { grid-column:1 !important; }
  .pv-side-menu,body.pv-combat-shell-upgraded .pv-combat-side-menu {
    display:block !important; position:relative !important; top:auto !important;
    min-height:0; padding:8px !important;
  }
  .pv-side-menu::before { pointer-events:none; }
  .pv-side-menu-ready .pv-side-sections { display:none; }
  .pv-side-menu-ready.pv-side-open .pv-side-sections { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; padding-top:10px; }
  .pv-side-profile { grid-column:1 / -1; }
  .pv-side-menu .pv-side-group { margin-top:0; padding-top:0; }
  .pv-side-menu-ready .pv-side-toggle {
    display:flex; align-items:center; justify-content:space-between; width:100%;
    min-height:44px; padding:10px 14px; font-size:14px; font-weight:800;
    border-radius:14px; background:#edf8ff; color:#174f91; border:1px solid rgba(42,117,187,.2);
  }
  .pv-side-toggle::after { content:'+'; font-size:22px; line-height:1; }
  .pv-side-toggle[aria-expanded="true"]::after { content:'−'; }
  .pv-side-menu a { min-height:44px; font-size:14px; }
  .pv-page { padding:18px !important; }
  .pv-page-head,.pv-section-heading { flex-wrap:wrap; gap:12px; }
  .pv-page-head > *,.pv-section-heading > * { min-width:0; max-width:100%; }
  .pv-auth { grid-template-columns:minmax(0,1fr) !important; }
  .pv-auth-side { min-height:0 !important; padding:22px !important; }
  .pv-auth-side > img { display:none; }
  .pv-auth-side h1 { margin-top:20px !important; font-size:28px !important; }
  .pv-auth-panel { padding:24px !important; }
  /* Native art keeps its exact dimensions; only its viewport adapts. */
  .pv-map-viewport-wrap {
    display:block; min-height:0; padding:12px; overflow:auto;
    max-height:58vh; max-height:58dvh; overflow-anchor:none;
  }
  .pv-map-stage { margin-inline:auto; }
  .pv-world-map-viewport { min-height:0 !important; max-height:58vh !important; max-height:58dvh !important; }
  .pv-map-console-top,.pv-map-console-bottom { flex-wrap:wrap; gap:8px; }
  .pv-map-sidebar { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pv-map-control-panel,.pv-map-encounter-panel,.pv-map-region-panel { min-height:0; }
  .pv-map-compass { width:176px; grid-template-columns:repeat(3,52px); gap:6px; margin:14px auto; }
  .pv-map-compass button { min-width:52px; min-height:52px; height:52px; font-size:24px; }
  .pv-map-trainer-core { width:52px; height:52px; }
  .pv-wild-command-tabs button { min-height:44px; font-size:14px; }
  .pv-wild-log { min-height:0; max-height:240px; }
  .pv-ranking-table { overflow:auto; }
  .pv-footer { padding:18px 12px; }
  .pv-footer-links a { padding:8px 4px; }
}

@media (max-width:650px) {
  .pv-site-shell { width:calc(100% - 12px); padding-top:6px; }
  .pv-topbar .pv-brand-copy { font-size:13px !important; letter-spacing:.02em !important; }
  .pv-topbar .pv-brand-copy small { font-size:10px; letter-spacing:.02em; line-height:1.4; }
  .pv-topbar .pv-brand-mark { width:40px !important; height:40px !important; }
  .pv-game-layout { gap:10px; }
  .pv-side-menu-ready.pv-side-open .pv-side-sections { grid-template-columns:minmax(0,1fr); }
  .pv-side-profile { grid-column:auto; }
  .pv-page { padding:14px !important; border-radius:18px !important; }
  .pv-page-head h1 { overflow-wrap:anywhere; }
  .pv-page p,.pv-auth-panel p { font-size:14px !important; }
  .pv-field label { font-size:14px !important; }
  .pv-page-head,.pv-map-head-actions,.pv-section-heading,.pv-rival-section-head { display:flex; flex-direction:column; align-items:stretch; }
  .pv-map-head-actions .pv-button { width:100%; justify-content:center; }
  .pv-map-sidebar { grid-template-columns:minmax(0,1fr); }
  .pv-map-control-panel > p,.pv-map-console-bottom { font-size:12px; }
  .pv-wild-lower-grid { display:flex; flex-direction:column; }
  .pv-wild-control-panel { order:-1; }
  .pv-wild-fighter { min-height:230px; }
  .pv-wild-fighter-hud { padding:12px; }
  .pv-wild-fighter-hud h2 { overflow-wrap:anywhere; }
  .pv-wild-result-actions,.pv-team-builder-footer,.pv-options-footer { position:static; display:grid; }
  .pv-wild-command-tabs { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pv-wild-move-grid,.pv-wild-item-grid { grid-template-columns:minmax(0,1fr); }
  .pv-auth-wrap { padding:8px 0; min-height:100vh; min-height:100dvh; }
  .pv-auth-panel { padding:20px 16px !important; }
  .pv-auth-side { padding:18px !important; }
  .pv-auth .pv-brand-copy { font-size:14px !important; letter-spacing:.02em; }
  .pv-auth .pv-brand-copy small { font-size:10px; }
  .pv-auth .pv-brand-mark { width:40px !important; height:40px !important; }
  .pv-auth-links { gap:10px; }
  .pv-auth-links a { display:inline-flex; align-items:center; min-height:44px; }
}

@media (max-width:380px) {
  .pv-topbar .pv-nav { grid-template-columns:minmax(0,1fr) !important; }
  .pv-topbar .pv-brand { gap:6px; }
  .pv-topbar .pv-brand-copy small { display:none; }
  .pv-ranking-summary { grid-template-columns:minmax(0,1fr); }
}

/* Coarse input is a capability, not a phone-size or user-agent guess. This
   also covers landscape iPads and touch laptops with desktop-size viewports. */
@media (any-pointer:coarse), (max-width:650px) {
  button,input[type="submit"],input[type="button"],.pv-button,.pv-btn,summary {
    min-height:44px !important; font-size:14px !important;
  }
  input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),select,textarea {
    font-size:16px !important; min-height:44px;
  }
  .pv-wild-move-grid button,.pv-wild-item-grid button,.pv-wild-team-grid button { padding:12px !important; }
  .pv-pagination a,.pv-pagination > span,.pv-arena-tabs a,.pv-trade-tabs a,.pv-shop-tabs a,.pv-live-arena-tabs a {
    min-height:44px; min-width:44px; display:inline-flex; align-items:center; justify-content:center;
  }
  .pv-pagination,.pv-trade-search,.pv-dex-search { flex-wrap:wrap; }
  .pv-pokemon-select-card,.pv-sprite-choice { -webkit-user-select:none; user-select:none; }
}
