.hub .tool-page { max-width: 1440px; }
.ros-settings { padding: 1rem; margin-bottom: 1rem; }
.ros-settings summary { cursor: pointer; font-weight: 700; }
.ros-settings-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(130px,1fr)); gap: .8rem; margin-top: 1rem; }
.ros-settings-grid label { display: grid; gap: .3rem; font-size: .85rem; }
.ros-settings-grid input,.ros-settings-grid select { width: 100%; min-width: 0; }
.ros-settings p,.ros-status-row p { color: var(--os-text-muted); font-size: .85rem; }
.ros-status-row { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; margin: 1rem 0; }
.ros-status-row p { margin: 0; flex: 1; min-width: 200px; }
.ros-legend { display: flex; align-items: center; gap: .5rem; font-size: .75rem; color: var(--os-text-muted); margin-bottom: .65rem; flex-wrap: wrap; }
.ros-legend-scale { display: inline-block; width: 64px; height: 12px; border-radius: 3px; background: linear-gradient(90deg,transparent,color-mix(in srgb,var(--os-positive,#3fb950) 45%,transparent)); border: 1px solid var(--os-border); }
.ros-playoff-key { border-left: 2px solid var(--os-accent,#b8efc0); padding-left: .5rem; margin-left: .5rem; }
.ros-grid-wrap { overflow-x: auto; padding: 0; border: 1px solid var(--os-border); border-radius: 12px; }
.ros-grid { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 13px; font-variant-numeric: tabular-nums; }
.ros-grid th,.ros-grid td { padding: 10px 7px; border-bottom: 1px solid var(--os-border); text-align: center; vertical-align: middle; }
.ros-grid thead th { font-size: 10px; letter-spacing: .04em; text-transform: uppercase; color: var(--os-text-muted); font-weight: 600; white-space: nowrap; }
.ros-grid thead th small { display: block; font-size: 9px; margin-top: 3px; letter-spacing: .02em; }
.ros-grid tbody tr:last-child td,.ros-grid tbody tr:last-child th { border-bottom: 0; }
.ros-grid .ros-rank { min-width: 34px; color: var(--os-text-faint); font-weight: 500; }
.ros-grid .ros-player { min-width: 205px; position: sticky; left: 0; z-index: 1; background: var(--os-surface,#15181c); text-align: left; }
.ros-player-inner { display: flex; align-items: center; gap: 8px; }
.ros-player-inner .prow-who { min-width: 0; }
.ros-player-inner strong { font-size: 13px; display: block; }
.ros-player-inner small { font-size: 10px; display: block; color: var(--os-text-muted); margin-top: 2px; }
.ros-grid .ros-title { min-width: 103px; }
.ros-title b { font-size: 13px; color: var(--os-accent,#b8efc0); white-space: nowrap; }
.ros-title small { display: block; font-size: 10px; color: var(--os-text-faint); margin-top: 2px; }
.ros-grid .ros-trade { min-width: 72px; }
.ros-grid .ros-week { min-width: 60px; }
.ros-grid .ros-cell { background: color-mix(in srgb,var(--os-positive,#3fb950) calc(var(--heat,0) * 45%),transparent); }
.ros-cell b { font-size: 13px; font-weight: 700; }
.ros-cell small { display: block; font-size: 10px; color: var(--os-text-muted); margin-top: 3px; }
.ros-grid .ros-cell.bye,.ros-grid .ros-cell.played { background: transparent; color: var(--os-text-faint); font-size: 10px; }
.ros-grid .ros-playoff-start { border-left: 2px solid color-mix(in srgb,var(--os-accent,#b8efc0) 55%,transparent); }
.ros-grid thead .ros-playoff { color: var(--os-accent,#b8efc0); }
.ros-empty { padding: 30px !important; color: var(--os-text-muted); text-align: left !important; }
.ros-pagination { display: flex; align-items: center; justify-content: center; gap: 1rem; margin-top: 1rem; }
.ros-pagination span { font-size: .8rem; color: var(--os-text-muted); }
.ros-pagination button:disabled { opacity: .4; cursor: default; }
.ros-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media(max-width:600px) {
    .ros-grid .ros-player { min-width: 160px; max-width: 160px; }
    .ros-player-inner { gap: 5px; }
    .ros-player-inner strong { font-size: 11px; }
    .ros-player-inner .shot { width: 24px; height: 24px; }
    .ros-grid th,.ros-grid td { padding: 9px 5px; }
    .ros-grid .ros-title { min-width: 91px; }
    .ros-grid .ros-week { min-width: 57px; }
}

.ros-grid .ros-tough { background: color-mix(in srgb,#ef6b6b calc(var(--heat,0) * 35%),transparent); }
.ros-why { color: var(--os-accent,#b8efc0); background: transparent; border: 0; text-decoration: underline; cursor: pointer; padding: 3px 5px; font: inherit; }
.ros-baseline,.ros-context { min-width: 85px; }
.ros-legend label { display: flex; align-items: center; gap: .5rem; white-space: nowrap; }
.ros-legend select { width: auto; }
.ros-legend > span { flex: 1; min-width: 220px; }
.ros-explanation { color: var(--os-text,#eef2f6); background: var(--os-surface,#15181c); border: 1px solid var(--os-border,#444); border-radius: 12px; width: min(1100px,94vw); max-height: 90vh; padding: 1.2rem; margin: auto; }
.ros-explanation::backdrop { background: #000a; }
.ros-explanation p { font-size: .9rem; line-height: 1.6; }
.ros-explanation small { display: block; font-size: .75rem; margin-top: .3rem; color: var(--os-text-muted); }
.ros-detail-scroll { overflow-x: auto; }
.ros-explanation .ros-grid { min-width: 720px; }
