.contender-profile,
.match-detail-page {
    --profile-ink: #211f1b;
    --profile-muted: #6e685e;
    --profile-border: #d8d0c1;
    --profile-paper: #fffdf8;
    --profile-accent: #783c25;
    --profile-green: #24613d;
    --profile-red: #8a3040;
    color: var(--profile-ink);
    margin: 0 auto 3rem;
    max-width: 86rem;
}

.contender-back {
    color: var(--profile-accent);
    display: inline-block;
    font-size: .88rem;
    font-weight: 750;
    margin: .5rem 0 1rem;
}

.contender-notice {
    background: #e8f3e8;
    border: 1px solid #a9c8aa;
    border-radius: .65rem;
    color: #215536;
    padding: .8rem 1rem;
}

.contender-hero,
.match-detail-hero {
    align-items: center;
    background: radial-gradient(circle at 90% 10%, rgba(196, 121, 75, .2), transparent 18rem), #201d19;
    border-radius: 1rem;
    color: #f6f0e4;
    display: grid;
    gap: 1.5rem;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: clamp(1.3rem, 4vw, 2.5rem);
}

.contender-hero h1,
.match-detail-hero h1 {
    font-family: Georgia, serif;
    font-size: clamp(2rem, 5vw, 4rem);
    line-height: 1;
    margin: .25rem 0 .7rem;
}

.contender-eyebrow {
    color: #a75a37;
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .14em;
    margin: 0;
    text-transform: uppercase;
}

.contender-hero .contender-eyebrow,
.match-detail-hero .contender-eyebrow { color: #dda77f; }

.contender-status-line {
    align-items: center;
    color: #beb6a9;
    display: flex;
    flex-wrap: wrap;
    font-size: .82rem;
    gap: .65rem 1rem;
}

.contender-status {
    border-radius: 999px;
    color: white;
    font-size: .7rem;
    font-weight: 850;
    padding: .28rem .55rem;
    text-transform: uppercase;
}

.contender-status.is-active { background: var(--profile-green); }
.contender-status.is-retired { background: #655f57; }

.contender-rating,
.match-detail-score {
    text-align: right;
}

.contender-rating span,
.contender-rating small,
.match-detail-score span,
.match-detail-score small { color: #bbb2a5; display: block; }
.contender-rating strong,
.match-detail-score strong { display: block; font-size: 2.7rem; line-height: 1; }

.contender-actions {
    display: flex;
    gap: .55rem;
    grid-column: 1 / -1;
}

.contender-actions form { margin: 0; }

.contender-button {
    background: transparent;
    border: 1px solid #8e867b;
    border-radius: .45rem;
    color: #f6f0e4;
    display: inline-block;
    font-size: .8rem;
    font-weight: 800;
    padding: .65rem .9rem;
}

.contender-button:hover { color: white; }
.contender-button.is-primary { background: #9b4e2d; border-color: #b86c48; }

.contender-calibration {
    align-items: center;
    background: #f4ecdf;
    border: 1px solid #d9c8ae;
    border-radius: .8rem;
    display: grid;
    gap: 2rem;
    grid-template-columns: minmax(0, 1fr) minmax(16rem, .55fr);
    margin: 1rem 0;
    padding: 1.2rem 1.35rem;
}

.contender-calibration h2 { font-size: 1.2rem; margin: .2rem 0; }
.contender-calibration p { color: var(--profile-muted); margin: 0; }
.contender-calibration__progress div { display: flex; align-items: baseline; }
.contender-calibration__progress strong { font-size: 1.6rem; }
.contender-calibration__progress span,
.contender-calibration__progress small { color: var(--profile-muted); }
.contender-calibration__progress progress { display: block; height: .65rem; margin: .4rem 0; width: 100%; }

.contender-section {
    background: var(--profile-paper);
    border: 1px solid var(--profile-border);
    border-radius: .8rem;
    margin: 1rem 0;
    padding: 1.2rem 1.35rem;
}

.contender-section h2,
.contender-section h3 {
    color: var(--profile-ink);
}

.contender-section__heading {
    align-items: end;
    display: flex;
    justify-content: space-between;
    margin-bottom: .9rem;
}

.contender-section__heading h2 { font-size: 1.35rem; margin: .15rem 0 0; }
.contender-section__heading > span { color: var(--profile-muted); font-size: .78rem; }

.contender-version-list { display: grid; gap: .65rem; grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); }
.contender-version {
    border: 1px solid var(--profile-border);
    border-radius: .6rem;
    color: inherit;
    display: grid;
    padding: .8rem;
}
.contender-version:hover { color: inherit; text-decoration: none; }
.contender-version.is-current { border-color: #a65a38; box-shadow: inset 0 0 0 1px #a65a38; }
.contender-version > span { color: var(--profile-accent); font-size: .7rem; font-weight: 850; text-transform: uppercase; }
.contender-version small { color: var(--profile-muted); }

.contender-results { display: grid; gap: .65rem; }
.contender-result {
    align-items: center;
    border: 1px solid var(--profile-border);
    border-left: .35rem solid #817b71;
    border-radius: .5rem;
    display: grid;
    gap: 1rem;
    grid-template-columns: 6rem minmax(10rem, .8fr) minmax(14rem, 1.3fr) auto;
    padding: .75rem .85rem;
}
.contender-result.is-win { border-left-color: var(--profile-green); }
.contender-result.is-loss { border-left-color: var(--profile-red); }
.contender-result__outcome strong,
.contender-result__outcome span,
.contender-result__opponent span,
.contender-result__opponent small { display: block; }
.contender-result__outcome strong { font-size: 1.05rem; }
.contender-result__outcome .rating-delta { color: var(--profile-muted); font-size: .78rem; }
.contender-result__opponent > a { font-weight: 800; }
.contender-result__opponent small { color: var(--profile-muted); font-size: .72rem; }
.contender-result__explanation p { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 0 .15rem; }
.contender-result__explanation p span { background: #eee9df; border-radius: 999px; font-size: .68rem; padding: .18rem .45rem; }
.contender-result__explanation strong { font-size: .78rem; font-weight: 650; }
.contender-result__details { font-size: .75rem; font-weight: 800; white-space: nowrap; }
.contender-empty { background: #f3f0e9; border-radius: .45rem; color: var(--profile-muted); padding: 1rem; }

.deck-history { margin: 1rem 0; }
.deck-profile-list {
    background: transparent;
    margin-bottom: 0;
}
.deck-profile-list__printing {
    color: var(--profile-muted);
    font-size: .68rem;
    font-weight: 750;
    margin-left: .35rem;
    text-transform: uppercase;
}

.match-detail-hero { margin-bottom: 1rem; }
.match-detail-hero.is-win { box-shadow: inset .4rem 0 var(--profile-green); }
.match-detail-hero.is-loss { box-shadow: inset .4rem 0 var(--profile-red); }
.match-detail-hero a { color: #f1c29f; }
.match-detail-summary { display: grid; gap: .65rem; grid-template-columns: repeat(4, 1fr); margin-bottom: 1rem; }
.match-detail-summary article { background: #f4ecdf; border: 1px solid #d9c8ae; border-radius: .6rem; padding: .8rem; }
.match-detail-summary span { color: var(--profile-muted); display: block; font-size: .72rem; text-transform: uppercase; }
.match-detail-summary strong { font-size: 1.1rem; }
.match-detail-highlight { background: #eaf2e9; border: 1px solid #b9ceb7; border-radius: .7rem; margin-bottom: 1rem; padding: 1rem 1.2rem; }
.match-detail-highlight > strong { display: block; font-size: 1.05rem; margin: .2rem 0; }
.match-detail-highlight > p:last-child { color: var(--profile-muted); font-size: .75rem; margin: 0; }
.forge-transcript summary { color: var(--profile-accent); cursor: pointer; font-weight: 800; }
.forge-transcript pre { background: #181713; border-radius: .5rem; color: #e8e2d8; font-size: .72rem; margin-top: .8rem; max-height: 38rem; overflow: auto; padding: 1rem; white-space: pre-wrap; }

@media (max-width: 767.98px) {
    .contender-hero,
    .match-detail-hero,
    .contender-calibration { grid-template-columns: 1fr; }
    .contender-rating,
    .match-detail-score { text-align: left; }
    .contender-actions { align-items: stretch; flex-direction: column; }
    .contender-actions form,
    .contender-actions button { width: 100%; }
    .contender-result { align-items: start; grid-template-columns: 5rem 1fr; }
    .contender-result__explanation,
    .contender-result__details { grid-column: 1 / -1; }
    .match-detail-summary { grid-template-columns: repeat(2, 1fr); }
}
