.p365-tournament{--p365-accent:var(--theme-accent,#dd3479);font-family:inherit;color:#17202c;max-width:960px;margin:20px auto;font-size:16px;line-height:1.5}
.p365-tournament *{box-sizing:border-box}.p365-tournament [hidden]{display:none!important}
.p365-tournament h2{font-size:26px;line-height:1.3;margin:0 0 12px}.p365-tournament h3{font-size:19px;line-height:1.4;margin:0 0 12px}
.p365-tournament .card{background:#ededed;border:1px solid #e0e3e7;border-radius:15px;padding:22px;margin:18px 0;box-shadow:none}
.p365-tournament label,.p365-tournament legend{display:block;font-family:inherit;font-size:16px;font-weight:600;line-height:1.4;margin:0 0 7px}
.p365-tournament input,.p365-tournament select{width:100%;min-width:0;min-height:48px;padding:11px 12px;border:1px solid #c9d3dd;border-radius:8px;background:#fff;color:#17202c;font:inherit;box-shadow:none}
.p365-tournament .setup>input,.p365-tournament .setup>select{margin-bottom:20px}
.p365-tournament .settings-grid,.p365-tournament .player-headings,.p365-tournament .player-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.p365-tournament .settings-grid{margin-bottom:22px}.p365-tournament .players{min-width:0;padding:0;margin:0;border:0}
.p365-tournament .players legend{padding:0}.p365-tournament .player-row{margin-bottom:12px;align-items:center}.p365-tournament .fixed-team{grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);gap:8px}
.p365-tournament .team-plus{color:var(--p365-accent);text-align:center;font-size:28px;font-weight:600;line-height:1}
.p365-tournament .player-headings{font-weight:600;margin-bottom:8px}.p365-tournament .player-field{min-width:0}
.p365-tournament button{background:var(--p365-accent);color:#fff;border:1px solid var(--p365-accent);border-radius:8px;padding:12px 16px;min-height:48px;font:inherit;font-weight:500;cursor:pointer;line-height:1.4;margin:0;box-shadow:none}
.p365-tournament button:hover{filter:brightness(.96)}.p365-tournament .full{display:block;width:100%}.p365-tournament .new{font-size:20px;min-height:58px;font-weight:600}
.p365-tournament button.secondary{background:#fff;color:#263344;border-color:#c9d3dd}
.p365-tournament button:disabled{opacity:.45;cursor:not-allowed}.p365-tournament button:disabled:hover{filter:none}
.p365-tournament :is(button,input,select):focus-visible{outline:2px solid var(--p365-accent);outline-offset:3px}
.p365-tournament .actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}
.p365-tournament button.text-button{border:0;border-radius:0;padding:0;background:transparent;color:#9b243b;min-height:30px;font-size:14px}
.p365-tournament .muted,.p365-tournament .storage-note{color:#657183;font-size:14px;font-weight:400;margin:8px 0 14px;line-height:1.5}
.p365-tournament .empty-note{margin:18px 0;color:#657183;font-size:15px}.p365-tournament .storage-note{margin:12px 0}
.p365-tournament .error,.p365-tournament .storage-error{color:#9b243b;font-size:14px;font-weight:500;line-height:1.5;margin:12px 0}
.p365-tournament .error:empty,.p365-tournament .storage-error:empty{display:none}
.p365-tournament .points-control{margin:18px 0}.p365-tournament .points-control select{max-width:260px}
.p365-tournament .match{padding:16px;border:1px solid #d9dfe5;border-radius:10px;margin:12px 0;background:#f5f5f5}
.p365-tournament .match-head{font-size:16px;font-weight:600;margin-bottom:12px}
.p365-tournament .match-grid{display:grid;grid-template-columns:minmax(0,1fr) 164px minmax(0,1fr);gap:14px;align-items:center;text-align:center}
.p365-tournament .team{overflow-wrap:anywhere}.p365-tournament .score-line{display:flex;gap:8px;align-items:center;justify-content:center}
.p365-tournament input.score{width:68px;min-width:0;text-align:center;font-size:20px;font-weight:500;padding:8px 5px}
.p365-tournament .round-tabs{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 8px}.p365-tournament .round-tabs button{white-space:nowrap;flex:none}
.p365-tournament .table-wrap{overflow-x:auto}.p365-tournament table{border-collapse:collapse;width:100%;min-width:460px;background:transparent}
.p365-tournament th,.p365-tournament td{text-align:left;padding:10px;border-bottom:1px solid #d9dfe5;font-size:14px;vertical-align:top}
.p365-tournament thead th{background:#e5e5e5;font-weight:600}.p365-tournament tbody th{font-weight:400}
.p365-tournament .screen-reader{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:600px){.p365-tournament{font-size:15px}.p365-tournament .card{padding:15px}.p365-tournament .settings-grid,.p365-tournament .player-row,.p365-tournament .player-headings{gap:10px}.p365-tournament .fixed-team{gap:5px;grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr)}.p365-tournament input,.p365-tournament select{padding:10px 8px}.p365-tournament .match-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;font-size:14px}.p365-tournament .team-one{grid-column:1;grid-row:1}.p365-tournament .team-two{grid-column:2;grid-row:1}.p365-tournament .score-line{grid-column:1/-1;grid-row:2}.p365-tournament .team-plus{font-size:24px}}

.p365-tournament .player-field{position:relative}
.p365-tournament input.player-name{padding-right:42px}
.p365-tournament button.clear-name{position:absolute;right:5px;top:50%;transform:translateY(-50%);width:36px;min-height:40px;padding:0;background:transparent;border:0;color:#cc2637;font-size:28px;font-weight:600;line-height:1}
.p365-tournament .start{margin-top:18px}
.p365-tournament .view-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:20px 0}
.p365-tournament .view-tabs button[aria-selected=false]{background:white;color:var(--p365-accent)}
.p365-tournament .tournament{scroll-margin-top:150px}
.p365-tournament select{appearance:none;padding-right:44px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='12' viewBox='0 0 18 12'%3E%3Cpath d='m3 3 6 6 6-6' fill='none' stroke='%23dd3479' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 18px center;background-size:16px 12px}

.p365-tournament .select-wrap{position:relative}
.p365-tournament .select-wrap:after{content:"";position:absolute;right:19px;top:50%;width:10px;height:10px;border-right:3px solid var(--p365-accent);border-bottom:3px solid var(--p365-accent);transform:translateY(-70%) rotate(45deg);pointer-events:none}
.p365-tournament .select-wrap select{background-image:none;padding-right:44px}
.p365-tournament .setup>.select-wrap{margin-bottom:20px}
.p365-tournament .points-control .select-wrap{max-width:260px}

/* 1.1.2: compact setup, score cards and standings. */
.p365-tournament .setup,.p365-tournament .setup-complete{padding-top:12px}
.p365-tournament .setup>h2,.p365-tournament .setup-complete>h2{text-align:center;margin:0 0 16px!important}
.p365-tournament input.player-name.duplicate{border:2px solid #c62838;outline-color:#c62838}
.p365-tournament .match{background:var(--p365-accent);border-color:var(--p365-accent);color:white}
.p365-tournament .match h3,.p365-tournament .match .team,.p365-tournament .match .score-line>span{color:white}
.p365-tournament .match input.score{background:white;color:#17202c}
.p365-tournament .round-tabs{padding:2px 0 4px;gap:8px}
.p365-tournament .round-tabs button{min-height:30px;padding:4px 10px;font-size:13px;line-height:20px;border-radius:6px}
.p365-tournament .standings table{border-collapse:separate;border-spacing:0 8px}
.p365-tournament .standings th,.p365-tournament .standings td{border:0}
.p365-tournament .standings thead th{background:transparent}
.p365-tournament .standings tbody th,.p365-tournament .standings tbody td{background:white;padding:12px 10px}
.p365-tournament .standings tbody td:first-child{border-radius:8px 0 0 8px;color:var(--p365-accent);font-weight:600}
.p365-tournament .standings tbody td:nth-child(3){color:var(--p365-accent);font-weight:600}
.p365-tournament .standings tbody td:last-child{border-radius:0 8px 8px 0}
@media(max-width:600px){
 .p365-tournament .match-grid{grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr);gap:10px 0}
 .p365-tournament .team-one{grid-column:1}.p365-tournament .team-two{grid-column:3}
 .p365-tournament .score-line{display:contents}
 .p365-tournament .score-line input:first-child{grid-column:1;grid-row:2;justify-self:center}
 .p365-tournament .score-line>span{grid-column:2;grid-row:2;text-align:center}
 .p365-tournament .score-line input:last-child{grid-column:3;grid-row:2;justify-self:center}
}

/* Match cards and setup heading, including theme heading overrides. */
.p365-tournament .match{background:#fff;border:2px solid var(--p365-accent);color:#17202c}
.p365-tournament .match h3,.p365-tournament .match .team,.p365-tournament .match .score-line>span{color:#17202c}
body .p365-tournament .setup>h2,body .p365-tournament .setup-complete>h2{display:block;width:100%;text-align:center!important;margin:0 0 16px!important}

.p365-tournament .finish{margin-left:auto;color:var(--p365-accent)}
.p365-tournament .finish-dialog{max-width:520px;width:calc(100% - 32px);padding:24px;border:1px solid #d9dfe5;border-radius:14px;background:#fff;color:#17202c;max-height:85vh;overflow:auto}
.p365-tournament .finish-dialog::backdrop{background:rgb(0 0 0 / .45)}
.p365-tournament .finish-dialog p{font-size:16px;line-height:1.5}
.p365-tournament .finish-dialog .actions{justify-content:flex-end}
.p365-tournament .compensation{display:block;font-size:12px;font-weight:400;color:#657183;white-space:nowrap}
.p365-tournament input.score:disabled{opacity:1;-webkit-text-fill-color:#17202c}
.p365-tournament dialog.finish-dialog{margin:auto;inset:0}

/* 1.2.1: centered summaries, score borders and compact actions. */
body .p365-tournament .setup-complete>p,body .p365-tournament .tournament>h2,body .p365-tournament .tournament>p.muted{text-align:center!important}
.p365-tournament .match{border:1px solid #d9dfe5;background:#fff}
.p365-tournament .match input.score{border:2px solid #34ad53}
.p365-tournament button.delete.text-button,.p365-tournament button.finish.text-button{background:#fff;border:1px solid currentColor;border-radius:6px;padding:4px 10px;min-height:30px;font-size:13px;line-height:20px;font-weight:500}
.p365-tournament button.delete.text-button{color:#c62838}
.p365-tournament button.finish.text-button{color:#1976bd;margin-left:auto}
.p365-tournament .standings tbody th.leader-name{font-weight:700}

body .p365-tournament .setup-complete>h2,body .p365-tournament .tournament>h2{margin-bottom:5px!important}
body .p365-tournament .setup-complete>p,body .p365-tournament .tournament>p.muted{margin-top:0!important}
.p365-tournament p.resting{font-size:13px;font-weight:500;color:#17202c}
.p365-tournament .score-notes{margin-top:12px;font-size:13px;color:#17202c;line-height:1.5}
.p365-tournament .score-notes p{font:inherit;color:inherit;margin:4px 0}
.p365-tournament .player-status{display:block;font-size:12px;font-weight:400;color:#657183}
.p365-tournament button.edit-link{display:inline;background:none;border:0;border-radius:0;padding:0;min-height:0;color:#1976bd;font-size:inherit;line-height:inherit;font-weight:500}
.p365-tournament .edit-roster{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:16px 0}
.p365-tournament .edit-player{min-width:0}
.p365-tournament .active-choice{display:flex;align-items:center;gap:6px;margin:6px 0;font-size:14px}
.p365-tournament .active-choice input{width:18px;height:18px;min-height:18px;padding:0;accent-color:var(--p365-accent)}
.p365-tournament .edit-count{font-size:14px}

.p365-tournament .edit-player input[aria-invalid="true"]{border:2px solid #c62838;outline-color:#c62838}

.p365-tournament .format-grid{grid-template-columns:minmax(0,3fr) minmax(110px,1fr)}
@media(max-width:600px){.p365-tournament .format-grid{grid-template-columns:minmax(0,2fr) minmax(90px,1fr)}}

/* 1.4.2: compact help text and clearer match/scoreboard presentation. */
body .p365-tournament .score-notes,body .p365-tournament p.resting{font-size:11px;color:#17202c}
body .p365-tournament .score-notes p{font-size:inherit}
body .p365-tournament p.format-note,body .p365-tournament .edit-form>p.muted,body .p365-tournament p.edit-count{font-size:12px;color:#17202c}
body .p365-tournament p.storage-note{font-size:12px;text-align:center}
body .p365-tournament .match .team{font-weight:700;color:var(--p365-accent)}
body .p365-tournament .active-choice input[type=checkbox]{appearance:none;-webkit-appearance:none;display:inline-grid;place-content:center;flex:0 0 18px;width:18px;height:18px;min-height:18px;padding:0;margin:0;border:1px solid #8b949e;border-radius:3px;background:#fff;cursor:pointer}
body .p365-tournament .active-choice input[type=checkbox]:checked{background:var(--p365-accent);border-color:var(--p365-accent)}
body .p365-tournament .active-choice input[type=checkbox]::before{content:"";width:9px;height:5px;border-left:2px solid white;border-bottom:2px solid white;transform:translateY(-1px) rotate(-45deg);visibility:hidden}
body .p365-tournament .active-choice input[type=checkbox]:checked::before{visibility:visible}
@media(forced-colors:active){body .p365-tournament .active-choice input[type=checkbox]{appearance:auto}body .p365-tournament .active-choice input[type=checkbox]::before{display:none}}
