body:has(.player-detail-backdrop) { overflow: hidden; }

.player-detail-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: grid;
    place-items: center;
    padding: 18px;
    background: rgba(2, 10, 6, .82);
    backdrop-filter: blur(10px);
}

.player-detail-panel {
    position: relative;
    width: min(520px, 100%);
    max-height: calc(100vh - 36px);
    overflow-y: auto;
    padding: 30px;
    color: var(--ink);
    background: linear-gradient(155deg, #10291d, #07130e 62%);
    border: 1px solid #315642;
    border-radius: 24px;
    box-shadow: 0 32px 100px #000b;
    scrollbar-color: var(--lime) #0b1d14;
}

.player-detail-loading {
    min-height: 250px;
    display: grid;
    place-items: center;
    color: var(--muted);
}

.player-detail-close {
    position: absolute;
    top: 15px;
    right: 15px;
    z-index: 2;
    width: 36px;
    height: 36px;
    padding: 0;
    color: var(--ink);
    background: #ffffff14;
    border: 1px solid #ffffff12;
    border-radius: 50%;
    font-size: 1.55rem;
    line-height: 1;
    cursor: pointer;
}

.player-detail-close:hover { color: #07130e; background: var(--lime); }

.player-detail-header {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    padding-right: 24px;
    margin-bottom: 20px;
}

.player-detail-header img { width: 72px; height: 82px; object-fit: contain; filter: drop-shadow(0 10px 10px #0008); }
.player-detail-header h1 { margin: 3px 0 0; font-size: clamp(1.8rem, 6vw, 2.6rem); }
.player-detail-header span { color: var(--lime); font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }

.player-gw-points { display: flex; flex-direction: column; align-items: center; min-width: 62px; }
.player-gw-points strong { color: var(--lime); font: 700 2.3rem Oswald; line-height: 1; }
.player-gw-points small { color: var(--muted); font-size: .6rem; letter-spacing: .08em; }

.player-fixture-summary {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 12px;
    padding: 18px;
    margin-bottom: 14px;
    text-align: center;
    background: linear-gradient(120deg, #13291f, #1c3b2a, #13291f);
    border: 1px solid var(--line);
    border-radius: 16px;
}

.player-fixture-summary > div { display: flex; flex-direction: column; min-width: 0; }
.player-fixture-summary > div:last-child { align-items: flex-end; text-align: right; }
.player-fixture-summary > div:first-child { align-items: flex-start; text-align: left; }
.player-fixture-summary strong { font-family: Oswald, sans-serif; font-size: 1.25rem; }
.player-fixture-summary small { color: var(--muted); font-size: .67rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 120px; }
.player-fixture-score strong { font-size: 1.7rem; }
.player-fixture-score strong span { color: var(--lime); }
.player-fixture-score small { align-self: center; color: var(--green); font-weight: 800; letter-spacing: .08em; }

.player-breakdown-card {
    padding: 20px;
    background: #0c1d15;
    border: 1px solid var(--line);
    border-radius: 16px;
}

.player-breakdown-title { display: flex; justify-content: space-between; align-items: baseline; gap: 15px; margin-bottom: 15px; }
.player-breakdown-title h2 { margin: 0; }
.player-breakdown-title span { color: var(--lime); font-size: .68rem; font-weight: 700; text-transform: uppercase; }
.player-breakdown-head,
.player-breakdown-row,
.player-breakdown-total { display: grid; grid-template-columns: minmax(0, 1fr) 70px 70px; align-items: center; gap: 8px; }
.player-breakdown-head { padding: 0 4px 9px; color: var(--muted); font-size: .66rem; }
.player-breakdown-head span:not(:first-child),
.player-breakdown-row span,
.player-breakdown-row b,
.player-breakdown-total b { text-align: right; }
.player-breakdown-row { padding: 13px 4px; border-top: 1px solid var(--line); font-size: .82rem; }
.player-breakdown-row strong { font-weight: 500; }
.player-breakdown-row span { color: var(--muted); }
.player-breakdown-row b { color: var(--lime); }
.player-breakdown-row b.negative { color: var(--danger); }
.player-breakdown-total { padding: 15px 4px 0; border-top: 1px solid #496c58; }
.player-breakdown-total b { color: var(--lime); font: 700 1.2rem Oswald; }
.player-breakdown-empty { margin: 0; padding: 24px 5px; text-align: center; font-size: .82rem; }

.player-profile-link {
    display: block;
    width: 100%;
    margin-top: 14px;
    padding: 13px 18px;
    color: #07130e;
    background: var(--lime);
    border-radius: 999px;
    text-align: center;
    font-weight: 800;
}

.player-profile-link:hover { filter: brightness(1.08); }

@media (max-width: 600px) {
    .player-detail-backdrop { padding: 0; align-items: end; }
    .player-detail-panel { width: 100%; max-height: 94vh; padding: 24px 18px 18px; border-radius: 22px 22px 0 0; }
    .player-detail-header { grid-template-columns: 60px minmax(0, 1fr) auto; gap: 10px; padding-right: 18px; }
    .player-detail-header img { width: 60px; height: 68px; }
    .player-gw-points strong { font-size: 1.9rem; }
    .player-fixture-summary { padding: 15px 12px; }
    .player-breakdown-card { padding: 17px 14px; }
    .player-breakdown-head,
    .player-breakdown-row,
    .player-breakdown-total { grid-template-columns: minmax(0, 1fr) 55px 62px; }
}
