:root{color-scheme:dark;font:14px/1.4 Arial,sans-serif;color:#edf5f7;background:#0c1922}*{box-sizing:border-box}body{margin:0}main{max-width:1672px;margin:auto}button,select{font:inherit;color:inherit;background:#182f40;border:1px solid #4b6676;border-radius:4px;cursor:pointer}button:focus-visible,select:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #ffda66;outline-offset:2px}a{color:#94e3c1}.summary{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 12px;font-size:12px}.summary span{font-size:11px;color:#bacbd6}.scene-scroll{overflow:auto;overscroll-behavior-x:contain;overscroll-behavior-y:auto}.scene{position:relative;width:100%;aspect-ratio:1672/941;container-type:inline-size;background:#cad6dd}.scene>img{display:block;width:100%;height:100%;object-fit:contain}.scene-scroll.zoomed .scene{min-width:1400px}.layer{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.numbers{z-index:1}.hits{z-index:2}#labels{z-index:3}/* Match NFL's joined navy name + grade block; scale with the players. */
.name-label{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;display:flex;align-items:stretch;gap:0;white-space:nowrap;border:0;border-radius:.14cqw;background:transparent;padding:0;font-size:1.6cqw;line-height:1;font-weight:700;box-shadow:0 0 0 .07cqw #fff;overflow:hidden}
.tag-name{background:#0b1f3a;color:#fff;padding:.18em .34em;line-height:1.1}
.grade-label{display:flex;align-items:center;padding:.18em .32em;background:#9aa9b8;color:#0b1520;line-height:1.1;font-weight:800}
.grade-high .grade-label{background:#2fe07a;color:#032b12}.grade-mid .grade-label{background:#ffd400;color:#1a1400}.grade-low .grade-label{background:#ff4f4f;color:#2b0000}
.hit{position:absolute;transform:translate(-50%,-50%);width:4.6%;height:9%;pointer-events:auto;border:2px solid transparent;background:transparent}.hit:hover,.hit[aria-pressed=true]{border-color:#ffcf51;background:#ffe26c22}.name-label[aria-pressed=true]{outline:2px solid #ffcf51}.jersey-number{font-family:Impact,'Arial Narrow',sans-serif;font-weight:900;text-anchor:middle;dominant-baseline:central;paint-order:stroke fill;stroke-width:1;stroke-linejoin:round}.jersey-number.tor{fill:#17478b;stroke:white}.jersey-number.mtl{fill:white;stroke:#154789}.hide-names .tag-name,.hide-grades .grade-label,.hide-numbers .numbers{display:none}.view-controls{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;border-bottom:1px solid #3c5360}.view-controls>*{min-height:38px;display:flex;align-items:center;justify-content:center;gap:5px;border-radius:0;font-size:12px}.view-controls label{border-right:1px solid #3c5360}.view-controls input{accent-color:#95e5c2}.team-controls{display:grid;grid-template-columns:1fr 1fr}.team-control{display:grid;grid-template-columns:48px repeat(3,minmax(0,1fr));border-bottom:1px solid #3c5360}.team-control strong{display:flex;align-items:center;justify-content:center;font-size:12px}.team-control label{display:grid;min-width:0;padding:4px 6px;border-left:1px solid #3c5360;font-size:9px;text-transform:uppercase;color:#bbccd6}.team-control select{width:100%;min-width:0;height:32px;padding:0 2px;border:0;font-size:12px}.caption{margin:0;padding:5px 12px;font-size:11px;color:#bbccd6}#player-detail{padding:12px;background:#142836;border-top:1px solid #3c5360}#player-detail p{margin:5px 0;font-size:12px;color:#c6d4dc}.roster-panel,.sources{padding:8px 12px}.roster-panel summary,.sources summary{cursor:pointer;min-height:32px;padding:6px 0}.sources{font-size:12px;color:#bdccd6}.rosters{display:grid;grid-template-columns:1fr 1fr;gap:12px}.roster h2{font-size:13px}.roster-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.roster-items button{font-size:12px;text-align:left;min-height:46px;padding:6px}.roster-items small{display:block;color:#a9bdc9}#art-failure{position:absolute;top:40%;left:15%;width:70%;background:#152c3a;color:white;padding:12px}.no-art>img{visibility:hidden}.no-art .numbers,.no-art .hits{display:none}.no-art .name-label{display:flex}
@media(max-width:900px){.team-controls{grid-template-columns:1fr}}@media(max-width:600px){.summary{padding:6px 8px;font-size:11px;gap:6px}.summary span{font-size:9px}.view-controls>*{font-size:10px;gap:2px}.team-control select{font-size:11px}.team-control label{padding:3px 5px}.rosters{grid-template-columns:1fr}.caption{font-size:10px}.sources{font-size:11px}}

.scene[data-arena="TOR"] .jersey-number.tor{fill:white;stroke:#17478b}.scene[data-arena="TOR"] .jersey-number.mtl{fill:#17478b;stroke:#e94a55}.arena-control{display:flex;align-items:center;gap:10px;padding:4px 8px;border-bottom:1px solid #3c5360;font-size:11px}.arena-control select{min-width:0;flex:1;height:30px;font-size:12px}

.arena-control[hidden]{display:none}.sources a{overflow-wrap:anywhere}
@media(max-width:300px){.view-controls{grid-template-columns:1.1fr .8fr 1fr 1fr 1.1fr}.view-controls>*{min-width:0;font-size:9px;gap:1px;padding-inline:2px}.view-controls input{margin:2px}}

.summary{min-height:32px;padding:6px 10px;gap:8px;border-bottom:1px solid #30414d}
#matchup-title{white-space:nowrap;flex-shrink:0}
.matchup-odds{display:flex;align-items:center;justify-content:flex-end;gap:14px;min-width:0}
.matchup-odds>span{white-space:nowrap}.matchup-odds b{color:#edf5f7;font-weight:600}
@media(max-width:600px){.summary{padding:5px 6px;font-size:10px;gap:5px}.matchup-odds{gap:8px}.matchup-odds>span{display:flex;flex-direction:column;font-size:9px;line-height:1.3}.matchup-odds b{font-size:9px}}
