[hidden]{display:none!important}
a.btn{text-decoration:none;display:inline-block;text-align:center}
.main-menu{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:12px 0 24px}
.app-logo{color:var(--green);font-size:23px;font-weight:900;letter-spacing:.12em;text-decoration:none}
.app-logo span{display:block;font-size:10px;letter-spacing:.28em;color:var(--muted)}
.home-heading{padding:34px 0 30px;max-width:750px}
.home-heading small{color:var(--green);letter-spacing:.18em;font-weight:800}
.home-heading h1{font-size:clamp(30px,5vw,52px);line-height:1.1;margin:15px 0}
.home-heading p{color:var(--muted);line-height:1.7;font-size:17px}
.competition-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));gap:18px;margin-bottom:22px}
.competition-card{padding:26px;display:flex;flex-direction:column;gap:16px}
.competition-card h2{font-size:25px}.competition-card p{color:var(--muted);line-height:1.6}
.competition-card .btn{align-self:flex-start;margin-top:auto}
.setup-card{max-width:760px;margin:15px auto}
textarea{width:100%;padding:12px;border-radius:14px;border:1px solid var(--border);background:#08272a;color:var(--text);font:inherit;resize:vertical}
textarea:focus{outline:2px solid var(--green)}
.detail-heading{margin:24px 0;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.team-squads .squad-swap{padding:6px 9px;font-size:11px;white-space:nowrap}
.joined-team-assignment{margin:auto}.team-squads .squad-add{padding:7px 10px;font-size:12px}.joined-team-assignment [data-body]{margin-top:16px}.joined-team-assignment h2{font-size:18px;margin-bottom:12px}.joined-team-assignment label{display:flex;flex-direction:column;gap:5px;font-size:12px}.joined-team-assignment .result-form{align-items:end;gap:10px}.joined-team-assignment select{min-width:110px}.joined-team-assignment [data-feedback]{flex-basis:100%;font-size:12px}
.connection-sort-table th button{display:inline-flex;align-items:center;gap:3px;border:0;background:transparent;color:inherit;font:inherit;font-weight:700;padding:5px 0;cursor:pointer;white-space:nowrap}
.connection-sort-table th button:focus-visible{outline:2px solid var(--green);outline-offset:3px;border-radius:3px}
.connection-sort-table th button span{font-size:11px}
.connection-table-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.connection-table-heading h2,.connection-table-heading h3{margin:0}
.connection-table-heading>.btn{flex:0 0 auto;align-self:center;padding:8px 12px;font-size:12px}
.connection-table-dialog{margin:auto;width:min(720px,calc(100% - 24px));max-height:85dvh;overflow:auto;padding:20px;border:1px solid #a6cdb7;border-radius:20px;background:linear-gradient(140deg,#f8fff9,#d9efdf);color:#123f32}
.connection-table-dialog::backdrop{background:#103a3277;backdrop-filter:blur(4px)}
.connection-table-dialog .connection-table-heading{margin-bottom:16px}.connection-table-dialog h2{font-size:20px}
.connection-table-dialog table{width:100%}.connection-table-dialog th,.connection-table-dialog td{padding:10px 8px}
@media(max-width:600px){.connection-table-dialog{padding:14px}.connection-table-dialog h2{font-size:17px}.connection-table-dialog th,.connection-table-dialog td{font-size:12px;padding:9px 5px}}
.detail-heading>.btn{align-self:center;flex:0 0 auto;height:auto;min-height:0}
.achievement-dates{display:block;margin-top:8px;font-size:11px;color:var(--muted);line-height:1.5;overflow-wrap:anywhere}
.team-tie-heading{align-items:center}
.team-tie-heading>.btn{align-self:center;flex:0 0 auto;width:auto;min-height:0;padding:10px 14px;line-height:1.25;white-space:nowrap}
.detail-heading h1{margin:12px 0}.detail-heading p{color:var(--muted)}
.fixture-list{list-style:none;display:grid;gap:10px}.fixture-list li{padding:14px;background:rgba(34,230,189,.06);border:1px solid var(--border);border-radius:12px;white-space:normal}
#competition-error{color:var(--danger);margin-bottom:12px}
@media(max-width:650px){.main-menu .actions{width:100%}.main-menu .btn{font-size:12px;padding:10px}.home-heading{padding-top:15px}}
.home-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.option-card{display:block;padding:24px;text-decoration:none;color:var(--text);transition:transform .18s,border-color .18s}
.option-card:hover{transform:translateY(-3px);border-color:var(--green)}
.option-card span{font-size:10px;letter-spacing:.12em;color:var(--green);font-weight:800}
.option-card h2{font-size:21px;margin:18px 0 10px}.option-card p{color:var(--muted);font-size:13px;line-height:1.6}
.login-backdrop{z-index:80;background:rgba(1,14,16,.86);backdrop-filter:blur(16px)}
.login-backdrop .modal{max-height:95vh;overflow:auto;background:linear-gradient(145deg,#0d3c3e,#061e20);border:1px solid var(--border)}
.login-backdrop h1{font-size:30px;margin:10px 0}.login-kicker{color:var(--green);letter-spacing:.16em;font-weight:800}
.guest-divider{display:flex;align-items:center;gap:15px;color:var(--muted);margin:22px 0}
.guest-divider:before,.guest-divider:after{content:'';height:1px;background:var(--border);flex:1}
.invite-code{font-family:ui-monospace,monospace;font-size:20px;letter-spacing:.06em;color:var(--green);overflow-wrap:anywhere;margin:8px 0}
.account-chip{align-self:center;font-size:12px;color:var(--muted);max-width:230px;overflow-wrap:anywhere}
.member-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px}
#join-error,#login-feedback{margin:12px 0}details summary{cursor:pointer;color:var(--green)}
@media(max-width:1000px){.home-options{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.home-options,.member-list{grid-template-columns:1fr}.login-backdrop{padding:12px}.option-card{padding:20px}.home-heading h1{font-size:30px}}

.auth-feedback:not(:empty) { margin:16px 0; padding:14px; border:1px solid #dfad50; border-radius:10px; background:#fff6df; color:#543c12; font-size:15px; font-weight:600; line-height:1.5; }
.profile-hero{display:flex;align-items:center;gap:24px;padding:32px;border-radius:24px;background:linear-gradient(120deg,#123b32,#286a54);color:#fff;margin-bottom:22px;box-shadow:0 14px 32px #153d3220}.profile-hero h1{font-size:36px;margin:8px 0}.profile-hero small{letter-spacing:.15em;color:#a4dfc6}.profile-hero p{color:#d5ece2}.profile-hero .btn{margin-left:auto}.profile-avatar{display:grid;place-items:center;flex-shrink:0;width:80px;height:80px;border-radius:24px;background:#e5f5a8;color:#234334;font-weight:800;font-size:30px}.profile-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}.profile-metric{padding:24px;display:flex;flex-direction:column;gap:8px}.profile-metric strong{font-size:36px;color:var(--green)}.profile-metric span{color:var(--muted)}.profile-columns{display:grid;grid-template-columns:1fr 1fr;gap:22px}.profile-columns h2{margin:8px 0 20px}.profile-columns small{color:var(--muted);letter-spacing:.07em}.form-pills{display:flex;gap:10px;margin:20px 0}.form-pill{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;font-weight:800}.is-win{background:#dcf3dc;color:#267341}.is-loss{background:#f5e6df;color:#945638}.profile-fact{display:flex;flex-direction:column;gap:6px;padding:14px 0;border-top:1px solid var(--border)}.profile-fact span{color:var(--muted);font-size:13px}.profile-fact strong{font-size:20px}.profile-competitions{margin:28px 0}.profile-competitions h2{margin-bottom:16px}.profile-competitions h3{margin:14px 0}.profile-competitions p{margin-bottom:18px}.profile-settings{padding:22px;margin-top:22px}.profile-settings summary{font-weight:700}.profile-settings form{padding-top:18px;max-width:520px}.profile-settings button,.invite-editor button{margin-top:14px}.personal-match-filters{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px}.personal-match-filters button{align-self:end}.invite-editor{margin-bottom:22px}.invite-editor input{max-width:480px}
@media(max-width:700px){.profile-hero{flex-wrap:wrap;padding:22px;gap:16px}.profile-hero h1{font-size:28px}.profile-hero .btn{margin-left:0;width:100%}.profile-metrics{grid-template-columns:1fr 1fr}.profile-columns{grid-template-columns:1fr}.personal-match-filters{grid-template-columns:1fr 1fr}}


/* Team tournament: compact fixture sheets and a scoreboard readable courtside. */
.team-tally{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:18px}
.team-tally article{background:linear-gradient(135deg,#0a6852,#153f36);color:#fff;text-align:center}
.team-tally small{font-size:18px;font-weight:800;color:#d4ffee}.team-points{display:block;font-size:64px;line-height:1.1;margin:12px 0}
.tie-summary,.team-squads{margin-bottom:20px}.team-events{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}
.team-event{padding:18px;border:1px solid #b5d9cc;border-radius:18px;background:linear-gradient(145deg,#f8fff9,#e4f5eb)}
.team-event-heading{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.team-event-heading h3{flex:1;margin:0;font-size:18px}
.team-lineup-sides{display:grid;grid-template-columns:1fr 1fr;gap:14px;width:100%;margin:12px 0}.team-lineup-sides select,.team-lineup-sides input{width:100%;min-width:0;margin:5px 0}.team-lineup-sides label{display:block;font-size:13px;font-weight:700}.team-lineup-form{display:flex;flex-wrap:wrap;gap:8px}.team-form-feedback{color:#a02929;font-size:13px}
.team-insights{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:16px 0}.team-insights div{padding:16px;border-radius:14px;background:#dcf2e7}.team-insights strong{display:block;margin-top:8px}.team-squads table{min-width:420px}
@media(max-width:800px){.team-events,.team-squads{grid-template-columns:1fr}.team-event{padding:13px}.team-tally{gap:10px}.team-tally article{padding:18px 10px}.team-points{font-size:48px}.team-insights{grid-template-columns:1fr}.team-event-heading h3{font-size:16px}}
.player-card-gender{display:inline-block;font-family:Arial,sans-serif;font-size:.78em;font-weight:600;vertical-align:baseline;color:#d7f7df}

.tournament-tabs{display:flex;gap:10px;margin:20px 0;flex-wrap:wrap}.team-insights article{padding:16px;border-radius:14px;background:linear-gradient(135deg,#dcf2e7,#f6fbf8)}.team-insights article p{font-size:13px;margin-bottom:0}.team-insights strong{overflow-wrap:anywhere}

.team-event summary{list-style:none;color:var(--text)}.team-event summary::-webkit-details-marker{display:none}.team-match-preview{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:center;margin-top:10px}.team-match-preview small{display:block;font-size:10px;color:var(--muted)}.team-match-preview span{display:block;font-size:13px;font-weight:600;overflow-wrap:anywhere}.team-match-preview strong{font-size:18px;white-space:nowrap}.team-expand-label{display:flex;justify-content:space-between;font-size:11px;color:var(--green);margin-top:8px}.team-event[open] .team-expand-label span{transform:rotate(180deg)}.team-match-expanded{border-top:1px solid var(--border);margin-top:12px;padding-top:10px}.team-match-expanded .note{font-size:12px;margin:0}.team-events{align-items:start}@media(max-width:800px){.team-events{gap:8px;margin-top:12px}.team-event{padding:10px 12px;border-radius:12px}.team-event-heading{gap:7px;flex-wrap:nowrap}.team-event-heading h3{font-size:14px;line-height:1.3}.team-event-heading .badge{font-size:10px;padding:4px 6px}.team-lineup-sides{gap:8px}.team-match-preview{gap:8px;margin-top:7px}.team-match-expanded input,.team-match-expanded select{font-size:16px;min-height:44px}}

.team-event-horizontal .team-match-expanded{border:0;margin:6px 0 0;padding:0}.team-event-horizontal .team-match-expanded>.note{font-size:11px;line-height:1.3}.team-event-horizontal .team-lineup-sides{margin:6px 0;gap:8px}.team-event-horizontal .team-lineup-sides h3{font-size:14px;margin:4px 0}.team-event-horizontal .team-lineup-sides strong{font-size:20px}.team-event-horizontal .team-lineup-form{gap:4px}.team-event-horizontal .team-lineup-form>.btn{font-size:12px;padding:8px 12px}.team-event-horizontal .team-lineup-sides input,.team-event-horizontal .team-lineup-sides select{margin:3px 0;padding:6px 8px;min-height:40px}.team-event-horizontal .team-match-expanded>.badge{font-size:11px;margin:4px 0 0}@media(max-width:800px){.team-event-horizontal{padding:10px}.team-event-horizontal .team-lineup-form .team-lineup-sides>div{display:grid;grid-template-columns:minmax(0,1fr) 54px;gap:3px 5px;align-items:start}.team-event-horizontal .team-lineup-form .team-lineup-sides>div>label:first-child{grid-column:1/-1;font-size:11px}.team-event-horizontal .team-lineup-form .team-lineup-sides>div>select{grid-column:1}.team-event-horizontal .team-lineup-form .team-lineup-sides>div>label:last-child{grid-column:2;grid-row:2 / span 2;font-size:9px}.team-event-horizontal .team-lineup-sides input{padding:6px 3px;text-align:center}.team-event-horizontal .team-lineup-sides select{padding-left:5px;padding-right:2px}.team-event-horizontal .team-match-expanded>.note{margin-bottom:4px}}

.competition-tools{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.history-list article{border-top:1px solid var(--border);padding:12px 0}.history-list p{font-size:13px;margin:4px 0}@media(max-width:650px){input,select,textarea{font-size:16px}.competition-tools .btn{font-size:12px;padding:10px}.setup-card{margin:12px 0}.result-form{display:flex;gap:8px;flex-wrap:wrap}.result-form input,.result-form select{min-width:0;flex:1}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

#competition-form fieldset{border:0;padding:0;margin:0}#competition-form legend{font-weight:800;font-size:20px;margin-bottom:16px}#setup-step-label{font-size:12px;color:var(--green);font-weight:700;margin-bottom:18px}

.setup-builder{margin:8px 0 18px}.setup-player-row{display:grid;grid-template-columns:minmax(0,1fr) 65px 90px 40px;gap:6px;margin-bottom:8px}.setup-event-row{display:grid;grid-template-columns:minmax(0,1fr) 100px 110px 110px 40px;gap:6px;margin-bottom:8px}.setup-builder input,.setup-builder select{min-width:0;padding:8px;font-size:14px}.setup-builder .btn{padding:8px;font-size:13px}@media(max-width:650px){.setup-event-row{grid-template-columns:minmax(0,1fr) 90px 40px}.setup-event-row input{grid-column:1 / span 2}.setup-event-row select{font-size:16px}.setup-event-row button{grid-column:3;grid-row:1}.setup-player-row{grid-template-columns:minmax(0,1fr) 55px 80px 32px}.setup-player-row input,.setup-player-row select{font-size:16px;padding:7px 3px}}

.staging-banner{padding:12px;text-align:center;background:#f9df83;color:#3c3210;font-weight:800;font-size:13px}
.verification-reminder{margin:16px 0;padding:16px;border:1px solid #a9d8c1;border-radius:16px;background:linear-gradient(120deg,#e4f5eb,#f4faf6);color:#174a3b}
.verification-reminder[hidden]{display:none}
.verification-reminder .btn{width:100%;margin-top:4px}
.verification-reminder .btn:disabled{opacity:.6;cursor:wait}
.compact-members{overflow:hidden;margin-bottom:18px}
.member-table{width:100%;table-layout:fixed;border-collapse:collapse}
.member-table th,.member-table td{padding:12px 16px;text-align:left;vertical-align:middle}
.member-table th:first-child{width:42%}.member-table th:nth-child(2){width:20%}
.member-table td:first-child small{display:block;margin-top:3px;color:var(--muted);overflow-wrap:anywhere}
.member-role-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center;margin:0}
.member-role-form select{min-width:0;padding:8px;font-size:13px}
.member-role-form .btn{padding:8px 10px;font-size:12px}
.member-role-feedback{grid-column:1/-1;font-size:12px;margin:0}.member-role-feedback:empty{display:none}
.member-tools{border-top:1px solid var(--border);padding:14px 4px}
.member-tools summary{font-weight:700;font-size:14px}
.member-tools form{max-width:480px;padding-top:14px}
.member-tools button{margin-top:10px}
@media(max-width:600px){
 .team-squads,.team-squads>.card,.team-events,.team-event-horizontal{min-width:0}
 .team-squads table{width:100%;min-width:0;table-layout:fixed}
 .team-squads th,.team-squads td{padding:10px 3px;font-size:11px;text-align:center;white-space:normal;overflow-wrap:anywhere}
 .team-squads th:first-child,.team-squads td:first-child{text-align:left;width:30%;padding-left:8px}
 .team-squads th:nth-child(2){width:8%}.team-squads th:nth-child(3){width:18%}.team-squads th:nth-child(4){width:14%}.team-squads th:nth-child(5){width:10%}.team-squads th:nth-child(6){width:20%}
 .team-squads td .badge{font-size:10px;padding:4px 5px;white-space:nowrap}
 .team-squads .squad-swap{font-size:20px;line-height:1;min-height:40px;width:36px;max-width:100%;padding:7px 2px}
 .team-squads .squad-add{padding:8px 10px}
 .team-event-horizontal .team-lineup-form .team-lineup-sides{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}
 .team-event-horizontal .team-lineup-form .team-lineup-sides>div{display:flex;flex-direction:column;gap:6px;min-width:0}
 .team-event-horizontal .team-lineup-form .team-lineup-sides>div>label:first-child{font-size:12px;line-height:1.4;overflow-wrap:anywhere}
 .team-event-horizontal .team-lineup-form .team-lineup-sides>div>label:last-child{font-size:12px;width:100%;margin-top:4px}
 .team-event-horizontal .team-lineup-form .team-lineup-sides select,.team-event-horizontal .team-lineup-form .team-lineup-sides input{font-size:16px;min-height:46px;padding:10px 6px;margin:0;width:100%;box-sizing:border-box}
 .team-event-horizontal .team-lineup-form .team-lineup-sides input{margin-top:6px;text-align:center}
 .team-event-horizontal .team-lineup-form>.btn{min-height:44px;padding:10px 16px;font-size:13px}
}
@media(max-width:600px){.member-table th,.member-table td{padding:10px 7px;font-size:12px}.member-table th:first-child{width:34%}.member-table th:nth-child(2){width:23%}.member-table .badge{padding:5px 7px;font-size:10px}.member-table td:first-child small{font-size:11px}.member-role-form select{padding:7px 3px;font-size:11px}.member-role-form .btn{padding:7px 6px;font-size:11px}}
