.trainer-xp-gain, .j-result .trainer-xp-gain { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; margin: 14px 0 18px; color: #45665d; font-size: 12px; line-height: 1.5; }
.trainer-xp-gain strong { color: #29614d; font-size: 15px; font-weight: 800; font-variant-numeric: tabular-nums; }
.trainer-xp-emblem { display: inline-flex; width: 18px; height: 21px; margin-right: 2px; color: #9b7a37; }
.trainer-xp-emblem svg { width: 100%; height: 100%; }
.trainer-xp-expedition { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 18px 0; padding: 14px 17px; border: 1px solid #d2e1dc; border-radius: 10px; background: #f3f8f5; color: #486859; text-align: left; }
.trainer-xp-expedition > span { font-size: 12px; font-weight: 650; }
.trainer-xp-expedition strong { color: #2d5d48; font-size: 23px; font-weight: 800; line-height: 1.2; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.trainer-xp-expedition small { font-size: 12px; font-weight: 700; }
.j-ending .trainer-xp-expedition { max-width: 430px; margin: 22px auto; }
.defeat-body > .trainer-xp-expedition { margin-top: 14px; }
.trainer-xp-abandon > h2 { padding-right: 24px; }
#toast.trainer-level-toast { display: flex; align-items: center; gap: 12px; top: 96px; bottom: auto; width: max-content; max-width: min(370px, calc(100vw - 28px)); padding: 16px 20px; border: 1px solid #cfbd78; border-radius: 13px; background: #173f4d; color: #fff9e8; box-shadow: 0 9px 30px #132c3d30; text-align: left; }
#toast.trainer-level-toast.visible { animation: trainer-rank-arrival .45s ease-out both; }
.trainer-toast-emblem { display: flex; flex-shrink: 0; width: 31px; height: 36px; color: #f5d48a; }
.trainer-toast-emblem svg { width: 100%; height: 100%; }
.trainer-toast-copy { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.trainer-toast-copy > strong { color: #fff5d4; font-size: 15px; font-weight: 800; }
.trainer-toast-copy > span { color: #c8e1df; font-size: 12px; line-height: 1.4; overflow-wrap: anywhere; }
@keyframes trainer-rank-arrival { from { opacity: 0; translate: 0 -8px; scale: .97; } to { opacity: 1; translate: 0 0; scale: 1; } }
@media (max-width: 600px) { #toast.trainer-level-toast { top: 120px; padding: 14px 16px; } .trainer-xp-expedition { padding: 13px 14px; } .trainer-xp-expedition strong { font-size: 21px; } }
@media (prefers-reduced-motion: reduce) { #toast.trainer-level-toast, #toast.trainer-level-toast.visible { animation: none; transition: none; } }
