.broadcast-overlay-route,.broadcast-overlay-route body{width:100%;height:100%;margin:0;overflow:hidden;background:#00ff00!important}
.broadcast-overlay-route body>:not(#broadcastOverlay){display:none!important}
#broadcastOverlay{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:flex-end;flex-direction:column;gap:18px;box-sizing:border-box;padding:0 32px 54px;color:#fff;font-family:Inter,Arial,sans-serif;pointer-events:none}
.broadcast-scorebug{display:grid;grid-template-columns:minmax(220px,1fr) 88px 116px 88px minmax(220px,1fr);width:min(760px,calc(100vw - 64px));height:128px;overflow:hidden;border:1px solid rgba(255,255,255,.22);border-radius:12px;background:rgba(11,16,24,.96);box-shadow:0 12px 30px rgba(0,0,0,.65)}
.broadcast-team{display:flex;min-width:0;flex-direction:column;justify-content:center;gap:10px;padding:0 15px}.broadcast-team--a{align-items:flex-end;text-align:right}.broadcast-team--b{align-items:flex-start;text-align:left}
.broadcast-name{display:flex;align-items:center;max-width:100%;overflow:hidden;font-size:22px;font-weight:900;letter-spacing:.4px;line-height:1;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}
.broadcast-meta{color:rgba(255,255,255,.62);font-size:11px;font-weight:800;letter-spacing:.8px;white-space:nowrap}
.broadcast-score{display:grid;place-items:center;font-size:56px;font-weight:900;line-height:1;text-shadow:0 2px 8px rgba(0,0,0,.25)}
.broadcast-center{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:#151c27}.broadcast-brand{color:#65f08c;font-size:13px;font-weight:900;letter-spacing:1.5px}.broadcast-set{font-size:23px;font-weight:900}.broadcast-live{color:rgba(255,255,255,.55);font-size:11px;font-weight:800;letter-spacing:2px}
.broadcast-serve{display:inline-block;flex:0 0 auto;width:11px;height:11px;margin:0 8px;border-radius:50%;background:#65f08c;box-shadow:0 0 9px rgba(101,240,140,.75)}
.broadcast-player-card{display:grid;grid-template-columns:210px minmax(250px,1fr) 420px;width:min(1040px,calc(100vw - 64px));height:238px;overflow:hidden;border:1px solid rgba(255,255,255,.24);border-radius:16px;background:linear-gradient(115deg,rgba(8,12,19,.98),rgba(20,29,39,.97));box-shadow:0 18px 44px rgba(0,0,0,.68);animation:clickable-overlay 4s both}
.broadcast-player-photo{position:relative;overflow:hidden;background:radial-gradient(circle at 50% 25%,#26384d,#0a0f17 70%)}.broadcast-player-photo:after{content:"";position:absolute;inset:auto 0 0;height:42%;background:linear-gradient(transparent,rgba(8,12,19,.88))}.broadcast-player-photo img{width:100%;height:100%;object-fit:cover;object-position:center top}
.broadcast-player-info{display:flex;flex-direction:column;justify-content:center;padding:24px 28px;border-right:1px solid rgba(255,255,255,.1)}.broadcast-player-info>span{color:#65f08c;font-size:13px;font-weight:900;letter-spacing:1.5px;text-transform:uppercase}.broadcast-player-info h2{max-width:360px;margin:10px 0 8px;font-size:34px;line-height:1.02;text-transform:uppercase}.broadcast-player-info p{margin:0;color:rgba(255,255,255,.55);font-size:12px;font-weight:800;letter-spacing:1.2px}
.broadcast-player-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(255,255,255,.08)}.broadcast-player-stats div{display:flex;align-items:center;justify-content:center;flex-direction:column;background:#111925}.broadcast-player-stats .is-primary{grid-row:span 2;background:linear-gradient(150deg,#173a21,#0d2515)}.broadcast-player-stats strong{font-size:36px;line-height:1}.broadcast-player-stats .is-primary strong{color:#65f08c;font-size:62px}.broadcast-player-stats span{margin-top:7px;color:rgba(255,255,255,.55);font-size:10px;font-weight:900;letter-spacing:1.4px}
.broadcast-situational-card{display:grid;grid-template-columns:1fr 360px 250px;align-items:center;width:min(1040px,calc(100vw - 64px));min-height:max(210px,calc(var(--rallies,10) * 22px + 44px));overflow:hidden;border:1px solid rgba(255,255,255,.24);border-radius:16px;background:linear-gradient(115deg,rgba(8,12,19,.98),rgba(20,29,39,.97));box-shadow:0 18px 44px rgba(0,0,0,.68);animation:clickable-overlay 4s both}.situation-heading{padding:24px 28px}.situation-heading>span{color:#65f08c;font-size:11px;font-weight:900;letter-spacing:1.8px}.situation-heading h2{margin:6px 0 10px;font-size:29px}.situation-heading p{margin:0;color:rgba(255,255,255,.68);font-size:15px;font-weight:700}.situation-sequence{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;align-self:stretch;padding:20px 22px;border-left:1px solid rgba(255,255,255,.08);border-right:1px solid rgba(255,255,255,.08)}.situation-sequence span{display:grid;grid-template-columns:34px 17px 34px;align-items:center;justify-content:center;gap:9px;min-height:18px}.situation-sequence span b{font-size:13px;line-height:1;text-align:center}.situation-sequence i{width:15px;height:15px;border-radius:4px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.32),0 2px 6px rgba(0,0,0,.35)}.situation-score{display:flex;align-items:center;justify-content:center;gap:10px}.situation-score div{display:flex;align-items:center;justify-content:center;flex-direction:column;min-width:98px;max-width:108px;min-height:94px;border-radius:10px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.24),0 8px 18px rgba(0,0,0,.3);text-shadow:0 2px 5px rgba(0,0,0,.72)}.situation-score strong{font-size:43px;line-height:1}.situation-score span{order:-1;max-width:98px;margin:0 0 7px;overflow:hidden;color:#fff;font-size:9px;font-weight:900;letter-spacing:.8px;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.situation-score>b{color:rgba(255,255,255,.35);font-size:25px}
@keyframes clickable-overlay{0%{opacity:0;transform:translateY(34px) scale(.97)}9%,82%{opacity:1;transform:none}100%{opacity:0;transform:translateY(22px) scale(.985)}}
.substitution-toast-stack{position:fixed;top:70px;left:70px;display:flex;flex-direction:column;gap:12px;width:440px}.substitution-toast{overflow:hidden;border:1px solid rgba(255,255,255,.26);border-radius:14px;background:rgba(9,14,22,.97);box-shadow:0 16px 40px rgba(0,0,0,.66);animation:sub-toast 4s both}.substitution-toast header{display:flex;align-items:center;justify-content:space-between;padding:11px 16px;background:linear-gradient(90deg,#173d22,#12231a)}.substitution-toast header span{color:#65f08c;font-size:11px;font-weight:900;letter-spacing:1.6px}.substitution-toast header b{font-size:12px;text-transform:uppercase}.substitution-toast>div{display:grid;grid-template-columns:1fr 1fr}.substitution-toast p{display:flex;align-items:center;gap:10px;margin:0;padding:16px}.substitution-toast p+ p{border-left:1px solid rgba(255,255,255,.09)}.substitution-toast i{display:grid;place-items:center;min-width:35px;height:25px;border-radius:7px;font-size:10px;font-style:normal;font-weight:900}.player-in i{background:#1c9d49}.player-out i{background:#b42e3d}.substitution-toast strong{font-size:14px;line-height:1.15}@keyframes sub-toast{0%{opacity:0;transform:translateX(-28px)}8%,82%{opacity:1;transform:none}100%{opacity:0;transform:translateX(-18px)}}
#broadcastOverlay.is-control{align-items:center;justify-content:flex-start;overflow:auto;padding:42px 24px;background:radial-gradient(circle at 50% 0,#17341f 0,transparent 34%),#080c0a;pointer-events:auto}.graphics-control{width:min(880px,100%);padding:28px;border:1px solid rgba(101,240,140,.22);border-radius:20px;background:rgba(15,22,18,.97);box-shadow:0 24px 60px rgba(0,0,0,.45)}.graphics-control header{display:flex;align-items:center;justify-content:space-between;gap:20px}.graphics-control header span{color:#65f08c;font-size:11px;font-weight:900;letter-spacing:1.6px}.graphics-control h1{margin:5px 0 0;font-size:30px}.graphics-control header>b{padding:8px 12px;border:1px solid rgba(101,240,140,.25);border-radius:999px;color:#b8ffc9;font-size:11px;letter-spacing:1px}.graphics-help{margin:15px 0 22px;color:rgba(255,255,255,.58)}.graphics-player-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.graphics-player-button{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:12px;min-width:0;padding:10px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:#111a15;color:#fff;text-align:left;cursor:pointer;transition:.16s ease}.graphics-player-button:hover,.graphics-player-button.is-active{border-color:#65f08c;background:#183021;transform:translateY(-1px)}.graphics-avatar{width:52px;height:52px;overflow:hidden;border-radius:9px;background:#253128}.graphics-avatar img{width:100%;height:100%;object-fit:cover}.graphics-player-button span:nth-child(2){min-width:0}.graphics-player-button strong,.graphics-player-button small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.graphics-player-button strong{font-size:14px}.graphics-player-button small{margin-top:5px;color:rgba(255,255,255,.5);font-size:11px}.graphics-player-button em{color:#65f08c;font-size:10px;font-style:normal;font-weight:900;letter-spacing:1px}.graphics-control footer{display:flex;align-items:center;gap:18px;margin-top:20px}.graphics-hide-button{padding:12px 18px;border:1px solid rgba(255,255,255,.16);border-radius:10px;background:#252b27;color:#fff;font-weight:800;cursor:pointer}.graphics-hide-button:hover{background:#343c36}.graphics-control-status{color:#9bb6a2;font-size:12px;font-weight:700}
.situational-controls{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:0 0 22px;padding:17px 18px;border:1px solid rgba(101,240,140,.16);border-radius:13px;background:#0d1610}.situational-controls h2{margin:0 0 4px;font-size:16px}.situational-controls p{margin:0;color:rgba(255,255,255,.48);font-size:11px}.situational-buttons{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.situation-button{padding:9px 11px;border:1px solid rgba(101,240,140,.24);border-radius:8px;background:#15251a;color:#c9ffd6;font-size:11px;font-weight:800;cursor:pointer}.situation-button:hover,.situation-button.is-active{border-color:#65f08c;background:#244e30}.situation-button.is-muted{border-color:rgba(255,255,255,.12);background:#292e2b;color:#d4d9d5}
@media(max-width:760px){#broadcastOverlay{padding:0 12px 24px}.broadcast-scorebug{grid-template-columns:minmax(100px,1fr) 62px 82px 62px minmax(100px,1fr);width:100%;height:94px}.broadcast-team{padding:0 8px;gap:7px}.broadcast-name{font-size:14px}.broadcast-meta{font-size:8px;letter-spacing:.2px}.broadcast-score{font-size:39px}.broadcast-brand{font-size:9px}.broadcast-set{font-size:16px}.broadcast-live{font-size:8px}}
@media(max-width:760px){.broadcast-player-card{grid-template-columns:105px 1fr;width:100%;height:164px}.broadcast-player-info{padding:14px}.broadcast-player-info h2{font-size:21px}.broadcast-player-stats{display:none}.graphics-player-grid{grid-template-columns:1fr}.graphics-control{padding:18px}.graphics-control header>b{display:none}}
@media(max-width:760px){.broadcast-situational-card{grid-template-columns:1fr;width:100%;min-height:140px}.situation-sequence,.situation-score{display:none}.substitution-toast-stack{top:24px;left:12px;width:calc(100vw - 24px)}.situational-controls{align-items:flex-start;flex-direction:column}.situational-buttons{justify-content:flex-start}}

/* StatTrak broadcast branding */
.broadcast-brand-logo{display:block;width:88px;max-height:25px;object-fit:contain}
.broadcast-card-logo{display:block;width:108px;max-height:30px;margin:0 0 13px;object-fit:contain;object-position:left center}
.graphics-control-logo{display:block;width:142px;max-height:40px;margin-bottom:10px;object-fit:contain;object-position:left center}
.situation-heading>div{display:flex;align-items:center;gap:14px}
.situation-heading>div .broadcast-card-logo{width:96px;margin:0}
.situation-heading>div>span{color:#65f08c;font-size:11px;font-weight:900;letter-spacing:1.8px}
.substitution-toast header span{display:flex;align-items:center;gap:10px}
.substitution-toast header span img{width:76px;max-height:22px;object-fit:contain}

/* Broadcast motion system: fast reveal, stable read, clean exit */
.broadcast-player-card,.broadcast-situational-card{position:relative;transform-origin:50% 100%;will-change:transform,opacity,clip-path;animation:tech-card-cycle 4s cubic-bezier(.22,.75,.18,1) both}
.broadcast-player-card:before,.broadcast-situational-card:before{content:"";position:absolute;z-index:8;inset:0;pointer-events:none;background:linear-gradient(108deg,transparent 30%,rgba(101,240,140,.20) 48%,rgba(255,255,255,.12) 52%,transparent 70%);transform:translateX(-135%);animation:tech-scan 4s cubic-bezier(.2,.8,.2,1) both}
.broadcast-player-photo{animation:tech-photo 4s cubic-bezier(.2,.8,.2,1) both}
.broadcast-player-info>*{animation:tech-data 4s cubic-bezier(.2,.8,.2,1) both}.broadcast-player-info>*:nth-child(2){animation-delay:.05s}.broadcast-player-info>*:nth-child(3){animation-delay:.10s}.broadcast-player-info>*:nth-child(4){animation-delay:.15s}
.broadcast-player-stats>div{animation:tech-stat 4s cubic-bezier(.2,.8,.2,1) both}.broadcast-player-stats>div:nth-child(2){animation-delay:.06s}.broadcast-player-stats>div:nth-child(3){animation-delay:.10s}.broadcast-player-stats>div:nth-child(4){animation-delay:.14s}.broadcast-player-stats>div:nth-child(5){animation-delay:.18s}
.situation-heading,.situation-score{animation:tech-data 4s cubic-bezier(.2,.8,.2,1) both}.situation-sequence i{animation:tech-dot 4s cubic-bezier(.2,.8,.2,1) both}.situation-sequence i:nth-child(3n+2){animation-delay:.035s}.situation-sequence i:nth-child(3n){animation-delay:.07s}
.substitution-toast{position:relative;will-change:transform,opacity,clip-path;animation:tech-toast-cycle 4s cubic-bezier(.22,.75,.18,1) both}.substitution-toast:after{content:"";position:absolute;inset:0;pointer-events:none;border-left:3px solid #65f08c;box-shadow:inset 16px 0 30px rgba(101,240,140,.08)}.substitution-toast p{animation:tech-data 4s cubic-bezier(.2,.8,.2,1) both}.substitution-toast p:nth-child(2){animation-delay:.08s}
@keyframes tech-card-cycle{0%{opacity:0;filter:blur(8px);clip-path:inset(0 48% 0 48% round 16px);transform:translateY(28px) scale(.965)}7%{opacity:1;filter:blur(0);clip-path:inset(0 0 0 0 round 16px);transform:translateY(-2px) scale(1.004)}11%,84%{opacity:1;filter:none;clip-path:inset(0 0 0 0 round 16px);transform:none}92%{opacity:1;filter:none;clip-path:inset(0 0 0 0 round 16px);transform:translateY(2px)}100%{opacity:0;filter:blur(5px);clip-path:inset(0 50% 0 50% round 16px);transform:translateY(18px) scale(.975)}}
@keyframes tech-scan{0%,4%{opacity:0;transform:translateX(-135%)}7%{opacity:1}18%{opacity:0;transform:translateX(135%)}100%{opacity:0;transform:translateX(135%)}}
@keyframes tech-photo{0%{opacity:0;transform:scale(1.12) translateX(-16px)}9%,86%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.04) translateX(-8px)}}
@keyframes tech-data{0%,4%{opacity:0;transform:translateY(10px)}11%,87%{opacity:1;transform:none}100%{opacity:0;transform:translateY(-7px)}}
@keyframes tech-stat{0%,5%{opacity:0;transform:translateX(14px)}13%,87%{opacity:1;transform:none}100%{opacity:0;transform:translateX(8px)}}
@keyframes tech-dot{0%,6%{opacity:0;transform:scale(.25) rotate(-45deg)}14%,88%{opacity:1;transform:none}100%{opacity:0;transform:scale(.5)}}
@keyframes tech-toast-cycle{0%{opacity:0;filter:blur(6px);clip-path:inset(0 100% 0 0 round 14px);transform:translateX(-26px)}8%{opacity:1;filter:none;clip-path:inset(0 0 0 0 round 14px);transform:translateX(2px)}12%,84%{opacity:1;filter:none;clip-path:inset(0 0 0 0 round 14px);transform:none}100%{opacity:0;filter:blur(4px);clip-path:inset(0 0 0 100% round 14px);transform:translateX(-18px)}}

/* Persistent end-of-set summary */
.end-set-card{position:relative;display:grid;grid-template-columns:280px 190px 1fr;width:min(1060px,calc(100vw - 64px));min-height:285px;overflow:hidden;border:1px solid rgba(101,240,140,.32);border-radius:18px;background:linear-gradient(120deg,rgba(8,13,20,.99),rgba(16,27,22,.99));box-shadow:0 22px 58px rgba(0,0,0,.72);animation:end-set-in .62s cubic-bezier(.16,.86,.2,1) both}
.end-set-card:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 35%,rgba(101,240,140,.17) 50%,transparent 65%);transform:translateX(-130%);animation:end-set-scan 1.15s .12s cubic-bezier(.2,.8,.2,1) both}
.end-set-card>header{display:flex;justify-content:center;flex-direction:column;padding:30px;border-right:1px solid rgba(255,255,255,.09)}.end-set-card>header img{width:132px;max-height:38px;margin-bottom:25px;object-fit:contain;object-position:left}.end-set-card>header span{color:#65f08c;font-size:12px;font-weight:900;letter-spacing:1.7px}.end-set-card>header h2{margin:10px 0 0;font-size:25px;line-height:1.08}
.end-set-score{display:flex;align-items:center;justify-content:center;gap:10px;border-right:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.025)}.end-set-score div{display:flex;align-items:center;flex-direction:column;min-width:65px}.end-set-score strong{font-size:56px;line-height:1}.end-set-score span{max-width:78px;margin-top:10px;overflow:hidden;color:rgba(255,255,255,.58);font-size:9px;font-weight:900;letter-spacing:.8px;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.end-set-score>b{color:rgba(255,255,255,.28);font-size:28px}
.end-set-stats{display:flex;justify-content:center;flex-direction:column;padding:20px 27px}.end-set-team-labels,.end-set-stat-row{display:grid;grid-template-columns:1fr 110px 1fr;align-items:center;text-align:center}.end-set-team-labels{padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.1)}.end-set-team-labels b{overflow:hidden;font-size:12px;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.end-set-team-labels span{color:#65f08c;font-size:9px;font-weight:900;letter-spacing:1px}.end-set-stat-row{min-height:35px;border-bottom:1px solid rgba(255,255,255,.055)}.end-set-stat-row strong{font-size:19px}.end-set-stat-row span{color:rgba(255,255,255,.48);font-size:9px;font-weight:900;letter-spacing:1px}
.set-summary-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 22px;padding:17px 18px;border:1px solid rgba(94,174,255,.2);border-radius:13px;background:#0d141a}.set-summary-controls h2{margin:0 0 4px;font-size:16px}.set-summary-controls p{margin:0;color:rgba(255,255,255,.48);font-size:11px}.set-summary-controls>div:last-child{display:flex;gap:8px}.set-summary-button{padding:10px 13px;border:1px solid rgba(101,240,140,.28);border-radius:8px;background:#173220;color:#d2ffdc;font-size:11px;font-weight:900;cursor:pointer}.set-summary-button:hover,.set-summary-button.is-active{border-color:#65f08c;background:#28573a}.set-summary-button.is-off{border-color:rgba(255,255,255,.14);background:#2a2f2c;color:#eef2ef}
@keyframes end-set-in{0%{opacity:0;filter:blur(8px);clip-path:inset(0 48% round 18px);transform:translateY(26px) scale(.97)}65%{opacity:1;filter:none;clip-path:inset(0 round 18px);transform:translateY(-2px) scale(1.003)}100%{opacity:1;filter:none;clip-path:inset(0 round 18px);transform:none}}
@keyframes end-set-scan{0%{opacity:0;transform:translateX(-130%)}20%{opacity:1}100%{opacity:0;transform:translateX(130%)}}
@media(max-width:760px){.end-set-card{grid-template-columns:1fr;width:100%;min-height:330px}.end-set-card>header{padding:18px;border-right:0;border-bottom:1px solid rgba(255,255,255,.09)}.end-set-card>header img{width:100px;margin-bottom:12px}.end-set-card>header h2{font-size:19px}.end-set-score{padding:16px;border-right:0}.end-set-score strong{font-size:42px}.end-set-stats{padding:14px}.set-summary-controls{align-items:flex-start;flex-direction:column}}

/* Vertical end-of-set composition */
.end-set-card{display:flex;align-items:stretch;flex-direction:column;width:min(520px,calc(100vw - 64px));min-height:610px;border-radius:22px;background:linear-gradient(160deg,rgba(7,13,19,.995),rgba(11,25,18,.995));transform-origin:50% 100%}
.end-set-card>header.end-set-league{display:flex;align-items:center;justify-content:flex-start;flex-direction:row;gap:14px;min-height:64px;box-sizing:border-box;padding:14px 24px;border:0;border-bottom:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.025);animation:end-section-in .62s .06s cubic-bezier(.16,.86,.2,1) both}
.end-set-league img,.end-set-league i{width:44px;height:44px;margin:0;border:0;border-radius:0;background:transparent;box-shadow:none;object-fit:contain}.end-set-league i{display:grid;place-items:center;color:#caffd6;font-size:13px;font-style:normal;font-weight:900;letter-spacing:.5px}.end-set-league strong{overflow:hidden;font-size:15px;letter-spacing:.5px;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}
.end-set-brand{display:grid;place-items:center;padding:21px 20px 12px;animation:end-section-in .62s .14s cubic-bezier(.16,.86,.2,1) both}.end-set-brand img{width:152px;max-height:43px;object-fit:contain}
.end-set-title{text-align:center;animation:end-section-in .62s .22s cubic-bezier(.16,.86,.2,1) both}.end-set-title span{color:#65f08c;font-size:10px;font-weight:900;letter-spacing:2px}.end-set-title h2{margin:5px 0 14px;font-size:39px;letter-spacing:-1px}
.end-set-card .end-set-score{display:flex;align-items:center;justify-content:center;gap:18px;min-height:118px;margin:0 24px;padding:0;border:1px solid rgba(101,240,140,.16);border-radius:14px;background:linear-gradient(115deg,rgba(25,49,31,.72),rgba(14,25,22,.84));animation:end-section-in .65s .30s cubic-bezier(.16,.86,.2,1) both}.end-set-card .end-set-score div{display:flex;align-items:center;justify-content:center;flex-direction:column;min-width:130px}.end-set-card .end-set-score strong{font-size:62px;line-height:1}.end-set-card .end-set-score span{order:-1;max-width:140px;margin:0 0 7px;font-size:10px}.end-set-card .end-set-score>b{font-size:28px}
.end-set-card .end-set-stats{flex:1;padding:22px 28px 25px;animation:end-section-in .68s .38s cubic-bezier(.16,.86,.2,1) both}.end-set-card .end-set-team-labels,.end-set-card .end-set-stat-row{grid-template-columns:1fr 130px 1fr}.end-set-card .end-set-team-labels{padding-bottom:12px}.end-set-card .end-set-stat-row{min-height:47px;opacity:0;animation:end-stat-row .5s calc(.48s + var(--row) * .075s) cubic-bezier(.16,.86,.2,1) forwards}.end-set-card .end-set-stat-row strong{font-size:24px}.end-set-card .end-set-stat-row span{font-size:10px}.end-set-card .end-set-team-labels b{font-size:13px}
@keyframes end-section-in{0%{opacity:0;filter:blur(6px);transform:translateY(14px)}100%{opacity:1;filter:none;transform:none}}
@keyframes end-stat-row{0%{opacity:0;transform:translateX(-12px)}100%{opacity:1;transform:none}}
@media(max-width:760px){.end-set-card{width:100%;min-height:520px}.end-set-card .end-set-score{min-height:92px;margin:0 14px}.end-set-card .end-set-score div{min-width:95px}.end-set-card .end-set-score strong{font-size:46px}.end-set-brand{padding-top:14px}.end-set-title h2{font-size:30px}.end-set-card .end-set-stats{padding:15px 18px}.end-set-card .end-set-stat-row{min-height:40px}}

/* Persistent end summary with full-height notable player */
.end-summary-stage{position:fixed;z-index:20;top:50%;left:50%;display:flex;align-items:stretch;justify-content:center;width:min(1040px,calc(100vw - 64px));min-height:610px;transform:translate(-50%,-50%)}.end-summary-stage .end-set-card{flex:0 0 520px}.end-summary-stage.has-notable .end-set-card{animation:end-card-push-right .78s .08s cubic-bezier(.16,.86,.2,1) both}
.notable-player{position:relative;z-index:2;flex:0 0 430px;height:610px;overflow:visible;background:transparent;filter:drop-shadow(0 20px 25px rgba(0,0,0,.48));animation:notable-slide-in .78s cubic-bezier(.16,.86,.2,1) both}.notable-player>img{display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom;animation:notable-photo-in .9s .08s cubic-bezier(.16,.86,.2,1) both}.notable-player:after{display:none}
.notable-player-overlay{position:absolute;z-index:2;right:18px;bottom:25px;left:24px;text-shadow:0 3px 5px #000,0 1px 14px #000;animation:notable-copy-in .65s .42s cubic-bezier(.16,.86,.2,1) both}.notable-player-overlay h3{margin:0 0 5px;font-size:31px;line-height:1;text-transform:uppercase}.notable-player-overlay>p{margin:0 0 17px;color:#fff;font-size:11px;font-weight:800;letter-spacing:.9px;text-transform:uppercase}
.notable-player-stats{display:flex;align-items:flex-end;gap:22px}.notable-player-stats b{display:flex;align-items:flex-start;justify-content:flex-end;flex-direction:column;min-width:0;padding:0;border:0;background:transparent;backdrop-filter:none}.notable-player-stats strong{font-size:30px;line-height:1;text-shadow:0 3px 5px #000,0 1px 14px #000}.notable-player-stats small{margin-top:6px;color:#fff;font-size:8px;font-weight:900;letter-spacing:.8px;white-space:nowrap;text-shadow:0 2px 5px #000,0 1px 10px #000}
.match-summary-controls{border-color:rgba(177,123,255,.25);background:#15101c}.end-set-card.is-match{background:linear-gradient(160deg,rgba(8,11,20,.995),rgba(20,13,29,.995))}.end-set-card.is-match .end-set-title span{color:#bc8cff}.end-set-card.is-match .end-set-score{border-color:rgba(188,140,255,.2);background:linear-gradient(115deg,rgba(48,31,68,.72),rgba(20,18,32,.9))}
.set-feature-player-buttons{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.set-feature-player{padding:7px 9px;border:1px solid rgba(255,255,255,.13);border-radius:7px;background:#18201b;color:#dce5df;font-size:9px;font-weight:800;cursor:pointer}.set-feature-player:hover,.set-feature-player.is-active{border-color:#65f08c;background:#244d30;color:#fff}.set-summary-controls>div:first-child{min-width:0;flex:1}.set-summary-controls>div:last-child{flex:0 0 auto}
.player-suggestion{display:grid;grid-template-columns:1fr auto;align-items:center;width:100%;margin-top:12px;padding:10px 12px;border:1px solid rgba(101,240,140,.32);border-radius:9px;background:rgba(28,67,38,.55);color:#fff;text-align:left;cursor:pointer}.player-suggestion span{grid-column:1/-1;margin-bottom:4px;color:#65f08c;font-size:8px;font-weight:900;letter-spacing:1.3px}.player-suggestion strong{font-size:12px;text-transform:uppercase}.player-suggestion b{color:#caffd6;font-size:10px}.player-suggestion:hover{border-color:#65f08c;background:rgba(38,91,52,.68)}.player-suggestion.is-match{border-color:rgba(188,140,255,.36);background:rgba(63,39,85,.5)}.player-suggestion.is-match span{color:#c49cff}.player-suggestion.is-match:hover{border-color:#c49cff;background:rgba(76,47,103,.65)}
.player-suggestion-empty{margin-top:12px;padding:10px 12px;border:1px dashed rgba(101,240,140,.22);border-radius:9px;background:rgba(22,42,28,.32)}.player-suggestion-empty span,.player-suggestion-empty strong{display:block}.player-suggestion-empty span{margin-bottom:5px;color:#65f08c;font-size:8px;font-weight:900;letter-spacing:1.2px}.player-suggestion-empty strong{color:rgba(255,255,255,.55);font-size:11px}.scorebug-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 22px;padding:17px 18px;border:1px solid rgba(101,240,140,.2);border-radius:13px;background:#101912}.scorebug-controls h2{margin:0 0 4px;font-size:16px}.scorebug-controls p{margin:0;color:rgba(255,255,255,.48);font-size:11px}.scorebug-controls>div:last-child{display:flex;gap:8px}
.team-player-tables{display:grid;grid-template-columns:1fr 1fr;gap:16px}.team-player-tables>section{min-width:0;padding:14px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:#0c130f}.team-player-tables>section>h2{margin:0 0 11px;padding-bottom:10px;border-bottom:1px solid rgba(101,240,140,.2);overflow:hidden;font-size:14px;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.team-player-tables>section>div{display:grid;gap:8px}.team-player-tables .graphics-player-button{width:100%}
.player-list-lock-notice{margin:0 0 12px;padding:11px 13px;border:1px solid rgba(255,190,83,.28);border-radius:9px;background:rgba(66,45,13,.5);color:#ffd58d;font-size:11px;font-weight:800}.team-player-tables.is-locked{opacity:.52}.graphics-player-button:disabled{border-color:rgba(255,255,255,.07);background:#101411;color:rgba(255,255,255,.45);cursor:not-allowed;filter:saturate(.35);transform:none!important}.graphics-player-button:disabled em{color:#d6a956}.graphics-player-button:disabled:hover{border-color:rgba(255,255,255,.07);background:#101411}
.end-match-set-scores{display:flex;justify-content:center;flex-wrap:wrap;gap:7px;margin:10px 24px 0;animation:end-section-in .65s .34s cubic-bezier(.16,.86,.2,1) both}.end-match-set-scores span{display:flex;align-items:center;gap:7px;padding:6px 9px;border:1px solid rgba(188,140,255,.2);border-radius:7px;background:rgba(188,140,255,.07)}.end-match-set-scores b{color:rgba(255,255,255,.54);font-size:7px;letter-spacing:.8px}.end-match-set-scores strong{font-size:12px}
@media(max-width:760px){.team-player-tables{grid-template-columns:1fr}.end-match-set-scores{margin-right:12px;margin-left:12px}.end-match-set-scores span{padding:5px 7px}.scorebug-controls{align-items:flex-start;flex-direction:column}}
@keyframes notable-slide-in{0%{opacity:0;filter:blur(8px) drop-shadow(0 20px 25px rgba(0,0,0,0));clip-path:inset(0 100% 0 0);transform:translateX(90px)}100%{opacity:1;filter:blur(0) drop-shadow(0 20px 25px rgba(0,0,0,.48));clip-path:inset(0);transform:none}}
@keyframes notable-photo-in{0%{transform:translateX(35px) scale(1.06)}100%{transform:none}}
@keyframes notable-copy-in{0%{opacity:0;transform:translateY(22px)}100%{opacity:1;transform:none}}
@keyframes end-card-push-right{0%{transform:translateX(-215px)}100%{transform:none}}
@media(max-width:980px){.end-summary-stage{width:100%}.end-summary-stage.has-notable{justify-content:flex-end}.end-summary-stage .end-set-card{flex-basis:min(520px,58vw)}.notable-player{flex-basis:42vw}.notable-player-overlay h3{font-size:24px}.notable-player-stats small{font-size:7px}}
@media(max-width:760px){.end-summary-stage{min-height:520px}.end-summary-stage .end-set-card{flex-basis:60%;min-width:0}.notable-player{flex-basis:40%;height:520px}.notable-player-overlay{right:8px;bottom:12px;left:8px}.notable-player-overlay h3{font-size:17px}.notable-player-overlay>p{font-size:8px}.notable-player-stats{display:grid;grid-template-columns:repeat(2,1fr)}.notable-player-stats strong{font-size:19px}.notable-player-stats small{font-size:6px}}

/* Full vertical rally history — 10 second broadcast cycle */
.broadcast-situational-card{grid-template-columns:1fr;align-items:stretch;width:min(460px,calc(100vw - 64px));min-height:max(420px,calc(var(--rallies,10) * 22px + 260px));transform-origin:50% 100%;animation-duration:10s}.broadcast-situational-card:before{animation-duration:10s}.broadcast-situational-card .situation-heading{padding:25px 28px 21px;border-bottom:1px solid rgba(255,255,255,.09);text-align:center}.broadcast-situational-card .situation-heading>div{justify-content:center}.broadcast-situational-card .situation-heading>div .broadcast-card-logo{object-position:center}.broadcast-situational-card .situation-heading h2{margin-top:10px}.broadcast-situational-card .situation-sequence{min-height:calc(var(--rallies,10) * 22px);padding:18px 22px;border:0;border-bottom:1px solid rgba(255,255,255,.09)}.broadcast-situational-card .situation-score{padding:22px 20px 25px}.broadcast-situational-card .situation-heading,.broadcast-situational-card .situation-score,.broadcast-situational-card .situation-sequence i{animation-duration:10s}
@media(max-width:760px){.broadcast-situational-card{grid-template-columns:1fr;width:min(440px,100%);min-height:max(380px,calc(var(--rallies,10) * 20px + 235px))}.broadcast-situational-card .situation-sequence{display:flex;min-height:calc(var(--rallies,10) * 20px)}.broadcast-situational-card .situation-score{display:flex}.broadcast-situational-card .situation-heading{padding:19px}.broadcast-situational-card .situation-heading h2{font-size:23px}.broadcast-situational-card .situation-heading p{font-size:12px}}

/* Timeout, centered substitutions, and point scoring feedback */
.substitution-toast-stack{top:auto;right:auto;bottom:200px;left:50%;z-index:30;width:440px;transform:translateX(-50%)}
.broadcast-timeout{position:fixed;z-index:28;bottom:210px;left:50%;width:min(520px,calc(100vw - 64px));box-sizing:border-box;padding:24px 30px 25px;overflow:hidden;border:1px solid color-mix(in srgb,var(--team-color) 65%,white);border-radius:16px;background:linear-gradient(120deg,rgba(8,13,20,.98),color-mix(in srgb,var(--team-color) 27%,rgba(8,13,20,.98)));box-shadow:0 18px 45px rgba(0,0,0,.68),inset 5px 0 0 var(--team-color);text-align:center;transform:translateX(-50%);animation:timeout-cycle 4s cubic-bezier(.2,.8,.2,1) both}.broadcast-timeout:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 30%,color-mix(in srgb,var(--team-color) 35%,transparent) 50%,transparent 70%);transform:translateX(-120%);animation:timeout-scan 4s ease both}.broadcast-timeout img{position:relative;width:105px;max-height:30px;object-fit:contain}.broadcast-timeout>span{position:relative;display:block;margin-top:10px;color:var(--team-color);font-size:11px;font-weight:900;letter-spacing:2.5px}.broadcast-timeout h2{position:relative;margin:5px 0 4px;font-size:31px;line-height:1;text-transform:uppercase}.broadcast-timeout p{position:relative;margin:0;color:rgba(255,255,255,.62);font-size:10px;font-weight:900;letter-spacing:1.3px}.timeout-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 22px;padding:17px 18px;border:1px solid rgba(255,190,83,.22);border-radius:13px;background:#1a140b}.timeout-controls h2{margin:0 0 4px;font-size:16px}.timeout-controls p{margin:0;color:rgba(255,255,255,.48);font-size:11px}.timeout-controls>div:last-child{display:flex;gap:8px}.timeout-controls button{max-width:190px;padding:10px 13px;border:1px solid rgba(255,190,83,.3);border-radius:8px;background:#332613;color:#fff;font-size:10px;font-weight:900;text-transform:uppercase;cursor:pointer}.timeout-controls button:hover{border-color:#ffbe53;background:#4a3518}
.timeout-controls button.is-off{border-color:rgba(255,255,255,.15);background:#2a2f2c;color:#eef2ef}.timeout-controls button.is-off:hover{border-color:#ff6f7d;background:#49232a}
.challenge-controls{border-color:rgba(82,198,255,.24);background:#0c1820}.challenge-controls button{border-color:rgba(82,198,255,.3);background:#132c38}.challenge-controls button:hover{border-color:#52c6ff;background:#194257}.challenge-controls button.is-off{background:#2a2f2c}.broadcast-challenge>span{letter-spacing:2.1px}.broadcast-challenge h2{font-size:29px}.broadcast-challenge p{color:#d9f4ff}
.broadcast-score.is-point-added{position:relative;z-index:3;animation:score-point-added 1.05s cubic-bezier(.16,.86,.2,1) both}.broadcast-score.is-point-added:after{content:"+1";position:absolute;top:9px;right:8px;padding:3px 5px;border-radius:5px;background:#fff;color:#07100a;font-size:10px;font-weight:1000;line-height:1;box-shadow:0 0 14px rgba(255,255,255,.8);animation:score-plus-one 1.05s ease both}
@keyframes timeout-cycle{0%{opacity:0;filter:blur(7px);clip-path:inset(0 50% round 16px);transform:translateX(-50%) translateY(24px) scale(.96)}9%,84%{opacity:1;filter:none;clip-path:inset(0 round 16px);transform:translateX(-50%)}100%{opacity:0;filter:blur(4px);clip-path:inset(0 50% round 16px);transform:translateX(-50%) translateY(15px) scale(.98)}}
@keyframes timeout-scan{0%,4%{opacity:0;transform:translateX(-120%)}8%{opacity:1}22%,100%{opacity:0;transform:translateX(120%)}}
@keyframes score-point-added{0%{filter:brightness(1);transform:scale(1)}18%{filter:brightness(1.65) saturate(1.25);transform:scale(1.14)}38%{filter:brightness(1.1);transform:scale(.97)}58%{filter:brightness(1.35);transform:scale(1.06)}100%{filter:brightness(1);transform:scale(1)}}
@keyframes score-plus-one{0%{opacity:0;transform:translateY(10px) scale(.5)}18%,55%{opacity:1;transform:none}100%{opacity:0;transform:translateY(-18px) scale(.85)}}
@media(max-width:760px){.substitution-toast-stack{bottom:135px;left:50%;width:calc(100vw - 24px)}.broadcast-timeout{bottom:135px;width:calc(100vw - 24px);padding:18px}.timeout-controls{align-items:flex-start;flex-direction:column}.timeout-controls>div:last-child{flex-wrap:wrap}}

/* Staggered timeout reveal */
.broadcast-timeout:after{content:"";position:absolute;top:0;bottom:0;left:0;width:7px;background:var(--team-color);box-shadow:0 0 24px var(--team-color);transform:scaleY(0);transform-origin:center;animation:timeout-color-rail 4s cubic-bezier(.16,.86,.2,1) both}.broadcast-timeout img,.broadcast-timeout>span,.broadcast-timeout h2,.broadcast-timeout p{will-change:transform,opacity;animation:timeout-content-in 3.82s cubic-bezier(.16,.86,.2,1) both}.broadcast-timeout img{animation-delay:.06s}.broadcast-timeout>span{animation-delay:.12s}.broadcast-timeout h2{animation-delay:.18s}.broadcast-timeout p{animation-delay:.24s}
@keyframes timeout-content-in{0%,4%{opacity:0;filter:blur(5px);transform:translateY(13px)}12%,86%{opacity:1;filter:none;transform:none}100%{opacity:0;filter:blur(3px);transform:translateY(-8px)}}
@keyframes timeout-color-rail{0%{opacity:0;transform:scaleY(0)}9%,84%{opacity:1;transform:scaleY(1)}100%{opacity:0;transform:scaleY(.15)}}

/* Keep persistent summaries stable during live database refreshes */
.end-summary-stage.has-notable .end-set-card.is-static,.end-set-card.is-static,.end-set-card.is-static:before,.end-set-card.is-static>header.end-set-league,.end-set-card.is-static .end-set-brand,.end-set-card.is-static .end-set-title,.end-set-card.is-static .end-set-score,.end-set-card.is-static .end-match-set-scores,.end-set-card.is-static .end-set-stats,.end-set-card.is-static .end-set-stat-row{animation:none!important;filter:none!important;transform:none!important}.end-set-card.is-static .end-set-stat-row{opacity:1!important}.notable-player.is-static,.notable-player.is-static>img,.notable-player.is-static .notable-player-overlay{animation:none!important;filter:none;clip-path:none;transform:none;opacity:1}

/* Team-sided timeout and challenge notices */
.broadcast-timeout.is-left{right:auto;left:64px;transform:none;animation-name:timeout-cycle-left}
.broadcast-timeout.is-right{right:64px;left:auto;transform:none;animation-name:timeout-cycle-right}
.broadcast-challenge{border-color:#ff6a78;background:linear-gradient(120deg,rgba(72,7,18,.99),rgba(177,18,39,.98));box-shadow:0 18px 45px rgba(0,0,0,.68),inset 5px 0 0 #ff334b}
.broadcast-challenge:before{background:linear-gradient(105deg,transparent 30%,rgba(255,160,168,.38) 50%,transparent 70%)}
.broadcast-challenge:after{background:#ff334b;box-shadow:0 0 24px #ff334b}
.broadcast-challenge>span{color:#fff}.broadcast-challenge p{color:#ffe4e7}
.challenge-controls{border-color:rgba(255,62,82,.30);background:#231014}.challenge-controls button{border-color:rgba(255,62,82,.38);background:#481720}.challenge-controls button:hover{border-color:#ff4b5f;background:#68202c}
@keyframes timeout-cycle-left{0%{opacity:0;filter:blur(7px);clip-path:inset(0 100% 0 0 round 16px);transform:translateX(-42px) scale(.97)}9%,84%{opacity:1;filter:none;clip-path:inset(0 round 16px);transform:none}100%{opacity:0;filter:blur(4px);clip-path:inset(0 100% 0 0 round 16px);transform:translateX(-28px) scale(.98)}}
@keyframes timeout-cycle-right{0%{opacity:0;filter:blur(7px);clip-path:inset(0 0 0 100% round 16px);transform:translateX(42px) scale(.97)}9%,84%{opacity:1;filter:none;clip-path:inset(0 round 16px);transform:none}100%{opacity:0;filter:blur(4px);clip-path:inset(0 0 0 100% round 16px);transform:translateX(28px) scale(.98)}}
@media(max-width:760px){.broadcast-timeout.is-left{left:12px}.broadcast-timeout.is-right{right:12px}}

/* Keep the notice centered; only the team accent changes sides. */
.broadcast-timeout.is-left,.broadcast-timeout.is-right{right:auto;left:50%;transform:translateX(-50%);animation-name:timeout-cycle}
.broadcast-timeout.is-left{box-shadow:0 18px 45px rgba(0,0,0,.68),inset 5px 0 0 var(--team-color)}
.broadcast-timeout.is-right{box-shadow:0 18px 45px rgba(0,0,0,.68),inset -5px 0 0 var(--team-color)}
.broadcast-timeout.is-left:after{right:auto;left:0}
.broadcast-timeout.is-right:after{right:0;left:auto}
.broadcast-challenge.is-left{box-shadow:0 18px 45px rgba(0,0,0,.68),inset 5px 0 0 #ff334b}
.broadcast-challenge.is-right{box-shadow:0 18px 45px rgba(0,0,0,.68),inset -5px 0 0 #ff334b}
@media(max-width:760px){.broadcast-timeout.is-left,.broadcast-timeout.is-right{right:auto;left:50%}}

/* Persistent challenge review and operator decision controls */
.challenge-controls select{min-width:210px;margin-top:10px;padding:9px 34px 9px 11px;border:1px solid rgba(255,90,108,.45);border-radius:8px;background:#16090c;color:#fff;font:800 10px/1 system-ui;letter-spacing:.7px;text-transform:uppercase}
.challenge-controls .challenge-actions{align-items:flex-end;flex-direction:column}.challenge-actions>div{display:flex;justify-content:flex-end;gap:8px}.challenge-actions>div+div{margin-top:8px}.challenge-controls button.is-success{border-color:#4de287;background:#123c25}.challenge-controls button.is-unsuccessful{border-color:#ff596b;background:#5b1722}.challenge-controls button:disabled{cursor:not-allowed;filter:saturate(.35);opacity:.38}
.broadcast-challenge.is-reviewing{animation:challenge-hold-in .55s cubic-bezier(.16,.86,.2,1) both}
.broadcast-challenge.is-reviewing img,.broadcast-challenge.is-reviewing>span,.broadcast-challenge.is-reviewing h2,.broadcast-challenge.is-reviewing p{animation:challenge-copy-hold .62s cubic-bezier(.16,.86,.2,1) both}
.broadcast-challenge.is-reviewing:after{animation:challenge-rail-hold .55s cubic-bezier(.16,.86,.2,1) both}
.broadcast-challenge.is-successful>span{color:#78f3a6}.broadcast-challenge.is-unsuccessful>span{color:#fff}
@keyframes challenge-hold-in{0%{opacity:0;filter:blur(7px);clip-path:inset(0 50% round 16px);transform:translateX(-50%) translateY(24px) scale(.96)}100%{opacity:1;filter:none;clip-path:inset(0 round 16px);transform:translateX(-50%)}}
@keyframes challenge-copy-hold{0%{opacity:0;filter:blur(5px);transform:translateY(13px)}100%{opacity:1;filter:none;transform:none}}
@keyframes challenge-rail-hold{0%{opacity:0;transform:scaleY(0)}100%{opacity:1;transform:scaleY(1)}}
@media(max-width:760px){.challenge-controls .challenge-actions{align-items:flex-start}.challenge-actions>div{flex-wrap:wrap;justify-content:flex-start}}

/* Large, simplified challenge decision */
.challenge-result{display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:210px;padding:28px 34px}
.challenge-result h2{margin:0 0 9px;font-size:29px;letter-spacing:.3px}
.challenge-result>span{margin:0;color:rgba(255,255,255,.72);font-size:14px;letter-spacing:3.4px}
.challenge-result>strong{position:relative;display:block;margin-top:8px;font-size:48px;font-weight:1000;line-height:1;letter-spacing:-1px;text-shadow:0 4px 18px rgba(0,0,0,.4)}
.challenge-result.is-successful>strong{color:#78f3a6}.challenge-result.is-unsuccessful>strong{color:#fff}
.challenge-result h2,.challenge-result>span,.challenge-result>strong{will-change:transform,opacity;animation:timeout-content-in 3.82s cubic-bezier(.16,.86,.2,1) both}
.challenge-result>span{animation-delay:.08s}.challenge-result>strong{animation-delay:.16s}
@media(max-width:760px){.challenge-result>strong{font-size:38px}}
