/* 全平台公开成绩排行榜 */
* { box-sizing: border-box; }
body {
    margin: 0;
    background: radial-gradient(circle at top, #f5f9ff 0%, #eef3fb 40%, #e9eef7 100%);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
    color: #1f2937;
    font-size: 15px;
}
.rk-page { max-width: 1080px; margin: 0 auto; padding: 16px 14px 40px; }
.rk-topbar {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 14px;
    padding: 14px 16px;
    background: rgba(255,255,255,.78);
    backdrop-filter: blur(10px);
    border: 1px solid #dbe7ff;
    border-radius: 14px;
    box-shadow: 0 8px 22px rgba(55,104,195,.10);
}
.rk-topbar-main { flex: 1 1 220px; }
.rk-topbar h1 { font-size: 1.2rem; margin: 0 0 6px; }
.rk-sub { margin: 0; font-size: 13px; color: #64748b; line-height: 1.45; }
.rk-topbar-links { display: flex; flex-wrap: wrap; gap: 10px 14px; align-items: center; }
.rk-topbar-links a {
    color: #2563eb;
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
    white-space: nowrap;
}
.rk-topbar-links a:hover { color: #1d4ed8; }

.rk-card {
    background: rgba(255,255,255,.9);
    border: 1px solid #dbe7ff;
    border-radius: 14px;
    box-shadow: 0 10px 26px rgba(55,104,195,.08);
    padding: 14px 16px;
    margin-bottom: 14px;
}
.rk-label { display: block; font-size: 13px; font-weight: 600; color: #475569; margin-bottom: 6px; }
.rk-input, .rk-select {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #d7def0;
    border-radius: 10px;
    font-size: 15px;
    background: #fff;
    margin-bottom: 8px;
}
.rk-input:focus, .rk-select:focus {
    outline: none;
    border-color: #8fb2ff;
    box-shadow: 0 0 0 3px rgba(59,130,246,.12);
}
.rk-hint { margin: 0; font-size: 12px; color: #94a3b8; }
.rk-status {
    padding: 10px 12px;
    border-radius: 10px;
    margin-bottom: 12px;
    font-size: 14px;
}
.rk-status.is-err { background: #fff1f0; border: 1px solid #ffa39e; color: #a8071a; }
.rk-status.is-info { background: #f0f5ff; border: 1px solid #adc6ff; color: #1d39c4; }

.rk-boards {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
}
@media (min-width: 900px) {
    .rk-boards { grid-template-columns: 1fr 1fr; }
}
.rk-board-title {
    margin: 0 0 12px;
    font-size: 1.05rem;
    display: flex;
    align-items: center;
    gap: 8px;
}
.rk-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 700;
    color: #fff;
}
.rk-badge-d { background: #2563eb; }
.rk-badge-s { background: #0f766e; }

.rk-table-wrap { overflow-x: auto; }
.rk-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}
.rk-table th, .rk-table td {
    padding: 8px 6px;
    border-bottom: 1px solid #e8eef8;
    text-align: left;
    vertical-align: middle;
}
.rk-table th {
    color: #64748b;
    font-weight: 600;
    font-size: 12px;
    white-space: nowrap;
}
.rk-table td:first-child { width: 3rem; font-weight: 700; color: #334155; }
.rk-table td:last-child { font-variant-numeric: tabular-nums; font-weight: 600; white-space: nowrap; }
.rk-empty { color: #94a3b8; text-align: center !important; padding: 18px 8px !important; }
.rk-ydh { color: #64748b; font-size: 12px; max-width: 10rem; }
@media (max-width: 599.98px) {
    .rk-ydh { max-width: 6.5rem; }
}
