/*
 * RotoBaller — NFL Matchup Ratings (weekly table + compare tray + season grid).
 * Desktop (>600px): one full-width sortable table, a row click opens the player's 18-week strip,
 * a dark compare tray docks on the right once a player is added. Mobile: cards, week/position
 * dropdowns, a bottom compare bar that opens a sheet. Barlow / Barlow Semi Condensed throughout.
 */

:is(#rb-nflmr,#rb-nflmr-portal) {
	--mr-bg: #F3F5F9; --mr-surface: #fff; --mr-surface-2: #EDF1F7; --mr-ink: #142238; --mr-muted: #64748B;
	--mr-line: #DDE3EC; --mr-line-strong: #B9C4D4; --mr-accent: #1E5EA8; --mr-accent-ink: #fff;
	--mr-accent-soft: #E3ECF8; --mr-accent-soft-ink: #174A85; --mr-tray: #142238; --mr-tray-ink: #F5F7FB;
	--mr-tray-muted: #9AA9BF; --mr-tray-line: #2A3B57; --mr-lock: #8A96A8; --mr-cell-ink: #101B2E;
	--mr-shadow: 0 10px 30px rgba(20,34,56,.12);
	--mr-body: 'Outfit', -apple-system, "Helvetica Neue", Arial, sans-serif;
	--mr-data: 'Outfit', -apple-system, "Helvetica Neue", Arial, sans-serif;
	font-family: var(--mr-body); font-size: 14px; line-height: 1.4; color: var(--mr-ink);
	-webkit-text-size-adjust: 100%; margin: 0 0 30px;
}
:is(#rb-nflmr,#rb-nflmr-portal) *, :is(#rb-nflmr,#rb-nflmr-portal) *::before, :is(#rb-nflmr,#rb-nflmr-portal) *::after { box-sizing: border-box; }
:is(#rb-nflmr,#rb-nflmr-portal) button { font: inherit; color: inherit; cursor: pointer; border: 0; background: none; padding: 0; margin: 0; box-shadow: none; text-transform: none; letter-spacing: 0; border-radius: 0; }
:is(#rb-nflmr,#rb-nflmr-portal) input, :is(#rb-nflmr,#rb-nflmr-portal) select { font: inherit; color: inherit; margin: 0; box-shadow: none; }
:is(#rb-nflmr,#rb-nflmr-portal) button:focus-visible, :is(#rb-nflmr,#rb-nflmr-portal) input:focus-visible, :is(#rb-nflmr,#rb-nflmr-portal) select:focus-visible { outline: 2px solid var(--mr-accent); outline-offset: 2px; }
:is(#rb-nflmr,#rb-nflmr-portal) h1, :is(#rb-nflmr,#rb-nflmr-portal) h2, :is(#rb-nflmr,#rb-nflmr-portal) h3 { margin: 0; padding: 0; font-family: var(--mr-data); color: var(--mr-ink); text-transform: none; letter-spacing: 0; border: 0; }
:is(#rb-nflmr,#rb-nflmr-portal) a { text-decoration: none; }
:is(#rb-nflmr,#rb-nflmr-portal) img { border: 0; box-shadow: none; }

/* The tool page runs full width: no sidebar, content column stretched (theme uses a fixed 960 grid). */
body.rb-nflmr-on #content.grid_10 { width: auto !important; max-width: none !important; margin: 0 !important; }
body.rb-nflmr-on #sb-container { display: none !important; }
/* The theme's .grid_960 container is a fixed 1308px, wider than a 1300px window; cap the tool to the
   visible width so the table never runs off-screen even when the theme does. */
body.rb-nflmr-on :is(#rb-nflmr,#rb-nflmr-portal) { margin-top: 18px; max-width: calc(100vw - 24px); }

/* ---------- shared ---------- */
:is(#rb-nflmr,#rb-nflmr-portal) .mr-logo { width: 26px; height: 26px; object-fit: contain; flex: none; display: block; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-logo.sm { width: 20px; height: 20px; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-sel { display: inline-flex; align-items: center; gap: 6px; height: 34px; border: 0; border-radius: 6px; background: var(--mr-surface-2); padding: 0 8px 0 10px; position: relative; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-sel select { appearance: none; -webkit-appearance: none; border: 0; background: none; font-family: var(--mr-data); font-weight: 700; font-size: 14px; padding: 0 18px 0 0; min-width: 0; height: 100%; line-height: 1; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-sel svg { position: absolute; right: 8px; color: var(--mr-muted); pointer-events: none; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-sel .lab { font-size: 10px; text-transform: uppercase; letter-spacing: .06em; color: var(--mr-muted); font-weight: 600; flex: none; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-search { display: flex; align-items: center; gap: 8px; border: 0; border-radius: 6px; padding: 0 10px; background: var(--mr-surface-2); height: 34px; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-search input { border: 0; background: none; outline: none; width: 100%; min-width: 0; height: 100%; padding: 0; font-size: 14px; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-search svg { flex: none; color: var(--mr-muted); }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-weekpick { display: inline-flex; align-items: center; border: 0; border-radius: 6px; background: var(--mr-surface-2); height: 34px; overflow: hidden; padding: 0 4px; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-weekpick button { width: 24px; height: 34px; display: flex; align-items: center; justify-content: center; color: var(--mr-muted); font-size: 20px; line-height: 1; padding: 0 0 2px; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-weekpick button:hover { color: var(--mr-ink); }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-weekpick select { border: 0; background: none; height: 34px; margin: 0; padding: 0 2px; line-height: 34px; font-family: var(--mr-data); font-weight: 700; font-size: 14px; appearance: none; -webkit-appearance: none; text-align: center; text-align-last: center; vertical-align: middle; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-cur { font-size: 10.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--mr-accent-soft-ink); background: var(--mr-accent-soft); padding: 2px 6px; border-radius: 4px; white-space: nowrap; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-weekpick .mr-cur { margin: 0 4px 0 6px; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-rating { display: inline-grid; place-items: center; min-width: 52px; height: 30px; padding: 0 6px; border-radius: 6px; font-family: var(--mr-data); font-weight: 800; font-size: 15px; color: var(--mr-cell-ink); letter-spacing: -.01em; line-height: 1; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-rating.bye { background: var(--mr-surface-2); color: var(--mr-muted); font-size: 12px; font-weight: 700; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-rating.na { background: var(--mr-surface-2); color: var(--mr-muted); font-size: 14px; font-weight: 700; }
:is(#rb-nflmr,#rb-nflmr-portal) a.mr-rating.lock, :is(#rb-nflmr,#rb-nflmr-portal) .mr-rating.lock { background: var(--mr-surface-2); color: var(--mr-lock); font-size: 12px; font-weight: 600; gap: 4px; grid-auto-flow: column; }
:is(#rb-nflmr,#rb-nflmr-portal) a.mr-rating.lock:hover { color: var(--mr-accent); }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-agg { display: inline-block; min-width: 42px; padding: 3px 5px; border-radius: 4px; font-family: var(--mr-data); font-weight: 700; font-size: 14px; color: var(--mr-cell-ink); text-align: center; line-height: 1.2; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-agg.lock { background: var(--mr-surface-2); color: var(--mr-lock); }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-lockicon { width: 11px; height: 11px; }
:is(#rb-nflmr,#rb-nflmr-portal) a.mr-locklink { color: var(--mr-lock); display: inline-flex; align-items: center; justify-content: center; }
:is(#rb-nflmr,#rb-nflmr-portal) a.mr-locklink:hover { color: var(--mr-accent); }
:is(#rb-nflmr,#rb-nflmr-portal) a.mr-locklink.c { display: block; }
/* free-tier tease: a tinted, blurred value behind the lock — the band travels, the number does not */
:is(#rb-nflmr,#rb-nflmr-portal) .tease { position: relative; }
:is(#rb-nflmr,#rb-nflmr-portal) .tease .tv { filter: blur(3px); opacity: .75; user-select: none; pointer-events: none; font-weight: 800; color: var(--mr-cell-ink); }
:is(#rb-nflmr,#rb-nflmr-portal) .tease .mr-lockicon { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 12px; height: 12px; color: var(--mr-ink); opacity: .85; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-rating.lock.tease, :is(#rb-nflmr,#rb-nflmr-portal) .mr-agg.lock.tease { color: var(--mr-cell-ink); }
:is(#rb-nflmr,#rb-nflmr-portal) .tease, :is(#rb-nflmr,#rb-nflmr-portal) .mr-rating.lock.tease, :is(#rb-nflmr,#rb-nflmr-portal) .mr-agg.lock.tease, :is(#rb-nflmr,#rb-nflmr-portal) .mr-strip .c.lock.tease, :is(#rb-nflmr,#rb-nflmr-portal) table.mr-sg td.cell.lock.tease, :is(#rb-nflmr,#rb-nflmr-portal) table.mr-sg td.ag.tease { background: var(--mr-surface-2) !important; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-strip .c.lock.tease .r { position: relative; min-height: 16px; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-strip .c.lock.tease .r .mr-lockicon { top: 50%; }
:is(#rb-nflmr,#rb-nflmr-portal) table.mr-sg td.cell.lock.tease a.mr-locklink { position: relative; display: block; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-sheet .shd .sp { display: flex; gap: 6px; }

:is(#rb-nflmr,#rb-nflmr-portal) .mr-strip { display: flex; gap: 3px; overflow-x: auto; padding-bottom: 4px; scrollbar-width: thin; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-strip.full { display: grid; grid-template-columns: repeat(18, minmax(0, 1fr)); gap: 4px; overflow: visible; padding: 0; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-strip .c { flex: none; width: 50px; border-radius: 5px; padding: 5px 2px 4px; text-align: center; font-family: var(--mr-data); line-height: 1.1; color: var(--mr-cell-ink); }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-strip.full .c { width: auto; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-strip .c .w { font-size: 9.5px; text-transform: uppercase; letter-spacing: .06em; opacity: .7; font-weight: 600; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-strip .c .r { font-weight: 800; font-size: 15px; margin: 1px 0; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-strip .c .o { font-size: 10.5px; font-weight: 500; opacity: .85; white-space: nowrap; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-strip .c.bye, :is(#rb-nflmr,#rb-nflmr-portal) .mr-strip .c.na { background: var(--mr-surface-2); color: var(--mr-muted); }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-strip .c.now { outline: 2px solid var(--mr-ink); outline-offset: 1px; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-strip .c.lock { background: var(--mr-surface-2); color: var(--mr-lock); }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-chips { display: flex; gap: 6px; overflow-x: auto; padding-bottom: 4px; scrollbar-width: thin; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-chips .k { flex: none; background: var(--mr-surface); border: 1px solid var(--mr-line); border-radius: 6px; padding: 5px 9px; line-height: 1.1; text-align: center; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-chips .k span { display: block; font-size: 9.5px; text-transform: uppercase; letter-spacing: .06em; color: var(--mr-muted); font-weight: 600; white-space: nowrap; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-chips .k b { font-family: var(--mr-data); font-size: 15px; font-weight: 700; white-space: nowrap; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-chips .k.hi { background: var(--mr-accent-soft); border-color: transparent; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-chips .k.hi span { color: var(--mr-accent-soft-ink); }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 7px 12px; border-radius: 6px; font-weight: 600; font-size: 13px; border: 1px solid var(--mr-line-strong); background: var(--mr-surface); color: var(--mr-ink); line-height: 1.2; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-btn:hover { background: var(--mr-surface-2); }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-btn.primary { background: var(--mr-accent); color: var(--mr-accent-ink); border-color: var(--mr-accent); }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-btn[disabled] { opacity: .5; cursor: not-allowed; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-add { width: 26px; height: 26px; border-radius: 6px; border: 1px solid var(--mr-line-strong); display: grid; place-items: center; color: var(--mr-muted); background: var(--mr-surface); font-weight: 700; font-size: 15px; line-height: 1; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-add:hover { border-color: var(--mr-accent); color: var(--mr-accent); }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-add.on { background: var(--mr-accent); border-color: var(--mr-accent); color: var(--mr-accent-ink); }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-add[disabled] { opacity: .4; cursor: not-allowed; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-upsell { font-size: 12px; color: var(--mr-muted); display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-upsell a { color: var(--mr-accent); font-weight: 600; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-empty { color: var(--mr-muted); font-size: 13px; padding: 14px 0; text-align: center; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-status { color: var(--mr-muted); font-size: 13px; padding: 24px 0; text-align: center; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-status.err { color: #b21f2d; }

/* ---------- desktop ---------- */
:is(#rb-nflmr,#rb-nflmr-portal) .mr-toolbar { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 4px 0 10px; position: sticky; top: var(--mr-stick, 0px); z-index: 6; background: var(--mr-surface); }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-toolbar .mr-search { flex: 1 1 160px; max-width: 240px; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-toolbar .count { margin-left: auto; font-size: 12.5px; color: var(--mr-muted); }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-layout { margin-top: 0; }
/* not a scroll container (the fixed-layout table never overflows), so the header can stick to the page */
:is(#rb-nflmr,#rb-nflmr-portal) .mr-tablewrap { background: var(--mr-surface); border: 1px solid var(--mr-line); border-radius: 8px; overflow: visible; overflow-x: clip; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-stick { position: sticky; top: calc(var(--mr-stick, 0px) + var(--mr-tb, 0px)); z-index: 5; background: var(--mr-surface-2); border-radius: 8px 8px 0 0; }
:is(#rb-nflmr,#rb-nflmr-portal) table.mr-table { border-collapse: separate; border-spacing: 0; width: 100%; font-family: var(--mr-data); font-size: 13px; table-layout: fixed; margin: 0; border: 0; background: transparent; }
:is(#rb-nflmr,#rb-nflmr-portal) table.mr-table td.player .nm, :is(#rb-nflmr,#rb-nflmr-portal) table.mr-table td.player .sub { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
:is(#rb-nflmr,#rb-nflmr-portal) table.mr-table td.player .who > div { min-width: 0; }
:is(#rb-nflmr,#rb-nflmr-portal) table.mr-table td.dim { overflow: hidden; text-overflow: ellipsis; }
:is(#rb-nflmr,#rb-nflmr-portal) table.mr-table th, :is(#rb-nflmr,#rb-nflmr-portal) table.mr-table td { padding: 5px 4px; text-align: center; white-space: nowrap; border: 0; border-bottom: 1px solid var(--mr-line); vertical-align: middle; background: transparent; font-size: 13px; line-height: 1.25; }
:is(#rb-nflmr,#rb-nflmr-portal) table.mr-table th { background: var(--mr-surface-2); color: var(--mr-muted); font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; z-index: 2; user-select: none; padding-top: 9px; padding-bottom: 9px; line-height: 1.15; white-space: normal; }
:is(#rb-nflmr,#rb-nflmr-portal) table.mr-table th.grp { text-align: center; font-size: 12.5px; letter-spacing: .08em; font-weight: 700; padding: 8px 5px; border-bottom: 1px solid var(--mr-line-strong); color: var(--mr-accent-soft-ink); white-space: nowrap; }
:is(#rb-nflmr,#rb-nflmr-portal) table.mr-table th.grp.blank { border-bottom-color: var(--mr-line); }
:is(#rb-nflmr,#rb-nflmr-portal) table.mr-table th.sortable { cursor: pointer; }
:is(#rb-nflmr,#rb-nflmr-portal) table.mr-table th.sortable:hover { color: var(--mr-ink); }
:is(#rb-nflmr,#rb-nflmr-portal) table.mr-table th.sorted { color: var(--mr-accent-soft-ink); background: var(--mr-accent-soft); }
:is(#rb-nflmr,#rb-nflmr-portal) table.mr-table th .arrow { font-size: 8px; margin-left: 2px; }
:is(#rb-nflmr,#rb-nflmr-portal) table.mr-table th.l, :is(#rb-nflmr,#rb-nflmr-portal) table.mr-table td.l { text-align: left; }
:is(#rb-nflmr,#rb-nflmr-portal) table.mr-table td.dim { color: var(--mr-muted); }
:is(#rb-nflmr,#rb-nflmr-portal) table.mr-table td.player .who { display: flex; align-items: center; gap: 7px; }
:is(#rb-nflmr,#rb-nflmr-portal) table.mr-table td.rk { font-weight: 600; }
:is(#rb-nflmr,#rb-nflmr-portal) table.mr-table tr.pin td.rk { color: var(--mr-ink); }
:is(#rb-nflmr,#rb-nflmr-portal) table.mr-table td.player .nm { font-weight: 700; font-size: 14px; color: var(--mr-ink); line-height: 1.1; }
:is(#rb-nflmr,#rb-nflmr-portal) table.mr-table td.player .sub { font-size: 11px; color: var(--mr-muted); font-family: var(--mr-body); line-height: 1.1; margin-top: 1px; }
:is(#rb-nflmr,#rb-nflmr-portal) table.mr-table td.add { padding: 4px 2px 4px 8px; width: 36px; }
:is(#rb-nflmr,#rb-nflmr-portal) table.mr-table td.matchup { font-weight: 600; font-size: 13.5px; }
:is(#rb-nflmr,#rb-nflmr-portal) table.mr-table td.pts { font-weight: 800; font-size: 15px; }
:is(#rb-nflmr,#rb-nflmr-portal) table.mr-table td.sep, :is(#rb-nflmr,#rb-nflmr-portal) table.mr-table th.sep { border-left: 1px solid var(--mr-line); }
:is(#rb-nflmr,#rb-nflmr-portal) table.mr-table tr.mr-row { cursor: pointer; }
:is(#rb-nflmr,#rb-nflmr-portal) table.mr-table tr.mr-row:hover td { background: var(--mr-surface-2); }
:is(#rb-nflmr,#rb-nflmr-portal) table.mr-table tr.open td { background: var(--mr-accent-soft); }
:is(#rb-nflmr,#rb-nflmr-portal) table.mr-table tr.detail td { background: var(--mr-surface-2); padding: 8px 10px 10px; cursor: default; white-space: normal; text-align: left; }
:is(#rb-nflmr,#rb-nflmr-portal) table.mr-table tr.mr-adrow td { padding: 0; background: #fbfbfc; }

/* ---------- compare: pinned rows at the top of the table, in the navy the old tray used ---------- */
:is(#rb-nflmr,#rb-nflmr-portal) table.mr-table tr.mr-cmpbar td { background: var(--mr-tray); color: var(--mr-tray-ink); text-align: left; padding: 7px 10px; font-size: 13px; white-space: normal; cursor: default; }
:is(#rb-nflmr,#rb-nflmr-portal) table.mr-table tr.mr-cmpbar td b { font-weight: 700; }
:is(#rb-nflmr,#rb-nflmr-portal) table.mr-table tr.mr-cmpbar .mr-btn { border-color: var(--mr-tray-line); background: transparent; color: var(--mr-tray-ink); padding: 4px 10px; margin-left: 8px; }
:is(#rb-nflmr,#rb-nflmr-portal) table.mr-table tr.mr-cmpbar .mr-btn:hover { background: var(--mr-tray-line); }
:is(#rb-nflmr,#rb-nflmr-portal) table.mr-table tr.mr-cmpbar .mr-btn.primary { background: #fff; color: var(--mr-tray); border-color: #fff; }
:is(#rb-nflmr,#rb-nflmr-portal) table.mr-table tr.mr-cmpbar .hint { color: var(--mr-tray-muted); margin-left: 10px; font-size: 12px; }
:is(#rb-nflmr,#rb-nflmr-portal) table.mr-table tr.pin td { background: var(--mr-tray); color: var(--mr-tray-ink); border-bottom-color: var(--mr-tray-line); }
:is(#rb-nflmr,#rb-nflmr-portal) table.mr-table tr.pin:hover td { background: #1b2d4a; }
:is(#rb-nflmr,#rb-nflmr-portal) table.mr-table tr.pin td.player .nm { color: var(--mr-tray-ink); }
:is(#rb-nflmr,#rb-nflmr-portal) table.mr-table tr.pin td.player .sub, :is(#rb-nflmr,#rb-nflmr-portal) table.mr-table tr.pin td.dim { color: var(--mr-tray-muted); }
:is(#rb-nflmr,#rb-nflmr-portal) table.mr-table tr.pin td.sep { border-left-color: var(--mr-tray-line); }
:is(#rb-nflmr,#rb-nflmr-portal) table.mr-table tr.pin .mr-add.on { background: #fff; border-color: #fff; color: var(--mr-tray); }
:is(#rb-nflmr,#rb-nflmr-portal) table.mr-table tr.pin .mr-rating.best, :is(#rb-nflmr,#rb-nflmr-portal) table.mr-table tr.pin .mr-agg.best { outline: 2px solid #fff; outline-offset: -2px; }
:is(#rb-nflmr,#rb-nflmr-portal) table.mr-table tr.pin.open td { background: #1b2d4a; }
:is(#rb-nflmr,#rb-nflmr-portal) table.mr-table tr.pin + tr.detail td { background: var(--mr-accent-soft); }
:is(#rb-nflmr,#rb-nflmr-portal) table.mr-table tr.pinend td { border-bottom: 3px solid var(--mr-tray); }

:is(#rb-nflmr,#rb-nflmr-portal) .mr-gridpanel { background: var(--mr-surface); border: 1px solid var(--mr-line); border-radius: 8px; margin-top: 12px; padding: 12px 14px; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-gridpanel .hd { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 8px; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-gridpanel .hd h2 { font-size: 16px !important; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-gridpanel .hd .sp { margin-left: auto; display: flex; gap: 8px; align-items: center; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-gridscroll { overflow-x: auto; }
:is(#rb-nflmr,#rb-nflmr-portal) table.mr-sg { border-collapse: separate; border-spacing: 3px; font-family: var(--mr-data); width: 100%; margin: 0; border: 0; background: transparent; }
:is(#rb-nflmr,#rb-nflmr-portal) table.mr-sg th, :is(#rb-nflmr,#rb-nflmr-portal) table.mr-sg td { border: 0; background: transparent; vertical-align: middle; }
:is(#rb-nflmr,#rb-nflmr-portal) table.mr-sg th { font-size: 10px; text-transform: uppercase; letter-spacing: .05em; color: var(--mr-muted); font-weight: 600; padding: 2px 2px; white-space: nowrap; text-align: center; }
:is(#rb-nflmr,#rb-nflmr-portal) table.mr-sg th.now { color: var(--mr-accent-soft-ink); background: var(--mr-accent-soft); border-radius: 4px; }
:is(#rb-nflmr,#rb-nflmr-portal) table.mr-sg td.who { position: sticky; left: 0; background: var(--mr-surface); text-align: left; padding: 0 8px 0 0; min-width: 150px; z-index: 1; }
:is(#rb-nflmr,#rb-nflmr-portal) table.mr-sg td.who .w { display: flex; align-items: center; gap: 8px; }
:is(#rb-nflmr,#rb-nflmr-portal) table.mr-sg td.who .nm { font-weight: 700; font-size: 13.5px; line-height: 1.1; }
:is(#rb-nflmr,#rb-nflmr-portal) table.mr-sg td.who .sub { font-size: 11px; color: var(--mr-muted); font-family: var(--mr-body); }
:is(#rb-nflmr,#rb-nflmr-portal) table.mr-sg td.ag { background: var(--mr-surface-2); border-radius: 4px; text-align: center; font-weight: 700; font-size: 14px; padding: 6px 6px; min-width: 48px; }
:is(#rb-nflmr,#rb-nflmr-portal) table.mr-sg td.cell { border-radius: 4px; text-align: center; padding: 4px 2px; min-width: 44px; line-height: 1.1; color: var(--mr-cell-ink); }
:is(#rb-nflmr,#rb-nflmr-portal) table.mr-sg td.cell .r { font-weight: 800; font-size: 13.5px; }
:is(#rb-nflmr,#rb-nflmr-portal) table.mr-sg td.cell .o { font-size: 10px; opacity: .85; white-space: nowrap; }
:is(#rb-nflmr,#rb-nflmr-portal) table.mr-sg td.cell.bye, :is(#rb-nflmr,#rb-nflmr-portal) table.mr-sg td.cell.na { background: var(--mr-surface-2); color: var(--mr-muted); font-size: 11px; }
:is(#rb-nflmr,#rb-nflmr-portal) table.mr-sg td.cell.best, :is(#rb-nflmr,#rb-nflmr-portal) table.mr-sg td.ag.best { outline: 2px solid var(--mr-ink); outline-offset: -2px; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-more { height: 1px; }
/* rows stream in chunks; each chunk lays out and paints on its own, off-screen ones not at all */
:is(#rb-nflmr,#rb-nflmr-portal) .mr-chunk { content-visibility: auto; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-mscroll .mr-chunk { width: max-content; min-width: 100%; }   /* as wide as its rows, or paint containment would clip them */
:is(#rb-nflmr,#rb-nflmr-portal) table.mr-sg td.cell.past { opacity: .45; }
:is(#rb-nflmr,#rb-nflmr-portal) table.mr-sg td.cell.lock { background: var(--mr-surface-2); color: var(--mr-lock); font-size: 11px; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-toggle { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; color: var(--mr-muted); cursor: pointer; user-select: none; text-transform: none; letter-spacing: 0; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-toggle input { accent-color: var(--mr-accent); margin: 0; }
@media (max-width: 1100px) {
	:is(#rb-nflmr,#rb-nflmr-portal) .mr-layout { grid-template-columns: minmax(0, 1fr); }
	:is(#rb-nflmr,#rb-nflmr-portal) .mr-tray { position: static; order: -1; }
}

/* ---------- interleaved Raptive in-content ad slot (same contract as cfb-game-center.css) ---------- */
:is(#rb-nflmr,#rb-nflmr-portal) .mr-adslot { position: relative; box-sizing: border-box; display: flex; align-items: center; justify-content: center; min-height: 50px; padding: 4px 0; background: #fbfbfc; border-top: 1px solid var(--mr-line); border-bottom: 1px solid var(--mr-line); }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-adslot .ad-template { margin: auto; max-width: 100%; text-align: center; display: flex; align-items: center; justify-content: center; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-adslot .ad-template > * { margin: auto; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-adslot { height: 110px; padding: 10px 0; overflow: hidden; }
@media (max-width: 600px) {
	:is(#rb-nflmr,#rb-nflmr-portal) .mr-adslot { height: 60px; padding: 5px 0; overflow: hidden; border-radius: 10px; }
	:is(#rb-nflmr,#rb-nflmr-portal) .mr-adslot .ad-template { margin: auto; min-height: 0; }
}
body.development :is(#rb-nflmr,#rb-nflmr-portal) .mr-adslot .ad-template { font-size: 0 !important; color: transparent !important; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-adph { box-sizing: border-box; display: flex; align-items: center; justify-content: center; width: 320px; height: 50px; max-width: calc(100% - 16px); margin: auto; background: #e5e7eb; border: 1px solid #d1d5db; color: #9ca3af; font-size: 11px; font-weight: 600; letter-spacing: .5px; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-adph::after { content: '320 × 50'; }
@media (min-width: 601px) {
	:is(#rb-nflmr,#rb-nflmr-portal) .mr-adph { width: 728px; height: 90px; font-size: 12px; }
	:is(#rb-nflmr,#rb-nflmr-portal) .mr-adph::after { content: '728 × 90'; }
}

/* ---------- mobile ---------- */
/* The theme's overflow-x:hidden on html/body makes body the scroll container that sticky
   descendants track, and body never scrolls. clip hides the same overflow without becoming one. */
html:has(#rb-nflmr), body:has(#rb-nflmr) { overflow-x: clip !important; overflow-y: visible !important; }
/* With body no longer a scroll container, the first block's top margin would collapse through body
   and push the fixed mobile nav's static position down 32px. flow-root keeps the margin inside. */
body:has(#rb-nflmr) { display: flow-root; }
/* Raptive's video reserve above the tool, still empty after a few seconds (see the JS). Its
   min-height is inline, hence !important. */
.rb-nflmr-empty { min-height: 0 !important; height: 0 !important; margin: 0 !important; padding: 0 !important; overflow: hidden; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-mstick { position: sticky; top: var(--mr-stick, 0px); z-index: 5; background: var(--mr-surface); }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-mhdrwrap { overflow: hidden; border: 1px solid var(--mr-line); border-bottom: 0; border-radius: 10px 10px 0 0; background: var(--mr-surface-2); }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-mhead { padding: 8px 0; display: flex; flex-direction: column; gap: 8px; margin: 0; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-mhead .row2 { display: flex; align-items: center; gap: 6px; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-mhead .mr-sel { flex: 1; min-width: 0; border-radius: 8px; height: 32px; padding: 0 6px 0 8px; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-mhead .mr-sel select { width: 100%; font-size: 13px; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-iconbtn { width: 32px; height: 32px; border: 0; border-radius: 8px; display: grid; place-items: center; color: var(--mr-muted); background: var(--mr-surface-2); flex: none; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-iconbtn.on { background: var(--mr-ink); color: #fff; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-mhead .mr-search { height: 32px; border-radius: 8px; flex: 1; }

/* The mobile theme forces line-height: 30px on every div; inside the tool the tool decides. */
@media (max-width: 600px) {
	:is(#rb-nflmr,#rb-nflmr-portal) div, :is(#rb-nflmr,#rb-nflmr-portal) span, :is(#rb-nflmr,#rb-nflmr-portal) a, :is(#rb-nflmr,#rb-nflmr-portal) b { line-height: 1.2 !important; }
	:is(#rb-nflmr,#rb-nflmr-portal) .mr-rating, :is(#rb-nflmr,#rb-nflmr-portal) .mr-agg { line-height: 1 !important; }
}

/* the grid: one row per player, fixed column tracks so every row lines up, scrolls sideways */
:is(#rb-nflmr,#rb-nflmr-portal) .mr-mscroll { overflow-x: auto; -webkit-overflow-scrolling: touch; background: var(--mr-surface); border: 1px solid var(--mr-line); border-top: 0; border-radius: 0 0 10px 10px; margin: 0 0 90px; scrollbar-width: thin; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-mrow { display: grid; grid-template-columns: 166px 52px 50px 62px 54px 54px 54px 54px 68px 48px 54px 94px 56px 56px 54px 46px 46px; min-width: max-content; align-items: center; border-bottom: 1px solid var(--mr-line); }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-mrow .c { padding: 0 8px; height: 40px; display: flex; align-items: center; justify-content: center; text-align: center; font-size: 12.5px; font-weight: 600; color: var(--mr-ink); white-space: nowrap; font-variant-numeric: tabular-nums; overflow: hidden; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-mrow .c.sep { border-left: 1px solid var(--mr-line); }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-mrow .c .lbl, :is(#rb-nflmr,#rb-nflmr-portal) .mr-mrow .c .val { display: block; width: 100%; text-align: center !important; margin: 0 auto; float: none !important; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-mrow .c.dim { color: var(--mr-muted); font-weight: 500; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-mrow .c.wx { font-size: 11px; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-mrow .c.opp { font-weight: 500; padding: 0 4px; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-mrow .c.pts { font-weight: 800; font-size: 13px; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-mrow .c.rk { padding: 0 6px; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-mrow .c.rk .rkb { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 26px; border-radius: 5px; font-weight: 700; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-mrow .c.pl { position: sticky; left: 0; z-index: 2; width: 166px; min-width: 166px; max-width: 166px; justify-content: flex-start; text-align: left; gap: 6px; padding: 0 6px 0 6px; background: var(--mr-surface); overflow: hidden; }
:is(#rb-nflmr,#rb-nflmr-portal) :is(.mr-mscroll, .mr-mhdrwrap).scrolled .mr-mrow .c.pl { box-shadow: 2px 0 6px rgba(20,34,56,.14); }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-mrow .c.pl .who { min-width: 0; overflow: hidden; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-mrow .c.pl .nm { font-size: 13px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 112px; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-mrow .c.pl .sub { font-size: 10px; color: var(--mr-muted); font-weight: 500; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-mrow .c.pl .mr-logo { width: 18px; height: 18px; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-mrow .c.pl .mr-add { width: 20px; height: 20px; font-size: 12px; border-radius: 5px; flex: none; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-mrow.inc .c.pl { background: var(--mr-accent-soft); }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-mrow.inc { background: var(--mr-accent-soft); }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-mrow.open { background: var(--mr-accent-soft); }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-mrow.open .c.pl { background: var(--mr-accent-soft); }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-mrow.mr-mhdr { background: var(--mr-surface-2); border-bottom: 1px solid var(--mr-line-strong); }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-mrow.mr-mhdr .c { height: 42px; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; color: var(--mr-muted); white-space: normal; line-height: 1.1 !important; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-mrow.mr-mhdr .c.pl { background: var(--mr-surface-2); justify-content: flex-start; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-mrow.mr-mhdr .c { padding: 0 4px; display: grid !important; place-items: center !important; place-content: center !important; text-align: center !important; float: none !important; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-mrow.mr-mhdr .c.pl { display: flex !important; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-mrow.mr-mhdr .c.sorted { color: var(--mr-accent-soft-ink); }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-mrow.mr-mhdr .c .arrow { font-size: 8px; margin-left: 2px; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-mrow .mr-rating.sm, :is(#rb-nflmr,#rb-nflmr-portal) .mr-srow .mr-rating.sm { min-width: 46px; height: 24px; padding: 0 5px; font-size: 12.5px; border-radius: 5px; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-mrow .mr-agg, :is(#rb-nflmr,#rb-nflmr-portal) .mr-srow .mr-agg { min-width: 40px; padding: 2px 4px; font-size: 12px; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-mrow .mr-agg.lock, :is(#rb-nflmr,#rb-nflmr-portal) .mr-mrow a.mr-locklink { min-width: 0; padding: 0; }

/* share: native share + X, always at the right end of a compare bar */
:is(#rb-nflmr,#rb-nflmr-portal) .mr-share { display: inline-flex; gap: 6px; align-items: center; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-share.right { margin-left: auto; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-share .mr-iconbtn { width: 28px; height: 28px; border-radius: 6px; }
:is(#rb-nflmr,#rb-nflmr-portal) table.mr-table tr.mr-cmpbar td .bar { display: flex; align-items: center; gap: 4px; }
:is(#rb-nflmr,#rb-nflmr-portal) table.mr-table tr.mr-row.inc { display: none; }   /* compared: shown in the pinned block instead */
:is(#rb-nflmr,#rb-nflmr-portal) table.mr-table tr.mr-cmpbar .mr-share .mr-iconbtn { background: var(--mr-tray-line); color: var(--mr-tray-ink); }
/* expanded row: the 18-week strip, pinned to the visible width, scrolling on its own */
:is(#rb-nflmr,#rb-nflmr-portal) .mr-mdetail { position: sticky; left: 0; padding: 6px 6px 8px; background: var(--mr-surface-2); border-bottom: 1px solid var(--mr-line); box-sizing: border-box; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-mdetail .mr-strip { gap: 6px; padding: 2px 0 2px 2px; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-mdetail .mr-strip .c { width: 50px; min-width: 50px; padding: 4px 2px; border-radius: 4px; overflow: hidden; display: block; height: auto; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-mdetail .mr-strip .c.now { outline: 0; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-mdetail .mr-strip .c > div { line-height: 1.15 !important; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-mdetail .mr-strip .c .w { font-size: 8.5px; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-mdetail .mr-strip .c .r { font-size: 12px; margin: 0; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-mdetail .mr-strip .c .o { font-size: 9.5px; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-mscroll .mr-adslot { position: sticky; left: 0; box-sizing: border-box; }

/* compare: bottom bar + sheet */
:is(#rb-nflmr,#rb-nflmr-portal) .mr-mbar { position: fixed; left: 10px; right: 10px; bottom: 12px; background: var(--mr-tray); color: var(--mr-tray-ink); border-radius: 14px; padding: 12px 14px; min-height: 64px; box-sizing: border-box; display: flex; align-items: center; gap: 8px; box-shadow: var(--mr-shadow); z-index: 2000000005; animation: rb-mr-barin .25s ease-out; }
@keyframes rb-mr-barin { from { opacity: .4; transform: translateY(10px); } to { opacity: 1; transform: none; } }
/* names in two columns: 2x2 for four players, 3x2 for five */
:is(#rb-nflmr,#rb-nflmr-portal) .mr-mbar .names { flex: 1; min-width: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 8px; align-items: center; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-mbar .names .pl { display: flex; align-items: center; gap: 5px; min-width: 0; font-family: var(--mr-data); font-weight: 700; font-size: 13px; color: var(--mr-tray-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-mbar .names .mr-logo { width: 17px; height: 17px; background: #fff; border-radius: 50%; padding: 1px; box-sizing: border-box; flex: none; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-mbar .mr-btn { flex: none; background: #fff; color: var(--mr-tray); border-color: #fff; padding: 9px 12px; font-size: 13px; font-weight: 700; border-radius: 10px; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-mbar .mr-btn.ghost { background: transparent; color: var(--mr-tray-ink); border-color: var(--mr-tray-line); margin-left: 4px; }
:is(#rb-nflmr,#rb-nflmr-portal).mr-hasbar .mr-mscroll { margin-bottom: 170px; }   /* room to scroll the last rows above the bar */
:is(#rb-nflmr,#rb-nflmr-portal) .mr-sheet { position: fixed; inset: 0; z-index: 2000000007; display: none; flex-direction: column; justify-content: flex-end; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-sheet.show { display: flex; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-sheet .scrim { position: absolute; inset: 0; background: rgba(10,15,25,.5); }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-sheet .panel { position: relative; background: var(--mr-surface); border-radius: 18px 18px 0 0; max-height: 86%; display: flex; flex-direction: column; overflow: hidden; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-sheet .grab { width: 38px; height: 4px; border-radius: 2px; background: var(--mr-line-strong); margin: 8px auto 2px; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-sheet .shd { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 4px 12px 8px; border-bottom: 1px solid var(--mr-line); }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-sheet .tabs { display: inline-flex; flex: none; width: auto; background: var(--mr-surface-2); border-radius: 6px; padding: 2px; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-sheet .tabs button { padding: 5px 12px; border-radius: 4px; font-size: 13px; font-weight: 600; color: var(--mr-muted); width: auto !important; flex: none; min-width: 0; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-sheet .tabs button.on { background: var(--mr-surface); color: var(--mr-ink); box-shadow: 0 1px 2px rgba(0,0,0,.15); }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-sheet .body { overflow: auto; padding: 6px 12px 28px; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-srow { display: grid; grid-template-columns: minmax(0, 1fr) 50px 50px 50px; gap: 5px; align-items: center; padding: 6px 0; border-bottom: 1px solid var(--mr-line); }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-srow.h { font-size: 10px; text-transform: uppercase; letter-spacing: .06em; color: var(--mr-muted); font-weight: 600; text-align: center; border-bottom: 1px solid var(--mr-line-strong); padding: 4px 0; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-srow.h span:first-child { text-align: left; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-srow.pj { grid-template-columns: minmax(0, 1fr) 44px 44px 40px 40px 36px; gap: 4px; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-srow .pv { text-align: center; font-family: var(--mr-data); font-weight: 600; font-size: 13.5px; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-srow .pv.pts { font-weight: 800; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-srow .who { display: flex; align-items: center; gap: 6px; min-width: 0; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-srow .who .x { color: var(--mr-muted); flex: none; width: 22px; height: 22px; display: grid; place-items: center; border-radius: 4px; font-size: 12px; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-srow .who .t { min-width: 0; line-height: 1.15; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-srow .who .nm { font-family: var(--mr-data); font-weight: 700; font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-srow .who .sub { font-size: 10.5px; color: var(--mr-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-srow .mr-rating { justify-self: center; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-srow .mr-rating.best { outline: 2px solid var(--mr-ink); outline-offset: -2px; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-sheet .mr-upsell { margin: 10px 0 0; font-size: 11.5px; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-sheet .mr-gridscroll { overflow-x: auto; -webkit-overflow-scrolling: touch; touch-action: pan-x pan-y; width: 100%; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-sheet .body { touch-action: pan-y; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-sheet table.mr-sg { width: max-content; min-width: 100%; border-spacing: 6px 6px; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-sheet table.mr-sg td.who { min-width: 118px; max-width: 118px; overflow: hidden; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-sheet table.mr-sg th:first-child { position: sticky; left: 0; z-index: 3; background: var(--mr-surface); min-width: 118px; box-shadow: 0 0 0 3px var(--mr-surface); }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-sheet table.mr-sg td.who { z-index: 3; box-shadow: 0 0 0 3px var(--mr-surface); }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-sheet table.mr-sg td.who .nm, :is(#rb-nflmr,#rb-nflmr-portal) .mr-sheet table.mr-sg td.who .sub { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 88px; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-sheet table.mr-sg td.who .nm { font-size: 12.5px; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-sheet table.mr-sg td.cell { min-width: 42px; padding: 3px 2px; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-sheet table.mr-sg td.ag { min-width: 44px; padding: 5px 4px; font-size: 13px; }

@media (prefers-reduced-motion: no-preference) {
	:is(#rb-nflmr,#rb-nflmr-portal) .mr-mdetail, :is(#rb-nflmr,#rb-nflmr-portal) table.mr-table tr.detail { animation: rb-mr-fade .18s ease-out; }
	@keyframes rb-mr-fade { from { opacity: 0; transform: translateY(-3px); } to { opacity: 1; transform: none; } }
}

/* the portal is only a host for fixed UI; it takes no space of its own */
#rb-nflmr-portal { margin: 0 !important; max-width: none !important; height: 0; }

/* ---------- injury badge, card icon, player name row ---------- */
:is(#rb-nflmr,#rb-nflmr-portal) .mr-nmrow { display: flex; align-items: center; gap: 5px; min-width: 0; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-nmrow > span:first-child { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-inj { flex: 0 0 auto; color: #dc2626; font-weight: 700; font-size: 11px; line-height: 1 !important; letter-spacing: .2px; white-space: nowrap; cursor: help; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-cardico { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 19px; height: 19px; padding: 0; border: 0; border-radius: 4px; background: transparent; color: #aab0b8; cursor: pointer; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-cardico:hover { color: var(--mr-accent); background: var(--mr-surface-2); }
:is(#rb-nflmr,#rb-nflmr-portal) table.mr-table tr.pin .mr-cardico { color: var(--mr-tray-muted); }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-mrow .c.pl .sub.mr-nmrow { gap: 3px; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-mrow .c.pl .mr-cardico { width: 16px; height: 16px; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-mrow .c.pl .mr-inj { font-size: 10px; }

/* ---------- player card glue (the card itself is the rankings tool's; see rankings-mobile-cards.css) ---------- */
body.rb-card-lock:has(#rb-nflmr) { overflow: hidden !important; }   /* the card's scroll lock must beat the overflow rules above */
body:has(#rb-nflmr) .rb-card-ov { z-index: 2000000008; }              /* above this tool's fixed bar and sheet */

/* The theme (functions.js) wraps every table inside a post body in .table-wrapper (overflow:auto,
   18px margins) and prepends a RotoBaller logo bar unless the table carries marianExclude; it also
   paints the first row of such tables as a header. The tool's tables carry the class and their
   parents already carry table-wrapper, so the script leaves them alone; undo the wrapper styling. */
:is(#rb-nflmr,#rb-nflmr-portal) .table-wrapper { margin: 0 !important; overflow: visible; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-tablewrap.table-wrapper { overflow: visible; overflow-x: clip; }
:is(#rb-nflmr,#rb-nflmr-portal) .mr-gridscroll.table-wrapper { overflow-x: auto; }
:is(#rb-nflmr,#rb-nflmr-portal) .table-head { display: none; }
