/* ── Page shell ─────────────────────────────────────── */
#profile-content {
    min-height: 100vh;
    width: 80vw;
    display: flex;
    flex-flow: column;
    align-items: center;
    padding-bottom: 80px;
    gap: 40px;
}

/* ── Header ─────────────────────────────────────────── */
#team-header {
    width: 100%;
    padding: 48px 0 32px;
    border-bottom: 1px solid rgba(255,255,255,0.08);
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 24px;
}

#team-header-left { display: flex; align-items: center; gap: 24px; }

.team-logo       { height: 80px; width: 80px; object-fit: contain; }
.team-name-block { display: flex; flex-flow: column; gap: 6px; }
.team-name       { font-family: "Abolition", sans-serif; font-size: 46px; color: white; margin: 0; letter-spacing: 4px; line-height: 1; }
.team-uni        { font-family: "Archimoto V01 Black", sans-serif; font-size: 14px; color: rgba(255,255,255,0.35); letter-spacing: 3px; margin: 0; }

/* ── Section block ───────────────────────────────────── */
.section-block {
    width: 100%;
    display: flex;
    flex-flow: column;
    gap: 16px;
}

/* ── Record row ──────────────────────────────────────── */
.record-row {
    display: flex;
    gap: 48px;
    align-items: baseline;
}

.record-row .card-label { margin-bottom: 6px; }

.record-sep {
    color: #fff;
    font-size: 0.6em;
    margin: 0 6px;
    vertical-align: middle;
}

/* ── Section title ───────────────────────────────────── */
.section-title {
    width: 100%;
    font-family: "Archimoto V01 Black", sans-serif;
    font-size: 13px;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: rgba(255,255,255,0.3);
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(255,255,255,0.06);
    margin: 0;
}

/* ── Stat cards grid ─────────────────────────────────── */
.cards-row           { width: 100%; display: grid; gap: 14px; }
.cards-row.cols-4    { grid-template-columns: repeat(4, 1fr); }
.cards-row.cols-3    { grid-template-columns: repeat(3, 1fr); }

.stat-card {
    background-color: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.07);
    border-radius: 8px;
    padding: 20px 22px;
    display: flex;
    flex-flow: column;
    gap: 12px;
}

.card-label        { font-family: "Archimoto V01 Black", sans-serif; font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: rgba(255,255,255,0.3); margin: 0; }
.card-value        { font-family: "Abolition", sans-serif; font-size: 36px; color: white; line-height: 1; margin: 0; letter-spacing: 3px; }
.card-value.medium { font-size: 28px; }
.card-sub          { font-family: "Archimoto V01", sans-serif; font-size: 14px; color: rgba(255,255,255,0.35); margin: 0; }
.card-divider      { width: 100%; height: 1px; background-color: rgba(255,255,255,0.06); }

.stat-row  { display: flex; gap: 20px 28px; flex-wrap: wrap; }
.stat-item { display: flex; flex-flow: column; gap: 3px; }
.stat-label { font-family: "Archimoto V01 Black", sans-serif; font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: rgba(255,255,255,0.3); }
.stat-value { font-family: "Archimoto V01", sans-serif; font-size: 14px; color: rgba(255,255,255,0.85); }

/* ── Tables ──────────────────────────────────────────── */
.data-table       { width: 100%; border-collapse: collapse; font-family: "Archimoto V01", sans-serif; font-size: 13px; }
.data-table.fixed { table-layout: fixed; }

.data-table thead th {
    background-color: rgba(255,255,255,0.04);
    color: rgba(255,255,255,0.4);
    font-family: "Archimoto V01 Black", sans-serif;
    font-size: 11px;
    letter-spacing: 2px;
    text-transform: uppercase;
    padding: 10px 14px;
    border-bottom: 1px solid rgba(255,255,255,0.08);
    text-align: center;
    font-weight: normal;
    border-top: none;
}

.data-table tbody tr     { border-bottom: 1px solid rgba(255,255,255,0.05); color: rgba(255,255,255,0.8); transition: background-color 150ms; }
.data-table tbody tr:hover { background-color: rgba(255,255,255,0.03); }
.data-table tbody td     { padding: 12px 14px; text-align: center; border: none; }
.data-table tbody td.left  { text-align: left; }
.data-table thead th.left  { text-align: left; }

.result-win      { color: rgba(120,255,120,0.8);  font-family: "Archimoto V01 Black", sans-serif; font-size: 13px; letter-spacing: 1px; }
.result-loss     { color: rgba(255,100,100,0.6);  font-family: "Archimoto V01 Black", sans-serif; font-size: 13px; letter-spacing: 1px; }
.result-pending  { color: rgba(255,255,255,0.25); font-family: "Archimoto V01 Black", sans-serif; font-size: 13px; letter-spacing: 1px; }
.result-progress { color: rgba(255,200,80,0.7);   font-family: "Archimoto V01 Black", sans-serif; font-size: 13px; letter-spacing: 1px; }

.map-pill      { display: inline-flex; flex-flow: row; align-items: center; gap: 5px; padding: 3px 8px; border-radius: 3px; font-size: 13px; font-family: "Archimoto V01", sans-serif; margin: 2px; }
.map-pill.win  { background-color: rgba(120,255,120,0.08); color: rgba(120,255,120,0.7); }
.map-pill.loss { background-color: rgba(255,80,80,0.08);   color: rgba(255,100,100,0.6); }

.player-link { color: rgba(255,255,255,0.85); text-decoration: none; }
.player-link:hover { color: white; text-decoration: underline; }

.match-link { color: rgba(255,255,255,0.5); font-size: 13px; text-decoration: none; font-family: "Archimoto V01 Black", sans-serif; letter-spacing: 1px; }
.match-link:hover { color: rgba(255,255,255,0.8); }

.opp-logo { height: 24px; width: 24px; object-fit: contain; vertical-align: middle; margin-right: 6px; }

/* ── Rank badges ─────────────────────────────────────── */
.rank-badges { display: flex; flex-flow: row; gap: 10px; flex-wrap: wrap; }

.rank-badge {
    display: flex;
    flex-flow: column;
    align-items: center;
    gap: 3px;
    padding: 10px 16px;
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 6px;
    min-width: 80px;
}

.rank-badge .rank-num        { font-family: "Abolition", sans-serif; font-size: 28px; color: white; line-height: 1; letter-spacing: 3px; }
.rank-badge .rank-num.gold   { color: rgba(255,200,40,0.95); }
.rank-badge .rank-num.silver { color: rgba(190,200,215,0.95); }
.rank-badge .rank-num.bronze { color: rgba(200,130,70,0.95); }
.rank-badge .rank-label      { font-family: "Archimoto V01 Black", sans-serif; font-size: 10px; letter-spacing: 2px; text-transform: uppercase; color: rgba(255,255,255,0.3); white-space: nowrap; }
.rank-badge .rank-of         { font-family: "Archimoto V01", sans-serif; font-size: 11px; color: rgba(255,255,255,0.2); }

/* ── Responsive ──────────────────────────────────────── */
@media screen and (max-width: 1024px) {
    #profile-content { width: 95%; }
    #team-header     { flex-flow: column; align-items: flex-start; }
    .cards-row.cols-4 { grid-template-columns: repeat(2, 1fr); }
    .cards-row.cols-3 { grid-template-columns: repeat(2, 1fr); }
}

@media screen and (max-width: 768px) {
    #profile-content   { width: 100%; padding: 0 16px; box-sizing: border-box; }
    #page-header       { padding: 24px 0 20px; }
    #team-header       { padding: 20px 0 16px; }
    #team-header-left  { gap: 12px; }
    .team-logo         { height: 56px; width: 56px; }
    .team-name         { font-size: 28px; letter-spacing: 2px; }
    .card-value        { font-size: 26px; }
    .card-value.medium { font-size: 20px; }
    .table-scroll      { overflow-x: auto; -webkit-overflow-scrolling: touch; }
    .record-row        { gap: 24px; flex-wrap: wrap; }
}

@media screen and (max-width: 480px) {
    .team-name        { font-size: 22px; }
    .stat-card        { padding: 14px 16px; }
    .cards-row.cols-4 { grid-template-columns: 1fr; }
    .cards-row.cols-3 { grid-template-columns: 1fr; }
    #profile-content  { padding-bottom: 100px; }
}
