.trainer-profile-dialog { width: min(680px, calc(100% - 28px)); }
.trainer-profile { margin: 20px 0; padding: 21px; border: 1px solid #d7e4e8; border-radius: 13px; background: linear-gradient(150deg,#f1f8f7,#f8fafd 70%); }
.tp-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.tp-heading .eyebrow { color: #547b79; font-size: 9px; letter-spacing: 1.3px; }
.tp-heading h3 { margin: 6px 0 0; color: #294c61; font-size: 20px; letter-spacing: -.4px; }
.tp-pending { display: block; width: 7px; height: 7px; flex-shrink: 0; border-radius: 50%; background: #c99a40; }
.tp-record { display: flex; flex-direction: column; gap: 8px; margin-top: 21px; }
.tp-record > strong { color: #2f7064; font-size: 29px; font-weight: 850; line-height: 1.1; letter-spacing: -.6px; }
.tp-record strong small { color: #6b8696; font-size: 14px; font-weight: 650; }
.tp-record > span { color: #567185; font-size: 12px; line-height: 1.5; }
.tp-record progress { appearance: none; width: 100%; height: 5px; margin-top: 3px; border: 0; border-radius: 8px; background: #dae7e7; overflow: hidden; }
.tp-record progress::-webkit-progress-bar { background: #dae7e7; }
.tp-record progress::-webkit-progress-value { background: #4b998b; border-radius: 8px; }
.tp-record progress::-moz-progress-bar { background: #4b998b; border-radius: 8px; }
.tp-metrics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin: 19px 0; padding-bottom: 18px; border-bottom: 1px solid #dce6eb; }
.tp-metrics > div { display: flex; flex-direction: column; gap: 5px; }
.tp-metrics dt { color: #6b8295; font-size: 10px; }
.tp-metrics dd { margin: 0; color: #34566d; font-size: 19px; font-weight: 800; }
.trainer-profile > h4 { margin: 0 0 12px; color: #3d5c72; font-size: 12px; }
.tp-team { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; }
.tp-pokemon { display: flex; flex-direction: column; align-items: center; margin: 0; min-width: 0; padding: 9px 7px 11px; border: 1px solid #dce6ed; border-radius: 9px; background: #ffffffb0; text-align: center; }
.tp-pokemon > .sprite, .tp-unknown { width: 68px; height: 68px; object-fit: contain; }
.tp-unknown { display: grid; place-items: center; color: #708999; font-size: 32px; }
.tp-pokemon figcaption { display: flex; flex-direction: column; gap: 5px; width: 100%; }
.tp-pokemon strong { color: #31556d; font-size: 12px; overflow-wrap: anywhere; }
.tp-pokemon small { color: #6c8497; font-size: 10px; }
.tp-empty { color: #687f91; font-size: 13px; line-height: 1.6; margin: 17px 0 0; }
.tp-team > .tp-empty { grid-column: 1 / -1; margin: 0; }
.tp-error { display: flex; align-items: center; gap: 12px; margin-top: 16px; padding-top: 13px; border-top: 1px solid #e4d9c7; color: #936c30; font-size: 11px; line-height: 1.6; }
.tp-error > span { flex: 1; }
.tp-retry { padding: 6px 9px; min-height: 32px; border: 1px solid #d8c29a; border-radius: 6px; background: #fff9ed; color: #926626; font-size: 11px; font-weight: 700; }
.player-profile-screen .game-context { display: none; }
@media(max-width:780px) { .player-profile-screen .pp-character-panel { order: initial; } }
@media(max-width:600px) {
  .trainer-profile { padding: 17px 14px; }
  .tp-heading h3 { font-size: 18px; }
  .tp-team { gap: 7px; }
  .tp-pokemon { padding-inline: 5px; }
  .tp-pokemon > .sprite, .tp-unknown { width: 59px; height: 59px; }
  .tp-pokemon strong { font-size: 11px; }
}
