.tournament-csv-actions{justify-content:center;margin:0 0 8px}
.tournament-group.balanced-tournament{background:#fff;border:1px solid #dce3d9;border-radius:10px;padding:13px;margin:0 0 16px;overflow:hidden}
.balanced-tournament>.draw-heading{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px;margin:0 0 12px;position:relative;min-height:44px}
.draw-heading h3{font-size:19px;margin:0;color:#193e35}.draw-heading p{font-size:12px;color:#758277;margin:3px 0 0}
.draw-heading .draw-open{position:absolute;right:0;min-height:40px}
.bracket-viewport{container-type:inline-size;width:100%;background:#fff}
.bracket-board{--draw-unit:calc(100cqw / var(--bracket-width));position:relative;width:100%;aspect-ratio:var(--bracket-width) / var(--bracket-height);background:#fff;color:#193e35;isolation:isolate}
.draw-connectors{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#b4c2b8;stroke-width:1.5;pointer-events:none}.draw-connectors .resolved{stroke:#5d806d;stroke-width:1.8}
.draw-slot{position:absolute;display:flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:0;min-height:0;margin:0;border:1px solid #adbbb0;border-radius:3px;padding:0;background:#fff;color:#193e35;font-family:inherit;font-size:calc(20 * var(--draw-unit));line-height:1.35;text-align:center;writing-mode:horizontal-tb;text-orientation:mixed;box-shadow:none}
button.draw-slot{cursor:pointer}button.draw-slot:hover:not(:disabled){border-color:#225b48;background:#f1f6f3}button.draw-slot:focus-visible{outline:2px solid #225b48;outline-offset:2px}button.draw-slot:disabled{opacity:1;cursor:default}
.draw-slot.complete{border-color:#5d806d}.draw-label{display:block;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 calc(3 * var(--draw-unit));font-weight:600}
.draw-seed{flex:0 0 23%;height:100%;display:flex;align-items:center;justify-content:center;border-right:1px solid #d0d9d2;font-size:calc(16 * var(--draw-unit));font-variant-numeric:tabular-nums;writing-mode:horizontal-tb;text-orientation:mixed}
.draw-entry .draw-label{flex:1;font-size:calc(20 * var(--draw-unit))}
.draw-label-with-origin{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;line-height:1.15}
.draw-team-name,.draw-preliminary{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.draw-preliminary{margin-top:calc(2 * var(--draw-unit));font-size:calc(14 * var(--draw-unit));font-weight:500;color:#435f51;line-height:1.15}
.draw-slot .draw-preliminary-only{font-size:calc(18 * var(--draw-unit));font-weight:600}
.draw-champion{border:2px solid #547663;border-radius:5px;font-size:calc(24 * var(--draw-unit));font-weight:700}.draw-stage{position:absolute;transform:translateX(-50%);font-size:calc(14 * var(--draw-unit));color:#66776c;white-space:nowrap}.draw-center-caption{position:absolute;left:50%;transform:translateX(-50%);font-size:calc(20 * var(--draw-unit));line-height:1.2;font-weight:700;white-space:nowrap}
.draw-dialog{width:calc(100vw - 24px);max-width:none;height:calc(100dvh - 24px);max-height:none;margin:auto;padding:0;border:1px solid #d0d9d2;border-radius:12px;background:#fff;overflow:hidden;color:#193e35}
.draw-dialog[open]{display:flex;flex-direction:column}.draw-dialog::backdrop{background:#14291f99}.draw-dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:13px 18px;border-bottom:1px solid #dce4dd;flex-shrink:0;background:#fff}.draw-dialog-heading h2{font-size:20px;margin:0}.draw-dialog-tools{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}.draw-dialog-tools select{width:130px;height:40px;font-size:14px}.draw-dialog-tools button{min-height:40px;white-space:nowrap}.draw-dialog-tools output{font-size:13px;min-width:42px;text-align:center;font-variant-numeric:tabular-nums}
.draw-dialog-scroll{display:flex;flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;background:#fff;padding:16px}.draw-dialog-content{flex:none;width:100%;margin:auto;background:#fff}.draw-dialog-content .bracket-viewport{margin:0 auto}.draw-dialog-footer{margin:0;padding:7px 16px 10px;text-align:center;font-size:12px;color:#6b7e71;flex-shrink:0;background:#fff}
body:has(.draw-dialog[open]){overflow:hidden}
@media(max-width:700px){.draw-heading .draw-open{position:static}.draw-heading h3{font-size:17px}.draw-dialog-heading{padding:10px;justify-content:center}.draw-dialog-heading h2{font-size:17px}.draw-dialog-tools{gap:5px}.draw-dialog-tools button{padding:7px 9px;font-size:12px}.draw-dialog-tools select{width:100px;font-size:12px}.draw-dialog-scroll{padding:8px}.draw-dialog{width:calc(100vw - 12px);height:calc(100dvh - 12px);border-radius:8px}.draw-dialog-footer{font-size:11px}}
@media print{
 body:has(.draw-dialog[open]){overflow:visible!important}.draw-dialog::backdrop{display:none!important}
 body.print-tournament main{width:277mm;max-width:277mm;margin:0;padding:0}
 body.print-tournament main>:not(.operations){display:none!important}
 body.print-tournament .operations,body.print-tournament #operations-content{display:block;overflow:visible;margin:0;padding:0;border:0}
 .tournament-group.balanced-tournament{display:flex;flex-direction:column;justify-content:center;width:277mm;height:188mm;max-width:277mm;border:0;border-radius:0;padding:0;margin:0;break-inside:avoid;break-before:page;background:#fff}
 .tournament-group.balanced-tournament:first-of-type{break-before:auto}
 .balanced-tournament>.draw-heading{min-height:0;margin:0 0 3mm;gap:0}.draw-heading h3{font-size:14px}.draw-heading p{font-size:9px;margin-top:1mm}
 .balanced-tournament .bracket-viewport{width:min(100%,var(--print-board-width));margin:0 auto}
 .draw-slot,.draw-connectors{print-color-adjust:exact;-webkit-print-color-adjust:exact}
}

@media screen{
 .balanced-tournament>.draw-heading{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:12px;align-items:start}
 .draw-heading .draw-open{position:static;justify-self:start;grid-column:1;grid-row:1}
 .draw-heading-title{grid-column:2;grid-row:1;text-align:center}
 .tournament-actions{display:flex;justify-content:flex-end;align-items:center;gap:6px;flex-wrap:nowrap;min-width:0}
 .draw-heading>.tournament-actions{grid-column:3;grid-row:1;justify-self:end}
 .tournament-actions .secondary-button{white-space:nowrap;font-size:13px;min-height:40px;padding:8px 11px}
 .tournament-actions .draw-edit-toggle{background:#eef3fa;border-color:#c6d5e6;color:#35536d}
 .tournament-editor{position:sticky;top:8px;z-index:5;margin:0 0 12px;padding:8px 12px;border:1px solid #dce3d9;border-radius:8px;background:#f5f7f2}
 .tournament-editor>.tournament-actions{justify-content:center;flex-wrap:wrap}
 .tournament-editor .draw-edit-note{margin:6px 0 0}
 .draw-dialog-edit-tools .tournament-editor{position:static;margin:0;padding:0;border:0;background:none}
 .draw-edit-note{margin:0 0 10px;font-size:13px;line-height:1.6;color:#456753;text-align:center;word-break:keep-all}
 .draw-entry.draw-editable{cursor:grab;border-color:#6996bc;background:#f2f7fc;touch-action:manipulation}
 .draw-entry.draw-editable[aria-pressed="true"],.draw-entry.draw-editable.drop-target{outline:2px solid #286fab;outline-offset:1px;background:#dcebf8}
 .draw-entry.draw-editable.dragging{opacity:.45;cursor:grabbing}
 .draw-dialog-edit-tools{flex-basis:100%;display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}
}
@media screen and (max-width:950px){
 .balanced-tournament>.draw-heading{grid-template-columns:minmax(0,1fr) auto;gap:8px}
 .draw-heading-title{grid-column:1/-1;grid-row:1}
 .draw-heading .draw-open{grid-column:1;grid-row:2}
 .draw-heading>.tournament-actions{grid-column:2;grid-row:2}
}
@media screen and (max-width:600px){
 .draw-heading .draw-open,.tournament-actions .secondary-button{font-size:12px;min-height:36px;padding:7px}
 .tournament-actions{gap:4px}
 .draw-heading h3{font-size:16px}
}
.draw-shared-winner{border:2px solid #547663;background:#f4f8ed}
