/* PokePolis Games Gen II — semantic presentation standard v25 (no inline JS).
 * Scope deliberately restricted to deterministic Gen II articles.
 * Open details/summary is keyboard-accessible, server-rendered and SEO-readable.
 */
.pkpg-g2-article .pkpg-g2-encounters,
.pkpg-g2-article .pkpg-g2-trainers {margin:2rem 0 2.4rem;}
.pkpg-g2-article .pkpg-g2-section-intro {color:#52627b;line-height:1.65;margin:.45rem 0 1.15rem;}
.pkpg-g2-article .pkpg-g2-encounter-panel {border:1px solid #d9e3ef;border-radius:14px;background:#fff;overflow:hidden;margin:.7rem 0;box-shadow:0 2px 9px rgba(15,37,68,.025);}
.pkpg-g2-article .pkpg-g2-panel-summary {cursor:pointer;display:flex;align-items:center;gap:.65rem;padding:1rem 1.1rem;font-weight:750;color:#102846;background:#f7f9fd;list-style:none;line-height:1.4;}
.pkpg-g2-article .pkpg-g2-panel-summary::-webkit-details-marker {display:none;}
.pkpg-g2-article .pkpg-g2-panel-summary::before {content:'▸';font-size:1.15rem;color:#2367b6;transition:transform .2s ease;}
.pkpg-g2-article details[open]>.pkpg-g2-panel-summary::before {transform:rotate(90deg);}
.pkpg-g2-article .pkpg-g2-panel-summary:hover {background:#f0f5fc;}
.pkpg-g2-article .pkpg-g2-panel-count {margin-left:auto;color:#64758c;font-size:.75rem;font-weight:600;white-space:nowrap;}
.pkpg-g2-article .pkpg-g2-encounter-grid {display:grid;gap:0;padding:.35rem 1rem 1rem;}
.pkpg-g2-article .pkpg-g2-encounter-row {display:grid;grid-template-columns:minmax(125px,1.05fr) minmax(0,2.2fr);align-items:center;gap:1rem;padding:.75rem .25rem;border-bottom:1px solid #e8edf5;min-width:0;}
.pkpg-g2-article .pkpg-g2-encounter-row:last-child {border-bottom:0;}
.pkpg-g2-article .pkpg-g2-species-link {display:flex;align-items:center;gap:.8rem;font-weight:750;color:#102846;text-decoration:none;min-width:0;}
.pkpg-g2-article .pkpg-g2-species-link:hover {color:#1869c1;text-decoration:underline;}
.pkpg-g2-article .pkpg-g2-species-link img {display:block;width:62px;height:62px;object-fit:contain;image-rendering:pixelated;flex-shrink:0;}
.pkpg-g2-article .pkpg-g2-dayrates {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;}
.pkpg-g2-article .pkpg-g2-rate-cell {background:#f5f8fc;border:1px solid #e5ebf4;border-radius:9px;padding:.5rem .35rem;display:flex;flex-direction:column;align-items:center;gap:.1rem;text-align:center;min-width:0;line-height:1.3;}
.pkpg-g2-article .pkpg-g2-time-label {color:#506681;font-size:.73rem;font-weight:650;}
.pkpg-g2-article .pkpg-g2-rate-cell strong {color:#0e2d52;font-size:1rem;font-variant-numeric:tabular-nums;}
.pkpg-g2-article .pkpg-g2-rate-cell small {color:#50617b;font-size:.76rem;white-space:normal;}
.pkpg-g2-article .pkpg-g2-trainer-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;}
.pkpg-g2-article .pkpg-g2-trainer-card {border:1px solid #d9e3ef;border-radius:14px;background:#fff;padding:1.1rem;min-width:0;box-shadow:0 2px 9px rgba(15,37,68,.025);}
.pkpg-g2-article .pkpg-g2-trainer-card-rival {grid-column:1/-1;}
.pkpg-g2-article .pkpg-g2-trainer-head {display:flex;align-items:center;gap:.95rem;border-bottom:1px solid #e7edf5;padding-bottom:.8rem;margin-bottom:.65rem;}
.pkpg-g2-article .pkpg-g2-trainer-head h3 {font-size:1.2rem;margin:0 0 .45rem;line-height:1.35;}
.pkpg-g2-article .pkpg-g2-trainer-portrait {width:70px;height:85px;object-fit:contain;image-rendering:pixelated;flex-shrink:0;}
.pkpg-g2-article .pkpg-g2-trainer-avatar {width:56px;height:56px;border-radius:50%;background:#e9f0fa;color:#375b80;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;flex-shrink:0;}
.pkpg-g2-article .pkpg-g2-trainer-versions {display:flex;flex-wrap:wrap;gap:.35rem;}
.pkpg-g2-article .pkpg-g2-trainer-version {display:inline-flex;padding:.25rem .6rem;border-radius:20px;background:#edf3fb;border:1px solid #dae7f5;font-size:.75rem;color:#27527b;line-height:1.35;text-decoration:none;}
.pkpg-g2-article a.pkpg-g2-trainer-version:hover {background:#dcebf9;text-decoration:underline;}
.pkpg-g2-article .pkpg-g2-trainer-parties {display:grid;gap:.5rem;}
.pkpg-g2-article .pkpg-g2-party-panel {border:1px solid #e2e9f2;border-radius:10px;overflow:hidden;min-width:0;}
.pkpg-g2-article .pkpg-g2-party-summary {padding:.65rem .85rem;cursor:pointer;font-weight:750;font-size:.88rem;background:#f7f9fd;color:#173a60;}
.pkpg-g2-article .pkpg-g2-party-summary:hover {background:#eef5fd;}
.pkpg-g2-article .pkpg-g2-party-compact {list-style:none;padding:.75rem;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.55rem;}
.pkpg-g2-article .pkpg-g2-party-compact li {border:1px solid #e0e8f2;border-radius:9px;background:white;padding:.65rem .7rem;display:flex;justify-content:space-between;gap:.4rem;align-items:center;font-size:.87rem;min-width:0;}
.pkpg-g2-article .pkpg-g2-party-compact a {min-width:0;overflow-wrap:anywhere;}
.pkpg-g2-article .pkpg-g2-party-compact strong {color:#15375b;font-size:.82rem;white-space:nowrap;}
.pkpg-g2-article .pkpg-g2-panel-summary:focus-visible,
.pkpg-g2-article .pkpg-g2-party-summary:focus-visible,
.pkpg-g2-article .pkpg-g2-species-link:focus-visible {outline:3px solid #ffbc00;outline-offset:-3px;}
@media(max-width:780px) {
 .pkpg-g2-article .pkpg-g2-trainer-grid {grid-template-columns:minmax(0,1fr);}
 .pkpg-g2-article .pkpg-g2-encounter-row {grid-template-columns:minmax(0,1fr);gap:.35rem;}
 .pkpg-g2-article .pkpg-g2-species-link img {width:52px;height:52px;}
 .pkpg-g2-article .pkpg-g2-encounter-grid {padding:.3rem .65rem .65rem;}
 .pkpg-g2-article .pkpg-g2-dayrates {gap:.35rem;}
 .pkpg-g2-article .pkpg-g2-rate-cell {padding:.4rem .2rem;}
 .pkpg-g2-article .pkpg-g2-panel-summary {padding:.8rem .75rem;}
}
@media(max-width:370px) {
 .pkpg-g2-article .pkpg-g2-time-label {font-size:.67rem;}
 .pkpg-g2-article .pkpg-g2-rate-cell small {font-size:.68rem;}
 .pkpg-g2-article .pkpg-g2-trainer-card {padding:.75rem;}
 .pkpg-g2-article .pkpg-g2-party-compact {grid-template-columns:minmax(0,1fr);}
}

/* Gen II v26 trainer UX: one starter at a time; verified moves, local thumbnails */
.pkpg-g2-article .pkpg-g2-starter-picker {width:min(100%,380px);position:relative;margin:.5rem 0 .2rem;border:1px solid #b9cbe4;border-radius:10px;background:#f5f8fd;}
.pkpg-g2-article .pkpg-g2-starter-current {cursor:pointer;padding:.7rem .95rem;list-style:none;color:#143b65;font-size:.95rem;font-weight:750;}
.pkpg-g2-article .pkpg-g2-starter-current::after {content:' ▾';float:right;}
.pkpg-g2-article .pkpg-g2-starter-current::-webkit-details-marker {display:none;}
.pkpg-g2-article .pkpg-g2-starter-options {display:grid;gap:0;padding:.3rem;background:#fff;border-top:1px solid #d9e4f3;}
.pkpg-g2-article .pkpg-g2-starter-option {display:block;padding:.5rem .8rem;text-decoration:none;border-radius:6px;color:#1d4f87;font-weight:650;}
.pkpg-g2-article .pkpg-g2-starter-option:hover,.pkpg-g2-article .pkpg-g2-starter-option:focus-visible {background:#eaf2fc;}
.pkpg-g2-article .pkpg-g2-starter-hint {font-size:.84rem;color:#536984;margin:.4rem 0 .9rem;}
.pkpg-g2-article .pkpg-g2-starter-variant {margin:.5rem 0 1rem;}
.pkpg-g2-article .pkpg-g2-party-rival {grid-template-columns:repeat(2,minmax(0,1fr));}
.pkpg-g2-article .pkpg-g2-party-pokemon {display:flex;align-items:flex-start;justify-content:flex-start;gap:.8rem;padding:.85rem !important;}
.pkpg-g2-article .pkpg-g2-party-thumb {width:58px;height:58px;object-fit:contain;flex:0 0 58px;}
.pkpg-g2-article .pkpg-g2-party-thumb-empty {width:58px;height:58px;display:grid;place-items:center;flex:0 0 58px;background:#eff3f9;border-radius:8px;color:#65738b;}
.pkpg-g2-article .pkpg-g2-party-pokemon-body {min-width:0;flex:1;}
.pkpg-g2-article .pkpg-g2-party-pokemon-title {display:flex;gap:.55rem;align-items:baseline;justify-content:space-between;min-width:0;}
.pkpg-g2-article .pkpg-g2-party-pokemon-title strong {white-space:nowrap;font-size:.83rem;color:#254261;}
.pkpg-g2-article .pkpg-g2-moves {list-style:none;padding:0;margin:.55rem 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.3rem;}
.pkpg-g2-article .pkpg-g2-moves li {display:block;border:1px solid #e3eaf5;border-radius:6px;padding:.25rem .35rem;font-size:.75rem;color:#365472;background:#f7f9fd;overflow-wrap:anywhere;line-height:1.3;}
.pkpg-g2-article .pkpg-g2-starter-picker summary:focus-visible {outline:3px solid #ffbc00;outline-offset:2px;}
@media(max-width:700px){.pkpg-g2-article .pkpg-g2-party-rival {grid-template-columns:minmax(0,1fr);} .pkpg-g2-article .pkpg-g2-party-thumb {width:50px;height:50px;flex-basis:50px;}}

/* Gen II 2.5.2 RC9: starter control inline at right edge of Rival header.
 * All encounter panels are now server-rendered open; still user-collapsible. */
.pkpg-g2-article .pkpg-g2-trainer-card-rival .pkpg-g2-trainer-head {flex-wrap:wrap;column-gap:1rem;row-gap:.5rem;}
.pkpg-g2-article .pkpg-g2-trainer-card-rival .pkpg-g2-starter-picker {
  margin:0 0 0 auto;
  flex:0 1 330px;
  width:min(100%,330px);
  min-width:220px;
  align-self:center;
}
@media(max-width:650px){
  .pkpg-g2-article .pkpg-g2-trainer-card-rival .pkpg-g2-starter-picker {
    flex:1 1 100%;width:100%;min-width:0;margin:.25rem 0 0;
  }
}

/* Gen II RC10: a single trainer card per row, with readable NPC party cards. */
.pkpg-g2-article .pkpg-g2-trainer-grid {grid-template-columns:minmax(0,1fr);}
.pkpg-g2-article .pkpg-g2-party-compact:not(.pkpg-g2-party-rival) {
  grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));
  gap:.75rem;
}
.pkpg-g2-article .pkpg-g2-party-compact:not(.pkpg-g2-party-rival) .pkpg-g2-party-pokemon {
  min-width:0;align-items:center;
}
.pkpg-g2-article .pkpg-g2-party-pokemon-title {gap:.75rem;align-items:center;}
.pkpg-g2-article .pkpg-g2-party-pokemon-title a {
  overflow-wrap:normal;word-break:normal;hyphens:none;
}
.pkpg-g2-article .pkpg-g2-moves .pkpg-g2-move-link {
  color:#1168bd;text-decoration:underline;text-decoration-color:#9fc1e6;
  text-underline-offset:2px;white-space:normal;overflow-wrap:normal;
}
.pkpg-g2-article .pkpg-g2-moves .pkpg-g2-move-link:hover,
.pkpg-g2-article .pkpg-g2-moves .pkpg-g2-move-link:focus-visible {
  color:#0b457c;text-decoration-color:currentColor;
}
@media(max-width:540px) {
  .pkpg-g2-article .pkpg-g2-party-compact:not(.pkpg-g2-party-rival) {
    grid-template-columns:minmax(0,1fr);
  }
}

/* Gen II trainer verified payouts + conditional standard EXP, RC12 */
.pkpg-g2-trainer-head{flex-wrap:wrap}
.pkpg-g2-prize{margin-top:.45rem;display:inline-flex;align-items:center;gap:.35rem;font-size:.86rem;padding:.35rem .65rem;border-radius:.6rem;background:var(--pkpg-soft,#eef4f7);white-space:nowrap}
.pkpg-g2-solo-exp{display:inline-block;margin-top:.3rem;font-size:.74rem;line-height:1.3;opacity:.83;font-variant-numeric:tabular-nums}
.pkpg-g2-exp-note{margin:.75rem 0 0;font-size:.78rem;line-height:1.5;opacity:.82}
@media(max-width:680px){.pkpg-g2-prize{margin-top:.35rem}.pkpg-g2-trainer-head{gap:.5rem}}


/* Gen II RC18 – canonical game-hero (one column of covers + content)
 * Solo game 1/3 : 2/3, responsive without inline styles or scripts.
 * Scoped: no modifications to location/trainer/Pokédex/TCG layouts. */
.pkpg-g2-article .pkpg-g2-game-hero {
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(0, 2fr);
  align-items:center;
  gap:clamp(1rem, 2.8vw, 2rem);
  margin:1rem 0 1.7rem;
  padding:clamp(1rem, 2.2vw, 1.6rem);
  border:1px solid #d8e4f2;
  border-radius:18px;
  background:linear-gradient(130deg, #f2f7fd 0%, #f8fbff 100%);
  min-width:0;
}
.pkpg-g2-article .pkpg-g2-hero-gallery {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:.75rem;
  align-items:center;
  min-width:0;
}
.pkpg-g2-article .pkpg-g2-hero-cover {
  margin:0;
  padding:1rem .8rem .75rem;
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border:1px solid #e3eaf4;
  border-radius:14px;
  background:#fff;
  box-shadow:0 3px 12px rgba(15,37,68,.05);
}
.pkpg-g2-article .pkpg-g2-hero-cover img {
  display:block;
  width:auto;
  max-width:100%;
  height:auto;
  max-height:330px;
  object-fit:contain;
  margin:0 auto;
}
.pkpg-g2-article .pkpg-g2-hero-cover figcaption {
  font-size:.85rem;
  font-weight:750;
  line-height:1.35;
  text-align:center;
  color:#122e52;
  margin-top:.65rem;
}
.pkpg-g2-article .pkpg-g2-hero-copy {min-width:0;overflow-wrap:break-word;}
.pkpg-g2-article .pkpg-g2-hero-eyebrow {
  margin:0 0 .45rem;
  color:#37618f;
  font-size:.73rem;
  font-weight:800;
  letter-spacing:.065em;
  text-transform:uppercase;
}
.pkpg-g2-article .pkpg-g2-hero-name {
  color:#0d294e;
  font-size:clamp(1.35rem, 2.3vw, 1.95rem);
  font-weight:800;
  line-height:1.24;
  margin:0 0 1rem;
}
.pkpg-g2-article .pkpg-g2-hero-lead p {
  font-size:clamp(.98rem,1.15vw,1.08rem);
  line-height:1.75;
  color:#243c59;
  margin:0 0 .8rem;
}
.pkpg-g2-article .pkpg-g2-hero-facts {
  list-style:none;
  margin:1rem 0 0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
}
.pkpg-g2-article .pkpg-g2-hero-facts li {
  display:inline-flex;
  align-items:center;
  border:1px solid #d8e4f2;
  background:#fff;
  border-radius:999px;
  padding:.35rem .7rem;
  font-size:.79rem;
  color:#19436c;
  line-height:1.35;
}
.pkpg-g2-article .pkpg-g2-game-hero--covers-2 {grid-template-columns:minmax(0, 2fr) minmax(0, 3fr);}
.pkpg-g2-article .pkpg-g2-game-hero--covers-3 {grid-template-columns:minmax(0, 5fr) minmax(0, 6fr);}
.pkpg-g2-article .pkpg-g2-game-hero--covers-2 .pkpg-g2-hero-gallery {grid-template-columns:repeat(2,minmax(0,1fr));}
.pkpg-g2-article .pkpg-g2-game-hero--covers-3 .pkpg-g2-hero-gallery {grid-template-columns:repeat(3,minmax(0,1fr));}
.pkpg-g2-article .pkpg-g2-game-hero--covers-2 .pkpg-g2-hero-cover,
.pkpg-g2-article .pkpg-g2-game-hero--covers-3 .pkpg-g2-hero-cover {padding:.65rem .35rem .5rem;}
.pkpg-g2-article .pkpg-g2-game-hero--covers-2 .pkpg-g2-hero-cover img,
.pkpg-g2-article .pkpg-g2-game-hero--covers-3 .pkpg-g2-hero-cover img {max-height:245px;}
.pkpg-g2-article .pkpg-g2-game-hero--covers-3 .pkpg-g2-hero-cover figcaption {font-size:.72rem;}
@media(max-width:830px){
  .pkpg-g2-article .pkpg-g2-game-hero,
  .pkpg-g2-article .pkpg-g2-game-hero--covers-2,
  .pkpg-g2-article .pkpg-g2-game-hero--covers-3 {
    grid-template-columns:minmax(0,1fr);
    align-items:stretch;
    gap:1rem;
  }
  .pkpg-g2-article .pkpg-g2-hero-cover img {max-height:280px;}
  .pkpg-g2-article .pkpg-g2-game-hero--covers-1 .pkpg-g2-hero-cover {max-width:330px;margin:0 auto;width:100%;}
}
@media(max-width:480px){
  .pkpg-g2-article .pkpg-g2-game-hero {border-radius:12px;padding:.85rem;}
  .pkpg-g2-article .pkpg-g2-hero-cover img {max-height:250px;}
  .pkpg-g2-article .pkpg-g2-game-hero--covers-3 .pkpg-g2-hero-gallery {gap:.3rem;}
  .pkpg-g2-article .pkpg-g2-game-hero--covers-3 .pkpg-g2-hero-cover {padding:.45rem .15rem;}
  .pkpg-g2-article .pkpg-g2-game-hero--covers-3 .pkpg-g2-hero-cover figcaption {font-size:.64rem;}
}
