.player-hub-wrap{max-width:1100px;margin:0 auto;padding:24px 15px 50px;font-family:Arial,sans-serif}.player-main-card,.player-section{border:1px solid #ddd;background:#fff}.player-main-card{margin-bottom:18px}.player-title-bar{background:linear-gradient(to right,#efefef,#fff);padding:12px 14px;border-bottom:1px solid #ddd}.player-title-main{margin:0;font-size:26px;color:#002b5c;font-weight:800;line-height:1.15}.player-title-main span{font-weight:400;color:#333}.player-flag{display:inline-block!important;width:22px!important;height:15px!important;max-width:22px!important;max-height:15px!important;object-fit:contain!important;margin:0 6px 0 0!important;padding:0!important;border:0!important;vertical-align:-2px!important}.player-en-name-line{margin-top:3px;font-size:15px;color:#555;font-weight:500}.player-title-club-row{margin-top:10px;display:inline-block;background:#f7f9fc;border:1px solid #e2e7ef;border-radius:8px;padding:8px 10px}.player-current-profile{display:grid;grid-template-columns:54px 1fr;gap:9px;align-items:center;max-width:420px}.player-current-logo-wrap{width:54px;height:54px;display:flex;align-items:center;justify-content:center}.player-current-club-logo-big{width:54px;height:54px;object-fit:contain}.player-current-club-name{font-size:15px;font-weight:800;line-height:1.15;color:#0070b8;margin-bottom:4px}.player-current-club-name a{color:#0070b8;text-decoration:none}.player-current-league-line{display:flex;align-items:center;gap:4px;font-size:12px;line-height:1.2;white-space:nowrap;color:#0066b3}.player-current-league-line a{color:#0066b3;text-decoration:none}.player-current-league-country,.league-country-img{width:14px;height:14px;object-fit:contain}.league-name-mobile{display:none}.player-info-area{display:grid;grid-template-columns:170px minmax(260px,1fr) minmax(320px,390px);gap:18px;padding:14px;align-items:stretch}.player-photo-box{width:170px}.player-photo,.player-no-photo{width:170px;height:170px;border:1px solid #ddd;background:#eee}.player-photo{object-fit:cover;object-position:center}.player-no-photo{display:flex;align-items:center;justify-content:center;color:#777;font-size:13px}.player-meta-list{display:flex;flex-direction:column;gap:7px;font-size:14px}.player-meta-list div{border-bottom:1px solid #eee;padding-bottom:7px}.player-meta-list strong{color:#111}.player-nationality-row{display:flex;align-items:center;gap:4px}.player-nationality-value{display:inline-flex;align-items:center;gap:3px}.player-section{margin-top:24px}.player-section-title{background:#002b5c;color:#fff;font-size:17px;font-weight:800;padding:8px 10px;text-transform:uppercase}.empty-box{padding:16px;color:#777;font-size:14px}.official-card{display:flex;flex-direction:column;padding:14px;border-bottom:1px solid #eee}.official-card:last-child{border-bottom:none}.official-media{width:100%;margin-bottom:12px}.official-thumb{width:100%;aspect-ratio:16/9;height:auto;display:block;object-fit:cover;object-position:center;background:#f2f2f2;border-radius:8px}.official-transfer-main{display:flex;align-items:center;flex-wrap:wrap;gap:12px;font-size:16px;font-weight:800;color:#111;line-height:1.35}.official-transfer-arrow,.transfer-mobile-arrow{color:#777;flex-shrink:0}.official-club-profile{display:grid;grid-template-columns:42px 1fr;gap:7px;align-items:center}.official-club-logo-wrap{width:42px;height:42px;display:flex;align-items:center;justify-content:center}.official-club-logo-big{width:42px;height:42px;object-fit:contain}.official-club-profile-info{display:flex;flex-direction:column;gap:3px;min-width:0}.official-club-profile-name{font-size:14px;font-weight:800;color:#111;line-height:1.15}.official-club-profile-league{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:500;color:#0066b3;line-height:1.2;margin-top:2px;white-space:nowrap}.official-club-profile-league a{color:#0066b3;text-decoration:none}.mobile-only{display:none}.desktop-only{display:inline}.official-transfer-sub{margin-top:7px;font-size:13px;color:#555}.transfer-meta-highlight,.transfer-meta-line-main,.transfer-meta-line-money{font-weight:800;color:#0070b8}.transfer-money-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:3px}.transfer-money-badge{display:inline-flex;align-items:center;padding:3px 7px;border-radius:999px;font-size:11px;font-weight:800;line-height:1.2}.transfer-money-mv{background:#eaf2ff;color:#1d4ed8}.transfer-money-fee{background:#ecfdf3;color:#15803d}.transfer-mobile-list{display:block}.transfer-mobile-card{display:grid;grid-template-columns:70px 1fr;gap:12px;padding:12px 14px;border-bottom:1px solid #eee;align-items:center}.transfer-mobile-card:last-child{border-bottom:none}.transfer-history-thumb,.transfer-history-thumb-placeholder{width:60px;height:60px;border-radius:6px;background:#f5f5f5}.transfer-history-thumb{object-fit:cover;object-position:center}.transfer-mobile-main{display:flex;align-items:center;gap:12px;font-size:15px;font-weight:800;color:#111;overflow:visible}.transfer-history-club-row{flex-wrap:wrap}.transfer-mobile-meta{margin-top:6px;font-size:13px;line-height:1.45;color:#0066b3;font-weight:700}.news-list{display:flex;flex-direction:column}.news-item{display:grid;grid-template-columns:90px 1fr;gap:12px;padding:13px 14px;border-bottom:1px solid #eee;align-items:start}.news-item:last-child{border-bottom:none}.news-thumb,.news-thumb-empty{width:90px;height:64px;background:#eee;border-radius:4px}.news-thumb{object-fit:cover;object-position:center}.news-body{min-width:0}.news-body a{font-size:16px;font-weight:800;color:#111;text-decoration:none;line-height:1.35}.news-content{margin-top:6px;color:#444;font-size:14px;line-height:1.45}.news-meta{margin-top:5px;color:#777;font-size:12px}.player-gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:14px}.player-gallery-item img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center;display:block;border-radius:6px;background:#eee}.transfer-index-list{display:flex;flex-direction:column}.transfer-index-card{display:grid;grid-template-columns:86px 1fr;gap:18px;align-items:start;padding:14px;border-bottom:1px solid #eee}.transfer-index-card:last-child{border-bottom:none}.transfer-index-left{width:76px;text-align:center}.transfer-index-logo-wrap{width:62px;height:62px;margin:0 auto;display:flex;align-items:center;justify-content:center;background:#f7f9fc;border:1px solid #e7ecf3;border-radius:10px}.transfer-index-logo{max-width:52px;max-height:52px;object-fit:contain}.transfer-index-logo-empty{font-size:12px;color:#777;text-align:center}.transfer-index-club{font-size:15px;font-weight:900;color:#111;margin-bottom:8px}.transfer-index-club-count{font-size:12px;font-weight:800;color:#64748b}.transfer-index-count{display:none}.transfer-index-bars{display:flex;flex-direction:column;gap:5px}.transfer-index-bar-row{display:grid;grid-template-columns:62px 1fr 26px;gap:7px;align-items:center;font-size:11px;color:#555}.transfer-index-source{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.transfer-index-bar-bg{display:block;height:8px;background:#eef1f5;border-radius:999px;overflow:hidden;position:relative}.transfer-index-bar-fill{display:block;height:100%;background:#0070b8;border-radius:999px;min-width:0}.transfer-index-score-under{margin-top:7px;text-align:center;font-size:29px;font-weight:900;line-height:1}.score-color-low{color:#6b7280}.score-color-midlow{color:#d97706}.score-color-mid{color:#ea580c}.score-color-high{color:#16a34a}.score-color-top{color:#0f4c81}.transfer-index-note{padding:10px 14px;color:#666;font-size:12px;border-top:1px solid #eee;background:#fafafa}.recent-connected-clubs-body{padding:14px;background:#fff}.recent-connected-clubs{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.recent-connected-club-link{display:inline-flex;width:54px;height:54px;align-items:center;justify-content:center;border:1px solid #dbe3ed;border-radius:10px;background:#f8fafc;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.recent-connected-club-link:hover{transform:translateY(-1px);background:#fff;box-shadow:0 4px 11px rgba(15,23,42,.13)}.recent-connected-club-logo{display:block;max-width:40px;max-height:40px;width:auto;height:auto;object-fit:contain}.player-ad-section{border:none;background:transparent;margin-top:24px}.player-ad-box{padding:14px 0;text-align:center;overflow:hidden}@media(max-width:768px){.recent-connected-clubs-body{padding:12px}.recent-connected-clubs{gap:9px}.recent-connected-club-link{width:48px;height:48px;border-radius:9px}.recent-connected-club-logo{max-width:35px;max-height:35px}.desktop-only,.league-name-desktop{display:none}.mobile-only,.league-name-mobile{display:inline}.player-title-main{font-size:20px}.player-en-name-line{font-size:12px}.player-title-club-row{margin-top:8px;display:block;padding:7px 8px}.player-current-profile{grid-template-columns:44px 1fr;gap:7px;max-width:100%}.player-current-logo-wrap,.player-current-club-logo-big{width:44px;height:44px}.player-current-club-name{font-size:12px}.player-current-league-line{font-size:10px}.player-current-league-country{width:11px;height:11px}.player-info-area{grid-template-columns:130px 1fr;gap:12px}.player-photo-box{width:130px}.player-photo,.player-no-photo{width:130px;height:130px}.player-meta-list{font-size:13px}.official-card{padding:12px}.official-transfer-main{font-size:14px;gap:8px}.official-club-profile{grid-template-columns:36px 1fr;gap:6px}.official-club-logo-wrap,.official-club-logo-big{width:36px;height:36px}.official-club-profile-name{font-size:12px}.official-club-profile-league{font-size:10px}.transfer-mobile-card{grid-template-columns:62px 1fr;gap:10px}.transfer-history-thumb,.transfer-history-thumb-placeholder{width:54px;height:54px}.transfer-mobile-main{font-size:14px;gap:8px}.transfer-mobile-meta{font-size:12px}.news-item{grid-template-columns:78px 1fr;gap:10px}.news-thumb,.news-thumb-empty{width:78px;height:58px}.player-gallery-grid{grid-template-columns:repeat(2,1fr);gap:8px;padding:12px}.transfer-index-card{grid-template-columns:62px 1fr;gap:10px}.transfer-index-left{width:54px}.transfer-index-logo-wrap{width:48px;height:48px}.transfer-index-logo{max-width:40px;max-height:40px}.transfer-index-score-under{font-size:21px;margin-top:6px}.transfer-index-bar-row{grid-template-columns:56px 1fr 22px}}

/* 이적 히스토리 클럽명 세로 깨짐 방지 */
.official-club-profile{min-width:150px;grid-template-columns:42px minmax(95px,1fr)}
.official-club-profile-name{word-break:keep-all;overflow-wrap:normal;white-space:normal}
.transfer-history-club-row{align-items:center;gap:10px;flex-wrap:wrap}
.transfer-history-club-row .official-club-profile{min-width:165px;max-width:260px}
@media(max-width:768px){
  .official-club-profile{min-width:92px;grid-template-columns:36px minmax(52px,1fr)}
  .transfer-history-club-row{gap:6px;flex-wrap:nowrap}
  .transfer-history-club-row .official-club-profile{min-width:86px;max-width:118px}
  .official-club-profile-name{font-size:11px;line-height:1.2;word-break:keep-all;overflow-wrap:normal}
}

.player-title-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;width:100%}.player-title-name-block{min-width:0;flex:1 1 auto}.player-title-club-row.player-title-club-desktop{margin-top:0;flex:0 0 auto;margin-left:auto}.player-title-club-mobile{display:none}.player-current-contract-line{font-size:11px;line-height:1.2;color:#555;margin-top:3px;font-weight:700}.player-current-contract-label{color:#333;margin-right:3px}@media(max-width:768px){.player-title-top{display:block}.player-title-club-desktop{display:none!important}.player-title-club-mobile{display:block}.player-current-contract-line{font-size:10px}}


/* 선수허브 FTN 이적 전망 - Live Update와 동일한 초컴팩트 디자인 */
.player-section.player-transfer-probability-section{margin-top:0;border:0;background:#fff}
.player-transfer-probability-section .player-section-title{display:none!important}
.transfer-index-list.transfer-probability-list{display:flex;flex-direction:column;background:#fff;margin:0;padding:8px 12px 10px;border-top:1px solid #e5e7eb;border-radius:0;box-shadow:none}
.transfer-probability-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:7px}
.transfer-probability-title{font-size:13px;font-weight:900;line-height:1.15;color:#111827;letter-spacing:-.02em}
.transfer-probability-summary{flex:0 0 auto;text-align:right;min-width:66px}
.transfer-probability-summary strong{display:block;font-size:20px;font-weight:950;line-height:.95;color:#111827;letter-spacing:-.045em}
.transfer-probability-summary span{display:block;margin-top:3px;font-size:9px;font-weight:800;line-height:1.2;color:#6b7280}
.transfer-probability-bars{display:flex;flex-direction:column;gap:5px}
.transfer-probability-card{--ftn-bar-color:#2563eb;display:block;padding:0;border:0;background:transparent!important}
.transfer-probability-card.is-stay{--ftn-bar-color:#16a34a;background:transparent!important}
.transfer-probability-info{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px;width:100%;margin:0 0 4px}
.transfer-probability-club{min-width:0;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:6px;line-height:1!important}
.transfer-probability-logo-wrap{width:21px!important;height:21px!important;flex:0 0 21px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;align-self:center!important;vertical-align:middle!important;border-radius:50%;background:#f8fafc;border:1px solid #e5e7eb;overflow:hidden;position:relative!important;top:auto!important;transform:none!important;margin:0!important}
.transfer-probability-logo{width:16px!important;height:16px!important;max-width:16px!important;max-height:16px!important;min-width:0!important;min-height:0!important;object-fit:contain!important;display:block!important;margin:0!important;padding:0!important;border:0!important;position:static!important;float:none!important;vertical-align:middle!important;transform:none!important}
.transfer-probability-logo-empty{font-size:8px;font-weight:900;color:#64748b;text-align:center;line-height:1}
.transfer-probability-name{min-width:0;max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;font-size:12px;font-weight:900;color:#111827;line-height:1!important;padding:0!important;margin:0!important}
.transfer-probability-name a{color:#111827;text-decoration:none}.transfer-probability-name a:hover{text-decoration:underline}
.transfer-probability-badge,.transfer-probability-status{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important;height:16px!important;padding:0 5px!important;margin:0!important;border-radius:999px;font-size:9px!important;font-weight:900!important;line-height:1!important;letter-spacing:-.02em;font-style:normal!important;white-space:nowrap;vertical-align:middle!important}
.transfer-probability-badge.stay{color:#166534;background:#dcfce7}.transfer-probability-badge.transfer{color:#9a3412;background:#ffedd5}.transfer-probability-status{color:#fff;background:#111827}
.transfer-probability-percent{flex:0 0 auto;margin-left:auto;font-size:13px;font-weight:950;line-height:1;color:#111827;letter-spacing:-.03em;text-align:right}
.transfer-probability-bar{position:relative;width:100%;height:7px;overflow:hidden;border-radius:999px;background:#eef2f7}
.transfer-probability-fill{display:block;width:var(--ftn-probability-width);height:100%;border-radius:999px;background:var(--ftn-bar-color);min-width:3px;transition:width .25s ease}
.transfer-index-note{display:none!important}
@media(max-width:768px){.transfer-index-list.transfer-probability-list{padding:7px 10px 9px}.transfer-probability-head{gap:7px;margin-bottom:6px}.transfer-probability-title{font-size:12px}.transfer-probability-summary{min-width:58px}.transfer-probability-summary strong{font-size:18px}.transfer-probability-summary span{font-size:8.5px}.transfer-probability-bars{gap:5px}.transfer-probability-info{gap:6px;margin-bottom:3px}.transfer-probability-club{gap:5px}.transfer-probability-logo-wrap{width:19px!important;height:19px!important;flex-basis:19px!important}.transfer-probability-logo{width:14px!important;height:14px!important;max-width:14px!important;max-height:14px!important}.transfer-probability-name{max-width:145px;font-size:11px}.transfer-probability-badge,.transfer-probability-status{height:15px!important;padding:0 4px!important;font-size:8.5px!important}.transfer-probability-percent{font-size:12px}.transfer-probability-bar{height:6px}}


/* 선수 기본 정보 + 최근 연결 클럽 + 포지션 */
.player-info-area{
    display:grid;
    grid-template-columns:170px minmax(260px,1fr) minmax(320px,390px);
    gap:18px;
    padding:14px;
    align-items:stretch;
}
.player-info-right{min-width:0;display:flex;flex-direction:column}
.player-meta-flag{display:inline-block!important;width:16px!important;height:12px!important;max-width:16px!important;max-height:12px!important;object-fit:contain!important;margin:0 4px 0 0!important;vertical-align:-1px!important}
.player-info-connected{margin-top:8px;padding-top:0;border-top:0}
.player-info-connected-title{margin-bottom:8px;padding-top:0;border-top:0;font-size:14px;font-weight:800;color:#111}
.player-info-connected .recent-connected-clubs{gap:8px}
.player-info-connected .recent-connected-club-link{width:44px;height:44px;border-radius:8px}
.player-info-connected .recent-connected-club-logo{max-width:32px;max-height:32px}

.player-position-inline{
    min-width:0;
    border-left:1px solid #e5e7eb;
    padding-left:18px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-height:205px;
}
.player-position-inline-title{
    margin-bottom:10px;
    text-align:center;
    font-size:14px;
    font-weight:800;
    color:#111;
}
.player-position-inline-title span{
    background:none;
    border:0;
    padding:0;
    min-width:0;
    box-shadow:none;
    color:inherit;
    font:inherit;
}
.player-position-inline-body{
    display:grid;
    grid-template-columns:minmax(105px,1fr) 215px;
    gap:14px;
    align-items:center;
    flex:1;
}
.player-position-details{display:flex;flex-direction:column;gap:14px;text-align:center}
.player-position-group{display:flex;flex-direction:column;gap:4px}
.player-position-label{font-size:11px;font-weight:600;color:#64748b}
.player-position-group strong{font-size:13px;line-height:1.35;color:#111827;word-break:keep-all}
.player-position-pitch{position:relative;width:212px;aspect-ratio:1/1.05;margin-left:auto;background-position:center;background-repeat:no-repeat;background-size:100% 100%;overflow:visible}
.player-position-marker{position:absolute;z-index:3;display:block;border-radius:50%;transform:translate(-50%,-50%);box-sizing:border-box}
.player-position-marker-sub{width:14px;height:14px;background:#fff;border:2px solid #31547d;box-shadow:0 0 0 2px #fff,0 1px 4px rgba(0,0,0,.25)}
.player-position-marker-main{width:18px;height:18px;background:#fff;border:3px solid #31547d;box-shadow:0 0 0 2px #fff,0 2px 5px rgba(0,0,0,.3)}

@media(max-width:900px){
    .player-info-area{
        grid-template-columns:140px minmax(0,1fr);
    }
    .player-photo-box{grid-column:1;grid-row:1}
    .player-info-right{grid-column:2;grid-row:1}
    .player-position-inline{
        grid-column:1 / -1;
        grid-row:2;
        border-left:0;
        border-top:1px solid #e5e7eb;
        padding-left:0;
        padding-top:12px;
        margin-top:2px;
    }
    .player-position-inline-body{
        grid-template-columns:minmax(120px,1fr) 180px;
    }
}

@media(max-width:768px){
    .player-info-area{
        grid-template-columns:130px minmax(0,1fr);
        gap:12px;
    }
    .player-info-right{min-width:0}
    .player-info-connected{margin-top:7px;padding-top:0}
    .player-info-connected-title{font-size:12px;margin-bottom:7px;padding-top:7px}
    .player-info-connected .recent-connected-clubs{gap:6px}
    .player-info-connected .recent-connected-club-link{width:36px;height:36px;border-radius:7px}
    .player-info-connected .recent-connected-club-logo{max-width:27px;max-height:27px}

    .player-position-inline-title{margin-bottom:8px}.player-position-inline-title span{min-width:72px;padding:4px 10px;font-size:11px}
    .player-position-inline-body{grid-template-columns:minmax(95px,1fr) 138px;gap:10px;padding:8px 9px;border-radius:10px}
    .player-position-details{gap:9px}
    .player-position-label{font-size:8px}
    .player-position-group{padding:7px 6px;border-radius:8px}.player-position-group strong{font-size:11px;line-height:1.25}
    .player-position-pitch{width:136px;border-radius:8px}
    .player-position-marker-sub{width:11px;height:11px;border-width:1.5px;box-shadow:0 0 0 1.5px #fff,0 1px 3px rgba(0,0,0,.22)}
    .player-position-marker-main{width:14px;height:14px;border-width:2px;box-shadow:0 0 0 1.5px #fff,0 1px 3px rgba(0,0,0,.3)}
}

@media(max-width:420px){
    .player-info-area{
        grid-template-columns:108px minmax(0,1fr);
        gap:10px;
    }
    .player-photo-box{width:108px}
    .player-photo,.player-no-photo{width:108px;height:108px}
    .player-position-inline-body{grid-template-columns:minmax(82px,1fr) 124px;gap:8px}
    .player-position-pitch{width:122px}
    .player-position-group strong{font-size:10px}
}
    .player-position-player-photo,.player-position-photo-empty{width:68px;height:92px}
    .player-position-pitch{width:112px}
    .player-position-group strong{font-size:10px}
}

/* 연결 클럽 구분선 제거 */
.player-info-connected,
.player-info-connected-title{
    border-top:0!important;
}

/* 포지션 영역 비율 조정 */
@media(min-width:901px){
    .player-position-inline{
        min-height:205px;
    }
    .player-position-inline-body{
        min-height:180px;
    }
    .player-position-pitch{
        width:212px;
    }
}

/* 모바일 컴팩트 조정 */
@media(max-width:768px){
    .player-hub-wrap{
        padding:14px 8px 32px;
    }

    .player-main-card{
        margin-bottom:10px;
    }

    .player-title-bar{
        padding:9px 10px;
    }

    .player-title-main{
        font-size:18px;
    }

    .player-en-name-line{
        margin-top:2px;
        font-size:11px;
    }

    .player-title-club-row{
        margin-top:6px;
        padding:6px 7px;
    }

    .player-current-profile{
        grid-template-columns:38px 1fr;
        gap:6px;
    }

    .player-current-logo-wrap,
    .player-current-club-logo-big{
        width:38px;
        height:38px;
    }

    .player-current-club-name{
        margin-bottom:2px;
        font-size:11px;
    }

    .player-current-league-line,
    .player-current-contract-line{
        font-size:9px;
    }

    .player-info-area{
        grid-template-columns:100px minmax(0,1fr);
        gap:9px;
        padding:9px;
    }

    .player-photo-box{
        width:100px;
    }

    .player-photo,
    .player-no-photo{
        width:100px;
        height:100px;
    }

    .player-meta-list{
        gap:4px;
        font-size:11px;
    }

    .player-meta-list div{
        padding-bottom:4px;
    }

    .player-meta-flag{
        width:13px!important;
        height:10px!important;
        max-width:13px!important;
        max-height:10px!important;
    }

    .player-info-connected{
        margin-top:5px;
    }

    .player-info-connected-title{
        margin-bottom:5px;
        font-size:10px;
    }

    .player-info-connected .recent-connected-clubs{
        gap:4px;
    }

    .player-info-connected .recent-connected-club-link{
        width:31px;
        height:31px;
        border-radius:6px;
    }

    .player-info-connected .recent-connected-club-logo{
        max-width:23px;
        max-height:23px;
    }

    .player-position-inline{
        margin-top:0;
        padding-top:8px;
        min-height:0;
    }

    .player-position-inline-title{
        margin-bottom:5px;
        font-size:11px;
    }

    .player-position-inline-body{
        grid-template-columns:minmax(82px,1fr) 118px;
        gap:7px;
        min-height:0;
    }

    .player-position-details{
        gap:7px;
    }

    .player-position-group{
        gap:2px;
    }

    .player-position-label{
        font-size:8px;
    }

    .player-position-group strong{
        font-size:10px;
        line-height:1.2;
    }

    .player-position-pitch{
        width:116px;
    }

    .player-position-marker-sub{
        width:9px;
        height:9px;
    }

    .player-position-marker-main{
        width:12px;
        height:12px;
    }

    .player-section{
        margin-top:14px;
    }

    .player-section-title{
        padding:6px 8px;
        font-size:13px;
    }

    .transfer-index-list.transfer-probability-list{
        padding:6px 8px 7px;
    }

    .transfer-probability-head{
        margin-bottom:5px;
    }

    .transfer-probability-title{
        font-size:11px;
    }

    .transfer-probability-summary strong{
        font-size:16px;
    }

    .transfer-probability-bars{
        gap:4px;
    }

    .news-item{
        grid-template-columns:68px 1fr;
        gap:8px;
        padding:9px;
    }

    .news-thumb,
    .news-thumb-empty{
        width:68px;
        height:50px;
    }

    .news-body a{
        font-size:13px;
    }

    .news-content{
        margin-top:3px;
        font-size:11px;
        line-height:1.35;
    }

    .news-meta{
        margin-top:3px;
        font-size:10px;
    }
}

@media(max-width:420px){
    .player-info-area{
        grid-template-columns:88px minmax(0,1fr);
        gap:8px;
        padding:8px;
    }

    .player-photo-box{
        width:88px;
    }

    .player-photo,
    .player-no-photo{
        width:88px;
        height:88px;
    }

    .player-meta-list{
        font-size:10px;
    }

    .player-info-connected .recent-connected-club-link{
        width:28px;
        height:28px;
    }

    .player-info-connected .recent-connected-club-logo{
        max-width:20px;
        max-height:20px;
    }

    .player-position-inline-body{
        grid-template-columns:minmax(76px,1fr) 104px;
        gap:6px;
    }

    .player-position-pitch{
        width:102px;
    }
}


/* 선수 소개 + 스카우팅 리포트 연결 카드 */
.player-overview-section{margin-top:18px;border:1px solid #d7dde5;background:#fff;overflow:hidden}
.player-overview-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;background:#1f2d3d;color:#fff}
.player-overview-heading{min-width:0;display:flex;flex-direction:column;gap:3px}
.player-overview-title{font-size:14px;font-weight:900;line-height:1.2}
.player-overview-updated{font-size:9px;font-weight:600;line-height:1.2;color:#cbd5e1}
.player-overview-body{position:relative;padding:12px 14px 13px;background:linear-gradient(90deg,#f5f8fc 0%,#fff 100%)}
.player-overview-text{font-size:13px;line-height:1.65;color:#263241;font-weight:500}
.player-overview-text p{margin:0 0 7px}.player-overview-text p:last-child{margin-bottom:0}
.player-overview-more-btn{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;gap:5px;padding:6px 12px;border-radius:999px;background:#2563eb;color:#fff!important;font-size:10px;font-weight:900;line-height:1;text-decoration:none!important;box-shadow:0 3px 8px rgba(37,99,235,.28);transition:transform .15s ease,box-shadow .15s ease}
.player-overview-more-btn:after{content:'›';font-size:15px;line-height:.7}
.player-overview-more-btn:hover{transform:translateY(-1px);box-shadow:0 5px 11px rgba(37,99,235,.34)}
@media(max-width:768px){.player-overview-section{margin-top:10px}.player-overview-header{padding:7px 9px}.player-overview-heading{gap:2px}.player-overview-title{font-size:12px}.player-overview-updated{font-size:8px}.player-overview-more-btn{padding:5px 10px;font-size:9px}.player-overview-body{padding:9px 10px 10px}.player-overview-text{font-size:11px;line-height:1.55}}


/* 모바일: 포지션 그래픽을 선수 정보의 신장 아래에 표시 */
.player-mobile-position-graphic{
    display:none;
}

@media(max-width:768px){
    .player-mobile-position-graphic{
        display:block!important;
        margin-top:4px;
        padding:7px 0 0!important;
        border-bottom:0!important;
    }

    .player-mobile-position-graphic .player-position-inline-body{
        display:grid;
        grid-template-columns:minmax(72px,1fr) 104px;
        gap:7px;
        align-items:center;
        padding:0;
    }

    .player-mobile-position-graphic .player-position-details{
        gap:7px;
        text-align:center;
    }

    .player-mobile-position-graphic .player-position-group{
        padding:5px 3px;
        border:1px solid #e5e7eb;
        border-radius:7px;
        background:#f8fafc;
    }

    .player-mobile-position-graphic .player-position-label{
        font-size:7px;
    }

    .player-mobile-position-graphic .player-position-group strong{
        font-size:9px;
        line-height:1.2;
    }

    .player-mobile-position-graphic .player-position-pitch{
        width:102px;
        margin-left:auto;
    }

    .player-mobile-position-graphic .player-position-marker-sub{
        width:9px;
        height:9px;
        border-width:1.5px;
        box-shadow:0 0 0 1px #fff,0 1px 2px rgba(0,0,0,.22);
    }

    .player-mobile-position-graphic .player-position-marker-main{
        width:12px;
        height:12px;
        border-width:2px;
        box-shadow:0 0 0 1px #fff,0 1px 3px rgba(0,0,0,.28);
    }

    /* 기존 독립 포지션 영역은 모바일에서 숨기고, 신장 아래 복제본만 표시 */
    .player-info-area > .player-position-inline{
        display:none!important;
    }
}


/* 선수 소개 헤더와 동일한 2단 섹션 타이틀 */
.player-section-title.player-section-title-stacked{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:center!important;
    gap:3px!important;
    background:#1f2d3d!important;
    color:#fff!important;
    padding:8px 10px!important;
    text-transform:none!important;
    letter-spacing:0!important;
}
.player-section-title-ko{
    display:block;
    font-size:14px;
    font-weight:900;
    line-height:1.2;
    color:#fff;
}
.player-section-title-en{
    display:block;
    font-size:9px;
    font-weight:600;
    line-height:1.2;
    color:#cbd5e1;
}
@media(max-width:768px){
    .player-section-title.player-section-title-stacked{
        gap:2px!important;
        padding:7px 9px!important;
    }
    .player-section-title-ko{
        font-size:12px;
    }
    .player-section-title-en{
        font-size:8px;
    }
}

/* FTN 이적전망: 다른 섹션과 동일한 표형 헤더 */
.player-transfer-prediction-table{
    margin-top:24px!important;
    border:1px solid #ddd!important;
    background:#fff!important;
}
.player-transfer-prediction-table .transfer-probability-list{
    border-top:0!important;
    padding:9px 12px 11px!important;
}
.player-transfer-prediction-table .transfer-probability-head{
    justify-content:flex-end!important;
    margin-bottom:8px!important;
}
.player-transfer-prediction-table .transfer-probability-summary{
    min-width:0!important;
}
@media(max-width:768px){
    .player-transfer-prediction-table{
        margin-top:14px!important;
    }
    .player-transfer-prediction-table .transfer-probability-list{
        padding:8px 10px 10px!important;
    }
}

/* Player Hub 통합 스카우팅 리포트 */
.player-scouting-report-section{
    margin-top:18px;
    overflow:hidden;
}
.player-scouting-report-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:8px 10px;
    background:#1f2d3d;
    color:#fff;
}
.player-scouting-report-header .player-section-title-en{
    margin-top:2px;
}
.player-scouting-report-body{
    padding:14px;
    background:#fff;
}

.player-type-simple{
    position:relative;
    display:inline-flex;
    align-items:stretch;
    flex:0 1 auto;
    max-width:52%;
    margin:0 0 0 auto;
    border:1px solid rgba(159,184,213,.72);
    border-radius:7px;
    background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(226,237,249,.96));
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.95),
        0 2px 6px rgba(0,0,0,.18);
    overflow:hidden;
}
.player-type-simple::before{
    content:"";
    position:absolute;
    top:0;
    right:0;
    width:38px;
    height:3px;
    background:#42a5ff;
}
.player-type-simple-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:40px;
    min-width:40px;
    background:linear-gradient(180deg,#2b425b,#142538);
    color:#fff;
    border-right:1px solid rgba(255,255,255,.16);
}
.player-type-simple-icon svg{
    width:18px;
    height:18px;
    display:block;
}
.player-type-simple-content{
    min-width:0;
    padding:6px 11px 7px;
}
.player-type-simple-label{
    display:flex;
    align-items:center;
    gap:5px;
    margin-bottom:1px;
    color:#6b7f95;
    font-size:8px;
    font-weight:900;
    line-height:1.2;
    letter-spacing:.10em;
    text-transform:uppercase;
    white-space:nowrap;
}
.player-type-simple-label::after{
    content:"ROLE CLASS";
    padding:1px 4px;
    border:1px solid #c7d5e5;
    border-radius:3px;
    background:rgba(255,255,255,.78);
    color:#7890aa;
    font-size:6px;
    letter-spacing:.06em;
}
.player-type-simple-value{
    max-width:100%;
    color:#17385e;
    font-size:13px;
    font-weight:900;
    line-height:1.25;
    letter-spacing:.01em;
    white-space:normal;
    word-break:keep-all;
    overflow-wrap:anywhere;
}

.player-scouting-overview{
    color:#263241;
    font-size:13px;
    font-weight:500;
    line-height:1.65;
}
.player-scouting-overview p{
    margin:0 0 8px;
}
.player-scouting-overview p:last-child{
    margin-bottom:0;
}
.player-scouting-report-grid{
    display:grid;
    grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);
    gap:14px;
    align-items:stretch;
    margin-top:13px;
    padding-top:13px;
    border-top:1px solid #e5e7eb;
}
.player-scouting-report-grid.without-ratings{
    grid-template-columns:1fr;
}
.player-scouting-lists{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
    min-width:0;
}
.player-scouting-mini-section,
.player-rating-panel{
    min-width:0;
    border:1px solid #e1e6ec;
    border-radius:8px;
    background:#fafbfc;
    overflow:hidden;
}
.player-scouting-mini-title,
.player-rating-panel-title{
    display:flex;
    align-items:baseline;
    gap:6px;
    padding:8px 10px;
    border-bottom:1px solid #e7ebef;
    background:#f4f6f8;
}
.player-scouting-mini-title span,
.player-rating-panel-title span{
    color:#172033;
    font-size:12px;
    font-weight:900;
    line-height:1.2;
}
.player-scouting-mini-title small,
.player-rating-panel-title small{
    color:#7b8794;
    font-size:8px;
    font-weight:700;
    line-height:1.2;
}
.player-scouting-mini-section.is-strength .player-scouting-mini-title{
    border-left:3px solid #16a34a;
}
.player-scouting-mini-section.is-weakness .player-scouting-mini-title{
    border-left:3px solid #e11d48;
}
.player-scouting-point-list{
    list-style:none;
    margin:0;
    padding:3px 10px 5px;
}
.player-scouting-point-list li{
    display:grid;
    grid-template-columns:18px minmax(0,1fr);
    gap:7px;
    align-items:start;
    padding:8px 0;
    border-bottom:1px solid #e8edf2;
    color:#263241;
    font-size:11px;
    font-weight:500;
    line-height:1.48;
}
.player-scouting-point-list li:last-child{
    border-bottom:0;
}
.player-scouting-point-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:17px;
    height:17px;
    margin-top:1px;
    border-radius:50%;
    font-size:9px;
    font-weight:900;
    line-height:1;
}
.player-scouting-point-list.is-strength .player-scouting-point-icon{
    background:#dcfce7;
    color:#15803d;
}
.player-scouting-point-list.is-weakness .player-scouting-point-icon{
    background:#ffe4e6;
    color:#be123c;
}
.player-rating-panel{
    display:flex;
    flex-direction:column;
}
.player-rating-chart-wrap{
    display:flex;
    align-items:center;
    justify-content:center;
    flex:1;
    min-height:230px;
    padding:5px 8px 7px;
}
.player-rating-chart{
    display:block;
    width:100%;
    max-width:285px;
    height:auto;
    overflow:visible;
}
.player-rating-grid{
    fill:none;
    stroke:#d9e0e7;
    stroke-width:1;
}
.player-rating-axis{
    stroke:#d9e0e7;
    stroke-width:1;
}
.player-rating-area{
    fill:rgba(37,99,235,.20);
    stroke:#2563eb;
    stroke-width:2;
    stroke-linejoin:round;
}
.player-rating-dot{
    fill:#2563eb;
    stroke:#fff;
    stroke-width:1.5;
}
.player-rating-label{
    fill:#526071;
    font-size:10px;
    font-weight:800;
}
.player-rating-label-score{
    fill:#172033;
    font-size:11px;
    font-weight:900;
}
@media(max-width:900px){
    .player-scouting-report-grid{
        grid-template-columns:1fr;
    }
    .player-rating-panel{
        max-width:430px;
        width:100%;
        margin:0 auto;
    }
}
@media(max-width:768px){
    .player-scouting-report-section{
        margin-top:10px;
    }
    .player-scouting-report-header{
        padding:7px 9px;
    }
    .player-scouting-report-body{
        padding:10px;
    }


    .player-scouting-report-header{
        align-items:flex-start;
        flex-wrap:wrap;
        gap:8px;
    }
    .player-scouting-report-header .player-overview-heading{
        flex:1 1 150px;
        min-width:0;
    }
    .player-type-simple{
        flex:0 1 auto;
        max-width:58%;
        margin-left:auto;
    }
    .player-type-simple-icon{
        width:34px;
        min-width:34px;
    }
    .player-type-simple-icon svg{
        width:15px;
        height:15px;
    }
    .player-type-simple-content{
        padding:5px 8px 6px;
    }
    .player-type-simple-label{
        gap:4px;
        font-size:7px;
    }
    .player-type-simple-label::after{
        font-size:5px;
        padding:1px 3px;
    }
    .player-type-simple-value{
        font-size:11px;
    }

    .player-scouting-overview{
        font-size:11px;
        line-height:1.58;
    }
    .player-scouting-report-grid{
        gap:10px;
        margin-top:10px;
        padding-top:10px;
    }
    .player-scouting-lists{
        grid-template-columns:1fr;
        gap:9px;
    }
    .player-scouting-mini-title,
    .player-rating-panel-title{
        padding:7px 9px;
    }
    .player-scouting-mini-title span,
    .player-rating-panel-title span{
        font-size:11px;
    }
    .player-scouting-point-list{
        padding:2px 9px 4px;
    }
    .player-scouting-point-list li{
        grid-template-columns:17px minmax(0,1fr);
        gap:6px;
        padding:7px 0;
        font-size:10.5px;
        line-height:1.45;
    }
    .player-scouting-point-icon{
        width:16px;
        height:16px;
        font-size:8px;
    }
    .player-rating-chart-wrap{
        min-height:205px;
        padding:2px 5px 5px;
    }
    .player-rating-chart{
        max-width:255px;
    }
}


/* 자동 유사 선수 */
.player-similar-section{margin-top:16px}
.player-similar-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:12px;background:#fff}
.player-similar-card{position:relative;display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid #dce3ec;border-radius:8px;background:#f8fafc;color:#111;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.player-similar-card:hover{transform:translateY(-2px);border-color:#a9bdd4;box-shadow:0 6px 16px rgba(15,23,42,.12);text-decoration:none}
.player-similar-image-wrap{position:relative;width:100%;aspect-ratio:4/3;overflow:hidden;background:#e9eef4}
.player-similar-image{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}
.player-similar-image-empty{display:flex;width:100%;height:100%;align-items:center;justify-content:center;font-size:11px;font-weight:800;color:#64748b}
.player-similar-score{position:absolute;top:7px;right:7px;display:inline-flex;align-items:center;justify-content:center;min-width:41px;height:22px;padding:0 7px;border-radius:999px;background:rgba(0,43,92,.92);color:#fff;font-size:10px;font-weight:900;line-height:1}
.player-similar-content{display:flex;flex:1;flex-direction:column;padding:9px}
.player-similar-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:900;color:#111827;line-height:1.25}
.player-similar-name-en{margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;color:#64748b}
.player-similar-meta{display:flex;align-items:center;gap:5px;min-height:20px;margin-top:7px;font-size:10px;font-weight:800;color:#334155}
.player-similar-club-logo{width:18px;height:18px;object-fit:contain;flex:0 0 18px}
.player-similar-club-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.player-similar-position{margin-left:auto;padding-left:5px;color:#0066b3;white-space:nowrap}
.player-similar-reason{margin-top:7px;font-size:10px;line-height:1.42;color:#475569;word-break:keep-all}
@media(max-width:768px){.player-similar-section{margin-top:10px}.player-similar-grid{display:flex;gap:8px;overflow-x:auto;padding:10px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none}.player-similar-grid::-webkit-scrollbar{display:none}.player-similar-card{flex:0 0 142px;scroll-snap-align:start}.player-similar-content{padding:8px}.player-similar-name{font-size:11px}.player-similar-name-en,.player-similar-meta,.player-similar-reason{font-size:9px}.player-similar-score{top:5px;right:5px;min-width:37px;height:20px;font-size:9px}}

/* =====================================================
 * 선수 허브 상단 헤더 리디자인
 * - 국기와 국가명을 이름 위로 이동
 * - 나이를 독립 배지로 표시
 * - 기존 데이터와 링크 구조는 그대로 유지
 * ===================================================== */
.player-main-card{
    overflow:hidden;
    border:1px solid #dfe5ec;
    border-radius:12px;
    box-shadow:0 5px 18px rgba(15,23,42,.06);
}
.player-title-bar{
    position:relative;
    padding:18px 20px;
    border-bottom:1px solid #e7ebf0;
    background:
        radial-gradient(circle at 0 0,rgba(0,43,92,.055),transparent 34%),
        linear-gradient(135deg,#fff 0%,#fbfcfe 58%,#f7f9fc 100%);
}
.player-title-top{
    align-items:center;
    gap:28px;
}
.player-title-name-block{
    display:flex;
    min-width:0;
    flex:1 1 auto;
    flex-direction:column;
    justify-content:center;
}
.player-title-country{
    display:flex;
    align-items:center;
    gap:7px;
    margin-bottom:7px;
    color:#334155;
    font-size:12px;
    font-weight:800;
    line-height:1;
}
.player-title-country-flag-wrap{
    display:inline-flex;
    width:26px;
    height:19px;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    border:1px solid #dbe2ea;
    border-radius:4px;
    background:#fff;
    box-shadow:0 1px 3px rgba(15,23,42,.08);
}
.player-title-country-flag{
    display:block!important;
    width:24px!important;
    height:17px!important;
    max-width:24px!important;
    max-height:17px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    object-fit:cover!important;
}
.player-title-country-name{
    letter-spacing:-.01em;
}
.player-title-name-row{
    display:flex;
    min-width:0;
    align-items:center;
    gap:10px;
}
.player-title-main{
    min-width:0;
    margin:0;
    color:#0f2744;
    font-size:30px;
    font-weight:900;
    line-height:1.08;
    letter-spacing:-.045em;
    word-break:keep-all;
}
.player-title-age{
    display:inline;
    margin-left:2px;
    color:#64748b;
    font-size:.68em;
    font-weight:750;
    line-height:inherit;
    letter-spacing:-.02em;
    vertical-align:.08em;
}
.player-en-name-line{
    margin-top:6px;
    color:#64748b;
    font-size:14px;
    font-weight:600;
    letter-spacing:-.01em;
}
.player-title-club-row.player-title-club-desktop{
    position:relative;
    min-width:265px;
    margin:0 0 0 auto;
    padding:10px 0 10px 24px;
    border:0;
    border-left:1px solid #dfe5ec;
    border-radius:0;
    background:transparent;
}
.player-title-club-desktop .player-current-profile{
    max-width:none;
}
.player-title-club-desktop .player-current-club-name{
    color:#0f2744;
    font-size:14px;
}
.player-title-club-desktop .player-current-club-name a{
    color:#0f2744;
}
.player-title-club-desktop .player-current-logo-wrap,
.player-title-club-desktop .player-current-club-logo-big{
    width:50px;
    height:50px;
}
@media(max-width:768px){
    .player-main-card{
        border-radius:10px;
    }
    .player-title-bar{
        padding:12px 12px 11px;
    }
    .player-title-country{
        gap:5px;
        margin-bottom:5px;
        font-size:10px;
    }
    .player-title-country-flag-wrap{
        width:22px;
        height:16px;
        border-radius:3px;
    }
    .player-title-country-flag{
        width:20px!important;
        height:14px!important;
        max-width:20px!important;
        max-height:14px!important;
    }
    .player-title-name-row{
        gap:7px;
    }
    .player-title-main{
        font-size:21px;
        line-height:1.1;
        letter-spacing:-.04em;
    }
    .player-title-age{
        margin-left:1px;
        font-size:.7em;
        vertical-align:.06em;
    }
    .player-en-name-line{
        margin-top:4px;
        font-size:11px;
    }
    .player-title-club-row.player-title-club-mobile{
        margin-top:10px;
        padding:8px;
        border:1px solid #e2e8f0;
        border-radius:8px;
        background:rgba(248,250,252,.88);
    }
}

@media(max-width:430px){
    .player-scouting-report-header{
        display:grid;
        grid-template-columns:minmax(0,1fr) auto;
        align-items:center;
        gap:7px;
    }
    .player-scouting-report-header .player-overview-heading{
        min-width:0;
    }
    .player-type-simple{
        max-width:190px;
    }
    .player-type-simple-label::after{
        display:none;
    }
}
