.cup-center{color:#e9e4d9;min-width:0;margin-top:20px}.cup-center *{box-sizing:border-box}.cup-center .cup-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:20px}.cup-heading h2,.cup-heading h3,.cup-heading h4{margin:0;line-height:1.6}.cup-heading p{color:#c6d1dd;margin:8px 0}.cup-center button,.cup-center summary,.cup-center a.button{min-height:44px;line-height:1.7}.cup-center button{cursor:pointer;padding:10px 16px;color:#f0dcaf;border:1px solid #c5ae7766;border-radius:10px}.cup-center button:disabled{cursor:wait;opacity:.55}.cup-center button:focus-visible,.cup-center summary:focus-visible,.cup-bracket-scroll:focus-visible{outline:2px solid #e7cd8d;outline-offset:4px}.cup-center summary{cursor:pointer;padding:14px 18px;color:#f0dcaf;font-weight:700}.cup-base-rules,.cup-rules,.cup-admin-panel,.cup-entry{background:#1d2c3ddd;border:1px solid #bda57755;border-radius:14px;margin:18px 0;overflow:hidden}.cup-base-rules>p,.cup-base-rules>ul,.cup-base-rules>h3,.cup-rules>p,.cup-rules>a{margin:16px 22px}.cup-base-rules li{padding:6px 0;line-height:1.9;color:#d6dfeb}.cup-lines{white-space:pre-line;line-height:2.1;color:#dce4ed}.cup-feedback{color:#f2d29a;line-height:1.9;overflow-wrap:anywhere}.cup-feedback:empty{display:none}.cup-admin-panel>form,.cup-admin-panel>p,.cup-admin-panel>.cup-moderator-list,.cup-entry>form{padding:20px;margin:0}.cup-center form{display:grid;gap:18px;min-width:0}.cup-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.cup-center label{display:grid;gap:8px;line-height:1.8;min-width:0;color:#dce4ed}.cup-center input,.cup-center select,.cup-center textarea{width:100%;min-width:0;font-size:16px;line-height:1.6}.cup-center label small{font-size:13px;color:#c0cedd}.cup-center .cup-check{display:flex;align-items:flex-start;gap:10px;line-height:1.9;min-height:44px}.cup-center .cup-check input{width:20px;height:20px;min-height:20px;flex:0 0 20px;margin-top:5px;accent-color:#cdb47b}.cup-form-message{color:#f2d29a;margin:0;overflow-wrap:anywhere}.cup-center form>button{justify-self:start}.cup-tournament-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:20px}.cup-tournament{background:#1c2b3dea;border:1px solid #bda57755;border-radius:16px;padding:24px;min-width:0}.cup-tournament h3{font-size:26px;line-height:1.7;margin:10px 0;color:#f1dfb8;overflow-wrap:anywhere}.cup-tournament p{color:#d4deeb;line-height:1.9;white-space:pre-line;overflow-wrap:anywhere}.cup-tournament>small{display:block;color:#bccbdc;margin:14px 0}.cup-label{color:#e7c992;font-size:13px;line-height:1.8}.cup-dates{display:grid;gap:14px}.cup-dates div{display:grid;gap:4px;border-bottom:1px solid #c1a97633;padding-bottom:12px}.cup-dates dt{font-size:13px;color:#bdcbdc}.cup-dates dd{margin:0;color:#f0e5d0;line-height:1.8;font-variant-numeric:tabular-nums}.cup-detail{background:#152334e8;border:1px solid #bda57755;border-radius:18px;margin-top:28px;padding:24px;scroll-margin-top:20px;min-width:0}.cup-detail>.cup-heading h3{font-size:28px;color:#f0dcb5}.cup-my-team,.cup-closed-note{padding:18px;background:#25384a;border-radius:12px;line-height:1.9}.cup-teams-section{margin-top:32px}.cup-teams-section h4,.cup-tree-section h4{font-size:19px;color:#f1dfb8;margin:0 0 16px}.cup-teams-section h4 span{font-size:14px;color:#bfccdc;margin-inline-start:12px}.cup-team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:14px}.cup-team{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:18px;background:#223247;border:1px solid #bda57744;border-radius:12px;min-width:0}.cup-team>div{min-width:0;flex:1}.cup-team strong{display:block;color:#f2e5ce;overflow-wrap:anywhere;line-height:1.8}.cup-team small{display:block;color:#c2cfdd;line-height:1.8}.cup-team-number,.cup-team-logo{display:grid;place-items:center;width:52px;height:52px;border-radius:10px;flex:0 0 52px;background:#142131;border:1px solid #cbb17d66;color:#eed397;font-size:22px;font-variant-numeric:tabular-nums;object-fit:contain}.cup-team>details{width:100%;min-width:0;border-top:1px solid #c1a97644;margin-top:6px}.cup-team>details summary{padding:10px 0}.cup-team>details p,.cup-team>details li{font-size:14px;line-height:2;overflow-wrap:anywhere}.cup-team ol{padding-inline-start:22px}.cup-team [dir=ltr]{unicode-bidi:isolate}.cup-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.cup-tree-section{margin-top:34px;padding-top:24px;border-top:1px solid #c1a97644;min-width:0}.cup-bracket-scroll{width:100%;overflow-x:auto;overscroll-behavior-x:contain;padding-bottom:18px}.cup-bracket{display:flex;gap:20px;min-width:max-content;direction:rtl;align-items:stretch}.cup-round{width:230px;flex:0 0 230px;display:flex;flex-direction:column}.cup-round h4{font-size:17px;margin:0 0 14px;line-height:1.9}.cup-round h4 small{display:block;font-size:12px;font-weight:400;color:#bdcbdc}.cup-round-matches{display:flex;flex-direction:column;justify-content:space-around;gap:16px;flex:1}.cup-match{position:relative;background:#223349;border:1px solid #bda57755;border-radius:12px;padding:12px}.cup-match>small{display:block;color:#c6d1dd;font-size:12px;margin-bottom:8px}.cup-match-team{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 4px;border-bottom:1px solid #bda57733;color:#d7e1ed;min-height:44px}.cup-match-team span{font-size:14px;min-width:0;overflow-wrap:anywhere}.cup-match-team b{font-size:16px;flex-shrink:0}.cup-match-team.is-winner{color:#f7d68f;font-weight:700}.cup-score{grid-template-columns:1fr 1fr;margin-top:14px;gap:10px!important}.cup-score label{font-size:12px}.cup-score input{padding:8px!important;min-height:44px}.cup-score button{grid-column:1/-1;justify-self:stretch;font-size:13px;padding:8px!important}.cup-champion{font-size:24px;color:#f4d18b;border:1px solid #d0b27466;padding:18px;border-radius:12px}.cup-arrange{margin-top:24px;background:#1e3045;padding:20px;border-radius:12px;border:1px solid #bda57744}.cup-arrange>p{line-height:1.9;color:#cbd7e5}.cup-pairings{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:16px;margin-top:16px}.cup-pairings fieldset{border:1px solid #baa47566;min-width:0;border-radius:10px;padding:16px;display:grid;gap:12px}.cup-pairings legend{color:#e5ca95;padding:0 8px}.cup-arrange>button{margin-top:20px}.cup-random-confirm{border:1px solid #d3b57d88;border-radius:10px;margin-top:16px;padding:16px}.cup-random-confirm[hidden]{display:none}.cup-moderator-list p{display:flex;align-items:center;gap:14px;flex-wrap:wrap;border-top:1px solid #bda57744;padding-top:14px;overflow-wrap:anywhere}
@media(max-width:600px){.cup-center .cup-heading{gap:12px}.cup-center .cup-heading h2{font-size:25px}.cup-form-grid{grid-template-columns:minmax(0,1fr);gap:16px}.cup-detail{padding:16px 12px}.cup-tournament{padding:20px 16px}.cup-detail>.cup-heading h3{font-size:24px}.cup-admin-panel>form,.cup-entry>form{padding:16px 12px}.cup-base-rules>p,.cup-base-rules>ul,.cup-base-rules>h3,.cup-rules>p{margin:16px}.cup-arrange{padding:16px 12px}.cup-team{padding:14px}.cup-center .cup-actions button{flex:1}.cup-round{width:215px;flex-basis:215px}}

.cup-date-help,.cup-schedule-preview{color:#d7e1ed;line-height:1.9;margin:0}.cup-schedule-preview:empty{display:none}
/* Direct tournament administration and a connected knockout bracket. */
.cup-admin-quick{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:20px 0}.cup-admin-quick p{color:#c4d1df;line-height:1.9;margin:0}.cup-card-actions,.cup-detail-tools{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.cup-card-actions>button{flex:1;min-width:130px}.cup-detail-tools{margin:0 0 20px;padding:14px;background:#223449;border:1px solid #bda57755;border-radius:12px}.cup-center .cup-cancel-button{color:#ffc8ba;border-color:#d49d8a77}.cup-cancelled-notice{padding:18px;border:1px solid #c89c8888;background:#3d2a30;color:#ffe2d5;line-height:1.9;border-radius:12px}.cup-bracket-shell{--cup-slot:180px;border:1px solid #bda57766;border-radius:14px;background:#142235;padding:18px;min-width:0}.cup-bracket-shell.has-score-controls{--cup-slot:240px}.cup-round-navigation{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.cup-round-navigation button{font-size:14px;min-width:88px}.cup-round-navigation button[aria-pressed=true]{color:#ffe2a1;border-color:#e3c27e;background:#3a4553}.cup-bracket-hint{color:#c8d6e7;font-size:14px;line-height:1.9;margin:12px 0 18px}.cup-bracket-shell .cup-bracket-scroll{max-height:740px;overflow:auto;scrollbar-color:#ad9468 #142235;scrollbar-gutter:stable;padding:0 6px 18px}.cup-bracket-shell .cup-bracket{gap:32px;align-items:stretch}.cup-bracket-shell .cup-round{width:240px;flex-basis:240px}.cup-bracket-shell .cup-round h4{position:sticky;top:0;background:#142235;z-index:3;min-height:64px;margin:0;padding:6px 8px 12px;border-bottom:1px solid #bda57755}.cup-bracket-shell .cup-round-matches{justify-content:initial;gap:0;flex:none}.cup-match-slot{position:relative;height:calc(var(--cup-slot)*var(--cup-span));flex:none;display:flex;align-items:center;min-width:0}.cup-bracket-shell .cup-match{width:100%;position:relative;z-index:1;background:#223449;padding:12px;border:1px solid #bda57788;border-radius:12px;box-shadow:0 5px 14px #0003}.cup-round:not(:last-child) .cup-match-slot:after{content:'';position:absolute;left:-17px;width:17px;height:50%;border-left:1px solid #c6aa72;pointer-events:none}.cup-round:not(:last-child) .cup-match-slot:nth-child(odd):after{top:50%;border-top:1px solid #c6aa72;border-radius:0 0 0 6px}.cup-round:not(:last-child) .cup-match-slot:nth-child(even):after{top:0;border-bottom:1px solid #c6aa72;border-radius:6px 0 0 0}.cup-round:not(:first-child) .cup-match-slot:before{content:'';position:absolute;right:-17px;width:17px;top:50%;border-top:1px solid #c6aa72;pointer-events:none}.cup-match-caption{display:flex;gap:6px;justify-content:space-between;align-items:center;margin-bottom:6px}.cup-match-caption small{color:#e0c58d;font-size:12px}.cup-match-caption>span{color:#bbcadb;font-size:11px}.cup-bracket-shell .cup-match-team{padding:8px 0;gap:8px;justify-content:initial}.cup-bracket-shell .cup-match-team b{margin-inline-start:auto;min-width:22px;text-align:center;color:#e8d4b0}.cup-bracket-name{flex:1;min-width:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.6}.cup-bracket-number{display:grid;place-items:center;flex:0 0 26px;width:26px;height:28px;background:#142337;border:1px solid #bda57766;border-radius:6px;font-size:12px;color:#d9c598}.cup-bracket-shell .cup-match-team.is-winner{color:#ffe1a1}.cup-bracket-shell .cup-match-team.is-winner b{color:#ffe1a1}.cup-center .cup-score-open{width:100%;margin-top:12px;padding:8px 10px;font-size:13px;min-height:40px}.cup-match.is-decided{border-color:#bda577aa}.cup-bracket-shell .cup-round:last-child .cup-match{border-color:#ddbd7b;box-shadow:0 0 0 1px #ddbd7b33,0 8px 24px #0004}body .cup-result-dialog{position:fixed;inset:0;margin:auto;width:min(92vw,520px);height:fit-content;max-height:85dvh;overflow:auto;background:#17283b;color:#e5dfd2;border:1px solid #c8ad78;border-radius:16px;padding:26px;box-shadow:0 24px 80px #0008}body .cup-result-dialog::backdrop{background:#09131dcc;backdrop-filter:blur(4px)}.cup-result-dialog h3{color:#f1d8a8;font-size:24px;line-height:1.7;margin:0 0 12px;padding-inline-end:30px}.cup-result-dialog>p{color:#cbd8e7;line-height:1.9}.cup-result-close{position:absolute;top:10px;left:12px;width:44px;height:44px;font-size:26px}.cup-result-dialog .cup-form-message{grid-column:1/-1}.cup-result-dialog .cup-score{margin-top:18px}
@media(max-width:650px){.cup-bracket-shell{padding:12px}.cup-round-navigation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.cup-round-navigation button{min-width:0;font-size:13px;padding:10px 6px}.cup-bracket-shell .cup-bracket-scroll{max-height:none;overflow:visible;padding:0;scrollbar-gutter:auto}.cup-bracket-shell .cup-bracket{display:block;min-width:0}.cup-bracket-shell .cup-round{width:100%;display:none}.cup-bracket-shell .cup-round.is-selected{display:flex}.cup-bracket-shell .cup-round h4{position:static;min-height:0;padding:10px 0;margin-bottom:4px}.cup-bracket-shell .cup-match-slot{height:auto;min-height:0;padding:10px 0}.cup-bracket-shell .cup-match-slot:before,.cup-bracket-shell .cup-match-slot:after{display:none}.cup-bracket-shell .cup-match{padding:14px}.cup-card-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.cup-card-actions>button{min-width:0;font-size:13px;padding:10px 8px}.cup-detail-tools{display:grid;grid-template-columns:minmax(0,1fr);padding:10px;gap:8px}.cup-admin-quick>button{width:100%}.cup-result-dialog .cup-score{gap:14px!important}body .cup-result-dialog{padding:22px 18px}}
.cup-bracket-shell{--cup-slot:160px}.cup-bracket-shell.has-score-controls{--cup-slot:190px}.cup-bracket-shell .cup-bracket-scroll{max-height:860px}.cup-bracket-name{-webkit-line-clamp:1}.cup-center .cup-match-caption .cup-score-open{width:auto;margin:0;min-width:70px;min-height:44px;padding:6px 10px;font-size:12px}@media(max-width:650px){.cup-bracket-shell .cup-bracket-scroll{max-height:none}}
.cup-bracket-shell .cup-bracket{justify-content:center}

#cup-center .cup-registration-help{background:#182838;border:1px solid #657263;border-radius:14px;padding:18px 22px;margin:18px 0;color:#f4ecd4}#cup-center .cup-registration-help summary{cursor:pointer;font-weight:800;color:#e4c780}#cup-center .cup-registration-help ol{padding-inline-start:24px;line-height:1.9}#cup-center .cup-registration-help li+li{margin-top:8px}#cup-center .cup-logo-preview{object-fit:contain;border:1px solid #657263;border-radius:10px;background:#101a26;margin-top:10px}#cup-center .cup-logo-preview[hidden]{display:none}

/* Show the entire bracket without an inner scroll area. */
.cup-bracket-shell .cup-bracket-scroll{max-height:none;overflow:visible;scrollbar-gutter:auto;padding:0}.cup-bracket-shell .cup-bracket{display:flex;min-width:max-content;width:max-content;justify-content:flex-start}.cup-bracket-shell .cup-round,.cup-bracket-shell .cup-round.is-selected{display:flex;width:240px;flex:0 0 240px}.cup-bracket-shell .cup-round h4{position:static}.cup-bracket-shell .cup-match-slot{height:calc(var(--cup-slot)*var(--cup-span));padding:0}.cup-bracket-shell .cup-round-matches{gap:0}.cup-bracket-shell .cup-match-slot:before,.cup-bracket-shell .cup-match-slot:after{display:block}
