/* NFL Live Game viewer (D-030) */
.nlg-wrap { max-width: 760px; margin: 0 auto; padding: 1rem 1rem 3rem; }
.nlg-livebadge { color: var(--color-live); font-weight: 800; font-size: 0.72rem; letter-spacing: 0.08em; animation: nlgpulse 1.4s ease-in-out infinite; }
@keyframes nlgpulse { 50% { opacity: 0.35; } }
.nlg-score { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 1rem; background: var(--bg-card); border: 1px solid var(--border-default); border-radius: var(--radius-lg); padding: 1.1rem 1rem; margin: 0.6rem 0 1rem; }
.nlg-team { display: flex; flex-direction: column; align-items: center; gap: 0.15rem; background: none; border: none; border-top: 3px solid var(--tc); cursor: pointer; color: var(--text-primary); border-radius: var(--radius-md); padding: 0.5rem 0.3rem; }
.nlg-team img { width: 52px; height: 52px; object-fit: contain; }
.nlg-team-abbr { font-weight: 800; font-size: 0.95rem; }
.nlg-team-name { font-size: 0.68rem; color: var(--text-muted); }
.nlg-team-rec { font-size: 0.66rem; color: var(--text-subtle); }
.nlg-team-score { font-size: 2rem; font-weight: 800; font-variant-numeric: tabular-nums; line-height: 1.1; }
.nlg-team-score--win { color: var(--accent); }
.nlg-center { text-align: center; }
.nlg-status { font-size: 0.8rem; font-weight: 700; color: var(--text-secondary); }
.nlg-status--live { color: var(--color-live); }
.nlg-vs { font-size: 0.7rem; color: var(--text-subtle); margin-top: 0.2rem; }
.nlg-situation { display: flex; flex-wrap: wrap; gap: 0.4rem 1rem; justify-content: center; background: color-mix(in srgb, var(--color-live) 8%, transparent); border: 1px solid color-mix(in srgb, var(--color-live) 30%, transparent); border-radius: var(--radius-md); padding: 0.5rem 0.8rem; margin-bottom: 1rem; font-size: 0.8rem; }
.nlg-poss { font-weight: 700; color: var(--text-primary); }
.nlg-dd { color: var(--text-secondary); }
.nlg-lastplay { width: 100%; text-align: center; font-size: 0.74rem; color: var(--text-muted); }
.nlg-card { background: var(--bg-card); border: 1px solid var(--border-default); border-radius: var(--radius-lg); margin-bottom: 1rem; overflow: hidden; }
.nlg-sum { cursor: pointer; padding: 0.6rem 1rem; font-weight: 800; font-size: 0.76rem; text-transform: uppercase; letter-spacing: 0.04em; color: var(--text-primary); list-style: none; display: flex; justify-content: space-between; align-items: center; }
.nlg-sum::-webkit-details-marker { display: none; }
.nlg-sum-teams { font-weight: 500; text-transform: none; letter-spacing: 0; color: var(--text-subtle); font-size: 0.7rem; }
.nlg-ls { width: 100%; border-collapse: collapse; font-size: 0.85rem; }
.nlg-ls th, .nlg-ls td { text-align: center; padding: 0.45rem 0.5rem; font-variant-numeric: tabular-nums; }
.nlg-ls thead th { color: var(--text-muted); font-size: 0.64rem; text-transform: uppercase; border-bottom: 1px solid var(--border-default); }
.nlg-ls-team { text-align: left !important; font-weight: 700; color: var(--text-primary); }
.nlg-ls-total { font-weight: 800; color: var(--text-primary); }
.nlg-plays { padding: 0 0.6rem 0.6rem; display: flex; flex-direction: column; gap: 0.3rem; }
.nlg-play { display: flex; align-items: center; gap: 0.5rem; padding: 0.35rem 0.5rem; border-radius: var(--radius-sm); background: var(--bg-raised); font-size: 0.8rem; }
.nlg-play img { width: 18px; height: 18px; object-fit: contain; }
.nlg-play-when { font-size: 0.66rem; font-weight: 700; color: var(--text-subtle); min-width: 56px; }
.nlg-play-text { flex: 1; color: var(--text-secondary); }
.nlg-play-score { font-weight: 800; font-variant-numeric: tabular-nums; color: var(--text-primary); }
.nlg-ts { padding: 0.3rem 1rem 0.7rem; }
.nlg-ts-row { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 0.6rem; padding: 0.35rem 0; border-bottom: 1px solid var(--border-subtle); font-size: 0.84rem; font-variant-numeric: tabular-nums; }
.nlg-ts-row:last-child { border-bottom: none; }
.nlg-ts-a { text-align: right; font-weight: 700; color: var(--text-primary); }
.nlg-ts-h { text-align: left; font-weight: 700; color: var(--text-primary); }
.nlg-ts-l { font-size: 0.68rem; text-transform: uppercase; letter-spacing: 0.03em; color: var(--text-muted); }
.nlg-bx { display: grid; grid-template-columns: 1fr 1fr; gap: 0.8rem; padding: 0.4rem 0.8rem 0.8rem; }
.nlg-bx-team-title { font-weight: 800; font-size: 0.78rem; color: var(--accent); margin-bottom: 0.3rem; }
.nlg-bx-head { display: flex; gap: 0.3rem; font-size: 0.58rem; text-transform: uppercase; color: var(--text-subtle); padding: 0.3rem 0 0.15rem; border-bottom: 1px solid var(--border-subtle); margin-top: 0.4rem; }
.nlg-bx-row { display: flex; gap: 0.3rem; font-size: 0.74rem; padding: 0.2rem 0; color: var(--text-secondary); font-variant-numeric: tabular-nums; }
.nlg-bx-head span:first-child, .nlg-bx-name { flex: 1.5; min-width: 0; }
.nlg-bx-head span:not(:first-child), .nlg-bx-row span:not(.nlg-bx-name) { flex: 1; text-align: right; }
.nlg-bx-name { color: var(--text-primary); font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-align: left; }
.nlg-loading, .nlg-empty { text-align: center; padding: 3rem 1rem; color: var(--text-muted); }
.game-card--live { border-color: color-mix(in srgb, var(--color-live) 45%, var(--border-default)); }
.nfl-gameday-head { grid-column: 1 / -1; display: flex; align-items: center; gap: 0.4rem; font-size: 0.74rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.05em; color: var(--color-live); margin: 0.2rem 0 0; }
.nfl-gameday-head--sub { color: var(--text-subtle); }
@media (max-width: 640px) { .nlg-bx { grid-template-columns: 1fr; } .nlg-team img { width: 42px; height: 42px; } .nlg-team-score { font-size: 1.6rem; } }
