: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 { color: #c4f3ff; }
img { max-width: 100%; }
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, #nav a:hover, #logout a:hover, #sidebarTabs a: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 { 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, input[type="button"]:hover, button:hover, .pv-btn: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 img[src*="/maps/map"], #ajax a: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, .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, .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{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{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,
.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 { border-color: rgba(85, 214, 255, .42) !important; }

.pv-card {
  border-radius: 4px;
  overflow: hidden;
}

.pv-card: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,
.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, .pv-feature-card: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,.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 { 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 { 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 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 { 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 > 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 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 { 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 > 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 b { display:block; }
.pv-map-actor-own { z-index:2; filter:drop-shadow(0 0 4px rgba(255,214,76,.62)); }
.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 { 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,
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 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 {
  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,.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 { 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 { 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 { 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,.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,.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{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{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{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,.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{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: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: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,.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{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{background:rgba(15,70,94,.48);color:#d4f3ff}.pv-collection-card-actions a.danger: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{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,.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 img[src*="/gyms/"],
body.pv-legacy-sidequest-page #ajax a: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,
body.pv-legacy-live-arena-page input[type=submit]:hover,
body.pv-legacy-sidequest-page input[type=submit]:hover,
body.pv-legacy-battle-page input[type=submit]:hover,
body.pv-legacy-live-battle-page input[type=submit]: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,.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,
body.pv-legacy-battle-page #ajax p a: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,.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,.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:64px; }
.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:66px; }
.pv-world-connection-list{display:grid;gap:8px;margin-top:10px}
.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,.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,.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 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{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{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{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,.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}}
