.tournament-bracket_setupPanel__py3MT{background:rgba(30,41,59,.5);border:1px solid rgba(148,163,184,.08);border-radius:12px;padding:1.5rem;margin-bottom:2rem}.tournament-bracket_setupRow__8bKmX{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.tournament-bracket_setupLabel__LdvAd{color:#e2e8f0;font-size:.9rem;font-weight:500;min-width:100px}.tournament-bracket_teamCountBtns__IgFnx{display:flex;gap:.5rem}.tournament-bracket_teamCountBtn___9ab3{background:rgba(30,41,59,.8);color:#94a3b8;border:1px solid rgba(148,163,184,.15);border-radius:8px;padding:.4rem 1rem;font-size:.85rem;cursor:pointer;transition:all .2s}.tournament-bracket_teamCountBtn___9ab3:hover{border-color:#22c55e;color:#e2e8f0}.tournament-bracket_teamCountBtnActive__EWJkU{background:rgba(34,197,94,.15);border-color:#22c55e;color:#22c55e}.tournament-bracket_teamInputsGrid__bXZnH{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.5rem;margin-bottom:1.25rem}.tournament-bracket_teamInputWrapper__JdNhf{display:flex;align-items:center;gap:.5rem}.tournament-bracket_teamSeed__9YwJA{color:#64748b;font-size:.75rem;min-width:20px;text-align:right}.tournament-bracket_teamInput__RA5tk{flex:1 1;min-width:0;background:rgba(15,23,42,.6);border:1px solid rgba(148,163,184,.12);border-radius:6px;padding:.4rem .6rem;color:#e2e8f0;font-size:.85rem;transition:border-color .2s}.tournament-bracket_teamInput__RA5tk:focus{outline:none;border-color:#22c55e}.tournament-bracket_teamInput__RA5tk::placeholder{color:#475569}.tournament-bracket_logoUploadBtn__z5_Gq{width:28px;height:28px;min-height:0;box-sizing:border-box;border-radius:50%;border:1px dashed rgba(148,163,184,.25);background:rgba(15,23,42,.4);color:#64748b;font-size:.7rem;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s;overflow:hidden;padding:0}.tournament-bracket_logoUploadBtn__z5_Gq:hover{border-color:#22c55e;color:#22c55e}.tournament-bracket_logoPreview__vjBr6{width:28px;height:28px;border-radius:50%;object-fit:cover;display:block}.tournament-bracket_teamLogo__EbNfg{width:18px;height:18px;border-radius:50%;object-fit:cover;flex-shrink:0}.tournament-bracket_trophyRow__bcIcr{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.tournament-bracket_trophyUploadBtn__AW_v_{display:flex;align-items:center;gap:.5rem;background:rgba(30,41,59,.8);color:#94a3b8;border:1px dashed rgba(148,163,184,.2);border-radius:8px;padding:.4rem .75rem;font-size:.8rem;cursor:pointer;transition:all .2s}.tournament-bracket_trophyUploadBtn__AW_v_:hover{border-color:#22c55e;color:#e2e8f0}.tournament-bracket_trophyPreview__hMkhA{width:32px;height:32px;object-fit:contain}.tournament-bracket_trophyInBracket__APHwo{width:36px;height:36px;object-fit:contain;margin-bottom:.25rem}.tournament-bracket_trophyInBanner__vqYB3{width:56px;height:56px;object-fit:contain;margin-bottom:.5rem}.tournament-bracket_setupActions__oVm3q{display:flex;gap:.75rem;flex-wrap:wrap}.tournament-bracket_btnPrimary__ZNY7V{background:#22c55e;color:#0f172a;border:none;border-radius:8px;padding:.55rem 1.25rem;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .2s}.tournament-bracket_btnPrimary__ZNY7V:hover{background:#16a34a}.tournament-bracket_btnPrimary__ZNY7V:disabled{opacity:.5;cursor:not-allowed}.tournament-bracket_btnSecondary__b7FyI{background:rgba(30,41,59,.8);color:#e2e8f0;border:1px solid rgba(148,163,184,.15);border-radius:8px;padding:.55rem 1.25rem;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.tournament-bracket_btnSecondary__b7FyI:hover{border-color:#22c55e;color:#22c55e}.tournament-bracket_bracketWrapper__LGJCo{overflow-x:auto;padding:1rem 0;-webkit-overflow-scrolling:touch}.tournament-bracket_bracketExportTarget__6xpkj{width:-moz-fit-content;width:fit-content;margin:0 auto;padding:1rem}.tournament-bracket_bracket___Fw2y{display:flex;gap:0;min-width:max-content;align-items:stretch}.tournament-bracket_roundCol__QCbNV{display:flex;flex-direction:column;align-items:center;min-width:200px}.tournament-bracket_roundTitle__rnY6K{color:#94a3b8;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:1rem;text-align:center}.tournament-bracket_matchesCol__kdjYS{display:flex;flex-direction:column;justify-content:space-around;flex:1 1}.tournament-bracket_bracketCenter___3Xgg{display:flex;align-items:stretch;min-width:max-content}.tournament-bracket_bracketHalfRight__7qJgG,.tournament-bracket_bracketHalf__BPZvC{display:flex;gap:0;align-items:stretch}.tournament-bracket_finalCol__M4rHK{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 1.5rem;min-width:200px}.tournament-bracket_finalMatchCard__8A5sM{display:flex;align-items:center;gap:.75rem}.tournament-bracket_finalTeamSide__5znSj{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.6rem .8rem;background:rgba(30,41,59,.5);border:1px solid rgba(148,163,184,.08);border-radius:8px;min-width:100px;cursor:pointer;transition:border-color .2s}.tournament-bracket_finalTeamSide__5znSj:hover{border-color:rgba(148,163,184,.2)}.tournament-bracket_finalTeamWinner__i5KJ_{background:rgba(34,197,94,.08)}.tournament-bracket_finalVs__iS077{color:#64748b;font-size:.85rem;font-weight:700;letter-spacing:.05em;flex-shrink:0}.tournament-bracket_matchCard__9b1vo{background:rgba(30,41,59,.5);border:1px solid rgba(148,163,184,.08);border-radius:8px;overflow:hidden;margin:.5rem 0;min-width:180px;transition:border-color .2s}.tournament-bracket_matchCard__9b1vo:hover{border-color:rgba(148,163,184,.2)}.tournament-bracket_matchTeamRow__CSvWB{display:flex;align-items:center;padding:.4rem .6rem;gap:.5rem;cursor:pointer;transition:background .15s}.tournament-bracket_matchTeamRow__CSvWB:hover{background:rgba(148,163,184,.05)}.tournament-bracket_matchTeamRowWinner__4tATF{background:rgba(34,197,94,.08)}.tournament-bracket_matchDivider__o_9GX{height:1px;background:rgba(148,163,184,.08);margin:0}.tournament-bracket_matchTeamName__wR4fj{flex:1 1;color:#e2e8f0;font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tournament-bracket_matchTeamNameEmpty__Hg61i{color:#475569;font-style:italic}.tournament-bracket_matchTeamNameWinner__1udoG{color:#22c55e;font-weight:600}.tournament-bracket_matchScore__MAreh{color:#94a3b8;font-size:.8rem;font-weight:600;min-width:18px;text-align:center}.tournament-bracket_matchScoreWinner__jKukx{color:#22c55e}.tournament-bracket_connectorSvgCol__Trh63{width:40px;flex-shrink:0;align-self:stretch;position:relative}.tournament-bracket_championBanner__6gWOL{text-align:center;margin:1.5rem 0;padding:1.25rem;background:rgba(34,197,94,.08);border:1px solid rgba(34,197,94,.2);border-radius:12px;display:flex;flex-direction:column;align-items:center}.tournament-bracket_championLabel__bHxMN{color:#94a3b8;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.25rem}.tournament-bracket_championName__t9l23{color:#22c55e;font-size:1.5rem;font-weight:700}.tournament-bracket_scoreOverlay__J6YiP{position:fixed;inset:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.tournament-bracket_scoreCard__3NQht{background:#1e293b;border:1px solid rgba(148,163,184,.12);border-radius:12px;padding:1.5rem;width:100%;max-width:320px}.tournament-bracket_scoreTitle__Viliv{color:#e2e8f0;font-size:1rem;font-weight:600;text-align:center;margin-bottom:1rem}.tournament-bracket_scoreTeamRow__jyLAC{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.tournament-bracket_scoreTeamName__A7IFz{flex:1 1;color:#e2e8f0;font-size:.9rem}.tournament-bracket_scoreInput__nae0X{width:56px;background:rgba(15,23,42,.6);border:1px solid rgba(148,163,184,.15);border-radius:6px;padding:.4rem .5rem;color:#e2e8f0;font-size:1rem;font-weight:600;text-align:center}.tournament-bracket_scoreInput__nae0X:focus{outline:none;border-color:#22c55e}.tournament-bracket_scoreActions__BWLLW{display:flex;gap:.75rem;margin-top:1rem}.tournament-bracket_scoreActions__BWLLW>*{flex:1 1}.tournament-bracket_scoreError__hNC7m{color:#ef4444;font-size:.8rem;text-align:center;margin-top:.5rem}.tournament-bracket_controlsBar__ZKqJe{display:flex;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.tournament-bracket_exportPresetRow__VEFDx{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:1rem}.tournament-bracket_exportPresetBtn__wGC4k{padding:6px 10px;border:1px solid rgba(148,163,184,.2);border-radius:8px;background:rgba(15,23,42,.4);color:#94a3b8;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap}.tournament-bracket_exportPresetBtn__wGC4k:hover{border-color:rgba(148,163,184,.4);color:#e2e8f0}.tournament-bracket_exportPresetBtnActive__g8ygt{border-color:#22c55e;color:#22c55e;background:rgba(34,197,94,.1)}.tournament-bracket_toast__JvxKN{position:fixed;bottom:2rem;left:50%;transform:translateX(-50%);background:#22c55e;color:#0f172a;padding:.6rem 1.25rem;border-radius:8px;font-size:.85rem;font-weight:600;z-index:200;animation:tournament-bracket_toastIn__OIEsq .3s ease}@keyframes tournament-bracket_toastIn__OIEsq{0%{opacity:0;transform:translateX(-50%) translateY(10px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@media (max-width:600px){.tournament-bracket_setupPanel__py3MT{padding:1rem}.tournament-bracket_teamInputsGrid__bXZnH{grid-template-columns:1fr}.tournament-bracket_matchCard__9b1vo{min-width:150px}.tournament-bracket_roundCol__QCbNV{min-width:160px}}[dir=rtl] .tournament-bracket_bracketCenter___3Xgg,[dir=rtl] .tournament-bracket_bracketHalfRight__7qJgG,[dir=rtl] .tournament-bracket_bracketHalf__BPZvC,[dir=rtl] .tournament-bracket_bracket___Fw2y{direction:ltr}[dir=rtl] .tournament-bracket_matchCard__9b1vo,[dir=rtl] .tournament-bracket_roundTitle__rnY6K,[dir=rtl] .tournament-bracket_teamName__YP_s6,[dir=rtl] .tournament-bracket_teamSeed__9YwJA{direction:rtl}[dir=rtl] .tournament-bracket_teamSeed__9YwJA{text-align:left}@keyframes tournament-bracket_tbModalIn__1JU3K{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.tournament-bracket_exportModalOverlay__jKXih{position:fixed;inset:0;background:rgba(0,0,0,.7);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:2000;display:flex;align-items:center;justify-content:center;padding:1.5rem}.tournament-bracket_exportModalCard__FuLxr{background:rgba(15,23,42,.97);border:1px solid rgba(148,163,184,.15);border-radius:20px;width:100%;max-width:680px;max-height:calc(100vh - 3rem);overflow:hidden;animation:tournament-bracket_tbModalIn__1JU3K .2s ease-out;display:flex;flex-direction:column}.tournament-bracket_exportModalHeader__N28Rw{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid rgba(148,163,184,.1)}.tournament-bracket_exportModalTitle__R9FBG{font-size:1.1rem;font-weight:700;color:#fff}.tournament-bracket_exportModalClose__S3jTj{background:none;border:none;color:#94a3b8;font-size:1.5rem;cursor:pointer;padding:4px;line-height:1;transition:color .15s}.tournament-bracket_exportModalClose__S3jTj:hover{color:#e2e8f0}.tournament-bracket_exportModalBody__sOIWt{padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem;overflow-y:auto}.tournament-bracket_exportModalPreview__M3EmA{display:flex;justify-content:center;background:rgba(0,0,0,.3);border-radius:12px;padding:12px;overflow:hidden;min-height:200px}.tournament-bracket_exportModalPreview__M3EmA canvas{max-width:100%;max-height:38vh;border-radius:8px;display:block}.tournament-bracket_exportModalControls__ZOyQM{display:flex;flex-direction:column;gap:.75rem}.tournament-bracket_exportSizeLabel__0cS6N{font-size:.72rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.04em}.tournament-bracket_exportModalActions__bEK8K{display:flex;gap:.75rem;padding-top:.5rem}.tournament-bracket_downloadBtn__Ek00F{display:inline-flex;align-items:center;gap:8px;padding:.65rem 1.4rem;border:none;border-radius:12px;background:#22c55e;color:#0f172a;font-size:.9rem;font-weight:700;cursor:pointer;transition:background .15s}.tournament-bracket_downloadBtn__Ek00F:hover{background:#16a34a}