.nfl-hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(250px,.7fr);gap:22px;align-items:center}
.nfl-eyebrow{color:var(--accent,#6aaa8c);font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.nfl-actions,.nfl-filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.nfl-freshness{padding:16px;border-radius:12px;background:rgba(45,90,71,.12)}
.nfl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
.nfl-team-card,.nfl-game,.nfl-roster-row{display:block;padding:14px;border:1px solid rgba(106,170,140,.2);border-radius:12px;background:rgba(16,32,25,.24);color:inherit;text-decoration:none}
.nfl-team-card:hover,.nfl-roster-row:hover{border-color:var(--accent,#6aaa8c);transform:translateY(-1px)}
.nfl-team-card strong,.nfl-roster-row strong{display:block}
.nfl-muted{color:var(--text-secondary,#a09880);font-size:.84rem}
.nfl-notice{padding:13px 16px;border-left:3px solid #d9a441;background:rgba(217,164,65,.09);border-radius:8px}
.nfl-schedule{display:grid;gap:10px}
.nfl-game{display:grid;grid-template-columns:110px 1fr auto;gap:12px;align-items:center}
.nfl-roster-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.nfl-roster-list{display:grid;gap:8px}
.nfl-player-card{position:relative;min-height:315px;padding:16px;border-radius:22px;overflow:hidden;color:#fff;text-decoration:none;display:flex;flex-direction:column;background:linear-gradient(145deg,#304b3d,#17261f);border:1px solid rgba(255,255,255,.18);box-shadow:0 14px 32px rgba(0,0,0,.25)}
.nfl-player-card:link,.nfl-player-card:visited,.nfl-player-card:hover,.nfl-player-card:focus{color:#fff;text-decoration:none}
.nfl-player-card:focus-visible{outline:3px solid #fff;outline-offset:3px}
.nfl-player-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 20%,rgba(255,255,255,.18),transparent 38%);pointer-events:none}
.nfl-card-rating{position:absolute;z-index:2;display:flex;flex-direction:column;line-height:1}
.nfl-card-rating strong{font-size:2rem}.nfl-card-rating span{font-size:.58rem;letter-spacing:.08em}
.nfl-card-photo{height:210px;display:flex;align-items:flex-end;justify-content:center}
.nfl-card-photo img{max-height:205px;max-width:100%;object-fit:contain;filter:drop-shadow(0 10px 8px rgba(0,0,0,.35))}
.nfl-card-fallback{width:142px;height:142px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.12);font-size:2.4rem;font-weight:800}
.nfl-card-copy{position:relative;z-index:2;display:flex;flex-direction:column}.nfl-card-copy strong{font-size:1.08rem}.nfl-card-copy span{font-size:.78rem;opacity:.86}
.nfl-card-tier{font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.tier-club99{background:linear-gradient(145deg,#38123f,#c89b3c)}.tier-elite{background:linear-gradient(145deg,#17274b,#6850a4)}.tier-diamond{background:linear-gradient(145deg,#156a77,#4ba9b9)}.tier-gold{background:linear-gradient(145deg,#5e4714,#b28a30)}.tier-silver{background:linear-gradient(145deg,#44505a,#798691)}.tier-bronze{background:linear-gradient(145deg,#4c2f22,#89563a)}
.nfl-profile{display:grid;grid-template-columns:minmax(240px,330px) 1fr;gap:24px}
.nfl-attributes{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}.nfl-attribute{padding:10px;border-radius:9px;background:rgba(45,90,71,.12)}.nfl-attribute strong{display:block;font-size:1.2rem}
.nfl-filters input,.nfl-filters select{min-height:42px;padding:8px 10px;border-radius:8px;border:1px solid rgba(106,170,140,.35);background:rgba(255,255,255,.94);color:#17261f}
@media(max-width:720px){.nfl-hero,.nfl-profile{grid-template-columns:1fr}.nfl-game{grid-template-columns:1fr;gap:4px}.nfl-player-card{min-height:285px}.nfl-card-photo{height:185px}.nfl-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}}
