.ff-section { margin-bottom: 36px; }
.ff-section h2 { color: var(--primary); font-size: 1.25rem; margin: 0 0 4px; }
.ff-note { color: #7f8c8d; font-size: 0.85rem; margin: 0 0 12px; }
.ff-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
@media (max-width: 800px) { .ff-pair { grid-template-columns: 1fr; } }

.ff-table { width: 100%; border-collapse: collapse; font-size: 0.9rem; }
.ff-table th { text-align: left; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.05em; color: #7f8c8d; padding: 6px 8px; border-bottom: 2px solid var(--border); }
.ff-table td { padding: 7px 8px; border-bottom: 1px solid #eef2f4; vertical-align: top; }
.ff-table .num { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.ff-table .rank { width: 2em; color: #95a5a6; font-weight: 700; }
.ff-table .win { font-weight: 700; }
.ff-table .sub { display: block; color: #7f8c8d; font-size: 0.8rem; font-weight: normal; }
.ff-margin { font-weight: 800; }
.ff-blowout .ff-margin { color: #c0392b; }
.ff-close .ff-margin { color: #2980b9; }

.ff-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 16px; }
.ff-card { border: 1px solid var(--border); border-radius: 8px; padding: 12px 14px; background: #fff; }
.ff-card h3 { margin: 0 0 6px; font-size: 1rem; color: var(--primary); }
.ff-card ol { list-style: none; margin: 0; padding: 0; }
.ff-card li { display: flex; gap: 8px; padding: 6px 0; border-top: 1px solid #eef2f4; font-size: 0.88rem; }
.ff-card li:first-child { border-top: none; }
.ff-card .pos-rank { width: 1.4em; color: #95a5a6; font-weight: 700; }
.ff-card .who { flex: 1; min-width: 0; }
.ff-card .who small { display: block; color: #7f8c8d; font-size: 0.78rem; }
.ff-card .pts { font-weight: 700; white-space: nowrap; font-variant-numeric: tabular-nums; }
.ff-drops { font-weight: 800; font-size: 1.05rem; color: #c0392b; }
.ff-container { margin-top: 24px; }
