/* The combined results page and its embed (HF27 M7): competition_results.php,
   embed/results.php, includes/results_page.php. Tokens only (css/fc-tokens.css),
   so dark mode follows html.dark-mode; the ListRow, rank disc, chips and
   EmptyState come from css/fc-components.css. */

.rs-page {
    max-width: 960px;
    margin: 0 auto;
    padding: 0 0 var(--space-4xl);
}
.rs-status {
    margin: 0 0 var(--space-md);
    font: var(--type-caption);
    color: var(--text-secondary);
}
.rs-desc {
    margin: 0 0 var(--space-md);
    font: var(--type-body);
    color: var(--text-secondary);
}
.rs-subnav {
    margin: 0 0 var(--space-md);
    padding-bottom: var(--space-xs);
}
.rs-search {
    display: block;
    width: 100%;
    min-height: var(--size-input);
    margin: 0 0 var(--space-md);
    padding: 0 var(--space-base);
    border: var(--border-default) solid var(--input-border);
    border-radius: var(--radius-lg);
    background: var(--input);
    color: var(--text);
    font: var(--type-body);
    font-size: 16px; /* no iOS zoom on focus */
}
.rs-search::placeholder {
    color: var(--placeholder);
}
.rs-search:focus {
    outline: none;
    border-color: var(--primary);
    background: var(--bg);
    box-shadow: var(--focus-ring);
}

/* The list: ListRows on a card, a hairline between rows inset to the text. */
.rs-list {
    margin: 0;
    padding: 0;
    list-style: none;
    border: var(--border-default) solid var(--card-border);
    border-radius: var(--radius-lg);
    overflow: hidden;
}
.rs-item {
    position: relative;
}
.rs-item + .rs-item::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: var(--space-base);
    border-top: var(--border-hairline) solid var(--divider);
    z-index: 1;
}
.rs-item.has-rank + .rs-item.has-rank::before {
    left: calc(var(--space-base) + var(--size-avatar-sm) + var(--space-md));
}
.rs-item[hidden] {
    display: none;
}
/* Full names, never cut: kids' names are shown as typed (owner rule). */
.rs-list .fc-row-title {
    display: block;
    white-space: normal;
    overflow-wrap: anywhere;
}
.rs-list .fc-row-meta {
    display: block;
}
.rs-list .fc-row-value {
    text-align: right;
}
.rs-list details > summary {
    list-style: none;
    cursor: pointer;
}
.rs-list details > summary::-webkit-details-marker {
    display: none;
}
.rs-list details > summary:focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: -2px;
}
.rs-list details[open] > summary {
    background: var(--surface-variant);
}
.rs-body {
    padding: 0 var(--space-base) var(--space-md) calc(var(--space-base) + var(--size-avatar-sm) + var(--space-md));
}
@media (max-width: 575.98px) {
    .rs-body {
        padding-left: var(--space-base);
    }
}
.rs-members {
    margin: 0 0 var(--space-sm);
    font: var(--type-caption);
    color: var(--text-secondary);
}
.rs-chips {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs) var(--space-sm);
    margin: 0;
    padding: 0;
    list-style: none;
}
.rs-chip {
    padding: var(--space-xs) var(--space-sm);
    border-radius: var(--radius-md);
    background: var(--info-bg);
    color: var(--text);
    font: var(--type-caption);
    font-variant-numeric: tabular-nums;
}
.rs-chip b {
    font-weight: 700;
}
.rs-chip.is-off {
    background: var(--surface-variant);
    color: var(--text-secondary);
    text-decoration: line-through;
}
.rs-chip.is-missing {
    background: var(--surface-variant);
    color: var(--text-secondary);
}
.rs-more {
    display: block;
    min-height: var(--size-touch);
    margin: var(--space-md) auto 0;
    padding: 0 var(--space-lg);
    border: var(--border-strong) solid var(--primary);
    border-radius: var(--radius-md);
    background: transparent;
    color: var(--primary);
    font: var(--type-button);
    cursor: pointer;
}
.rs-more:focus-visible {
    outline: none;
    box-shadow: var(--focus-ring);
}
.rs-none {
    padding: var(--space-base);
    font: var(--type-body);
    color: var(--text-secondary);
}
.rs-frozen h2 {
    margin-top: 0;
}
/* Screen-reader only text */
.rs-sr {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
}

/* ------------------------------------------------------------------ */
/* Embed (embed/results.php): no site chrome, one 16 px gutter.         */
/* ------------------------------------------------------------------ */
.rs-embed {
    margin: 0;
    padding: var(--space-base);
    background: var(--bg);
    color: var(--text);
    font-family: var(--font-system);
    -webkit-font-smoothing: antialiased;
}
.rs-embed-title {
    margin: 0 0 var(--space-xs);
    font: var(--type-title-detail);
    color: var(--heading);
}
.rs-embed-tabs {
    margin: 0 0 var(--space-base);
    padding-bottom: var(--space-xs);
}
.rs-embed-foot {
    margin: var(--space-base) 0 0;
    font: var(--type-caption);
    text-align: center;
}
.rs-embed-foot a {
    color: var(--primary);
}
