.ss-pff-runtime { margin: 28px 0; }
.ss-pff-module { background: var(--ss-surface,#fff); border: 1px solid var(--ss-border,#dde1e5); border-top: 4px solid var(--ss-red,#c8102e); padding: 18px; margin: 24px 0; box-sizing: border-box; }
.ss-pff-heading { display: flex; flex-direction: column; gap: 3px; margin-bottom: 14px; }
.ss-pff-kicker { font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--ss-red,#c8102e); }
.ss-pff-title { margin: 0; font-size: clamp(22px, 3vw, 32px); line-height: 1.05; color: var(--ss-ink,#161616); }
.ss-pff-subtitle { margin: 20px 0 10px; font-size: 18px; color: var(--ss-ink,#161616); }
.ss-pff-grade-grid { display: grid; grid-template-columns: repeat(7, minmax(0,1fr)); gap: 8px; }
.ss-pff-grade { border: 1px solid var(--ss-border,#dde1e5); background: var(--ss-surface-subtle,#fafbfc); padding: 10px 8px; min-width: 0; }
.ss-pff-grade-label { display: block; font-size: 11px; text-transform: uppercase; letter-spacing: .04em; color: var(--ss-muted,#646970); }
.ss-pff-grade-value { display: block; margin-top: 3px; font-size: 22px; line-height: 1; color: var(--ss-ink,#161616); }
.ss-pff-source { margin: 14px 0 0; font-size: 12px; line-height: 1.45; color: var(--ss-muted,#646970); }
.ss-pff-compare { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin: 0; }
.ss-pff-pair { border: 1px solid var(--ss-border,#dde1e5); padding: 10px; }
.ss-pff-pair dt { font-size: 12px; font-weight: 700; color: var(--ss-muted,#646970); }
.ss-pff-pair dd { margin: 3px 0 0; font-size: 20px; font-weight: 800; color: var(--ss-ink,#161616); }
.ss-pff-split-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; }
.ss-pff-split { border: 1px solid var(--ss-border,#dde1e5); padding: 10px; text-transform: capitalize; }
.ss-pff-split span { display: block; font-size: 12px; color: var(--ss-muted,#646970); }
.ss-pff-split strong { display: block; font-size: 22px; color: var(--ss-ink,#161616); }
.ss-pff-split small { display: block; margin-top: 4px; color: var(--ss-muted,#646970); }
.ss-pff-module .ss-pff-source { max-width: 900px; }
.ss-pff-table-wrap{overflow-x:auto}.ss-pff-snap-counts table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.ss-pff-snap-counts th,.ss-pff-snap-counts td{padding:10px 12px;border-bottom:1px solid var(--ss-border,#dde1e5);text-align:left}.ss-pff-snap-counts thead th{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ss-muted,#646970)}.ss-pff-snap-counts tbody th{font-weight:700;color:var(--ss-ink,#161616)}.ss-pff-snap-counts td:last-child{font-weight:800}
@media (max-width: 900px) { .ss-pff-grade-grid { grid-template-columns: repeat(4,minmax(0,1fr)); } .ss-pff-split-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 520px) { .ss-pff-module { padding: 14px; } .ss-pff-grade-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .ss-pff-compare { grid-template-columns: 1fr; } .ss-pff-grade-value { font-size: 20px; } }

.ss-season-snapshot{margin:28px 0}.ss-season-snapshot>h2,.ss-official-stats>h2{margin:4px 0 8px}.ss-data-through{margin:0 0 14px;color:var(--ss-muted,#646970);font-size:.82rem}.ss-season-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;background:var(--ss-border,#dde1e5);border:1px solid var(--ss-border,#dde1e5)}.ss-season-stat{background:var(--ss-surface,#fff);padding:18px 14px}.ss-season-stat strong{display:block;font-size:1.55rem;line-height:1;color:var(--ss-ink,#161616)}.ss-season-stat span{display:block;margin-top:7px;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ss-muted,#646970)}.ss-official-stats{margin:28px 0}.ss-official-family{margin:0 0 24px}.ss-official-family h3{margin:0 0 10px}.ss-official-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));border:1px solid var(--ss-border,#dde1e5)}.ss-official-cell{padding:14px;border-right:1px solid var(--ss-border-soft,#e8ebee);border-bottom:1px solid var(--ss-border-soft,#e8ebee);background:var(--ss-surface,#fff)}.ss-official-cell strong{display:block;font-size:1.2rem;color:var(--ss-ink,#161616)}.ss-official-cell span{display:block;margin-top:5px;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ss-muted,#646970)}
@media (max-width:760px){.ss-season-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ss-official-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ss-pff-module table{display:block;overflow-x:auto}}

.ss-depth-player{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.ss-depth-role{font-size:.68rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--ss-red,#c8102e)}.ss-depth-order{font-size:.72rem;font-weight:800;color:var(--ss-muted,#646970)}.ss-depth-latest{margin-left:auto;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ss-muted,#646970)}.ss-depth-latest>span{margin-left:5px}.ss-depth-snaps{font-variant-numeric:tabular-nums;color:var(--ss-ink,#161616)}.ss-depth-source{margin:8px 0 20px;font-size:.85rem;color:var(--ss-muted,#646970)}
@media(max-width:760px){.ss-depth-latest{display:block;width:100%;margin:4px 0 0 24px}}
.ss-player-quick-links,.ss-explore-links{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:14px}.ss-player-quick-links a,.ss-explore-links a,.ss-coverage-all{font-size:.82rem;font-weight:700;text-decoration:none}.ss-explore-football{margin:28px 0}.ss-explore-links{padding-top:4px}.ss-coverage-all{display:inline-flex;margin-top:16px}

.ss-player-current-role{display:inline-flex;margin:0 0 10px;padding:5px 9px;border:1px solid var(--ss-red,#c8102e);font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ss-red,#c8102e)}

.ss-pff-stats-product{margin:28px 0}.ss-pff-table th,.ss-pff-table td{white-space:nowrap}.ss-pff-game-table{margin-top:24px}.ss-pff-stats-product .ss-data-table-wrap{overflow-x:auto}
