/* [BEERLEAGUE] Tournament Ladder Module v1.0.0 */
.bltl-wrap{--bltl-green:#00dc9a;--bltl-green2:#13ffb0;--bltl-orange:#ffb000;--bltl-red:#ff4343;--bltl-blue:#409dff;--bltl-card-dark:rgba(7,13,13,.86);position:relative;isolation:isolate;overflow:hidden;width:100%;box-sizing:border-box;border:1px solid rgba(0,220,154,.26);border-radius:18px;padding:16px;background:radial-gradient(circle at 8% 10%,rgba(255,67,67,.12),transparent 26%),radial-gradient(circle at 92% 14%,rgba(64,157,255,.14),transparent 28%),linear-gradient(135deg,rgba(2,8,6,.95),rgba(6,35,24,.92) 56%,rgba(2,8,6,.95));box-shadow:0 18px 48px rgba(0,0,0,.35),0 0 0 1px rgba(255,255,255,.035) inset;color:#fff}.bltl-wrap:before{content:"";position:absolute;inset:0;z-index:-1;opacity:.20;background:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(180deg,#000,transparent 75%)}.bltl-wrap *{box-sizing:border-box}.bltl-section-title{display:flex;align-items:end;justify-content:space-between;gap:14px;margin:0 0 12px}.bltl-section-title span,.bltl-card-head span{display:block;color:var(--bltl-orange);font-size:.68rem;font-weight:1000;letter-spacing:.10em;text-transform:uppercase;text-shadow:0 0 12px rgba(255,176,0,.24)}.bltl-section-title h2{margin:0;color:#fff;font-size:1.25rem;font-weight:1000;letter-spacing:.02em;text-transform:uppercase}.bltl-section-title p{max-width:520px;margin:0;color:rgba(255,255,255,.68);font-weight:800;text-align:right}.bltl-card{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.105);border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.065),rgba(255,255,255,.028));padding:14px;box-shadow:0 12px 28px rgba(0,0,0,.24)}.bltl-card:before{content:"";position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,transparent,var(--bltl-red),var(--bltl-orange),var(--bltl-blue),transparent);opacity:.70}.bltl-empty p{margin:0;color:rgba(255,255,255,.72);font-weight:850}.bltl-card-head{margin-bottom:12px}.bltl-card-head h3{margin:3px 0 0;color:#fff;font-size:1.18rem;font-weight:1000;line-height:1;text-transform:uppercase}.bltl-bracket-scroll{overflow-x:auto;overflow-y:hidden;padding:4px 2px 12px;scrollbar-color:rgba(0,220,154,.6) rgba(255,255,255,.08)}.bltl-bracket-grid{display:grid;grid-template-columns:repeat(var(--bltl-rounds),minmax(300px,1fr));gap:34px;min-width:max(100%,calc(var(--bltl-rounds) * 334px));align-items:stretch}.bltl-bracket-round{display:grid;grid-template-rows:auto 1fr;gap:8px;min-width:0}.bltl-round-title{color:#ffb000;font-size:.78rem;font-weight:1000;letter-spacing:.08em;text-transform:uppercase;text-shadow:0 0 12px rgba(255,176,0,.22)}.bltl-round-stack{display:grid;gap:22px;align-content:space-around;min-height:100%}.bltl-bracket-match{position:relative;display:grid;gap:7px;min-height:0;border:1px solid rgba(255,255,255,.11);border-radius:10px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(0,0,0,.20)),rgba(2,9,9,.76);box-shadow:0 12px 24px rgba(0,0,0,.34),inset 0 0 0 1px rgba(255,255,255,.035);color:#fff;padding:8px}.bltl-bracket-match:after{content:"";position:absolute;top:50%;right:-35px;width:34px;border-top:2px solid rgba(64,157,255,.42);filter:drop-shadow(0 0 5px rgba(64,157,255,.28))}.bltl-bracket-round:last-child .bltl-bracket-match:after{display:none}.bltl-match-label{position:absolute;left:0;top:-22px;color:#8aa19c;font-size:.68rem;font-weight:950;text-transform:uppercase;white-space:nowrap}.bltl-bracket-team{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr) auto 42px;gap:8px;align-items:center;min-height:52px;border:1px solid rgba(255,255,255,.09);border-left-width:4px;border-radius:8px;background:var(--bltl-card-dark);padding:6px;overflow:hidden}.bltl-bracket-team:before{content:"";position:absolute;inset:0 auto 0 0;width:50%;opacity:.34;pointer-events:none}.bltl-bracket-team-home{border-color:rgba(255,67,67,.68);border-left-color:var(--bltl-red);background:radial-gradient(circle at 92% 16%,rgba(255,216,108,.14),transparent 36%),linear-gradient(180deg,rgba(255,67,67,.16),rgba(255,67,67,.045)),var(--bltl-card-dark)}.bltl-bracket-team-home:before{background:linear-gradient(90deg,rgba(255,67,67,.18),transparent)}.bltl-bracket-team-away{border-color:rgba(64,157,255,.70);border-left-color:var(--bltl-blue);background:radial-gradient(circle at 92% 16%,rgba(103,173,255,.16),transparent 36%),linear-gradient(180deg,rgba(64,157,255,.17),rgba(64,157,255,.05)),var(--bltl-card-dark)}.bltl-bracket-team-away:before{background:linear-gradient(90deg,rgba(64,157,255,.18),transparent)}.bltl-bracket-team-icon{position:relative;z-index:1;display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(255,255,255,.14);border-radius:50%;background:radial-gradient(circle at 35% 28%,rgba(255,255,255,.18),rgba(0,0,0,.32));box-shadow:inset 0 0 0 1px rgba(0,0,0,.28),0 8px 15px rgba(0,0,0,.30);color:#f7f3e8;font-size:.86rem;font-weight:1000;text-shadow:0 0 10px rgba(255,255,255,.18);overflow:hidden}.bltl-bracket-team-icon img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}.bltl-bracket-team-main{position:relative;z-index:1;display:block;min-width:0;overflow:hidden}.bltl-bracket-team-main strong{display:block;color:#fff;font-size:.9rem;font-weight:1000;line-height:1.08;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bltl-bracket-team-main em{display:block;margin-top:3px;color:rgba(255,255,255,.62);font-size:.64rem;font-style:normal;font-weight:900;letter-spacing:.03em;line-height:1.05;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.bltl-bracket-team-home .bltl-bracket-team-main strong{color:#ff7777}.bltl-bracket-team-away .bltl-bracket-team-main strong{color:#7dbbff}.bltl-bracket-team-tag{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;max-width:56px;min-height:21px;border:1px solid rgba(255,176,0,.38);border-radius:4px;background:rgba(255,176,0,.12);color:#ffb000;font-size:.58rem;font-weight:1000;padding:3px 5px;text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bltl-bracket-team b{position:relative;z-index:1;display:grid;place-items:center;align-self:stretch;justify-self:stretch;width:42px;min-width:42px;min-height:34px;border-left:1px solid rgba(255,255,255,.12);color:#f9f6ed;font-size:1rem;font-weight:1000;line-height:1;text-align:center}.bltl-bracket-team.is-bye,.bltl-bracket-team.is-tbd{opacity:.76;filter:saturate(.78)}.bltl-bracket-team.is-winner{border-color:rgba(255,176,0,.78);box-shadow:0 0 0 1px rgba(255,176,0,.18),0 0 16px rgba(255,176,0,.18)}.bltl-bracket-team.is-winner .bltl-bracket-team-icon{border-color:rgba(255,176,0,.58);box-shadow:0 0 16px rgba(255,176,0,.24)}.bltl-bracket-team.is-winner .bltl-bracket-team-main strong{color:#fff}.bltl-bracket-match.is-complete{border-color:rgba(255,176,0,.38);box-shadow:0 12px 28px rgba(0,0,0,.36),0 0 18px rgba(255,176,0,.10)}@media(max-width:760px){.bltl-wrap{padding:12px;border-radius:14px}.bltl-section-title{display:block}.bltl-section-title p{margin-top:5px;text-align:left}.bltl-bracket-grid{grid-template-columns:repeat(var(--bltl-rounds),minmax(270px,1fr));gap:22px;min-width:calc(var(--bltl-rounds) * 292px)}.bltl-bracket-match:after{right:-23px;width:22px}.bltl-bracket-team{grid-template-columns:34px minmax(0,1fr) 34px}.bltl-bracket-team b{width:34px;min-width:34px}.bltl-bracket-team-icon{width:34px;height:34px}.bltl-bracket-team-tag{display:none}.bltl-bracket-team-main strong{font-size:.8rem}.bltl-bracket-team-main em{font-size:.6rem}}
.bltl-demo-pill{display:inline-flex;align-items:center;justify-content:center;width:max-content;margin-top:8px;border:1px solid rgba(255,176,0,.45);border-radius:999px;background:rgba(255,176,0,.12);color:#ffb000;font-size:.65rem;font-style:normal;font-weight:1000;letter-spacing:.08em;line-height:1;padding:4px 8px;text-transform:uppercase}
/* v1.0.5 - compact only the 14-team opening round so the bracket fits above the fold. */
.bltl-bracket-round.is-r14 .bltl-round-stack{gap:7px;align-content:start}.bltl-bracket-round.is-r14 .bltl-bracket-match{gap:3px;padding:4px;border-radius:8px}.bltl-bracket-round.is-r14 .bltl-match-label{top:-16px;font-size:.62rem}.bltl-bracket-round.is-r14 .bltl-bracket-team{grid-template-columns:28px minmax(0,1fr) 34px;gap:6px;min-height:35px;padding:3px 4px;border-radius:7px}.bltl-bracket-round.is-r14 .bltl-bracket-team-icon{width:28px;height:28px;font-size:.72rem}.bltl-bracket-round.is-r14 .bltl-bracket-team-main strong{font-size:.78rem;line-height:1}.bltl-bracket-round.is-r14 .bltl-bracket-team-main em,.bltl-bracket-round.is-r14 .bltl-bracket-team-tag{display:none}.bltl-bracket-round.is-r14 .bltl-bracket-team b{width:34px;min-width:34px;min-height:27px;font-size:.88rem}
/* v1.0.6 - hide R14 match labels and add connected bracket joins for later rounds. */
.bltl-bracket-round.is-r14 .bltl-match-label{display:none}.bltl-bracket-round:not(:first-child) .bltl-bracket-match:before{content:"";position:absolute;left:-35px;top:50%;width:35px;height:var(--bltl-in-span,2px);transform:translateY(-50%);background:linear-gradient(90deg,rgba(64,157,255,.52),rgba(64,157,255,.52)) 0 50%/100% 2px no-repeat,linear-gradient(rgba(64,157,255,.44),rgba(64,157,255,.44)) 0 0/2px 100% no-repeat;filter:drop-shadow(0 0 5px rgba(64,157,255,.22));pointer-events:none}.bltl-bracket-round:nth-child(2) .bltl-bracket-match:before{--bltl-in-span:42px}.bltl-bracket-round:nth-child(3) .bltl-bracket-match:before{--bltl-in-span:176px}.bltl-bracket-round:nth-child(4) .bltl-bracket-match:before{--bltl-in-span:398px}.bltl-bracket-round:nth-child(4) .bltl-match-label{color:#ffb000}
/* v1.0.7 - resolve uploaded team logos from component media paths. */
.bltl-bracket-team-icon img{background:rgba(0,0,0,.20)}
/* v1.0.8 - captain-selected team card colors override side defaults. */
.bltl-bracket-team.has-team-color{border-color:var(--bltl-team-color-line)!important;border-left-color:var(--bltl-team-color)!important;background:radial-gradient(circle at 92% 16%,var(--bltl-team-color-glow),transparent 36%),linear-gradient(180deg,var(--bltl-team-color-soft),rgba(0,0,0,.08)),var(--bltl-card-dark)!important}.bltl-bracket-team.has-team-color:before{background:linear-gradient(90deg,var(--bltl-team-color-soft),transparent)!important}.bltl-bracket-team.has-team-color .bltl-bracket-team-main strong{color:var(--bltl-team-color)!important}.bltl-bracket-team.has-team-color .bltl-bracket-team-icon{border-color:var(--bltl-team-color-line)}
/* v1.0.9 - stop connector stubs at a shared midpoint so bracket joins do not leave loose ends. */
.bltl-wrap{--bltl-connector-mid:17px}.bltl-bracket-match:after{right:calc(var(--bltl-connector-mid) * -1);width:var(--bltl-connector-mid)}.bltl-bracket-round:not(:first-child) .bltl-bracket-match:before{left:calc(var(--bltl-connector-mid) * -1);width:var(--bltl-connector-mid)}@media(max-width:760px){.bltl-wrap{--bltl-connector-mid:11px}}
/* v1.0.10 - lock the 14-team preview to intentional round centers instead of independent space-around columns. */
.bltl-bracket-grid.is-preview-14{align-items:stretch}.bltl-bracket-grid.is-preview-14 .bltl-round-stack{align-content:space-between}.bltl-bracket-grid.is-preview-14 .bltl-bracket-round:nth-child(1) .bltl-round-stack{align-content:start;gap:6px}.bltl-bracket-grid.is-preview-14 .bltl-bracket-round:nth-child(2) .bltl-round-stack{padding-block:18px}.bltl-bracket-grid.is-preview-14 .bltl-bracket-round:nth-child(3) .bltl-round-stack{padding-block:112px}.bltl-bracket-grid.is-preview-14 .bltl-bracket-round:nth-child(4) .bltl-round-stack{align-content:center}.bltl-bracket-grid.is-preview-14 .bltl-bracket-round:nth-child(2) .bltl-bracket-match:before{--bltl-in-span:40px}.bltl-bracket-grid.is-preview-14 .bltl-bracket-round:nth-child(3) .bltl-bracket-match:before{--bltl-in-span:188px}.bltl-bracket-grid.is-preview-14 .bltl-bracket-round:nth-child(4) .bltl-bracket-match:before{--bltl-in-span:362px}@media(max-width:760px){.bltl-bracket-grid.is-preview-14 .bltl-bracket-round:nth-child(2) .bltl-round-stack,.bltl-bracket-grid.is-preview-14 .bltl-bracket-round:nth-child(3) .bltl-round-stack{padding-block:0}.bltl-bracket-grid.is-preview-14 .bltl-bracket-round:nth-child(2) .bltl-bracket-match:before{--bltl-in-span:36px}.bltl-bracket-grid.is-preview-14 .bltl-bracket-round:nth-child(3) .bltl-bracket-match:before{--bltl-in-span:150px}.bltl-bracket-grid.is-preview-14 .bltl-bracket-round:nth-child(4) .bltl-bracket-match:before{--bltl-in-span:300px}}
/* v1.0.11 - simplify connectors: remove per-card outgoing stubs and let incoming T joins touch the target cards. */
.bltl-bracket-match:after{display:none!important}.bltl-bracket-round:not(:first-child) .bltl-bracket-match:before{left:-35px;width:35px}@media(max-width:760px){.bltl-bracket-round:not(:first-child) .bltl-bracket-match:before{left:-23px;width:23px}}
/* v1.0.12 - square real team logos and clean up later-round score alignment. */
.bltl-bracket-team-icon.has-logo{width:40px;height:40px;border-radius:7px}.bltl-bracket-team-icon.has-logo img{border-radius:inherit;object-fit:contain;padding:2px}.bltl-bracket-round.is-r14 .bltl-bracket-team-icon.has-logo{width:30px;height:30px;border-radius:5px}.bltl-bracket-round:not(.is-r14) .bltl-bracket-team{grid-template-columns:42px minmax(0,1fr) 54px}.bltl-bracket-round:not(.is-r14) .bltl-bracket-team-tag{display:none}.bltl-bracket-round:not(.is-r14) .bltl-bracket-team b{place-items:center end;justify-self:end;width:54px;min-width:54px;text-align:right;padding-right:2px}
/* v1.0.13 - center R14 to QF connectors, dim placeholders, and grey out eliminated teams. */
.bltl-bracket-grid.is-preview-14 .bltl-bracket-round:nth-child(2) .bltl-bracket-match:before{--bltl-in-span:82px}.bltl-bracket-team.is-tbd,.bltl-bracket-team.is-bye{opacity:.42;filter:grayscale(.55) saturate(.42);border-color:rgba(120,135,145,.35)!important;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(0,0,0,.18)),rgba(12,18,20,.78)!important}.bltl-bracket-team.is-tbd:before,.bltl-bracket-team.is-bye:before{background:linear-gradient(90deg,rgba(150,160,168,.12),transparent)!important}.bltl-bracket-team.is-tbd .bltl-bracket-team-main strong,.bltl-bracket-team.is-bye .bltl-bracket-team-main strong,.bltl-bracket-team.is-tbd .bltl-bracket-team-main em,.bltl-bracket-team.is-bye .bltl-bracket-team-main em{color:rgba(225,230,230,.50)!important}.bltl-bracket-team.is-loser{opacity:.55;filter:grayscale(.9) saturate(.28);border-color:rgba(145,150,152,.42)!important;border-left-color:rgba(165,170,172,.55)!important;background:linear-gradient(180deg,rgba(155,160,164,.10),rgba(0,0,0,.16)),rgba(14,17,18,.82)!important;box-shadow:none!important}.bltl-bracket-team.is-loser:before{background:linear-gradient(90deg,rgba(155,160,164,.12),transparent)!important}.bltl-bracket-team.is-loser .bltl-bracket-team-main strong,.bltl-bracket-team.is-loser .bltl-bracket-team-main em,.bltl-bracket-team.is-loser b{color:rgba(225,225,220,.58)!important}.bltl-bracket-team.is-loser .bltl-bracket-team-icon{border-color:rgba(165,170,172,.35)!important;box-shadow:inset 0 0 0 1px rgba(0,0,0,.28)!important}
/* v1.0.14 - disable horizontal scrolling for the 14-team preview board only. */
.bltl-bracket-scroll.is-no-scroll{overflow:hidden;padding-bottom:0}.bltl-bracket-scroll.is-no-scroll .bltl-bracket-grid{min-width:0;width:100%;grid-template-columns:repeat(var(--bltl-rounds),minmax(0,1fr));gap:30px}.bltl-bracket-scroll.is-no-scroll .bltl-bracket-match:before{left:-31px;width:31px}@media(max-width:760px){.bltl-bracket-scroll.is-no-scroll{overflow-x:auto;padding-bottom:12px}.bltl-bracket-scroll.is-no-scroll .bltl-bracket-grid{min-width:calc(var(--bltl-rounds) * 292px);grid-template-columns:repeat(var(--bltl-rounds),minmax(270px,1fr));gap:22px}.bltl-bracket-scroll.is-no-scroll .bltl-bracket-match:before{left:-23px;width:23px}}
/* v1.0.15 - clickable team roster popouts using matchmaking-style player rows. */
.bltl-bracket-team.is-clickable{width:100%;appearance:none;border-top-style:solid;border-right-style:solid;border-bottom-style:solid;font:inherit;text-align:left;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,filter .14s ease}.bltl-bracket-team.is-clickable:hover,.bltl-bracket-team.is-clickable:focus-visible{outline:none;transform:translateY(-1px);filter:brightness(1.08);box-shadow:0 0 0 1px rgba(0,220,154,.24),0 0 18px rgba(0,220,154,.12),0 12px 24px rgba(0,0,0,.34)}.bltl-bracket-team.is-clickable[aria-expanded="true"]{box-shadow:0 0 0 1px rgba(255,176,0,.28),0 0 20px rgba(255,176,0,.18),0 12px 24px rgba(0,0,0,.34)}.bltl-team-popouts{position:absolute;inset:0;z-index:50;pointer-events:none}.bltl-team-popouts.is-active{pointer-events:auto}.bltl-team-popout{position:absolute;z-index:51;width:min(390px,calc(100vw - 28px));border:1px solid rgba(0,220,154,.34);border-radius:12px;background:radial-gradient(circle at 90% 8%,rgba(64,157,255,.18),transparent 34%),linear-gradient(180deg,rgba(6,24,20,.98),rgba(2,9,8,.98));box-shadow:0 24px 58px rgba(0,0,0,.52),0 0 0 1px rgba(255,255,255,.045) inset,0 0 28px rgba(0,220,154,.12);color:#fff;padding:10px;pointer-events:auto}.bltl-team-popout[hidden]{display:none!important}.bltl-team-popout:before{content:"";position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,transparent,#00dc9a,#ffb000,#409dff,transparent);opacity:.8}.bltl-team-popout-head{display:grid;grid-template-columns:46px minmax(0,1fr) 30px;align-items:center;gap:9px;margin-bottom:9px}.bltl-popout-team-icon{display:grid;place-items:center;width:46px;height:46px;border:1px solid rgba(255,176,0,.38);border-radius:8px;background:rgba(0,0,0,.28);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 0 18px rgba(255,176,0,.12);color:#ffb000;font-weight:1000;overflow:hidden}.bltl-popout-team-icon img{display:block;width:100%;height:100%;object-fit:contain;padding:3px;border-radius:inherit}.bltl-team-popout-title{min-width:0}.bltl-team-popout-title strong{display:block;color:#fff;font-size:1rem;font-weight:1000;line-height:1.05;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.bltl-team-popout-title em{display:block;margin-top:3px;color:#ffb000;font-size:.66rem;font-style:normal;font-weight:1000;letter-spacing:.055em;text-transform:uppercase}.bltl-team-popout-close{display:grid;place-items:center;width:30px;height:30px;border:1px solid rgba(255,255,255,.16);border-radius:7px;background:rgba(255,255,255,.07);color:#fff;cursor:pointer;font-size:1.2rem;font-weight:900;line-height:1}.bltl-team-popout-close:hover,.bltl-team-popout-close:focus-visible{outline:none;border-color:rgba(255,176,0,.52);background:rgba(255,176,0,.12)}.bltl-team-popout-roster{display:grid;gap:7px;max-height:min(460px,62vh);overflow:auto;margin:0;padding:0;list-style:none;scrollbar-color:rgba(0,220,154,.56) rgba(255,255,255,.08)}.bltl-team-popout .bl-mm-team-player-row{display:grid!important;grid-template-columns:34px minmax(0,1fr)!important;align-items:center!important;gap:.52rem!important;min-height:46px;border:1px solid rgba(255,255,255,.09);border-left:3px solid rgba(0,214,143,.66);border-radius:8px;background:linear-gradient(180deg,rgba(0,35,25,.78),rgba(0,10,7,.88));box-shadow:0 8px 18px rgba(0,0,0,.24),inset 0 1px rgba(255,255,255,.045);padding:.42rem .5rem!important}.bltl-team-popout .bl-mm-team-player-row.is-captain{border-left-color:#ffb000;box-shadow:0 8px 18px rgba(0,0,0,.24),0 0 14px rgba(255,176,0,.12)}.bltl-team-popout .bl-mm-team-slot-empty{opacity:.72;border-left-color:rgba(150,160,168,.48);border-style:dashed;background:rgba(255,255,255,.025)}.bltl-team-popout .bl-mm-player-avatar,.bltl-team-popout .bl-mm-empty-slot-icon{grid-column:1;display:grid;place-items:center;width:34px!important;height:34px!important;min-width:34px!important;border:1px solid rgba(0,220,154,.44);border-radius:8px;background:linear-gradient(180deg,rgba(0,220,154,.24),rgba(0,0,0,.22));color:#13ffb0;font-size:.82rem;font-weight:1000;text-shadow:0 0 10px rgba(0,220,154,.30);overflow:hidden}.bltl-team-popout .bl-mm-player-avatar img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}.bltl-team-popout .bl-mm-empty-slot-icon{border-style:dashed;border-radius:999px;color:rgba(216,230,222,.5);background:rgba(0,0,0,.18)}.bltl-team-popout .bl-mm-team-player-meta{grid-column:2;display:grid;align-content:center;gap:.18rem;min-width:0}.bltl-team-popout .bl-mm-team-player-meta strong{display:block;min-width:0;color:#fff;font-size:.86rem;font-weight:900;line-height:1.05;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bltl-team-popout .bl-mm-team-player-meta em{justify-self:start;margin:0;border:1px solid rgba(0,214,143,.28);border-radius:999px;background:rgba(0,214,143,.10);color:#00e0a0;font-size:.56rem;font-style:normal;font-weight:1000;letter-spacing:.045em;line-height:1.05;padding:.17rem .36rem;text-transform:uppercase}.bltl-team-popout .bl-mm-team-player-meta em.is-pending,.bltl-team-popout .bl-mm-team-player-meta em.is-open{border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.045);color:rgba(216,230,222,.54)}@media(max-width:760px){.bltl-team-popouts{position:fixed;inset:0;z-index:9999}.bltl-team-popouts.is-active{background:rgba(0,0,0,.36);backdrop-filter:blur(2px)}.bltl-team-popout{position:fixed!important;left:14px!important;right:14px!important;top:50%!important;transform:translateY(-50%);width:auto}.bltl-team-popout-roster{max-height:58vh}}
/* v1.0.21 - keep clean columns, but tint individual match cards by round. */
.bltl-bracket-round.is-r14{--bltl-round-accent:#8fa0ad;--bltl-round-soft:rgba(143,160,173,.16);--bltl-round-line:rgba(143,160,173,.42);--bltl-round-glow:rgba(143,160,173,.12)}.bltl-bracket-round.is-opening{--bltl-round-accent:#409dff;--bltl-round-soft:rgba(64,157,255,.17);--bltl-round-line:rgba(64,157,255,.48);--bltl-round-glow:rgba(64,157,255,.15)}.bltl-bracket-round.is-qf{--bltl-round-accent:#00dc9a;--bltl-round-soft:rgba(0,220,154,.17);--bltl-round-line:rgba(0,220,154,.48);--bltl-round-glow:rgba(0,220,154,.15)}.bltl-bracket-round.is-sf{--bltl-round-accent:#c7d3dd;--bltl-round-soft:rgba(199,211,221,.17);--bltl-round-line:rgba(199,211,221,.48);--bltl-round-glow:rgba(199,211,221,.14)}.bltl-bracket-round.is-final{--bltl-round-accent:#ffb000;--bltl-round-soft:rgba(255,176,0,.18);--bltl-round-line:rgba(255,176,0,.55);--bltl-round-glow:rgba(255,176,0,.18)}.bltl-bracket-round.is-r14 .bltl-round-title,.bltl-bracket-round.is-opening .bltl-round-title,.bltl-bracket-round.is-qf .bltl-round-title,.bltl-bracket-round.is-sf .bltl-round-title,.bltl-bracket-round.is-final .bltl-round-title{color:var(--bltl-round-accent);text-shadow:0 0 12px var(--bltl-round-glow)}.bltl-bracket-round.is-r14 .bltl-bracket-match,.bltl-bracket-round.is-opening .bltl-bracket-match,.bltl-bracket-round.is-qf .bltl-bracket-match,.bltl-bracket-round.is-sf .bltl-bracket-match,.bltl-bracket-round.is-final .bltl-bracket-match{border-color:var(--bltl-round-line);background:radial-gradient(circle at 90% 0,var(--bltl-round-soft),transparent 42%),linear-gradient(180deg,rgba(255,255,255,.052),rgba(0,0,0,.23)),rgba(2,9,9,.78);box-shadow:0 12px 24px rgba(0,0,0,.34),0 0 18px var(--bltl-round-glow),inset 0 0 0 1px rgba(255,255,255,.035)}.bltl-bracket-round.is-r14 .bltl-bracket-match:before,.bltl-bracket-round.is-opening .bltl-bracket-match:before,.bltl-bracket-round.is-qf .bltl-bracket-match:before,.bltl-bracket-round.is-sf .bltl-bracket-match:before,.bltl-bracket-round.is-final .bltl-bracket-match:before{background:linear-gradient(90deg,var(--bltl-round-line),var(--bltl-round-line)) 0 50%/100% 2px no-repeat,linear-gradient(var(--bltl-round-line),var(--bltl-round-line)) 0 0/2px 100% no-repeat;filter:drop-shadow(0 0 5px var(--bltl-round-glow))}.bltl-bracket-round.is-r14 .bltl-match-label,.bltl-bracket-round.is-opening .bltl-match-label,.bltl-bracket-round.is-qf .bltl-match-label,.bltl-bracket-round.is-sf .bltl-match-label,.bltl-bracket-round.is-final .bltl-match-label{color:var(--bltl-round-accent)}
/* v1.0.22 - ladder dispatch focus and CONNECT NOW tournament lobby launch. */
.bltl-bracket-match.is-dispatch-dim{opacity:.28;filter:grayscale(.95) saturate(.2);transition:opacity .18s ease,filter .18s ease}.bltl-bracket-match.is-dispatch-dim .bltl-bracket-team{box-shadow:none!important}.bltl-bracket-match.is-dispatch-active{z-index:3;border-color:rgba(255,176,0,.92)!important;box-shadow:0 0 0 1px rgba(255,176,0,.34),0 0 28px rgba(255,176,0,.20),0 14px 30px rgba(0,0,0,.42)!important}.bltl-bracket-team.is-connect-now{border-color:rgba(255,176,0,.86)!important;border-left-color:#ffb000!important;box-shadow:0 0 0 1px rgba(255,176,0,.24),0 0 22px rgba(255,176,0,.20)!important;text-decoration:none!important}.bltl-bracket-team.is-connect-now .bltl-bracket-team-main strong{position:relative;min-height:1.08em;color:#ffb000!important}.bltl-bracket-team.is-connect-now .bltl-team-name,.bltl-bracket-team.is-connect-now .bltl-connect-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;animation:bltl-connect-swap 2.6s infinite}.bltl-bracket-team.is-connect-now .bltl-connect-label{position:absolute;inset:0;opacity:0;color:#ffb000;text-shadow:0 0 12px rgba(255,176,0,.38);animation-name:bltl-connect-swap-alt}@keyframes bltl-connect-swap{0%,42%{opacity:1;transform:translateY(0)}50%,92%{opacity:0;transform:translateY(-4px)}100%{opacity:1;transform:translateY(0)}}@keyframes bltl-connect-swap-alt{0%,42%{opacity:0;transform:translateY(4px)}50%,92%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(4px)}}
/* v1.0.24 - use the tournament name as the board title and make signup status a flashing CTA. */
.bltl-section-title{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end}.bltl-section-title h2{grid-column:2;text-align:center}.bltl-section-title span{grid-column:1}.bltl-card-head.is-signup-head{display:flex;justify-content:center;margin-bottom:14px}.bltl-signup-cta{display:inline-flex;align-items:center;justify-content:center;min-height:30px;border:1px solid rgba(255,176,0,.72);border-radius:999px;background:linear-gradient(180deg,rgba(255,176,0,.24),rgba(255,176,0,.10));box-shadow:0 0 0 1px rgba(255,176,0,.18),0 0 18px rgba(255,176,0,.16);color:#ffb000!important;font-size:.72rem;font-weight:1000;letter-spacing:.09em;line-height:1;padding:7px 13px;text-decoration:none!important;text-transform:uppercase;animation:bltl-signup-flash 1.05s infinite}.bltl-signup-cta:hover,.bltl-signup-cta:focus-visible{outline:none;background:linear-gradient(180deg,rgba(255,176,0,.38),rgba(255,176,0,.16));box-shadow:0 0 0 2px rgba(255,176,0,.24),0 0 24px rgba(255,176,0,.28);filter:brightness(1.08)}@keyframes bltl-signup-flash{0%,100%{opacity:1;transform:scale(1);text-shadow:0 0 12px rgba(255,176,0,.42)}50%{opacity:.58;transform:scale(.985);text-shadow:0 0 4px rgba(255,176,0,.18)}}@media(max-width:760px){.bltl-section-title{display:block}.bltl-section-title h2{text-align:left}.bltl-card-head.is-signup-head{justify-content:flex-start}}
/* v1.0.25 - show the tournament badge below the final bracket area. */
.bltl-final-badge{display:flex;justify-content:flex-end;margin-top:10px;padding-right:2px}.bltl-final-badge img{display:block;width:150px;max-width:min(150px,42vw);height:auto;max-height:150px;border:0;border-radius:0;background:transparent;object-fit:contain;filter:drop-shadow(0 10px 18px rgba(0,0,0,.34))}@media(max-width:760px){.bltl-final-badge{justify-content:flex-start}.bltl-final-badge img{width:124px;max-width:44vw;max-height:124px}}
/* v1.0.26 - keep future-round connector lines muted until teams advance into the slot. */
.bltl-bracket-match.is-awaiting-advance:before{opacity:.22;filter:grayscale(1) saturate(.25) drop-shadow(0 0 2px rgba(120,130,135,.10))!important}.bltl-bracket-match.is-partial-advance:before{opacity:.50;filter:saturate(.62) drop-shadow(0 0 3px rgba(255,176,0,.12))!important}.bltl-bracket-match.is-awaiting-advance.is-dispatch-dim:before,.bltl-bracket-match.is-partial-advance.is-dispatch-dim:before{opacity:.16}
/* v1.0.27 - medium-large live countdown above the signup CTA. */
.bltl-card-head.is-signup-head{display:grid;justify-items:center;gap:8px}.bltl-signup-countdown{display:grid;justify-items:center;gap:2px;min-width:min(360px,100%);border:1px solid rgba(0,220,154,.30);border-radius:8px;background:linear-gradient(180deg,rgba(0,220,154,.13),rgba(0,0,0,.20));box-shadow:0 0 0 1px rgba(255,255,255,.035) inset,0 0 20px rgba(0,220,154,.10);padding:9px 14px;text-align:center}.bltl-signup-countdown span{color:rgba(255,255,255,.68);font-size:.68rem;font-weight:1000;letter-spacing:.10em;line-height:1;text-transform:uppercase}.bltl-signup-countdown strong{color:#13ffb0;font-size:clamp(1.3rem,3vw,2rem);font-weight:1000;letter-spacing:.03em;line-height:1;text-shadow:0 0 18px rgba(0,220,154,.34);white-space:nowrap}.bltl-signup-countdown.is-live{border-color:rgba(255,176,0,.54);background:linear-gradient(180deg,rgba(255,176,0,.18),rgba(0,0,0,.20))}.bltl-signup-countdown.is-live strong{color:#ffb000;text-shadow:0 0 18px rgba(255,176,0,.34)}@media(max-width:760px){.bltl-card-head.is-signup-head{justify-items:start}.bltl-signup-countdown{justify-items:start;text-align:left}.bltl-signup-countdown strong{font-size:1.25rem}}
/* v1.0.28 - enlarge the final badge and keep it from adding bottom whitespace. */
.bltl-bracket-card.has-final-badge .bltl-bracket-scroll{padding-bottom:0}.bltl-final-badge{position:absolute;right:clamp(18px,4vw,58px);bottom:clamp(34px,8vw,94px);z-index:2;margin-top:0;padding-right:0;pointer-events:none}.bltl-final-badge img{width:300px;max-width:min(300px,24vw);max-height:300px;filter:drop-shadow(0 16px 26px rgba(0,0,0,.42))}@media(max-width:760px){.bltl-bracket-card.has-final-badge .bltl-bracket-scroll{padding-bottom:12px}.bltl-final-badge{position:static;justify-content:flex-start;margin-top:12px;pointer-events:auto}.bltl-final-badge img{width:190px;max-width:54vw;max-height:190px}}
/* v1.0.29 - make the signup countdown plain gold text with more breathing room. */
.bltl-card-head.is-signup-head{gap:16px}.bltl-signup-countdown{min-width:0;border:0;border-radius:0;background:transparent;box-shadow:none;padding:0}.bltl-signup-countdown span{color:#ffb000;text-shadow:0 0 12px rgba(255,176,0,.24)}.bltl-signup-countdown strong{color:#ffb000;text-shadow:0 0 18px rgba(255,176,0,.36)}.bltl-signup-countdown.is-live{border-color:transparent;background:transparent}.bltl-signup-countdown.is-live strong{color:#ffb000}.bltl-signup-cta{animation-duration:1.65s}@media(max-width:760px){.bltl-card-head.is-signup-head{gap:14px}}
/* v1.0.30 - right-align the board title and center the badge in the final-side open area. */
.bltl-section-title{grid-template-columns:auto minmax(0,1fr)}.bltl-section-title span{grid-column:1}.bltl-section-title h2{grid-column:2;justify-self:end;text-align:right}.bltl-final-badge{right:clamp(34px,5.5vw,88px);bottom:clamp(28px,4.25vw,58px)}.bltl-signup-countdown span{color:#fff;text-shadow:0 0 12px rgba(255,255,255,.20)}@media(max-width:760px){.bltl-section-title h2{justify-self:start;text-align:left}.bltl-final-badge{right:auto;bottom:auto}}
/* v1.0.31 - align signup controls and badge on the final-side lane. */
.bltl-card-head.is-signup-head{position:absolute;top:clamp(14px,2.2vw,34px);right:clamp(14px,2.8vw,42px);z-index:4;width:min(300px,24vw);margin-bottom:0}.bltl-final-badge{right:clamp(14px,2.8vw,42px)}@media(max-width:760px){.bltl-card-head.is-signup-head{position:static;width:auto;margin-bottom:14px}.bltl-final-badge{right:auto}}
/* v1.0.32 - grey out future-round match tile accents until a team advances into the match. */
.bltl-bracket-round.is-qf .bltl-bracket-match.is-awaiting-advance,.bltl-bracket-round.is-sf .bltl-bracket-match.is-awaiting-advance,.bltl-bracket-round.is-final .bltl-bracket-match.is-awaiting-advance{border-color:rgba(128,142,150,.36);background:radial-gradient(circle at 90% 0,rgba(145,156,164,.10),transparent 42%),linear-gradient(180deg,rgba(255,255,255,.038),rgba(0,0,0,.24)),rgba(10,14,16,.78);box-shadow:0 12px 24px rgba(0,0,0,.34),0 0 10px rgba(120,130,135,.08),inset 0 0 0 1px rgba(255,255,255,.025);filter:grayscale(.42) saturate(.55)}.bltl-bracket-round.is-qf .bltl-bracket-match.is-awaiting-advance .bltl-match-label,.bltl-bracket-round.is-sf .bltl-bracket-match.is-awaiting-advance .bltl-match-label,.bltl-bracket-round.is-final .bltl-bracket-match.is-awaiting-advance .bltl-match-label{color:rgba(175,184,190,.72);text-shadow:none}
/* v1.0.33 - lower the signup countdown block in the final-side lane. */
.bltl-card-head.is-signup-head{top:clamp(150px,16vw,250px)}
/* v1.0.34 - center the badge and signup controls on the final tile column. */
.bltl-bracket-card.has-final-badge{--bltl-final-column-center:calc(87.5% + 11px)}.bltl-card-head.is-signup-head,.bltl-final-badge{left:var(--bltl-final-column-center);right:auto;transform:translateX(-50%);justify-content:center}.bltl-card-head.is-signup-head{width:min(300px,24vw)}.bltl-final-badge img{margin-inline:auto}@media(max-width:760px){.bltl-card-head.is-signup-head,.bltl-final-badge{left:auto;right:auto;transform:none}.bltl-final-badge{justify-content:flex-start}}
/* v1.0.36 - center signup controls and badge between the semifinal and final tiles, and restore badge scale. */
.bltl-bracket-card.has-final-badge{--bltl-final-column-center:75%}.bltl-card-head.is-signup-head,.bltl-final-badge{left:var(--bltl-final-column-center);right:auto;transform:translateX(-50%);justify-content:center}.bltl-card-head.is-signup-head{top:clamp(178px,18vw,278px);width:300px;max-width:300px}.bltl-final-badge{bottom:clamp(70px,8vw,116px)}.bltl-final-badge img{width:300px;max-width:300px;max-height:300px;margin-inline:auto}@media(max-width:760px){.bltl-card-head.is-signup-head{top:auto;width:auto;max-width:none}.bltl-final-badge{bottom:auto}.bltl-final-badge img{width:190px;max-width:54vw;max-height:190px}}
/* v1.0.37 - place countdown and badge on Brad's marked final-column boxes. */
.bltl-bracket-card.has-final-badge{--bltl-final-column-center:calc(87.5% + 11px)}.bltl-card-head.is-signup-head,.bltl-final-badge{left:var(--bltl-final-column-center);right:auto;transform:translateX(-50%);justify-content:center}.bltl-card-head.is-signup-head{top:clamp(138px,14vw,205px);width:300px;max-width:300px}.bltl-final-badge{bottom:clamp(46px,4.75vw,78px)}.bltl-final-badge img{width:300px;max-width:300px;max-height:300px}@media(max-width:760px){.bltl-card-head.is-signup-head,.bltl-final-badge{left:auto;right:auto;transform:none}.bltl-card-head.is-signup-head{top:auto;width:auto;max-width:none}.bltl-final-badge{bottom:auto;justify-content:flex-start}.bltl-final-badge img{width:190px;max-width:54vw;max-height:190px}}
/* v1.0.38 - make the final badge larger and lift it slightly. */
.bltl-final-badge{bottom:clamp(82px,7vw,122px)}.bltl-final-badge img{width:450px;max-width:450px;max-height:450px}@media(max-width:760px){.bltl-final-badge{bottom:auto}.bltl-final-badge img{width:210px;max-width:58vw;max-height:210px}}
/* v1.0.39 - recenter timer and badge on final header, raise timer, and double badge scale. */
.bltl-bracket-card.has-final-badge{--bltl-final-column-center:calc(87.5% - 4px)}.bltl-card-head.is-signup-head,.bltl-final-badge{left:var(--bltl-final-column-center);right:auto;transform:translateX(-50%);justify-content:center}.bltl-card-head.is-signup-head{top:clamp(104px,11.8vw,172px)}.bltl-final-badge img{width:900px;max-width:900px;max-height:900px}@media(max-width:760px){.bltl-card-head.is-signup-head,.bltl-final-badge{left:auto;right:auto;transform:none}.bltl-card-head.is-signup-head{top:auto}.bltl-final-badge img{width:260px;max-width:68vw;max-height:260px}}
/* v1.0.40 - force visible badge growth despite transparent artwork padding. */
.bltl-final-badge{overflow:visible}.bltl-final-badge img{width:520px!important;max-width:520px!important;max-height:520px!important;transform:scale(2.05)!important;transform-origin:center center!important}@media(max-width:760px){.bltl-final-badge img{width:240px!important;max-width:62vw!important;max-height:240px!important;transform:scale(1)!important}}
/* v1.0.41 - pull back the forced badge scale to a usable middle size. */
.bltl-final-badge img{width:520px!important;max-width:520px!important;max-height:520px!important;transform:scale(.75)!important;transform-origin:center center!important}@media(max-width:760px){.bltl-final-badge img{width:220px!important;max-width:60vw!important;max-height:220px!important;transform:scale(1)!important}}
/* v1.0.42 - use the oversized badge as a pre-start centerpiece, then shrink it below finals when live. */
.bltl-bracket-card.has-prestart-badge .bltl-final-badge{left:50%;right:auto;top:50%;bottom:auto;z-index:3;transform:translate(-50%,-50%);justify-content:center;overflow:visible}.bltl-bracket-card.has-prestart-badge .bltl-final-badge img{width:520px!important;max-width:520px!important;max-height:520px!important;transform:scale(2.05)!important;transform-origin:center center!important}.bltl-bracket-card.has-live-badge .bltl-final-badge{left:var(--bltl-final-column-center);right:auto;top:auto;bottom:clamp(18px,3vw,44px);transform:translateX(-50%);justify-content:center;overflow:visible}.bltl-bracket-card.has-live-badge .bltl-final-badge img{width:170px!important;max-width:170px!important;max-height:170px!important;transform:scale(1)!important;transform-origin:center center!important}@media(max-width:760px){.bltl-bracket-card.has-prestart-badge .bltl-final-badge,.bltl-bracket-card.has-live-badge .bltl-final-badge{position:static;left:auto;right:auto;top:auto;bottom:auto;transform:none;justify-content:flex-start;margin-top:12px}.bltl-bracket-card.has-prestart-badge .bltl-final-badge img{width:260px!important;max-width:68vw!important;max-height:260px!important;transform:scale(1)!important}.bltl-bracket-card.has-live-badge .bltl-final-badge img{width:150px!important;max-width:46vw!important;max-height:150px!important;transform:scale(1)!important}}
/* v1.0.43 - crossfade from the pre-start centerpiece badge to the small live finals badge. */
.bltl-final-badge-big,.bltl-final-badge-small{opacity:0;visibility:hidden;transition:opacity .65s ease,filter .65s ease,visibility 0s linear .65s}.bltl-final-badge-big{filter:blur(1px)}.bltl-final-badge-small{filter:blur(4px)}.bltl-bracket-card.has-prestart-badge .bltl-final-badge-big,.bltl-bracket-card.has-live-badge .bltl-final-badge-small{opacity:1;visibility:visible;filter:blur(0);transition-delay:0s}.bltl-bracket-card.has-prestart-badge .bltl-final-badge-small,.bltl-bracket-card.has-live-badge .bltl-final-badge-big{pointer-events:none}.bltl-bracket-card.has-prestart-badge .bltl-final-badge-big{left:50%;right:auto;top:50%;bottom:auto;z-index:3;transform:translate(-50%,-50%);justify-content:center}.bltl-bracket-card.has-prestart-badge .bltl-final-badge-big img{width:520px!important;max-width:520px!important;max-height:520px!important;transform:scale(2.05)!important}.bltl-bracket-card.has-live-badge .bltl-final-badge-small,.bltl-bracket-card.has-prestart-badge .bltl-final-badge-small{left:var(--bltl-final-column-center);right:auto;top:auto;bottom:clamp(18px,3vw,44px);z-index:3;transform:translateX(-50%);justify-content:center}.bltl-bracket-card.has-live-badge .bltl-final-badge-small img,.bltl-bracket-card.has-prestart-badge .bltl-final-badge-small img{width:170px!important;max-width:170px!important;max-height:170px!important;transform:scale(1)!important}.bltl-bracket-card.has-live-badge .bltl-final-badge-big{left:50%;right:auto;top:50%;bottom:auto;z-index:2;transform:translate(-50%,-50%);justify-content:center}.bltl-bracket-card.has-live-badge .bltl-final-badge-big img{width:520px!important;max-width:520px!important;max-height:520px!important;transform:scale(2.05)!important}@media(max-width:760px){.bltl-final-badge-big,.bltl-final-badge-small{transition-duration:.45s}.bltl-bracket-card.has-prestart-badge .bltl-final-badge-big,.bltl-bracket-card.has-live-badge .bltl-final-badge-big,.bltl-bracket-card.has-prestart-badge .bltl-final-badge-small,.bltl-bracket-card.has-live-badge .bltl-final-badge-small{position:static;left:auto;right:auto;top:auto;bottom:auto;transform:none;justify-content:flex-start;margin-top:12px}.bltl-bracket-card.has-prestart-badge .bltl-final-badge-big img,.bltl-bracket-card.has-live-badge .bltl-final-badge-big img{width:260px!important;max-width:68vw!important;max-height:260px!important;transform:scale(1)!important}.bltl-bracket-card.has-prestart-badge .bltl-final-badge-small img,.bltl-bracket-card.has-live-badge .bltl-final-badge-small img{width:150px!important;max-width:46vw!important;max-height:150px!important;transform:scale(1)!important}}
