/* Playoff Bracket */
.bk-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.bk-lb .lb-who{display:flex;flex-direction:column}
.bk-lb-ch{display:inline-flex;align-items:center;gap:6px;margin-top:4px;font-size:13px}.bk-lb-ch .logo{flex:0 0 22px;width:22px;height:22px}.bk-lb-ch .ini{font-size:8px}
.bk-lb-ch.ok span{color:var(--green)}.bk-lb-ch.no span{text-decoration:line-through;color:var(--muted)}
.bk-adm-r legend,.card legend{font-weight:700;padding:0 4px}
.bk-adm-g{margin:10px 0}.bk-adm-row{display:flex;gap:6px;margin:4px 0}.bk-seed{width:60px}.bk-team{flex:1;min-width:0}
.bk-adm-res{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:6px 0}.bk-adm-res select{max-width:60%}
.bk-bar [hidden]{display:none}
.bx-sec,.bx-reg{margin:14px 0 22px}
.bx-reg .h2{margin-bottom:8px}
.bx-rh{display:flex;justify-content:space-between;align-items:baseline;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:10px 0 6px}
.bx-rh a{font-size:12px;text-transform:none;letter-spacing:0;font-weight:600}
.bx-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px}
.bx-m{background:var(--card);border:1px solid var(--line);border-radius:9px;padding:4px 0;margin-bottom:8px;min-width:0}
.bx-t{display:flex;align-items:center;gap:8px;padding:4px 10px;min-width:0}
.bx-t .logo{flex:0 0 24px;width:24px;height:24px}.bx-t .logo .ini{font-size:9px}
.bx-seed{flex:0 0 14px;font-size:12px;color:var(--muted);text-align:right}
.bx-n{flex:1;min-width:0;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bx-s{font-weight:700;min-width:22px;text-align:right}
.bx-w .bx-n,.bx-w .bx-s{color:#fff}.bx-w{box-shadow:inset 3px 0 0 var(--green)}
.bx-l{opacity:.5}
.bx-tbd .bx-n{font-weight:400}
.bx-st{font-size:11.5px;color:var(--muted);padding:2px 10px 2px 32px}
.bx-live{color:#ff6b6b;font-weight:700}
.bx-wait{background:var(--card);border:1px dashed var(--line);border-radius:9px;padding:12px;margin-bottom:8px}
.bx-adm{margin:10px 0}.bx-adm legend{font-weight:700}
.bx-adm-row{display:flex;gap:6px;margin:4px 0}.bx-adm-row input{min-width:0}.bx-adm-seed{flex:0 0 58px;width:58px}.bx-adm-row input:last-child{flex:1}
.bk-lb td:first-child{white-space:nowrap}
/* Bracket board (public/bracket-ui.js): rounds as columns, connector lines, a section switcher on phones */
.br{--ln:#3a4a62;--cw:200px;--gap:22px;margin:4px 0 18px}
.br-sw{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;margin:0 0 10px;padding:3px;background:var(--card);border:1px solid var(--line);border-radius:10px;position:sticky;top:0;z-index:5}
.br-sw::-webkit-scrollbar{display:none}
.br-sw button{flex:1 0 auto;padding:8px 10px;border:0;border-radius:7px;background:none;color:var(--muted);font:700 13px var(--cond);text-transform:uppercase;letter-spacing:.4px;cursor:pointer;white-space:nowrap}
.br-sw button.on{background:#1a2b45;color:#fff;box-shadow:inset 0 -2px 0 var(--red)}
.br-js .br-pane{display:none}.br-js .br-pane.on{display:block}
.br-h{margin:4px 0 6px}
.br-note{font-size:13.5px;color:#c4ccd8;margin:0 0 10px}
.br-scroll{overflow:auto;max-height:calc(100vh - 120px);max-height:calc(100svh - 120px);overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:10px;background:#070b12}
.br-tree{display:flex;align-items:stretch;width:max-content;padding:0 12px 12px}
.br-col{flex:0 0 var(--cw);width:var(--cw);display:flex;flex-direction:column;margin-inline-end:var(--gap)}
.br-col:last-child{margin-inline-end:0}
.br-rh{position:sticky;top:0;z-index:3;background:#070b12;padding:10px 0 8px;margin-bottom:2px;display:flex;flex-direction:column;gap:1px;direction:ltr;text-align:start}
.br-rh span,.br-rh a{font:700 12.5px var(--cond);text-transform:uppercase;letter-spacing:.5px;color:#c4ccd8;text-decoration:none;white-space:nowrap}
.br-rh a:hover{color:#fff;text-decoration:underline}
.br-rh small{font-size:11px;color:var(--muted);white-space:nowrap}
.br-cells{flex:1;display:flex;flex-direction:column}
.br-cell{flex:1 1 0;display:flex;flex-direction:column;justify-content:center;position:relative;padding:5px 0}
.br-m{position:relative;background:var(--card);border:1px solid var(--line);border-radius:8px;direction:ltr}
.br-t{box-sizing:border-box;display:flex;align-items:center;gap:6px;width:100%;height:34px;padding:0 8px 0 4px;background:none;border:0;color:var(--text);font:600 13.5px system-ui,sans-serif;text-align:left}
.br-m .br-t+.br-t{border-top:1px solid var(--line)}
.br-m .br-t:first-child{border-radius:7px 7px 0 0}.br-m .br-t:last-of-type{border-radius:0 0 7px 7px}.br-one .br-t{border-radius:7px}
.br-t .logo{flex:0 0 22px;width:22px;height:22px}.br-t .logo .ini{font-size:8px}
.br-sd{flex:0 0 12px;font-size:11px;color:var(--muted);text-align:right}
.br-n{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:600 16.5px/1 "Barlow Condensed",system-ui,sans-serif;letter-spacing:.1px}
.br-sc{flex:0 0 auto;min-width:18px;text-align:right;font-weight:800}
.br-tbd .br-n{color:var(--muted);font:500 12.5px system-ui,sans-serif}
.br-ft{font-size:10.5px;color:var(--muted);padding:3px 8px 4px;border-top:1px solid var(--line);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.br-w{box-shadow:inset 3px 0 0 var(--green)}.br-w .br-n,.br-w .br-sc{color:#fff}
.br-l .br-n,.br-l .br-sc,.br-l .logo{opacity:.45}
.br-natl{background:#10241a}.br-natl .br-n{color:#fff}
/* connector lines: out of each matchup, joined in pairs, into the next round (logical sides, so mirrored halves work) */
.br-out-pair .br-cell::after,.br-out-one .br-cell::after{content:'';position:absolute;inset-inline-end:calc(var(--gap) / -2);top:50%;width:calc(var(--gap) / 2);border-top:2px solid var(--ln)}
.br-out-pair .br-cell::before{content:'';position:absolute;inset-inline-end:calc(var(--gap) / -2);width:0;border-inline-end:2px solid var(--ln)}
.br-out-pair .br-cell:nth-child(odd)::before{top:50%;bottom:0}
.br-out-pair .br-cell:nth-child(even)::before{top:0;bottom:50%}
.br-in .br-m::before{content:'';position:absolute;left:calc(var(--gap) / -2 - 1px);top:50%;width:calc(var(--gap) / 2 + 1px);border-top:2px solid var(--ln)}
/* picks */
button.br-t{cursor:pointer}button.br-t:disabled{cursor:default}
.br-ck{flex:0 0 16px;width:16px;height:16px;border-radius:50%;border:2px solid #3a4a62;box-sizing:border-box}
.br-t.on{background:#1a0d12}.br-t.on .br-ck{background:var(--red);border-color:var(--red);box-shadow:inset 0 0 0 3px #1a0d12}
.br-t.on:not(button){box-shadow:inset 3px 0 0 var(--red)}
.br-t.ok{background:#0c1a12;box-shadow:inset 3px 0 0 var(--green)}.br-t.ok .br-ck{background:var(--green);border-color:var(--green);box-shadow:inset 0 0 0 3px #0c1a12}
.br-t.no .br-n{text-decoration:line-through;color:var(--muted)}.br-t.no{box-shadow:inset 3px 0 0 #7a2630}.br-t.no .br-ck{background:#7a2630;border-color:#7a2630}
.br-nx{display:flex;justify-content:flex-end;margin-top:8px}
/* wide screens: the whole bracket, two regions on each side flowing into the Final Four in the middle */
@media (min-width:1200px){
  .br{--bw:min(1400px,calc(100vw - 40px));--gap:10px;width:var(--bw);margin-left:calc(50% - var(--bw) / 2)}
  .br-sw,.br-nx{display:none}
  .br-js .br-pane,.br-pane{display:block}
  .br-board{display:grid;grid-template-columns:minmax(0,1fr) 188px minmax(0,1fr);grid-template-areas:"r1 ff r3" "r2 ff r4";gap:14px 16px}
  .br-reg .br-t{font-size:12.5px;gap:4px;padding:0 5px 0 3px}.br-reg .br-n,.br-ff .br-n{font-size:14px}.br-reg .br-t .logo{flex-basis:18px;width:18px;height:18px}.br-reg .br-sd{flex-basis:10px}
  #br-r1{grid-area:r1}#br-r2{grid-area:r2}#br-r3{grid-area:r3}#br-r4{grid-area:r4}#br-ff{grid-area:ff;align-self:center}
  .br-scroll{overflow:visible;max-height:none;border:0;background:none}
  .br-tree{width:auto;padding:0}
  .br-reg .br-col{flex:1 1 0;width:auto;min-width:0}
  .br-reg .br-rc{display:none}
  .br-reg .br-col:nth-last-child(2){margin-inline-end:0}
  #br-r3 .br-tree,#br-r4 .br-tree{direction:rtl}
  #br-r3 .br-h,#br-r4 .br-h{text-align:right}
  #br-r3 .br-in .br-m::before,#br-r4 .br-in .br-m::before{left:auto;right:calc(var(--gap) / -2 - 1px)}
  #br-r3 .br-rh,#br-r4 .br-rh{text-align:right;align-items:flex-end}
  .br-rh{background:var(--bg,#000)}
  .br-ff .br-tree{flex-direction:column;gap:6px}
  .br-ff .br-col{width:auto;flex:none;margin:0}
  .br-ff .br-cell::before,.br-ff .br-cell::after,.br-ff .br-m::before{display:none}
  .br-ff .br-rh{position:static}
  .br-ff .br-h{font-size:18px;text-align:center}.br-ff .br-note{font-size:12.5px;text-align:center}
}

.bk-tabs{margin:6px 0 10px}
