/* PokePolis Games — canonical trainer design v2.0.0
   Scoped to body.pkpg-trainer-ui: no home/page/article/admin style changes.
   Visual contract: 1 dark hero; cards for facts and rosters; readable prose, tabs,
   callouts and responsive spacing for all three markup generations.
*/
body.pkpg-trainer-ui {
  --pt-ink:#1b243a;
  --pt-ink2:#343e56;
  --pt-navy:#1b1d38;
  --pt-navy2:#2b254c;
  --pt-yellow:#ffcf34;
  --pt-panel:#f7f9fd;
  --pt-border:#dce3ef;
  --pt-soft:#f0f3fa;
  --pt-radius:16px;
}

/* Content typography — retain the theme's main page title and version tabs. */
body.pkpg-trainer-ui .elementor-widget-html .elementor-widget-container {color:var(--pt-ink);line-height:1.75;min-width:0;}
body.pkpg-trainer-ui .elementor-widget-html .elementor-widget-container > h2,
body.pkpg-trainer-ui :is(.pkpg-ultra-guide,.pkpg-ultra-page,.pkpg-manual-trainer,.pkpg-gen2-manual) h2:not(.pg2-hero h2) {
  color:var(--pt-ink)!important;font-size:clamp(22px,2.5vw,28px);line-height:1.3;
  margin:36px 0 17px;padding:0 0 0 16px;border-left:4px solid var(--pt-yellow);
  text-wrap:balance;
}
body.pkpg-trainer-ui .elementor-widget-html .elementor-widget-container > h3 {color:var(--pt-ink);font-size:20px;margin:23px 0 12px;}
body.pkpg-trainer-ui .elementor-widget-html .elementor-widget-container p {line-height:1.78;}
body.pkpg-trainer-ui .elementor-widget-html .elementor-widget-container a {text-underline-offset:3px;}
body.pkpg-trainer-ui .elementor-widget-html .elementor-widget-container img {height:auto;max-width:100%;}

/* Crystal Ultra: hero and portrait block. */
body.pkpg-trainer-ui :is(.pkpg-ultra-hero,.pkpg-ultra-header,.pkpg-ultra-intro) {
  background:#f6f8fc!important;
  color:var(--pt-ink)!important;border:1px solid var(--pt-border)!important;border-radius:20px;padding:24px 28px;
  margin:6px 0 25px;box-shadow:0 12px 27px rgba(27,29,56,.11);
}
body.pkpg-trainer-ui :is(.pkpg-ultra-hero,.pkpg-ultra-header,.pkpg-ultra-intro) :is(h2,h3,p,span,div,strong,b,small,figcaption){color:var(--pt-ink)!important;}
body.pkpg-trainer-ui :is(.pkpg-ultra-hero,.pkpg-ultra-header,.pkpg-ultra-intro) a{color:#18427b!important;}
body.pkpg-trainer-ui :is(.pkpg-ultra-hero,.pkpg-ultra-header,.pkpg-ultra-intro) :is(h2,h3){border:0!important;padding:0!important;margin:0 0 10px!important;}
body.pkpg-trainer-ui :is(.pkpg-ultra-portrait,.pkpg-ultra-figure){display:inline-flex;flex-direction:column;gap:8px;align-items:center;padding:12px;background:#f6f7fd;border:1px solid var(--pt-border);border-radius:16px;margin:0 0 20px;max-width:225px;}
body.pkpg-trainer-ui :is(.pkpg-ultra-portrait,.pkpg-ultra-figure) img {width:160px;max-height:190px;object-fit:contain;image-rendering:auto;}
body.pkpg-trainer-ui :is(.pkpg-ultra-portrait,.pkpg-ultra-figure) figcaption {font-size:12px;color:var(--pt-ink2)!important;text-align:center;}
body.pkpg-trainer-ui :is(.pkpg-ultra-kicker,.pkpg-ultra-eyebrow,.pkpg-ultra-label){display:inline-block;text-transform:uppercase;font-weight:850;letter-spacing:.08em;color:#7d5100;font-size:12px;margin:0 0 12px;}
body.pkpg-trainer-ui :is(.pkpg-ultra-hero,.pkpg-ultra-header,.pkpg-ultra-intro) :is(.pkpg-ultra-kicker,.pkpg-ultra-eyebrow,.pkpg-ultra-label){color:#785000!important;}
body.pkpg-trainer-ui :is(.pkpg-ultra-lead,.pkpg-ultra-summary){font-size:17px;line-height:1.8;margin:14px 0 22px;}

/* Exactly the facts block seen unstyled on Crystal Whitney, Bugsy etc. */
body.pkpg-trainer-ui .pkpg-ultra-facts,
body.pkpg-trainer-ui .pkpg-manual-facts {
  display:grid!important;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important;
  gap:12px!important;margin:20px 0 26px!important;
}
body.pkpg-trainer-ui .pkpg-ultra-facts>div,
body.pkpg-trainer-ui .pkpg-manual-facts>span {
  background:var(--pt-panel)!important;border:1px solid var(--pt-border)!important;
  border-radius:14px!important;padding:15px 17px!important;
  min-width:0;display:flex;flex-direction:column;gap:5px;
}
body.pkpg-trainer-ui .pkpg-ultra-facts small,
body.pkpg-trainer-ui .pkpg-manual-facts b {
  display:block!important;color:#5b6681!important;font-size:12px!important;
  text-transform:uppercase;letter-spacing:.05em;font-weight:800;
}
body.pkpg-trainer-ui .pkpg-ultra-facts strong {
  display:block!important;color:var(--pt-ink)!important;font-size:16px!important;line-height:1.4;
}
body.pkpg-trainer-ui :is(.pkpg-ultra-quick,.pkpg-ultra-alert,.pkpg-manual-lead){
  margin:20px 0 28px;padding:17px 20px;background:#fff9e9;
  border-left:4px solid var(--pt-yellow);border-radius:0 12px 12px 0;
  color:var(--pt-ink)!important;line-height:1.75;
}
body.pkpg-trainer-ui :is(.pkpg-ultra-quick,.pkpg-ultra-alert,.pkpg-manual-lead) strong{color:var(--pt-ink)!important;}

/* Roster cards, shared visual contract for different HTML generators. */
body.pkpg-trainer-ui :is(.pkpg-ultra-roster,.pkpg-manual-roster,.pp-trainer-roster,.pg2-roster) {
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;margin:20px 0 30px!important;
}
body.pkpg-trainer-ui :is(.pkpg-ultra-roster,.pkpg-manual-roster) > :is(div,article),
body.pkpg-trainer-ui :is(.pp-trainer-mon,.pg2-mon) {
  background:#fff!important;border:1px solid var(--pt-border)!important;
  border-radius:var(--pt-radius)!important;padding:15px!important;
  box-shadow:0 3px 14px rgba(16,26,50,.035);min-width:0;
}
body.pkpg-trainer-ui :is(.pkpg-ultra-roster,.pkpg-manual-roster,.pp-trainer-roster,.pg2-roster) img {
  max-width:100px;max-height:100px;object-fit:contain;
}
body.pkpg-trainer-ui :is(.pkpg-ultra-roster,.pkpg-manual-roster,.pp-trainer-roster,.pg2-roster) :is(h3,strong,b) {color:var(--pt-ink);}
body.pkpg-trainer-ui :is(.pkpg-ultra-roster,.pkpg-manual-roster,.pp-trainer-roster,.pg2-roster) a {color:#143e78;}
body.pkpg-trainer-ui .pkpg-manual-mon{display:flex;align-items:center;gap:15px;}
body.pkpg-trainer-ui .pkpg-manual-mon-n{display:inline-grid;place-items:center;width:30px;height:30px;flex:0 0 30px;background:var(--pt-navy);color:var(--pt-yellow);border-radius:50%;font-weight:800;}
body.pkpg-trainer-ui .pkpg-manual-mon-name{flex:1;}
body.pkpg-trainer-ui .pp-trainer-mon-img,body.pkpg-trainer-ui .pg2-image {background:var(--pt-soft)!important;}
body.pkpg-trainer-ui :is(.pp-trainer-move,.pg2-moves span){color:#24334e;background:#edf1f8;border-radius:8px;}

/* Strategies, cards, moves and tips on Crystal and handwritten Gold/Silver. */
body.pkpg-trainer-ui :is(.pkpg-ultra-mechanic,.pkpg-ultra-grid,.pkpg-ultra-cards,.pp-trainer-strategy-grid,.pg2-focus){
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:13px!important;
  margin:19px 0 30px!important;
}
body.pkpg-trainer-ui :is(.pkpg-ultra-mechanic,.pkpg-ultra-grid,.pkpg-ultra-cards,.pp-trainer-strategy-grid,.pg2-focus) > :is(div,article){
  background:var(--pt-panel)!important;border:1px solid var(--pt-border)!important;
  border-radius:14px!important;padding:18px!important;color:var(--pt-ink)!important;
}
body.pkpg-trainer-ui :is(.pkpg-ultra-mechanic,.pkpg-ultra-grid,.pkpg-ultra-cards,.pp-trainer-strategy-grid,.pg2-focus) strong{color:var(--pt-ink)!important;}
body.pkpg-trainer-ui :is(.pkpg-ultra-steps,.pkpg-manual-tips){
  margin:16px 0 28px;padding:18px 24px 18px 44px;
  border:1px solid var(--pt-border);background:var(--pt-panel);border-radius:14px;
}
body.pkpg-trainer-ui :is(.pkpg-ultra-steps,.pkpg-manual-tips) li{padding:6px 0 6px 4px;line-height:1.76;}
body.pkpg-trainer-ui .pkpg-ultra-pitfalls{background:#fff9ec;border:1px solid #f2dfac;border-radius:14px;padding:18px 24px 18px 38px;margin:18px 0 26px;}
body.pkpg-trainer-ui .pkpg-ultra-pitfalls li{margin:9px 0;}
body.pkpg-trainer-ui :is(.pkpg-ultra-note,.pkpg-ultra-callout,.pg2-note,.pp-world-callout){
  border-left:4px solid var(--pt-yellow)!important;background:#fff9e9!important;
  padding:15px 20px!important;border-radius:0 12px 12px 0!important;margin:20px 0 25px;
}

/* Navigation/FAQ/tables. */
body.pkpg-trainer-ui :is(.pkpg-ultra-toc,.pkpg-ultra-nav){
  padding:16px 20px!important;border:1px solid var(--pt-border);
  border-radius:14px;background:var(--pt-panel);margin:16px 0 27px;
}
body.pkpg-trainer-ui :is(.pkpg-ultra-toc,.pkpg-ultra-nav) a {color:#143e78;font-weight:650;}
body.pkpg-trainer-ui :is(.pkpg-ultra-faq,.pkpg-manual-faq,.pp-trainer-faq,.pg2-faq) details,
body.pkpg-trainer-ui .elementor-widget-html details.pkpg-ultra-faq-item {
  background:#fff!important;border:1px solid var(--pt-border)!important;
  border-radius:13px!important;padding:15px 18px!important;margin:10px 0!important;
}
body.pkpg-trainer-ui :is(.pkpg-ultra-faq,.pkpg-manual-faq,.pp-trainer-faq,.pg2-faq) summary{cursor:pointer;color:var(--pt-ink)!important;font-weight:750;}
body.pkpg-trainer-ui :is(.pkpg-ultra-faq,.pkpg-manual-faq,.pp-trainer-faq,.pg2-faq) p{margin:10px 0 0;}
body.pkpg-trainer-ui .elementor-widget-html table{width:100%;border-collapse:collapse;margin:18px 0 28px;display:block;overflow-x:auto;}
body.pkpg-trainer-ui .elementor-widget-html table th,body.pkpg-trainer-ui .elementor-widget-html table td{padding:12px 14px;border-bottom:1px solid var(--pt-border);text-align:left;white-space:normal;}
body.pkpg-trainer-ui .elementor-widget-html table th{background:var(--pt-navy);color:var(--pt-yellow)!important;}

/* Legacy Gold/Silver: opt into the same visual system without rewriting content. */
body.pkpg-trainer-ui .pp-trainer-hero {border:1px solid var(--pt-border)!important;border-radius:20px!important;padding:24px!important;}
body.pkpg-trainer-ui .pp-trainer-kicker{background:var(--pt-navy)!important;color:var(--pt-yellow)!important;}
body.pkpg-trainer-ui .pp-trainer-strategy{background:var(--pt-panel)!important;}
body.pkpg-trainer-ui .pg2-hero{background:linear-gradient(125deg,var(--pt-navy),var(--pt-navy2))!important;border-radius:20px!important;}
body.pkpg-trainer-ui .pg2-hero :is(h2,p){color:#fff!important;}
body.pkpg-trainer-ui .pg2-hero .pg2-overline{color:var(--pt-yellow)!important;}
body.pkpg-trainer-ui .pg2-hero :is(h2,h3){border:0!important;padding:0!important;}
body.pkpg-trainer-ui .pkpg-gen2-manual{color:var(--pt-ink)!important;}
body.pkpg-trainer-ui .pg2-mon{border-color:var(--pt-border)!important;}
body.pkpg-trainer-ui .pg2-heading{border-left:4px solid var(--pt-yellow);padding-left:16px;}
body.pkpg-trainer-ui .pg2-related{display:flex;flex-wrap:wrap;gap:9px;}
body.pkpg-trainer-ui .pg2-related a{padding:8px 13px;border:1px solid var(--pt-border);background:var(--pt-panel);border-radius:22px;text-decoration:none;}

/* Extra defensive contrast for future headings without altering text content. */
body.pkpg-trainer-ui :is(.pkpg-ultra-hero,.pkpg-ultra-header,.pkpg-ultra-intro) h2{color:var(--pt-ink)!important;}
body.pkpg-trainer-ui .pg2-hero h2{color:#fff!important;}
body.pkpg-trainer-ui :is(.pkpg-ultra-hero,.pkpg-ultra-header,.pkpg-ultra-intro) strong{color:var(--pt-ink)!important;}
body.pkpg-trainer-ui .pg2-hero strong{color:#fff!important;}

@media(max-width:850px){
  body.pkpg-trainer-ui :is(.pkpg-ultra-mechanic,.pkpg-ultra-grid,.pkpg-ultra-cards,.pp-trainer-strategy-grid,.pg2-focus){grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  body.pkpg-trainer-ui :is(.pkpg-ultra-roster,.pkpg-manual-roster,.pp-trainer-roster,.pg2-roster){grid-template-columns:1fr!important;}
}
@media(max-width:600px){
  body.pkpg-trainer-ui :is(.pkpg-ultra-hero,.pkpg-ultra-header,.pkpg-ultra-intro,.pg2-hero){padding:21px 17px!important;}
  body.pkpg-trainer-ui :is(.pkpg-ultra-facts,.pkpg-manual-facts){grid-template-columns:1fr!important;}
  body.pkpg-trainer-ui :is(.pkpg-ultra-mechanic,.pkpg-ultra-grid,.pkpg-ultra-cards,.pp-trainer-strategy-grid,.pg2-focus){grid-template-columns:1fr!important;}
  body.pkpg-trainer-ui :is(.pkpg-ultra-portrait,.pkpg-ultra-figure){max-width:100%;}
  body.pkpg-trainer-ui .pkpg-ultra-steps{padding-left:33px;}
}

/* Figure fallback for Crystal renderers whose portrait <figure> has no dedicated class. */
body.pkpg-trainer-ui .elementor-widget-html figure:not(.pp-trainer-portrait) {
  display:inline-flex;flex-direction:column;align-items:center;gap:8px;
  padding:12px 15px;background:#f6f8fd;border:1px solid var(--pt-border);
  border-radius:15px;margin:8px 0 18px;max-width:100%;
}
body.pkpg-trainer-ui .elementor-widget-html figure:not(.pp-trainer-portrait) img {
  max-width:min(200px,100%);max-height:200px;object-fit:contain;
}
body.pkpg-trainer-ui .elementor-widget-html figure:not(.pp-trainer-portrait) figcaption {
  color:#53607b;font-size:12px;line-height:1.45;text-align:center;
}


/* ===== v2.0.0: CRYSTAL ULTRA PARITY WITH FALKNER =====
   The v1 blanket white selector made text inside pale facts/quick-tip panels invisible.
   v2 gives panels and hero one coherent *light* scheme. No markup or DB edits.
*/
body.pkpg-trainer-ui :is(.pkpg-ultra-hero,.pkpg-ultra-header,.pkpg-ultra-intro){
  background:#f6f8fc!important;color:#19243d!important;
  border:1px solid #d9e2ef!important;box-shadow:none!important;
}
body.pkpg-trainer-ui :is(.pkpg-ultra-hero,.pkpg-ultra-header,.pkpg-ultra-intro)
  :is(.pkpg-ultra-lead,.pkpg-ultra-summary,p,small,span,div,b,strong,figcaption){color:#19243d!important;}
body.pkpg-trainer-ui :is(.pkpg-ultra-hero,.pkpg-ultra-header,.pkpg-ultra-intro)
  :is(.pkpg-ultra-kicker,.pkpg-ultra-eyebrow,.pkpg-ultra-label){color:#674b00!important;}
body.pkpg-trainer-ui .pkpg-ultra-facts>div{
  display:flex!important;flex-direction:column!important;align-items:flex-start!important;
  background:#fff!important;border:1px solid #d7e0ee!important;
  box-shadow:0 1px 2px rgba(26,36,62,.02);gap:7px!important;min-height:98px;
}
body.pkpg-trainer-ui .pkpg-ultra-facts :is(small,label){
  display:block!important;color:#53607a!important;font-size:11px!important;
  font-weight:800!important;letter-spacing:.06em!important;line-height:1.35!important;
}
body.pkpg-trainer-ui .pkpg-ultra-facts :is(strong,b){
  display:block!important;color:#172541!important;font-size:15px!important;
  font-weight:750!important;line-height:1.55!important;
  white-space:normal!important;overflow-wrap:anywhere;
}
body.pkpg-trainer-ui :is(.pkpg-ultra-quick,.pkpg-ultra-alert){
  display:block!important;background:#fff8e5!important;color:#1c2945!important;
  border:1px solid #f0dea5!important;border-left:4px solid #f1ba00!important;
  border-radius:0 12px 12px 0!important;
}
body.pkpg-trainer-ui :is(.pkpg-ultra-quick,.pkpg-ultra-alert) :is(strong,span,b,a){color:#172541!important;}
body.pkpg-trainer-ui :is(.pkpg-ultra-portrait,.pkpg-ultra-figure),
body.pkpg-trainer-ui .pkpg-ultra-hero figure{
  background:#fff!important;border:1px solid #d9e2ef!important;
  border-radius:14px!important;padding:12px!important;color:#33405c!important;
}
body.pkpg-trainer-ui .pkpg-ultra-hero figure figcaption,
body.pkpg-trainer-ui :is(.pkpg-ultra-portrait,.pkpg-ultra-figure) figcaption {
  color:#435270!important;font-size:12px!important;line-height:1.45!important;
}
body.pkpg-trainer-ui .pkpg-ultra-hero figure img{
  background:#f2f5fa;border-radius:10px;padding:5px;object-fit:contain;
}

/* Cards: correct gaps and default text layout in all Crystal Ultra renderers. */
body.pkpg-trainer-ui :is(.pkpg-ultra-roster,.pkpg-ultra-grid,.pkpg-ultra-cards,
  .pkpg-ultra-card-grid,.pkpg-ultra-counter-grid,.pkpg-ultra-starter-grid,
  .pkpg-ultra-pokemon-grid,.pkpg-ultra-options,.pkpg-ultra-choices){
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;align-items:stretch!important;margin:18px 0 28px!important;
}
body.pkpg-trainer-ui :is(.pkpg-ultra-roster,.pkpg-ultra-grid,.pkpg-ultra-cards,
  .pkpg-ultra-card-grid,.pkpg-ultra-counter-grid,.pkpg-ultra-starter-grid,
  .pkpg-ultra-pokemon-grid,.pkpg-ultra-options,.pkpg-ultra-choices) > *{
  min-width:0;box-sizing:border-box;border-radius:15px!important;
  background:#fff!important;color:#1b2742!important;
  border:1px solid #d7e1ef!important;padding:17px!important;
}
body.pkpg-trainer-ui :is(.pkpg-ultra-roster,.pkpg-ultra-grid,.pkpg-ultra-cards,
  .pkpg-ultra-card-grid,.pkpg-ultra-counter-grid,.pkpg-ultra-starter-grid,
  .pkpg-ultra-pokemon-grid,.pkpg-ultra-options,.pkpg-ultra-choices) img {
  display:inline-block;vertical-align:middle;max-width:90px!important;max-height:90px!important;
  width:auto;height:auto;object-fit:contain;background:#f5f7fc;border-radius:12px;
  padding:5px;margin:0 10px 10px 0;
}
body.pkpg-trainer-ui :is(.pkpg-ultra-roster,.pkpg-ultra-cards,.pkpg-ultra-card-grid,
  .pkpg-ultra-counter-grid,.pkpg-ultra-starter-grid) > * :is(h3,h4){
  font-size:18px!important;font-weight:800!important;margin:6px 0 10px!important;
  line-height:1.35;color:#182641!important;
}
body.pkpg-trainer-ui :is(.pkpg-ultra-roster,.pkpg-ultra-cards,.pkpg-ultra-grid,
  .pkpg-ultra-card-grid,.pkpg-ultra-counter-grid,.pkpg-ultra-starter-grid) > * > :is(p,span,strong,b,small){
  line-height:1.6;margin-top:6px;margin-bottom:8px;
}
body.pkpg-trainer-ui .pkpg-ultra-roster > * :is(ul,ol){
  list-style:none!important;margin:12px 0!important;padding:0!important;
  display:grid;gap:0;
}
body.pkpg-trainer-ui .pkpg-ultra-roster > * :is(ul,ol) li{
  display:flex!important;flex-wrap:wrap;align-items:baseline;
  column-gap:8px!important;row-gap:2px!important;
  padding:9px 0!important;margin:0!important;
  border-bottom:1px solid #e4e9f2!important;
  line-height:1.45;color:#263550!important;
}
body.pkpg-trainer-ui .pkpg-ultra-roster > * :is(ul,ol) li:last-child{border-bottom:none!important;}
body.pkpg-trainer-ui .pkpg-ultra-roster > * :is(ul,ol) li :is(b,strong){font-weight:800;color:#162643!important;}
body.pkpg-trainer-ui :is(.pkpg-ultra-roster,.pkpg-ultra-cards,.pkpg-ultra-grid,
  .pkpg-ultra-card-grid,.pkpg-ultra-counter-grid,.pkpg-ultra-starter-grid) > * :is(p,div,span,small,li){
  overflow-wrap:break-word;
}
/* Named helper outputs — markup differs between guide classes. */
body.pkpg-trainer-ui :is(.pkpg-ultra-mon,.pkpg-ultra-mon-card,.pkpg-ultra-pokemon-card,
  .pkpg-ultra-poke-card,.pkpg-ultra-card,.pkpg-ultra-counter-card,
  .pkpg-ultra-counter,.pkpg-ultra-pick,.pkpg-ultra-starter-card){
  background:#fff!important;color:#1b2742!important;
  border:1px solid #d8e1ee!important;border-radius:15px!important;padding:16px!important;
  min-width:0;box-shadow:none!important;
}
body.pkpg-trainer-ui :is(.pkpg-ultra-mon,.pkpg-ultra-mon-card,.pkpg-ultra-pokemon-card,
  .pkpg-ultra-poke-card,.pkpg-ultra-card,.pkpg-ultra-counter-card,
  .pkpg-ultra-counter,.pkpg-ultra-pick,.pkpg-ultra-starter-card) :is(small,em){
  display:block;line-height:1.45;margin:5px 0;color:#53617c!important;
}
body.pkpg-trainer-ui :is(.pkpg-ultra-mon,.pkpg-ultra-mon-card,.pkpg-ultra-pokemon-card,
  .pkpg-ultra-poke-card,.pkpg-ultra-card,.pkpg-ultra-counter-card,
  .pkpg-ultra-counter,.pkpg-ultra-pick,.pkpg-ultra-starter-card) :is(h3,h4,strong){
  color:#172742!important;
}
/* A record's lists must not fall back to browser bullets at the card's very edge. */
body.pkpg-trainer-ui .elementor-widget-html :is(.pkpg-ultra-roster,.pkpg-ultra-cards) ul {padding-left:0!important;}

/* For all family pages, headings and main content remain dark on pale backgrounds. */
body.pkpg-trainer-ui .elementor-widget-html :is(.pkpg-ultra-guide,.pkpg-ultra-page,.pkpg-manual-trainer,
  .pkpg-gen2-manual) :is(h2,h3){text-wrap:pretty;}
body.pkpg-trainer-ui .elementor-widget-html :is(.pkpg-ultra-guide,.pkpg-ultra-page) section {min-width:0;}
body.pkpg-trainer-ui :is(.pkpg-ultra-toc,.pkpg-ultra-nav) a {
  display:inline-block;margin:3px 5px 3px 0;padding:6px 10px;
  border:1px solid #dce4f0;background:#fff;border-radius:999px;
  color:#1b3a70!important;text-decoration:none!important;
}
@media(max-width:780px){
  body.pkpg-trainer-ui :is(.pkpg-ultra-roster,.pkpg-ultra-grid,.pkpg-ultra-cards,
    .pkpg-ultra-card-grid,.pkpg-ultra-counter-grid,.pkpg-ultra-starter-grid,
    .pkpg-ultra-pokemon-grid,.pkpg-ultra-options,.pkpg-ultra-choices){grid-template-columns:1fr!important;}
  body.pkpg-trainer-ui :is(.pkpg-ultra-hero,.pkpg-ultra-header,.pkpg-ultra-intro){padding:18px 16px!important;}
  body.pkpg-trainer-ui .pkpg-ultra-roster > * :is(ul,ol) li{display:flex!important;}
}
/* Trainer UI v3.0 — exact Crystal Ultra components, based on Falkner's published structure.
   Single global CSS, scoped only to actual trainer profiles. No content rewrites. */
body.pkpg-trainer-ui article.pkpg-trainer-ultra{--ui3-ink:#152342;--ui3-sub:#506080;--ui3-border:#d7e1f0;--ui3-bg:#f6f8fc;--ui3-gold:#edb400;color:var(--ui3-ink);}
body.pkpg-trainer-ui article.pkpg-trainer-ultra :is(.pkpg-ultra-hero,.pkpg-ui3-hero){background:var(--ui3-bg)!important;border:1px solid var(--ui3-border)!important;border-radius:18px!important;box-shadow:none!important;padding:24px!important;color:var(--ui3-ink)!important;}
body.pkpg-trainer-ui article.pkpg-trainer-ultra .pkpg-ui3-hero-grid{display:grid!important;grid-template-columns:minmax(135px,172px) minmax(0,1fr)!important;gap:22px!important;align-items:start!important;}
body.pkpg-trainer-ui article.pkpg-trainer-ultra .pkpg-ui3-hero-copy{min-width:0;}
body.pkpg-trainer-ui article.pkpg-trainer-ultra .pkpg-ui3-portrait{min-width:0;display:flex;justify-content:center;align-items:flex-start;}
body.pkpg-trainer-ui article.pkpg-trainer-ultra .pkpg-ui3-portrait figure{width:100%;margin:0!important;padding:10px!important;background:#fff!important;border:1px solid var(--ui3-border)!important;border-radius:13px!important;}
body.pkpg-trainer-ui article.pkpg-trainer-ultra .pkpg-ui3-portrait img{display:block;max-height:160px!important;max-width:100%!important;width:auto!important;margin-inline:auto!important;object-fit:contain;}
body.pkpg-trainer-ui article.pkpg-trainer-ultra .pkpg-ui3-portrait figcaption{font-size:11px!important;line-height:1.4!important;color:#59647a!important;text-align:center;margin-top:7px;}
body.pkpg-trainer-ui article.pkpg-trainer-ultra .pkpg-ultra-kicker{font-size:11px!important;letter-spacing:.06em!important;text-transform:uppercase;font-weight:850!important;color:#775000!important;line-height:1.5!important;margin:0 0 12px!important;}
body.pkpg-trainer-ui article.pkpg-trainer-ultra .pkpg-ultra-lead{font-size:16px!important;line-height:1.78!important;margin:0 0 19px!important;color:var(--ui3-ink)!important;}
body.pkpg-trainer-ui article.pkpg-trainer-ultra .pkpg-ultra-facts{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin:0 0 18px!important;}
body.pkpg-trainer-ui article.pkpg-trainer-ultra .pkpg-ultra-facts>div{background:#fff!important;border:1px solid var(--ui3-border)!important;border-radius:11px!important;padding:12px 14px!important;display:flex!important;flex-direction:column!important;gap:6px!important;min-width:0!important;min-height:0!important;}
body.pkpg-trainer-ui article.pkpg-trainer-ultra .pkpg-ultra-facts small{display:block!important;color:#52637f!important;letter-spacing:.05em!important;text-transform:uppercase!important;font-weight:800!important;font-size:10px!important;line-height:1.4!important;}
body.pkpg-trainer-ui article.pkpg-trainer-ultra .pkpg-ultra-facts strong{display:block!important;color:var(--ui3-ink)!important;font-size:14px!important;line-height:1.45!important;margin:0!important;}
body.pkpg-trainer-ui article.pkpg-trainer-ultra .pkpg-ultra-quick{display:block!important;background:#fff7df!important;border:1px solid #f0d997!important;border-left:4px solid var(--ui3-gold)!important;border-radius:3px 10px 10px 3px!important;color:var(--ui3-ink)!important;padding:14px 17px!important;line-height:1.7!important;margin:0!important;}
body.pkpg-trainer-ui article.pkpg-trainer-ultra .pkpg-ultra-toc{background:transparent!important;border:0!important;padding:0!important;margin:18px 0 28px!important;display:flex!important;flex-wrap:wrap!important;gap:7px!important;}
body.pkpg-trainer-ui article.pkpg-trainer-ultra .pkpg-ultra-toc>a{display:inline-flex!important;align-items:center!important;background:#fff!important;border:1px solid var(--ui3-border)!important;color:#1b3664!important;border-radius:999px!important;padding:8px 12px!important;text-decoration:none!important;margin:0!important;font-size:12px!important;font-weight:750!important;}
body.pkpg-trainer-ui article.pkpg-trainer-ultra h2{color:var(--ui3-ink)!important;border-left:4px solid var(--ui3-gold)!important;margin:34px 0 17px!important;padding:2px 0 2px 14px!important;line-height:1.3!important;}
/* Pokémon roster: two-column grid, proper species cards, moves as rows, not run-on text. */
body.pkpg-trainer-ui article.pkpg-trainer-ultra .pkpg-ultra-roster{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;}
body.pkpg-trainer-ui article.pkpg-trainer-ultra .pkpg-ultra-roster-card{min-width:0;position:relative;background:#fff!important;border:1px solid var(--ui3-border)!important;border-radius:14px!important;padding:16px!important;display:flex!important;flex-direction:column!important;gap:13px!important;}
body.pkpg-trainer-ui article.pkpg-trainer-ultra .pkpg-ultra-ace{border-top:3px solid var(--ui3-gold)!important;}
body.pkpg-trainer-ui article.pkpg-trainer-ultra .pkpg-ultra-ace-tag{display:inline-flex!important;width:fit-content;background:#18243e!important;color:#fff!important;padding:4px 10px!important;border-radius:999px!important;font-size:11px!important;font-weight:800!important;letter-spacing:.02em!important;margin:7px 0 0!important;}
body.pkpg-trainer-ui article.pkpg-trainer-ultra .pkpg-ui3-roster-head{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:4px!important;min-width:0;}
/* species_card is part of the existing engine; normalize its known and fallback nesting. */
body.pkpg-trainer-ui article.pkpg-trainer-ultra :is(.pkpg-ui3-roster-head,.pkpg-ui3-choice-heading) :is(.pp-world-poke-card,.pp-trainer-species,.pkpg-species-card){display:flex!important;flex-wrap:nowrap!important;gap:12px!important;align-items:center!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;max-width:100%;width:100%;text-decoration:none!important;}
body.pkpg-trainer-ui article.pkpg-trainer-ultra :is(.pkpg-ui3-roster-head,.pkpg-ui3-choice-heading) :is(.pp-world-poke-img,.pkpg-species-image){width:64px!important;height:64px!important;flex:0 0 64px!important;display:grid!important;place-items:center!important;background:#f3f6fb!important;border-radius:10px!important;overflow:hidden;}
body.pkpg-trainer-ui article.pkpg-trainer-ultra :is(.pkpg-ui3-roster-head,.pkpg-ui3-choice-heading) img{max-height:64px!important;max-width:64px!important;width:auto!important;height:auto!important;object-fit:contain!important;margin:0!important;padding:0!important;background:transparent!important;}
body.pkpg-trainer-ui article.pkpg-trainer-ultra :is(.pkpg-ui3-roster-head,.pkpg-ui3-choice-heading) :is(.pp-world-poke-body,.pkpg-species-body){display:flex!important;flex-direction:column!important;gap:4px!important;min-width:0!important;}
body.pkpg-trainer-ui article.pkpg-trainer-ultra :is(.pkpg-ui3-roster-head,.pkpg-ui3-choice-heading) :is(small,.pp-world-poke-body small){display:block!important;font-size:12px!important;color:var(--ui3-sub)!important;line-height:1.45!important;margin:0!important;}
body.pkpg-trainer-ui article.pkpg-trainer-ultra .pkpg-ui3-roster-head a{color:#143569!important;font-weight:850!important;text-decoration:none!important;}
body.pkpg-trainer-ui article.pkpg-trainer-ultra .pkpg-ultra-moves{list-style:none!important;padding:0!important;margin:0!important;display:grid!important;gap:0!important;}
body.pkpg-trainer-ui article.pkpg-trainer-ultra .pkpg-ultra-moves>li{display:grid!important;grid-template-columns:minmax(85px,.7fr) minmax(0,1.3fr)!important;align-items:baseline!important;gap:12px!important;margin:0!important;padding:9px 0!important;border-bottom:1px solid #e6ebf3!important;line-height:1.55!important;color:#293956!important;}
body.pkpg-trainer-ui article.pkpg-trainer-ultra .pkpg-ultra-moves>li:last-child{border-bottom:0!important;}
body.pkpg-trainer-ui article.pkpg-trainer-ultra .pkpg-ultra-moves>li strong{font-weight:850!important;color:#152342!important;}
body.pkpg-trainer-ui article.pkpg-trainer-ultra .pkpg-ultra-moves>li span{color:#4e5e7c!important;}
body.pkpg-trainer-ui article.pkpg-trainer-ultra .pkpg-ultra-roster-note{background:#f5f7fc!important;padding:12px 13px!important;border-radius:10px!important;line-height:1.7!important;margin:0!important;color:#27364f!important;flex:1;}
/* Counters, starter choices and related story use the same reusable card treatment. */
body.pkpg-trainer-ui article.pkpg-trainer-ultra :is(.pkpg-ultra-choices,.pkpg-ultra-starters){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:13px!important;margin:17px 0 27px!important;}
body.pkpg-trainer-ui article.pkpg-trainer-ultra .pkpg-ultra-starters{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
body.pkpg-trainer-ui article.pkpg-trainer-ultra .pkpg-ui3-choice{display:flex!important;flex-direction:column!important;gap:11px!important;padding:16px!important;border:1px solid var(--ui3-border)!important;border-radius:13px!important;background:#fff!important;min-width:0!important;}
body.pkpg-trainer-ui article.pkpg-trainer-ultra .pkpg-ultra-starters .pkpg-ui3-choice{background:#f8faff!important;}
body.pkpg-trainer-ui article.pkpg-trainer-ultra .pkpg-ui3-choice-badge{display:inline-flex!important;align-self:flex-start!important;background:#18243e!important;color:#fff!important;border-radius:999px!important;padding:5px 10px!important;font-size:10px!important;font-weight:850!important;letter-spacing:.03em!important;line-height:1.4!important;}
body.pkpg-trainer-ui article.pkpg-trainer-ultra .pkpg-ultra-starters .pkpg-ui3-choice-badge{background:#fff5dc!important;color:#744d00!important;border:1px solid #e7c86f!important;}
body.pkpg-trainer-ui article.pkpg-trainer-ultra .pkpg-ultra-choice-text{line-height:1.75!important;color:#243554!important;font-size:14px!important;}
body.pkpg-trainer-ui article.pkpg-trainer-ultra .pkpg-ultra-mechanic,body.pkpg-trainer-ui article.pkpg-trainer-ultra .pkpg-ultra-rewards{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important;margin:20px 0 28px!important;}
body.pkpg-trainer-ui article.pkpg-trainer-ultra :is(.pkpg-ultra-mechanic,.pkpg-ultra-rewards)>div{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:7px!important;padding:15px!important;border:1px solid var(--ui3-border)!important;border-radius:12px!important;background:#f9fbfe!important;}
body.pkpg-trainer-ui article.pkpg-trainer-ultra :is(.pkpg-ultra-mechanic,.pkpg-ultra-rewards)>div>:is(small,span){display:block!important;color:var(--ui3-sub)!important;font-size:11px!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.04em!important;}
body.pkpg-trainer-ui article.pkpg-trainer-ultra :is(.pkpg-ultra-mechanic,.pkpg-ultra-rewards)>div>strong{display:block!important;color:var(--ui3-ink)!important;font-size:16px!important;margin:0!important;line-height:1.4!important;}
body.pkpg-trainer-ui article.pkpg-trainer-ultra :is(.pkpg-ultra-mechanic,.pkpg-ultra-rewards)>div>p{margin:0!important;line-height:1.65!important;font-size:13px!important;}
body.pkpg-trainer-ui article.pkpg-trainer-ultra .pkpg-ultra-related{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;margin:20px 0 26px!important;}
body.pkpg-trainer-ui article.pkpg-trainer-ultra .pkpg-ultra-related>*{padding:12px 14px!important;border:1px solid var(--ui3-border)!important;border-radius:11px!important;background:#f8faff!important;text-decoration:none!important;display:flex!important;flex-direction:column!important;gap:4px!important;min-width:0!important;}
body.pkpg-trainer-ui article.pkpg-trainer-ultra .pkpg-ultra-related>* strong{display:block!important;color:#173364!important;font-size:13px!important;line-height:1.4!important;}
body.pkpg-trainer-ui article.pkpg-trainer-ultra .pkpg-ultra-related>* small{display:block!important;color:var(--ui3-sub)!important;font-size:12px!important;line-height:1.45!important;}
body.pkpg-trainer-ui article.pkpg-trainer-ultra .pkpg-ultra-faq details{border-radius:11px!important;border:1px solid var(--ui3-border)!important;background:#fff!important;padding:11px 15px!important;margin:8px 0!important;}
body.pkpg-trainer-ui article.pkpg-trainer-ultra .pkpg-ultra-sources{font-size:12px!important;line-height:1.65!important;color:#50607a!important;margin:24px 0 12px!important;}
@media(max-width:780px){body.pkpg-trainer-ui article.pkpg-trainer-ultra .pkpg-ui3-hero-grid{grid-template-columns:1fr!important}body.pkpg-trainer-ui article.pkpg-trainer-ultra .pkpg-ui3-portrait{justify-content:flex-start!important}body.pkpg-trainer-ui article.pkpg-trainer-ultra .pkpg-ultra-roster,body.pkpg-trainer-ui article.pkpg-trainer-ultra .pkpg-ultra-choices,body.pkpg-trainer-ui article.pkpg-trainer-ultra .pkpg-ultra-starters,body.pkpg-trainer-ui article.pkpg-trainer-ultra .pkpg-ultra-rewards,body.pkpg-trainer-ui article.pkpg-trainer-ultra .pkpg-ultra-mechanic{grid-template-columns:1fr!important}}
@media(max-width:520px){body.pkpg-trainer-ui article.pkpg-trainer-ultra .pkpg-ultra-facts{grid-template-columns:1fr!important}body.pkpg-trainer-ui article.pkpg-trainer-ultra .pkpg-ultra-moves>li{grid-template-columns:1fr!important;gap:2px!important}body.pkpg-trainer-ui article.pkpg-trainer-ultra .pkpg-ultra-related{grid-template-columns:1fr!important}}

/* PKPG_SPECIES_HEADING_SPACING_V31 */
body.pkpg-trainer-ui article.pkpg-trainer-ultra
:is(.pkpg-ui3-roster-head,.pkpg-ui3-choice-heading)
:is(.pp-world-poke-body,.pkpg-species-body) {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 4px !important;
}

body.pkpg-trainer-ui article.pkpg-trainer-ultra
:is(.pkpg-ui3-roster-head,.pkpg-ui3-choice-heading)
:is(strong,small) {
    display: block !important;
    clear: both !important;
    white-space: normal !important;
    line-height: 1.45 !important;
}

body.pkpg-trainer-ui article.pkpg-trainer-ultra
:is(.pkpg-ui3-roster-head,.pkpg-ui3-choice-heading)
strong {
    order: -1;
    font-size: 15px !important;
    font-weight: 800 !important;
    color: #152342 !important;
    margin-bottom: 3px !important;
}

body.pkpg-trainer-ui article.pkpg-trainer-ultra
:is(.pkpg-ui3-roster-head,.pkpg-ui3-choice-heading)
small {
    order: 1;
    font-size: 12px !important;
    color: #52617b !important;
    margin-top: 3px !important;
}
/* END PKPG_SPECIES_HEADING_SPACING_V31 */
/* PKPG_TRAINER_UI32_SPECIES: stable title/meta structure for all Crystal Ultra tiles. */
body.pkpg-trainer-ui article.pkpg-trainer-ultra .pkpg-ui32-species {
  display:grid!important;
  grid-template-columns:64px minmax(0,1fr)!important;
  align-items:center!important;
  gap:13px!important;
  min-width:0!important;
  width:100%!important;
}
body.pkpg-trainer-ui article.pkpg-trainer-ultra .pkpg-ui32-species-media {
  display:grid!important;
  width:64px!important;
  height:64px!important;
  place-items:center!important;
  overflow:hidden!important;
  border-radius:10px!important;
  background:#f3f6fb!important;
  flex:none!important;
  text-decoration:none!important;
}
body.pkpg-trainer-ui article.pkpg-trainer-ultra .pkpg-ui32-species-media img {
  display:block!important;
  max-width:60px!important;
  max-height:60px!important;
  width:auto!important;
  height:auto!important;
  object-fit:contain!important;
  margin:0!important;
  padding:0!important;
}
body.pkpg-trainer-ui article.pkpg-trainer-ultra .pkpg-ui32-species-copy {
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:5px!important;
  min-width:0!important;
}
body.pkpg-trainer-ui article.pkpg-trainer-ultra .pkpg-ui32-species-name {
  display:block!important;
  font-size:16px!important;
  line-height:1.35!important;
  font-weight:850!important;
  color:#16366b!important;
  text-decoration:none!important;
  margin:0!important;
  padding:0!important;
}
body.pkpg-trainer-ui article.pkpg-trainer-ultra .pkpg-ui32-species-meta {
  display:block!important;
  line-height:1.45!important;
  font-size:12px!important;
  font-weight:500!important;
  color:#51617e!important;
  margin:0!important;
  padding:0!important;
  white-space:normal!important;
}
body.pkpg-trainer-ui article.pkpg-trainer-ultra .pkpg-ultra-roster-card .pkpg-ui32-species {
  margin-bottom:0!important;
}
@media(max-width:520px){
  body.pkpg-trainer-ui article.pkpg-trainer-ultra .pkpg-ui32-species {
    grid-template-columns:54px minmax(0,1fr)!important;
    gap:10px!important;
  }
  body.pkpg-trainer-ui article.pkpg-trainer-ultra .pkpg-ui32-species-media {
    width:54px!important;
    height:54px!important;
  }
  body.pkpg-trainer-ui article.pkpg-trainer-ultra .pkpg-ui32-species-media img {
    max-width:50px!important;
    max-height:50px!important;
  }
}
/* END PKPG_TRAINER_UI32_SPECIES */
/* PKPG_TRAINER_THUMBNAILS_V33 — only Crystal Ultra species media parity.
   Same 72px art box and horizontal head as Falkner. No narrative changes. */
body.pkpg-trainer-ui article.pkpg-trainer-ultra
:is(.pkpg-ui3-roster-head, .pkpg-ui3-choice-heading) .pkpg-ui32-species {
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: 12px !important;
  width: 100% !important;
  min-height: 72px !important;
  min-width: 0 !important;
  grid-template-columns: none !important;
}
body.pkpg-trainer-ui article.pkpg-trainer-ultra
:is(.pkpg-ui3-roster-head, .pkpg-ui3-choice-heading) .pkpg-ui32-species-media {
  display: grid !important;
  place-items: center !important;
  flex: 0 0 72px !important;
  width: 72px !important;
  height: 72px !important;
  min-width: 72px !important;
  min-height: 72px !important;
  overflow: hidden !important;
  border-radius: 10px !important;
  background: #f3f6fb !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 4px !important;
}
body.pkpg-trainer-ui article.pkpg-trainer-ultra
:is(.pkpg-ui3-roster-head, .pkpg-ui3-choice-heading) .pkpg-ui32-species-media img {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 64px !important;
  max-height: 64px !important;
  object-fit: contain !important;
  object-position: center !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: none !important;
}
body.pkpg-trainer-ui article.pkpg-trainer-ultra
:is(.pkpg-ui3-roster-head, .pkpg-ui3-choice-heading) .pkpg-ui32-species-copy {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 4px !important;
  min-width: 0 !important;
  margin: 0 !important;
}
@media (max-width: 520px) {
  body.pkpg-trainer-ui article.pkpg-trainer-ultra
  :is(.pkpg-ui3-roster-head, .pkpg-ui3-choice-heading) .pkpg-ui32-species {
    gap: 10px !important;
    min-height: 60px !important;
  }
  body.pkpg-trainer-ui article.pkpg-trainer-ultra
  :is(.pkpg-ui3-roster-head, .pkpg-ui3-choice-heading) .pkpg-ui32-species-media {
    flex-basis: 60px !important;
    width: 60px !important;
    min-width: 60px !important;
    height: 60px !important;
    min-height: 60px !important;
    padding: 3px !important;
  }
  body.pkpg-trainer-ui article.pkpg-trainer-ultra
  :is(.pkpg-ui3-roster-head, .pkpg-ui3-choice-heading) .pkpg-ui32-species-media img {
    max-width: 54px !important;
    max-height: 54px !important;
  }
}
/* END PKPG_TRAINER_THUMBNAILS_V33 */
/* PKPG_TRAINER_STANDARD_V4: Falkner-equivalent component skeleton on Bugsy. No writes. */
body.pkpg-trainer-ui article.pkpg-trainer-standard {
 --pstd-text:#102043;--pstd-muted:#526581;--pstd-border:#d7e2f2;--pstd-bg:#f6f8fc;--pstd-gold:#efae09;
 color:var(--pstd-text);max-width:100%;font-size:15px;line-height:1.75;
}
body.pkpg-trainer-ui article.pkpg-trainer-standard *,body.pkpg-trainer-ui article.pkpg-trainer-standard *::before {box-sizing:border-box;}
body.pkpg-trainer-ui article.pkpg-trainer-standard a {overflow-wrap:anywhere;}
body.pkpg-trainer-ui article.pkpg-trainer-standard .pkpg-falkner-hero{
 background:#f7f9fd!important;border:1px solid var(--pstd-border)!important;border-radius:17px!important;
 color:var(--pstd-text)!important;padding:24px!important;margin:0 0 26px!important;box-shadow:none!important;
}
body.pkpg-trainer-ui article.pkpg-trainer-standard .pkpg-falkner-hero-grid{
 display:grid!important;grid-template-columns:160px minmax(0,1fr)!important;gap:18px!important;align-items:start!important;
}
body.pkpg-trainer-ui article.pkpg-trainer-standard .pkpg-falkner-hero-grid figure{
 max-width:160px;margin:0!important;padding:10px!important;background:#fff!important;
 border:1px solid var(--pstd-border)!important;border-radius:12px!important;
}
body.pkpg-trainer-ui article.pkpg-trainer-standard .pkpg-falkner-hero-grid figure img{
 display:block!important;width:128px!important;height:128px!important;max-width:100%!important;object-fit:contain!important;margin:0 auto!important;
}
body.pkpg-trainer-ui article.pkpg-trainer-standard .pkpg-falkner-hero-grid figcaption{
 font-size:11px!important;color:var(--pstd-muted)!important;line-height:1.4!important;text-align:center!important;
}
body.pkpg-trainer-ui article.pkpg-trainer-standard .pkpg-falkner-hero-body{min-width:0;}
body.pkpg-trainer-ui article.pkpg-trainer-standard .pkpg-falkner-eyebrow{
 color:#38577d!important;text-transform:uppercase!important;letter-spacing:.055em!important;font-size:11px!important;font-weight:800!important;margin:2px 0 15px!important;
}
body.pkpg-trainer-ui article.pkpg-trainer-standard .pkpg-falkner-lead{
 font-size:16px!important;color:var(--pstd-text)!important;line-height:1.75!important;margin:0 0 16px!important;
}
body.pkpg-trainer-ui article.pkpg-trainer-standard .pkpg-falkner-facts{
 display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;margin:0 0 16px!important;
}
body.pkpg-trainer-ui article.pkpg-trainer-standard .pkpg-falkner-facts>div,
body.pkpg-trainer-ui article.pkpg-trainer-standard .pkpg-falkner-rewards>div{
 display:flex!important;flex-direction:column!important;gap:6px!important;min-width:0!important;
 padding:12px!important;border:1px solid var(--pstd-border)!important;border-radius:10px!important;
 background:#fff!important;color:var(--pstd-text)!important;
}
body.pkpg-trainer-ui article.pkpg-trainer-standard :is(.pkpg-falkner-facts,.pkpg-falkner-rewards)>div>span{
 color:var(--pstd-muted)!important;font-size:10px!important;font-weight:800!important;letter-spacing:.055em!important;text-transform:uppercase!important;
}
body.pkpg-trainer-ui article.pkpg-trainer-standard :is(.pkpg-falkner-facts,.pkpg-falkner-rewards)>div>strong{
 color:var(--pstd-text)!important;font-size:13px!important;line-height:1.5!important;
}
body.pkpg-trainer-ui article.pkpg-trainer-standard .pkpg-falkner-direct,
body.pkpg-trainer-ui article.pkpg-trainer-standard .pkpg-falkner-note{
 display:block!important;color:var(--pstd-text)!important;background:#fff7df!important;
 padding:15px 16px!important;border-left:4px solid var(--pstd-gold)!important;border-radius:3px 10px 10px 3px!important;
 line-height:1.72!important;margin:0 0 18px!important;
}
body.pkpg-trainer-ui article.pkpg-trainer-standard .pkpg-falkner-toc{
 display:flex!important;flex-wrap:wrap!important;gap:7px!important;margin:12px 0 30px!important;background:none!important;padding:0!important;border:0!important;
}
body.pkpg-trainer-ui article.pkpg-trainer-standard .pkpg-falkner-toc a{
 color:#17376a!important;text-decoration:none!important;border:1px solid var(--pstd-border)!important;
 background:#fff!important;padding:7px 11px!important;border-radius:999px!important;font-size:12px!important;font-weight:700!important;
}
body.pkpg-trainer-ui article.pkpg-trainer-standard section{margin-bottom:30px;scroll-margin-top:115px;}
body.pkpg-trainer-ui article.pkpg-trainer-standard section>h2{
 color:var(--pstd-text)!important;font-size:22px!important;line-height:1.3!important;
 border-left:3px solid var(--pstd-gold)!important;padding:2px 0 2px 13px!important;margin:0 0 16px!important;
}
body.pkpg-trainer-ui article.pkpg-trainer-standard .pkpg-falkner-team,
body.pkpg-trainer-ui article.pkpg-trainer-standard .pkpg-falkner-options{
 display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:13px!important;margin:16px 0 20px!important;
}
body.pkpg-trainer-ui article.pkpg-trainer-standard .pkpg-falkner-starters,
body.pkpg-trainer-ui article.pkpg-trainer-standard .pkpg-falkner-rewards{
 display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:11px!important;margin:14px 0 20px!important;
}
body.pkpg-trainer-ui article.pkpg-trainer-standard .pkpg-falkner-pokemon,
body.pkpg-trainer-ui article.pkpg-trainer-standard .pkpg-falkner-option,
body.pkpg-trainer-ui article.pkpg-trainer-standard .pkpg-falkner-starters>div{
 position:relative!important;min-width:0!important;margin:0!important;display:block!important;
 padding:15px!important;border:1px solid var(--pstd-border)!important;border-radius:12px!important;
 background:#fff!important;color:var(--pstd-text)!important;
}
body.pkpg-trainer-ui article.pkpg-trainer-standard .pkpg-falkner-ace{border-top:3px solid var(--pstd-gold)!important;}
body.pkpg-trainer-ui article.pkpg-trainer-standard .pkpg-falkner-option-best{
 background:#fffbf1!important;border-color:#e9b62d!important;
}
body.pkpg-trainer-ui article.pkpg-trainer-standard .pkpg-falkner-pokemon-head{
 display:flex!important;gap:13px!important;align-items:center!important;margin:0 0 16px!important;min-width:0!important;
}
body.pkpg-trainer-ui article.pkpg-trainer-standard .pkpg-standard-species-image{
 display:flex!important;align-items:center!important;justify-content:center!important;
 flex:0 0 68px!important;width:68px!important;height:68px!important;
 background:var(--pstd-bg)!important;border-radius:10px!important;overflow:hidden!important;
}
body.pkpg-trainer-ui article.pkpg-trainer-standard .pkpg-standard-species-image img{
 display:block!important;width:62px!important;height:62px!important;max-width:100%!important;max-height:100%!important;
 object-fit:contain!important;margin:0 auto!important;
}
body.pkpg-trainer-ui article.pkpg-trainer-standard .pkpg-standard-species-info{min-width:0!important;flex:1!important;}
body.pkpg-trainer-ui article.pkpg-trainer-standard .pkpg-standard-species-info h3{
 font-size:16px!important;line-height:1.4!important;margin:0 0 3px!important;padding:0!important;border:0!important;
}
body.pkpg-trainer-ui article.pkpg-trainer-standard .pkpg-standard-species-info h3 a{text-decoration:none!important;color:#153769!important;}
body.pkpg-trainer-ui article.pkpg-trainer-standard .pkpg-standard-species-info .pkpg-falkner-small{
 display:block!important;color:#536682!important;text-transform:uppercase!important;font-size:10px!important;
 font-weight:850!important;line-height:1.5!important;letter-spacing:.04em!important;
}
body.pkpg-trainer-ui article.pkpg-trainer-standard :is(.pkpg-falkner-level,.pkpg-falkner-type){font-size:12px!important;color:#4b6183!important;}
body.pkpg-trainer-ui article.pkpg-trainer-standard .pkpg-falkner-level{background:#172642!important;color:#fff!important;border-radius:4px!important;padding:2px 6px!important;font-weight:800!important;}
body.pkpg-trainer-ui article.pkpg-trainer-standard .pkpg-falkner-move-list{margin:12px 0!important;}
body.pkpg-trainer-ui article.pkpg-trainer-standard .pkpg-falkner-move-list>div{
 display:flex!important;justify-content:space-between!important;gap:12px!important;align-items:baseline!important;
 border-bottom:1px solid #e4eaf3!important;padding:7px 0!important;
}
body.pkpg-trainer-ui article.pkpg-trainer-standard .pkpg-falkner-move-list b{font-size:13px!important;color:#13264a!important;}
body.pkpg-trainer-ui article.pkpg-trainer-standard .pkpg-falkner-move-list span{font-size:12px!important;color:#4d658b!important;text-align:right!important;}
body.pkpg-trainer-ui article.pkpg-trainer-standard .pkpg-falkner-takeaway{
 background:#f4f7fc!important;border-radius:9px!important;padding:13px!important;margin:12px 0 0!important;
 color:var(--pstd-text)!important;font-size:13px!important;line-height:1.75!important;
}
body.pkpg-trainer-ui article.pkpg-trainer-standard .pkpg-falkner-option-label{
 display:block!important;width:fit-content!important;text-transform:uppercase!important;letter-spacing:.045em!important;
 color:#816000!important;font-size:10px!important;font-weight:850!important;margin-bottom:9px!important;
}
body.pkpg-trainer-ui article.pkpg-trainer-standard .pkpg-standard-choice-prose p{margin:5px 0 0!important;font-size:14px!important;line-height:1.73!important;color:var(--pstd-text)!important;}
body.pkpg-trainer-ui article.pkpg-trainer-standard .pkpg-standard-mechanic>div{background:#fafbfd!important;}
body.pkpg-trainer-ui article.pkpg-trainer-standard .pkpg-standard-mechanic>div>span{
 order:1!important;color:#334e75!important;font-size:13px!important;text-transform:none!important;letter-spacing:normal!important;
}
body.pkpg-trainer-ui article.pkpg-trainer-standard .pkpg-falkner-rewards>div>p{
 font-size:13px!important;line-height:1.7!important;margin:0!important;color:var(--pstd-text)!important;
}
body.pkpg-trainer-ui article.pkpg-trainer-standard :is(.pkpg-falkner-steps,.pkpg-standard-pitfalls){
 padding:0!important;margin:16px 0 20px!important;list-style:none!important;counter-reset:pstd-step;
}
body.pkpg-trainer-ui article.pkpg-trainer-standard :is(.pkpg-falkner-steps,.pkpg-standard-pitfalls)>li{
 position:relative!important;list-style:none!important;background:#fff!important;
 border:1px solid var(--pstd-border)!important;border-radius:11px!important;padding:12px 15px 12px 44px!important;
 margin:0 0 10px!important;line-height:1.7!important;counter-increment:pstd-step;
}
body.pkpg-trainer-ui article.pkpg-trainer-standard :is(.pkpg-falkner-steps,.pkpg-standard-pitfalls)>li:before{
 content:counter(pstd-step);position:absolute;top:13px;left:13px;display:grid;place-items:center;
 background:#172642;color:#fff;font-size:11px;font-weight:850;border-radius:50%;width:23px;height:23px;
}
body.pkpg-trainer-ui article.pkpg-trainer-standard .pkpg-falkner-faq{display:grid!important;gap:8px!important;margin:15px 0 18px!important;}
body.pkpg-trainer-ui article.pkpg-trainer-standard .pkpg-falkner-faq details{
 border:1px solid var(--pstd-border)!important;border-radius:10px!important;padding:10px 14px!important;background:#fff!important;
}
body.pkpg-trainer-ui article.pkpg-trainer-standard .pkpg-falkner-faq summary{font-weight:800!important;cursor:pointer!important;color:var(--pstd-text)!important;}
body.pkpg-trainer-ui article.pkpg-trainer-standard .pkpg-standard-related-grid{
 display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin:20px 0!important;
}
body.pkpg-trainer-ui article.pkpg-trainer-standard .pkpg-standard-related-grid>a{
 display:flex!important;flex-direction:column!important;gap:3px!important;
 border:1px solid var(--pstd-border)!important;background:#fff!important;
 padding:12px!important;border-radius:10px!important;text-decoration:none!important;
}
body.pkpg-trainer-ui article.pkpg-trainer-standard .pkpg-standard-related-grid>a strong{color:#14346c!important;font-size:14px!important;}
body.pkpg-trainer-ui article.pkpg-trainer-standard .pkpg-standard-related-grid>a span{color:var(--pstd-muted)!important;font-size:12px!important;}
body.pkpg-trainer-ui article.pkpg-trainer-standard .pkpg-falkner-sources{
 font-size:12px!important;color:var(--pstd-muted)!important;margin:20px 0!important;
}
@media(max-width:780px){
 body.pkpg-trainer-ui article.pkpg-trainer-standard .pkpg-falkner-hero-grid{grid-template-columns:1fr!important;}
 body.pkpg-trainer-ui article.pkpg-trainer-standard .pkpg-falkner-hero-grid figure{max-width:165px;}
 body.pkpg-trainer-ui article.pkpg-trainer-standard :is(.pkpg-falkner-starters,.pkpg-falkner-rewards){grid-template-columns:1fr!important;}
}
@media(max-width:620px){
 body.pkpg-trainer-ui article.pkpg-trainer-standard :is(.pkpg-falkner-team,.pkpg-falkner-options,.pkpg-standard-related-grid){grid-template-columns:1fr!important;}
 body.pkpg-trainer-ui article.pkpg-trainer-standard .pkpg-falkner-facts{grid-template-columns:1fr 1fr!important;}
 body.pkpg-trainer-ui article.pkpg-trainer-standard .pkpg-falkner-hero{padding:16px!important;}
 body.pkpg-trainer-ui article.pkpg-trainer-standard .pkpg-falkner-move-list>div{align-items:flex-start!important;}
 body.pkpg-trainer-ui article.pkpg-trainer-standard .pkpg-falkner-move-list span{max-width:56%!important;}
}
@media(max-width:400px){body.pkpg-trainer-ui article.pkpg-trainer-standard .pkpg-falkner-facts{grid-template-columns:1fr!important;}}
/* END PKPG_TRAINER_STANDARD_V4 */

/* PKPG_TRAINER_STANDARD_V5 — shared Crystal components, no per-trainer styles.
   Historical rules above remain until old Elementor HTML is migrated and verified. */
body.pkpg-trainer-ui article.pkpg-trainer-standard .pkpg-falkner-rewards>div>small {
 display:block!important;color:var(--pstd-muted)!important;font-size:10px!important;
 font-weight:800!important;letter-spacing:.055em!important;text-transform:uppercase!important;
}
body.pkpg-trainer-ui article.pkpg-trainer-standard .pkpg-standard-mechanic>div>p {
 margin:0!important;line-height:1.7!important;
}
body.pkpg-trainer-ui article.pkpg-trainer-standard .pkpg-standard-choice-prose>p:first-child {margin-top:5px!important;}
body.pkpg-trainer-ui article.pkpg-trainer-standard .pkpg-standard-choice-prose>p:last-child {margin-bottom:0!important;}
body.pkpg-trainer-ui article.pkpg-trainer-standard .pkpg-standard-pitfalls>li:before {
 content:'!'!important;background:#af6c00!important;
}
body.pkpg-trainer-ui article.pkpg-trainer-standard .pkpg-standard-related-grid>a:focus-visible,
body.pkpg-trainer-ui article.pkpg-trainer-standard .pkpg-falkner-toc>a:focus-visible {
 outline:3px solid #2773bb!important;outline-offset:2px!important;
}
/* END PKPG_TRAINER_STANDARD_V5 */
