button{appearance:none;border:1px solid rgba(156,168,199,.2);border-radius:10px;background:linear-gradient(180deg,rgba(94,167,255,.18),rgba(94,167,255,.08));color:var(--text);font-weight:800;padding:9px 12px;cursor:pointer;transition:all .15s ease}button:hover{filter:brightness(1.08)}button.secondary{background:var(--panel2)}.kebab-trigger{min-width:44px;padding:8px 8px;display:inline-flex;align-items:center;justify-content:center;font-size:0;line-height:1}.kebab-panel{min-width:300px;max-width:min(440px,calc(100vw - 24px))}.kebab-panel .controls{display:flex;flex-direction:column;gap:8px;margin-bottom:0}.setting-row select{width:100px;min-height:32px;border:1px solid rgba(156,168,199,.25);border-radius:8px;background:#0f1729;color:var(--text);padding:4px 8px;font:inherit}.threshold-setting-controls{display:inline-flex;align-items:center;gap:8px}.league-setting-row{align-items:flex-start}.league-selector-wrap{width:170px;display:grid;gap:6px}.league-checklist{width:100%;border:1px solid rgba(156,168,199,.25);border-radius:8px;background:#0f1729;padding:6px 8px;display:grid;gap:4px}.league-checklist[hidden]{display:none!important}.league-selector-toggle{width:100%;min-height:32px;border:1px solid rgba(156,168,199,.25);border-radius:8px;background:#0f1729;color:var(--text);padding:4px 8px;font:inherit;text-align:left}.league-check-item{display:flex;align-items:center;gap:8px;color:var(--text);font-size:.85rem;line-height:1.25;cursor:pointer}.league-check-item input[type=checkbox]{margin:0;accent-color:#2a8cff}.status-row{display:flex;flex-wrap:wrap;gap:16px 18px;align-items:center;justify-content:space-between;margin-bottom:8px}.status-update-controls,.status-update-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}@media (max-width:640px){.status-row{flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:8px;font-size:.9em}.status-update-controls,.status-update-group{flex-wrap:nowrap;white-space:nowrap;min-width:0}.status-update-controls{gap:6px}}.status-value.online{color:#38d996}.status-value.offline{color:var(--muted)}.small{font-size:12px;color:var(--muted)}.in-progress-ticker{margin:0 0 18px;border-radius:12px;background:linear-gradient(180deg,rgba(22,30,49,.9),rgba(17,24,39,.92));border:1px solid rgba(156,168,199,.14);overflow:hidden}.ticker-submeta{font-size:11px;line-height:1.35;white-space:normal}.ticker-submeta .game-context-green,.ticker-submeta .game-context-red,.ticker-submeta .game-context-yellow{font-weight:900;letter-spacing:.02em}.ticker-submeta .game-context-green{color:var(--green)}.ticker-submeta .game-context-yellow{color:var(--yellow)}.ticker-submeta .game-context-red{color:var(--red)}.ticker-score-row{display:flex;align-items:center;justify-content:center;gap:4px}.ticker-team{display:inline-flex;align-items:center;gap:4px}.ticker-team.possession::after,.ticker-team.possession::before{content:'';width:6px;height:6px;border-radius:50%;background:rgba(56,217,150,.95);box-shadow:0 0 6px rgba(56,217,150,.18)}.ticker-team-away.possession::after,.ticker-team-home.possession::before{display:none}.view-toggle{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.view-toggle-btn{padding:8px 12px;border-radius:999px;font-size:12px;opacity:.7}.sort-toggle-btn{display:inline-flex;align-items:center;gap:4px;opacity:1}.sort-toggle-btn[hidden]{display:none}.sort-icon{width:14px;height:14px;flex:0 0 auto}.view-toggle-btn.active{opacity:1;border-color:rgba(56,217,150,.8);background:rgba(56,217,150,.12);box-shadow:0 0 0 1px rgba(56,217,150,.22)}.games{display:grid;gap:14px}.game-top-row{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;margin:0 0 12px}.game.alert{border-color:rgba(90,255,190,.95);box-shadow:0 0 0 2px rgba(56,217,150,.4),0 0 20px rgba(56,217,150,.3),0 0 8px rgba(96,255,180,.2);background:linear-gradient(180deg,rgba(56,217,150,.12),#151c32)}.game.untriggered{border-color:#4a5575;box-shadow:none;opacity:.82}.game.pinned{border-color:rgba(90,190,255,.95);box-shadow:0 0 0 2px rgba(56,150,217,.4),0 0 20px rgba(56,150,217,.3),0 0 8px rgba(96,190,255,.2)}.game.alert.pinned{border-color:rgba(90,255,190,.95);box-shadow:0 0 0 2px rgba(56,217,150,.5),0 0 0 4px rgba(56,150,217,.45),0 0 24px rgba(56,150,217,.3),0 0 10px rgba(56,217,150,.25)}.game-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.game-status-line{color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.game-title{font-size:12px;color:var(--muted);margin-top:2px}.game-qb-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px;color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.02em;margin:0 0 0;padding:10px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.game-qb-row .game-qb-tds{color:#fff;font-weight:900}.game-qb-row .game-qb-yards{color:#fff;font-weight:900}.game-qb-row .game-qb-passing{color:#fff;font-weight:900}.game-qb-row .game-qb-team{color:#fff;font-weight:900}.game-qb-row .home-team-inline-label{margin-bottom:0}.game-context-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.02em;margin-top:6px;padding:8px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.game-context-row .game-context-green{color:var(--green);font-weight:900}.game-context-row .game-context-yellow{color:var(--yellow);font-weight:900}.game-context-row .game-context-red{color:var(--red);font-weight:900}.game-context-row .game-context-points{color:#fff;font-weight:900}.game-actions{display:flex;align-items:center;justify-content:flex-start;gap:8px;width:auto;margin:0 0 0 auto}.compact-toggle,.pin-toggle,button.state-toggle-btn{background:rgba(15,23,42,.7);border:1px solid rgba(148,163,184,.35);color:var(--muted);font-weight:800;cursor:pointer;padding:4px 8px;border-radius:999px;flex:0 0 auto;width:auto;line-height:1.2;white-space:nowrap;transition:all .15s ease;box-shadow:inset 0 0 0 1px rgba(255,255,255,.02)}button.state-toggle-btn{padding:12px 18px}.compact-toggle:hover,.pin-toggle:hover,button.state-toggle-btn:hover{color:var(--text);border-color:rgba(148,163,184,.7)}.compact-toggle.selected,button.state-toggle-btn.active{color:#dffef2;border-color:rgba(90,255,170,.9);background:rgba(56,217,150,.12);box-shadow:0 0 0 1px rgba(90,255,170,.3),0 0 12px rgba(56,217,150,.24)}.pin-toggle.selected{color:#dcf0ff;border-color:rgba(90,190,255,.9);background:rgba(56,150,217,.12);box-shadow:0 0 0 1px rgba(90,190,255,.3),0 0 12px rgba(56,150,217,.24)}.compact-toggle{order:1}.scoreboard{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:center}.team-block{min-width:0}.team-name{display:flex;align-items:center;gap:8px;font-size:20px;font-weight:900;margin-bottom:8px}.center-score{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--muted);font-size:17px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.center-score-upcoming{text-transform:none;letter-spacing:.04em}.center-score-upcoming .center-score-value{color:var(--text)}.teams-scoreboard{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,0.2fr) minmax(0,0.8fr);grid-template-areas:"away-info away-score quarter" "home-info home-score quarter";align-items:center;column-gap:0;row-gap:10px}.game.final .teams-scoreboard{width:77%;max-width:77%;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"away-info away-score" "home-info home-score"}.game.final .teams-inning-column{display:none}.team-row{display:flex;align-items:center;min-width:0;line-height:1.2;font-size:18px;font-weight:900}.team-row-away{grid-area:away-info}.team-row-home{grid-area:home-info}.team-row-away+.team-score{grid-area:away-score}.team-row-home+.team-score{grid-area:home-score}.teams-scoreboard .teams-inning-column{grid-area:quarter;justify-self:start;align-items:center;text-align:center;display:flex;flex-direction:column;gap:4px;margin-left:15px;border-radius:10px;padding:8px;border:1px solid rgba(148,163,184,.35);border-top-color:rgba(148,163,184,.35);border-right-color:rgba(148,163,184,.35);border-bottom-color:rgba(148,163,184,.35);border-left-color:rgba(148,163,184,.35);border-top-color:rgba(148,163,184,.35);border-right-color:rgba(148,163,184,.35);border-bottom-color:rgba(148,163,184,.35);border-left-color:rgba(148,163,184,.35)}.teams-inning-indicator{display:flex;align-items:center;justify-content:center;gap:6px;font-size:14px;font-weight:800;line-height:1;white-space:nowrap}.teams-inning-indicator.upcoming-vs{color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.down-distance-indicator{font-size:12px;font-weight:800;letter-spacing:.02em;color:var(--muted);white-space:nowrap;text-align:center}.down-distance-indicator.game-context-green{color:var(--green)}.down-distance-indicator.game-context-yellow{color:var(--yellow)}.down-distance-indicator.game-context-red{color:var(--red)}.down-distance-row{display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px;font-weight:800;letter-spacing:.02em;color:var(--muted);white-space:nowrap}.game-context-inline{display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px;font-weight:800;letter-spacing:.02em;color:var(--muted);white-space:nowrap}.game-context-inline .game-context-points{color:#fff;font-weight:900}.game-context-inline .game-context-green{color:var(--green);font-weight:900}.game-context-inline .game-context-yellow{color:var(--yellow);font-weight:900}.game-context-inline .game-context-red{color:var(--red);font-weight:900}.team-label-row{display:inline-flex;align-items:center;gap:6px;max-width:100%}.team-label-text{display:inline-block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.team-record{flex:0 0 auto;font-size:11px;font-weight:600;color:var(--muted);white-space:nowrap}.team-name-stack{display:inline-flex;flex-direction:column;min-width:0;max-width:100%}.team-name-stack.team-name-stack-right{align-items:flex-end}.team-name-stack .team-record{line-height:1.2}.home-team-inline-label-top{align-self:flex-start;margin-top:.3em}.team-row .possession-indicator{margin-bottom:4px}.possession-indicator{width:7px;height:7px;border-radius:50%;background:rgba(56,217,150,.95);box-shadow:0 0 6px rgba(56,217,150,.2);display:inline-block;flex-shrink:0;margin-left:6px}.team-name-col{display:flex;flex-direction:column;gap:2px;min-width:0}.timeout-dots{display:flex;align-items:center;gap:3px;flex-shrink:0}.timeout-dot{width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,.15);flex-shrink:0}.timeout-dot.active{background:rgba(230,200,80,.75)}.team-row .team-label-row{min-width:0;flex-shrink:1}.home-team-inline-label{display:inline-flex;align-items:center;justify-content:center;min-width:12px;height:12px;border-radius:3px;background:rgba(94,167,255,.16);color:var(--blue);font-size:12px;font-weight:900;line-height:1;padding:0 2px;flex-shrink:0}.team-score{font-size:22px;font-weight:800;line-height:1;color:var(--text);text-align:center;white-space:nowrap}.game.final .team-score{margin-right:16px;padding-right:8px}.team-row-winner .team-label-text{color:var(--text)}.team-row-winner,.team-score-winner{align-self:stretch;box-sizing:border-box;display:flex;align-items:center}.team-row-winner{background:rgba(168,85,247,.12);border:1px solid rgba(168,85,247,.3);border-right:none;border-radius:6px 0 0 6px;padding-left:4px;margin-left:-4px;min-height:2em}.team-score-winner{color:var(--text);background:rgba(168,85,247,.12);border:1px solid rgba(168,85,247,.3);border-left:none;border-radius:0 6px 6px 0;justify-content:center;padding-right:6px}.quarter-badge{color:var(--text);font-size:11px;font-weight:900;letter-spacing:.12em;padding:5px 8px;border-radius:999px;background:rgba(94,167,255,.12);border:1px solid rgba(94,167,255,.3);line-height:1}.center-score-value{color:var(--muted);display:inline-block}.game-odds-team{display:inline-flex;align-items:center;gap:5px;font-weight:500;line-height:1.1;white-space:nowrap}.game-kickoff-time{margin:0;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.02em;text-align:left}.game-box-score{margin:clamp(12px,3vw,16px) auto 0;width:100%;border:1px solid rgba(156,168,199,.18);border-radius:12px;background:rgba(11,16,32,.5);overflow:hidden}.box-score-summary-row{display:flex;align-items:center;justify-content:center;gap:clamp(6px,2vw,8px);padding:clamp(8px,2.5vw,10px) clamp(8px,3vw,12px) 0;margin-bottom:clamp(8px,2.5vw,10px)}.box-score-summary-score{display:flex;align-items:center;justify-content:center;color:var(--text);font-size:clamp(11px, 3vw, 13px);font-weight:800;letter-spacing:.04em;min-width:clamp(52px,15vw,64px)}.box-score-summary-team{display:flex;align-items:center;justify-content:flex-end;gap:6px;color:var(--muted);font-size:clamp(10px, 2.8vw, 11px);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.box-score-summary-team.right{justify-content:flex-start}.box-score-summary-team-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.box-score-summary-team.possession{color:var(--text)}.box-score-summary-team .possession-indicator{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 6px rgba(56,217,150,.5);flex-shrink:0;margin-left:0}.box-score-header,.box-score-row{display:grid;grid-template-columns:0.5fr repeat(5,minmax(0,1fr));align-items:center;gap:clamp(4px,1.5vw,8px)}.box-score-header{padding:clamp(8px,2.5vw,10px) clamp(8px,3vw,12px);background:rgba(94,167,255,.08);border-bottom:1px solid rgba(156,168,199,.14);color:var(--muted);font-size:clamp(9px, 2.4vw, 10px);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.box-score-header>span{text-align:center}.box-score-header>span:first-child{text-align:right}.box-score-row{padding:clamp(8px,2.5vw,10px) clamp(8px,3vw,12px);color:var(--text);font-size:clamp(12px, 3.2vw, 14px);font-weight:800}.box-score-row+.box-score-row{border-top:1px solid rgba(156,168,199,.14)}.box-score-row-total{background:rgba(56,217,150,.08);font-weight:900}.box-score-row>span{display:flex;align-items:center;justify-content:center;min-height:clamp(18px,5vw,22px);border-radius:6px;background:rgba(94,167,255,.08)}.box-score-team{justify-content:flex-end!important;background:0 0!important;font-weight:900;color:var(--text);text-align:right;padding-right:6px}.box-score-total{background:rgba(255,209,102,.12)!important;font-weight:800}.box-score-row>span.has-score{background:rgba(56,217,150,.18);box-shadow:inset 0 0 0 1px rgba(56,217,150,.4);color:#dffef2}.game-meta-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px}.meta-card{padding:10px 12px;background:rgba(255,255,255,.02);border:1px solid rgba(156,168,199,.14);border-radius:10px}.meta-label{display:block;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:5px}.meta-value{display:block;color:var(--text);font-size:15px;font-weight:900}.meta-value.alert{color:var(--green)}.details{color:var(--muted);margin-top:10px;font-size:12px}.empty{padding:18px 14px;border:1px dashed rgba(156,168,199,.2);border-radius:12px;color:var(--muted);text-align:center;background:rgba(15,23,42,.28)}.top-qbs{margin-top:16px;margin-bottom:16px}.top-qbs-heading{display:flex;align-items:center;justify-content:flex-start;gap:10px;margin:0 0 6px}.top-qbs-heading h2{margin:0;font-size:20px}.top-qb-row{display:flex;align-items:center;gap:8px;padding:5px 0;border-bottom:1px solid #26304c;font-size:12.5px;line-height:1.3}.top-qb-row:last-child{border-bottom:none}.top-qb-rank{color:var(--muted);font-weight:800;width:14px;flex:0 0 14px;font-size:11px}.top-qb-team{color:var(--muted);font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;width:32px;flex:0 0 32px}.top-qb-name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-qb-stats{display:flex;flex:0 0 auto;gap:10px}.top-qb-stat{color:var(--muted);white-space:nowrap}.top-qb-stat strong{color:var(--text);font-weight:800}.history{margin-top:24px}.history-heading h2{margin:0;font-size:20px}.history .empty{margin-top:6px}#history{max-height:293px;overflow-y:scroll}.history-item{padding:10px 2px;border-bottom:1px solid rgba(156,168,199,.14);color:var(--muted);font-size:12px;line-height:1.5}.history-item:last-child{border-bottom:none}.history-day-heading{padding:12px 2px 6px;margin-bottom:2px;border-bottom:1px solid rgba(156,168,199,.24);color:var(--text);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.history-day-heading:first-child{padding-top:2px}@keyframes activeAlertPulse{from{box-shadow:0 0 18px rgba(255,82,99,.28)}to{box-shadow:0 0 30px rgba(255,82,99,.4)}}@media (max-width:640px){.view-toggle-btn{min-height:34px;padding:6px 8px;font-size:11px}.direction-toggle,.threshold-setting-controls select{min-height:34px}.game-header{flex-direction:row;align-items:flex-start;gap:8px}.game-actions{gap:6px}button.state-toggle-btn{padding:4px 7px;font-size:12px}.team-name,.team-row{font-size:14px}.team-score{font-size:19px}.game-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:375px){.game-meta-grid{grid-template-columns:1fr}}