/* A bounded replay stage: club header, current party, then fixed controls. */
.weekend-recap .tier-badge{display:none}
.weekend-recap .recap-match-bonus .card .card-info{display:none}.weekend-recap .recap-match-bonus .attribute-symbol{font-size:18px;line-height:1}.weekend-recap .recap-party-bonuses{min-height:0}.weekend-recap .recap-party-bonuses .recap-match-bonus{align-items:center}
@media(max-width:650px){.weekend-recap .recap-party-bonuses{padding:1px 3px;display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:4px}.weekend-recap .recap-party-bonuses>div{gap:4px}.weekend-recap .recap-party-bonuses>div>small{max-width:45px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:0 1 auto}.weekend-recap .recap-party-bonuses .recap-match-bonus{padding:0;flex:1;min-width:0;gap:3px}.weekend-recap .recap-party-bonuses .recap-match-bonus .portrait{height:18px!important}.weekend-recap .recap-party-bonuses .recap-match-bonus .attribute-symbol{font-size:16px;line-height:1}.weekend-recap .recap-party-bonuses .recap-match-bonus>span{font-size:8px}}
.prediction-crowds.no-predictions *{animation:none!important;transition:none!important}
.weekend-recap .recap-participant .recap-earned{box-sizing:border-box}
@media(max-height:360px) and (min-width:481px) and (max-width:1000px){.weekend-recap.is-replaying .recap-match-cards{min-height:92px}.weekend-recap.is-replaying .recap-side>.recap-participant{height:calc(100% - 4px);min-height:86px}}
@media(max-height:500px) and (min-width:481px) and (max-width:1000px){.weekend-recap.is-replaying .recap-party{position:relative}.weekend-recap.is-replaying .recap-party-heading{min-height:25px;box-sizing:border-box;padding:2px 0}.weekend-recap.is-replaying .recap-party-heading>span{display:none}.weekend-recap.is-replaying .recap-party-bonuses{position:absolute;right:0;top:0;max-width:70%;border:0;padding:0;gap:6px}.weekend-recap.is-replaying .recap-party-bonuses>div>small{max-width:80px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.weekend-recap.is-replaying .recap-party-bonuses .recap-match-bonus{padding:0}.weekend-recap.is-replaying .recap-party-bonuses .portrait{height:16px!important}}
@media(max-height:500px) and (min-width:481px) and (max-width:1000px){.weekend-recap.is-replaying .recap-participant .card .portrait{min-height:17px}.weekend-recap.is-replaying .recap-participant .recap-earned{line-height:16px}.weekend-recap.is-replaying .recap-participant .recap-points{font-size:14px;line-height:16px}.weekend-recap.is-replaying .recap-participant .recap-earned small{font-size:8px;line-height:10px}.weekend-recap.is-replaying .recap-participant .recap-void{font-size:8px;line-height:10px;margin:0}.weekend-recap.is-replaying .recap-participant .recap-earned:has(.recap-void){height:auto;min-height:20px}.weekend-recap.is-replaying .recap-participant .recap-condition{line-height:10px}}
@media(max-height:360px) and (min-width:481px) and (max-width:1000px){.weekend-recap.is-replaying .recap-header h2{font-size:13px;line-height:15px;margin:1px 0 2px}.weekend-recap.is-replaying .recap-header small{font-size:7px;line-height:8px;display:block}.weekend-recap.is-replaying .recap-tie-picker select{height:24px}.weekend-recap.is-replaying .recap-participant .recap-condition{font-size:7px;line-height:9px}.weekend-recap.is-replaying .recap-participant .recap-earned{line-height:16px}.weekend-recap.is-replaying .recap-participant .recap-points{line-height:16px}.weekend-recap.is-replaying .recap-participant .recap-earned small{font-size:8px;line-height:10px}}
.recap-sets>span:has(strong:empty) strong{visibility:hidden!important}
.is-replaying .recap-tie-picker select{min-height:0}

@media(max-height:500px) and (min-width:481px) and (max-width:1000px){.weekend-recap.is-replaying .recap-controls{display:flex}.weekend-recap.is-replaying .recap-controls .btn{width:auto}.weekend-recap.is-replaying .recap-preview-tools{top:7px;right:45px}}
@media(max-width:650px){
 .weekend-recap.is-replaying[open]{height:96dvh;max-height:96dvh;padding:10px 8px;width:98vw;box-sizing:border-box}
 .is-replaying .recap-header{gap:6px;align-items:center}.is-replaying .recap-header h2{font-size:15px;line-height:1.25;margin:3px 0 7px}.is-replaying .recap-header small{font-size:9px}.is-replaying .recap-header>button{font-size:19px;min-width:32px;min-height:32px;padding:4px}
 .is-replaying .recap-body{padding:0;scrollbar-gutter:auto;overflow:hidden}.is-replaying .recap-detail-content{min-width:0}.is-replaying .recap-tie-picker{flex:none;display:flex;align-items:center;gap:8px;margin:0 0 6px;font-size:10px}.is-replaying .recap-tie-picker select{min-width:0;flex:1;padding:7px;font-size:11px;height:34px}
 .is-replaying .recap-tie-head{grid-template-columns:68px minmax(0,1fr) 68px;gap:4px;padding:2px 0 4px}.is-replaying .recap-coach-front{gap:3px}.is-replaying .recap-coach-front>.card{width:49px}.is-replaying .recap-coach .portrait{height:31px}.is-replaying .recap-coach .card .card-info{height:24px;padding:1px 2px}.is-replaying .recap-coach .card .card-name{height:22px;font-size:8px;line-height:10px}.is-replaying .recap-coach-track{height:34px}.is-replaying .recap-coach-condition{width:13px;font-size:8px;gap:2px}.is-replaying .recap-coach-status{font-size:8px;line-height:10px;min-height:10px;margin-top:2px}.is-replaying .recap-coach-earned,.is-replaying .recap-coach-earned:empty{height:17px}.is-replaying .recap-coach-earned .recap-points{font-size:12px}.is-replaying .recap-coach-earned .recap-maximum{font-size:8px}.is-replaying .recap-coach .club-logo{width:16px;height:15px;padding:1px}
 .is-replaying .recap-club-row{grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr);gap:2px}.is-replaying .recap-club-row>div{gap:3px}.is-replaying .recap-club-row .club-logo{width:38px;height:38px;padding:3px}.is-replaying .recap-club-row strong{font-size:8px;line-height:10px}.is-replaying .recap-club-row .recap-team-score{font-size:24px}
 .is-replaying .recap-party-stage{overflow:auto;overscroll-behavior:contain}.is-replaying .recap-party-heading{padding:5px 0 3px;gap:4px}.is-replaying .recap-party-heading h3{font-size:12px}.is-replaying .recap-party-heading>span{font-size:9px}.is-replaying .recap-match-cards{grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr);gap:7px;margin:3px 0;min-height:190px}
 .is-replaying .recap-side{gap:5px}.is-replaying .recap-side>.recap-participant{width:min(100%,130px);height:calc((100% - 5px)/2);min-height:92px;max-height:245px}.is-replaying .recap-side:has(>.recap-participant:only-child)>.recap-participant{height:82%;max-height:300px}.is-replaying .recap-participant .card .portrait{min-height:27px;flex:1;height:auto}.is-replaying .recap-participant .card .card-info{height:27px;padding:2px 3px}.is-replaying .recap-participant .card .card-name{font-size:10px;line-height:11px;height:22px}.is-replaying .recap-participant .card .card-name.long-name{font-size:9px}.is-replaying .recap-participant .card .card-meta,.is-replaying .recap-participant .photo-label{display:none}.is-replaying .recap-participant .initials{font-size:33px}.is-replaying .recap-participant .recap-condition{height:20px;padding:1px;font-size:9px}.is-replaying .recap-participant .recap-track{height:4px;margin:2px 0}.is-replaying .recap-participant .recap-earned{height:22px;min-height:22px;gap:2px}.is-replaying .recap-participant .recap-earned .recap-points{font-size:16px}.is-replaying .recap-participant .recap-maximum{font-size:10px}.is-replaying .recap-participant .recap-earned:has(.recap-void){height:auto}.is-replaying .recap-participant .recap-void{font-size:8px;line-height:1.15;margin:0}.is-replaying .recap-shadow-label{font-size:8px;line-height:9px;padding:2px;bottom:2px;left:2px;right:2px}.is-replaying .recap-sets{gap:7px}.is-replaying .recap-sets>span{min-height:48px;box-sizing:border-box;padding:5px 2px}.is-replaying .recap-sets small{font-size:9px}.is-replaying .recap-sets strong{font-size:20px}.is-replaying .recap-party-bonuses{padding:3px;gap:4px}.is-replaying .recap-party-bonuses>div>small{font-size:8px;max-width:65px}.is-replaying .recap-party-bonuses .recap-points{font-size:13px}.is-replaying .recap-party-bonuses .recap-match-bonus span{font-size:8px}.is-replaying .recap-playback-status{font-size:9px;line-height:12px;min-height:12px;margin:3px 0}
 .is-replaying>footer{padding-top:5px}.is-replaying .recap-party-dots{padding:5px 0 7px;gap:6px}.is-replaying .recap-party-dot{width:29px;height:29px}.is-replaying .recap-controls{grid-template-columns:42px minmax(0,1fr) minmax(0,1.1fr);gap:6px}.is-replaying .recap-controls .btn{min-height:46px;font-size:12px;padding:7px 4px;line-height:1.2}.is-replaying .recap-controls [data-recap=skip]{font-size:21px}
}
@media(max-height:360px) and (min-width:481px) and (max-width:1000px){.weekend-recap.is-replaying .recap-match-cards{min-height:96px}.weekend-recap.is-replaying .recap-side>.recap-participant{min-height:90px}.weekend-recap.is-replaying .recap-participant .card .portrait{min-height:17px}.weekend-recap.is-replaying .recap-participant .card .card-info{height:22px}.weekend-recap.is-replaying .recap-participant .recap-condition{height:16px;font-size:8px;padding:0}.weekend-recap.is-replaying .recap-participant .recap-track{margin:1px 0;height:3px}.weekend-recap.is-replaying .recap-participant .recap-earned{height:18px;min-height:18px}.weekend-recap.is-replaying .recap-participant .recap-earned:has(.recap-void){height:auto}.weekend-recap.is-replaying .recap-participant .recap-void{font-size:8px;line-height:9px;margin:0}.weekend-recap.is-replaying .recap-sets>span{min-height:29px;padding:2px}.weekend-recap.is-replaying .recap-sets small{font-size:7px;line-height:8px;display:block}.weekend-recap.is-replaying .recap-sets strong{font-size:16px;line-height:17px}.weekend-recap.is-replaying .recap-party-heading{padding:2px 0}.weekend-recap.is-replaying .recap-coach-earned,.weekend-recap.is-replaying .recap-coach-earned:empty{height:14px}.weekend-recap.is-replaying .recap-party-bonuses{padding:2px}.weekend-recap.is-replaying .recap-party-bonuses .recap-match-bonus .portrait{height:16px!important}.weekend-recap.is-replaying .recap-party-bonuses .recap-points{font-size:11px}}
/* Short landscape screens use doubles partners side by side to preserve card size. */
@media(max-width:650px) and (max-height:650px){.is-replaying .recap-tie-picker select{height:30px;padding:5px}.is-replaying .recap-coach .portrait{height:24px}.is-replaying .recap-club-row .club-logo{width:30px;height:30px}.is-replaying .recap-coach-earned,.is-replaying .recap-coach-earned:empty{height:15px}.is-replaying .recap-match-cards{min-height:182px}.is-replaying .recap-side>.recap-participant{min-height:88px}.is-replaying .recap-party-dots{padding:4px 0 6px}.is-replaying .recap-header h2{font-size:14px}}
@media(max-height:500px) and (min-width:481px) and (max-width:1000px){
 .weekend-recap.is-replaying[open]{height:98dvh;max-height:98dvh;padding:7px 10px}.is-replaying .recap-header h2{font-size:14px;margin:2px 0 4px}.is-replaying .recap-header small{font-size:8px}.is-replaying .recap-tabs{display:none}.is-replaying .recap-tie-picker{display:flex;align-items:center;gap:7px;font-size:10px;margin:0 0 3px;flex:none}.is-replaying .recap-tie-picker select{flex:1;min-width:0;height:27px;padding:3px;background:#20314a;color:white;border:1px solid #63728c;border-radius:5px;font-size:11px}.is-replaying .recap-body{overflow:hidden;padding:0}.is-replaying .recap-tie-head{grid-template-columns:125px 1fr 125px;gap:6px;padding:1px 0 3px}.is-replaying .recap-coach{display:grid;grid-template-columns:70px 1fr;align-items:center}.is-replaying .recap-coach-front{grid-row:span 2}.is-replaying .recap-coach-front>.card{width:44px}.is-replaying .recap-coach .portrait{height:22px}.is-replaying .recap-coach .card .card-info{height:22px;padding:0 2px}.is-replaying .recap-coach .card .card-name{font-size:7px;line-height:9px;height:18px}.is-replaying .recap-coach .club-logo{width:13px;height:13px;padding:1px}.is-replaying .recap-coach-condition{width:15px;font-size:8px}.is-replaying .recap-coach-condition>span{display:none}.is-replaying .recap-coach-track{height:25px}.is-replaying .recap-coach-status{font-size:8px;min-height:10px;margin:0}.is-replaying .recap-coach-earned,.is-replaying .recap-coach-earned:empty{height:17px}.is-replaying .recap-coach-earned .recap-points{font-size:12px}.is-replaying .recap-club-row .club-logo{width:30px;height:30px}.is-replaying .recap-club-row>div{flex-direction:row;gap:6px}.is-replaying .recap-club-row>div:last-child{flex-direction:row-reverse}.is-replaying .recap-club-row strong{font-size:10px}.is-replaying .recap-team-score{font-size:28px}.is-replaying .recap-party-stage{overflow:auto}.is-replaying .recap-party-heading{padding:3px 0}.is-replaying .recap-party-heading h3{font-size:11px}.is-replaying .recap-match-cards{grid-template-columns:1fr 75px 1fr;gap:12px;margin:0;min-height:120px}.is-replaying .recap-side{flex-direction:row;gap:10px}.is-replaying .recap-side>.recap-participant{height:100%;max-height:170px;min-height:115px;width:min(46%,110px)}.is-replaying .recap-participant .card .card-name{font-size:9px;line-height:10px;height:20px}.is-replaying .recap-participant .card .card-info{height:24px;padding:2px}.is-replaying .recap-participant .card-meta{display:none}.is-replaying .recap-participant .recap-condition{height:18px;font-size:8px}.is-replaying .recap-participant .recap-earned{height:20px;min-height:20px}.is-replaying .recap-earned .recap-points{font-size:15px}.is-replaying .recap-sets{gap:4px}.is-replaying .recap-sets>span{min-height:33px;padding:2px}.is-replaying .recap-sets small{font-size:8px}.is-replaying .recap-sets strong{font-size:18px}.is-replaying .recap-playback-status{font-size:9px;min-height:12px;margin:2px}.is-replaying>footer{padding-top:3px}.is-replaying .recap-footer-controls{display:flex;align-items:center;gap:16px}.is-replaying .recap-party-dots{padding:3px;gap:6px}.is-replaying .recap-party-dot{width:27px;height:27px}.is-replaying .recap-controls{flex:1;flex-wrap:nowrap;justify-content:flex-end;gap:7px}.is-replaying .recap-controls .btn{min-height:35px;padding:6px 10px;font-size:11px}.is-replaying .recap-skip-label{display:none}
}
