/* DPL player profile — premium framing. Additive overrides only. */
.player-profile-page .player-profile-shell {
    width: min(1600px, 92%);
    padding-top: 24px;
}

.player-profile-page .player-profile-hero {
    border-color: rgba(224, 63, 112, .72);
    background:
        radial-gradient(circle at 88% 34%, rgba(145, 45, 86, .18), transparent 34%),
        linear-gradient(118deg, rgba(9, 17, 25, .96), rgba(12, 15, 22, .94) 56%, rgba(24, 12, 25, .94));
    box-shadow:
        -1px 0 0 rgba(255, 61, 71, .82),
        1px 0 0 rgba(208, 75, 255, .56),
        0 0 22px rgba(193, 49, 102, .10),
        inset 0 1px 0 rgba(255,255,255,.025);
}

.player-profile-page .player-profile-hero.has-player-background {
    background-image:
        linear-gradient(90deg, rgba(6, 11, 17, .96) 0%, rgba(7, 11, 17, .86) 45%, rgba(17, 8, 18, .63) 78%, rgba(20, 8, 20, .72) 100%),
        var(--player-background);
}

.player-profile-page .player-profile-kicker,
.player-profile-page .player-section-kicker {
    color: #ff4d56;
}

.player-profile-page .player-profile-meta {
    align-items: center;
    gap: 10px;
}

.player-profile-role-chips {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.player-profile-page .player-profile-role {
    min-height: 34px;
    padding: 0 12px;
    gap: 8px;
    color: #dbe3ea;
    background: rgba(10, 16, 22, .86);
    border: 1px solid rgba(94, 108, 121, .55);
    box-shadow: inset 0 0 14px rgba(255,255,255,.015);
}

.player-profile-role-icon {
    width: 17px;
    height: 17px;
    flex: 0 0 17px;
}

.player-profile-page .player-profile-role.role-1 { color: #ff4f55; border-color: rgba(255, 68, 76, .58); background: rgba(70, 16, 22, .22); }
.player-profile-page .player-profile-role.role-2 { color: #3db6ff; border-color: rgba(42, 157, 234, .58); background: rgba(10, 55, 85, .22); }
.player-profile-page .player-profile-role.role-3 { color: #ff922f; border-color: rgba(226, 119, 33, .58); background: rgba(76, 40, 11, .22); }
/* User choice: both support roles are green. */
.player-profile-page .player-profile-role.role-4,
.player-profile-page .player-profile-role.role-5 { color: #67d977; border-color: rgba(78, 182, 96, .56); background: rgba(22, 74, 34, .22); }
.player-profile-page .player-profile-role.role-6 { color: #35d2e5; border-color: rgba(38, 184, 204, .58); background: rgba(12, 70, 80, .22); }

.player-profile-page .player-profile-status {
    min-height: 34px;
    padding: 0 13px;
    color: #83dc91;
    background: rgba(30, 92, 42, .18);
    border-color: rgba(79, 179, 96, .48);
}

.player-profile-page .player-profile-links a {
    border-color: rgba(113, 65, 120, .54);
    background: rgba(12, 16, 22, .82);
}
.player-profile-page .player-profile-links a:hover {
    border-color: rgba(220, 72, 135, .78);
    box-shadow: 0 0 14px rgba(207, 63, 123, .12);
}

.player-profile-page .player-rating-panel {
    background: rgba(7, 12, 18, .82);
    border-color: rgba(176, 69, 164, .54);
    box-shadow: inset 0 0 22px rgba(126, 54, 155, .05);
}

.player-profile-page .player-rating-track span {
    background: linear-gradient(90deg, #d73843, #f05a70);
    box-shadow: 0 0 8px rgba(239, 70, 87, .30);
}

.player-profile-page .player-hero-achievement {
    background: rgba(9, 13, 19, .84);
    border-color: rgba(199, 63, 111, .54);
    box-shadow: inset 0 0 14px rgba(168, 49, 104, .04);
}

.player-profile-page .player-medals-summary {
    gap: 14px;
}
.player-profile-page .player-medal-summary-card {
    background: rgba(12, 18, 24, .90);
    box-shadow: inset 0 0 20px rgba(255,255,255,.012);
}
.player-profile-page .player-medal-gold {
    border-color: rgba(218, 166, 44, .62);
    box-shadow: inset 3px 0 0 rgba(232, 177, 44, .92), 0 0 16px rgba(211, 157, 35, .06);
}
.player-profile-page .player-medal-silver {
    border-color: rgba(169, 183, 198, .55);
    box-shadow: inset 3px 0 0 rgba(187, 199, 212, .82), 0 0 16px rgba(171, 188, 207, .04);
}
.player-profile-page .player-medal-bronze {
    border-color: rgba(183, 108, 61, .60);
    box-shadow: inset 3px 0 0 rgba(192, 111, 57, .90), 0 0 16px rgba(192, 105, 52, .05);
}

.player-profile-page .player-profile-section {
    margin-top: 26px;
}

.player-profile-page .player-tournament-list {
    background: rgba(10, 15, 21, .90);
    border-color: rgba(202, 62, 119, .62);
    box-shadow:
        -1px 0 0 rgba(255, 63, 71, .68),
        1px 0 0 rgba(192, 76, 236, .42),
        inset 0 0 24px rgba(91, 40, 115, .025);
}

.player-tournament-header {
    min-height: 40px;
    padding: 0 18px;
    display: grid;
    grid-template-columns: 90px minmax(180px, 1.05fr) minmax(220px, 1.55fr) 190px;
    align-items: center;
    gap: 24px;
    color: #8996a3;
    background: rgba(5, 9, 14, .58);
    border-bottom: 1px solid rgba(79, 91, 103, .45);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .8px;
    text-transform: uppercase;
}
.player-tournament-header span:last-child { text-align: right; }

.player-profile-page .player-tournament-row {
    transition: background .15s ease, box-shadow .15s ease;
}
.player-profile-page .player-tournament-row:hover {
    background: rgba(35, 29, 43, .28);
    box-shadow: inset 3px 0 0 rgba(227, 71, 92, .50);
}

.player-profile-page .player-tournament-link {
    border-color: rgba(152, 61, 135, .60);
    background: rgba(12, 17, 23, .82);
}
.player-profile-page .player-tournament-link:hover {
    background: rgba(71, 23, 55, .28);
    border-color: rgba(229, 75, 154, .78);
    box-shadow: 0 0 12px rgba(217, 65, 146, .12);
}

.player-profile-page .player-achievements-text {
    border-color: rgba(176, 62, 124, .52);
    background: rgba(10, 15, 21, .88);
}

@media (max-width: 900px) {
    .player-tournament-header { display: none; }
}


/* Unified DPL awards: trophies for placements, one MVP language everywhere. */
.player-profile-page .player-dotabuff-link {
    display: inline-flex !important;
    color: #f4f6f8;
    border-color: rgba(193, 70, 144, .66);
    background: linear-gradient(180deg, rgba(27, 16, 31, .82), rgba(10, 15, 21, .88));
}
.player-profile-page .player-dotabuff-link:hover {
    color: #fff;
    border-color: rgba(235, 76, 162, .88);
    box-shadow: 0 0 14px rgba(215, 64, 149, .16);
}

.player-profile-page .player-medal-icon svg {
    width: 25px;
    height: 25px;
    display: block;
}
.player-profile-page .player-medal-icon-gold { color: #ffc128; border-color: rgba(194, 139, 22, .58); }
.player-profile-page .player-medal-icon-silver { color: #dbe7f2; border-color: rgba(135, 151, 169, .58); }
.player-profile-page .player-medal-icon-bronze { color: #f18642; border-color: rgba(172, 92, 47, .60); }

.player-profile-page .player-place-trophy {
    min-width: 42px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-weight: 950;
}
.player-profile-page .player-place-trophy svg {
    width: 22px;
    height: 22px;
    flex: 0 0 22px;
    filter: drop-shadow(0 0 4px currentColor);
}
.player-profile-page .player-place-trophy b {
    font-size: 13px;
    line-height: 1;
}
.player-profile-page .player-place-gold { color: #ffc128; }
.player-profile-page .player-place-silver { color: #dbe7f2; }
.player-profile-page .player-place-bronze { color: #f18642; }

.player-profile-page .player-hero-achievement-trophy {
    width: 17px;
    height: 17px;
    flex: 0 0 17px;
    filter: drop-shadow(0 0 4px currentColor);
}
.player-profile-page .player-award-gold { color: #ffc128; }
.player-profile-page .player-award-silver { color: #dbe7f2; }
.player-profile-page .player-award-bronze { color: #f18642; }

.player-profile-page .player-hero-achievement-mvp {
    min-height: 40px;
    padding: 8px 13px;
    border-color: rgba(189, 67, 128, .68);
    background: linear-gradient(180deg, rgba(39, 19, 40, .66), rgba(12, 15, 22, .90));
    box-shadow: inset 0 0 18px rgba(132, 43, 112, .07), 0 0 12px rgba(174, 51, 121, .07);
}
.player-profile-page .player-hero-achievement-star {
    color: #ffc928;
    font-size: 15px;
    line-height: 1;
    text-shadow: 0 0 7px rgba(255, 195, 35, .24);
}
.player-profile-page .player-hero-achievement-mvp > strong {
    color: #f4f6f8;
    letter-spacing: .2px;
}
.player-profile-page .player-hero-achievement-mvp .player-hero-achievement-count {
    color: #ff4b55;
}

/* Player map performance: maps are counted from actual series scores. */
.player-profile-page .player-map-stats {
    margin-top: 18px;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.player-profile-page .player-map-stat-card {
    min-height: 104px;
    padding: 17px 18px 15px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    border: 1px solid rgba(96, 112, 126, .48);
    border-radius: 10px;
    background: rgba(10, 16, 22, .90);
    box-shadow: inset 3px 0 0 rgba(115, 135, 151, .72), inset 0 0 20px rgba(255,255,255,.012);
}

.player-profile-page .player-map-stat-label {
    margin-bottom: 5px;
    color: #8d99a5;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .9px;
    text-transform: uppercase;
}

.player-profile-page .player-map-stat-card strong {
    color: #f4f7fa;
    font-size: clamp(25px, 2vw, 34px);
    line-height: 1;
    font-weight: 950;
    letter-spacing: -.6px;
}

.player-profile-page .player-map-stat-card small {
    margin-top: 7px;
    color: #77838e;
    font-size: 10px;
    font-weight: 700;
}

.player-profile-page .player-map-stat-total {
    border-color: rgba(218, 166, 44, .50);
    box-shadow: inset 3px 0 0 rgba(232, 177, 44, .88), 0 0 16px rgba(211, 157, 35, .045);
}

.player-profile-page .player-map-stat-group {
    border-color: rgba(58, 154, 218, .48);
    box-shadow: inset 3px 0 0 rgba(55, 166, 235, .82), 0 0 16px rgba(55, 166, 235, .04);
}

.player-profile-page .player-map-stat-playoff {
    border-color: rgba(196, 67, 133, .52);
    box-shadow: inset 3px 0 0 rgba(220, 72, 143, .88), 0 0 16px rgba(211, 62, 136, .05);
}

.player-profile-page .player-map-stat-winrate {
    border-color: rgba(73, 178, 102, .50);
    box-shadow: inset 3px 0 0 rgba(83, 202, 111, .88), 0 0 16px rgba(73, 187, 99, .05);
}

.player-profile-page .player-map-stat-winrate strong {
    color: #78dc8d;
}

@media (max-width: 900px) {
    .player-profile-page .player-map-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 520px) {
    .player-profile-page .player-map-stats {
        grid-template-columns: 1fr;
    }
}
