/* Loaded after style.css: compact purple result-view overrides. */
.winner[class~="1"] .avatar { border-color: #efb82e !important; }
.winner[class~="1"] .medal { color: #fff !important; background: #efb82e !important; }
.winner[class~="2"] .avatar { border-color: #9aa5b5 !important; }
.winner[class~="2"] .medal { color: #fff !important; background: #9aa5b5 !important; }
.winner[class~="3"] .avatar { border-color: #c66a28 !important; }
.winner[class~="3"] .medal { color: #fff !important; background: #c66a28 !important; }
.result-card .result-title:before,.profile-card>.placement-list>div>span{background:linear-gradient(135deg,#7b43b5,#4d197d)!important}.result-card .result-title{min-height:96px;padding:24px 32px 18px 112px}.result-card .result-title:before{left:32px;top:20px;width:62px;height:62px;border-radius:18px;font-size:25px}.result-card .result-title h2{font-size:25px}.count-chip{padding:9px 14px;color:#592189;background:#f4ebfa;font-size:13px}.winner-grid{min-height:345px;gap:42px;padding:26px 25px 0}.winner{width:190px;padding:5px 0 15px}.winner[class~="1"]{transform:translateY(-14px)}.winner .avatar{width:120px;height:145px;border-radius:20px}.winner[class~="1"] .avatar{width:170px;height:195px;border-radius:23px;border-color:#8c4fc0}.winner .medal{margin:0 0 -9px 96px;padding:7px 10px;font-size:14px}.winner[class~="1"] .medal{margin-left:133px;padding:9px 11px;background:#7a3fb1}.winner[class~="3"] .medal{background:#6a2d9b}.winner-chest{margin:11px 0 2px;font-size:15px}.winner h3{font-size:17px}.winner p{font-size:11px}.winner strong{margin-top:10px;padding:6px 13px;color:#64269a;background:#f1e5fa;font-size:13px}.winner[class~="3"] strong{color:#64269a;background:#f1e5fa}.poster-action{padding:0 20px 24px}.poster-action .button{height:50px;padding:0 27px;border-radius:13px;font-size:15px}.profile-summary{min-height:210px;padding:28px}.profile-avatar{width:125px;height:125px;border-radius:21px}.profile-summary>div:nth-child(2){padding:15px 0 0 24px}.profile-summary h2{font-size:28px}.profile-summary .eyebrow{font-size:12px}.profile-summary p{font-size:14px}.profile-stats{gap:13px}.profile-stats span{width:125px;min-height:112px;border-radius:18px;color:#64269a;background:#f3e9fb}.profile-stats span:nth-child(2){color:#64269a;background:#eee3f8}.profile-stats span:nth-child(3){color:#64269a;background:#f7eafb}.profile-stats b{font-size:29px}.profile-card>.placement-list{gap:16px;margin-top:24px;padding:25px}.profile-card>.placement-list>div{min-height:82px;padding:11px 18px;border-radius:15px}.profile-card>.placement-list>div>span{width:58px;height:58px;border-radius:14px;font-size:18px}.profile-card>.placement-list p b,.profile-card>.placement-list strong{font-size:15px}.profile-card>.placement-list p small{font-size:12px}
@media (max-width: 680px) {
    html, body { width: 100%; max-width: 100%; overflow-x: hidden; }
    .container, .hero, .site-header, .site-footer { width: calc(100% - 24px) !important; max-width: none !important; }
    .hero { min-height: 305px; margin-bottom: 28px; padding: 42px 30px; border-radius: 22px; }
    .hero h1 { font-size: clamp(34px, 10vw, 46px); }
    .hero p { font-size: 15px; }
    .finder-section { padding-bottom: 45px; }
    .finder-card { width: 100%; padding: 22px; }
    .finder-heading h2 { font-size: 23px; }
    .range-grid { grid-template-columns: 1fr !important; }
    .section-heading { align-items: flex-start; flex-direction: column; gap: 6px; }
    .result-page { width: calc(100% - 24px); }
    .result-tabs { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; width: 100% !important; gap: 16px !important; margin: 20px 0 52px !important; }
    .tab { width: 100% !important; min-height: 98px !important; padding: 15px 13px !important; gap: 12px !important; border-radius: 21px !important; }
    .tab > i { flex: 0 0 55px; width: 55px; height: 55px; border-radius: 16px; }
    .tab span { font-size: 14px; line-height: 1.15; }
    .tab small { margin-top: 5px; font-size: 10px; line-height: 1.2; }
    .range-banner, .search-card, .compact { width: 100%; min-width: 0; overflow: hidden; }
    .search-fields, .field-grid { grid-template-columns: 1fr !important; }
    .select2-container { width: 100% !important; }
    .live-clock { max-width: 165px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .site-header { gap: 10px; }
}

@media (max-width: 600px) {
    .winner-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: end; min-height: 0; gap: 10px; padding: 25px 10px 8px; }
    .winner, .winner[class~="1"] { width: auto; min-width: 0; transform: none; }
    .winner .avatar { width: 92px; height: 112px; border-radius: 17px; }
    .winner[class~="1"] .avatar { width: 122px; height: 143px; border-radius: 19px; }
    .winner .medal { margin: 0 0 -8px 65px; padding: 6px 8px; font-size: 12px; }
    .winner[class~="1"] .medal { margin-left: 93px; padding: 8px 9px; }
    .winner-chest { margin-top: 9px; font-size: 13px; }
    .winner h3 { font-size: 13px; line-height: 1.15; word-break: break-word; }
    .winner p { min-height: 38px; font-size: 10px; line-height: 1.3; word-break: break-word; }
    .winner strong { margin-top: 7px; padding: 6px 8px; font-size: 11px; white-space: nowrap; }
    .poster-action { padding: 12px 10px 20px; }
    .poster-action .button { height: 56px; font-size: 16px; }
    .profile-card > .placement-list { display: grid; grid-template-columns: 1fr; padding: 18px; gap: 12px; }
    .profile-card > .placement-list > div { min-height: 76px; display: flex; gap: 12px; padding: 12px 14px; border-radius: 15px; }
    .profile-card > .placement-list > div > span { flex: 0 0 54px; width: 54px; height: 54px; font-size: 17px; }
    .profile-card > .placement-list p { min-width: 0; }
    .profile-card > .placement-list p b { font-size: 15px; overflow-wrap: anywhere; }
    .profile-card > .placement-list p small { font-size: 12px; }
    .profile-card > .placement-list strong { flex: 0 0 64px; font-size: 13px; text-align: right; }
}

/* Lazy-loaded leaderboard and category leaderboard. */
.leaderboard-shell {
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 24px;
    background: #fff;
    box-shadow: var(--shadow);
    animation: rise .35s ease both;
}

.leaderboard-heading {
    min-height: 132px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 30px 34px;
    color: #fff;
    background: linear-gradient(135deg, var(--purple-dark), var(--purple) 65%, #8052ae);
}

.leaderboard-heading .eyebrow,
.leaderboard-heading p {
    color: #e8d9f6;
}

.leaderboard-heading h2 {
    margin: 0;
    font: 800 28px/1.15 var(--font-family-sans-serif);
}

.leaderboard-heading p {
    margin: 6px 0 0;
    font-size: 13px;
}

.icon-button {
    width: 44px;
    height: 44px;
    flex: 0 0 auto;
    border: 1px solid rgba(255,255,255,.35);
    border-radius: 14px;
    cursor: pointer;
    color: #fff;
    background: rgba(255,255,255,.14);
    transition: .2s ease;
}

.icon-button:hover {
    transform: rotate(35deg);
    background: rgba(255,255,255,.24);
}

.leaderboard-list {
    padding: 14px 28px 28px;
}

.leaderboard-row {
    min-height: 78px;
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 12px 15px;
    border-bottom: 1px solid var(--line);
    animation: rise .35s ease both;
}

.leaderboard-row:last-child {
    border-bottom: 0;
}

.leaderboard-rank {
    width: 32px;
    flex: 0 0 32px;
    color: var(--muted);
    font-size: 16px;
    font-weight: 900;
    text-align: center;
}

.leaderboard-row.rank-1 .leaderboard-rank,
.leaderboard-row.rank-2 .leaderboard-rank,
.leaderboard-row.rank-3 .leaderboard-rank {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    background: #a37d31;
}

.leaderboard-row.rank-2 .leaderboard-rank { background: #7d8796; }
.leaderboard-row.rank-3 .leaderboard-rank { background: #a5653d; }

.team-mark {
    width: 42px;
    height: 42px;
    display: grid;
    flex: 0 0 42px;
    place-items: center;
    border-radius: 14px;
    color: var(--purple);
    background: var(--lilac);
}

.team-name {
    min-width: 0;
    display: grid;
    flex: 1;
    gap: 2px;
}

.team-name strong {
    overflow: hidden;
    color: var(--ink);
    font-size: 15px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.team-name small,
.team-points small {
    color: var(--muted);
    font-size: 11px;
    font-weight: 700;
}

.team-points {
    color: var(--purple);
    font-size: 22px;
    text-align: right;
}

.team-points small {
    display: block;
    font-size: 9px;
    letter-spacing: .08em;
}

.leaderboard-loading,
.leaderboard-empty {
    min-height: 250px;
    display: grid;
    place-content: center;
    padding: 30px;
    color: var(--muted);
    text-align: center;
}

.leaderboard-loading i,
.leaderboard-empty i {
    margin-bottom: 12px;
    color: var(--violet);
    font-size: 28px;
}

.leaderboard-empty h3,
.leaderboard-empty p {
    margin: 0;
}

.leaderboard-empty p {
    margin-top: 5px;
    font-size: 13px;
}

.category-output {
    padding: 28px;
}

.category-section + .category-section {
    margin-top: 42px;
}

.category-section > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin-bottom: 14px;
    color: var(--ink);
}

.category-section > header span {
    font-size: 20px;
    font-weight: 900;
}

.category-section > header i {
    color: #d19d22;
}

.category-section > header small {
    color: var(--muted);
    font-size: 11px;
    font-weight: 700;
}

.category-podium {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: clamp(18px, 5vw, 75px);
    min-height: 305px;
    padding: 22px;
    border: 1px solid #eee8f2;
    border-radius: 20px;
    background: linear-gradient(180deg, #fcfaff, #fff);
}

.category-winner {
    width: min(195px, 30%);
    min-width: 0;
    position: relative;
    padding: 15px 7px 12px;
    border-radius: 18px;
    text-align: center;
}

.category-winner.rank-1 {
    padding-top: 0;
    transform: translateY(-18px);
}

.category-medal {
    width: 45px;
    height: 45px;
    display: grid;
    place-items: center;
    position: relative;
    z-index: 1;
    margin: 0 0 -9px auto;
    border: 3px solid #fff;
    border-radius: 50%;
    color: #fff;
    background: #8c98a8;
    box-shadow: 0 5px 12px rgba(42,27,56,.15);
    font-size: 13px;
    font-weight: 900;
}

.rank-1 .category-medal { width: 52px; height: 52px; background: #e6b230; font-size: 15px; }
.rank-3 .category-medal { background: #c86e2d; }

.category-avatar {
    width: 112px;
    height: 132px;
    overflow: hidden;
    display: grid;
    place-items: center;
    margin: auto;
    border: 3px solid #fff;
    border-radius: 20px;
    color: #fff;
    background: linear-gradient(135deg, var(--purple), var(--violet));
    box-shadow: 0 10px 21px rgba(57,24,84,.14);
    font-size: 24px;
    font-weight: 900;
}

.rank-1 .category-avatar {
    width: 145px;
    height: 170px;
    border-color: #e6b230;
}

.category-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.category-chest {
    margin-top: 11px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 900;
}

.category-winner h3 {
    min-height: 34px;
    margin: 3px 0;
    overflow-wrap: anywhere;
    color: var(--ink);
    font-size: 15px;
    line-height: 1.12;
    text-transform: uppercase;
}

.category-winner p {
    min-height: 28px;
    margin: 0;
    overflow-wrap: anywhere;
    color: var(--muted);
    font-size: 10px;
    line-height: 1.25;
}

.category-winner > strong {
    display: inline-block;
    margin-top: 8px;
    padding: 6px 12px;
    border-radius: 99px;
    color: var(--purple);
    background: #f1e6fa;
    font-size: 14px;
}

.category-winner > strong small {
    color: var(--muted);
    font-size: 10px;
}

@media (max-width: 600px) {
    .leaderboard-heading { min-height: 120px; padding: 25px 20px; }
    .leaderboard-heading h2 { font-size: 23px; }
    .leaderboard-heading p { font-size: 12px; }
    .leaderboard-list, .category-output { padding: 12px; }
    .leaderboard-row { gap: 10px; padding: 12px 4px; }
    .leaderboard-rank { width: 26px; flex-basis: 26px; font-size: 14px; }
    .leaderboard-row.rank-1 .leaderboard-rank,
    .leaderboard-row.rank-2 .leaderboard-rank,
    .leaderboard-row.rank-3 .leaderboard-rank { width: 30px; height: 30px; }
    .team-mark { width: 34px; height: 34px; flex-basis: 34px; border-radius: 11px; }
    .team-name strong { font-size: 13px; }
    .team-name small { font-size: 9px; }
    .team-points { font-size: 18px; }
    .category-section + .category-section { margin-top: 28px; }
    .category-section > header span { font-size: 16px; }
    .category-section > header small { display: none; }
    .category-podium { min-height: 250px; gap: 5px; padding: 16px 4px; }
    .category-winner { width: 33.333%; padding-left: 2px; padding-right: 2px; }
    .category-winner.rank-1 { transform: translateY(-10px); }
    .category-medal { width: 35px; height: 35px; margin-bottom: -7px; border-width: 2px; font-size: 11px; }
    .rank-1 .category-medal { width: 41px; height: 41px; font-size: 12px; }
    .category-avatar { width: 74px; height: 90px; border-radius: 15px; font-size: 17px; }
    .rank-1 .category-avatar { width: 98px; height: 117px; border-radius: 17px; }
    .category-chest { margin-top: 7px; font-size: 10px; }
    .category-winner h3 { min-height: 29px; font-size: 11px; }
    .category-winner p { min-height: 25px; font-size: 8px; }
    .category-winner > strong { margin-top: 5px; padding: 5px 7px; font-size: 11px; }
}
