/* Public results — on top of designer.css + organizations.css. */

a.dz-user { text-decoration: none; }
a.dz-user:hover { color: var(--text); }

.rs-filters { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 10px 14px; align-items: end; }
.rs-filters label { display: grid; gap: 4px; font-weight: 600; font-size: 12.5px; }
.rs-filters select, .rs-filters input { width: 100%; }

.rs-state { font-size: 10px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; border-radius: 4px; padding: 1px 6px; border: 1px solid var(--line); color: var(--muted); }
.rs-state--live { color: var(--accent-lt); border-color: var(--accent); }
.rs-state--final { color: var(--text); border-color: var(--text); }
.rs-pages { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-top: 12px; }

.rs-badge { font-size: 11px; font-weight: 700; letter-spacing: .5px; color: var(--accent-ink); background: var(--accent-lt); border-radius: 4px; padding: 2px 8px; }
.rs-orgfilter select { max-width: 260px; }

.rs-table-wrap { overflow-x: auto; margin: 0 -4px; }
.rs-table { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.rs-table th, .rs-table td { padding: 7px 8px; border-top: 1px solid var(--line); text-align: left; white-space: nowrap; }
.rs-table thead th { border-top: 0; color: var(--muted); font-size: 11px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; }
.rs-table tbody tr:hover { background: var(--accent-wash); }
.rs-table td:nth-child(2) { white-space: normal; font-weight: 600; }
.rs-num { text-align: right !important; }
.rs-rank { width: 36px; color: var(--muted); }
.rs-total { font-weight: 700; color: var(--accent-lt); }
.rs-org-col a { color: var(--muted); text-decoration: none; }
.rs-org-col a:hover { color: var(--text); }
.rs-org-inline { display: none; font-weight: 400; color: var(--muted); font-size: 12px; }

@media (max-width: 640px) {
  .rs-org-col { display: none; }
  .rs-org-inline { display: block; }
}
.rs-dsq td { color: var(--muted); }
.rs-dsq .rs-rank { color: var(--red-lt); font-weight: 700; }
.rs-dsq .rs-total { color: var(--muted); text-decoration: line-through; }
.rs-dsq-reason { display: block; font-weight: 400; font-size: 12px; color: var(--red-lt); }
.cs-intro { margin: 2px 0 0; }
.og-event { display: grid; grid-template-columns: 130px 1fr; gap: 2px 12px; padding: 6px 0; border-top: 1px solid var(--line); font-size: 12.5px; }
.rs-verified { color: var(--accent-lt); font-weight: 700; margin-left: 4px; cursor: help; }

/* Cancelled competitions stay listed for a few days, marked. */
.rs-state--cancelled { color: var(--red-lt); border-color: #7f1d1d; }
.rs-cancelled { border: 1px solid #7f1d1d; background: rgba(153, 27, 27, .18); color: var(--red-lt); border-radius: 8px; padding: 10px 14px; margin: 10px 0; }
.rs-cancelled b { color: var(--text); }

/* First results page: latest competitions with their top 5. */
.rs-overview { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; margin-bottom: 16px; }
a.rs-ov { display: flex; flex-direction: column; gap: 8px; color: inherit; text-decoration: none; margin: 0; }
a.rs-ov:hover { border-color: var(--accent); }
.rs-ov-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; }
.rs-ov-name { font-weight: 700; }
.rs-ov-top { list-style: none; margin: 0; padding: 0; font-variant-numeric: tabular-nums; }
.rs-ov-top li { display: flex; gap: 8px; padding: 4px 0; border-top: 1px solid var(--line); }
.rs-ov-top .rs-rank { width: 22px; flex: none; }
.rs-ov-who { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rs-ov-more { margin-top: auto; font-size: 12px; color: var(--muted); }
