/* Fixed slots and solo-sized typography: metadata never changes layout. */
#openMatch{zoom:1!important;width:100vw!important;height:100dvh!important;padding:18px 30px!important;font-size:16px}
#openMatch .omTop{height:48px!important;min-height:48px}#openMatch .omTop h1{font-size:32px!important}
#openMatch .roomHeading{height:42px;min-height:42px}#openMatch .roomHeading h2{font-size:20px;line-height:1.2}
#openMatch .omColumns{grid-template-columns:minmax(0,1fr) minmax(0,1.18fr) minmax(0,1fr);gap:24px;overflow:hidden}
#openMatch .omLeft{grid-template-rows:minmax(0,1.55fr) minmax(150px,.85fr);overflow:hidden}
#openMatch .omSongInfo{display:grid;grid-template-rows:58px minmax(120px,1fr) 58px 88px 24px;overflow:hidden}
#openMatch #omJacket{height:auto;min-height:0;min-width:0}
#openMatch #omJacket h2{font-size:30px;line-height:1.15;height:69px;max-height:69px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:6px 0}
#openMatch #omJacket p{font-size:16px;height:20px;line-height:20px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
#openMatch #omSongBpm{font-size:16px;height:22px;display:block}
#openMatch #omDifficulties{height:58px;min-height:58px;align-items:stretch;overflow:hidden}#openMatch #omDifficulties button{font-size:12px!important;line-height:1.2;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
#openMatch #omPersonal{height:88px;min-height:88px;overflow:hidden}#openMatch #omPersonal label{font-size:14px}#openMatch #omPersonal select{font-size:16px;height:36px}
#openMatch #roomSelection{height:24px;line-height:20px;margin:0 10px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-size:12px}
#openMatch #omTracks{position:relative;padding:0;scrollbar-width:none;overflow-anchor:none;scroll-behavior:smooth;overscroll-behavior:contain}
#openMatch .omTrack{height:92px!important;min-height:92px!important;max-height:92px!important;padding:10px 12px!important;gap:12px;overflow:hidden;flex-shrink:0}
#openMatch .omTrack img{width:70px;height:70px;object-fit:cover}#openMatch .omTrack b{font-size:23px;line-height:29px;font-weight:750}#openMatch .omTrack small{font-size:15px;line-height:20px}#openMatch .omTrack em{font-size:12px}
.omCarouselFocus149{position:absolute;left:0;right:0;z-index:2;pointer-events:none;border-top:2px solid #ffcc6988;border-bottom:2px solid #ffcc6988;box-shadow:0 0 28px #ffbb2210}
#openMatch .omTrack.selected,#openMatch .omTrack.selected:hover{background:linear-gradient(100deg,#ffc34b,#ff8264)!important;color:#17141b!important}
#openMatch .omTrack.selected b{color:#17141b!important}#openMatch .omTrack.selected small,#openMatch .omTrack.selected em{color:#58372e!important}
#openMatch #roomsIdentity{font-size:14px}#openMatch #omConnection{font-size:12px}#openMatch button{font-size:14px}#openMatch #roomChatInput{font-size:15px;height:38px}#openMatch .omFooter,#openMatch .omFooter button{font-size:12px!important}#openMatch #omSpeedRead148{font-size:30px}
#openMatch .omButtonBanner{position:relative;height:58px;min-height:58px;padding:0;overflow:hidden;background:#173b29;isolation:isolate}
#openMatch .omButtonBanner #omPlayTab148,#openMatch .omButtonBanner #omObserverTab148{position:absolute;inset:0;width:100%;height:100%;display:flex!important;align-items:center;gap:12px;padding:6px 16px;border:0;border-radius:0;transition:transform .2s ease-out!important;text-align:left}
#openMatch #omPlayTab148{background:linear-gradient(100deg,#1ea25d,#1c6149)!important;color:#f1fff6!important;transform:translateX(0)}
#openMatch #omObserverTab148{background:linear-gradient(100deg,#657080,#343c48)!important;color:#f0f2f5!important;transform:translateX(100%)}
#openMatch .omButtonBanner.observer149 #omPlayTab148{transform:translateX(-100%)}#openMatch .omButtonBanner.observer149 #omObserverTab148{transform:translateX(0)}
#openMatch .omButtonBanner button b{font-size:45px;font-weight:900;line-height:1}#openMatch .omButtonBanner button span{font-size:16px;font-weight:800;line-height:1.1}#openMatch .omButtonBanner button small{margin-left:auto;font-size:12px;opacity:.8}
#openMatch .roomPlayer strong{font-size:20px}#openMatch .roomPlayer span{font-size:13px}#openMatch .roomPlayer{min-height:62px;max-height:90px}#openMatch .roomPlayer.empty{font-size:12px}
#openMatch input,#openMatch select,#openMatch .roomTools button{font-size:16px}#openMatch .omTrackTools input{height:42px}#openMatch .omRight>h2{font-size:27px}
@media(max-width:1300px){#openMatch{padding:12px 20px!important}#openMatch .omColumns{gap:14px}#openMatch .omTrack b{font-size:20px}#openMatch .omTrack small{font-size:13px}#openMatch .omTrack{height:78px!important;min-height:78px!important;max-height:78px!important}#openMatch .omTrack img{width:54px;height:54px}#openMatch #omDifficulties button{font-size:10px!important}#openMatch .roomPlayer strong{font-size:16px}#openMatch #omJacket h2{font-size:26px;height:60px;max-height:60px}}
@media(prefers-reduced-motion:reduce){#openMatch .omButtonBanner button{transition:none!important}}
