/* Viewport-based television layout: no page or panel scrolling. */
@media (min-width:960px) and (min-aspect-ratio:7/5){
 html{height:100%;overflow:hidden}
 body{height:100vh;height:100dvh;overflow:hidden;display:grid;grid-template-rows:clamp(54px,8vh,88px) clamp(36px,5vh,54px) minmax(0,1fr) 32px}
 header{padding:8px 2.4%;min-height:0}.brand{gap:10px}.shield{font-size:18px;padding:8px 9px}.brand b{font-size:clamp(24px,3.4vh,38px)}.brand small{font-size:9px;margin-top:2px}.header-right{gap:25px}.local b{font-size:clamp(20px,2.8vh,30px)}
 nav{padding:4px 2.4%;flex-wrap:nowrap;min-height:0}nav>div:first-child{font-size:11px}.controls button{padding:6px 10px;font-size:10px}.local small{font-size:9px}
 main{min-height:0;min-width:0;padding:0 2.4% 8px;display:grid;grid-template-rows:minmax(0,1fr) clamp(85px,14vh,150px) clamp(70px,12vh,128px);gap:clamp(8px,1.3vh,14px)}
 main.no-upcoming{grid-template-rows:minmax(0,1fr) clamp(70px,12vh,128px)}
 main.no-upcoming .schedule{display:none}
 .arena{min-height:0;min-width:0;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:clamp(10px,1.5vw,24px)}
 .arena.many-live{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
 .featured{min-height:0;height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto}
 .game-top{padding:clamp(6px,1.3vh,15px) 18px;font-size:11px;gap:10px}.clock{font-size:clamp(20px,3vh,32px)}.red-tag{font-size:10px;padding:4px 8px}
 .teams{min-height:0;min-width:0;padding:0 15px 8px;gap:10px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
 .team{min-width:0}.team img{width:clamp(54px,11vh,135px);height:clamp(54px,11vh,135px)}
 .team-name{font-size:clamp(18px,2.7vh,34px);line-height:1.05;letter-spacing:.5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
 .score{font-size:clamp(54px,10vh,125px)}.scores{gap:clamp(8px,1.2vw,20px)}.score-sep{font-size:22px}.record{font-size:11px;margin-top:3px}.possession{font-size:10px;min-height:12px;margin-top:4px}
 .field{height:clamp(25px,4vh,43px);margin:0 18px 8px}.ball{top:calc(50% - 10px)}.field-caption{font-size:11px;letter-spacing:1px}
 .last-play{min-height:0;padding:clamp(7px,1.2vh,14px) 18px}.last-play p{font-size:clamp(12px,1.7vh,20px);line-height:1.3;margin-top:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.last-play b{font-size:9px}
 .arena aside{min-height:0;min-width:0;display:grid;grid-template-rows:20px minmax(0,1fr);gap:4px}
 .section-label,aside .section-label{margin:0;font-size:10px;letter-spacing:1px;align-items:center;min-width:0}.section-label span{font-size:9px;letter-spacing:.5px}
 .other-games{min-height:0;max-height:none;overflow:hidden;grid-template-columns:repeat(var(--other-cols,1),minmax(0,1fr));grid-template-rows:repeat(var(--other-rows,1),minmax(0,1fr));gap:8px}
 .mini{min-width:0;min-height:0;padding:clamp(6px,1vh,12px);overflow:hidden;display:flex;flex-direction:column;justify-content:center}
 .mini-top{margin-bottom:4px;font-size:clamp(8px,1vh,11px);gap:4px}.mini-team{gap:7px;margin-top:3px;font-size:clamp(16px,2.2vh,26px);line-height:1.05}.mini-team img{width:clamp(19px,2.8vh,32px);height:clamp(19px,2.8vh,32px)}.mini-team b:last-child{font-size:clamp(20px,2.8vh,32px)}
 .mini-play{margin-top:5px;font-size:clamp(9px,1.1vh,12px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .schedule{min-width:0;min-height:0;margin:0;display:grid;grid-template-rows:17px minmax(0,1fr);gap:5px}
 .upcoming{min-height:0;min-width:0;grid-template-columns:repeat(var(--upcoming-cols,6),minmax(0,1fr));grid-template-rows:repeat(var(--upcoming-rows,1),minmax(0,1fr));gap:6px;overflow:hidden}
 .upcoming-card{min-width:0;min-height:0;padding:5px 8px;display:flex;flex-direction:column;justify-content:center;overflow:hidden}
 .upcoming-card .match{font-size:clamp(14px,1.9vh,23px);gap:5px;white-space:nowrap;justify-content:center}.match img{width:clamp(18px,2.5vh,28px);height:clamp(18px,2.5vh,28px)}
 .kickoff{margin-top:3px;font-size:clamp(9px,1.2vh,13px);line-height:1.1;white-space:nowrap}.upcoming>p{font-size:12px;margin:3px}
 .bottom{min-height:0;margin:0;gap:18px;grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.bottom>div{min-width:0;min-height:0;display:grid;grid-template-rows:17px minmax(0,1fr);gap:5px}
 .feed{min-height:0;max-height:none;overflow:hidden;display:grid;grid-template-rows:repeat(2,minmax(0,1fr));gap:5px}.feed-item{min-height:0;padding:4px 9px;gap:10px;font-size:clamp(9px,1.2vh,13px);overflow:hidden}.feed-item>div{min-width:0}.feed-item strong{margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.feed-item span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.feed-item:nth-child(n+3){display:none}.feed p{font-size:11px;margin:4px}
 .finals{min-height:0;display:grid;grid-template-columns:repeat(var(--final-cols,2),minmax(0,1fr));grid-template-rows:repeat(var(--final-rows,1),minmax(0,1fr));gap:5px;overflow:hidden;align-items:stretch}.final{min-height:0;padding:4px 7px;font-size:clamp(12px,1.7vh,20px);display:flex;align-items:center;justify-content:center;flex-direction:column;white-space:nowrap}.final small{font-size:8px;margin-top:2px;letter-spacing:1px}
 .dense-finals .final{font-size:clamp(11px,1.6vh,18px);line-height:1;padding:3px 5px}.dense-finals .final small{display:none}
 .featured>.empty,.mini.empty{min-height:0;height:100%;padding:20px}.featured>.empty{grid-row:1/-1;font-size:clamp(22px,4vh,40px)}
 footer{min-height:0;padding:5px 2.4% 15px;font-size:8px;letter-spacing:.5px;gap:20px;align-items:start;overflow:hidden}.creator-credit{right:2.4%;bottom:4px;font-size:9px}
}
@media (min-width:960px) and (min-aspect-ratio:7/5) and (max-height:650px){.record{display:none}.brand small{display:none}.teams{padding-bottom:4px}.team img{width:52px;height:52px}.team-name{font-size:19px}.score{font-size:58px}.last-play p{font-size:11px}.last-play{padding:6px 14px}.mini-play{font-size:8px}.mini-top{font-size:8px}.field{margin-bottom:5px}.bottom .section-label span{display:none}}
