/* Competition bracket: neutral match surfaces, colored competitive states. */
.bracket-tools{margin-bottom:16px;align-items:center}.bracket-tools h2{font-size:22px}.bracket-tools .subtitle{font-size:11px}.toggle{background:#231b2d;border:1px solid #493255;padding:9px 12px;border-radius:7px;max-width:none;color:#d7c9e1}.toggle input{accent-color:#a34af0}.bracket-navigation{justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.round-switch{display:flex;gap:4px}.round-switch .filter{padding:7px 10px;font-size:10px}.zoom-controls{display:flex;margin-left:auto;gap:5px}.zoom-controls .secondary{background:#241a2d;border-color:#483450;font-size:10px;padding:6px 9px}.bracket-wrap{padding:22px 20px 26px;background-color:#141019;background-image:radial-gradient(#aa83c218 .7px,transparent .7px);background-size:18px 18px;border:1px solid #493253;border-radius:10px;max-height:76vh;overflow:auto;scrollbar-color:#67467e #1b1322;scrollbar-width:thin}.bracket{display:grid;gap:56px;min-width:max-content!important;isolation:isolate}.round{display:block!important}.round-title{background:transparent;height:37px;margin:0 0 12px;padding:0 0 12px;border-bottom:1px solid #65417b55;display:flex;gap:12px;align-items:center}.round-title b{font-size:11px;color:#e4d5ee;white-space:nowrap}.round-title small{padding:0;background:none;color:#a48ab5;font-size:9px;white-space:nowrap}.round:last-child .round-title b{color:#dca7ff}.round-matches{display:flex;flex-direction:column;justify-content:space-around;gap:0}.match,.match.ready,.match.completed,.match.pending{min-height:0;height:102px;border:1px solid #4b3759;border-radius:7px;background:#221a29;box-shadow:0 3px 9px #0002;overflow:hidden;transition:border-color .15s,box-shadow .15s}.match.ready{border-color:#73518c}.match.completed{border-color:#6c3d8b}.match.pending{background:#1b1521;border-style:dashed;border-color:#45334f}.match-label,.match.pending .match-label{height:26px;padding:0 10px;background:#ffffff03;border-bottom:1px solid #60416e30;color:#9c83af;font-size:8px;letter-spacing:.4px}.match.completed .match-label{color:#c598e5}.team-line{height:37px;padding:6px 10px;gap:9px;font-size:11px;color:#eee7f3;border:0}.team-line+.team-line{border-top:1px solid #79518a23}.team-line .emblem{width:22px;height:22px;font-size:9px;border-radius:4px;box-shadow:inset 0 1px 0 #ffffff25}.team-line .score{height:25px;min-width:26px;border-radius:3px;background:#302039;color:#c8afd9;font-size:12px;font-variant-numeric:tabular-nums}.team-line.winner{background:#7736a624;color:#f3deff;box-shadow:inset 3px 0 #b956ff}.team-line.winner .score{background:#8b36d2;color:#fff}.empty-team{color:#8f7b9f;font-size:10px}.match:hover,.match:focus-visible,.match.path-focus{border-color:#ba6bf2;box-shadow:0 0 0 1px #a349d530,0 4px 14px #0003}.bracket-links{display:block!important;z-index:-1}.bracket-links path{stroke:#624276;stroke-width:1.25;stroke-linejoin:round}.bracket-links path.decided{stroke:#a155d1;stroke-width:1.6}.bracket-links path.path-focus{stroke:#d38bff;stroke-width:2.2}.champion{background:#2a1935;border:1px solid #9855c0;border-radius:8px;font-size:12px;padding:18px}.bracket-navigation #remove-test-teams{font-size:10px;padding:7px 11px}.bracket-navigation #test-teams{font-size:10px;padding:7px 11px}
@media(max-width:700px){.bracket{display:grid!important;zoom:var(--bracket-zoom,1)!important}.round-matches{height:var(--round-height,528px)!important}.bracket-wrap{padding:18px 16px;max-height:72vh}.bracket-tools{align-items:start;gap:12px}.bracket-tools .toggle{font-size:10px;padding:8px;max-width:130px}.bracket-tools .subtitle{display:block;max-width:210px;line-height:1.7}.round-switch{width:100%;overflow:auto;padding-bottom:3px}.round-switch .filter{flex-shrink:0}.zoom-controls{display:flex;width:100%;justify-content:end}.bracket-navigation{gap:8px}.round-title{position:static}.match{touch-action:pan-x pan-y}}
.toggle:has(input:checked)~*{user-select:none}.team-line[role=button]{touch-action:none;user-select:none;cursor:grab}.team-line.slot-selected,.team-line.slot-target{background:#653399;box-shadow:inset 0 0 0 2px #ce91ff}.team-line.slot-dragging{opacity:.55;cursor:grabbing}.team-line[role=button]:focus-visible{outline:2px solid #cb8dff;outline-offset:-2px}
