/* Use the shared Barlow, body and JetBrains roles. */
.tournament-availability{margin-bottom:24px}.tournament-availability h2{font-size:32px}.tournament-availability p:last-child{margin-bottom:0}
.bracket-help{font-size:13px;color:var(--muted);margin:22px 0 10px}.bracket-help span{display:block}.tournament-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;padding:10px 0 18px;scrollbar-color:#b78b43 #18202b;scrollbar-width:thin}.tournament-scroll:focus-visible{outline:2px solid var(--gold);outline-offset:5px;border-radius:8px}
.tournament-bracket{--slot:10em;position:relative;display:grid;grid-template-columns:repeat(4,18.333333em);gap:3em;width:82.333333em;font-size:12px;margin:0;align-items:start}
.bracket-column{min-width:0;position:relative;height:calc(var(--slot)*8 + 4em)}.bracket-column>h3{font:700 11px/1.6 var(--mono);text-transform:uppercase;color:var(--gold);margin:0;padding-bottom:12px;border-bottom:1px solid var(--line);letter-spacing:.5px}
.bracket-lines{position:absolute;left:0;top:4em;width:100%;height:calc(var(--slot)*8);pointer-events:none;overflow:visible}.bracket-lines path{fill:none;stroke:#a98b56;stroke-opacity:.55;stroke-width:1.4}
.bracket-match{position:absolute;width:100%;transform:translateY(-50%);border:1px solid var(--line);border-radius:9px;background:linear-gradient(145deg,#252d38,#191f28);padding:10px 12px;margin:0;min-width:0;box-shadow:0 4px 12px #0002}
.bracket-match h4{font:700 10px/1.4 var(--mono);color:#b4becd;margin:0 0 6px}.bracket-match .note{font:10px/1.4 var(--mono);margin:6px 0 0;text-transform:none}.bracket-bye{border-style:dashed;background:#1a212b}.bye-label{color:#7b8798}
[data-bracket-node=B1]{top:calc(4em + var(--slot)*.5)}[data-bracket-node=P1]{top:calc(4em + var(--slot)*1.5)}[data-bracket-node=B3]{top:calc(4em + var(--slot)*2.5)}[data-bracket-node=B4]{top:calc(4em + var(--slot)*3.5)}[data-bracket-node=B5]{top:calc(4em + var(--slot)*4.5)}[data-bracket-node=P2]{top:calc(4em + var(--slot)*5.5)}[data-bracket-node=B7]{top:calc(4em + var(--slot)*6.5)}[data-bracket-node=B8]{top:calc(4em + var(--slot)*7.5)}
[data-bracket-node=Q1]{top:calc(4em + var(--slot))}[data-bracket-node=Q2]{top:calc(4em + var(--slot)*3)}[data-bracket-node=Q3]{top:calc(4em + var(--slot)*5)}[data-bracket-node=Q4]{top:calc(4em + var(--slot)*7)}[data-bracket-node=S1]{top:calc(4em + var(--slot)*2)}[data-bracket-node=S2]{top:calc(4em + var(--slot)*6)}[data-bracket-node=F1]{top:calc(4em + var(--slot)*4)}
.bracket-team{display:flex;gap:10px;align-items:center;justify-content:space-between;border-block-start:1px solid #ffffff0b;padding:4px 0;font-size:13px;line-height:1.4}.bracket-team>span:first-child{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bracket-team>span:last-child{font:11px/1.4 var(--mono);flex-shrink:0;color:var(--gold)}.bracket-winner{color:var(--green)}.match-completed{border-color:#72974b70}
.tournament-format,.tournament-team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.tournament-format h3{font-size:28px}.tournament-format p{font-size:14px;line-height:1.7}.tournament-preview>.note{max-width:900px}
.tournament-admin,.team-tools,.tournament-rosters{border:1px solid var(--line);border-radius:14px;padding:22px;background:#1a2029;margin-block:24px}.tournament-admin summary,.team-tools summary,.tournament-rosters summary{cursor:pointer;font:700 26px/1.2 var(--display);color:var(--text)}.tournament-admin[open]>summary,.team-tools[open]>summary,.tournament-rosters[open]>summary{margin-bottom:20px}
.tournament-detail form,.team-tools>form,.team-management form,.tournament-admin form{display:grid;gap:12px;max-width:650px;margin-block:24px}.tournament-detail label,.team-tools label,.team-management label,.tournament-admin label{font:12px/1.6 var(--mono);color:var(--muted)}.tournament-detail input,.team-tools input,.team-management input,.tournament-admin input{width:100%;min-width:0;padding:12px;background:#111821;border:1px solid #505968;border-radius:8px;color:var(--text);min-height:46px}.tournament-detail select{width:100%;min-width:0}.tournament-detail form .btn,.team-tools form .btn,.tournament-admin form .btn{justify-self:start;white-space:normal}
.team-management{min-width:0}.team-management ol{padding-left:22px;font-size:13px}.team-management li{overflow-wrap:anywhere;margin-bottom:12px}.team-management li>span{display:block}.team-management .actions{margin:0;display:grid;grid-template-columns:minmax(0,1fr)}.team-management code{overflow-wrap:anywhere}.tournament-detail .callout{margin-block:24px}.veto-panel{margin-block:24px}.veto-panel li{font-size:14px;line-height:1.7}.tournament-rosters li{margin:12px 0}
@media(max-width:650px){.tournament-format,.tournament-team-grid{grid-template-columns:minmax(0,1fr)}.tournament-admin,.team-tools,.tournament-rosters{padding:20px}.tournament-preview .section-head .badge{white-space:normal}}
