/* Fanstation Websoccer player cards. All selectors are scoped to the card. */
.fanstationPlayerCard[data-fanstation-player-card] {
    box-sizing: border-box;
    display: inline-block;
    width: 320px;
    max-width: 100%;
    margin: 16px 8px;
    padding: 14px 18px 16px;
    overflow: hidden;
    vertical-align: top;
    color: #392d16;
    background: linear-gradient(145deg, #f8efcf 0%, #d2b568 28%, #f8e7ae 56%, #ad873a 100%);
    border: 2px solid #c6a45d;
    border-radius: 28px 28px 38px 38px;
    box-shadow: inset 0 0 0 3px #f8eac1, 0 8px 22px #0003;
    font-family: inherit;
    line-height: 1.35;
    text-align: center;
}
/* WoltLab resets first/last-child margins with !important, including the preview. */
.fanstationPlayerCard[data-fanstation-player-card]:is(:first-child, :last-child) {
    margin-block: 16px !important;
}
.fanstationPlayerCardHero { position: relative; height: 205px; }
.fanstationPlayerCardRating { position: absolute; left: 4px; top: 2px; z-index: 2; display: grid; min-width: 66px; }
.fanstationPlayerCardRating strong { font-size: 52px; font-weight: 800; line-height: 1; letter-spacing: -3px; }
.fanstationPlayerCardRating span { margin-top: 7px; font-size: 19px; font-weight: 700; }
.fanstationPlayerCardBadges { position: absolute; left: 8px; top: 105px; z-index: 2; display: grid; gap: 14px; width: 52px; justify-items: center; }
.fanstationPlayerCardBadges img { display: block; max-width: 52px; max-height: 56px; object-fit: contain; }
.fanstationPlayerCard[data-fanstation-player-card] img[hidden] { display: none; }
.fanstationPlayerCardPortrait { position: absolute; inset: 16px 0 0 100px; overflow: hidden; }
.fanstationPlayerCardPortrait img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; object-position: center bottom; }
.fanstationPlayerCardDetails { position: relative; }
.fanstationPlayerCardWatermark { position: absolute; left: 50%; top: 55%; width: 350px; max-width: none; z-index: 1; transform: translate(-50%, -50%) rotate(-42deg); color: #392d1612; font-size: 39px; font-weight: 800; letter-spacing: 5px; text-align: center; white-space: nowrap; pointer-events: none; user-select: none; }
.fanstationPlayerCardSilhouette { position: absolute; inset: 0; }
.fanstationPlayerCardSilhouette img { object-fit: contain; }
.fanstationPlayerCardPortrait[data-fanstation-portrait-loaded] .fanstationPlayerCardSilhouette { display: none; }
.fanstationPlayerCard[data-fanstation-player-card] .fanstationPlayerCardName { margin: 0; padding: 10px 0 2px; border-top: 1px solid #73582060; font-size: 23px; font-weight: 800; letter-spacing: 0.2px; text-transform: uppercase; overflow-wrap: anywhere; }
.fanstationPlayerCard[data-fanstation-player-card] .fanstationPlayerCardClub { margin: 0 0 12px; font-size: 12px; font-weight: 600; }
.fanstationPlayerCard[data-fanstation-player-card] .fanstationPlayerCardStats { display: grid; grid-template-columns: 1fr 1fr; gap: 9px 14px; margin: 0; padding: 12px 0; border-block: 1px solid #73582060; }
.fanstationPlayerCard[data-fanstation-player-card] .fanstationPlayerCardStats > div { display: grid; grid-template-columns: 42px minmax(0, 1fr); align-items: baseline; gap: 6px; }
.fanstationPlayerCard[data-fanstation-player-card] .fanstationPlayerCardStats dt { grid-column: 2; grid-row: 1; margin: 0; font-size: 11px; text-align: left; overflow-wrap: anywhere; }
.fanstationPlayerCard[data-fanstation-player-card] .fanstationPlayerCardStats dd { grid-column: 1; grid-row: 1; margin: 0; font-size: 23px; font-weight: 800; font-variant-numeric: tabular-nums; text-align: right; }
.fanstationPlayerCard[data-fanstation-player-card] .fanstationPlayerCardIdentity { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 12px; margin: 10px 0; font-size: 11px; }
.fanstationPlayerCard[data-fanstation-player-card] .fanstationPlayerCardMarket { display: grid; gap: 3px; margin: 10px 0; }
.fanstationPlayerCardMarket span { font-size: 11px; text-transform: uppercase; letter-spacing: 1px; }
.fanstationPlayerCardMarket strong { font-size: 20px; font-weight: 800; }
.fanstationPlayerCard[data-fanstation-player-card] .fanstationPlayerCardLink { margin: 10px 0 6px; font-size: 12px; }
.fanstationPlayerCardLink a { color: #392d16; font-weight: 700; text-decoration: underline; }
.fanstationPlayerCardLink a:focus-visible { outline: 2px solid #392d16; outline-offset: 3px; }
@media (max-width: 420px) {
    .fanstationPlayerCard[data-fanstation-player-card] { margin-inline: 0; padding-inline: 12px; }
    .fanstationPlayerCardRating strong { font-size: 48px; }
    .fanstationPlayerCard[data-fanstation-player-card] .fanstationPlayerCardStats { gap: 8px; }
}

/* Saved roster offers and the editor's per-player selection. */
