/*
 * Teams.
 *
 * Every colour is read from the running template, with core's own value as the
 * fallback. Nothing here declares a --cms-* variable, because a plugin that did
 * would override the template on every site that installs it.
 */

.tm-lede {
    max-width: var(--cms-measure, 68ch);
    color: var(--cms-dim, #9AA1B1);
}

.tm-said {
    margin-block: 14px;
    padding: 10px 14px;
    border: 1px solid var(--cms-line, #272C3A);
    border-radius: var(--cms-radius, 14px);
    background: var(--cms-pane, #171A24);
    color: var(--cms-dim, #9AA1B1);
}

.tm-said-good { border-color: var(--cms-good, #3BA55D); color: var(--cms-txt, #E8EAF0); }
.tm-said-bad { border-color: var(--cms-bad, #D2432A); color: var(--cms-txt, #E8EAF0); }

.tm-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-block: 18px 14px;
    border-bottom: 1px solid var(--cms-line, #272C3A);
}

.tm-tab {
    padding: 10px 14px;
    color: var(--cms-dim, #9AA1B1);
    text-decoration: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
}

.tm-tab:hover { color: var(--cms-txt, #E8EAF0); }

.tm-tab.is-on {
    color: var(--cms-txt, #E8EAF0);
    border-bottom-color: var(--cms-accent, #E5642F);
}

.tm-filters {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    gap: 12px;
    margin-block: 16px 22px;
    padding: 14px;
    border: 1px solid var(--cms-line, #272C3A);
    border-radius: var(--cms-radius, 14px);
    background: var(--cms-pane, #171A24);
}

.tm-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.tm-field > span { font-size: .85em; color: var(--cms-dim, #9AA1B1); }

.tm-field input,
.tm-field select,
.tm-field textarea {
    padding: 9px 11px;
    border: 1px solid var(--cms-line, #272C3A);
    border-radius: var(--cms-btn-radius, 10px);
    background: var(--cms-bg, #12141C);
    color: var(--cms-txt, #E8EAF0);
    font: inherit;
    width: 100%;
}

.tm-field textarea { resize: vertical; }

.tm-check { display: flex; align-items: center; gap: 8px; color: var(--cms-dim, #9AA1B1); }
.tm-consent { margin-block: 12px; }
.tm-clear { color: var(--cms-dim, #9AA1B1); font-size: .9em; }

.tm-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 16px;
    margin-block: 18px;
}

.tm-card {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 16px;
    border: 1px solid var(--cms-line, #272C3A);
    border-radius: var(--cms-radius, 14px);
    background: var(--cms-pane, #171A24);
}

.tm-card-top { display: flex; justify-content: space-between; gap: 10px; align-items: start; }
.tm-who { display: flex; gap: 12px; align-items: center; min-width: 0; }
.tm-avatar { border-radius: 50%; flex: none; }

.tm-name { margin: 0; font-size: 1.05em; }
.tm-name a { color: var(--cms-txt, #E8EAF0); text-decoration: none; }
.tm-name a:hover { color: var(--cms-accent, #E5642F); }

.tm-tag { color: var(--cms-accent, #E5642F); font-size: .85em; }
.tm-headline { margin: 2px 0 0; color: var(--cms-dim, #9AA1B1); font-size: .92em; }
.tm-open { color: var(--cms-good, #3BA55D); }
.tm-shut { color: var(--cms-dim, #9AA1B1); }
.tm-about { margin: 0; color: var(--cms-dim, #9AA1B1); font-size: .95em; }
.tm-wants { margin: 0; font-size: .92em; }

.tm-tags { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }

.tm-tags li {
    padding: 3px 9px;
    border: 1px solid var(--cms-line, #272C3A);
    border-radius: 999px;
    font-size: .8em;
    color: var(--cms-dim, #9AA1B1);
}

/* The numbers nobody typed. Marked out with an accent edge and a label so it
   reads as one claim from one source, separate from the words above it. */
.tm-standing {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 4px 18px;
    margin: 0;
    padding: 10px 12px;
    border: 1px solid var(--cms-line, #272C3A);
    border-left: 2px solid var(--cms-accent, #E5642F);
    border-radius: var(--cms-btn-radius, 10px);
    background: var(--cms-bg, #12141C);
}

.tm-standing > div { display: flex; flex-direction: column; }

.tm-standing dt {
    font-size: .72em;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--cms-dim, #9AA1B1);
}

.tm-standing dd { margin: 0; font-variant-numeric: tabular-nums; font-weight: 600; }
.tm-standing-note { margin: 0 0 0 auto; font-size: .72em; color: var(--cms-dim, #9AA1B1); }

.tm-contact {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 14px;
    margin-top: auto;
    padding-top: 10px;
    border-top: 1px solid var(--cms-line, #272C3A);
    font-size: .88em;
    color: var(--cms-dim, #9AA1B1);
}

.tm-contact-bit b { color: var(--cms-txt, #E8EAF0); font-weight: 600; }

.tm-steam {
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: .95em;
    word-break: break-all;
}

.tm-when { margin-left: auto; }

.tm-compose { margin-block: 16px; }
.tm-compose > summary { display: inline-block; cursor: pointer; list-style: none; }
.tm-compose > summary::-webkit-details-marker { display: none; }

.tm-form {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-top: 14px;
    padding: 18px;
    border: 1px solid var(--cms-line, #272C3A);
    border-radius: var(--cms-radius, 14px);
    background: var(--cms-pane, #171A24);
}

.tm-row { display: flex; flex-wrap: wrap; gap: 14px; }
.tm-row > .tm-field { flex: 1 1 180px; }

.tm-note { margin: 0; font-size: .85em; color: var(--cms-dim, #9AA1B1); }
.tm-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.tm-secondary { margin-top: 12px; }
.tm-inline { display: inline-flex; gap: 8px; align-items: center; }
.tm-danger { border-color: var(--cms-bad, #D2432A); }

.tm-roster, .tm-applications { list-style: none; margin: 12px 0; padding: 0; }

.tm-roster-row, .tm-application {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid var(--cms-line, #272C3A);
}

.tm-application { flex-direction: column; align-items: start; }
.tm-roster-who a { color: var(--cms-txt, #E8EAF0); text-decoration: none; }
.tm-roster-who a:hover { color: var(--cms-accent, #E5642F); }

.tm-role {
    margin-left: 6px;
    font-size: .75em;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--cms-accent, #E5642F);
}

.tm-roster-row .tm-standing { margin-left: auto; padding: 6px 10px; }

.tm-report > summary {
    cursor: pointer;
    list-style: none;
    padding: 2px 8px;
    color: var(--cms-dim, #9AA1B1);
    border-radius: var(--cms-btn-radius, 10px);
}

.tm-report > summary::-webkit-details-marker { display: none; }
.tm-report > summary:hover { color: var(--cms-bad, #D2432A); }

.tm-report-form {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 8px;
    padding: 12px;
    border: 1px solid var(--cms-line, #272C3A);
    border-radius: var(--cms-btn-radius, 10px);
    background: var(--cms-bg, #12141C);
    font-size: .85em;
}

.tm-report-form label { display: flex; flex-direction: column; gap: 4px; }

.tm-report-form input,
.tm-report-form select {
    padding: 6px 8px;
    border: 1px solid var(--cms-line, #272C3A);
    border-radius: var(--cms-btn-radius, 10px);
    background: var(--cms-pane, #171A24);
    color: var(--cms-txt, #E8EAF0);
    font: inherit;
}

.tm-none { color: var(--cms-dim, #9AA1B1); }
.tm-back { margin-top: 24px; }

@media (max-width: 640px) {
    .tm-standing-note { margin-left: 0; width: 100%; }
    .tm-when { margin-left: 0; }
    .tm-roster-row .tm-standing { margin-left: 0; }
}

/* A heading needs air above it, or the blurb it follows reads as part of it. */
.tm-section {
    margin-block-start: clamp(28px, 3.2vw, 44px);
    padding-block-end: 8px;
    border-bottom: 1px solid var(--cms-line, #272C3A);
}

.tm .tm-about + .tm-wants { margin-block-start: 6px; }
