:root {
  --pkmn-navy: #172f4d;
  --pkmn-navy-2: #284b6f;
  --pkmn-red: #ea718f;
  --pkmn-red-dark: #b94f70;
  --pkmn-pink: #f8c6dc;
  --pkmn-pink-soft: #fff0f7;
  --pkmn-lavender: #d9c9f2;
  --pkmn-lavender-soft: #f3edff;
  --pkmn-sky: #b9e5f7;
  --pkmn-blue: #6fa9d6;
  --pkmn-mint: #c9ecd9;
  --pkmn-cream: #fff8e8;
  --pkmn-paper: #fffdfa;
  --pkmn-yellow: #f7dc7c;
  --pkmn-green: #86c7a8;
  --pkmn-line: #a4afc1;
  --pkmn-shadow: rgba(49, 42, 78, .20);
  --pkmn-ui: "Press Start 2P", ui-monospace, monospace;
  --pkmn-body: Verdana, Arial, sans-serif;
}

body {
  background:
    radial-gradient(circle at 14% 12%, rgba(248,198,220,.72), transparent 23rem),
    radial-gradient(circle at 88% 9%, rgba(217,201,242,.72), transparent 25rem),
    radial-gradient(circle at 76% 78%, rgba(201,236,217,.58), transparent 24rem),
    linear-gradient(135deg, #fff4f8 0 25%, #f4efff 25% 50%, #eef9f5 50% 75%, #fff9e9 75%);
  background-size: auto, auto, auto, 56px 56px;
  color: var(--pkmn-navy);
  font-family: var(--pkmn-body);
}

.poke-v2 { width: min(1180px, calc(100% - 24px)); margin: 0 auto; padding: 24px 0 48px; }
.poke-v2 *, .poke-v2 *::before, .poke-v2 *::after { box-sizing: border-box; }
.poke-v2 a { color: inherit; }

.pkmn-menu {
  display: flex; align-items: center; justify-content: space-between; gap: 18px;
  margin-bottom: 14px; padding: 10px 12px;
  background: linear-gradient(100deg, var(--pkmn-navy), #3b416f); color: #fff;
  border: 4px solid #0b1e31; border-radius: 18px;
  box-shadow: 0 5px 0 #0b1e31, 0 10px 24px var(--pkmn-shadow);
}
.pkmn-menu__brand { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; font: 10px/1.4 var(--pkmn-ui); white-space: nowrap; }
.pkmn-menu__links { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px; }
.pkmn-menu__links a { padding: 8px 9px; border: 2px solid transparent; border-radius: 999px; text-decoration: none; font: 8px/1.2 var(--pkmn-ui); }
.pkmn-menu__links a:hover, .pkmn-menu__links a:focus-visible { background: var(--pkmn-pink-soft); color: var(--pkmn-navy); border-color: var(--pkmn-pink); outline: none; }

.pkmn-ball { position: relative; display: inline-block; width: 24px; aspect-ratio: 1; border-radius: 50%; background: linear-gradient(var(--pkmn-red) 0 44%, var(--pkmn-navy) 44% 56%, white 56%); border: 2px solid #071827; box-shadow: inset 0 0 0 1px rgba(255,255,255,.35); }
.pkmn-ball::after { content: ""; position: absolute; width: 7px; height: 7px; left: 50%; top: 50%; translate: -50% -50%; border-radius: 50%; background: #fff; border: 2px solid #071827; }
.pkmn-ball--large { width: 92px; border-width: 5px; }
.pkmn-ball--large::after { width: 24px; height: 24px; border-width: 5px; }

.pkmn-screen {
  overflow: hidden; background: var(--pkmn-paper); border: 5px solid var(--pkmn-navy);
  border-radius: 26px; box-shadow: 0 8px 0 #0b1e31, 0 18px 42px var(--pkmn-shadow);
}
.pkmn-titlebar { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 92px; padding: 18px 22px; background: linear-gradient(115deg, var(--pkmn-red) 0 40%, #d98cb2 40% 49%, #69609a 49% 58%, var(--pkmn-navy) 58%); color: #fff; border-bottom: 5px solid #0b1e31; }
.pkmn-titlebar h1 { margin: 4px 0 0; font: 18px/1.35 var(--pkmn-ui); letter-spacing: .02em; }
.pkmn-titlebar > strong { font: 11px/1.5 var(--pkmn-ui); }
.pkmn-kicker, .pkmn-eyebrow, .pkmn-dexno { margin: 0; font: 8px/1.5 var(--pkmn-ui); letter-spacing: .08em; }
.pkmn-status-light { width: 22px; aspect-ratio: 1; border-radius: 50%; background: #9ff2c8; border: 4px solid #fff; box-shadow: 0 0 0 3px #0b1e31, 0 0 16px #9ff2c8; }

.pkmn-continue { margin: 20px; border: 4px solid var(--pkmn-navy); border-radius: 20px; background: linear-gradient(135deg, var(--pkmn-cream), var(--pkmn-pink-soft)); box-shadow: inset 0 0 0 3px #fff; }
.pkmn-continue__label { width: max-content; margin: -4px 0 0 -4px; padding: 10px 20px; background: linear-gradient(100deg, var(--pkmn-blue), #a887ce); color: #fff; border: 4px solid var(--pkmn-navy); border-radius: 14px 0 14px 0; font: 10px var(--pkmn-ui); }
.pkmn-continue__main { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 22px; padding: 22px; }
.pkmn-trainer-emblem { display: grid; place-items: center; min-width: 120px; min-height: 120px; border-radius: 50%; background: repeating-linear-gradient(45deg, var(--pkmn-pink-soft) 0 8px, var(--pkmn-lavender-soft) 8px 16px); border: 4px solid var(--pkmn-navy); }
.pkmn-continue h2, .pkmn-latest h2, .pkmn-trainer-card h2 { margin: 7px 0; font: 22px/1.2 var(--pkmn-ui); }
.pkmn-muted { color: #61758a; }
.pkmn-save-stats { display: grid; gap: 7px; margin: 0; }
.pkmn-save-stats div { min-width: 125px; padding: 9px 12px; background: #fff; border: 2px solid var(--pkmn-line); border-radius: 14px; box-shadow: inset 0 -3px 0 rgba(217,201,242,.25); }
.pkmn-save-stats dt { font: 7px var(--pkmn-ui); color: #64768a; }
.pkmn-save-stats dd { margin: 5px 0 0; font: 13px var(--pkmn-ui); }

.pkmn-home-grid { display: grid; grid-template-columns: 1.6fr .8fr; gap: 14px; margin: 0 20px 14px; }
.pkmn-panel { background: #fff; border: 3px solid var(--pkmn-navy); border-radius: 18px; box-shadow: inset 0 0 0 2px #f0e8f2; overflow: hidden; }
.pkmn-panel__head { display: flex; justify-content: space-between; align-items: center; padding: 10px 13px; background: linear-gradient(90deg, var(--pkmn-navy), #4b4e80); color: #fff; font: 8px/1.3 var(--pkmn-ui); }
.pkmn-latest__body { display: grid; grid-template-columns: 165px 1fr; align-items: center; gap: 18px; padding: 16px; }
.pkmn-sprite-stage { min-height: 150px; display: grid; place-items: center; background: radial-gradient(circle, #fff 0 34%, var(--pkmn-pink-soft) 35% 48%, var(--pkmn-lavender) 49% 62%, #9dccdf 63%); border: 3px solid var(--pkmn-navy); border-radius: 50%; }
.pkmn-sprite-stage img { width: 140px; image-rendering: pixelated; }
.pkmn-sprite-stage--small { min-height: 100px; width: 100px; }
.pkmn-sprite-stage--small img { width: 92px; }
.pkmn-species-name { margin: 0; color: #66798b; font-weight: 700; }
.pkmn-text-link { display: inline-block; margin-top: 10px; font: 8px var(--pkmn-ui); text-decoration: none; color: var(--pkmn-red-dark) !important; }
.pkmn-dex-widget { padding-bottom: 16px; }
.pkmn-dex-widget > :not(.pkmn-panel__head) { margin-left: 16px; margin-right: 16px; }
.pkmn-dex-widget__number { margin-top: 14px; font: 38px/1 var(--pkmn-ui); color: var(--pkmn-red-dark); }
.pkmn-progress { height: 16px; margin: 12px 0; overflow: hidden; background: #dfe7eb; border: 3px solid var(--pkmn-navy); border-radius: 9px; }
.pkmn-progress span { display: block; height: 100%; background: repeating-linear-gradient(135deg, var(--pkmn-red) 0 8px, var(--pkmn-pink) 8px 16px); }

.pkmn-command-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 9px; margin: 0 20px 14px; }
.pkmn-command-grid a { min-height: 112px; display: grid; align-content: center; gap: 6px; padding: 14px; text-decoration: none; background: var(--pkmn-cream); border: 3px solid var(--pkmn-navy); border-radius: 18px; box-shadow: inset 0 -5px 0 rgba(217,201,242,.22); transition: transform .16s ease, background .16s ease, box-shadow .16s ease; }
.pkmn-command-grid a:hover { transform: translateY(-5px) rotate(-.4deg); background: var(--pkmn-pink-soft); box-shadow: inset 0 -5px 0 rgba(217,201,242,.22), 0 7px 0 rgba(23,47,77,.10); }
.pkmn-command-grid strong { font: 9px/1.4 var(--pkmn-ui); }
.pkmn-command-grid small { font-size: 12px; color: #68798a; }
.pkmn-command-icon { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: linear-gradient(145deg, var(--pkmn-red), #cb82b5); color: #fff; border: 2px solid var(--pkmn-navy); font: 7px var(--pkmn-ui); }

.pkmn-party-strip { display: grid; grid-template-columns: repeat(8, 1fr); gap: 6px; padding: 13px; }
.pkmn-party-strip a { min-width: 0; padding: 6px; text-align: center; text-decoration: none; background: linear-gradient(#fff, var(--pkmn-pink-soft)); border: 2px solid #c8bfd4; border-radius: 14px; }
.pkmn-party-strip img { display: block; width: 100%; max-width: 86px; margin: auto; image-rendering: pixelated; }
.pkmn-party-strip span { display: block; overflow: hidden; text-overflow: ellipsis; font-size: 10px; font-weight: 700; }
.pkmn-controls { display: flex; gap: 18px; justify-content: flex-end; padding: 13px 18px; background: var(--pkmn-navy); color: #fff; font: 7px var(--pkmn-ui); }
.pkmn-controls a { text-decoration: none; }

.pkmn-pc-shell { margin: 18px; border: 4px solid var(--pkmn-navy); border-radius: 20px; background: linear-gradient(145deg, #f3d9e8, #d8e9f6 48%, #e5dcf7); overflow: hidden; }
.pkmn-pc-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 12px; background: linear-gradient(90deg, var(--pkmn-blue), #a682c8); color: #fff; border-bottom: 4px solid var(--pkmn-navy); font: 8px var(--pkmn-ui); }
.pkmn-pc-toolbar label { display: flex; align-items: center; gap: 10px; }
.pkmn-pc-toolbar input { width: min(380px, 46vw); padding: 9px 11px; border: 3px solid var(--pkmn-navy); border-radius: 7px; font-family: var(--pkmn-body); }
.pkmn-pc-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 7px; padding: 12px; background-image: radial-gradient(rgba(255,255,255,.65) 1px, transparent 1px); background-size: 12px 12px; }
.pkmn-pc-slot { position: relative; min-height: 130px; padding: 6px 5px 8px; cursor: pointer; background: rgba(255,255,255,.8); color: var(--pkmn-navy); border: 2px solid #7898aa; border-radius: 15px; font-family: var(--pkmn-body); transition: transform .15s ease, background .15s ease, box-shadow .15s ease; }
.pkmn-pc-slot:hover, .pkmn-pc-slot:focus-visible { background: #fff4fa; border-color: var(--pkmn-red); outline: 3px solid #fff; transform: translateY(-4px) rotate(.5deg); box-shadow: 0 6px 0 rgba(185,79,112,.12); }
.pkmn-pc-slot img { display: block; width: 88px; max-width: 100%; margin: 0 auto -2px; image-rendering: pixelated; }
.pkmn-pc-slot span, .pkmn-pc-slot small { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.pkmn-pc-slot span { font-size: 11px; font-weight: 700; }
.pkmn-pc-slot small { margin-top: 2px; font: 6px var(--pkmn-ui); color: #6b7d8b; }

.pkmn-summary { width: min(760px, calc(100vw - 30px)); padding: 0; border: 5px solid var(--pkmn-navy); border-radius: 24px; background: linear-gradient(145deg, var(--pkmn-cream), var(--pkmn-pink-soft)); color: var(--pkmn-navy); box-shadow: 0 18px 70px rgba(0,0,0,.45); }
.pkmn-summary::backdrop { background: rgba(14,32,50,.66); backdrop-filter: blur(2px); }
.pkmn-summary[open] { display: grid; grid-template-columns: 250px 1fr; }
.pkmn-summary__close { position: absolute; right: 10px; top: 10px; width: 34px; height: 34px; border-radius: 50%; border: 3px solid var(--pkmn-navy); background: linear-gradient(90deg, var(--pkmn-red), #c98ac5); color: #fff; font-size: 20px; cursor: pointer; }
.pkmn-summary__sprite { display: grid; place-items: center; min-height: 360px; background: radial-gradient(circle, #fff 0 24%, var(--pkmn-pink-soft) 25% 40%, var(--pkmn-lavender) 41% 56%, var(--pkmn-blue) 57%); border-right: 5px solid var(--pkmn-navy); }
.pkmn-summary__sprite img { width: 210px; image-rendering: pixelated; }
.pkmn-summary__info { padding: 30px 24px 22px; }
.pkmn-summary__info h2 { margin: 8px 0 2px; font: 18px var(--pkmn-ui); }
.pkmn-summary__info dl { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin-top: 20px; }
.pkmn-summary__info dl div { padding: 8px 9px; background: #fff; border: 2px solid #c7d0d7; border-radius: 7px; }
.pkmn-summary__info dt { font: 6px var(--pkmn-ui); color: #71808e; }
.pkmn-summary__info dd { margin: 4px 0 0; font-size: 12px; font-weight: 700; }
.pkmn-summary__notes { padding: 10px; background: linear-gradient(90deg, #fff4d5, var(--pkmn-pink-soft)); border-left: 4px solid var(--pkmn-yellow); border-radius: 0 12px 12px 0; }

.pkmn-filter-row { display: flex; gap: 7px; padding: 0 14px 14px; }
.pkmn-filter-row button { padding: 8px 12px; border: 2px solid var(--pkmn-navy); border-radius: 999px; background: #fff; color: var(--pkmn-navy); font: 7px var(--pkmn-ui); cursor: pointer; }
.pkmn-filter-row button.is-active { background: linear-gradient(90deg, var(--pkmn-red), #c98ac5); color: #fff; }
.pkmn-dex-grid { display: grid; grid-template-columns: repeat(8, 1fr); gap: 6px; padding: 16px; }
.pkmn-dex-entry { position: relative; min-width: 0; padding: 7px 4px; text-align: center; background: #fff; border: 2px solid #c4cdd5; border-radius: 14px; transition: transform .14s ease, box-shadow .14s ease; }
.pkmn-dex-entry:hover { transform: translateY(-3px); box-shadow: 0 6px 0 rgba(185,79,112,.10); }
.pkmn-dex-entry img { display: block; width: 78px; max-width: 100%; margin: auto; image-rendering: pixelated; }
.pkmn-dex-entry strong { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: 9px; }
.pkmn-dex-entry__no { position: absolute; top: 4px; left: 5px; font: 6px var(--pkmn-ui); color: #657585; }
.pkmn-dex-entry.is-missing { filter: grayscale(1); opacity: .42; }
.pkmn-dex-entry.is-caught { border-color: #e7a6c5; background: linear-gradient(145deg, #fff9fc, var(--pkmn-lavender-soft)); }

.pkmn-card-list { display: grid; gap: 12px; padding: 18px; }
.pkmn-hunt-card, .pkmn-save-card { display: grid; grid-template-columns: auto 1fr; gap: 18px; padding: 15px; background: #fff; border: 3px solid var(--pkmn-navy); border-radius: 18px; background: linear-gradient(145deg, #fff, #fff8fc); }
.pkmn-save-card { grid-template-columns: 1fr; }
.pkmn-hunt-card h2, .pkmn-save-card h2, .pkmn-record h2, .pkmn-collection-item h2 { margin: 7px 0; font: 12px/1.5 var(--pkmn-ui); }
.pkmn-badge { display: inline-block; padding: 5px 7px; border-radius: 999px; background: linear-gradient(90deg, var(--pkmn-red), #c98ac5); color: #fff; font: 6px var(--pkmn-ui); }
.pkmn-team { display: grid; grid-template-columns: repeat(6, 1fr); gap: 6px; }
.pkmn-team div { padding: 6px; text-align: center; background: linear-gradient(#fff, var(--pkmn-lavender-soft)); border: 2px solid #c9bfd6; border-radius: 14px; }
.pkmn-team img { display: block; width: 76px; max-width: 100%; margin: auto; image-rendering: pixelated; }
.pkmn-team span { font-size: 9px; font-weight: 700; }

.pkmn-record-grid, .pkmn-collection-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; padding: 18px; }
.pkmn-record, .pkmn-collection-item { padding: 14px; background: #fff; border: 3px solid var(--pkmn-navy); border-radius: 18px; background: linear-gradient(145deg, #fff, #fff9fc); }
.pkmn-record > span { font: 7px var(--pkmn-ui); color: var(--pkmn-red-dark); }
.pkmn-record img, .pkmn-collection-item img { width: 100%; max-height: 220px; object-fit: contain; border-radius: 7px; background: var(--pkmn-cream); }
.pkmn-collection-item.is-featured { box-shadow: inset 0 0 0 4px var(--pkmn-yellow); }

.pkmn-trainer-card { margin: 20px; overflow: hidden; border: 5px solid var(--pkmn-navy); border-radius: 24px; background: linear-gradient(145deg, #f8c7dc, #f7dfef 30%, #fcebc6 56%, #ccebf5); box-shadow: inset 0 0 0 4px rgba(255,255,255,.7); }
.pkmn-trainer-card__top { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 22px; padding: 24px; }
.pkmn-trainer-card__top dl { display: grid; gap: 8px; }
.pkmn-trainer-card__top dl div { padding: 9px 14px; background: rgba(255,255,255,.75); border: 2px solid var(--pkmn-navy); border-radius: 14px; }
.pkmn-trainer-card__top dt { font: 6px var(--pkmn-ui); }
.pkmn-trainer-card__top dd { margin: 5px 0 0; font: 14px var(--pkmn-ui); }
.pkmn-trainer-card__lists { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 4px solid var(--pkmn-navy); background: rgba(255,255,255,.55); }
.pkmn-trainer-card__lists article { padding: 15px; border-right: 2px solid rgba(23,47,77,.25); }
.pkmn-trainer-card__lists article:last-child { border-right: 0; }
.pkmn-trainer-card__lists h3 { margin: 0 0 6px; font: 7px var(--pkmn-ui); }

.pkmn-empty { min-height: 260px; display: grid; place-items: center; align-content: center; gap: 12px; margin: 18px; text-align: center; background: var(--pkmn-cream); border: 3px dashed #97a8b7; border-radius: 20px; color: #66798a; }
.pkmn-empty strong { color: var(--pkmn-navy); font: 10px var(--pkmn-ui); }

[hidden] { display: none !important; }

@media (max-width: 900px) {
  .pkmn-menu { align-items: flex-start; flex-direction: column; }
  .pkmn-menu__links { justify-content: flex-start; }
  .pkmn-home-grid { grid-template-columns: 1fr; }
  .pkmn-command-grid { grid-template-columns: repeat(2, 1fr); }
  .pkmn-party-strip { grid-template-columns: repeat(4, 1fr); }
  .pkmn-pc-grid { grid-template-columns: repeat(4, 1fr); }
  .pkmn-dex-grid { grid-template-columns: repeat(6, 1fr); }
  .pkmn-record-grid, .pkmn-collection-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 620px) {
  .poke-v2 { width: min(100% - 12px, 1180px); padding-top: 10px; }
  .pkmn-titlebar { padding: 15px; }
  .pkmn-titlebar h1 { font-size: 13px; }
  .pkmn-continue { margin: 10px; }
  .pkmn-continue__main { grid-template-columns: 1fr; }
  .pkmn-trainer-emblem { width: 116px; }
  .pkmn-save-stats { grid-template-columns: repeat(3, 1fr); width: 100%; }
  .pkmn-save-stats div { min-width: 0; padding: 7px; }
  .pkmn-home-grid, .pkmn-command-grid { margin-left: 10px; margin-right: 10px; }
  .pkmn-command-grid { grid-template-columns: 1fr 1fr; }
  .pkmn-latest__body { grid-template-columns: 110px 1fr; padding: 10px; }
  .pkmn-sprite-stage { min-height: 105px; }
  .pkmn-sprite-stage img { width: 100px; }
  .pkmn-party-strip { grid-template-columns: repeat(2, 1fr); }
  .pkmn-pc-toolbar { align-items: stretch; flex-direction: column; }
  .pkmn-pc-toolbar label { align-items: stretch; flex-direction: column; }
  .pkmn-pc-toolbar input { width: 100%; }
  .pkmn-pc-grid { grid-template-columns: repeat(3, 1fr); padding: 7px; }
  .pkmn-pc-slot { min-height: 112px; }
  .pkmn-dex-grid { grid-template-columns: repeat(4, 1fr); padding: 9px; }
  .pkmn-summary[open] { grid-template-columns: 1fr; }
  .pkmn-summary__sprite { min-height: 210px; border-right: 0; border-bottom: 5px solid var(--pkmn-navy); }
  .pkmn-summary__sprite img { width: 160px; }
  .pkmn-summary__info dl { grid-template-columns: 1fr; }
  .pkmn-hunt-card { grid-template-columns: 90px 1fr; }
  .pkmn-record-grid, .pkmn-collection-grid { grid-template-columns: 1fr; }
  .pkmn-team { grid-template-columns: repeat(3, 1fr); }
  .pkmn-trainer-card__top { grid-template-columns: 1fr; }
  .pkmn-trainer-card__lists { grid-template-columns: 1fr 1fr; }
  .pkmn-controls { flex-wrap: wrap; justify-content: flex-start; }
}


/* ---------------------------------------------------------
   CUTE PASS — sweeter trainer-diary details, same game UI
   --------------------------------------------------------- */
.pkmn-menu__brand .pkmn-ball {
  background: linear-gradient(#ef8eb0 0 44%, var(--pkmn-navy) 44% 56%, #fff 56%);
}

.pkmn-menu__brand::after {
  content: "♡";
  color: #ffd6e8;
  font: 13px/1 var(--pkmn-ui);
  transform: translateY(-1px);
}

.pkmn-titlebar { position: relative; }
.pkmn-titlebar::after {
  content: "♡  ✦  ♡";
  position: absolute;
  right: 56px;
  bottom: 10px;
  color: #ffe7f1;
  font: 8px/1 var(--pkmn-ui);
  letter-spacing: .05em;
  opacity: .95;
}

.pkmn-status-light {
  background: #ffd5e7;
  box-shadow: 0 0 0 3px #0b1e31, 0 0 18px #ffd5e7;
}

.pkmn-trainer-emblem { position: relative; }
.pkmn-trainer-emblem::before,
.pkmn-trainer-emblem::after {
  position: absolute;
  color: var(--pkmn-red-dark);
  font-family: var(--pkmn-ui);
  pointer-events: none;
}
.pkmn-trainer-emblem::before { content: "♡"; top: 7px; right: 12px; font-size: 13px; }
.pkmn-trainer-emblem::after { content: "✦"; bottom: 10px; left: 13px; font-size: 10px; color: #8771ae; }

.pkmn-panel__head::after {
  content: "♡";
  margin-left: 8px;
  color: #ffd9e8;
  font-size: 9px;
}

.pkmn-command-grid a:nth-child(4n + 1) { background: linear-gradient(145deg, #fff, var(--pkmn-pink-soft)); }
.pkmn-command-grid a:nth-child(4n + 2) { background: linear-gradient(145deg, #fff, var(--pkmn-lavender-soft)); }
.pkmn-command-grid a:nth-child(4n + 3) { background: linear-gradient(145deg, #fff, #eef9f5); }
.pkmn-command-grid a:nth-child(4n) { background: linear-gradient(145deg, #fff, #fff9e8); }

.pkmn-command-grid a::after {
  content: "✦";
  position: absolute;
  top: 10px;
  right: 11px;
  color: #d99bbb;
  font-size: 12px;
  opacity: .6;
}
.pkmn-command-grid a { position: relative; }
.pkmn-command-grid a:nth-child(even)::after { content: "♡"; color: #9682bb; }

.pkmn-pc-grid {
  background-image:
    radial-gradient(rgba(255,255,255,.78) 1.5px, transparent 1.5px),
    radial-gradient(rgba(234,113,143,.12) 1px, transparent 1px);
  background-position: 0 0, 6px 6px;
  background-size: 14px 14px;
}

.pkmn-pc-slot::after {
  content: "✦";
  position: absolute;
  right: 7px;
  top: 6px;
  color: #d89ab9;
  font-size: 10px;
  opacity: .55;
}
.pkmn-pc-slot:hover::after { content: "♡"; opacity: 1; }

.pkmn-dex-entry.is-caught::after {
  content: "✦";
  position: absolute;
  right: 5px;
  top: 4px;
  color: var(--pkmn-red);
  font-size: 9px;
}

.pkmn-badge {
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.28);
}

.pkmn-trainer-card__lists article:nth-child(1) { background: rgba(255,235,244,.42); }
.pkmn-trainer-card__lists article:nth-child(2) { background: rgba(242,235,255,.42); }
.pkmn-trainer-card__lists article:nth-child(3) { background: rgba(233,248,242,.42); }
.pkmn-trainer-card__lists article:nth-child(4) { background: rgba(255,248,226,.42); }

.pkmn-text-link::before { content: "♡ "; color: var(--pkmn-red); }

@media (prefers-reduced-motion: no-preference) {
  .pkmn-command-grid a:hover .pkmn-command-icon,
  .pkmn-pc-slot:hover img,
  .pkmn-party-strip a:hover img {
    animation: pkmn-cute-bob .38s ease-in-out;
  }
  @keyframes pkmn-cute-bob {
    0%, 100% { transform: translateY(0) rotate(0); }
    45% { transform: translateY(-5px) rotate(-3deg); }
    70% { transform: translateY(-2px) rotate(2deg); }
  }
}

@media (max-width: 620px) {
  .pkmn-titlebar::after { display: none; }
}


/* Collection v2.2.2 — grouped storage, no repeated labels */
.pkmn-collection-sections { padding: 18px; display: grid; gap: 22px; }
.pkmn-collection-section { display: grid; gap: 10px; }
.pkmn-collection-section__header {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 9px 12px; border: 3px solid var(--pkmn-navy); border-radius: 16px;
  background: linear-gradient(90deg, var(--pkmn-pink-soft), #fff7fb);
  box-shadow: 0 3px 0 rgba(31, 45, 72, .12);
}
.pkmn-collection-section__header h2 { margin: 0; font: 11px/1.4 var(--pkmn-ui); }
.pkmn-collection-section__header span {
  min-width: 30px; padding: 4px 8px; text-align: center; border: 2px solid var(--pkmn-navy);
  border-radius: 999px; background: #fff; font: 9px/1 var(--pkmn-ui);
}
.pkmn-collection-section .pkmn-collection-grid { padding: 0; }
.pkmn-collection-item h3 { margin: 10px 0 7px; font: 12px/1.45 var(--pkmn-ui); }
.pkmn-collection-meta { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.pkmn-collection-meta span {
  display: inline-flex; align-items: center; min-height: 25px; padding: 4px 8px;
  border: 2px solid var(--pkmn-navy); border-radius: 999px; background: var(--pkmn-cream);
  font: 8px/1.2 var(--pkmn-ui);
}

/* ---------------------------------------------------------
   PERSONAL CONTENT PASS — favourites + richer trainer data
   --------------------------------------------------------- */
.pkmn-filter-row--dex { flex-wrap: wrap; }
.pkmn-filter-row--dex button[data-dex-filter="pink"] { background: #fff0f7; }
.pkmn-filter-row--dex button[data-dex-filter="cute"] { background: #f3edff; }
.pkmn-filter-row--dex button[data-dex-filter="goth"] { background: #eef0f8; }
.pkmn-filter-row--dex button[data-dex-filter="frog"] { background: #eef9f5; }
.pkmn-filter-row--dex button.is-active { background: linear-gradient(90deg, var(--pkmn-red), #c98ac5); color: #fff; }

.pkmn-fave-group { min-width: 0; }
.pkmn-fave-group__head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.pkmn-fave-group__head strong { display: grid; place-items: center; min-width: 27px; height: 27px; padding: 0 5px; border: 2px solid var(--pkmn-navy); border-radius: 999px; background: #fff; font: 7px var(--pkmn-ui); }
.pkmn-fave-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 5px; margin: 10px 0 9px; }
.pkmn-fave-chip { display: grid; place-items: center; aspect-ratio: 1; min-width: 0; border: 2px solid rgba(23,47,77,.24); border-radius: 12px; background: rgba(255,255,255,.82); overflow: hidden; }
.pkmn-fave-chip img { width: 100%; max-width: 58px; image-rendering: pixelated; transition: transform .16s ease; }
.pkmn-fave-chip:hover img { transform: translateY(-3px) rotate(-3deg); }
.pkmn-fave-link { display: inline-block; font: 6px/1.5 var(--pkmn-ui); text-decoration: none; color: var(--pkmn-red-dark); }
.pkmn-fave-link:hover { text-decoration: underline; }

.pkmn-record img { display: block; width: 120px; height: 120px; max-height: none; margin: 4px auto 10px; object-fit: contain; image-rendering: pixelated; background: radial-gradient(circle, #fff 0 40%, var(--pkmn-pink-soft) 41% 66%, var(--pkmn-lavender-soft) 67%); border: 2px solid rgba(23,47,77,.18); border-radius: 50%; }

@media (max-width: 620px) {
  .pkmn-fave-strip { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .pkmn-filter-row--dex button { flex: 1 1 auto; }
}
